diff --git a/.travis/calcrom/calcrom.pl b/.travis/calcrom/calcrom.pl index 8ee02036de..9eff1c0648 100755 --- a/.travis/calcrom/calcrom.pl +++ b/.travis/calcrom/calcrom.pl @@ -7,6 +7,7 @@ open(my $file, $ARGV[0]) my $src = 0; my $asm = 0; +my $undocumented = 0; while (my $line = <$file>) { if ($line =~ /^ \.(\w+)\s+0x[0-9a-f]+\s+(0x[0-9a-f]+) (\w+)\/.+\.o/) @@ -27,6 +28,13 @@ while (my $line = <$file>) } } } + if($line =~ /^\s+0x([0-9A-f]+)\s+[A-z_]+([0-9A-f]+)/) { + my $thing1 = sprintf("%08X", hex($1)); + my $thing2 = sprintf("%08X", hex($2)); + if($thing1 eq $thing2) { + $undocumented += 1; + } + } } my $total = $src + $asm; @@ -35,3 +43,4 @@ my $asmPct = sprintf("%.4f", 100 * $asm / $total); 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 "$undocumented global symbols undocumented\n"; diff --git a/Makefile b/Makefile index 002eb790d1..8f632008bc 100644 --- a/Makefile +++ b/Makefile @@ -38,7 +38,7 @@ ASFLAGS := -mcpu=arm7tdmi CC1 := tools/agbcc/bin/agbcc$(EXE) override CFLAGS += -mthumb-interwork -Wimplicit -Wparentheses -Werror -O2 -fhex-asm -CPPFLAGS := -I tools/agbcc/include -I tools/agbcc -iquote include -nostdinc -undef +CPPFLAGS := -I tools/agbcc/include -I tools/agbcc -iquote include LDFLAGS = -Map ../../$(MAP) @@ -178,7 +178,7 @@ $(OBJ_DIR)/sym_ewram.ld: sym_ewram.txt $(RAMSCRGEN) ewram_data $< ENGLISH > $@ $(OBJ_DIR)/ld_script.ld: ld_script.txt $(OBJ_DIR)/sym_bss.ld $(OBJ_DIR)/sym_common.ld $(OBJ_DIR)/sym_ewram.ld - cd $(OBJ_DIR) && sed -f ../../ld_script.sed ../../$< | sed "s#tools/#../../tools/#g" > ld_script.ld + cd $(OBJ_DIR) && sed "s#tools/#../../tools/#g" ../../ld_script.txt > ld_script.ld $(ELF): $(OBJ_DIR)/ld_script.ld $(OBJS) cd $(OBJ_DIR) && $(LD) $(LDFLAGS) -T ld_script.ld -o ../../$@ $(OBJS_REL) $(LIB) @@ -186,4 +186,3 @@ $(ELF): $(OBJ_DIR)/ld_script.ld $(OBJS) $(ROM): $(ELF) $(OBJCOPY) -O binary $< $@ $(FIX) $@ -p -t"$(TITLE)" -c$(GAME_CODE) -m$(MAKER_CODE) -r$(REVISION) --silent - diff --git a/asm/battle_anim_effects_3.s b/asm/battle_anim_effects_3.s deleted file mode 100644 index cfcfb93f96..0000000000 --- a/asm/battle_anim_effects_3.s +++ /dev/null @@ -1,1588 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start sub_815F8F4 -sub_815F8F4: @ 815F8F4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r1, =gTasks - lsls r0, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x8 - ldrsh r0, [r0, r1] - cmp r0, 0x4 - bls _0815F91A - b _0815FE68 -_0815F91A: - lsls r0, 2 - ldr r1, =_0815F92C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0815F92C: - .4byte _0815F940 - .4byte _0815F9F4 - .4byte _0815FBE8 - .4byte _0815FD08 - .4byte _0815FD8C -_0815F940: - movs r0, 0 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, =gTasks - mov r2, r8 - lsls r4, r2, 2 - adds r0, r4, r2 - lsls r0, 3 - adds r6, r0, r1 - movs r3, 0x80 - lsls r3, 4 - adds r0, r3, 0 - ldrh r1, [r6, 0xA] - adds r0, r1 - strh r0, [r6, 0xA] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - mov r9, r4 - cmp r0, 0 - bne _0815F998 - ldr r2, =gSprites - lsls r3, r7, 4 - adds r1, r3, r7 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r6, 0xA] - lsls r0, 16 - asrs r0, 24 - ldrh r4, [r1, 0x24] - adds r0, r4 - strh r0, [r1, 0x24] - b _0815F9B2 - .pool -_0815F998: - ldr r3, =gSprites - lsls r4, r7, 4 - adds r2, r4, r7 - lsls r2, 2 - adds r2, r3 - ldrh r1, [r6, 0xA] - lsls r1, 16 - asrs r1, 24 - ldrh r0, [r2, 0x24] - subs r0, r1 - strh r0, [r2, 0x24] - adds r2, r3, 0 - adds r3, r4, 0 -_0815F9B2: - ldr r1, =gTasks - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r4, r0, r1 - ldrb r0, [r4, 0xA] - strh r0, [r4, 0xA] - adds r1, r3, r7 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r1, 0x24] - ldrh r1, [r1, 0x20] - adds r0, r1 - lsls r0, 16 - movs r1, 0x80 - lsls r1, 14 - adds r0, r1 - movs r1, 0x98 - lsls r1, 17 - cmp r0, r1 - bhi _0815F9DE - b _0815FE68 -_0815F9DE: - movs r0, 0 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0815FE68 - .pool -_0815F9F4: - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _0815FA28 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x18] - ldr r2, [r0, 0x8] - mov r10, r2 - ldr r3, [r0, 0xC] - mov r9, r3 - ldrh r6, [r0] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSpriteSubpriority - lsls r0, 24 - lsrs r4, r0, 24 - movs r7, 0 - b _0815FB4E - .pool -_0815FA28: - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _0815FAC8 - ldr r7, =gBattlerPartyIndexes - ldrb r0, [r4] - lsls r0, 1 - adds r0, r7 - ldrh r0, [r0] - movs r6, 0x64 - muls r0, r6 - ldr r5, =gPlayerParty - adds r0, r5 - movs r1, 0 - bl GetMonData - mov r10, r0 - ldrb r0, [r4] - lsls r0, 1 - adds r0, r7 - ldrh r0, [r0] - muls r0, r6 - adds r0, r5 - movs r1, 0x1 - bl GetMonData - mov r9, r0 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldrb r2, [r4] - ldr r1, [r0] - lsls r0, r2, 2 - adds r1, r0, r1 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _0815FA9C - lsls r0, r2, 1 - adds r0, r7 - ldrh r0, [r0] - muls r0, r6 - adds r0, r5 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r6, r0, 16 - b _0815FA9E - .pool -_0815FA9C: - ldrh r6, [r1, 0x2] -_0815FA9E: - movs r0, 0x1 - bl GetAnimBattlerSpriteId - ldr r2, =gSprites - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r1, 0x43 - ldrb r0, [r1] - adds r0, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - movs r7, 0 - movs r5, 0x88 - lsls r5, 1 - b _0815FB50 - .pool -_0815FAC8: - ldr r7, =gBattlerPartyIndexes - ldrb r0, [r4] - lsls r0, 1 - adds r0, r7 - ldrh r0, [r0] - movs r6, 0x64 - muls r0, r6 - ldr r5, =gEnemyParty - adds r0, r5 - movs r1, 0 - bl GetMonData - mov r10, r0 - ldrb r0, [r4] - lsls r0, 1 - adds r0, r7 - ldrh r0, [r0] - muls r0, r6 - adds r0, r5 - movs r1, 0x1 - bl GetMonData - mov r9, r0 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldrb r2, [r4] - ldr r1, [r0] - lsls r0, r2, 2 - adds r1, r0, r1 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _0815FB2C - lsls r0, r2, 1 - adds r0, r7 - ldrh r0, [r0] - muls r0, r6 - adds r0, r5 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r6, r0, 16 - b _0815FB2E - .pool -_0815FB2C: - ldrh r6, [r1, 0x2] -_0815FB2E: - movs r0, 0x1 - bl GetAnimBattlerSpriteId - ldr r2, =gSprites - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r1, 0x43 - ldrb r0, [r1] - subs r0, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - movs r7, 0x1 -_0815FB4E: - ldr r5, =0x0000ffe0 -_0815FB50: - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - lsls r3, r5, 16 - asrs r3, 16 - str r0, [sp] - str r4, [sp, 0x4] - mov r4, r10 - str r4, [sp, 0x8] - mov r0, r9 - str r0, [sp, 0xC] - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - str r0, [sp, 0x10] - movs r0, 0 - str r0, [sp, 0x14] - adds r0, r6, 0 - adds r1, r7, 0 - movs r2, 0 - bl sub_80A8394 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gBattleSpritesDataPtr - ldr r1, [r0] - ldrb r0, [r4] - ldr r1, [r1] - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x2] - cmp r0, 0 - beq _0815FBBA - ldr r1, =gSprites - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - orrs r0, r1 - ldr r3, =0x00007fff - movs r1, 0x10 - movs r2, 0x6 - bl BlendPalette -_0815FBBA: - ldr r0, =gTasks - mov r3, r8 - lsls r1, r3, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - strh r5, [r1, 0x26] - b _0815FD7E - .pool -_0815FBE8: - ldr r1, =gTasks - mov r0, r8 - lsls r4, r0, 2 - adds r0, r4, r0 - lsls r0, 3 - adds r6, r0, r1 - ldrh r0, [r6, 0x26] - lsls r0, 24 - lsrs r5, r0, 24 - movs r1, 0x80 - lsls r1, 4 - adds r0, r1, 0 - ldrh r2, [r6, 0xA] - adds r0, r2 - strh r0, [r6, 0xA] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - mov r9, r4 - cmp r0, 0 - bne _0815FC40 - ldr r3, =gSprites - lsls r4, r5, 4 - adds r2, r4, r5 - lsls r2, 2 - adds r2, r3 - ldrh r1, [r6, 0xA] - lsls r1, 16 - asrs r1, 24 - ldrh r0, [r2, 0x24] - subs r0, r1 - strh r0, [r2, 0x24] - adds r2, r3, 0 - adds r3, r4, 0 - b _0815FC56 - .pool -_0815FC40: - ldr r2, =gSprites - lsls r3, r5, 4 - adds r1, r3, r5 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r6, 0xA] - lsls r0, 16 - asrs r0, 24 - ldrh r4, [r1, 0x24] - adds r0, r4 - strh r0, [r1, 0x24] -_0815FC56: - ldr r1, =gTasks - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r6, r0, r1 - ldrb r0, [r6, 0xA] - strh r0, [r6, 0xA] - adds r1, r3, r5 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r1, 0x24] - ldrh r1, [r1, 0x20] - adds r0, r1 - lsls r0, 16 - lsrs r5, r0, 16 - movs r1, 0x24 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _0815FCD6 - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _0815FCB4 - lsls r4, r5, 16 - asrs r4, 16 - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bge _0815FCD6 - b _0815FCCA - .pool -_0815FCB4: - lsls r4, r5, 16 - asrs r4, 16 - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - ble _0815FCD6 -_0815FCCA: - ldrh r0, [r6, 0x24] - adds r0, 0x1 - strh r0, [r6, 0x24] - ldr r1, =gBattleAnimArgs - ldr r0, =0x0000ffff - strh r0, [r1, 0xE] -_0815FCD6: - lsls r0, r5, 16 - movs r2, 0x80 - lsls r2, 14 - adds r0, r2 - movs r1, 0x98 - lsls r1, 17 - cmp r0, r1 - bhi _0815FCE8 - b _0815FE68 -_0815FCE8: - ldr r0, =gTasks - mov r1, r9 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0 - strh r0, [r1, 0xA] - b _0815FD7E - .pool -_0815FD08: - movs r0, 0 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, =gTasks - mov r3, r8 - lsls r4, r3, 2 - adds r0, r4, r3 - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x26] - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - ldr r5, =gSprites - adds r0, r5 - bl sub_80A8610 - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - mov r9, r4 - cmp r0, 0 - bne _0815FD60 - lsls r1, r7, 4 - adds r1, r7 - lsls r1, 2 - adds r1, r5 - ldrh r0, [r1, 0x20] - negs r0, r0 - subs r0, 0x20 - strh r0, [r1, 0x24] - b _0815FD74 - .pool -_0815FD60: - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - adds r0, r5 - ldrh r2, [r0, 0x20] - movs r4, 0x88 - lsls r4, 1 - adds r1, r4, 0 - subs r1, r2 - strh r1, [r0, 0x24] -_0815FD74: - ldr r0, =gTasks - mov r1, r9 - add r1, r8 - lsls r1, 3 - adds r1, r0 -_0815FD7E: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0815FE68 - .pool -_0815FD8C: - movs r0, 0 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, =gTasks - mov r0, r8 - lsls r4, r0, 2 - adds r0, r4, r0 - lsls r0, 3 - adds r2, r0, r1 - movs r1, 0x80 - lsls r1, 4 - adds r0, r1, 0 - ldrh r3, [r2, 0xA] - adds r0, r3 - strh r0, [r2, 0xA] - ldr r0, =gBattleAnimAttacker - mov r10, r0 - ldrb r0, [r0] - str r2, [sp, 0x18] - bl GetBattlerSide - lsls r0, 24 - mov r9, r4 - ldr r2, [sp, 0x18] - cmp r0, 0 - bne _0815FE0C - ldr r1, =gSprites - lsls r5, r7, 4 - adds r0, r5, r7 - lsls r0, 2 - adds r6, r0, r1 - ldrh r0, [r2, 0xA] - lsls r0, 16 - asrs r0, 24 - ldrh r1, [r6, 0x24] - adds r0, r1 - strh r0, [r6, 0x24] - movs r2, 0x24 - ldrsh r4, [r6, r2] - movs r3, 0x20 - ldrsh r0, [r6, r3] - adds r4, r0 - mov r1, r10 - ldrb r0, [r1] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - adds r3, r5, 0 - cmp r4, r0 - blt _0815FE44 - movs r2, 0 - strh r2, [r6, 0x24] - b _0815FE44 - .pool -_0815FE0C: - ldr r1, =gSprites - lsls r5, r7, 4 - adds r0, r5, r7 - lsls r0, 2 - adds r6, r0, r1 - ldrh r1, [r2, 0xA] - lsls r1, 16 - asrs r1, 24 - ldrh r0, [r6, 0x24] - subs r0, r1 - strh r0, [r6, 0x24] - movs r3, 0x24 - ldrsh r4, [r6, r3] - movs r1, 0x20 - ldrsh r0, [r6, r1] - adds r4, r0 - mov r2, r10 - ldrb r0, [r2] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - adds r3, r5, 0 - cmp r4, r0 - bgt _0815FE44 - movs r4, 0 - strh r4, [r6, 0x24] -_0815FE44: - ldr r1, =gTasks - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0, 0xA] - strh r1, [r0, 0xA] - ldr r1, =gSprites - adds r0, r3, r7 - lsls r0, 2 - adds r0, r1 - movs r1, 0x24 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _0815FE68 - mov r0, r8 - bl DestroyAnimVisualTask -_0815FE68: - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815F8F4 - - thumb_func_start sub_815FE80 -sub_815FE80: @ 815FE80 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0815FE92 - cmp r0, 0x1 - beq _0815FF3A - b _0815FFBC -_0815FE92: - ldr r0, =gBattleAnimArgs - movs r2, 0xE - ldrsh r1, [r0, r2] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _0815FF2C - movs r0, 0x3F - bl BattleAnimAdjustPanning - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0x7A - bl PlaySE12WithPanning - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x10 - strh r0, [r4, 0x22] - ldr r0, =0x0000ffe0 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x3C] - adds r0, 0x1 - strh r0, [r4, 0x3C] - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0815FFBC - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _0815FFBC - movs r0, 0x1 - bl GetAnimBattlerSpriteId - ldr r2, =gSprites - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r1, 0x43 - ldrb r0, [r1] - subs r0, 0x1 - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - b _0815FFBC - .pool -_0815FF2C: - adds r0, r4, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - b _0815FFBC -_0815FF3A: - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r2, 0x2E - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x26] - ldrh r2, [r4, 0x30] - adds r0, r2, 0x5 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7F - ble _0815FF6E - movs r1, 0x2E - ldrsh r0, [r4, r1] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - adds r0, r2, 0 - subs r0, 0x7A - strh r0, [r4, 0x30] -_0815FF6E: - movs r2, 0x80 - lsls r2, 1 - adds r0, r2, 0 - ldrh r1, [r4, 0x32] - adds r0, r1 - strh r0, [r4, 0x32] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _0815FF9C - ldrh r2, [r4, 0x32] - lsls r1, r2, 16 - asrs r1, 24 - ldrh r0, [r4, 0x24] - subs r0, r1 - strh r0, [r4, 0x24] - adds r1, r2, 0 - b _0815FFA8 - .pool -_0815FF9C: - ldrh r1, [r4, 0x32] - lsls r0, r1, 16 - asrs r0, 24 - ldrh r2, [r4, 0x24] - adds r0, r2 - strh r0, [r4, 0x24] -_0815FFA8: - movs r0, 0xFF - ands r0, r1 - strh r0, [r4, 0x32] - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0x2 - bne _0815FFBC - adds r0, r4, 0 - bl DestroyAnimSprite -_0815FFBC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_815FE80 - - thumb_func_start sub_815FFC4 -sub_815FFC4: @ 815FFC4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r2, 0x26 - ldrsh r0, [r0, r2] - adds r3, r1, 0 - cmp r0, 0x4 - bls _0815FFE0 - b _08160132 -_0815FFE0: - lsls r0, 2 - ldr r1, =_0815FFF4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0815FFF4: - .4byte _08160008 - .4byte _08160058 - .4byte _081600B4 - .4byte _081600CC - .4byte _08160132 -_08160008: - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - adds r2, r0, 0 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r1 - movs r0, 0x6 - strh r0, [r1, 0x8] - cmp r5, r2 - ble _0816003E - negs r0, r0 - strh r0, [r1, 0x8] -_0816003E: - strh r5, [r1, 0xA] - strh r2, [r1, 0xC] - ldrh r0, [r1, 0x26] - adds r0, 0x1 - strh r0, [r1, 0x26] - b _08160150 - .pool -_08160058: - ldr r1, =gBattlerSpriteIds - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - adds r0, r1 - ldrb r2, [r0] - ldr r1, =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r1, r0, r1 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r2, r0, r3 - ldrh r0, [r2, 0x8] - ldrh r3, [r1, 0x24] - adds r0, r3 - strh r0, [r1, 0x24] - movs r3, 0x8 - ldrsh r0, [r2, r3] - cmp r0, 0 - ble _081600A0 - movs r3, 0x20 - ldrsh r0, [r1, r3] - movs r3, 0x24 - ldrsh r1, [r1, r3] - adds r0, r1 - movs r3, 0xC - ldrsh r1, [r2, r3] - b _08160126 - .pool -_081600A0: - movs r3, 0x20 - ldrsh r0, [r1, r3] - movs r3, 0x24 - ldrsh r1, [r1, r3] - adds r0, r1 - movs r3, 0xC - ldrsh r1, [r2, r3] - cmp r0, r1 - bgt _08160150 - b _0816012A -_081600B4: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r3 - movs r2, 0x8 - ldrsh r1, [r0, r2] - negs r1, r1 - strh r1, [r0, 0x8] - ldrh r1, [r0, 0x26] - adds r1, 0x1 - strh r1, [r0, 0x26] - b _08160150 -_081600CC: - ldr r1, =gBattlerSpriteIds - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - adds r0, r1 - ldrb r2, [r0] - ldr r1, =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r1, r0, r1 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r2, r0, r3 - ldrh r0, [r2, 0x8] - ldrh r3, [r1, 0x24] - adds r0, r3 - strh r0, [r1, 0x24] - movs r3, 0x8 - ldrsh r0, [r2, r3] - cmp r0, 0 - bge _08160118 - movs r3, 0x20 - ldrsh r0, [r1, r3] - movs r3, 0x24 - ldrsh r1, [r1, r3] - adds r0, r1 - movs r3, 0xA - ldrsh r1, [r2, r3] - cmp r0, r1 - bgt _08160150 - b _0816012A - .pool -_08160118: - movs r3, 0x20 - ldrsh r0, [r1, r3] - movs r3, 0x24 - ldrsh r1, [r1, r3] - adds r0, r1 - movs r3, 0xA - ldrsh r1, [r2, r3] -_08160126: - cmp r0, r1 - blt _08160150 -_0816012A: - ldrh r0, [r2, 0x26] - adds r0, 0x1 - strh r0, [r2, 0x26] - b _08160150 -_08160132: - ldr r1, =gBattlerSpriteIds - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - adds r0, r1 - ldrb r2, [r0] - ldr r1, =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x24] - adds r0, r4, 0 - bl DestroyAnimVisualTask -_08160150: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815FFC4 - - thumb_func_start sub_8160164 -sub_8160164: @ 8160164 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r4, r1, r0 - movs r0, 0 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r0, 24 - movs r5, 0 - strh r0, [r4, 0xE] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - movs r2, 0x1 - negs r2, r2 - adds r1, r2, 0 - cmp r0, 0 - bne _08160198 - movs r1, 0x1 -_08160198: - strh r1, [r4, 0x10] - ldr r2, =gSprites - movs r0, 0xE - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x22] - strh r0, [r4, 0x14] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x20] - strh r0, [r4, 0x12] - strh r5, [r4, 0x1A] - strh r5, [r4, 0x1E] - movs r0, 0x1 - strh r0, [r4, 0x1C] - strh r5, [r4, 0x20] - ldr r0, =sub_81601DC - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8160164 - - thumb_func_start sub_81601DC -sub_81601DC: @ 81601DC - push {r4-r6,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _08160284 - cmp r0, 0x1 - bgt _08160204 - cmp r0, 0 - beq _0816020A - b _081602DA - .pool -_08160204: - cmp r0, 0x2 - beq _081602D4 - b _081602DA -_0816020A: - ldrh r0, [r4, 0x1E] - adds r0, 0x8 - movs r2, 0xFF - ands r0, r2 - strh r0, [r4, 0x1E] - ldr r5, =gSprites - movs r6, 0xE - ldrsh r0, [r4, r6] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - ldr r3, =gSineTable - movs r6, 0x1E - ldrsh r0, [r4, r6] - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 21 - strh r0, [r1, 0x24] - ldrh r0, [r4, 0x1A] - adds r0, 0x2 - ands r0, r2 - strh r0, [r4, 0x1A] - movs r1, 0xE - ldrsh r0, [r4, r1] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r5 - movs r6, 0x1A - ldrsh r0, [r4, r6] - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 19 - ldrh r1, [r4, 0x10] - muls r0, r1 - ldrh r1, [r4, 0x12] - adds r0, r1 - strh r0, [r2, 0x20] - movs r6, 0x1A - ldrsh r0, [r4, r6] - cmp r0, 0 - bne _081602DA - movs r0, 0xE - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrh r1, [r4, 0x12] - strh r1, [r0, 0x20] - b _081602C4 - .pool -_08160284: - ldrh r0, [r4, 0x1E] - adds r0, 0x8 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x1E] - ldr r3, =gSprites - movs r1, 0xE - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldr r2, =gSineTable - movs r5, 0x1E - ldrsh r0, [r4, r5] - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 21 - strh r0, [r1, 0x24] - movs r6, 0x1E - ldrsh r2, [r4, r6] - cmp r2, 0 - bne _081602DA - movs r1, 0xE - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - strh r2, [r1, 0x24] -_081602C4: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _081602DA - .pool -_081602D4: - adds r0, r2, 0 - bl DestroyAnimVisualTask -_081602DA: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81601DC - - thumb_func_start sub_81602E0 -sub_81602E0: @ 81602E0 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - ldrh r0, [r4, 0x2E] - ldrh r1, [r4, 0x30] - adds r0, r1 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x30] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x14 - bl Cos - strh r0, [r4, 0x24] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x14 - bl Sin - strh r0, [r4, 0x26] - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08160326 - adds r0, r4, 0 - bl DestroyAnimSprite -_08160326: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81602E0 - - thumb_func_start sub_8160338 -sub_8160338: @ 8160338 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _0816037C - ldr r2, =gBattleAnimArgs - ldrh r0, [r4, 0x20] - ldrh r1, [r2] - subs r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r2, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldr r0, =0x0000fff5 - strh r0, [r4, 0x2E] - movs r0, 0xC0 - strh r0, [r4, 0x30] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - b _08160396 - .pool -_0816037C: - movs r0, 0xB - strh r0, [r4, 0x2E] - movs r0, 0xC0 - strh r0, [r4, 0x30] - ldr r1, =gBattleAnimArgs - ldrh r0, [r1] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] - ldrh r0, [r1, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] -_08160396: - ldr r0, =sub_81602E0 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8160338 - - thumb_func_start sub_81603A8 -sub_81603A8: @ 81603A8 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x2 - bl sub_80A861C - strh r0, [r5, 0x22] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF - bgt _081603D2 - movs r0, 0x10 - strh r0, [r5, 0x22] -_081603D2: - movs r0, 0 - strh r0, [r5, 0x3A] - movs r1, 0x10 - strh r1, [r5, 0x3C] - ldr r0, =sub_81603F4 - str r0, [r5, 0x1C] - lsls r1, 8 - movs r0, 0x52 - bl SetGpuReg - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81603A8 - - thumb_func_start sub_81603F4 -sub_81603F4: @ 81603F4 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r1, [r4, r0] - cmp r1, 0x1 - beq _0816046C - cmp r1, 0x1 - bgt _0816040A - cmp r1, 0 - beq _08160414 - b _081604E8 -_0816040A: - cmp r1, 0x2 - beq _08160482 - cmp r1, 0x3 - beq _081604E2 - b _081604E8 -_08160414: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _081604E8 - strh r1, [r4, 0x2E] - ldrh r1, [r4, 0x30] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0816043E - ldrh r2, [r4, 0x3A] - movs r3, 0x3A - ldrsh r0, [r4, r3] - cmp r0, 0xF - bgt _0816044C - adds r0, r2, 0x1 - strh r0, [r4, 0x3A] - b _0816044C -_0816043E: - ldrh r2, [r4, 0x3C] - movs r3, 0x3C - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _0816044C - subs r0, r2, 0x1 - strh r0, [r4, 0x3C] -_0816044C: - adds r0, r1, 0x1 - strh r0, [r4, 0x30] - ldrh r1, [r4, 0x3C] - lsls r1, 8 - ldrh r0, [r4, 0x3A] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _081604E8 - b _081604DA -_0816046C: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - movs r1, 0 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - bne _081604E8 - strh r1, [r4, 0x2E] - strh r1, [r4, 0x30] - b _081604DA -_08160482: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _081604E8 - movs r0, 0 - strh r0, [r4, 0x2E] - ldrh r1, [r4, 0x30] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _081604AE - ldrh r2, [r4, 0x3A] - movs r3, 0x3A - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _081604BC - subs r0, r2, 0x1 - strh r0, [r4, 0x3A] - b _081604BC -_081604AE: - ldrh r2, [r4, 0x3C] - movs r3, 0x3C - ldrsh r0, [r4, r3] - cmp r0, 0xF - bgt _081604BC - adds r0, r2, 0x1 - strh r0, [r4, 0x3C] -_081604BC: - adds r0, r1, 0x1 - strh r0, [r4, 0x30] - ldrh r1, [r4, 0x3C] - lsls r1, 8 - ldrh r0, [r4, 0x3A] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0x10 - bne _081604E8 -_081604DA: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - b _081604E8 -_081604E2: - adds r0, r4, 0 - bl DestroySpriteAndMatrix -_081604E8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81603F4 - - thumb_func_start AnimTask_GetWeather -AnimTask_GetWeather: @ 81604F0 - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, =gBattleAnimArgs - movs r0, 0 - strh r0, [r2, 0xE] - ldr r0, =gWeatherMoveAnim - ldrh r1, [r0] - movs r0, 0x60 - ands r0, r1 - cmp r0, 0 - beq _08160514 - movs r0, 0x1 - b _08160536 - .pool -_08160514: - movs r0, 0x7 - ands r0, r1 - cmp r0, 0 - beq _08160520 - movs r0, 0x2 - b _08160536 -_08160520: - movs r0, 0x18 - ands r0, r1 - cmp r0, 0 - beq _0816052C - movs r0, 0x3 - b _08160536 -_0816052C: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08160538 - movs r0, 0x4 -_08160536: - strh r0, [r2, 0xE] -_08160538: - adds r0, r3, 0 - bl DestroyAnimVisualTask - pop {r0} - bx r0 - thumb_func_end AnimTask_GetWeather - - thumb_func_start sub_8160544 -sub_8160544: @ 8160544 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, =gTasks - adds r4, r0 - movs r0, 0 - strh r0, [r4, 0x8] - ldr r0, =gBattleAnimArgs - ldrb r0, [r0] - bl GetAnimBattlerSpriteId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - strh r1, [r4, 0x26] - ldr r2, =gUnknown_085CE9C8 - adds r0, r4, 0 - bl PrepareAffineAnimInTaskData - ldr r0, =sub_816058C - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8160544 - - thumb_func_start sub_816058C -sub_816058C: @ 816058C - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r2, =gTasks - adds r3, r0, r2 - ldrh r0, [r3, 0x8] - adds r1, r0, 0x1 - movs r5, 0 - strh r1, [r3, 0x8] - subs r0, 0x10 - lsls r0, 16 - lsrs r0, 16 - adds r6, r2, 0 - cmp r0, 0x16 - bhi _081605F0 - ldrh r0, [r3, 0xA] - adds r0, 0x1 - strh r0, [r3, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _08160600 - strh r5, [r3, 0xA] - ldrh r0, [r3, 0xC] - adds r0, 0x1 - strh r0, [r3, 0xC] - movs r5, 0x1 - ands r0, r5 - cmp r0, 0 - bne _081605F0 - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, =0x0000ffff - strh r1, [r0, 0x24] - b _08160600 - .pool -_081605F0: - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r5, [r0, 0x24] -_08160600: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r6 - bl RunAffineAnimFromTaskData - lsls r0, 24 - cmp r0, 0 - bne _08160618 - adds r0, r4, 0 - bl DestroyAnimVisualTask -_08160618: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816058C - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_frontier_1.s b/asm/battle_frontier_1.s deleted file mode 100644 index 4e3ae44853..0000000000 --- a/asm/battle_frontier_1.s +++ /dev/null @@ -1,2525 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8195E10 -sub_8195E10: @ 8195E10 - push {lr} - bl RtcCalcLocalTime - ldr r0, =gLocalTime - bl sub_8195E34 - ldr r1, =gUnknown_0203CD80 - adds r0, 0xA - str r0, [r1] - movs r0, 0 - strb r0, [r1, 0x6] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8195E10 - - thumb_func_start sub_8195E34 -sub_8195E34: @ 8195E34 - adds r3, r0, 0 - movs r1, 0 - ldrsh r0, [r3, r1] - lsls r1, r0, 1 - adds r1, r0 - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 5 - movs r2, 0x2 - ldrsb r2, [r3, r2] - lsls r1, r2, 4 - subs r1, r2 - lsls r1, 2 - adds r0, r1 - movs r1, 0x3 - ldrsb r1, [r3, r1] - adds r0, r1 - bx lr - thumb_func_end sub_8195E34 - - thumb_func_start sub_8195E58 -sub_8195E58: @ 8195E58 - push {lr} - bl RtcCalcLocalTime - ldr r0, =gLocalTime - bl sub_8195E34 - adds r1, r0, 0 - ldr r2, =gUnknown_0203CD80 - ldr r0, [r2] - cmp r0, r1 - bhi _08195E74 - subs r0, r1, r0 - cmp r0, 0x9 - bls _08195E84 -_08195E74: - str r1, [r2] - movs r0, 0x1 - b _08195E86 - .pool -_08195E84: - movs r0, 0 -_08195E86: - pop {r1} - bx r1 - thumb_func_end sub_8195E58 - - thumb_func_start sub_8195E8C -sub_8195E8C: @ 8195E8C - push {r4,r5,lr} - movs r5, 0x1 - ldr r4, =gPlayerParty - adds r0, r4, 0 - movs r1, 0x6 - bl GetMonData - cmp r0, 0 - bne _08195EAE - adds r0, r4, 0 - bl GetMonAbility - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1F - bne _08195EAE - movs r5, 0x2 -_08195EAE: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - lsls r1, r5, 1 - adds r1, r5 - cmp r0, r1 - blt _08195ED0 - movs r0, 0 - b _08195ED2 - .pool -_08195ED0: - movs r0, 0x1 -_08195ED2: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8195E8C - - thumb_func_start sub_8195ED8 -sub_8195ED8: @ 8195ED8 - push {r4,lr} - ldr r4, =gMapHeader - ldrb r0, [r4, 0x17] - bl Overworld_MapTypeAllowsTeleportAndFly - lsls r0, 24 - cmp r0, 0 - beq _08195F30 - ldrb r0, [r4, 0x14] - cmp r0, 0x39 - beq _08195F30 - cmp r0, 0xE - bne _08195F0E - movs r0, 0xF9 - lsls r0, 2 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08195F0E - movs r0, 0xDC - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08195F30 -_08195F0E: - ldr r0, =gMapHeader - ldrb r0, [r0, 0x14] - cmp r0, 0x38 - bne _08195F38 - movs r0, 0xCF - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08195F38 - movs r0, 0x8B - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _08195F38 -_08195F30: - movs r0, 0 - b _08195F3A - .pool -_08195F38: - movs r0, 0x1 -_08195F3A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8195ED8 - - thumb_func_start sub_8195F40 -sub_8195F40: @ 8195F40 - push {lr} - ldr r1, =gUnknown_0203CD80 - ldrb r0, [r1, 0x6] - adds r0, 0x1 - strb r0, [r1, 0x6] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x9 - bhi _08195F5C - movs r0, 0 - b _08195F62 - .pool -_08195F5C: - movs r0, 0 - strb r0, [r1, 0x6] - movs r0, 0x1 -_08195F62: - pop {r1} - bx r1 - thumb_func_end sub_8195F40 - - thumb_func_start sub_8195F68 -sub_8195F68: @ 8195F68 - push {r4,lr} - bl sub_8195FCC - adds r4, r0, 0 - cmp r4, 0 - beq _08195FB8 - bl Random - lsls r0, 16 - lsrs r0, 16 - adds r1, r4, 0 - bl __umodsi3 - bl sub_8195FF8 - ldr r2, =gUnknown_0203CD80 - movs r1, 0 - strh r0, [r2, 0x4] - strb r1, [r2, 0x7] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x4E - beq _08195FB8 - ldrh r0, [r2, 0x4] - bl sub_8196844 - adds r4, r0, 0 - bl sub_819672C - ldr r1, =gMapHeader - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r1, 0x14] - cmp r0, r1 - bne _08195FC4 - adds r0, r4, 0 - bl sub_8196710 - cmp r0, 0 - bne _08195FC4 -_08195FB8: - movs r0, 0 - b _08195FC6 - .pool -_08195FC4: - movs r0, 0x1 -_08195FC6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8195F68 - - thumb_func_start sub_8195FCC -sub_8195FCC: @ 8195FCC - push {r4,r5,lr} - movs r4, 0 - movs r5, 0 -_08195FD2: - movs r1, 0xAE - lsls r1, 1 - adds r0, r4, r1 - lsls r0, 16 - lsrs r0, 16 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08195FE8 - adds r5, 0x1 -_08195FE8: - adds r4, 0x1 - cmp r4, 0x3F - bls _08195FD2 - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8195FCC - - thumb_func_start sub_8195FF8 -sub_8195FF8: @ 8195FF8 - push {r4-r6,lr} - adds r5, r0, 0 - movs r4, 0 - ldr r6, =gRematchTable -_08196000: - movs r1, 0xAE - lsls r1, 1 - adds r0, r4, r1 - lsls r0, 16 - lsrs r0, 16 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08196022 - cmp r5, 0 - bne _08196020 - ldrh r0, [r6] - b _0819602C - .pool -_08196020: - subs r5, 0x1 -_08196022: - adds r6, 0x10 - adds r4, 0x1 - cmp r4, 0x3F - bls _08196000 - movs r0, 0x4E -_0819602C: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8195FF8 - - thumb_func_start sub_8196034 -sub_8196034: @ 8196034 - push {lr} - ldr r0, =0x0000012f - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08196078 - bl sub_8195F40 - cmp r0, 0 - beq _08196078 - bl sub_8195E58 - cmp r0, 0 - beq _08196078 - bl sub_8195E8C - cmp r0, 0 - beq _08196078 - bl sub_8195ED8 - cmp r0, 0 - beq _08196078 - bl sub_8195F68 - cmp r0, 0 - beq _08196078 - bl task_prev_quest - movs r0, 0x1 - b _0819607A - .pool -_08196078: - movs r0, 0 -_0819607A: - pop {r1} - bx r1 - thumb_func_end sub_8196034 - - thumb_func_start sub_8196080 -sub_8196080: @ 8196080 - push {lr} - ldr r1, =gUnknown_0203CD80 - movs r0, 0x1 - strb r0, [r1, 0x7] - bl task_prev_quest - pop {r0} - bx r0 - .pool - thumb_func_end sub_8196080 - - thumb_func_start sub_8196094 -sub_8196094: @ 8196094 - push {lr} - ldr r0, =sub_81960E0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sub_8196094 - - thumb_func_start task_prev_quest -task_prev_quest: @ 81960A8 - push {lr} - ldr r0, =gUnknown_0203CD80 - ldrb r0, [r0, 0x7] - cmp r0, 0 - bne _081960C2 - bl ScriptContext2_Enable - bl FreezeEventObjects - bl sub_808B864 - bl sub_808BCF4 -_081960C2: - ldr r0, =0x00000107 - bl PlaySE - ldr r0, =sub_81960E0 - movs r1, 0x1 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end task_prev_quest - - thumb_func_start sub_81960E0 -sub_81960E0: @ 81960E0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - ldr r1, =gUnknown_0860EF78 - movs r2, 0 - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r5, 0 - bl _call_via_r1 - cmp r0, 0 - beq _0819611E - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - movs r1, 0 - strh r1, [r4, 0x2] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x7 - bls _0819611E - adds r0, r5, 0 - bl DestroyTask -_0819611E: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81960E0 - - thumb_func_start sub_819612C -sub_819612C: @ 819612C - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r5, r0, r1 - ldr r0, =gUnknown_0860EF98 - bl AddWindow - strh r0, [r5, 0x4] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xFF - bne _0819615C - adds r0, r4, 0 - b _081961E0 - .pool -_0819615C: - ldr r1, =gUnknown_0860EA6C - movs r2, 0x80 - lsls r2, 1 - movs r3, 0x9C - lsls r3, 2 - movs r0, 0 - bl LoadBgTiles - lsls r0, 16 - ldr r1, =0xffff0000 - cmp r0, r1 - bne _08196188 - ldrb r0, [r5, 0x4] - bl RemoveWindow - adds r0, r4, 0 - b _081961E0 - .pool -_08196188: - ldr r1, =gUnknown_0860EB8C - ldr r3, =0x00000279 - movs r0, 0 - str r0, [sp] - movs r2, 0 - bl decompress_and_copy_tile_data_to_vram - cmp r0, 0 - beq _081961D8 - ldrb r0, [r5, 0x4] - movs r1, 0x88 - bl FillWindowPixelBuffer - ldr r0, =gUnknown_0860EA4C - movs r1, 0xE0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gUnknown_0860EB6C - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - ldr r1, =0xffffe000 - movs r0, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - b _081961E6 - .pool -_081961D8: - ldrb r0, [r5, 0x4] - bl RemoveWindow - adds r0, r6, 0 -_081961E0: - bl DestroyTask - movs r0, 0 -_081961E6: - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_819612C - - thumb_func_start sub_81961F0 -sub_81961F0: @ 81961F0 - push {r4,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r4, r1, r0 - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - bne _08196268 - ldrb r0, [r4, 0x4] - bl PutWindowTilemap - movs r1, 0x4 - ldrsh r0, [r4, r1] - movs r1, 0x9C - lsls r1, 2 - movs r2, 0xE - bl sub_819645C - ldr r1, =0x0000f279 - movs r0, 0x4 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0x1 - str r0, [sp, 0xC] - movs r0, 0 - movs r2, 0x1 - movs r3, 0xF - bl WriteSequenceToBgTilemapBuffer - ldr r0, =sub_8196694 - movs r1, 0xA - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0xA] - ldrb r0, [r4, 0x4] - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0x1 - b _0819626A - .pool -_08196268: - movs r0, 0 -_0819626A: - add sp, 0x10 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81961F0 - - thumb_func_start sub_8196274 -sub_8196274: @ 8196274 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r4, r1, r0 - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _08196298 - movs r0, 0 - b _081962A4 - .pool -_08196298: - movs r1, 0x4 - ldrsh r0, [r4, r1] - ldr r1, =gText_PokenavCallEllipsis - bl sub_81965D8 - movs r0, 0x1 -_081962A4: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8196274 - - thumb_func_start sub_81962B0 -sub_81962B0: @ 81962B0 - push {lr} - movs r1, 0xC0 - lsls r1, 3 - movs r0, 0 - movs r2, 0x1 - bl ChangeBgY - cmp r0, 0 - bge _081962C6 - movs r0, 0 - b _081962D2 -_081962C6: - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 -_081962D2: - pop {r1} - bx r1 - thumb_func_end sub_81962B0 - - thumb_func_start sub_81962D8 -sub_81962D8: @ 81962D8 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r4, r1, r0 - movs r1, 0x4 - ldrsh r0, [r4, r1] - bl sub_8196648 - cmp r0, 0 - bne _08196328 - ldrb r0, [r4, 0x4] - movs r1, 0x88 - bl FillWindowPixelBuffer - ldr r1, =gUnknown_0203CD80 - ldrb r0, [r1, 0x7] - cmp r0, 0 - bne _0819630C - ldrh r0, [r1, 0x4] - ldr r1, =gStringVar4 - bl sub_81967AC -_0819630C: - movs r1, 0x4 - ldrsh r0, [r4, r1] - ldr r1, =gStringVar4 - bl sub_81965D8 - movs r0, 0x1 - b _0819632A - .pool -_08196328: - movs r0, 0 -_0819632A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81962D8 - - thumb_func_start sub_8196330 -sub_8196330: @ 8196330 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r4, r1, r0 - movs r1, 0x4 - ldrsh r0, [r4, r1] - bl sub_8196648 - cmp r0, 0 - bne _08196388 - bl IsSEPlaying - lsls r0, 24 - cmp r0, 0 - bne _08196388 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _08196388 - ldrb r0, [r4, 0x4] - movs r1, 0x88 - bl FillWindowPixelBuffer - ldrb r0, [r4, 0x4] - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0x84 - lsls r0, 1 - bl PlaySE - movs r0, 0x1 - b _0819638A - .pool -_08196388: - movs r0, 0 -_0819638A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8196330 - - thumb_func_start sub_8196390 -sub_8196390: @ 8196390 - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r4, r1, r0 - movs r1, 0xC0 - lsls r1, 3 - movs r0, 0 - movs r2, 0x2 - bl ChangeBgY - ldr r1, =0xffffe000 - cmp r0, r1 - ble _081963C0 - movs r0, 0 - b _081963E8 - .pool -_081963C0: - movs r0, 0x1E - str r0, [sp] - movs r0, 0x6 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0xE - bl FillBgTilemapBufferRect_Palette0 - ldrb r0, [r4, 0xA] - bl DestroyTask - ldrb r0, [r4, 0x4] - bl RemoveWindow - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0x1 -_081963E8: - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8196390 - - thumb_func_start sub_81963F0 -sub_81963F0: @ 81963F0 - push {lr} - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08196454 - bl IsSEPlaying - lsls r0, 24 - cmp r0, 0 - bne _08196454 - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - ldr r0, =gUnknown_0203CD80 - ldrb r0, [r0, 0x7] - cmp r0, 0 - bne _08196446 - bl sub_81973A4 - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - bl GetEventObjectIdByLocalIdAndMap - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gEventObjects - adds r0, r1 - bl EventObjectClearHeldMovementIfFinished - bl sub_80D338C - bl UnfreezeEventObjects - bl ScriptContext2_Disable -_08196446: - movs r0, 0x1 - b _08196456 - .pool -_08196454: - movs r0, 0 -_08196456: - pop {r1} - bx r1 - thumb_func_end sub_81963F0 - - thumb_func_start sub_819645C -sub_819645C: @ 819645C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - adds r4, r0, 0 - adds r5, r1, 0 - adds r7, r2, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0 - bl GetWindowAttribute - mov r9, r0 - adds r0, r4, 0 - movs r1, 0x1 - bl GetWindowAttribute - str r0, [sp, 0x8] - adds r0, r4, 0 - movs r1, 0x2 - bl GetWindowAttribute - str r0, [sp, 0xC] - adds r0, r4, 0 - movs r1, 0x3 - bl GetWindowAttribute - adds r6, r0, 0 - adds r0, r4, 0 - movs r1, 0x4 - bl GetWindowAttribute - str r0, [sp, 0x10] - mov r0, r9 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - movs r1, 0xA - bl GetBgAttribute - lsls r0, 16 - lsrs r0, 16 - adds r5, r0 - lsls r7, 12 - movs r1, 0xF0 - lsls r1, 8 - adds r0, r1, 0 - ands r7, r0 - adds r1, r7, 0 - orrs r1, r5 - lsls r1, 16 - lsrs r1, 16 - ldr r2, [sp, 0x8] - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - mov r10, r2 - ldr r4, [sp, 0xC] - subs r4, 0x1 - lsls r4, 24 - lsrs r4, 24 - movs r3, 0x1 - mov r8, r3 - str r3, [sp] - str r3, [sp, 0x4] - mov r0, r9 - adds r3, r4, 0 - bl FillBgTilemapBufferRect_Palette0 - adds r1, r5, 0x1 - orrs r1, r7 - lsls r1, 16 - lsrs r1, 16 - ldr r0, [sp, 0x8] - lsls r2, r0, 24 - lsrs r2, 24 - str r2, [sp, 0x14] - lsls r0, r6, 24 - lsrs r0, 24 - str r0, [sp, 0x18] - str r0, [sp] - mov r2, r8 - str r2, [sp, 0x4] - mov r0, r9 - ldr r2, [sp, 0x14] - adds r3, r4, 0 - bl FillBgTilemapBufferRect_Palette0 - adds r1, r5, 0x2 - orrs r1, r7 - lsls r1, 16 - lsrs r1, 16 - ldr r3, [sp, 0x8] - adds r0, r3, r6 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x1C] - mov r0, r8 - str r0, [sp] - str r0, [sp, 0x4] - mov r0, r9 - ldr r2, [sp, 0x1C] - adds r3, r4, 0 - bl FillBgTilemapBufferRect_Palette0 - adds r1, r5, 0x3 - orrs r1, r7 - lsls r1, 16 - lsrs r1, 16 - ldr r2, [sp, 0xC] - lsls r6, r2, 24 - lsrs r6, 24 - mov r3, r8 - str r3, [sp] - ldr r0, [sp, 0x10] - lsls r4, r0, 24 - lsrs r4, 24 - str r4, [sp, 0x4] - mov r0, r9 - mov r2, r10 - adds r3, r6, 0 - bl FillBgTilemapBufferRect_Palette0 - adds r1, r5, 0x4 - orrs r1, r7 - lsls r1, 16 - lsrs r1, 16 - mov r2, r8 - str r2, [sp] - str r4, [sp, 0x4] - mov r0, r9 - ldr r2, [sp, 0x1C] - adds r3, r6, 0 - bl FillBgTilemapBufferRect_Palette0 - adds r1, r5, 0x5 - orrs r1, r7 - lsls r1, 16 - lsrs r1, 16 - ldr r3, [sp, 0xC] - ldr r2, [sp, 0x10] - adds r0, r3, r2 - lsls r0, 24 - lsrs r4, r0, 24 - mov r3, r8 - str r3, [sp] - str r3, [sp, 0x4] - mov r0, r9 - mov r2, r10 - adds r3, r4, 0 - bl FillBgTilemapBufferRect_Palette0 - adds r1, r5, 0x6 - orrs r1, r7 - lsls r1, 16 - lsrs r1, 16 - ldr r0, [sp, 0x18] - str r0, [sp] - mov r2, r8 - str r2, [sp, 0x4] - mov r0, r9 - ldr r2, [sp, 0x14] - adds r3, r4, 0 - bl FillBgTilemapBufferRect_Palette0 - adds r5, 0x7 - orrs r5, r7 - lsls r5, 16 - lsrs r5, 16 - mov r3, r8 - str r3, [sp] - str r3, [sp, 0x4] - mov r0, r9 - adds r1, r5, 0 - ldr r2, [sp, 0x1C] - adds r3, r4, 0 - bl FillBgTilemapBufferRect_Palette0 - 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_819645C - - thumb_func_start sub_81965D8 -sub_81965D8: @ 81965D8 - push {lr} - sub sp, 0x10 - str r1, [sp] - mov r1, sp - movs r3, 0 - strb r0, [r1, 0x4] - mov r0, sp - movs r1, 0x1 - strb r1, [r0, 0x5] - movs r2, 0x20 - strb r2, [r0, 0x6] - strb r1, [r0, 0x7] - strb r2, [r0, 0x8] - strb r1, [r0, 0x9] - strb r3, [r0, 0xA] - strb r3, [r0, 0xB] - mov r3, sp - ldrb r2, [r3, 0xC] - subs r1, 0x11 - adds r0, r1, 0 - ands r0, r2 - strb r0, [r3, 0xC] - mov r2, sp - movs r3, 0xF - movs r0, 0xA0 - strb r0, [r2, 0xC] - ldrb r0, [r2, 0xD] - ands r1, r0 - movs r0, 0x8 - orrs r1, r0 - strb r1, [r2, 0xD] - ands r1, r3 - movs r0, 0xE0 - orrs r1, r0 - strb r1, [r2, 0xD] - ldr r2, =gTextFlags - ldrb r1, [r2] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - bl GetPlayerTextSpeedDelay - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, sp - movs r2, 0 - bl AddTextPrinter - add sp, 0x10 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81965D8 - - thumb_func_start sub_8196648 -sub_8196648: @ 8196648 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gMain - ldrh r1, [r0, 0x2C] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0819666C - ldr r0, =gTextFlags - ldrb r1, [r0] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0] - b _08196678 - .pool -_0819666C: - ldr r2, =gTextFlags - ldrb r1, [r2] - movs r0, 0x2 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_08196678: - bl RunTextPrinters - lsls r0, r4, 24 - lsrs r0, 24 - bl IsTextPrinterActive - lsls r0, 16 - lsrs r0, 16 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8196648 - - thumb_func_start sub_8196694 -sub_8196694: @ 8196694 - push {lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r2, r1, r0 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _081966FC - movs r1, 0 - strh r1, [r2] - ldrh r0, [r2, 0x2] - adds r0, 0x1 - strh r0, [r2, 0x2] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _081966C8 - strh r1, [r2, 0x2] -_081966C8: - movs r0, 0x2 - ldrsh r1, [r2, r0] - lsls r1, 4 - ldr r0, =0x00000279 - adds r1, r0 - strh r1, [r2, 0x4] - ldr r2, =0xfffff000 - adds r0, r2, 0 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x4 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0x1 - str r0, [sp, 0xC] - movs r0, 0 - movs r2, 0x1 - movs r3, 0xF - bl WriteSequenceToBgTilemapBuffer - movs r0, 0 - bl CopyBgTilemapBufferToVram -_081966FC: - add sp, 0x10 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8196694 - - thumb_func_start sub_8196710 -sub_8196710: @ 8196710 - ldr r1, =gSaveBlock1Ptr - ldr r1, [r1] - ldr r2, =0x000009ca - adds r1, r2 - adds r1, r0 - ldrb r1, [r1] - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - bx lr - .pool - thumb_func_end sub_8196710 - - thumb_func_start sub_819672C -sub_819672C: @ 819672C - push {lr} - ldr r1, =gRematchTable - lsls r0, 4 - adds r0, r1 - ldrh r2, [r0, 0xA] - ldrh r1, [r0, 0xC] - adds r0, r2, 0 - bl Overworld_GetMapHeaderByGroupAndId - ldrb r0, [r0, 0x14] - pop {r1} - bx r1 - .pool - thumb_func_end sub_819672C - - thumb_func_start sub_8196748 -sub_8196748: @ 8196748 - push {r4-r6,lr} - movs r5, 0 - movs r6, 0 - ldr r4, =gRematchTable -_08196750: - ldrh r0, [r4] - bl HasTrainerBeenFought - lsls r0, 24 - cmp r0, 0 - beq _0819675E - adds r6, 0x1 -_0819675E: - adds r4, 0x10 - adds r5, 0x1 - cmp r5, 0x3F - bls _08196750 - adds r0, r6, 0 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8196748 - - thumb_func_start sub_8196774 -sub_8196774: @ 8196774 - push {r4-r7,lr} - adds r7, r0, 0 - movs r4, 0 - movs r6, 0 - ldr r5, =gRematchTable -_0819677E: - ldrh r0, [r5] - bl HasTrainerBeenFought - lsls r0, 24 - cmp r0, 0 - beq _0819679A - cmp r6, r7 - bne _08196798 - adds r0, r4, 0 - b _081967A4 - .pool -_08196798: - adds r6, 0x1 -_0819679A: - adds r5, 0x10 - adds r4, 0x1 - cmp r4, 0x4D - bls _0819677E - movs r0, 0x4E -_081967A4: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8196774 - - thumb_func_start sub_81967AC -sub_81967AC: @ 81967AC - push {r4-r7,lr} - adds r6, r1, 0 - movs r7, 0 - bl sub_8196844 - adds r5, r0, 0 - ldr r0, =gUnknown_0203CD88 - strh r7, [r0] - adds r0, r5, 0 - bl sub_8196710 - cmp r0, 0 - beq _081967EC - adds r0, r5, 0 - bl sub_819672C - ldr r1, =gMapHeader - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r1, 0x14] - cmp r0, r1 - bne _081967EC - adds r0, r5, 0 - adds r1, r6, 0 - bl sub_8196864 - b _08196830 - .pool -_081967EC: - adds r0, r5, 0 - bl sub_8196D74 - cmp r0, 0 - beq _0819680A - adds r0, r5, 0 - adds r1, r6, 0 - bl sub_8196890 - adds r4, r0, 0 - movs r7, 0x1 - adds r0, r5, 0 - bl UpdateRematchIfDefeated - b _08196832 -_0819680A: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 16 - cmp r0, 0 - beq _08196828 - adds r0, r5, 0 - adds r1, r6, 0 - bl sub_81968BC - b _08196830 -_08196828: - adds r0, r5, 0 - adds r1, r6, 0 - bl sub_8196910 -_08196830: - adds r4, r0, 0 -_08196832: - adds r0, r5, 0 - adds r1, r4, 0 - adds r2, r6, 0 - bl sub_81969E0 - adds r0, r7, 0 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81967AC - - thumb_func_start sub_8196844 -sub_8196844: @ 8196844 - push {lr} - adds r3, r0, 0 - movs r2, 0 - ldr r1, =gUnknown_0860DEB8 -_0819684C: - ldrh r0, [r1] - cmp r0, r3 - beq _0819685C - adds r1, 0x14 - adds r2, 0x1 - b _0819684C - .pool -_0819685C: - adds r0, r2, 0 - pop {r1} - bx r1 - thumb_func_end sub_8196844 - - thumb_func_start sub_8196864 -sub_8196864: @ 8196864 - ldr r2, =gUnknown_0860DEB8 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrh r1, [r1, 0xE] - movs r2, 0xFF - lsrs r0, r1, 8 - subs r0, 0x1 - ands r1, r2 - subs r1, 0x1 - ldr r2, =gUnknown_0860EA2C - lsls r0, 2 - adds r0, r2 - lsls r1, 3 - ldr r0, [r0] - adds r0, r1 - bx lr - .pool - thumb_func_end sub_8196864 - - thumb_func_start sub_8196890 -sub_8196890: @ 8196890 - ldr r2, =gUnknown_0860DEB8 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrh r1, [r1, 0x10] - movs r2, 0xFF - lsrs r0, r1, 8 - subs r0, 0x1 - ands r1, r2 - subs r1, 0x1 - ldr r2, =gUnknown_0860EA2C - lsls r0, 2 - adds r0, r2 - lsls r1, 3 - ldr r0, [r0] - adds r0, r1 - bx lr - .pool - thumb_func_end sub_8196890 - - thumb_func_start sub_81968BC -sub_81968BC: @ 81968BC - push {r4,lr} - adds r4, r0, 0 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 16 - ldr r2, =gUnknown_0860DEB8 - lsrs r0, 15 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 2 - adds r0, r1 - adds r2, 0x4 - adds r0, r2 - ldrh r4, [r0] - cmp r4, 0 - bne _081968EC - movs r0, 0 - bl SpriteCallbackDummy -_081968EC: - movs r1, 0xFF - lsrs r0, r4, 8 - subs r0, 0x1 - ands r4, r1 - subs r1, r4, 0x1 - ldr r2, =gUnknown_0860EA20 - lsls r0, 2 - adds r0, r2 - lsls r1, 3 - ldr r0, [r0] - adds r0, r1 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81968BC - - thumb_func_start sub_8196910 -sub_8196910: @ 8196910 - push {r4-r7,lr} - sub sp, 0x4 - adds r6, r0, 0 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _081969AC - movs r5, 0 - movs r4, 0 - lsls r7, r6, 2 -_0819692C: - lsls r0, r4, 16 - lsrs r0, 16 - mov r1, sp - bl sub_8196E04 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bls _08196940 - adds r5, 0x1 -_08196940: - adds r4, 0x1 - cmp r4, 0x6 - ble _0819692C - cmp r5, 0 - beq _081969AC - bl Random - lsls r0, 16 - lsrs r0, 16 - adds r1, r5, 0 - bl __modsi3 - adds r5, r0, 0 - movs r4, 0 - b _08196962 -_0819695E: - subs r5, 0x1 -_08196960: - adds r4, 0x1 -_08196962: - cmp r4, 0x6 - bgt _08196980 - lsls r0, r4, 16 - lsrs r0, 16 - mov r1, sp - bl sub_8196E04 - ldr r1, =gUnknown_0203CD88 - strh r0, [r1, 0x2] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bls _08196960 - cmp r5, 0 - bne _0819695E -_08196980: - ldr r0, =gUnknown_0203CD88 - strh r4, [r0] - ldr r1, =gUnknown_0860DEB8 - adds r0, r7, r6 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0xC] - subs r2, r0, 0x1 - ldr r1, =gUnknown_0860EA34 - ldr r0, [sp] - lsls r0, 2 - adds r0, r1 - lsls r1, r2, 3 - ldr r0, [r0] - adds r0, r1 - b _081969D0 - .pool -_081969AC: - ldr r1, =gUnknown_0860DEB8 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 2 - adds r0, r1 - ldrh r2, [r0, 0xA] - lsrs r1, r2, 8 - subs r1, 0x1 - str r1, [sp] - movs r0, 0xFF - ands r0, r2 - subs r2, r0, 0x1 - ldr r0, =gUnknown_0860EA34 - lsls r1, 2 - adds r1, r0 - lsls r2, 3 - ldr r0, [r1] - adds r0, r2 -_081969D0: - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8196910 - - thumb_func_start sub_81969E0 -sub_81969E0: @ 81969E0 - push {r4,r5,lr} - adds r4, r1, 0 - adds r5, r2, 0 - adds r1, r4, 0x4 - bl sub_81969FC - ldr r1, [r4] - adds r0, r5, 0 - bl StringExpandPlaceholders - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81969E0 - - thumb_func_start sub_81969FC -sub_81969FC: @ 81969FC - push {r4-r7,lr} - adds r7, r0, 0 - adds r6, r1, 0 - movs r4, 0 - ldr r5, =gUnknown_0860EFA0 -_08196A06: - adds r1, r6, r4 - movs r0, 0 - ldrsb r0, [r1, r0] - cmp r0, 0 - blt _08196A1A - adds r1, r0, 0 - ldr r2, [r5] - adds r0, r7, 0 - bl sub_8196A2C -_08196A1A: - adds r5, 0x4 - adds r4, 0x1 - cmp r4, 0x2 - ble _08196A06 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81969FC - - thumb_func_start sub_8196A2C -sub_8196A2C: @ 8196A2C - push {lr} - ldr r3, =gUnknown_0860EFAC - lsls r1, 2 - adds r1, r3 - ldr r3, [r1] - adds r1, r2, 0 - bl _call_via_r3 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8196A2C - - thumb_func_start sub_8196A44 -sub_8196A44: @ 8196A44 - push {r4-r6,lr} - adds r5, r1, 0 - ldr r2, =gUnknown_0860DEB8 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrh r4, [r1] - movs r2, 0 - ldr r3, =gUnknown_0860EFC4 - adds r6, r3, 0 -_08196A5A: - lsls r1, r2, 3 - ldrh r0, [r3] - cmp r0, r4 - bne _08196A78 - adds r0, r6, 0x4 - adds r0, r1, r0 - ldr r1, [r0] - adds r0, r5, 0 - bl StringCopy - b _08196A90 - .pool -_08196A78: - adds r3, 0x8 - adds r2, 0x1 - cmp r2, 0x5 - bls _08196A5A - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - ldr r0, =gTrainers + 0x4 @ name offset - adds r1, r0 - adds r0, r5, 0 - bl StringCopy -_08196A90: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8196A44 - - thumb_func_start sub_8196A9C -sub_8196A9C: @ 8196A9C - push {r4,lr} - adds r4, r1, 0 - bl sub_819672C - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - movs r2, 0 - bl GetMapName - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8196A9C - - thumb_func_start sub_8196AB8 -sub_8196AB8: @ 8196AB8 - push {lr} - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x13 - bgt _08196AD4 - movs r0, 0 - b _08196B4A -_08196AD4: - adds r0, r1, 0 - subs r0, 0x14 - cmp r0, 0x13 - bhi _08196AE0 - movs r0, 0x1 - b _08196B4A -_08196AE0: - adds r0, r1, 0 - subs r0, 0x28 - cmp r0, 0x9 - bhi _08196AEC - movs r0, 0x2 - b _08196B4A -_08196AEC: - adds r0, r1, 0 - subs r0, 0x32 - cmp r0, 0x9 - bhi _08196AF8 - movs r0, 0x3 - b _08196B4A -_08196AF8: - adds r0, r1, 0 - subs r0, 0x3C - cmp r0, 0x9 - bhi _08196B04 - movs r0, 0x4 - b _08196B4A -_08196B04: - adds r0, r1, 0 - subs r0, 0x46 - cmp r0, 0x9 - bhi _08196B10 - movs r0, 0x5 - b _08196B4A -_08196B10: - adds r0, r1, 0 - subs r0, 0x50 - cmp r0, 0x4 - bhi _08196B1C - movs r0, 0x6 - b _08196B4A -_08196B1C: - adds r0, r1, 0 - subs r0, 0x55 - cmp r0, 0x4 - bhi _08196B28 - movs r0, 0x7 - b _08196B4A -_08196B28: - adds r0, r1, 0 - subs r0, 0x5A - cmp r0, 0x3 - bhi _08196B34 - movs r0, 0x8 - b _08196B4A -_08196B34: - adds r0, r1, 0 - subs r0, 0x5E - cmp r0, 0x3 - bhi _08196B40 - movs r0, 0x9 - b _08196B4A -_08196B40: - cmp r1, 0x62 - beq _08196B48 - movs r0, 0xB - b _08196B4A -_08196B48: - movs r0, 0xA -_08196B4A: - pop {r1} - bx r1 - thumb_func_end sub_8196AB8 - - thumb_func_start sub_8196B50 -sub_8196B50: @ 8196B50 - push {lr} - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x3B - bgt _08196B6C - movs r0, 0 - b _08196B92 -_08196B6C: - adds r0, r1, 0 - subs r0, 0x3C - cmp r0, 0x1D - bhi _08196B78 - movs r0, 0x1 - b _08196B92 -_08196B78: - adds r0, r1, 0 - subs r0, 0x5A - cmp r0, 0x4 - bhi _08196B84 - movs r0, 0x2 - b _08196B92 -_08196B84: - adds r0, r1, 0 - subs r0, 0x5F - cmp r0, 0x3 - bls _08196B90 - movs r0, 0x4 - b _08196B92 -_08196B90: - movs r0, 0x3 -_08196B92: - pop {r1} - bx r1 - thumb_func_end sub_8196B50 - - thumb_func_start sub_8196B98 -sub_8196B98: @ 8196B98 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r2, r0, 0 - mov r8, r1 - movs r3, 0 - ldr r0, =gWildMonHeaders - ldrb r1, [r0] - adds r7, r0, 0 - cmp r1, 0xFF - beq _08196C5C - ldr r1, =gRematchTable - lsls r0, r2, 4 - adds r2, r0, r1 - ldrh r4, [r2, 0xA] - adds r1, r7, 0 -_08196BBA: - ldrb r0, [r1] - cmp r0, r4 - bne _08196BC8 - ldrb r0, [r1, 0x1] - ldrh r5, [r2, 0xC] - cmp r0, r5 - beq _08196BD2 -_08196BC8: - adds r1, 0x14 - adds r3, 0x1 - ldrb r0, [r1] - cmp r0, 0xFF - bne _08196BBA -_08196BD2: - adds r1, r7, 0 - lsls r0, r3, 2 - adds r0, r3 - lsls r5, r0, 2 - adds r0, r5, r1 - ldrb r0, [r0] - cmp r0, 0xFF - beq _08196C5C - movs r6, 0 - adds r0, r1, 0x4 - adds r0, r5, r0 - ldr r4, [r0] - cmp r4, 0 - beq _08196C02 - bl sub_8196AB8 - lsls r0, 24 - mov r2, sp - ldr r1, [r4, 0x4] - lsrs r0, 22 - adds r0, r1 - ldrh r0, [r0, 0x2] - strh r0, [r2] - movs r6, 0x1 -_08196C02: - adds r0, r7, 0 - adds r0, 0x8 - adds r0, r5, r0 - ldr r4, [r0] - cmp r4, 0 - beq _08196C26 - bl sub_8196B50 - lsls r0, 24 - lsls r1, r6, 1 - mov r3, sp - adds r2, r3, r1 - ldr r1, [r4, 0x4] - lsrs r0, 22 - adds r0, r1 - ldrh r0, [r0, 0x2] - strh r0, [r2] - adds r6, 0x1 -_08196C26: - cmp r6, 0 - beq _08196C5C - bl Random - lsls r0, 16 - lsrs r0, 16 - adds r1, r6, 0 - bl __modsi3 - lsls r0, 1 - add r0, sp - ldrh r1, [r0] - movs r0, 0xB - muls r1, r0 - ldr r0, =gSpeciesNames - adds r1, r0 - mov r0, r8 - bl StringCopy - b _08196C62 - .pool -_08196C5C: - movs r0, 0xFF - mov r5, r8 - strb r0, [r5] -_08196C62: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8196B98 - - thumb_func_start sub_8196C70 -sub_8196C70: @ 8196C70 - push {r4-r7,lr} - adds r7, r1, 0 - ldr r2, =gUnknown_0860DEB8 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r1] - bl GetLastBeatenRematchTrainerId - lsls r0, 16 - lsrs r0, 16 - ldr r5, =gTrainers - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r0, r5, 0 - adds r0, 0x24 - adds r0, r4, r0 - ldr r6, [r0] - bl Random - lsls r0, 16 - lsrs r0, 16 - adds r4, r5 - adds r1, r4, 0 - adds r1, 0x20 - ldrb r1, [r1] - bl __modsi3 - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r4] - cmp r1, 0x1 - beq _08196CD4 - cmp r1, 0x1 - ble _08196CC2 - cmp r1, 0x2 - beq _08196CD0 - cmp r1, 0x3 - beq _08196CD4 -_08196CC2: - lsls r0, 3 - b _08196CD6 - .pool -_08196CD0: - lsls r0, 3 - b _08196CD6 -_08196CD4: - lsls r0, 4 -_08196CD6: - adds r0, r6 - ldrh r1, [r0, 0x4] - movs r0, 0xB - muls r1, r0 - ldr r0, =gSpeciesNames - adds r1, r0 - adds r0, r7, 0 - bl StringCopy - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8196C70 - - thumb_func_start sub_8196CF4 -sub_8196CF4: @ 8196CF4 - push {lr} - adds r0, r1, 0 - ldr r2, =gUnknown_0860EFF4 - ldr r1, =gUnknown_0203CD88 - ldrh r1, [r1] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - pop {r0} - bx r0 - .pool - thumb_func_end sub_8196CF4 - - thumb_func_start sub_8196D14 -sub_8196D14: @ 8196D14 - push {r4-r6,lr} - adds r5, r1, 0 - movs r4, 0 - ldr r0, =gUnknown_0203CD88 - ldrh r1, [r0, 0x2] - adds r6, r0, 0 - cmp r1, 0 - beq _08196D34 -_08196D24: - adds r0, r1, 0 - movs r1, 0xA - bl __divsi3 - adds r1, r0, 0 - adds r4, 0x1 - cmp r1, 0 - bne _08196D24 -_08196D34: - ldrh r1, [r6, 0x2] - lsls r3, r4, 24 - lsrs r3, 24 - adds r0, r5, 0 - movs r2, 0 - bl ConvertIntToDecimalStringN - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8196D14 - - thumb_func_start sub_8196D4C -sub_8196D4C: @ 8196D4C - push {r4,r5,lr} - movs r4, 0 - ldr r5, =gUnknown_0860F010 - b _08196D5C - .pool -_08196D58: - adds r5, 0x2 - adds r4, 0x1 -_08196D5C: - cmp r4, 0x7 - bhi _08196D6C - ldrh r0, [r5] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _08196D58 -_08196D6C: - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8196D4C - - thumb_func_start sub_8196D74 -sub_8196D74: @ 8196D74 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r7, r0, 0 - bl sub_8196D4C - cmp r0, 0x4 - ble _08196DF4 - bl RtcGetLocalDayCount - adds r4, r0, 0 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - adds r0, 0xA - bl GetTrainerId - adds r6, r0, 0 - ldr r0, =0x0000ffff - ands r6, r0 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00002e6a - adds r0, r1 - ldrh r5, [r0] - bl sub_8196748 - mov r9, r0 - movs r0, 0xD - mov r1, r9 - muls r1, r0 - adds r0, r1, 0 - movs r1, 0xA - bl __divsi3 - mov r8, r0 - movs r0, 0x9 - bl GetGameStat - eors r4, r5 - eors r5, r0 - adds r4, r5 - eors r4, r6 - adds r0, r4, 0 - mov r1, r8 - bl __modsi3 - cmp r0, r9 - bge _08196DF4 - bl sub_8196774 - cmp r0, r7 - bne _08196DF4 - movs r0, 0x1 - b _08196DF6 - .pool -_08196DF4: - movs r0, 0 -_08196DF6: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8196D74 - - thumb_func_start sub_8196E04 -sub_8196E04: @ 8196E04 - push {r4-r6,lr} - adds r5, r1, 0 - lsls r0, 16 - lsrs r0, 16 - movs r4, 0 - cmp r0, 0x6 - bls _08196E14 - b _08196F7E -_08196E14: - lsls r0, 2 - ldr r1, =_08196E24 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08196E24: - .4byte _08196E9C - .4byte _08196E40 - .4byte _08196ED0 - .4byte _08196F38 - .4byte _08196E74 - .4byte _08196F04 - .4byte _08196F60 -_08196E40: - movs r3, 0 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000d14 - adds r0, r1 -_08196E4A: - lsls r1, r3, 2 - adds r3, 0x1 - adds r1, r0 - movs r2, 0x1 -_08196E52: - ldrh r6, [r1] - cmp r4, r6 - bcs _08196E5A - ldrh r4, [r1] -_08196E5A: - adds r1, 0x2 - subs r2, 0x1 - cmp r2, 0 - bge _08196E52 - cmp r3, 0x1 - ble _08196E4A - movs r0, 0x3 - b _08196F7C - .pool -_08196E74: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000e08 - adds r0, r1 - movs r3, 0x1 -_08196E7E: - ldrh r6, [r0] - cmp r4, r6 - bcs _08196E86 - ldrh r4, [r0] -_08196E86: - adds r0, 0x2 - subs r3, 0x1 - cmp r3, 0 - bge _08196E7E - movs r0, 0x4 - b _08196F7C - .pool -_08196E9C: - movs r3, 0 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - movs r1, 0xCF - lsls r1, 4 - adds r0, r1 -_08196EA8: - lsls r1, r3, 2 - adds r3, 0x1 - adds r1, r0 - movs r2, 0x1 -_08196EB0: - ldrh r6, [r1] - cmp r4, r6 - bcs _08196EB8 - ldrh r4, [r1] -_08196EB8: - adds r1, 0x2 - subs r2, 0x1 - cmp r2, 0 - bge _08196EB0 - movs r2, 0x2 - cmp r3, 0x3 - ble _08196EA8 - str r2, [r5] - b _08196F7E - .pool -_08196ED0: - movs r3, 0 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - movs r1, 0xDD - lsls r1, 4 - adds r0, r1 -_08196EDC: - lsls r1, r3, 2 - adds r3, 0x1 - adds r1, r0 - movs r2, 0x1 -_08196EE4: - ldrh r6, [r1] - cmp r4, r6 - bcs _08196EEC - ldrh r4, [r1] -_08196EEC: - adds r1, 0x2 - subs r2, 0x1 - cmp r2, 0 - bge _08196EE4 - movs r2, 0x2 - cmp r3, 0x1 - ble _08196EDC - str r2, [r5] - b _08196F7E - .pool -_08196F04: - movs r3, 0 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000dea - adds r0, r1 -_08196F0E: - lsls r1, r3, 2 - adds r3, 0x1 - adds r1, r0 - movs r2, 0x1 -_08196F16: - ldrh r6, [r1] - cmp r4, r6 - bcs _08196F1E - ldrh r4, [r1] -_08196F1E: - adds r1, 0x2 - subs r2, 0x1 - cmp r2, 0 - bge _08196F16 - movs r2, 0x2 - cmp r3, 0x1 - ble _08196F0E - str r2, [r5] - b _08196F7E - .pool -_08196F38: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000dde - adds r0, r1 - movs r3, 0x1 -_08196F42: - ldrh r6, [r0] - cmp r4, r6 - bcs _08196F4A - ldrh r4, [r0] -_08196F4A: - adds r0, 0x2 - subs r3, 0x1 - cmp r3, 0 - bge _08196F42 - movs r3, 0x2 - str r3, [r5] - b _08196F7E - .pool -_08196F60: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000e1e - adds r0, r1 - movs r3, 0x1 -_08196F6A: - ldrh r6, [r0] - cmp r4, r6 - bcs _08196F72 - ldrh r4, [r0] -_08196F72: - adds r0, 0x2 - subs r3, 0x1 - cmp r3, 0 - bge _08196F6A - movs r0, 0x5 -_08196F7C: - str r0, [r5] -_08196F7E: - adds r0, r4, 0 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8196E04 - - thumb_func_start sub_8196F90 -sub_8196F90: @ 8196F90 - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x9 - bhi _08196F9E - movs r0, 0 - b _0819707A -_08196F9E: - cmp r4, 0x13 - bhi _08196FA6 - movs r0, 0x1 - b _0819707A -_08196FA6: - cmp r4, 0x1D - bhi _08196FAE - movs r0, 0x2 - b _0819707A -_08196FAE: - cmp r4, 0x27 - bhi _08196FB6 - movs r0, 0x3 - b _0819707A -_08196FB6: - cmp r4, 0x31 - bhi _08196FBE - movs r0, 0x4 - b _0819707A -_08196FBE: - cmp r4, 0x3B - bhi _08196FC6 - movs r0, 0x5 - b _0819707A -_08196FC6: - cmp r4, 0x45 - bhi _08196FCE - movs r0, 0x6 - b _0819707A -_08196FCE: - cmp r4, 0x4F - bhi _08196FD6 - movs r0, 0x7 - b _0819707A -_08196FD6: - cmp r4, 0x59 - bhi _08196FDE - movs r0, 0x8 - b _0819707A -_08196FDE: - cmp r4, 0x63 - bhi _08196FE6 - movs r0, 0x9 - b _0819707A -_08196FE6: - cmp r4, 0x6D - bhi _08196FEE - movs r0, 0xA - b _0819707A -_08196FEE: - cmp r4, 0x77 - bhi _08196FF6 - movs r0, 0xB - b _0819707A -_08196FF6: - cmp r4, 0x81 - bhi _08196FFE - movs r0, 0xC - b _0819707A -_08196FFE: - cmp r4, 0x8B - bhi _08197006 - movs r0, 0xD - b _0819707A -_08197006: - cmp r4, 0x95 - bhi _0819700E - movs r0, 0xE - b _0819707A -_0819700E: - cmp r4, 0x9F - bhi _08197016 - movs r0, 0xF - b _0819707A -_08197016: - cmp r4, 0xA9 - bhi _0819701E - movs r0, 0x10 - b _0819707A -_0819701E: - cmp r4, 0xB3 - bhi _08197026 - movs r0, 0x11 - b _0819707A -_08197026: - cmp r4, 0xBD - bhi _0819702E - movs r0, 0x12 - b _0819707A -_0819702E: - cmp r4, 0xC7 - bls _08197078 - movs r0, 0xCD - lsls r0, 1 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - bl GetSetPokedexFlag - lsls r0, 24 - cmp r0, 0 - beq _08197050 - subs r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 -_08197050: - ldr r0, =0x00000199 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - bl GetSetPokedexFlag - lsls r0, 24 - cmp r0, 0 - beq _0819706C - subs r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 -_0819706C: - cmp r4, 0xC7 - bls _08197078 - movs r0, 0x14 - b _0819707A - .pool -_08197078: - movs r0, 0x13 -_0819707A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8196F90 - - thumb_func_start sub_8197080 -sub_8197080: @ 8197080 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r8, r0 - movs r0, 0xFA - lsls r0, 2 - bl Alloc - adds r7, r0, 0 - cmp r7, 0 - bne _081970A2 - movs r0, 0xFF - mov r1, r8 - strb r0, [r1] - b _0819715C -_081970A2: - movs r0, 0 - bl GetHoennPokedexCount - lsls r0, 16 - lsrs r4, r0, 16 - movs r0, 0x1 - bl GetHoennPokedexCount - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, =gStringVar1 - mov r10, r0 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r1, =gStringVar2 - mov r9, r1 - mov r0, r9 - adds r1, r6, 0 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r0, r6, 0 - bl sub_8196F90 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, =gUnknown_082A5C9C - adds r0, r7, 0 - bl StringCopy - adds r5, r0, 0 - movs r6, 0xFB - strb r6, [r5] - adds r5, 0x1 - ldr r1, =gUnknown_082A5D2C - adds r0, r5, 0 - bl StringCopy - adds r5, r0, 0 - strb r6, [r5] - adds r5, 0x1 - ldr r0, =gUnknown_0860F020 - lsls r4, 2 - adds r4, r0 - ldr r1, [r4] - adds r0, r5, 0 - bl StringCopy - mov r0, r8 - adds r1, r7, 0 - bl StringExpandPlaceholders - adds r5, r0, 0 - bl IsNationalPokedexEnabled - cmp r0, 0 - beq _08197156 - strb r6, [r5] - adds r5, 0x1 - movs r0, 0 - bl GetNationalPokedexCount - lsls r0, 16 - lsrs r4, r0, 16 - movs r0, 0x1 - bl GetNationalPokedexCount - lsls r0, 16 - lsrs r6, r0, 16 - mov r0, r10 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - mov r0, r9 - adds r1, r6, 0 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r1, =gUnknown_082A633D - adds r0, r5, 0 - bl StringExpandPlaceholders -_08197156: - adds r0, r7, 0 - bl Free -_0819715C: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - - thumb_func_end sub_8197080 - thumb_func_start sub_8197184 -sub_8197184: @ 8197184 - push {r4,r5,lr} - adds r4, r1, 0 - adds r5, r2, 0 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl GetWindowAttribute - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_0860EA6C - movs r2, 0x80 - lsls r2, 1 - lsls r4, 16 - lsrs r4, 16 - adds r3, r4, 0 - bl LoadBgTiles - ldr r0, =gUnknown_0860EA4C - lsls r5, 20 - lsrs r5, 16 - adds r1, r5, 0 - movs r2, 0x20 - bl LoadPalette - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8197184 - - thumb_func_start sub_81971C4 -sub_81971C4: @ 81971C4 - push {lr} - bl sub_819645C - pop {r0} - bx r0 - thumb_func_end sub_81971C4 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/contest_link_80F57C4.s b/asm/contest_link_80F57C4.s index ec962c71d9..d732936485 100644 --- a/asm/contest_link_80F57C4.s +++ b/asm/contest_link_80F57C4.s @@ -5,3144 +5,6 @@ .text - thumb_func_start sub_80F57C4 -sub_80F57C4: @ 80F57C4 - push {r4,lr} - movs r0, 0 - movs r1, 0x40 - bl SetGpuReg - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_0858D888 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - movs r4, 0 -_080F57E0: - lsls r0, r4, 24 - lsrs r0, 24 - ldr r1, =gUnknown_0203A034 - ldr r1, [r1] - lsls r2, r4, 2 - adds r1, 0xC - adds r1, r2 - ldr r1, [r1] - bl SetBgTilemapBuffer - adds r4, 0x1 - cmp r4, 0x3 - ble _080F57E0 - ldr r0, =gUnknown_0858D898 - bl InitWindows - bl DeactivateAllTextPrinters - movs r0, 0x4C - movs r1, 0 - bl SetGpuReg - ldr r1, =0x00003f3f - movs r0, 0x48 - bl SetGpuReg - ldr r1, =0x00003f2e - movs r0, 0x4A - bl SetGpuReg - movs r0, 0x40 - movs r1, 0 - bl SetGpuReg - movs r0, 0x44 - movs r1, 0 - bl SetGpuReg - movs r0, 0x42 - movs r1, 0 - bl SetGpuReg - movs r0, 0x46 - movs r1, 0 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - movs r0, 0x10 - movs r1, 0 - bl SetGpuReg - movs r0, 0x12 - movs r1, 0 - bl SetGpuReg - movs r0, 0x14 - movs r1, 0 - bl SetGpuReg - movs r0, 0x16 - movs r1, 0 - bl SetGpuReg - movs r0, 0x18 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1A - movs r1, 0 - bl SetGpuReg - movs r0, 0x1C - movs r1, 0 - bl SetGpuReg - movs r0, 0x1E - movs r1, 0 - bl SetGpuReg - movs r1, 0xFF - lsls r1, 8 - movs r0, 0 - bl SetGpuRegBits - ldr r0, =gBattle_BG0_X - movs r1, 0 - strh r1, [r0] - ldr r0, =gBattle_BG0_Y - strh r1, [r0] - ldr r0, =gBattle_BG1_X - strh r1, [r0] - ldr r0, =gBattle_BG1_Y - strh r1, [r0] - ldr r0, =gBattle_BG2_X - strh r1, [r0] - ldr r0, =gBattle_BG2_Y - strh r1, [r0] - ldr r0, =gBattle_BG3_X - strh r1, [r0] - ldr r0, =gBattle_BG3_Y - strh r1, [r0] - ldr r0, =gBattle_WIN0H - strh r1, [r0] - ldr r0, =gBattle_WIN0V - strh r1, [r0] - ldr r0, =gBattle_WIN1H - strh r1, [r0] - ldr r0, =gBattle_WIN1V - strh r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F57C4 - - thumb_func_start sub_80F591C -sub_80F591C: @ 80F591C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - ldr r0, =gUnknown_08C19588 - movs r1, 0xC0 - lsls r1, 19 - bl LZDecompressVram - ldr r1, =gUnknown_08C1A12C - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - ldr r1, =gUnknown_08C1A000 - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - ldr r1, =gUnknown_08C19EEC - movs r0, 0 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - bl sub_80F71C8 - ldr r0, =gUnknown_08C1A2B4 - movs r2, 0x80 - lsls r2, 2 - movs r1, 0 - bl LoadCompressedPalette - ldr r0, =gUnknown_0858D6B0 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - movs r7, 0 - movs r0, 0x1 - mov r8, r0 -_080F5976: - lsls r5, r7, 24 - lsrs r5, 24 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_80F7310 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_80F7364 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x8] - movs r6, 0 - lsls r1, r7, 1 - adds r2, r7, 0x1 - str r2, [sp, 0xC] - lsls r4, 24 - asrs r4, 24 - mov r10, r4 - adds r1, r7 - adds r0, r1, 0x6 - lsls r0, 24 - mov r9, r0 - adds r1, 0x5 - lsls r7, r1, 24 -_080F59B0: - ldr r1, =0x000060b2 - cmp r6, r10 - bge _080F59B8 - adds r1, 0x2 -_080F59B8: - ldr r4, [sp, 0x8] - lsls r0, r4, 24 - asrs r0, 24 - adds r2, r0, 0 - cmp r0, 0 - bge _080F59C6 - negs r2, r0 -_080F59C6: - cmp r6, r2 - bge _080F59F4 - ldr r5, =0x000060a4 - cmp r0, 0 - bge _080F59F6 - adds r5, 0x2 - b _080F59F6 - .pool -_080F59F4: - ldr r5, =0x000060a2 -_080F59F6: - adds r4, r6, 0 - adds r4, 0x13 - lsls r4, 24 - lsrs r4, 24 - mov r0, r8 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x1 - adds r2, r4, 0 - lsrs r3, r7, 24 - bl FillBgTilemapBufferRect_Palette0 - mov r2, r8 - str r2, [sp] - str r2, [sp, 0x4] - movs r0, 0x1 - adds r1, r5, 0 - adds r2, r4, 0 - mov r4, r9 - lsrs r3, r4, 24 - bl FillBgTilemapBufferRect_Palette0 - adds r6, 0x1 - cmp r6, 0x9 - ble _080F59B0 - ldr r7, [sp, 0xC] - cmp r7, 0x3 - ble _080F5976 - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F591C - - thumb_func_start sub_80F5A74 -sub_80F5A74: @ 80F5A74 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r1, r5, 6 - ldr r0, =gContestMons - adds r7, r1, r0 - ldr r6, =gDisplayedStringBattle - ldr r0, =gContestPlayerMonIndex - ldrb r0, [r0] - cmp r5, r0 - bne _080F5A96 - ldr r1, =gText_ColorDarkGrey - adds r0, r6, 0 - bl StringCopy - adds r6, r0, 0 -_080F5A96: - adds r1, r7, 0x2 - adds r0, r6, 0 - bl StringCopy - ldr r4, =gDisplayedStringBattle - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0 - bl sub_80F7ED0 - ldr r1, =gText_Slash - adds r0, r6, 0 - bl StringCopy - adds r1, r7, 0 - adds r1, 0xD - adds r0, r6, 0 - bl StringAppend - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x32 - bl sub_80F7ED0 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F5A74 - - thumb_func_start sub_80F5AE0 -sub_80F5AE0: @ 80F5AE0 - push {r4,lr} - movs r4, 0 -_080F5AE4: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_80F5A74 - adds r4, 0x1 - cmp r4, 0x3 - ble _080F5AE4 - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80F5AE0 - - thumb_func_start sub_80F5B00 -sub_80F5B00: @ 80F5B00 - push {r4-r6,lr} - sub sp, 0x4 - ldr r5, =gPaletteFade - ldrb r0, [r5, 0x8] - movs r6, 0x80 - orrs r0, r6 - strb r0, [r5, 0x8] - movs r0, 0 - bl SetVBlankCallback - bl sub_80F7DF4 - bl sub_80F57C4 - bl ScanlineEffect_Clear - bl ResetPaletteFade - bl ResetSpriteData - bl ResetTasks - bl FreeAllSpritePalettes - bl sub_80F591C - bl sub_80F6A9C - movs r0, 0 - movs r1, 0x1 - bl sub_80F6A64 - bl sub_80F5AE0 - ldr r4, =gUnknown_0203A034 - ldr r0, [r4] - ldr r0, [r0] - movs r1, 0 - movs r2, 0x18 - bl memset - ldr r0, [r4] - ldr r0, [r0, 0x4] - movs r1, 0 - movs r2, 0x50 - bl memset - bl sub_80F6DC0 - bl sub_80F6AE8 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldrb r1, [r5, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r5, 0x8] - ldr r0, =sub_80F5CE4 - movs r1, 0x5 - bl CreateTask - ldr r1, [r4] - ldr r1, [r1] - strb r0, [r1, 0x2] - ldr r0, =sub_80F5C00 - bl SetMainCallback2 - ldr r1, =gBattle_WIN1H - movs r0, 0xF0 - strh r0, [r1] - ldr r1, =gBattle_WIN1V - ldr r2, =0x000080a0 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, =sub_80F68B4 - movs r1, 0x14 - bl CreateTask - bl sub_80F7880 - ldr r0, =gIsLinkContest - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080F5BE4 - ldrb r0, [r5, 0x8] - orrs r0, r6 - strb r0, [r5, 0x8] - b _080F5BEC - .pool -_080F5BE4: - movs r0, 0xDF - lsls r0, 1 - bl PlayBGM -_080F5BEC: - ldr r0, =sub_80F5C24 - bl SetVBlankCallback - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F5B00 - - thumb_func_start sub_80F5C00 -sub_80F5C00: @ 80F5C00 - push {lr} - bl AnimateSprites - bl BuildOamBuffer - bl RunTasks - bl UpdatePaletteFade - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - pop {r0} - bx r0 - thumb_func_end sub_80F5C00 - - thumb_func_start sub_80F5C24 -sub_80F5C24: @ 80F5C24 - push {lr} - ldr r0, =gBattle_BG0_X - ldrh r1, [r0] - movs r0, 0x10 - bl SetGpuReg - ldr r0, =gBattle_BG0_Y - ldrh r1, [r0] - movs r0, 0x12 - bl SetGpuReg - ldr r0, =gBattle_BG1_X - ldrh r1, [r0] - movs r0, 0x14 - bl SetGpuReg - ldr r0, =gBattle_BG1_Y - ldrh r1, [r0] - movs r0, 0x16 - bl SetGpuReg - ldr r0, =gBattle_BG2_X - ldrh r1, [r0] - movs r0, 0x18 - bl SetGpuReg - ldr r0, =gBattle_BG2_Y - ldrh r1, [r0] - movs r0, 0x1A - bl SetGpuReg - ldr r0, =gBattle_BG3_X - ldrh r1, [r0] - movs r0, 0x1C - bl SetGpuReg - ldr r0, =gBattle_BG3_Y - ldrh r1, [r0] - movs r0, 0x1E - bl SetGpuReg - ldr r0, =gBattle_WIN0H - ldrh r1, [r0] - movs r0, 0x40 - bl SetGpuReg - ldr r0, =gBattle_WIN0V - ldrh r1, [r0] - movs r0, 0x44 - bl SetGpuReg - ldr r0, =gBattle_WIN1H - ldrh r1, [r0] - movs r0, 0x42 - bl SetGpuReg - ldr r0, =gBattle_WIN1V - ldrh r1, [r0] - movs r0, 0x46 - bl SetGpuReg - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - bl ScanlineEffect_InitHBlankDmaTransfer - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F5C24 - - thumb_func_start sub_80F5CE4 -sub_80F5CE4: @ 80F5CE4 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r3, =gIsLinkContest - ldrb r1, [r3] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080F5CF8 - b _080F5E2E -_080F5CF8: - ldr r2, =gTasks - lsls r1, r6, 2 - adds r0, r1, r6 - lsls r0, 3 - adds r4, r0, r2 - movs r2, 0x8 - ldrsh r0, [r4, r2] - adds r7, r1, 0 - cmp r0, 0x1 - beq _080F5DE0 - cmp r0, 0x1 - bgt _080F5D20 - cmp r0, 0 - beq _080F5D2A - b _080F5E2E - .pool -_080F5D20: - cmp r0, 0x2 - beq _080F5DF4 - cmp r0, 0x3 - beq _080F5E0A - b _080F5E2E -_080F5D2A: - bl sub_80DBED4 - ldr r1, =gContestFinalStandings - ldr r0, =gContestPlayerMonIndex - ldrb r0, [r0] - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080F5D58 - movs r0, 0x23 - bl IncrementGameStat - ldr r1, =gSpecialVar_0x8005 - movs r0, 0x8 - strh r0, [r1] - bl InterviewBefore - ldr r0, =gSpecialVar_Result - ldrh r0, [r0] - cmp r0, 0x1 - beq _080F5D58 - bl InterviewAfter -_080F5D58: - movs r0, 0x2 - bl sub_813BADC - ldr r0, =gSpecialVar_ContestRank - ldrb r0, [r0] - bl sub_80DEDA8 - movs r0, 0xFE - bl sub_80DEDA8 - ldr r1, =gUnknown_02039F5C - movs r0, 0x1 - strb r0, [r1] - movs r0, 0xFE - movs r1, 0 - bl sub_80DEFA8 - ldr r1, =gUnknown_02039F5D - strb r0, [r1] - ldr r5, =0x00004086 - adds r0, r5, 0 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - movs r1, 0 - bl VarSet - bl SetContinueGameWarpStatusToDynamicWarp - movs r0, 0x1 - bl TrySavingData - bl ClearContinueGameWarpStatus2 - adds r0, r5, 0 - adds r1, r4, 0 - bl VarSet - ldr r0, =gTasks - adds r1, r7, r6 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _080F5E2E - .pool -_080F5DE0: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - ldrb r1, [r3] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _080F5E2E - movs r0, 0x64 - b _080F5E2C -_080F5DF4: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _080F5EBA - bl sub_800ADF8 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080F5EBA -_080F5E0A: - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080F5EBA - movs r0, 0xDF - lsls r0, 1 - bl PlayBGM - ldr r2, =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - ldrh r0, [r4, 0x8] - adds r0, 0x1 -_080F5E2C: - strh r0, [r4, 0x8] -_080F5E2E: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - bne _080F5EBA - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r4, r0, r1 - strh r2, [r4, 0x8] - ldr r0, =gIsLinkContest - ldrb r1, [r0] - movs r5, 0x1 - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - beq _080F5E78 - ldr r0, =gText_CommunicationStandby - bl sub_80F707C - ldr r0, =sub_80F5ED8 - b _080F5EB8 - .pool -_080F5E78: - movs r0, 0x24 - bl IncrementGameStat - ldr r1, =gContestFinalStandings - ldr r0, =gContestPlayerMonIndex - ldrb r0, [r0] - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080F5E92 - movs r0, 0x25 - bl IncrementGameStat -_080F5E92: - ldr r0, =gSpecialVar_ContestRank - ldrb r0, [r0] - bl sub_80DEDA8 - movs r0, 0xFE - bl sub_80DEDA8 - ldr r0, =gUnknown_02039F5C - strb r5, [r0] - movs r0, 0xFE - movs r1, 0 - bl sub_80DEFA8 - ldr r1, =gUnknown_02039F5D - strb r0, [r1] - movs r0, 0x2 - bl sub_813BADC - ldr r0, =sub_80F5F74 -_080F5EB8: - str r0, [r4] -_080F5EBA: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F5CE4 - - thumb_func_start sub_80F5ED8 -sub_80F5ED8: @ 80F5ED8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _080F5EFC - ldr r0, =sub_80F5F14 - movs r1, 0 - bl CreateTask - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =TaskDummy - str r1, [r0] -_080F5EFC: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F5ED8 - - thumb_func_start sub_80F5F14 -sub_80F5F14: @ 80F5F14 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =sub_80FC998 - ldr r2, =sub_80F5F30 - bl SetTaskFuncWithFollowupFunc - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F5F14 - - thumb_func_start sub_80F5F30 -sub_80F5F30: @ 80F5F30 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _080F5F60 - adds r0, r4, 0 - bl DestroyTask - ldr r2, =gTasks - ldr r0, =gUnknown_0203A034 - ldr r0, [r0] - ldr r0, [r0] - ldrb r1, [r0, 0x2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldr r1, =sub_80F5F74 - str r1, [r0] - bl sub_80F7144 -_080F5F60: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F5F30 - - thumb_func_start sub_80F5F74 -sub_80F5F74: @ 80F5F74 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r1, [r4, 0x8] - movs r2, 0x8 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _080F5FC4 - ldr r0, =sub_80F68F0 - movs r1, 0x14 - bl CreateTask - ldr r0, =gText_AnnouncingResults - ldr r1, =gUnknown_0203A034 - ldr r1, [r1] - ldr r1, [r1] - ldrb r1, [r1] - bl sub_80F6B78 - lsls r0, 16 - asrs r0, 16 - movs r3, 0x88 - lsls r3, 3 - movs r1, 0x90 - movs r2, 0x78 - b _080F6016 - .pool -_080F5FC4: - cmp r0, 0x1 - bne _080F5FDC - ldr r0, =gUnknown_0203A034 - ldr r0, [r0] - ldr r0, [r0] - ldrb r0, [r0, 0x4] - cmp r0, 0 - bne _080F6048 - b _080F5FF0 - .pool -_080F5FDC: - cmp r0, 0x2 - bne _080F5FF8 - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x15 - bne _080F6048 - movs r0, 0 -_080F5FF0: - strh r0, [r4, 0xA] - adds r0, r1, 0x1 - strh r0, [r4, 0x8] - b _080F6048 -_080F5FF8: - cmp r0, 0x3 - bne _080F6030 - ldr r0, =gText_PreliminaryResults - ldr r1, =gUnknown_0203A034 - ldr r1, [r1] - ldr r1, [r1] - ldrb r1, [r1] - bl sub_80F6B78 - lsls r0, 16 - asrs r0, 16 - ldr r2, =0x0000ffff - movs r3, 0x88 - lsls r3, 3 - movs r1, 0x90 -_080F6016: - bl sub_80F6E9C - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080F6048 - .pool -_080F6030: - cmp r0, 0x4 - bne _080F6048 - ldr r0, =gUnknown_0203A034 - ldr r0, [r0] - ldr r0, [r0] - ldrb r0, [r0, 0x4] - cmp r0, 0x2 - bne _080F6048 - movs r0, 0 - strh r0, [r4, 0x8] - ldr r0, =sub_80F6058 - str r0, [r4] -_080F6048: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F5F74 - - thumb_func_start sub_80F6058 -sub_80F6058: @ 80F6058 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080F60C0 - cmp r0, 0x1 - bgt _080F6080 - cmp r0, 0 - beq _080F6086 - b _080F60E6 - .pool -_080F6080: - cmp r0, 0x2 - beq _080F60D4 - b _080F60E6 -_080F6086: - ldr r5, =gUnknown_0203A034 - ldr r0, [r5] - ldr r0, [r0] - ldrb r0, [r0, 0xA] - cmp r0, 0 - bne _080F60E6 - ldrh r1, [r4, 0xC] - adds r0, r1, 0x1 - strh r0, [r4, 0xC] - lsls r1, 24 - lsrs r1, 24 - movs r0, 0 - bl sub_80F7A80 - ldr r0, [r5] - ldr r0, [r0] - ldrb r0, [r0, 0x14] - cmp r0, 0 - bne _080F60B8 - movs r0, 0x2 - strh r0, [r4, 0x8] - b _080F60E6 - .pool -_080F60B8: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080F60E6 -_080F60C0: - ldr r0, =gUnknown_0203A034 - ldr r0, [r0] - ldr r0, [r0] - ldrb r0, [r0, 0x14] - cmp r0, 0 - bne _080F60E6 - strh r0, [r4, 0x8] - b _080F60E6 - .pool -_080F60D4: - movs r0, 0x88 - lsls r0, 3 - bl sub_80F6EF4 - movs r0, 0 - strh r0, [r4, 0x8] - strh r0, [r4, 0xC] - ldr r0, =sub_80F60F0 - str r0, [r4] -_080F60E6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F6058 - - thumb_func_start sub_80F60F0 -sub_80F60F0: @ 80F60F0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r2, r0, 24 - adds r4, r2, 0 - ldr r0, =gUnknown_0203A034 - ldr r5, [r0] - ldr r0, [r5] - ldrb r3, [r0, 0x4] - cmp r3, 0 - bne _080F614C - ldr r1, =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0, r1 - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x15 - bne _080F615E - strh r3, [r1, 0xA] - ldr r0, =gText_Round2Results - ldr r1, [r5] - ldrb r1, [r1] - bl sub_80F6B78 - lsls r0, 16 - asrs r0, 16 - ldr r2, =0x0000ffff - movs r3, 0x88 - lsls r3, 3 - movs r1, 0x90 - bl sub_80F6E9C - b _080F615E - .pool -_080F614C: - cmp r3, 0x2 - bne _080F615E - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80F616C - str r0, [r1] -_080F615E: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F60F0 - - thumb_func_start sub_80F616C -sub_80F616C: @ 80F616C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080F61D4 - cmp r0, 0x1 - bgt _080F6194 - cmp r0, 0 - beq _080F619A - b _080F61F8 - .pool -_080F6194: - cmp r0, 0x2 - beq _080F61E8 - b _080F61F8 -_080F619A: - ldr r5, =gUnknown_0203A034 - ldr r0, [r5] - ldr r0, [r0] - ldrb r0, [r0, 0xA] - cmp r0, 0 - bne _080F61F8 - ldrh r1, [r4, 0xC] - adds r0, r1, 0x1 - strh r0, [r4, 0xC] - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x1 - bl sub_80F7A80 - ldr r0, [r5] - ldr r0, [r0] - ldrb r0, [r0, 0x14] - cmp r0, 0 - bne _080F61CC - movs r0, 0x2 - strh r0, [r4, 0x8] - b _080F61F8 - .pool -_080F61CC: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080F61F8 -_080F61D4: - ldr r0, =gUnknown_0203A034 - ldr r0, [r0] - ldr r0, [r0] - ldrb r0, [r0, 0x14] - cmp r0, 0 - bne _080F61F8 - strh r0, [r4, 0x8] - b _080F61F8 - .pool -_080F61E8: - movs r0, 0x88 - lsls r0, 3 - bl sub_80F6EF4 - movs r0, 0 - strh r0, [r4, 0x8] - ldr r0, =sub_80F6204 - str r0, [r4] -_080F61F8: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F616C - - thumb_func_start sub_80F6204 -sub_80F6204: @ 80F6204 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x64 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r2, r1, 0 - cmp r0, 0x5 - bls _080F6226 - b _080F63F4 -_080F6226: - lsls r0, 2 - ldr r1, =_080F6238 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080F6238: - .4byte _080F6250 - .4byte _080F6274 - .4byte _080F6292 - .4byte _080F62CC - .4byte _080F6334 - .4byte _080F63E4 -_080F6250: - ldr r0, =gUnknown_0203A034 - ldr r0, [r0] - ldr r0, [r0] - ldrb r0, [r0, 0x4] - cmp r0, 0 - beq _080F625E - b _080F63F4 -_080F625E: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r2 - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - b _080F63F4 - .pool -_080F6274: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r1, r0, r2 - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1F - beq _080F628C - b _080F63F4 -_080F628C: - movs r0, 0 - strh r0, [r1, 0xA] - b _080F63BC -_080F6292: - movs r4, 0 - lsls r6, r5, 2 - ldr r7, =gTasks -_080F6298: - ldr r0, =sub_80F73DC - movs r1, 0xA - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r7 - ldr r0, =gContestFinalStandings - adds r0, r4, r0 - ldrb r0, [r0] - strh r0, [r1, 0x8] - strh r4, [r1, 0xA] - adds r4, 0x1 - cmp r4, 0x3 - ble _080F6298 - b _080F63B4 - .pool -_080F62CC: - ldr r0, =gUnknown_0203A034 - ldr r0, [r0] - ldr r0, [r0] - ldrb r0, [r0, 0x5] - cmp r0, 0x4 - beq _080F62DA - b _080F63F4 -_080F62DA: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r2 - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1F - beq _080F62F2 - b _080F63F4 -_080F62F2: - movs r0, 0 - strh r0, [r4, 0xA] - ldr r0, =sub_80F74BC - movs r1, 0xA - bl CreateTask - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r4, 0 - ldr r1, =gContestFinalStandings - ldrb r0, [r1] - cmp r0, 0 - beq _080F631C -_080F630E: - adds r4, 0x1 - cmp r4, 0x3 - bgt _080F631C - adds r0, r4, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080F630E -_080F631C: - lsls r0, r4, 24 - lsrs r0, 24 - movs r1, 0xE - bl sub_80F77E0 - b _080F63F4 - .pool -_080F6334: - lsls r1, r5, 2 - adds r0, r1, r5 - lsls r0, 3 - adds r2, r0, r2 - ldrh r0, [r2, 0xA] - adds r0, 0x1 - strh r0, [r2, 0xA] - lsls r0, 16 - asrs r0, 16 - adds r6, r1, 0 - cmp r0, 0x15 - bne _080F63F4 - movs r0, 0 - strh r0, [r2, 0xA] - movs r4, 0 - ldr r1, =gContestFinalStandings - ldrb r0, [r1] - ldr r7, =gStringVar1 - ldr r2, =gContestMons + 13 - mov r8, r2 - cmp r0, 0 - beq _080F636E -_080F6360: - adds r4, 0x1 - cmp r4, 0x3 - bgt _080F636E - adds r0, r4, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080F6360 -_080F636E: - lsls r4, 6 - mov r0, r8 - adds r1, r4, r0 - adds r0, r7, 0 - bl StringCopy - adds r0, r7, 0 - bl sub_81DB5AC - ldr r0, =gStringVar2 - mov r1, r8 - subs r1, 0xB - adds r4, r1 - adds r1, r4, 0 - bl StringCopy - ldr r1, =gText_Var1sVar2Won - mov r0, sp - bl StringExpandPlaceholders - ldr r0, =gUnknown_0203A034 - ldr r0, [r0] - ldr r0, [r0] - ldrb r1, [r0] - mov r0, sp - bl sub_80F6B78 - lsls r0, 16 - asrs r0, 16 - ldr r2, =0x0000ffff - movs r3, 0x88 - lsls r3, 3 - movs r1, 0x90 - bl sub_80F6E9C -_080F63B4: - ldr r0, =gTasks - adds r1, r6, r5 - lsls r1, 3 - adds r1, r0 -_080F63BC: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _080F63F4 - .pool -_080F63E4: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0x8] - ldr r1, =sub_80F6404 - str r1, [r0] -_080F63F4: - add sp, 0x64 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F6204 - - thumb_func_start sub_80F6404 -sub_80F6404: @ 80F6404 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r4, r1, 0 - cmp r0, 0x5 - bls _080F6428 - b _080F669C -_080F6428: - lsls r0, 2 - ldr r1, =_080F643C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080F643C: - .4byte _080F6454 - .4byte _080F658C - .4byte _080F65DC - .4byte _080F65F0 - .4byte _080F6638 - .4byte _080F667C -_080F6454: - ldr r1, =gBattle_WIN0H - movs r0, 0xF0 - strh r0, [r1] - ldr r1, =gBattle_WIN0V - ldr r3, =0x00005050 - adds r0, r3, 0 - strh r0, [r1] - movs r2, 0 - ldr r1, =gContestFinalStandings - ldrb r0, [r1] - lsls r4, r7, 2 - mov r10, r4 - ldr r3, =gContestMons - ldr r4, =gContestPlayerMonIndex - mov r9, r4 - ldr r4, =gMonFrontPicTable - mov r12, r4 - ldr r4, =gMonSpritesGfxPtr - mov r8, r4 - cmp r0, 0 - beq _080F648C -_080F647E: - adds r2, 0x1 - cmp r2, 0x3 - bgt _080F648C - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080F647E -_080F648C: - lsls r1, r2, 6 - adds r0, r1, r3 - ldrh r6, [r0] - adds r0, r3, 0 - adds r0, 0x38 - adds r0, r1, r0 - ldr r4, [r0] - adds r0, r3, 0 - adds r0, 0x3C - adds r1, r0 - ldr r5, [r1] - mov r0, r9 - ldrb r0, [r0] - cmp r2, r0 - bne _080F64E0 - lsls r0, r6, 3 - add r0, r12 - mov r2, r8 - ldr r1, [r2] - ldr r1, [r1, 0x8] - adds r2, r6, 0 - adds r3, r4, 0 - bl HandleLoadSpecialPokePic_2 - b _080F64F2 - .pool -_080F64E0: - lsls r0, r6, 3 - add r0, r12 - mov r3, r8 - ldr r1, [r3] - ldr r1, [r1, 0x8] - adds r2, r6, 0 - adds r3, r4, 0 - bl HandleLoadSpecialPokePic_DontHandleDeoxys -_080F64F2: - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl GetMonSpritePalStructFromOtIdPersonality - adds r4, r0, 0 - bl LoadCompressedSpritePalette - adds r0, r6, 0 - movs r1, 0x1 - bl SetMultiuseSpriteTemplateToPokemon - ldr r0, =gMultiuseSpriteTemplate - ldrh r1, [r4, 0x4] - strh r1, [r0, 0x2] - movs r1, 0x88 - lsls r1, 1 - movs r2, 0x50 - movs r3, 0xA - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r3, r2, r5 - strh r6, [r3, 0x30] - ldrb r4, [r3, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r4 - strb r1, [r3, 0x5] - adds r5, 0x1C - adds r2, r5 - ldr r1, =sub_80F75A8 - str r1, [r2] - ldr r1, =gUnknown_0203A034 - ldr r1, [r1] - ldr r1, [r1] - strb r0, [r1, 0x8] - ldr r0, =gUnknown_0858D878 - bl LoadCompressedSpriteSheet - ldr r0, =gUnknown_0858D880 - bl LoadCompressedSpritePalette - ldr r0, =sub_80F7670 - movs r1, 0xA - bl CreateTask - ldr r0, =gTasks - mov r4, r10 - adds r1, r4, r7 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _080F669C - .pool -_080F658C: - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r4, r0, r4 - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - beq _080F65A4 - b _080F669C -_080F65A4: - movs r0, 0 - strh r0, [r4, 0xE] - ldrh r0, [r4, 0xC] - adds r0, 0x2 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x20 - ble _080F65BA - movs r0, 0x20 - strh r0, [r4, 0xC] -_080F65BA: - ldrb r2, [r4, 0xC] - ldr r3, =gBattle_WIN0V - movs r0, 0x50 - subs r0, r2 - lsls r0, 8 - adds r1, r2, 0 - adds r1, 0x50 - orrs r0, r1 - strh r0, [r3] - cmp r2, 0x20 - bne _080F669C - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080F669C - .pool -_080F65DC: - ldr r0, =gUnknown_0203A034 - ldr r0, [r0] - ldr r0, [r0] - ldrb r0, [r0, 0x6] - cmp r0, 0x1 - bne _080F669C - b _080F6664 - .pool -_080F65F0: - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r3, r0, r4 - ldrh r0, [r3, 0xA] - adds r0, 0x1 - strh r0, [r3, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x79 - bne _080F669C - movs r0, 0 - strh r0, [r3, 0xA] - ldr r2, =gSprites - ldr r0, =gUnknown_0203A034 - ldr r0, [r0] - ldr r0, [r0] - ldrb r1, [r0, 0x8] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, =sub_80F7620 - str r1, [r0] - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] - b _080F669C - .pool -_080F6638: - ldr r0, =gUnknown_0203A034 - ldr r0, [r0] - ldr r0, [r0] - ldrb r0, [r0, 0x6] - cmp r0, 0x2 - bne _080F669C - ldr r3, =gBattle_WIN0V - ldrh r0, [r3] - lsrs r2, r0, 8 - adds r0, r2, 0x2 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x50 - bls _080F6656 - movs r2, 0x50 -_080F6656: - lsls r1, r2, 8 - movs r0, 0xA0 - subs r0, r2 - orrs r1, r0 - strh r1, [r3] - cmp r2, 0x50 - bne _080F669C -_080F6664: - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r4 - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - b _080F669C - .pool -_080F667C: - ldr r0, =gUnknown_0203A034 - ldr r0, [r0] - ldr r2, [r0] - ldrb r0, [r2, 0x6] - cmp r0, 0x2 - bne _080F669C - movs r1, 0 - movs r0, 0x1 - strb r0, [r2, 0x9] - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r4 - strh r1, [r0, 0x8] - ldr r1, =sub_80F66B4 - str r1, [r0] -_080F669C: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F6404 - - thumb_func_start sub_80F66B4 -sub_80F66B4: @ 80F66B4 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r2, 0x1 - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - beq _080F6702 - ldr r0, =gIsLinkContest - ldrb r1, [r0] - adds r0, r2, 0 - ands r0, r1 - lsls r6, r7, 2 - cmp r0, 0 - bne _080F66F2 - ldr r5, =gContestMons - movs r4, 0x3 -_080F66DA: - ldrh r0, [r5] - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x2 - bl GetSetPokedexFlag - adds r5, 0x40 - subs r4, 0x1 - cmp r4, 0 - bge _080F66DA -_080F66F2: - ldr r1, =gTasks - adds r0, r6, r7 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x1C] - ldr r1, =sub_80F671C - str r1, [r0] -_080F6702: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F66B4 - - thumb_func_start sub_80F671C -sub_80F671C: @ 80F671C - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gIsLinkContest - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080F6760 - ldr r0, =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r4, r1, r0 - movs r1, 0x1C - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080F676E - ldr r0, =gText_CommunicationStandby - bl sub_80F707C - bl sub_800AC34 - ldr r0, =sub_80F677C - str r0, [r4] - b _080F676E - .pool -_080F6760: - ldr r0, =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldr r0, =task_repel - str r0, [r1] -_080F676E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F671C - - thumb_func_start sub_80F677C -sub_80F677C: @ 80F677C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _080F67AC - ldr r0, =gIsLinkContest - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080F679A - bl sub_800E084 -_080F679A: - bl sub_80F7144 - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =task_repel - str r0, [r1] -_080F67AC: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F677C - - thumb_func_start task_repel -task_repel: @ 80F67C4 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gIsLinkContest - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080F67E6 - ldr r1, =gContestFinalStandings - ldr r0, =gContestPlayerMonIndex - ldrb r0, [r0] - adds r0, r1 - ldrb r0, [r0] - bl BravoTrainerPokemonProfile_BeforeInterview2 -_080F67E6: - movs r0, 0 - str r0, [sp] - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginHardwarePaletteFade - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80F6820 - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end task_repel - - thumb_func_start sub_80F6820 -sub_80F6820: @ 80F6820 - push {r4,r5,lr} - lsls r0, 24 - lsrs r2, r0, 24 - adds r5, r2, 0 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080F68A8 - ldr r1, =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080F6868 - ldr r0, =gUnknown_0203A034 - ldr r0, [r0] - ldr r0, [r0] - ldrb r0, [r0, 0x3] - bl DestroyTask - ldr r0, =0x0000ffff - b _080F686E - .pool -_080F6868: - cmp r0, 0x1 - bne _080F6884 - ldr r0, =0xffff0000 -_080F686E: - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - b _080F68A8 - .pool -_080F6884: - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - adds r0, r5, 0 - bl DestroyTask - bl FreeAllWindowBuffers - ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic - bl SetMainCallback2 - bl sub_80F7E64 -_080F68A8: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F6820 - - thumb_func_start sub_80F68B4 -sub_80F68B4: @ 80F68B4 - push {r4,r5,lr} - ldr r2, =gBattle_BG3_X - ldrh r3, [r2] - adds r0, r3, 0x2 - strh r0, [r2] - ldr r4, =gBattle_BG3_Y - ldrh r5, [r4] - adds r1, r5, 0x1 - strh r1, [r4] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xFF - bls _080F68D4 - adds r0, r3, 0 - subs r0, 0xFD - strh r0, [r2] -_080F68D4: - lsls r0, r1, 16 - lsrs r0, 16 - cmp r0, 0xFF - bls _080F68E2 - adds r0, r5, 0 - subs r0, 0xFE - strh r0, [r4] -_080F68E2: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F68B4 - - thumb_func_start sub_80F68F0 -sub_80F68F0: @ 80F68F0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r2, r0, r1 - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - bne _080F6972 - movs r0, 0 - strh r0, [r2, 0x8] - movs r3, 0xC - ldrsh r0, [r2, r3] - cmp r0, 0 - bne _080F6924 - ldrh r0, [r2, 0xA] - adds r0, 0x1 - b _080F6928 - .pool -_080F6924: - ldrh r0, [r2, 0xA] - subs r0, 0x1 -_080F6928: - strh r0, [r2, 0xA] - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r1, r0, r1 - movs r2, 0xA - ldrsh r0, [r1, r2] - cmp r0, 0x10 - bne _080F693E - movs r0, 0x1 - b _080F6942 -_080F693E: - cmp r0, 0 - bne _080F6944 -_080F6942: - strh r0, [r1, 0xC] -_080F6944: - ldr r0, =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r0 - ldrb r2, [r4, 0xA] - ldr r3, =0x00002ede - movs r0, 0x6B - movs r1, 0x1 - bl BlendPalette - ldrb r2, [r4, 0xA] - ldr r3, =0x00007fff - movs r0, 0x68 - movs r1, 0x1 - bl BlendPalette - ldrb r2, [r4, 0xA] - ldr r3, =0x000077be - movs r0, 0x6E - movs r1, 0x1 - bl BlendPalette -_080F6972: - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r3, 0xA - ldrsh r4, [r0, r3] - cmp r4, 0 - bne _080F69A4 - ldr r0, =gUnknown_0203A034 - ldr r0, [r0] - ldr r0, [r0] - strb r4, [r0, 0xA] - b _080F69AE - .pool -_080F69A4: - ldr r0, =gUnknown_0203A034 - ldr r0, [r0] - ldr r1, [r0] - movs r0, 0x1 - strb r0, [r1, 0xA] -_080F69AE: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F68F0 - - thumb_func_start sub_80F69B8 -sub_80F69B8: @ 80F69B8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - lsls r0, 16 - lsrs r7, r0, 16 - lsls r1, 24 - lsrs r4, r1, 24 - mov r8, r4 - lsls r2, 24 - lsrs r5, r2, 24 - lsls r3, 24 - lsrs r6, r3, 24 - ldr r0, =gContestPlayerMonIndex - movs r2, 0 - ldrb r0, [r0] - cmp r4, r0 - bne _080F69DE - movs r2, 0x1 -_080F69DE: - adds r0, r7, 0 - ldr r1, [sp, 0x28] - bl GetMonIconPtr - adds r3, r0, 0 - lsls r0, r5, 9 - adds r0, 0x80 - adds r3, r0 - cmp r6, 0 - beq _080F6A40 - lsls r1, r4, 9 - ldr r0, =0x06004000 - adds r1, r0 - movs r2, 0xC0 - lsls r2, 1 - adds r0, r3, 0 - movs r3, 0x1 - bl RequestDma3Copy - adds r0, r4, 0 - adds r0, 0xA - lsls r0, 28 - lsls r1, r4, 20 - movs r2, 0x80 - lsls r2, 18 - adds r1, r2 - orrs r1, r0 - lsrs r1, 16 - lsls r3, r4, 1 - adds r3, r4 - adds r3, 0x4 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x4 - str r0, [sp] - movs r0, 0x3 - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0x1 - str r0, [sp, 0xC] - movs r2, 0x3 - bl WriteSequenceToBgTilemapBuffer - b _080F6A54 - .pool -_080F6A40: - mov r0, r8 - lsls r1, r0, 9 - ldr r2, =0x06004000 - adds r1, r2 - movs r2, 0xC0 - lsls r2, 1 - adds r0, r3, 0 - movs r3, 0x1 - bl RequestDma3Copy -_080F6A54: - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F69B8 - - thumb_func_start sub_80F6A64 -sub_80F6A64: @ 80F6A64 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, 24 - lsrs r6, r1, 24 - movs r5, 0 - ldr r4, =gContestMons -_080F6A74: - ldrh r0, [r4] - lsls r1, r5, 24 - lsrs r1, 24 - ldr r2, [r4, 0x38] - str r2, [sp] - adds r2, r7, 0 - adds r3, r6, 0 - bl sub_80F69B8 - adds r4, 0x40 - adds r5, 0x1 - cmp r5, 0x3 - ble _080F6A74 - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F6A64 - - thumb_func_start sub_80F6A9C -sub_80F6A9C: @ 80F6A9C - push {r4-r6,lr} - movs r4, 0 - ldr r6, =gMonIconPaletteIndices - movs r5, 0xA0 - lsls r5, 16 -_080F6AA6: - ldr r1, =gContestMons - lsls r0, r4, 6 - adds r0, r1 - ldrh r0, [r0] - movs r1, 0 - bl GetIconSpecies - lsls r0, 16 - lsrs r0, 16 - adds r0, r6 - ldrb r0, [r0] - lsls r0, 5 - ldr r1, =gMonIconPalettes - adds r0, r1 - lsrs r1, r5, 16 - movs r2, 0x20 - bl LoadPalette - movs r0, 0x80 - lsls r0, 13 - adds r5, r0 - adds r4, 0x1 - cmp r4, 0x3 - ble _080F6AA6 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F6A9C - - thumb_func_start sub_80F6AE8 -sub_80F6AE8: @ 80F6AE8 - push {r4,lr} - ldr r0, =gIsLinkContest - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080F6B58 - bl sub_800E0E8 - movs r0, 0x8 - movs r1, 0x8 - bl CreateWirelessStatusIndicatorSprite - ldr r4, =gSprites - ldr r0, =gWirelessStatusIndicatorSpriteId - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x43 - movs r1, 0x1 - strb r1, [r0] - ldr r0, =gUnknown_0858D8E0 - bl LoadSpriteSheet - adds r1, r0, 0 - lsls r1, 16 - movs r0, 0x1 - negs r0, r0 - lsrs r1, 11 - ldr r2, =0x06010000 - adds r1, r2 - movs r2, 0x80 - movs r3, 0x1 - bl RequestDma3Fill - ldr r0, =gSpriteTemplate_858D8C8 - movs r1, 0x8 - movs r2, 0x8 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r2, [r1, 0x1] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - movs r2, 0x8 - orrs r0, r2 - strb r0, [r1, 0x1] -_080F6B58: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F6AE8 - - thumb_func_start sub_80F6B78 -sub_80F6B78: @ 80F6B78 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x44 - adds r5, r0, 0 - lsls r1, 24 - lsrs r7, r1, 24 - add r4, sp, 0x20 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x8 - bl memset - movs r0, 0x1E - strb r0, [r4, 0x3] - movs r0, 0x2 - strb r0, [r4, 0x4] - adds r0, r4, 0 - bl AddWindow - lsls r6, r0, 24 - lsrs r4, r6, 24 - adds r0, r4, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - movs r0, 0x1 - adds r1, r5, 0 - movs r2, 0 - bl GetStringWidth - adds r2, r0, 0 - adds r2, 0x9 - cmp r2, 0 - bge _080F6BC4 - adds r2, 0x7 -_080F6BC4: - asrs r2, 3 - mov r10, r2 - cmp r2, 0x1E - ble _080F6BD0 - movs r1, 0x1E - mov r10, r1 -_080F6BD0: - mov r1, r10 - lsls r2, r1, 3 - subs r2, r0 - lsrs r0, r2, 31 - adds r2, r0 - asrs r2, 1 - lsls r2, 24 - lsrs r2, 24 - ldr r0, =gUnknown_0858D8E8 - str r0, [sp] - movs r0, 0x1 - negs r0, r0 - str r0, [sp, 0x4] - str r5, [sp, 0x8] - adds r0, r4, 0 - movs r1, 0x1 - movs r3, 0x1 - bl AddTextPrinterParameterized3 - adds r0, r4, 0 - movs r1, 0x7 - bl GetWindowAttribute - mov r9, r0 - ldr r2, =gUnknown_0858D6D0 - mov r8, r2 - lsls r1, r7, 4 - adds r1, r7 - lsls r1, 2 - ldr r3, =gSprites - adds r1, r3 - ldrh r0, [r1, 0x4] - lsls r0, 22 - lsrs r0, 17 - ldr r2, =0x06010000 - adds r0, r2 - str r0, [sp, 0xC] - str r6, [sp, 0x38] - mov r7, sp - adds r7, 0x1C - str r7, [sp, 0x2C] - mov r0, r10 - adds r0, 0x2 - str r0, [sp, 0x30] - movs r5, 0 - add r7, sp, 0x10 - mov r12, r7 - adds r6, r1, 0 - adds r6, 0x2E - movs r4, 0x2 -_080F6C34: - adds r0, r6, r5 - movs r7, 0 - ldrsh r1, [r0, r7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r0, [r0, 0x4] - lsls r0, 22 - lsrs r0, 17 - adds r0, r2 - mov r1, r12 - adds r1, 0x4 - mov r12, r1 - subs r1, 0x4 - stm r1!, {r0} - adds r5, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _080F6C34 - mov r7, r8 - adds r7, 0x80 - mov r2, r8 - adds r2, 0x40 - str r2, [sp, 0x28] - mov r0, r8 - adds r0, 0x20 - str r0, [sp, 0x3C] - mov r1, r8 - adds r1, 0xA0 - str r1, [sp, 0x40] - adds r2, 0x20 - str r2, [sp, 0x34] - add r5, sp, 0xC - movs r6, 0 - movs r4, 0x3 -_080F6C7C: - str r6, [sp, 0x1C] - ldm r5!, {r1} - ldr r0, [sp, 0x2C] - ldr r2, =0x05000100 - bl CpuSet - subs r4, 0x1 - cmp r4, 0 - bge _080F6C7C - ldr r5, [sp, 0xC] - ldr r6, =0x04000008 - mov r0, r8 - adds r1, r5, 0 - adds r2, r6, 0 - bl CpuSet - movs r0, 0x80 - lsls r0, 1 - adds r1, r5, r0 - adds r0, r7, 0 - adds r2, r6, 0 - bl CpuSet - movs r2, 0x80 - lsls r2, 2 - adds r1, r5, r2 - adds r0, r7, 0 - adds r2, r6, 0 - bl CpuSet - movs r7, 0xC0 - lsls r7, 2 - adds r1, r5, r7 - ldr r0, [sp, 0x28] - adds r2, r6, 0 - bl CpuSet - movs r4, 0 - cmp r4, r10 - bge _080F6D32 - adds r7, r6, 0 -_080F6CCE: - adds r6, r4, 0x1 - adds r0, r6, 0 - cmp r6, 0 - bge _080F6CDA - adds r0, r4, 0 - adds r0, 0x8 -_080F6CDA: - asrs r0, 3 - lsls r1, r0, 2 - add r1, sp - adds r1, 0xC - lsls r0, 3 - subs r0, r6, r0 - lsls r0, 5 - ldr r1, [r1] - adds r5, r1, r0 - mov r0, r8 - adds r0, 0xC0 - adds r1, r5, 0 - adds r2, r7, 0 - bl CpuSet - movs r0, 0x80 - lsls r0, 1 - adds r1, r5, r0 - mov r0, r9 - adds r2, r7, 0 - bl CpuSet - movs r0, 0xF0 - lsls r0, 2 - add r0, r9 - movs r2, 0x80 - lsls r2, 2 - adds r1, r5, r2 - adds r2, r7, 0 - bl CpuSet - movs r0, 0xC0 - lsls r0, 2 - adds r1, r5, r0 - mov r0, r8 - adds r0, 0xE0 - adds r2, r7, 0 - bl CpuSet - movs r1, 0x20 - add r9, r1 - adds r4, r6, 0 - cmp r4, r10 - blt _080F6CCE -_080F6D32: - adds r2, r4, 0x1 - adds r0, r2, 0 - cmp r2, 0 - bge _080F6D3E - adds r0, r4, 0 - adds r0, 0x8 -_080F6D3E: - asrs r0, 3 - lsls r1, r0, 2 - add r1, sp - adds r1, 0xC - lsls r0, 3 - subs r0, r2, r0 - lsls r0, 5 - ldr r1, [r1] - adds r5, r1, r0 - ldr r4, =0x04000008 - ldr r0, [sp, 0x3C] - adds r1, r5, 0 - adds r2, r4, 0 - bl CpuSet - movs r2, 0x80 - lsls r2, 1 - adds r1, r5, r2 - ldr r0, [sp, 0x40] - adds r2, r4, 0 - bl CpuSet - movs r7, 0x80 - lsls r7, 2 - adds r1, r5, r7 - ldr r0, [sp, 0x40] - adds r2, r4, 0 - bl CpuSet - movs r0, 0xC0 - lsls r0, 2 - adds r1, r5, r0 - ldr r0, [sp, 0x34] - adds r2, r4, 0 - bl CpuSet - ldr r1, [sp, 0x38] - lsrs r0, r1, 24 - bl RemoveWindow - ldr r2, [sp, 0x30] - lsls r1, r2, 3 - movs r0, 0xF0 - subs r0, r1 - asrs r0, 1 - add sp, 0x44 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80F6B78 - - thumb_func_start sub_80F6DC0 -sub_80F6DC0: @ 80F6DC0 - push {r4-r6,lr} - sub sp, 0x20 - mov r1, sp - ldr r0, =gSpriteTemplate_858D7F8 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - add r5, sp, 0x18 - ldr r6, =gUnknown_0858D810 - movs r4, 0x7 -_080F6DD6: - adds r0, r6, 0 - bl LoadSpriteSheet - adds r6, 0x8 - subs r4, 0x1 - cmp r4, 0 - bge _080F6DD6 - ldr r0, =gUnknown_0858D850 - bl LoadSpritePalette - movs r4, 0 - mov r6, sp -_080F6DEE: - mov r0, sp - movs r1, 0x88 - lsls r1, 1 - movs r2, 0x90 - movs r3, 0xA - bl CreateSprite - adds r1, r5, r4 - strb r0, [r1] - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] - adds r4, 0x1 - cmp r4, 0x7 - ble _080F6DEE - ldr r2, =gSprites - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r5, 0x1] - movs r3, 0 - strh r1, [r0, 0x2E] - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r5, 0x2] - strh r1, [r0, 0x30] - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r5, 0x3] - strh r1, [r0, 0x32] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r5, 0x5] - strh r1, [r0, 0x2E] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r5, 0x6] - strh r1, [r0, 0x30] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r5, 0x7] - strh r1, [r0, 0x32] - ldr r1, =gUnknown_0203A034 - ldr r0, [r1] - ldr r2, [r0] - ldrb r0, [r5] - strb r0, [r2] - ldr r0, [r1] - ldr r0, [r0] - strb r3, [r0, 0x4] - ldr r0, [r1] - ldr r1, [r0] - ldrb r0, [r5, 0x4] - strb r0, [r1, 0x1] - bl sub_80F7144 - add sp, 0x20 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F6DC0 - - thumb_func_start sub_80F6E9C -sub_80F6E9C: @ 80F6E9C - push {r4-r6,lr} - mov r6, r8 - push {r6} - ldr r4, =gUnknown_0203A034 - ldr r4, [r4] - mov r8, r4 - ldr r4, [r4] - ldrb r5, [r4] - lsls r4, r5, 4 - adds r4, r5 - lsls r4, 2 - ldr r5, =gSprites - adds r4, r5 - movs r6, 0 - movs r5, 0x88 - lsls r5, 1 - strh r5, [r4, 0x20] - strh r1, [r4, 0x22] - strh r6, [r4, 0x24] - strh r6, [r4, 0x26] - lsls r0, 16 - asrs r0, 16 - adds r0, 0x20 - strh r0, [r4, 0x36] - strh r2, [r4, 0x38] - strh r3, [r4, 0x3A] - strh r6, [r4, 0x3C] - ldr r0, =sub_80F6F68 - str r0, [r4, 0x1C] - mov r0, r8 - ldr r1, [r0] - movs r0, 0x1 - strb r0, [r1, 0x4] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F6E9C - - thumb_func_start sub_80F6EF4 -sub_80F6EF4: @ 80F6EF4 - push {r4,r5,lr} - ldr r1, =gUnknown_0203A034 - ldr r4, [r1] - ldr r1, [r4] - ldrb r2, [r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - ldr r2, =gSprites - adds r1, r2 - ldrh r2, [r1, 0x24] - ldrh r3, [r1, 0x20] - adds r2, r3 - movs r3, 0 - strh r2, [r1, 0x20] - ldrh r2, [r1, 0x26] - ldrh r5, [r1, 0x22] - adds r2, r5 - strh r2, [r1, 0x22] - strh r3, [r1, 0x26] - strh r3, [r1, 0x24] - strh r0, [r1, 0x3A] - strh r3, [r1, 0x3C] - ldr r0, =sub_80F7014 - str r0, [r1, 0x1C] - ldr r1, [r4] - movs r0, 0x3 - strb r0, [r1, 0x4] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F6EF4 - - thumb_func_start sub_80F6F40 -sub_80F6F40: @ 80F6F40 - movs r3, 0 - movs r2, 0 - movs r1, 0x88 - lsls r1, 1 - strh r1, [r0, 0x20] - movs r1, 0x90 - strh r1, [r0, 0x22] - strh r2, [r0, 0x26] - strh r2, [r0, 0x24] - ldr r1, =SpriteCallbackDummy - str r1, [r0, 0x1C] - ldr r0, =gUnknown_0203A034 - ldr r0, [r0] - ldr r0, [r0] - strb r3, [r0, 0x4] - bx lr - .pool - thumb_func_end sub_80F6F40 - - thumb_func_start sub_80F6F68 -sub_80F6F68: @ 80F6F68 - push {r4-r7,lr} - adds r3, r0, 0 - ldrh r2, [r3, 0x3A] - ldrh r0, [r3, 0x3C] - adds r2, r0 - lsls r1, r2, 16 - asrs r1, 24 - ldrh r0, [r3, 0x20] - subs r0, r1 - strh r0, [r3, 0x20] - movs r1, 0xFF - ands r2, r1 - strh r2, [r3, 0x3C] - lsls r0, 16 - asrs r0, 16 - ldrh r2, [r3, 0x36] - movs r4, 0x36 - ldrsh r1, [r3, r4] - cmp r0, r1 - bge _080F6F92 - strh r2, [r3, 0x20] -_080F6F92: - movs r4, 0 - ldr r6, =gSprites - movs r5, 0x40 - adds r2, r3, 0 - adds r2, 0x2E -_080F6F9C: - movs r7, 0 - ldrsh r0, [r2, r7] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrh r0, [r3, 0x24] - ldrh r7, [r3, 0x20] - adds r0, r7 - adds r0, r5 - strh r0, [r1, 0x20] - adds r5, 0x40 - adds r2, 0x2 - adds r4, 0x1 - cmp r4, 0x2 - ble _080F6F9C - movs r0, 0x20 - ldrsh r1, [r3, r0] - movs r2, 0x36 - ldrsh r0, [r3, r2] - cmp r1, r0 - bne _080F6FCC - ldr r0, =sub_80F6FDC - str r0, [r3, 0x1C] -_080F6FCC: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F6F68 - - thumb_func_start sub_80F6FDC -sub_80F6FDC: @ 80F6FDC - push {lr} - adds r2, r0, 0 - ldr r0, =gUnknown_0203A034 - ldr r0, [r0] - ldr r1, [r0] - movs r0, 0x2 - strb r0, [r1, 0x4] - ldrh r3, [r2, 0x38] - ldr r1, =0xffff0000 - lsrs r0, r1, 16 - cmp r3, r0 - beq _080F7008 - subs r0, r3, 0x1 - strh r0, [r2, 0x38] - lsls r0, 16 - asrs r0, 16 - asrs r1, 16 - cmp r0, r1 - bne _080F7008 - ldrh r0, [r2, 0x3A] - bl sub_80F6EF4 -_080F7008: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F6FDC - - thumb_func_start sub_80F7014 -sub_80F7014: @ 80F7014 - push {r4-r7,lr} - adds r3, r0, 0 - ldrh r2, [r3, 0x3A] - ldrh r0, [r3, 0x3C] - adds r2, r0 - lsls r1, r2, 16 - asrs r1, 24 - ldrh r0, [r3, 0x20] - subs r0, r1 - strh r0, [r3, 0x20] - movs r0, 0xFF - ands r2, r0 - strh r2, [r3, 0x3C] - movs r4, 0 - ldr r6, =gSprites - movs r5, 0x40 - adds r2, r3, 0 - adds r2, 0x2E -_080F7038: - movs r1, 0 - ldrsh r0, [r2, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrh r0, [r3, 0x24] - ldrh r7, [r3, 0x20] - adds r0, r7 - adds r0, r5 - strh r0, [r1, 0x20] - adds r5, 0x40 - adds r2, 0x2 - adds r4, 0x1 - cmp r4, 0x2 - ble _080F7038 - movs r1, 0x20 - ldrsh r0, [r3, r1] - movs r2, 0x24 - ldrsh r1, [r3, r2] - adds r0, r1 - movs r1, 0xE0 - negs r1, r1 - cmp r0, r1 - bge _080F7070 - adds r0, r3, 0 - bl sub_80F6F40 -_080F7070: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F7014 - - thumb_func_start sub_80F707C -sub_80F707C: @ 80F707C - push {r4-r7,lr} - ldr r4, =gUnknown_0203A034 - ldr r1, [r4] - ldr r1, [r1] - ldrb r1, [r1, 0x1] - bl sub_80F6B78 - lsls r0, 16 - lsrs r0, 16 - ldr r1, [r4] - ldr r1, [r1] - ldrb r2, [r1, 0x1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - ldr r3, =gSprites - adds r4, r1, r3 - adds r0, 0x20 - strh r0, [r4, 0x20] - movs r0, 0x50 - strh r0, [r4, 0x22] - adds r5, r4, 0 - adds r5, 0x3E - ldrb r1, [r5] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r1 - strb r0, [r5] - movs r5, 0 - adds r6, r3, 0 - mov r12, r2 - movs r3, 0x40 -_080F70BE: - lsls r0, r5, 1 - adds r2, r4, 0 - adds r2, 0x2E - adds r2, r0 - movs r1, 0 - ldrsh r0, [r2, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrh r0, [r4, 0x24] - ldrh r7, [r4, 0x20] - adds r0, r7 - adds r0, r3 - strh r0, [r1, 0x20] - movs r0, 0 - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrh r1, [r4, 0x22] - strh r1, [r0, 0x22] - movs r1, 0 - ldrsh r0, [r2, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - adds r1, 0x3E - ldrb r2, [r1] - mov r0, r12 - ands r0, r2 - strb r0, [r1] - adds r3, 0x40 - adds r5, 0x1 - cmp r5, 0x2 - ble _080F70BE - ldr r1, =gBattle_WIN0H - movs r0, 0xF0 - strh r0, [r1] - ldr r2, =gBattle_WIN0V - ldrh r1, [r4, 0x22] - adds r0, r1, 0 - subs r0, 0x10 - lsls r0, 8 - adds r1, 0x10 - orrs r0, r1 - strh r0, [r2] - ldr r1, =0x00003f3e - movs r0, 0x48 - bl SetGpuReg - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F707C - - thumb_func_start sub_80F7144 -sub_80F7144: @ 80F7144 - push {r4-r7,lr} - ldr r0, =gUnknown_0203A034 - ldr r0, [r0] - ldr r0, [r0] - ldrb r0, [r0, 0x1] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r3, =gSprites - adds r2, r3 - movs r0, 0x3E - adds r0, r2 - mov r12, r0 - ldrb r0, [r0] - movs r1, 0x4 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - ldr r7, =gBattle_WIN0H - ldr r6, =gBattle_WIN0V - adds r5, r3, 0 - movs r4, 0x4 - adds r2, 0x2E - movs r3, 0x2 -_080F7174: - movs r1, 0 - ldrsh r0, [r2, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - adds r1, 0x3E - ldrb r0, [r1] - orrs r0, r4 - strb r0, [r1] - adds r2, 0x2 - subs r3, 0x1 - cmp r3, 0 - bge _080F7174 - movs r0, 0 - strh r0, [r7] - strh r0, [r6] - movs r0, 0x40 - movs r1, 0 - bl SetGpuReg - ldrh r1, [r6] - movs r0, 0x44 - bl SetGpuReg - ldr r1, =0x00003f3f - movs r0, 0x48 - bl SetGpuReg - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F7144 - - thumb_func_start sub_80F71C8 -sub_80F71C8: @ 80F71C8 - push {r4-r6,lr} - sub sp, 0xC - movs r5, 0x5 - movs r4, 0x1 - ldr r0, =gIsLinkContest - ldrb r1, [r0] - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _080F71F8 - ldr r1, =gUnknown_08DC6498 - str r5, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r2, 0x5 - movs r3, 0x1 - bl CopyToBgTilemapBufferRect - movs r5, 0xA - b _080F7240 - .pool -_080F71F8: - ldr r0, =gSpecialVar_ContestRank - ldrh r2, [r0] - cmp r2, 0 - bne _080F720C - ldr r1, =gUnknown_08DC63F8 - b _080F722E - .pool -_080F720C: - cmp r2, 0x1 - bne _080F7218 - ldr r1, =gUnknown_08DC6420 - b _080F722E - .pool -_080F7218: - cmp r2, 0x2 - bne _080F722C - ldr r1, =gUnknown_08DC6448 - movs r0, 0xA - str r0, [sp] - str r2, [sp, 0x4] - movs r0, 0x2 - b _080F7236 - .pool -_080F722C: - ldr r1, =gUnknown_08DC6470 -_080F722E: - movs r0, 0xA - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] -_080F7236: - movs r2, 0x5 - movs r3, 0x1 - bl CopyToBgTilemapBufferRect - movs r5, 0xF -_080F7240: - ldr r0, =gSpecialVar_ContestCategory - ldrh r0, [r0] - cmp r0, 0 - bne _080F725C - movs r6, 0 - ldr r1, =gUnknown_08DC64AC - b _080F7298 - .pool -_080F725C: - cmp r0, 0x1 - bne _080F726C - movs r6, 0x1 - ldr r1, =gUnknown_08DC64C0 - b _080F7298 - .pool -_080F726C: - cmp r0, 0x2 - bne _080F7290 - movs r6, 0x2 - ldr r1, =gUnknown_08DC64D4 - lsls r2, r5, 24 - lsrs r2, 24 - lsls r4, 24 - lsrs r3, r4, 24 - movs r0, 0x5 - str r0, [sp] - str r6, [sp, 0x4] - movs r0, 0x2 - bl CopyToBgTilemapBufferRect - b _080F72CC - .pool -_080F7290: - cmp r0, 0x3 - bne _080F72B4 - movs r6, 0x3 - ldr r1, =gUnknown_08DC64E8 -_080F7298: - lsls r2, r5, 24 - lsrs r2, 24 - lsls r4, 24 - lsrs r3, r4, 24 - movs r0, 0x5 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - bl CopyToBgTilemapBufferRect - b _080F72CC - .pool -_080F72B4: - movs r6, 0x4 - ldr r1, =gUnknown_08DC64FC - lsls r2, r5, 24 - lsrs r2, 24 - lsls r4, 24 - lsrs r3, r4, 24 - movs r0, 0x5 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - bl CopyToBgTilemapBufferRect -_080F72CC: - adds r5, 0x5 - ldr r1, =gUnknown_08DC6510 - lsls r2, r5, 24 - lsrs r2, 24 - lsrs r3, r4, 24 - movs r0, 0x6 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - bl CopyToBgTilemapBufferRect - ldr r0, =gUnknown_0203A034 - ldr r0, [r0] - ldr r1, [r0, 0x14] - movs r0, 0x20 - str r0, [sp] - movs r0, 0x4 - str r0, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBufferRect_ChangePalette - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F71C8 - - thumb_func_start sub_80F7310 -sub_80F7310: @ 80F7310 - push {r4,r5,lr} - lsls r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r1, =gContestMonConditions - lsrs r0, 23 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - lsls r4, r0, 16 - adds r0, r4, 0 - movs r1, 0x3F - bl __udivsi3 - adds r1, r0, 0 - ldr r0, =0x0000ffff - ands r0, r1 - cmp r0, 0 - beq _080F733C - movs r0, 0x80 - lsls r0, 9 - adds r1, r0 -_080F733C: - lsrs r1, 16 - cmp r1, 0 - bne _080F7348 - cmp r4, 0 - beq _080F7348 - movs r1, 0x1 -_080F7348: - cmp r5, 0 - beq _080F7352 - cmp r1, 0xA - bls _080F7352 - movs r1, 0xA -_080F7352: - lsls r0, r1, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80F7310 - thumb_func_start sub_80F7364 sub_80F7364: @ 80F7364 push {r4-r7,lr} @@ -4628,7 +1490,7 @@ sub_80F7ED0: @ 80F7ED0 thumb_func_start sub_80F7F30 sub_80F7F30: @ 80F7F30 push {r4,r5,lr} - ldr r0, =gUnknown_02039F24 + ldr r0, =gContestMonPartyIndex ldrb r1, [r0] movs r0, 0x64 muls r0, r1 @@ -4660,7 +1522,7 @@ _080F7F5E: sub_80F7F7C: @ 80F7F7C push {r4,lr} movs r4, 0 - ldr r0, =gUnknown_02039F24 + ldr r0, =gContestMonPartyIndex ldrb r1, [r0] movs r0, 0x64 muls r1, r0 @@ -4750,7 +1612,7 @@ _080F8034: .4byte _080F8190 .4byte _080F81F8 _080F8048: - ldr r6, =gUnknown_02039F24 + ldr r6, =gContestMonPartyIndex ldrb r0, [r6] movs r5, 0x64 muls r0, r5 @@ -4801,7 +1663,7 @@ _080F809C: .pool _080F80B8: mov r4, sp - ldr r7, =gUnknown_02039F24 + ldr r7, =gContestMonPartyIndex ldrb r0, [r7] movs r6, 0x64 muls r0, r6 @@ -4850,7 +1712,7 @@ _080F810A: .pool _080F8124: mov r4, sp - ldr r7, =gUnknown_02039F24 + ldr r7, =gContestMonPartyIndex ldrb r0, [r7] movs r6, 0x64 muls r0, r6 @@ -4897,7 +1759,7 @@ _080F814E: .pool _080F8190: mov r4, sp - ldr r7, =gUnknown_02039F24 + ldr r7, =gContestMonPartyIndex ldrb r0, [r7] movs r6, 0x64 muls r0, r6 @@ -4940,7 +1802,7 @@ _080F8190: .pool _080F81F8: mov r4, sp - ldr r7, =gUnknown_02039F24 + ldr r7, =gContestMonPartyIndex ldrb r0, [r7] movs r6, 0x64 muls r0, r6 @@ -5320,7 +2182,7 @@ sub_80F8508: @ 80F8508 ands r0, r1 cmp r0, 0 beq _080F8540 - ldr r0, =gUnknown_02039F24 + ldr r0, =gContestMonPartyIndex ldrb r0, [r0] bl sub_80DA8C8 ldr r1, =sub_80FC6BC @@ -5330,7 +2192,7 @@ sub_80F8508: @ 80F8508 b _080F8556 .pool _080F8540: - ldr r0, =gUnknown_02039F24 + ldr r0, =gContestMonPartyIndex ldrb r0, [r0] bl sub_80DA8C8 ldr r1, =gTasks @@ -5399,7 +2261,7 @@ sub_80F85BC: @ 80F85BC str r0, [sp] str r0, [sp, 0x4] movs r3, 0 - ldr r5, =gUnknown_02039F30 + ldr r5, =gNumLinkContestPlayers mov r12, r5 ldr r0, =gSpecialVar_0x8004 mov r9, r0 @@ -5529,7 +2391,7 @@ sub_80F86E0: @ 80F86E0 adds r3, r0, 0 movs r4, 0 movs r2, 0x1 - ldr r0, =gUnknown_02039F30 + ldr r0, =gNumLinkContestPlayers ldrb r0, [r0] cmp r2, r0 bge _080F8708 @@ -5564,7 +2426,7 @@ sub_80F8714: @ 80F8714 ldrh r0, [r0] cmp r0, 0x1 bne _080F8748 - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _080F877E diff --git a/asm/contest_link_80FC4F4.s b/asm/contest_link_80FC4F4.s deleted file mode 100644 index 5934c3623f..0000000000 --- a/asm/contest_link_80FC4F4.s +++ /dev/null @@ -1,1362 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80FC4F4 -sub_80FC4F4: @ 80FC4F4 - push {r4,r5,lr} - adds r2, r0, 0 - lsls r4, r1, 16 - lsrs r4, 16 - ldr r5, =gDecompressionBuffer - adds r0, r5, 0 - adds r1, r2, 0 - adds r2, r4, 0 - bl memcpy - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - adds r1, r5, 0 - adds r2, r4, 0 - bl SendBlock - lsls r0, 24 - cmp r0, 0 - bne _080FC528 - movs r0, 0 - b _080FC52A - .pool -_080FC528: - movs r0, 0x1 -_080FC52A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80FC4F4 - - thumb_func_start sub_80FC530 -sub_80FC530: @ 80FC530 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0x80 - lsls r4, 17 - lsls r4, r5 - lsrs r4, 24 - bl GetBlockReceivedStatus - ands r4, r0 - cmp r4, 0 - beq _080FC552 - adds r0, r5, 0 - bl ResetBlockReceivedFlag - movs r0, 0x1 - b _080FC554 -_080FC552: - movs r0, 0 -_080FC554: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80FC530 - - thumb_func_start sub_80FC55C -sub_80FC55C: @ 80FC55C - push {r4,lr} - bl GetBlockReceivedStatus - adds r4, r0, 0 - bl sub_800A9D8 - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - beq _080FC574 - movs r0, 0 - b _080FC57A -_080FC574: - bl ResetBlockReceivedFlags - movs r0, 0x1 -_080FC57A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80FC55C - - thumb_func_start sub_80FC580 -sub_80FC580: @ 80FC580 - push {r4-r6,lr} - lsls r0, 24 - lsrs r2, r0, 24 - movs r1, 0 - ldr r5, =gTasks - ldr r6, =sub_80FC5C0 - ldr r4, =gBlockRecvBuffer - movs r3, 0xFF -_080FC590: - lsls r0, r1, 8 - adds r0, r4 - strh r3, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x3 - bls _080FC590 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r5 - movs r1, 0 - strh r1, [r0, 0x8] - str r6, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FC580 - - thumb_func_start sub_80FC5C0 -sub_80FC5C0: @ 80FC5C0 - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, =sub_80FC5DC - str r0, [r1] - bx lr - .pool - thumb_func_end sub_80FC5C0 - - thumb_func_start sub_80FC5DC -sub_80FC5DC: @ 80FC5DC - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _080FC650 - bl GetMultiplayerId - ldr r1, =gContestPlayerMonIndex - strb r0, [r1] - bl GetLinkPlayerCount - ldr r4, =gUnknown_02039F30 - strb r0, [r4] - ldr r1, =gIsLinkContest - movs r0, 0x1 - strb r0, [r1] - ldr r0, =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0x1 - bne _080FC60C - movs r0, 0x3 - strb r0, [r1] -_080FC60C: - movs r3, 0 - ldrb r2, [r4] - cmp r3, r2 - bge _080FC64A - ldr r1, =gLinkPlayers - ldrb r0, [r1] - subs r0, 0x1 - adds r6, r4, 0 - cmp r0, 0x1 - bls _080FC63A - adds r4, r2, 0 - adds r2, r1, 0 - movs r5, 0xFF -_080FC626: - adds r2, 0x1C - adds r3, 0x1 - cmp r3, r4 - bge _080FC64A - ldrh r1, [r2] - adds r0, r5, 0 - ands r0, r1 - subs r0, 0x1 - cmp r0, 0x1 - bhi _080FC626 -_080FC63A: - ldrb r6, [r6] - cmp r3, r6 - bge _080FC64A - ldr r0, =gIsLinkContest - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_080FC64A: - adds r0, r7, 0 - bl SwitchTaskToFollowupFunc -_080FC650: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FC5DC - - thumb_func_start sub_80FC670 -sub_80FC670: @ 80FC670 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gIsLinkContest - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _080FC698 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080FC6A0 - cmp r0, 0x1 - beq _080FC6AE - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080FC6B4 -_080FC698: - movs r0, 0x1 - b _080FC6B6 - .pool -_080FC6A0: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _080FC6B4 - bl sub_800ADF8 -_080FC6AE: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] -_080FC6B4: - movs r0, 0 -_080FC6B6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80FC670 - - thumb_func_start sub_80FC6BC -sub_80FC6BC: @ 80FC6BC - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - lsls r6, r7, 2 - adds r0, r6, r7 - lsls r4, r0, 3 - ldr r5, =gTasks + 0x8 - adds r0, r4, r5 - adds r0, 0x18 - bl sub_80FC670 - cmp r0, 0 - bne _080FC6DC - b _080FC7F4 -_080FC6DC: - adds r0, r5, 0 - subs r0, 0x8 - adds r4, r0 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080FC758 - cmp r0, 0x1 - bgt _080FC6F8 - cmp r0, 0 - beq _080FC6FE - b _080FC7DC - .pool -_080FC6F8: - cmp r0, 0xA - beq _080FC7C0 - b _080FC7DC -_080FC6FE: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _080FC738 - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _080FC7F4 - ldr r0, =gBlockSendBuffer - ldr r1, =gContestPlayerMonIndex - ldrb r1, [r1] - lsls r1, 6 - ldr r2, =gContestMons - adds r1, r2 - movs r2, 0x40 - bl memcpy - movs r0, 0xA - strh r0, [r4, 0x8] - b _080FC7F4 - .pool -_080FC738: - ldr r0, =gBlockSendBuffer - ldr r1, =gContestPlayerMonIndex - ldrb r1, [r1] - lsls r1, 6 - ldr r2, =gContestMons - adds r1, r2 - movs r2, 0x40 - bl memcpy - b _080FC7D6 - .pool -_080FC758: - bl sub_80FC55C - lsls r0, 24 - cmp r0, 0 - beq _080FC7F4 - movs r5, 0 - ldr r0, =gUnknown_02039F30 - mov r8, r6 - ldrb r0, [r0] - cmp r5, r0 - bge _080FC798 - ldr r6, =gLinkPlayers -_080FC770: - lsls r4, r5, 6 - ldr r0, =gContestMons - adds r4, r0 - lsls r1, r5, 8 - ldr r0, =gBlockRecvBuffer - adds r1, r0 - adds r0, r4, 0 - movs r2, 0x40 - bl memcpy - ldrh r1, [r6, 0x1A] - adds r0, r4, 0 - bl sub_80DFA08 - adds r6, 0x1C - adds r5, 0x1 - ldr r0, =gUnknown_02039F30 - ldrb r0, [r0] - cmp r5, r0 - blt _080FC770 -_080FC798: - ldr r0, =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 _080FC7F4 - .pool -_080FC7C0: - ldrh r0, [r4, 0x1E] - adds r0, 0x1 - strh r0, [r4, 0x1E] - lsls r0, 16 - movs r1, 0x96 - lsls r1, 17 - cmp r0, r1 - ble _080FC7F4 - movs r0, 0x2 - bl sub_800A4D8 -_080FC7D6: - movs r0, 0x1 - strh r0, [r4, 0x8] - b _080FC7F4 -_080FC7DC: - ldr r0, =gTasks - lsls r1, r7, 2 - adds r1, r7 - lsls r1, 3 - adds r1, r0 - movs r0, 0 - strh r0, [r1, 0x8] - strh r0, [r1, 0x1E] - strh r0, [r1, 0x20] - adds r0, r7, 0 - bl SwitchTaskToFollowupFunc -_080FC7F4: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FC6BC - - thumb_func_start sub_80FC804 -sub_80FC804: @ 80FC804 - push {r4,r5,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _080FC830 - cmp r0, 0x1 - beq _080FC858 - movs r0, 0 - strh r0, [r5, 0x8] - adds r0, r2, 0 - bl SwitchTaskToFollowupFunc - b _080FC880 - .pool -_080FC830: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _080FC87A - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _080FC880 - ldr r0, =gRngValue - movs r1, 0x4 - bl sub_80FC4F4 - cmp r0, 0x1 - bne _080FC880 - b _080FC87A - .pool -_080FC858: - movs r0, 0 - bl sub_80FC530 - lsls r0, 24 - cmp r0, 0 - beq _080FC880 - ldr r0, =gRngValue - ldr r4, =gBlockRecvBuffer - adds r1, r4, 0 - movs r2, 0x4 - bl memcpy - ldr r0, =gContestRngValue - adds r1, r4, 0 - movs r2, 0x4 - bl memcpy -_080FC87A: - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_080FC880: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FC804 - - thumb_func_start sub_80FC894 -sub_80FC894: @ 80FC894 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - mov r8, r0 - adds r0, r6 - lsls r5, r0, 3 - ldr r7, =gTasks + 0x8 - adds r0, r5, r7 - adds r0, 0x18 - bl sub_80FC670 - cmp r0, 0 - beq _080FC986 - movs r1, 0x8 - negs r1, r1 - adds r1, r7 - mov r9, r1 - adds r4, r5, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080FC90C - cmp r0, 0x1 - bgt _080FC8D8 - cmp r0, 0 - beq _080FC8DE - b _080FC96E - .pool -_080FC8D8: - cmp r0, 0xA - beq _080FC954 - b _080FC96E -_080FC8DE: - ldr r1, =gBlockSendBuffer - ldrh r0, [r4, 0x1A] - strb r0, [r1] - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _080FC904 - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _080FC986 - movs r0, 0xA - strh r0, [r4, 0x8] - b _080FC986 - .pool -_080FC904: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080FC986 -_080FC90C: - bl sub_80FC55C - lsls r0, 24 - cmp r0, 0 - beq _080FC986 - movs r3, 0 - ldr r1, =gUnknown_02039F30 - ldrb r0, [r1] - cmp r3, r0 - bge _080FC93A - ldr r4, =gBlockRecvBuffer - adds r0, r7, 0x2 - adds r2, r5, r0 - movs r5, 0x80 - lsls r5, 1 -_080FC92A: - ldrh r0, [r4] - strh r0, [r2] - adds r4, r5 - adds r2, 0x2 - adds r3, 0x1 - ldrb r0, [r1] - cmp r3, r0 - blt _080FC92A -_080FC93A: - mov r0, r8 - adds r1, r0, r6 - lsls r1, 3 - add r1, r9 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _080FC986 - .pool -_080FC954: - ldrh r0, [r4, 0x1E] - adds r0, 0x1 - strh r0, [r4, 0x1E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - ble _080FC986 - movs r0, 0x2 - bl sub_800A4D8 - movs r0, 0x1 - strh r0, [r4, 0x8] - b _080FC986 -_080FC96E: - ldr r0, =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - movs r0, 0 - strh r0, [r1, 0x8] - strh r0, [r1, 0x1E] - strh r0, [r1, 0x20] - adds r0, r6, 0 - bl SwitchTaskToFollowupFunc -_080FC986: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FC894 - - thumb_func_start sub_80FC998 -sub_80FC998: @ 80FC998 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080FC9C4 - cmp r0, 0x1 - beq _080FC9E0 - movs r0, 0 - strh r0, [r4, 0x8] - adds r0, r2, 0 - bl SwitchTaskToFollowupFunc - b _080FC9F0 - .pool -_080FC9C4: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _080FC9F0 - ldr r0, =gContestPlayerMonIndex - movs r1, 0x1 - bl sub_80FC4F4 - cmp r0, 0x1 - bne _080FC9F0 - b _080FC9EA - .pool -_080FC9E0: - bl sub_80FC55C - lsls r0, 24 - cmp r0, 0 - beq _080FC9F0 -_080FC9EA: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080FC9F0: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80FC998 - - thumb_func_start sub_80FC9F8 -sub_80FC9F8: @ 80FC9F8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gTasks - mov r8, r0 - lsls r7, r5, 2 - adds r0, r7, r5 - lsls r0, 3 - mov r1, r8 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080FCA30 - cmp r0, 0x1 - beq _080FCA68 - movs r0, 0 - strh r0, [r4, 0x8] - adds r0, r5, 0 - bl SwitchTaskToFollowupFunc - b _080FCAB2 - .pool -_080FCA30: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _080FCAB2 - ldr r0, =gContestResources - ldr r2, [r0] - ldr r0, =gContestPlayerMonIndex - ldrb r0, [r0] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - ldr r0, [r2, 0x4] - adds r0, r1 - adds r0, 0x6 - movs r1, 0x2 - bl sub_80FC4F4 - cmp r0, 0x1 - bne _080FCAB2 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080FCAB2 - .pool -_080FCA68: - bl sub_80FC55C - lsls r0, 24 - cmp r0, 0 - beq _080FCAB2 - movs r2, 0 - ldr r6, =gUnknown_02039F30 - mov r9, r8 - mov r12, r7 - ldrb r0, [r6] - cmp r2, r0 - bge _080FCAA4 - ldr r1, =gContestResources - mov r8, r1 - ldr r4, =gBlockRecvBuffer - movs r3, 0 - movs r7, 0x80 - lsls r7, 1 -_080FCA8C: - mov r1, r8 - ldr r0, [r1] - ldr r0, [r0, 0x4] - adds r0, r3, r0 - ldrh r1, [r4] - strh r1, [r0, 0x6] - adds r4, r7 - adds r3, 0x1C - adds r2, 0x1 - ldrb r0, [r6] - cmp r2, r0 - blt _080FCA8C -_080FCAA4: - mov r0, r12 - adds r1, r0, r5 - lsls r1, 3 - add r1, r9 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_080FCAB2: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FC9F8 - - thumb_func_start sub_80FCACC -sub_80FCACC: @ 80FCACC - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r2, r0, r1 - movs r3, 0x8 - ldrsh r0, [r2, r3] - adds r3, r1, 0 - cmp r0, 0xB - bls _080FCAE8 - b _080FCC78 -_080FCAE8: - lsls r0, 2 - ldr r1, =_080FCAFC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080FCAFC: - .4byte _080FCB2C - .4byte _080FCB44 - .4byte _080FCB6C - .4byte _080FCB90 - .4byte _080FCBA4 - .4byte _080FCB6C - .4byte _080FCBCC - .4byte _080FCBE0 - .4byte _080FCB6C - .4byte _080FCC08 - .4byte _080FCC38 - .4byte _080FCB6C -_080FCB2C: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - bne _080FCB38 - b _080FCC82 -_080FCB38: - ldr r0, =gUnknown_02039F08 - movs r1, 0x8 - b _080FCC16 - .pool -_080FCB44: - bl sub_80FC55C - lsls r0, 24 - cmp r0, 0 - bne _080FCB50 - b _080FCC82 -_080FCB50: - ldr r0, =gUnknown_02039F08 - ldr r1, =gUnknown_02039F2B - ldrb r1, [r1] - lsls r1, 8 - ldr r2, =gBlockRecvBuffer - adds r1, r2 - movs r2, 0x8 - b _080FCC50 - .pool -_080FCB6C: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r2, r0, r3 - ldrh r0, [r2, 0xA] - adds r1, r0, 0x1 - strh r1, [r2, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - bgt _080FCB84 - b _080FCC82 -_080FCB84: - movs r0, 0 - strh r0, [r2, 0xA] - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - b _080FCC82 -_080FCB90: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _080FCC82 - ldr r0, =gUnknown_02039F10 - movs r1, 0x8 - b _080FCC16 - .pool -_080FCBA4: - bl sub_80FC55C - lsls r0, 24 - cmp r0, 0 - beq _080FCC82 - ldr r0, =gUnknown_02039F10 - ldr r1, =gUnknown_02039F2B - ldrb r1, [r1] - lsls r1, 8 - ldr r2, =gBlockRecvBuffer - adds r1, r2 - movs r2, 0x8 - b _080FCC50 - .pool -_080FCBCC: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _080FCC82 - ldr r0, =gUnknown_02039F18 - movs r1, 0x8 - b _080FCC16 - .pool -_080FCBE0: - bl sub_80FC55C - lsls r0, 24 - cmp r0, 0 - beq _080FCC82 - ldr r0, =gUnknown_02039F18 - ldr r1, =gUnknown_02039F2B - ldrb r1, [r1] - lsls r1, 8 - ldr r2, =gBlockRecvBuffer - adds r1, r2 - movs r2, 0x8 - b _080FCC50 - .pool -_080FCC08: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _080FCC82 - ldr r0, =gContestFinalStandings - movs r1, 0x4 -_080FCC16: - bl sub_80FC4F4 - cmp r0, 0x1 - bne _080FCC82 - ldr r0, =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] - b _080FCC82 - .pool -_080FCC38: - bl sub_80FC55C - lsls r0, 24 - cmp r0, 0 - beq _080FCC82 - ldr r0, =gContestFinalStandings - ldr r1, =gUnknown_02039F2B - ldrb r1, [r1] - lsls r1, 8 - ldr r2, =gBlockRecvBuffer - adds r1, r2 - movs r2, 0x4 -_080FCC50: - bl memcpy - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - b _080FCC82 - .pool -_080FCC78: - movs r0, 0 - strh r0, [r2, 0x8] - adds r0, r4, 0 - bl SwitchTaskToFollowupFunc -_080FCC82: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80FCACC - - thumb_func_start sub_80FCC88 -sub_80FCC88: @ 80FCC88 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r2, r0, r1 - movs r3, 0x8 - ldrsh r0, [r2, r3] - adds r3, r1, 0 - cmp r0, 0xB - bls _080FCCA4 - b _080FCE38 -_080FCCA4: - lsls r0, 2 - ldr r1, =_080FCCB8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080FCCB8: - .4byte _080FCCE8 - .4byte _080FCD04 - .4byte _080FCD30 - .4byte _080FCD54 - .4byte _080FCD6C - .4byte _080FCD30 - .4byte _080FCD98 - .4byte _080FCDB0 - .4byte _080FCD30 - .4byte _080FCDC8 - .4byte _080FCDF8 - .4byte _080FCD30 -_080FCCE8: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - bne _080FCCF4 - b _080FCE42 -_080FCCF4: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x4] - movs r1, 0x70 - b _080FCDD6 - .pool -_080FCD04: - bl sub_80FC55C - lsls r0, 24 - cmp r0, 0 - bne _080FCD10 - b _080FCE42 -_080FCD10: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x4] - ldr r1, =gUnknown_02039F2B - ldrb r1, [r1] - lsls r1, 8 - ldr r2, =gBlockRecvBuffer - adds r1, r2 - movs r2, 0x70 - b _080FCE10 - .pool -_080FCD30: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r2, r0, r3 - ldrh r0, [r2, 0xA] - adds r1, r0, 0x1 - strh r1, [r2, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - bgt _080FCD48 - b _080FCE42 -_080FCD48: - movs r0, 0 - strh r0, [r2, 0xA] - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - b _080FCE42 -_080FCD54: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _080FCE42 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - movs r1, 0x14 - b _080FCDD6 - .pool -_080FCD6C: - bl sub_80FC55C - lsls r0, 24 - cmp r0, 0 - beq _080FCE42 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldr r1, =gUnknown_02039F2B - ldrb r1, [r1] - lsls r1, 8 - ldr r2, =gBlockRecvBuffer - adds r1, r2 - movs r2, 0x14 - b _080FCE10 - .pool -_080FCD98: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _080FCE42 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x10] - b _080FCDD4 - .pool -_080FCDB0: - bl sub_80FC55C - lsls r0, 24 - cmp r0, 0 - beq _080FCE42 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x10] - b _080FCE04 - .pool -_080FCDC8: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _080FCE42 - ldr r0, =gUnknown_02039F26 -_080FCDD4: - movs r1, 0x4 -_080FCDD6: - bl sub_80FC4F4 - cmp r0, 0x1 - bne _080FCE42 - ldr r0, =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] - b _080FCE42 - .pool -_080FCDF8: - bl sub_80FC55C - lsls r0, 24 - cmp r0, 0 - beq _080FCE42 - ldr r0, =gUnknown_02039F26 -_080FCE04: - ldr r1, =gUnknown_02039F2B - ldrb r1, [r1] - lsls r1, 8 - ldr r2, =gBlockRecvBuffer - adds r1, r2 - movs r2, 0x4 -_080FCE10: - bl memcpy - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - b _080FCE42 - .pool -_080FCE38: - movs r0, 0 - strh r0, [r2, 0x8] - adds r0, r4, 0 - bl SwitchTaskToFollowupFunc -_080FCE42: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80FCC88 - - thumb_func_start sub_80FCE48 -sub_80FCE48: @ 80FCE48 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - mov r8, r0 - adds r0, r6 - lsls r5, r0, 3 - ldr r7, =gTasks + 0x8 - adds r0, r5, r7 - adds r0, 0x18 - bl sub_80FC670 - cmp r0, 0 - beq _080FCF2E - movs r1, 0x8 - negs r1, r1 - adds r1, r7 - mov r9, r1 - adds r4, r5, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080FCEC0 - cmp r0, 0x1 - bgt _080FCE8C - cmp r0, 0 - beq _080FCE92 - b _080FCF16 - .pool -_080FCE8C: - cmp r0, 0xA - beq _080FCEFC - b _080FCF16 -_080FCE92: - ldr r1, =gBlockSendBuffer - movs r0, 0x6E - strb r0, [r1] - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _080FCEB8 - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _080FCF2E - movs r0, 0xA - strh r0, [r4, 0x8] - b _080FCF2E - .pool -_080FCEB8: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080FCF2E -_080FCEC0: - bl sub_80FC55C - lsls r0, 24 - cmp r0, 0 - beq _080FCF2E - mov r1, r8 - mov r8, r9 - ldr r4, =gBlockRecvBuffer - adds r0, r7, 0 - adds r0, 0xA - adds r2, r5, r0 - movs r5, 0x80 - lsls r5, 1 - movs r3, 0x3 -_080FCEDC: - ldrh r0, [r4] - strh r0, [r2] - adds r4, r5 - adds r2, 0x2 - subs r3, 0x1 - cmp r3, 0 - bge _080FCEDC - adds r1, r6 - lsls r1, 3 - add r1, r8 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _080FCF2E - .pool -_080FCEFC: - ldrh r0, [r4, 0x1E] - adds r0, 0x1 - strh r0, [r4, 0x1E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - ble _080FCF2E - movs r0, 0x2 - bl sub_800A4D8 - movs r0, 0x1 - strh r0, [r4, 0x8] - b _080FCF2E -_080FCF16: - ldr r0, =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - movs r0, 0 - strh r0, [r1, 0x8] - strh r0, [r1, 0x1E] - strh r0, [r1, 0x20] - adds r0, r6, 0 - bl SwitchTaskToFollowupFunc -_080FCF2E: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FCE48 - - thumb_func_start sub_80FCF40 -sub_80FCF40: @ 80FCF40 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r4, r0, 3 - ldr r6, =gTasks + 0x8 - adds r0, r4, r6 - adds r0, 0x18 - bl sub_80FC670 - cmp r0, 0 - beq _080FCFBE - adds r0, r6, 0 - subs r0, 0x8 - adds r4, r0 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080FCF80 - cmp r0, 0x1 - beq _080FCF9C - movs r0, 0 - strh r0, [r4, 0x8] - strh r0, [r4, 0x20] - adds r0, r5, 0 - bl SwitchTaskToFollowupFunc - b _080FCFBE - .pool -_080FCF80: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _080FCFBE - ldr r0, =gContestMonConditions - movs r1, 0x8 - bl sub_80FC4F4 - cmp r0, 0x1 - bne _080FCFBE - b _080FCFB8 - .pool -_080FCF9C: - bl sub_80FC55C - lsls r0, 24 - cmp r0, 0 - beq _080FCFBE - ldr r0, =gContestMonConditions - ldr r1, =gUnknown_02039F2B - ldrb r1, [r1] - lsls r1, 8 - ldr r2, =gBlockRecvBuffer - adds r1, r2 - movs r2, 0x8 - bl memcpy -_080FCFB8: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080FCFBE: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FCF40 - - thumb_func_start sub_80FCFD0 -sub_80FCFD0: @ 80FCFD0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r4, r0, 3 - ldr r6, =gTasks + 0x8 - adds r0, r4, r6 - adds r0, 0x18 - bl sub_80FC670 - cmp r0, 0 - beq _080FD04E - adds r0, r6, 0 - subs r0, 0x8 - adds r4, r0 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080FD010 - cmp r0, 0x1 - beq _080FD02C - movs r0, 0 - strh r0, [r4, 0x8] - strh r0, [r4, 0x20] - adds r0, r5, 0 - bl SwitchTaskToFollowupFunc - b _080FD04E - .pool -_080FD010: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _080FD04E - ldr r0, =gUnknown_02039F26 - movs r1, 0x4 - bl sub_80FC4F4 - cmp r0, 0x1 - bne _080FD04E - b _080FD048 - .pool -_080FD02C: - bl sub_80FC55C - lsls r0, 24 - cmp r0, 0 - beq _080FD04E - ldr r0, =gUnknown_02039F26 - ldr r1, =gUnknown_02039F2B - ldrb r1, [r1] - lsls r1, 8 - ldr r2, =gBlockRecvBuffer - adds r1, r2 - movs r2, 0x4 - bl memcpy -_080FD048: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080FD04E: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FCFD0 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/contest_link_81D9DE4.s b/asm/contest_link_81D9DE4.s deleted file mode 100644 index 3969be9a23..0000000000 --- a/asm/contest_link_81D9DE4.s +++ /dev/null @@ -1,890 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_81D9DE4 -sub_81D9DE4: @ 81D9DE4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - movs r1, 0x1A - ldrsh r0, [r0, r1] - cmp r0, 0x4 - bhi _081D9EA4 - lsls r0, 2 - ldr r1, =_081D9E10 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081D9E10: - .4byte _081D9E24 - .4byte _081D9E44 - .4byte _081D9E64 - .4byte _081D9E84 - .4byte _081D9EA4 -_081D9E24: - ldr r4, =gUnknown_02039F31 - ldr r0, =gUnknown_02039F24 - ldrb r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x32 - b _081D9EB4 - .pool -_081D9E44: - ldr r4, =gUnknown_02039F31 - ldr r0, =gUnknown_02039F24 - ldrb r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x33 - b _081D9EB4 - .pool -_081D9E64: - ldr r4, =gUnknown_02039F31 - ldr r0, =gUnknown_02039F24 - ldrb r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x34 - b _081D9EB4 - .pool -_081D9E84: - ldr r4, =gUnknown_02039F31 - ldr r0, =gUnknown_02039F24 - ldrb r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x35 - b _081D9EB4 - .pool -_081D9EA4: - ldr r4, =gUnknown_02039F31 - ldr r0, =gUnknown_02039F24 - ldrb r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x36 -_081D9EB4: - bl GetMonData - strb r0, [r4] - ldr r5, =gContestMons - ldr r4, =gContestPlayerMonIndex - ldrb r0, [r4] - lsls r0, 6 - adds r0, r5 - ldr r1, =gUnknown_02039F31 - ldrb r1, [r1] - adds r0, 0x2C - strb r1, [r0] - ldr r0, =0x00000864 @ = FLAG_SYS_GAME_CLEAR - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - negs r0, r0 - lsrs r0, 31 - ldrb r1, [r4] - lsls r1, 6 - adds r1, r5 - adds r1, 0x2D - strb r0, [r1] - ldr r1, =sub_81DA160 - ldr r2, =sub_81D9F14 - adds r0, r6, 0 - bl SetTaskFuncWithFollowupFunc - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D9DE4 - - thumb_func_start sub_81D9F14 -sub_81D9F14: @ 81D9F14 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =sub_81DA244 - ldr r2, =sub_81D9F30 - bl SetTaskFuncWithFollowupFunc - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D9F14 - - thumb_func_start sub_81D9F30 -sub_81D9F30: @ 81D9F30 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =sub_81DA2E8 - ldr r2, =sub_81D9F4C - bl SetTaskFuncWithFollowupFunc - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D9F30 - - thumb_func_start sub_81D9F4C -sub_81D9F4C: @ 81D9F4C - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =sub_81DA3B8 - ldr r2, =sub_81D9F68 - bl SetTaskFuncWithFollowupFunc - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D9F4C - - thumb_func_start sub_81D9F68 -sub_81D9F68: @ 81D9F68 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r6, r0, 24 - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - movs r3, 0 - ldr r5, =gUnknown_02039F30 - mov r8, r5 - ldr r0, =gSpecialVar_0x8004 - mov r12, r0 - add r1, sp, 0x4 - mov r9, r1 - ldrb r4, [r5] - cmp r3, r4 - bcs _081D9FB2 - lsls r0, r6, 2 - adds r0, r6 - lsls r4, r0, 3 - ldr r7, =gTasks + 0x8 -_081D9F98: - mov r0, sp - adds r2, r0, r3 - adds r1, r3, 0x1 - lsls r0, r1, 1 - adds r0, r4 - adds r0, r7 - ldrh r0, [r0] - strb r0, [r2] - lsls r1, 24 - lsrs r3, r1, 24 - ldrb r1, [r5] - cmp r3, r1 - bcc _081D9F98 -_081D9FB2: - movs r3, 0 - mov r4, r8 - ldrb r0, [r4] - cmp r3, r0 - bcs _081D9FD6 - adds r4, r0, 0 - mov r2, sp -_081D9FC0: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, r4 - bcs _081D9FD6 - mov r7, sp - adds r1, r7, r3 - ldrb r0, [r2] - ldrb r1, [r1] - cmp r0, r1 - beq _081D9FC0 -_081D9FD6: - mov r0, r8 - ldrb r0, [r0] - cmp r3, r0 - bne _081D9FF4 - movs r0, 0 - mov r1, r12 - strh r0, [r1] - b _081D9FFA - .pool -_081D9FF4: - movs r0, 0x1 - mov r4, r12 - strh r0, [r4] -_081D9FFA: - movs r3, 0 - mov r7, r8 - mov r0, r8 - ldrb r0, [r0] - cmp r3, r0 - bcs _081DA02A - mov r4, r9 - lsls r0, r6, 2 - adds r0, r6 - lsls r2, r0, 3 - ldr r5, =gTasks + 0x8 -_081DA010: - adds r1, r4, r3 - adds r0, r3, 0x5 - lsls r0, 1 - adds r0, r2 - adds r0, r5 - ldrh r0, [r0] - strb r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - ldrb r1, [r7] - cmp r3, r1 - bcc _081DA010 -_081DA02A: - mov r4, r8 - ldrb r0, [r4] - cmp r0, 0x4 - beq _081DA0B8 - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _081DA0B8 - ldr r0, =gContestMons - adds r1, r0, 0 - adds r1, 0x2C - ldrb r2, [r1] - movs r3, 0x1 - ldrb r1, [r4] - adds r5, r0, 0 - cmp r3, r1 - bcs _081DA06C - adds r4, r5, 0 - mov r7, r8 - ldrb r1, [r7] -_081DA054: - lsls r0, r3, 6 - adds r0, r4 - adds r0, 0x2C - ldrb r7, [r0] - cmp r2, r7 - bcs _081DA062 - ldrb r2, [r0] -_081DA062: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, r1 - bcc _081DA054 -_081DA06C: - cmp r2, 0 - beq _081DA076 - subs r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 -_081DA076: - movs r4, 0x1 - movs r3, 0 - mov r0, r8 - ldrb r0, [r0] - cmp r3, r0 - bcs _081DA0AC - adds r0, r5, 0 - b _081DA0A2 - .pool -_081DA090: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - mov r1, r8 - ldrb r1, [r1] - cmp r3, r1 - bcs _081DA0AC - lsls r0, r3, 6 - adds r0, r5 -_081DA0A2: - adds r0, 0x2D - ldrb r0, [r0] - cmp r0, 0 - bne _081DA090 - movs r4, 0 -_081DA0AC: - mov r0, sp - ldrb r0, [r0] - adds r1, r2, 0 - adds r2, r4, 0 - bl sub_80DACBC -_081DA0B8: - mov r0, r9 - bl sub_80F86E0 - ldr r1, =gUnknown_02039F2B - strb r0, [r1] - ldr r0, =gUnknown_02039F30 - ldrb r0, [r0] - cmp r0, 0x3 - bhi _081DA0E8 - ldr r1, =sub_81DA488 - ldr r2, =sub_81DA10C - adds r0, r6, 0 - bl SetTaskFuncWithFollowupFunc - b _081DA0F6 - .pool -_081DA0E8: - ldr r0, =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81DA10C - str r0, [r1] -_081DA0F6: - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D9F68 - - thumb_func_start sub_81DA10C -sub_81DA10C: @ 81DA10C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gSpecialVar_ContestCategory - ldrb r0, [r0] - bl sub_80DB09C - ldr r1, =sub_80FCF40 - ldr r2, =sub_81DA138 - adds r0, r4, 0 - bl SetTaskFuncWithFollowupFunc - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81DA10C - - thumb_func_start sub_81DA138 -sub_81DA138: @ 81DA138 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - bl sub_80DCE58 - ldr r1, =sub_80FCFD0 - ldr r2, =sub_80F8714 - adds r0, r4, 0 - bl SetTaskFuncWithFollowupFunc - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81DA138 - - thumb_func_start sub_81DA160 -sub_81DA160: @ 81DA160 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - lsls r6, r7, 2 - adds r0, r6, r7 - lsls r4, r0, 3 - ldr r5, =gTasks + 0x8 - adds r0, r4, r5 - adds r0, 0x18 - bl sub_80FC670 - cmp r0, 0 - beq _081DA224 - adds r0, r5, 0 - subs r0, 0x8 - adds r4, r0 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _081DA1A4 - cmp r0, 0x1 - beq _081DA1D4 - movs r0, 0 - strh r0, [r4, 0x8] - strh r0, [r4, 0x20] - adds r0, r7, 0 - bl SwitchTaskToFollowupFunc - b _081DA224 - .pool -_081DA1A4: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _081DA224 - ldr r0, =gContestPlayerMonIndex - ldrb r0, [r0] - lsls r0, 6 - ldr r1, =gContestMons - adds r0, r1 - movs r1, 0x40 - bl sub_80FC4F4 - cmp r0, 0x1 - bne _081DA224 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _081DA224 - .pool -_081DA1D4: - bl sub_80FC55C - lsls r0, 24 - cmp r0, 0 - beq _081DA224 - movs r5, 0 - ldr r0, =gUnknown_02039F30 - mov r8, r6 - ldrb r0, [r0] - cmp r5, r0 - bge _081DA214 - ldr r6, =gLinkPlayers -_081DA1EC: - lsls r4, r5, 6 - ldr r0, =gContestMons - adds r4, r0 - lsls r1, r5, 8 - ldr r0, =gBlockRecvBuffer - adds r1, r0 - adds r0, r4, 0 - movs r2, 0x40 - bl memcpy - ldrh r1, [r6, 0x1A] - adds r0, r4, 0 - bl sub_80DFA08 - adds r6, 0x1C - adds r5, 0x1 - ldr r0, =gUnknown_02039F30 - ldrb r0, [r0] - cmp r5, r0 - blt _081DA1EC -_081DA214: - ldr r0, =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] -_081DA224: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81DA160 - - thumb_func_start sub_81DA244 -sub_81DA244: @ 81DA244 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r5, r0, 3 - ldr r6, =gTasks + 0x8 - adds r0, r5, r6 - adds r0, 0x18 - bl sub_80FC670 - cmp r0, 0 - beq _081DA2D4 - adds r0, r6, 0 - subs r0, 0x8 - adds r5, r0 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _081DA284 - cmp r0, 0x1 - beq _081DA2AC - movs r0, 0 - strh r0, [r5, 0x8] - strh r0, [r5, 0x20] - adds r0, r4, 0 - bl SwitchTaskToFollowupFunc - b _081DA2D4 - .pool -_081DA284: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _081DA2CE - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _081DA2D4 - ldr r0, =gRngValue - movs r1, 0x4 - bl sub_80FC4F4 - cmp r0, 0x1 - bne _081DA2D4 - b _081DA2CE - .pool -_081DA2AC: - movs r0, 0 - bl sub_80FC530 - lsls r0, 24 - cmp r0, 0 - beq _081DA2D4 - ldr r0, =gRngValue - ldr r4, =gBlockRecvBuffer - adds r1, r4, 0 - movs r2, 0x4 - bl memcpy - ldr r0, =gContestRngValue - adds r1, r4, 0 - movs r2, 0x4 - bl memcpy -_081DA2CE: - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_081DA2D4: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81DA244 - - thumb_func_start sub_81DA2E8 -sub_81DA2E8: @ 81DA2E8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - mov r9, r0 - adds r0, r6 - lsls r5, r0, 3 - ldr r1, =gTasks + 0x8 - mov r8, r1 - adds r0, r5, r1 - adds r0, 0x18 - bl sub_80FC670 - cmp r0, 0 - beq _081DA39E - movs r0, 0x8 - negs r0, r0 - add r0, r8 - mov r10, r0 - adds r4, r5, r0 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _081DA338 - cmp r0, 0x1 - beq _081DA35A - movs r0, 0 - strh r0, [r4, 0x8] - strh r0, [r4, 0x20] - adds r0, r6, 0 - bl SwitchTaskToFollowupFunc - b _081DA39E - .pool -_081DA338: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _081DA39E - add r0, sp, 0x8 - movs r1, 0x6E - strh r1, [r0] - movs r1, 0x2 - bl sub_80FC4F4 - cmp r0, 0x1 - bne _081DA39E - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _081DA39E -_081DA35A: - bl sub_80FC55C - lsls r0, 24 - cmp r0, 0 - beq _081DA39E - movs r1, 0 - ldr r7, =gUnknown_02039F30 - ldrb r0, [r7] - cmp r1, r0 - bge _081DA390 - mov r0, r8 - adds r0, 0xA - adds r3, r5, r0 - ldr r4, =gBlockRecvBuffer - mov r2, sp - movs r5, 0x80 - lsls r5, 1 -_081DA37C: - ldrh r0, [r4] - strh r0, [r2] - strh r0, [r3] - adds r3, 0x2 - adds r4, r5 - adds r2, 0x2 - adds r1, 0x1 - ldrb r0, [r7] - cmp r1, r0 - blt _081DA37C -_081DA390: - mov r0, r9 - adds r1, r0, r6 - lsls r1, 3 - add r1, r10 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_081DA39E: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81DA2E8 - - thumb_func_start sub_81DA3B8 -sub_81DA3B8: @ 81DA3B8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - mov r9, r0 - adds r0, r6 - lsls r5, r0, 3 - ldr r1, =gTasks + 0x8 - mov r8, r1 - adds r0, r5, r1 - adds r0, 0x18 - bl sub_80FC670 - cmp r0, 0 - beq _081DA46E - movs r0, 0x8 - negs r0, r0 - add r0, r8 - mov r10, r0 - adds r4, r5, r0 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _081DA408 - cmp r0, 0x1 - beq _081DA42A - movs r0, 0 - strh r0, [r4, 0x8] - strh r0, [r4, 0x20] - adds r0, r6, 0 - bl SwitchTaskToFollowupFunc - b _081DA46E - .pool -_081DA408: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _081DA46E - ldrh r1, [r4, 0x1A] - add r0, sp, 0x8 - strh r1, [r0] - movs r1, 0x2 - bl sub_80FC4F4 - cmp r0, 0x1 - bne _081DA46E - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _081DA46E -_081DA42A: - bl sub_80FC55C - lsls r0, 24 - cmp r0, 0 - beq _081DA46E - movs r1, 0 - ldr r7, =gUnknown_02039F30 - ldrb r0, [r7] - cmp r1, r0 - bge _081DA460 - mov r0, r8 - adds r0, 0x2 - adds r3, r5, r0 - ldr r4, =gBlockRecvBuffer - mov r2, sp - movs r5, 0x80 - lsls r5, 1 -_081DA44C: - ldrh r0, [r4] - strh r0, [r2] - strh r0, [r3] - adds r3, 0x2 - adds r4, r5 - adds r2, 0x2 - adds r1, 0x1 - ldrb r0, [r7] - cmp r1, r0 - blt _081DA44C -_081DA460: - mov r0, r9 - adds r1, r0, r6 - lsls r1, 3 - add r1, r10 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_081DA46E: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81DA3B8 - - thumb_func_start sub_81DA488 -sub_81DA488: @ 81DA488 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r7, r6, 2 - adds r0, r7, r6 - lsls r4, r0, 3 - ldr r5, =gTasks + 0x8 - adds r0, r4, r5 - adds r0, 0x18 - bl sub_80FC670 - cmp r0, 0 - beq _081DA55C - adds r0, r5, 0 - subs r0, 0x8 - adds r4, r0 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _081DA4CC - cmp r0, 0x1 - beq _081DA50C - movs r0, 0 - strh r0, [r4, 0x8] - strh r0, [r4, 0x20] - adds r0, r6, 0 - bl SwitchTaskToFollowupFunc - b _081DA55C - .pool -_081DA4CC: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _081DA4FA - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _081DA55C - ldr r0, =gUnknown_02039F30 - ldrb r2, [r0] - lsls r0, r2, 6 - ldr r1, =gContestMons - adds r0, r1 - movs r1, 0x4 - subs r1, r2 - lsls r1, 22 - lsrs r1, 16 - bl sub_80FC4F4 - cmp r0, 0x1 - bne _081DA55C -_081DA4FA: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _081DA55C - .pool -_081DA50C: - movs r0, 0 - bl sub_80FC530 - lsls r0, 24 - cmp r0, 0 - beq _081DA55C - ldr r4, =gUnknown_02039F30 - ldrb r3, [r4] - lsls r0, r3, 6 - ldr r5, =gContestMons - adds r0, r5 - ldr r1, =gBlockRecvBuffer - movs r2, 0x4 - subs r2, r3 - lsls r2, 6 - bl memcpy - ldrb r4, [r4] - mov r8, r7 - cmp r4, 0x3 - bgt _081DA54C - lsls r0, r4, 6 - adds r5, r0, r5 - ldr r7, =gLinkPlayers -_081DA53C: - ldrh r1, [r7, 0x1A] - adds r0, r5, 0 - bl sub_80DFA08 - adds r5, 0x40 - adds r4, 0x1 - cmp r4, 0x3 - ble _081DA53C -_081DA54C: - ldr r0, =gTasks - mov r2, r8 - adds r1, r2, r6 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_081DA55C: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81DA488 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/contest_painting_effects.s b/asm/contest_painting_effects.s index 36ef184b9c..801e840b9a 100644 --- a/asm/contest_painting_effects.s +++ b/asm/contest_painting_effects.s @@ -5,2188 +5,9 @@ .text - thumb_func_start sub_8124F2C -sub_8124F2C: @ 8124F2C - push {lr} - ldr r2, =gUnknown_03006168 - ldr r1, [r0, 0x4] - str r1, [r2] - ldr r2, =gUnknown_0300617C - ldrb r1, [r0, 0x1F] - strb r1, [r2] - ldr r2, =gUnknown_03006164 - ldrb r1, [r0, 0x19] - strb r1, [r2] - ldr r2, =gUnknown_03006178 - ldrb r1, [r0, 0x1A] - strb r1, [r2] - ldr r2, =gUnknown_03006174 - ldrb r1, [r0, 0x1B] - strb r1, [r2] - ldr r2, =gUnknown_0300616C - ldrb r1, [r0, 0x1C] - strb r1, [r2] - ldr r2, =gUnknown_03006180 - ldrb r1, [r0, 0x1D] - strb r1, [r2] - ldr r2, =gUnknown_03006170 - ldrb r1, [r0, 0x1E] - strb r1, [r2] - ldrb r0, [r0] - subs r0, 0x2 - cmp r0, 0x22 - bls _08124F68 - b _081250B4 -_08124F68: - lsls r0, 2 - ldr r1, =_08124F98 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08124F98: - .4byte _08125024 - .4byte _081250B4 - .4byte _081250B4 - .4byte _081250B4 - .4byte _08125084 - .4byte _081250B4 - .4byte _0812502A - .4byte _08125030 - .4byte _08125044 - .4byte _08125056 - .4byte _081250B4 - .4byte _0812506C - .4byte _081250B4 - .4byte _081250B4 - .4byte _081250B4 - .4byte _081250B4 - .4byte _081250B4 - .4byte _081250B4 - .4byte _081250B4 - .4byte _081250B4 - .4byte _081250B4 - .4byte _081250B4 - .4byte _081250B4 - .4byte _081250B4 - .4byte _081250B4 - .4byte _081250B4 - .4byte _081250B4 - .4byte _081250B4 - .4byte _08125072 - .4byte _08125050 - .4byte _08125078 - .4byte _0812507E - .4byte _081250B4 - .4byte _081250B4 - .4byte _08125090 -_08125024: - bl sub_8125230 - b _081250B4 -_0812502A: - bl sub_81252E8 - b _081250B4 -_08125030: - bl sub_81254E0 - ldr r0, =gUnknown_0300617C - ldrb r0, [r0] - bl sub_81253A4 - b _081250B4 - .pool -_08125044: - bl sub_81254E0 - bl sub_8125630 - bl sub_8125448 -_08125050: - bl sub_8125630 - b _081250B4 -_08125056: - bl sub_81254E0 - bl sub_81257F8 - bl sub_81257F8 - bl sub_81258A0 - bl sub_8125448 - b _081250B4 -_0812506C: - bl sub_81256C8 - b _081250B4 -_08125072: - bl sub_81254E0 - b _081250B4 -_08125078: - bl sub_81257F8 - b _081250B4 -_0812507E: - bl sub_81258A0 - b _081250B4 -_08125084: - bl sub_8125250 - movs r0, 0x3 - bl sub_81250B8 - b _081250B4 -_08125090: - bl sub_81254E0 - bl sub_81257F8 - bl sub_81258A0 - bl sub_8125448 - bl sub_81252E8 - bl sub_81252E8 - movs r0, 0x2 - bl sub_81250B8 - movs r0, 0x4 - bl sub_8125170 -_081250B4: - pop {r0} - bx r0 - thumb_func_end sub_8124F2C - thumb_func_start sub_81250B8 -sub_81250B8: @ 81250B8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r7, r0, 24 - movs r2, 0 - ldr r0, =gUnknown_0300616C - mov r8, r0 - ldrb r0, [r0] - cmp r2, r0 - bcs _0812514A - ldr r1, =gUnknown_03006174 - mov r12, r1 - ldr r3, =gUnknown_03006180 - mov r10, r3 - ldr r0, =gUnknown_03006164 - mov r9, r0 -_081250DE: - ldr r1, =gUnknown_03006178 - ldrb r0, [r1] - adds r0, r2 - mov r3, r10 - ldrb r1, [r3] - muls r0, r1 - lsls r0, 1 - ldr r3, =gUnknown_03006168 - ldr r1, [r3] - adds r1, r0 - mov r3, r9 - ldrb r0, [r3] - lsls r0, 1 - adds r3, r1, r0 - movs r4, 0 - adds r5, r2, 0x1 - mov r0, r12 - ldrb r0, [r0] - cmp r4, r0 - bcs _0812513E - movs r6, 0x80 - lsls r6, 8 -_0812510A: - ldrh r1, [r3] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - bne _0812512E - movs r0, 0x1F - ands r0, r1 - adds r0, r7 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1F - bls _08125124 - movs r2, 0x1F -_08125124: - lsls r0, r2, 10 - lsls r1, r2, 5 - orrs r0, r1 - orrs r0, r2 - strh r0, [r3] -_0812512E: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - adds r3, 0x2 - mov r1, r12 - ldrb r1, [r1] - cmp r4, r1 - bcc _0812510A -_0812513E: - lsls r0, r5, 24 - lsrs r2, r0, 24 - mov r3, r8 - ldrb r3, [r3] - cmp r2, r3 - bcc _081250DE -_0812514A: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81250B8 - thumb_func_start sub_8125170 -sub_8125170: @ 8125170 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r2, 0 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - cmp r2, r0 - bcs _08125208 - ldr r1, =gUnknown_03006174 - mov r10, r1 -_0812518E: - ldr r3, =gUnknown_03006178 - ldrb r0, [r3] - adds r0, r2 - ldr r3, =gUnknown_03006180 - ldrb r1, [r3] - muls r0, r1 - lsls r0, 1 - ldr r3, =gUnknown_03006168 - ldr r1, [r3] - adds r1, r0 - ldr r3, =gUnknown_03006164 - ldrb r0, [r3] - lsls r0, 1 - adds r3, r1, r0 - movs r5, 0 - adds r7, r2, 0x1 - mov r0, r10 - ldrb r0, [r0] - cmp r5, r0 - bcs _081251FC - movs r1, 0x80 - lsls r1, 8 - mov r9, r1 - movs r0, 0x1F - mov r12, r0 - mov r1, r8 - subs r6, r0, r1 -_081251C4: - ldrh r1, [r3] - mov r0, r9 - ands r0, r1 - cmp r0, 0 - bne _081251EC - movs r4, 0x1F - mov r2, r12 - ands r2, r1 - cmp r2, r6 - ble _081251E2 - mov r1, r8 - lsrs r0, r1, 1 - subs r0, r4, r0 - lsls r0, 24 - lsrs r2, r0, 24 -_081251E2: - lsls r0, r2, 10 - lsls r1, r2, 5 - orrs r0, r1 - orrs r0, r2 - strh r0, [r3] -_081251EC: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r3, 0x2 - mov r0, r10 - ldrb r0, [r0] - cmp r5, r0 - bcc _081251C4 -_081251FC: - lsls r0, r7, 24 - lsrs r2, r0, 24 - ldr r1, =gUnknown_0300616C - ldrb r1, [r1] - cmp r2, r1 - bcc _0812518E -_08125208: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8125170 - thumb_func_start sub_8125230 -sub_8125230: @ 8125230 - push {r4,r5,lr} - movs r4, 0 - ldr r5, =0x00000c7f -_08125236: - lsls r0, r4, 16 - lsrs r0, 16 - bl sub_8125954 - adds r4, 0x1 - cmp r4, r5 - bls _08125236 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8125230 - - thumb_func_start sub_8125250 -sub_8125250: @ 8125250 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - movs r2, 0 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - cmp r2, r0 - bcs _081252C2 - ldr r0, =gUnknown_03006168 - mov r8, r0 - ldr r3, =gUnknown_03006174 -_08125268: - ldr r0, =gUnknown_03006178 - ldrb r1, [r0] - adds r1, r2 - ldr r0, =gUnknown_03006180 - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - mov r4, r8 - ldr r1, [r4] - adds r1, r0 - ldr r0, =gUnknown_03006164 - ldrb r0, [r0] - lsls r0, 1 - adds r4, r1, r0 - movs r5, 0 - adds r6, r2, 0x1 - ldrb r0, [r3] - cmp r5, r0 - bcs _081252B6 - movs r0, 0x80 - lsls r0, 8 - adds r7, r0, 0 -_08125294: - ldrh r0, [r4] - ands r0, r7 - cmp r0, 0 - bne _081252A8 - adds r0, r4, 0 - str r3, [sp] - bl sub_8125B28 - strh r0, [r4] - ldr r3, [sp] -_081252A8: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x2 - ldrb r0, [r3] - cmp r5, r0 - bcc _08125294 -_081252B6: - lsls r0, r6, 24 - lsrs r2, r0, 24 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - cmp r2, r0 - bcc _08125268 -_081252C2: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8125250 - - thumb_func_start sub_81252E8 -sub_81252E8: @ 81252E8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - movs r2, 0 - ldr r0, =gUnknown_03006174 - ldrb r0, [r0] - cmp r2, r0 - bcs _0812537E - ldr r0, =gUnknown_03006168 - mov r8, r0 - ldr r3, =gUnknown_03006180 -_08125300: - ldr r0, =gUnknown_03006178 - ldrb r1, [r0] - ldrb r0, [r3] - muls r0, r1 - lsls r0, 1 - mov r4, r8 - ldr r1, [r4] - adds r1, r0 - ldr r0, =gUnknown_03006164 - ldrb r0, [r0] - adds r0, r2 - lsls r0, 1 - adds r4, r1, r0 - ldrh r1, [r4] - mov r0, sp - strh r1, [r0] - movs r5, 0x1 - ldrb r0, [r3] - lsls r0, 1 - adds r4, r0 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - subs r0, 0x1 - adds r7, r2, 0x1 - cmp r5, r0 - bge _08125372 - ldr r6, =gUnknown_03006180 -_08125336: - ldrh r0, [r4] - movs r2, 0x80 - lsls r2, 8 - adds r1, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _0812535C - ldrb r2, [r6] - lsls r2, 1 - adds r2, r4, r2 - mov r0, sp - adds r1, r4, 0 - str r3, [sp, 0x4] - bl sub_8125E18 - strh r0, [r4] - mov r1, sp - strh r0, [r1] - ldr r3, [sp, 0x4] -_0812535C: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldrb r0, [r6] - lsls r0, 1 - adds r4, r0 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - subs r0, 0x1 - cmp r5, r0 - blt _08125336 -_08125372: - lsls r0, r7, 24 - lsrs r2, r0, 24 - ldr r0, =gUnknown_03006174 - ldrb r0, [r0] - cmp r2, r0 - bcc _08125300 -_0812537E: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81252E8 - - thumb_func_start sub_81253A4 -sub_81253A4: @ 81253A4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r2, 0 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - cmp r2, r0 - bcs _08125420 - ldr r0, =gUnknown_03006168 - mov r9, r0 - ldr r3, =gUnknown_03006174 -_081253C4: - ldr r0, =gUnknown_03006178 - ldrb r1, [r0] - adds r1, r2 - ldr r0, =gUnknown_03006180 - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - mov r4, r9 - ldr r1, [r4] - adds r1, r0 - ldr r0, =gUnknown_03006164 - ldrb r0, [r0] - lsls r0, 1 - adds r4, r1, r0 - movs r5, 0 - adds r6, r2, 0x1 - ldrb r0, [r3] - cmp r5, r0 - bcs _08125414 - movs r0, 0x80 - lsls r0, 8 - adds r7, r0, 0 -_081253F0: - ldrh r0, [r4] - ands r0, r7 - cmp r0, 0 - bne _08125406 - adds r0, r4, 0 - mov r1, r8 - str r3, [sp] - bl sub_8125B5C - strh r0, [r4] - ldr r3, [sp] -_08125406: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x2 - ldrb r0, [r3] - cmp r5, r0 - bcc _081253F0 -_08125414: - lsls r0, r6, 24 - lsrs r2, r0, 24 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - cmp r2, r0 - bcc _081253C4 -_08125420: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81253A4 - - thumb_func_start sub_8125448 -sub_8125448: @ 8125448 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - movs r2, 0 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - cmp r2, r0 - bcs _081254BA - ldr r0, =gUnknown_03006168 - mov r8, r0 - ldr r3, =gUnknown_03006174 -_08125460: - ldr r0, =gUnknown_03006178 - ldrb r1, [r0] - adds r1, r2 - ldr r0, =gUnknown_03006180 - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - mov r4, r8 - ldr r1, [r4] - adds r1, r0 - ldr r0, =gUnknown_03006164 - ldrb r0, [r0] - lsls r0, 1 - adds r4, r1, r0 - movs r5, 0 - adds r6, r2, 0x1 - ldrb r0, [r3] - cmp r5, r0 - bcs _081254AE - movs r0, 0x80 - lsls r0, 8 - adds r7, r0, 0 -_0812548C: - ldrh r0, [r4] - ands r0, r7 - cmp r0, 0 - bne _081254A0 - adds r0, r4, 0 - str r3, [sp] - bl sub_8125C68 - strh r0, [r4] - ldr r3, [sp] -_081254A0: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x2 - ldrb r0, [r3] - cmp r5, r0 - bcc _0812548C -_081254AE: - lsls r0, r6, 24 - lsrs r2, r0, 24 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - cmp r2, r0 - bcc _08125460 -_081254BA: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8125448 - - thumb_func_start sub_81254E0 -sub_81254E0: @ 81254E0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r7, 0 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - cmp r7, r0 - bcs _0812556C - ldr r0, =gUnknown_03006168 - mov r8, r0 -_081254F6: - ldr r0, =gUnknown_03006178 - ldrb r1, [r0] - adds r1, r7 - ldr r0, =gUnknown_03006180 - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - mov r2, r8 - ldr r1, [r2] - adds r1, r0 - ldr r0, =gUnknown_03006164 - ldrb r0, [r0] - lsls r0, 1 - adds r5, r1, r0 - adds r4, r5, 0x2 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8125C98 - strh r0, [r5] - movs r6, 0x1 - adds r5, r4, 0 - ldr r0, =gUnknown_03006174 - ldrb r0, [r0] - subs r0, 0x1 - adds r7, 0x1 - cmp r6, r0 - bge _08125556 -_0812552E: - adds r4, r5, 0x2 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8125C98 - strh r0, [r5] - subs r1, r5, 0x2 - adds r0, r5, 0 - bl sub_8125C98 - strh r0, [r5] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r5, r4, 0 - ldr r0, =gUnknown_03006174 - ldrb r0, [r0] - subs r0, 0x1 - cmp r6, r0 - blt _0812552E -_08125556: - subs r1, r5, 0x2 - adds r0, r5, 0 - bl sub_8125C98 - strh r0, [r5] - lsls r0, r7, 24 - lsrs r7, r0, 24 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - cmp r7, r0 - bcc _081254F6 -_0812556C: - movs r6, 0 - ldr r0, =gUnknown_03006174 - ldrb r0, [r0] - cmp r6, r0 - bcs _0812560C - ldr r3, =gUnknown_03006168 - mov r9, r3 - ldr r0, =gUnknown_03006180 - mov r8, r0 -_0812557E: - ldr r0, =gUnknown_03006178 - ldrb r0, [r0] - mov r2, r8 - ldrb r1, [r2] - muls r0, r1 - lsls r0, 1 - mov r3, r9 - ldr r2, [r3] - adds r2, r0 - ldr r0, =gUnknown_03006164 - ldrb r0, [r0] - adds r0, r6 - lsls r0, 1 - adds r5, r2, r0 - lsls r1, 1 - adds r1, r5, r1 - adds r0, r5, 0 - bl sub_8125C98 - strh r0, [r5] - movs r7, 0x1 - mov r1, r8 - ldrb r0, [r1] - lsls r0, 1 - adds r5, r0 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - subs r0, 0x1 - adds r6, 0x1 - cmp r7, r0 - bge _081255F0 - ldr r4, =gUnknown_03006180 -_081255BE: - ldrb r1, [r4] - lsls r1, 1 - adds r1, r5, r1 - adds r0, r5, 0 - bl sub_8125C98 - strh r0, [r5] - ldrb r1, [r4] - lsls r1, 1 - subs r1, r5, r1 - adds r0, r5, 0 - bl sub_8125C98 - strh r0, [r5] - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - ldrb r0, [r4] - lsls r0, 1 - adds r5, r0 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - subs r0, 0x1 - cmp r7, r0 - blt _081255BE -_081255F0: - mov r2, r8 - ldrb r1, [r2] - lsls r1, 1 - subs r1, r5, r1 - adds r0, r5, 0 - bl sub_8125C98 - strh r0, [r5] - lsls r0, r6, 24 - lsrs r6, r0, 24 - ldr r0, =gUnknown_03006174 - ldrb r0, [r0] - cmp r6, r0 - bcc _0812557E -_0812560C: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81254E0 - - thumb_func_start sub_8125630 -sub_8125630: @ 8125630 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - movs r2, 0 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - cmp r2, r0 - bcs _081256A2 - ldr r0, =gUnknown_03006168 - mov r8, r0 - ldr r3, =gUnknown_03006174 -_08125648: - ldr r0, =gUnknown_03006178 - ldrb r1, [r0] - adds r1, r2 - ldr r0, =gUnknown_03006180 - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - mov r4, r8 - ldr r1, [r4] - adds r1, r0 - ldr r0, =gUnknown_03006164 - ldrb r0, [r0] - lsls r0, 1 - adds r4, r1, r0 - movs r5, 0 - adds r6, r2, 0x1 - ldrb r0, [r3] - cmp r5, r0 - bcs _08125696 - movs r0, 0x80 - lsls r0, 8 - adds r7, r0, 0 -_08125674: - ldrh r0, [r4] - ands r0, r7 - cmp r0, 0 - bne _08125688 - adds r0, r4, 0 - str r3, [sp] - bl sub_8125CC8 - strh r0, [r4] - ldr r3, [sp] -_08125688: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x2 - ldrb r0, [r3] - cmp r5, r0 - bcc _08125674 -_08125696: - lsls r0, r6, 24 - lsrs r2, r0, 24 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - cmp r2, r0 - bcc _08125648 -_081256A2: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8125630 - - thumb_func_start sub_81256C8 -sub_81256C8: @ 81256C8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - ldr r0, =gUnknown_03006168 - ldr r4, [r0] - movs r6, 0 - movs r0, 0x80 - lsls r0, 8 - adds r5, r0, 0 -_081256E0: - movs r7, 0 -_081256E2: - ldrh r0, [r4] - ands r0, r5 - cmp r0, 0 - bne _081256F2 - adds r0, r4, 0 - bl sub_8125CC8 - strh r0, [r4] -_081256F2: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - adds r4, 0x2 - cmp r7, 0x3F - bls _081256E2 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x3F - bls _081256E0 - movs r7, 0 - ldr r1, =gUnknown_03006168 - mov r10, r1 - mov r3, sp - movs r2, 0x80 - lsls r2, 8 - mov r9, r2 -_08125716: - lsls r0, r7, 1 - mov r2, r10 - ldr r1, [r2] - adds r4, r1, r0 - ldrh r1, [r4] - strh r1, [r3] - mov r1, r9 - strh r1, [r4] - movs r6, 0x1 - adds r4, 0x80 - adds r5, r0, 0 -_0812572C: - ldrh r0, [r4] - movs r2, 0x80 - lsls r2, 8 - ands r0, r2 - cmp r0, 0 - bne _0812574C - adds r2, r4, 0 - adds r2, 0x80 - mov r0, sp - adds r1, r4, 0 - str r3, [sp, 0x4] - bl sub_8125F38 - strh r0, [r4] - ldr r3, [sp, 0x4] - strh r0, [r3] -_0812574C: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r4, 0x80 - cmp r6, 0x3E - bls _0812572C - mov r0, r9 - strh r0, [r4] - mov r1, r10 - ldr r0, [r1] - adds r4, r0, r5 - ldrh r0, [r4] - strh r0, [r3] - mov r2, r9 - strh r2, [r4] - movs r6, 0x1 - adds r4, 0x80 - movs r0, 0x80 - lsls r0, 8 - mov r8, r0 -_08125774: - ldrh r0, [r4] - mov r1, r8 - ands r0, r1 - adds r5, r4, 0 - adds r5, 0x80 - cmp r0, 0 - bne _08125794 - mov r0, sp - adds r1, r4, 0 - adds r2, r5, 0 - str r3, [sp, 0x4] - bl sub_8125F38 - strh r0, [r4] - ldr r3, [sp, 0x4] - strh r0, [r3] -_08125794: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r4, r5, 0 - cmp r6, 0x3E - bls _08125774 - mov r2, r9 - strh r2, [r4] - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x3F - bls _08125716 - ldr r0, =gUnknown_03006168 - ldr r4, [r0] - movs r6, 0 - movs r0, 0x80 - lsls r0, 8 - mov r8, r0 -_081257BA: - movs r7, 0 - adds r5, r6, 0x1 -_081257BE: - ldrh r0, [r4] - mov r1, r8 - ands r0, r1 - cmp r0, 0 - bne _081257D0 - adds r0, r4, 0 - bl sub_8125CC8 - strh r0, [r4] -_081257D0: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - adds r4, 0x2 - cmp r7, 0x3F - bls _081257BE - lsls r0, r5, 24 - lsrs r6, r0, 24 - cmp r6, 0x3F - bls _081257BA - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81256C8 - - thumb_func_start sub_81257F8 -sub_81257F8: @ 81257F8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - movs r2, 0 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - cmp r2, r0 - bcs _0812587A - ldr r0, =gUnknown_03006168 - mov r8, r0 -_0812580E: - ldr r0, =gUnknown_03006178 - ldrb r1, [r0] - adds r1, r2 - ldr r0, =gUnknown_03006180 - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - mov r3, r8 - ldr r1, [r3] - adds r1, r0 - ldr r0, =gUnknown_03006164 - ldrb r0, [r0] - lsls r0, 1 - adds r4, r1, r0 - ldrh r1, [r4] - mov r0, sp - strh r1, [r0] - movs r5, 0x1 - adds r4, 0x2 - ldr r0, =gUnknown_03006174 - ldrb r0, [r0] - subs r0, 0x1 - adds r6, r2, 0x1 - cmp r5, r0 - bge _0812586E - movs r0, 0x80 - lsls r0, 8 - adds r7, r0, 0 -_08125846: - ldrh r0, [r4] - ands r0, r7 - cmp r0, 0 - bne _0812585C - mov r0, sp - adds r1, r4, 0 - bl sub_8125CF4 - strh r0, [r4] - mov r1, sp - strh r0, [r1] -_0812585C: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x2 - ldr r0, =gUnknown_03006174 - ldrb r0, [r0] - subs r0, 0x1 - cmp r5, r0 - blt _08125846 -_0812586E: - lsls r0, r6, 24 - lsrs r2, r0, 24 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - cmp r2, r0 - bcc _0812580E -_0812587A: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81257F8 - - thumb_func_start sub_81258A0 -sub_81258A0: @ 81258A0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - movs r2, 0 - ldr r0, =gUnknown_03006174 - ldrb r0, [r0] - cmp r2, r0 - bcs _0812592E - ldr r0, =gUnknown_03006168 - mov r8, r0 - ldr r7, =gUnknown_03006180 -_081258B8: - ldr r0, =gUnknown_03006178 - ldrb r1, [r0] - ldrb r0, [r7] - muls r0, r1 - lsls r0, 1 - mov r3, r8 - ldr r1, [r3] - adds r1, r0 - ldr r0, =gUnknown_03006164 - ldrb r0, [r0] - adds r0, r2 - lsls r0, 1 - adds r4, r1, r0 - ldrh r1, [r4] - mov r0, sp - strh r1, [r0] - movs r5, 0x1 - ldrb r0, [r7] - lsls r0, 1 - adds r4, r0 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - subs r0, 0x1 - adds r6, r2, 0x1 - cmp r5, r0 - bge _08125922 - movs r0, 0x80 - lsls r0, 8 - adds r2, r0, 0 -_081258F2: - ldrh r0, [r4] - ands r0, r2 - cmp r0, 0 - bne _0812590C - mov r0, sp - adds r1, r4, 0 - str r2, [sp, 0x4] - bl sub_8125CF4 - strh r0, [r4] - mov r1, sp - strh r0, [r1] - ldr r2, [sp, 0x4] -_0812590C: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldrb r0, [r7] - lsls r0, 1 - adds r4, r0 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - subs r0, 0x1 - cmp r5, r0 - blt _081258F2 -_08125922: - lsls r0, r6, 24 - lsrs r2, r0, 24 - ldr r0, =gUnknown_03006174 - ldrb r0, [r0] - cmp r2, r0 - bcc _081258B8 -_0812592E: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81258A0 - - thumb_func_start sub_8125954 -sub_8125954: @ 8125954 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - mov r2, sp - ldr r3, =gUnknown_085A1F94 - lsls r1, r0, 1 - add r1, r10 - adds r0, r1, r3 - ldrb r0, [r0] - strb r0, [r2] - adds r0, r3, 0x1 - adds r0, r1, r0 - ldrb r0, [r0] - strb r0, [r2, 0x1] - mov r5, sp - adds r0, r3, 0x2 - adds r1, r0 - ldrb r4, [r1] - lsls r2, r4, 24 - lsrs r1, r2, 27 - movs r0, 0x7 - ands r1, r0 - strh r1, [r5, 0x2] - lsrs r2, 25 - mov r9, r2 - movs r0, 0x3 - ands r2, r0 - mov r9, r2 - movs r5, 0x1 - ands r5, r4 - movs r4, 0x1 - mov r8, r4 - cmp r8, r1 - bcs _08125A06 - mov r3, sp -_081259A6: - cmp r5, 0 - bne _081259C4 - mov r0, r8 - lsls r2, r0, 2 - mov r4, sp - adds r1, r4, r2 - ldrb r0, [r3] - mov r4, r8 - subs r0, r4 - strb r0, [r1] - ldrb r0, [r3, 0x1] - add r0, r8 - b _081259D6 - .pool -_081259C4: - mov r0, r8 - lsls r2, r0, 2 - mov r4, sp - adds r1, r4, r2 - ldrb r0, [r3] - adds r0, 0x1 - strb r0, [r1] - ldrb r0, [r3, 0x1] - subs r0, 0x1 -_081259D6: - strb r0, [r1, 0x1] - add r2, sp - ldrb r0, [r2] - cmp r0, 0x3F - bhi _081259E6 - ldrb r0, [r2, 0x1] - cmp r0, 0x3F - bls _081259EE -_081259E6: - mov r0, r8 - subs r0, 0x1 - strh r0, [r3, 0x2] - b _08125A06 -_081259EE: - ldrh r0, [r3, 0x2] - mov r1, r8 - subs r0, r1 - strh r0, [r2, 0x2] - mov r0, r8 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldrh r0, [r3, 0x2] - cmp r8, r0 - bcc _081259A6 -_08125A06: - movs r2, 0 - mov r8, r2 - mov r0, sp - ldrh r0, [r0, 0x2] - cmp r8, r0 - bcc _08125A14 - b _08125B16 -_08125A14: - movs r3, 0x1F -_08125A16: - ldr r1, =gUnknown_03006168 - mov r4, r8 - lsls r0, r4, 2 - mov r2, sp - adds r6, r2, r0 - ldrb r0, [r6, 0x1] - lsls r0, 7 - ldr r1, [r1] - adds r1, r0 - ldrb r0, [r6] - lsls r0, 1 - adds r2, r1, r0 - ldrh r1, [r2] - movs r4, 0x80 - lsls r4, 8 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - bne _08125B02 - movs r7, 0x1F - ands r7, r1 - lsls r0, r1, 16 - lsrs r5, r0, 21 - ands r5, r3 - lsrs r4, r0, 26 - ands r4, r3 - mov r0, r9 - cmp r0, 0 - blt _08125AF8 - cmp r0, 0x1 - ble _08125A78 - cmp r0, 0x3 - bgt _08125AF8 - ldrh r0, [r6, 0x2] - adds r1, r7, r0 - lsls r1, 16 - lsrs r7, r1, 16 - adds r1, r5, r0 - lsls r1, 16 - lsrs r5, r1, 16 - adds r0, r4, r0 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r7, 0x1F - bls _08125AEC - movs r7, 0x1F - b _08125AEC - .pool -_08125A78: - mov r1, r10 - lsls r0, r1, 1 - add r0, r10 - ldr r1, =gUnknown_085A1F94 - adds r1, 0x2 - adds r0, r1 - ldrb r0, [r0] - lsrs r0, 3 - movs r1, 0x7 - ands r0, r1 - movs r1, 0x3 - str r2, [sp, 0x18] - str r3, [sp, 0x1C] - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - ldr r2, [sp, 0x18] - ldr r3, [sp, 0x1C] - cmp r0, 0x1 - beq _08125AC8 - cmp r0, 0x1 - bgt _08125AB0 - cmp r0, 0 - beq _08125AB6 - b _08125AF8 - .pool -_08125AB0: - cmp r0, 0x2 - beq _08125ADA - b _08125AF8 -_08125AB6: - ldrh r0, [r6, 0x2] - cmp r7, r0 - bcc _08125AC4 - subs r0, r7, r0 - lsls r0, 16 - lsrs r7, r0, 16 - b _08125AF8 -_08125AC4: - movs r7, 0 - b _08125AF8 -_08125AC8: - ldrh r0, [r6, 0x2] - cmp r5, r0 - bcc _08125AD6 - subs r0, r5, r0 - lsls r0, 16 - lsrs r5, r0, 16 - b _08125AF8 -_08125AD6: - movs r5, 0 - b _08125AF8 -_08125ADA: - ldrh r0, [r6, 0x2] - cmp r4, r0 - bcc _08125AE8 - subs r0, r4, r0 - lsls r0, 16 - lsrs r4, r0, 16 - b _08125AF8 -_08125AE8: - movs r4, 0 - b _08125AF8 -_08125AEC: - cmp r5, 0x1F - bls _08125AF2 - movs r5, 0x1F -_08125AF2: - cmp r4, 0x1F - bls _08125AF8 - movs r4, 0x1F -_08125AF8: - lsls r0, r4, 10 - lsls r1, r5, 5 - orrs r0, r1 - orrs r7, r0 - strh r7, [r2] -_08125B02: - mov r0, r8 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - mov r0, sp - ldrh r0, [r0, 0x2] - cmp r8, r0 - bcs _08125B16 - b _08125A16 -_08125B16: - 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_8125954 - - thumb_func_start sub_8125B28 -sub_8125B28: @ 8125B28 - ldrh r2, [r0] - movs r0, 0x1F - adds r1, r2, 0 - ands r1, r0 - asrs r3, r2, 5 - ands r3, r0 - asrs r2, 10 - ands r2, r0 - movs r0, 0x4C - muls r1, r0 - movs r0, 0x97 - muls r0, r3 - adds r1, r0 - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r2 - adds r1, r0 - asrs r1, 8 - lsls r0, r1, 10 - lsls r2, r1, 5 - orrs r0, r2 - orrs r0, r1 - lsls r0, 16 - lsrs r0, 16 - bx lr - thumb_func_end sub_8125B28 - - thumb_func_start sub_8125B5C -sub_8125B5C: @ 8125B5C - push {r4,lr} - lsls r1, 24 - lsrs r4, r1, 24 - ldrh r0, [r0] - movs r2, 0x1F - movs r1, 0x1F - ands r1, r0 - lsls r0, 16 - lsrs r3, r0, 21 - ands r3, r2 - lsrs r0, 26 - ands r0, r2 - cmp r1, 0x10 - bhi _08125B8C - cmp r3, 0x10 - bhi _08125B8C - cmp r0, 0x10 - bhi _08125B8C - adds r0, r4, 0 - bl sub_8125B98 - lsls r0, 16 - lsrs r0, 16 - b _08125B8E -_08125B8C: - ldr r0, =0x00007fff -_08125B8E: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8125B5C - - thumb_func_start sub_8125B98 -sub_8125B98: @ 8125B98 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - mov r8, r0 - movs r6, 0 - movs r7, 0 - adds r0, r4, 0 - movs r1, 0x6 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r4, 0 - movs r1, 0x6 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bhi _08125C50 - lsls r0, 2 - ldr r1, =_08125BE0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08125BE0: - .4byte _08125BF8 - .4byte _08125C08 - .4byte _08125C18 - .4byte _08125C26 - .4byte _08125C34 - .4byte _08125C42 -_08125BF8: - movs r0, 0x15 - subs r0, r5 - lsls r0, 16 - lsrs r6, r0, 16 - adds r7, r6, 0 - movs r1, 0 - mov r8, r1 - b _08125C50 -_08125C08: - movs r7, 0 - movs r0, 0x15 - subs r0, r5 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - mov r6, r8 - b _08125C50 -_08125C18: - movs r0, 0x15 - subs r0, r5 - lsls r0, 16 - lsrs r7, r0, 16 - movs r6, 0 - mov r8, r7 - b _08125C50 -_08125C26: - movs r7, 0 - movs r6, 0 - movs r0, 0x17 - subs r0, r5 - lsls r0, 16 - lsrs r0, 16 - b _08125C4E -_08125C34: - movs r0, 0x17 - subs r0, r5 - lsls r0, 16 - lsrs r7, r0, 16 - movs r6, 0 - mov r8, r6 - b _08125C50 -_08125C42: - movs r7, 0 - movs r0, 0x17 - subs r0, r5 - lsls r0, 16 - lsrs r6, r0, 16 - movs r0, 0 -_08125C4E: - mov r8, r0 -_08125C50: - lsls r0, r7, 10 - lsls r1, r6, 5 - orrs r0, r1 - mov r1, r8 - orrs r1, r0 - lsls r0, r1, 16 - lsrs r0, 16 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8125B98 - - thumb_func_start sub_8125C68 -sub_8125C68: @ 8125C68 - push {lr} - ldrh r0, [r0] - movs r2, 0x1F - movs r1, 0x1F - ands r1, r0 - lsls r0, 16 - lsrs r3, r0, 21 - ands r3, r2 - lsrs r0, 26 - ands r0, r2 - cmp r1, 0x10 - bhi _08125C8C - cmp r3, 0x10 - bhi _08125C8C - cmp r0, 0x10 - bhi _08125C8C - movs r0, 0 - b _08125C8E -_08125C8C: - ldr r0, =0x00007fff -_08125C8E: - pop {r1} - bx r1 - .pool - thumb_func_end sub_8125C68 - - thumb_func_start sub_8125C98 -sub_8125C98: @ 8125C98 - push {r4,lr} - adds r4, r0, 0 - ldrh r3, [r4] - cmp r3, 0 - beq _08125CC0 - movs r2, 0x80 - lsls r2, 8 - adds r0, r2, 0 - ands r0, r3 - cmp r0, 0 - beq _08125CB2 - adds r0, r2, 0 - b _08125CC2 -_08125CB2: - ldrh r1, [r1] - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _08125CC0 - ldrh r0, [r4] - b _08125CC2 -_08125CC0: - movs r0, 0 -_08125CC2: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8125C98 - - thumb_func_start sub_8125CC8 -sub_8125CC8: @ 8125CC8 - push {r4,lr} - ldrh r1, [r0] - movs r0, 0x1F - movs r3, 0x1F - ands r3, r1 - lsls r1, 16 - lsrs r2, r1, 21 - lsrs r1, 26 - subs r3, r0, r3 - adds r4, r0, 0 - bics r4, r2 - adds r2, r4, 0 - bics r0, r1 - lsls r0, 10 - lsls r2, 5 - orrs r0, r2 - orrs r0, r3 - lsls r0, 16 - lsrs r0, 16 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8125CC8 - - thumb_func_start sub_8125CF4 -sub_8125CF4: @ 8125CF4 - push {r4-r7,lr} - sub sp, 0x14 - adds r7, r1, 0 - ldrh r4, [r0] - ldrh r5, [r7] - lsls r6, r4, 16 - lsls r0, r5, 16 - mov r12, r0 - cmp r4, r5 - beq _08125D66 - mov r2, sp - movs r3, 0x1F - movs r1, 0x1F - adds r0, r1, 0 - ands r0, r4 - strh r0, [r2] - lsrs r0, r6, 21 - ands r0, r3 - strh r0, [r2, 0x2] - lsrs r0, r6, 26 - ands r0, r3 - strh r0, [r2, 0x4] - mov r0, sp - ands r1, r5 - strh r1, [r0, 0x6] - mov r1, sp - mov r2, r12 - lsrs r0, r2, 21 - ands r0, r3 - strh r0, [r1, 0x8] - lsrs r0, r2, 26 - ands r0, r3 - strh r0, [r1, 0xA] - mov r0, sp - ldrh r0, [r0] - cmp r0, 0x19 - bls _08125D4E - mov r0, sp - ldrh r0, [r0, 0x2] - cmp r0, 0x19 - bls _08125D4E - mov r0, sp - ldrh r0, [r0, 0x4] - cmp r0, 0x19 - bhi _08125D66 -_08125D4E: - mov r0, sp - ldrh r0, [r0, 0x6] - cmp r0, 0x19 - bls _08125D6A - mov r0, sp - ldrh r0, [r0, 0x8] - cmp r0, 0x19 - bls _08125D6A - mov r0, sp - ldrh r0, [r0, 0xA] - cmp r0, 0x19 - bls _08125D6A -_08125D66: - ldrh r0, [r7] - b _08125E10 -_08125D6A: - movs r4, 0 - add r6, sp, 0xC - mov r7, sp - adds r7, 0x6 - adds r5, r6, 0 -_08125D74: - lsls r2, r4, 1 - mov r1, sp - adds r0, r1, r2 - adds r1, r7, r2 - ldrh r3, [r0] - ldrh r0, [r1] - cmp r3, r0 - bls _08125D8A - adds r1, r5, r2 - subs r0, r3, r0 - b _08125D8E -_08125D8A: - adds r1, r5, r2 - subs r0, r3 -_08125D8E: - strh r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _08125D74 - adds r1, r6, 0 - ldrh r0, [r1, 0x2] - ldrh r3, [r1] - cmp r3, r0 - bcc _08125DB4 - ldrh r2, [r1, 0x4] - cmp r3, r2 - bcc _08125DAE - adds r2, r3, 0 - b _08125DC8 -_08125DAE: - cmp r0, r2 - bcs _08125DBA - b _08125DC2 -_08125DB4: - ldrh r2, [r1, 0x4] - cmp r0, r2 - bcc _08125DBE -_08125DBA: - ldrh r2, [r1, 0x2] - b _08125DC8 -_08125DBE: - cmp r2, r3 - bcc _08125DC6 -_08125DC2: - ldrh r2, [r1, 0x4] - b _08125DC8 -_08125DC6: - ldrh r2, [r6] -_08125DC8: - mov r0, sp - ldrh r1, [r0, 0x6] - lsrs r0, r2, 1 - movs r6, 0x1F - subs r6, r0 - adds r0, r1, 0 - muls r0, r6 - movs r1, 0x1F - bl __divsi3 - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - mov r0, sp - ldrh r0, [r0, 0x8] - muls r0, r6 - movs r1, 0x1F - bl __divsi3 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, sp - ldrh r0, [r0, 0xA] - muls r0, r6 - movs r1, 0x1F - bl __divsi3 - lsls r0, 16 - lsrs r0, 6 - lsls r4, 5 - orrs r0, r4 - orrs r5, r0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r5, 0 -_08125E10: - add sp, 0x14 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8125CF4 - - thumb_func_start sub_8125E18 -sub_8125E18: @ 8125E18 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r3, r0, 0 - mov r10, r1 - str r2, [sp] - ldrh r1, [r3] - mov r0, r10 - ldrh r0, [r0] - cmp r1, r0 - bne _08125E40 - ldrh r0, [r2] - cmp r0, r1 - bne _08125E40 - mov r1, r10 - ldrh r0, [r1] - b _08125F28 -_08125E40: - mov r2, r10 - ldrh r0, [r2] - movs r1, 0x1F - mov r9, r1 - movs r4, 0x1F - adds r5, r4, 0 - ands r5, r0 - lsls r0, 16 - lsrs r2, r0, 21 - mov r1, r9 - ands r1, r2 - mov r8, r1 - lsrs r0, 26 - mov r2, r9 - ands r2, r0 - str r2, [sp, 0x4] - ldrh r2, [r3] - adds r0, r4, 0 - ands r0, r2 - lsls r2, 16 - lsrs r1, r2, 21 - mov r3, r9 - ands r1, r3 - adds r0, r1 - lsrs r2, 26 - ands r2, r3 - adds r0, r2 - movs r1, 0x3 - bl __divsi3 - lsls r0, 16 - lsrs r7, r0, 16 - mov r1, r8 - adds r0, r5, r1 - ldr r2, [sp, 0x4] - adds r0, r2 - movs r1, 0x3 - bl __divsi3 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r3, [sp] - ldrh r1, [r3] - ands r4, r1 - lsls r1, 16 - lsrs r0, r1, 21 - mov r2, r9 - ands r0, r2 - adds r4, r0 - lsrs r1, 26 - ands r1, r2 - adds r4, r1 - adds r0, r4, 0 - movs r1, 0x3 - bl __divsi3 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r7, r6 - bne _08125EC2 - cmp r1, r6 - bne _08125EC2 - mov r3, r10 - ldrh r0, [r3] - b _08125F28 -_08125EC2: - cmp r7, r6 - bls _08125ECA - subs r0, r7, r6 - b _08125ECC -_08125ECA: - subs r0, r6, r7 -_08125ECC: - lsls r0, 16 - lsrs r2, r0, 16 - cmp r1, r6 - bls _08125ED8 - subs r0, r1, r6 - b _08125EDA -_08125ED8: - subs r0, r6, r1 -_08125EDA: - lsls r0, 16 - lsrs r0, 16 - cmp r2, r0 - bcc _08125EE4 - adds r0, r2, 0 -_08125EE4: - lsrs r0, 1 - movs r4, 0x1F - subs r4, r0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - muls r0, r4 - movs r1, 0x1F - bl __divsi3 - lsls r0, 16 - lsrs r5, r0, 16 - mov r0, r8 - muls r0, r4 - movs r1, 0x1F - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldr r1, [sp, 0x4] - adds r0, r1, 0 - muls r0, r4 - movs r1, 0x1F - bl __divsi3 - lsls r0, 16 - lsrs r0, 6 - mov r2, r8 - lsls r1, r2, 5 - orrs r0, r1 - orrs r5, r0 - lsls r0, r5, 16 - lsrs r0, 16 -_08125F28: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8125E18 - - thumb_func_start sub_8125F38 -sub_8125F38: @ 8125F38 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r3, r0, 0 - mov r10, r1 - str r2, [sp] - ldrh r1, [r3] - mov r0, r10 - ldrh r0, [r0] - cmp r1, r0 - bne _08125F60 - ldrh r0, [r2] - cmp r0, r1 - bne _08125F60 - mov r1, r10 - ldrh r0, [r1] - b _08126046 -_08125F60: - mov r2, r10 - ldrh r0, [r2] - movs r1, 0x1F - mov r9, r1 - movs r4, 0x1F - adds r5, r4, 0 - ands r5, r0 - lsls r0, 16 - lsrs r2, r0, 21 - mov r1, r9 - ands r1, r2 - mov r8, r1 - lsrs r0, 26 - mov r2, r9 - ands r2, r0 - str r2, [sp, 0x4] - ldrh r2, [r3] - adds r0, r4, 0 - ands r0, r2 - lsls r2, 16 - lsrs r1, r2, 21 - mov r3, r9 - ands r1, r3 - adds r0, r1 - lsrs r2, 26 - ands r2, r3 - adds r0, r2 - movs r1, 0x3 - bl __divsi3 - lsls r0, 16 - lsrs r7, r0, 16 - mov r1, r8 - adds r0, r5, r1 - ldr r2, [sp, 0x4] - adds r0, r2 - movs r1, 0x3 - bl __divsi3 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r3, [sp] - ldrh r1, [r3] - ands r4, r1 - lsls r1, 16 - lsrs r0, r1, 21 - mov r2, r9 - ands r0, r2 - adds r4, r0 - lsrs r1, 26 - ands r1, r2 - adds r4, r1 - adds r0, r4, 0 - movs r1, 0x3 - bl __divsi3 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r7, r6 - bne _08125FE2 - cmp r1, r6 - bne _08125FE2 - mov r3, r10 - ldrh r0, [r3] - b _08126046 -_08125FE2: - cmp r7, r6 - bls _08125FEA - subs r0, r7, r6 - b _08125FEC -_08125FEA: - subs r0, r6, r7 -_08125FEC: - lsls r0, 16 - lsrs r2, r0, 16 - cmp r1, r6 - bls _08125FF8 - subs r0, r1, r6 - b _08125FFA -_08125FF8: - subs r0, r6, r1 -_08125FFA: - lsls r0, 16 - lsrs r0, 16 - cmp r2, r0 - bcc _08126004 - adds r0, r2, 0 -_08126004: - movs r4, 0x1F - subs r4, r0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - muls r0, r4 - movs r1, 0x1F - bl __divsi3 - lsls r0, 16 - lsrs r5, r0, 16 - mov r0, r8 - muls r0, r4 - movs r1, 0x1F - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldr r1, [sp, 0x4] - adds r0, r1, 0 - muls r0, r4 - movs r1, 0x1F - bl __divsi3 - lsls r0, 16 - lsrs r0, 6 - mov r2, r8 - lsls r1, r2, 5 - orrs r0, r1 - orrs r5, r0 - lsls r0, r5, 16 - lsrs r0, 16 -_08126046: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8125F38 thumb_func_start sub_8126058 sub_8126058: @ 8126058 @@ -2793,7 +614,7 @@ _0812653C: .pool _0812656C: adds r0, r4, 0 - bl sub_8125C68 + bl ConvertToBlackOrWhite lsls r0, 16 cmp r0, 0 bne _0812657E diff --git a/asm/pokenav.s b/asm/pokenav.s index 52e17a6c63..16ee578bcd 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -8173,7 +8173,7 @@ _081CAFA4: ldrh r0, [r1, 0x1E] bl GetTrainerIdxByRematchIdx ldr r1, =gStringVar4 - bl sub_81967AC + bl SelectMatchCallMessage strb r0, [r6] b _081CAFCC .pool @@ -29322,14 +29322,14 @@ sub_81D5FB4: @ 81D5FB4 mov r9, r0 cmp r0, 0x6 bne _081D5FD2 - bl sub_8087D74 + bl InitMapFromSavedGame b _081D605E _081D5FD2: bl sub_81D56B0 mov r0, r9 cmp r0, 0x5 bne _081D5FE6 - bl sub_8087D74 + bl InitMapFromSavedGame bl sub_81D5710 b _081D605E _081D5FE6: @@ -29340,7 +29340,7 @@ _081D5FE6: ldr r0, =gMapHeader ldr r0, [r0] ldr r2, [r0, 0xC] - ldr r1, =gUnknown_03005DC0 + ldr r1, =gBackupMapLayout str r4, [r1, 0x8] movs r0, 0x1F str r0, [r1] diff --git a/asm/rom_8011DC0.s b/asm/rom_8011DC0.s index e6751247bf..64c0210018 100644 --- a/asm/rom_8011DC0.s +++ b/asm/rom_8011DC0.s @@ -8257,7 +8257,7 @@ _0801AF24: b _0801AF8A .pool _0801AF40: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0801AFAE @@ -13680,7 +13680,7 @@ _0801DA72: beq _0801DB46 b _0801DB5E _0801DA7C: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0801DB5E @@ -13713,7 +13713,7 @@ _0801DA7C: b _0801DB3E .pool _0801DAC8: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0801DB5E @@ -13752,7 +13752,7 @@ _0801DB08: strh r0, [r4, 0x10] b _0801DB5E _0801DB1C: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0801DB5E @@ -14364,7 +14364,7 @@ _0801DFCE: adds r0, 0x1 strh r0, [r1, 0x6] _0801DFE0: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0801E028 @@ -14389,7 +14389,7 @@ _0801DFE0: b _0801E028 .pool _0801E018: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0801E028 @@ -14838,7 +14838,7 @@ _0801E3AC: b _0801E458 .pool _0801E3D4: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0801E414 @@ -14978,7 +14978,7 @@ _0801E4E8: b _0801E59A .pool _0801E50C: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0801E5BC @@ -15013,7 +15013,7 @@ _0801E540: b _0801E59A .pool _0801E560: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0801E5BC @@ -15100,7 +15100,7 @@ _0801E604: lsls r0, 24 cmp r0, 0 bne _0801E662 - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0801E662 @@ -15212,7 +15212,7 @@ _0801E6F0: lsrs r0, 24 cmp r0, 0x1 beq _0801E75C - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0801E75C @@ -15304,7 +15304,7 @@ _0801E7AC: adds r0, 0x1 strh r0, [r1, 0x6] _0801E7C0: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -15348,7 +15348,7 @@ _0801E812: b _0801E830 .pool _0801E820: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0801E830 @@ -20715,7 +20715,7 @@ _08021358: bl sub_8010434 b _0802143E _0802135E: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08021444 @@ -23804,7 +23804,7 @@ _08022CE4: bl sub_8010434 b _08022D06 _08022CEA: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 bne _08022D06 @@ -24016,7 +24016,7 @@ _08022E6C: bl sub_8010434 b _08022E9C _08022E72: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08022EA2 @@ -24148,7 +24148,7 @@ _08022F74: bl sub_8010434 b _08023060 _08022F7A: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08023066 @@ -24170,7 +24170,7 @@ _08022F7A: bl SendBlock b _08023060 _08022FAA: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08023066 @@ -24300,7 +24300,7 @@ _080230A8: bl sub_8010434 b _080231A8 _080230BA: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _080231AE @@ -24369,7 +24369,7 @@ _08023120: b _080231A8 .pool _08023150: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _080231AE @@ -24395,7 +24395,7 @@ _08023172: bl sub_8010434 b _080231A8 _08023184: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _080231AE @@ -24547,7 +24547,7 @@ _0802329C: bl sub_8010434 b _080232DC _080232BE: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _080232E2 @@ -24591,7 +24591,7 @@ _08023302: beq _08023338 b _0802338C _0802330C: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08023392 @@ -24612,7 +24612,7 @@ _08023332: bl sub_8010434 b _0802338C _08023338: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08023392 @@ -25683,7 +25683,7 @@ _08023B7A: strh r0, [r4, 0x10] b _08023BB2 _08023B94: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08023BB8 @@ -25785,7 +25785,7 @@ _08023C2A: bl SetGpuReg b _08023C9C _08023C5C: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08023CA2 @@ -25884,7 +25884,7 @@ _08023D12: bl SendBlock b _0802402E _08023D2A: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 bne _08023D36 @@ -26227,7 +26227,7 @@ _08023FC4: bl SendBlock b _0802402E _08023FD0: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08024034 @@ -26451,7 +26451,7 @@ _080241A0: bl sub_8010434 b _08024218 _080241A6: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0802421E @@ -26630,7 +26630,7 @@ _08024300: bl sub_8010434 b _080243AC _08024306: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _080243B2 @@ -26646,7 +26646,7 @@ _08024306: bl SendBlock b _080243AC _08024328: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _080243B2 @@ -26914,7 +26914,7 @@ _08024522: bl sub_8010434 b _08024558 _08024528: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0802455E @@ -27814,7 +27814,7 @@ _08024C4C: bl sub_8010434 b _08024D20 _08024C5A: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08024D40 @@ -28075,7 +28075,7 @@ _08024E90: b _08024EF0 .pool _08024EA0: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08024F08 @@ -28116,7 +28116,7 @@ _08024EF0: strb r0, [r1, 0x10] b _08024F08 _08024EF8: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08024F08 @@ -28475,7 +28475,7 @@ _080251BA: strb r4, [r0, 0x8] b _08025202 _080251D0: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08025226 @@ -28560,7 +28560,7 @@ _08025252: ldr r1, [r5] b _080252CC _08025274: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08025316 @@ -28710,7 +28710,7 @@ _0802539C: b _08025448 .pool _080253BC: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08025466 @@ -28900,7 +28900,7 @@ _0802553C: b _080255E8 .pool _08025564: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0802563C @@ -29391,7 +29391,7 @@ _0802593E: b _08025976 .pool _0802596C: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _080259E8 @@ -39683,7 +39683,7 @@ _0802AD3C: b _0802ADC0 .pool _0802AD68: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0802AE08 diff --git a/asm/roulette.s b/asm/roulette.s deleted file mode 100644 index 4174924e6b..0000000000 --- a/asm/roulette.s +++ /dev/null @@ -1,9634 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8140238 -sub_8140238: @ 8140238 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - ldr r0, =gUnknown_0203AB88 - ldr r0, [r0] - adds r1, r0, 0 - adds r1, 0xB8 - ldrb r0, [r1] - cmp r0, 0 - beq _0814025A - adds r0, r1, 0 - bl task_tutorial_controls_fadein -_0814025A: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8140238 - - thumb_func_start sub_8140264 -sub_8140264: @ 8140264 - push {r4,lr} - sub sp, 0x4 - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - bl sub_8142814 - ldr r4, =gUnknown_0203AB88 - ldr r0, [r4] - ldrh r0, [r0, 0x26] - movs r2, 0x80 - lsls r2, 2 - adds r1, r2, 0 - subs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x14 - bl SetGpuReg - ldr r1, [r4] - ldrb r0, [r1, 0x1] - cmp r0, 0 - beq _081402A0 - ldrh r1, [r1, 0x34] - movs r0, 0x52 - bl SetGpuReg -_081402A0: - ldr r2, [r4] - movs r3, 0x2A - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _081402C0 - ldr r1, =0x040000d4 - ldr r3, =0x0000133c - adds r0, r2, r3 - str r0, [r1] - ldr r0, =0x060021c0 - str r0, [r1, 0x4] - ldr r0, =0x800001a0 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r0, 0 - strh r0, [r2, 0x2A] -_081402C0: - ldr r0, [r4] - movs r2, 0x28 - ldrsh r1, [r0, r2] - cmp r1, 0x1 - beq _081402EC - cmp r1, 0x1 - ble _08140374 - cmp r1, 0x2 - beq _08140324 - cmp r1, 0xFF - beq _08140348 - b _08140374 - .pool -_081402EC: - movs r0, 0 - movs r1, 0x1 - movs r2, 0 - bl SetBgAttribute - movs r0, 0 - bl ShowBg - ldr r1, =0x040000d4 - ldr r2, [r4] - movs r3, 0xCF - lsls r3, 2 - adds r0, r2, r3 - str r0, [r1] - ldr r0, =0x0600f9c0 - str r0, [r1, 0x4] - ldr r0, =0x800001a0 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r0, 0x2 - strh r0, [r2, 0x28] - b _08140374 - .pool -_08140324: - ldr r1, =0x040000d4 - movs r2, 0xCF - lsls r2, 2 - adds r0, r2 - str r0, [r1] - ldr r0, =0x0600f9c0 - str r0, [r1, 0x4] - ldr r0, =0x800001a0 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - b _08140374 - .pool -_08140348: - movs r0, 0 - movs r1, 0x1 - movs r2, 0x2 - bl SetBgAttribute - movs r0, 0 - bl ShowBg - mov r1, sp - movs r0, 0 - strh r0, [r1] - ldr r1, =0x040000d4 - mov r3, sp - str r3, [r1] - ldr r0, =0x0600f9c0 - str r0, [r1, 0x4] - ldr r0, =0x810001a0 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - ldr r1, [r4] - movs r0, 0 - strh r0, [r1, 0x28] -_08140374: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8140264 - - thumb_func_start sub_8140388 -sub_8140388: @ 8140388 - push {r4,r5,lr} - sub sp, 0x4 - movs r5, 0 - str r5, [sp] - ldr r4, =gUnknown_0203AB88 - movs r0, 0xE6 - lsls r0, 6 - bl AllocZeroed - str r0, [r4] - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_085B6140 - movs r0, 0x1 - movs r2, 0x3 - bl InitBgsFromTemplates - ldr r1, [r4] - movs r0, 0xBE - lsls r0, 1 - adds r1, r0 - movs r0, 0 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r2, =0x0000117c - adds r1, r2 - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r0, =0x0000317c - adds r1, r0 - movs r0, 0x2 - bl SetBgTilemapBuffer - ldr r0, =gUnknown_085B614C - bl InitWindows - bl sub_8197200 - ldr r0, =gUnknown_0203AB8C - strb r5, [r0] - ldr r0, =gUnknown_085B5DFC - mov r1, sp - bl malloc_and_decompress - ldr r1, [r4] - ldr r2, =0x0000397c - adds r1, r2 - str r0, [r1] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8140388 - - thumb_func_start sub_8140418 -sub_8140418: @ 8140418 - push {r4,r5,lr} - ldr r5, =gUnknown_0203AB88 - ldr r0, [r5] - ldr r4, =0x0000397c - adds r0, r4 - ldr r0, [r0] - bl Free - ldr r0, [r5] - adds r0, r4 - movs r4, 0 - str r4, [r0] - bl FreeAllWindowBuffers - movs r0, 0 - bl UnsetBgTilemapBuffer - movs r0, 0x1 - bl UnsetBgTilemapBuffer - movs r0, 0x2 - bl UnsetBgTilemapBuffer - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r0, [r5] - movs r2, 0xE6 - lsls r2, 6 - movs r1, 0 - bl memset - ldr r0, [r5] - bl Free - str r4, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8140418 - - thumb_func_start sub_8140470 -sub_8140470: @ 8140470 - push {r4-r6,lr} - sub sp, 0x8 - ldr r1, =gUnknown_085B6418 - mov r0, sp - movs r2, 0x6 - bl memcpy - ldr r5, =gUnknown_0203AB88 - ldr r3, [r5] - ldr r4, =gSpecialVar_0x8004 - ldrb r0, [r4] - movs r1, 0x1 - ands r1, r0 - ldrb r2, [r3, 0x4] - movs r0, 0x4 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x4] - ldrh r1, [r4] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081404AA - ldr r0, [r5] - ldrb r1, [r0, 0x4] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0, 0x4] -_081404AA: - ldr r1, [r5] - ldr r2, =gUnknown_085B6348 - ldrb r0, [r1, 0x4] - lsls r0, 30 - lsrs r0, 25 - adds r0, r2 - ldrb r0, [r0, 0x3] - adds r1, 0x22 - strb r0, [r1] - ldr r1, [r5] - ldrb r0, [r1, 0x4] - lsls r0, 30 - lsrs r0, 25 - adds r0, r2 - ldrb r0, [r0, 0x4] - adds r1, 0x23 - strb r0, [r1] - ldr r2, [r5] - ldr r3, =gUnknown_085B6344 - ldrb r1, [r2, 0x4] - lsls r0, r1, 30 - lsrs r0, 30 - lsrs r1, 7 - lsls r1, 1 - adds r0, r1 - adds r0, r3 - ldrb r0, [r0] - strb r0, [r2, 0x19] - ldr r2, [r5] - ldrb r1, [r2, 0x1A] - movs r0, 0xF - ands r0, r1 - movs r1, 0x10 - orrs r0, r1 - strb r0, [r2, 0x1A] - ldr r0, [r5] - ldrb r0, [r0, 0x19] - cmp r0, 0x1 - bne _08140520 - ldr r4, =gPlttBufferUnfaded - ldr r3, =gPlttBufferFaded - mov r0, sp - ldrh r2, [r0] - b _08140528 - .pool -_08140520: - ldr r4, =gPlttBufferUnfaded - ldr r3, =gPlttBufferFaded - mov r0, sp - ldrh r2, [r0, 0x2] -_08140528: - adds r0, r3, 0 - adds r0, 0xA2 - strh r2, [r0] - ldr r1, =0x0000ffff - adds r0, r1, 0 - ands r0, r2 - strh r0, [r3] - ands r0, r1 - adds r2, r4, 0 - adds r2, 0xA2 - strh r0, [r2] - ands r0, r1 - strh r0, [r4] - ldr r0, =gUnknown_0203AB88 - ldr r0, [r0] - adds r0, 0xB8 - bl sub_8151678 - movs r4, 0 -_0814054E: - ldr r5, =gUnknown_0203AB88 - ldr r0, [r5] - adds r0, 0xB8 - lsls r2, r4, 3 - ldr r1, =gUnknown_085B6388 - adds r2, r1 - adds r1, r4, 0 - bl sub_815168C - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xC - bls _0814054E - movs r4, 0 -_0814056C: - movs r0, 0x64 - muls r0, r4 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x41 - bl GetMonData - adds r1, r0, 0 - movs r0, 0x98 - lsls r0, 1 - cmp r1, r0 - beq _081405AC - adds r0, 0x2 - cmp r1, r0 - bne _081405B6 - ldr r0, [r5] - ldrb r1, [r0, 0x2] - movs r2, 0x1 - b _081405B2 - .pool -_081405AC: - ldr r0, [r5] - ldrb r1, [r0, 0x2] - movs r2, 0x2 -_081405B2: - orrs r1, r2 - strb r1, [r0, 0x2] -_081405B6: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _0814056C - bl RtcCalcLocalTime - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8140470 - - thumb_func_start sub_81405CC -sub_81405CC: @ 81405CC - push {r4,r5,lr} - sub sp, 0xC - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x8 - bls _081405E0 - b _081407F8 -_081405E0: - lsls r0, 2 - ldr r1, =_081405F4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081405F4: - .4byte _08140618 - .4byte _08140630 - .4byte _08140650 - .4byte _08140662 - .4byte _0814069C - .4byte _081406C0 - .4byte _081406E0 - .4byte _08140750 - .4byte _0814077A -_08140618: - movs r0, 0 - bl SetVBlankCallback - bl ScanlineEffect_Stop - bl SetVBlankHBlankCallbacksToNull - bl ResetVramOamAndBgCntRegs - bl ResetAllBgsCoordinates - b _081407F8 -_08140630: - bl sub_8140388 - bl DeactivateAllTextPrinters - movs r1, 0x90 - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - ldr r1, =0x0000060a - movs r0, 0x52 - bl SetGpuReg - b _081407F8 - .pool -_08140650: - bl ResetPaletteFade - bl ResetSpriteData - bl ResetTasks - bl reset_temp_tile_data_buffers - b _081407F8 -_08140662: - ldr r0, =gUnknown_085B5BFC - movs r2, 0xE0 - lsls r2, 1 - movs r1, 0 - bl LoadPalette - ldr r1, =gRouletteMenuTiles - movs r4, 0 - str r4, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - ldr r1, =gRouletteWheelTiles - str r4, [sp] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - b _081407F8 - .pool -_0814069C: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - beq _081406A8 - b _08140806 -_081406A8: - bl sub_8140470 - ldr r1, =gUnknown_085B5FA0 - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - b _081407F8 - .pool -_081406C0: - movs r0, 0 - bl sub_8142C0C - bl sub_81439C8 - bl sub_814391C - bl sub_8143314 - bl sub_8142CD0 - bl sub_8142F7C - bl sub_81431E4 - b _081407F8 -_081406E0: - bl AnimateSprites - bl BuildOamBuffer - bl GetCoins - lsls r0, 16 - lsrs r0, 16 - bl sub_8143514 - movs r0, 0x6 - bl sub_814372C - movs r0, 0 - bl sub_81436D0 - movs r0, 0 - bl sub_81424FC - ldr r4, =gUnknown_0203AB8C - ldrb r0, [r4] - movs r1, 0 - bl NewMenuHelpers_DrawStdWindowFrame - ldrb r0, [r4] - ldr r2, =gUnknown_082A5B89 - movs r1, 0x1 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - movs r5, 0 - str r5, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - ldrb r0, [r4] - movs r1, 0x3 - bl CopyWindowToVram - ldr r1, =gSpriteCoordOffsetX - movs r2, 0x3C - negs r2, r2 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, =gSpriteCoordOffsetY - strh r5, [r0] - b _081407F8 - .pool -_08140750: - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - b _081407F8 -_0814077A: - movs r0, 0x1 - bl EnableInterrupts - ldr r0, =sub_8140264 - bl SetVBlankCallback - movs r0, 0x1 - str r0, [sp] - movs r0, 0xFF - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginHardwarePaletteFade - ldr r0, =sub_81408A8 - movs r1, 0 - bl CreateTask - ldr r5, =gUnknown_0203AB88 - ldr r1, [r5] - adds r1, 0xA4 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - movs r0, 0x6 - strh r0, [r4, 0x14] - bl GetCoins - strh r0, [r4, 0x22] - bl GetCoins - lsls r0, 16 - lsrs r0, 16 - bl sub_80EDE84 - ldr r0, =sub_8140814 - movs r1, 0x1 - bl CreateTask - ldr r1, [r5] - adds r1, 0xA5 - strb r0, [r1] - ldr r0, =sub_8140238 - bl SetMainCallback2 - b _08140806 - .pool -_081407F8: - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_08140806: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81405CC - - thumb_func_start sub_8140814 -sub_8140814: @ 8140814 - push {r4-r6,lr} - ldr r3, =gUnknown_0203AB88 - ldr r0, [r3] - adds r0, 0x21 - ldrb r2, [r0] - adds r1, r2, 0x1 - strb r1, [r0] - ldr r1, [r3] - adds r0, r1, 0 - adds r0, 0x23 - lsls r2, 24 - lsrs r2, 24 - adds r6, r3, 0 - ldrb r0, [r0] - cmp r2, r0 - bne _0814085A - adds r1, 0x21 - movs r0, 0 - strb r0, [r1] - ldr r2, [r6] - adds r3, r2, 0 - adds r3, 0x22 - ldrb r1, [r3] - ldrh r0, [r2, 0x24] - subs r0, r1 - strh r0, [r2, 0x24] - lsls r0, 16 - cmp r0, 0 - bge _0814085A - ldrb r1, [r3] - movs r3, 0xB4 - lsls r3, 1 - adds r0, r3, 0 - subs r0, r1 - strh r0, [r2, 0x24] -_0814085A: - adds r4, r6, 0 - ldr r0, [r4] - ldrh r0, [r0, 0x24] - bl Sin2 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, [r4] - ldrh r0, [r0, 0x24] - bl Cos2 - lsls r0, 16 - lsrs r1, r0, 16 - lsls r0, r5, 16 - asrs r0, 16 - cmp r0, 0 - bge _0814087E - adds r0, 0xF -_0814087E: - lsls r0, 12 - lsrs r5, r0, 16 - ldr r3, [r6] - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0 - bge _0814088E - adds r0, 0xF -_0814088E: - asrs r0, 4 - strh r0, [r3, 0x32] - strh r0, [r3, 0x2C] - strh r5, [r3, 0x2E] - lsls r0, r5, 16 - asrs r0, 16 - negs r0, r0 - strh r0, [r3, 0x30] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8140814 - - thumb_func_start sub_81408A8 -sub_81408A8: @ 81408A8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl UpdatePaletteFade - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _081408FE - movs r1, 0x90 - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - ldr r1, =0x00000808 - movs r0, 0x52 - bl SetGpuReg - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0x14] - adds r0, r4, 0 - bl sub_8141FF4 - bl sub_8142070 - bl sub_8143A40 - movs r0, 0 - bl sub_81424FC - movs r0, 0x6 - bl sub_814372C - ldr r1, =sub_8140968 - ldr r2, =0x0000ffff - adds r0, r4, 0 - movs r3, 0x3 - bl sub_8141F7C -_081408FE: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81408A8 - - thumb_func_start sub_8140914 -sub_8140914: @ 8140914 - push {r4,r5,lr} - sub sp, 0xC - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl DisplayYesNoMenu - ldr r5, =gUnknown_0203AB8C - ldrb r0, [r5] - movs r1, 0 - bl NewMenuHelpers_DrawStdWindowFrame - ldrb r0, [r5] - ldr r2, =gUnknown_082A5C13 - movs r1, 0x1 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - ldrb r0, [r5] - movs r1, 0x3 - bl CopyWindowToVram - ldr r1, =gUnknown_085B6410 - adds r0, r4, 0 - bl sub_8121F68 - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8140914 - - thumb_func_start sub_8140968 -sub_8140968: @ 8140968 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0x1 - bl sub_819746C - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_8140BD0 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8140968 - - thumb_func_start sub_8140994 -sub_8140994: @ 8140994 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gUnknown_0203AB88 - ldr r0, [r0] - adds r0, 0xA5 - ldrb r0, [r0] - bl DestroyTask - adds r0, r4, 0 - bl sub_8141DE4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8140994 - - thumb_func_start sub_81409B8 -sub_81409B8: @ 81409B8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _081409CA - b _08140AE8 -_081409CA: - lsls r0, r4, 2 - ldr r1, =_081409D8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081409D8: - .4byte _08140A18 - .4byte _08140A3C - .4byte _08140A3C - .4byte _08140A3C - .4byte _08140A3C - .4byte _08140A90 - .4byte _08140AE8 - .4byte _08140AE8 - .4byte _08140AE8 - .4byte _08140AE8 - .4byte _08140A90 - .4byte _08140AE8 - .4byte _08140AE8 - .4byte _08140AE8 - .4byte _08140AE8 - .4byte _08140A90 -_08140A18: - ldr r0, =gUnknown_0203AB88 - ldr r0, [r0] - movs r1, 0xBE - lsls r1, 1 - adds r0, r1 - movs r1, 0x10 - str r1, [sp] - movs r1, 0xD - str r1, [sp, 0x4] - movs r1, 0 - movs r2, 0xE - movs r3, 0x7 - bl sub_8152008 - b _08140B4E - .pool -_08140A3C: - lsls r0, r4, 1 - adds r0, r4 - adds r0, 0xE - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r5, =gUnknown_0203AB88 - ldr r0, [r5] - movs r4, 0xBE - lsls r4, 1 - adds r0, r4 - movs r1, 0x10 - str r1, [sp] - movs r6, 0xD - str r6, [sp, 0x4] - movs r1, 0 - movs r2, 0xE - movs r3, 0x7 - bl sub_8152008 - ldr r0, [r5] - adds r4, r0, r4 - ldr r1, =0x0000397c - adds r0, r1 - ldr r1, [r0] - ldr r0, =0x00000232 - adds r1, r0 - movs r0, 0x3 - str r0, [sp] - str r6, [sp, 0x4] - adds r0, r4, 0 - mov r2, r8 - movs r3, 0x7 - bl sub_8152058 - b _08140B4E - .pool -_08140A90: - subs r0, r4, 0x1 - movs r1, 0x5 - bl __divsi3 - lsls r1, r0, 1 - adds r1, r0 - adds r1, 0xA - lsls r1, 24 - lsrs r7, r1, 24 - ldr r5, =gUnknown_0203AB88 - ldr r0, [r5] - movs r4, 0xBE - lsls r4, 1 - adds r0, r4 - movs r6, 0x10 - str r6, [sp] - movs r1, 0xD - str r1, [sp, 0x4] - movs r1, 0 - movs r2, 0xE - movs r3, 0x7 - bl sub_8152008 - ldr r0, [r5] - adds r4, r0, r4 - ldr r1, =0x0000397c - adds r0, r1 - ldr r1, [r0] - movs r0, 0xA0 - lsls r0, 2 - adds r1, r0 - str r6, [sp] - movs r0, 0x3 - str r0, [sp, 0x4] - adds r0, r4, 0 - movs r2, 0xE - adds r3, r7, 0 - bl sub_8152058 - b _08140B4E - .pool -_08140AE8: - adds r0, r4, 0 - movs r1, 0x5 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - adds r1, 0xE - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - subs r0, r4, 0x1 - movs r1, 0x5 - bl __divsi3 - lsls r1, r0, 1 - adds r1, r0 - adds r1, 0x7 - lsls r1, 24 - lsrs r7, r1, 24 - ldr r5, =gUnknown_0203AB88 - ldr r0, [r5] - movs r4, 0xBE - lsls r4, 1 - adds r0, r4 - movs r1, 0x10 - str r1, [sp] - movs r1, 0xD - str r1, [sp, 0x4] - movs r1, 0 - movs r2, 0xE - movs r3, 0x7 - bl sub_8152008 - ldr r0, [r5] - adds r4, r0, r4 - ldr r1, =0x0000397c - adds r0, r1 - ldr r1, [r0] - movs r0, 0x88 - lsls r0, 2 - adds r1, r0 - movs r0, 0x3 - str r0, [sp] - str r0, [sp, 0x4] - adds r0, r4, 0 - mov r2, r8 - adds r3, r7, 0 - bl sub_8152058 -_08140B4E: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81409B8 - - thumb_func_start sub_8140B64 -sub_8140B64: @ 8140B64 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - ldrb r0, [r4, 0x10] - bl sub_81436D0 - ldrb r0, [r4, 0x10] - bl sub_81409B8 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8140B64 - - thumb_func_start sub_8140B8C -sub_8140B8C: @ 8140B8C - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_0203AB88 - ldr r2, [r5] - movs r6, 0 - movs r1, 0x1 - strh r1, [r2, 0x28] - ldr r1, =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - ldrb r0, [r4, 0x10] - bl sub_81409B8 - ldr r0, [r5] - adds r0, 0x23 - movs r1, 0x2 - strb r1, [r0] - ldr r0, [r5] - adds r0, 0x21 - strb r6, [r0] - ldr r0, =sub_8141040 - str r0, [r4] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8140B8C - - thumb_func_start sub_8140BD0 -sub_8140BD0: @ 8140BD0 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, =gUnknown_0203AB88 - ldr r0, [r1] - ldr r2, [r0, 0x8] - movs r0, 0x20 - ands r0, r2 - cmp r0, 0 - beq _08140C30 - movs r3, 0xB - ldr r5, =gUnknown_085B6154 - adds r0, r5, 0 - adds r0, 0xE4 - ldr r0, [r0] - ands r2, r0 - ldr r0, =gTasks - mov r12, r0 - lsls r7, r6, 2 - cmp r2, 0 - beq _08140C6E - adds r4, r1, 0 - adds r5, 0x8 -_08140BFE: - lsls r0, r3, 16 - movs r1, 0x80 - lsls r1, 9 - adds r0, r1 - lsrs r3, r0, 16 - asrs r2, r0, 16 - cmp r2, 0xD - bgt _08140C6E - ldr r1, [r4] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 2 - adds r0, r5 - ldr r1, [r1, 0x8] - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _08140BFE - b _08140C6E - .pool -_08140C30: - movs r3, 0x6 - ldr r5, =gUnknown_085B6154 - adds r0, r5, 0 - adds r0, 0x80 - ldr r0, [r0] - ands r2, r0 - ldr r0, =gTasks - mov r12, r0 - lsls r7, r6, 2 - cmp r2, 0 - beq _08140C6E - adds r4, r1, 0 - adds r5, 0x8 -_08140C4A: - lsls r0, r3, 16 - movs r1, 0x80 - lsls r1, 9 - adds r0, r1 - lsrs r3, r0, 16 - asrs r2, r0, 16 - cmp r2, 0x9 - bgt _08140C6E - ldr r1, [r4] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 2 - adds r0, r5 - ldr r1, [r1, 0x8] - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _08140C4A -_08140C6E: - adds r4, r7, r6 - lsls r4, 3 - add r4, r12 - movs r5, 0 - strh r3, [r4, 0x10] - adds r0, r6, 0 - bl sub_8141FF4 - ldrb r0, [r4, 0x10] - bl sub_81424FC - ldrb r0, [r4, 0x10] - bl sub_81436D0 - ldrb r0, [r4, 0x10] - bl sub_8142284 - strh r5, [r4, 0xA] - ldr r0, =sub_8140B8C - str r0, [r4] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8140BD0 - - thumb_func_start sub_8140CA8 -sub_8140CA8: @ 8140CA8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r4, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - movs r6, 0 - movs r7, 0 - ldr r1, =gUnknown_085B641E - mov r0, sp - movs r2, 0x4 - bl memcpy - ldrb r0, [r4] - mov r8, r0 - cmp r5, 0 - blt _08140D1C - cmp r5, 0x1 - bgt _08140CF4 - movs r1, 0 - ldrsh r0, [r4, r1] - movs r1, 0x5 - bl __modsi3 - lsls r0, 24 - lsrs r6, r0, 24 - movs r2, 0xF0 - lsls r2, 20 - adds r1, r0, r2 - lsrs r7, r1, 24 - cmp r0, 0 - bne _08140D1C - movs r6, 0x5 - b _08140D1C - .pool -_08140CF4: - cmp r5, 0x3 - bgt _08140D1C - movs r1, 0 - ldrsh r0, [r4, r1] - movs r1, 0x5 - bl __divsi3 - lsls r0, 16 - asrs r0, 16 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 24 - lsrs r6, r1, 24 - movs r2, 0x80 - lsls r2, 19 - adds r0, r1, r2 - lsrs r7, r0, 24 - cmp r1, 0 - bne _08140D1C - movs r6, 0x1 -_08140D1C: - mov r1, sp - adds r0, r1, r5 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldrh r2, [r4] - adds r0, r2 - strh r0, [r4] - lsls r1, r6, 24 - asrs r3, r1, 24 - lsls r0, 16 - asrs r0, 16 - lsls r2, r7, 24 - cmp r0, r3 - bge _08140D3E - asrs r0, r2, 24 - strh r0, [r4] -_08140D3E: - movs r0, 0 - ldrsh r1, [r4, r0] - asrs r0, r2, 24 - cmp r1, r0 - ble _08140D4A - strh r3, [r4] -_08140D4A: - mov r1, r8 - lsls r0, r1, 24 - movs r2, 0 - ldrsh r1, [r4, r2] - asrs r0, 24 - cmp r1, r0 - bne _08140D5C - movs r0, 0 - b _08140D5E -_08140D5C: - movs r0, 0x1 -_08140D5E: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8140CA8 - - thumb_func_start sub_8140D6C -sub_8140D6C: @ 8140D6C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r7, r0, 24 - movs r0, 0 - mov r9, r0 - movs r5, 0 - ldr r4, =gMain - ldrh r1, [r4, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08140DA8 - movs r5, 0x1 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r0, r1 - adds r0, 0x8 - movs r1, 0 - bl sub_8140CA8 - lsls r0, 24 - cmp r0, 0 - bne _08140DA8 - b _08140F3A -_08140DA8: - ldrh r1, [r4, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08140DCE - movs r5, 0x1 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r0, r1 - adds r0, 0x8 - movs r1, 0x1 - bl sub_8140CA8 - lsls r0, 24 - cmp r0, 0 - bne _08140DCE - b _08140F3A -_08140DCE: - ldrh r1, [r4, 0x2E] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _08140DF4 - movs r5, 0x1 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r0, r1 - adds r0, 0x8 - movs r1, 0x2 - bl sub_8140CA8 - lsls r0, 24 - cmp r0, 0 - bne _08140DF4 - b _08140F3A -_08140DF4: - ldrh r1, [r4, 0x2E] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08140E1A - movs r5, 0x1 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r0, r1 - adds r0, 0x8 - movs r1, 0x3 - bl sub_8140CA8 - lsls r0, 24 - cmp r0, 0 - bne _08140E1A - b _08140F3A -_08140E1A: - cmp r5, 0 - bne _08140E20 - b _08140F3A -_08140E20: - ldr r0, =gTasks - lsls r6, r7, 2 - adds r4, r6, r7 - lsls r4, 3 - adds r4, r0 - ldrb r0, [r4, 0x10] - bl sub_81424FC - adds r0, r7, 0 - bl sub_8140B64 - mov r1, r9 - strh r1, [r4, 0xA] - movs r0, 0x5 - bl PlaySE - ldr r5, =gUnknown_0203AB88 - ldr r0, [r5] - adds r0, 0xB8 - ldr r1, =0x0000ffff - bl sub_8151A9C - ldr r5, [r5] - movs r2, 0xB8 - lsls r2, 1 - adds r3, r5, r2 - ldrb r2, [r3] - movs r1, 0x7F - adds r0, r1, 0 - ands r0, r2 - strb r0, [r3] - movs r0, 0xB2 - lsls r0, 1 - adds r3, r5, r0 - ldrb r2, [r3] - adds r0, r1, 0 - ands r0, r2 - strb r0, [r3] - movs r0, 0xAC - lsls r0, 1 - adds r2, r5, r0 - ldrb r0, [r2] - ands r1, r0 - strb r1, [r2] - ldrb r0, [r4, 0x10] - bl sub_8142284 - movs r4, 0 - mov r9, r6 - ldr r1, =gSprites - mov r12, r1 - movs r2, 0x8 - add r2, r12 - mov r10, r2 -_08140E8C: - ldr r0, =gUnknown_0203AB88 - ldr r5, [r0] - adds r0, r4, 0 - adds r0, 0x29 - adds r6, r5, 0 - adds r6, 0x3C - adds r0, r6, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - mov r1, r12 - adds r3, r0, r1 - adds r2, r3, 0 - adds r2, 0x40 - add r0, r10 - ldr r0, [r0] - ldr r0, [r0] - ldrh r1, [r0] - ldrh r2, [r2] - adds r1, r2 - ldr r2, =0x000003ff - mov r8, r2 - mov r0, r8 - ands r1, r0 - ldrh r2, [r3, 0x4] - ldr r0, =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, 0x4] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _08140E8C - ldr r0, =gTasks - mov r2, r9 - adds r1, r2, r7 - lsls r1, 3 - adds r1, r0 - ldrh r3, [r1, 0x10] - subs r0, r3, 0x1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x3 - bhi _08140F3A - ldr r2, =gUnknown_085B6154 - movs r0, 0x10 - ldrsh r1, [r1, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r2, 0x8 - adds r0, r2 - ldr r1, [r5, 0x8] - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _08140F3A - subs r0, r3, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - adds r0, 0x29 - adds r0, r6, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r3, r0, r1 - adds r2, r3, 0 - adds r2, 0x40 - adds r1, 0x8 - adds r0, r1 - ldr r0, [r0] - ldr r0, [r0] - ldrh r1, [r0, 0x4] - ldrh r2, [r2] - adds r1, r2 - mov r2, r8 - ands r1, r2 - ldrh r2, [r3, 0x4] - ldr r0, =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, 0x4] -_08140F3A: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8140D6C - - thumb_func_start sub_8140F6C -sub_8140F6C: @ 8140F6C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_80EECA4 - ldr r0, =gUnknown_0203AB88 - ldr r1, [r0] - movs r0, 0xFF - strh r0, [r1, 0x28] - ldrb r2, [r1, 0x19] - cmp r2, 0x1 - bne _08140F90 - adds r0, r1, 0 - adds r0, 0x23 - strb r2, [r0] - b _08140F96 - .pool -_08140F90: - adds r1, 0x23 - movs r0, 0 - strb r0, [r1] -_08140F96: - ldr r0, =gUnknown_0203AB88 - ldr r0, [r0] - adds r0, 0x21 - movs r1, 0 - strb r1, [r0] - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0x20 - strh r1, [r0, 0xA] - ldr r1, =sub_81410FC - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8140F6C - - thumb_func_start sub_8140FC4 -sub_8140FC4: @ 8140FC4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r4, =gUnknown_0203AB88 - ldr r2, [r4] - ldrb r1, [r2, 0x1A] - lsls r1, 28 - lsrs r1, 28 - adds r2, 0x1B - adds r2, r1 - ldr r3, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r5, r1, r3 - ldrh r0, [r5, 0x10] - strb r0, [r2] - ldr r1, [r4] - ldrb r0, [r1, 0x1A] - lsls r0, 28 - lsrs r0, 28 - adds r1, 0x1B - adds r1, r0 - ldrb r0, [r1] - bl sub_8142758 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0xC] - ldr r1, [r4] - ldrb r0, [r1, 0x1A] - lsls r0, 28 - lsrs r0, 28 - adds r1, 0x1B - adds r1, r0 - ldrb r0, [r1] - bl sub_81436D0 - ldr r0, [r4] - ldrb r1, [r0, 0x19] - ldrh r0, [r5, 0x22] - subs r0, r1 - strh r0, [r5, 0x22] - lsls r0, 16 - cmp r0, 0 - bge _08141024 - movs r0, 0 - strh r0, [r5, 0x22] -_08141024: - ldrh r0, [r5, 0x22] - bl sub_8143514 - ldr r0, =sub_8140F6C - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8140FC4 - - thumb_func_start sub_8141040 -sub_8141040: @ 8141040 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - bl sub_8140D6C - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0x1E - beq _08141076 - cmp r0, 0x1E - bgt _0814106C - cmp r0, 0 - beq _08141072 - b _0814108A - .pool -_0814106C: - cmp r0, 0x3B - beq _08141084 - b _0814108A -_08141072: - ldrb r0, [r4, 0x10] - b _08141078 -_08141076: - movs r0, 0 -_08141078: - bl sub_81409B8 - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - b _0814109A -_08141084: - movs r0, 0 - strh r0, [r4, 0xA] - b _0814109A -_0814108A: - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] -_0814109A: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081410F2 - ldr r0, =gUnknown_0203AB88 - ldr r3, [r0] - ldr r2, =gUnknown_085B6154 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r0, 0x10 - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r2, 0x8 - adds r0, r2 - ldr r1, [r3, 0x8] - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _081410E8 - movs r0, 0x16 - bl PlaySE - b _081410F2 - .pool -_081410E8: - movs r0, 0x5F - bl m4aSongNumStart - ldr r0, =sub_8140FC4 - str r0, [r4] -_081410F2: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8141040 - - thumb_func_start sub_81410FC -sub_81410FC: @ 81410FC - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r0, [r4, 0xA] - subs r1, r0, 0x1 - strh r1, [r4, 0xA] - lsls r0, 16 - cmp r0, 0 - ble _08141168 - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _08141128 - ldr r1, =gSpriteCoordOffsetX - ldrh r0, [r1] - adds r0, 0x2 - strh r0, [r1] -_08141128: - ldr r0, =gUnknown_0203AB88 - ldr r1, [r0] - ldrh r0, [r1, 0x26] - adds r0, 0x4 - strh r0, [r1, 0x26] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x68 - bne _08141180 - ldr r2, =gSprites - adds r0, r1, 0 - adds r0, 0x55 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, =SpriteCallbackDummy - str r1, [r0] - b _08141180 - .pool -_08141168: - movs r0, 0x1 - movs r1, 0xFF - bl sub_8142E70 - movs r0, 0x1 - movs r1, 0xFF - bl sub_8143038 - ldr r0, =sub_8141344 - str r0, [r4] - movs r0, 0 - strh r0, [r4, 0xA] -_08141180: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81410FC - - thumb_func_start sub_814118C -sub_814118C: @ 814118C - push {r4,r5,lr} - lsls r0, 16 - lsrs r4, r0, 16 - lsls r1, 16 - lsrs r1, 16 - ldr r0, =gUnknown_0203AB88 - ldr r3, [r0] - ldrb r2, [r3, 0x2] - adds r5, r0, 0 - cmp r2, 0x2 - bgt _081411AC - cmp r2, 0x1 - bge _081411B2 - b _08141280 - .pool -_081411AC: - cmp r2, 0x3 - beq _08141214 - b _08141280 -_081411B2: - ldr r0, =gLocalTime - ldrb r0, [r0, 0x2] - subs r0, 0x4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bhi _081411E4 - cmp r4, 0xB - bls _081411CC - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08141296 -_081411CC: - ldr r0, =gUnknown_085B6348 - ldrb r1, [r3, 0x4] - lsls r1, 30 - lsrs r1, 25 - adds r1, r0 - ldrb r0, [r1, 0x2] - lsrs r0, 1 - b _0814133A - .pool -_081411E4: - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _08141200 - ldr r0, =gUnknown_085B6348 - ldrb r1, [r3, 0x4] - lsls r1, 30 - lsrs r1, 25 - adds r1, r0 - ldrb r0, [r1, 0x2] - lsrs r0, 1 - b _0814133A - .pool -_08141200: - ldr r0, =gUnknown_085B6348 - ldrb r1, [r3, 0x4] - lsls r1, 30 - lsrs r1, 25 - adds r1, r0 - ldrb r0, [r1, 0x2] - b _0814133A - .pool -_08141214: - ldr r0, =gLocalTime - ldrb r0, [r0, 0x2] - subs r0, 0x4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x6 - bhi _08141248 - cmp r4, 0x5 - bls _0814122E - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08141296 -_0814122E: - ldr r0, =gUnknown_085B6348 - ldrb r1, [r3, 0x4] - lsls r1, 30 - lsrs r1, 25 - adds r1, r0 - ldrb r0, [r1, 0x2] - lsrs r0, 1 - b _0814133A - .pool -_08141248: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08141268 - cmp r4, 0x6 - bls _08141268 - ldr r0, =gUnknown_085B6348 - ldrb r1, [r3, 0x4] - lsls r1, 30 - lsrs r1, 25 - adds r1, r0 - ldrb r0, [r1, 0x2] - lsrs r0, 2 - b _0814133A - .pool -_08141268: - ldr r1, =gUnknown_085B6348 - ldr r0, [r5] - ldrb r0, [r0, 0x4] - lsls r0, 30 - lsrs r0, 25 - adds r0, r1 - ldrb r0, [r0, 0x2] - lsrs r0, 1 - b _0814133A - .pool -_08141280: - ldr r0, =gLocalTime - ldrb r0, [r0, 0x2] - subs r0, 0x4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bhi _081412B8 - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _081412A0 -_08141296: - movs r0, 0x1 - b _0814133A - .pool -_081412A0: - ldr r1, =gUnknown_085B6348 - ldr r0, [r5] - ldrb r0, [r0, 0x4] - lsls r0, 30 - lsrs r0, 25 - adds r0, r1 - ldrb r0, [r0, 0x2] - lsrs r0, 1 - b _0814133A - .pool -_081412B8: - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _081412F0 - cmp r4, 0xC - bls _081412DC - ldr r1, =gUnknown_085B6348 - ldr r0, [r5] - ldrb r0, [r0, 0x4] - lsls r0, 30 - lsrs r0, 25 - adds r0, r1 - ldrb r0, [r0, 0x2] - lsrs r0, 1 - b _0814133A - .pool -_081412DC: - ldr r1, =gUnknown_085B6348 - ldr r0, [r5] - ldrb r0, [r0, 0x4] - lsls r0, 30 - lsrs r0, 25 - adds r0, r1 - ldrb r0, [r0, 0x2] - b _0814133A - .pool -_081412F0: - movs r0, 0x80 - lsls r0, 8 - ands r0, r1 - cmp r0, 0 - beq _08141328 - cmp r4, 0xC - bls _08141314 - ldr r1, =gUnknown_085B6348 - ldr r0, [r5] - ldrb r0, [r0, 0x4] - lsls r0, 30 - lsrs r0, 25 - adds r0, r1 - ldrb r0, [r0, 0x2] - b _0814133A - .pool -_08141314: - ldr r1, =gUnknown_085B6348 - ldr r0, [r5] - ldrb r0, [r0, 0x4] - lsls r0, 30 - lsrs r0, 25 - adds r0, r1 - ldrb r0, [r0, 0x1] - b _0814133A - .pool -_08141328: - ldr r1, =gUnknown_085B6348 - ldr r0, [r5] - ldrb r0, [r0, 0x4] - lsls r0, 30 - lsrs r0, 25 - adds r0, r1 - ldrb r0, [r0, 0x1] - lsls r0, 25 - lsrs r0, 24 -_0814133A: - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814118C - - thumb_func_start sub_8141344 -sub_8141344: @ 8141344 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - movs r4, 0 - ldr r1, =gUnknown_085B6422 - mov r0, sp - movs r2, 0x8 - bl memcpy - bl Random - lsls r0, 16 - lsrs r7, r0, 16 - adds r0, r7, 0 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r3, =gUnknown_0203AB88 - ldr r0, [r3] - ldr r2, =gTasks - mov r5, r10 - lsls r1, r5, 2 - add r1, r10 - lsls r1, 3 - adds r1, r2 - ldrh r2, [r1, 0x14] - adds r0, 0x7C - strb r2, [r0] - ldr r0, [r3] - adds r2, r0, 0 - adds r2, 0x7F - strb r4, [r2] - subs r2, 0x1 - strb r4, [r2] - adds r0, 0x7D - strb r4, [r0] - ldrh r0, [r1, 0x18] - adds r1, r7, 0 - bl sub_814118C - adds r4, r0, 0 - lsls r4, 24 - lsrs r1, r4, 24 - adds r0, r7, 0 - bl __modsi3 - lsrs r4, 25 - subs r0, r4 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gLocalTime - ldrb r0, [r0, 0x2] - lsls r0, 24 - asrs r0, 24 - movs r5, 0x1 - cmp r0, 0xC - bgt _081413C8 - movs r5, 0 -_081413C8: - cmp r6, 0x4F - bhi _081413E0 - lsls r0, r5, 25 - b _081413EA - .pool -_081413E0: - lsls r1, r5, 24 - asrs r1, 24 - movs r0, 0x1 - subs r0, r1 - lsls r0, 25 -_081413EA: - lsrs r5, r0, 24 - ldr r0, _08141530 @ =gUnknown_0203AB88 - ldr r6, [r0] - ldrb r0, [r6, 0x4] - lsls r0, 30 - lsrs r0, 25 - ldr r1, _08141534 @ =gUnknown_085B6348 - adds r0, r1 - lsls r4, 24 - asrs r4, 24 - ldrh r0, [r0, 0x1A] - adds r4, r0 - adds r0, r6, 0 - adds r0, 0x80 - strh r4, [r0] - lsls r4, 16 - asrs r4, 16 - adds r0, r4, 0 - bl __floatsisf - cmp r4, 0 - bge _0814141C - ldr r1, _08141538 @ =0x47800000 - bl __addsf3 -_0814141C: - ldr r1, _0814153C @ =0x40A00000 - bl __divsf3 - bl __fixunssfsi - lsls r0, 16 - lsrs r4, r0, 16 - lsls r0, r4, 1 - adds r0, r4 - movs r2, 0x82 - adds r2, r6 - mov r8, r2 - strh r0, [r2] - adds r0, r6, 0 - adds r0, 0x84 - strh r4, [r0] - adds r0, 0x2 - strh r4, [r0] - movs r0, 0x88 - adds r0, r6 - mov r9, r0 - movs r0, 0x1 - ands r0, r7 - lsls r1, r5, 24 - asrs r1, 24 - adds r0, r1 - lsls r0, 1 - add r0, sp - movs r1, 0 - ldrsh r4, [r0, r1] - adds r0, r4, 0 - bl __floatsisf - cmp r4, 0 - bge _08141468 - ldr r1, _08141538 @ =0x47800000 - bl __addsf3 -_08141468: - mov r2, r9 - str r0, [r2] - adds r7, r6, 0 - adds r7, 0x8C - ldrb r0, [r6, 0x4] - lsls r0, 30 - lsrs r0, 25 - ldr r5, _08141534 @ =gUnknown_085B6348 - adds r0, r5 - movs r1, 0x18 - ldrsh r4, [r0, r1] - adds r0, r4, 0 - bl __floatsisf - adds r5, r0, 0 - cmp r4, 0 - bge _08141492 - ldr r1, _08141538 @ =0x47800000 - bl __addsf3 - adds r5, r0, 0 -_08141492: - str r5, [r7] - adds r7, r6, 0 - adds r7, 0x90 - ldr r1, _08141540 @ =0x3F000000 - adds r0, r5, 0 - bl __mulsf3 - adds r1, r5, 0 - bl __subsf3 - adds r5, r0, 0 - mov r2, r8 - movs r0, 0 - ldrsh r4, [r2, r0] - adds r0, r4, 0 - bl __floatsisf - adds r2, r0, 0 - cmp r4, 0 - bge _081414C2 - ldr r1, _08141538 @ =0x47800000 - bl __addsf3 - adds r2, r0, 0 -_081414C2: - adds r0, r5, 0 - adds r1, r2, 0 - bl __divsf3 - str r0, [r7] - adds r1, r6, 0 - adds r1, 0x94 - ldr r0, _08141544 @ =0x42880000 - str r0, [r1] - adds r1, 0x8 - ldr r0, _08141548 @ =0x00000000 - str r0, [r1] - adds r5, r6, 0 - adds r5, 0x98 - mov r1, r8 - movs r2, 0 - ldrsh r4, [r1, r2] - adds r0, r4, 0 - bl __floatsisf - adds r2, r0, 0 - cmp r4, 0 - bge _081414F8 - ldr r1, _08141538 @ =0x47800000 - bl __addsf3 - adds r2, r0, 0 -_081414F8: - ldr r0, _0814154C @ =0x41000000 - adds r1, r2, 0 - bl __divsf3 - bl __negsf2 - str r0, [r5] - adds r1, r6, 0 - adds r1, 0xA0 - ldr r0, _08141550 @ =0x42100000 - str r0, [r1] - ldr r1, _08141554 @ =gTasks - mov r5, r10 - lsls r0, r5, 2 - add r0, r10 - lsls r0, 3 - adds r0, r1 - ldr r1, _08141558 @ =sub_814155C - str r1, [r0] - 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 -_08141530: - .4byte gUnknown_0203AB88 -_08141534: - .4byte gUnknown_085B6348 -_08141538: - .4byte 0x47800000 -_0814153C: - .4byte 0x40A00000 -_08141540: - .4byte 0x3F000000 -_08141544: - .4byte 0x42880000 -_08141548: - .4byte 0x00000000 -_0814154C: - .4byte 0x41000000 -_08141550: - .4byte 0x42100000 -_08141554: - .4byte gTasks -_08141558: - .4byte sub_814155C - thumb_func_end sub_8141344 - - thumb_func_start sub_814155C -sub_814155C: @ 814155C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r4, =gUnknown_0203AB88 - ldr r3, [r4] - ldrb r1, [r3, 0x3] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r3, 0x3] - ldr r3, [r4] - adds r2, r3, 0 - adds r2, 0x7C - adds r1, r3, 0 - adds r1, 0x3C - ldrb r2, [r2] - adds r1, r2 - ldrb r2, [r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - ldr r2, =gSprites - adds r1, r2 - str r1, [r3, 0x38] - ldr r2, =sub_81446AC - str r2, [r1, 0x1C] - ldr r1, =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - ldrh r1, [r4, 0x14] - adds r1, 0x1 - strh r1, [r4, 0x14] - ldrh r0, [r4, 0x18] - adds r0, 0x1 - strh r0, [r4, 0x18] - movs r0, 0x6 - subs r0, r1 - lsls r0, 24 - lsrs r0, 24 - bl sub_814372C - movs r0, 0x5C - bl m4aSongNumStart - ldr r0, =sub_81415D4 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_814155C - - thumb_func_start sub_81415D4 -sub_81415D4: @ 81415D4 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r6, =gUnknown_0203AB88 - ldr r3, [r6] - adds r0, r3, 0 - adds r0, 0x7D - ldrb r0, [r0] - cmp r0, 0 - beq _081416C6 - ldrb r1, [r3, 0x3] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _08141614 - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _081416C6 - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r3, 0x3] - ldr r2, [r6] - ldrb r1, [r2, 0x3] - movs r0, 0x21 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x3] - b _081416C6 - .pool -_08141614: - ldr r2, =gTasks - lsls r1, r4, 2 - adds r0, r1, r4 - lsls r0, 3 - adds r5, r0, r2 - movs r2, 0xA - ldrsh r0, [r5, r2] - adds r7, r1, 0 - cmp r0, 0 - bne _08141660 - adds r0, r3, 0 - adds r0, 0x7E - ldrb r1, [r0] - adds r0, r4, 0 - bl sub_81420D0 - lsls r0, 24 - lsrs r0, 24 - ldr r2, [r6] - ldrb r1, [r2, 0x1A] - lsls r1, 28 - lsrs r1, 28 - adds r2, 0x1B - adds r2, r1 - ldrb r1, [r2] - bl sub_81421E8 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x12] - cmp r0, 0x1 - bne _08141660 - ldr r0, [r6] - adds r0, 0xB8 - movs r1, 0x80 - lsls r1, 5 - bl sub_8151A48 -_08141660: - ldr r0, =gTasks - adds r1, r7, r4 - lsls r1, 3 - adds r4, r1, r0 - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0x3C - bgt _08141690 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08141680 - movs r0, 0x3C - strh r0, [r4, 0xA] -_08141680: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - b _081416C6 - .pool -_08141690: - ldr r0, =gUnknown_0203AB88 - ldr r1, [r0] - ldrb r0, [r1, 0x1A] - lsls r0, 28 - lsrs r0, 28 - adds r1, 0x1B - adds r1, r0 - ldrb r0, [r1] - bl sub_81424FC - ldrh r1, [r4, 0x20] - lsls r1, 24 - lsrs r1, 24 - movs r0, 0 - bl sub_8142E70 - ldrb r1, [r4, 0x14] - subs r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0 - bl sub_8143038 - movs r0, 0x20 - strh r0, [r4, 0xA] - ldr r0, =sub_81416D4 - str r0, [r4] -_081416C6: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81415D4 - - thumb_func_start sub_81416D4 -sub_81416D4: @ 81416D4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0xA] - subs r1, r0, 0x1 - strh r1, [r4, 0xA] - lsls r0, 16 - cmp r0, 0 - ble _08141740 - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _08141700 - ldr r1, =gSpriteCoordOffsetX - ldrh r0, [r1] - subs r0, 0x2 - strh r0, [r1] -_08141700: - ldr r0, =gUnknown_0203AB88 - ldr r1, [r0] - ldrh r0, [r1, 0x26] - subs r0, 0x4 - strh r0, [r1, 0x26] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x68 - bne _08141768 - ldr r2, =gSprites - adds r0, r1, 0 - adds r0, 0x55 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, =sub_814390C - str r1, [r0] - b _08141768 - .pool -_08141740: - ldrh r0, [r4, 0x20] - lsls r0, 24 - lsrs r0, 24 - bl sub_8143150 - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - bne _08141756 - movs r0, 0x79 - b _08141758 -_08141756: - movs r0, 0x3D -_08141758: - strh r0, [r4, 0xA] - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_8141778 - str r0, [r1] -_08141768: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81416D4 - - thumb_func_start sub_8141778 -sub_8141778: @ 8141778 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0xA] - subs r1, r0, 0x1 - strh r1, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _081417E8 - movs r0, 0xA - ldrsh r1, [r4, r0] - adds r0, r1, 0 - cmp r1, 0 - bge _081417A2 - adds r0, 0xF -_081417A2: - asrs r0, 4 - lsls r0, 4 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - beq _081417CC - cmp r0, 0x8 - bne _081417F4 - movs r0, 0 - movs r1, 0xFF - bl sub_8142E70 - movs r0, 0 - movs r1, 0xFF - bl sub_8143038 - b _081417F4 - .pool -_081417CC: - ldrh r1, [r4, 0x20] - lsls r1, 24 - lsrs r1, 24 - movs r0, 0 - bl sub_8142E70 - ldrb r1, [r4, 0x14] - subs r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0 - bl sub_8143038 - b _081417F4 -_081417E8: - ldr r1, =sub_814189C - adds r0, r2, 0 - movs r2, 0x1E - movs r3, 0 - bl sub_8141F7C -_081417F4: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8141778 - - thumb_func_start sub_8141800 -sub_8141800: @ 8141800 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08141864 - cmp r0, 0 - blt _08141864 - cmp r0, 0x2 - bgt _08141864 - bl IsFanfareTaskInactive - lsls r0, 24 - cmp r0, 0 - beq _08141888 - movs r0, 0x1D - bl GetGameStat - ldrh r1, [r4, 0x1E] - adds r1, 0x1 - strh r1, [r4, 0x1E] - lsls r1, 16 - asrs r1, 16 - cmp r0, r1 - bcs _08141848 - movs r0, 0x1E - ldrsh r1, [r4, r0] - movs r0, 0x1D - bl SetGameStat -_08141848: - ldr r1, =sub_8141A18 - ldr r2, =0x0000ffff - adds r0, r5, 0 - movs r3, 0x3 - bl sub_8141F7C - b _08141888 - .pool -_08141864: - bl IsSEPlaying - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - bne _08141888 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - strh r2, [r0, 0x1E] - ldr r1, =sub_8141AC0 - ldr r2, =0x0000ffff - adds r0, r5, 0 - movs r3, 0x3 - bl sub_8141F7C -_08141888: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8141800 - - thumb_func_start sub_814189C -sub_814189C: @ 814189C - push {r4,r5,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r2, 0x12 - ldrsh r1, [r0, r2] - cmp r1, 0 - beq _08141928 - cmp r1, 0 - blt _08141928 - cmp r1, 0x2 - bgt _08141928 - movs r1, 0xC - ldrsh r0, [r0, r1] - cmp r0, 0xC - bne _081418EC - ldr r0, =0x00000185 - bl PlayFanfare - ldr r4, =gUnknown_0203AB8C - ldrb r0, [r4] - movs r1, 0 - bl NewMenuHelpers_DrawStdWindowFrame - ldrb r0, [r4] - ldr r2, =gUnknown_082A5BD7 - b _08141902 - .pool -_081418EC: - movs r0, 0xC3 - lsls r0, 1 - bl PlayFanfare - ldr r4, =gUnknown_0203AB8C - ldrb r0, [r4] - movs r1, 0 - bl NewMenuHelpers_DrawStdWindowFrame - ldrb r0, [r4] - ldr r2, =gUnknown_082A5BCB -_08141902: - movs r1, 0x1 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - ldrb r0, [r4] - movs r1, 0x3 - bl CopyWindowToVram - b _08141958 - .pool -_08141928: - movs r0, 0x20 - bl m4aSongNumStart - ldr r4, =gUnknown_0203AB8C - ldrb r0, [r4] - movs r1, 0 - bl NewMenuHelpers_DrawStdWindowFrame - ldrb r0, [r4] - ldr r2, =gUnknown_082A5BE0 - movs r1, 0x1 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - ldrb r0, [r4] - movs r1, 0x3 - bl CopyWindowToVram -_08141958: - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0xA] - ldr r1, =sub_8141800 - str r1, [r0] - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_814189C - - thumb_func_start sub_8141984 -sub_8141984: @ 8141984 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r4, r0, r1 - movs r0, 0x16 - ldrsh r5, [r4, r0] - cmp r5, 0 - beq _081419AC - cmp r5, 0x3 - beq _081419DC - ldrh r0, [r4, 0x16] - adds r0, 0x1 - b _081419E4 - .pool -_081419AC: - ldrh r0, [r4, 0x22] - adds r0, 0x1 - strh r0, [r4, 0x22] - movs r0, 0x15 - bl m4aSongNumStart - ldrh r0, [r4, 0x22] - bl sub_8143514 - movs r2, 0x22 - ldrsh r1, [r4, r2] - ldr r0, =0x0000270e - cmp r1, r0 - ble _081419D0 - strh r5, [r4, 0xA] - b _081419E6 - .pool -_081419D0: - ldrh r0, [r4, 0xA] - subs r0, 0x1 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0x16] - adds r0, 0x1 - b _081419E4 -_081419DC: - movs r0, 0x15 - bl m4aSongNumStop - movs r0, 0 -_081419E4: - strh r0, [r4, 0x16] -_081419E6: - ldr r0, =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - movs r2, 0xA - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _08141A04 - ldr r1, =sub_8141AC0 - ldr r2, =0x0000ffff - adds r0, r6, 0 - movs r3, 0x3 - bl sub_8141F7C -_08141A04: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8141984 - - thumb_func_start sub_8141A18 -sub_8141A18: @ 8141A18 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - ldr r3, =gStringVar1 - ldr r1, =gUnknown_0203AB88 - mov r9, r1 - ldr r1, [r1] - ldrb r2, [r1, 0x19] - ldr r1, =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - movs r1, 0xC - ldrsh r0, [r4, r1] - adds r1, r2, 0 - muls r1, r0 - adds r0, r3, 0 - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r2, =gStringVar4 - mov r8, r2 - ldr r1, =gUnknown_082A5BEF - mov r0, r8 - bl StringExpandPlaceholders - ldr r5, =gUnknown_0203AB8C - ldrb r0, [r5] - movs r1, 0 - bl NewMenuHelpers_DrawStdWindowFrame - ldrb r0, [r5] - movs r1, 0x1 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - movs r6, 0 - str r6, [sp, 0x8] - movs r1, 0x1 - mov r2, r8 - movs r3, 0 - bl AddTextPrinterParameterized - ldrb r0, [r5] - movs r1, 0x3 - bl CopyWindowToVram - mov r1, r9 - ldr r0, [r1] - ldrb r1, [r0, 0x19] - movs r2, 0xC - ldrsh r0, [r4, r2] - muls r0, r1 - strh r0, [r4, 0xA] - strh r6, [r4, 0x16] - ldr r0, =sub_8141984 - str r0, [r4] - add sp, 0xC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8141A18 - - thumb_func_start sub_8141AC0 -sub_8141AC0: @ 8141AC0 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, =gUnknown_0203AB88 - ldr r0, [r5] - adds r0, 0xB8 - ldr r1, =0x0000ffff - bl sub_8151A9C - ldr r6, [r5] - movs r0, 0xB8 - lsls r0, 1 - adds r3, r6, r0 - ldrb r2, [r3] - movs r1, 0x7F - adds r0, r1, 0 - ands r0, r2 - strb r0, [r3] - movs r0, 0xB2 - lsls r0, 1 - adds r3, r6, r0 - ldrb r2, [r3] - adds r0, r1, 0 - ands r0, r2 - strb r0, [r3] - movs r0, 0xAC - lsls r0, 1 - adds r2, r6, r0 - ldrb r0, [r2] - ands r1, r0 - strb r1, [r2] - ldr r6, =gSprites - ldr r2, [r5] - ldr r5, =gUnknown_085B6154 - ldr r0, =gTasks - lsls r3, r4, 2 - adds r3, r4 - lsls r3, 3 - adds r3, r0 - movs r0, 0x20 - ldrsh r1, [r3, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r0, [r0] - adds r2, r0 - adds r2, 0x43 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, =sub_8141B58 - str r0, [r3] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8141AC0 - - thumb_func_start sub_8141B58 -sub_8141B58: @ 8141B58 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0 - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - movs r2, 0 - strh r5, [r0, 0x10] - ldr r4, =gUnknown_0203AB88 - ldr r1, [r4] - ldrb r0, [r1, 0x1A] - lsls r0, 28 - lsrs r0, 28 - adds r1, 0x1B - adds r1, r0 - strb r2, [r1] - movs r0, 0 - bl sub_81424FC - ldr r3, =gSprites - ldr r0, [r4] - adds r0, 0x6C - 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] - adds r7, r3, 0 - movs r0, 0x8 - adds r0, r7 - mov r12, r0 - ldr r1, =0xfffffc00 - mov r8, r1 -_08141BB0: - ldr r0, =gUnknown_0203AB88 - ldr r4, [r0] - adds r0, r4, r5 - adds r0, 0x65 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r3, r0, r7 - adds r2, r3, 0 - adds r2, 0x40 - add r0, r12 - ldr r0, [r0] - ldr r0, [r0] - ldrh r1, [r0] - ldrh r2, [r2] - adds r1, r2 - ldr r2, =0x000003ff - adds r0, r2, 0 - ands r1, r0 - ldrh r2, [r3, 0x4] - mov r0, r8 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, 0x4] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _08141BB0 - ldr r0, =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r2, r1, r0 - movs r1, 0x22 - ldrsh r0, [r2, r1] - ldrb r4, [r4, 0x19] - cmp r0, r4 - blt _08141CBC - movs r1, 0x14 - ldrsh r0, [r2, r1] - cmp r0, 0x6 - bne _08141C58 - ldr r4, =gUnknown_0203AB8C - ldrb r0, [r4] - movs r1, 0 - bl NewMenuHelpers_DrawStdWindowFrame - ldrb r0, [r4] - ldr r2, =gUnknown_082A5C21 - movs r1, 0x1 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - ldrb r0, [r4] - movs r1, 0x3 - bl CopyWindowToVram - ldr r1, =dp01t_12_3_battle_menu - b _08141C8E - .pool -_08141C58: - movs r0, 0x22 - ldrsh r1, [r2, r0] - ldr r0, =0x0000270f - cmp r1, r0 - bne _08141CB0 - ldr r4, =gUnknown_0203AB8C - ldrb r0, [r4] - movs r1, 0 - bl NewMenuHelpers_DrawStdWindowFrame - ldrb r0, [r4] - ldr r2, =gUnknown_082A5C61 - movs r1, 0x1 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - ldrb r0, [r4] - movs r1, 0x3 - bl CopyWindowToVram - ldr r1, =sub_8140914 -_08141C8E: - ldr r2, =0x0000ffff - adds r0, r6, 0 - movs r3, 0x3 - bl sub_8141F7C - b _08141CF2 - .pool -_08141CB0: - ldr r0, =sub_8140914 - str r0, [r2] - b _08141CF2 - .pool -_08141CBC: - ldr r4, =gUnknown_0203AB8C - ldrb r0, [r4] - movs r1, 0 - bl NewMenuHelpers_DrawStdWindowFrame - ldrb r0, [r4] - ldr r2, =gUnknown_082A5C04 - movs r1, 0x1 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - ldrb r0, [r4] - movs r1, 0x3 - bl CopyWindowToVram - ldr r1, =sub_8140994 - adds r0, r6, 0 - movs r2, 0x3C - movs r3, 0x3 - bl sub_8141F7C -_08141CF2: - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8141B58 - - thumb_func_start dp01t_12_3_battle_menu -dp01t_12_3_battle_menu: @ 8141D0C - push {r4-r7,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - strh r4, [r0, 0x14] - adds r0, r5, 0 - bl sub_8141FF4 - bl sub_8142070 - bl sub_8143A40 - movs r0, 0 - bl sub_81424FC - movs r0, 0x6 - bl sub_814372C - ldr r7, =gSprites - ldr r3, =gUnknown_0203AB88 - movs r6, 0x5 - negs r6, r6 -_08141D44: - ldr r0, [r3] - adds r0, r4 - adds r0, 0x43 - ldrb 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 - strb r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xB - bls _08141D44 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r2, r0, r1 - movs r0, 0x22 - ldrsh r1, [r2, r0] - ldr r0, =0x0000270f - cmp r1, r0 - bne _08141DD4 - ldr r4, =gUnknown_0203AB8C - ldrb r0, [r4] - movs r1, 0 - bl NewMenuHelpers_DrawStdWindowFrame - ldrb r0, [r4] - ldr r2, =gUnknown_082A5C61 - movs r1, 0x1 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - ldrb r0, [r4] - movs r1, 0x3 - bl CopyWindowToVram - ldr r1, =sub_8140914 - ldr r2, =0x0000ffff - adds r0, r5, 0 - movs r3, 0x3 - bl sub_8141F7C - b _08141DD8 - .pool -_08141DD4: - ldr r0, =sub_8140914 - str r0, [r2] -_08141DD8: - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end dp01t_12_3_battle_menu - - thumb_func_start sub_8141DE4 -sub_8141DE4: @ 8141DE4 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, =gUnknown_0203AB88 - ldr r0, [r4] - adds r0, 0xB8 - ldr r1, =0x0000ffff - bl sub_8151A9C - ldr r0, [r4] - adds r0, 0xB8 - bl sub_8151678 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x22] - bl SetCoins - bl GetCoins - ldr r1, [r4] - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r1, 0x19] - cmp r0, r1 - bcs _08141E38 - ldr r1, =gSpecialVar_0x8004 - movs r0, 0x1 - b _08141E3C - .pool -_08141E38: - ldr r1, =gSpecialVar_0x8004 - movs r0, 0 -_08141E3C: - strh r0, [r1] - bl GetCoins - lsls r0, 16 - lsrs r0, 16 - bl sub_80EDD78 - movs r0, 0 - str r0, [sp] - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginHardwarePaletteFade - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_8141E7C - str r1, [r0] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8141DE4 - - thumb_func_start sub_8141E7C -sub_8141E7C: @ 8141E7C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - bl UpdatePaletteFade - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _08141EDE - movs r0, 0 - bl SetVBlankCallback - ldr r1, =gSpriteCoordOffsetX - ldr r0, =gSpriteCoordOffsetY - strh r4, [r0] - strh r4, [r1] - bl ResetVramOamAndBgCntRegs - bl ResetAllBgsCoordinates - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - bl FreeAllSpritePalettes - bl ResetPaletteFade - bl ResetSpriteData - bl sub_8140418 - ldr r1, =gFieldCallback - ldr r0, =sub_80AF168 - str r0, [r1] - ldr r0, =CB2_ReturnToField - bl SetMainCallback2 - adds r0, r5, 0 - bl DestroyTask -_08141EDE: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8141E7C - - thumb_func_start sub_8141EF8 -sub_8141EF8: @ 8141EF8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gUnknown_0203AB88 - ldr r3, [r1] - adds r0, r3, 0 - adds r0, 0xA8 - ldrh r0, [r0] - adds r5, r1, 0 - cmp r0, 0 - beq _08141F1E - ldr r0, =gMain - adds r2, r3, 0 - adds r2, 0xAA - ldrh r1, [r0, 0x2E] - ldrh r0, [r2] - ands r0, r1 - cmp r0, 0 - beq _08141F52 -_08141F1E: - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - adds r1, r3, 0 - adds r1, 0xAC - ldr r1, [r1] - str r1, [r0] - adds r0, r3, 0 - adds r0, 0xAA - ldrh r0, [r0] - cmp r0, 0 - beq _08141F40 - movs r0, 0x5 - bl PlaySE -_08141F40: - ldr r2, [r5] - adds r0, r2, 0 - adds r0, 0xAC - movs r1, 0 - str r1, [r0] - subs r0, 0x2 - strh r1, [r0] - subs r0, 0x2 - strh r1, [r0] -_08141F52: - ldr r0, [r5] - adds r1, r0, 0 - adds r1, 0xA8 - ldrh r2, [r1] - ldr r0, =0x0000ffff - cmp r2, r0 - beq _08141F64 - subs r0, r2, 0x1 - strh r0, [r1] -_08141F64: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8141EF8 - - thumb_func_start sub_8141F7C -sub_8141F7C: @ 8141F7C - push {r4-r7,lr} - adds r5, r1, 0 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r2, 16 - lsrs r4, r2, 16 - lsls r3, 16 - lsrs r7, r3, 16 - ldr r2, =gUnknown_0203AB88 - ldr r0, [r2] - mov r12, r0 - mov r3, r12 - adds r3, 0xB4 - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r0, [r0] - str r0, [r3] - adds r3, r1, 0 - cmp r5, 0 - bne _08141FAC - adds r5, r0, 0 -_08141FAC: - mov r0, r12 - adds r0, 0xAC - str r5, [r0] - subs r0, 0x4 - strh r4, [r0] - ldr r0, =0x0000ffff - cmp r4, r0 - bne _08141FD8 - cmp r7, 0 - bne _08141FD8 - mov r1, r12 - adds r1, 0xAA - ldrh r0, [r1] - orrs r4, r0 - strh r4, [r1] - b _08141FDE - .pool -_08141FD8: - ldr r0, [r2] - adds r0, 0xAA - strh r7, [r0] -_08141FDE: - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r3 - ldr r1, =sub_8141EF8 - str r1, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8141F7C - - thumb_func_start sub_8141FF4 -sub_8141FF4: @ 8141FF4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - ldr r3, =gUnknown_0203AB88 - ldr r0, [r3] - strb r4, [r0] - ldr r2, [r3] - ldrb r1, [r2, 0x3] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x3] - ldr r2, [r3] - ldrb r1, [r2, 0x3] - movs r0, 0x21 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x3] - ldr r2, [r3] - ldrb r1, [r2, 0x3] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x3] - ldr r2, [r3] - ldrb r1, [r2, 0x3] - movs r0, 0x20 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x3] - ldr r6, =gTasks - adds r2, r3, 0 - movs r1, 0 -_08142036: - ldr r0, [r2] - adds r0, 0x1B - adds r0, r4 - strb r1, [r0] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _08142036 - ldr r2, [r3] - ldrb r1, [r2, 0x1A] - movs r0, 0x10 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x1A] - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r6 - movs r1, 0 - strh r1, [r0, 0xA] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8141FF4 - - thumb_func_start sub_8142070 -sub_8142070: @ 8142070 - push {lr} - ldr r2, =gUnknown_0203AB88 - ldr r1, [r2] - movs r0, 0 - str r0, [r1, 0x8] - movs r1, 0 - movs r3, 0 -_0814207E: - ldr r0, [r2] - adds r0, 0xC - adds r0, r1 - strb r3, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x5 - bls _0814207E - movs r1, 0 - ldr r3, =gUnknown_0203AB88 - movs r2, 0 -_08142096: - ldr r0, [r3] - adds r0, 0x12 - adds r0, r1 - strb r2, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x3 - bls _08142096 - movs r1, 0 - ldr r3, =gUnknown_0203AB88 - movs r2, 0 -_081420AE: - ldr r0, [r3] - adds r0, 0x16 - adds r0, r1 - strb r2, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x2 - bls _081420AE - movs r0, 0x1 - movs r1, 0xFF - bl sub_8143038 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8142070 - - thumb_func_start sub_81420D0 -sub_81420D0: @ 81420D0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x1C - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - mov r1, sp - ldr r0, =gUnknown_085B642C - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldr r0, [r0] - str r0, [r1] - add r2, sp, 0x10 - adds r1, r2, 0 - ldr r0, =gUnknown_085B643C - ldm r0!, {r3,r6,r7} - stm r1!, {r3,r6,r7} - mov r8, r2 - cmp r5, 0xB - bls _0814210C - movs r0, 0 - b _081421C8 - .pool -_0814210C: - ldr r6, =gUnknown_0203AB88 - ldr r3, [r6] - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r7, 0x14 - ldrsh r1, [r0, r7] - adds r3, r1 - ldr r4, =gUnknown_085B62E4 - lsls r5, 3 - adds r2, r5, r4 - ldrb r1, [r2, 0x2] - strb r1, [r3, 0xB] - ldrb r1, [r2, 0x2] - strh r1, [r0, 0x20] - ldr r2, [r6] - adds r0, r4, 0x4 - adds r0, r5, r0 - ldr r1, [r2, 0x8] - ldr r0, [r0] - orrs r1, r0 - str r1, [r2, 0x8] - movs r3, 0 - mov r9, r4 - mov r12, r5 - adds r5, r0, 0 -_08142144: - lsls r0, r3, 2 - mov r1, sp - adds r4, r1, r0 - ldr r0, [r4] - ands r0, r5 - cmp r0, 0 - beq _0814215E - ldr r1, [r6] - adds r1, 0x12 - adds r1, r3 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0814215E: - ldr r2, [r6] - adds r0, r2, 0 - adds r0, 0x12 - adds r0, r3 - ldrb r0, [r0] - cmp r0, 0x2 - bls _08142174 - ldr r0, [r2, 0x8] - ldr r1, [r4] - orrs r0, r1 - str r0, [r2, 0x8] -_08142174: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x3 - bls _08142144 - movs r6, 0 - ldr r0, =gUnknown_085B62E4+0x4 - add r0, r12 - ldr r7, [r0] - ldr r4, =gUnknown_0203AB88 - mov r5, r8 -_0814218A: - lsls r0, r6, 2 - adds r2, r5, r0 - ldr r0, [r2] - ands r0, r7 - cmp r0, 0 - beq _081421A2 - ldr r1, [r4] - adds r1, 0x16 - adds r1, r6 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_081421A2: - ldr r3, [r4] - adds r0, r3, 0 - adds r0, 0x16 - adds r0, r6 - ldrb r0, [r0] - cmp r0, 0x3 - bls _081421B8 - ldr r0, [r3, 0x8] - ldr r1, [r2] - orrs r0, r1 - str r0, [r3, 0x8] -_081421B8: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x2 - bls _0814218A - mov r0, r12 - add r0, r9 - ldrb r0, [r0, 0x2] -_081421C8: - add sp, 0x1C - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81420D0 - - thumb_func_start sub_81421E8 -sub_81421E8: @ 81421E8 - push {lr} - lsls r0, 24 - lsls r1, 24 - lsrs r2, r1, 24 - lsrs r3, r0, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x12 - bhi _0814227C - cmp r2, 0xF - bhi _08142278 - lsls r0, r2, 2 - ldr r1, =_08142210 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08142210: - .4byte _08142250 - .4byte _08142254 - .4byte _08142254 - .4byte _08142254 - .4byte _08142254 - .4byte _08142268 - .4byte _08142278 - .4byte _08142278 - .4byte _08142278 - .4byte _08142278 - .4byte _08142268 - .4byte _08142278 - .4byte _08142278 - .4byte _08142278 - .4byte _08142278 - .4byte _08142268 -_08142250: - movs r0, 0x3 - b _0814227E -_08142254: - adds r0, r2, 0x5 - cmp r3, r0 - beq _08142274 - adds r0, 0x5 - cmp r3, r0 - beq _08142274 - adds r0, 0x5 - cmp r3, r0 - bne _0814227C - b _08142274 -_08142268: - adds r0, r2, 0x1 - cmp r3, r0 - blt _0814227C - adds r0, r2, 0x4 - cmp r3, r0 - bgt _0814227C -_08142274: - movs r0, 0x1 - b _0814227E -_08142278: - cmp r3, r2 - beq _08142274 -_0814227C: - movs r0, 0 -_0814227E: - pop {r1} - bx r1 - thumb_func_end sub_81421E8 - - thumb_func_start sub_8142284 -sub_8142284: @ 8142284 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - lsls r0, 24 - lsrs r7, r0, 24 - movs r0, 0 - str r0, [sp, 0x18] - cmp r7, 0xA - beq _081422AA - cmp r7, 0xA - bgt _081422A6 - cmp r7, 0x5 - beq _081422AA - b _0814230C -_081422A6: - cmp r7, 0xF - bne _0814230C -_081422AA: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - adds r2, r7, 0x5 - ldr r1, =gUnknown_0203AB88 - mov r12, r1 - cmp r4, r2 - bge _081422E8 - ldr r0, [r1] - ldr r3, =gUnknown_085B6154 - ldr r5, [r0, 0x8] - adds r6, r3, 0 - adds r6, 0x8 -_081422C4: - lsls r0, r4, 2 - adds r0, r4 - lsls r1, r0, 2 - adds r0, r1, r6 - ldr r0, [r0] - ands r0, r5 - cmp r0, 0 - bne _081422DE - adds r0, r1, r3 - ldrh r0, [r0, 0x10] - ldr r1, [sp, 0x18] - orrs r1, r0 - str r1, [sp, 0x18] -_081422DE: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r2 - blt _081422C4 -_081422E8: - mov r2, r12 - ldr r0, [r2] - adds r0, 0xB8 - ldr r1, =0x0000dfff - ldr r3, [sp, 0x18] - ands r3, r1 - str r3, [sp, 0x18] - adds r1, r3, 0 - bl sub_8151A48 - b _081424E2 - .pool -_0814230C: - mov r0, sp - ldr r1, =gUnknown_085B63F0 - ldm r1!, {r2,r4,r5} - stm r0!, {r2,r4,r5} - ldm r1!, {r3-r5} - stm r0!, {r3-r5} - subs r0, r7, 0x1 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - mov r9, r1 - cmp r0, 0x3 - bhi _0814232A - movs r2, 0x3 - mov r9, r2 -_0814232A: - adds r0, r7, 0 - movs r1, 0x5 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 8 - ldr r3, =0xffff0000 - adds r0, r3 - lsrs r0, 16 - mov r8, r0 - adds r0, r7, 0 - movs r1, 0x5 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - beq _08142390 - cmp r0, 0x2 - bgt _08142368 - cmp r0, 0x1 - beq _0814237C - ldr r4, =gUnknown_0203AB88 - mov r12, r4 - b _081423D4 - .pool -_08142368: - cmp r0, 0x3 - beq _081423A4 - cmp r0, 0x4 - beq _081423B8 - ldr r5, =gUnknown_0203AB88 - mov r12, r5 - b _081423D4 - .pool -_0814237C: - ldr r3, =gSprites - ldr r2, =gUnknown_0203AB88 - ldr r0, [r2] - adds r0, 0x43 - b _081423C0 - .pool -_08142390: - ldr r3, =gSprites - ldr r2, =gUnknown_0203AB88 - ldr r0, [r2] - adds r0, 0x44 - b _081423C0 - .pool -_081423A4: - ldr r3, =gSprites - ldr r2, =gUnknown_0203AB88 - ldr r0, [r2] - adds r0, 0x45 - b _081423C0 - .pool -_081423B8: - ldr r3, =gSprites - ldr r2, =gUnknown_0203AB88 - ldr r0, [r2] - adds r0, 0x46 -_081423C0: - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x5] - lsrs r0, 4 - lsls r0, 4 - mov r8, r0 - mov r12, r2 -_081423D4: - mov r0, r9 - cmp r0, 0x1 - bne _08142430 - mov r1, r12 - ldr r4, [r1] - ldr r1, =gUnknown_085B6154 - lsls r2, r7, 2 - adds r0, r2, r7 - lsls r0, 2 - adds r1, 0x8 - adds r0, r1 - ldr r1, [r4, 0x8] - ldr r0, [r0] - ands r1, r0 - str r2, [sp, 0x1C] - cmp r1, 0 - bne _081424E2 - adds r0, r7, 0 - movs r1, 0x5 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - subs r1, r0, 0x1 - lsls r1, 3 - mov r3, sp - adds r2, r3, r1 - ldrh r1, [r2, 0x2] - add r1, r8 - strh r1, [r2, 0x2] - adds r1, r4, 0 - adds r1, 0xB8 - lsls r0, 3 - subs r0, 0x8 - adds r2, r3, r0 - adds r0, r1, 0 - movs r1, 0xD - bl sub_815168C - b _081424C4 - .pool -_08142430: - movs r4, 0 - lsls r5, r7, 2 - str r5, [sp, 0x1C] - ldr r0, =gUnknown_085B6154 - mov r10, r0 -_0814243A: - lsls r0, r4, 2 - adds r0, r4 - adds r0, r7, r0 - adds r0, 0x5 - lsls r0, 24 - lsrs r3, r0, 24 - mov r1, r12 - ldr r5, [r1] - lsls r0, r3, 2 - adds r0, r3 - lsls r6, r0, 2 - mov r0, r10 - adds r0, 0x8 - adds r0, r6, r0 - ldr r1, [r5, 0x8] - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _081424B0 - adds r0, r3, 0 - movs r1, 0x5 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - subs r1, r0, 0x1 - lsls r1, 3 - mov r3, sp - adds r2, r3, r1 - ldrh r1, [r2, 0x2] - add r1, r8 - strh r1, [r2, 0x2] - adds r3, r5, 0 - adds r3, 0xB8 - adds r1, r4, 0 - adds r1, 0xD - lsls r1, 24 - lsrs r1, 24 - lsls r0, 3 - subs r0, 0x8 - mov r5, sp - adds r2, r5, r0 - adds r0, r3, 0 - bl sub_815168C - mov r0, r9 - cmp r0, 0x3 - bne _081424A2 - mov r1, r10 - adds r0, r6, r1 - ldrh r0, [r0, 0x10] - str r0, [sp, 0x18] -_081424A2: - mov r0, r9 - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r2, =gUnknown_0203AB88 - mov r12, r2 -_081424B0: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _0814243A - mov r3, r9 - cmp r3, 0x2 - beq _081424C4 - movs r4, 0 - str r4, [sp, 0x18] -_081424C4: - ldr r0, =gUnknown_0203AB88 - ldr r0, [r0] - adds r0, 0xB8 - ldr r2, =gUnknown_085B6154 - ldr r5, [sp, 0x1C] - adds r1, r5, r7 - lsls r1, 2 - adds r1, r2 - ldrh r1, [r1, 0x10] - ldr r2, [sp, 0x18] - orrs r2, r1 - str r2, [sp, 0x18] - adds r1, r2, 0 - bl sub_8151A48 -_081424E2: - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8142284 - - thumb_func_start sub_81424FC -sub_81424FC: @ 81424FC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x2C - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, =gUnknown_0203AB88 - ldr r1, [r4] - movs r0, 0x1 - strh r0, [r1, 0x2A] - movs r0, 0 - movs r1, 0 - bl sub_8142E70 - ldr r1, [r4] - ldr r2, =0x0000117c - adds r0, r1, r2 - ldr r2, =0x0000397c - adds r1, r2 - ldr r1, [r1] - movs r2, 0x10 - str r2, [sp] - movs r2, 0xD - str r2, [sp, 0x4] - movs r2, 0xE - movs r3, 0x7 - bl sub_8152058 - cmp r5, 0xF - bhi _081425FC - lsls r0, r5, 2 - ldr r1, =_08142558 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08142558: - .4byte _08142738 - .4byte _08142598 - .4byte _08142598 - .4byte _08142598 - .4byte _08142598 - .4byte _081425CC - .4byte _081425FC - .4byte _081425FC - .4byte _081425FC - .4byte _081425FC - .4byte _081425CC - .4byte _081425FC - .4byte _081425FC - .4byte _081425FC - .4byte _081425FC - .4byte _081425CC -_08142598: - movs r0, 0x4 - str r0, [sp, 0x18] - add r1, sp, 0x8 - movs r0, 0 - strb r0, [r1] - adds r0, r1, 0 - ldrb r0, [r0] - cmp r0, 0x3 - bhi _08142604 - add r4, sp, 0x10 - adds r3, r1, 0 -_081425AE: - ldrb r2, [r3] - adds r2, r4 - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - adds r0, r5, r0 - strb r0, [r2] - ldrb r0, [r3] - adds r0, 0x1 - strb r0, [r3] - ldrb r0, [r3] - ldr r1, [sp, 0x18] - cmp r0, r1 - bcc _081425AE - b _08142604 -_081425CC: - movs r2, 0x5 - str r2, [sp, 0x18] - add r1, sp, 0x8 - movs r0, 0 - strb r0, [r1] - adds r0, r1, 0 - ldrb r0, [r0] - cmp r0, 0x4 - bhi _08142604 - add r3, sp, 0x10 - adds r2, r1, 0 -_081425E2: - ldrb r1, [r2] - adds r1, r3 - ldrb r0, [r2] - adds r0, r5, r0 - strb r0, [r1] - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - ldrb r0, [r2] - ldr r1, [sp, 0x18] - cmp r0, r1 - bcc _081425E2 - b _08142604 -_081425FC: - movs r2, 0x1 - str r2, [sp, 0x18] - add r0, sp, 0x10 - strb r5, [r0] -_08142604: - add r1, sp, 0x8 - movs r0, 0 - strb r0, [r1] - adds r0, r1, 0 - ldrb r0, [r0] - ldr r1, [sp, 0x18] - cmp r0, r1 - bcc _08142616 - b _08142738 -_08142616: - mov r2, sp - adds r2, 0xE - str r2, [sp, 0x1C] - add r0, sp, 0x10 - mov r10, r0 - add r1, sp, 0x8 - mov r9, r1 - subs r2, 0x4 - str r2, [sp, 0x20] -_08142628: - mov r1, r9 - ldrb r0, [r1] - add r0, r10 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - ldr r2, =gUnknown_085B6154 - adds r0, r2 - ldrb r0, [r0, 0x6] - ldr r1, [sp, 0x1C] - strb r0, [r1] - mov r2, r9 - ldrb r0, [r2] - add r0, r10 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - ldr r1, =gUnknown_085B6154 - adds r0, r1 - ldrb r0, [r0, 0x3] - ldr r2, [sp, 0x20] - strh r0, [r2] - mov r7, sp - adds r7, 0x9 - movs r0, 0 - strb r0, [r7] - ldrb r0, [r7] - cmp r0, 0x2 - bhi _08142726 - add r6, sp, 0xC - mov r8, r2 - ldr r0, [sp, 0x1C] - mov r12, r0 - ldr r1, =gUnknown_0203AB88 - str r1, [sp, 0x28] -_08142672: - mov r2, r9 - ldrb r0, [r2] - add r0, r10 - ldrb r0, [r0] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - ldr r0, =gUnknown_085B6154 - adds r1, r0 - str r7, [sp, 0x24] - ldrb r0, [r7] - ldrb r1, [r1, 0x4] - adds r0, r1 - lsls r0, 5 - strh r0, [r6] - ldr r1, [sp, 0x28] - ldr r4, [r1] - mov r2, r8 - ldrh r0, [r2] - ldrh r2, [r6] - adds r2, r0 - lsls r2, 1 - ldr r0, =0x0000117c - adds r5, r4, r0 - adds r2, r5, r2 - mov r1, r12 - ldrb r0, [r1] - ldrb r1, [r7] - adds r1, r0 - ldr r0, =0x0000397c - adds r4, r0 - ldr r3, [r4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - adds r0, r3 - movs r1, 0xD0 - lsls r1, 1 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r2] - mov r2, r8 - ldrh r0, [r2] - ldrh r2, [r6] - adds r2, r0 - adds r2, 0x1 - lsls r2, 1 - adds r2, r5, r2 - mov r1, r12 - ldrb r0, [r1] - ldrb r1, [r7] - adds r1, r0 - ldr r3, [r4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - adds r0, r3 - movs r1, 0xD1 - lsls r1, 1 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r2] - mov r2, r8 - ldrh r1, [r2] - ldrh r0, [r6] - adds r0, r1 - adds r0, 0x2 - lsls r0, 1 - adds r5, r0 - mov r1, r12 - ldrb r0, [r1] - ldrb r1, [r7] - adds r1, r0 - ldr r2, [r4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - adds r0, r2 - movs r2, 0xD2 - lsls r2, 1 - adds r0, r2 - ldrh r0, [r0] - strh r0, [r5] - ldrb r0, [r7] - adds r0, 0x1 - strb r0, [r7] - ldr r1, [sp, 0x24] - ldrb r0, [r1] - cmp r0, 0x2 - bls _08142672 -_08142726: - mov r2, r9 - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - ldrb r0, [r2] - ldr r1, [sp, 0x18] - cmp r0, r1 - bcs _08142738 - b _08142628 -_08142738: - add sp, 0x2C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81424FC - - thumb_func_start sub_8142758 -sub_8142758: @ 8142758 - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gUnknown_085B6448 - mov r0, sp - movs r2, 0x5 - bl memcpy - cmp r4, 0x13 - bls _08142770 - movs r4, 0 -_08142770: - ldr r3, =gUnknown_085B6154 - lsls r0, r4, 2 - adds r0, r4 - lsls r2, r0, 2 - adds r0, r2, r3 - ldrb r0, [r0, 0x1] - lsls r0, 28 - lsrs r0, 28 - cmp r0, 0x4 - beq _081427C4 - cmp r0, 0x4 - bgt _08142798 - cmp r0, 0x3 - beq _0814279E - b _08142808 - .pool -_08142798: - cmp r0, 0xC - beq _081427E8 - b _08142808 -_0814279E: - adds r0, r4, 0 - movs r1, 0x5 - bl __udivsi3 - subs r0, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gUnknown_0203AB88 - ldr r0, [r0] - adds r0, 0x16 - adds r1, r0, r4 - ldrb r0, [r1] - cmp r0, 0x3 - bhi _08142808 - ldrb r0, [r1] - adds r0, 0x1 - b _081427DC - .pool -_081427C4: - subs r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gUnknown_0203AB88 - ldr r0, [r0] - adds r0, 0x12 - adds r1, r0, r4 - ldrb r0, [r1] - cmp r0, 0x2 - bhi _08142808 - ldrb r0, [r1] - adds r0, 0x2 -_081427DC: - add r0, sp - ldrb r0, [r0] - b _0814280A - .pool -_081427E8: - ldr r0, =gUnknown_0203AB88 - ldr r1, [r0] - adds r0, r3, 0 - adds r0, 0x8 - adds r0, r2, r0 - ldr r1, [r1, 0x8] - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _08142808 - mov r0, sp - ldrb r0, [r0, 0x4] - b _0814280A - .pool -_08142808: - movs r0, 0 -_0814280A: - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8142758 - - thumb_func_start sub_8142814 -sub_8142814: @ 8142814 - push {r4-r6,lr} - ldr r4, =gUnknown_0203AB88 - ldr r0, [r4] - ldrh r1, [r0, 0x2C] - movs r0, 0x20 - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x2E] - movs r0, 0x22 - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x30] - movs r0, 0x24 - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x32] - movs r0, 0x26 - bl SetGpuReg - ldr r3, [r4] - movs r0, 0x2E - ldrsh r1, [r3, r0] - ldr r0, =gSpriteCoordOffsetY - movs r4, 0 - ldrsh r2, [r0, r4] - adds r2, 0x50 - adds r0, r1, 0 - muls r0, r2 - movs r4, 0xE8 - lsls r4, 7 - subs r4, r0 - movs r6, 0x2C - ldrsh r5, [r3, r6] - ldr r0, =gSpriteCoordOffsetX - movs r6, 0 - ldrsh r1, [r0, r6] - adds r1, 0x74 - adds r0, r5, 0 - muls r0, r1 - subs r4, r0 - movs r5, 0x32 - ldrsh r0, [r3, r5] - muls r0, r2 - movs r5, 0xA8 - lsls r5, 7 - subs r5, r0 - movs r6, 0x30 - ldrsh r0, [r3, r6] - muls r0, r1 - subs r5, r0 - lsls r1, r4, 16 - lsrs r1, 16 - movs r0, 0x28 - bl SetGpuReg - ldr r6, =0x0fff0000 - ands r4, r6 - lsrs r4, 16 - movs r0, 0x2A - adds r1, r4, 0 - bl SetGpuReg - lsls r1, r5, 16 - lsrs r1, 16 - movs r0, 0x2C - bl SetGpuReg - ands r5, r6 - lsrs r5, 16 - movs r0, 0x2E - adds r1, r5, 0 - bl SetGpuReg - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8142814 - - thumb_func_start sub_81428C4 -sub_81428C4: @ 81428C4 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl DisplayYesNoMenu - ldr r1, =gUnknown_085B6408 - adds r0, r4, 0 - bl sub_8121F68 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81428C4 - - thumb_func_start sub_81428E4 -sub_81428E4: @ 81428E4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08142908 - movs r0, 0 - bl SetVBlankCallback - ldr r0, =sub_81405CC - bl SetMainCallback2 - adds r0, r4, 0 - bl DestroyTask -_08142908: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81428E4 - - thumb_func_start sub_8142918 -sub_8142918: @ 8142918 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0x1 - bl sub_819746C - bl HideCoinsWindow - bl FreeAllWindowBuffers - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r2, =gPaletteFade - ldrb r1, [r2, 0x8] - lsls r1, 26 - lsrs r1, 26 - ldrb r3, [r2, 0x4] - movs r0, 0x40 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x4] - bl UpdatePaletteFade - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81428E4 - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8142918 - - thumb_func_start sub_814297C -sub_814297C: @ 814297C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0 - bl sub_819746C - bl HideCoinsWindow - bl ScriptContext2_Disable - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_814297C - - thumb_func_start sub_81429A0 -sub_81429A0: @ 81429A0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _081429DE - ldr r1, =gSpecialVar_0x8004 - movs r0, 0x1 - strh r0, [r1] - bl HideCoinsWindow - movs r0, 0 - movs r1, 0x1 - bl sub_819746C - bl ScriptContext2_Disable - adds r0, r4, 0 - bl DestroyTask -_081429DE: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81429A0 - - thumb_func_start sub_81429F0 -sub_81429F0: @ 81429F0 - push {r4-r6,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _08142A60 - ldr r2, =gUnknown_085B6344 - ldr r0, =gSpecialVar_0x8004 - ldrh r1, [r0] - movs r5, 0x1 - adds r0, r5, 0 - ands r0, r1 - lsrs r1, 7 - lsls r1, 1 - adds r0, r1 - adds r0, r2 - ldrb r1, [r0] - ldr r0, =gStringVar1 - movs r2, 0x2 - movs r3, 0x1 - bl ConvertIntToDecimalStringN - ldr r4, =gStringVar4 - ldr r1, =gUnknown_082A5B12 - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - movs r1, 0 - bl NewMenuHelpers_DrawStdWindowFrame - str r5, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - movs r1, 0x1 - adds r2, r4, 0 - movs r3, 0 - bl AddTextPrinterParameterized - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81428C4 - str r1, [r0] -_08142A60: - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81429F0 - - thumb_func_start sub_8142A88 -sub_8142A88: @ 8142A88 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r6, r0, r1 - movs r1, 0x22 - ldrsh r0, [r6, r1] - bl PrintCoinsString - ldr r2, =gUnknown_085B6344 - ldr r0, =gSpecialVar_0x8004 - mov r8, r0 - ldrh r1, [r0] - movs r7, 0x1 - adds r0, r7, 0 - ands r0, r1 - lsrs r1, 7 - lsls r1, 1 - adds r0, r1 - adds r0, r2 - ldrb r4, [r0] - ldr r0, =gStringVar1 - adds r1, r4, 0 - movs r2, 0x2 - movs r3, 0x1 - bl ConvertIntToDecimalStringN - movs r1, 0x22 - ldrsh r0, [r6, r1] - cmp r0, r4 - blt _08142B78 - mov r0, r8 - ldrh r1, [r0] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08142B28 - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - beq _08142B28 - movs r0, 0 - movs r1, 0 - bl NewMenuHelpers_DrawStdWindowFrame - ldr r2, =gUnknown_082A5B6B - str r7, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, =sub_81429F0 - str r0, [r6] - b _08142BB0 - .pool -_08142B28: - ldr r4, =gStringVar4 - ldr r1, =gUnknown_082A5B12 - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - movs r1, 0 - bl NewMenuHelpers_DrawStdWindowFrame - movs r0, 0x1 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - movs r1, 0x1 - adds r2, r4, 0 - movs r3, 0 - bl AddTextPrinterParameterized - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81428C4 - str r1, [r0] - b _08142BB0 - .pool -_08142B78: - ldr r5, =gStringVar4 - ldr r1, =gUnknown_082A5B4E - adds r0, r5, 0 - bl StringExpandPlaceholders - movs r0, 0 - movs r1, 0 - bl NewMenuHelpers_DrawStdWindowFrame - str r7, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r4, 0 - str r4, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - adds r2, r5, 0 - movs r3, 0 - bl AddTextPrinterParameterized - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, =sub_81429A0 - str r0, [r6] - strh r4, [r6, 0x22] - strh r4, [r6, 0x8] -_08142BB0: - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8142A88 - - thumb_func_start sub_8142BC8 -sub_8142BC8: @ 8142BC8 - push {r4,lr} - bl ScriptContext2_Enable - bl GetCoins - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - movs r2, 0x1 - bl ShowCoinsWindow - ldr r0, =sub_8142A88 - movs r1, 0 - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl GetCoins - ldr r2, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r2 - strh r0, [r1, 0x22] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8142BC8 - - thumb_func_start sub_8142C0C -sub_8142C0C: @ 8142C0C - push {lr} - lsls r0, 24 - cmp r0, 0 - bne _08142C44 - bl FreeAllSpritePalettes - ldr r0, =gUnknown_085B7384 - bl LoadSpritePalettes - ldr r0, =gUnknown_085B7864 - bl LoadCompressedSpriteSheet - ldr r0, =gUnknown_085B7978 - bl LoadCompressedSpriteSheet - ldr r0, =gUnknown_085B7A40 - bl LoadCompressedSpriteSheet - b _08142C5A - .pool -_08142C44: - movs r0, 0xE - bl FreeSpriteTilesByTag - movs r0, 0xD - bl FreeSpriteTilesByTag - movs r0, 0xC - bl FreeSpriteTilesByTag - bl FreeAllSpritePalettes -_08142C5A: - pop {r0} - bx r0 - thumb_func_end sub_8142C0C - - thumb_func_start sub_8142C60 -sub_8142C60: @ 8142C60 - push {r4-r6,lr} - adds r4, r1, 0 - adds r6, r2, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, [r0, 0x4] - ldrb r3, [r1] - movs r1, 0x74 - movs r2, 0x50 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r0, =gSprites - lsls r1, r5, 4 - adds r1, r5 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r6] - strh r0, [r1, 0x2E] - strh r4, [r1, 0x30] - adds r3, r1, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r2, 0x2 - orrs r0, r2 - strb r0, [r3] - adds r1, 0x2C - ldrb r0, [r1] - movs r2, 0x40 - orrs r0, r2 - movs r2, 0x80 - orrs r0, r2 - strb r0, [r1] - ldrh r2, [r6] - adds r0, r2, 0 - adds r0, 0x1E - strh r0, [r6] - lsls r0, 16 - ldr r1, =0x01670000 - cmp r0, r1 - bls _08142CBC - ldr r1, =0xfffffeb6 - adds r0, r2, r1 - strh r0, [r6] -_08142CBC: - adds r0, r5, 0 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8142C60 - - thumb_func_start sub_8142CD0 -sub_8142CD0: @ 8142CD0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - ldr r4, =gUnknown_085B7488 - ldr r0, [r4] - ldr r5, =gDecompressionBuffer - adds r1, r5, 0 - bl LZ77UnCompWram - str r5, [sp] - mov r6, sp - ldrh r1, [r4, 0x6] - lsls r1, 16 - ldrh r0, [r4, 0x4] - orrs r0, r1 - str r0, [sp, 0x4] - mov r0, sp - bl LoadSpriteSheet - ldr r4, =gUnknown_085B7490 - ldr r0, [r4] - adds r1, r5, 0 - bl LZ77UnCompWram - str r5, [sp] - ldrh r0, [r4, 0x4] - strh r0, [r6, 0x4] - ldrh r0, [r4, 0x6] - strh r0, [r6, 0x6] - mov r0, sp - bl LoadSpriteSheet - movs r6, 0 - ldr r0, =gSprites - mov r8, r0 -_08142D18: - lsls r0, r6, 1 - adds r0, r6 - lsls r0, 27 - lsrs r4, r0, 24 - movs r5, 0 - lsls r7, r6, 2 -_08142D24: - lsls r1, r5, 1 - adds r1, r5 - lsls r1, 3 - ldr r0, =gSpriteTemplate_85B75B0 - adds r0, r1, r0 - adds r1, 0x94 - adds r2, r4, 0 - adds r2, 0x5C - movs r3, 0x1E - bl CreateSprite - ldr r1, =gUnknown_0203AB88 - ldr r1, [r1] - adds r2, r5, 0 - adds r2, 0x1D - adds r2, r7, r2 - adds r1, 0x3C - adds r1, r2 - strb r0, [r1] - lsls r0, 24 - lsrs r1, r0, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - adds r0, r4, 0 - adds r0, 0x18 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x47 - bls _08142D6E - movs r4, 0 -_08142D6E: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _08142D24 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x2 - bls _08142D18 - movs r6, 0 - ldr r4, =gSprites -_08142D86: - lsls r1, r6, 1 - adds r1, r6 - lsls r1, 3 - ldr r0, =gSpriteTemplate_85B7508 - adds r0, r1, r0 - adds r1, 0x94 - lsls r1, 16 - asrs r1, 16 - movs r2, 0x46 - movs r3, 0x1E - bl CreateSprite - ldr r1, =gUnknown_0203AB88 - ldr r1, [r1] - adds r1, r6 - adds r1, 0x65 - strb r0, [r1] - lsls r0, 24 - lsrs r1, r0, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x3 - bls _08142D86 - movs r6, 0 - ldr r4, =gSprites -_08142DCC: - lsls r2, r6, 1 - adds r2, r6 - lsls r2, 3 - ldr r0, =gSpriteTemplate_85B7568 - adds r0, r2, r0 - adds r2, 0x5C - lsls r2, 16 - asrs r2, 16 - movs r1, 0x7E - movs r3, 0x1E - bl CreateSprite - ldr r1, =gUnknown_0203AB88 - ldr r1, [r1] - adds r1, r6 - adds r1, 0x69 - strb r0, [r1] - lsls r0, 24 - lsrs r1, r0, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x2 - bls _08142DCC - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8142CD0 - - thumb_func_start sub_8142E3C -sub_8142E3C: @ 8142E3C - push {r4,lr} - movs r4, 0 -_08142E40: - ldr r0, =gUnknown_0203AB88 - ldr r0, [r0] - adds r0, r4 - adds r0, 0x59 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xB - bls _08142E40 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8142E3C - - thumb_func_start sub_8142E70 -sub_8142E70: @ 8142E70 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r12, r1 - cmp r0, 0 - beq _08142EC0 - cmp r0, 0x1 - bne _08142F66 - movs r4, 0 - ldr r5, =gSprites - ldr r3, =gUnknown_0203AB88 - movs r2, 0x4 -_08142E92: - ldr r0, [r3] - adds r0, r4 - adds r0, 0x59 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x12 - bls _08142E92 - b _08142F66 - .pool -_08142EC0: - movs r4, 0 - ldr r0, =gUnknown_0203AB88 - mov r9, r0 - ldr r7, =gUnknown_085B62E4 - adds r1, r7, 0x4 - mov r8, r1 - ldr r5, =gSprites - movs r6, 0x5 - negs r6, r6 -_08142ED2: - mov r0, r9 - ldr r2, [r0] - lsls r3, r4, 3 - mov r1, r8 - adds r0, r3, r1 - ldr r1, [r2, 0x8] - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _08142F14 - adds r0, r3, r7 - ldrb r0, [r0, 0x2] - cmp r0, r12 - beq _08142F14 - adds r0, r2, r4 - adds r0, 0x59 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - b _08142F2C - .pool -_08142F14: - adds r0, r2, r4 - adds r0, 0x59 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - adds r1, 0x3E - ldrb r2, [r1] - adds r0, r6, 0 - ands r0, r2 - strb r0, [r1] -_08142F2C: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xB - bls _08142ED2 - cmp r4, 0x12 - bhi _08142F66 - ldr r6, =gSprites - ldr r3, =gUnknown_0203AB88 - movs r5, 0x5 - negs r5, r5 -_08142F42: - ldr r0, [r3] - adds r0, r4 - adds r0, 0x59 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - adds r1, 0x3E - ldrb r2, [r1] - adds r0, r5, 0 - ands r0, r2 - strb r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x12 - bls _08142F42 -_08142F66: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8142E70 - - thumb_func_start sub_8142F7C -sub_8142F7C: @ 8142F7C - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r5, 0 - ldr r6, =gUnknown_0203AB88 - ldr r4, =gSprites - movs r0, 0x4 - mov r8, r0 -_08142F8C: - ldr r0, =gSpriteTemplate_85B7928 - movs r1, 0x74 - movs r2, 0x14 - movs r3, 0xA - bl CreateSprite - ldr r1, [r6] - adds r3, r5, 0 - adds r3, 0x31 - adds r1, 0x3C - adds r1, r3 - strb r0, [r1] - ldr r0, [r6] - adds r0, 0x3C - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - mov r2, r8 - orrs r1, r2 - strb r1, [r0] - ldr r2, [r6] - adds r2, 0x3C - adds r2, r3 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x1 - strh r1, [r0, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r4, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, =sub_814390C - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x5] - movs r7, 0xD - negs r7, r7 - adds r2, r7, 0 - ands r1, r2 - mov r2, r8 - orrs r1, r2 - strb r1, [r0, 0x5] - ldr r0, [r6] - adds r0, 0x3C - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x8 - bl StartSpriteAnim - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _08142F8C - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8142F7C - - thumb_func_start sub_8143038 -sub_8143038: @ 8143038 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - movs r6, 0 - cmp r0, 0 - beq _08143084 - ldr r4, =gSprites - ldr r3, =gUnknown_0203AB88 - movs r2, 0x4 -_08143056: - ldr r0, [r3] - adds r0, r6 - adds r0, 0x6D - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x5 - bls _08143056 - b _08143142 - .pool -_08143084: - ldr r0, =gUnknown_0203AB88 - mov r8, r0 - ldr r7, =gSprites - ldr r0, =gUnknown_085B6154 - mov r12, r0 - movs r0, 0x5 - negs r0, r0 - mov r10, r0 -_08143094: - mov r0, r8 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0xC - adds r0, r6 - ldrb r0, [r0] - cmp r0, 0 - beq _081430A8 - cmp r6, r9 - bne _081430D0 -_081430A8: - adds r0, r1, r6 - adds r0, 0x6D - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - b _08143138 - .pool -_081430D0: - adds r5, r6, 0 - adds r5, 0x31 - adds r0, r1, 0 - adds r0, 0x3C - adds r0, r5 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r7 - adds r1, 0x3E - ldrb r2, [r1] - mov r0, r10 - ands r0, r2 - strb r0, [r1] - mov r0, r8 - ldr r3, [r0] - adds r4, r3, 0 - adds r4, 0x3C - adds r4, r5 - ldrb r0, [r4] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r7 - adds r3, 0xC - adds r3, r6 - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - add r0, r12 - ldrb r0, [r0, 0x3] - adds r0, 0x1 - lsls r0, 3 - adds r0, 0x4 - strh r0, [r2, 0x20] - ldrb r0, [r4] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r7 - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - add r0, r12 - ldrb r0, [r0, 0x4] - adds r0, 0x1 - lsls r0, 3 - adds r0, 0x3 - strh r0, [r2, 0x22] -_08143138: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x5 - bls _08143094 -_08143142: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8143038 - - thumb_func_start sub_8143150 -sub_8143150: @ 8143150 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _08143180 - ldr r2, =gSprites - ldr r0, =gUnknown_0203AB88 - ldr r0, [r0] - adds r0, 0x6C - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - b _081431D0 - .pool -_08143180: - ldr r4, =gSprites - ldr r3, =gUnknown_0203AB88 - ldr r0, [r3] - adds r0, 0x6C - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - ldr r3, [r3] - adds r3, 0x6C - ldrb r0, [r3] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldr r0, =gUnknown_085B6154 - lsls r2, r5, 2 - adds r2, r5 - lsls r2, 2 - adds r2, r0 - ldrb r0, [r2, 0x3] - adds r0, 0x2 - lsls r0, 3 - strh r0, [r1, 0x20] - ldrb r0, [r3] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r0, [r2, 0x4] - adds r0, 0x2 - lsls r0, 3 - strh r0, [r1, 0x22] -_081431D0: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8143150 - - thumb_func_start sub_81431E4 -sub_81431E4: @ 81431E4 - push {r4-r7,lr} - sub sp, 0xC - ldr r4, =gUnknown_085B741C - ldr r0, [r4] - ldr r5, =gDecompressionBuffer - adds r1, r5, 0 - bl LZ77UnCompWram - str r5, [sp, 0x4] - add r0, sp, 0x4 - ldrh r2, [r4, 0x6] - lsls r2, 16 - ldrh r1, [r4, 0x4] - orrs r1, r2 - str r1, [r0, 0x4] - bl LoadSpriteSheet - movs r1, 0xF - mov r0, sp - strh r1, [r0] - movs r0, 0 - ldr r7, =gSprites -_08143210: - movs r4, 0 - adds r6, r0, 0x1 - lsls r5, r0, 2 -_08143216: - adds r1, r5, r4 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - ldr r1, =gSpriteTemplate_85B7610 - adds r0, r1 - movs r1, 0x28 - mov r2, sp - bl sub_8142C60 - ldr r1, =gUnknown_0203AB88 - ldr r1, [r1] - adds r2, r4, 0x7 - adds r2, r5, r2 - adds r1, 0x3C - adds r1, r2 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r7 - adds r1, 0x2C - ldrb r0, [r1] - movs r2, 0x40 - orrs r0, r2 - movs r2, 0x80 - orrs r0, r2 - strb r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _08143216 - lsls r0, r6, 24 - lsrs r0, 24 - cmp r0, 0x2 - bls _08143210 - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81431E4 - - thumb_func_start sub_8143280 -sub_8143280: @ 8143280 - push {r4-r6,lr} - adds r6, r0, 0 - ldr r0, =gUnknown_0203AB88 - ldr r1, [r0] - ldrh r0, [r6, 0x2E] - ldrh r1, [r1, 0x24] - adds r0, r1 - lsls r0, 16 - lsrs r4, r0, 16 - asrs r1, r0, 16 - ldr r0, =0x00000167 - cmp r1, r0 - ble _081432A2 - ldr r2, =0xfffffe98 - adds r0, r1, r2 - lsls r0, 16 - lsrs r4, r0, 16 -_081432A2: - adds r0, r4, 0 - bl Sin2 - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - bl Cos2 - lsls r2, r5, 16 - asrs r2, 16 - movs r3, 0x30 - ldrsh r1, [r6, r3] - muls r1, r2 - asrs r1, 12 - strh r1, [r6, 0x24] - lsls r0, 16 - asrs r4, r0, 16 - negs r1, r4 - movs r3, 0x30 - ldrsh r0, [r6, r3] - muls r0, r1 - asrs r0, 12 - strh r0, [r6, 0x26] - ldrb r0, [r6, 0x3] - lsls r0, 26 - lsrs r3, r0, 27 - cmp r2, 0 - bge _081432DC - adds r2, 0xF -_081432DC: - lsls r0, r2, 12 - lsrs r5, r0, 16 - ldr r1, =gOamMatrices - lsls r0, r3, 3 - adds r1, r0, r1 - adds r0, r4, 0 - cmp r0, 0 - bge _081432EE - adds r0, 0xF -_081432EE: - asrs r0, 4 - strh r0, [r1, 0x6] - strh r0, [r1] - strh r5, [r1, 0x2] - lsls r0, r5, 16 - asrs r0, 16 - negs r0, r0 - strh r0, [r1, 0x4] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8143280 - - thumb_func_start sub_8143314 -sub_8143314: @ 8143314 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - movs r5, 0 - ldr r7, =gDecompressionBuffer - mov r6, sp -_08143322: - ldr r0, =gUnknown_085B7750 - lsls r4, r5, 3 - adds r4, r0 - ldr r0, [r4] - adds r1, r7, 0 - bl LZ77UnCompWram - str r7, [sp] - ldrh r2, [r4, 0x4] - ldr r0, =0xffff0000 - ldr r1, [r6, 0x4] - ands r1, r0 - orrs r1, r2 - str r1, [r6, 0x4] - ldrh r2, [r4, 0x6] - lsls r2, 16 - ldr r0, =0x0000ffff - ands r0, r1 - orrs r0, r2 - str r0, [r6, 0x4] - mov r0, sp - bl LoadSpriteSheet - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x4 - bls _08143322 - ldr r0, =gSpriteTemplate_85B77E4 - movs r1, 0xD0 - movs r2, 0x10 - movs r3, 0x4 - bl CreateSprite - ldr r3, =gUnknown_0203AB88 - ldr r1, [r3] - adds r1, 0x50 - strb r0, [r1] - ldr r4, =gSprites - ldr r0, [r3] - adds r0, 0x50 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - movs r5, 0 - adds r7, r3, 0 -_0814338C: - lsls r1, r5, 19 - movs r0, 0xC4 - lsls r0, 16 - adds r1, r0 - asrs r1, 16 - ldr r0, =gUnknown_085B77FC - movs r2, 0x18 - movs r3, 0 - bl CreateSprite - ldr r1, [r7] - adds r3, r5, 0 - adds r3, 0x15 - adds r1, 0x3C - adds r1, r3 - strb r0, [r1] - ldr r0, [r7] - adds r0, 0x3C - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r7] - adds r0, 0x3C - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x2C - ldrb r1, [r0] - movs r6, 0x40 - orrs r1, r6 - strb r1, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _0814338C - ldr r0, =gUnknown_085B7814 - movs r1, 0x78 - movs r2, 0x44 - movs r3, 0x4 - bl CreateSprite - ldr r2, =gUnknown_0203AB88 - ldr r1, [r2] - adds r1, 0x55 - strb r0, [r1] - ldr r3, =gSprites - ldr r0, [r2] - adds r0, 0x55 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x2C - ldrb r1, [r0] - orrs r1, r6 - strb r1, [r0] - movs r5, 0 - adds r4, r2, 0 - adds r7, r3, 0 -_0814341C: - lsls r1, r5, 20 - movs r2, 0xC0 - lsls r2, 16 - adds r1, r2 - asrs r1, 16 - ldr r0, =gUnknown_085B782C - movs r2, 0x24 - movs r3, 0x4 - bl CreateSprite - ldr r1, [r4] - adds r2, r5, 0 - adds r2, 0x1A - adds r1, 0x3C - adds r1, r2 - strb r0, [r1] - ldr r0, [r4] - adds r0, 0x3C - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - adds r0, 0x3E - ldrb r1, [r0] - movs r3, 0x4 - mov r8, r3 - mov r3, r8 - orrs r1, r3 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x3C - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - adds r0, 0x2C - ldrb r1, [r0] - movs r6, 0x40 - orrs r1, r6 - strb r1, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bls _0814341C - ldr r0, =gUnknown_085B7844 - movs r1, 0x98 - movs r2, 0x60 - movs r3, 0x9 - bl CreateSprite - ldr r3, =gUnknown_0203AB88 - ldr r1, [r3] - adds r1, 0x6C - strb r0, [r1] - ldr r4, =gSprites - ldr r0, [r3] - adds r0, 0x6C - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - mov r2, r8 - orrs r0, r2 - strb r0, [r1, 0x5] - ldr r0, [r3] - adds r0, 0x6C - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x2C - ldrb r1, [r0] - orrs r1, r6 - strb r1, [r0] - ldr r0, [r3] - adds r0, 0x6C - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8143314 - - thumb_func_start sub_8143514 -sub_8143514: @ 8143514 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 16 - lsrs r7, r0, 16 - movs r0, 0xFA - lsls r0, 2 - mov r8, r0 - movs r4, 0 - movs r6, 0 - ldr r1, =gSprites - mov r9, r1 - ldr r0, =gUnknown_0203AB88 - mov r10, r0 -_08143534: - adds r0, r7, 0 - mov r1, r8 - bl __udivsi3 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gUnknown_0203AB88 - ldr r0, [r1] - adds r3, r6, 0 - adds r3, 0x15 - adds r0, 0x3C - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - cmp r5, 0 - bne _0814356E - cmp r4, 0 - bne _0814356E - cmp r6, 0x3 - bne _081435CC -_0814356E: - mov r4, r10 - ldr r0, [r4] - adds r0, 0x3C - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r9 - adds r0, 0x3E - ldrb r1, [r0] - movs r4, 0x5 - negs r4, r4 - adds r2, r4, 0 - ands r1, r2 - strb r1, [r0] - mov r1, r10 - ldr r0, [r1] - adds r0, 0x3C - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - mov r4, r9 - adds r3, r0, r4 - adds r4, r3, 0 - adds r4, 0x40 - ldr r1, =gSprites + 8 - adds r0, r1 - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r5, 2 - adds r0, r1 - ldrh r2, [r0] - ldrh r4, [r4] - adds r2, r4 - ldr r4, =0x000003ff - adds r0, r4, 0 - ands r2, r0 - ldrh r0, [r3, 0x4] - ldr r4, =0xfffffc00 - adds r1, r4, 0 - ands r0, r1 - orrs r0, r2 - strh r0, [r3, 0x4] - movs r4, 0x1 -_081435CC: - adds r0, r7, 0 - mov r1, r8 - bl __umodsi3 - lsls r0, 16 - lsrs r7, r0, 16 - mov r0, r8 - movs r1, 0xA - bl __udivsi3 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x3 - bls _08143534 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8143514 - - thumb_func_start sub_8143614 -sub_8143614: @ 8143614 - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gUnknown_085B7B04 - mov r0, sp - movs r2, 0x5 - bl memcpy - cmp r4, 0x13 - bls _0814362C - movs r4, 0 -_0814362C: - ldr r3, =gUnknown_085B6154 - lsls r0, r4, 2 - adds r0, r4 - lsls r2, r0, 2 - adds r0, r2, r3 - ldrb r0, [r0, 0x1] - lsls r0, 28 - lsrs r0, 28 - cmp r0, 0x4 - beq _08143680 - cmp r0, 0x4 - bgt _08143654 - cmp r0, 0x3 - beq _0814365A - b _081436C4 - .pool -_08143654: - cmp r0, 0xC - beq _081436A4 - b _081436C4 -_0814365A: - adds r0, r4, 0 - movs r1, 0x5 - bl __udivsi3 - subs r0, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gUnknown_0203AB88 - ldr r0, [r0] - adds r0, 0x16 - adds r1, r0, r4 - ldrb r0, [r1] - cmp r0, 0x3 - bhi _081436C4 - ldrb r0, [r1] - adds r0, 0x1 - b _08143698 - .pool -_08143680: - subs r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gUnknown_0203AB88 - ldr r0, [r0] - adds r0, 0x12 - adds r1, r0, r4 - ldrb r0, [r1] - cmp r0, 0x2 - bhi _081436C4 - ldrb r0, [r1] - adds r0, 0x2 -_08143698: - add r0, sp - ldrb r0, [r0] - b _081436C6 - .pool -_081436A4: - ldr r0, =gUnknown_0203AB88 - ldr r1, [r0] - adds r0, r3, 0 - adds r0, 0x8 - adds r0, r2, r0 - ldr r1, [r1, 0x8] - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _081436C4 - mov r0, sp - ldrb r0, [r0, 0x4] - b _081436C6 - .pool -_081436C4: - movs r0, 0 -_081436C6: - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8143614 - - thumb_func_start sub_81436D0 -sub_81436D0: @ 81436D0 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_0203AB88 - ldr r1, [r1] - adds r1, 0x55 - ldrb r2, [r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - ldr r2, =gSprites - adds r4, r1, r2 - bl sub_8143614 - adds r3, r4, 0 - adds r3, 0x2B - strb r0, [r3] - adds r2, r4, 0 - adds r2, 0x40 - ldr r1, [r4, 0x8] - ldrb r0, [r3] - ldr r1, [r1] - lsls r0, 2 - adds r0, r1 - ldrh r1, [r0] - ldrh r2, [r2] - adds r1, r2 - ldr r2, =0x000003ff - adds r0, r2, 0 - ands r1, r0 - ldrh r2, [r4, 0x4] - ldr r0, =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r4, 0x4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81436D0 - - thumb_func_start sub_814372C -sub_814372C: @ 814372C - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r2, r0, 24 - movs r6, 0 - ldr r1, =gUnknown_0203AB88 - ldr r0, [r1] - ldrb r0, [r0, 0x19] - adds r5, r1, 0 - cmp r0, 0x1 - bne _08143746 - movs r6, 0x2 -_08143746: - cmp r2, 0x6 - bls _0814374C - b _081438A8 -_0814374C: - lsls r0, r2, 2 - ldr r1, =_08143760 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08143760: - .4byte _081438A8 - .4byte _08143864 - .4byte _0814383C - .4byte _08143830 - .4byte _08143808 - .4byte _081437FC - .4byte _0814377C -_0814377C: - movs r4, 0 - ldr r5, =gSprites - ldr r6, =gUnknown_0203AB88 - movs r0, 0x5 - negs r0, r0 - mov r12, r0 - adds r7, r5, 0 - adds r7, 0x8 - ldr r2, =0xfffffc00 - mov r8, r2 -_08143790: - ldr r0, [r6] - adds r3, r4, 0 - adds r3, 0x1A - adds r0, 0x3C - adds r0, r3 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - adds r1, 0x3E - ldrb r2, [r1] - mov r0, r12 - ands r0, r2 - strb r0, [r1] - ldr r0, [r6] - adds r0, 0x3C - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r3, r0, r5 - adds r2, r3, 0 - adds r2, 0x40 - adds r0, r7 - ldr r0, [r0] - ldr r0, [r0] - ldrh r1, [r0] - ldrh r2, [r2] - adds r1, r2 - ldr r2, =0x000003ff - adds r0, r2, 0 - ands r1, r0 - ldrh r2, [r3, 0x4] - mov r0, r8 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, 0x4] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _08143790 - b _081438F4 - .pool -_081437FC: - ldr r2, =gSprites - ldr r0, [r5] - adds r0, 0x58 - b _0814386A - .pool -_08143808: - ldr r2, =gSprites - ldr r0, [r5] - adds r0, 0x58 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r3, r0, r2 - adds r4, r3, 0 - adds r4, 0x40 - adds r2, 0x8 - adds r0, r2 - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r6, 2 - adds r0, r1 - ldrh r1, [r0, 0x8] - b _08143886 - .pool -_08143830: - ldr r2, =gSprites - ldr r0, [r5] - adds r0, 0x57 - b _0814386A - .pool -_0814383C: - ldr r2, =gSprites - ldr r0, [r5] - adds r0, 0x57 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r3, r0, r2 - adds r4, r3, 0 - adds r4, 0x40 - adds r2, 0x8 - adds r0, r2 - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r6, 2 - adds r0, r1 - ldrh r1, [r0, 0x8] - b _08143886 - .pool -_08143864: - ldr r2, =gSprites - ldr r0, [r5] - adds r0, 0x56 -_0814386A: - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r3, r0, r2 - adds r4, r3, 0 - adds r4, 0x40 - adds r2, 0x8 - adds r0, r2 - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r6, 2 - adds r0, r1 - ldrh r1, [r0, 0x4] -_08143886: - ldrh r4, [r4] - adds r1, r4 - ldr r2, =0x000003ff - adds r0, r2, 0 - ands r1, r0 - ldrh r2, [r3, 0x4] - ldr r0, =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, 0x4] - b _081438F4 - .pool -_081438A8: - movs r4, 0 - lsls r7, r6, 2 - ldr r6, =gSprites - movs r0, 0x8 - adds r0, r6 - mov r12, r0 - ldr r2, =0xfffffc00 - mov r8, r2 -_081438B8: - ldr r0, [r5] - adds r0, r4 - adds r0, 0x56 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r3, r0, r6 - adds r2, r3, 0 - adds r2, 0x40 - add r0, r12 - ldr r0, [r0] - ldr r0, [r0] - adds r0, r7, r0 - ldrh r1, [r0, 0x8] - ldrh r2, [r2] - adds r1, r2 - ldr r2, =0x000003ff - adds r0, r2, 0 - ands r1, r0 - ldrh r2, [r3, 0x4] - mov r0, r8 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, 0x4] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _081438B8 -_081438F4: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_814372C - - thumb_func_start sub_814390C -sub_814390C: @ 814390C - ldr r1, =gUnknown_0203AB88 - ldr r1, [r1] - ldrh r1, [r1, 0x26] - strh r1, [r0, 0x24] - bx lr - .pool - thumb_func_end sub_814390C - - thumb_func_start sub_814391C -sub_814391C: @ 814391C - push {r4,r5,lr} - sub sp, 0x8 - ldr r4, =gUnknown_085B7948 - ldr r0, [r4] - ldr r5, =gDecompressionBuffer - adds r1, r5, 0 - bl LZ77UnCompWram - str r5, [sp] - ldrh r1, [r4, 0x6] - lsls r1, 16 - ldrh r0, [r4, 0x4] - orrs r0, r1 - str r0, [sp, 0x4] - mov r0, sp - bl LoadSpriteSheet - ldr r0, =gSpriteTemplate_85B7950 - movs r1, 0x74 - movs r2, 0x50 - movs r3, 0x51 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldr r0, =gUnknown_0203AB88 - ldr r0, [r0] - ldrh r0, [r0, 0x24] - movs r2, 0 - strh r0, [r1, 0x2E] - strh r2, [r1, 0x30] - adds r3, r1, 0 - adds r3, 0x2C - ldrb r0, [r3] - movs r2, 0x40 - orrs r0, r2 - movs r2, 0x80 - orrs r0, r2 - strb r0, [r3] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x2 - orrs r0, r2 - strb r0, [r1] - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_814391C - - thumb_func_start sub_814399C -sub_814399C: @ 814399C - ldrb r0, [r0, 0x3] - lsls r0, 26 - lsrs r0, 27 - ldr r1, =gOamMatrices - lsls r0, 3 - adds r0, r1 - ldr r1, =gUnknown_0203AB88 - ldr r2, [r1] - ldrh r1, [r2, 0x2C] - strh r1, [r0, 0x6] - ldrh r1, [r2, 0x2C] - strh r1, [r0] - ldrh r1, [r2, 0x2E] - strh r1, [r0, 0x2] - ldrh r1, [r2, 0x30] - strh r1, [r0, 0x4] - bx lr - .pool - thumb_func_end sub_814399C - - thumb_func_start sub_81439C8 -sub_81439C8: @ 81439C8 - push {r4-r6,lr} - movs r4, 0 - ldr r5, =gUnknown_0203AB88 - ldr r6, =gSprites -_081439D0: - movs r3, 0x39 - subs r3, r4 - lsls r3, 24 - lsrs r3, 24 - ldr r0, =gSpriteTemplate_85B7928 - movs r1, 0x74 - movs r2, 0x50 - bl CreateSprite - ldr r1, [r5] - adds r1, 0x3C - adds r1, r4 - strb r0, [r1] - ldr r0, [r5] - adds r0, 0x3C - adds r1, r0, r4 - ldrb r0, [r1] - cmp r0, 0x40 - beq _08143A24 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r5] - adds r0, 0x3C - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r0] -_08143A24: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _081439D0 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81439C8 - - thumb_func_start sub_8143A40 -sub_8143A40: @ 8143A40 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, =gUnknown_0203AB88 - ldr r0, [r0] - adds r0, 0x3C - ldrb r5, [r0] - movs r6, 0 - ldr r7, =gSprites - movs r0, 0x1C - adds r0, r7 - mov r10, r0 - movs r1, 0x2E - adds r1, r7 - mov r9, r1 - mov r8, r6 -_08143A64: - lsls r4, r5, 4 - adds r4, r5 - lsls r4, 2 - adds r0, r4, r7 - adds r3, r0, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r3] - mov r1, r10 - adds r2, r4, r1 - ldr r1, =SpriteCallbackDummy - str r1, [r2] - movs r1, 0 - bl StartSpriteAnim - movs r1, 0 - adds r2, r5, 0x1 - adds r3, r6, 0x1 -_08143A8C: - lsls r0, r1, 1 - adds r0, r4 - add r0, r9 - mov r5, r8 - strh r5, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x7 - bls _08143A8C - lsls r0, r2, 24 - lsrs r5, r0, 24 - lsls r0, r3, 24 - lsrs r6, r0, 24 - cmp r6, 0x5 - bls _08143A64 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8143A40 - - thumb_func_start sub_8143AC8 -sub_8143AC8: @ 8143AC8 - push {r4,r5,lr} - adds r3, r0, 0 - ldr r0, =gUnknown_0203AB88 - ldr r0, [r0] - ldrh r4, [r0, 0x24] - movs r2, 0x24 - ldrsh r1, [r0, r2] - ldrh r2, [r3, 0x34] - movs r5, 0x34 - ldrsh r0, [r3, r5] - cmp r1, r0 - ble _08143B04 - movs r1, 0xB4 - lsls r1, 1 - adds r0, r2, r1 - subs r2, r0, r4 - strh r2, [r3, 0x3A] - lsls r1, r2, 16 - ldr r0, =0x01670000 - cmp r1, r0 - ble _08143B08 - ldr r5, =0xfffffe98 - adds r0, r2, r5 - b _08143B06 - .pool -_08143B04: - subs r0, r2, r4 -_08143B06: - strh r0, [r3, 0x3A] -_08143B08: - movs r1, 0x3A - ldrsh r0, [r3, r1] - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8143AC8 - - thumb_func_start sub_8143B14 -sub_8143B14: @ 8143B14 - push {r4,r5,lr} - bl sub_8143AC8 - ldr r5, =gUnknown_0203AB88 - ldr r4, [r5] - lsls r0, 16 - asrs r0, 16 - bl __floatsisf - ldr r1, =0x41f00000 - bl __divsf3 - bl __fixunssfsi - adds r4, 0x7E - strb r0, [r4] - ldr r0, [r5] - adds r0, 0x7E - ldrb r0, [r0] - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8143B14 - - thumb_func_start sub_8143B48 -sub_8143B48: @ 8143B48 - push {r4,lr} - adds r4, r0, 0 - bl sub_8143AC8 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1E - bl __modsi3 - lsls r0, 16 - asrs r1, r0, 16 - cmp r1, 0xE - bne _08143B68 - movs r0, 0 - strh r0, [r4, 0x32] - b _08143B7E -_08143B68: - cmp r1, 0xD - bgt _08143B70 - movs r0, 0xE - b _08143B72 -_08143B70: - movs r0, 0x2B -_08143B72: - subs r0, r1 - lsls r0, 16 - lsrs r0, 16 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 -_08143B7E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8143B48 - - thumb_func_start sub_8143B84 -sub_8143B84: @ 8143B84 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r0, 0 - ldr r5, _08143BCC @ =gUnknown_0203AB88 - ldr r6, [r5] - adds r4, r6, 0 - adds r4, 0x8C - adds r1, r6, 0 - adds r1, 0x90 - ldr r0, [r4] - ldr r1, [r1] - bl __addsf3 - adds r1, r0, 0 - str r1, [r4] - subs r4, 0x4 - ldr r0, [r4] - bl __addsf3 - adds r6, r0, 0 - str r6, [r4] - ldr r0, _08143BD0 @ =0x43B40000 - mov r8, r0 - adds r0, r6, 0 - mov r1, r8 - bl __gesf2 - cmp r0, 0 - blt _08143BD4 - adds r0, r6, 0 - mov r1, r8 - bl __subsf3 - b _08143BE8 - .align 2, 0 -_08143BCC: - .4byte gUnknown_0203AB88 -_08143BD0: - .4byte 0x43B40000 -_08143BD4: - ldr r1, _08143C80 @ =0x00000000 - adds r0, r6, 0 - bl __ltsf2 - cmp r0, 0 - bge _08143BEA - adds r0, r6, 0 - mov r1, r8 - bl __addsf3 -_08143BE8: - str r0, [r4] -_08143BEA: - ldr r5, [r5] - adds r0, r5, 0 - adds r0, 0x88 - ldr r0, [r0] - bl __fixsfsi - strh r0, [r7, 0x34] - adds r4, r5, 0 - adds r4, 0x98 - adds r1, r5, 0 - adds r1, 0x9C - ldr r0, [r4] - ldr r1, [r1] - bl __addsf3 - adds r1, r0, 0 - str r1, [r4] - subs r4, 0x4 - ldr r0, [r4] - bl __addsf3 - str r0, [r4] - bl __fixsfsi - strh r0, [r7, 0x36] - ldrh r0, [r7, 0x34] - bl Sin2 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldrh r0, [r7, 0x34] - bl Cos2 - lsls r4, 16 - asrs r4, 16 - movs r2, 0x36 - ldrsh r1, [r7, r2] - muls r1, r4 - asrs r1, 12 - strh r1, [r7, 0x24] - lsls r0, 16 - asrs r0, 16 - negs r0, r0 - movs r2, 0x36 - ldrsh r1, [r7, r2] - muls r0, r1 - asrs r0, 12 - strh r0, [r7, 0x26] - bl IsSEPlaying - lsls r0, 24 - cmp r0, 0 - beq _08143C74 - ldr r0, _08143C84 @ =gMPlayInfo_SE1 - ldr r4, _08143C88 @ =0x0000FFFF - ldrh r2, [r7, 0x24] - lsls r2, 24 - asrs r2, 24 - adds r1, r4, 0 - bl m4aMPlayPanpotControl - ldr r0, _08143C8C @ =gMPlayInfo_SE2 - ldrh r2, [r7, 0x24] - lsls r2, 24 - asrs r2, 24 - adds r1, r4, 0 - bl m4aMPlayPanpotControl -_08143C74: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08143C80: - .4byte 0x00000000 -_08143C84: - .4byte gMPlayInfo_SE1 -_08143C88: - .4byte 0x0000FFFF -_08143C8C: - .4byte gMPlayInfo_SE2 - thumb_func_end sub_8143B84 - - thumb_func_start sub_8143C90 -sub_8143C90: @ 8143C90 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, =gUnknown_0203AB88 - ldr r1, [r0] - ldrh r0, [r5, 0x3A] - ldrh r1, [r1, 0x24] - adds r2, r0, r1 - strh r2, [r5, 0x34] - lsls r1, r2, 16 - ldr r0, =0x01670000 - cmp r1, r0 - ble _08143CAE - ldr r1, =0xfffffe98 - adds r0, r2, r1 - strh r0, [r5, 0x34] -_08143CAE: - ldrh r0, [r5, 0x34] - bl Sin2 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldrh r0, [r5, 0x34] - bl Cos2 - lsls r4, 16 - asrs r4, 16 - movs r2, 0x36 - ldrsh r1, [r5, r2] - muls r1, r4 - asrs r1, 12 - strh r1, [r5, 0x24] - lsls r0, 16 - asrs r0, 16 - negs r0, r0 - movs r2, 0x36 - ldrsh r1, [r5, r2] - muls r0, r1 - ldr r1, =gSpriteCoordOffsetY - asrs r0, 12 - ldrh r1, [r1] - adds r0, r1 - strh r0, [r5, 0x26] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8143C90 - - thumb_func_start sub_8143CFC -sub_8143CFC: @ 8143CFC - push {r4-r7,lr} - adds r5, r0, 0 - bl sub_8143B84 - ldrh r0, [r5, 0x32] - adds r0, 0x1 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x36] - adds r0, 0x84 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xD4 - bls _08143D22 - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - b _08143D2E -_08143D22: - adds r2, r5, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 -_08143D2E: - strb r0, [r2] - movs r1, 0x32 - ldrsh r0, [r5, r1] - cmp r0, 0x1D - ble _08143DF8 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _08143D6C - ldr r7, _08143D64 @ =gUnknown_0203AB88 - ldr r6, [r7] - adds r4, r6, 0 - adds r4, 0x94 - adds r0, r6, 0 - adds r0, 0xA0 - ldr r0, [r0] - ldr r1, _08143D68 @ =0x40000000 - bl __subsf3 - adds r1, r0, 0 - ldr r0, [r4] - bl __lesf2 - cmp r0, 0 - bgt _08143DF8 - b _08143D8C - .align 2, 0 -_08143D64: - .4byte gUnknown_0203AB88 -_08143D68: - .4byte 0x40000000 -_08143D6C: - ldr r7, _08143E00 @ =gUnknown_0203AB88 - ldr r6, [r7] - adds r4, r6, 0 - adds r4, 0x94 - adds r0, r6, 0 - adds r0, 0xA0 - ldr r0, [r0] - ldr r1, _08143E04 @ =0x40000000 - bl __subsf3 - adds r1, r0, 0 - ldr r0, [r4] - bl __gesf2 - cmp r0, 0 - blt _08143DF8 -_08143D8C: - adds r1, r6, 0 - adds r1, 0x7D - movs r0, 0xFF - strb r0, [r1] - ldr r2, [r7] - ldrb r1, [r2, 0x3] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x3] - adds r0, r5, 0 - adds r0, 0x2B - ldrb r1, [r0] - adds r1, 0x3 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl StartSpriteAnim - adds r0, r5, 0 - bl sub_8143B14 - movs r0, 0x1E - strh r0, [r5, 0x36] - adds r0, r5, 0 - bl sub_8143AC8 - movs r1, 0x3A - ldrsh r0, [r5, r1] - movs r1, 0x1E - bl __divsi3 - lsls r0, 16 - asrs r0, 16 - lsls r1, r0, 4 - subs r1, r0 - lsls r1, 1 - adds r1, 0xF - strh r1, [r5, 0x3A] - ldr r0, _08143E08 @ =sub_8143C90 - str r0, [r5, 0x1C] - movs r0, 0x47 - bl m4aSongNumStartOrChange - ldr r3, [r7] - adds r2, r3, 0 - adds r2, 0x9C - adds r1, r3, 0 - adds r1, 0x98 - ldr r0, _08143E0C @ =0x00000000 - str r0, [r1] - str r0, [r2] - subs r1, 0xC - ldr r0, _08143E10 @ =0xBF800000 - str r0, [r1] -_08143DF8: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08143E00: - .4byte gUnknown_0203AB88 -_08143E04: - .4byte 0x40000000 -_08143E08: - .4byte sub_8143C90 -_08143E0C: - .4byte 0x00000000 -_08143E10: - .4byte 0xBF800000 - thumb_func_end sub_8143CFC - - thumb_func_start sub_8143E14 -sub_8143E14: @ 8143E14 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r7, r0, 0 - bl sub_8143B84 - movs r1, 0x34 - ldrsh r0, [r7, r1] - cmp r0, 0 - beq _08143E32 - cmp r0, 0xB4 - beq _08143E9C - b _08143F80 -_08143E32: - movs r1, 0x2E - ldrsh r0, [r7, r1] - cmp r0, 0x1 - bne _08143E3C - b _08143F80 -_08143E3C: - movs r1, 0x3C - ldrsh r0, [r7, r1] - bl __floatsisf - mov r9, r0 - ldr r0, =gUnknown_085B6348 - mov r10, r0 - ldr r1, =gUnknown_0203AB88 - mov r8, r1 - ldr r0, [r1] - ldrb r4, [r0, 0x4] - lsls r4, 30 - lsrs r0, r4, 25 - add r0, r10 - ldrb r0, [r0, 0x1] - bl __floatsisf - adds r1, r0, 0 - mov r0, r9 - bl __mulsf3 - adds r6, r0, 0 - lsrs r0, r4, 25 - add r0, r10 - ldrb r0, [r0, 0x2] - subs r0, 0x1 - bl __floatsisf - adds r1, r0, 0 - adds r0, r6, 0 - bl __addsf3 - adds r5, r0, 0 - lsrs r4, 25 - add r4, r10 - ldrh r0, [r4, 0xC] - bl __floatsisf - adds r1, r0, 0 - mov r0, r9 - bl __divsf3 - b _08143EFC - .pool -_08143E9C: - movs r1, 0x2E - ldrsh r0, [r7, r1] - cmp r0, 0 - beq _08143F80 - movs r1, 0x3C - ldrsh r0, [r7, r1] - bl __floatsisf - mov r9, r0 - ldr r0, _08143F90 @ =gUnknown_085B6348 - mov r10, r0 - ldr r1, _08143F94 @ =gUnknown_0203AB88 - mov r8, r1 - ldr r0, [r1] - ldrb r4, [r0, 0x4] - lsls r4, 30 - lsrs r0, r4, 25 - add r0, r10 - ldrb r0, [r0, 0x1] - bl __floatsisf - adds r1, r0, 0 - mov r0, r9 - bl __mulsf3 - adds r6, r0, 0 - lsrs r0, r4, 25 - add r0, r10 - ldrb r0, [r0, 0x2] - subs r0, 0x1 - bl __floatsisf - adds r1, r0, 0 - adds r0, r6, 0 - bl __addsf3 - adds r5, r0, 0 - lsrs r4, 25 - add r4, r10 - ldrh r0, [r4, 0xC] - bl __floatsisf - adds r1, r0, 0 - mov r0, r9 - bl __divsf3 - bl __negsf2 -_08143EFC: - adds r2, r0, 0 - mov r0, r8 - ldr r6, [r0] - adds r1, r6, 0 - adds r1, 0xA0 - adds r0, r6, 0 - adds r0, 0x94 - ldr r0, [r0] - str r0, [r1] - adds r0, r6, 0 - adds r0, 0x98 - str r2, [r0] - movs r0, 0x9C - adds r0, r6 - mov r8, r0 - adds r0, r2, 0 - adds r1, r2, 0 - bl __addsf3 - adds r1, r5, 0 - bl __divsf3 - adds r4, r0, 0 - adds r0, r5, 0 - adds r1, r5, 0 - bl __mulsf3 - adds r1, r0, 0 - ldr r0, _08143F98 @ =0x40000000 - bl __divsf3 - adds r1, r0, 0 - adds r0, r4, 0 - bl __addsf3 - bl __negsf2 - mov r1, r8 - str r0, [r1] - adds r1, r6, 0 - adds r1, 0x8C - ldr r0, _08143F9C @ =0x00000000 - str r0, [r1] - adds r2, r7, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r0, r7, 0 - adds r0, 0x2A - movs r2, 0 - strb r2, [r0] - adds r3, r7, 0 - adds r3, 0x3F - ldrb r0, [r3] - movs r1, 0x4 - orrs r0, r1 - movs r1, 0x11 - negs r1, r1 - ands r0, r1 - strb r0, [r3] - ldr r0, _08143FA0 @ =sub_8143CFC - str r0, [r7, 0x1C] - strh r2, [r7, 0x32] -_08143F80: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08143F90: - .4byte gUnknown_085B6348 -_08143F94: - .4byte gUnknown_0203AB88 -_08143F98: - .4byte 0x40000000 -_08143F9C: - .4byte 0x00000000 -_08143FA0: - .4byte sub_8143CFC - thumb_func_end sub_8143E14 - - thumb_func_start sub_8143FA4 -sub_8143FA4: @ 8143FA4 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x32 - ldrsh r0, [r5, r1] - bl __floatsisf - adds r4, r0, 0 - ldr r1, =0x3d4ccccd - bl __mulsf3 - adds r1, r4, 0 - bl __mulsf3 - bl __fixsfsi - adds r1, r0, 0 - subs r1, 0x2D - strh r1, [r5, 0x26] - ldrh r0, [r5, 0x32] - adds r0, 0x1 - strh r0, [r5, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1D - ble _0814403E - lsls r0, r1, 16 - cmp r0, 0 - blt _0814403E - ldr r4, =gUnknown_0203AB88 - ldr r0, [r4] - adds r0, 0x7D - movs r1, 0xFF - strb r1, [r0] - ldr r2, [r4] - ldrb r1, [r2, 0x3] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x3] - adds r0, r5, 0 - adds r0, 0x2B - ldrb r1, [r0] - adds r1, 0x3 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl StartSpriteAnim - adds r0, r5, 0 - bl sub_8143B14 - movs r0, 0x1E - strh r0, [r5, 0x36] - adds r0, r5, 0 - bl sub_8143AC8 - movs r1, 0x3A - ldrsh r0, [r5, r1] - movs r1, 0x1E - bl __divsi3 - lsls r0, 16 - asrs r0, 16 - lsls r1, r0, 4 - subs r1, r0 - lsls r1, 1 - adds r1, 0xF - strh r1, [r5, 0x3A] - ldr r0, =sub_8143C90 - str r0, [r5, 0x1C] - movs r0, 0x47 - bl m4aSongNumStartOrChange - ldr r2, [r4] - ldrb r0, [r2, 0x3] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2, 0x3] -_0814403E: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8143FA4 - - thumb_func_start sub_8144050 -sub_8144050: @ 8144050 - push {r4,lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x32] - adds r1, r0, 0x1 - strh r1, [r3, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2C - bgt _08144098 - ldrh r4, [r3, 0x26] - subs r0, r4, 0x1 - strh r0, [r3, 0x26] - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x2D - bne _0814411E - ldr r2, =gSprites - ldr r0, =gUnknown_0203AB88 - ldr r0, [r0] - adds r0, 0x73 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x2B - ldrb r0, [r0] - cmp r0, 0x1 - bne _0814411E - strh r4, [r3, 0x26] - b _0814411E - .pool -_08144098: - lsls r0, r1, 16 - asrs r0, 16 - movs r2, 0x3C - ldrsh r1, [r3, r2] - cmp r0, r1 - bge _081440E4 - ldr r2, =gSprites - ldr r0, =gUnknown_0203AB88 - ldr r0, [r0] - adds r0, 0x73 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - adds r0, r1, 0 - adds r0, 0x2C - ldrb r0, [r0] - lsls r0, 26 - cmp r0, 0 - bne _0814411E - adds r0, r1, 0 - adds r0, 0x2B - ldrb r0, [r0] - cmp r0, 0x1 - bne _081440DC - ldrh r0, [r3, 0x26] - adds r0, 0x1 - strh r0, [r3, 0x26] - b _0814411E - .pool -_081440DC: - ldrh r0, [r3, 0x26] - subs r0, 0x1 - strh r0, [r3, 0x26] - b _0814411E -_081440E4: - adds r2, r3, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r2, 0 - movs r0, 0x1 - strb r0, [r1] - movs r0, 0x3F - adds r0, r3 - mov r12, r0 - ldrb r0, [r0] - movs r1, 0x4 - orrs r0, r1 - movs r1, 0x11 - negs r1, r1 - ands r0, r1 - mov r1, r12 - strb r0, [r1] - strh r2, [r3, 0x32] - ldr r0, =sub_8143FA4 - str r0, [r3, 0x1C] - movs r0, 0x3D - bl m4aSongNumStart -_0814411E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8144050 - - thumb_func_start sub_8144128 -sub_8144128: @ 8144128 - push {r4,lr} - adds r4, r0, 0 - bl sub_8143B84 - movs r0, 0x34 - ldrsh r1, [r4, r0] - cmp r1, 0x5A - beq _08144142 - movs r0, 0x87 - lsls r0, 1 - cmp r1, r0 - beq _0814414C - b _0814415C -_08144142: - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0814415C - b _08144154 -_0814414C: - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0814415C -_08144154: - ldr r0, =sub_8144050 - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x32] -_0814415C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8144128 - - thumb_func_start sub_8144168 -sub_8144168: @ 8144168 - push {r4,lr} - adds r4, r0, 0 - bl sub_8143B84 - ldr r0, =gUnknown_0203AB88 - ldr r0, [r0] - ldrb r0, [r0, 0x3] - lsls r0, 27 - lsrs r0, 27 - cmp r0, 0 - beq _08144182 - cmp r0, 0x1 - beq _08144194 -_08144182: - adds r0, r4, 0 - bl sub_81446DC - ldr r0, =sub_8143E14 - b _0814419C - .pool -_08144194: - adds r0, r4, 0 - bl sub_81448B8 - ldr r0, =sub_8144128 -_0814419C: - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8144168 - - thumb_func_start prev_quest_read_x24_hm_usage -prev_quest_read_x24_hm_usage: @ 81441A8 - push {r4,r5,lr} - adds r5, r0, 0 - bl sub_8143B84 - ldrh r0, [r5, 0x32] - subs r0, 0x1 - strh r0, [r5, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF - bne _081441CE - ldr r0, =gUnknown_0203AB88 - ldr r4, [r0] - adds r4, 0x98 - ldr r0, [r4] - ldr r1, =0xbf800000 - bl __mulsf3 - str r0, [r4] -_081441CE: - movs r1, 0x32 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0814425C - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _08144244 - ldr r2, =gUnknown_0203AB88 - ldr r0, [r2] - adds r0, 0x7D - movs r1, 0xFF - strb r1, [r0] - ldr r2, [r2] - ldrb r1, [r2, 0x3] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x3] - adds r0, r5, 0 - adds r0, 0x2B - ldrb r1, [r0] - adds r1, 0x3 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl StartSpriteAnim - adds r0, r5, 0 - bl sub_8143B14 - movs r0, 0x1E - strh r0, [r5, 0x36] - adds r0, r5, 0 - bl sub_8143AC8 - movs r1, 0x3A - ldrsh r0, [r5, r1] - movs r1, 0x1E - bl __divsi3 - lsls r0, 16 - asrs r0, 16 - lsls r1, r0, 4 - subs r1, r0 - lsls r1, 1 - adds r1, 0xF - strh r1, [r5, 0x3A] - ldr r0, =sub_8143C90 - str r0, [r5, 0x1C] - movs r0, 0x47 - bl m4aSongNumStartOrChange - b _0814425C - .pool -_08144244: - adds r0, r5, 0 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - movs r0, 0x38 - bl m4aSongNumStart - adds r0, r5, 0 - bl sub_8144A24 -_0814425C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end prev_quest_read_x24_hm_usage - - thumb_func_start sub_8144264 -sub_8144264: @ 8144264 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - bl sub_8143B84 - movs r0, 0 - strh r0, [r6, 0x32] - adds r0, r6, 0 - bl sub_8143B14 - ldr r1, _081442F0 @ =gUnknown_085B62E4 - ldr r4, _081442F4 @ =gUnknown_0203AB88 - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x7E - ldrb r0, [r0] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r0, [r0] - ldr r1, [r2, 0x8] - ands r0, r1 - cmp r0, 0 - bne _081442FC - adds r1, r2, 0 - adds r1, 0x7D - movs r0, 0xFF - strb r0, [r1] - ldr r2, [r4] - ldrb r1, [r2, 0x3] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x3] - adds r0, r6, 0 - adds r0, 0x2B - ldrb r1, [r0] - adds r1, 0x3 - lsls r1, 24 - lsrs r1, 24 - adds r0, r6, 0 - bl StartSpriteAnim - adds r0, r6, 0 - bl sub_8143B14 - movs r0, 0x1E - strh r0, [r6, 0x36] - adds r0, r6, 0 - bl sub_8143AC8 - movs r1, 0x3A - ldrsh r0, [r6, r1] - movs r1, 0x1E - bl __divsi3 - lsls r0, 16 - asrs r0, 16 - lsls r1, r0, 4 - subs r1, r0 - lsls r1, 1 - adds r1, 0xF - strh r1, [r6, 0x3A] - ldr r0, _081442F8 @ =sub_8143C90 - str r0, [r6, 0x1C] - movs r0, 0x47 - bl m4aSongNumStartOrChange - b _081443F8 - .align 2, 0 -_081442F0: - .4byte gUnknown_085B62E4 -_081442F4: - .4byte gUnknown_0203AB88 -_081442F8: - .4byte sub_8143C90 -_081442FC: - movs r0, 0x38 - bl m4aSongNumStart - bl Random - movs r1, 0x1 - mov r8, r1 - ands r1, r0 - mov r8, r1 - cmp r1, 0 - beq _08144340 - ldr r4, [r4] - adds r1, r4, 0 - adds r1, 0x8C - ldr r0, _08144338 @ =0x00000000 - str r0, [r1] - adds r0, r4, 0 - adds r0, 0x7E - ldrb r0, [r0] - adds r0, 0x1 - movs r1, 0xC - bl __modsi3 - lsls r1, r0, 24 - lsrs r2, r1, 24 - adds r1, r4, 0 - adds r1, 0x7F - strb r0, [r1] - ldr r5, _0814433C @ =gUnknown_085B6348 - b _08144378 -_08144338: - .4byte 0x00000000 -_0814433C: - .4byte gUnknown_085B6348 -_08144340: - ldr r7, [r4] - adds r4, r7, 0 - adds r4, 0x8C - ldr r5, =gUnknown_085B6348 - ldrb r0, [r7, 0x4] - lsls r0, 30 - lsrs r0, 25 - adds r1, r5, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, [r0] - adds r0, r1, 0 - bl __addsf3 - str r0, [r4] - adds r0, r7, 0 - adds r0, 0x7E - ldrb r4, [r0] - adds r0, r4, 0 - adds r0, 0xB - movs r1, 0xC - bl __modsi3 - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r7, 0 - adds r0, 0x7F - strb r4, [r0] -_08144378: - ldr r0, =gUnknown_085B62E4 - lsls r1, r2, 3 - adds r0, 0x4 - adds r1, r0 - ldr r2, =gUnknown_0203AB88 - ldr r3, [r2] - ldr r1, [r1] - ldr r0, [r3, 0x8] - ands r1, r0 - cmp r1, 0 - beq _081443AC - movs r0, 0x1 - strh r0, [r6, 0x2E] - ldrb r0, [r3, 0x4] - lsls r0, 30 - lsrs r0, 25 - adds r0, r5 - ldrb r0, [r0, 0x2] - strh r0, [r6, 0x32] - b _081443E8 - .pool -_081443AC: - strh r1, [r6, 0x2E] - ldrb r1, [r3, 0x4] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _081443C4 - lsls r0, r1, 30 - lsrs r0, 25 - adds r0, r5 - ldrb r0, [r0, 0x1] - strh r0, [r6, 0x32] - b _081443E8 -_081443C4: - lsls r0, r1, 30 - lsrs r0, 25 - adds r0, r5 - ldrb r0, [r0, 0x2] - strh r0, [r6, 0x32] - mov r0, r8 - cmp r0, 0 - beq _081443E0 - adds r1, r3, 0 - adds r1, 0x8C - ldr r0, =0x3f000000 - b _081443E6 - .pool -_081443E0: - adds r1, r3, 0 - adds r1, 0x8C - ldr r0, =0xbfc00000 -_081443E6: - str r0, [r1] -_081443E8: - ldr r0, [r2] - adds r0, 0x98 - ldr r1, =0x3dae147b - str r1, [r0] - ldr r0, =prev_quest_read_x24_hm_usage - str r0, [r6, 0x1C] - movs r0, 0x5 - strh r0, [r6, 0x30] -_081443F8: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8144264 - - thumb_func_start sub_8144410 -sub_8144410: @ 8144410 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r6, r0, 0 - bl sub_8143B84 - ldr r4, _081444A4 @ =gUnknown_0203AB88 - ldr r0, [r4] - adds r0, 0x8C - ldr r0, [r0] - ldr r1, _081444A8 @ =0x3F000000 - bl __gtsf2 - cmp r0, 0 - bgt _081444FA - adds r0, r6, 0 - bl sub_8143B14 - adds r0, r6, 0 - bl sub_8143B48 - lsls r0, 16 - cmp r0, 0 - bne _081444BC - ldr r2, [r4] - adds r1, r2, 0 - adds r1, 0x90 - ldr r0, _081444AC @ =0x00000000 - str r0, [r1] - movs r0, 0x8C - adds r0, r2 - mov r8, r0 - ldr r1, _081444B0 @ =gUnknown_085B6348 - mov r9, r1 - ldrb r0, [r2, 0x4] - lsls r7, r0, 30 - lsrs r0, r7, 25 - add r0, r9 - movs r4, 0x3 - ldrsb r4, [r0, r4] - adds r0, r4, 0 - bl __floatsisf - adds r5, r0, 0 - cmp r4, 0 - bge _08144476 - ldr r1, _081444B4 @ =0x43800000 - bl __addsf3 - adds r5, r0, 0 -_08144476: - lsrs r0, r7, 25 - add r0, r9 - ldrb r0, [r0, 0x4] - adds r0, 0x1 - bl __floatsisf - adds r1, r0, 0 - adds r0, r5, 0 - bl __divsf3 - adds r1, r0, 0 - mov r2, r8 - ldr r0, [r2] - bl __subsf3 - mov r1, r8 - str r0, [r1] - movs r0, 0x4 - strh r0, [r6, 0x30] - ldr r0, _081444B8 @ =sub_8144264 - str r0, [r6, 0x1C] - b _081444FA - .align 2, 0 -_081444A4: - .4byte gUnknown_0203AB88 -_081444A8: - .4byte 0x3F000000 -_081444AC: - .4byte 0x00000000 -_081444B0: - .4byte gUnknown_085B6348 -_081444B4: - .4byte 0x43800000 -_081444B8: - .4byte sub_8144264 -_081444BC: - ldr r4, [r4] - adds r7, r4, 0 - adds r7, 0x90 - ldr r0, [r7] - ldr r6, _08144508 @ =0x00000000 - adds r1, r6, 0 - bl __nesf2 - cmp r0, 0 - beq _081444FA - adds r5, r4, 0 - adds r5, 0x8C - ldr r0, [r5] - adds r1, r6, 0 - bl __ltsf2 - cmp r0, 0 - bge _081444FA - str r6, [r7] - str r6, [r5] - adds r4, 0x98 - ldr r0, [r4] - bl __extendsfdf2 - ldr r2, _0814450C @ =0x3FF33333 - ldr r3, _08144510 @ =0x33333333 - bl __divdf3 - bl __truncdfsf2 - str r0, [r4] -_081444FA: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08144508: - .4byte 0x00000000 -_0814450C: - .4byte 0x3FF33333 -_08144510: - .4byte 0x33333333 - thumb_func_end sub_8144410 - - thumb_func_start sub_8144514 -sub_8144514: @ 8144514 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - bl sub_8143B84 - ldr r0, =gUnknown_0203AB88 - ldr r5, [r0] - adds r0, r5, 0 - adds r0, 0x94 - ldr r0, [r0] - ldr r1, =0x42200000 - bl __gtsf2 - cmp r0, 0 - bgt _081445B8 - movs r0, 0x98 - adds r0, r5 - mov r8, r0 - adds r7, r5, 0 - adds r7, 0x86 - movs r1, 0 - ldrsh r4, [r7, r1] - adds r0, r4, 0 - bl __floatsisf - adds r2, r0, 0 - cmp r4, 0 - bge _08144556 - ldr r1, =0x47800000 - bl __addsf3 - adds r2, r0, 0 -_08144556: - ldr r0, =0x40800000 - adds r1, r2, 0 - bl __divsf3 - bl __negsf2 - mov r1, r8 - str r0, [r1] - movs r0, 0x90 - adds r0, r5 - mov r8, r0 - adds r5, 0x8C - movs r1, 0 - ldrsh r4, [r7, r1] - adds r0, r4, 0 - bl __floatsisf - adds r2, r0, 0 - cmp r4, 0 - bge _08144586 - ldr r1, =0x47800000 - bl __addsf3 - adds r2, r0, 0 -_08144586: - ldr r0, [r5] - adds r1, r2, 0 - bl __divsf3 - bl __negsf2 - mov r1, r8 - str r0, [r1] - adds r1, r6, 0 - adds r1, 0x2A - movs r0, 0x2 - strb r0, [r1] - adds r2, r6, 0 - adds r2, 0x3F - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - movs r1, 0x11 - negs r1, r1 - ands r0, r1 - strb r0, [r2] - movs r0, 0x3 - strh r0, [r6, 0x30] - ldr r0, =sub_8144410 - str r0, [r6, 0x1C] -_081445B8: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8144514 - - thumb_func_start sub_81445D8 -sub_81445D8: @ 81445D8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - bl sub_8143B84 - ldr r4, =gUnknown_0203AB88 - ldr r0, [r4] - adds r0, 0x94 - ldr r0, [r0] - ldr r1, =0x42700000 - bl __gtsf2 - cmp r0, 0 - bgt _0814468A - movs r0, 0x5D - bl m4aSongNumStartOrChange - ldr r5, [r4] - movs r0, 0x98 - adds r0, r5 - mov r8, r0 - adds r7, r5, 0 - adds r7, 0x84 - movs r1, 0 - ldrsh r4, [r7, r1] - adds r0, r4, 0 - bl __floatsisf - adds r2, r0, 0 - cmp r4, 0 - bge _08144620 - ldr r1, =0x47800000 - bl __addsf3 - adds r2, r0, 0 -_08144620: - ldr r0, =0x41a00000 - adds r1, r2, 0 - bl __divsf3 - bl __negsf2 - mov r1, r8 - str r0, [r1] - movs r0, 0x90 - adds r0, r5 - mov r8, r0 - adds r0, r5, 0 - adds r0, 0x8C - ldr r1, [r0] - ldr r0, =0x3f800000 - bl __subsf3 - adds r5, r0, 0 - movs r1, 0 - ldrsh r4, [r7, r1] - adds r0, r4, 0 - bl __floatsisf - adds r2, r0, 0 - cmp r4, 0 - bge _0814465C - ldr r1, =0x47800000 - bl __addsf3 - adds r2, r0, 0 -_0814465C: - adds r0, r5, 0 - adds r1, r2, 0 - bl __divsf3 - mov r1, r8 - str r0, [r1] - adds r1, r6, 0 - adds r1, 0x2A - movs r0, 0x1 - strb r0, [r1] - adds r2, r6, 0 - adds r2, 0x3F - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - movs r1, 0x11 - negs r1, r1 - ands r0, r1 - strb r0, [r2] - movs r0, 0x2 - strh r0, [r6, 0x30] - ldr r0, =sub_8144514 - str r0, [r6, 0x1C] -_0814468A: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81445D8 - - thumb_func_start sub_81446AC -sub_81446AC: @ 81446AC - push {r4,lr} - adds r4, r0, 0 - movs r1, 0 - movs r0, 0x1 - strh r0, [r4, 0x30] - strh r1, [r4, 0x32] - adds r0, r4, 0 - bl sub_8143B84 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - ldr r0, =sub_81445D8 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81446AC - - thumb_func_start sub_81446DC -sub_81446DC: @ 81446DC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - mov r8, r0 - ldr r1, =gUnknown_085B7B0A - mov r0, sp - movs r2, 0x8 - bl memcpy - mov r1, r8 - ldrh r0, [r1, 0x3C] - subs r0, 0x2 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - ldr r5, =gUnknown_0203AB88 - ldr r0, =gSpriteTemplate_85B79F8 - movs r2, 0xC - negs r2, r2 - movs r1, 0x24 - movs r3, 0x32 - bl CreateSprite - ldr r1, [r5] - adds r1, 0x73 - strb r0, [r1] - ldr r4, =gSpriteTemplate_85B7ABC - mov r3, r8 - movs r0, 0x2E - ldrsh r2, [r3, r0] - lsls r2, 2 - mov r1, sp - adds r0, r1, r2 - movs r3, 0 - ldrsh r1, [r0, r3] - mov r0, sp - adds r0, 0x2 - adds r0, r2 - movs r3, 0 - ldrsh r2, [r0, r3] - adds r0, r4, 0 - movs r3, 0x3B - bl CreateSprite - ldr r1, [r5] - adds r1, 0x74 - strb r0, [r1] - adds r4, 0x18 - adds r0, r4, 0 - movs r1, 0x24 - movs r2, 0x8C - movs r3, 0x33 - bl CreateSprite - ldr r1, [r5] - adds r1, 0x75 - strb r0, [r1] - ldr r3, =gSprites - ldr r0, [r5] - adds r0, 0x75 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r2, [r0, 0x1] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0, 0x1] - movs r7, 0 - adds r6, r3, 0 - ldr r0, =gUnknown_085B6348 - mov r12, r0 - mov r10, r5 -_0814477C: - ldr r0, [r5] - adds r3, r7, 0 - adds r3, 0x37 - adds r0, 0x3C - adds r0, r3 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x3 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldr r0, [r5] - adds r0, 0x3C - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r5] - adds r0, 0x3C - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r5] - adds r0, 0x3C - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0] - ldr r4, [r5] - adds r2, r4, 0 - adds r2, 0x3C - adds r2, r3 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r1, r4, 0 - adds r1, 0x73 - ldrb r1, [r1] - strh r1, [r0, 0x36] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r1, r4, 0 - adds r1, 0x74 - ldrb r1, [r1] - strh r1, [r0, 0x38] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r1, r4, 0 - adds r1, 0x75 - ldrb r1, [r1] - strh r1, [r0, 0x3A] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - mov r1, r9 - strh r1, [r0, 0x32] - ldrb r0, [r2] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r6 - mov r0, r8 - movs r1, 0x3C - ldrsh r3, [r0, r1] - ldrb r1, [r4, 0x4] - lsls r1, 30 - lsrs r0, r1, 25 - add r0, r12 - ldrb r0, [r0, 0x1] - muls r3, r0 - lsrs r1, 25 - add r1, r12 - ldrb r0, [r1, 0x2] - ldr r1, =0x0000ffff - adds r0, r1 - adds r3, r0 - strh r3, [r2, 0x34] - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r2, =gSprites - cmp r7, 0x2 - bls _0814477C - mov r3, r10 - ldr r0, [r3] - adds r0, 0x74 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r3] - mov r1, r8 - str r1, [r0, 0x38] - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81446DC - - thumb_func_start sub_81448B8 -sub_81448B8: @ 81448B8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x8 - adds r7, r0, 0 - movs r0, 0 - mov r8, r0 - ldr r1, =gUnknown_085B7B12 - mov r0, sp - movs r2, 0x8 - bl memcpy - ldrh r0, [r7, 0x3C] - subs r0, 0x2 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - ldr r0, =gSpriteTemplate_85B7A10 - movs r1, 0x2E - ldrsh r2, [r7, r1] - lsls r2, 2 - mov r3, sp - adds r1, r3, r2 - movs r3, 0 - ldrsh r1, [r1, r3] - mov r4, sp - adds r4, 0x2 - adds r2, r4, r2 - movs r3, 0 - ldrsh r2, [r2, r3] - movs r3, 0x32 - bl CreateSprite - ldr r5, =gUnknown_0203AB88 - ldr r1, [r5] - adds r1, 0x73 - strb r0, [r1] - ldr r0, [r5] - adds r0, 0x73 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r6, =gSprites - adds r0, r6 - ldrh r1, [r7, 0x2E] - lsls r1, 24 - lsrs r1, 24 - bl StartSpriteAnim - ldr r0, =gUnknown_085B7AEC - movs r1, 0x2E - ldrsh r2, [r7, r1] - lsls r2, 2 - mov r3, sp - adds r1, r3, r2 - movs r3, 0 - ldrsh r1, [r1, r3] - adds r4, r2 - movs r3, 0 - ldrsh r2, [r4, r3] - movs r3, 0x33 - bl CreateSprite - ldr r1, [r5] - adds r1, 0x74 - strb r0, [r1] - ldr r0, [r5] - adds r0, 0x74 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r5] - adds r0, 0x74 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - mov r0, r9 - lsls r2, r0, 16 - asrs r2, 16 - ldr r3, =gUnknown_085B6348 - ldr r0, [r5] - ldrb r1, [r0, 0x4] - lsls r1, 30 - lsrs r0, r1, 25 - adds r0, r3 - ldrb r0, [r0, 0x1] - muls r2, r0 - lsrs r1, 25 - adds r1, r3 - ldrh r0, [r1, 0x10] - adds r0, 0x2D - adds r2, r0 - strh r2, [r7, 0x3C] -_08144992: - ldr r0, =gUnknown_0203AB88 - ldr r4, [r0] - mov r1, r8 - adds r2, r4, r1 - adds r2, 0x73 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r1, r4, 0 - adds r1, 0x73 - ldrb r1, [r1] - strh r1, [r0, 0x36] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r3, r4, 0 - adds r3, 0x74 - ldrb r1, [r3] - strh r1, [r0, 0x38] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r1, [r3] - strh r1, [r0, 0x3A] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - mov r3, r9 - strh r3, [r0, 0x32] - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrh r0, [r7, 0x3C] - subs r0, 0x2D - strh r0, [r1, 0x34] - mov r0, r8 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - cmp r0, 0x1 - bls _08144992 - str r7, [r4, 0x38] - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81448B8 - - thumb_func_start sub_8144A24 -sub_8144A24: @ 8144A24 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - adds r7, r0, 0 - movs r0, 0 - mov r9, r0 - movs r1, 0x5 - mov r8, r1 - str r0, [sp, 0xC] - mov r0, sp - movs r1, 0 - movs r2, 0xA - bl memset - bl Random - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x10] - ldr r3, _08144B10 @ =gUnknown_0203AB88 - ldr r0, [r3] - adds r0, 0x7D - movs r5, 0x1 - strb r5, [r0] - ldr r2, [r3] - ldrb r0, [r2, 0x3] - movs r1, 0x20 - orrs r0, r1 - strb r0, [r2, 0x3] - ldr r2, [r3] - ldrb r1, [r2, 0x3] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x3] - ldr r0, [r3] - adds r0, 0x7E - movs r1, 0xFF - strb r1, [r0] - ldr r6, [r3] - adds r4, r6, 0 - adds r4, 0x88 - movs r1, 0x34 - ldrsh r0, [r7, r1] - bl __floatsisf - str r0, [r4] - adds r1, r6, 0 - adds r1, 0x98 - ldr r0, _08144B14 @ =0x00000000 - str r0, [r1] - adds r2, r6, 0 - adds r2, 0x8C - ldr r1, _08144B18 @ =gUnknown_085B6348 - ldrb r0, [r6, 0x4] - lsls r0, 30 - lsrs r0, 25 - adds r1, 0x1C - adds r0, r1 - ldr r0, [r0] - str r0, [r2] - ldrb r0, [r6, 0x4] - lsls r0, 30 - lsrs r0, 30 - lsls r1, r0, 4 - subs r1, r0 - lsls r1, 1 - adds r1, 0x21 - ldrb r0, [r6, 0x3] - lsls r0, 27 - lsrs r0, 27 - subs r5, r0 - lsls r0, r5, 4 - subs r0, r5 - adds r1, r0 - lsls r1, 16 - lsrs r1, 16 - mov r5, r9 - movs r0, 0x34 - ldrsh r2, [r7, r0] -_08144ACA: - cmp r1, r2 - bge _08144AD6 - adds r0, r1, 0 - adds r0, 0x5A - cmp r2, r0 - ble _08144B38 -_08144AD6: - cmp r5, 0x3 - beq _08144B1C - adds r0, r1, 0 - adds r0, 0x5A - lsls r0, 16 - lsrs r1, r0, 16 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _08144ACA -_08144AEC: - ldr r0, _08144B10 @ =gUnknown_0203AB88 - ldr r0, [r0] - ldrb r1, [r0, 0x3] - movs r0, 0x1F - ands r0, r1 - cmp r0, 0 - beq _08144B64 - movs r1, 0x2E - ldrsh r0, [r7, r1] - cmp r0, 0 - beq _08144B58 - movs r0, 0x98 - lsls r0, 1 - movs r1, 0x3F - negs r1, r1 - bl PlayCry1 - b _08144B70 - .align 2, 0 -_08144B10: - .4byte gUnknown_0203AB88 -_08144B14: - .4byte 0x00000000 -_08144B18: - .4byte gUnknown_085B6348 -_08144B1C: - movs r0, 0x1 - strh r0, [r7, 0x2E] - ldr r0, =gUnknown_0203AB88 - ldr r2, [r0] - ldrb r1, [r2, 0x3] - movs r0, 0x20 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0x3] - b _08144AEC - .pool -_08144B38: - lsrs r0, r5, 1 - strh r0, [r7, 0x2E] - ldr r0, =gUnknown_0203AB88 - ldr r3, [r0] - movs r1, 0x1 - ands r1, r5 - ldrb r2, [r3, 0x3] - movs r0, 0x20 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x3] - b _08144AEC - .pool -_08144B58: - movs r0, 0x98 - lsls r0, 1 - movs r1, 0x3F - bl PlayCry1 - b _08144B70 -_08144B64: - movs r0, 0x99 - lsls r0, 1 - movs r1, 0x3F - negs r1, r1 - bl PlayCry1 -_08144B70: - movs r0, 0x2 - mov r10, r0 - ldr r4, =gUnknown_0203AB88 - ldr r5, [r4] - adds r0, r5, 0 - adds r0, 0x7F - ldrb r0, [r0] - adds r0, 0x2 - movs r1, 0xC - bl __modsi3 - lsls r0, 24 - lsrs r6, r0, 24 - ldrb r1, [r5, 0x3] - movs r0, 0x1F - ands r0, r1 - cmp r0, 0x1 - bne _08144BA8 - ldrb r1, [r5, 0x4] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0x1 - bne _08144BA8 - mov r0, r8 - adds r0, 0x6 - b _08144BAC - .pool -_08144BA8: - mov r0, r8 - add r0, r10 -_08144BAC: - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - mov r5, r10 - cmp r5, r8 - bcs _08144C18 - ldr r1, =gUnknown_085B6154+0xC - mov r10, r1 -_08144BBC: - ldr r3, [r4] - lsls r0, r6, 3 - ldr r1, =gUnknown_085B62E4+0x4 - adds r0, r1 - ldr r1, [r3, 0x8] - ldr r2, [r0] - ands r1, r2 - cmp r1, 0 - bne _08144C02 - mov r0, r9 - adds r1, r0, 0x1 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - add r0, sp - strb r5, [r0] - ldr r0, [sp, 0xC] - cmp r0, 0 - bne _08144C02 - ldrb r1, [r3, 0x1A] - lsls r1, 28 - lsrs r1, 28 - adds r0, r3, 0 - adds r0, 0x1B - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - add r0, r10 - ldr r0, [r0] - ands r2, r0 - cmp r2, 0 - beq _08144C02 - str r5, [sp, 0xC] -_08144C02: - adds r0, r6, 0x1 - movs r1, 0xC - bl __modsi3 - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r8 - bcc _08144BBC -_08144C18: - ldr r0, [r4] - ldrb r1, [r0, 0x3] - lsls r1, 27 - lsrs r1, 27 - adds r1, 0x1 - ldrb r0, [r0, 0x2] - ands r1, r0 - cmp r1, 0 - beq _08144C48 - ldr r1, [sp, 0xC] - cmp r1, 0 - beq _08144C48 - movs r0, 0xFF - ldr r1, [sp, 0x10] - ands r0, r1 - cmp r0, 0xBF - bhi _08144C48 - mov r0, sp - ldrh r0, [r0, 0xC] - b _08144C54 - .pool -_08144C48: - ldr r0, [sp, 0x10] - mov r1, r9 - bl __modsi3 - add r0, sp - ldrb r0, [r0] -_08144C54: - strh r0, [r7, 0x3C] - ldr r1, =sub_8144168 - str r1, [r7, 0x1C] - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8144A24 - - thumb_func_start sub_8144C70 -sub_8144C70: @ 8144C70 - push {r4,lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x30] - adds r1, r0, 0x1 - strh r1, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - movs r3, 0x34 - ldrsh r1, [r2, r3] - cmp r0, r1 - blt _08144CC0 - ldrh r0, [r2, 0x20] - subs r0, 0x2 - strh r0, [r2, 0x20] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x10 - negs r1, r1 - cmp r0, r1 - bge _08144CC0 - ldr r4, =gUnknown_0203AB88 - ldr r3, [r4] - ldrb r1, [r3, 0x3] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - bne _08144CAC - movs r0, 0x40 - orrs r0, r1 - strb r0, [r3, 0x3] -_08144CAC: - adds r0, r2, 0 - bl DestroySprite - ldr r1, [r4] - movs r0, 0 - strb r0, [r1, 0x1] - ldr r1, [r4] - ldr r0, =gUnknown_085B7B1A - ldrh r0, [r0] - strh r0, [r1, 0x34] -_08144CC0: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8144C70 - - thumb_func_start sub_8144CD0 -sub_8144CD0: @ 8144CD0 - push {r4,lr} - sub sp, 0x18 - adds r4, r0, 0 - ldr r1, =gUnknown_085B7B2E - mov r0, sp - movs r2, 0x18 - bl memcpy - ldrh r0, [r4, 0x30] - adds r2, r0, 0x1 - strh r2, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - movs r3, 0x34 - ldrsh r1, [r4, r3] - cmp r0, r1 - bge _08144D54 - movs r0, 0x1 - ands r2, r0 - cmp r2, 0 - beq _08144D2E - ldr r3, =gSpriteCoordOffsetY - movs r0, 0x3C - ldrsh r2, [r4, r0] - lsls r2, 1 - movs r1, 0x32 - ldrsh r0, [r4, r1] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - lsls r0, 3 - adds r2, r0 - mov r1, sp - adds r0, r1, r2 - ldrh r0, [r0] - strh r0, [r3] - movs r3, 0x3C - ldrsh r2, [r4, r3] - adds r1, r2, 0x1 - adds r0, r1, 0 - cmp r1, 0 - bge _08144D26 - adds r0, r2, 0x4 -_08144D26: - asrs r0, 2 - lsls r0, 2 - subs r0, r1, r0 - strh r0, [r4, 0x3C] -_08144D2E: - 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] - b _08144D7E - .pool -_08144D54: - ldr r1, =gSpriteCoordOffsetY - movs r0, 0 - strh r0, [r1] - ldr r2, =gSprites - ldr r0, =gUnknown_0203AB88 - ldr r0, [r0] - adds r0, 0x73 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x2C - ldrb r2, [r0] - movs r1, 0x41 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - adds r0, r4, 0 - bl DestroySprite -_08144D7E: - add sp, 0x18 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8144CD0 - - thumb_func_start sub_8144D94 -sub_8144D94: @ 8144D94 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0x30] - adds r0, 0x1 - strh r0, [r5, 0x30] - movs r1, 0x30 - ldrsh r0, [r5, r1] - bl __floatsisf - adds r4, r0, 0 - ldr r1, =0x3d1fbe77 - bl __mulsf3 - adds r1, r4, 0 - bl __mulsf3 - bl __fixsfsi - strh r0, [r5, 0x26] - ldr r0, =gUnknown_0203AB88 - ldr r3, [r0] - ldr r2, =gUnknown_085B7B1A - ldrb r0, [r3, 0x1] - subs r0, 0x1 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - strh r0, [r3, 0x34] - ldrb r0, [r3, 0x1] - cmp r0, 0x12 - bhi _08144DDC - adds r0, 0x1 - strb r0, [r3, 0x1] -_08144DDC: - movs r1, 0x30 - ldrsh r0, [r5, r1] - cmp r0, 0x3C - ble _08144E3E - movs r0, 0 - strh r0, [r5, 0x30] - ldr r3, =sub_8144C70 - str r3, [r5, 0x1C] - ldr r2, =gSprites - movs r0, 0x3A - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, r2, 0 - adds r4, 0x1C - adds r0, r4 - str r3, [r0] - movs r0, 0x3A - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, =0x0000fffe - strh r1, [r0, 0x30] - movs r0, 0x38 - ldrsh r1, [r5, 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] - movs r0, 0x38 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, =sub_8144CD0 - str r1, [r0] - movs r0, 0xD6 - bl m4aSongNumStart -_08144E3E: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8144D94 - - thumb_func_start sub_8144E60 -sub_8144E60: @ 8144E60 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08144EE4 - ldr r0, =gUnknown_0203AB88 - ldr r3, [r0] - ldr r1, [r3, 0x38] - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _08144E94 - movs r0, 0x34 - ldrsh r2, [r1, r0] - ldr r1, =gUnknown_085B6348 - ldrb r0, [r3, 0x4] - lsls r0, 30 - lsrs r0, 25 - adds r0, r1 - ldrh r0, [r0, 0x8] - b _08144EA6 - .pool -_08144E94: - movs r0, 0x34 - ldrsh r2, [r1, r0] - ldr r1, =gUnknown_085B6348 - ldrb r0, [r3, 0x4] - lsls r0, 30 - lsrs r0, 25 - adds r0, r1 - ldrh r0, [r0, 0x8] - adds r0, 0xB4 -_08144EA6: - cmp r2, r0 - bne _08144F7C - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - ldrh r0, [r4, 0x3C] - adds r0, 0x1 - strh r0, [r4, 0x3C] - movs r0, 0x2B - bl m4aSongNumStart - ldr r2, =gUnknown_0203AB88 - ldr r1, [r2] - movs r0, 0x1 - strb r0, [r1, 0x1] - ldr r1, [r2] - ldr r0, =gUnknown_085B7B1A - ldrh r0, [r0] - strh r0, [r1, 0x34] - b _08144F7C - .pool -_08144EE4: - ldr r5, =gUnknown_0203AB88 - ldr r3, [r5] - ldr r2, =gUnknown_085B7B1A - ldrb r0, [r3, 0x1] - subs r0, 0x1 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - strh r0, [r3, 0x34] - ldrb r0, [r3, 0x1] - cmp r0, 0x12 - bhi _08144F06 - adds r0, 0x1 - strb r0, [r3, 0x1] -_08144F06: - ldr r3, [r5] - ldr r1, [r3, 0x38] - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _08144F30 - movs r0, 0x34 - ldrsh r2, [r1, r0] - ldr r1, =gUnknown_085B6348 - ldrb r0, [r3, 0x4] - lsls r0, 30 - lsrs r0, 25 - adds r0, r1 - ldrh r0, [r0, 0xA] - b _08144F42 - .pool -_08144F30: - movs r0, 0x34 - ldrsh r2, [r1, r0] - ldr r1, =gUnknown_085B6348 - ldrb r0, [r3, 0x4] - lsls r0, 30 - lsrs r0, 25 - adds r0, r1 - ldrh r0, [r0, 0xA] - adds r0, 0xB4 -_08144F42: - cmp r2, r0 - bne _08144F7C - ldr r2, =gSprites - movs r0, 0x36 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r2, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, =sub_8144D94 - str r1, [r0] - movs r0, 0x36 - ldrsh r1, [r4, 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] - ldr r0, =SpriteCallbackDummy - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x3C] -_08144F7C: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8144E60 - - thumb_func_start sub_8144F94 -sub_8144F94: @ 8144F94 - adds r0, 0x3E - ldrb r3, [r0] - lsls r1, r3, 29 - lsrs r1, 31 - movs r2, 0x1 - eors r2, r1 - lsls r2, 2 - movs r1, 0x5 - negs r1, r1 - ands r1, r3 - orrs r1, r2 - strb r1, [r0] - bx lr - thumb_func_end sub_8144F94 - - thumb_func_start sub_8144FB0 -sub_8144FB0: @ 8144FB0 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r2, [r4, 0x22] - movs r0, 0x22 - ldrsh r1, [r4, r0] - movs r0, 0x10 - negs r0, r0 - cmp r1, r0 - ble _08144FC8 - subs r0, r2, 0x1 - strh r0, [r4, 0x22] - b _0814501C -_08144FC8: - ldr r0, =SpriteCallbackDummy - str r0, [r4, 0x1C] - adds r2, r4, 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] - movs r0, 0x5E - bl m4aSongNumStop - adds r0, r4, 0 - bl DestroySprite - ldr r5, =gSprites - ldr r4, =gUnknown_0203AB88 - ldr r0, [r4] - adds r0, 0x74 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r0, [r0, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldr r0, [r4] - adds r0, 0x74 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - bl DestroySprite -_0814501C: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8144FB0 - - thumb_func_start sub_8145030 -sub_8145030: @ 8145030 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0 - blt _0814505A - subs r1, 0x1 - strh r1, [r4, 0x30] - ldrh r0, [r4, 0x22] - subs r0, 0x1 - strh r0, [r4, 0x22] - lsls r1, 16 - cmp r1, 0 - bne _081450C6 - adds r0, r4, 0 - adds r0, 0x2B - ldrb r0, [r0] - cmp r0, 0x1 - bne _081450C6 - b _08145080 -_0814505A: - ldrh r1, [r4, 0x34] - movs r2, 0x34 - ldrsh r0, [r4, r2] - cmp r0, 0 - blt _08145090 - subs r0, r1, 0x1 - strh r0, [r4, 0x34] - adds r0, r4, 0 - adds r0, 0x2C - ldrb r1, [r0] - movs r0, 0x3F - ands r0, r1 - cmp r0, 0 - bne _081450C6 - adds r0, r4, 0 - adds r0, 0x2B - ldrb r0, [r0] - cmp r0, 0x1 - bne _08145088 -_08145080: - ldrh r0, [r4, 0x26] - adds r0, 0x1 - strh r0, [r4, 0x26] - b _081450C6 -_08145088: - ldrh r0, [r4, 0x26] - subs r0, 0x1 - strh r0, [r4, 0x26] - b _081450C6 -_08145090: - movs r0, 0x2B - bl m4aSongNumStart - ldr r0, =gUnknown_0203AB88 - ldr r0, [r0] - ldr r0, [r0, 0x38] - ldrh r1, [r0, 0x2E] - adds r1, 0x4 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - ldr r0, =sub_8144FB0 - str r0, [r4, 0x1C] - ldr r2, =gSprites - movs r0, 0x3A - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x2C - ldrb r2, [r0] - movs r1, 0x7F - ands r1, r2 - strb r1, [r0] -_081450C6: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8145030 - - thumb_func_start sub_81450D8 -sub_81450D8: @ 81450D8 - push {r4,r5,lr} - sub sp, 0x14 - adds r4, r0, 0 - ldr r1, =gUnknown_085B7B46 - mov r0, sp - movs r2, 0x2 - bl memcpy - add r5, sp, 0x4 - ldr r1, =gUnknown_085B7B48 - adds r0, r5, 0 - movs r2, 0x10 - bl memcpy - ldrh r0, [r4, 0x30] - subs r1, r0, 0x1 - strh r1, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _0814516C - ldr r0, =gUnknown_0203AB88 - ldr r0, [r0] - ldr r0, [r0, 0x38] - movs r1, 0x2E - ldrsh r0, [r0, r1] - add r0, sp - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 1 - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] - bl IsSEPlaying - lsls r0, 24 - cmp r0, 0 - beq _08145208 - movs r1, 0x20 - ldrsh r0, [r4, r1] - movs r4, 0x74 - subs r4, r0 - lsrs r0, r4, 31 - adds r4, r0 - asrs r4, 1 - negs r4, r4 - ldr r0, =gMPlayInfo_SE1 - ldr r5, =0x0000ffff - lsls r4, 24 - asrs r4, 24 - adds r1, r5, 0 - adds r2, r4, 0 - bl m4aMPlayPanpotControl - ldr r0, =gMPlayInfo_SE2 - adds r1, r5, 0 - adds r2, r4, 0 - bl m4aMPlayPanpotControl - b _08145208 - .pool -_0814516C: - lsls r0, r1, 16 - cmp r0, 0 - blt _081451BC - ldr r0, =gUnknown_0203AB88 - ldr r0, [r0] - ldr r0, [r0, 0x38] - movs r2, 0x2E - ldrsh r0, [r0, r2] - add r0, sp - movs r2, 0 - ldrsb r2, [r0, r2] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x7 - subs r0, r1, r0 - lsls r0, 1 - adds r0, r5, r0 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - muls r0, r2 - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] - movs r2, 0x30 - ldrsh r0, [r4, r2] - subs r1, r0 - lsls r1, 1 - mov r0, sp - adds r0, 0x5 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - b _08145208 - .pool -_081451BC: - movs r0, 0x5E - bl m4aSongNumStartOrChange - ldr r0, =gUnknown_0203AB88 - ldr r0, [r0] - ldr r0, [r0, 0x38] - movs r2, 0x2E - ldrsh r0, [r0, r2] - cmp r0, 0 - bne _081451E0 - movs r0, 0x98 - lsls r0, 1 - movs r1, 0x3F - bl PlayCry1 - b _081451EC - .pool -_081451E0: - movs r0, 0x98 - lsls r0, 1 - movs r1, 0x3F - negs r1, r1 - bl PlayCry1 -_081451EC: - ldr r0, =gUnknown_0203AB88 - ldr r0, [r0] - ldr r0, [r0, 0x38] - ldrh r1, [r0, 0x2E] - adds r1, 0x2 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - movs r0, 0x2D - strh r0, [r4, 0x30] - ldr r0, =sub_8145030 - str r0, [r4, 0x1C] -_08145208: - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81450D8 - - thumb_func_start sub_8145218 -sub_8145218: @ 8145218 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldr r1, =gUnknown_085B7B46 - mov r0, sp - movs r2, 0x2 - bl memcpy - ldrh r0, [r4, 0x30] - subs r1, r0, 0x1 - strh r1, [r4, 0x30] - lsls r0, 16 - cmp r0, 0 - blt _08145284 - ldr r0, =gUnknown_0203AB88 - ldr r0, [r0] - ldr r0, [r0, 0x38] - movs r1, 0x2E - ldrsh r0, [r0, r1] - add r0, sp - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 1 - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] - ldr r1, =gSprites - movs r2, 0x3A - ldrsh r0, [r4, r2] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r1 - adds r2, 0x3E - ldrb r3, [r2] - lsls r0, r3, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] - b _08145288 - .pool -_08145284: - ldr r0, =sub_8144F94 - str r0, [r4, 0x1C] -_08145288: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8145218 - - thumb_func_start sub_8145294 -sub_8145294: @ 8145294 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gUnknown_0203AB88 - ldr r3, [r0] - ldr r1, [r3, 0x38] - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _081452DC - movs r0, 0x34 - ldrsh r2, [r1, r0] - ldr r1, =gUnknown_085B6348 - ldrb r0, [r3, 0x4] - lsls r0, 30 - lsrs r0, 25 - adds r0, r1 - ldrh r0, [r0, 0x12] - adds r0, 0x5A - cmp r2, r0 - bne _0814533E - ldr r2, =gSprites - movs r0, 0x3A - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r3, 0x34 - b _08145306 - .pool -_081452DC: - movs r0, 0x34 - ldrsh r2, [r1, r0] - ldr r1, =gUnknown_085B6348 - ldrb r0, [r3, 0x4] - lsls r0, 30 - lsrs r0, 25 - adds r0, r1 - ldrh r0, [r0, 0x14] - movs r1, 0x87 - lsls r1, 1 - adds r0, r1 - cmp r2, r0 - bne _0814533E - ldr r2, =gSprites - movs r0, 0x3A - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r3, 0x2E -_08145306: - strh r3, [r0, 0x30] - movs r0, 0x36 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r3, [r0, 0x30] - movs r0, 0x3A - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, =sub_8145218 - str r1, [r0] - movs r0, 0x36 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, =sub_81450D8 - str r1, [r0] - movs r0, 0x2B - bl m4aSongNumStart -_0814533E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8145294 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/trade.s b/asm/trade.s deleted file mode 100644 index b833240dd7..0000000000 --- a/asm/trade.s +++ /dev/null @@ -1,14903 +0,0 @@ - .include "asm/macros.inc" - .include "constants/gba_constants.inc" - .include "constants/global.inc" - - .syntax unified - - .text - - thumb_func_start sub_8077170 -sub_8077170: @ 8077170 - push {r4,lr} - adds r4, r0, 0 - adds r3, r1, 0 - ldr r0, =gUnknown_02022C2C - ldrb r0, [r0] - cmp r0, 0x1D - beq _08077194 - lsls r2, r3, 16 - lsrs r2, 16 - movs r0, 0 - adds r1, r4, 0 - bl SendBlock - lsls r0, 24 - lsrs r0, 24 - b _080771A2 - .pool -_08077194: - ldr r0, =gUnknown_03004140 - ldrb r0, [r0] - movs r1, 0x54 - adds r2, r4, 0 - bl rfu_NI_setSendData - movs r0, 0x1 -_080771A2: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8077170 - - thumb_func_start sub_80771AC -sub_80771AC: @ 80771AC - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_800A4D8 - pop {r0} - bx r0 - thumb_func_end sub_80771AC - - thumb_func_start sub_80771BC -sub_80771BC: @ 80771BC - push {r4,lr} - ldr r0, =gUnknown_02022C2C - ldrb r0, [r0] - cmp r0, 0x1D - bne _080771F0 - ldr r4, =gUnknown_03007880 - ldr r0, =gUnknown_03004140 - ldrb r0, [r0] - bl sub_800E87C - lsls r0, 2 - adds r0, r4 - ldr r0, [r0] - ldrh r0, [r0] - cmp r0, 0 - bne _080771EC - movs r0, 0x1 - b _080771F8 - .pool -_080771EC: - movs r0, 0 - b _080771F8 -_080771F0: - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 -_080771F8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80771BC - - thumb_func_start sub_8077200 -sub_8077200: @ 8077200 - push {lr} - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_8077200 - - thumb_func_start sub_8077210 -sub_8077210: @ 8077210 - push {lr} - bl sub_8077260 - cmp r0, 0 - beq _0807722C - ldr r0, =gUnknown_03004140 - ldrb r1, [r0] - movs r0, 0xC - bl rfu_clearSlot - b _08077230 - .pool -_0807722C: - bl ResetBlockReceivedFlags -_08077230: - pop {r0} - bx r0 - thumb_func_end sub_8077210 - - thumb_func_start sub_8077234 -sub_8077234: @ 8077234 - push {r4,lr} - adds r4, r0, 0 - bl sub_8077260 - cmp r0, 0 - beq _08077250 - ldr r0, =gUnknown_03004140 - ldrb r1, [r0] - movs r0, 0xC - bl rfu_clearSlot - b _08077258 - .pool -_08077250: - lsls r0, r4, 24 - lsrs r0, 24 - bl ResetBlockReceivedFlag -_08077258: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8077234 - - thumb_func_start sub_8077260 -sub_8077260: @ 8077260 - push {lr} - ldr r0, =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _08077280 - ldr r0, =gUnknown_02022C2C - ldrb r0, [r0] - cmp r0, 0x1D - bne _08077280 - movs r0, 0x1 - b _08077282 - .pool -_08077280: - movs r0, 0 -_08077282: - pop {r1} - bx r1 - thumb_func_end sub_8077260 - - thumb_func_start sub_8077288 -sub_8077288: @ 8077288 - push {lr} - bl sub_800ADF8 - pop {r0} - bx r0 - thumb_func_end sub_8077288 - - thumb_func_start sub_8077294 -sub_8077294: @ 8077294 - push {lr} - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_8077294 - - thumb_func_start sub_80772A4 -sub_80772A4: @ 80772A4 - push {r4,r5,lr} - sub sp, 0xC - bl ResetSpriteData - bl FreeAllSpritePalettes - bl ResetTasks - bl ResetPaletteFade - ldr r2, =gPaletteFade - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x8] - ldr r0, =sub_807811C - bl SetVBlankCallback - ldr r4, =gUnknown_0860F074 - adds r0, r4, 0 - movs r1, 0xF0 - movs r2, 0x14 - bl LoadPalette - adds r0, r4, 0 - movs r1, 0xD0 - movs r2, 0x14 - bl LoadPalette - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_0832DEE4 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - movs r0, 0x8F - lsls r0, 4 - adds r1, r0 - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r0, =gUnknown_0832DEF4 - bl InitWindows - lsls r0, 16 - cmp r0, 0 - beq _0807738C - bl DeactivateAllTextPrinters - movs r5, 0 -_08077310: - lsls r4, r5, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl ClearWindowTilemap - adds r0, r4, 0 - movs r1, 0 - bl FillWindowPixelBuffer - adds r5, 0x1 - cmp r5, 0x11 - bls _08077310 - movs r0, 0x1E - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0xF - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect - movs r0, 0 - movs r1, 0x14 - movs r2, 0xC0 - bl LoadUserWindowBorderGfx_ - movs r0, 0x2 - movs r1, 0x1 - movs r2, 0xE0 - bl LoadUserWindowBorderGfx - bl LoadMonIconPalettes - ldr r2, =gUnknown_0203229C - ldr r0, [r2] - adds r0, 0x69 - movs r1, 0 - strb r1, [r0] - ldr r0, [r2] - adds r0, 0x6F - strb r1, [r0] - ldr r0, [r2] - adds r0, 0x70 - strb r1, [r0] - ldr r0, [r2] - adds r0, 0x74 - strb r1, [r0] - ldr r0, [r2] - adds r0, 0x75 - strb r1, [r0] - ldr r0, [r2] - adds r0, 0x7A - strb r1, [r0] - ldr r0, [r2] - adds r0, 0x7B - strb r1, [r0] - ldr r0, [r2] - adds r0, 0xA8 - strb r1, [r0] -_0807738C: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80772A4 - - thumb_func_start sub_80773AC -sub_80773AC: @ 80773AC - push {lr} - ldr r0, =sub_80773D0 - bl SetMainCallback2 - ldr r0, =gMain - movs r1, 0 - str r1, [r0] - ldr r0, =gEnemyPartyCount - strb r1, [r0] - pop {r0} - bx r0 - .pool - thumb_func_end sub_80773AC - - thumb_func_start sub_80773D0 -sub_80773D0: @ 80773D0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x28 - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r1, r2 - ldrb r0, [r0] - adds r3, r1, 0 - cmp r0, 0x16 - bls _080773EA - b _08077B46 -_080773EA: - lsls r0, 2 - ldr r1, =_080773FC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080773FC: - .4byte _08077458 - .4byte _080774A4 - .4byte _08077560 - .4byte _0807758C - .4byte _080775E8 - .4byte _08077648 - .4byte _08077688 - .4byte _080776A8 - .4byte _080777E8 - .4byte _08077810 - .4byte _08077834 - .4byte _080778BC - .4byte _080778CA - .4byte _08077970 - .4byte _08077A40 - .4byte _08077A80 - .4byte _08077A9A - .4byte _08077AA8 - .4byte _08077ABC - .4byte _08077ADC - .4byte _08077AFC - .4byte _08077B10 - .4byte _08077B30 -_08077458: - ldr r4, =gUnknown_0203229C - ldr r0, =0x000010f0 - bl AllocZeroed - str r0, [r4] - bl sub_80772A4 - ldr r4, =gUnknown_02032184 - movs r0, 0xE0 - lsls r0, 4 - bl AllocZeroed - str r0, [r4] - movs r6, 0 - ldr r2, =gUnknown_02032188 -_08077476: - lsls r1, r6, 8 - ldr r0, [r4] - adds r0, r1 - stm r2!, {r0} - adds r6, 0x1 - cmp r6, 0xD - ble _08077476 - ldr r1, =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - b _08077B22 - .pool -_080774A4: - ldr r2, =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - movs r6, 0 - movs r4, 0 -_080774B2: - movs r0, 0x64 - muls r0, r6 - ldr r1, =gEnemyParty - adds r0, r1 - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - movs r1, 0 - movs r2, 0 - movs r3, 0x20 - bl CreateMon - adds r6, 0x1 - cmp r6, 0x5 - ble _080774B2 - movs r0, 0 - bl sub_807A19C - movs r0, 0 - bl ShowBg - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r2, [r0] - cmp r2, 0 - bne _0807754C - ldr r1, =gLinkType - ldr r5, =0x00001122 - adds r0, r5, 0 - strh r0, [r1] - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0xA8 - strb r2, [r0] - ldr r0, =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _08077528 - bl sub_800B488 - bl OpenLink - bl sub_8011BA4 - b _08077B46 - .pool -_08077528: - bl OpenLink - ldr r0, =gMain - movs r7, 0x87 - lsls r7, 3 - adds r0, r7 - ldrb r1, [r0] - adds r1, 0x1 - strb r1, [r0] - ldr r0, =task00_08081A90 - movs r1, 0x1 - bl CreateTask - b _08077B46 - .pool -_0807754C: - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r1, 0x4 - strb r1, [r0] - b _08077B46 - .pool -_08077560: - ldr r2, =gUnknown_0203229C - ldr r1, [r2] - adds r1, 0xA8 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r2] - adds r1, r0, 0 - adds r1, 0xA8 - ldrb r0, [r1] - cmp r0, 0xB - bhi _0807757A - b _08077B46 -_0807757A: - movs r0, 0 - strb r0, [r1] - movs r2, 0x87 - lsls r2, 3 - adds r1, r3, r2 - b _08077B22 - .pool -_0807758C: - bl GetLinkPlayerCount_2 - adds r4, r0, 0 - bl sub_800AA48 - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bcs _080775A0 - b _08077B46 -_080775A0: - bl IsLinkMaster - lsls r0, 24 - cmp r0, 0 - beq _080775D8 - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - adds r1, 0xA8 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1E - bhi _080775C0 - b _08077B46 -_080775C0: - bl sub_800A620 - ldr r1, =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - b _08077B22 - .pool -_080775D8: - ldr r1, =gMain - movs r5, 0x87 - lsls r5, 3 - adds r1, r5 - b _08077B22 - .pool -_080775E8: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0x1 - beq _080775F2 - b _08077B46 -_080775F2: - bl IsLinkPlayerDataExchangeComplete - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08077600 - b _08077B46 -_08077600: - bl sub_8011BD0 - bl CalculatePlayerPartyCount - ldr r1, =gMain - movs r7, 0x87 - lsls r7, 3 - adds r1, r7 - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0xA8 - strb r2, [r0] - ldr r0, =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - bne _0807762A - b _08077B46 -_0807762A: - movs r0, 0x1 - bl sub_801048C - bl sub_800ADF8 - b _08077B46 - .pool -_08077648: - ldr r0, =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _08077680 - bl sub_8010500 - lsls r0, 24 - cmp r0, 0 - bne _0807765C - b _08077B46 -_0807765C: - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - bl sub_800E0E8 - movs r0, 0 - movs r1, 0 - bl CreateWirelessStatusIndicatorSprite - b _08077B46 - .pool -_08077680: - movs r2, 0x87 - lsls r2, 3 - adds r1, r3, r2 - b _08077B22 -_08077688: - bl shedinja_maker_maybe - lsls r0, 24 - cmp r0, 0 - bne _08077694 - b _08077B46 -_08077694: - bl sub_807A5B0 - ldr r1, =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - b _08077B22 - .pool -_080776A8: - bl CalculateEnemyPartyCount - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - ldr r2, =gUnknown_0203229C - ldr r0, [r2] - ldr r1, =gPlayerPartyCount - ldrb r1, [r1] - adds r0, 0x36 - strb r1, [r0] - ldr r0, [r2] - ldr r1, =gEnemyPartyCount - ldrb r1, [r1] - adds r0, 0x37 - strb r1, [r0] - movs r6, 0 - ldr r0, [r2] - adds r0, 0x36 - ldrb r0, [r0] - cmp r6, r0 - bge _08077740 - mov r8, r2 - ldr r7, =gUnknown_0832DE24 -_080776E2: - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - ldr r0, =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - ldrb r2, [r7] - lsls r2, 19 - movs r1, 0xE0 - lsls r1, 12 - adds r2, r1 - asrs r2, 16 - ldrb r3, [r7, 0x1] - lsls r3, 19 - ldr r1, =0xfff40000 - adds r3, r1 - asrs r3, 16 - movs r1, 0x1 - str r1, [sp] - str r0, [sp, 0x4] - str r1, [sp, 0x8] - adds r0, r5, 0 - ldr r1, =sub_80D3014 - bl CreateMonIcon - mov r2, r8 - ldr r1, [r2] - adds r1, 0x28 - adds r1, r6 - strb r0, [r1] - adds r7, 0x2 - adds r6, 0x1 - ldr r0, [r2] - adds r0, 0x36 - ldrb r0, [r0] - cmp r6, r0 - blt _080776E2 -_08077740: - movs r6, 0 - ldr r1, =gUnknown_0203229C - ldr r0, [r1] - adds r0, 0x37 - ldrb r0, [r0] - cmp r6, r0 - bge _080777B8 - ldr r0, =gUnknown_0832DE24 - mov r8, r1 - adds r7, r0, 0 - adds r7, 0xC -_08077756: - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - ldr r0, =gEnemyParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - ldrb r2, [r7] - lsls r2, 19 - movs r3, 0xE0 - lsls r3, 12 - adds r2, r3 - asrs r2, 16 - ldrb r3, [r7, 0x1] - lsls r3, 19 - ldr r1, =0xfff40000 - adds r3, r1 - asrs r3, 16 - movs r1, 0x1 - str r1, [sp] - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - adds r0, r5, 0 - ldr r1, =sub_80D3014 - bl CreateMonIcon - mov r2, r8 - ldr r1, [r2] - adds r1, 0x2E - adds r1, r6 - strb r0, [r1] - adds r7, 0x2 - adds r6, 0x1 - ldr r0, [r2] - adds r0, 0x37 - ldrb r0, [r0] - cmp r6, r0 - blt _08077756 -_080777B8: - ldr r1, =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - b _08077B22 - .pool -_080777E8: - bl LoadHeldItemIcons - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x36 - adds r1, 0x28 - movs r2, 0 - bl sub_81B5D4C - ldr r1, =gMain - movs r5, 0x87 - lsls r5, 3 - adds r1, r5 - b _08077B22 - .pool -_08077810: - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x36 - adds r1, 0x28 - movs r2, 0x1 - bl sub_81B5D4C - ldr r1, =gMain - movs r7, 0x87 - lsls r7, 3 - adds r1, r7 - b _08077B22 - .pool -_08077834: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r5, =gUnknown_02032188 - ldr r1, [r5] - movs r4, 0x3 - str r4, [sp] - movs r2, 0 - movs r3, 0 - bl sub_80C6D80 - bl GetMultiplayerId - lsls r0, 24 - movs r1, 0x80 - lsls r1, 17 - eors r1, r0 - lsrs r1, 24 - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - ldr r1, =gLinkPlayers + 8 - adds r0, r1 - ldr r1, [r5, 0xC] - str r4, [sp] - movs r2, 0 - movs r3, 0 - bl sub_80C6D80 - ldr r4, =gUnknown_0832DE94 - ldr r0, [r4] - ldr r1, [r5, 0x18] - movs r2, 0x2 - str r2, [sp] - movs r2, 0 - movs r3, 0 - bl sub_80C6D80 - ldr r0, [r4, 0x4] - ldr r1, [r5, 0x20] - movs r2, 0x18 - bl sub_807A308 - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0xA8 - strb r2, [r0] - b _08077B46 - .pool -_080778BC: - bl sub_807A1F0 - lsls r0, 24 - cmp r0, 0 - bne _080778C8 - b _08077B46 -_080778C8: - b _08077B1A -_080778CA: - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - movs r0, 0x1 - movs r2, 0x78 - bl GetStringCenterAlignXOffset - movs r6, 0 - add r5, sp, 0x10 - adds r4, r0, 0 - adds r4, 0x10 -_080778DE: - add r1, sp, 0x10 - ldr r0, =gSpriteTemplate_832DCAC - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldrh r0, [r5] - adds r0, r6 - strh r0, [r5] - lsls r1, r4, 16 - asrs r1, 16 - add r0, sp, 0x10 - movs r2, 0xA - movs r3, 0x1 - bl CreateSprite - adds r4, 0x20 - adds r6, 0x1 - cmp r6, 0x2 - ble _080778DE - bl GetMultiplayerId - movs r1, 0x1 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - ldr r0, =gLinkPlayers + 8 - adds r1, r0 - movs r0, 0x1 - movs r2, 0x78 - bl GetStringCenterAlignXOffset - movs r6, 0 - add r5, sp, 0x10 - adds r4, r0, 0 - adds r4, 0x88 -_0807792C: - add r1, sp, 0x10 - ldr r0, =gSpriteTemplate_832DCAC - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - adds r0, r6, 0x3 - ldrh r3, [r5] - adds r0, r3 - strh r0, [r5] - lsls r1, r4, 16 - asrs r1, 16 - add r0, sp, 0x10 - movs r2, 0xA - movs r3, 0x1 - bl CreateSprite - adds r4, 0x20 - adds r6, 0x1 - cmp r6, 0x2 - ble _0807792C - ldr r1, =gMain - movs r5, 0x87 - lsls r5, 3 - adds r1, r5 - b _08077B22 - .pool -_08077970: - ldr r4, =gSpriteTemplate_832DCAC - add r1, sp, 0x10 - adds r0, r4, 0 - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r5,r7} - stm r1!, {r2,r5,r7} - add r1, sp, 0x10 - adds r0, r1, 0 - ldrh r0, [r0] - adds r0, 0x6 - strh r0, [r1] - adds r0, r1, 0 - movs r1, 0xD7 - movs r2, 0x98 - movs r3, 0x1 - bl CreateSprite - add r0, sp, 0x10 - ldm r4!, {r3,r5,r7} - stm r0!, {r3,r5,r7} - ldm r4!, {r1-r3} - stm r0!, {r1-r3} - add r1, sp, 0x10 - adds r0, r1, 0 - ldrh r0, [r0] - adds r0, 0x7 - strh r0, [r1] - adds r0, r1, 0 - movs r1, 0xF7 - movs r2, 0x98 - movs r3, 0x1 - bl CreateSprite - movs r6, 0 - add r4, sp, 0x10 - movs r5, 0xC0 - lsls r5, 13 -_080779BC: - add r1, sp, 0x10 - ldr r0, =gSpriteTemplate_832DCAC - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - adds r0, r6, 0 - adds r0, 0x8 - ldrh r7, [r4] - adds r0, r7 - strh r0, [r4] - asrs r1, r5, 16 - add r0, sp, 0x10 - movs r2, 0x96 - movs r3, 0x1 - bl CreateSprite - movs r0, 0x80 - lsls r0, 14 - adds r5, r0 - adds r6, 0x1 - cmp r6, 0x5 - ble _080779BC - ldr r0, =gSpriteTemplate_832DC94 - ldr r2, =gUnknown_0832DE24 - ldrb r1, [r2] - lsls r1, 19 - movs r3, 0x80 - lsls r3, 14 - adds r1, r3 - asrs r1, 16 - ldrb r2, [r2, 0x1] - lsls r2, 3 - movs r3, 0x2 - bl CreateSprite - ldr r2, =gUnknown_0203229C - ldr r1, [r2] - adds r1, 0x34 - movs r3, 0 - strb r0, [r1] - ldr r0, [r2] - adds r0, 0x35 - strb r3, [r0] - ldr r1, =gMain - movs r5, 0x87 - lsls r5, 3 - adds r1, r5 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0 - bl rbox_fill_rectangle - b _08077B46 - .pool -_08077A40: - movs r0, 0 - bl sub_807A320 - movs r0, 0 - bl sub_8079BE0 - ldr r2, =gUnknown_0203229C - ldr r0, [r2] - movs r1, 0 - strb r1, [r0] - ldr r0, [r2] - strb r1, [r0, 0x1] - bl sub_8078388 - ldr r1, =gMain - movs r7, 0x87 - lsls r7, 3 - adds r1, r7 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, =0x000001b3 - bl PlayBGM - b _08077B46 - .pool -_08077A80: - movs r0, 0x1 - bl sub_807A320 - movs r0, 0x1 - bl sub_8079BE0 - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_08077A9A: - movs r0, 0 - bl sub_80782B8 - b _08077B1A - .pool -_08077AA8: - movs r0, 0x1 - bl sub_80782B8 - ldr r1, =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - b _08077B22 - .pool -_08077ABC: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r1, =gMain - movs r5, 0x87 - lsls r5, 3 - adds r1, r5 - b _08077B22 - .pool -_08077ADC: - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0x2 - bl sub_80782B8 - ldr r1, =gMain - movs r7, 0x87 - lsls r7, 3 - adds r1, r7 - b _08077B22 - .pool -_08077AFC: - movs r0, 0 - bl sub_807A468 - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _08077B22 - .pool -_08077B10: - movs r0, 0x1 - bl sub_807A468 - bl sub_807A53C -_08077B1A: - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 -_08077B22: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08077B46 - .pool -_08077B30: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08077B46 - ldr r0, =sub_8078C34 - str r0, [r3] - ldr r0, =sub_807825C - bl SetMainCallback2 -_08077B46: - bl RunTextPrinters - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - add sp, 0x28 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80773D0 - - thumb_func_start sub_8077B74 -sub_8077B74: @ 8077B74 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x24 - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r1, r2 - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0x16 - bls _08077B8E - b _080780F6 -_08077B8E: - lsls r0, 2 - ldr r1, =_08077BA0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08077BA0: - .4byte _08077BFC - .4byte _08077C10 - .4byte _08077C18 - .4byte _08077C20 - .4byte _08077C28 - .4byte _08077C3C - .4byte _08077C64 - .4byte _08077C6C - .4byte _08077DB0 - .4byte _08077DD8 - .4byte _08077DFC - .4byte _08077E84 - .4byte _08077EA0 - .4byte _08077F48 - .4byte _080780F6 - .4byte _080780F6 - .4byte _08078038 - .4byte _08078040 - .4byte _08078068 - .4byte _080780A4 - .4byte _080780C4 - .4byte _080780CC - .4byte _080780E4 -_08077BFC: - bl sub_80772A4 - ldr r1, =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - b _080780D8 - .pool -_08077C10: - movs r5, 0x87 - lsls r5, 3 - adds r1, r2, r5 - b _08077E58 -_08077C18: - movs r7, 0x87 - lsls r7, 3 - adds r1, r2, r7 - b _080780D8 -_08077C20: - movs r0, 0x87 - lsls r0, 3 - adds r1, r2, r0 - b _080780D8 -_08077C28: - bl CalculatePlayerPartyCount - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _080780D8 - .pool -_08077C3C: - ldr r0, =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _08077C50 - bl sub_800E0E8 - movs r0, 0 - movs r1, 0 - bl CreateWirelessStatusIndicatorSprite -_08077C50: - ldr r1, =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - b _080780D8 - .pool -_08077C64: - movs r5, 0x87 - lsls r5, 3 - adds r1, r2, r5 - b _080780D8 -_08077C6C: - bl CalculateEnemyPartyCount - ldr r4, =gUnknown_0203229C - ldr r0, [r4] - ldr r1, =gPlayerPartyCount - ldrb r1, [r1] - adds r0, 0x36 - strb r1, [r0] - ldr r0, [r4] - ldr r1, =gEnemyPartyCount - ldrb r1, [r1] - adds r0, 0x37 - strb r1, [r0] - movs r0, 0 - bl ClearWindowTilemap - movs r0, 0 - bl sub_8079BE0 - movs r0, 0x1 - bl sub_8079BE0 - movs r6, 0 - ldr r0, [r4] - adds r0, 0x36 - ldrb r0, [r0] - cmp r6, r0 - bge _08077D08 - mov r8, r4 - ldr r7, =gUnknown_0832DE24 -_08077CA8: - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - ldr r0, =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - ldrb r2, [r7] - lsls r2, 19 - movs r1, 0xE0 - lsls r1, 12 - adds r2, r1 - asrs r2, 16 - ldrb r3, [r7, 0x1] - lsls r3, 19 - ldr r1, =0xfff40000 - adds r3, r1 - asrs r3, 16 - movs r1, 0x1 - str r1, [sp] - str r0, [sp, 0x4] - str r1, [sp, 0x8] - adds r0, r5, 0 - ldr r1, =sub_80D3014 - bl CreateMonIcon - mov r2, r8 - ldr r1, [r2] - adds r1, 0x28 - adds r1, r6 - strb r0, [r1] - adds r7, 0x2 - adds r6, 0x1 - ldr r0, [r2] - adds r0, 0x36 - ldrb r0, [r0] - cmp r6, r0 - blt _08077CA8 -_08077D08: - movs r6, 0 - ldr r1, =gUnknown_0203229C - ldr r0, [r1] - adds r0, 0x37 - ldrb r0, [r0] - cmp r6, r0 - bge _08077D80 - ldr r0, =gUnknown_0832DE24 - mov r8, r1 - adds r7, r0, 0 - adds r7, 0xC -_08077D1E: - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - ldr r0, =gEnemyParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - ldrb r2, [r7] - lsls r2, 19 - movs r3, 0xE0 - lsls r3, 12 - adds r2, r3 - asrs r2, 16 - ldrb r3, [r7, 0x1] - lsls r3, 19 - ldr r1, =0xfff40000 - adds r3, r1 - asrs r3, 16 - movs r1, 0x1 - str r1, [sp] - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - adds r0, r5, 0 - ldr r1, =sub_80D3014 - bl CreateMonIcon - mov r2, r8 - ldr r1, [r2] - adds r1, 0x2E - adds r1, r6 - strb r0, [r1] - adds r7, 0x2 - adds r6, 0x1 - ldr r0, [r2] - adds r0, 0x37 - ldrb r0, [r0] - cmp r6, r0 - blt _08077D1E -_08077D80: - ldr r1, =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - b _080780D8 - .pool -_08077DB0: - bl LoadHeldItemIcons - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x36 - adds r1, 0x28 - movs r2, 0 - bl sub_81B5D4C - ldr r1, =gMain - movs r5, 0x87 - lsls r5, 3 - adds r1, r5 - b _080780D8 - .pool -_08077DD8: - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x36 - adds r1, 0x28 - movs r2, 0x1 - bl sub_81B5D4C - ldr r1, =gMain - movs r7, 0x87 - lsls r7, 3 - adds r1, r7 - b _080780D8 - .pool -_08077DFC: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r5, =gUnknown_02032188 - ldr r1, [r5] - movs r4, 0x3 - str r4, [sp] - movs r2, 0 - movs r3, 0 - bl sub_80C6D80 - bl GetMultiplayerId - lsls r0, 24 - movs r1, 0x80 - lsls r1, 17 - eors r1, r0 - lsrs r1, 24 - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - ldr r1, =gLinkPlayers + 8 - adds r0, r1 - ldr r1, [r5, 0xC] - str r4, [sp] - movs r2, 0 - movs r3, 0 - bl sub_80C6D80 - ldr r4, =gUnknown_0832DE94 - ldr r0, [r4] - ldr r1, [r5, 0x18] - movs r2, 0x2 - str r2, [sp] - movs r2, 0 - movs r3, 0 - bl sub_80C6D80 - ldr r0, [r4, 0x4] - ldr r1, [r5, 0x20] - movs r2, 0x18 - bl sub_807A308 - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 -_08077E58: - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0xA8 - strb r2, [r0] - b _080780F6 - .pool -_08077E84: - bl sub_807A1F0 - lsls r0, 24 - cmp r0, 0 - bne _08077E90 - b _080780F6 -_08077E90: - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _080780D8 - .pool -_08077EA0: - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - movs r0, 0x1 - movs r2, 0x78 - bl GetStringCenterAlignXOffset - movs r6, 0 - add r5, sp, 0xC - adds r4, r0, 0 - adds r4, 0x10 -_08077EB4: - add r1, sp, 0xC - ldr r0, =gSpriteTemplate_832DCAC - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldrh r0, [r5] - adds r0, r6 - strh r0, [r5] - lsls r1, r4, 16 - asrs r1, 16 - add r0, sp, 0xC - movs r2, 0xA - movs r3, 0x1 - bl CreateSprite - adds r4, 0x20 - adds r6, 0x1 - cmp r6, 0x2 - ble _08077EB4 - bl GetMultiplayerId - movs r1, 0x1 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - ldr r0, =gLinkPlayers + 8 - adds r1, r0 - movs r0, 0x1 - movs r2, 0x78 - bl GetStringCenterAlignXOffset - movs r6, 0 - add r5, sp, 0xC - adds r4, r0, 0 - adds r4, 0x88 -_08077F02: - add r1, sp, 0xC - ldr r0, =gSpriteTemplate_832DCAC - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - adds r0, r6, 0x3 - ldrh r3, [r5] - adds r0, r3 - strh r0, [r5] - lsls r1, r4, 16 - asrs r1, 16 - add r0, sp, 0xC - movs r2, 0xA - movs r3, 0x1 - bl CreateSprite - adds r4, 0x20 - adds r6, 0x1 - cmp r6, 0x2 - ble _08077F02 - ldr r1, =gMain - movs r5, 0x87 - lsls r5, 3 - adds r1, r5 - b _080780D8 - .pool -_08077F48: - ldr r4, =gSpriteTemplate_832DCAC - add r1, sp, 0xC - adds r0, r4, 0 - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r5,r7} - stm r1!, {r2,r5,r7} - add r1, sp, 0xC - adds r0, r1, 0 - ldrh r0, [r0] - adds r0, 0x6 - strh r0, [r1] - adds r0, r1, 0 - movs r1, 0xD7 - movs r2, 0x98 - movs r3, 0x1 - bl CreateSprite - add r0, sp, 0xC - ldm r4!, {r3,r5,r7} - stm r0!, {r3,r5,r7} - ldm r4!, {r1-r3} - stm r0!, {r1-r3} - add r1, sp, 0xC - adds r0, r1, 0 - ldrh r0, [r0] - adds r0, 0x7 - strh r0, [r1] - adds r0, r1, 0 - movs r1, 0xF7 - movs r2, 0x98 - movs r3, 0x1 - bl CreateSprite - movs r6, 0 - add r4, sp, 0xC - movs r5, 0xC0 - lsls r5, 13 -_08077F94: - add r1, sp, 0xC - ldr r0, =gSpriteTemplate_832DCAC - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - adds r0, r6, 0 - adds r0, 0x8 - ldrh r7, [r4] - adds r0, r7 - strh r0, [r4] - asrs r1, r5, 16 - add r0, sp, 0xC - movs r2, 0x96 - movs r3, 0x1 - bl CreateSprite - movs r0, 0x80 - lsls r0, 14 - adds r5, r0 - adds r6, 0x1 - cmp r6, 0x5 - ble _08077F94 - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - adds r2, r1, 0 - adds r2, 0x35 - ldrb r1, [r2] - adds r4, r0, 0 - cmp r1, 0x5 - bhi _08077FE4 - ldr r0, =gUnknown_0203CF20 - ldrb r0, [r0] - b _08077FEA - .pool -_08077FE4: - ldr r0, =gUnknown_0203CF20 - ldrb r0, [r0] - adds r0, 0x6 -_08077FEA: - strb r0, [r2] - ldr r0, =gSpriteTemplate_832DC94 - ldr r3, =gUnknown_0832DE24 - ldr r1, [r4] - adds r1, 0x35 - ldrb r2, [r1] - lsls r2, 1 - adds r1, r2, r3 - ldrb r1, [r1] - lsls r1, 19 - movs r5, 0x80 - lsls r5, 14 - adds r1, r5 - asrs r1, 16 - adds r3, 0x1 - adds r2, r3 - ldrb r2, [r2] - lsls r2, 3 - movs r3, 0x2 - bl CreateSprite - ldr r1, [r4] - adds r1, 0x34 - strb r0, [r1] - ldr r0, =gMain - movs r7, 0x87 - lsls r7, 3 - adds r0, r7 - movs r1, 0x10 - strb r1, [r0] - b _080780F6 - .pool -_08078038: - movs r0, 0 - bl sub_80782B8 - b _080780D0 -_08078040: - movs r0, 0x1 - bl sub_80782B8 - ldr r2, =gUnknown_0203229C - ldr r0, [r2] - movs r1, 0 - strb r1, [r0] - ldr r0, [r2] - strb r1, [r0, 0x1] - bl sub_8078388 - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _080780D8 - .pool -_08078068: - ldr r2, =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - 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 r1, =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - b _080780D8 - .pool -_080780A4: - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0x2 - bl sub_80782B8 - ldr r1, =gMain - movs r5, 0x87 - lsls r5, 3 - adds r1, r5 - b _080780D8 - .pool -_080780C4: - movs r7, 0x87 - lsls r7, 3 - adds r1, r2, r7 - b _080780D8 -_080780CC: - bl sub_807A53C -_080780D0: - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 -_080780D8: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080780F6 - .pool -_080780E4: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080780F6 - ldr r0, =sub_807825C - bl SetMainCallback2 -_080780F6: - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - add sp, 0x24 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8077B74 - - thumb_func_start sub_807811C -sub_807811C: @ 807811C - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_807811C - - thumb_func_start sub_8078130 -sub_8078130: @ 8078130 - push {r4,lr} - sub sp, 0x4 - ldr r4, =gUnknown_0203229C - ldr r1, [r4] - adds r1, 0xA8 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xF - bls _08078160 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, [r4] - adds r0, 0x6F - movs r1, 0xA - strb r1, [r0] -_08078160: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8078130 - - thumb_func_start sub_807816C -sub_807816C: @ 807816C - push {r4,lr} - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080781C2 - ldr r1, =gUnknown_02032298 - ldr r4, =gUnknown_0203229C - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x35 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r2, 0 - adds r0, 0x7E - ldrb r0, [r0] - strb r0, [r1, 0x1] - ldr r0, =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _080781B4 - adds r1, r2, 0 - adds r1, 0x6F - movs r0, 0x10 - strb r0, [r1] - b _080781C2 - .pool -_080781B4: - movs r0, 0x20 - bl sub_800ABF4 - ldr r0, [r4] - adds r0, 0x6F - movs r1, 0xD - strb r1, [r0] -_080781C2: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_807816C - - thumb_func_start sub_80781C8 -sub_80781C8: @ 80781C8 - push {r4,r5,lr} - ldr r5, =gMain - ldr r0, =sub_80773AC - str r0, [r5, 0x8] - ldr r0, =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _08078220 - bl sub_8010500 - lsls r0, 24 - cmp r0, 0 - beq _08078244 - ldr r0, =gUnknown_02032184 - ldr r0, [r0] - bl Free - bl FreeAllWindowBuffers - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - bl Free - movs r0, 0 - str r0, [r5] - bl sub_800E084 - ldr r0, =sub_807AE50 - bl SetMainCallback2 - b _08078244 - .pool -_08078220: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r4, [r0] - cmp r4, 0 - bne _08078244 - ldr r0, =gUnknown_02032184 - ldr r0, [r0] - bl Free - bl FreeAllWindowBuffers - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - bl Free - str r4, [r5] - ldr r0, =sub_807AE50 - bl SetMainCallback2 -_08078244: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80781C8 - - thumb_func_start sub_807825C -sub_807825C: @ 807825C - push {r4,lr} - bl sub_80795AC - bl sub_807A0C4 - movs r0, 0 - bl sub_80796B4 - movs r0, 0x1 - bl sub_80796B4 - ldr r4, =gUnknown_0203229C - ldr r2, [r4] - ldrb r1, [r2] - adds r0, r1, 0x1 - strb r0, [r2] - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x18 - bl SetGpuReg - ldr r2, [r4] - ldrb r1, [r2, 0x1] - adds r0, r1, 0 - adds r0, 0xFF - strb r0, [r2, 0x1] - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x1C - bl SetGpuReg - bl RunTextPrintersAndIsPrinter0Active - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807825C - - thumb_func_start sub_80782B8 -sub_80782B8: @ 80782B8 - push {r4,r5,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - beq _08078324 - cmp r4, 0x1 - bgt _080782CE - cmp r4, 0 - beq _080782D4 - b _0807837E -_080782CE: - cmp r4, 0x2 - beq _0807834C - b _0807837E -_080782D4: - ldr r0, =gUnknown_08DDB3E4 - movs r1, 0 - movs r2, 0x60 - bl LoadPalette - ldr r1, =gUnknown_08DDB464 - movs r2, 0x94 - lsls r2, 5 - movs r0, 0x1 - movs r3, 0 - bl LoadBgTiles - ldr r1, =gUnknown_08DDCF04 - movs r0, 0x20 - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBufferRect_ChangePalette - ldr r1, =gTradeStripesBG2Tilemap - movs r2, 0x80 - lsls r2, 4 - movs r0, 0x2 - movs r3, 0 - bl LoadBgTilemap - b _0807837E - .pool -_08078324: - ldr r1, =gTradeStripesBG3Tilemap - movs r2, 0x80 - lsls r2, 4 - movs r0, 0x3 - movs r3, 0 - bl LoadBgTilemap - movs r0, 0 - bl sub_8079E44 - movs r0, 0x1 - bl sub_8079E44 - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - b _0807837E - .pool -_0807834C: - movs r5, 0x80 - lsls r5, 21 - movs r4, 0x3 -_08078352: - lsrs r0, r5, 24 - movs r1, 0 - bl SetGpuReg - movs r0, 0x80 - lsls r0, 18 - adds r5, r0 - subs r4, 0x1 - cmp r4, 0 - bge _08078352 - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg -_0807837E: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80782B8 - - thumb_func_start sub_8078388 -sub_8078388: @ 8078388 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r3, 0 - ldr r5, =gUnknown_0203229C - mov r8, r5 - ldr r0, =gSprites - mov r12, r0 - movs r1, 0x5 - negs r1, r1 - mov r9, r1 - movs r4, 0x6 - movs r7, 0x1 - movs r6, 0 -_080783A6: - mov r1, r8 - ldr r0, [r1] - adds r1, r0, 0 - adds r1, 0x36 - ldrb r1, [r1] - cmp r3, r1 - bge _080783E0 - adds r0, 0x28 - adds r0, r3 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r12 - adds r1, 0x3E - ldrb r2, [r1] - mov r0, r9 - ands r0, r2 - strb r0, [r1] - ldr r0, [r5] - adds r0, 0x38 - adds r0, r3 - strb r7, [r0] - b _080783E6 - .pool -_080783E0: - adds r0, 0x38 - adds r0, r3 - strb r6, [r0] -_080783E6: - mov r1, r8 - ldr r0, [r1] - adds r1, r0, 0 - adds r1, 0x37 - ldrb r1, [r1] - cmp r3, r1 - bge _08078416 - adds r0, 0x2E - adds r0, r3 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r12 - adds r1, 0x3E - ldrb r2, [r1] - mov r0, r9 - ands r0, r2 - strb r0, [r1] - ldr r0, [r5] - adds r0, 0x38 - adds r0, r4 - strb r7, [r0] - b _0807841C -_08078416: - adds r0, 0x38 - adds r0, r4 - strb r6, [r0] -_0807841C: - adds r4, 0x1 - adds r3, 0x1 - cmp r3, 0x5 - ble _080783A6 - ldr r0, [r5] - adds r0, 0x44 - movs r1, 0x1 - strb r1, [r0] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8078388 - - thumb_func_start sub_8078438 -sub_8078438: @ 8078438 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r3, 0 - cmp r3, r2 - bcs _08078452 -_08078444: - adds r0, r5, r3 - adds r1, r4, r3 - ldrb r1, [r1] - strb r1, [r0] - adds r3, 0x1 - cmp r3, r2 - bcc _08078444 -_08078452: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8078438 - - thumb_func_start shedinja_maker_maybe -shedinja_maker_maybe: @ 8078458 - push {r4-r6,lr} - sub sp, 0xC - bl GetMultiplayerId - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x69 - ldrb r0, [r0] - cmp r0, 0x15 - bls _08078472 - b _080787AA -_08078472: - lsls r0, 2 - ldr r1, =_08078484 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08078484: - .4byte _080784DC - .4byte _08078508 - .4byte _08078784 - .4byte _08078534 - .4byte _08078548 - .4byte _0807857C - .4byte _08078784 - .4byte _08078598 - .4byte _080785AC - .4byte _080785E0 - .4byte _08078784 - .4byte _080785FC - .4byte _08078610 - .4byte _08078644 - .4byte _08078784 - .4byte _0807866C - .4byte _08078680 - .4byte _080786B4 - .4byte _08078784 - .4byte _080786DC - .4byte _080786F0 - .4byte _08078720 -_080784DC: - ldr r0, =gBlockSendBuffer - ldr r1, =gPlayerParty - movs r2, 0xC8 - bl sub_8078438 - ldr r3, =gUnknown_0203229C - ldr r1, [r3] - adds r1, 0x69 - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - ldr r0, [r3] - adds r0, 0xA8 - strb r2, [r0] - b _080787AA - .pool -_08078508: - bl sub_80771BC - cmp r0, 0 - bne _08078512 - b _080787AA -_08078512: - bl sub_8077200 - cmp r0, 0 - bne _08078524 - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - b _080787A2 - .pool -_08078524: - bl sub_8077210 - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - b _080787A2 - .pool -_08078534: - cmp r5, 0 - bne _0807853E - movs r0, 0x1 - bl sub_80771AC -_0807853E: - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - b _080787A2 - .pool -_08078548: - bl sub_8077200 - cmp r0, 0x3 - beq _08078552 - b _080787AA -_08078552: - ldr r0, =gEnemyParty - movs r2, 0x1 - adds r1, r5, 0 - eors r1, r2 - lsls r1, 8 - ldr r2, =gBlockRecvBuffer - adds r1, r2 - movs r2, 0xC8 - bl sub_8078438 - bl sub_8077210 - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - b _080787A2 - .pool -_0807857C: - ldr r0, =gBlockSendBuffer - ldr r1, =gPlayerParty + 200 - movs r2, 0xC8 - bl sub_8078438 - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - b _080787A2 - .pool -_08078598: - cmp r5, 0 - bne _080785A2 - movs r0, 0x1 - bl sub_80771AC -_080785A2: - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - b _080787A2 - .pool -_080785AC: - bl sub_8077200 - cmp r0, 0x3 - beq _080785B6 - b _080787AA -_080785B6: - ldr r0, =gEnemyParty + 200 - movs r2, 0x1 - adds r1, r5, 0 - eors r1, r2 - lsls r1, 8 - ldr r2, =gBlockRecvBuffer - adds r1, r2 - movs r2, 0xC8 - bl sub_8078438 - bl sub_8077210 - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - b _080787A2 - .pool -_080785E0: - ldr r0, =gBlockSendBuffer - ldr r1, =gPlayerParty + 400 - movs r2, 0xC8 - bl sub_8078438 - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - b _080787A2 - .pool -_080785FC: - cmp r5, 0 - bne _08078606 - movs r0, 0x1 - bl sub_80771AC -_08078606: - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - b _080787A2 - .pool -_08078610: - bl sub_8077200 - cmp r0, 0x3 - beq _0807861A - b _080787AA -_0807861A: - ldr r0, =gEnemyParty + 400 - movs r2, 0x1 - adds r1, r5, 0 - eors r1, r2 - lsls r1, 8 - ldr r2, =gBlockRecvBuffer - adds r1, r2 - movs r2, 0xC8 - bl sub_8078438 - bl sub_8077210 - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - b _080787A2 - .pool -_08078644: - ldr r0, =gBlockSendBuffer - ldr r1, =gSaveBlock1Ptr - ldr r1, [r1] - ldr r2, =0x00002be0 - adds r1, r2 - movs r2, 0xDC - bl sub_8078438 - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - b _080787A2 - .pool -_0807866C: - cmp r5, 0 - bne _08078676 - movs r0, 0x3 - bl sub_80771AC -_08078676: - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - b _080787A2 - .pool -_08078680: - bl sub_8077200 - cmp r0, 0x3 - beq _0807868A - b _080787AA -_0807868A: - ldr r0, =gUnknown_020321C0 - movs r2, 0x1 - adds r1, r5, 0 - eors r1, r2 - lsls r1, 8 - ldr r2, =gBlockRecvBuffer - adds r1, r2 - movs r2, 0xD8 - bl sub_8078438 - bl sub_8077210 - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - b _080787A2 - .pool -_080786B4: - ldr r0, =gBlockSendBuffer - ldr r1, =gSaveBlock1Ptr - ldr r1, [r1] - ldr r2, =0x000031a8 - adds r1, r2 - movs r2, 0xB - bl sub_8078438 - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - b _080787A2 - .pool -_080786DC: - cmp r5, 0 - bne _080786E6 - movs r0, 0x4 - bl sub_80771AC -_080786E6: - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - b _080787A2 - .pool -_080786F0: - bl sub_8077200 - cmp r0, 0x3 - bne _080787AA - ldr r4, =gUnknown_0203229C - ldr r0, [r4] - adds r0, 0xA9 - movs r2, 0x1 - adds r1, r5, 0 - eors r1, r2 - lsls r1, 8 - ldr r2, =gBlockRecvBuffer - adds r1, r2 - movs r2, 0xB - bl sub_8078438 - bl sub_8077210 - ldr r1, [r4] - b _080787A2 - .pool -_08078720: - ldr r4, =gEnemyParty - ldr r6, =0x0000012f - movs r5, 0x5 -_08078726: - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - beq _08078766 - cmp r0, r6 - bne _08078766 - adds r0, r4, 0 - movs r1, 0x3 - bl GetMonData - cmp r0, 0x1 - beq _08078766 - adds r0, r4, 0 - movs r1, 0x2 - mov r2, sp - bl GetMonData - mov r0, sp - ldr r1, =gJPText_Shedinja - bl StringCompareWithoutExtCtrlCodes - cmp r0, 0 - bne _08078766 - adds r0, r4, 0 - movs r1, 0x2 - ldr r2, =gSpeciesNames + 303 * 11 @ SPECIES_SHEDINJA * POKEMON_NAME_LENGTH + 1 - bl SetMonData -_08078766: - adds r4, 0x64 - subs r5, 0x1 - cmp r5, 0 - bge _08078726 - movs r0, 0x1 - b _080787AC - .pool -_08078784: - ldr r2, =gUnknown_0203229C - ldr r1, [r2] - adds r1, 0xA8 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r2] - adds r1, r0, 0 - adds r1, 0xA8 - ldrb r0, [r1] - cmp r0, 0xA - bls _080787AA - movs r0, 0 - strb r0, [r1] - ldr r1, [r2] -_080787A2: - adds r1, 0x69 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_080787AA: - movs r0, 0 -_080787AC: - add sp, 0xC - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end shedinja_maker_maybe - - thumb_func_start sub_80787B8 -sub_80787B8: @ 80787B8 - push {lr} - ldr r0, =gText_IsThisTradeOkay - ldr r1, =gUnknown_0203229C - ldr r1, [r1] - adds r1, 0x72 - ldrh r1, [r1] - lsls r1, 5 - ldr r2, =0x06010000 - adds r1, r2 - movs r2, 0x18 - bl sub_807A308 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80787B8 - - thumb_func_start sub_80787E0 -sub_80787E0: @ 80787E0 - push {r4,lr} - lsls r1, 24 - lsrs r4, r1, 24 - movs r2, 0x1 - adds r0, r4, 0 - ands r0, r2 - cmp r0, 0 - beq _08078864 - ldr r0, =gBlockRecvBuffer - ldrh r1, [r0] - ldr r0, =0x0000bbbb - cmp r1, r0 - beq _08078844 - cmp r1, r0 - bgt _08078814 - ldr r0, =0x0000aabb - cmp r1, r0 - beq _08078834 - b _0807885E - .pool -_08078814: - ldr r0, =0x0000bbcc - cmp r1, r0 - beq _08078854 - ldr r0, =0x0000eeaa - cmp r1, r0 - bne _0807885E - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x78 - b _0807885A - .pool -_08078834: - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x78 - strb r2, [r0] - b _0807885E - .pool -_08078844: - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x7A - strb r2, [r0] - b _0807885E - .pool -_08078854: - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x7A -_0807885A: - movs r1, 0x2 - strb r1, [r0] -_0807885E: - movs r0, 0 - bl sub_8077234 -_08078864: - movs r2, 0x2 - adds r0, r4, 0 - ands r0, r2 - cmp r0, 0 - beq _080788F6 - ldr r3, =gBlockRecvBuffer - movs r1, 0x80 - lsls r1, 1 - adds r0, r3, r1 - ldrh r1, [r0] - ldr r0, =0x0000bbbb - cmp r1, r0 - beq _080788D8 - cmp r1, r0 - bgt _0807889C - ldr r0, =0x0000aabb - cmp r1, r0 - beq _080788BC - b _080788F0 - .pool -_0807889C: - ldr r0, =0x0000bbcc - cmp r1, r0 - beq _080788E8 - ldr r0, =0x0000eeaa - cmp r1, r0 - bne _080788F0 - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x79 - b _080788EE - .pool -_080788BC: - ldr r2, =gUnknown_0203229C - ldr r1, [r2] - movs r4, 0x81 - lsls r4, 1 - adds r0, r3, r4 - ldrb r0, [r0] - adds r0, 0x6 - adds r1, 0x7E - strb r0, [r1] - ldr r0, [r2] - adds r0, 0x79 - b _080788DE - .pool -_080788D8: - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x7B -_080788DE: - movs r1, 0x1 - strb r1, [r0] - b _080788F0 - .pool -_080788E8: - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x7B -_080788EE: - strb r2, [r0] -_080788F0: - movs r0, 0x1 - bl sub_8077234 -_080788F6: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80787E0 - - thumb_func_start sub_8078900 -sub_8078900: @ 8078900 - push {r4,r5,lr} - sub sp, 0x4 - lsls r1, 24 - lsrs r5, r1, 24 - movs r0, 0x1 - ands r0, r5 - cmp r0, 0 - beq _080789E2 - ldr r2, =gBlockRecvBuffer - ldrh r1, [r2] - ldr r0, =0x0000ddee - cmp r1, r0 - beq _080789CC - cmp r1, r0 - bgt _0807893C - ldr r0, =0x0000ccdd - cmp r1, r0 - beq _080789AC - ldr r0, =0x0000dddd - cmp r1, r0 - beq _08078978 - b _080789DC - .pool -_0807893C: - ldr r0, =0x0000eebb - cmp r1, r0 - beq _08078950 - adds r0, 0x11 - cmp r1, r0 - beq _08078974 - b _080789DC - .pool -_08078950: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - movs r0, 0x4 - bl sub_807A19C - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x6F - movs r1, 0xB - b _080789DA - .pool -_08078974: - movs r0, 0x5 - b _080789CE -_08078978: - ldr r4, =gUnknown_0203229C - ldr r1, [r4] - ldrb r0, [r2, 0x2] - adds r0, 0x6 - adds r1, 0x7E - strb r0, [r1] - movs r0, 0 - bl rbox_fill_rectangle - ldr r0, [r4] - adds r0, 0x35 - ldrb r0, [r0] - bl sub_807967C - ldr r0, [r4] - adds r0, 0x7E - ldrb r0, [r0] - bl sub_807967C - ldr r0, [r4] - adds r0, 0x6F - movs r1, 0x7 - b _080789DA - .pool -_080789AC: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x6F - movs r1, 0xA - b _080789DA - .pool -_080789CC: - movs r0, 0x1 -_080789CE: - bl sub_807A19C - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x6F - movs r1, 0x8 -_080789DA: - strb r1, [r0] -_080789DC: - movs r0, 0 - bl sub_8077234 -_080789E2: - movs r0, 0x2 - ands r0, r5 - cmp r0, 0 - beq _080789F0 - movs r0, 0x1 - bl sub_8077234 -_080789F0: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8078900 - - thumb_func_start sub_80789FC -sub_80789FC: @ 80789FC - push {r4-r6,lr} - sub sp, 0x4 - ldr r6, =gUnknown_0203229C - ldr r2, [r6] - adds r1, r2, 0 - adds r1, 0x78 - ldrb r0, [r1] - cmp r0, 0 - bne _08078A10 - b _08078B44 -_08078A10: - adds r0, r2, 0 - adds r0, 0x79 - ldrb r0, [r0] - cmp r0, 0 - bne _08078A1C - b _08078B44 -_08078A1C: - ldrh r1, [r1] - ldr r0, =0x00000101 - cmp r1, r0 - bne _08078A64 - adds r1, r2, 0 - adds r1, 0x6F - movs r0, 0x6 - strb r0, [r1] - ldr r2, [r6] - adds r1, r2, 0 - adds r1, 0x80 - movs r4, 0 - ldr r0, =0x0000dddd - strh r0, [r1] - adds r0, r2, 0 - adds r0, 0x35 - ldrb r1, [r0] - adds r0, 0x4D - strh r1, [r0] - movs r0, 0x5 - movs r1, 0 - bl sub_807A048 - ldr r0, [r6] - adds r2, r0, 0 - adds r2, 0x79 - strb r4, [r2] - adds r0, 0x78 - strb r4, [r0] - b _08078B44 - .pool -_08078A64: - ldr r0, =0x00000201 - cmp r1, r0 - bne _08078AB4 - movs r0, 0x1 - bl sub_807A19C - ldr r1, [r6] - adds r2, r1, 0 - adds r2, 0x80 - movs r4, 0 - movs r3, 0 - ldr r0, =0x0000eecc - strh r0, [r2] - adds r1, 0x82 - strh r3, [r1] - movs r0, 0x5 - movs r1, 0 - bl sub_807A048 - ldr r0, [r6] - adds r1, r0, 0 - adds r1, 0x7B - strb r4, [r1] - adds r0, 0x7A - strb r4, [r0] - ldr r0, [r6] - adds r1, r0, 0 - adds r1, 0x79 - strb r4, [r1] - adds r0, 0x78 - strb r4, [r0] - ldr r0, [r6] - adds r0, 0x6F - movs r1, 0x8 - b _08078B42 - .pool -_08078AB4: - movs r0, 0x81 - lsls r0, 1 - cmp r1, r0 - bne _08078B00 - movs r0, 0x5 - bl sub_807A19C - ldr r1, [r6] - adds r2, r1, 0 - adds r2, 0x80 - movs r4, 0 - movs r3, 0 - ldr r0, =0x0000ddee - strh r0, [r2] - adds r1, 0x82 - strh r3, [r1] - movs r0, 0x5 - movs r1, 0 - bl sub_807A048 - ldr r0, [r6] - adds r1, r0, 0 - adds r1, 0x7B - strb r4, [r1] - adds r0, 0x7A - strb r4, [r0] - ldr r0, [r6] - adds r1, r0, 0 - adds r1, 0x79 - strb r4, [r1] - adds r0, 0x78 - strb r4, [r0] - ldr r0, [r6] - adds r0, 0x6F - movs r1, 0x8 - b _08078B42 - .pool -_08078B00: - ldr r0, =0x00000202 - cmp r1, r0 - bne _08078B44 - adds r1, r2, 0 - adds r1, 0x80 - movs r5, 0 - movs r4, 0 - ldr r0, =0x0000eebb - strh r0, [r1] - adds r0, r2, 0 - adds r0, 0x82 - strh r4, [r0] - movs r0, 0x5 - movs r1, 0 - bl sub_807A048 - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, [r6] - adds r1, r0, 0 - adds r1, 0x79 - strb r5, [r1] - adds r0, 0x78 - strb r5, [r0] - ldr r0, [r6] - adds r0, 0x6F - movs r1, 0xB -_08078B42: - strb r1, [r0] -_08078B44: - ldr r5, =gUnknown_0203229C - ldr r3, [r5] - adds r1, r3, 0 - adds r1, 0x7A - ldrb r0, [r1] - cmp r0, 0 - beq _08078BDC - adds r0, r3, 0 - adds r0, 0x7B - ldrb r0, [r0] - cmp r0, 0 - beq _08078BDC - ldrh r1, [r1] - ldr r0, =0x00000101 - cmp r1, r0 - bne _08078B92 - adds r1, r3, 0 - adds r1, 0x80 - movs r4, 0 - movs r2, 0 - ldr r0, =0x0000ccdd - strh r0, [r1] - adds r0, r3, 0 - adds r0, 0x82 - strh r2, [r0] - movs r0, 0x5 - movs r1, 0 - bl sub_807A048 - ldr r0, [r5] - adds r0, 0x7A - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x7B - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x6F - movs r1, 0x9 - strb r1, [r0] -_08078B92: - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0x7A - ldrb r0, [r0] - cmp r0, 0x2 - beq _08078BA8 - adds r0, r1, 0 - adds r0, 0x7B - ldrb r0, [r0] - cmp r0, 0x2 - bne _08078BDC -_08078BA8: - movs r0, 0x1 - bl sub_807A19C - ldr r1, [r5] - adds r2, r1, 0 - adds r2, 0x80 - movs r4, 0 - movs r3, 0 - ldr r0, =0x0000ddee - strh r0, [r2] - adds r1, 0x82 - strh r3, [r1] - movs r0, 0x5 - movs r1, 0 - bl sub_807A048 - ldr r0, [r5] - adds r0, 0x7A - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x7B - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x6F - movs r1, 0x8 - strb r1, [r0] -_08078BDC: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80789FC - - thumb_func_start sub_8078BFC -sub_8078BFC: @ 8078BFC - push {lr} - strh r1, [r0] - strh r2, [r0, 0x2] - movs r0, 0x5 - movs r1, 0 - bl sub_807A048 - pop {r0} - bx r0 - thumb_func_end sub_8078BFC - - thumb_func_start sub_8078C10 -sub_8078C10: @ 8078C10 - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - lsls r3, 16 - lsrs r3, 16 - lsls r2, 16 - lsrs r2, 16 - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x80 - adds r1, r3, 0 - bl sub_8078BFC - pop {r0} - bx r0 - .pool - thumb_func_end sub_8078C10 - - thumb_func_start sub_8078C34 -sub_8078C34: @ 8078C34 - push {r4,lr} - bl GetMultiplayerId - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8077200 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _08078C5C - cmp r4, 0 - bne _08078C56 - movs r0, 0 - bl sub_80787E0 - b _08078C5C -_08078C56: - adds r0, r4, 0 - bl sub_8078900 -_08078C5C: - cmp r4, 0 - bne _08078C64 - bl sub_80789FC -_08078C64: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8078C34 - - thumb_func_start sub_8078C6C -sub_8078C6C: @ 8078C6C - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - movs r6, 0 - movs r5, 0 - ldr r2, =gUnknown_0203229C - ldr r3, [r2] - ldr r4, =gUnknown_0832DCEC - lsls r2, r1, 1 - adds r2, r1 - lsls r2, 1 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r3, 0x38 - adds r2, r1 - adds r2, r4 -_08078C92: - ldrb r1, [r2] - adds r0, r3, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _08078CA8 - adds r6, r1, 0 - b _08078CB0 - .pool -_08078CA8: - adds r2, 0x1 - adds r5, 0x1 - cmp r5, 0x5 - ble _08078C92 -_08078CB0: - adds r0, r6, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8078C6C - - thumb_func_start sub_8078CB8 -sub_8078CB8: @ 8078CB8 - push {r4-r7,lr} - adds r7, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldrb r0, [r7] - bl sub_8078C6C - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0xC - bne _08078D10 - ldr r5, =gUnknown_0203229C - ldr r0, [r5] - adds r0, 0x34 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - movs r1, 0x1 - bl StartSpriteAnim - ldr r2, [r5] - adds r2, 0x34 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xE0 - strh r1, [r0, 0x20] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xA0 - strh r1, [r0, 0x22] - b _08078D58 - .pool -_08078D10: - ldr r4, =gUnknown_0203229C - ldr r0, [r4] - adds r0, 0x34 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, =gSprites - adds r0, r5 - movs r1, 0 - bl StartSpriteAnim - ldr r4, [r4] - adds r4, 0x34 - ldrb r0, [r4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - ldr r2, =gUnknown_0832DE24 - lsls r3, r6, 1 - adds r0, r3, r2 - ldrb r0, [r0] - lsls r0, 3 - adds r0, 0x20 - strh r0, [r1, 0x20] - ldrb r0, [r4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - adds r2, 0x1 - adds r3, r2 - ldrb r0, [r3] - lsls r0, 3 - strh r0, [r1, 0x22] -_08078D58: - ldrb r0, [r7] - cmp r0, r6 - beq _08078D64 - movs r0, 0x5 - bl PlaySE -_08078D64: - strb r6, [r7] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8078CB8 - - thumb_func_start sub_8078D78 -sub_8078D78: @ 8078D78 - push {r4,lr} - movs r0, 0 - bl sub_807A19C - ldr r4, =gUnknown_0203229C - ldr r0, [r4] - adds r0, 0x6F - movs r1, 0x64 - strb r1, [r0] - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08078DAC - ldr r0, =0x0000aabb - ldr r1, [r4] - adds r1, 0x35 - ldrb r1, [r1] - bl sub_8078C10 - b _08078DB4 - .pool -_08078DAC: - ldr r0, [r4] - adds r0, 0x78 - movs r1, 0x1 - strb r1, [r0] -_08078DB4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8078D78 - - thumb_func_start sub_8078DBC -sub_8078DBC: @ 8078DBC - push {r4,lr} - sub sp, 0x4 - ldr r0, =gMain - ldrh r1, [r0, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08078DE4 - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x35 - movs r1, 0 - bl sub_8078CB8 - b _08078E30 - .pool -_08078DE4: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08078E00 - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x35 - movs r1, 0x1 - bl sub_8078CB8 - b _08078E30 - .pool -_08078E00: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _08078E1C - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x35 - movs r1, 0x2 - bl sub_8078CB8 - b _08078E30 - .pool -_08078E1C: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08078E30 - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x35 - movs r1, 0x3 - bl sub_8078CB8 -_08078E30: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08078EE4 - movs r0, 0x5 - bl PlaySE - ldr r4, =gUnknown_0203229C - ldr r0, [r4] - adds r0, 0x35 - ldrb r0, [r0] - cmp r0, 0x5 - bhi _08078E98 - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0xE - bl sub_8098858 - movs r0, 0x1 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r2, =gUnknown_0832DEAC - movs r0, 0x1 - movs r1, 0x2 - bl PrintMenuTable - movs r0, 0x1 - movs r1, 0x2 - movs r2, 0 - bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0x1 - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, [r4] - adds r0, 0x6F - movs r1, 0x1 - strb r1, [r0] - b _08078EE4 - .pool -_08078E98: - cmp r0, 0xB - bhi _08078EB6 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, [r4] - adds r0, 0x6F - movs r1, 0x2 - strb r1, [r0] - b _08078EE4 -_08078EB6: - cmp r0, 0xC - bne _08078EE4 - ldr r0, =gUnknown_0832DF8C - movs r1, 0x1 - movs r2, 0xE - movs r3, 0 - bl CreateYesNoMenu - ldr r0, [r4] - adds r0, 0x6F - movs r1, 0x4 - strb r1, [r0] - ldr r0, =gUnknown_0832DE94 - ldr r0, [r0, 0x10] - ldr r1, [r4] - adds r1, 0x72 - ldrh r1, [r1] - lsls r1, 5 - ldr r2, =0x06010000 - adds r1, r2 - movs r2, 0x18 - bl sub_807A308 -_08078EE4: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8078DBC - - thumb_func_start sub_8078EF8 -sub_8078EF8: @ 8078EF8 - push {lr} - bl sub_8079F74 - ldr r3, =gUnknown_0203229C - ldr r0, [r3] - adds r0, 0x6F - movs r1, 0 - strb r1, [r0] - ldr r2, =gSprites - ldr r0, [r3] - adds r0, 0x34 - ldrb r1, [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] - ldr r0, =gUnknown_0832DE94 - ldr r0, [r0, 0x4] - ldr r1, [r3] - adds r1, 0x72 - ldrh r1, [r1] - lsls r1, 5 - ldr r2, =0x06010000 - adds r1, r2 - movs r2, 0x18 - bl sub_807A308 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8078EF8 - - thumb_func_start sub_8078F50 -sub_8078F50: @ 8078F50 - push {lr} - sub sp, 0x4 - bl Menu_ProcessInputNoWrap - lsls r0, 24 - asrs r0, 24 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - beq _08078F72 - cmp r0, r1 - ble _0807902A - cmp r0, 0 - beq _08078F7E - cmp r0, 0x1 - beq _08078F9C - b _0807902A -_08078F72: - movs r0, 0x5 - bl PlaySE - bl sub_8078EF8 - b _0807902A -_08078F7E: - str r0, [sp] - adds r0, r1, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x6F - movs r1, 0x2 - b _08079028 - .pool -_08078F9C: - ldr r0, =gPlayerParty - ldr r1, =gPlayerPartyCount - ldrb r1, [r1] - ldr r2, =gUnknown_0203229C - ldr r2, [r2] - adds r2, 0x35 - ldrb r2, [r2] - bl sub_807A5F4 - cmp r0, 0x5 - bhi _0807902A - lsls r0, 2 - ldr r1, =_08078FCC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08078FCC: - .4byte _08078FE4 - .4byte _0807900C - .4byte _08079012 - .4byte _08079018 - .4byte _08079012 - .4byte _08079018 -_08078FE4: - bl sub_8078D78 - ldr r2, =gSprites - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x34 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - b _08079028 - .pool -_0807900C: - movs r0, 0x3 - movs r1, 0x3 - b _0807901C -_08079012: - movs r0, 0x3 - movs r1, 0x6 - b _0807901C -_08079018: - movs r0, 0x3 - movs r1, 0x7 -_0807901C: - bl sub_807A048 - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x6F - movs r1, 0x8 -_08079028: - strb r1, [r0] -_0807902A: - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8078F50 - - thumb_func_start sub_8079034 -sub_8079034: @ 8079034 - push {lr} - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0807904A - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08079054 -_0807904A: - movs r0, 0x5 - bl PlaySE - bl sub_8078EF8 -_08079054: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8079034 - - thumb_func_start sub_807905C -sub_807905C: @ 807905C - push {lr} - sub sp, 0x4 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080790C4 - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r3, r0, 0 - adds r3, 0x35 - ldrb r2, [r3] - cmp r2, 0x5 - bhi _080790A4 - ldr r1, =gPlayerParty - ldrb r2, [r3] - adds r0, 0x36 - ldrb r3, [r0] - subs r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - ldr r0, =sub_8077B74 - str r0, [sp] - movs r0, 0x1 - bl ShowPokemonSummaryScreen - b _080790C0 - .pool -_080790A4: - ldr r1, =gEnemyParty - subs r2, 0x6 - lsls r2, 24 - lsrs r2, 24 - adds r0, 0x37 - ldrb r3, [r0] - subs r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - ldr r0, =sub_8077B74 - str r0, [sp] - movs r0, 0x1 - bl ShowPokemonSummaryScreen -_080790C0: - bl FreeAllWindowBuffers -_080790C4: - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_807905C - - thumb_func_start sub_80790D4 -sub_80790D4: @ 80790D4 - push {r4-r7,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r6, r3, 24 - movs r5, 0 - movs r3, 0 - ldr r7, =gEnemyParty - cmp r5, r1 - bge _08079102 -_080790EE: - cmp r2, r3 - beq _080790FC - adds r0, r4, r3 - ldrb r0, [r0] - adds r0, r5, r0 - lsls r0, 24 - lsrs r5, r0, 24 -_080790FC: - adds r3, 0x1 - cmp r3, r1 - blt _080790EE -_08079102: - adds r0, r6, 0 - movs r1, 0x6 - bl __umodsi3 - lsls r0, 24 - lsrs r6, r0, 24 - movs r0, 0x64 - muls r0, r6 - adds r7, r0, r7 - adds r0, r7, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r4, r0, 16 - movs r0, 0xCD - lsls r0, 1 - cmp r4, r0 - beq _0807912C - cmp r4, 0x97 - bne _08079138 -_0807912C: - adds r0, r7, 0 - movs r1, 0x50 - bl GetMonData - cmp r0, 0 - beq _08079158 -_08079138: - bl IsNationalPokedexEnabled - cmp r0, 0 - bne _08079164 - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x57 - adds r0, r6 - ldrb r0, [r0] - cmp r0, 0 - bne _08079158 - adds r0, r4, 0 - bl IsSpeciesInHoennDex - cmp r0, 0 - bne _08079164 -_08079158: - movs r0, 0x2 - b _0807916C - .pool -_08079164: - cmp r5, 0 - beq _0807916A - movs r5, 0x1 -_0807916A: - adds r0, r5, 0 -_0807916C: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80790D4 - - thumb_func_start sub_8079174 -sub_8079174: @ 8079174 - push {r4,r5,lr} - sub sp, 0xC - movs r2, 0 - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - adds r3, r1, 0 - adds r3, 0x36 - adds r5, r0, 0 - ldrb r0, [r3] - cmp r2, r0 - bge _080791A0 - adds r4, r1, 0 - adds r4, 0x45 -_0807918E: - mov r1, sp - adds r0, r1, r2 - adds r1, r4, r2 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - ldrb r0, [r3] - cmp r2, r0 - blt _0807918E -_080791A0: - ldr r0, [r5] - adds r1, r0, 0 - adds r1, 0x36 - ldrb r1, [r1] - adds r2, r0, 0 - adds r2, 0x35 - ldrb r2, [r2] - adds r0, 0x7E - ldrb r3, [r0] - mov r0, sp - bl sub_80790D4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080791E8 - cmp r0, 0x1 - bgt _080791D0 - cmp r0, 0 - beq _080791D6 - b _0807920C - .pool -_080791D0: - cmp r0, 0x2 - beq _08079200 - b _0807920C -_080791D6: - movs r0, 0x3 - movs r1, 0x3 - bl sub_807A048 - ldr r0, =0x0000bbcc - b _080791F2 - .pool -_080791E8: - movs r0, 0x3 - movs r1, 0x1 - bl sub_807A048 - ldr r0, =0x0000bbbb -_080791F2: - movs r1, 0 - bl sub_8078C10 - b _0807920C - .pool -_08079200: - movs r0, 0x3 - movs r1, 0x8 - bl sub_807A048 - movs r0, 0x1 - b _0807920E -_0807920C: - movs r0, 0 -_0807920E: - add sp, 0xC - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8079174 - - thumb_func_start sub_8079218 -sub_8079218: @ 8079218 - push {lr} - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _0807923A - cmp r1, 0 - bgt _08079234 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _08079268 - b _08079290 -_08079234: - cmp r1, 0x1 - beq _08079268 - b _08079290 -_0807923A: - bl sub_8079174 - cmp r0, 0 - bne _08079250 - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x6F - movs r1, 0x64 - b _08079258 - .pool -_08079250: - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x6F - movs r1, 0x11 -_08079258: - strb r1, [r0] - movs r0, 0x11 - bl PutWindowTilemap - b _08079290 - .pool -_08079268: - movs r0, 0x3 - movs r1, 0x1 - bl sub_807A048 - bl sub_80771BC - cmp r0, 0 - beq _08079280 - ldr r0, =0x0000bbcc - movs r1, 0 - bl sub_8078C10 -_08079280: - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x6F - movs r1, 0x64 - strb r1, [r0] - movs r0, 0x11 - bl PutWindowTilemap -_08079290: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8079218 - - thumb_func_start sub_807929C -sub_807929C: @ 807929C - push {r4-r6,lr} - movs r5, 0 - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x37 - ldrb r0, [r0] - subs r0, 0x4 - cmp r5, r0 - bge _080792D8 - movs r6, 0xC0 - lsls r6, 20 -_080792B2: - lsrs r4, r6, 24 - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0 - movs r1, 0x1 - bl CopyWindowToVram - movs r0, 0x80 - lsls r0, 17 - adds r6, r0 - adds r5, 0x1 - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x37 - ldrb r0, [r0] - subs r0, 0x4 - cmp r5, r0 - blt _080792B2 -_080792D8: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807929C - - thumb_func_start sub_80792E4 -sub_80792E4: @ 80792E4 - push {lr} - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _08079306 - cmp r1, 0 - bgt _08079300 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _0807934C - b _08079356 -_08079300: - cmp r1, 0x1 - beq _0807934C - b _08079356 -_08079306: - movs r0, 0x4 - bl sub_807A19C - ldr r0, =0x0000eeaa - movs r1, 0 - bl sub_8078C10 - ldr r2, =gSprites - ldr r3, =gUnknown_0203229C - ldr r0, [r3] - adds r0, 0x34 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r3] - adds r0, 0x6F - movs r1, 0x64 - strb r1, [r0] - bl sub_807929C - b _08079356 - .pool -_0807934C: - movs r0, 0x5 - bl PlaySE - bl sub_8078EF8 -_08079356: - pop {r0} - bx r0 - thumb_func_end sub_80792E4 - - thumb_func_start sub_807935C -sub_807935C: @ 807935C - push {r4,lr} - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _08079384 - movs r0, 0 - bl rbox_fill_rectangle - ldr r4, =gUnknown_0203229C - ldr r0, [r4] - adds r0, 0x35 - ldrb r0, [r0] - bl sub_807967C - ldr r0, [r4] - adds r0, 0x7E - ldrb r0, [r0] - bl sub_807967C -_08079384: - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x6F - movs r1, 0x7 - strb r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807935C - - thumb_func_start sub_8079398 -sub_8079398: @ 8079398 - push {r4,lr} - ldr r4, =gUnknown_0203229C - ldr r0, [r4] - adds r0, 0x74 - ldrh r1, [r0] - ldr r0, =0x00000505 - cmp r1, r0 - bne _080793B4 - bl sub_80787B8 - ldr r0, [r4] - adds r0, 0x6F - movs r1, 0xE - strb r1, [r0] -_080793B4: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8079398 - - thumb_func_start sub_80793C4 -sub_80793C4: @ 80793C4 - push {r4,lr} - ldr r4, =gUnknown_0203229C - ldr r1, [r4] - adds r1, 0xA8 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r4] - adds r0, 0xA8 - ldrb r0, [r0] - cmp r0, 0x78 - bls _080793F8 - ldr r0, =gUnknown_0832DF8C - movs r1, 0x1 - movs r2, 0xE - movs r3, 0 - bl CreateYesNoMenu - ldr r0, [r4] - adds r0, 0xA8 - movs r1, 0 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x6F - movs r1, 0x3 - strb r1, [r0] -_080793F8: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80793C4 - - thumb_func_start sub_8079408 -sub_8079408: @ 8079408 - push {r4-r6,lr} - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0807947C - movs r0, 0x5 - bl PlaySE - movs r0, 0 - bl rbox_fill_rectangle - movs r0, 0x1 - bl rbox_fill_rectangle - movs r6, 0 - movs r5, 0xE0 - lsls r5, 20 -_0807942E: - lsrs r4, r5, 24 - adds r0, r4, 0 - movs r1, 0 - bl FillWindowPixelBuffer - adds r0, r4, 0 - bl rbox_fill_rectangle - movs r0, 0x80 - lsls r0, 17 - adds r5, r0 - adds r6, 0x1 - cmp r6, 0x3 - ble _0807942E - movs r0, 0 - bl sub_8079F88 - movs r0, 0x1 - bl sub_8079F88 - ldr r2, =gUnknown_0203229C - ldr r0, [r2] - adds r0, 0x6F - movs r1, 0 - strb r1, [r0] - ldr r3, =gSprites - ldr r0, [r2] - adds r0, 0x34 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] -_0807947C: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8079408 - - thumb_func_start sub_8079490 -sub_8079490: @ 8079490 - push {lr} - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080794C4 - ldr r0, =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _080794B4 - bl sub_800ADF8 - b _080794BA - .pool -_080794B4: - movs r0, 0xC - bl sub_800ABF4 -_080794BA: - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x6F - movs r1, 0xC - strb r1, [r0] -_080794C4: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8079490 - - thumb_func_start sub_80794CC -sub_80794CC: @ 80794CC - push {lr} - ldr r0, =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _08079518 - bl sub_80771BC - cmp r0, 0 - beq _0807953A - bl sub_807A09C - cmp r0, 0 - bne _0807953A - ldr r0, =gUnknown_02032184 - ldr r0, [r0] - bl Free - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - bl Free - bl FreeAllWindowBuffers - bl sub_800E084 - ldr r0, =c2_8056854 - bl SetMainCallback2 - b _0807953A - .pool -_08079518: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _0807953A - ldr r0, =gUnknown_02032184 - ldr r0, [r0] - bl Free - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - bl Free - bl FreeAllWindowBuffers - ldr r0, =c2_8056854 - bl SetMainCallback2 -_0807953A: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80794CC - - thumb_func_start sub_8079550 -sub_8079550: @ 8079550 - push {lr} - movs r0, 0 - bl sub_801048C - lsls r0, 24 - cmp r0, 0 - bne _08079574 - bl sub_807A09C - cmp r0, 0 - bne _08079574 - bl sub_800ADF8 - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x6F - movs r1, 0xD - strb r1, [r0] -_08079574: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8079550 - - thumb_func_start sub_807957C -sub_807957C: @ 807957C - push {lr} - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0807959C - ldr r0, =0x0000bbcc - movs r1, 0 - bl sub_8078C10 - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x6F - movs r1, 0x64 - strb r1, [r0] -_0807959C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_807957C - - thumb_func_start sub_80795AC -sub_80795AC: @ 80795AC - push {lr} - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x6F - ldrb r0, [r0] - cmp r0, 0x11 - bhi _08079678 - lsls r0, 2 - ldr r1, =_080795CC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080795CC: - .4byte _08079614 - .4byte _0807961A - .4byte _08079620 - .4byte _08079626 - .4byte _0807962C - .4byte _08079678 - .4byte _08079632 - .4byte _08079638 - .4byte _0807963E - .4byte _08079644 - .4byte _0807964A - .4byte _08079650 - .4byte _08079656 - .4byte _0807965C - .4byte _08079662 - .4byte _08079668 - .4byte _0807966E - .4byte _08079674 -_08079614: - bl sub_8078DBC - b _08079678 -_0807961A: - bl sub_8078F50 - b _08079678 -_08079620: - bl sub_807905C - b _08079678 -_08079626: - bl sub_8079218 - b _08079678 -_0807962C: - bl sub_80792E4 - b _08079678 -_08079632: - bl sub_807935C - b _08079678 -_08079638: - bl sub_8079398 - b _08079678 -_0807963E: - bl sub_8079408 - b _08079678 -_08079644: - bl sub_8078130 - b _08079678 -_0807964A: - bl sub_807816C - b _08079678 -_08079650: - bl sub_8079490 - b _08079678 -_08079656: - bl sub_80794CC - b _08079678 -_0807965C: - bl sub_80781C8 - b _08079678 -_08079662: - bl sub_80793C4 - b _08079678 -_08079668: - bl sub_8079034 - b _08079678 -_0807966E: - bl sub_8079550 - b _08079678 -_08079674: - bl sub_807957C -_08079678: - pop {r0} - bx r0 - thumb_func_end sub_80795AC - - thumb_func_start sub_807967C -sub_807967C: @ 807967C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - movs r1, 0x6 - bl __udivsi3 - lsls r0, 24 - lsrs r2, r0, 24 - ldr r3, =gUnknown_0203229C - ldr r0, [r3] - adds r0, 0x74 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0 - bne _080796A8 - movs r0, 0x1 - strb r0, [r1] - ldr r0, [r3] - adds r0, 0x76 - adds r0, r2 - strb r4, [r0] -_080796A8: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807967C - - thumb_func_start sub_80796B4 -sub_80796B4: @ 80796B4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x68 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =gUnknown_0203229C - ldr r4, [r0] - adds r0, r4, 0 - adds r0, 0x76 - adds r0, r7 - ldrb r0, [r0] - movs r1, 0x1 - str r1, [sp, 0x60] - cmp r0, 0x5 - bhi _080796DC - movs r2, 0 - str r2, [sp, 0x60] -_080796DC: - movs r1, 0x6 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - movs r0, 0 - mov r8, r0 - adds r0, r4, 0 - adds r0, 0x74 - adds r3, r0, r7 - ldrb r0, [r3] - cmp r0, 0x2 - bne _080796FA - b _08079884 -_080796FA: - cmp r0, 0x2 - bgt _08079708 - cmp r0, 0x1 - beq _08079716 - b _08079A24 - .pool -_08079708: - cmp r0, 0x3 - bne _0807970E - b _080798BC -_0807970E: - cmp r0, 0x4 - bne _08079714 - b _080799EC -_08079714: - b _08079A24 -_08079716: - movs r5, 0 - adds r0, r4, 0 - adds r0, 0x36 - adds r0, r7 - ldr r1, [sp, 0x60] - lsls r1, 1 - mov r9, r1 - lsls r6, r7, 1 - lsls r2, r7, 4 - str r2, [sp, 0x64] - ldrb r0, [r0] - cmp r8, r0 - bcs _0807976A - ldr r0, =gSprites - mov r8, r0 - ldr r4, =gUnknown_0203229C - ldr r0, [sp, 0x60] - add r0, r9 - lsls r2, r0, 1 - movs r3, 0x4 -_0807973E: - ldr r0, [r4] - adds r1, r5, r2 - adds r0, 0x28 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r3 - strb r1, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, [r4] - adds r0, 0x36 - adds r0, r7 - ldrb r0, [r0] - cmp r5, r0 - bcc _0807973E -_0807976A: - movs r5, 0 - adds r0, r6, r7 - lsls r0, 1 - adds r4, r0, 0x2 -_08079772: - lsls r0, r5, 24 - asrs r0, 24 - adds r0, r4 - lsls r0, 24 - lsrs r0, 24 - bl ClearWindowTilemap - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _08079772 - ldr r1, =gSprites - mov r8, r1 - ldr r2, =gUnknown_0203229C - ldr r0, [r2] - ldr r6, [sp, 0x60] - add r6, r9 - lsls r3, r6, 1 - add r10, r3 - adds r0, 0x28 - add r0, r10 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - ldr r0, =gUnknown_0203229C - ldr r4, [r0] - adds r4, 0x28 - add r4, r10 - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - movs r1, 0x14 - strh r1, [r0, 0x2E] - ldrb r0, [r4] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - add r2, r8 - ldr r5, =gUnknown_0832DE24 - lsls r6, 2 - adds r0, r6, r5 - ldrb r0, [r0] - adds r3, 0x1 - lsls r3, 1 - adds r3, r5 - ldrb r1, [r3] - adds r0, r1 - asrs r0, 1 - lsls r0, 3 - adds r0, 0xE - strh r0, [r2, 0x32] - ldrb r0, [r4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r8 - adds r5, 0x1 - adds r6, r5 - ldrb r0, [r6] - lsls r0, 3 - subs r0, 0xC - strh r0, [r1, 0x36] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - ldr r1, =sub_80D3014 - bl StoreSpriteCallbackInData6 - ldr r2, =gUnknown_0203229C - ldr r1, [r2] - adds r1, 0x74 - adds r1, r7 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r2] - adds r0, 0x28 - add r0, r10 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - bl sub_80A6DEC - ldr r1, =gTradePartyBoxTilemap - ldr r0, [sp, 0x64] - subs r2, r0, r7 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0xF - str r0, [sp] - movs r0, 0x11 - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - movs r0, 0x1 - movs r3, 0 - bl CopyToBgTilemapBufferRect_ChangePalette - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r1, [sp, 0x60] - cmp r1, 0 - beq _08079868 - b _08079A24 -_08079868: - bl sub_8079F74 - b _08079A24 - .pool -_08079884: - ldr r2, =gSprites - ldr r1, [sp, 0x60] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - add r0, r10 - adds r1, r4, 0 - adds r1, 0x28 - adds r1, r0 - ldrb r1, [r1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, [r0] - ldr r0, =sub_80D3014 - cmp r1, r0 - beq _080798AC - b _08079A24 -_080798AC: - movs r0, 0x3 - strb r0, [r3] - b _08079A24 - .pool -_080798BC: - ldr r1, =gTradeMovesBoxTilemap - ldr r0, [sp, 0x60] - lsls r2, r0, 4 - subs r2, r0 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0xF - str r0, [sp] - movs r0, 0x11 - str r0, [sp, 0x4] - mov r0, r8 - str r0, [sp, 0x8] - movs r0, 0x1 - movs r3, 0 - bl CopyToBgTilemapBufferRect_ChangePalette - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - ldr r6, =gSprites - ldr r1, =gUnknown_0203229C - ldr r4, [r1] - ldr r2, [sp, 0x60] - lsls r3, r2, 1 - adds r3, r2 - lsls r1, r3, 1 - mov r2, r10 - adds r0, r2, r1 - adds r4, 0x28 - adds r4, r0 - ldrb r0, [r4] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r6 - ldr r5, =gUnknown_0832DE24 - lsls r3, 2 - adds r0, r3, r5 - ldrb r0, [r0] - adds r1, 0x1 - lsls r1, 1 - adds r1, r5 - ldrb r1, [r1] - adds r0, r1 - asrs r0, 1 - lsls r0, 3 - adds r0, 0xE - strh r0, [r2, 0x20] - ldrb r0, [r4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - adds r5, 0x1 - adds r3, r5 - ldrb r0, [r3] - lsls r0, 3 - subs r0, 0xC - strh r0, [r1, 0x22] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - mov r1, r8 - strh r1, [r0, 0x24] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - mov r2, r8 - strh r2, [r0, 0x26] - add r0, sp, 0x14 - ldr r1, [sp, 0x60] - mov r2, r10 - bl sub_8079A3C - lsls r4, r7, 1 - adds r5, r4, 0 - adds r5, 0xE - lsls r5, 24 - lsrs r5, 24 - lsls r0, 24 - asrs r0, 24 - movs r2, 0x50 - subs r2, r0 - lsrs r0, r2, 31 - adds r2, r0 - asrs r2, 1 - lsls r2, 24 - lsrs r2, 24 - ldr r0, =gUnknown_0832DEE0 - mov r8, r0 - str r0, [sp] - movs r1, 0 - str r1, [sp, 0x4] - add r0, sp, 0x14 - str r0, [sp, 0x8] - adds r0, r5, 0 - movs r3, 0x4 - bl AddTextPrinterParameterized3 - add r6, sp, 0x28 - adds r0, r6, 0 - ldr r1, [sp, 0x60] - mov r2, r10 - bl sub_8079AA4 - adds r4, 0xF - lsls r4, 24 - lsrs r4, 24 - movs r1, 0 - str r1, [sp] - str r1, [sp, 0x4] - mov r2, r8 - str r2, [sp, 0x8] - str r1, [sp, 0xC] - str r6, [sp, 0x10] - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0 - movs r3, 0 - bl AddTextPrinterParameterized4 - adds r0, r5, 0 - bl PutWindowTilemap - adds r0, r5, 0 - movs r1, 0x3 - bl CopyWindowToVram - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - b _08079A1A - .pool -_080799EC: - ldr r0, =gUnknown_0832DF99 - lsls r1, r7, 1 - adds r4, r1, r0 - ldrb r2, [r4] - adds r2, 0x4 - lsls r2, 24 - lsrs r2, 24 - adds r0, 0x1 - adds r1, r0 - ldrb r3, [r1] - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - ldrb r0, [r4] - str r0, [sp] - ldrb r0, [r1] - str r0, [sp, 0x4] - adds r0, r7, 0 - mov r1, r10 - bl sub_8079C4C - ldr r2, =gUnknown_0203229C - ldr r1, [r2] -_08079A1A: - adds r1, 0x74 - adds r1, r7 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_08079A24: - add sp, 0x68 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80796B4 - - thumb_func_start sub_8079A3C -sub_8079A3C: @ 8079A3C - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - lsls r1, 24 - lsls r2, 24 - lsrs r2, 24 - cmp r1, 0 - bne _08079A64 - movs r0, 0x64 - muls r0, r2 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x2 - mov r2, sp - bl GetMonData - b _08079A74 - .pool -_08079A64: - movs r0, 0x64 - muls r0, r2 - ldr r1, =gEnemyParty - adds r0, r1 - movs r1, 0x2 - mov r2, sp - bl GetMonData -_08079A74: - adds r0, r4, 0 - mov r1, sp - bl StringCopy10 - movs r0, 0 - movs r1, 0x2 - bl GetFontAttribute - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0 - adds r1, r4, 0 - bl GetStringWidth - lsls r0, 24 - lsrs r0, 24 - add sp, 0xC - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8079A3C - - thumb_func_start sub_8079AA4 -sub_8079AA4: @ 8079AA4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x8 - adds r6, r0, 0 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r2, 24 - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - lsls r0, r7, 1 - adds r0, r7 - lsls r0, 1 - adds r0, r2, r0 - adds r1, 0x51 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0 - bne _08079B5C - movs r4, 0 - movs r0, 0x64 - adds r5, r2, 0 - muls r5, r0 - ldr r0, =gPlayerParty - mov r9, r0 - ldr r2, =gEnemyParty - mov r8, r2 -_08079ADE: - cmp r7, 0 - bne _08079AF8 - adds r1, r4, 0 - adds r1, 0xD - mov r2, r9 - b _08079AFE - .pool -_08079AF8: - adds r1, r4, 0 - adds r1, 0xD - mov r2, r8 -_08079AFE: - adds r0, r5, r2 - movs r2, 0 - bl GetMonData - lsls r1, r4, 1 - add r1, sp - strh r0, [r1] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x3 - bls _08079ADE - ldr r1, =gText_EmptyString7 - adds r0, r6, 0 - bl StringCopy - movs r4, 0 -_08079B20: - lsls r0, r4, 1 - mov r2, sp - adds r1, r2, r0 - ldrh r0, [r1] - cmp r0, 0 - beq _08079B3C - adds r1, r0, 0 - movs r0, 0xD - muls r1, r0 - ldr r0, =gMoveNames - adds r1, r0 - adds r0, r6, 0 - bl StringAppend -_08079B3C: - adds r0, r6, 0 - ldr r1, =gText_NewLine3 - bl StringAppend - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x3 - bls _08079B20 - b _08079B6C - .pool -_08079B5C: - ldr r1, =gText_EmptyString7 - adds r0, r6, 0 - bl StringCopy - ldr r1, =gText_FourQuestionMarks - adds r0, r6, 0 - bl StringAppend -_08079B6C: - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8079AA4 - - thumb_func_start sub_8079B84 -sub_8079B84: @ 8079B84 - push {r4,r5,lr} - sub sp, 0xC - adds r4, r1, 0 - adds r5, r2, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 1 - adds r1, 0x2 - lsls r4, 24 - asrs r4, 24 - adds r4, r1 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - adds r1, r5, 0 - movs r2, 0x40 - bl GetStringCenterAlignXOffset - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - ldr r0, =gUnknown_0832DEE0 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r5, [sp, 0x8] - adds r0, r4, 0 - movs r1, 0 - movs r3, 0x4 - bl AddTextPrinterParameterized3 - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8079B84 - - thumb_func_start sub_8079BE0 -sub_8079BE0: @ 8079BE0 - push {r4-r7,lr} - sub sp, 0x34 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r7, =gEnemyParty - cmp r6, 0 - bne _08079BF0 - ldr r7, =gPlayerParty -_08079BF0: - movs r4, 0 - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x36 - adds r0, r6 - ldrb r0, [r0] - cmp r4, r0 - bcs _08079C36 - add r5, sp, 0x14 -_08079C02: - movs r0, 0x64 - muls r0, r4 - adds r0, r7, r0 - movs r1, 0x2 - mov r2, sp - bl GetMonData - adds r0, r5, 0 - mov r1, sp - bl StringCopy10 - adds r0, r6, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_8079B84 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x36 - adds r0, r6 - ldrb r0, [r0] - cmp r4, r0 - bcc _08079C02 -_08079C36: - add sp, 0x34 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8079BE0 - - thumb_func_start sub_8079C4C -sub_8079C4C: @ 8079C4C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - ldr r4, [sp, 0x3C] - ldr r5, [sp, 0x40] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r9, r2 - lsls r3, 24 - lsrs r3, 24 - mov r10, r3 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - ldr r1, =gUnknown_08DDD704 - movs r0, 0x6 - str r0, [sp] - movs r0, 0x3 - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - movs r0, 0x1 - adds r2, r4, 0 - adds r3, r5, 0 - bl CopyToBgTilemapBufferRect_ChangePalette - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - mov r0, r8 - cmp r0, 0 - bne _08079CB0 - movs r0, 0x64 - muls r0, r7 - ldr r1, =gPlayerParty - b _08079CB6 - .pool -_08079CB0: - movs r0, 0x64 - muls r0, r7 - ldr r1, =gEnemyParty -_08079CB6: - adds r0, r1 - movs r1, 0x38 - movs r2, 0 - bl GetMonData - lsls r0, 24 - lsrs r6, r0, 24 - ldr r4, =gUnknown_0203229C - ldr r5, [r4] - mov r1, r8 - lsls r2, r1, 1 - adds r1, r2, r1 - lsls r1, 1 - adds r1, r7, r1 - adds r0, r5, 0 - adds r0, 0x51 - adds r0, r1 - ldrb r0, [r0] - str r2, [sp, 0x18] - cmp r0, 0 - bne _08079D34 - adds r0, r6, 0 - movs r1, 0xA - bl __udivsi3 - lsls r0, 24 - lsrs r2, r0, 24 - mov r0, r10 - lsls r3, r0, 5 - cmp r2, 0 - beq _08079D08 - mov r1, r9 - adds r0, r1, r3 - lsls r0, 1 - movs r1, 0x8F - lsls r1, 4 - adds r5, r1 - adds r1, r5, r0 - adds r0, r2, 0 - adds r0, 0x60 - strh r0, [r1] -_08079D08: - ldr r4, [r4] - mov r1, r9 - adds r0, r1, r3 - adds r0, 0x1 - lsls r0, 1 - movs r3, 0x8F - lsls r3, 4 - adds r4, r3 - adds r4, r0 - adds r0, r6, 0 - movs r1, 0xA - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x70 - strh r0, [r4] - b _08079D72 - .pool -_08079D34: - mov r1, r10 - lsls r0, r1, 5 - mov r1, r9 - adds r3, r1, r0 - adds r1, r3, 0 - subs r1, 0x20 - lsls r1, 1 - movs r0, 0x8F - lsls r0, 4 - adds r2, r5, r0 - adds r1, r2, r1 - adds r0, r3, 0 - subs r0, 0x21 - lsls r0, 1 - adds r0, r2, r0 - ldrh r0, [r0] - strh r0, [r1] - adds r1, r3, 0 - subs r1, 0x1F - lsls r1, 1 - adds r1, r2, r1 - adds r0, r3, 0 - subs r0, 0x24 - lsls r0, 1 - adds r2, r0 - ldrh r2, [r2] - movs r3, 0x80 - lsls r3, 3 - adds r0, r3, 0 - orrs r0, r2 - strh r0, [r1] -_08079D72: - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - ldr r0, [sp, 0x18] - add r0, r8 - lsls r0, 1 - adds r0, r7, r0 - adds r1, 0x51 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0 - beq _08079D94 - movs r2, 0x90 - lsls r2, 3 - b _08079E16 - .pool -_08079D94: - mov r0, r8 - cmp r0, 0 - bne _08079DC0 - movs r0, 0x64 - adds r4, r7, 0 - muls r4, r0 - ldr r0, =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - bl GetMonGender - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r4, 0 - movs r1, 0x2 - add r2, sp, 0xC - bl GetMonData - b _08079DDE - .pool -_08079DC0: - movs r0, 0x64 - adds r4, r7, 0 - muls r4, r0 - ldr r0, =gEnemyParty - adds r4, r0 - adds r0, r4, 0 - bl GetMonGender - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r4, 0 - movs r1, 0x2 - add r2, sp, 0xC - bl GetMonData -_08079DDE: - cmp r5, 0 - beq _08079DF0 - cmp r5, 0xFE - beq _08079E04 - movs r2, 0x83 - b _08079E16 - .pool -_08079DF0: - add r0, sp, 0xC - movs r1, 0 - bl NameHasGenderSymbol - lsls r0, 24 - movs r2, 0x83 - cmp r0, 0 - bne _08079E16 - movs r2, 0x84 - b _08079E16 -_08079E04: - add r0, sp, 0xC - movs r1, 0xFE - bl NameHasGenderSymbol - lsls r0, 24 - movs r2, 0x83 - cmp r0, 0 - bne _08079E16 - movs r2, 0x85 -_08079E16: - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - mov r0, r10 - subs r0, 0x1 - lsls r0, 5 - add r0, r9 - adds r0, 0x1 - lsls r0, 1 - movs r3, 0x8F - lsls r3, 4 - adds r1, r3 - adds r1, r0 - strh r2, [r1] - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8079C4C - - thumb_func_start sub_8079E44 -sub_8079E44: @ 8079E44 - push {r4-r7,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r6, r0, 24 - movs r7, 0 - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x36 - adds r0, r6 - ldrb r0, [r0] - cmp r7, r0 - bge _08079E94 - lsls r0, r6, 1 - adds r0, r6 - ldr r1, =gUnknown_0832DE3E - lsls r0, 2 - adds r5, r0, r1 - ldr r1, =gUnknown_0832DE56 - adds r4, r0, r1 -_08079E6A: - lsls r1, r7, 24 - lsrs r1, 24 - ldrb r2, [r5] - ldrb r3, [r5, 0x1] - ldrb r0, [r4] - str r0, [sp] - ldrb r0, [r4, 0x1] - str r0, [sp, 0x4] - adds r0, r6, 0 - bl sub_8079C4C - adds r5, 0x2 - adds r4, 0x2 - adds r7, 0x1 - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x36 - adds r0, r6 - ldrb r0, [r0] - cmp r7, r0 - blt _08079E6A -_08079E94: - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8079E44 - - thumb_func_start sub_8079EA8 -sub_8079EA8: @ 8079EA8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r12, r0 - movs r7, 0 - ldr r3, =gUnknown_0203229C - ldr r0, [r3] - adds r0, 0x36 - add r0, r12 - ldrb r0, [r0] - cmp r7, r0 - bge _08079F5A - ldr r6, =gSprites - mov r9, r3 - mov r1, r12 - lsls r0, r1, 1 - add r0, r12 - lsls r2, r0, 1 - mov r10, r2 - ldr r1, =gUnknown_0832DE24 - movs r2, 0 - mov r8, r2 - lsls r0, 2 - adds r5, r0, r1 -_08079EE0: - mov r1, r9 - ldr r0, [r1] - mov r2, r10 - adds r4, r7, r2 - adds r0, 0x28 - adds r0, r4 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - mov r0, r9 - ldr r3, [r0] - adds r2, r3, 0 - adds r2, 0x28 - adds r2, r4 - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r0, [r5] - lsls r0, 3 - adds r0, 0xE - strh r0, [r1, 0x20] - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r0, [r5, 0x1] - lsls r0, 3 - subs r0, 0xC - strh r0, [r1, 0x22] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - mov r1, r8 - strh r1, [r0, 0x24] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - mov r2, r8 - strh r2, [r0, 0x26] - adds r5, 0x2 - adds r7, 0x1 - adds r3, 0x36 - add r3, r12 - ldrb r3, [r3] - cmp r7, r3 - blt _08079EE0 -_08079F5A: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8079EA8 - - thumb_func_start sub_8079F74 -sub_8079F74: @ 8079F74 - push {lr} - movs r0, 0x1 - bl rbox_fill_rectangle - movs r0, 0x1 - bl sub_8079BE0 - pop {r0} - bx r0 - thumb_func_end sub_8079F74 - - thumb_func_start sub_8079F88 -sub_8079F88: @ 8079F88 - push {r4-r6,lr} - sub sp, 0xC - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, =gTradePartyBoxTilemap - lsls r2, r4, 4 - subs r2, r4 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0xF - str r0, [sp] - movs r0, 0x11 - str r0, [sp, 0x4] - movs r6, 0 - str r6, [sp, 0x8] - movs r0, 0x1 - movs r3, 0 - bl CopyToBgTilemapBufferRect_ChangePalette - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - adds r0, r4, 0 - bl sub_8079E44 - adds r0, r4, 0 - bl sub_8079BE0 - adds r0, r4, 0 - bl sub_8079EA8 - ldr r0, =gUnknown_0832DE94 - ldr r0, [r0, 0x4] - ldr r5, =gUnknown_0203229C - ldr r1, [r5] - adds r1, 0x72 - ldrh r1, [r1] - lsls r1, 5 - ldr r2, =0x06010000 - adds r1, r2 - movs r2, 0x18 - bl sub_807A308 - ldr r0, [r5] - adds r0, 0x74 - adds r0, r4 - strb r6, [r0] - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8079F88 - - thumb_func_start sub_807A000 -sub_807A000: @ 807A000 - push {lr} - sub sp, 0x8 - 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 - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_807A000 - - thumb_func_start sub_807A024 -sub_807A024: @ 807A024 - push {lr} - sub sp, 0x8 - 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 - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_807A024 - - thumb_func_start sub_807A048 -sub_807A048: @ 807A048 - push {r4-r7,lr} - lsls r0, 16 - lsrs r5, r0, 16 - lsls r1, 24 - lsrs r6, r1, 24 - movs r3, 0 - ldr r4, =gUnknown_0203229C - mov r12, r4 - movs r7, 0x8D - lsls r7, 4 -_0807A05C: - mov r1, r12 - ldr r0, [r1] - lsls r1, r3, 3 - adds r2, r0, r1 - adds r0, r2, r7 - ldrb r0, [r0] - cmp r0, 0 - bne _0807A090 - ldr r3, =0x000008d2 - adds r0, r2, r3 - strh r5, [r0] - adds r3, 0x2 - adds r0, r2, r3 - strb r6, [r0] - ldr r0, [r4] - adds r0, r1 - movs r1, 0x8D - lsls r1, 4 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - b _0807A096 - .pool -_0807A090: - adds r3, 0x1 - cmp r3, 0x3 - ble _0807A05C -_0807A096: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_807A048 - - thumb_func_start sub_807A09C -sub_807A09C: @ 807A09C - push {lr} - movs r3, 0 - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - movs r2, 0x8D - lsls r2, 4 - adds r1, r0, r2 - movs r2, 0x3 -_0807A0AC: - ldrb r0, [r1] - adds r3, r0 - adds r1, 0x8 - subs r2, 0x1 - cmp r2, 0 - bge _0807A0AC - adds r0, r3, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_807A09C - - thumb_func_start sub_807A0C4 -sub_807A0C4: @ 807A0C4 - push {r4,r5,lr} - movs r4, 0 - ldr r3, =gUnknown_0203229C -_0807A0CA: - ldr r0, [r3] - lsls r1, r4, 3 - adds r2, r0, r1 - movs r5, 0x8D - lsls r5, 4 - adds r0, r2, r5 - ldrb r0, [r0] - adds r5, r1, 0 - cmp r0, 0 - beq _0807A18C - ldr r0, =0x000008d2 - adds r1, r2, r0 - ldrh r0, [r1] - cmp r0, 0 - beq _0807A0F8 - subs r0, 0x1 - strh r0, [r1] - b _0807A18C - .pool -_0807A0F8: - ldr r1, =0x000008d4 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x8 - bhi _0807A17A - lsls r0, 2 - ldr r1, =_0807A114 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0807A114: - .4byte _0807A138 - .4byte _0807A14C - .4byte _0807A154 - .4byte _0807A15C - .4byte _0807A15C - .4byte _0807A15C - .4byte _0807A164 - .4byte _0807A16C - .4byte _0807A174 -_0807A138: - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x80 - movs r1, 0x14 - bl sub_8077170 - b _0807A17A - .pool -_0807A14C: - movs r0, 0 - bl sub_807A19C - b _0807A17A -_0807A154: - movs r0, 0x2 - bl sub_807A19C - b _0807A17A -_0807A15C: - movs r0, 0x3 - bl sub_807A19C - b _0807A17A -_0807A164: - movs r0, 0x6 - bl sub_807A19C - b _0807A17A -_0807A16C: - movs r0, 0x7 - bl sub_807A19C - b _0807A17A -_0807A174: - movs r0, 0x8 - bl sub_807A19C -_0807A17A: - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - adds r1, r5 - movs r2, 0x8D - lsls r2, 4 - adds r1, r2 - movs r2, 0 - strb r2, [r1] - adds r3, r0, 0 -_0807A18C: - adds r4, 0x1 - cmp r4, 0x3 - ble _0807A0CA - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807A0C4 - - thumb_func_start sub_807A19C -sub_807A19C: @ 807A19C - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r0, =gUnknown_0832DEBC - lsls r4, 2 - adds r4, r0 - ldr r2, [r4] - movs r0, 0x1 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - movs r0, 0 - movs r1, 0x14 - movs r2, 0xC - bl sub_8098858 - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807A19C - - thumb_func_start sub_807A1F0 -sub_807A1F0: @ 807A1F0 - push {r4,lr} - sub sp, 0x8 - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - adds r3, r1, 0 - adds r3, 0xA8 - ldrb r1, [r3] - adds r4, r0, 0 - cmp r1, 0xD - bhi _0807A22C - ldr r1, =gUnknown_02032188 - ldrb r0, [r3] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - str r0, [sp] - ldr r0, =0xffff0000 - ldr r2, [sp, 0x4] - ands r2, r0 - movs r0, 0x80 - lsls r0, 1 - orrs r2, r0 - str r2, [sp, 0x4] - ldrb r1, [r3] - adds r1, 0xC8 - lsls r1, 16 - ldr r0, =0x0000ffff - ands r0, r2 - orrs r0, r1 - str r0, [sp, 0x4] -_0807A22C: - ldr r0, [r4] - adds r0, 0xA8 - ldrb r0, [r0] - cmp r0, 0x11 - bhi _0807A2FC - lsls r0, 2 - ldr r1, =_0807A254 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0807A254: - .4byte _0807A29C - .4byte _0807A29C - .4byte _0807A29C - .4byte _0807A29C - .4byte _0807A29C - .4byte _0807A29C - .4byte _0807A29C - .4byte _0807A29C - .4byte _0807A2A0 - .4byte _0807A2B8 - .4byte _0807A2B8 - .4byte _0807A2B8 - .4byte _0807A2B8 - .4byte _0807A2B8 - .4byte _0807A2BC - .4byte _0807A2C8 - .4byte _0807A2D4 - .4byte _0807A2F0 -_0807A29C: - mov r0, sp - b _0807A2D6 -_0807A2A0: - mov r0, sp - bl LoadSpriteSheet - ldr r1, =gUnknown_0203229C - ldr r1, [r1] - adds r2, r1, 0 - adds r2, 0x72 - strh r0, [r2] - b _0807A2DE - .pool -_0807A2B8: - mov r0, sp - b _0807A2D6 -_0807A2BC: - ldr r0, =gSpritePalette_TradeScreenText - bl LoadSpritePalette - b _0807A2DA - .pool -_0807A2C8: - ldr r0, =gUnknown_0832DC44 - bl LoadSpritePalette - b _0807A2DA - .pool -_0807A2D4: - ldr r0, =gUnknown_0832DC3C -_0807A2D6: - bl LoadSpriteSheet -_0807A2DA: - ldr r0, =gUnknown_0203229C - ldr r1, [r0] -_0807A2DE: - adds r1, 0xA8 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0807A2FC - .pool -_0807A2F0: - ldr r0, [r4] - adds r0, 0xA8 - movs r1, 0 - strb r1, [r0] - movs r0, 0x1 - b _0807A2FE -_0807A2FC: - movs r0, 0 -_0807A2FE: - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_807A1F0 - - thumb_func_start sub_807A308 -sub_807A308: @ 807A308 - push {lr} - sub sp, 0x4 - movs r2, 0x6 - str r2, [sp] - movs r2, 0 - movs r3, 0 - bl sub_80C6D80 - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_807A308 - - thumb_func_start sub_807A320 -sub_807A320: @ 807A320 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - cmp r0, 0 - beq _0807A338 - cmp r0, 0x1 - beq _0807A3CC - b _0807A458 -_0807A338: - movs r7, 0 - ldr r1, =gUnknown_0203229C - ldr r0, [r1] - adds r0, 0x36 - ldrb r0, [r0] - cmp r7, r0 - blt _0807A348 - b _0807A458 -_0807A348: - adds r6, r1, 0 - movs r5, 0 - mov r9, r5 -_0807A34E: - movs r0, 0x64 - adds r1, r7, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - adds r1, r0, 0 - cmp r1, 0x1 - bne _0807A380 - ldr r0, [r6] - adds r0, 0x45 - adds r0, r5 - mov r2, r9 - strb r2, [r0] - ldr r0, [r6] - adds r0, 0x51 - adds r0, r5 - b _0807A3B0 - .pool -_0807A380: - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - adds r1, r0, 0 - cmp r1, 0 - bne _0807A39E - ldr r0, [r6] - adds r0, 0x45 - adds r0, r5 - strb r1, [r0] - ldr r0, [r6] - adds r0, 0x51 - adds r0, r5 - b _0807A3B0 -_0807A39E: - ldr r0, [r6] - adds r0, 0x45 - adds r0, r5 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r6] - adds r0, 0x51 - adds r0, r5 - mov r1, r9 -_0807A3B0: - strb r1, [r0] - ldr r0, =gUnknown_0203229C - adds r5, 0x1 - adds r7, 0x1 - ldr r0, [r0] - adds r0, 0x36 - add r0, r8 - ldrb r0, [r0] - cmp r7, r0 - blt _0807A34E - b _0807A458 - .pool -_0807A3CC: - movs r7, 0 - ldr r1, =gUnknown_0203229C - ldr r0, [r1] - adds r0, 0x37 - ldrb r0, [r0] - cmp r7, r0 - bge _0807A458 - adds r6, r1, 0 - movs r5, 0x6 - movs r2, 0 - mov r9, r2 -_0807A3E2: - movs r0, 0x64 - adds r1, r7, 0 - muls r1, r0 - ldr r0, =gEnemyParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - adds r1, r0, 0 - cmp r1, 0x1 - bne _0807A414 - ldr r0, [r6] - adds r0, 0x45 - adds r0, r5 - mov r2, r9 - strb r2, [r0] - ldr r0, [r6] - adds r0, 0x51 - adds r0, r5 - b _0807A444 - .pool -_0807A414: - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - adds r1, r0, 0 - cmp r1, 0 - bne _0807A432 - ldr r0, [r6] - adds r0, 0x45 - adds r0, r5 - strb r1, [r0] - ldr r0, [r6] - adds r0, 0x51 - adds r0, r5 - b _0807A444 -_0807A432: - ldr r0, [r6] - adds r0, 0x45 - adds r0, r5 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r6] - adds r0, 0x51 - adds r0, r5 - mov r1, r9 -_0807A444: - strb r1, [r0] - ldr r0, =gUnknown_0203229C - adds r5, 0x1 - adds r7, 0x1 - ldr r0, [r0] - adds r0, 0x36 - add r0, r8 - ldrb r0, [r0] - cmp r7, r0 - blt _0807A3E2 -_0807A458: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807A320 - - thumb_func_start sub_807A468 -sub_807A468: @ 807A468 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _0807A478 - cmp r0, 0x1 - beq _0807A4D8 - b _0807A52C -_0807A478: - movs r6, 0 - ldr r1, =gUnknown_0203229C - ldr r0, [r1] - adds r0, 0x36 - ldrb r0, [r0] - cmp r6, r0 - bcs _0807A52C - adds r7, r1, 0 -_0807A488: - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - ldr r0, =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - movs r1, 0x3A - bl GetMonData - adds r1, r0, 0 - lsls r0, r5, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - bl GetHPBarLevel - ldr r1, [r7] - adds r1, 0x5D - adds r1, r6 - strb r0, [r1] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, [r7] - adds r0, 0x36 - ldrb r0, [r0] - cmp r6, r0 - bcc _0807A488 - b _0807A52C - .pool -_0807A4D8: - movs r6, 0 - ldr r1, =gUnknown_0203229C - ldr r0, [r1] - adds r0, 0x37 - ldrb r0, [r0] - cmp r6, r0 - bcs _0807A52C - adds r7, r1, 0 -_0807A4E8: - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - ldr r0, =gEnemyParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - movs r1, 0x3A - bl GetMonData - adds r1, r0, 0 - lsls r0, r5, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - bl GetHPBarLevel - ldr r1, [r7] - adds r1, 0x63 - adds r1, r6 - strb r0, [r1] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, [r7] - adds r0, 0x37 - ldrb r0, [r0] - cmp r6, r0 - bcc _0807A4E8 -_0807A52C: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807A468 - - thumb_func_start sub_807A53C -sub_807A53C: @ 807A53C - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r5, 0 -_0807A544: - movs r4, 0 - ldr r2, =gUnknown_0203229C - ldr r0, [r2] - adds r0, 0x36 - adds r0, r5 - adds r1, r5, 0x1 - mov r8, r1 - ldrb r0, [r0] - cmp r4, r0 - bge _0807A596 - adds r6, r2, 0 - lsls r0, r5, 1 - adds r0, r5 - lsls r7, r0, 1 -_0807A560: - ldr r2, [r6] - adds r3, r4, r7 - adds r0, r2, 0 - adds r0, 0x28 - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - adds r2, 0x5D - adds r2, r3 - ldrb r2, [r2] - movs r1, 0x4 - subs r1, r2 - lsls r1, 24 - lsrs r1, 24 - bl sub_80D32C8 - adds r4, 0x1 - ldr r0, [r6] - adds r0, 0x36 - adds r0, r5 - ldrb r0, [r0] - cmp r4, r0 - blt _0807A560 -_0807A596: - mov r5, r8 - cmp r5, 0x1 - ble _0807A544 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807A53C - - thumb_func_start sub_807A5B0 -sub_807A5B0: @ 807A5B0 - push {r4,r5,lr} - movs r3, 0 - ldr r5, =gSaveBlock1Ptr - ldr r4, =0x000031a8 -_0807A5B8: - ldr r0, [r5] - adds r0, r4 - adds r2, r0, r3 - ldrb r0, [r2] - cmp r0, 0 - bne _0807A5DA - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0xA9 - adds r0, r3 - ldrb r0, [r0] - adds r1, r0, 0 - cmp r1, 0 - beq _0807A5DA - cmp r1, 0x3F - bhi _0807A5DA - strb r0, [r2] -_0807A5DA: - adds r3, 0x1 - cmp r3, 0xA - ble _0807A5B8 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807A5B0 - - thumb_func_start sub_807A5F4 -sub_807A5F4: @ 807A5F4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x30 - mov r8, r0 - adds r7, r1, 0 - mov r9, r2 - movs r5, 0 - cmp r5, r7 - bge _0807A62E - mov r6, sp -_0807A60C: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - add r4, r8 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - str r0, [r6, 0x18] - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - stm r6!, {r0} - adds r5, 0x1 - cmp r5, r7 - blt _0807A60C -_0807A62E: - bl IsNationalPokedexEnabled - mov r1, r9 - lsls r4, r1, 2 - cmp r0, 0 - bne _0807A65C - add r0, sp, 0x18 - adds r0, r4 - ldr r1, [r0] - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - bne _0807A64C - movs r0, 0x3 - b _0807A718 -_0807A64C: - lsls r0, r1, 16 - lsrs r0, 16 - bl IsSpeciesInHoennDex - cmp r0, 0 - bne _0807A65C - movs r0, 0x2 - b _0807A718 -_0807A65C: - bl GetMultiplayerId - movs r1, 0x1 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - ldr r0, =gLinkPlayers - adds r1, r0 - ldrb r0, [r1] - subs r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bls _0807A6AC - ldrb r1, [r1, 0x12] - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - bne _0807A6AC - add r0, sp, 0x18 - adds r0, r4 - ldr r1, [r0] - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - bne _0807A6A0 - movs r0, 0x5 - b _0807A718 - .pool -_0807A6A0: - lsls r0, r1, 16 - lsrs r0, 16 - bl IsSpeciesInHoennDex - cmp r0, 0 - beq _0807A6D2 -_0807A6AC: - mov r1, sp - adds r0, r1, r4 - ldr r1, [r0] - movs r0, 0xCD - lsls r0, 1 - cmp r1, r0 - beq _0807A6BE - cmp r1, 0x97 - bne _0807A6D6 -_0807A6BE: - movs r0, 0x64 - mov r1, r9 - muls r1, r0 - adds r0, r1, 0 - add r0, r8 - movs r1, 0x50 - bl GetMonData - cmp r0, 0 - bne _0807A6D6 -_0807A6D2: - movs r0, 0x4 - b _0807A718 -_0807A6D6: - cmp r7, 0 - ble _0807A6F4 - movs r3, 0xCE - lsls r3, 1 - movs r2, 0 - add r1, sp, 0x18 - adds r5, r7, 0 -_0807A6E4: - ldr r0, [r1] - cmp r0, r3 - bne _0807A6EC - str r2, [r1] -_0807A6EC: - adds r1, 0x4 - subs r5, 0x1 - cmp r5, 0 - bne _0807A6E4 -_0807A6F4: - movs r2, 0 - movs r5, 0 - cmp r2, r7 - bge _0807A70E - add r1, sp, 0x18 -_0807A6FE: - cmp r5, r9 - beq _0807A706 - ldr r0, [r1] - adds r2, r0 -_0807A706: - adds r1, 0x4 - adds r5, 0x1 - cmp r5, r7 - blt _0807A6FE -_0807A70E: - cmp r2, 0 - bne _0807A716 - movs r0, 0x1 - b _0807A718 -_0807A716: - movs r0, 0 -_0807A718: - add sp, 0x30 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_807A5F4 - - thumb_func_start sub_807A728 -sub_807A728: @ 807A728 - push {r4-r7,lr} - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _0807A7B4 - movs r4, 0 - bl GetMultiplayerId - ldr r5, =gLinkPlayers - movs r7, 0x1 - eors r0, r7 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r5 - ldrb r1, [r1] - subs r0, r1, 0x1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bls _0807A7B4 - subs r0, r1, 0x4 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bhi _0807A762 - movs r4, 0x2 -_0807A762: - cmp r4, 0 - ble _0807A7B4 - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r5 - ldrb r1, [r1, 0x12] - movs r6, 0xF0 - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _0807A7B0 - cmp r4, 0x2 - bne _0807A7B4 - bl GetMultiplayerId - eors r0, r7 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r5 - ldrb r1, [r1, 0x12] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - bne _0807A7B4 - movs r0, 0x2 - b _0807A7B6 - .pool -_0807A7B0: - movs r0, 0x1 - b _0807A7B6 -_0807A7B4: - movs r0, 0 -_0807A7B6: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_807A728 - - thumb_func_start sub_807A7BC -sub_807A7BC: @ 807A7BC - push {lr} - lsls r0, 16 - lsrs r2, r0, 16 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0xCD - lsls r0, 1 - cmp r2, r0 - beq _0807A7D2 - cmp r2, 0x97 - bne _0807A7DA -_0807A7D2: - cmp r1, 0 - bne _0807A7DA - movs r0, 0x1 - b _0807A7DC -_0807A7DA: - movs r0, 0 -_0807A7DC: - pop {r1} - bx r1 - thumb_func_end sub_807A7BC - - thumb_func_start sub_807A7E0 -sub_807A7E0: @ 807A7E0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r4, [sp, 0x20] - ldr r5, [sp, 0x24] - ldr r6, [sp, 0x28] - lsls r2, 16 - lsrs r7, r2, 16 - lsls r3, 16 - lsrs r3, 16 - mov r8, r3 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 16 - lsrs r5, 16 - lsls r6, 24 - lsrs r6, 24 - lsls r2, r0, 23 - lsrs r2, 31 - mov r9, r2 - lsls r0, 24 - lsrs r2, r0, 31 - lsls r0, r1, 23 - lsrs r0, 31 - mov r10, r0 - lsls r0, r1, 24 - lsrs r0, 31 - lsls r1, 18 - lsrs r1, 28 - cmp r1, 0x3 - beq _0807A832 - cmp r2, 0 - bne _0807A82A - movs r0, 0x8 - b _0807A8C0 -_0807A82A: - cmp r0, 0 - bne _0807A832 - movs r0, 0x9 - b _0807A8C0 -_0807A832: - adds r0, r5, 0 - adds r1, r6, 0 - bl sub_807A7BC - cmp r0, 0 - bne _0807A898 - movs r0, 0xCE - lsls r0, 1 - cmp r8, r0 - bne _0807A84E - cmp r7, r8 - beq _0807A86C - movs r0, 0x2 - b _0807A8C0 -_0807A84E: - ldr r0, =gBaseStats - lsls r1, r7, 3 - subs r1, r7 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x6] - cmp r0, r4 - beq _0807A86C - ldrb r0, [r1, 0x7] - cmp r0, r4 - beq _0807A86C - movs r0, 0x1 - b _0807A8C0 - .pool -_0807A86C: - movs r0, 0xCE - lsls r0, 1 - cmp r7, r0 - bne _0807A87C - cmp r7, r8 - beq _0807A87C - movs r0, 0x3 - b _0807A8C0 -_0807A87C: - mov r0, r9 - cmp r0, 0 - bne _0807A8AA - movs r0, 0xCE - lsls r0, 1 - cmp r7, r0 - bne _0807A88E - movs r0, 0x6 - b _0807A8C0 -_0807A88E: - adds r0, r7, 0 - bl IsSpeciesInHoennDex - cmp r0, 0 - bne _0807A89C -_0807A898: - movs r0, 0x4 - b _0807A8C0 -_0807A89C: - mov r0, r8 - bl IsSpeciesInHoennDex - cmp r0, 0 - bne _0807A8AA - movs r0, 0x5 - b _0807A8C0 -_0807A8AA: - mov r0, r10 - cmp r0, 0 - bne _0807A8BE - adds r0, r7, 0 - bl IsSpeciesInHoennDex - cmp r0, 0 - bne _0807A8BE - movs r0, 0x7 - b _0807A8C0 -_0807A8BE: - movs r0, 0 -_0807A8C0: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_807A7E0 - - thumb_func_start sub_807A8D0 -sub_807A8D0: @ 807A8D0 - push {r4-r6,lr} - lsls r1, 16 - lsrs r5, r1, 16 - adds r6, r5, 0 - lsls r2, 16 - lsrs r2, 16 - lsls r3, 24 - lsrs r3, 24 - lsls r0, 23 - lsrs r4, r0, 31 - adds r0, r2, 0 - adds r1, r3, 0 - bl sub_807A7BC - cmp r0, 0 - bne _0807A90A - cmp r4, 0 - bne _0807A90E - movs r0, 0xCE - lsls r0, 1 - cmp r5, r0 - bne _0807A900 - movs r0, 0x2 - b _0807A910 -_0807A900: - adds r0, r6, 0 - bl IsSpeciesInHoennDex - cmp r0, 0 - bne _0807A90E -_0807A90A: - movs r0, 0x1 - b _0807A910 -_0807A90E: - movs r0, 0 -_0807A910: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_807A8D0 - - thumb_func_start sub_807A918 -sub_807A918: @ 807A918 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x18 - adds r6, r0, 0 - lsls r1, 16 - lsrs r1, 16 - mov r8, r1 - movs r5, 0 - ldr r0, =gPlayerPartyCount - ldrb r0, [r0] - cmp r5, r0 - bge _0807A95A - mov r4, sp -_0807A934: - movs r0, 0x64 - muls r0, r5 - adds r0, r6, r0 - movs r1, 0x41 - bl GetMonData - str r0, [r4] - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - bne _0807A94E - movs r0, 0 - str r0, [r4] -_0807A94E: - adds r4, 0x4 - adds r5, 0x1 - ldr r0, =gPlayerPartyCount - ldrb r0, [r0] - cmp r5, r0 - blt _0807A934 -_0807A95A: - movs r7, 0 - movs r6, 0x1 - movs r5, 0 - ldr r4, =gLinkPlayers - b _0807A980 - .pool -_0807A96C: - ldrb r0, [r4] - subs r0, 0x4 - cmp r0, 0x1 - bhi _0807A978 - movs r7, 0 - b _0807A97C -_0807A978: - movs r0, 0x1 - orrs r7, r0 -_0807A97C: - adds r4, 0x1C - adds r5, 0x1 -_0807A980: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - blt _0807A96C - movs r5, 0 - movs r4, 0 - b _0807A9B4 -_0807A992: - ldr r0, =gLinkPlayers - adds r2, r4, r0 - ldrb r1, [r2, 0x10] - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - bne _0807A9A2 - movs r6, 0 -_0807A9A2: - cmp r7, 0 - beq _0807A9B0 - ldrb r0, [r2, 0x10] - lsrs r0, 4 - cmp r0, 0 - beq _0807A9B0 - movs r6, 0 -_0807A9B0: - adds r4, 0x1C - adds r5, 0x1 -_0807A9B4: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - blt _0807A992 - cmp r6, 0 - bne _0807A9EA - mov r1, r8 - lsls r0, r1, 2 - mov r1, sp - adds r4, r1, r0 - ldrh r0, [r4] - bl IsSpeciesInHoennDex - cmp r0, 0 - bne _0807A9E0 - movs r0, 0x2 - b _0807AA1A - .pool -_0807A9E0: - ldr r0, [r4] - cmp r0, 0 - bne _0807A9EA - movs r0, 0x3 - b _0807AA1A -_0807A9EA: - movs r2, 0 - movs r5, 0 - ldr r0, =gPlayerPartyCount - ldrb r0, [r0] - cmp r2, r0 - bge _0807AA0A - adds r3, r0, 0 - mov r1, sp -_0807A9FA: - cmp r8, r5 - beq _0807AA02 - ldr r0, [r1] - adds r2, r0 -_0807AA02: - adds r1, 0x4 - adds r5, 0x1 - cmp r5, r3 - blt _0807A9FA -_0807AA0A: - cmp r2, 0 - beq _0807AA18 - movs r0, 0 - b _0807AA1A - .pool -_0807AA18: - movs r0, 0x1 -_0807AA1A: - add sp, 0x18 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_807A918 - - thumb_func_start sub_807AA28 -sub_807AA28: @ 807AA28 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - bne _0807AA44 - movs r0, 0x17 - bl PlaySE - movs r0, 0 - strh r0, [r4, 0x2E] -_0807AA44: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_807AA28 - - thumb_func_start sub_807AA4C -sub_807AA4C: @ 807AA4C - push {r4,r5,lr} - adds r4, r0, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _0807AA76 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - bne _0807AA76 - movs r0, 0xC2 - bl PlaySE - strh r5, [r4, 0x2E] -_0807AA76: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_807AA4C - - thumb_func_start sub_807AA7C -sub_807AA7C: @ 807AA7C - push {lr} - adds r2, r0, 0 - movs r0, 0x30 - ldrsh r1, [r2, r0] - cmp r1, 0 - bne _0807AAB2 - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xC - bne _0807AA98 - strh r1, [r2, 0x2E] -_0807AA98: - movs r1, 0x2E - ldrsh r0, [r2, r1] - lsls r0, 1 - ldr r1, =gUnknown_08338EA4 - adds r0, r1 - ldrb r1, [r2, 0x5] - lsrs r1, 4 - adds r1, 0x10 - lsls r1, 4 - adds r1, 0x4 - movs r2, 0x2 - bl LoadPalette -_0807AAB2: - pop {r0} - bx r0 - .pool - thumb_func_end sub_807AA7C - - thumb_func_start sub_807AABC -sub_807AABC: @ 807AABC - push {lr} - adds r2, r0, 0 - ldrh r1, [r2, 0x2E] - adds r1, 0x1 - strh r1, [r2, 0x2E] - ldrh r0, [r2, 0x26] - adds r0, 0x1 - strh r0, [r2, 0x26] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0xA - bne _0807AADA - adds r0, r2, 0 - bl DestroySprite -_0807AADA: - pop {r0} - bx r0 - thumb_func_end sub_807AABC - - thumb_func_start sub_807AAE0 -sub_807AAE0: @ 807AAE0 - push {lr} - adds r2, r0, 0 - ldrh r1, [r2, 0x2E] - adds r1, 0x1 - strh r1, [r2, 0x2E] - ldrh r0, [r2, 0x26] - subs r0, 0x1 - strh r0, [r2, 0x26] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0xA - bne _0807AAFE - adds r0, r2, 0 - bl DestroySprite -_0807AAFE: - pop {r0} - bx r0 - thumb_func_end sub_807AAE0 - - thumb_func_start sub_807AB04 -sub_807AB04: @ 807AB04 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF - bne _0807AB20 - movs r0, 0xCC - bl PlaySE - movs r0, 0 - strh r0, [r4, 0x2E] -_0807AB20: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_807AB04 - - thumb_func_start sub_807AB28 -sub_807AB28: @ 807AB28 - push {r4,r5,lr} - sub sp, 0x20 - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - mov r12, r0 - adds r0, 0xD4 - ldrh r1, [r0] - lsls r1, 8 - adds r0, 0x2 - ldrh r2, [r0] - lsls r2, 8 - adds r0, 0x6 - movs r4, 0 - ldrsh r3, [r0, r4] - adds r0, 0x2 - movs r5, 0 - ldrsh r0, [r0, r5] - str r0, [sp] - mov r4, r12 - adds r4, 0xE8 - movs r5, 0 - ldrsh r0, [r4, r5] - str r0, [sp, 0x4] - movs r5, 0 - ldrsh r0, [r4, r5] - str r0, [sp, 0x8] - mov r0, r12 - adds r0, 0xEC - ldrh r0, [r0] - str r0, [sp, 0xC] - add r0, sp, 0x10 - bl DoBgAffineSet - add r0, sp, 0x10 - ldrh r1, [r0] - movs r0, 0x20 - bl SetGpuReg - add r0, sp, 0x10 - ldrh r1, [r0, 0x2] - movs r0, 0x22 - bl SetGpuReg - add r0, sp, 0x10 - ldrh r1, [r0, 0x4] - movs r0, 0x24 - bl SetGpuReg - add r0, sp, 0x10 - ldrh r1, [r0, 0x6] - movs r0, 0x26 - bl SetGpuReg - ldr r1, [sp, 0x18] - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x28 - bl SetGpuReg - ldr r1, [sp, 0x18] - lsrs r1, 16 - movs r0, 0x2A - bl SetGpuReg - ldr r1, [sp, 0x1C] - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x2C - bl SetGpuReg - ldr r1, [sp, 0x1C] - lsrs r1, 16 - movs r0, 0x2E - bl SetGpuReg - add sp, 0x20 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807AB28 - - thumb_func_start sub_807ABCC -sub_807ABCC: @ 807ABCC - push {r4,lr} - ldr r4, =gUnknown_020322A0 - ldr r0, [r4] - adds r0, 0xE0 - ldrh r1, [r0] - movs r0, 0x16 - bl SetGpuReg - ldr r0, [r4] - adds r0, 0xE2 - ldrh r1, [r0] - movs r0, 0x14 - bl SetGpuReg - movs r0, 0 - bl GetGpuReg - lsls r0, 16 - movs r1, 0xE0 - lsls r1, 11 - ands r1, r0 - cmp r1, 0 - bne _0807AC18 - ldr r0, [r4] - adds r0, 0xE4 - ldrh r1, [r0] - movs r0, 0x1A - bl SetGpuReg - ldr r0, [r4] - adds r0, 0xE6 - ldrh r1, [r0] - movs r0, 0x18 - bl SetGpuReg - b _0807AC1C - .pool -_0807AC18: - bl sub_807AB28 -_0807AC1C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_807ABCC - - thumb_func_start sub_807AC24 -sub_807AC24: @ 807AC24 - push {lr} - bl sub_807ABCC - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_807AC24 - - thumb_func_start sub_807AC3C -sub_807AC3C: @ 807AC3C - push {r4,lr} - ldr r3, =gUnknown_020322A0 - ldr r1, [r3] - movs r0, 0x8A - adds r0, r1 - mov r12, r0 - movs r2, 0 - movs r0, 0 - mov r4, r12 - strh r0, [r4] - adds r1, 0x88 - strb r2, [r1] - ldr r0, [r3] - adds r0, 0x89 - strb r2, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807AC3C - - thumb_func_start sub_807AC64 -sub_807AC64: @ 807AC64 - push {r4,r5,lr} - ldr r0, =gUnknown_020322A0 - ldr r2, [r0] - adds r1, r2, 0 - adds r1, 0x88 - adds r3, r2, 0 - adds r3, 0x89 - ldrb r1, [r1] - adds r5, r0, 0 - ldrb r3, [r3] - cmp r1, r3 - bne _0807AC8C - adds r1, r2, 0 - adds r1, 0x8A - ldrh r0, [r1] - adds r0, 0x1 - b _0807AC92 - .pool -_0807AC8C: - adds r1, r2, 0 - adds r1, 0x8A - movs r0, 0 -_0807AC92: - strh r0, [r1] - adds r4, r5, 0 - ldr r0, [r4] - adds r0, 0x8A - ldrh r1, [r0] - movs r0, 0x96 - lsls r0, 1 - cmp r1, r0 - bls _0807ACC4 - bl CloseLink - ldr r0, =CB2_LinkError - bl SetMainCallback2 - ldr r1, [r4] - adds r3, r1, 0 - adds r3, 0x8A - movs r2, 0 - movs r0, 0 - strh r0, [r3] - adds r1, 0x89 - strb r2, [r1] - ldr r0, [r4] - adds r0, 0x88 - strb r2, [r0] -_0807ACC4: - ldr r0, [r5] - adds r1, r0, 0 - adds r1, 0x88 - ldrb r1, [r1] - adds r0, 0x89 - strb r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807AC64 - - thumb_func_start sub_807ACDC -sub_807ACDC: @ 807ACDC - push {lr} - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _0807ACF0 - movs r0, 0 - b _0807ACF8 - .pool -_0807ACF0: - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 -_0807ACF8: - pop {r1} - bx r1 - thumb_func_end sub_807ACDC - - thumb_func_start sub_807ACFC -sub_807ACFC: @ 807ACFC - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - movs r4, 0 - mov r8, r4 - cmp r6, 0 - bne _0807AD22 - ldr r0, =gUnknown_02032298 - ldrb r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - adds r1, r0 - mov r8, r1 - movs r4, 0x1 -_0807AD22: - cmp r6, 0x1 - bne _0807AD40 - ldr r0, =gUnknown_02032298 - ldrb r0, [r0, 0x1] - movs r1, 0x6 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r1, r0 - ldr r0, =gEnemyParty - adds r1, r0 - mov r8, r1 - movs r4, 0x3 -_0807AD40: - cmp r5, 0 - beq _0807AD58 - cmp r5, 0x1 - beq _0807ADE0 - b _0807AE36 - .pool -_0807AD58: - mov r0, r8 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - mov r0, r8 - movs r1, 0 - bl GetMonData - adds r7, r0, 0 - cmp r6, 0 - bne _0807AD94 - lsls r0, r5, 3 - ldr r1, =gMonFrontPicTable - adds r0, r1 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - ldr r1, [r1, 0x8] - adds r2, r5, 0 - adds r3, r7, 0 - bl HandleLoadSpecialPokePic_2 - movs r4, 0 - b _0807ADB2 - .pool -_0807AD94: - lsls r0, r5, 3 - ldr r1, =gMonFrontPicTable - adds r0, r1 - ldr r1, =gMonSpritesGfxPtr - ldr r2, [r1] - lsls r4, r6, 1 - adds r1, r4, 0x1 - lsls r1, 2 - adds r2, 0x4 - adds r2, r1 - ldr r1, [r2] - adds r2, r5, 0 - adds r3, r7, 0 - bl HandleLoadSpecialPokePic_DontHandleDeoxys -_0807ADB2: - mov r0, r8 - bl GetMonSpritePalStruct - bl LoadCompressedSpritePalette - ldr r0, =gUnknown_020322A0 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0xF0 - adds r0, r4 - strh r5, [r0] - lsls r0, r6, 2 - adds r1, 0x68 - adds r1, r0 - str r7, [r1] - b _0807AE36 - .pool -_0807ADE0: - mov r0, r8 - bl GetMonSpritePalStruct - ldrh r0, [r0, 0x4] - adds r1, r4, 0 - bl SetMultiuseSpriteTemplateToPokemon - ldr r0, =gMultiuseSpriteTemplate - movs r1, 0x78 - movs r2, 0x3C - movs r3, 0x6 - bl CreateSprite - ldr r4, =gUnknown_020322A0 - ldr r1, [r4] - adds r1, 0x8E - adds r1, r6 - strb r0, [r1] - ldr r3, =gSprites - ldr r0, [r4] - adds r0, 0x8E - adds r0, r6 - 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, 0x8E - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r3, 0x1C - adds r0, r3 - ldr r1, =SpriteCallbackDummy - str r1, [r0] -_0807AE36: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807ACFC - - thumb_func_start sub_807AE50 -sub_807AE50: @ 807AE50 - push {r4,r5,lr} - sub sp, 0x4 - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r1, r2 - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0xC - bls _0807AE66 - b _0807B116 -_0807AE66: - lsls r0, 2 - ldr r1, =_0807AE78 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0807AE78: - .4byte _0807AEAC - .4byte _0807AF58 - .4byte _0807AF9C - .4byte _0807AFBC - .4byte _0807B006 - .4byte _0807B034 - .4byte _0807B058 - .4byte _0807B070 - .4byte _0807B07A - .4byte _0807B094 - .4byte _0807B0B0 - .4byte _0807B0D4 - .4byte _0807B0F0 -_0807AEAC: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _0807AEC0 - ldr r1, =gLinkType - ldr r2, =0x00001144 - adds r0, r2, 0 - strh r0, [r1] - bl CloseLink -_0807AEC0: - ldr r4, =gUnknown_020322A0 - movs r5, 0x80 - lsls r5, 1 - adds r0, r5, 0 - bl AllocZeroed - str r0, [r4] - bl AllocateMonSpritesGfx - bl ResetTasks - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r0, =sub_807AC24 - bl SetVBlankCallback - bl sub_807B170 - bl sub_807AC3C - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x8C - strh r2, [r0] - adds r0, 0x8 - strh r2, [r0] - adds r1, 0xEE - movs r0, 0x1 - strb r0, [r1] - ldr r3, [r4] - adds r0, r3, 0 - adds r0, 0xD4 - movs r1, 0x40 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r2, [r0] - adds r0, 0x2 - strh r2, [r0] - adds r1, r3, 0 - adds r1, 0xDC - movs r0, 0x78 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x50 - strh r0, [r1] - adds r0, r3, 0 - adds r0, 0xE8 - strh r5, [r0] - adds r0, 0x4 - strh r2, [r0] - b _0807B116 - .pool -_0807AF58: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r5, [r0] - cmp r5, 0 - bne _0807AF90 - ldr r4, =gUnknown_020322A0 - ldr r0, [r4] - adds r0, 0xFA - movs r1, 0x1 - strb r1, [r0] - bl OpenLink - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r4] - str r5, [r0, 0x64] - b _0807B116 - .pool -_0807AF90: - movs r0, 0x87 - lsls r0, 3 - adds r1, r2, r0 - movs r0, 0x4 - strb r0, [r1] - b _0807B116 -_0807AF9C: - ldr r0, =gUnknown_020322A0 - ldr r1, [r0] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0x3C - bhi _0807AFAC - b _0807B116 -_0807AFAC: - movs r0, 0 - str r0, [r1, 0x64] - movs r0, 0x87 - lsls r0, 3 - adds r1, r2, r0 - b _0807B0E4 - .pool -_0807AFBC: - bl IsLinkMaster - lsls r0, 24 - cmp r0, 0 - bne _0807AFC8 - b _0807B0DC -_0807AFC8: - bl GetLinkPlayerCount_2 - adds r4, r0, 0 - bl sub_800AA48 - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bcc _0807B000 - ldr r0, =gUnknown_020322A0 - ldr r1, [r0] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0x1E - bhi _0807AFEA - b _0807B116 -_0807AFEA: - bl sub_800A620 - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _0807B0E4 - .pool -_0807B000: - bl sub_807AC64 - b _0807B116 -_0807B006: - bl sub_807AC64 - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0x1 - beq _0807B014 - b _0807B116 -_0807B014: - bl IsLinkPlayerDataExchangeComplete - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0807B022 - b _0807B116 -_0807B022: - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _0807B0E4 - .pool -_0807B034: - ldr r2, =gUnknown_020322A0 - ldr r0, [r2] - adds r0, 0x72 - movs r1, 0 - strb r1, [r0] - ldr r0, [r2] - adds r0, 0x73 - strb r1, [r0] - ldr r0, [r2] - adds r0, 0x93 - strb r1, [r0] - movs r0, 0 - bl sub_807ACFC - b _0807B0DC - .pool -_0807B058: - movs r0, 0 - movs r1, 0x1 - bl sub_807ACFC - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _0807B0E4 - .pool -_0807B070: - movs r0, 0x1 - movs r1, 0 - bl sub_807ACFC - b _0807B0DC -_0807B07A: - movs r0, 0x1 - movs r1, 0x1 - bl sub_807ACFC - bl sub_807B154 - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _0807B0E4 - .pool -_0807B094: - bl sub_807BA94 - ldr r0, =gUnknown_08338D18 - bl LoadSpriteSheet - ldr r0, =gUnknown_08338D20 - bl LoadSpritePalette - b _0807B0DC - .pool -_0807B0B0: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - movs r0, 0 - bl ShowBg - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _0807B0E4 - .pool -_0807B0D4: - bl sub_807B140 - bl sub_807BAD8 -_0807B0DC: - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 -_0807B0E4: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0807B116 - .pool -_0807B0F0: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0807B116 - ldr r0, =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _0807B110 - bl sub_800E0E8 - movs r0, 0 - movs r1, 0 - bl CreateWirelessStatusIndicatorSprite -_0807B110: - ldr r0, =sub_807EA2C - bl SetMainCallback2 -_0807B116: - bl RunTasks - bl RunTextPrinters - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807AE50 - - thumb_func_start sub_807B140 -sub_807B140: @ 807B140 - push {lr} - movs r0, 0x5 - bl sub_807B62C - movs r0, 0 - bl sub_807B62C - pop {r0} - bx r0 - thumb_func_end sub_807B140 - - thumb_func_start sub_807B154 -sub_807B154: @ 807B154 - push {lr} - movs r0, 0 - movs r1, 0xFF - bl FillWindowPixelBuffer - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - pop {r0} - bx r0 - thumb_func_end sub_807B154 - - thumb_func_start sub_807B170 -sub_807B170: @ 807B170 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x4 - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_08339014 - 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 r5, 0x80 - lsls r5, 4 - adds r0, r5, 0 - bl Alloc - adds r1, r0, 0 - movs r0, 0 - bl SetBgTilemapBuffer - adds r0, r5, 0 - bl Alloc - adds r1, r0, 0 - movs r0, 0x1 - bl SetBgTilemapBuffer - adds r0, r5, 0 - bl Alloc - adds r1, r0, 0 - movs r0, 0x3 - bl SetBgTilemapBuffer - bl DeactivateAllTextPrinters - ldr r0, =gBattleTextboxTiles - mov r10, r0 - movs r0, 0 - mov r9, r0 - str r0, [sp] - mov r1, r10 - movs r2, 0 - movs r3, 0 - bl DecompressAndLoadBgGfxUsingHeap - ldr r0, =gBattleTextboxTilemap - mov r8, r0 - ldr r4, =gDecompressionBuffer - adds r1, r4, 0 - bl LZDecompressWram - movs r0, 0 - adds r1, r4, 0 - adds r2, r5, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - ldr r6, =gBattleTextboxPalette - adds r0, r6, 0 - movs r1, 0 - movs r2, 0x20 - bl LoadCompressedPalette - ldr r0, =gUnknown_08338FFC - bl InitWindows - mov r0, r9 - str r0, [sp] - movs r0, 0 - mov r1, r10 - movs r2, 0 - movs r3, 0 - bl DecompressAndLoadBgGfxUsingHeap - mov r0, r8 - adds r1, r4, 0 - bl LZDecompressWram - movs r0, 0 - adds r1, r4, 0 - adds r2, r5, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - adds r0, r6, 0 - movs r1, 0 - movs r2, 0x20 - bl LoadCompressedPalette - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807B170 - - thumb_func_start sub_807B270 -sub_807B270: @ 807B270 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0xC - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0xC - bls _0807B288 - b _0807B43E -_0807B288: - lsls r0, 2 - ldr r1, =_0807B29C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0807B29C: - .4byte _0807B2D0 - .4byte _0807B43E - .4byte _0807B43E - .4byte _0807B43E - .4byte _0807B43E - .4byte _0807B3AC - .4byte _0807B3B6 - .4byte _0807B3C0 - .4byte _0807B3D0 - .4byte _0807B3F0 - .4byte _0807B40C - .4byte _0807B414 - .4byte _0807B438 -_0807B2D0: - ldr r1, =gUnknown_02032298 - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - movs r6, 0 - strb r0, [r1] - movs r0, 0x6 - strb r0, [r1, 0x1] - ldr r4, =gLinkPlayers + 8 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - adds r0, r4, 0 - bl StringCopy - ldr r5, =gEnemyParty - adds r0, r5, 0 - movs r1, 0x7 - mov r2, sp - bl GetMonData - adds r0, r4, 0 - adds r0, 0x1C - mov r1, sp - bl StringCopy - subs r4, 0x8 - movs r0, 0 - mov r8, r0 - movs r0, 0x2 - strh r0, [r4, 0x1A] - adds r0, r5, 0 - movs r1, 0x3 - bl GetMonData - strh r0, [r4, 0x36] - ldr r4, =gUnknown_020322A0 - movs r5, 0x80 - lsls r5, 1 - adds r0, r5, 0 - bl AllocZeroed - str r0, [r4] - bl AllocateMonSpritesGfx - bl ResetTasks - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r0, =sub_807AC24 - bl SetVBlankCallback - bl sub_807B170 - ldr r0, [r4] - adds r0, 0xEE - mov r1, r8 - strb r1, [r0] - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x8C - strh r6, [r0] - adds r0, 0x8 - strh r6, [r0] - adds r0, 0x40 - movs r1, 0x40 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r6, [r0] - adds r0, 0x2 - strh r6, [r0] - adds r1, r2, 0 - adds r1, 0xDC - movs r0, 0x78 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x50 - strh r0, [r1] - adds r0, r2, 0 - adds r0, 0xE8 - strh r5, [r0] - adds r0, 0x4 - strh r6, [r0] - str r6, [r2, 0x64] - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r1, 0x5 - strb r1, [r0] - b _0807B43E - .pool -_0807B3AC: - movs r0, 0 - movs r1, 0 - bl sub_807ACFC - b _0807B424 -_0807B3B6: - movs r0, 0 - movs r1, 0x1 - bl sub_807ACFC - b _0807B424 -_0807B3C0: - movs r0, 0x1 - movs r1, 0 - bl sub_807ACFC - movs r0, 0 - bl ShowBg - b _0807B424 -_0807B3D0: - movs r0, 0x1 - movs r1, 0x1 - bl sub_807ACFC - movs r0, 0 - movs r1, 0xFF - bl FillWindowPixelBuffer - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - b _0807B424 -_0807B3F0: - bl sub_807BA94 - ldr r0, =gUnknown_08338D18 - bl LoadSpriteSheet - ldr r0, =gUnknown_08338D20 - bl LoadSpritePalette - b _0807B424 - .pool -_0807B40C: - movs r0, 0 - bl ShowBg - b _0807B424 -_0807B414: - movs r0, 0x5 - bl sub_807B62C - movs r0, 0 - bl sub_807B62C - bl sub_807BAD8 -_0807B424: - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0807B43E - .pool -_0807B438: - ldr r0, =sub_807B60C - bl SetMainCallback2 -_0807B43E: - bl RunTasks - bl RunTextPrinters - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807B270 - - thumb_func_start sub_807B464 -sub_807B464: @ 807B464 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - adds r5, r1, r0 - adds r0, r5, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0807B4B8 - adds r0, r5, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - movs r1, 0 - movs r2, 0 - bl GetMonData - adds r5, r0, 0 - adds r0, r4, 0 - bl SpeciesToNationalPokedexNum - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r4, 0 - movs r1, 0x2 - bl GetSetPokedexFlag - adds r0, r4, 0 - movs r1, 0x3 - adds r2, r5, 0 - bl HandleSetPokedexFlag -_0807B4B8: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807B464 - - thumb_func_start sub_807B4C4 -sub_807B4C4: @ 807B4C4 - push {lr} - bl GetMultiplayerId - pop {r0} - bx r0 - thumb_func_end sub_807B4C4 - - thumb_func_start sub_807B4D0 -sub_807B4D0: @ 807B4D0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r4, 24 - lsrs r4, 24 - movs r5, 0x64 - mov r1, r9 - muls r1, r5 - ldr r0, =gPlayerParty - adds r7, r1, r0 - adds r0, r7, 0 - movs r1, 0x40 - bl GetMonData - lsls r0, 16 - lsrs r6, r0, 16 - adds r1, r4, 0 - muls r1, r5 - ldr r0, =gEnemyParty - adds r5, r1, r0 - adds r0, r5, 0 - movs r1, 0x40 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - cmp r6, 0xFF - beq _0807B52A - ldr r0, =gSaveBlock1Ptr - lsls r1, r6, 3 - adds r1, r6 - lsls r1, 2 - ldr r2, =0x00002be0 - adds r1, r2 - ldr r0, [r0] - adds r0, r1 - bl ClearMailStruct -_0807B52A: - ldr r4, =gUnknown_020322A0 - ldr r0, [r4] - adds r1, r7, 0 - movs r2, 0x64 - bl memcpy - adds r0, r7, 0 - adds r1, r5, 0 - movs r2, 0x64 - bl memcpy - ldr r1, [r4] - adds r0, r5, 0 - movs r2, 0x64 - bl memcpy - movs r1, 0x46 - mov r0, sp - strb r1, [r0] - adds r0, r7, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0807B566 - adds r0, r7, 0 - movs r1, 0x20 - mov r2, sp - bl SetMonData -_0807B566: - mov r0, r8 - cmp r0, 0xFF - beq _0807B57C - lsls r1, r0, 3 - add r1, r8 - lsls r1, 2 - ldr r0, =gUnknown_020321C0 - adds r1, r0 - adds r0, r7, 0 - bl GiveMailToMon2 -_0807B57C: - mov r0, r9 - bl sub_807B464 - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _0807B58E - bl sub_807B4C4 -_0807B58E: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807B4D0 - - thumb_func_start sub_807B5B8 -sub_807B5B8: @ 807B5B8 - push {r4,lr} - ldr r4, =gUnknown_020322A0 - ldr r0, [r4] - adds r0, 0x93 - ldrb r0, [r0] - cmp r0, 0x1 - beq _0807B5D0 - cmp r0, 0x2 - beq _0807B5F6 - b _0807B600 - .pool -_0807B5D0: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _0807B5F6 - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r4] - adds r1, 0x74 - movs r2, 0x14 - bl SendBlock - ldr r1, [r4] - adds r1, 0x93 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0807B5F6: - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - adds r0, 0x93 - movs r1, 0 - strb r1, [r0] -_0807B600: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807B5B8 - - thumb_func_start sub_807B60C -sub_807B60C: @ 807B60C - push {lr} - bl sub_807BBC8 - bl RunTasks - bl RunTextPrinters - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_807B60C - - thumb_func_start sub_807B62C -sub_807B62C: @ 807B62C - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x7 - bls _0807B638 - b _0807BA68 -_0807B638: - lsls r0, 2 - ldr r1, =_0807B648 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0807B648: - .4byte _0807B668 - .4byte _0807B6DC - .4byte _0807B784 - .4byte _0807B7F8 - .4byte _0807B840 - .4byte _0807B90C - .4byte _0807B924 - .4byte _0807B9FC -_0807B668: - ldr r0, =gUnknown_020322A0 - ldr r1, [r0] - adds r2, r1, 0 - adds r2, 0xE4 - movs r0, 0 - strh r0, [r2] - adds r1, 0xE6 - movs r0, 0xB4 - strh r0, [r1] - movs r1, 0xAA - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r1, =0x00005206 - movs r0, 0xC - bl SetGpuReg - ldr r0, =gTradeGba2_Pal - movs r1, 0x10 - movs r2, 0x60 - bl LoadPalette - ldr r3, =gTradeGba_Gfx - ldr r4, =0x06004000 - movs r5, 0xA1 - lsls r5, 5 - ldr r1, =0x040000d4 - ldr r6, =0x80000800 - movs r2, 0x80 - lsls r2, 5 - movs r7, 0x80 - lsls r7, 24 -_0807B6AA: - str r3, [r1] - str r4, [r1, 0x4] - str r6, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r2 - adds r4, r2 - subs r5, r2 - cmp r5, r2 - bhi _0807B6AA - b _0807BA4C - .pool -_0807B6DC: - ldr r4, =gUnknown_020322A0 - ldr r2, [r4] - adds r1, r2, 0 - adds r1, 0xE2 - movs r0, 0 - strh r0, [r1] - adds r2, 0xE0 - movs r1, 0xAE - lsls r1, 1 - strh r1, [r2] - movs r0, 0x16 - bl SetGpuReg - ldr r1, =0x00008502 - movs r0, 0xA - bl SetGpuReg - ldr r1, =0x00009206 - movs r0, 0xC - bl SetGpuReg - ldr r0, [r4] - adds r0, 0xFA - ldrb r0, [r0] - cmp r0, 0 - beq _0807B724 - ldr r1, =gUnknown_083369A0 - b _0807B726 - .pool -_0807B724: - ldr r1, =gUnknown_083359A0 -_0807B726: - ldr r2, =0x06002800 - ldr r0, =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, =0x80000800 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - ldr r3, =gTradeGba_Gfx - movs r4, 0xC0 - lsls r4, 19 - movs r5, 0xA1 - lsls r5, 5 - ldr r1, =0x040000d4 - ldr r6, =0x80000800 - movs r2, 0x80 - lsls r2, 5 - movs r7, 0x80 - lsls r7, 24 -_0807B74A: - str r3, [r1] - str r4, [r1, 0x4] - str r6, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r2 - adds r4, r2 - subs r5, r2 - cmp r5, r2 - bhi _0807B74A - str r3, [r1] - str r4, [r1, 0x4] - lsrs r0, r5, 1 - orrs r0, r7 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r1, 0x92 - lsls r1, 5 - b _0807B820 - .pool -_0807B784: - ldr r0, =gUnknown_020322A0 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0xE0 - movs r1, 0 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x18 - ldrb r0, [r0] - cmp r0, 0 - bne _0807B7C0 - ldr r1, =0x00001241 - movs r0, 0 - bl SetGpuReg - ldr r0, =gUnknown_083379A0 - ldr r1, =0x06002800 - bl LZ77UnCompVram - movs r0, 0x8 - b _0807B7DA - .pool -_0807B7C0: - ldr r1, =0x00001241 - movs r0, 0 - bl SetGpuReg - ldr r1, =gUnknown_0832FFC0 - ldr r2, =0x06002800 - ldr r0, =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, =0x80000400 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - movs r0, 0x1 -_0807B7DA: - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - b _0807BA68 - .pool -_0807B7F8: - ldr r0, =gUnknown_08337EA0 - movs r1, 0x30 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gUnknown_08337EC0 - ldr r1, =0x06004000 - bl LZ77UnCompVram - ldr r0, =gUnknown_08338550 - ldr r1, =0x06009000 - bl LZ77UnCompVram - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - adds r0, 0xE4 - movs r1, 0x50 - strh r1, [r0] - movs r1, 0xB2 - lsls r1, 5 -_0807B820: - movs r0, 0 - bl SetGpuReg - b _0807BA68 - .pool -_0807B840: - ldr r1, =0x00001441 - movs r0, 0 - bl SetGpuReg - ldr r1, =0x00001287 - movs r0, 0xC - bl SetGpuReg - ldr r0, =gUnknown_020322A0 - ldr r3, [r0] - adds r1, r3, 0 - adds r1, 0xD4 - movs r2, 0 - movs r0, 0x40 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x5C - strh r0, [r1] - adds r1, 0x12 - movs r0, 0x20 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x80 - lsls r0, 3 - strh r0, [r1] - adds r0, r3, 0 - adds r0, 0xEC - strh r2, [r0] - ldr r3, =gUnknown_08332F60 - ldr r4, =0x06004000 - movs r5, 0xA1 - lsls r5, 6 - ldr r1, =0x040000d4 - ldr r6, =0x80000800 - movs r2, 0x80 - lsls r2, 5 - movs r7, 0x80 - lsls r7, 24 -_0807B88C: - str r3, [r1] - str r4, [r1, 0x4] - str r6, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r2 - adds r4, r2 - subs r5, r2 - cmp r5, r2 - bhi _0807B88C - str r3, [r1] - str r4, [r1, 0x4] - lsrs r0, r5, 1 - orrs r0, r7 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - adds r0, 0xFA - ldrb r0, [r0] - cmp r0, 0 - beq _0807B8EC - ldr r1, =gUnknown_083357A0 - ldr r2, =0x06009000 - ldr r0, =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, =0x80000080 - b _0807BA64 - .pool -_0807B8EC: - ldr r1, =gUnknown_083358A0 - ldr r2, =0x06009000 - ldr r0, =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, =0x80000080 - b _0807BA64 - .pool -_0807B90C: - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - adds r1, r0, 0 - adds r1, 0xE0 - movs r2, 0 - strh r2, [r1] - adds r0, 0xE2 - strh r2, [r0] - b _0807BA68 - .pool -_0807B924: - ldr r1, =0x00001441 - movs r0, 0 - bl SetGpuReg - ldr r1, =0x00001287 - movs r0, 0xC - bl SetGpuReg - ldr r0, =gUnknown_020322A0 - ldr r3, [r0] - adds r1, r3, 0 - adds r1, 0xD4 - movs r2, 0 - movs r0, 0x40 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x5C - strh r0, [r1] - adds r1, 0x12 - adds r0, 0xA4 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x80 - strh r0, [r1] - subs r1, 0xE - movs r0, 0x78 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x50 - strh r0, [r1] - adds r0, r3, 0 - adds r0, 0xEC - strh r2, [r0] - ldr r3, =gUnknown_08332F60 - ldr r4, =0x06004000 - movs r5, 0xA1 - lsls r5, 6 - ldr r1, =0x040000d4 - ldr r6, =0x80000800 - movs r2, 0x80 - lsls r2, 5 - movs r7, 0x80 - lsls r7, 24 -_0807B97A: - str r3, [r1] - str r4, [r1, 0x4] - str r6, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r2 - adds r4, r2 - subs r5, r2 - cmp r5, r2 - bhi _0807B97A - str r3, [r1] - str r4, [r1, 0x4] - lsrs r0, r5, 1 - orrs r0, r7 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - adds r0, 0xFA - ldrb r0, [r0] - cmp r0, 0 - beq _0807B9DC - ldr r1, =gUnknown_083357A0 - ldr r2, =0x06009000 - ldr r0, =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, =0x80000080 - b _0807BA64 - .pool -_0807B9DC: - ldr r1, =gUnknown_083358A0 - ldr r2, =0x06009000 - ldr r0, =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, =0x80000080 - b _0807BA64 - .pool -_0807B9FC: - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - adds r1, r0, 0 - adds r1, 0xE4 - movs r2, 0 - strh r2, [r1] - adds r0, 0xE6 - strh r2, [r0] - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - ldr r1, =0x00005206 - movs r0, 0xC - bl SetGpuReg - ldr r0, =gTradeGba2_Pal - movs r1, 0x10 - movs r2, 0x60 - bl LoadPalette - ldr r3, =gTradeGba_Gfx - ldr r4, =0x06004000 - movs r5, 0xA1 - lsls r5, 5 - ldr r1, =0x040000d4 - ldr r6, =0x80000800 - movs r2, 0x80 - lsls r2, 5 - movs r7, 0x80 - lsls r7, 24 -_0807BA3A: - str r3, [r1] - str r4, [r1, 0x4] - str r6, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r2 - adds r4, r2 - subs r5, r2 - cmp r5, r2 - bhi _0807BA3A -_0807BA4C: - str r3, [r1] - str r4, [r1, 0x4] - lsrs r0, r5, 1 - orrs r0, r7 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - ldr r1, =gUnknown_08331F60 - ldr r2, =0x06009000 - ldr r0, =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, =0x80000800 -_0807BA64: - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] -_0807BA68: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807B62C - - thumb_func_start sub_807BA94 -sub_807BA94: @ 807BA94 - push {lr} - ldr r0, =gUnknown_08338D70 - bl LoadSpriteSheet - ldr r0, =gUnknown_08338DC0 - bl LoadSpriteSheet - ldr r0, =gUnknown_08338DF4 - bl LoadSpriteSheet - ldr r0, =gUnknown_08338E6C - bl LoadSpriteSheet - ldr r0, =gUnknown_08338D78 - bl LoadSpritePalette - ldr r0, =gUnknown_08338D80 - bl LoadSpritePalette - pop {r0} - bx r0 - .pool - thumb_func_end sub_807BA94 - - thumb_func_start sub_807BAD8 -sub_807BAD8: @ 807BAD8 - push {r4,r5,lr} - sub sp, 0x14 - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - adds r0, 0xEE - ldrb r0, [r0] - cmp r0, 0 - beq _0807BB68 - bl GetMultiplayerId - lsls r0, 24 - ldr r3, =gStringVar1 - movs r2, 0x80 - lsls r2, 17 - eors r2, r0 - lsrs r2, 24 - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - ldr r0, =gLinkPlayers + 8 - adds r1, r0 - adds r0, r3, 0 - bl StringCopy - ldr r5, =gUnknown_02032298 - ldrb r0, [r5, 0x1] - movs r1, 0x6 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - movs r4, 0x64 - muls r0, r4 - ldr r1, =gEnemyParty - adds r0, r1 - movs r1, 0x2 - mov r2, sp - bl GetMonData - ldr r0, =gStringVar3 - mov r1, sp - bl StringCopy10 - ldrb r0, [r5] - muls r0, r4 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x2 - mov r2, sp - bl GetMonData - ldr r0, =gStringVar2 - mov r1, sp - bl StringCopy10 - b _0807BBA4 - .pool -_0807BB68: - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - lsls r4, r0, 4 - subs r4, r0 - lsls r4, 2 - ldr r0, =gIngameTrades - adds r4, r0 - ldr r0, =gStringVar1 - adds r1, r4, 0 - adds r1, 0x2B - bl StringCopy - ldr r0, =gStringVar3 - adds r1, r4, 0 - bl StringCopy10 - ldr r0, =gSpecialVar_0x8005 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x2 - mov r2, sp - bl GetMonData - ldr r0, =gStringVar2 - mov r1, sp - bl StringCopy10 -_0807BBA4: - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807BAD8 - - thumb_func_start sub_807BBC8 -sub_807BBC8: @ 807BBC8 - push {lr} - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - adds r0, 0xFA - ldrb r0, [r0] - cmp r0, 0 - bne _0807BBE0 - bl sub_807CFC8 - b _0807BBE4 - .pool -_0807BBE0: - bl sub_807BBEC -_0807BBE4: - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_807BBC8 - - thumb_func_start sub_807BBEC -sub_807BBEC: @ 807BBEC - push {r4-r7,lr} - sub sp, 0x14 - ldr r0, =gUnknown_020322A0 - ldr r1, [r0] - adds r1, 0x94 - ldrh r5, [r1] - ldr r1, =0x0000010b - adds r7, r0, 0 - cmp r5, r1 - bls _0807BC04 - bl _0807CFB4 -_0807BC04: - lsls r0, r5, 2 - ldr r1, =_0807BC1C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0807BC1C: - .4byte _0807C04C - .4byte _0807C0C4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807C120 - .4byte _0807C168 - .4byte _0807C1DC - .4byte _0807CFB4 - .4byte _0807C248 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807C26C - .4byte _0807C29C - .4byte _0807C2AE - .4byte _0807C2D0 - .4byte _0807C318 - .4byte _0807C348 - .4byte _0807C390 - .4byte _0807C3E0 - .4byte _0807C434 - .4byte _0807C4B8 - .4byte _0807C4DC - .4byte _0807C528 - .4byte _0807C574 - .4byte _0807C5D0 - .4byte _0807C630 - .4byte _0807C644 - .4byte _0807C658 - .4byte _0807C66C - .4byte _0807C794 - .4byte _0807C864 - .4byte _0807C8EC - .4byte _0807C964 - .4byte _0807C974 - .4byte _0807C994 - .4byte _0807C9E4 - .4byte _0807CA02 - .4byte _0807CA40 - .4byte _0807CA50 - .4byte _0807CAC8 - .4byte _0807CFB4 - .4byte _0807CAF0 - .4byte _0807CB30 - .4byte _0807CB70 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CB90 - .4byte _0807CBB8 - .4byte _0807CBD4 - .4byte _0807CBF4 - .4byte _0807CC9C - .4byte _0807CCD0 - .4byte _0807CD1C - .4byte _0807CDDC - .4byte _0807CE54 - .4byte _0807CEA0 - .4byte _0807CEB0 - .4byte _0807CEB6 - .4byte _0807CEDC - .4byte _0807CF38 - .4byte _0807CF5C - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CE18 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807C460 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CE38 -_0807C04C: - ldr r3, =gSprites - ldr r0, [r7] - adds r0, 0x8E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - ldr r4, [r7] - adds r2, r4, 0 - adds r2, 0x8E - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldr r1, =0x0000ff4c - strh r1, [r0, 0x24] - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldr r2, =gMonFrontPicCoords - adds r0, r4, 0 - adds r0, 0xF0 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - strh r0, [r1, 0x26] - adds r1, r4, 0 - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - bl GetCurrentMapMusic - ldr r1, [r7] - adds r1, 0xF4 - strh r0, [r1] - ldr r0, =0x00000179 - bl PlayNewMapMusic - bl _0807CFB4 - .pool -_0807C0C4: - ldr r5, [r7] - adds r6, r5, 0 - adds r6, 0xE6 - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0 - ble _0807C0F8 - ldr r2, =gSprites - adds r0, r5, 0 - adds r0, 0x8E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x24] - adds r1, 0x3 - strh r1, [r0, 0x24] - ldrh r0, [r6] - subs r0, 0x3 - strh r0, [r6] - bl _0807CFB4 - .pool -_0807C0F8: - ldr r2, =gSprites - adds r0, r5, 0 - adds r0, 0x8E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0x24] - strh r1, [r6] - adds r1, r5, 0 - adds r1, 0x94 - movs r0, 0xA - strh r0, [r1] - bl _0807CFB4 - .pool -_0807C120: - ldr r4, =gStringVar4 - ldr r1, =gText_XWillBeSentToY - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - adds r1, r4, 0 - movs r2, 0 - bl sub_807F1A8 - ldr r4, =gUnknown_020322A0 - ldr r0, [r4] - adds r2, r0, 0 - adds r2, 0xF0 - ldrh r1, [r2] - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - beq _0807C14E - adds r0, r1, 0 - movs r1, 0 - bl PlayCry1 -_0807C14E: - ldr r3, [r4] - adds r1, r3, 0 - adds r1, 0x94 - movs r2, 0 - movs r0, 0xB - bl _0807CE06 - .pool -_0807C168: - ldr r1, [r7] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0x50 - beq _0807C178 - bl _0807CFB4 -_0807C178: - adds r0, r1, 0 - adds r0, 0x8E - ldrb r0, [r0] - ldr r2, =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r1, [r1, 0x5] - lsrs r1, 4 - movs r2, 0x2 - str r2, [sp] - movs r2, 0x1 - str r2, [sp, 0x4] - movs r2, 0x14 - str r2, [sp, 0x8] - ldr r2, =0x000fffff - str r2, [sp, 0xC] - movs r2, 0x78 - movs r3, 0x20 - bl sub_807671C - ldr r1, [r7] - adds r1, 0xD2 - strb r0, [r1] - ldr r1, [r7] - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - ldr r4, =gStringVar4 - ldr r1, =gText_ByeByeVar1 - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - adds r1, r4, 0 - movs r2, 0 - bl sub_807F1A8 - bl _0807CFB4 - .pool -_0807C1DC: - ldr r5, =gSprites - ldr r0, [r7] - adds r0, 0xD2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, r5, 0 - adds r4, 0x1C - adds r0, r4 - ldr r1, [r0] - ldr r0, =SpriteCallbackDummy - cmp r1, r0 - beq _0807C1FC - bl _0807CFB4 -_0807C1FC: - ldr r0, =gSpriteTemplate_8338D28 - movs r1, 0x78 - movs r2, 0x20 - movs r3, 0 - bl CreateSprite - ldr r1, [r7] - adds r1, 0xD3 - strb r0, [r1] - ldr r2, [r7] - adds r0, r2, 0 - adds r0, 0xD3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, =sub_807E5D8 - str r1, [r0] - adds r2, 0xD2 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - bl DestroySprite - ldr r1, [r7] - bl _0807CF4C - .pool -_0807C248: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - adds r0, 0x94 - movs r1, 0x14 - strh r1, [r0] - bl _0807CFB4 - .pool -_0807C26C: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0807C27C - bl _0807CFB4 -_0807C27C: - movs r0, 0x4 - bl sub_807B62C - movs r0, 0 - movs r1, 0xFF - bl FillWindowPixelBuffer - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - bl _0807CF48 - .pool -_0807C29C: - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0x10 - movs r3, 0 - bl _0807CF44 -_0807C2AE: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0807C2BE - bl _0807CFB4 -_0807C2BE: - ldr r0, [r7] - adds r0, 0x94 - movs r1, 0x17 - strh r1, [r0] - bl _0807CFB4 - .pool -_0807C2D0: - ldr r4, =gUnknown_020322A0 - ldr r0, [r4] - adds r2, r0, 0 - adds r2, 0xEA - ldrh r1, [r2] - movs r0, 0x80 - lsls r0, 1 - cmp r1, r0 - bls _0807C2F0 - adds r0, r1, 0 - subs r0, 0x34 - strh r0, [r2] - b _0807C30C - .pool -_0807C2F0: - movs r0, 0x1 - bl sub_807B62C - ldr r3, [r4] - adds r1, r3, 0 - adds r1, 0xEA - movs r2, 0 - movs r0, 0x80 - strh r0, [r1] - subs r1, 0x56 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - str r2, [r3, 0x64] -_0807C30C: - ldr r0, =gUnknown_020322A0 - ldr r4, [r0] - bl _0807CB5C - .pool -_0807C318: - ldr r1, [r7] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0x14 - bhi _0807C328 - bl _0807CFB4 -_0807C328: - bl sub_807AB28 - ldr r0, =gSpriteTemplate_8338E74 - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - ldr r1, [r7] - adds r1, 0x91 - strb r0, [r1] - ldr r1, [r7] - bl _0807CF4C - .pool -_0807C348: - ldr r2, =gSprites - ldr r0, [r7] - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - adds r0, r1, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 27 - cmp r0, 0 - blt _0807C368 - bl _0807CFB4 -_0807C368: - adds r0, r1, 0 - bl DestroySprite - movs r1, 0xC8 - lsls r1, 3 - movs r0, 0x50 - bl SetGpuReg - ldr r1, =0x0000040c - movs r0, 0x52 - bl SetGpuReg - ldr r1, [r7] - bl _0807CF4C - .pool -_0807C390: - ldr r2, [r7] - adds r0, r2, 0 - adds r0, 0xE0 - ldrh r1, [r0] - subs r1, 0x1 - strh r1, [r0] - lsls r1, 16 - movs r0, 0x9E - lsls r0, 17 - cmp r1, r0 - bne _0807C3B0 - adds r1, r2, 0 - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0807C3B0: - ldr r0, [r7] - adds r0, 0xE0 - movs r2, 0 - ldrsh r1, [r0, r2] - movs r0, 0xA4 - lsls r0, 1 - cmp r1, r0 - beq _0807C3C4 - bl _0807CFB4 -_0807C3C4: - ldr r0, =gSpriteTemplate_8338DFC - movs r1, 0x80 - movs r2, 0x41 - movs r3, 0 - bl CreateSprite - ldr r1, [r7] - adds r1, 0x92 - strb r0, [r1] - bl _0807CFB4 - .pool -_0807C3E0: - ldr r0, =gUnknown_08338D88 - movs r1, 0x80 - movs r2, 0x50 - movs r3, 0x3 - bl CreateSprite - ldr r4, =gUnknown_020322A0 - ldr r1, [r4] - adds r1, 0x90 - strb r0, [r1] - ldr r0, =gSpriteTemplate_8338DC8 - movs r1, 0x80 - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - ldr r1, [r4] - adds r1, 0x91 - strb r0, [r1] - ldr r0, [r4] - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r1, 0x1 - bl StartSpriteAnim - ldr r1, [r4] - bl _0807CF4C - .pool -_0807C434: - ldr r2, [r7] - adds r1, r2, 0 - adds r1, 0xE0 - ldrh r0, [r1] - subs r0, 0x2 - strh r0, [r1] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA6 - bne _0807C44E - subs r1, 0x4C - movs r0, 0xC8 - strh r0, [r1] -_0807C44E: - ldr r1, =0x00001241 - movs r0, 0 - bl SetGpuReg - bl _0807CFB4 - .pool -_0807C460: - ldr r2, =gSprites - ldr r4, [r7] - adds r3, r4, 0 - adds r3, 0x90 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x22] - subs r1, 0x2 - strh r1, [r0, 0x22] - adds r0, r4, 0 - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x22] - subs r1, 0x2 - strh r1, [r0, 0x22] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r3, 0x22 - ldrsh r1, [r0, r3] - movs r0, 0x8 - negs r0, r0 - cmp r1, r0 - blt _0807C4A6 - bl _0807CFB4 -_0807C4A6: - adds r1, r4, 0 - adds r1, 0x94 - movs r0, 0x1D - strh r0, [r1] - bl _0807CFB4 - .pool -_0807C4B8: - 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 r0, =gUnknown_020322A0 - ldr r0, [r0] - adds r0, 0x94 - movs r1, 0x1E - strh r1, [r0] - bl _0807CFB4 - .pool -_0807C4DC: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0807C4EC - bl _0807CFB4 -_0807C4EC: - ldr r0, [r7] - adds r0, 0x90 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - bl DestroySprite - ldr r0, [r7] - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - movs r0, 0x2 - bl sub_807B62C - ldr r1, [r7] - bl _0807CF4C - .pool -_0807C528: - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r5, =gSpriteTemplate_8338DC8 - adds r0, r5, 0 - movs r1, 0x6F - movs r2, 0xAA - movs r3, 0 - bl CreateSprite - ldr r4, =gUnknown_020322A0 - ldr r1, [r4] - adds r1, 0x90 - strb r0, [r1] - movs r2, 0xA - negs r2, r2 - adds r0, r5, 0 - movs r1, 0x81 - movs r3, 0 - bl CreateSprite - ldr r1, [r4] - adds r1, 0x91 - strb r0, [r1] - ldr r1, [r4] - bl _0807CF4C - .pool -_0807C574: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0807C592 - movs r0, 0x2E - bl PlaySE - ldr r0, =gUnknown_020322A0 - ldr r1, [r0] - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0807C592: - ldr r3, =gSprites - ldr r0, =gUnknown_020322A0 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x90 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x26] - subs r1, 0x3 - strh r1, [r0, 0x26] - adds r2, 0x91 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - strh r1, [r0, 0x26] - bl _0807CFB4 - .pool -_0807C5D0: - ldr r5, =gSprites - ldr r4, [r7] - adds r2, r4, 0 - adds r2, 0x90 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrh r1, [r0, 0x26] - subs r1, 0x3 - strh r1, [r0, 0x26] - adds r6, r4, 0 - adds r6, 0x91 - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - strh r1, [r0, 0x26] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r3, r0, r5 - movs r0, 0x26 - ldrsh r1, [r3, r0] - movs r0, 0x5A - negs r0, r0 - cmp r1, r0 - ble _0807C616 - bl _0807CFB4 -_0807C616: - movs r2, 0x1 - strh r2, [r3, 0x30] - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r2, [r0, 0x30] - adds r1, r4, 0 - bl _0807CF4C - .pool -_0807C630: - ldr r2, =0x0000ffff - movs r0, 0x1 - movs r1, 0x10 - bl BlendPalettes - bl _0807CF48 - .pool -_0807C644: - ldr r2, =0x0000ffff - movs r0, 0x1 - movs r1, 0 - bl BlendPalettes - bl _0807CF48 - .pool -_0807C658: - ldr r2, =0x0000ffff - movs r0, 0x1 - movs r1, 0x10 - bl BlendPalettes - bl _0807CF48 - .pool -_0807C66C: - ldr r5, =gUnknown_020322A0 - ldr r0, [r5] - adds r0, 0xF0 - ldrh r0, [r0] - bl IsMonSpriteNotFlipped - lsls r0, 24 - cmp r0, 0 - bne _0807C6E4 - ldr r4, =gSprites - ldr r2, [r5] - adds r2, 0x8E - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r4, 0 - adds r1, 0x10 - adds r0, r1 - ldr r1, =gSpriteAffineAnimTable_8338ECC - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x1] - movs r2, 0x3 - orrs r1, r2 - strb r1, [r0, 0x1] - ldr r0, [r5] - adds r0, 0x8E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0 - movs r2, 0x3 - movs r3, 0x3 - bl CalcCenterToCornerVec - ldr r0, [r5] - adds r0, 0x8E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0 - bl StartSpriteAffineAnim - b _0807C6FA - .pool -_0807C6E4: - ldr r0, [r5] - adds r0, 0x8E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r1, 0 - bl StartSpriteAffineAnim -_0807C6FA: - ldr r5, =gUnknown_020322A0 - ldr r0, [r5] - adds r0, 0x8F - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - movs r1, 0 - bl StartSpriteAffineAnim - ldr r2, [r5] - adds r3, r2, 0 - adds r3, 0x8E - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x3C - strh r1, [r0, 0x20] - adds r2, 0x8F - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xB4 - strh r1, [r0, 0x20] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xC0 - strh r1, [r0, 0x22] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, =0x0000ffe0 - strh r1, [r0, 0x22] - ldrb r0, [r3] - 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, 0x8F - 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 r1, [r5] - bl _0807CF4C - .pool -_0807C794: - ldr r4, =gSprites - ldr r2, [r7] - adds r3, r2, 0 - adds r3, 0x8E - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x26] - subs r1, 0x3 - movs r5, 0 - strh r1, [r0, 0x26] - adds r2, 0x8F - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - strh r1, [r0, 0x26] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r0, [r0, 0x26] - adds r0, 0xA3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bhi _0807C7DC - movs r0, 0x2D - bl PlaySE -_0807C7DC: - ldr r2, [r7] - adds r3, r2, 0 - adds r3, 0x8E - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r6, 0x26 - ldrsh r1, [r0, r6] - movs r0, 0xDE - negs r0, r0 - cmp r1, r0 - blt _0807C7FC - bl _0807CFB4 -_0807C7FC: - adds r0, r2, 0 - adds r0, 0x90 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r5, [r0, 0x30] - adds r0, r2, 0 - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r5, [r0, 0x30] - adds r1, r2, 0 - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r7] - adds r0, 0x8F - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - ldr r2, =0x0000ffff - movs r0, 0x1 - movs r1, 0 - bl BlendPalettes - b _0807CFB4 - .pool -_0807C864: - ldr r4, =gSprites - ldr r2, [r7] - adds r3, r2, 0 - adds r3, 0x90 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x26] - subs r1, 0x3 - strh r1, [r0, 0x26] - adds r2, 0x91 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - strh r1, [r0, 0x26] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r2, 0x26 - ldrsh r1, [r0, r2] - movs r0, 0xDE - negs r0, r0 - cmp r1, r0 - ble _0807C8A6 - b _0807CFB4 -_0807C8A6: - 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, [r7] - adds r2, r1, 0 - adds r2, 0x94 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - adds r1, 0x90 - ldrb r1, [r1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - ldr r0, [r7] - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - b _0807CFB4 - .pool -_0807C8EC: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0807C8FA - b _0807CFB4 -_0807C8FA: - ldr r1, [r7] - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - movs r0, 0x1 - bl sub_807B62C - ldr r0, [r7] - adds r0, 0xE0 - movs r1, 0xA6 - strh r1, [r0] - ldr r0, =gUnknown_08338D88 - movs r4, 0x14 - negs r4, r4 - movs r1, 0x80 - adds r2, r4, 0 - movs r3, 0x3 - bl CreateSprite - ldr r1, [r7] - adds r1, 0x90 - strb r0, [r1] - ldr r0, =gSpriteTemplate_8338DC8 - movs r1, 0x80 - adds r2, r4, 0 - movs r3, 0 - bl CreateSprite - ldr r1, [r7] - adds r1, 0x91 - strb r0, [r1] - ldr r0, [r7] - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r1, 0x1 - bl StartSpriteAnim - b _0807CFB4 - .pool -_0807C964: - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0x10 - movs r3, 0 - b _0807CF44 -_0807C974: - movs r1, 0x92 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0807C98C - b _0807CFB4 -_0807C98C: - b _0807CF48 - .pool -_0807C994: - ldr r2, =gSprites - ldr r4, [r7] - adds r3, r4, 0 - adds r3, 0x90 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - strh r1, [r0, 0x26] - adds r0, r4, 0 - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - strh r1, [r0, 0x26] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r3, 0x26 - ldrsh r1, [r0, r3] - movs r6, 0x22 - ldrsh r0, [r0, r6] - adds r1, r0 - cmp r1, 0x40 - beq _0807C9DA - b _0807CFB4 -_0807C9DA: - adds r1, r4, 0 - b _0807CF4C - .pool -_0807C9E4: - ldr r1, [r7] - adds r5, r1, 0 - adds r5, 0xE0 - ldrh r0, [r5] - adds r0, 0x2 - strh r0, [r5] - lsls r0, 16 - asrs r0, 16 - movs r6, 0x9E - lsls r6, 1 - cmp r0, r6 - bgt _0807C9FE - b _0807CFB4 -_0807C9FE: - strh r6, [r5] - b _0807CF4C -_0807CA02: - ldr r0, [r7] - adds r0, 0x90 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - bl DestroySprite - ldr r0, [r7] - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - ldr r3, [r7] - adds r2, r3, 0 - adds r2, 0x94 - ldrh r0, [r2] - adds r0, 0x1 - movs r1, 0 - strh r0, [r2] - str r1, [r3, 0x64] - b _0807CFB4 - .pool -_0807CA40: - ldr r1, [r7] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0xA - beq _0807CA4E - b _0807CFB4 -_0807CA4E: - b _0807CF4C -_0807CA50: - ldr r1, [r7] - adds r2, r1, 0 - adds r2, 0xE0 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - lsls r0, 16 - asrs r0, 16 - movs r3, 0xAE - lsls r3, 1 - cmp r0, r3 - ble _0807CA72 - strh r3, [r2] - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0807CA72: - ldr r2, [r7] - adds r0, r2, 0 - adds r0, 0xE0 - movs r3, 0 - ldrsh r1, [r0, r3] - movs r0, 0xA4 - lsls r0, 1 - cmp r1, r0 - beq _0807CA86 - b _0807CFB4 -_0807CA86: - adds r0, r2, 0 - adds r0, 0xFA - ldrb r0, [r0] - cmp r0, 0 - bne _0807CA92 - b _0807CFB4 -_0807CA92: - ldr r0, =gSpriteTemplate_8338DFC - movs r1, 0x80 - movs r2, 0x41 - movs r3, 0 - bl CreateSprite - ldr r1, [r7] - adds r1, 0x92 - strb r0, [r1] - ldr r2, =gSprites - ldr r0, [r7] - adds r0, 0x92 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, =sub_807AAE0 - str r1, [r0] - b _0807CFB4 - .pool -_0807CAC8: - ldr r0, =gSpriteTemplate_8338E74 - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - ldr r2, =gUnknown_020322A0 - ldr r1, [r2] - adds r1, 0x91 - strb r0, [r1] - ldr r0, [r2] - adds r0, 0x94 - movs r1, 0x32 - strh r1, [r0] - b _0807CFB4 - .pool -_0807CAF0: - ldr r2, =gSprites - ldr r0, [r7] - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - adds r0, r1, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 27 - cmp r0, 0 - blt _0807CB0E - b _0807CFB4 -_0807CB0E: - adds r0, r1, 0 - bl DestroySprite - movs r0, 0x6 - bl sub_807B62C - ldr r1, [r7] - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - movs r0, 0x9F - bl PlaySE - b _0807CFB4 - .pool -_0807CB30: - ldr r1, [r7] - adds r2, r1, 0 - adds r2, 0xEA - ldrh r3, [r2] - ldr r0, =0x000003ff - cmp r3, r0 - bhi _0807CB4C - adds r0, r3, 0 - adds r0, 0x34 - strh r0, [r2] - b _0807CB5A - .pool -_0807CB4C: - movs r0, 0x80 - lsls r0, 3 - strh r0, [r2] - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0807CB5A: - ldr r4, [r7] -_0807CB5C: - adds r0, r4, 0 - adds r0, 0xEA - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 8 - bl __divsi3 - adds r4, 0xE8 - strh r0, [r4] - b _0807CFB4 -_0807CB70: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - adds r0, 0x94 - movs r1, 0x3C - strh r1, [r0] - b _0807CFB4 - .pool -_0807CB90: - ldr r4, =gPaletteFade - ldrb r1, [r4, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0807CB9E - b _0807CFB4 -_0807CB9E: - movs r0, 0x5 - bl sub_807B62C - movs r0, 0x7 - bl sub_807B62C - ldrb r0, [r4, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r4, 0x8] - b _0807CF48 - .pool -_0807CBB8: - ldr r2, =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - b _0807CF44 - .pool -_0807CBD4: - movs r1, 0xA2 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0807CBEC - b _0807CFB4 -_0807CBEC: - b _0807CF48 - .pool -_0807CBF4: - ldr r0, =gSpriteTemplate_8338D28 - movs r2, 0x8 - negs r2, r2 - movs r1, 0x78 - movs r3, 0 - bl CreateSprite - ldr r5, =gUnknown_020322A0 - ldr r1, [r5] - adds r1, 0xD3 - movs r6, 0 - strb r0, [r1] - ldr r4, =gSprites - ldr r2, [r5] - adds r2, 0xD3 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x4A - strh r1, [r0, 0x34] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r4, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, =sub_807E6AC - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x1 - bl StartSpriteAnim - ldr r0, [r5] - adds r0, 0xD3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x2 - bl StartSpriteAffineAnim - ldr r0, [r5] - adds r0, 0xD3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x5] - lsrs r1, 4 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - ldr r2, =0x0000ffff - movs r1, 0x10 - bl BlendPalettes - ldr r2, [r5] - adds r1, r2, 0 - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - str r6, [r2, 0x64] - b _0807CFB4 - .pool -_0807CC9C: - ldr r2, =gSprites - ldr r0, [r7] - adds r0, 0xD3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x5] - lsrs r1, 4 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - ldr r1, =0x0000ffff - str r1, [sp] - movs r1, 0x1 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r1, [r7] - b _0807CF4C - .pool -_0807CCD0: - ldr r2, =gSprites - ldr r3, [r7] - adds r0, r3, 0 - adds r0, 0xD3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, [r0] - ldr r0, =SpriteCallbackDummy - cmp r1, r0 - beq _0807CCEE - b _0807CFB4 -_0807CCEE: - adds r0, r3, 0 - adds r0, 0xF2 - ldrh r2, [r0] - lsls r0, r2, 3 - ldr r1, =gMonFrontPicTable - adds r0, r1 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - ldr r1, [r1, 0x10] - ldr r3, [r3, 0x6C] - bl HandleLoadSpecialPokePic_2 - ldr r1, [r7] - b _0807CF4C - .pool -_0807CD1C: - ldr r4, =gSprites - ldr r2, [r7] - adds r6, r2, 0 - adds r6, 0x8F - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r5, 0 - movs r1, 0x78 - strh r1, [r0, 0x20] - ldrb r0, [r6] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldr r3, =gMonFrontPicCoords - adds r2, 0xF2 - ldrh r0, [r2] - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x1] - adds r0, 0x3C - strh r0, [r1, 0x22] - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r5, [r0, 0x24] - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r5, [r0, 0x26] - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0 - bl StartSpriteAnim - ldr r3, [r7] - adds r0, r3, 0 - adds r0, 0x8F - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r1, [r1, 0x5] - lsrs r1, 4 - movs r2, 0x2 - str r2, [sp] - movs r2, 0x1 - str r2, [sp, 0x4] - movs r2, 0x14 - str r2, [sp, 0x8] - ldr r2, =0x000fffff - str r2, [sp, 0xC] - adds r3, 0xF2 - ldrh r2, [r3] - str r2, [sp, 0x10] - movs r2, 0x78 - movs r3, 0x54 - bl CreatePokeballSpriteToReleaseMon - ldr r0, [r7] - adds r0, 0xD3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl FreeSpriteOamMatrix - ldr r0, [r7] - adds r0, 0xD3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - ldr r1, [r7] - b _0807CF4C - .pool -_0807CDDC: - movs r1, 0xAA - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r4, =gStringVar4 - ldr r1, =gText_XSentOverY - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - adds r1, r4, 0 - movs r2, 0 - bl sub_807F1A8 - ldr r0, =gUnknown_020322A0 - ldr r3, [r0] - adds r1, r3, 0 - adds r1, 0x94 - movs r2, 0 - movs r0, 0xA7 -_0807CE06: - strh r0, [r1] - str r2, [r3, 0x64] - b _0807CFB4 - .pool -_0807CE18: - ldr r3, [r7] - ldr r0, [r3, 0x64] - adds r0, 0x1 - str r0, [r3, 0x64] - cmp r0, 0x3C - bhi _0807CE26 - b _0807CFB4 -_0807CE26: - adds r0, r3, 0 - adds r0, 0x94 - movs r2, 0 - ldr r1, =0x0000010b - strh r1, [r0] - str r2, [r3, 0x64] - b _0807CFB4 - .pool -_0807CE38: - bl IsCryFinished - lsls r0, 24 - cmp r0, 0 - bne _0807CE44 - b _0807CFB4 -_0807CE44: - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - adds r0, 0x94 - movs r1, 0x44 - strh r1, [r0] - b _0807CFB4 - .pool -_0807CE54: - ldr r1, [r7] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0xA - bne _0807CE66 - ldr r0, =0x00000173 - bl PlayFanfare -_0807CE66: - ldr r1, [r7] - ldr r0, [r1, 0x64] - cmp r0, 0xFA - beq _0807CE70 - b _0807CFB4 -_0807CE70: - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - movs r5, 0 - strh r0, [r1] - ldr r4, =gStringVar4 - ldr r1, =gText_TakeGoodCareOfX - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - adds r1, r4, 0 - movs r2, 0 - bl sub_807F1A8 - ldr r0, [r7] - str r5, [r0, 0x64] - b _0807CFB4 - .pool -_0807CEA0: - ldr r1, [r7] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0x3C - beq _0807CEAE - b _0807CFB4 -_0807CEAE: - b _0807CF4C -_0807CEB0: - bl sub_807F14C - b _0807CF48 -_0807CEB6: - ldr r2, [r7] - adds r0, r2, 0 - adds r0, 0xEE - ldrb r0, [r0] - cmp r0, 0 - beq _0807CEC6 - movs r0, 0x1 - b _0807CFB6 -_0807CEC6: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0807CFB4 - adds r1, r2, 0 - b _0807CF4C - .pool -_0807CEDC: - ldr r0, =gSpecialVar_0x8005 - ldrb r0, [r0] - movs r1, 0 - bl sub_807B4D0 - ldr r1, =gCB2_AfterEvolution - ldr r0, =sub_807B60C - str r0, [r1] - ldr r7, =gUnknown_02032298 - ldrb r0, [r7] - movs r6, 0x64 - muls r0, r6 - ldr r5, =gPlayerParty - adds r0, r5 - movs r1, 0x1 - movs r2, 0 - bl GetEvolutionTargetSpecies - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - beq _0807CF48 - ldrb r3, [r7] - adds r0, r3, 0 - muls r0, r6 - adds r0, r5 - ldr r1, =gUnknown_020322A0 - ldr r1, [r1] - adds r1, 0x8F - ldrb r2, [r1] - adds r1, r4, 0 - bl TradeEvolutionScene - b _0807CF48 - .pool -_0807CF38: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 -_0807CF44: - bl BeginNormalPaletteFade -_0807CF48: - ldr r0, =gUnknown_020322A0 - ldr r1, [r0] -_0807CF4C: - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _0807CFB4 - .pool -_0807CF5C: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _0807CFB4 - ldr r0, [r7] - adds r0, 0xF4 - ldrh r0, [r0] - bl PlayNewMapMusic - ldr r0, [r7] - cmp r0, 0 - beq _0807CFAA - bl FreeAllWindowBuffers - movs r0, 0x3 - bl GetBgTilemapBuffer - bl Free - movs r0, 0x1 - bl GetBgTilemapBuffer - bl Free - movs r0, 0 - bl GetBgTilemapBuffer - bl Free - bl FreeMonSpritesGfx - ldr r0, [r7] - bl Free - str r4, [r7] -_0807CFAA: - ldr r0, =CB2_ReturnToField - bl SetMainCallback2 - bl sub_807E784 -_0807CFB4: - movs r0, 0 -_0807CFB6: - add sp, 0x14 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_807BBEC - - thumb_func_start sub_807CFC8 -sub_807CFC8: @ 807CFC8 - push {r4-r7,lr} - sub sp, 0x14 - ldr r0, =gUnknown_020322A0 - ldr r1, [r0] - adds r1, 0x94 - ldrh r5, [r1] - ldr r1, =0x0000010b - adds r7, r0, 0 - cmp r5, r1 - bls _0807CFE0 - bl _0807E400 -_0807CFE0: - lsls r0, r5, 2 - ldr r1, =_0807CFF8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0807CFF8: - .4byte _0807D428 - .4byte _0807D4A0 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807D4FC - .4byte _0807D544 - .4byte _0807D5B8 - .4byte _0807E400 - .4byte _0807D624 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807D648 - .4byte _0807D678 - .4byte _0807D68A - .4byte _0807D6AC - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807D7A4 - .4byte _0807D7C4 - .4byte _0807D830 - .4byte _0807D8B4 - .4byte _0807D8D8 - .4byte _0807D924 - .4byte _0807D970 - .4byte _0807D9CC - .4byte _0807DA38 - .4byte _0807DA4C - .4byte _0807DA60 - .4byte _0807DA74 - .4byte _0807DB9C - .4byte _0807DC6C - .4byte _0807DCF4 - .4byte _0807DD94 - .4byte _0807DDA4 - .4byte _0807DDC4 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807DEE8 - .4byte _0807DEF8 - .4byte _0807DF16 - .4byte _0807E400 - .4byte _0807DF3C - .4byte _0807DF7C - .4byte _0807DFBC - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807DFDC - .4byte _0807E004 - .4byte _0807E020 - .4byte _0807E040 - .4byte _0807E0E8 - .4byte _0807E11C - .4byte _0807E168 - .4byte _0807E228 - .4byte _0807E2A0 - .4byte _0807E2EC - .4byte _0807E2FC - .4byte _0807E302 - .4byte _0807E328 - .4byte _0807E384 - .4byte _0807E3A8 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807D6F4 - .4byte _0807D728 - .4byte _0807D77C - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807DE1C - .4byte _0807DE84 - .4byte _0807DEC0 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E264 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807D85C - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E284 -_0807D428: - ldr r3, =gSprites - ldr r0, [r7] - adds r0, 0x8E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - ldr r4, [r7] - adds r2, r4, 0 - adds r2, 0x8E - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldr r1, =0x0000ff4c - strh r1, [r0, 0x24] - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldr r2, =gMonFrontPicCoords - adds r0, r4, 0 - adds r0, 0xF0 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - strh r0, [r1, 0x26] - adds r1, r4, 0 - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - bl GetCurrentMapMusic - ldr r1, [r7] - adds r1, 0xF4 - strh r0, [r1] - ldr r0, =0x00000179 - bl PlayNewMapMusic - bl _0807E400 - .pool -_0807D4A0: - ldr r5, [r7] - adds r6, r5, 0 - adds r6, 0xE6 - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0 - ble _0807D4D4 - ldr r2, =gSprites - adds r0, r5, 0 - adds r0, 0x8E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x24] - adds r1, 0x3 - strh r1, [r0, 0x24] - ldrh r0, [r6] - subs r0, 0x3 - strh r0, [r6] - bl _0807E400 - .pool -_0807D4D4: - ldr r2, =gSprites - adds r0, r5, 0 - adds r0, 0x8E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0x24] - strh r1, [r6] - adds r1, r5, 0 - adds r1, 0x94 - movs r0, 0xA - strh r0, [r1] - bl _0807E400 - .pool -_0807D4FC: - ldr r4, =gStringVar4 - ldr r1, =gText_XWillBeSentToY - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - adds r1, r4, 0 - movs r2, 0 - bl sub_807F1A8 - ldr r4, =gUnknown_020322A0 - ldr r0, [r4] - adds r2, r0, 0 - adds r2, 0xF0 - ldrh r1, [r2] - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - beq _0807D52A - adds r0, r1, 0 - movs r1, 0 - bl PlayCry1 -_0807D52A: - ldr r3, [r4] - adds r1, r3, 0 - adds r1, 0x94 - movs r2, 0 - movs r0, 0xB - bl _0807E252 - .pool -_0807D544: - ldr r1, [r7] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0x50 - beq _0807D554 - bl _0807E400 -_0807D554: - adds r0, r1, 0 - adds r0, 0x8E - ldrb r0, [r0] - ldr r2, =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r1, [r1, 0x5] - lsrs r1, 4 - movs r2, 0x2 - str r2, [sp] - movs r2, 0x1 - str r2, [sp, 0x4] - movs r2, 0x14 - str r2, [sp, 0x8] - ldr r2, =0x000fffff - str r2, [sp, 0xC] - movs r2, 0x78 - movs r3, 0x20 - bl sub_807671C - ldr r1, [r7] - adds r1, 0xD2 - strb r0, [r1] - ldr r1, [r7] - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - ldr r4, =gStringVar4 - ldr r1, =gText_ByeByeVar1 - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - adds r1, r4, 0 - movs r2, 0 - bl sub_807F1A8 - bl _0807E400 - .pool -_0807D5B8: - ldr r5, =gSprites - ldr r0, [r7] - adds r0, 0xD2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, r5, 0 - adds r4, 0x1C - adds r0, r4 - ldr r1, [r0] - ldr r0, =SpriteCallbackDummy - cmp r1, r0 - beq _0807D5D8 - bl _0807E400 -_0807D5D8: - ldr r0, =gSpriteTemplate_8338D28 - movs r1, 0x78 - movs r2, 0x20 - movs r3, 0 - bl CreateSprite - ldr r1, [r7] - adds r1, 0xD3 - strb r0, [r1] - ldr r2, [r7] - adds r0, r2, 0 - adds r0, 0xD3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, =sub_807E5D8 - str r1, [r0] - adds r2, 0xD2 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - bl DestroySprite - ldr r1, [r7] - bl _0807E398 - .pool -_0807D624: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - adds r0, 0x94 - movs r1, 0x14 - strh r1, [r0] - bl _0807E400 - .pool -_0807D648: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0807D658 - bl _0807E400 -_0807D658: - movs r0, 0x4 - bl sub_807B62C - movs r0, 0 - movs r1, 0xFF - bl FillWindowPixelBuffer - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - bl _0807E394 - .pool -_0807D678: - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0x10 - movs r3, 0 - bl _0807E390 -_0807D68A: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0807D69A - bl _0807E400 -_0807D69A: - ldr r0, [r7] - adds r0, 0x94 - movs r1, 0x17 - strh r1, [r0] - bl _0807E400 - .pool -_0807D6AC: - ldr r4, =gUnknown_020322A0 - ldr r0, [r4] - adds r2, r0, 0 - adds r2, 0xEA - ldrh r1, [r2] - movs r0, 0x80 - lsls r0, 1 - cmp r1, r0 - bls _0807D6CC - adds r0, r1, 0 - subs r0, 0x34 - strh r0, [r2] - b _0807D6E6 - .pool -_0807D6CC: - movs r0, 0x1 - bl sub_807B62C - ldr r3, [r4] - adds r1, r3, 0 - adds r1, 0xEA - movs r2, 0 - movs r0, 0x80 - strh r0, [r1] - subs r1, 0x56 - movs r0, 0x7C - strh r0, [r1] - str r2, [r3, 0x64] -_0807D6E6: - ldr r0, =gUnknown_020322A0 - ldr r4, [r0] - bl _0807DFA8 - .pool -_0807D6F4: - ldr r1, [r7] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0x14 - bhi _0807D704 - bl _0807E400 -_0807D704: - movs r0, 0x3 - bl sub_807B62C - ldr r0, =gSpriteTemplate_8338E8C - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - ldr r1, [r7] - adds r1, 0x91 - strb r0, [r1] - ldr r1, [r7] - bl _0807E398 - .pool -_0807D728: - ldr r2, =gSprites - ldr r0, [r7] - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - adds r0, r1, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 27 - cmp r0, 0 - blt _0807D748 - bl _0807E400 -_0807D748: - adds r0, r1, 0 - bl DestroySprite - ldr r1, =0x00000452 - movs r0, 0x50 - bl SetGpuReg - movs r1, 0x82 - lsls r1, 3 - movs r0, 0x52 - bl SetGpuReg - ldr r0, =c3_08054588 - movs r1, 0x5 - bl CreateTask - ldr r1, [r7] - bl _0807E398 - .pool -_0807D77C: - ldr r0, =c3_08054588 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - beq _0807D78C - bl _0807E400 -_0807D78C: - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - adds r0, 0x94 - movs r1, 0x1A - strh r1, [r0] - bl _0807E400 - .pool -_0807D7A4: - ldr r2, [r7] - adds r0, r2, 0 - adds r0, 0xE0 - ldrh r1, [r0] - subs r1, 0x1 - strh r1, [r0] - lsls r1, 16 - movs r0, 0x9E - lsls r0, 17 - cmp r1, r0 - beq _0807D7BE - bl _0807E400 -_0807D7BE: - adds r1, r2, 0 - bl _0807E398 -_0807D7C4: - ldr r0, =gUnknown_08338D88 - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0x3 - bl CreateSprite - ldr r4, =gUnknown_020322A0 - ldr r1, [r4] - adds r1, 0x90 - strb r0, [r1] - ldr r5, =gSprites - ldr r0, [r4] - adds r0, 0x90 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r5, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, =sub_807AA4C - str r1, [r0] - ldr r0, =gSpriteTemplate_8338DC8 - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - ldr r1, [r4] - adds r1, 0x91 - strb r0, [r1] - ldr r0, [r4] - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x1 - bl StartSpriteAnim - ldr r1, [r4] - bl _0807E398 - .pool -_0807D830: - ldr r2, [r7] - adds r1, r2, 0 - adds r1, 0xE0 - ldrh r0, [r1] - subs r0, 0x3 - strh r0, [r1] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA6 - bne _0807D84A - subs r1, 0x4C - movs r0, 0xC8 - strh r0, [r1] -_0807D84A: - ldr r1, =0x00001241 - movs r0, 0 - bl SetGpuReg - bl _0807E400 - .pool -_0807D85C: - ldr r2, =gSprites - ldr r4, [r7] - adds r3, r4, 0 - adds r3, 0x90 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x22] - subs r1, 0x2 - strh r1, [r0, 0x22] - adds r0, r4, 0 - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x22] - subs r1, 0x2 - strh r1, [r0, 0x22] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r2, 0x22 - ldrsh r1, [r0, r2] - movs r0, 0x8 - negs r0, r0 - cmp r1, r0 - blt _0807D8A2 - bl _0807E400 -_0807D8A2: - adds r1, r4, 0 - adds r1, 0x94 - movs r0, 0x1D - strh r0, [r1] - bl _0807E400 - .pool -_0807D8B4: - 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 r0, =gUnknown_020322A0 - ldr r0, [r0] - adds r0, 0x94 - movs r1, 0x1E - strh r1, [r0] - bl _0807E400 - .pool -_0807D8D8: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0807D8E8 - bl _0807E400 -_0807D8E8: - ldr r0, [r7] - adds r0, 0x90 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - bl DestroySprite - ldr r0, [r7] - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - movs r0, 0x2 - bl sub_807B62C - ldr r1, [r7] - bl _0807E398 - .pool -_0807D924: - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r5, =gSpriteTemplate_8338DC8 - adds r0, r5, 0 - movs r1, 0x6F - movs r2, 0xAA - movs r3, 0 - bl CreateSprite - ldr r4, =gUnknown_020322A0 - ldr r1, [r4] - adds r1, 0x90 - strb r0, [r1] - movs r2, 0xA - negs r2, r2 - adds r0, r5, 0 - movs r1, 0x81 - movs r3, 0 - bl CreateSprite - ldr r1, [r4] - adds r1, 0x91 - strb r0, [r1] - ldr r1, [r4] - bl _0807E398 - .pool -_0807D970: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0807D98E - movs r0, 0x2E - bl PlaySE - ldr r0, =gUnknown_020322A0 - ldr r1, [r0] - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0807D98E: - ldr r3, =gSprites - ldr r0, =gUnknown_020322A0 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x90 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x26] - subs r1, 0x3 - strh r1, [r0, 0x26] - adds r2, 0x91 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - strh r1, [r0, 0x26] - bl _0807E400 - .pool -_0807D9CC: - ldr r5, =gSprites - ldr r4, [r7] - adds r2, r4, 0 - adds r2, 0x90 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrh r1, [r0, 0x26] - subs r1, 0x3 - strh r1, [r0, 0x26] - adds r6, r4, 0 - adds r6, 0x91 - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - strh r1, [r0, 0x26] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r3, r0, r5 - movs r0, 0x26 - ldrsh r1, [r3, r0] - movs r0, 0x5A - negs r0, r0 - cmp r1, r0 - ble _0807DA12 - bl _0807E400 -_0807DA12: - movs r2, 0x1 - strh r2, [r3, 0x30] - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r2, [r0, 0x30] - adds r1, r4, 0 - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - ldr r0, =c3_0805465C - b _0807DC5A - .pool -_0807DA38: - ldr r2, =0x0000ffff - movs r0, 0x8 - movs r1, 0x10 - bl BlendPalettes - bl _0807E394 - .pool -_0807DA4C: - ldr r2, =0x0000ffff - movs r0, 0x8 - movs r1, 0x10 - bl BlendPalettes - bl _0807E394 - .pool -_0807DA60: - ldr r2, =0x0000ffff - movs r0, 0x8 - movs r1, 0x10 - bl BlendPalettes - bl _0807E394 - .pool -_0807DA74: - ldr r5, =gUnknown_020322A0 - ldr r0, [r5] - adds r0, 0xF0 - ldrh r0, [r0] - bl IsMonSpriteNotFlipped - lsls r0, 24 - cmp r0, 0 - bne _0807DAEC - ldr r4, =gSprites - ldr r2, [r5] - adds r2, 0x8E - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r4, 0 - adds r1, 0x10 - adds r0, r1 - ldr r1, =gSpriteAffineAnimTable_8338ECC - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x1] - movs r2, 0x3 - orrs r1, r2 - strb r1, [r0, 0x1] - ldr r0, [r5] - adds r0, 0x8E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0 - movs r2, 0x3 - movs r3, 0x3 - bl CalcCenterToCornerVec - ldr r0, [r5] - adds r0, 0x8E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0 - bl StartSpriteAffineAnim - b _0807DB02 - .pool -_0807DAEC: - ldr r0, [r5] - adds r0, 0x8E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r1, 0 - bl StartSpriteAffineAnim -_0807DB02: - ldr r5, =gUnknown_020322A0 - ldr r0, [r5] - adds r0, 0x8F - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - movs r1, 0 - bl StartSpriteAffineAnim - ldr r2, [r5] - adds r3, r2, 0 - adds r3, 0x8E - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x28 - strh r1, [r0, 0x20] - adds r2, 0x8F - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xC8 - strh r1, [r0, 0x20] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xC0 - strh r1, [r0, 0x22] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, =0x0000ffe0 - strh r1, [r0, 0x22] - ldrb r0, [r3] - 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, 0x8F - 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 r1, [r5] - bl _0807E398 - .pool -_0807DB9C: - ldr r4, =gSprites - ldr r2, [r7] - adds r3, r2, 0 - adds r3, 0x8E - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x26] - subs r1, 0x3 - movs r5, 0 - strh r1, [r0, 0x26] - adds r2, 0x8F - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - strh r1, [r0, 0x26] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r0, [r0, 0x26] - adds r0, 0xA3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bhi _0807DBE4 - movs r0, 0x2D - bl PlaySE -_0807DBE4: - ldr r2, [r7] - adds r3, r2, 0 - adds r3, 0x8E - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r6, 0x26 - ldrsh r1, [r0, r6] - movs r0, 0xDE - negs r0, r0 - cmp r1, r0 - blt _0807DC04 - bl _0807E400 -_0807DC04: - adds r0, r2, 0 - adds r0, 0x90 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r5, [r0, 0x30] - adds r0, r2, 0 - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r5, [r0, 0x30] - adds r1, r2, 0 - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r7] - adds r0, 0x8F - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - ldr r0, =sub_807F39C -_0807DC5A: - movs r1, 0x5 - bl CreateTask - b _0807E400 - .pool -_0807DC6C: - ldr r4, =gSprites - ldr r2, [r7] - adds r3, r2, 0 - adds r3, 0x90 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x26] - subs r1, 0x3 - strh r1, [r0, 0x26] - adds r2, 0x91 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - strh r1, [r0, 0x26] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r2, 0x26 - ldrsh r1, [r0, r2] - movs r0, 0xDE - negs r0, r0 - cmp r1, r0 - ble _0807DCAE - b _0807E400 -_0807DCAE: - 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, [r7] - adds r2, r1, 0 - adds r2, 0x94 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - adds r1, 0x90 - ldrb r1, [r1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - ldr r0, [r7] - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - b _0807E400 - .pool -_0807DCF4: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0807DD02 - b _0807E400 -_0807DD02: - ldr r1, [r7] - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - movs r0, 0x1 - bl sub_807B62C - ldr r0, [r7] - adds r0, 0xE0 - movs r1, 0xA6 - strh r1, [r0] - movs r0, 0x3 - bl sub_807B62C - ldr r0, [r7] - adds r0, 0xE4 - movs r1, 0xCE - lsls r1, 1 - strh r1, [r0] - ldr r0, =gUnknown_08338D88 - movs r4, 0x14 - negs r4, r4 - movs r1, 0x78 - adds r2, r4, 0 - movs r3, 0x3 - bl CreateSprite - ldr r1, [r7] - adds r1, 0x90 - strb r0, [r1] - ldr r5, =gSprites - ldr r0, [r7] - adds r0, 0x90 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r5, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, =sub_807AA4C - str r1, [r0] - ldr r0, =gSpriteTemplate_8338DC8 - movs r1, 0x78 - adds r2, r4, 0 - movs r3, 0 - bl CreateSprite - ldr r1, [r7] - adds r1, 0x91 - strb r0, [r1] - ldr r0, [r7] - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x1 - bl StartSpriteAnim - b _0807E400 - .pool -_0807DD94: - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0x10 - movs r3, 0 - b _0807E390 -_0807DDA4: - movs r1, 0x92 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0807DDBC - b _0807E400 -_0807DDBC: - b _0807E394 - .pool -_0807DDC4: - ldr r2, =gSprites - ldr r4, [r7] - adds r3, r4, 0 - adds r3, 0x90 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - adds r1, 0x4 - strh r1, [r0, 0x26] - adds r0, r4, 0 - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - adds r1, 0x4 - strh r1, [r0, 0x26] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r6, 0x26 - ldrsh r1, [r0, r6] - movs r2, 0x22 - ldrsh r0, [r0, r2] - adds r1, r0 - cmp r1, 0x40 - beq _0807DE0A - b _0807E400 -_0807DE0A: - adds r0, r4, 0 - adds r0, 0x94 - movs r1, 0x90 - strh r1, [r0] - movs r0, 0 - str r0, [r4, 0x64] - b _0807E400 - .pool -_0807DE1C: - movs r1, 0xB2 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r4, =gUnknown_020322A0 - ldr r2, [r4] - adds r1, r2, 0 - adds r1, 0xE0 - ldrh r0, [r1] - adds r0, 0x3 - strh r0, [r1] - adds r1, 0x4 - ldrh r0, [r1] - adds r0, 0x3 - strh r0, [r1] - ldr r0, [r2, 0x64] - adds r0, 0x1 - str r0, [r2, 0x64] - cmp r0, 0xA - bne _0807DE60 - ldr r0, =c3_08054588 - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0x1 - strh r0, [r1, 0xC] -_0807DE60: - ldr r1, [r4] - adds r3, r1, 0 - adds r3, 0xE0 - movs r6, 0 - ldrsh r0, [r3, r6] - movs r2, 0x9E - lsls r2, 1 - cmp r0, r2 - bgt _0807DE74 - b _0807E400 -_0807DE74: - strh r2, [r3] - b _0807E398 - .pool -_0807DE84: - ldr r0, [r7] - adds r0, 0x90 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - bl DestroySprite - ldr r0, [r7] - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - ldr r3, [r7] - adds r2, r3, 0 - adds r2, 0x94 - ldrh r0, [r2] - adds r0, 0x1 - movs r1, 0 - strh r0, [r2] - str r1, [r3, 0x64] - b _0807E400 - .pool -_0807DEC0: - ldr r0, =c3_08054588 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - beq _0807DED0 - b _0807E400 -_0807DED0: - ldr r0, =gUnknown_020322A0 - ldr r2, [r0] - adds r1, r2, 0 - adds r1, 0x94 - movs r0, 0x2E - strh r0, [r1] - str r3, [r2, 0x64] - b _0807E400 - .pool -_0807DEE8: - ldr r1, [r7] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0xA - beq _0807DEF6 - b _0807E400 -_0807DEF6: - b _0807E398 -_0807DEF8: - ldr r1, [r7] - adds r5, r1, 0 - adds r5, 0xE0 - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - lsls r0, 16 - asrs r0, 16 - movs r6, 0xAE - lsls r6, 1 - cmp r0, r6 - bgt _0807DF12 - b _0807E400 -_0807DF12: - strh r6, [r5] - b _0807E398 -_0807DF16: - ldr r0, =gSpriteTemplate_8338E74 - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - ldr r2, =gUnknown_020322A0 - ldr r1, [r2] - adds r1, 0x91 - strb r0, [r1] - ldr r0, [r2] - adds r0, 0x94 - movs r1, 0x32 - strh r1, [r0] - b _0807E400 - .pool -_0807DF3C: - ldr r2, =gSprites - ldr r0, [r7] - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - adds r0, r1, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 27 - cmp r0, 0 - blt _0807DF5A - b _0807E400 -_0807DF5A: - adds r0, r1, 0 - bl DestroySprite - movs r0, 0x6 - bl sub_807B62C - ldr r1, [r7] - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - movs r0, 0x9F - bl PlaySE - b _0807E400 - .pool -_0807DF7C: - ldr r1, [r7] - adds r2, r1, 0 - adds r2, 0xEA - ldrh r3, [r2] - ldr r0, =0x000003ff - cmp r3, r0 - bhi _0807DF98 - adds r0, r3, 0 - adds r0, 0x34 - strh r0, [r2] - b _0807DFA6 - .pool -_0807DF98: - movs r0, 0x80 - lsls r0, 3 - strh r0, [r2] - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0807DFA6: - ldr r4, [r7] -_0807DFA8: - adds r0, r4, 0 - adds r0, 0xEA - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 8 - bl __divsi3 - adds r4, 0xE8 - strh r0, [r4] - b _0807E400 -_0807DFBC: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - adds r0, 0x94 - movs r1, 0x3C - strh r1, [r0] - b _0807E400 - .pool -_0807DFDC: - ldr r4, =gPaletteFade - ldrb r1, [r4, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0807DFEA - b _0807E400 -_0807DFEA: - movs r0, 0x5 - bl sub_807B62C - movs r0, 0x7 - bl sub_807B62C - ldrb r0, [r4, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r4, 0x8] - b _0807E394 - .pool -_0807E004: - ldr r2, =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - b _0807E390 - .pool -_0807E020: - movs r1, 0xA2 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0807E038 - b _0807E400 -_0807E038: - b _0807E394 - .pool -_0807E040: - ldr r0, =gSpriteTemplate_8338D28 - movs r2, 0x8 - negs r2, r2 - movs r1, 0x78 - movs r3, 0 - bl CreateSprite - ldr r5, =gUnknown_020322A0 - ldr r1, [r5] - adds r1, 0xD3 - movs r6, 0 - strb r0, [r1] - ldr r4, =gSprites - ldr r2, [r5] - adds r2, 0xD3 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x4A - strh r1, [r0, 0x34] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r4, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, =sub_807E6AC - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x1 - bl StartSpriteAnim - ldr r0, [r5] - adds r0, 0xD3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x2 - bl StartSpriteAffineAnim - ldr r0, [r5] - adds r0, 0xD3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x5] - lsrs r1, 4 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - ldr r2, =0x0000ffff - movs r1, 0x10 - bl BlendPalettes - ldr r2, [r5] - adds r1, r2, 0 - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - str r6, [r2, 0x64] - b _0807E400 - .pool -_0807E0E8: - ldr r2, =gSprites - ldr r0, [r7] - adds r0, 0xD3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x5] - lsrs r1, 4 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - ldr r1, =0x0000ffff - str r1, [sp] - movs r1, 0x1 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r1, [r7] - b _0807E398 - .pool -_0807E11C: - ldr r2, =gSprites - ldr r3, [r7] - adds r0, r3, 0 - adds r0, 0xD3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, [r0] - ldr r0, =SpriteCallbackDummy - cmp r1, r0 - beq _0807E13A - b _0807E400 -_0807E13A: - adds r0, r3, 0 - adds r0, 0xF2 - ldrh r2, [r0] - lsls r0, r2, 3 - ldr r1, =gMonFrontPicTable - adds r0, r1 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - ldr r1, [r1, 0x10] - ldr r3, [r3, 0x6C] - bl HandleLoadSpecialPokePic_2 - ldr r1, [r7] - b _0807E398 - .pool -_0807E168: - ldr r4, =gSprites - ldr r2, [r7] - adds r6, r2, 0 - adds r6, 0x8F - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r5, 0 - movs r1, 0x78 - strh r1, [r0, 0x20] - ldrb r0, [r6] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldr r3, =gMonFrontPicCoords - adds r2, 0xF2 - ldrh r0, [r2] - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x1] - adds r0, 0x3C - strh r0, [r1, 0x22] - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r5, [r0, 0x24] - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r5, [r0, 0x26] - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0 - bl StartSpriteAnim - ldr r3, [r7] - adds r0, r3, 0 - adds r0, 0x8F - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r1, [r1, 0x5] - lsrs r1, 4 - movs r2, 0x2 - str r2, [sp] - movs r2, 0x1 - str r2, [sp, 0x4] - movs r2, 0x14 - str r2, [sp, 0x8] - ldr r2, =0x000fffff - str r2, [sp, 0xC] - adds r3, 0xF2 - ldrh r2, [r3] - str r2, [sp, 0x10] - movs r2, 0x78 - movs r3, 0x54 - bl CreatePokeballSpriteToReleaseMon - ldr r0, [r7] - adds r0, 0xD3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl FreeSpriteOamMatrix - ldr r0, [r7] - adds r0, 0xD3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - ldr r1, [r7] - b _0807E398 - .pool -_0807E228: - movs r1, 0xAA - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r4, =gStringVar4 - ldr r1, =gText_XSentOverY - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - adds r1, r4, 0 - movs r2, 0 - bl sub_807F1A8 - ldr r0, =gUnknown_020322A0 - ldr r3, [r0] - adds r1, r3, 0 - adds r1, 0x94 - movs r2, 0 - movs r0, 0xA7 -_0807E252: - strh r0, [r1] - str r2, [r3, 0x64] - b _0807E400 - .pool -_0807E264: - ldr r3, [r7] - ldr r0, [r3, 0x64] - adds r0, 0x1 - str r0, [r3, 0x64] - cmp r0, 0x3C - bhi _0807E272 - b _0807E400 -_0807E272: - adds r0, r3, 0 - adds r0, 0x94 - movs r2, 0 - ldr r1, =0x0000010b - strh r1, [r0] - str r2, [r3, 0x64] - b _0807E400 - .pool -_0807E284: - bl IsCryFinished - lsls r0, 24 - cmp r0, 0 - bne _0807E290 - b _0807E400 -_0807E290: - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - adds r0, 0x94 - movs r1, 0x44 - strh r1, [r0] - b _0807E400 - .pool -_0807E2A0: - ldr r1, [r7] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0xA - bne _0807E2B2 - ldr r0, =0x00000173 - bl PlayFanfare -_0807E2B2: - ldr r1, [r7] - ldr r0, [r1, 0x64] - cmp r0, 0xFA - beq _0807E2BC - b _0807E400 -_0807E2BC: - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - movs r5, 0 - strh r0, [r1] - ldr r4, =gStringVar4 - ldr r1, =gText_TakeGoodCareOfX - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - adds r1, r4, 0 - movs r2, 0 - bl sub_807F1A8 - ldr r0, [r7] - str r5, [r0, 0x64] - b _0807E400 - .pool -_0807E2EC: - ldr r1, [r7] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0x3C - beq _0807E2FA - b _0807E400 -_0807E2FA: - b _0807E398 -_0807E2FC: - bl sub_807F14C - b _0807E394 -_0807E302: - ldr r2, [r7] - adds r0, r2, 0 - adds r0, 0xEE - ldrb r0, [r0] - cmp r0, 0 - beq _0807E312 - movs r0, 0x1 - b _0807E402 -_0807E312: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0807E400 - adds r1, r2, 0 - b _0807E398 - .pool -_0807E328: - ldr r0, =gSpecialVar_0x8005 - ldrb r0, [r0] - movs r1, 0 - bl sub_807B4D0 - ldr r1, =gCB2_AfterEvolution - ldr r0, =sub_807B60C - str r0, [r1] - ldr r7, =gUnknown_02032298 - ldrb r0, [r7] - movs r6, 0x64 - muls r0, r6 - ldr r5, =gPlayerParty - adds r0, r5 - movs r1, 0x1 - movs r2, 0 - bl GetEvolutionTargetSpecies - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - beq _0807E394 - ldrb r3, [r7] - adds r0, r3, 0 - muls r0, r6 - adds r0, r5 - ldr r1, =gUnknown_020322A0 - ldr r1, [r1] - adds r1, 0x8F - ldrb r2, [r1] - adds r1, r4, 0 - bl TradeEvolutionScene - b _0807E394 - .pool -_0807E384: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 -_0807E390: - bl BeginNormalPaletteFade -_0807E394: - ldr r0, =gUnknown_020322A0 - ldr r1, [r0] -_0807E398: - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _0807E400 - .pool -_0807E3A8: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _0807E400 - ldr r0, [r7] - adds r0, 0xF4 - ldrh r0, [r0] - bl PlayNewMapMusic - ldr r0, [r7] - cmp r0, 0 - beq _0807E3F6 - bl FreeAllWindowBuffers - movs r0, 0x3 - bl GetBgTilemapBuffer - bl Free - movs r0, 0x1 - bl GetBgTilemapBuffer - bl Free - movs r0, 0 - bl GetBgTilemapBuffer - bl Free - bl FreeMonSpritesGfx - ldr r0, [r7] - bl Free - str r4, [r7] -_0807E3F6: - ldr r0, =CB2_ReturnToField - bl SetMainCallback2 - bl sub_807E784 -_0807E400: - movs r0, 0 -_0807E402: - add sp, 0x14 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_807CFC8 - - thumb_func_start c2_08053788 -c2_08053788: @ 807E414 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0 - beq _0807E434 - cmp r0, 0x4 - beq _0807E444 - b _0807E4B4 - .pool -_0807E434: - movs r0, 0x4 - strb r0, [r1] - ldr r1, =gSoftResetDisabled - movs r0, 0x1 - b _0807E4B2 - .pool -_0807E444: - ldr r0, =gCB2_AfterEvolution - ldr r1, =sub_807EB50 - mov r8, r1 - str r1, [r0] - ldr r7, =gUnknown_02032298 - ldrb r0, [r7] - movs r6, 0x64 - muls r0, r6 - ldr r5, =gPlayerParty - adds r0, r5 - movs r1, 0x1 - movs r2, 0 - bl GetEvolutionTargetSpecies - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - beq _0807E494 - ldrb r3, [r7] - adds r0, r3, 0 - muls r0, r6 - adds r0, r5 - ldr r1, =gUnknown_020322A0 - ldr r1, [r1] - adds r1, 0x8F - ldrb r2, [r1] - adds r1, r4, 0 - bl TradeEvolutionScene - b _0807E4AE - .pool -_0807E494: - bl sub_8077260 - cmp r0, 0 - beq _0807E4A8 - ldr r0, =sub_807F464 - bl SetMainCallback2 - b _0807E4AE - .pool -_0807E4A8: - mov r0, r8 - bl SetMainCallback2 -_0807E4AE: - ldr r1, =gUnknown_02032298 - movs r0, 0xFF -_0807E4B2: - strb r0, [r1] -_0807E4B4: - bl HasLinkErrorOccurred - lsls r0, 24 - cmp r0, 0 - bne _0807E4C2 - bl RunTasks -_0807E4C2: - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end c2_08053788 - - thumb_func_start sub_807E4DC -sub_807E4DC: @ 807E4DC - push {r4-r6,lr} - bl sub_807ACDC - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r5, r0, 24 - movs r6, 0x1 - adds r0, r5, 0 - ands r0, r6 - cmp r0, 0 - beq _0807E51A - ldr r4, =gBlockRecvBuffer - ldrh r1, [r4] - ldr r0, =0x0000dcba - cmp r1, r0 - bne _0807E504 - ldr r0, =c2_08053788 - bl SetMainCallback2 -_0807E504: - ldrh r1, [r4] - ldr r0, =0x0000abcd - cmp r1, r0 - bne _0807E514 - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - adds r0, 0x72 - strb r6, [r0] -_0807E514: - movs r0, 0 - bl ResetBlockReceivedFlag -_0807E51A: - movs r0, 0x2 - ands r0, r5 - cmp r0, 0 - beq _0807E542 - ldr r0, =gBlockRecvBuffer - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - ldrh r1, [r0] - ldr r0, =0x0000abcd - cmp r1, r0 - bne _0807E53C - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - adds r0, 0x73 - movs r1, 0x1 - strb r1, [r0] -_0807E53C: - movs r0, 0x1 - bl ResetBlockReceivedFlag -_0807E542: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807E4DC - - thumb_func_start sub_807E55C -sub_807E55C: @ 807E55C - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - movs r1, 0xA - bl __divsi3 - ldrh r4, [r5, 0x22] - adds r4, r0 - strh r4, [r5, 0x22] - ldrh r0, [r5, 0x30] - ldrh r2, [r5, 0x38] - adds r0, r2 - strh r0, [r5, 0x38] - movs r1, 0x38 - ldrsh r0, [r5, r1] - movs r1, 0xA - bl __divsi3 - strh r0, [r5, 0x20] - lsls r4, 16 - asrs r4, 16 - cmp r4, 0x4C - ble _0807E5AA - movs r0, 0x4C - strh r0, [r5, 0x22] - movs r2, 0x2E - ldrsh r1, [r5, r2] - movs r2, 0x32 - ldrsh r0, [r5, r2] - muls r0, r1 - negs r0, r0 - movs r1, 0x64 - bl __divsi3 - strh r0, [r5, 0x2E] - ldrh r0, [r5, 0x34] - adds r0, 0x1 - strh r0, [r5, 0x34] -_0807E5AA: - movs r1, 0x20 - ldrsh r0, [r5, r1] - cmp r0, 0x78 - bne _0807E5B6 - movs r0, 0 - strh r0, [r5, 0x30] -_0807E5B6: - ldrh r0, [r5, 0x36] - ldrh r2, [r5, 0x2E] - adds r0, r2 - strh r0, [r5, 0x2E] - movs r1, 0x34 - ldrsh r0, [r5, r1] - cmp r0, 0x4 - bne _0807E5CE - movs r0, 0x1 - strh r0, [r5, 0x3C] - ldr r0, =SpriteCallbackDummy - str r0, [r5, 0x1C] -_0807E5CE: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807E55C - - thumb_func_start sub_807E5D8 -sub_807E5D8: @ 807E5D8 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldr r1, =gUnknown_08339024 - movs r2, 0x2E - ldrsh r0, [r4, r2] - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0x16 - bne _0807E600 - movs r0, 0x38 - bl PlaySE -_0807E600: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2C - bne _0807E636 - movs r0, 0x8C - bl PlaySE - ldr r0, =sub_807E64C - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x2E] - ldrb r1, [r4, 0x5] - lsrs r1, 4 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - movs r1, 0x1 - negs r1, r1 - ldr r2, =0x0000ffff - str r2, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade -_0807E636: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807E5D8 - - thumb_func_start sub_807E64C -sub_807E64C: @ 807E64C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x30 - ldrsh r0, [r4, r1] - cmp r0, 0x14 - bne _0807E660 - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim -_0807E660: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - ble _0807E69E - ldr r1, =gUnknown_08339024 - movs r2, 0x2E - ldrsh r0, [r4, r2] - adds r0, r1 - movs r1, 0 - ldrsb r1, [r0, r1] - ldrh r0, [r4, 0x26] - subs r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x17 - bne _0807E69E - adds r0, r4, 0 - bl DestroySprite - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - adds r0, 0x94 - movs r1, 0xE - strh r1, [r0] -_0807E69E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807E64C - - thumb_func_start sub_807E6AC -sub_807E6AC: @ 807E6AC - push {r4,lr} - adds r4, r0, 0 - ldrh r2, [r4, 0x32] - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0807E6DC - ldrh r0, [r4, 0x22] - adds r0, 0x4 - strh r0, [r4, 0x22] - lsls r0, 16 - asrs r0, 16 - movs r3, 0x34 - ldrsh r1, [r4, r3] - cmp r0, r1 - ble _0807E72C - adds r0, r2, 0x1 - strh r0, [r4, 0x32] - movs r0, 0x16 - strh r0, [r4, 0x2E] - movs r0, 0x38 - bl PlaySE - b _0807E72C -_0807E6DC: - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x42 - bne _0807E6EA - movs r0, 0x39 - bl PlaySE -_0807E6EA: - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0x5C - bne _0807E6F8 - movs r0, 0x3A - bl PlaySE -_0807E6F8: - movs r3, 0x2E - ldrsh r0, [r4, r3] - cmp r0, 0x6B - bne _0807E706 - movs r0, 0x3B - bl PlaySE -_0807E706: - ldr r1, =gUnknown_08339024 - movs r2, 0x2E - ldrsh r0, [r4, r2] - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldrh r3, [r4, 0x26] - adds r0, r3 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x6C - bne _0807E72C - ldr r0, =SpriteCallbackDummy - str r0, [r4, 0x1C] -_0807E72C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807E6AC - - thumb_func_start sub_807E73C -sub_807E73C: @ 807E73C - push {r4-r6,lr} - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - lsls r4, r0, 4 - subs r4, r0 - lsls r4, 2 - ldr r0, =gIngameTrades - adds r4, r0 - ldr r0, =gStringVar1 - ldrh r1, [r4, 0x38] - movs r6, 0xB - muls r1, r6 - ldr r5, =gSpeciesNames - adds r1, r5 - bl StringCopy - ldr r0, =gStringVar2 - ldrh r1, [r4, 0xC] - muls r1, r6 - adds r1, r5 - bl StringCopy - ldrh r0, [r4, 0x38] - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_807E73C - - thumb_func_start sub_807E784 -sub_807E784: @ 807E784 - push {r4,lr} - sub sp, 0x20 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - lsls r4, r0, 4 - subs r4, r0 - lsls r4, 2 - ldr r0, =gIngameTrades - adds r4, r0 - ldr r0, =gSpecialVar_0x8005 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x2 - mov r2, sp - bl GetMonData - ldr r0, =gStringVar1 - mov r1, sp - bl StringCopy10 - ldr r0, =gStringVar2 - ldrh r2, [r4, 0xC] - movs r1, 0xB - muls r1, r2 - ldr r2, =gSpeciesNames - adds r1, r2 - bl StringCopy - add sp, 0x20 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807E784 - - thumb_func_start sub_807E7E8 -sub_807E7E8: @ 807E7E8 - push {r4-r7,lr} - sub sp, 0x38 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, r1, 4 - subs r2, r1 - lsls r2, 2 - ldr r1, =gIngameTrades - adds r5, r2, r1 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x38 - bl GetMonData - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - add r4, sp, 0x34 - movs r0, 0xFE - strb r0, [r4] - ldr r6, =gEnemyParty - ldrh r1, [r5, 0xC] - movs r3, 0x1 - str r3, [sp] - ldr r0, [r5, 0x24] - str r0, [sp, 0x4] - str r3, [sp, 0x8] - ldr r0, [r5, 0x18] - str r0, [sp, 0xC] - adds r0, r6, 0 - movs r3, 0x20 - bl CreateMon - adds r2, r5, 0 - adds r2, 0xE - adds r0, r6, 0 - movs r1, 0x27 - bl SetMonData - adds r2, r5, 0 - adds r2, 0xF - adds r0, r6, 0 - movs r1, 0x28 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x10 - adds r0, r6, 0 - movs r1, 0x29 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x11 - adds r0, r6, 0 - movs r1, 0x2A - bl SetMonData - adds r2, r5, 0 - adds r2, 0x12 - adds r0, r6, 0 - movs r1, 0x2B - bl SetMonData - adds r2, r5, 0 - adds r2, 0x13 - adds r0, r6, 0 - movs r1, 0x2C - bl SetMonData - adds r0, r6, 0 - movs r1, 0x2 - adds r2, r5, 0 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x2B - adds r0, r6, 0 - movs r1, 0x7 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x36 - adds r0, r6, 0 - movs r1, 0x31 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x14 - adds r0, r6, 0 - movs r1, 0x2E - bl SetMonData - adds r2, r5, 0 - adds r2, 0x1D - adds r0, r6, 0 - movs r1, 0x17 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x1E - adds r0, r6, 0 - movs r1, 0x18 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x1C - adds r0, r6, 0 - movs r1, 0x16 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x1F - adds r0, r6, 0 - movs r1, 0x21 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x20 - adds r0, r6, 0 - movs r1, 0x2F - bl SetMonData - adds r2, r5, 0 - adds r2, 0x37 - adds r0, r6, 0 - movs r1, 0x30 - bl SetMonData - adds r0, r6, 0 - movs r1, 0x23 - adds r2, r4, 0 - bl SetMonData - mov r4, sp - adds r4, 0x35 - movs r0, 0 - strb r0, [r4] - ldrh r0, [r5, 0x28] - cmp r0, 0 - beq _0807E960 - bl ItemIsMail - lsls r0, 24 - cmp r0, 0 - beq _0807E954 - add r0, sp, 0x10 - adds r1, r5, 0 - bl sub_807E974 - ldr r0, =gUnknown_020321C0 - add r1, sp, 0x10 - ldm r1!, {r2,r3,r7} - stm r0!, {r2,r3,r7} - ldm r1!, {r2,r3,r7} - stm r0!, {r2,r3,r7} - ldm r1!, {r2,r3,r7} - stm r0!, {r2,r3,r7} - adds r0, r6, 0 - movs r1, 0x40 - adds r2, r4, 0 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x28 - adds r0, r6, 0 - movs r1, 0xC - bl SetMonData - b _0807E960 - .pool -_0807E954: - adds r2, r5, 0 - adds r2, 0x28 - adds r0, r6, 0 - movs r1, 0xC - bl SetMonData -_0807E960: - ldr r0, =gEnemyParty - bl CalculateMonStats - add sp, 0x38 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807E7E8 - - thumb_func_start sub_807E974 -sub_807E974: @ 807E974 - push {r4-r6,lr} - adds r5, r0, 0 - adds r6, r1, 0 - ldr r2, =gUnknown_08338FC0 - adds r0, r6, 0 - adds r0, 0x2A - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r2, r0, r2 - adds r1, r5, 0 - movs r3, 0x8 -_0807E98E: - ldrh r0, [r2] - strh r0, [r1] - adds r2, 0x2 - adds r1, 0x2 - subs r3, 0x1 - cmp r3, 0 - bge _0807E98E - adds r4, r5, 0 - adds r4, 0x12 - adds r1, r6, 0 - adds r1, 0x2B - adds r0, r4, 0 - bl StringCopy - adds r0, r4, 0 - movs r1, 0 - bl PadNameString - ldr r1, [r6, 0x18] - lsrs r0, r1, 24 - strb r0, [r5, 0x1A] - lsrs r0, r1, 16 - strb r0, [r5, 0x1B] - lsrs r0, r1, 8 - strb r0, [r5, 0x1C] - strb r1, [r5, 0x1D] - ldrh r0, [r6, 0xC] - strh r0, [r5, 0x1E] - ldrh r0, [r6, 0x28] - strh r0, [r5, 0x20] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807E974 - - thumb_func_start sub_807E9D4 -sub_807E9D4: @ 807E9D4 - push {r4-r6,lr} - ldr r6, =gSpecialVar_0x8005 - ldrh r0, [r6] - movs r5, 0x64 - muls r0, r5 - ldr r4, =gPlayerParty - adds r0, r4 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0807EA08 - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - b _0807EA0A - .pool -_0807EA08: - movs r0, 0 -_0807EA0A: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_807E9D4 - - thumb_func_start sub_807EA10 -sub_807EA10: @ 807EA10 - push {lr} - ldr r0, =gSpecialVar_0x8005 - ldrb r0, [r0] - ldr r1, =gSpecialVar_0x8004 - ldrb r1, [r1] - bl sub_807E7E8 - pop {r0} - bx r0 - .pool - thumb_func_end sub_807EA10 - - thumb_func_start sub_807EA2C -sub_807EA2C: @ 807EA2C - push {r4-r6,lr} - bl sub_807BBC8 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x1 - bne _0807EA96 - ldr r5, =gUnknown_020322A0 - ldr r0, [r5] - adds r0, 0x8E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - bl DestroySprite - ldr r0, [r5] - adds r0, 0x8F - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl FreeSpriteOamMatrix - ldr r0, =gUnknown_02032298 - ldrb r4, [r0] - ldrb r0, [r0, 0x1] - movs r1, 0x6 - bl __umodsi3 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_807B4D0 - bl sub_8077260 - cmp r0, 0 - bne _0807EA90 - ldr r0, [r5] - adds r2, r0, 0 - adds r2, 0x74 - ldr r1, =0x0000abcd - strh r1, [r2] - adds r0, 0x93 - strb r6, [r0] -_0807EA90: - ldr r0, =sub_807EACC - bl SetMainCallback2 -_0807EA96: - bl sub_807B5B8 - bl sub_807E4DC - bl RunTasks - bl RunTextPrinters - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807EA2C - - thumb_func_start sub_807EACC -sub_807EACC: @ 807EACC - push {r4,lr} - bl sub_807ACDC - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8077260 - cmp r0, 0 - beq _0807EAEC - ldr r0, =c2_08053788 - bl SetMainCallback2 - b _0807EB2C - .pool -_0807EAEC: - bl sub_807E4DC - cmp r4, 0 - bne _0807EB2C - ldr r4, =gUnknown_020322A0 - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x72 - ldrh r1, [r0] - ldr r0, =0x00000101 - cmp r1, r0 - bne _0807EB2C - adds r1, r2, 0 - adds r1, 0x74 - ldr r0, =0x0000dcba - strh r0, [r1] - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r4] - adds r1, 0x74 - movs r2, 0x14 - bl SendBlock - ldr r0, [r4] - adds r0, 0x72 - movs r1, 0x2 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x73 - strb r1, [r0] -_0807EB2C: - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807EACC - - thumb_func_start sub_807EB50 -sub_807EB50: @ 807EB50 - push {r4,lr} - sub sp, 0x4 - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r1, r2 - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0x65 - bls _0807EB66 - b _0807F03A -_0807EB66: - lsls r0, 2 - ldr r1, =_0807EB78 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0807EB78: - .4byte _0807ED10 - .4byte _0807ED2C - .4byte _0807ED98 - .4byte _0807F03A - .4byte _0807EE78 - .4byte _0807EF3C - .4byte _0807EF64 - .4byte _0807EF7E - .4byte _0807EFA4 - .4byte _0807EFF0 - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807EE9C - .4byte _0807EEEC - .4byte _0807EF1A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807EDC0 - .4byte _0807EE1C - .4byte _0807EE38 - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807ED44 - .4byte _0807ED7C -_0807ED10: - movs r0, 0x87 - lsls r0, 3 - adds r1, r2, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r4, =gStringVar4 - ldr r1, =gText_CommunicationStandby5 - b _0807EDA6 - .pool -_0807ED2C: - movs r0, 0 - bl sub_8077288 - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r2, 0 - movs r1, 0x64 - b _0807EE88 - .pool -_0807ED44: - ldr r0, =gUnknown_020322A0 - ldr r3, [r0] - ldr r0, [r3, 0x64] - adds r0, 0x1 - str r0, [r3, 0x64] - cmp r0, 0xB4 - bls _0807ED60 - movs r1, 0x87 - lsls r1, 3 - adds r0, r2, r1 - movs r2, 0 - movs r1, 0x65 - strb r1, [r0] - str r2, [r3, 0x64] -_0807ED60: - bl sub_8077294 - cmp r0, 0 - bne _0807ED6A - b _0807F03A -_0807ED6A: - ldr r0, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r2 - b _0807ED8E - .pool -_0807ED7C: - bl sub_8077294 - cmp r0, 0 - bne _0807ED86 - b _0807F03A -_0807ED86: - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 -_0807ED8E: - movs r1, 0x2 - strb r1, [r0] - b _0807F03A - .pool -_0807ED98: - movs r0, 0x87 - lsls r0, 3 - adds r1, r2, r0 - movs r0, 0x32 - strb r0, [r1] - ldr r4, =gStringVar4 - ldr r1, =gText_SavingDontTurnOffPower -_0807EDA6: - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - adds r1, r4, 0 - movs r2, 0 - bl sub_807F1A8 - b _0807F03A - .pool -_0807EDC0: - bl InUnionRoom - cmp r0, 0 - bne _0807EDCE - movs r0, 0x15 - bl IncrementGameStat -_0807EDCE: - ldr r0, =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _0807EDF6 - ldr r4, =gLinkPlayers - bl GetMultiplayerId - movs r1, 0x1 - eors r0, r1 - 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, 0x2 - bl sub_801B990 -_0807EDF6: - bl SetContinueGameWarpStatusToDynamicWarp - bl sub_8153380 - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - b _0807EE8A - .pool -_0807EE1C: - ldr r0, =gUnknown_020322A0 - ldr r1, [r0] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0x5 - beq _0807EE2C - b _0807F03A -_0807EE2C: - movs r0, 0x87 - lsls r0, 3 - adds r1, r2, r0 - b _0807EFE4 - .pool -_0807EE38: - bl sub_81533AC - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _0807EE5C - bl ClearContinueGameWarpStatus2 - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r1, 0x4 - strb r1, [r0] - b _0807F03A - .pool -_0807EE5C: - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - str r1, [r0, 0x64] - ldr r0, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r2 - movs r1, 0x33 - strb r1, [r0] - b _0807F03A - .pool -_0807EE78: - bl sub_81533E0 - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r2, 0 - movs r1, 0x28 -_0807EE88: - strb r1, [r0] -_0807EE8A: - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - str r2, [r0, 0x64] - b _0807F03A - .pool -_0807EE9C: - ldr r4, =gUnknown_020322A0 - ldr r1, [r4] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0x32 - bhi _0807EEAC - b _0807F03A -_0807EEAC: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _0807EED4 - bl Random - ldr r4, [r4] - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1E - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - str r0, [r4, 0x64] - b _0807EEDA - .pool -_0807EED4: - ldr r1, [r4] - movs r0, 0 - str r0, [r1, 0x64] -_0807EEDA: - ldr r0, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r2 - movs r1, 0x29 - strb r1, [r0] - b _0807F03A - .pool -_0807EEEC: - ldr r0, =gUnknown_020322A0 - ldr r1, [r0] - ldr r0, [r1, 0x64] - cmp r0, 0 - bne _0807EF14 - movs r0, 0x1 - bl sub_8077288 - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r1, 0x2A - strb r1, [r0] - b _0807F03A - .pool -_0807EF14: - subs r0, 0x1 - str r0, [r1, 0x64] - b _0807F03A -_0807EF1A: - bl sub_8077294 - cmp r0, 0 - bne _0807EF24 - b _0807F03A -_0807EF24: - bl sub_8153408 - ldr r0, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r2 - movs r1, 0x5 - strb r1, [r0] - b _0807F03A - .pool -_0807EF3C: - ldr r0, =gUnknown_020322A0 - ldr r1, [r0] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0x3C - bls _0807F03A - movs r0, 0x87 - lsls r0, 3 - adds r1, r2, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0x2 - bl sub_8077288 - b _0807F03A - .pool -_0807EF64: - bl sub_8077294 - cmp r0, 0 - beq _0807F03A - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _0807EFDC -_0807EF7E: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0807F03A - movs r0, 0x3 - bl FadeOutBGM - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _0807EFE4 - .pool -_0807EFA4: - bl IsBGMStopped - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0807F03A - ldr r0, =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _0807EFD8 - ldr r0, =gMain - ldr r1, [r0, 0x8] - ldr r0, =sub_80773AC - cmp r1, r0 - bne _0807EFD8 - movs r0, 0x3 - bl sub_8077288 - b _0807EFDC - .pool -_0807EFD8: - bl sub_800AC34 -_0807EFDC: - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 -_0807EFE4: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0807F03A - .pool -_0807EFF0: - ldr r0, =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _0807F028 - ldr r1, [r2, 0x8] - ldr r0, =sub_80773AC - cmp r1, r0 - bne _0807F028 - bl sub_8077294 - cmp r0, 0 - beq _0807F03A - ldr r0, =gSoftResetDisabled - movs r1, 0 - strb r1, [r0] - ldr r0, =c2_080543C4 - bl SetMainCallback2 - b _0807F03A - .pool -_0807F028: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r1, [r0] - cmp r1, 0 - bne _0807F03A - ldr r0, =gSoftResetDisabled - strb r1, [r0] - ldr r0, =c2_080543C4 - bl SetMainCallback2 -_0807F03A: - bl HasLinkErrorOccurred - lsls r0, 24 - cmp r0, 0 - bne _0807F048 - bl RunTasks -_0807F048: - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807EB50 - - thumb_func_start c2_080543C4 -c2_080543C4: @ 807F068 - push {r4,r5,lr} - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _0807F0BE - bl FreeAllWindowBuffers - movs r0, 0x3 - bl GetBgTilemapBuffer - bl Free - movs r0, 0x1 - bl GetBgTilemapBuffer - bl Free - movs r0, 0 - bl GetBgTilemapBuffer - bl Free - bl FreeMonSpritesGfx - ldr r4, =gUnknown_020322A0 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r0, =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _0807F0B6 - bl sub_800E084 -_0807F0B6: - ldr r0, =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 -_0807F0BE: - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end c2_080543C4 - - thumb_func_start sub_807F0E4 -sub_807F0E4: @ 807F0E4 - push {lr} - sub sp, 0x4 - bl ScriptContext2_Enable - ldr r0, =sub_807F110 - movs r1, 0xA - bl CreateTask - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_807F0E4 - - thumb_func_start sub_807F110 -sub_807F110: @ 807F110 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0807F134 - ldr r0, =sub_807B270 - bl SetMainCallback2 - ldr r1, =gFieldCallback - ldr r0, =sub_80AF168 - str r0, [r1] - adds r0, r4, 0 - bl DestroyTask -_0807F134: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807F110 - - thumb_func_start sub_807F14C -sub_807F14C: @ 807F14C - push {r4,r5,lr} - movs r5, 0 - movs r4, 0 -_0807F152: - ldr r0, =gUnknown_02032298 - ldrb r0, [r0, 0x1] - movs r1, 0x6 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gEnemyParty - adds r0, r1 - adds r1, r4, 0 - adds r1, 0x43 - bl GetMonData - adds r0, r5, r0 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xB - bls _0807F152 - cmp r5, 0 - beq _0807F18A - ldr r0, =0x0000089b - bl FlagSet -_0807F18A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807F14C - - thumb_func_start sub_807F19C -sub_807F19C: @ 807F19C - push {lr} - bl sub_807B170 - pop {r0} - bx r0 - thumb_func_end sub_807F19C - - thumb_func_start sub_807F1A8 -sub_807F1A8: @ 807F1A8 - push {r4-r6,lr} - sub sp, 0x14 - adds r5, r0, 0 - adds r6, r1, 0 - adds r4, r2, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0xFF - bl FillWindowPixelBuffer - ldr r2, =gUnknown_020322A0 - ldr r0, [r2] - adds r0, 0xF6 - movs r3, 0 - movs r1, 0xF - strb r1, [r0] - ldr r0, [r2] - adds r0, 0xF7 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r2] - adds r0, 0xF8 - movs r1, 0x6 - strb r1, [r0] - str r3, [sp] - str r3, [sp, 0x4] - ldr r0, [r2] - adds r0, 0xF6 - str r0, [sp, 0x8] - lsls r4, 24 - asrs r4, 24 - str r4, [sp, 0xC] - str r6, [sp, 0x10] - adds r0, r5, 0 - movs r1, 0x1 - movs r2, 0 - movs r3, 0x2 - bl AddTextPrinterParameterized4 - adds r0, r5, 0 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807F1A8 - - thumb_func_start c3_08054588 -c3_08054588: @ 807F210 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - ldr r1, =gUnknown_08339090 - movs r2, 0 - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r0, r1 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r2, r1, 0 - movs r3, 0x4 - ldrsh r0, [r4, r3] - cmp r0, 0 - bne _0807F254 - movs r0, 0x80 - lsls r0, 1 - cmp r1, r0 - beq _0807F25C - lsls r0, r1, 1 - ldr r1, =gUnknown_08337AA0 - adds r0, r1 - b _0807F25E - .pool -_0807F254: - movs r0, 0x80 - lsls r0, 1 - cmp r1, r0 - bne _0807F26C -_0807F25C: - ldr r0, =gUnknown_08337EA0 -_0807F25E: - movs r1, 0x30 - movs r2, 0x20 - bl LoadPalette - b _0807F27A - .pool -_0807F26C: - lsls r0, r2, 1 - ldr r1, =gUnknown_08337CA0 - adds r0, r1 - movs r1, 0x30 - movs r2, 0x20 - bl LoadPalette -_0807F27A: - ldr r0, =gUnknown_08339090 - movs r2, 0 - ldrsh r1, [r4, r2] - lsls r1, 1 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0 - bne _0807F298 - movs r3, 0x2 - ldrsh r0, [r4, r3] - cmp r0, 0 - bne _0807F298 - movs r0, 0xC3 - bl PlaySE -_0807F298: - movs r0, 0x2 - ldrsh r2, [r4, r0] - ldr r1, =gUnknown_08339090 - movs r3, 0 - ldrsh r0, [r4, r3] - lsls r0, 1 - adds r1, 0x1 - adds r0, r1 - ldrb r0, [r0] - cmp r2, r0 - bne _0807F2D8 - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - movs r0, 0 - strh r0, [r4, 0x2] - movs r2, 0 - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0xFF - bne _0807F2DE - adds r0, r5, 0 - bl DestroyTask - b _0807F2DE - .pool -_0807F2D8: - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] -_0807F2DE: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end c3_08054588 - - thumb_func_start c3_0805465C -c3_0805465C: @ 807F2E4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r5, r0, r1 - movs r0, 0 - ldrsh r4, [r5, r0] - cmp r4, 0 - bne _0807F336 - ldr r2, =gUnknown_020322A0 - ldr r0, [r2] - adds r3, r0, 0 - adds r3, 0xFD - movs r1, 0x78 - strb r1, [r3] - adds r0, 0xFB - strb r1, [r0] - ldr r0, [r2] - adds r0, 0xFC - strb r4, [r0] - ldr r0, [r2] - adds r0, 0xFE - movs r1, 0xA0 - strb r1, [r0] - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl SetGpuRegBits - movs r0, 0x4A - movs r1, 0x10 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0x13 - bl SetGpuReg -_0807F336: - ldr r4, =gUnknown_020322A0 - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0xFD - ldrb r1, [r1] - adds r0, 0xFB - ldrb r0, [r0] - lsls r0, 8 - orrs r1, r0 - movs r0, 0x40 - bl SetGpuReg - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0xFE - ldrb r1, [r1] - adds r0, 0xFC - ldrb r0, [r0] - lsls r0, 8 - orrs r1, r0 - movs r0, 0x44 - bl SetGpuReg - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - ldr r1, [r4] - adds r1, 0xFB - ldrb r0, [r1] - subs r0, 0x5 - strb r0, [r1] - ldr r1, [r4] - adds r1, 0xFD - ldrb r0, [r1] - adds r0, 0x5 - strb r0, [r1] - ldr r0, [r4] - adds r0, 0xFB - ldrb r0, [r0] - cmp r0, 0x4F - bhi _0807F38E - adds r0, r6, 0 - bl DestroyTask -_0807F38E: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end c3_0805465C - - thumb_func_start sub_807F39C -sub_807F39C: @ 807F39C - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r5, r0, r1 - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0807F3D8 - ldr r2, =gUnknown_020322A0 - ldr r0, [r2] - adds r0, 0xFB - movs r1, 0x50 - strb r1, [r0] - ldr r0, [r2] - adds r0, 0xFD - movs r1, 0xA0 - strb r1, [r0] - movs r0, 0x4A - movs r1, 0x10 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0x13 - bl SetGpuReg -_0807F3D8: - ldr r4, =gUnknown_020322A0 - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0xFD - ldrb r1, [r1] - adds r0, 0xFB - ldrb r0, [r0] - lsls r0, 8 - orrs r1, r0 - movs r0, 0x40 - bl SetGpuReg - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0xFE - ldrb r1, [r1] - adds r0, 0xFC - ldrb r0, [r0] - lsls r0, 8 - orrs r1, r0 - movs r0, 0x44 - bl SetGpuReg - ldr r0, [r4] - adds r0, 0xFB - ldrb r0, [r0] - cmp r0, 0x78 - beq _0807F44C - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - ldr r1, [r4] - adds r1, 0xFB - ldrb r0, [r1] - adds r0, 0x5 - strb r0, [r1] - ldr r1, [r4] - adds r1, 0xFD - ldrb r0, [r1] - subs r0, 0x5 - strb r0, [r1] - ldr r0, [r4] - adds r0, 0xFB - ldrb r0, [r0] - cmp r0, 0x73 - bls _0807F45C - ldr r2, =0x0000ffff - movs r0, 0x8 - movs r1, 0 - bl BlendPalettes - b _0807F45C - .pool -_0807F44C: - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl ClearGpuRegBits - adds r0, r6, 0 - bl DestroyTask -_0807F45C: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_807F39C - - thumb_func_start sub_807F464 -sub_807F464: @ 807F464 - push {r4,r5,lr} - sub sp, 0x4 - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r1, r2 - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0xC - bls _0807F47A - b _0807F70C -_0807F47A: - lsls r0, 2 - ldr r1, =_0807F48C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0807F48C: - .4byte _0807F4C0 - .4byte _0807F4E8 - .4byte _0807F500 - .4byte _0807F550 - .4byte _0807F570 - .4byte _0807F5AC - .4byte _0807F5D0 - .4byte _0807F620 - .4byte _0807F64E - .4byte _0807F66C - .4byte _0807F694 - .4byte _0807F6C4 - .4byte _0807F6F8 -_0807F4C0: - movs r0, 0x87 - lsls r0, 3 - adds r1, r2, r0 - movs r0, 0x1 - strb r0, [r1] - ldr r4, =gStringVar4 - ldr r1, =gText_CommunicationStandby5 - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - adds r1, r4, 0 - movs r2, 0 - bl sub_807F1A8 - b _0807F70C - .pool -_0807F4E8: - movs r0, 0 - bl sub_8077288 - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r2, 0 - movs r1, 0x2 - b _0807F5BC - .pool -_0807F500: - bl sub_8077294 - cmp r0, 0 - bne _0807F50A - b _0807F70C -_0807F50A: - ldr r0, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r2 - movs r5, 0 - movs r1, 0x3 - strb r1, [r0] - ldr r4, =gStringVar4 - ldr r1, =gText_SavingDontTurnOffPower - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - adds r1, r4, 0 - movs r2, 0 - bl sub_807F1A8 - movs r0, 0x15 - bl IncrementGameStat - bl sub_8153380 - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - str r5, [r0, 0x64] - b _0807F70C - .pool -_0807F550: - ldr r0, =gUnknown_020322A0 - ldr r1, [r0] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0x5 - beq _0807F560 - b _0807F70C -_0807F560: - movs r0, 0x87 - lsls r0, 3 - adds r1, r2, r0 - movs r0, 0x4 - strb r0, [r1] - b _0807F70C - .pool -_0807F570: - bl sub_81533AC - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _0807F590 - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r1, 0x5 - strb r1, [r0] - b _0807F70C - .pool -_0807F590: - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - str r1, [r0, 0x64] - ldr r0, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r2 - movs r1, 0x3 - strb r1, [r0] - b _0807F70C - .pool -_0807F5AC: - bl sub_81533E0 - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r2, 0 - movs r1, 0x6 -_0807F5BC: - strb r1, [r0] - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - str r2, [r0, 0x64] - b _0807F70C - .pool -_0807F5D0: - ldr r4, =gUnknown_020322A0 - ldr r1, [r4] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0xA - bhi _0807F5E0 - b _0807F70C -_0807F5E0: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _0807F608 - bl Random - ldr r4, [r4] - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1E - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - str r0, [r4, 0x64] - b _0807F60E - .pool -_0807F608: - ldr r1, [r4] - movs r0, 0 - str r0, [r1, 0x64] -_0807F60E: - ldr r0, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r2 - movs r1, 0x7 - strb r1, [r0] - b _0807F70C - .pool -_0807F620: - ldr r0, =gUnknown_020322A0 - ldr r1, [r0] - ldr r0, [r1, 0x64] - cmp r0, 0 - bne _0807F648 - movs r0, 0x1 - bl sub_8077288 - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r1, 0x8 - strb r1, [r0] - b _0807F70C - .pool -_0807F648: - subs r0, 0x1 - str r0, [r1, 0x64] - b _0807F70C -_0807F64E: - bl sub_8077294 - cmp r0, 0 - beq _0807F70C - bl sub_8153408 - ldr r0, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r2 - movs r1, 0x9 - strb r1, [r0] - b _0807F70C - .pool -_0807F66C: - ldr r0, =gUnknown_020322A0 - ldr r1, [r0] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0x3C - bls _0807F70C - movs r0, 0x87 - lsls r0, 3 - adds r1, r2, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0x2 - bl sub_8077288 - b _0807F70C - .pool -_0807F694: - bl sub_8077294 - cmp r0, 0 - beq _0807F70C - movs r0, 0x3 - bl FadeOutBGM - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r1, 0xB - strb r1, [r0] - b _0807F70C - .pool -_0807F6C4: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0807F70C - bl IsBGMStopped - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0807F70C - movs r0, 0x3 - bl sub_8077288 - ldr r0, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r2 - movs r1, 0xC - strb r1, [r0] - b _0807F70C - .pool -_0807F6F8: - bl sub_8077294 - cmp r0, 0 - beq _0807F70C - ldr r0, =gSoftResetDisabled - movs r1, 0 - strb r1, [r0] - ldr r0, =c2_080543C4 - bl SetMainCallback2 -_0807F70C: - bl HasLinkErrorOccurred - lsls r0, 24 - cmp r0, 0 - bne _0807F71A - bl RunTasks -_0807F71A: - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807F464 - - .align 2, 0 @ Don't pad with nop. diff --git a/common_syms/fieldmap.txt b/common_syms/fieldmap.txt index 49e0fb9800..0ead758462 100644 --- a/common_syms/fieldmap.txt +++ b/common_syms/fieldmap.txt @@ -1 +1 @@ -gUnknown_03005DC0 +gBackupMapLayout diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 773057c748..0859f8012c 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -766,7 +766,7 @@ Move_WAKE_UP_SLAP: createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTCKER, 3, 0, 0, 1, 2 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 4, 0, 6, 2 waitforvisualfinish - createsprite gUnknown_085CE894, ANIM_TARGET, 2, 1, 8, 3 + createsprite gSmellingSaltExclamationSpriteTemplate, ANIM_TARGET, 2, 1, 8, 3 loopsewithpan SE_W207B, +63, 16, 3 clearmonbg ANIM_DEF_PARTNER blendoff @@ -3031,12 +3031,12 @@ Move_REVERSAL: createvisualtask sub_8115A04, 2, 31, 3, 2, 0, 10, RGB_WHITE delay 10 playsewithpan SE_W179, SOUND_PAN_ATTACKER - createsprite gBattleAnimSpriteTemplate_85CE5D8, ANIM_ATTACKER, 2, 26, 0 - createsprite gBattleAnimSpriteTemplate_85CE5D8, ANIM_ATTACKER, 2, 26, 42 - createsprite gBattleAnimSpriteTemplate_85CE5D8, ANIM_ATTACKER, 2, 26, 84 - createsprite gBattleAnimSpriteTemplate_85CE5D8, ANIM_ATTACKER, 2, 26, 126 - createsprite gBattleAnimSpriteTemplate_85CE5D8, ANIM_ATTACKER, 2, 26, 168 - createsprite gBattleAnimSpriteTemplate_85CE5D8, ANIM_ATTACKER, 2, 26, 210 + createsprite gReversalOrbSpriteTemplate, ANIM_ATTACKER, 2, 26, 0 + createsprite gReversalOrbSpriteTemplate, ANIM_ATTACKER, 2, 26, 42 + createsprite gReversalOrbSpriteTemplate, ANIM_ATTACKER, 2, 26, 84 + createsprite gReversalOrbSpriteTemplate, ANIM_ATTACKER, 2, 26, 126 + createsprite gReversalOrbSpriteTemplate, ANIM_ATTACKER, 2, 26, 168 + createsprite gReversalOrbSpriteTemplate, ANIM_ATTACKER, 2, 26, 210 waitforvisualfinish delay 20 createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 6, 4 @@ -3530,7 +3530,7 @@ Frustration_Strong: createsprite gAngerMarkSpriteTemplate, ANIM_ATTACKER, 2, 0, 20, -28 waitforvisualfinish delay 5 - createvisualtask sub_815C3A8, 5 + createvisualtask AnimTask_StrongFrustrationGrowAndShrink, 5 delay 7 playsewithpan SE_W004, SOUND_PAN_TARGET createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 8, 1, 1 @@ -3564,7 +3564,7 @@ Frustration_Medium: createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 6, 1 goto Frustration_Continue Frustration_Weak: - createsprite gUnknown_085CE4D0, ANIM_ATTACKER, 2, 20, -28 + createsprite gWeakFrustrationAngerMarkSpriteTemplate, ANIM_ATTACKER, 2, 20, -28 waitforvisualfinish delay 10 createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 10, 2 @@ -3594,26 +3594,26 @@ Move_SAFEGUARD: Move_PAIN_SPLIT: loadspritegfx ANIM_TAG_PAIN_SPLIT - createsprite gUnknown_085CE590, ANIM_ATTACKER, 2, -8, -42, 0 - createsprite gUnknown_085CE590, ANIM_TARGET, 2, -8, -42, 1 + createsprite gPainSplitProjectileSpriteTemplate, ANIM_ATTACKER, 2, -8, -42, ANIM_ATTACKER + createsprite gPainSplitProjectileSpriteTemplate, ANIM_TARGET, 2, -8, -42, ANIM_TARGET delay 10 playsewithpan SE_W207B, 0 - createvisualtask sub_815CA20, 2, 0, 0 - createvisualtask sub_815CA20, 2, 1, 0 + createvisualtask AnimTask_PainSplitMovement, 2, ANIM_ATTACKER, 0 + createvisualtask AnimTask_PainSplitMovement, 2, ANIM_TARGET, 0 waitforvisualfinish - createsprite gUnknown_085CE590, ANIM_ATTACKER, 2, -24, -42, 0 - createsprite gUnknown_085CE590, ANIM_TARGET, 2, -24, -42, 1 + createsprite gPainSplitProjectileSpriteTemplate, ANIM_ATTACKER, 2, -24, -42, ANIM_ATTACKER + createsprite gPainSplitProjectileSpriteTemplate, ANIM_TARGET, 2, -24, -42, ANIM_TARGET delay 10 playsewithpan SE_W207B, 0 - createvisualtask sub_815CA20, 2, 0, 1 - createvisualtask sub_815CA20, 2, 1, 1 + createvisualtask AnimTask_PainSplitMovement, 2, ANIM_ATTACKER, 1 + createvisualtask AnimTask_PainSplitMovement, 2, ANIM_TARGET, 1 waitforvisualfinish - createsprite gUnknown_085CE590, ANIM_ATTACKER, 2, 8, -42, 0 - createsprite gUnknown_085CE590, ANIM_TARGET, 2, 8, -42, 1 + createsprite gPainSplitProjectileSpriteTemplate, ANIM_ATTACKER, 2, 8, -42, ANIM_ATTACKER + createsprite gPainSplitProjectileSpriteTemplate, ANIM_TARGET, 2, 8, -42, ANIM_TARGET delay 10 playsewithpan SE_W207B, 0 - createvisualtask sub_815CA20, 2, 0, 2 - createvisualtask sub_815CA20, 2, 1, 2 + createvisualtask AnimTask_PainSplitMovement, 2, ANIM_ATTACKER, 2 + createvisualtask AnimTask_PainSplitMovement, 2, ANIM_TARGET, 2 end Move_VICE_GRIP: @@ -4667,7 +4667,7 @@ Move_KINESIS: Move_GLARE: loadspritegfx ANIM_TAG_SMALL_RED_EYE loadspritegfx ANIM_TAG_EYE_SPARKLE - createvisualtask sub_815E114, 5, 0 + createvisualtask AnimTask_GlareEyeDots, 5, 0 playsewithpan SE_W060B, SOUND_PAN_ATTACKER waitforvisualfinish createvisualtask sub_8116620, 5, 1, 0, 0, 16, RGB_BLACK @@ -4684,7 +4684,7 @@ Move_GLARE: Move_BARRAGE: loadspritegfx ANIM_TAG_RED_BALL - createvisualtask sub_815E47C, 3 + createvisualtask AnimTask_BarrageBall, 3 playsewithpan SE_W207, SOUND_PAN_ATTACKER delay 24 createsprite gBattleAnimSpriteTemplate_85972D8, ANIM_ATTACKER, 2, 8, 1, 40, 1 @@ -4775,7 +4775,7 @@ Move_SPLASH: Move_ACID_ARMOR: monbg ANIM_ATTACKER setalpha 15, 0 - createvisualtask sub_815D240, 2, 0 + createvisualtask AnimTask_AcidArmor, 2, ANIM_ATTACKER playsewithpan SE_W151, SOUND_PAN_ATTACKER waitforvisualfinish blendoff @@ -4875,7 +4875,7 @@ Move_FLAIL: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET setalpha 12, 8 - createvisualtask sub_815C770, 2, 0 + createvisualtask AnimTask_FlailMovement, 2, ANIM_ATTACKER loopsewithpan SE_W029, SOUND_PAN_ATTACKER, 8, 2 waitforvisualfinish createsprite gUnknown_085973A0, ANIM_TARGET, 3, 1, 3 @@ -4937,7 +4937,7 @@ Move_FORESIGHT: monbg ANIM_DEF_PARTNER monbgprio_28 ANIM_TARGET setalpha 16, 0 - createsprite gUnknown_085CE8C4, ANIM_TARGET, 2, 1 + createsprite gForesightMagnifyingGlassSpriteTemplate, ANIM_TARGET, 2, ANIM_TARGET delay 17 loopsewithpan SE_W166, SOUND_PAN_TARGET, 16, 4 delay 48 @@ -4998,7 +4998,7 @@ EndureEffect: Move_CHARM: loadspritegfx ANIM_TAG_MAGENTA_HEART - createvisualtask sub_815C478, 5, 0, 2, 0 + createvisualtask AnimTask_RockMonBackAndForth, 5, ANIM_ATTACKER, 2, 0 createsprite gUnknown_08593970, ANIM_ATTACKER, 3, 0, 20 playsewithpan SE_W204, SOUND_PAN_ATTACKER delay 15 @@ -5308,23 +5308,23 @@ Move_MEMENTO: Move_FACADE: loadspritegfx ANIM_TAG_SWEAT_DROP - createvisualtask sub_815DCA4, 2, 0, 3 - createvisualtask sub_815DF0C, 2, 0, 72 + createvisualtask AnimTask_SquishAndSweatDroplets, 2, ANIM_ATTACKER, 3 + createvisualtask AnimTask_FacadeColorBlend, 2, ANIM_ATTACKER, 72 loopsewithpan SE_W207, SOUND_PAN_ATTACKER, 24, 3 end Move_SMELLING_SALT: loadspritegfx ANIM_TAG_TAG_HAND loadspritegfx ANIM_TAG_SMELLINGSALT_EFFECT - createsprite gUnknown_085CE864, ANIM_TARGET, 2, 1, 0, 2 - createsprite gUnknown_085CE864, ANIM_TARGET, 2, 1, 1, 2 + createsprite gSmellingSaltsHandSpriteTemplate, ANIM_TARGET, 2, ANIM_TARGET, 0, 2 + createsprite gSmellingSaltsHandSpriteTemplate, ANIM_TARGET, 2, ANIM_TARGET, 1, 2 delay 32 - createvisualtask sub_815E840, 3, 1, 2 + createvisualtask AnimTask_SmellingSaltsSquish, 3, ANIM_TARGET, 2 loopsewithpan SE_W003, SOUND_PAN_TARGET, 12, 2 waitforvisualfinish delay 4 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 6, 2 - createsprite gUnknown_085CE894, ANIM_TARGET, 2, 1, 8, 3 + createsprite gSmellingSaltExclamationSpriteTemplate, ANIM_TARGET, 2, ANIM_TARGET, 8, 3 loopsewithpan SE_W207B, SOUND_PAN_TARGET, 16, 3 end @@ -5395,9 +5395,9 @@ Move_TAUNT: Move_HELPING_HAND: loadspritegfx ANIM_TAG_TAG_HAND - createvisualtask sub_815EC48, 5 - createsprite gUnknown_085CE8AC, ANIM_ATTACKER, 40, 0 - createsprite gUnknown_085CE8AC, ANIM_ATTACKER, 40, 1 + createvisualtask AnimTask_HelpingHandAttackerMovement, 5 + createsprite gHelpingHandClapSpriteTemplate, ANIM_ATTACKER, 40, 0 + createsprite gHelpingHandClapSpriteTemplate, ANIM_ATTACKER, 40, 1 delay 19 playsewithpan SE_W227, 0 createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATK_PARTNER, 2, 0, 5, 1 @@ -5412,18 +5412,18 @@ Move_HELPING_HAND: Move_ASSIST: loadspritegfx ANIM_TAG_PAW_PRINT - createsprite gUnknown_085CE804, ANIM_ATTACKER, 50, 112, -16, 140, 128, 36 + createsprite gAssistPawprintSpriteTemplate, ANIM_ATTACKER, 50, 112, -16, 140, 128, 36 delay 2 - createsprite gUnknown_085CE804, ANIM_ATTACKER, 50, 208, 128, -16, 48, 36 + createsprite gAssistPawprintSpriteTemplate, ANIM_ATTACKER, 50, 208, 128, -16, 48, 36 playsewithpan SE_W010, 0 delay 2 - createsprite gUnknown_085CE804, ANIM_ATTACKER, 50, -16, 112, 256, -16, 36 + createsprite gAssistPawprintSpriteTemplate, ANIM_ATTACKER, 50, -16, 112, 256, -16, 36 playsewithpan SE_W010, 0 delay 2 - createsprite gUnknown_085CE804, ANIM_ATTACKER, 50, 108, 128, 84, -16, 36 + createsprite gAssistPawprintSpriteTemplate, ANIM_ATTACKER, 50, 108, 128, 84, -16, 36 playsewithpan SE_W010, 0 delay 2 - createsprite gUnknown_085CE804, ANIM_ATTACKER, 50, -16, 56, 256, 56, 36 + createsprite gAssistPawprintSpriteTemplate, ANIM_ATTACKER, 50, -16, 56, 256, 56, 36 playsewithpan SE_W010, 0 end @@ -5466,7 +5466,7 @@ Move_RECYCLE: monbg ANIM_ATTACKER setalpha 0, 16 delay 1 - createsprite gUnknown_085CE9B0, ANIM_ATTACKER, 2 + createsprite gRecycleSpriteTemplate, ANIM_ATTACKER, 2 loopsewithpan SE_W036, SOUND_PAN_ATTACKER, 24, 3 waitforvisualfinish createvisualtask AnimTask_BlendMonInAndOut, 5, ANIM_ATTACKER, RGB_WHITE, 12, 2, 1 @@ -5543,24 +5543,24 @@ BrickBreakShatteredWall: Move_YAWN: loadspritegfx ANIM_TAG_PINK_CLOUD - createvisualtask sub_815D64C, 2, 0 + createvisualtask AnimTask_DeepInhale, 2, ANIM_ATTACKER playsewithpan SE_W281, SOUND_PAN_ATTACKER waitforvisualfinish - createsprite gUnknown_085CE68C, ANIM_TARGET, 5, 2 + createsprite gYawnCloudSpriteTemplate, ANIM_TARGET, 5, 2 playsewithpan SE_W255, SOUND_PAN_ATTACKER delay 4 - createsprite gUnknown_085CE68C, ANIM_TARGET, 5, 1 + createsprite gYawnCloudSpriteTemplate, ANIM_TARGET, 5, 1 delay 4 - createsprite gUnknown_085CE68C, ANIM_TARGET, 5, 0 + createsprite gYawnCloudSpriteTemplate, ANIM_TARGET, 5, 0 waitforvisualfinish - createvisualtask sub_815D64C, 2, 1 + createvisualtask AnimTask_DeepInhale, 2, ANIM_TARGET playsewithpan SE_W281, SOUND_PAN_TARGET end Move_ENDEAVOR: loadspritegfx ANIM_TAG_SWEAT_DROP loadspritegfx ANIM_TAG_IMPACT - createvisualtask sub_815DCA4, 2, 0, 2 + createvisualtask AnimTask_SquishAndSweatDroplets, 2, ANIM_ATTACKER, 2 loopsewithpan SE_W039, SOUND_PAN_ATTACKER, 24, 2 createvisualtask AnimTask_BlendMonInAndOut, 5, ANIM_ATTACKER, RGB(31, 21, 0), 12, 1, 2 delay 6 @@ -5768,7 +5768,7 @@ Move_FEATHER_DANCE: Move_TEETER_DANCE: loadspritegfx ANIM_TAG_MUSIC_NOTES loadspritegfx ANIM_TAG_DUCK - createvisualtask sub_8160164, 5 + createvisualtask AnimTask_TeeterDanceMovement, 5 createsprite gUnknown_08593050, ANIM_ATTACKER, 2, 0, 16, -2 playsewithpan SE_W298, SOUND_PAN_ATTACKER delay 24 @@ -5877,7 +5877,7 @@ Move_NEEDLE_ARM: Move_SLACK_OFF: loadspritegfx ANIM_TAG_BLUE_STAR - createvisualtask sub_8160544, 2, 0 + createvisualtask AnimTask_SlackOffSquish, 2, ANIM_ATTACKER playsewithpan SE_W281, SOUND_PAN_ATTACKER waitforvisualfinish call HealingEffect @@ -5950,7 +5950,7 @@ Move_FAKE_TEARS: loadspritegfx ANIM_TAG_MUSIC_NOTES createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_SMALL_BUBBLES, 0, 4, 4, RGB(12, 11, 31) waitforvisualfinish - createvisualtask sub_815C478, 5, 0, 2, 1 + createvisualtask AnimTask_RockMonBackAndForth, 5, ANIM_ATTACKER, 2, 1 loopsewithpan SE_W039, SOUND_PAN_ATTACKER, 12, 4 delay 8 createsprite gUnknown_085970E8, ANIM_ATTACKER, 2, 0, 0 @@ -5990,7 +5990,7 @@ Move_AIR_CUTTER: Move_ODOR_SLEUTH: monbg ANIM_TARGET - createvisualtask sub_815F620, 5 + createvisualtask AnimTask_OdorSleuthMovement, 5 delay 24 createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 3, 4 playsewithpan SE_W207, SOUND_PAN_ATTACKER @@ -6054,7 +6054,7 @@ Move_TICKLE: delay 20 createvisualtask AnimTask_SwayMon, 3, 0, 6, 1280, 3, ANIM_ATTACKER delay 12 - createvisualtask sub_815C478, 3, 1, 6, 2 + createvisualtask AnimTask_RockMonBackAndForth, 3, ANIM_TARGET, 6, 2 loopsewithpan SE_W039, SOUND_PAN_TARGET, 8, 8 waitforvisualfinish end @@ -6144,13 +6144,13 @@ Move_IRON_DEFENSE: Move_BLOCK: loadspritegfx ANIM_TAG_X_SIGN - createsprite gUnknown_085CE90C, ANIM_TARGET, 66 + createsprite gBlockXSpriteTemplate, ANIM_TARGET, 66 playsewithpan SE_W207, SOUND_PAN_TARGET end Move_HOWL: loadspritegfx ANIM_TAG_NOISE_LINE - createvisualtask sub_815D64C, 2, 0 + createvisualtask AnimTask_DeepInhale, 2, 0 delay 12 call RoarEffect createvisualtask sub_8158D8C, 2, 0, 3 @@ -6171,7 +6171,7 @@ Move_BULK_UP: Move_COVET: loadspritegfx ANIM_TAG_MAGENTA_HEART loadspritegfx ANIM_TAG_ITEM_BAG - createvisualtask sub_815C478, 5, 0, 2, 0 + createvisualtask AnimTask_RockMonBackAndForth, 5, ANIM_ATTACKER, 2, 0 createsprite gUnknown_08593970, ANIM_ATTACKER, 3, 0, 20 playsewithpan SE_W204, SOUND_PAN_ATTACKER delay 15 @@ -6752,13 +6752,13 @@ Move_ROAR: end RoarEffect: - createsprite gUnknown_085CE7D4, ANIM_ATTACKER, 2, 24, -8, 0 - createsprite gUnknown_085CE7D4, ANIM_ATTACKER, 2, 24, 0, 2 - createsprite gUnknown_085CE7D4, ANIM_ATTACKER, 2, 24, 8, 1 + createsprite gRoarNoiseLineSpriteTemplate, ANIM_ATTACKER, 2, 24, -8, 0 + createsprite gRoarNoiseLineSpriteTemplate, ANIM_ATTACKER, 2, 24, 0, 2 + createsprite gRoarNoiseLineSpriteTemplate, ANIM_ATTACKER, 2, 24, 8, 1 delay 15 - createsprite gUnknown_085CE7D4, ANIM_ATTACKER, 2, 24, -8, 0 - createsprite gUnknown_085CE7D4, ANIM_ATTACKER, 2, 24, 0, 2 - createsprite gUnknown_085CE7D4, ANIM_ATTACKER, 2, 24, 8, 1 + createsprite gRoarNoiseLineSpriteTemplate, ANIM_ATTACKER, 2, 24, -8, 0 + createsprite gRoarNoiseLineSpriteTemplate, ANIM_ATTACKER, 2, 24, 0, 2 + createsprite gRoarNoiseLineSpriteTemplate, ANIM_ATTACKER, 2, 24, 8, 1 return Move_GROWL: @@ -10091,38 +10091,38 @@ MorningSun1: Move_SWEET_SCENT: loadspritegfx ANIM_TAG_PINK_PETAL playsewithpan SE_W230, SOUND_PAN_ATTACKER - createsprite gUnknown_085CE544, ANIM_ATTACKER, 2, 100, 0, 100 + createsprite gSweetScentPetalSpriteTemplate, ANIM_ATTACKER, 2, 100, 0, 100 delay 25 setpan 0 call SweetScentEffect - createsprite gUnknown_085CE544, ANIM_ATTACKER, 2, 55, 0 + createsprite gSweetScentPetalSpriteTemplate, ANIM_ATTACKER, 2, 55, 0 setpan SOUND_PAN_TARGET createvisualtask sub_8115A04, 2, 20, 1, 5, 5, 13, RGB(31, 21, 21) call SweetScentEffect waitforvisualfinish end SweetScentEffect: - createsprite gUnknown_085CE544, ANIM_ATTACKER, 2, 70, 1, 64 + createsprite gSweetScentPetalSpriteTemplate, ANIM_ATTACKER, 2, 70, 1, 64 delay 2 - createsprite gUnknown_085CE544, ANIM_ATTACKER, 2, 60, 0, 64 + createsprite gSweetScentPetalSpriteTemplate, ANIM_ATTACKER, 2, 60, 0, 64 delay 5 - createsprite gUnknown_085CE544, ANIM_ATTACKER, 2, 80, 1, 64 + createsprite gSweetScentPetalSpriteTemplate, ANIM_ATTACKER, 2, 80, 1, 64 delay 2 - createsprite gUnknown_085CE544, ANIM_ATTACKER, 2, 58, 0, 120 + createsprite gSweetScentPetalSpriteTemplate, ANIM_ATTACKER, 2, 58, 0, 120 delay 2 - createsprite gUnknown_085CE544, ANIM_ATTACKER, 2, 100, 0, 120 + createsprite gSweetScentPetalSpriteTemplate, ANIM_ATTACKER, 2, 100, 0, 120 delay 2 - createsprite gUnknown_085CE544, ANIM_ATTACKER, 2, 90, 0, 64 + createsprite gSweetScentPetalSpriteTemplate, ANIM_ATTACKER, 2, 90, 0, 64 delay 2 - createsprite gUnknown_085CE544, ANIM_ATTACKER, 2, 48, 0, 64 + createsprite gSweetScentPetalSpriteTemplate, ANIM_ATTACKER, 2, 48, 0, 64 delay 2 - createsprite gUnknown_085CE544, ANIM_ATTACKER, 2, 95, 1, 80 + createsprite gSweetScentPetalSpriteTemplate, ANIM_ATTACKER, 2, 95, 1, 80 delay 2 - createsprite gUnknown_085CE544, ANIM_ATTACKER, 2, 100, 0, 120 + createsprite gSweetScentPetalSpriteTemplate, ANIM_ATTACKER, 2, 100, 0, 120 delay 2 - createsprite gUnknown_085CE544, ANIM_ATTACKER, 2, 75, 1, 64 + createsprite gSweetScentPetalSpriteTemplate, ANIM_ATTACKER, 2, 75, 1, 64 delay 2 - createsprite gUnknown_085CE544, ANIM_ATTACKER, 2, 85, 0, 120 + createsprite gSweetScentPetalSpriteTemplate, ANIM_ATTACKER, 2, 85, 0, 120 delay 2 return @@ -10183,32 +10183,32 @@ Move_FLATTER: createvisualtask sub_815ABEC, 2 createvisualtask sub_8116960, 2, 248, 3, 0, 10, 0 waitforvisualfinish - createsprite gUnknown_085CE5C0, ANIM_TARGET, 2, 0, -8, 80 + createsprite gFlatterSpotlightSpriteTemplate, ANIM_TARGET, 2, 0, -8, 80 delay 0 createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 5, 2, ANIM_TARGET delay 10 createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 5, 2, ANIM_TARGET delay 0 createvisualtask sub_8159210, 5, 229, SOUND_PAN_ATTACKER - call Flatter1 - call Flatter1 - call Flatter1 - call Flatter1 - call Flatter1 - call Flatter1 - call Flatter1 - call Flatter1 - call Flatter1 - call Flatter1 - call Flatter1 - call Flatter1 - call Flatter1 - call Flatter1 - call Flatter1 - call Flatter1 - call Flatter1 - call Flatter1 - call Flatter1 + call CreateFlatterConfetti + call CreateFlatterConfetti + call CreateFlatterConfetti + call CreateFlatterConfetti + call CreateFlatterConfetti + call CreateFlatterConfetti + call CreateFlatterConfetti + call CreateFlatterConfetti + call CreateFlatterConfetti + call CreateFlatterConfetti + call CreateFlatterConfetti + call CreateFlatterConfetti + call CreateFlatterConfetti + call CreateFlatterConfetti + call CreateFlatterConfetti + call CreateFlatterConfetti + call CreateFlatterConfetti + call CreateFlatterConfetti + call CreateFlatterConfetti delay 5 createvisualtask sub_8159210, 5, 229, SOUND_PAN_TARGET waitforvisualfinish @@ -10216,9 +10216,9 @@ Move_FLATTER: waitforvisualfinish createvisualtask sub_815AC8C, 2 end -Flatter1: - createsprite gUnknown_085CE5A8, ANIM_ATTACKER, 40, 0 - createsprite gUnknown_085CE5A8, ANIM_ATTACKER, 40, 1 +CreateFlatterConfetti: + createsprite gFlatterConfettiSpriteTemplate, ANIM_ATTACKER, 40, ANIM_ATTACKER + createsprite gFlatterConfettiSpriteTemplate, ANIM_ATTACKER, 40, ANIM_TARGET return Move_ROLE_PLAY: @@ -10228,7 +10228,7 @@ Move_ROLE_PLAY: waitforvisualfinish playsewithpan SE_W161, SOUND_PAN_ATTACKER waitplaysewithpan SE_W197, SOUND_PAN_ATTACKER, 30 - createvisualtask sub_815CED8, 2 + createvisualtask AnimTask_RolePlaySilhouette, 2 waitforvisualfinish clearmonbg ANIM_ATK_PARTNER createvisualtask sub_8116620, 10, 4, 2, 16, 0, RGB_WHITE @@ -10497,12 +10497,12 @@ Move_METEOR_MASH: fadetobg BG_COSMIC waitbgfadein waitforvisualfinish - createsprite gUnknown_085CE8DC, ANIM_TARGET, 3, -48, SOUND_PAN_ATTACKER, 72, 32, 30 + createsprite gMeteorMashStarSpriteTemplate, ANIM_TARGET, 3, -48, -64, 72, 32, 30 delay 10 - createsprite gUnknown_085CE8DC, ANIM_TARGET, 3, -112, SOUND_PAN_ATTACKER, 8, 32, 30 + createsprite gMeteorMashStarSpriteTemplate, ANIM_TARGET, 3, -112, -64, 8, 32, 30 delay 40 createsprite gUnknown_08595F14, ANIM_TARGET, 3, 0, 0, 0, 30 - createsprite gUnknown_085CE8DC, ANIM_TARGET, 3, -80, SOUND_PAN_ATTACKER, 40, 32, 30 + createsprite gMeteorMashStarSpriteTemplate, ANIM_TARGET, 3, -80, -64, 40, 32, 30 delay 20 playsewithpan SE_W233B, SOUND_PAN_TARGET createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, 1, 1 @@ -11330,7 +11330,7 @@ Move_KNOCK_OFF: createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 6 delay 4 playsewithpan SE_W233, SOUND_PAN_TARGET - createsprite gUnknown_085CE984, ANIM_TARGET, 2, -16, -16 + createsprite gKnockOffStrikeSpriteTemplate, ANIM_TARGET, 2, -16, -16 delay 8 createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 5, 1, RGB_WHITE, 10, 0, 0 createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, 1, 2 @@ -12232,31 +12232,31 @@ General_SmokeballEscape: setalpha 12, 4 delay 0 playsewithpan SE_BOWA2, SOUND_PAN_TARGET - createsprite gUnknown_085CE734, ANIM_TARGET, 0, 0, 32, 28, 30 + createsprite gSmokeBallEscapeCloudSpriteTemplate, ANIM_TARGET, 0, 0, 32, 28, 30 delay 4 playsewithpan SE_BOWA2, SOUND_PAN_TARGET - createsprite gUnknown_085CE734, ANIM_ATTACKER, 127, 2, 12, 20, 30 + createsprite gSmokeBallEscapeCloudSpriteTemplate, ANIM_ATTACKER, 127, 2, 12, 20, 30 delay 12 playsewithpan SE_BOWA2, SOUND_PAN_TARGET - createsprite gUnknown_085CE734, ANIM_ATTACKER, 126, 2, -28, 4, 30 + createsprite gSmokeBallEscapeCloudSpriteTemplate, ANIM_ATTACKER, 126, 2, -28, 4, 30 delay 12 playsewithpan SE_BOWA2, SOUND_PAN_TARGET - createsprite gUnknown_085CE734, ANIM_ATTACKER, 124, 2, 14, -20, 30 + createsprite gSmokeBallEscapeCloudSpriteTemplate, ANIM_ATTACKER, 124, 2, 14, -20, 30 delay 4 playsewithpan SE_BOWA2, SOUND_PAN_TARGET createvisualtask sub_81136E8, 2, 2 - createsprite gUnknown_085CE734, ANIM_ATTACKER, 123, 3, 4, 4, 30 + createsprite gSmokeBallEscapeCloudSpriteTemplate, ANIM_ATTACKER, 123, 3, 4, 4, 30 delay 14 playsewithpan SE_BOWA2, SOUND_PAN_TARGET - createsprite gUnknown_085CE734, ANIM_ATTACKER, 122, 3, -14, 18, 46 + createsprite gSmokeBallEscapeCloudSpriteTemplate, ANIM_ATTACKER, 122, 3, -14, 18, 46 delay 0 - createsprite gUnknown_085CE734, ANIM_ATTACKER, 121, 3, 14, -14, 46 + createsprite gSmokeBallEscapeCloudSpriteTemplate, ANIM_ATTACKER, 121, 3, 14, -14, 46 delay 0 - createsprite gUnknown_085CE734, ANIM_ATTACKER, 120, 3, -12, -10, 46 + createsprite gSmokeBallEscapeCloudSpriteTemplate, ANIM_ATTACKER, 120, 3, -12, -10, 46 delay 0 - createsprite gUnknown_085CE734, ANIM_ATTACKER, 119, 3, 14, 14, 46 + createsprite gSmokeBallEscapeCloudSpriteTemplate, ANIM_ATTACKER, 119, 3, 14, 14, 46 delay 0 - createsprite gUnknown_085CE734, ANIM_ATTACKER, 118, 3, 0, 0, 46 + createsprite gSmokeBallEscapeCloudSpriteTemplate, ANIM_ATTACKER, 118, 3, 0, 0, 46 waitforvisualfinish clearmonbg ANIM_ATTACKER invisible ANIM_ATTACKER @@ -12338,11 +12338,11 @@ SnatchMoveContinue: end SnatchOpposingMonMove: playsewithpan SE_W104, SOUND_PAN_ATTACKER - createvisualtask sub_815F8F4, 2 + createvisualtask AnimTask_SnatchOpposingMonMove, 2 goto SnatchMoveContinue SnatchPartnerMonMove: playsewithpan SE_W104, SOUND_PAN_ATTACKER - createvisualtask sub_815FFC4, 2 + createvisualtask AnimTask_SnatchPartnerMove, 2 goto SnatchMoveContinue General_FutureSightHit: diff --git a/data/battle_frontier_1.s b/data/battle_frontier_1.s deleted file mode 100644 index b1375e05f5..0000000000 --- a/data/battle_frontier_1.s +++ /dev/null @@ -1,434 +0,0 @@ -#include "constants/flags.h" - - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 -gUnknown_0860DEB8:: @ 860DEB8 //struct - .2byte 0x0025, 0x0000, 0x0108, 0x0208, 0x0308, 0x0103, 0x0008, 0x0108, 0x0208, 0x0000 - .2byte 0x02e1, 0x0000, 0x010c, 0x020c, 0x030c, 0x013e, 0x000c, 0x010c, 0x020c, 0x0000 - .2byte 0x002c, 0x0000, 0x010c, 0x020c, 0x030c, 0x0104, 0x000c, 0x010c, 0x020c, 0x0000 - .2byte 0x0039, 0x0000, 0x0102, 0x0202, 0x0302, 0x0105, 0x0002, 0x0102, 0x0202, 0x0000 - .2byte 0x0040, 0x0000, 0x0101, 0x0201, 0x0301, 0x0106, 0x0001, 0x0101, 0x0201, 0x0000 - .2byte 0x02af, 0x0004, 0x0101, 0x0201, 0x0301, 0x013d, 0x0001, 0x0101, 0x0201, 0x0000 - .2byte 0x02ff, 0x0000, 0x010a, 0x020a, 0x030a, 0x0140, 0x000a, 0x010a, 0x020a, 0x0000 - .2byte 0x005e, 0x0000, 0x0109, 0x0209, 0x0309, 0x0108, 0x0009, 0x0109, 0x0209, 0x0000 - .2byte 0x004e, 0x0000, 0x0106, 0x0206, 0x0306, 0x0107, 0x0006, 0x0106, 0x0206, 0x0000 - .2byte 0x006c, 0x0000, 0x0108, 0x0208, 0x0308, 0x0109, 0x0008, 0x0108, 0x0208, 0x0000 - .2byte 0x0072, 0x0000, 0x0108, 0x0208, 0x0308, 0x010a, 0x0008, 0x0108, 0x0208, 0x0000 - .2byte 0x0090, 0x0000, 0x0108, 0x020a, 0x030a, 0x010e, 0x000a, 0x0108, 0x020a, 0x0000 - .2byte 0x007f, 0x0000, 0x010a, 0x020a, 0x030a, 0x010b, 0x000a, 0x0108, 0x020a, 0x0000 - .2byte 0x0088, 0x0000, 0x0104, 0x0204, 0x0304, 0x010c, 0x0004, 0x0104, 0x0204, 0x0000 - .2byte 0x008f, 0x0000, 0x0107, 0x0207, 0x0307, 0x010d, 0x0007, 0x0107, 0x0207, 0x0000 - .2byte 0x009b, 0x0000, 0x0105, 0x0205, 0x0305, 0x010f, 0x0005, 0x0105, 0x0205, 0x0000 - .2byte 0x00b7, 0x0000, 0x0103, 0x0203, 0x0303, 0x0110, 0x0003, 0x0103, 0x0203, 0x0000 - .2byte 0x02a0, 0x0000, 0x0103, 0x0203, 0x0303, 0x013b, 0x0003, 0x0103, 0x0203, 0x0000 - .2byte 0x00c3, 0x0000, 0x0106, 0x0206, 0x0306, 0x0111, 0x0006, 0x0106, 0x0206, 0x0000 - .2byte 0x00c4, 0x0000, 0x0104, 0x0204, 0x0304, 0x0112, 0x0004, 0x0104, 0x0204, 0x0000 - .2byte 0x00ce, 0x0000, 0x010b, 0x020b, 0x030b, 0x0113, 0x000b, 0x010b, 0x020b, 0x0000 - .2byte 0x00d8, 0x0000, 0x0101, 0x0201, 0x0301, 0x0114, 0x0001, 0x0101, 0x0201, 0x0000 - .2byte 0x02a9, 0x0003, 0x010c, 0x020c, 0x030c, 0x013c, 0x000c, 0x010c, 0x020c, 0x0000 - .2byte 0x00e2, 0x0000, 0x0107, 0x0207, 0x0307, 0x0115, 0x0007, 0x0107, 0x0207, 0x0000 - .2byte 0x00ee, 0x0000, 0x0104, 0x0204, 0x0304, 0x0116, 0x0001, 0x0104, 0x0204, 0x0000 - .2byte 0x00f9, 0x0000, 0x0108, 0x0208, 0x0308, 0x0117, 0x0008, 0x0108, 0x0208, 0x0000 - .2byte 0x00fe, 0x0000, 0x010c, 0x020c, 0x030c, 0x0118, 0x000c, 0x010c, 0x020c, 0x0000 - .2byte 0x0118, 0x0000, 0x0102, 0x0202, 0x0302, 0x011a, 0x0002, 0x0102, 0x0202, 0x0000 - .2byte 0x0111, 0x0000, 0x0101, 0x0201, 0x0301, 0x0119, 0x0001, 0x0101, 0x0201, 0x0000 - .2byte 0x011f, 0x0006, 0x0109, 0x0209, 0x0309, 0x011b, 0x0009, 0x0109, 0x0209, 0x0000 - .2byte 0x012e, 0x0000, 0x010e, 0x020e, 0x030e, 0x011d, 0x000e, 0x010e, 0x020e, 0x0000 - .2byte 0x0125, 0x0000, 0x010b, 0x020b, 0x030b, 0x011c, 0x000b, 0x010b, 0x020b, 0x0000 - .2byte 0x0133, 0x0000, 0x010c, 0x020c, 0x030c, 0x011e, 0x000c, 0x010c, 0x020c, 0x0000 - .2byte 0x0139, 0x0000, 0x010d, 0x020d, 0x030d, 0x011f, 0x000d, 0x010d, 0x020d, 0x0000 - .2byte 0x013e, 0x0000, 0x0101, 0x0201, 0x0301, 0x0120, 0x0001, 0x0101, 0x0201, 0x0000 - .2byte 0x0153, 0x0000, 0x0103, 0x0203, 0x0303, 0x0121, 0x0003, 0x0103, 0x0203, 0x0000 - .2byte 0x0178, 0x0000, 0x0105, 0x0205, 0x0305, 0x0126, 0x0005, 0x0105, 0x0205, 0x0000 - .2byte 0x0171, 0x0000, 0x0109, 0x0209, 0x0309, 0x0125, 0x0009, 0x0109, 0x0209, 0x0000 - .2byte 0x0166, 0x0000, 0x0109, 0x0209, 0x0309, 0x0123, 0x0009, 0x0109, 0x0209, 0x0000 - .2byte 0x016c, 0x0000, 0x0105, 0x0205, 0x0305, 0x0124, 0x0005, 0x0105, 0x0205, 0x0000 - .2byte 0x0182, 0x0000, 0x0109, 0x0209, 0x0309, 0x0128, 0x0009, 0x0109, 0x0209, 0x0000 - .2byte 0x0161, 0x0000, 0x0105, 0x0205, 0x0305, 0x0122, 0x0005, 0x0105, 0x0205, 0x0000 - .2byte 0x0179, 0x0000, 0x0105, 0x0205, 0x0305, 0x0127, 0x0005, 0x0105, 0x0205, 0x0000 - .2byte 0x0188, 0x0000, 0x0104, 0x0204, 0x0304, 0x0129, 0x0004, 0x0104, 0x0204, 0x0000 - .2byte 0x0196, 0x0000, 0x0106, 0x0206, 0x0306, 0x012a, 0x0006, 0x0106, 0x0206, 0x0000 - .2byte 0x01a3, 0x0000, 0x0101, 0x0201, 0x0301, 0x012b, 0x0001, 0x0101, 0x0201, 0x0000 - .2byte 0x01ab, 0x0000, 0x0109, 0x0209, 0x0309, 0x012c, 0x0009, 0x0109, 0x0209, 0x0000 - .2byte 0x01b2, 0x0000, 0x0108, 0x0208, 0x0308, 0x012d, 0x0008, 0x0108, 0x0208, 0x0000 - .2byte 0x01c1, 0x0000, 0x0109, 0x0209, 0x0309, 0x012e, 0x0009, 0x0109, 0x0209, 0x0000 - .2byte 0x01da, 0x0000, 0x0102, 0x0202, 0x0302, 0x012f, 0x0002, 0x0102, 0x0202, 0x0000 - .2byte 0x01e1, 0x0002, 0x0102, 0x0202, 0x0302, 0x0130, 0x0001, 0x0102, 0x0202, 0x0000 - .2byte 0x01ec, 0x0000, 0x0103, 0x0203, 0x0303, 0x0131, 0x0003, 0x0103, 0x0203, 0x0000 - .2byte 0x02e4, 0x0000, 0x0103, 0x0203, 0x0303, 0x013f, 0x0003, 0x0103, 0x0203, 0x0000 - .2byte 0x0200, 0x0000, 0x0107, 0x0207, 0x0307, 0x0132, 0x0007, 0x0107, 0x0207, 0x0000 - .2byte 0x0221, 0x0000, 0x0108, 0x0208, 0x0308, 0x0134, 0x0008, 0x0108, 0x0208, 0x0000 - .2byte 0x021a, 0x0000, 0x0105, 0x0205, 0x0305, 0x0133, 0x0005, 0x0105, 0x0205, 0x0000 - .2byte 0x0009, 0x0000, 0x0108, 0x0208, 0x0308, 0x0102, 0x0008, 0x0108, 0x0208, 0x0000 - .2byte 0x022f, 0x0000, 0x0109, 0x0209, 0x0309, 0x0136, 0x0009, 0x0109, 0x0209, 0x0000 - .2byte 0x0228, 0x0000, 0x0105, 0x0205, 0x0305, 0x0135, 0x0005, 0x0105, 0x0205, 0x0000 - .2byte 0x025c, 0x0000, 0x0102, 0x0202, 0x0302, 0x0137, 0x0002, 0x0102, 0x0202, 0x0000 - .2byte 0x026d, 0x0000, 0x0101, 0x0201, 0x0301, 0x0138, 0x0001, 0x0101, 0x0201, 0x0000 - .2byte 0x0273, 0x0000, 0x0103, 0x0203, 0x0303, 0x0139, 0x0003, 0x0103, 0x0203, 0x0000 - .2byte 0x0001, 0x0000, 0x010f, 0x0203, 0x0303, 0x0101, 0x0003, 0x0103, 0x0203, 0x0000 - .2byte 0x0282, 0x0001, 0x0109, 0x0209, 0x0309, 0x013a, 0x0009, 0x0109, 0x0209, 0x0000 - - .align 2 -gUnknown_0860E3B8:: @ 860E3B8 - .4byte BattleFrontier_PokeNav_2A971C, 0x00ff0200 - .4byte BattleFrontier_PokeNav_2A9798, 0x00ff0200 - .4byte BattleFrontier_PokeNav_2A9813, 0x00ff0200 - .4byte BattleFrontier_PokeNav_2A98A8, 0x00ff0200 - .4byte BattleFrontier_PokeNav_2A9977, 0x00ff0200 - .4byte BattleFrontier_PokeNav_2A99FD, 0x00ff0200 - .4byte BattleFrontier_PokeNav_2A9A78, 0x00ff0200 - .4byte BattleFrontier_PokeNav_2A9AE8, 0x00ff0200 - .4byte BattleFrontier_PokeNav_2A9BA7, 0x00ff0200 - .4byte BattleFrontier_PokeNav_2A9C36, 0x00ff0200 - .4byte BattleFrontier_PokeNav_2A9CC8, 0x00ff0200 - .4byte BattleFrontier_PokeNav_2A9D44, 0x00ff0200 - .4byte BattleFrontier_PokeNav_2A9DD7, 0x00ff0200 - .4byte BattleFrontier_PokeNav_2A9E70, 0x00ff0200 - .4byte BattleFrontier_PokeNav_2A9EFD, 0x00ff0200 - - .align 2 -gUnknown_0860E430:: @ 860E430 - .4byte BattleFrontier_PokeNav_2A9FAB, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AA028, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AA099, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AA100, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AA188, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AA214, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AA2A1, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AA31B, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AA3A8, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AA442, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AA4C5, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AA520, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AA5AD, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AA64D, 0x00ffff00 - - .align 2 -gUnknown_0860E4A0:: @ 860E4A0 - .4byte BattleFrontier_PokeNav_2AA6AF, 0x00ff0300 - .4byte BattleFrontier_PokeNav_2AA730, 0x00ff0300 - .4byte BattleFrontier_PokeNav_2AA77A, 0x00ff0300 - .4byte BattleFrontier_PokeNav_2AA81C, 0x00ff0300 - .4byte BattleFrontier_PokeNav_2AA88C, 0x00ff0300 - .4byte BattleFrontier_PokeNav_2AA934, 0x00ff0300 - .4byte BattleFrontier_PokeNav_2AA9D3, 0x00ff0300 - .4byte BattleFrontier_PokeNav_2AAA40, 0x00ff0300 - .4byte BattleFrontier_PokeNav_2AAAE4, 0x00ff0300 - .4byte BattleFrontier_PokeNav_2AAB8C, 0x00ff0300 - .4byte BattleFrontier_PokeNav_2AAC25, 0x00ff0300 - .4byte BattleFrontier_PokeNav_2AAC9D, 0x00ff0300 - .4byte BattleFrontier_PokeNav_2AAD41, 0x00ff0300 - .4byte BattleFrontier_PokeNav_2AAE00, 0x00ff0300 - - .align 2 -gUnknown_0860E510:: @ 860E510 - .4byte BattleFrontier_PokeNav_2AAE7F, 0x00ff0100 - .4byte BattleFrontier_PokeNav_2AAEF1, 0x00ff0100 - .4byte BattleFrontier_PokeNav_2AAF69, 0x00ff0100 - .4byte BattleFrontier_PokeNav_2AB010, 0x00ff0100 - .4byte BattleFrontier_PokeNav_2AB076, 0x00ff0100 - .4byte BattleFrontier_PokeNav_2AB11A, 0x00ff0100 - .4byte BattleFrontier_PokeNav_2AB1B4, 0x00ff0100 - .4byte BattleFrontier_PokeNav_2AB23D, 0x00ff0100 - .4byte BattleFrontier_PokeNav_2AB2E9, 0x00ff0100 - .4byte BattleFrontier_PokeNav_2AB382, 0x00ff0100 - .4byte BattleFrontier_PokeNav_2AB410, 0x00ff0100 - .4byte BattleFrontier_PokeNav_2AB4B0, 0x00ff0100 - .4byte BattleFrontier_PokeNav_2AB538, 0x00ff0100 - .4byte BattleFrontier_PokeNav_2AB5E4, 0x00ff0100 - - .align 2 -gUnknown_0860E580:: @ 860E580 - .4byte BattleFrontier_PokeNav_2AB670, 0x00ff0100 - .4byte BattleFrontier_PokeNav_2AB6CD, 0x00ff0100 - .4byte BattleFrontier_PokeNav_2AB73C, 0x00ff0100 - .4byte BattleFrontier_PokeNav_2AB808, 0x00ff0100 - .4byte BattleFrontier_PokeNav_2AB8B7, 0x00ff0100 - .4byte BattleFrontier_PokeNav_2AB95D, 0x00ff0100 - .4byte BattleFrontier_PokeNav_2ABA03, 0x00ff0100 - .4byte BattleFrontier_PokeNav_2ABA9F, 0x00ff0100 - .4byte BattleFrontier_PokeNav_2ABB62, 0x00ff0100 - .4byte BattleFrontier_PokeNav_2ABC26, 0x00ff0100 - .4byte BattleFrontier_PokeNav_2ABCE9, 0x00ff0100 - .4byte BattleFrontier_PokeNav_2ABDA2, 0x00ff0100 - .4byte BattleFrontier_PokeNav_2ABE5E, 0x00ff0100 - .4byte BattleFrontier_PokeNav_2ABF36, 0x00ff0100 - - .align 2 -gUnknown_0860E5F0:: @ 860E5F0 - .4byte BattleFrontier_PokeNav_2AC009, 0x00ff0100 - .4byte BattleFrontier_PokeNav_2AC0BD, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AC18C, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AC228, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AC30C, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AC3B6, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AC446, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AC5C7, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AC682, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AC755, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AC82C, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AC914, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2ACA59, 0x00ff0200 - .4byte BattleFrontier_PokeNav_2ACB02, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2ACC3F, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2ACD2F, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2ACE1E, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2ACF32, 0x00ff0300 - .4byte BattleFrontier_PokeNav_2ACFBE, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AD0AC, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AD194, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AD1DF, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AD2A8, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AD34F, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AD44E, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AD53A, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AD642, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AD801, 0x00ff0300 - .4byte BattleFrontier_PokeNav_2AD92E, 0x00ff0300 - .4byte BattleFrontier_PokeNav_2ADA8F, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2ADB9B, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2ADC92, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2ADE08, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2ADF07, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AE0D9, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AE1FD, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AE327, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AE3DA, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AE489, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AE5CD, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AE698, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AE704, 0x00ff0300 - .4byte BattleFrontier_PokeNav_2AE78F, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AE859, 0x00ff0300 - .4byte BattleFrontier_PokeNav_2AE8E6, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AE998, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AEA8F, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AEB77, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AEBFA, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AECC1, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AED52, 0x00ff0100 - .4byte BattleFrontier_PokeNav_2AEE35, 0x00ff0300 - .4byte BattleFrontier_PokeNav_2AEEF4, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AEFDA, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AF0E7, 0x00ff0100 - .4byte BattleFrontier_PokeNav_2AF1B8, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AF2C4, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AF371, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AF480, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AF671, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AF7D8, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AF8F7, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AFA39, 0x00ffff00 - .4byte BattleFrontier_PokeNav_2AFB26, 0x00ffff00 - - .align 2 -gUnknown_0860E7F0:: @860E7F0 - .4byte BattleFrontier_PokeNav_2AFC07, 0x00050400 - .4byte BattleFrontier_PokeNav_2AFC78, 0x00050400 - .4byte BattleFrontier_PokeNav_2AFCFF, 0x00050400 - .4byte BattleFrontier_PokeNav_2AFDA7, 0x00050400 - .4byte BattleFrontier_PokeNav_2AFE3D, 0x00050400 - .4byte BattleFrontier_PokeNav_2AFECA, 0x00050400 - .4byte BattleFrontier_PokeNav_2AFF64, 0x00050400 - .4byte BattleFrontier_PokeNav_2AFFF0, 0x00050400 - .4byte BattleFrontier_PokeNav_2B00B5, 0x00050400 - .4byte BattleFrontier_PokeNav_2B0129, 0x00050400 - .4byte BattleFrontier_PokeNav_2B01A5, 0x00050400 - .4byte BattleFrontier_PokeNav_2B0232, 0x00050400 - .4byte BattleFrontier_PokeNav_2B02D9, 0x00050400 - .4byte BattleFrontier_PokeNav_2B0366, 0x00050400 - - .align 2 -gUnknown_0860E860:: @860E860 - .4byte BattleFrontier_PokeNav_2B03E6, 0x00050400 - .4byte BattleFrontier_PokeNav_2B0457, 0x00050400 - .4byte BattleFrontier_PokeNav_2B04DE, 0x00050400 - .4byte BattleFrontier_PokeNav_2B0586, 0x00050400 - .4byte BattleFrontier_PokeNav_2B061C, 0x00050400 - .4byte BattleFrontier_PokeNav_2B06A3, 0x00050400 - .4byte BattleFrontier_PokeNav_2B073B, 0x00050400 - .4byte BattleFrontier_PokeNav_2B07C7, 0x00050400 - .4byte BattleFrontier_PokeNav_2B0894, 0x00050400 - .4byte BattleFrontier_PokeNav_2B0908, 0x00050400 - .4byte BattleFrontier_PokeNav_2B0984, 0x00050400 - .4byte BattleFrontier_PokeNav_2B0A11, 0x00050400 - .4byte BattleFrontier_PokeNav_2B0AB8, 0x00050400 - .4byte BattleFrontier_PokeNav_2B0B45, 0x00050400 - - .align 2 -gUnknown_0860E8D0:: @860E8D0 - .4byte BattleFrontier_PokeNav_2B0BC5, 0x00050400 - .4byte BattleFrontier_PokeNav_2B0C4A, 0x00050400 - .4byte BattleFrontier_PokeNav_2B0CC7, 0x00050400 - .4byte BattleFrontier_PokeNav_2B0D4A, 0x00050400 - .4byte BattleFrontier_PokeNav_2B0DC8, 0x00050400 - .4byte BattleFrontier_PokeNav_2B0E35, 0x00050400 - .4byte BattleFrontier_PokeNav_2B0ED1, 0x00050400 - .4byte BattleFrontier_PokeNav_2B0F72, 0x00050400 - .4byte BattleFrontier_PokeNav_2B102A, 0x00050400 - .4byte BattleFrontier_PokeNav_2B10A7, 0x00050400 - .4byte BattleFrontier_PokeNav_2B1121, 0x00050400 - .4byte BattleFrontier_PokeNav_2B11D3, 0x00050400 - .4byte BattleFrontier_PokeNav_2B124D, 0x00050400 - .4byte BattleFrontier_PokeNav_2B12D0, 0x00050400 - - .align 2 -gUnknown_0860E940:: @860E940 - .4byte BattleFrontier_PokeNav_2B1347, 0x00050400 - .4byte BattleFrontier_PokeNav_2B13B1, 0x00050400 - .4byte BattleFrontier_PokeNav_2B142B, 0x00050400 - .4byte BattleFrontier_PokeNav_2B14B4, 0x00050400 - .4byte BattleFrontier_PokeNav_2B1525, 0x00050400 - .4byte BattleFrontier_PokeNav_2B158E, 0x00050400 - .4byte BattleFrontier_PokeNav_2B1622, 0x00050400 - .4byte BattleFrontier_PokeNav_2B169D, 0x00050400 - .4byte BattleFrontier_PokeNav_2B1775, 0x00050400 - .4byte BattleFrontier_PokeNav_2B17F8, 0x00050400 - .4byte BattleFrontier_PokeNav_2B1877, 0x00050400 - .4byte BattleFrontier_PokeNav_2B1946, 0x00050400 - .4byte BattleFrontier_PokeNav_2B19C7, 0x00050400 - .4byte BattleFrontier_PokeNav_2B1A4C, 0x00050400 - - .align 2 -gUnknown_0860E9B0:: @860E9B0 - .4byte BattleFrontier_PokeNav_2B1ACA, 0x00050400 - .4byte BattleFrontier_PokeNav_2B1B50, 0x00050400 - .4byte BattleFrontier_PokeNav_2B1BE4, 0x00050400 - .4byte BattleFrontier_PokeNav_2B1C6A, 0x00050400 - .4byte BattleFrontier_PokeNav_2B1CCF, 0x00050400 - .4byte BattleFrontier_PokeNav_2B1D38, 0x00050400 - .4byte BattleFrontier_PokeNav_2B1DCD, 0x00050400 - .4byte BattleFrontier_PokeNav_2B1E4B, 0x00050400 - .4byte BattleFrontier_PokeNav_2B1F24, 0x00050400 - .4byte BattleFrontier_PokeNav_2B1FA8, 0x00050400 - .4byte BattleFrontier_PokeNav_2B2022, 0x00050400 - .4byte BattleFrontier_PokeNav_2B20F3, 0x00050400 - .4byte BattleFrontier_PokeNav_2B2175, 0x00050400 - .4byte BattleFrontier_PokeNav_2B21FC, 0x00050400 - - .align 2 -gUnknown_0860EA20:: @ 860EA20 - .4byte gUnknown_0860E3B8 - .4byte gUnknown_0860E430 - .4byte gUnknown_0860E4A0 - - .align 2 -gUnknown_0860EA2C:: @ 860EA2C - .4byte gUnknown_0860E510 - .4byte gUnknown_0860E580 - - .align 2 -gUnknown_0860EA34:: @ 860EA34 - .4byte gUnknown_0860E5F0 - .4byte gUnknown_0860E7F0 - .4byte gUnknown_0860E860 - .4byte gUnknown_0860E8D0 - .4byte gUnknown_0860E940 - .4byte gUnknown_0860E9B0 - - .align 2 -gUnknown_0860EA4C:: @ 860EA4C - .incbin "graphics/unknown/unknown_60EA4C.gbapal" - - .align 2 -gUnknown_0860EA6C:: @ 860EA6C - .incbin "graphics/interface/menu_border.4bpp" - - .align 2 -gUnknown_0860EB6C:: @ 860EB6C - .incbin "graphics/pokenav/icon.gbapal" - - .align 2 -gUnknown_0860EB8C:: @ 860EB8C - .incbin "graphics/pokenav/icon.4bpp.lz" - - .align 2 -gText_PokenavCallEllipsis:: @ 860EF70 - .string "………………\p$" - - .align 2 -gUnknown_0860EF78:: @ 860EF78 - .4byte sub_819612C - .4byte sub_81961F0 - .4byte sub_8196274 - .4byte sub_81962B0 - .4byte sub_81962D8 - .4byte sub_8196330 - .4byte sub_8196390 - .4byte sub_81963F0 - - .align 2 -gUnknown_0860EF98:: @ 860EF98 - window_template 0x00, 0x01, 0x0f, 0x1c, 0x04, 0x0f, 0x0200 - - .align 2 -gUnknown_0860EFA0:: @ 860EFA0 - .4byte gStringVar1 - .4byte gStringVar2 - .4byte gStringVar3 - - .align 2 -gUnknown_0860EFAC:: @ 860EFAC - .4byte sub_8196A44 - .4byte sub_8196A9C - .4byte sub_8196B98 - .4byte sub_8196C70 - .4byte sub_8196CF4 - .4byte sub_8196D14 - - .align 2 -gUnknown_0860EFC4:: @ 860EFC4 - .4byte 0x00000282, gText_Kira - .4byte 0x000001e1, gText_Amy - .4byte 0x000002a9, gText_John - .4byte 0x000002af, gText_Roy - .4byte 0x00000033, gText_Gabby - .4byte 0x0000011f, gText_Anna - - .align 2 -gUnknown_0860EFF4:: @ 860EFF4 - .4byte gText_BattleTower2 - .4byte gText_BattleDome - .4byte gText_BattlePalace - .4byte gText_BattleArena - .4byte gText_BattlePike - .4byte gText_BattleFactory - .4byte gText_BattlePyramid - - .align 2 -gUnknown_0860F010:: @ 860F010 - .2byte FLAG_BADGE01_GET - .2byte FLAG_BADGE02_GET - .2byte FLAG_BADGE03_GET - .2byte FLAG_BADGE04_GET - .2byte FLAG_BADGE05_GET - .2byte FLAG_BADGE06_GET - .2byte FLAG_BADGE07_GET - .2byte FLAG_BADGE08_GET - -gUnknown_0860F020:: @ 860F020 - .4byte gBirchDexRatingText_LessThan10 - .4byte gBirchDexRatingText_LessThan20 - .4byte gBirchDexRatingText_LessThan30 - .4byte gBirchDexRatingText_LessThan40 - .4byte gBirchDexRatingText_LessThan50 - .4byte gBirchDexRatingText_LessThan60 - .4byte gBirchDexRatingText_LessThan70 - .4byte gBirchDexRatingText_LessThan80 - .4byte gBirchDexRatingText_LessThan90 - .4byte gBirchDexRatingText_LessThan100 - .4byte gBirchDexRatingText_LessThan110 - .4byte gBirchDexRatingText_LessThan120 - .4byte gBirchDexRatingText_LessThan130 - .4byte gBirchDexRatingText_LessThan140 - .4byte gBirchDexRatingText_LessThan150 - .4byte gBirchDexRatingText_LessThan160 - .4byte gBirchDexRatingText_LessThan170 - .4byte gBirchDexRatingText_LessThan180 - .4byte gBirchDexRatingText_LessThan190 - .4byte gBirchDexRatingText_LessThan200 - .4byte gBirchDexRatingText_DexCompleted diff --git a/data/event_scripts.s b/data/event_scripts.s index 6a3a2f2f62..34a8484e59 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -452,7 +452,7 @@ EventScript_SecretBasePC:: @ 823B4BB EventScript_23B4D3:: @ 823B4D3 message Text_27681A waitmessage - goto_if_set FLAG_0x10C, EventScript_23B4EF + goto_if_set FLAG_DECORATION_16, EventScript_23B4EF goto EventScript_23B531 end @@ -1050,7 +1050,7 @@ EventScript_2715DE:: @ 82715DE setflag FLAG_HIDE_LILYCOVE_HARBOR_EON_TICKET_TAKER setflag FLAG_HIDE_SOUTHERN_ISLAND_EON_STONE setflag FLAG_HIDE_SOUTHERN_ISLAND_UNCHOSEN_EON_DUO_MON - setflag FLAG_0x393 + setflag FLAG_UNKNOWN_0x393 setflag FLAG_HIDE_MT_PYRE_SUMMIT_MAXIE setflag FLAG_HIDE_MAUVILLE_CITY_WATTSON setflag FLAG_HIDE_MAUVILLE_CITY_SCOTT @@ -1107,7 +1107,7 @@ EventScript_2715DE:: @ 82715DE EverGrandeCity_HallOfFame_EventScript_2717C1:: @ 82717C1 special sub_81AFDD0 - setflag FLAG_0x87F + setflag FLAG_IS_CHAMPION call EverGrandeCity_HallOfFame_EventScript_271829 compare VAR_0x40CC, 0 call_if_eq EverGrandeCity_HallOfFame_EventScript_271839 @@ -1125,8 +1125,8 @@ EverGrandeCity_HallOfFame_EventScript_2717C1:: @ 82717C1 clearflag FLAG_HIDE_SAFARI_ZONE_SOUTH_EAST_EXPANSION setflag FLAG_HIDE_LILYCOVE_CITY_RIVAL special sub_813BA60 - call_if_unset FLAG_0x123, EverGrandeCity_HallOfFame_EventScript_271843 - call_if_unset FLAG_0x12A, EverGrandeCity_HallOfFame_EventScript_27183F + call_if_unset FLAG_RECEIVED_SS_TICKET, EverGrandeCity_HallOfFame_EventScript_271843 + call_if_unset FLAG_RECEIVED_BELDUM, EverGrandeCity_HallOfFame_EventScript_27183F setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM compare VAR_0x40D3, 0 @@ -1134,11 +1134,11 @@ EverGrandeCity_HallOfFame_EventScript_2717C1:: @ 82717C1 return EverGrandeCity_HallOfFame_EventScript_271829:: @ 8271829 - clearflag FLAG_0x1C7 - clearflag FLAG_0x1C8 - clearflag FLAG_0x1AC - clearflag FLAG_0x1DD - clearflag FLAG_0x1DC + clearflag FLAG_DEFEATED_MEW + clearflag FLAG_DEFEATED_LATIAS_OR_LATIOS + clearflag FLAG_DEFEATED_DEOXYS + clearflag FLAG_DEFEATED_LUGIA + clearflag FLAG_DEFEATED_HO_OH return EverGrandeCity_HallOfFame_EventScript_271839:: @ 8271839 @@ -1206,10 +1206,10 @@ EverGrandeCity_HallOfFame_EventScript_2718B3:: @ 82718B3 end EverGrandeCity_HallOfFame_EventScript_2718CC:: @ 82718CC - clearflag FLAG_0x4FB - clearflag FLAG_0x4FC - clearflag FLAG_0x4FD - clearflag FLAG_0x4FE + clearflag FLAG_DEFEATED_ELITE_4_SYDNEY + clearflag FLAG_DEFEATED_ELITE_4_PHOEBE + clearflag FLAG_DEFEATED_ELITE_4_GLACIA + clearflag FLAG_DEFEATED_ELITE_4_DRAKE setvar VAR_0x409C, 0 return @@ -1222,8 +1222,8 @@ PetalburgCity_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE RustboroCity_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE SlateportCity_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE VerdanturfTown_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE - goto_if_unset FLAG_0x0BC, OldaleTown_PokemonCenter_1F_EventScript_27374E - goto_if_set FLAG_0x4F4, OldaleTown_PokemonCenter_1F_EventScript_27374E + goto_if_unset FLAG_RECEIVED_POKENAV, OldaleTown_PokemonCenter_1F_EventScript_27374E + goto_if_set FLAG_DEFEATED_PETALBURG_GYM, OldaleTown_PokemonCenter_1F_EventScript_27374E goto_if_unset FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT, OldaleTown_PokemonCenter_1F_EventScript_27190C goto_if_unset FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN, OldaleTown_PokemonCenter_1F_EventScript_271912 goto_if_unset FLAG_HIDE_ROUTE_108_MR_BRINEY, OldaleTown_PokemonCenter_1F_EventScript_271918 @@ -1284,7 +1284,7 @@ OldaleTown_PokemonCenter_1F_EventScript_27195A:: @ 827195A call_if_eq OldaleTown_PokemonCenter_1F_EventScript_27198D waitmessage call OldaleTown_PokemonCenter_1F_EventScript_271993 - goto_if_unset FLAG_0x111, OldaleTown_PokemonCenter_1F_EventScript_271A43 + goto_if_unset FLAG_POKERUS_EXPLAINED, OldaleTown_PokemonCenter_1F_EventScript_271A43 goto OldaleTown_PokemonCenter_1F_EventScript_2719B1 end @@ -1337,9 +1337,9 @@ OldaleTown_PokemonCenter_1F_EventScript_271A03:: @ 8271A03 return OldaleTown_PokemonCenter_1F_EventScript_271A19:: @ 8271A19 - goto_if_set FLAG_0x880, OldaleTown_PokemonCenter_1F_EventScript_2719E2 + goto_if_set FLAG_NURSE_UNION_ROOM_REMINDER, OldaleTown_PokemonCenter_1F_EventScript_2719E2 msgbox gUnknown_08272798, MSGBOX_DEFAULT - setflag FLAG_0x880 + setflag FLAG_NURSE_UNION_ROOM_REMINDER message OldaleTown_PokemonCenter_1F_Text_278A48 waitmessage applymovement VAR_0x800B, OldaleTown_PokemonCenter_1F_Movement_271AD0 @@ -1357,12 +1357,12 @@ OldaleTown_PokemonCenter_1F_EventScript_271A43:: @ 8271A43 OldaleTown_PokemonCenter_1F_EventScript_271A5F:: @ 8271A5F message gUnknown_08272F07 - setflag FLAG_0x111 + setflag FLAG_POKERUS_EXPLAINED return OldaleTown_PokemonCenter_1F_EventScript_271A68:: @ 8271A68 - goto_if_set FLAG_0x159, OldaleTown_PokemonCenter_1F_EventScript_271AAC - setflag FLAG_0x159 + goto_if_set FLAG_OLDALE_NURSE_MENTIONS_GOLD_CARD, OldaleTown_PokemonCenter_1F_EventScript_271AAC + setflag FLAG_OLDALE_NURSE_MENTIONS_GOLD_CARD msgbox gUnknown_082727F5, MSGBOX_DEFAULT playse SE_PIN applymovement VAR_0x800B, OldaleTown_PokemonCenter_1F_Movement_272598 @@ -1745,7 +1745,7 @@ LavaridgeTown_Gym_1F_EventScript_271E84:: @ 8271E84 MauvilleCity_Gym_EventScript_271E84:: @ 8271E84 RustboroCity_Gym_EventScript_271E84:: @ 8271E84 clearflag FLAG_HIDE_PETALBURG_GYM_GREETER - setflag FLAG_0x128 + setflag FLAG_PETALBURG_MART_EXPANDED_ITEMS return DewfordTown_EventScript_271E8B:: @ 8271E8B @@ -2135,7 +2135,7 @@ Route103_EventScript_272141:: @ 8272141 lock faceplayer goto_if_unset FLAG_HAS_MATCH_CALL, Route101_EventScript_272155 - goto_if_unset FLAG_0x119, Route101_EventScript_1FA2D2 + goto_if_unset FLAG_ENABLE_PROF_BIRCH_MATCH_CALL, Route101_EventScript_1FA2D2 Route101_EventScript_272155:: @ 8272155 msgbox gUnknown_082A5C9C, MSGBOX_YESNO @@ -3197,7 +3197,7 @@ EventScript_2736D9:: @ 82736D9 special sub_80B05B4 waitstate fadescreen 1 - call_if_set FLAG_0x06C, EventScript_2736F4 + call_if_set FLAG_FLANNERY_GIVES_BADGE_INFO, EventScript_2736F4 special sp0C8_whiteout_maybe waitstate end @@ -4288,8 +4288,8 @@ SlateportCity_OceanicMuseum_1F_EventScript_28C883:: @ 828C883 compare VAR_RESULT, 1 goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_28C939 copyvar VAR_0x8009, VAR_0x8006 - goto_if_set FLAG_0x069, SlateportCity_OceanicMuseum_1F_EventScript_28C8C8 - setflag FLAG_0x069 + goto_if_set FLAG_OCEANIC_MUSEUM_MET_REPORTER, SlateportCity_OceanicMuseum_1F_EventScript_28C8C8 + setflag FLAG_OCEANIC_MUSEUM_MET_REPORTER msgbox SlateportCity_OceanicMuseum_1F_Text_2811A0, MSGBOX_YESNO compare VAR_RESULT, 1 goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_28C8E7 @@ -4695,7 +4695,7 @@ MauvilleCity_GameCorner_EventScript_2A5ADF:: @ 82A5ADF end MauvilleCity_GameCorner_EventScript_2A5B0D:: @ 82A5B0D - special sub_8142BC8 + special PlayRoulette waitstate end @@ -4769,7 +4769,7 @@ gUnknown_082A8350:: @ 82A8350 waitmovement 0 playse SE_RU_HYUU delay 60 - special sp13F_fall_to_last_warp + special DoFallWarp waitstate end @@ -5630,2960 +5630,7 @@ LilycoveCity_PokemonCenter_1F_Text_2A9703: @ 82A9703 LilycoveCity_PokemonCenter_1F_Text_2A970E: @ 82A970E .string "{STR_VAR_1}: Umyaaaan!$" -BattleFrontier_PokeNav_2A971C:: @ 82A971C - .string "Hi! {PLAYER}{STRING 5}, hello!\n" - .string "This is {STR_VAR_1}.\p" - .string "I saw this {STR_VAR_2} a while back\n" - .string "but I couldn't catch it.\p" - .string "It was so close, too!\n" - .string "Well, see you again!$" - -BattleFrontier_PokeNav_2A9798:: @ 82A9798 - .string "Hello, {PLAYER}{STRING 5}.\n" - .string "It's {STR_VAR_1}.\p" - .string "I tried to catch a nice {STR_VAR_2}\n" - .string "a little while ago.\p" - .string "But, it got away.\n" - .string "I was sure disappointed!\p" - .string "Okay, bye!$" - -BattleFrontier_PokeNav_2A9813:: @ 82A9813 - .string "Hey there, {PLAYER}!\n" - .string "It's me, {STR_VAR_1}.\p" - .string "I just took a shot at catching\n" - .string "this {STR_VAR_2}, but it took off.\p" - .string "I came oh so close, too!\p" - .string "It spoiled my day…\n" - .string "All right, see you!$" - -BattleFrontier_PokeNav_2A98A8:: @ 82A98A8 - .string "Hey, {PLAYER}{STRING 5}.\n" - .string "{STR_VAR_1} here.\p" - .string "You know the POKéMON {STR_VAR_2}?\n" - .string "I came close to getting one.\p" - .string "It was just a while back.\n" - .string "I thought I had it but it escaped.\p" - .string "If I see it again, I'll get it for\n" - .string "sure, though.\p" - .string "Okay, catch you later.$" - -BattleFrontier_PokeNav_2A9977:: @ 82A9977 - .string "Hiya, {PLAYER}{STRING 5}!\n" - .string "It's {STR_VAR_1}.\l" - .string "Catching any POKéMON lately?\p" - .string "A little while ago I came close to\n" - .string "nabbing one, but it got loose.\p" - .string "Right, take care!$" - -BattleFrontier_PokeNav_2A99FD:: @ 82A99FD - .string "Hey, {PLAYER}{STRING 5}.\n" - .string "{STR_VAR_1} here.\l" - .string "Caught any POKéMON lately?\p" - .string "I nearly nabbed one the other day.\n" - .string "But it evaded me somehow.\p" - .string "You take care.$" - -BattleFrontier_PokeNav_2A9A78:: @ 82A9A78 - .string "…Uh, {PLAYER}{STRING 5}?\n" - .string "It's me, {STR_VAR_1}.\p" - .string "Oh, wait! Wait!\n" - .string "I can catch this {STR_VAR_2}…\p" - .string "Aaarrrgh! It bolted loose!\n" - .string "That wasn't just close!$" - -BattleFrontier_PokeNav_2A9AE8:: @ 82A9AE8 - .string "Oh, {PLAYER}{STRING 5}, how do you do?\n" - .string "This is {STR_VAR_1} speaking.\p" - .string "Have you had success catching\n" - .string "POKéMON lately?\p" - .string "I came very close a little while\n" - .string "ago, but my target got free.\p" - .string "I need to try harder!\n" - .string "See you again!$" - -BattleFrontier_PokeNav_2A9BA7:: @ 82A9BA7 - .string "Oh, {PLAYER}{STRING 5}, hi there!\n" - .string "This is {STR_VAR_1}!\p" - .string "So? Are you getting more POKéMON\n" - .string "together?\p" - .string "I'm having a rotten time of it!\n" - .string "They all get away from me!\p" - .string "See you!$" - -BattleFrontier_PokeNav_2A9C36:: @ 82A9C36 - .string "Oh, {PLAYER}{STRING 5}, hello…\n" - .string "This is {STR_VAR_1}.\p" - .string "Listen, I came within a whisker of\n" - .string "catching this {STR_VAR_2}…\p" - .string "But, it gave me the slip…\p" - .string "I need to try harder.\n" - .string "See you around.$" - -BattleFrontier_PokeNav_2A9CC8:: @ 82A9CC8 - .string "Ah, {PLAYER}{STRING 5}.\n" - .string "This is {STR_VAR_1}.\l" - .string "How are things with you?\p" - .string "I tried to catch a wild {STR_VAR_2}\n" - .string "earlier, but it managed to flee.\p" - .string "I feel defeated…$" - -BattleFrontier_PokeNav_2A9D44:: @ 82A9D44 - .string "Hello, {PLAYER}{STRING 5}.\n" - .string "It's me, {STR_VAR_1}.\l" - .string "Are you still catching POKéMON?\p" - .string "I've been trying to catch them\n" - .string "myself, but it's not so easy.\p" - .string "The way of POKéMON is deep!$" - -BattleFrontier_PokeNav_2A9DD7:: @ 82A9DD7 - .string "Ah, hello, {PLAYER}{STRING 5}!\n" - .string "This is {STR_VAR_1}!\l" - .string "Have you been catching POKéMON?\p" - .string "I've been trying to catch them\n" - .string "myself, but with little success.\p" - .string "The way of POKéMON is deep!$" - -BattleFrontier_PokeNav_2A9E70:: @ 82A9E70 - .string "Oh, hi, {PLAYER}{STRING 5}, how do you do?\n" - .string "This is {STR_VAR_1}.\p" - .string "Just now, I tried to catch a cute\n" - .string "{STR_VAR_2}.\p" - .string "It got away, though!\n" - .string "Oh, you bet I was disappointed!\p" - .string "Bye-bye!$" - -BattleFrontier_PokeNav_2A9EFD:: @ 82A9EFD - .string "Hey, {PLAYER}!\n" - .string "This is {STR_VAR_1}!\p" - .string "I've been thinking about trying\n" - .string "to catch me some POKéMON.\p" - .string "But I can't seem to find any.\n" - .string "It's a real puzzler for me!\p" - .string "I'm at my wit's end!\n" - .string "See you around!$" - -BattleFrontier_PokeNav_2A9FAB:: @ 82A9FAB - .string "Hi! {PLAYER}{STRING 5}, hello!\n" - .string "This is {STR_VAR_1}.\p" - .string "I tried battling another TRAINER,\n" - .string "but I lost.\p" - .string "It was really disappointing.\n" - .string "Well, see you again!$" - -BattleFrontier_PokeNav_2AA028:: @ 82AA028 - .string "Hello, {PLAYER}{STRING 5}.\n" - .string "It's {STR_VAR_1}.\p" - .string "I challenged someone else after\n" - .string "we battled.\p" - .string "I came close, but I ended up\n" - .string "losing. Oh, well!$" - -BattleFrontier_PokeNav_2AA099:: @ 82AA099 - .string "Hey there, {PLAYER}!\n" - .string "It's me, {STR_VAR_1}.\p" - .string "I just got cleaned in a battle.\p" - .string "I guess I need to raise my team\n" - .string "some more!$" - -BattleFrontier_PokeNav_2AA100:: @ 82AA100 - .string "Hey, {PLAYER}.\n" - .string "{STR_VAR_1} here.\p" - .string "I tried another battle yesterday,\n" - .string "but I couldn't pull out the win.\p" - .string "My team needs more raising.\n" - .string "Okay, catch you later.$" - -BattleFrontier_PokeNav_2AA188:: @ 82AA188 - .string "Hiya, {PLAYER}!\n" - .string "It's {STR_VAR_1}.\p" - .string "How are things with you?\p" - .string "I've been battling on,\n" - .string "but I haven't won very often.\p" - .string "I can't get it together.\n" - .string "Right, take care!$" - -BattleFrontier_PokeNav_2AA214:: @ 82AA214 - .string "Hey, {PLAYER}.\n" - .string "{STR_VAR_1} here.\p" - .string "How's it going for you?\p" - .string "I've been battling hard lately,\n" - .string "but to little success.\p" - .string "I can't get into the groove.\n" - .string "You take care.$" - -BattleFrontier_PokeNav_2AA2A1:: @ 82AA2A1 - .string "{STR_VAR_1} here.\n" - .string "How's it going lately?\p" - .string "I lost a battle yesterday,\n" - .string "and it's filled my thoughts.\p" - .string "I have to devise a plan…\n" - .string "See you.$" - -BattleFrontier_PokeNav_2AA31B:: @ 82AA31B - .string "Oh, {PLAYER}{STRING 5}, how do you do?\n" - .string "This is {STR_VAR_1} speaking.\p" - .string "How are your POKéMON doing?\n" - .string "I lost a match the other day.\p" - .string "I need to try harder!\n" - .string "See you again!$" - -BattleFrontier_PokeNav_2AA3A8:: @ 82AA3A8 - .string "Oh, {PLAYER}{STRING 5}, hi there!\n" - .string "This is {STR_VAR_1}!\p" - .string "Listen, listen, you have to hear\n" - .string "this!\p" - .string "I had a POKéMON battle earlier,\n" - .string "but I lost at the last second.\p" - .string "Oh, it burns me up!$" - -BattleFrontier_PokeNav_2AA442:: @ 82AA442 - .string "Oh, {PLAYER}{STRING 5}, hello…\n" - .string "This is {STR_VAR_1}.\p" - .string "A little earlier, I was in a battle.\n" - .string "I lost, though.\p" - .string "I need to raise my POKéMON more.\n" - .string "See you around.$" - -BattleFrontier_PokeNav_2AA4C5:: @ 82AA4C5 - .string "Ah, {PLAYER}{STRING 5}.\n" - .string "This is {STR_VAR_1}.\l" - .string "How are your POKéMON?\p" - .string "I just lost yet another battle.\p" - .string "Well, see you!$" - -BattleFrontier_PokeNav_2AA520:: @ 82AA520 - .string "Hello, {PLAYER}{STRING 5}.\n" - .string "It's me, {STR_VAR_1}.\l" - .string "Are you still battling hard?\p" - .string "As for me, I lost recently, so I've\n" - .string "been training my team all over.\p" - .string "Let's meet again.$" - -BattleFrontier_PokeNav_2AA5AD:: @ 82AA5AD - .string "Ah, hello, {PLAYER}{STRING 5}!\n" - .string "This is {STR_VAR_1}!\p" - .string "I hope you've been keeping well.\p" - .string "I was in a battle just a little\n" - .string "while before this.\p" - .string "{PLAYER}{STRING 5}, try to be active like me.\n" - .string "See you again!$" - -BattleFrontier_PokeNav_2AA64D:: @ 82AA64D - .string "Oh, hi, {PLAYER}{STRING 5}.\n" - .string "This is {STR_VAR_1}.\p" - .string "Are you doing good?\p" - .string "You should go home every so often,\n" - .string "though.\p" - .string "Bye-bye!$" - -BattleFrontier_PokeNav_2AA6AF:: @ 82AA6AF - .string "Hi! {PLAYER}{STRING 5}, hello!\n" - .string "This is {STR_VAR_1}!\p" - .string "I battled another TRAINER earlier.\n" - .string "I won! I won!\p" - .string "My {STR_VAR_2} really worked hard\n" - .string "for me. This is so great!$" - -BattleFrontier_PokeNav_2AA730:: @ 82AA730 - .string "Hello, {PLAYER}{STRING 5}!\n" - .string "It's {STR_VAR_1}!\p" - .string "I had a battle yesterday and\n" - .string "I won! It's fantastic!$" - -BattleFrontier_PokeNav_2AA77A:: @ 82AA77A - .string "Hey there, {PLAYER}!\n" - .string "It's me, {STR_VAR_1}!\l" - .string "How's your battling?\p" - .string "Me, I had a battle the other day,\n" - .string "and my {STR_VAR_2} came up huge!\p" - .string "The next time I battle you,\n" - .string "{PLAYER}, it won't be me losing!$" - -BattleFrontier_PokeNav_2AA81C:: @ 82AA81C - .string "Hey, {PLAYER}.\n" - .string "{STR_VAR_1} here.\p" - .string "I had a match earlier.\n" - .string "I managed to win, but it was close.\p" - .string "My {STR_VAR_2} put on one\n" - .string "inspired showing.$" - -BattleFrontier_PokeNav_2AA88C:: @ 82AA88C - .string "Hiya, {PLAYER}{STRING 5}!\n" - .string "It's {STR_VAR_1}.\p" - .string "How are things with you?\n" - .string "Battling much?\p" - .string "I just won a while back!\n" - .string "My {STR_VAR_2} was brilliant!\p" - .string "You wait. I'm going to beat you\n" - .string "next time! Right, take care!$" - -BattleFrontier_PokeNav_2AA934:: @ 82AA934 - .string "Hey, {PLAYER}{STRING 5}.\n" - .string "{STR_VAR_1} here.\p" - .string "How's it going for you?\p" - .string "I've been riding a hot streak.\n" - .string "Why, I just won a battle.\p" - .string "When we have our next battle,\n" - .string "I'm sure not going to lose!$" - -BattleFrontier_PokeNav_2AA9D3:: @ 82AA9D3 - .string "{PLAYER}{STRING 5}?\n" - .string "{STR_VAR_1} here.\p" - .string "My {STR_VAR_2} is a force!\n" - .string "It won me another battle just now!\p" - .string "I can't wait to have a rematch\n" - .string "with you.$" - -BattleFrontier_PokeNav_2AAA40:: @ 82AAA40 - .string "Oh, {PLAYER}{STRING 5}, how do you do?\n" - .string "This is {STR_VAR_1} speaking.\p" - .string "I hope you've been well.\n" - .string "I wanted to tell you I just won.\p" - .string "My {STR_VAR_2} worked especially\n" - .string "hard to get the win.\p" - .string "See you again!$" - -BattleFrontier_PokeNav_2AAAE4:: @ 82AAAE4 - .string "Oh, {PLAYER}{STRING 5}, hi there!\n" - .string "This is {STR_VAR_1}!\p" - .string "How are your POKéMON holding up?\n" - .string "Mine just won a battle!\p" - .string "My {STR_VAR_2} was spectacular,\n" - .string "I must say!\p" - .string "I wish I could've shown you!\n" - .string "See you again!$" - -BattleFrontier_PokeNav_2AAB8C:: @ 82AAB8C - .string "Oh, {PLAYER}{STRING 5}, hello…\n" - .string "This is {STR_VAR_1}.\p" - .string "How has life been treating you?\p" - .string "My POKéMON appear to be charged\n" - .string "with energy.\p" - .string "I just won a battle with them.\n" - .string "See you around.$" - -BattleFrontier_PokeNav_2AAC25:: @ 82AAC25 - .string "Ah, {PLAYER}{STRING 5}.\n" - .string "This is {STR_VAR_1}.\p" - .string "Been in any battles lately?\n" - .string "I just won another one today!\p" - .string "I'm on a roll! Gahahaha!\n" - .string "Well, see you!$" - -BattleFrontier_PokeNav_2AAC9D:: @ 82AAC9D - .string "Hello, {PLAYER}{STRING 5}.\n" - .string "It's me, {STR_VAR_1}.\p" - .string "I trust you've been well?\n" - .string "I'm still bursting with life!\p" - .string "Why, just now, I won another match.\n" - .string "I'm not stepping aside to you\l" - .string "youngsters yet!$" - -BattleFrontier_PokeNav_2AAD41:: @ 82AAD41 - .string "Ah, hello, {PLAYER}{STRING 5}!\n" - .string "This is {STR_VAR_1}!\p" - .string "I hope you've been keeping well.\n" - .string "I still have a bounce in my step!\p" - .string "Why, I just won a battle yet again.\n" - .string "Oh, I won't lose to young people\l" - .string "quite yet!\p" - .string "See you again!$" - -BattleFrontier_PokeNav_2AAE00:: @ 82AAE00 - .string "Oh, hi, {PLAYER}{STRING 5}.\n" - .string "This is {STR_VAR_1}.\p" - .string "I was in a battle recently, and my\n" - .string "{STR_VAR_2} was exceptional!\p" - .string "I wish you could have seen it,\n" - .string "{PLAYER}{STRING 5}. Bye-bye!$" - -BattleFrontier_PokeNav_2AAE7F:: @ 82AAE7F - .string "Hi! {PLAYER}, hello!\n" - .string "This is {STR_VAR_1}.\p" - .string "Huh? Wait, you're near\n" - .string "{STR_VAR_2}?\p" - .string "Oh, wow, we have to battle, then!\n" - .string "I'll be waiting! See you!$" - -BattleFrontier_PokeNav_2AAEF1:: @ 82AAEF1 - .string "Hello, {PLAYER}!\n" - .string "It's {STR_VAR_1}.\p" - .string "Oh? You happen to be around\n" - .string "{STR_VAR_2} right now?\p" - .string "Would you like to battle now?\n" - .string "I'll wait for you! See you!$" - -BattleFrontier_PokeNav_2AAF69:: @ 82AAF69 - .string "Hey there, {PLAYER}!\n" - .string "It's me, {STR_VAR_1}.\p" - .string "Oh, hey, are you near\n" - .string "{STR_VAR_2} right now?\p" - .string "How would you like to battle with\n" - .string "me right now?\p" - .string "I'm not losing again!\n" - .string "I'll be waiting! Catch you soon!$" - -BattleFrontier_PokeNav_2AB010:: @ 82AB010 - .string "Hey, {PLAYER}{STRING 5}.\n" - .string "{STR_VAR_1} here.\p" - .string "Whereabouts are you now?\n" - .string "Huh? {STR_VAR_2}?\p" - .string "Want to battle now?\n" - .string "I'll wait for you. See you!$" - -BattleFrontier_PokeNav_2AB076:: @ 82AB076 - .string "Hiya, {PLAYER}{STRING 5}!\n" - .string "It's {STR_VAR_1}.\l" - .string "How are things with you?\p" - .string "You're where now?\n" - .string "{STR_VAR_2}?\p" - .string "Well, how about we have a quick\n" - .string "rematch right away?\p" - .string "I'll keep an eye out for you.\n" - .string "See you soon!$" - -BattleFrontier_PokeNav_2AB11A:: @ 82AB11A - .string "Hey, {PLAYER}{STRING 5}.\n" - .string "{STR_VAR_1} here.\l" - .string "How are your POKéMON keeping?\p" - .string "Oh, is that right? You're around\n" - .string "{STR_VAR_2}?\p" - .string "Well, then, we'd better have\n" - .string "a rematch.\p" - .string "I can wait, sure.\n" - .string "See you!$" - -BattleFrontier_PokeNav_2AB1B4:: @ 82AB1B4 - .string "…Er, {PLAYER}{STRING 5}?\n" - .string "{STR_VAR_1} here…\p" - .string "Oh, you happen to be around\n" - .string "{STR_VAR_2}?\p" - .string "Then, let's battle.\n" - .string "Right away, I mean.\p" - .string "I'll show you my POKéMON.\n" - .string "I'll wait for you.$" - -BattleFrontier_PokeNav_2AB23D:: @ 82AB23D - .string "Oh, {PLAYER}{STRING 5}, how do you do?\n" - .string "This is {STR_VAR_1} speaking.\p" - .string "I hope you're doing well.\n" - .string "Oh, you're near {STR_VAR_2}.\p" - .string "Would you like to have a battle\n" - .string "with me, then?\p" - .string "I'll wait for you.\n" - .string "See you soon!$" - -BattleFrontier_PokeNav_2AB2E9:: @ 82AB2E9 - .string "Oh, {PLAYER}{STRING 5}, hi there!\n" - .string "This is {STR_VAR_1}!\p" - .string "Are you keeping up?\n" - .string "Oh, you're near {STR_VAR_2}?\p" - .string "Oh, well, then don't you think we\n" - .string "should battle?\p" - .string "Don't keep me waiting too long!$" - -BattleFrontier_PokeNav_2AB382:: @ 82AB382 - .string "Oh, {PLAYER}{STRING 5}, hello…\n" - .string "This is {STR_VAR_1}.\p" - .string "How are things with you?\n" - .string "Oh, you're near {STR_VAR_2}.\p" - .string "We should have a battle now, then.\p" - .string "I'm ready and waiting.\n" - .string "Be quick!$" - -BattleFrontier_PokeNav_2AB410:: @ 82AB410 - .string "Ah, {PLAYER}{STRING 5}.\n" - .string "This is {STR_VAR_1}.\p" - .string "Ah, so where you are now is\n" - .string "{STR_VAR_2}?\p" - .string "Well, then, we just have to have\n" - .string "a battle, don't you think?\p" - .string "I'll wait around for you!\n" - .string "See you real quick!$" - -BattleFrontier_PokeNav_2AB4B0:: @ 82AB4B0 - .string "Hello, {PLAYER}{STRING 5}.\n" - .string "It's me, {STR_VAR_1}.\l" - .string "Where might you be now?\p" - .string "{STR_VAR_2}?\n" - .string "That's quite close by!\p" - .string "What do you say we have a battle\n" - .string "now?\p" - .string "I can wait.\n" - .string "See you!$" - -BattleFrontier_PokeNav_2AB538:: @ 82AB538 - .string "Ah, hello, {PLAYER}{STRING 5}!\n" - .string "This is {STR_VAR_1}!\p" - .string "I hope you've been keeping well.\n" - .string "Oh, you're near {STR_VAR_2}?\p" - .string "Since that's not very far away,\n" - .string "come see me for a battle.\p" - .string "I'll wait for you.\n" - .string "Bye for now.$" - -BattleFrontier_PokeNav_2AB5E4:: @ 82AB5E4 - .string "Oh, hi, {PLAYER}{STRING 5}.\n" - .string "This is {STR_VAR_1}.\p" - .string "You're what? …{STR_VAR_2}?\n" - .string "That's very close.\p" - .string "Don't you think we ought to have\n" - .string "a battle?\p" - .string "I'll be looking for you!\n" - .string "Bye-bye!$" - -BattleFrontier_PokeNav_2AB670:: @ 82AB670 - .string "Hi! {PLAYER}, hello!\n" - .string "This is {STR_VAR_1}.\p" - .string "Want to have a battle with me?\p" - .string "I'll be waiting for you around\n" - .string "{STR_VAR_2}!$" - -BattleFrontier_PokeNav_2AB6CD:: @ 82AB6CD - .string "Hello, {PLAYER}!\n" - .string "It's {STR_VAR_1}.\p" - .string "Would you like to have a battle\n" - .string "with me again?\p" - .string "You can find me around\n" - .string "{STR_VAR_2}. I'll be waiting!$" - -BattleFrontier_PokeNav_2AB73C:: @ 82AB73C - .string "Hey there, {PLAYER}!\n" - .string "It's me, {STR_VAR_1}.\p" - .string "My POKéMON have grown a lot\n" - .string "tougher since last time.\p" - .string "I want to see how strong they've\n" - .string "become with your POKéMON, {PLAYER}.\p" - .string "So, let's have a battle!\p" - .string "I'll be waiting for you around\n" - .string "{STR_VAR_2}.$" - -BattleFrontier_PokeNav_2AB808:: @ 82AB808 - .string "Hey, {PLAYER}{STRING 5}.\n" - .string "{STR_VAR_1} here.\l" - .string "How are things with you?\p" - .string "My POKéMON have grown pretty\n" - .string "tough lately.\p" - .string "Hey, how would you like to have\n" - .string "another battle with me?\p" - .string "Let's meet up around\n" - .string "{STR_VAR_2}, okay?$" - -BattleFrontier_PokeNav_2AB8B7:: @ 82AB8B7 - .string "Hiya, {PLAYER}{STRING 5}!\n" - .string "It's {STR_VAR_1}.\p" - .string "My POKéMON are growing up in\n" - .string "decent ways.\p" - .string "I'd really like to have another\n" - .string "battle with you.\p" - .string "I'll keep an eye out for you around\n" - .string "{STR_VAR_2}. See you soon!$" - -BattleFrontier_PokeNav_2AB95D:: @ 82AB95D - .string "Hey, {PLAYER}{STRING 5}.\n" - .string "{STR_VAR_1} here.\l" - .string "I hope you're on top of things.\p" - .string "I was thinking I'd like another\n" - .string "battle with you. What do you say?\p" - .string "If you feel like a battle,\n" - .string "come to {STR_VAR_2}.\p" - .string "See you!$" - -BattleFrontier_PokeNav_2ABA03:: @ 82ABA03 - .string "…Er, {PLAYER}{STRING 5}?\n" - .string "{STR_VAR_1} here…\l" - .string "So? Are your POKéMON growing?\p" - .string "Mine sure got stronger.\n" - .string "I'd like to show you.\p" - .string "I'll be around {STR_VAR_2}.\n" - .string "Come see me for a match.\p" - .string "See you around.$" - -BattleFrontier_PokeNav_2ABA9F:: @ 82ABA9F - .string "Oh, {PLAYER}{STRING 5}, how do you do?\n" - .string "This is {STR_VAR_1} speaking.\p" - .string "I hope you're doing well.\n" - .string "My POKéMON are very frisky.\p" - .string "If you're ever in the area, please\n" - .string "give me a rematch.\p" - .string "I'll be around {STR_VAR_2}.\n" - .string "Until then, good-bye!$" - -BattleFrontier_PokeNav_2ABB62:: @ 82ABB62 - .string "Oh, {PLAYER}{STRING 5}, hi there!\n" - .string "This is {STR_VAR_1}!\l" - .string "How are your POKéMON doing?\p" - .string "My POKéMON keep getting better.\n" - .string "I'd like to show you, {PLAYER}{STRING 5}.\p" - .string "I'm around {STR_VAR_2} now,\n" - .string "so let's battle if you're close by.\p" - .string "Hope I see you soon!$" - -BattleFrontier_PokeNav_2ABC26:: @ 82ABC26 - .string "Oh, {PLAYER}{STRING 5}, hello…\n" - .string "This is {STR_VAR_1}.\l" - .string "So, how are things with you?\p" - .string "My POKéMON have grown much\n" - .string "stronger than before.\p" - .string "I'd love another battle with you,\n" - .string "{PLAYER}{STRING 5}.\p" - .string "I'll be around {STR_VAR_2}.\n" - .string "Come see me if you're close.$" - -BattleFrontier_PokeNav_2ABCE9:: @ 82ABCE9 - .string "Ah, {PLAYER}{STRING 5}.\n" - .string "This is {STR_VAR_1}.\l" - .string "Where might you be now?\p" - .string "My POKéMON are full of life.\n" - .string "They appear to be looking forward\l" - .string "to seeing your POKéMON, {PLAYER}{STRING 5}.\p" - .string "I'm around {STR_VAR_2} now.\n" - .string "I hope you'll seek us out.$" - -BattleFrontier_PokeNav_2ABDA2:: @ 82ABDA2 - .string "Hello, {PLAYER}{STRING 5}.\n" - .string "It's me, {STR_VAR_1}.\p" - .string "I should tell you, my POKéMON have\n" - .string "grown to be quite robust lately.\p" - .string "I would like to see them in a battle\n" - .string "with you, {PLAYER}{STRING 5}.\p" - .string "We'll be around {STR_VAR_2}.\n" - .string "Come see us anytime!$" - -BattleFrontier_PokeNav_2ABE5E:: @ 82ABE5E - .string "Ah, hello, {PLAYER}{STRING 5}!\n" - .string "This is {STR_VAR_1}!\l" - .string "Are your POKéMON keeping well?\p" - .string "My POKéMON have been so healthy,\n" - .string "they don't look capable of losing!\p" - .string "I would surely love to have another\n" - .string "battle with you.\p" - .string "If you're near {STR_VAR_2},\n" - .string "do come see us.$" - -BattleFrontier_PokeNav_2ABF36:: @ 82ABF36 - .string "Oh, hi, {PLAYER}{STRING 5}.\n" - .string "This is {STR_VAR_1}.\l" - .string "Keeping well, I hope.\p" - .string "Oh, yes! My POKéMON are\n" - .string "much stronger than before.\p" - .string "Don't you think we ought to have\n" - .string "a battle, {PLAYER}{STRING 5}?\p" - .string "We'll be waiting for you around\n" - .string "{STR_VAR_2}.\p" - .string "Come see us anytime, okay?$" - -BattleFrontier_PokeNav_2AC009:: @ 82AC009 - .string "It's me, the mountain-loving\n" - .string "{STR_VAR_1}!\p" - .string "Well, since we met, have you grown\n" - .string "to appreciate the mountains more?\p" - .string "I rarely see you in the mountains…\p" - .string "Next time, we'll meet somewhere\n" - .string "around {STR_VAR_2}.$" - -BattleFrontier_PokeNav_2AC0BD:: @ 82AC0BD - .string "This is {STR_VAR_1}.\n" - .string "Hello.\p" - .string "I was just telling a new TRAINER\n" - .string "about you.\p" - .string "I told her about a strong TRAINER\n" - .string "who raises POKéMON with care.\p" - .string "I hope you'll become a TRAINER\n" - .string "that everyone will admire.\p" - .string "I hope we meet again!$" - -BattleFrontier_PokeNav_2AC18C:: @ 82AC18C - .string "Hello! It's {STR_VAR_1}.\p" - .string "I love where I am now.\n" - .string "It's pleasant with sweet aromas!\p" - .string "I think someone planted BERRIES,\n" - .string "and they burst into bloom.\p" - .string "See you again sometime!$" - -BattleFrontier_PokeNav_2AC228:: @ 82AC228 - .string "Hello! Thirty years of exploration,\n" - .string "{STR_VAR_1} at your service!\p" - .string "It seems that you're energetically\n" - .string "traveling here and there.\p" - .string "Have you discovered any new ruins?\n" - .string "Please tell if you have!\p" - .string "Now, if you'll excuse me,\n" - .string "I have ruins to explore.$" - -BattleFrontier_PokeNav_2AC30C:: @ 82AC30C - .string "It's {STR_VAR_1}!\p" - .string "Know what I'm doing today?\n" - .string "Looking at waves from the beach!\p" - .string "Sigh… The waves are all sparkly.\n" - .string "The sea is the prettiest from here.\l" - .string "I'm getting hungry, so bye-bye!$" - -BattleFrontier_PokeNav_2AC3B6:: @ 82AC3B6 - .string "Munch-chew…\n" - .string "Oh, hi, it's {STR_VAR_1}.\l" - .string "I love eating on the beach.\p" - .string "My POKéMON and I have been doing\n" - .string "great. We're fully fueled!\l" - .string "I'm going for a swim. Bye!$" - -BattleFrontier_PokeNav_2AC446:: @ 82AC446 - .string "Hello, this is {STR_VAR_1}…\p" - .string "I've grown a little jaded with this\n" - .string "whole COOLTRAINER thing…\p" - .string "Everyone thinks I'm a perfect\n" - .string "TRAINER, and that makes me try to\l" - .string "live up to that expectation.\p" - .string "But I guess that goes with being\n" - .string "a COOLTRAINER.\p" - .string "I'll just have to buckle down…\n" - .string "and grin and bear it.\p" - .string "You're the only person that I could\n" - .string "confide in like this.\p" - .string "But when I see you next,\n" - .string "don't worry, I won't whine!$" - -BattleFrontier_PokeNav_2AC5C7:: @ 82AC5C7 - .string "Yahoo, it's {STR_VAR_1}!\n" - .string "How do you do?\p" - .string "I've been raising my POKéMON with\n" - .string "you as the target.\p" - .string "I don't intend to lose when we\n" - .string "battle again.\p" - .string "Isn't it great to have TRAINER\n" - .string "friends? Let's meet again!$" - -BattleFrontier_PokeNav_2AC682:: @ 82AC682 - .string "It's {STR_VAR_1}…\n" - .string "Right now, behind you…\l" - .string "Wasn't there something…?\p" - .string "The power of the POKéMON that\n" - .string "sleep here at MT. PYRE…\p" - .string "It's telling me about you…\p" - .string "You should walk away quickly and\n" - .string "never once look back…\p" - .string "Giggle…\n" - .string "Farewell…$" - -BattleFrontier_PokeNav_2AC755:: @ 82AC755 - .string "This is {STR_VAR_1}.\n" - .string "How do you do?\p" - .string "Isn't it convenient that we can\n" - .string "chat like this at a distance?\p" - .string "Before, if I wanted to speak with\n" - .string "anyone, I had to have my father\l" - .string "drive me…\p" - .string "I should be going now.\n" - .string "I'm glad we had this chat.$" - -BattleFrontier_PokeNav_2AC82C:: @ 82AC82C - .string "It's {STR_VAR_1}!\n" - .string "Will you listen to this?\p" - .string "I like the SAFARI ZONE a lot,\n" - .string "but whenever I go, I get lost!\p" - .string "All that tall grass!\n" - .string "And it's much too spread out!\p" - .string "I feel better getting that off\n" - .string "my chest!\p" - .string "I'm off to the SAFARI ZONE again!\n" - .string "Catch you!$" - -BattleFrontier_PokeNav_2AC914:: @ 82AC914 - .string "Hello, {STR_VAR_1} here.\n" - .string "Yes, correct, I am rich, yes.\p" - .string "I should tell you, my wealth has\n" - .string "grown since we last met.\p" - .string "What's more, my POKéMON have also\n" - .string "grown stronger.\p" - .string "I can't shake the feeling that\n" - .string "this world exists for me!\p" - .string "Oh, no need to say a word!\n" - .string "Everyone knows it's true!\p" - .string "Oh, you must excuse me, I have this\n" - .string "formal dinner to attend.$" - -BattleFrontier_PokeNav_2ACA59:: @ 82ACA59 - .string "Ufufufufu…\n" - .string "It's me, {STR_VAR_1}…\p" - .string "Can you guess what I'm seeing?\n" - .string "A pair of {STR_VAR_2} in a battle.\p" - .string "Maybe I'll try catching the winner…\n" - .string "Ufufufufufu…\p" - .string "I… I'm kind of busy now.\n" - .string "I have to go.$" - -BattleFrontier_PokeNav_2ACB02:: @ 82ACB02 - .string "Oh, it's {STR_VAR_1}!\p" - .string "I was just thinking I'm getting\n" - .string "bored of the ABANDONED SHIP.\p" - .string "But since I'm already here,\n" - .string "and I want to beat you once,\l" - .string "I'll be sticking around a bit more.\p" - .string "If you feel compelled, why don't\n" - .string "you come see me?\p" - .string "I think today will be the day that\n" - .string "I finally challenge the man next\l" - .string "door to a match.\p" - .string "Be seeing you!$" - -BattleFrontier_PokeNav_2ACC3F:: @ 82ACC3F - .string "I'm {STR_VAR_1}!\n" - .string "The man of the sea!\p" - .string "You know what I think?\p" - .string "The TRAINERS out at sea are\n" - .string "the toughest of the tough!\p" - .string "You should learn from me and train\n" - .string "in the sea…\p" - .string "Whoops, giant surf rising!\p" - .string "It's a great training opportunity!\n" - .string "Sorry, but I have to go!$" - -BattleFrontier_PokeNav_2ACD2F:: @ 82ACD2F - .string "It's {STR_VAR_1}! Listen, I've been\n" - .string "teaching karate to my POKéMON.\p" - .string "But now they're better than me!\n" - .string "I've done nothing but lose to them!\p" - .string "But even though I may lose to\n" - .string "POKéMON, I won't lose to another\l" - .string "TRAINER, no sir!\p" - .string "We have to battle again!\n" - .string "Ugwaah!$" - -BattleFrontier_PokeNav_2ACE1E:: @ 82ACE1E - .string "It's me, {STR_VAR_1}.\n" - .string "How're your travels unwinding?\p" - .string "…Whoa, is that right?\n" - .string "Sounds awfully stimulating!\p" - .string "I think I could write a song about\n" - .string "one of your episodes.\p" - .string "…Oh, hey, I'm feeling it.\n" - .string "I hear the riffs in my head.\p" - .string "I'd better get this tune properly\n" - .string "written, so I've got to fly! Later!$" - -BattleFrontier_PokeNav_2ACF32:: @ 82ACF32 - .string "This is {STR_VAR_1}…\n" - .string "Hear my new song.\p" - .string "Lalala, {STR_VAR_2}, {STR_VAR_2}!\n" - .string "Why are you that {STR_VAR_2}?\l" - .string "Why can't I be you, {STR_VAR_2}?\l" - .string "Lala, {STR_VAR_2} and {STR_VAR_1},\l" - .string "{STR_VAR_1} and {STR_VAR_2}…\p" - .string "Repeat chorus, fade…$" - -BattleFrontier_PokeNav_2ACFBE:: @ 82ACFBE - .string "I'm {STR_VAR_1}, you know,\n" - .string "the camping expert!\p" - .string "When we battled, I couldn't help\n" - .string "but lose to you.\p" - .string "After all, my expertise is in\n" - .string "camping.\p" - .string "But win or lose, I like to battle\n" - .string "when I'm camping.\p" - .string "Battle with us again, okay?\n" - .string "Oh, and let's go camping, too!$" - -BattleFrontier_PokeNav_2AD0AC:: @ 82AD0AC - .string "It's me, me, {STR_VAR_1}!\p" - .string "I'd like to climb other mountains\n" - .string "than this one, to be honest.\p" - .string "But I'm not sure if there'd be any\n" - .string "ladies like on MT. CHIMNEY.\p" - .string "If you know any other mountain\n" - .string "with ladies around, let me know!\p" - .string "Ehehehe, see you around!$" - -BattleFrontier_PokeNav_2AD194:: @ 82AD194 - .string "… … … … … …\n" - .string "… … … … … …\l" - .string "It's {STR_VAR_1}…\p" - .string "… … … … … …\n" - .string "… … … … … …\l" - .string "That's all today…$" - -BattleFrontier_PokeNav_2AD1DF:: @ 82AD1DF - .string "This is {STR_VAR_1}. Today, I had\n" - .string "this feeling I would chat with you.\p" - .string "My desire to defeat you builds\n" - .string "by day and by night.\p" - .string "You have a rival like that, yes?\n" - .string "I wish it were me…\p" - .string "I'm glad you heard me out.\n" - .string "See you!$" - -BattleFrontier_PokeNav_2AD2A8:: @ 82AD2A8 - .string "It's {STR_VAR_1}.\p" - .string "When there's a strong TRAINER\n" - .string "nearby, I can sometimes sense that\l" - .string "somehow.\p" - .string "Did you pass close by, {PLAYER}{STRING 5}?\n" - .string "Maybe it was you.\p" - .string "I'll be waiting for your visit.\n" - .string "Bye!$" - -BattleFrontier_PokeNav_2AD34F:: @ 82AD34F - .string "Hello, this is {STR_VAR_1}.\n" - .string "You sound well, {PLAYER}{STRING 5}.\p" - .string "I've traveled around the world,\n" - .string "but I must say I've taken a great\l" - .string "shine to this region.\p" - .string "I plan to stay here a while.\n" - .string "Perhaps we can meet again?\p" - .string "I've not forgotten your dazzling\n" - .string "techniques.\p" - .string "I do hope for a rematch.$" - -BattleFrontier_PokeNav_2AD44E:: @ 82AD44E - .string "Snivel… It's… {STR_VAR_1}…\n" - .string "…Sob…\p" - .string "ROXANNE chewed me out in class\n" - .string "today.\p" - .string "But I don't dislike her or anything.\p" - .string "ROXANNE tells me exactly what\n" - .string "I did wrong so I can learn from it.\p" - .string "You bet I'll be going to\n" - .string "the TRAINER'S SCHOOL tomorrow!\p" - .string "See you later!$" - -BattleFrontier_PokeNav_2AD53A:: @ 82AD53A - .string "It's {STR_VAR_1}!\p" - .string "ROXANNE let me battle with her\n" - .string "yesterday.\p" - .string "The results…\n" - .string "Terrible, like you needed to ask.\p" - .string "But I was delighted that ROXANNE\n" - .string "would even let me challenge her!\p" - .string "You wouldn't believe how much\n" - .string "more I admire her!\p" - .string "I'm going to really focus and work!\n" - .string "I'd better go!$" - -BattleFrontier_PokeNav_2AD642:: @ 82AD642 - .string "Hi, it's ANNA! I'm with my junior\n" - .string "partner MEG again today.\p" - .string "I really love caring for MEG and\n" - .string "POKéMON. They're so cute!\p" - .string "I wish I could look after them\n" - .string "as if they were my siblings!\p" - .string "Oh, hi, MEG!\n" - .string "Did you get the buns?\p" - .string "Huh? No, no, I'm not treating you\n" - .string "like my personal slave!\p" - .string "You lost the match, so you have\n" - .string "to go buy the bread as punishment!\p" - .string "I wouldn't treat you like a slave,\n" - .string "MEG! You're too special to me!\p" - .string "I have to go now.\n" - .string "It's time for our snack!$" - -BattleFrontier_PokeNav_2AD801:: @ 82AD801 - .string "I love POKéMON!\n" - .string "It's {STR_VAR_1} from the FAN CLUB!\p" - .string "You have to hear this!\n" - .string "My sweet POKéMON…\p" - .string "Snort! Wahaha!\n" - .string "I can't say any more! It's a secret!\l" - .string "It's just too cute for words!\p" - .string "Oh, my sweet {STR_VAR_2} is begging\n" - .string "for a {POKEBLOCK}!\p" - .string "It's the picture of cuteness!\p" - .string "Sorry, but I can't talk now!\n" - .string "You'll have to hear this next time!$" - -BattleFrontier_PokeNav_2AD92E:: @ 82AD92E - .string "Ohoho!\p" - .string "This is {STR_VAR_1}! I can't wait to\n" - .string "tell you about my darling POKéMON!\p" - .string "Please, you must listen to this.\n" - .string "It's about my darling {STR_VAR_2}.\p" - .string "Whenever anyone picks it up,\n" - .string "it leaps straight into my arms!\p" - .string "Oh… Oh… Could there be anything\n" - .string "more blissful?\p" - .string "Oh, it feels so heavenly!\p" - .string "I'm so glad I could share some of\n" - .string "my happiness with you.\p" - .string "Well, I must be going.\n" - .string "Bye, now!$" - -BattleFrontier_PokeNav_2ADA8F:: @ 82ADA8F - .string "I am… {STR_VAR_1}.\n" - .string "People call me an EXPERT.\p" - .string "But there is one thing I know.\n" - .string "I could not be an EXPERT on my own\l" - .string "power.\p" - .string "Only with the help of POKéMON can\n" - .string "a TRAINER become an EXPERT.\p" - .string "Humph! I believe I may have said\n" - .string "something deep and profound!\p" - .string "I shall leave you in good spirits!$" - -BattleFrontier_PokeNav_2ADB9B:: @ 82ADB9B - .string "It's {STR_VAR_1}.\n" - .string "I'm glad to chat with you!\p" - .string "I am feeling alive and refreshed\n" - .string "soaking in this hot-spring tub.\p" - .string "I've been battling young TRAINERS\n" - .string "since we met, but you're still\l" - .string "the best of the lot.\p" - .string "I imagine you'll become an EXPERT\n" - .string "in your old age! Ohohoho…$" - -BattleFrontier_PokeNav_2ADC92:: @ 82ADC92 - .string "Yay! This is {STR_VAR_1}!\n" - .string "What's up?\p" - .string "I might be imagining this, but when\n" - .string "I win battles, my shorts seem to\l" - .string "feel, like, better. Materially.\p" - .string "What do I mean by that?\n" - .string "It's kind of hard to explain, but…\l" - .string "How would I say this now…\l" - .string "My shorts feel silkier!\p" - .string "And when I battled you, {PLAYER}{STRING 5},\n" - .string "my shorts felt icky and coarse.\p" - .string "… … … … … …\n" - .string "You didn't really believe that?\l" - .string "Ehehehe, that's all! Bye now!$" - -BattleFrontier_PokeNav_2ADE08:: @ 82ADE08 - .string "Ahoy!\n" - .string "{STR_VAR_1} here!\p" - .string "As always, I'm fishing with wild\n" - .string "abandon!\p" - .string "Are there other places I can fish\n" - .string "than the sea and rivers?\p" - .string "I get these powerful urges to\n" - .string "fish just about anywhere!\p" - .string "Oh, gosh, darn it!\n" - .string "My line's tangled up!\p" - .string "Gotta go!\n" - .string "Find me some new fishing spots!$" - -BattleFrontier_PokeNav_2ADF07:: @ 82ADF07 - .string "Hey, there! It's {STR_VAR_1}.\n" - .string "Are you taking it casually?\p" - .string "Ever since I was a kid, you know,\n" - .string "I've always been placid, huh?\p" - .string "I never was much for getting all\n" - .string "stressed or rushing things.\p" - .string "But wouldn't you know it,\n" - .string "I'm now a TRIATHLETE.\p" - .string "You just can't tell where life will\n" - .string "take you, if you get my drift.\p" - .string "You're a TRAINER now, but who\n" - .string "knows what the future holds, huh?\p" - .string "Imagine yourself as a teacher,\n" - .string "or maybe an artist. Cool, huh?\p" - .string "But, hey, be cool. Take it casual.\n" - .string "See you around.$" - -BattleFrontier_PokeNav_2AE0D9:: @ 82AE0D9 - .string "This is {STR_VAR_1}!\n" - .string "I'm cycling right now.\p" - .string "I love swimming and running,\n" - .string "but cycling is my first love!\p" - .string "It makes my whole body feel as if\n" - .string "I'm one with the wind.\p" - .string "It exhilarates me as if I were\n" - .string "flying!\p" - .string "Okay! Today, I'm going to set a new\n" - .string "CYCLING ROAD record!\p" - .string "You should make the challenge, too!\n" - .string "See you!$" - -BattleFrontier_PokeNav_2AE1FD:: @ 82AE1FD - .string "Yo, this is {STR_VAR_1}! I'm smack\n" - .string "in the middle of a triathlon!\p" - .string "But, hey, I've always got time to\n" - .string "shoot the breeze!\p" - .string "Working out with POKéMON feels\n" - .string "mighty good!\p" - .string "Without exchanging words, we synch\n" - .string "as if we shared a heart.\p" - .string "It's inspiring!\p" - .string "Gasp… Chatting while running…\n" - .string "I'm getting run down…\l" - .string "Gasp… Have…to…go…$" - -BattleFrontier_PokeNav_2AE327:: @ 82AE327 - .string "Hi, it's {STR_VAR_1}.\n" - .string "If you want to improve endurance,\l" - .string "high-altitude training is it!\p" - .string "Try running on a mountaintop.\n" - .string "You'll be gasping in no time!\p" - .string "I'm getting oxygen starved, too!\n" - .string "See you!$" - -BattleFrontier_PokeNav_2AE3DA:: @ 82AE3DA - .string "Oh, it's {STR_VAR_1}, hello.\p" - .string "I've been swimming a lot but I still\n" - .string "can't seem to reach EVERGRANDE.\p" - .string "Maybe I'm just going in circles.\p" - .string "No, no, that can't be possible.\n" - .string "Wahahaha.\l" - .string "Take care!$" - -BattleFrontier_PokeNav_2AE489:: @ 82AE489 - .string "Hey, it's {STR_VAR_1}…\n" - .string "Whoops!\p" - .string "Splash!\p" - .string "Blug-blug-blug-blug…\p" - .string "Sploosh!\p" - .string "Whiff-whiff! Whiff-whiff!\p" - .string "Hey! Sorry about that!\n" - .string "I just put on some suntan oil.\p" - .string "So my POKéNAV went whoopsy\n" - .string "out of my hand into the water!\p" - .string "But, boy, DEVON's POKéNAV is built\n" - .string "tough. It survived that dunking!\p" - .string "Anyways, I'm busy sunbathing,\n" - .string "so let's chat another time.$" - -BattleFrontier_PokeNav_2AE5CD:: @ 82AE5CD - .string "Hello, this is {STR_VAR_1}.\p" - .string "Out of the three triathlon events,\n" - .string "I like swimming best.\p" - .string "But if I stay in the sea too long,\n" - .string "won't I get all prune-like?\p" - .string "Ooh, triathlon is such a grueling\n" - .string "test of human endurance! Bye!$" - -BattleFrontier_PokeNav_2AE698:: @ 82AE698 - .string "Hello, {PLAYER}{STRING 5}.\n" - .string "{STR_VAR_1} here.\p" - .string "How are your POKéMON doing?\p" - .string "My DRAGON POKéMON appear to be\n" - .string "in peak form. Bye for now.$" - -BattleFrontier_PokeNav_2AE704:: @ 82AE704 - .string "{STR_VAR_1} here.\p" - .string "My {STR_VAR_2} has grown even more\n" - .string "tough than that last time.\p" - .string "I'm not going to lose again to you.\n" - .string "You wait till next time!\p" - .string "See you around!$" - -BattleFrontier_PokeNav_2AE78F:: @ 82AE78F - .string "It is {STR_VAR_1} here.\p" - .string "I have continued with my studies\n" - .string "in the art of concealment.\p" - .string "But I have been too successful.\n" - .string "No one has been able to find me.\l" - .string "My success makes me lonely…\p" - .string "Like smoke I disappear!\n" - .string "Farewell!$" - -BattleFrontier_PokeNav_2AE859:: @ 82AE859 - .string "This is {STR_VAR_1}.\n" - .string "I kept up my training since we met.\p" - .string "My {STR_VAR_2} is getting pretty\n" - .string "tough.\p" - .string "Training on a beach is effective,\n" - .string "just as I thought. Bye now!$" - -BattleFrontier_PokeNav_2AE8E6:: @ 82AE8E6 - .string "How do you do?\n" - .string "This is {STR_VAR_1}.\p" - .string "I wonder when this yucky volcanic\n" - .string "ash will stop falling?\p" - .string "If it gets too deep, it will cover\n" - .string "up the pattern on my parasol…\p" - .string "Let's promise to meet again!$" - -BattleFrontier_PokeNav_2AE998:: @ 82AE998 - .string "Hi, {STR_VAR_1} here.\p" - .string "Did you know that it's easier to\n" - .string "float in the sea than a pool?\p" - .string "Just by lying still, your body will\n" - .string "float on its own.\p" - .string "But if you float for too long,\n" - .string "watch that you don't get carried\l" - .string "off too far out.\p" - .string "…Where am I, anyway?\n" - .string "I'd better go!$" - -BattleFrontier_PokeNav_2AEA8F:: @ 82AEA8F - .string "Oh, {PLAYER}{STRING 5}, hello!\n" - .string "This is {STR_VAR_1}.\l" - .string "I'm up in the mountains now.\p" - .string "But the ground is too bumpy.\n" - .string "I can't pitch my tent here…\p" - .string "Oh, I had a brilliant idea!\p" - .string "Maybe I can get my POKéMON to tamp\n" - .string "the ground flat here!\p" - .string "I'm going to try that!\n" - .string "Bye-bye!$" - -BattleFrontier_PokeNav_2AEB77:: @ 82AEB77 - .string "Oh, hi, hi, this is {STR_VAR_1}!\p" - .string "I'm raising POKéMON with LIV!\n" - .string "We're trying very hard!\p" - .string "If we try harder, can we become\n" - .string "number one? Bye-bye!$" - -BattleFrontier_PokeNav_2AEBFA:: @ 82AEBFA - .string "{STR_VAR_1} here!\p" - .string "I'm a SAILOR, but I'm not on a boat\n" - .string "now.\p" - .string "It makes me wonder--what should\n" - .string "a SAILOR on land be called?\p" - .string "That's what I've been thinking\n" - .string "while staring out across the waves.\p" - .string "All right, next time!$" - -BattleFrontier_PokeNav_2AECC1:: @ 82AECC1 - .string "It's {STR_VAR_1}.\n" - .string "So? Get any more POKéMON?\p" - .string "If you catch a new POKéMON,\n" - .string "you have to come show me.\p" - .string "I won't whine for it, honest.\n" - .string "I'll be waiting. See you.$" - -BattleFrontier_PokeNav_2AED52:: @ 82AED52 - .string "This is {STR_VAR_1}.\p" - .string "Are you raising your POKéMON\n" - .string "in the optimal way?\p" - .string "The air is clean where I am.\n" - .string "It's the perfect environment for\l" - .string "raising POKéMON.\p" - .string "If you're going to focus on raising\n" - .string "POKéMON, you should come out to\l" - .string "{STR_VAR_2}. Take care now.$" - -BattleFrontier_PokeNav_2AEE35:: @ 82AEE35 - .string "Hi, this is {STR_VAR_1}.\p" - .string "I gave a {POKEBLOCK} to my {STR_VAR_2}.\n" - .string "It seemed to enjoy it very much.\p" - .string "It looks like POKéMON have their\n" - .string "likes and dislikes with {POKEBLOCK}S.\p" - .string "I find that quite fascinating.\n" - .string "Please do take care.$" - -BattleFrontier_PokeNav_2AEEF4:: @ 82AEEF4 - .string "{STR_VAR_1} here.\p" - .string "If you cooperate with POKéMON,\n" - .string "one can be comfortable in the wild.\p" - .string "Everyone should realize that and\n" - .string "cooperate with POKéMON more.\p" - .string "That would be ideal.\n" - .string "I really think so.\p" - .string "I think you're on the right track!\n" - .string "Catch you later!$" - -BattleFrontier_PokeNav_2AEFDA:: @ 82AEFDA - .string "Hi, it's {STR_VAR_1}. You know,\n" - .string "the TRAINER who's always prepared!\p" - .string "{PLAYER}{STRING 5}, do you have enough items?\n" - .string "Are your POKéMON fit for action?\p" - .string "Keeping everything perfect around\n" - .string "you all the time is the secret to\l" - .string "keeping your journey going.\p" - .string "I'd better go check my own\n" - .string "supplies! Be vigilant!$" - -BattleFrontier_PokeNav_2AF0E7:: @ 82AF0E7 - .string "It's {STR_VAR_1}!\n" - .string "It's {STR_VAR_1}!\p" - .string "{STR_VAR_2} is a very busy\n" - .string "thoroughfare, so I get challenged\l" - .string "by all kinds of TRAINERS every day.\p" - .string "Today, I won five battles and lost\n" - .string "only three!\p" - .string "How did you do today?\n" - .string "Tell me about it next time, okay?$" - -BattleFrontier_PokeNav_2AF1B8:: @ 82AF1B8 - .string "It's me, {STR_VAR_1}.\p" - .string "I'm popular because I have lots\n" - .string "of BUG POKéMON, right?\p" - .string "Well, I took a bunch of my fave\n" - .string "bugs to school today.\p" - .string "This girl I like started crying!\n" - .string "Go ahead and laugh if you want.\p" - .string "I have to try teaching her what\n" - .string "makes BUG POKéMON so appealing.\p" - .string "Snivel…\n" - .string "See you!$" - -BattleFrontier_PokeNav_2AF2C4:: @ 82AF2C4 - .string "Hah! Hah! Hah! Hah!\p" - .string "Hi! It's {STR_VAR_1}! Hah! Hah!\p" - .string "Trying to chat…\n" - .string "While climbing…\l" - .string "Is harsh exercise… Hah! Hah!\p" - .string "Urgh! Oof…\n" - .string "It's steeper now…\l" - .string "We'll chat…another time…\l" - .string "Hah! Hah! Hah!$" - -BattleFrontier_PokeNav_2AF371:: @ 82AF371 - .string "Oh, hi!\p" - .string "I'm still searching for treasures\n" - .string "with KIRA!\p" - .string "Maybe there isn't any treasure\n" - .string "here at all…\p" - .string "But the important thing is for me\n" - .string "to search alongside KIRA.\p" - .string "Oh, hey, KIRA!\n" - .string "Wh-why are you angry?\p" - .string "I'm not ignoring you, honey!\n" - .string "You're my one and only!\p" - .string "…{PLAYER}, I have to go, bye!$" - -BattleFrontier_PokeNav_2AF480:: @ 82AF480 - .string "This is {STR_VAR_1}!\p" - .string "I went to DEWFORD's GYM again\n" - .string "for training.\p" - .string "BRAWLY, the GYM LEADER, seems\n" - .string "to be tougher now.\p" - .string "Something about being toughened\n" - .string "by the wild waves…\p" - .string "But he's still as cool as ever.\n" - .string "The ladies adore him!\l" - .string "It makes me envious, frankly.\p" - .string "I wonder… Is his friend BRUNO\n" - .string "the same way as BRAWLY?\p" - .string "You know, all sweaty or smelly,\n" - .string "and prone to calling people\l" - .string "“big wave,” that sort of thing.\p" - .string "But, hey, this jealousy thing isn't\n" - .string "very seemly, is it?\p" - .string "Forget this chat ever happened,\n" - .string "how about it? So long!$" - -BattleFrontier_PokeNav_2AF671:: @ 82AF671 - .string "It's a pleasure to chat with\n" - .string "a young TRAINER like you.\p" - .string "I imagine that you will continue to\n" - .string "enjoy POKéMON whatever your age.\p" - .string "Wouldn't it be good if you had\n" - .string "a partnership like ours?\p" - .string "Of course, {PLAYER}{STRING 5}, you already\n" - .string "enjoy the trust and companionship\l" - .string "of your POKéMON now.\p" - .string "You have the makings of long and\n" - .string "enduring relationships already!\p" - .string "Hahaha!\n" - .string "Never be discouraged!$" - -BattleFrontier_PokeNav_2AF7D8:: @ 82AF7D8 - .string "Hi, this is {STR_VAR_1}!\n" - .string "We just won a battle!\p" - .string "We don't win often, but it was this\n" - .string "cool SWIMMER guy.\p" - .string "My sister was steamed!\p" - .string "She wanted to pretend that she\n" - .string "was weak to make an impression!\p" - .string "She always chews me out whether\n" - .string "we win or lose!\p" - .string "{PLAYER}{STRING 5}, can you say something\n" - .string "to her next time?\p" - .string "Okay, see you!$" - -BattleFrontier_PokeNav_2AF8F7:: @ 82AF8F7 - .string "{STR_VAR_1} here, yes.\n" - .string "I headed out to sea yesterday.\p" - .string "I had been hoping to find a new\n" - .string "ruin to explore.\p" - .string "But the tides somehow seemed to\n" - .string "carry me back where I started.\p" - .string "I'm still weak at battling, too…\n" - .string "Feel free to mock me…\l" - .string "But I won't give up.\p" - .string "My day will come when I discover\n" - .string "a new ruin!\p" - .string "That's all I have to say!\n" - .string "Farewell for now!$" - -BattleFrontier_PokeNav_2AFA39:: @ 82AFA39 - .string "Ahoy there!\n" - .string "It's me, {STR_VAR_1}!\l" - .string "I'm out on ROUTE 108 now!\l" - .string "In other words, where I always am!\p" - .string "Today, a gorgeous SWIMMER \n" - .string "swam by me!\p" - .string "So I startled her with a shout!\p" - .string "And she gave me a nasty glare!\p" - .string "That's all from ROUTE 108!\n" - .string "Brought to you by {STR_VAR_1}!$" - -BattleFrontier_PokeNav_2AFB26:: @ 82AFB26 - .string "It's {STR_VAR_1}!\p" - .string "I'm kind of busy, but I figured\n" - .string "I should let you know that I've\l" - .string "beaten five TRAINERS again today.\p" - .string "If I keep this pace up, I can\n" - .string "probably beat you next time.\p" - .string "I think we'll be good rivals,\n" - .string "you and I. Good-bye for now!$" - -BattleFrontier_PokeNav_2AFC07:: @ 82AFC07 - .string "Hi! This is {STR_VAR_1}.\n" - .string "I heard the news!\p" - .string "They say you did excellent at\n" - .string "the {STR_VAR_2}.\p" - .string "It's awesome, {STR_VAR_3} straight wins?\n" - .string "See you!$" - -BattleFrontier_PokeNav_2AFC78:: @ 82AFC78 - .string "Hello, it's {STR_VAR_1}!\n" - .string "I heard about you!\p" - .string "They said you won {STR_VAR_3} straight\n" - .string "battles at the {STR_VAR_2}.\p" - .string "That's special! I should try\n" - .string "harder, too! See you!$" - -BattleFrontier_PokeNav_2AFCFF:: @ 82AFCFF - .string "Hey there, {PLAYER}!\n" - .string "It's me, {STR_VAR_1}.\p" - .string "I heard you went on a tear at\n" - .string "the {STR_VAR_2}!\p" - .string "A big {STR_VAR_3}-win streak…\n" - .string "That is a big record, isn't it?\p" - .string "I'd better get it together, too!\n" - .string "Catch you soon!$" - -BattleFrontier_PokeNav_2AFDA7:: @ 82AFDA7 - .string "Hey, {PLAYER}{STRING 5}.\n" - .string "{STR_VAR_1} here. What's up?\p" - .string "There's a rumor going around that\n" - .string "you strung together {STR_VAR_3} straight\l" - .string "wins at the {STR_VAR_2}.\p" - .string "I'd better step it up, too.\n" - .string "See you!$" - -BattleFrontier_PokeNav_2AFE3D:: @ 82AFE3D - .string "Hiya, {PLAYER}{STRING 5}!\n" - .string "It's {STR_VAR_1}.\p" - .string "You were at the {STR_VAR_2}\n" - .string "and won {STR_VAR_3} battles in a row?\l" - .string "Isn't that something!\p" - .string "I'd better work on my POKéMON more.\n" - .string "See you soon!$" - -BattleFrontier_PokeNav_2AFECA:: @ 82AFECA - .string "Hey, {PLAYER}{STRING 5}.\n" - .string "{STR_VAR_1} here. How are you?\p" - .string "By the way, I heard you pulled off\n" - .string "the feat of {STR_VAR_3} straight wins at\l" - .string "the {STR_VAR_2}.\p" - .string "That inspires me to focus on\n" - .string "raising my team.$" - -BattleFrontier_PokeNav_2AFF64:: @ 82AFF64 - .string "…Er, {PLAYER}{STRING 5}?\n" - .string "{STR_VAR_1} here…\p" - .string "Oh, yeah, you were over at\n" - .string "the {STR_VAR_2}, right?\p" - .string "And you won {STR_VAR_3} battles in a row.\p" - .string "Oh, there goes a rare POKéMON!\n" - .string "I have to go!$" - -BattleFrontier_PokeNav_2AFFF0:: @ 82AFFF0 - .string "Oh, {PLAYER}{STRING 5}, how do you do?\n" - .string "This is {STR_VAR_1} speaking.\l" - .string "I hope you're doing well.\p" - .string "Oh, but, you are. I've heard that\n" - .string "you won {STR_VAR_3} matches in a row at\l" - .string "the {STR_VAR_2}.\p" - .string "That's very impressive!\n" - .string "I hope you stay successful.$" - -BattleFrontier_PokeNav_2B00B5:: @ 82B00B5 - .string "Oh, {PLAYER}{STRING 5}, hi there!\n" - .string "This is {STR_VAR_1}!\p" - .string "I heard! Your {STR_VAR_3}-win streak at\n" - .string "the {STR_VAR_2}!\p" - .string "That is so cool!\n" - .string "I'd better try harder, too!$" - -BattleFrontier_PokeNav_2B0129:: @ 82B0129 - .string "Oh, {PLAYER}{STRING 5}, hello…\n" - .string "This is {STR_VAR_1}.\p" - .string "You won {STR_VAR_3} straight battles at\n" - .string "the {STR_VAR_2}?\p" - .string "That's quite the accomplishment.\n" - .string "I need to work harder.$" - -BattleFrontier_PokeNav_2B01A5:: @ 82B01A5 - .string "Ah, {PLAYER}{STRING 5}.\n" - .string "This is {STR_VAR_1}.\p" - .string "I hear you're the terror of\n" - .string "the {STR_VAR_2}?\p" - .string "You won, what, {STR_VAR_3} matches in\n" - .string "a row?\p" - .string "You're good, you.\n" - .string "I wonder how many I can win?$" - -BattleFrontier_PokeNav_2B0232:: @ 82B0232 - .string "Hello, {PLAYER}{STRING 5}.\n" - .string "It's me, {STR_VAR_1}.\l" - .string "Are you keeping well?\p" - .string "Someone passed on word about you.\n" - .string "How you won {STR_VAR_3} straight battles\l" - .string "at a place named {STR_VAR_2}?\p" - .string "That's quite the tale.\n" - .string "See you!$" - -BattleFrontier_PokeNav_2B02D9:: @ 82B02D9 - .string "Ah, hello, {PLAYER}{STRING 5}!\n" - .string "This is {STR_VAR_1}!\l" - .string "I hope you've been keeping well.\p" - .string "They say you won {STR_VAR_3} straight\n" - .string "battles at the {STR_VAR_2}.\p" - .string "I admire your energy!\n" - .string "Bye now.$" - -BattleFrontier_PokeNav_2B0366:: @ 82B0366 - .string "Oh, hi, {PLAYER}{STRING 5}.\n" - .string "This is {STR_VAR_1}.\p" - .string "I heard about you!\n" - .string "Didn't you just win {STR_VAR_3} battles in\l" - .string "a row at the {STR_VAR_2}?\p" - .string "You're an inspiration!\n" - .string "Bye-bye!$" - -BattleFrontier_PokeNav_2B03E6:: @ 82B03E6 - .string "Hi! This is {STR_VAR_1}.\n" - .string "I heard the news!\p" - .string "They say you did excellent at\n" - .string "the {STR_VAR_2}.\p" - .string "It's awesome--{STR_VAR_3} straight wins?\n" - .string "See you!$" - -BattleFrontier_PokeNav_2B0457:: @ 82B0457 - .string "Hello, it's {STR_VAR_1}!\n" - .string "I heard about you!\p" - .string "They said you won {STR_VAR_3} straight\n" - .string "battles at the {STR_VAR_2}.\p" - .string "That's special! I should try\n" - .string "harder, too! See you!$" - -BattleFrontier_PokeNav_2B04DE:: @ 82B04DE - .string "Hey there, {PLAYER}!\n" - .string "It's me, {STR_VAR_1}.\p" - .string "I heard you went on a tear at\n" - .string "the {STR_VAR_2}!\p" - .string "A big {STR_VAR_3}-win streak…\n" - .string "That is a big record, isn't it?\p" - .string "I'd better get it together, too!\n" - .string "Catch you soon!$" - -BattleFrontier_PokeNav_2B0586:: @ 82B0586 - .string "Hey, {PLAYER}{STRING 5}.\n" - .string "{STR_VAR_1} here. What's up?\p" - .string "There's a rumor going around that\n" - .string "you strung together {STR_VAR_3} straight\l" - .string "wins at the {STR_VAR_2}.\p" - .string "I'd better step it up, too.\n" - .string "See you!$" - -BattleFrontier_PokeNav_2B061C:: @ 82B061C - .string "Hiya, {PLAYER}{STRING 5}!\n" - .string "It's {STR_VAR_1}.\p" - .string "You were at the {STR_VAR_2}\n" - .string "and won {STR_VAR_3} battles in a row?\l" - .string "Isn't that something!\p" - .string "Me? I'd say I'm coming along.\n" - .string "See you soon!$" - -BattleFrontier_PokeNav_2B06A3:: @ 82B06A3 - .string "Hey, {PLAYER}{STRING 5}.\n" - .string "{STR_VAR_1} here. How are you?\p" - .string "By the way, I heard you pulled off\n" - .string "the feat of {STR_VAR_3} straight wins at\l" - .string "the {STR_VAR_2}.\p" - .string "I'd better try harder myself!\n" - .string "See you soon!$" - -BattleFrontier_PokeNav_2B073B:: @ 82B073B - .string "…Er, {PLAYER}{STRING 5}?\n" - .string "{STR_VAR_1} here…\p" - .string "Oh, yeah, you were over at\n" - .string "the {STR_VAR_2}, right?\p" - .string "And you won {STR_VAR_3} battles in a row.\p" - .string "Oh, there goes a rare POKéMON!\n" - .string "I have to go!$" - -BattleFrontier_PokeNav_2B07C7:: @ 82B07C7 - .string "Oh, {PLAYER}{STRING 5}, how do you do?\n" - .string "This is {STR_VAR_1} speaking.\l" - .string "I hope you're doing well.\p" - .string "Oh, but, you are. I've heard that\n" - .string "you won {STR_VAR_3} matches in a row at\l" - .string "the {STR_VAR_2}.\p" - .string "That's very impressive!\n" - .string "I'd better work on my POKéMON, too!$" - -BattleFrontier_PokeNav_2B0894:: @ 82B0894 - .string "Oh, {PLAYER}{STRING 5}, hi there!\n" - .string "This is {STR_VAR_1}!\p" - .string "I heard! Your {STR_VAR_3}-win streak at\n" - .string "the {STR_VAR_2}!\p" - .string "That is so cool!\n" - .string "I'd better try harder, too!$" - -BattleFrontier_PokeNav_2B0908:: @ 82B0908 - .string "Oh, {PLAYER}{STRING 5}, hello…\n" - .string "This is {STR_VAR_1}.\p" - .string "You won {STR_VAR_3} straight battles at\n" - .string "the {STR_VAR_2}?\p" - .string "That's quite the accomplishment.\n" - .string "I need to work harder.$" - -BattleFrontier_PokeNav_2B0984:: @ 82B0984 - .string "Ah, {PLAYER}{STRING 5}.\n" - .string "This is {STR_VAR_1}.\p" - .string "I hear you're the terror of\n" - .string "the {STR_VAR_2}?\p" - .string "You won, what, {STR_VAR_3} matches in\n" - .string "a row?\p" - .string "You're good, you.\n" - .string "I wonder how many I can win?$" - -BattleFrontier_PokeNav_2B0A11:: @ 82B0A11 - .string "Hello, {PLAYER}{STRING 5}.\n" - .string "It's me, {STR_VAR_1}.\l" - .string "Are you keeping well?\p" - .string "Someone passed on word about you.\n" - .string "How you won {STR_VAR_3} straight battles\l" - .string "at a place named {STR_VAR_2}?\p" - .string "That's quite the tale.\n" - .string "See you!$" - -BattleFrontier_PokeNav_2B0AB8:: @ 82B0AB8 - .string "Ah, hello, {PLAYER}{STRING 5}!\n" - .string "This is {STR_VAR_1}!\l" - .string "I hope you've been keeping well.\p" - .string "They say you won {STR_VAR_3} straight\n" - .string "battles at the {STR_VAR_2}.\p" - .string "I admire your energy!\n" - .string "Bye now.$" - -BattleFrontier_PokeNav_2B0B45:: @ 82B0B45 - .string "Oh, hi, {PLAYER}{STRING 5}.\n" - .string "This is {STR_VAR_1}.\l" - .string "I heard about you!\p" - .string "Didn't you just win {STR_VAR_3} battles in\n" - .string "a row at the {STR_VAR_2}?\p" - .string "You're an inspiration!\n" - .string "Bye-bye!$" - -BattleFrontier_PokeNav_2B0BC5:: @ 82B0BC5 - .string "Hi! {PLAYER}?\n" - .string "Hello, this is {STR_VAR_1}!\l" - .string "I heard the news!\p" - .string "You became the champion at\n" - .string "the {STR_VAR_2} {STR_VAR_3} times?\p" - .string "It's awesome! I have to do better!\n" - .string "See you!$" - -BattleFrontier_PokeNav_2B0C4A:: @ 82B0C4A - .string "Hello, it's {STR_VAR_1}!\n" - .string "I heard about you!\p" - .string "They said you won {STR_VAR_3} titles\n" - .string "at the {STR_VAR_2}.\p" - .string "That's super! I wonder if I can\n" - .string "become a champion?$" - -BattleFrontier_PokeNav_2B0CC7:: @ 82B0CC7 - .string "Hey there, {PLAYER}!\n" - .string "It's me, {STR_VAR_1}.\l" - .string "How's it going?\p" - .string "I heard you won events {STR_VAR_3} times\n" - .string "at the {STR_VAR_2}!\p" - .string "Make it one more next time!\n" - .string "Catch you soon!$" - -BattleFrontier_PokeNav_2B0D4A:: @ 82B0D4A - .string "Hey, {PLAYER}{STRING 5}.\n" - .string "{STR_VAR_1} here.\p" - .string "I heard you became the champion\n" - .string "at the {STR_VAR_2} {STR_VAR_3} times.\p" - .string "Sounds like you're working hard.\n" - .string "I'll try to keep up!$" - -BattleFrontier_PokeNav_2B0DC8:: @ 82B0DC8 - .string "Hiya, {PLAYER}{STRING 5}!\n" - .string "It's {STR_VAR_1}.\p" - .string "I heard you won {STR_VAR_3} times\n" - .string "outright at the {STR_VAR_2}.\p" - .string "I'd better get with it, too!\n" - .string "See you soon!$" - -BattleFrontier_PokeNav_2B0E35:: @ 82B0E35 - .string "Hey, {PLAYER}{STRING 5}?\n" - .string "{STR_VAR_1} here. How are you?\p" - .string "By the way, I heard you became\n" - .string "the champion {STR_VAR_3} times at\l" - .string "the {STR_VAR_2}.\p" - .string "I'd better raise my POKéMON before\n" - .string "you pull farther ahead.$" - -BattleFrontier_PokeNav_2B0ED1:: @ 82B0ED1 - .string "{PLAYER}{STRING 5}?\n" - .string "{STR_VAR_1} here.\p" - .string "You were at the {STR_VAR_2}\n" - .string "and became the champ {STR_VAR_3} times?\p" - .string "That's neat. By the way, have you\n" - .string "caught any rare POKéMON lately?\p" - .string "Oh, is that right.\n" - .string "Okay, bye.$" - -BattleFrontier_PokeNav_2B0F72:: @ 82B0F72 - .string "Oh, {PLAYER}{STRING 5}, how do you do?\n" - .string "This is {STR_VAR_1} speaking.\l" - .string "I hope you're doing well.\l" - .string "Oh, but, you are.\p" - .string "I've heard that you won {STR_VAR_3} titles\n" - .string "at the {STR_VAR_2}.\p" - .string "I must raise my POKéMON like you.\n" - .string "See you again.$" - -BattleFrontier_PokeNav_2B102A:: @ 82B102A - .string "Oh, {PLAYER}{STRING 5}, hi there!\n" - .string "This is {STR_VAR_1}!\p" - .string "I heard! You took the title\n" - .string "{STR_VAR_3} times at the {STR_VAR_2}!\p" - .string "That is so cool!\n" - .string "I'd better try harder, too!$" - -BattleFrontier_PokeNav_2B10A7:: @ 82B10A7 - .string "Oh, {PLAYER}{STRING 5}, hello.\n" - .string "This is {STR_VAR_1}.\p" - .string "You won {STR_VAR_3} straight times at\n" - .string "the {STR_VAR_2}?\p" - .string "That's quite the accomplishment.\n" - .string "I need to work harder.$" - -BattleFrontier_PokeNav_2B1121:: @ 82B1121 - .string "Ah, {PLAYER}{STRING 5}.\n" - .string "This is {STR_VAR_1}.\p" - .string "I hear you're the terror of\n" - .string "the {STR_VAR_2}?\p" - .string "You won, what, {STR_VAR_3} straight times\n" - .string "now?\p" - .string "I wonder if I can ever become\n" - .string "a champion?\p" - .string "…Pretty well impossible?\n" - .string "Well, see you!$" - -BattleFrontier_PokeNav_2B11D3:: @ 82B11D3 - .string "Hello, {PLAYER}{STRING 5}.\n" - .string "It's me, {STR_VAR_1}.\l" - .string "Are you keeping well?\p" - .string "You've won {STR_VAR_3} events at a place\n" - .string "named {STR_VAR_2}?\p" - .string "That's quite the tale.\n" - .string "See you!$" - -BattleFrontier_PokeNav_2B124D:: @ 82B124D - .string "Ah, hello, {PLAYER}{STRING 5}!\n" - .string "This is {STR_VAR_1}!\l" - .string "I hope you've been keeping well.\p" - .string "They say you won {STR_VAR_3} events\n" - .string "at the {STR_VAR_2}?\p" - .string "I admire your energy!\n" - .string "Bye now.$" - -BattleFrontier_PokeNav_2B12D0:: @ 82B12D0 - .string "Oh, hi, {PLAYER}{STRING 5}.\n" - .string "This is {STR_VAR_1}.\l" - .string "I heard about you!\p" - .string "Didn't you win {STR_VAR_3} titles\n" - .string "at the {STR_VAR_2}?\p" - .string "You're an inspiration!\n" - .string "See you again!$" - -BattleFrontier_PokeNav_2B1347:: @ 82B1347 - .string "Hi! {PLAYER}?\n" - .string "Hello, this is {STR_VAR_1}!\l" - .string "I heard the news!\p" - .string "You got through {STR_VAR_3} rooms\n" - .string "at the {STR_VAR_2}!\p" - .string "That's awesome!\n" - .string "See you!$" - -BattleFrontier_PokeNav_2B13B1:: @ 82B13B1 - .string "Hello, it's {STR_VAR_1}!\n" - .string "I heard about you!\p" - .string "They said you won your way through\n" - .string "{STR_VAR_3} rooms at the {STR_VAR_2}.\p" - .string "I have to try much harder!\n" - .string "Bye!$" - -BattleFrontier_PokeNav_2B142B:: @ 82B142B - .string "Hey there, {PLAYER}!\n" - .string "It's me, {STR_VAR_1}.\l" - .string "How's it going?\p" - .string "I heard you won through {STR_VAR_3} rooms\n" - .string "at the {STR_VAR_2}!\p" - .string "Try to do even better next time!\n" - .string "Catch you soon!$" - -BattleFrontier_PokeNav_2B14B4:: @ 82B14B4 - .string "Hey, {PLAYER}{STRING 5}.\n" - .string "{STR_VAR_1} here.\p" - .string "I heard you blew through {STR_VAR_3} rooms\n" - .string "at the {STR_VAR_2}.\p" - .string "I'd better train my POKéMON and\n" - .string "try to keep up!$" - -BattleFrontier_PokeNav_2B1525:: @ 82B1525 - .string "Hiya, {PLAYER}{STRING 5}!\n" - .string "It's {STR_VAR_1}.\p" - .string "I heard you got past {STR_VAR_3} rooms\n" - .string "at the {STR_VAR_2}.\p" - .string "I'd better get with it, too!\n" - .string "See you soon!$" - -BattleFrontier_PokeNav_2B158E:: @ 82B158E - .string "Hey, {PLAYER}{STRING 5}?\n" - .string "{STR_VAR_1} here. How are you?\p" - .string "By the way, I heard you got through\n" - .string "{STR_VAR_3} rooms at the {STR_VAR_2}.\p" - .string "I'd better raise my POKéMON before\n" - .string "you pull further ahead.$" - -BattleFrontier_PokeNav_2B1622:: @ 82B1622 - .string "{PLAYER}{STRING 5}?\n" - .string "{STR_VAR_1} here.\p" - .string "You were at the {STR_VAR_2}\n" - .string "and won your way past {STR_VAR_3} rooms?\p" - .string "That's wicked.\p" - .string "Oh, there goes a rare POKéMON!\n" - .string "Okay, bye.$" - -BattleFrontier_PokeNav_2B169D:: @ 82B169D - .string "Oh, {PLAYER}{STRING 5}, how do you do?\n" - .string "This is {STR_VAR_1} speaking.\l" - .string "I hope you're doing well.\l" - .string "Oh, but, you are.\p" - .string "I've heard that you got through\n" - .string "{STR_VAR_3} rooms at the {STR_VAR_2}.\p" - .string "That's quite impressive!\n" - .string "I must raise my POKéMON like you.\l" - .string "See you again.$" - -BattleFrontier_PokeNav_2B1775:: @ 82B1775 - .string "Oh, {PLAYER}{STRING 5}, hi there!\n" - .string "This is {STR_VAR_1}!\p" - .string "I heard! You won your way through\n" - .string "{STR_VAR_3} rooms at the {STR_VAR_2}!\p" - .string "That is so cool!\n" - .string "I'd better try harder, too!$" - -BattleFrontier_PokeNav_2B17F8:: @ 82B17F8 - .string "Oh, {PLAYER}{STRING 5}, hello.\n" - .string "This is {STR_VAR_1}.\p" - .string "You won your way past {STR_VAR_3} rooms\n" - .string "at the {STR_VAR_2}?\p" - .string "That's quite the accomplishment.\n" - .string "I need to work harder.$" - -BattleFrontier_PokeNav_2B1877:: @ 82B1877 - .string "Ah, {PLAYER}{STRING 5}.\n" - .string "This is {STR_VAR_1}.\p" - .string "I hear you're the terror of\n" - .string "the {STR_VAR_2}?\p" - .string "You got through, what, {STR_VAR_3} rooms?\n" - .string "That's gotta count for something.\p" - .string "I wonder if I can ever become\n" - .string "a champion?\p" - .string "…Pretty well impossible?\n" - .string "Well, see you!$" - -BattleFrontier_PokeNav_2B1946:: @ 82B1946 - .string "Hello, {PLAYER}{STRING 5}.\n" - .string "It's me, {STR_VAR_1}.\l" - .string "Are you keeping well?\p" - .string "You've won through {STR_VAR_3} rooms at\n" - .string "a place named {STR_VAR_2}?\p" - .string "That's quite the tale.\n" - .string "See you!$" - -BattleFrontier_PokeNav_2B19C7:: @ 82B19C7 - .string "Ah, hello, {PLAYER}{STRING 5}!\n" - .string "This is {STR_VAR_1}!\l" - .string "I hope you've been keeping well.\p" - .string "They say you won in {STR_VAR_3} rooms\n" - .string "at the {STR_VAR_2}?\p" - .string "I admire your energy!\n" - .string "Bye now.$" - -BattleFrontier_PokeNav_2B1A4C:: @ 82B1A4C - .string "Oh, hi, {PLAYER}{STRING 5}.\n" - .string "This is {STR_VAR_1}.\l" - .string "I heard about you!\p" - .string "Didn't you get through {STR_VAR_3} rooms\n" - .string "at the {STR_VAR_2}?\p" - .string "You're an inspiration!\n" - .string "See you again!$" - -BattleFrontier_PokeNav_2B1ACA:: @ 82B1ACA - .string "Hi! {PLAYER}?\n" - .string "Hello, this is {STR_VAR_1}!\l" - .string "I heard the news!\p" - .string "You climbed {STR_VAR_3} floors inside\n" - .string "the {STR_VAR_2}, right?\p" - .string "That's awesome!\n" - .string "I should try that challenge.$" - -BattleFrontier_PokeNav_2B1B50:: @ 82B1B50 - .string "Hello, it's {STR_VAR_1}!\n" - .string "I heard about you!\p" - .string "They said you won your way through\n" - .string "{STR_VAR_3} floors in the {STR_VAR_2}.\p" - .string "Wow, that's fantastic!\n" - .string "I'd better raise my POKéMON, too!$" - -BattleFrontier_PokeNav_2B1BE4:: @ 82B1BE4 - .string "Hey there, {PLAYER}!\n" - .string "It's me, {STR_VAR_1}.\l" - .string "How's it going?\p" - .string "I heard you climbed {STR_VAR_3} floors\n" - .string "in the {STR_VAR_2}!\p" - .string "Try to do even better next time!\n" - .string "Catch you soon!$" - -BattleFrontier_PokeNav_2B1C6A:: @ 82B1C6A - .string "Hey, {PLAYER}{STRING 5}.\n" - .string "{STR_VAR_1} here.\p" - .string "I heard you scaled {STR_VAR_3} floors\n" - .string "in the {STR_VAR_2}.\p" - .string "I'd better work hard and try\n" - .string "to keep up!$" - -BattleFrontier_PokeNav_2B1CCF:: @ 82B1CCF - .string "Hiya, {PLAYER}{STRING 5}!\n" - .string "It's {STR_VAR_1}.\p" - .string "I heard you climbed {STR_VAR_3} floors\n" - .string "in the {STR_VAR_2}.\p" - .string "I'd better get with it, too!\n" - .string "See you soon!$" - -BattleFrontier_PokeNav_2B1D38:: @ 82B1D38 - .string "Hey, {PLAYER}{STRING 5}?\n" - .string "{STR_VAR_1} here. How are you?\p" - .string "By the way, I heard you got through\n" - .string "{STR_VAR_3} floors in the {STR_VAR_2}.\p" - .string "I'd better raise my POKéMON before\n" - .string "you pull further ahead.$" - -BattleFrontier_PokeNav_2B1DCD:: @ 82B1DCD - .string "{PLAYER}{STRING 5}?\n" - .string "{STR_VAR_1} here.\p" - .string "You were at the {STR_VAR_2}\n" - .string "and won your way up {STR_VAR_3} floors?\p" - .string "Neat. Were there any rare POKéMON\n" - .string "there?\p" - .string "No, huh?\n" - .string "Okay, bye.$" - -BattleFrontier_PokeNav_2B1E4B:: @ 82B1E4B - .string "Oh, {PLAYER}{STRING 5}, how do you do?\n" - .string "This is {STR_VAR_1} speaking.\l" - .string "I hope you're doing well.\l" - .string "Oh, but, you are.\p" - .string "I've heard that you got through\n" - .string "{STR_VAR_3} floors in the {STR_VAR_2}.\p" - .string "That's quite impressive!\n" - .string "I must raise my POKéMON like you.\l" - .string "See you again.$" - -BattleFrontier_PokeNav_2B1F24:: @ 82B1F24 - .string "Oh, {PLAYER}{STRING 5}, hi there!\n" - .string "This is {STR_VAR_1}!\p" - .string "I heard! You won your way through\n" - .string "{STR_VAR_3} floors in the {STR_VAR_2}!\p" - .string "That is so cool!\n" - .string "I'd better try harder, too!$" - -BattleFrontier_PokeNav_2B1FA8:: @ 82B1FA8 - .string "Oh, {PLAYER}{STRING 5}, hello.\n" - .string "This is {STR_VAR_1}.\p" - .string "You climbed {STR_VAR_3} floors inside\n" - .string "the {STR_VAR_2}?\p" - .string "That's quite the accomplishment.\n" - .string "I need to work harder.$" - -BattleFrontier_PokeNav_2B2022:: @ 82B2022 - .string "Ah, {PLAYER}{STRING 5}.\n" - .string "This is {STR_VAR_1}.\p" - .string "I hear you're the terror of\n" - .string "the {STR_VAR_2}?\p" - .string "You rose through, what, {STR_VAR_3} floors?\n" - .string "That's gotta count for something.\p" - .string "I wonder if I can ever become\n" - .string "a champion?\p" - .string "…Pretty well impossible?\n" - .string "Well, see you!$" - -BattleFrontier_PokeNav_2B20F3:: @ 82B20F3 - .string "Hello, {PLAYER}{STRING 5}.\n" - .string "It's me, {STR_VAR_1}.\l" - .string "Are you keeping well?\p" - .string "You've won through {STR_VAR_3} floors in\n" - .string "a place named {STR_VAR_2}?\p" - .string "That's quite the tale.\n" - .string "See you!$" - -BattleFrontier_PokeNav_2B2175:: @ 82B2175 - .string "Ah, hello, {PLAYER}{STRING 5}!\n" - .string "This is {STR_VAR_1}!\l" - .string "I hope you've been keeping well.\p" - .string "They say you climbed {STR_VAR_3} floors\n" - .string "in the {STR_VAR_2}?\p" - .string "I admire your energy!\n" - .string "Bye now.$" - -BattleFrontier_PokeNav_2B21FC:: @ 82B21FC - .string "Oh, hi, {PLAYER}{STRING 5}.\n" - .string "This is {STR_VAR_1}.\l" - .string "I heard about you!\p" - .string "Didn't you get through {STR_VAR_3} floors\n" - .string "in the {STR_VAR_2}?\p" - .string "You're an inspiration!\n" - .string "See you again!$" - -gText_Mom_Pokenav_2B227B:: @ 82B227B - .string "MOM: Your father and you…\n" - .string "Everyone is captivated by POKéMON.\p" - .string "What is the charm of POKéMON?\p" - .string "Me?\n" - .string "I adore POKéMON that help me with\l" - .string "my everyday chores.$" - -gText_Mom_Pokenav_2B2310:: @ 82B2310 - .string "MOM: Hi, {PLAYER}!\n" - .string "Your father keeps himself locked\l" - .string "away in the PETALBURG GYM.\p" - .string "He comes home every so often.\n" - .string "But he goes back to the GYM when\l" - .string "he's eaten everything he can.\p" - .string "I'm guessing that losing to you\n" - .string "was a big blow to his pride!$" - -gText_Mom_Pokenav_2B23F3:: @ 82B23F3 - .string "MOM: {PLAYER}…\n" - .string "Don't worry about me or the house.\p" - .string "Wear those RUNNING SHOES until\n" - .string "they fall apart, honey!$" - -gText_Roxanne_Pokenav_2B2456:: @ 82B2456 - .string "ROXANNE: Oh, hello, {PLAYER}!\p" - .string "I've been hard at work retraining\n" - .string "since we met.\p" - .string "I will still need some more time\n" - .string "before I can reopen the GYM.\p" - .string "But when I do, please visit my GYM\n" - .string "for a rematch!$" - -gText_Roxanne_Pokenav_2B250E:: @ 82B250E - .string "ROXANNE: Is this {PLAYER}?\n" - .string "Congratulations!\l" - .string "I've been hearing about you!\p" - .string "As for me, I need some more time\n" - .string "before I can reopen the GYM.\p" - .string "But when I do, please visit my GYM\n" - .string "for a rematch!$" - -gText_Roxanne_Pokenav_2B25C1:: @ 82B25C1 - .string "ROXANNE: {PLAYER}!\n" - .string "My GYM is ready!\p" - .string "Please visit RUSTBORO whenever\n" - .string "you can!$" - -gText_Roxanne_Pokenav_2B2607:: @ 82B2607 - .string "ROXANNE: At the RUSTBORO GYM,\n" - .string "the fact that we battled, {PLAYER},\l" - .string "is a matter of pride.$" - -gText_Brawly_Pokenav_2B2659:: @ 82B2659 - .string "BRAWLY: Hey, there, {PLAYER}{STRING 5}!\p" - .string "I learned a lot from the battle we\n" - .string "had together.\p" - .string "I intend to do my training over,\n" - .string "then reopen the GYM.\p" - .string "It's going to take some time before\n" - .string "I'm ready to run the GYM again.\p" - .string "But if I can reopen the GYM,\n" - .string "I want you to challenge us again.$" - -gText_Brawly_Pokenav_2B275D:: @ 82B275D - .string "BRAWLY: Hey, {PLAYER}{STRING 5}!\n" - .string "Congratulations!\p" - .string "Word about your exploits arrived\n" - .string "on tidal winds!\p" - .string "It appears as if I need to work on\n" - .string "my training some more.\p" - .string "It's going to take some time before\n" - .string "I'm ready to run the GYM again.\p" - .string "But if I can reopen the GYM,\n" - .string "I want you to challenge us again.$" - -gText_Brawly_Pokenav_2B286F:: @ 82B286F - .string "BRAWLY: Hey, {PLAYER}{STRING 5}!\n" - .string "My GYM's ready for action!\p" - .string "Come back to DEWFORD anytime\n" - .string "for another challenge!$" - -gText_Brawly_Pokenav_2B28D1:: @ 82B28D1 - .string "BRAWLY: {PLAYER}{STRING 5}, I don't think\n" - .string "I'll ever get bored of battling you!$" - -gText_Wattson_Pokenav_2B2912:: @ 82B2912 - .string "WATTSON: Oh, it's you!\p" - .string "After you left, I've been redoing\n" - .string "my training from scratch.\p" - .string "I'd say I could use a wee bit more\n" - .string "time to reopen my GYM.\p" - .string "You'll have to wait till then!\n" - .string "Wahahahaha!$" - -gText_Wattson_Pokenav_2B29CA:: @ 82B29CA - .string "WATTSON: Wahahahaha!\p" - .string "You've really done it, haven't you?\n" - .string "I've been getting word about you!\p" - .string "It seems I need to retrain some\n" - .string "more still.\p" - .string "I'd say I could use a wee bit more\n" - .string "time to reopen my GYM.\p" - .string "You'll have to wait till then!\n" - .string "Wahahahaha!$" - -gText_Wattson_Pokenav_2B2AB6:: @ 82B2AB6 - .string "WATTSON: Oh, it's you!\n" - .string "My GYM's ready!\p" - .string "Visit MAUVILLE anytime!\n" - .string "Wahahahaha!$" - -gText_Wattson_Pokenav_2B2B01:: @ 82B2B01 - .string "WATTSON: Wahahaha!\p" - .string "A battle with you is always charged\n" - .string "with shocking power!$" - -gText_Flannery_Pokenav_2B2B4D:: @ 82B2B4D - .string "FLANNERY: {PLAYER}…\p" - .string "When we battled, I learned exactly\n" - .string "how immature I was.\p" - .string "But I'm not done yet!\p" - .string "I'm going to redo my training and\n" - .string "reopen the GYM.\p" - .string "When the time comes, {PLAYER},\n" - .string "please challenge us again.$" - -gText_Flannery_Pokenav_2B2C0E:: @ 82B2C0E - .string "FLANNERY: Hello, {PLAYER}?\n" - .string "Congratulations!\p" - .string "Word of your success has reached\n" - .string "us like the heat of a volcano!\p" - .string "Our training is coming along very\n" - .string "well here.\p" - .string "When the GYM's ready, a mark will\n" - .string "appear beside my name in the\l" - .string "MATCH CALL list.$" - -gText_Flannery_Pokenav_2B2CF1:: @ 82B2CF1 - .string "FLANNERY: Oh, {PLAYER}?\n" - .string "Our GYM's ready!\p" - .string "Come to LAVARIDGE for a soak\n" - .string "in the hot spring and a challenge!$" - -gText_Flannery_Pokenav_2B2D54:: @ 82B2D54 - .string "FLANNERY: {PLAYER}…\n" - .string "I'm positive that you keep getting\l" - .string "better at training every time.$" - -gText_Winona_Pokenav_2B2DA4:: @ 82B2DA4 - .string "WINONA: Hello, {PLAYER}!\p" - .string "Thanks to our battle, I've come\n" - .string "to understand my weak points!\p" - .string "When I reopen the GYM, I won't go\n" - .string "down in defeat again!$" - -gText_Winona_Pokenav_2B2E2B:: @ 82B2E2B - .string "WINONA: You've done it, {PLAYER}!\p" - .string "News about the new CHAMPION\n" - .string "has reached us in FORTREE!\p" - .string "But… The next time we battle,\n" - .string "it's not going to end the same way.$" - -gText_Winona_Pokenav_2B2EC2:: @ 82B2EC2 - .string "WINONA: Is this {PLAYER}?\n" - .string "Our GYM is back in operation!\p" - .string "We're waiting for you in FORTREE!$" - -gText_Winona_Pokenav_2B2F16:: @ 82B2F16 - .string "WINONA: {PLAYER}…\n" - .string "Though I have lost, my wings will\l" - .string "never break.\p" - .string "Yes, in exactly the same way that\n" - .string "you never lost sight of your dream.$" - -gText_TateLiza_Pokenav_2B2F97:: @ 82B2F97 - .string "TATE: Oh! You're…\n" - .string "LIZA: {PLAYER}!\p" - .string "TATE: We're in training again…\n" - .string "LIZA: So we can reopen our GYM!\p" - .string "TATE: When our GYM is ready…\n" - .string "LIZA: When our GYM is ready…\p" - .string "TATE: A mark'll appear by our name…\n" - .string "LIZA: On the MATCH CALL list.$" - -gText_TateLiza_Pokenav_2B306E:: @ 82B306E - .string "TATE: {PLAYER}, congratulations!\n" - .string "LIZA: {PLAYER}, congratulations!\p" - .string "TATE: The two of us are…\n" - .string "LIZA: Still in training!\p" - .string "TATE: We need some more time, but…\n" - .string "LIZA: When our GYM is ready…\p" - .string "TATE: A mark'll appear by our name…\n" - .string "LIZA: On the MATCH CALL list.$" - -gText_TateLiza_Pokenav_2B3158:: @ 82B3158 - .string "TATE: {PLAYER}!\n" - .string "LIZA: {PLAYER}!\p" - .string "TATE: Our GYM is ready!\n" - .string "LIZA: Our GYM is ready!\p" - .string "TATE: Please come visit…\n" - .string "LIZA: MOSSDEEP anytime!$" - -gText_TateLiza_Pokenav_2B31CD:: @ 82B31CD - .string "TATE: {PLAYER}, the battle we had…\n" - .string "LIZA: Is an invaluable experience.\p" - .string "TATE: It would be nice if…\n" - .string "LIZA: We could all battle again!$" - -gText_Juan_Pokenav_2B3249:: @ 82B3249 - .string "JUAN: Hmm…\n" - .string "{PLAYER}{STRING 5}… Was it?\p" - .string "Our battle together--it brought\n" - .string "to me memories of when I first\l" - .string "encountered WALLACE.\p" - .string "Perhaps you are a genius who may\n" - .string "yet surpass WALLACE!$" - -gText_Juan_Pokenav_2B32EC:: @ 82B32EC - .string "JUAN: Fufu… {PLAYER}{STRING 5}…\n" - .string "You've finally achieved your goal.\p" - .string "My eye for appraising talent wasn't\n" - .string "mistaken…\p" - .string "I wish for another chance to meet\n" - .string "you, for you have scaled the peak\l" - .string "of power and prestige.$" - -gText_Juan_Pokenav_2B33AA:: @ 82B33AA - .string "JUAN: Hoho… {PLAYER}{STRING 5}…\p" - .string "Our SOOTOPOLIS GYM has finally\n" - .string "reopened.\p" - .string "If you wish to see me, you are\n" - .string "welcome to visit anytime.$" - -gText_Juan_Pokenav_2B341E:: @ 82B341E - .string "JUAN: {PLAYER}{STRING 5}…\p" - .string "Like the finest music, the battles\n" - .string "we wage together strike chords\l" - .string "of inspiration in my heart…\p" - .string "When I close my eyes, I see visions\n" - .string "of you soaring with the melody…$" - -gText_Sidney_Pokenav_2B34CC:: @ 82B34CC - .string "SIDNEY: Yo, {PLAYER}!\p" - .string "If you want to battle with me\n" - .string "again, you come on back whenever\l" - .string "you like to the POKéMON LEAGUE.\p" - .string "I'll always be here!\n" - .string "I'll be waiting!$" - -gText_Phoebe_Pokenav_2B3561:: @ 82B3561 - .string "PHOEBE: Hi, {PLAYER}!\p" - .string "How about coming back here again\n" - .string "sometime?\p" - .string "I'd like to see how much tighter\n" - .string "your bond has grown with your\l" - .string "POKéMON.$" - -gText_Glacia_Pokenav_2B35E4:: @ 82B35E4 - .string "GLACIA: Hello, {PLAYER}.\p" - .string "I trust you haven't become\n" - .string "complacent with your power?\p" - .string "If you feel the need to cool your\n" - .string "hot emotions just a little, do come\l" - .string "to the POKéMON LEAGUE…$" - -gText_Drake_Pokenav_2B368B:: @ 82B368B - .string "DRAKE: That voice… {PLAYER}, is it?\n" - .string "You sound well…\p" - .string "I understand that there is now\n" - .string "a facility called the BATTLE\l" - .string "FRONTIER that tests the skills of\l" - .string "TRAINERS.\p" - .string "However, if you wish to have real\n" - .string "battles, there is no substitute for\l" - .string "the POKéMON LEAGUE!\p" - .string "Don't you agree, {PLAYER}?$" - -gText_Wallace_Pokenav_2B3790:: @ 82B3790 - .string "WALLACE: Hello, {PLAYER}{STRING 5}.\n" - .string "Have you met STEVEN?\p" - .string "He is…\n" - .string "Actually incredibly skilled.\p" - .string "However, he's an odd soul who\n" - .string "rarely battles.\p" - .string "Instead, he would rather look for\n" - .string "rare stones.\p" - .string "I'm sure he's digging in a cave or\n" - .string "a craggy mountain somewhere.\p" - .string "But what is a rare stone exactly?\n" - .string "All I can think of is a METEORITE…$" - -MossdeepCity_SpaceCenter_2F_Text_2B38C1: @ 82B38C1 - .string "… … … … … …\n" - .string "… … … … … Beep!\p" - .string "MAY: Hi, {PLAYER}{KUN}!\p" - .string "I was just in PACIFIDLOG a little\n" - .string "while ago.\p" - .string "I saw a giant green POKéMON\n" - .string "flying high in the sky.\p" - .string "I…\n" - .string "I've never seen anything like it.\p" - .string "I wonder what it was.\n" - .string "Is this maybe a major discovery?\p" - .string "… … … … … …\n" - .string "… … … … … Click!$" - -MossdeepCity_SpaceCenter_2F_Text_2B39C6: @ 82B39C6 - .string "… … … … … …\n" - .string "… … … … … Beep!\p" - .string "BRENDAN: Hey, {PLAYER}!\n" - .string "I was in PACIFIDLOG just now.\p" - .string "I saw this huge green POKéMON\n" - .string "flying across the sky.\p" - .string "I've never seen anything that\n" - .string "amazing before.\p" - .string "I wish you could've seen it,\n" - .string "{PLAYER}.\p" - .string "… … … … … …\n" - .string "… … … … … Click!$" - -gText_May_Pokenav_2B3AB3:: @ 2B3AB3 - .string "MAY: Hi, {PLAYER}{STRING 5}!\p" - .string "MR. BRINEY retired as a SAILOR,\n" - .string "but I still see him out on the sea\l" - .string "with his pet PEEKO sometimes.\p" - .string "He must love the sea still.$" - -gText_May_Pokenav_2B3B3F:: @ 2B3B3F - .string "MAY: Hi, {PLAYER}{STRING 5}!\p" - .string "You know how little towns like\n" - .string "PETALBURG and DEWFORD have GYMS?\p" - .string "For some reason, the big port of\n" - .string "SLATEPORT doesn't have a GYM.\p" - .string "When they finally build a GYM there,\n" - .string "I should apply to be the LEADER.$" - -gText_May_Pokenav_2B3C13:: @ 2B3C13 - .string "MAY: Hi, {PLAYER}{STRING 5}!\p" - .string "Do you remember a man named\n" - .string "the CUTTER in RUSTBORO?\l" - .string "He had a house there, remember?\p" - .string "Well, I found out his younger\n" - .string "brother lives in MAUVILLE.\p" - .string "Can you guess his name?\p" - .string "… … … … … …\n" - .string "… … … … … …\p" - .string "The ROCK SMASH GUY!$" - -gText_May_Pokenav_2B3CF3:: @ 2B3CF3 - .string "MAY: {PLAYER}{STRING 5}?\p" - .string "RUSTURF TUNNEL…\n" - .string "They named it that because it\l" - .string "joins RUSTBORO and VERDANTURF.$" - -gText_May_Pokenav_2B3D4B:: @ 2B3D4B - .string "MAY: {PLAYER}{STRING 5}, how are you?\p" - .string "I'm out on ROUTE 111 now.\p" - .string "I'm going to get a rest at an old\n" - .string "lady's house.\p" - .string "She lives just north of\n" - .string "the desert.$" - -gText_May_Pokenav_2B3DD1:: @ 2B3DD1 - .string "MAY: Hi, {PLAYER}{STRING 5}!\p" - .string "Did you know about the MIRAGE\n" - .string "TOWER in the desert?\p" - .string "They say, like a mirage, it seems\n" - .string "to mysteriously come and go.\p" - .string "I wish I could see it.$" - -gText_May_Pokenav_2B3E69:: @ 2B3E69 - .string "MAY: {PLAYER}{STRING 5}, yahoo!\n" - .string "I'm on ROUTE 119 now.\p" - .string "There's a big river here, and\n" - .string "it often rains.\p" - .string "I got soaked!$" - -gText_May_Pokenav_2B3ECD:: @ 2B3ECD - .string "MAY: {PLAYER}{STRING 5}, hi.\p" - .string "MT. PYRE is a memorial to POKéMON\n" - .string "whose lives have ended.\p" - .string "Maybe as a result, it's infested\n" - .string "with many GHOST-type POKéMON!$" - -gText_May_Pokenav_2B3F2B:: @ 2B3F2B - .string "MAY: Hi, {PLAYER}{STRING 5}!\p" - .string "I was thinking of going to the hot\n" - .string "spring in LAVARIDGE.\p" - .string "But on the way, around JAGGED\n" - .string "PASS, I ran into some bad-looking\l" - .string "characters. The mood was ugly!$" - -gText_May_Pokenav_2B3FFB:: @ 2B3FFB - .string "MAY: Hi, {PLAYER}{STRING 5}!\n" - .string "Did you see the news?\p" - .string "They say CAPT. STERN discovered\n" - .string "the SEAFLOOR CAVERN while on his\l" - .string "submarine expedition.$" - -gText_May_Pokenav_2B402B:: @ 2B402B - .string "MAY: Hi, {PLAYER}{STRING 5}!\n" - .string "Don't you think it's neat?\p" - .string "Even if you don't have a boat,\n" - .string "you can cross the sea using\l" - .string "a POKéMON's move.\p" - .string "Did you know there's more?\p" - .string "There's a POKéMON move that lets\n" - .string "you go to the bottom of the sea.$" - -gText_May_Pokenav_2B414B:: @ 2B414B - .string "MAY: Hi, {PLAYER}{STRING 5}!\n" - .string "Hope things are okay!\p" - .string "Have you been on the sea and\n" - .string "found your way to the other side\l" - .string "blocked?\p" - .string "Try diving deep underwater and\n" - .string "following trenches.\p" - .string "When you get to the other side,\n" - .string "come up to the surface. Easy!$" - -gText_May_Pokenav_2B4228:: @ 2B4228 - .string "MAY: Hi, {PLAYER}{STRING 5}!\p" - .string "How's it going?\n" - .string "Are you filling your POKéDEX?\p" - .string "I heard a rumor that there are\n" - .string "super-ancient POKéMON out there.\l" - .string "And there are three of them!\p" - .string "I would love to see even one…$" - -gText_May_Pokenav_2B42E0:: @ 2B42E0 - .string "MAY: {PLAYER}{STRING 5}!\n" - .string "I heard the rumors!\p" - .string "You beat the SOOTOPOLIS GYM\n" - .string "LEADER?\p" - .string "That means you don't have far\n" - .string "to go, do you?$" - -gText_May_Pokenav_2B4350:: @ 2B4350 - .string "MAY: There isn't a single TRAINER\n" - .string "left in HOENN who doesn't know who\l" - .string "you are, {PLAYER}{STRING 5}!\p" - .string "When I tell people that I'm friends\n" - .string "with you, {PLAYER}{STRING 5}, they're all\l" - .string "surprised!$" - -gText_Brendan_Pokenav_2B43EF:: @ 2B43EF - .string "BRENDAN: Hey, {PLAYER}!\p" - .string "MR. BRINEY retired as a SAILOR,\n" - .string "but I still see him out on the sea\l" - .string "with his pet PEEKO sometimes.\p" - .string "I guess he must love\n" - .string "the sea still.$" - -gText_Brendan_Pokenav_2B4486:: @ 2B4486 - .string "BRENDAN: Hey, {PLAYER}!\p" - .string "I don't get how little towns like\n" - .string "PETALBURG and DEWFORD have GYMS.\p" - .string "I mean, not when the big port of\n" - .string "SLATEPORT doesn't have a GYM.\p" - .string "When they finally build a GYM there,\n" - .string "I should apply to be the LEADER.$" - -gText_Brendan_Pokenav_2B4560:: @ 2B4560 - .string "BRENDAN: Yo, {PLAYER}!\p" - .string "Do you remember a guy named\n" - .string "the CUTTER in RUSTBORO?\l" - .string "He had a house there, right?\p" - .string "Well, it turns out his little\n" - .string "brother lives in MAUVILLE.\p" - .string "Can you guess his name?\p" - .string "… … … … … …\n" - .string "… … … … … …\p" - .string "The ROCK SMASH GUY!$" - -gText_Brendan_Pokenav_2B463F:: @ 2B463F - .string "BRENDAN: This voice… {PLAYER}?\p" - .string "They gave RUSTURF TUNNEL its name\n" - .string "because it joins RUSTBORO and\l" - .string "VERDANTURF.\p" - .string "Did you know that?$" - -gText_Brendan_Pokenav_2B46B7:: @ 2B46B7 - .string "BRENDAN: {PLAYER}, what's up?\p" - .string "Hey, I'm out on ROUTE 111 now.\p" - .string "I'm going to rest up at an old\n" - .string "lady's house north of the desert.\p" - .string "If you're in the area, you should\n" - .string "visit her, too.$" - -gText_Brendan_Pokenav_2B4761:: @ 2B4761 - .string "BRENDAN: Hey, {PLAYER}!\p" - .string "Did you know about the MIRAGE\n" - .string "TOWER in the desert?\p" - .string "They say, like a mirage, it can be\n" - .string "seen only sometimes.\p" - .string "I'd like to see that!$" - -gText_Brendan_Pokenav_2B47F4:: @ 2B47F4 - .string "BRENDAN: Who's this? Oh, {PLAYER}?\n" - .string "Guess what? I'm on ROUTE 119 now.\p" - .string "There's a big river here, and\n" - .string "it rains all the time.\p" - .string "I got soaked to the bone!$" - -gText_Brendan_Pokenav_2B4882:: @ 2B4882 - .string "BRENDAN: {PLAYER}!\p" - .string "MT. PYRE is a memorial to POKéMON\n" - .string "whose lives have ended.\p" - .string "That's probably why it's infested\n" - .string "with many GHOST-type POKéMON!$" - -gText_Brendan_Pokenav_2B4909:: @ 2B4909 - .string "BRENDAN: Hey there, {PLAYER}.\p" - .string "I was on my way back to the hot\n" - .string "spring in LAVARIDGE.\p" - .string "But around JAGGED PASS, I ran into\n" - .string "some nasty-looking characters.\p" - .string "Those creeps…\n" - .string "I think they were TEAM MAGMA.$" - -gText_Brendan_Pokenav_2B49C4:: @ 2B49C4 - .string "BRENDAN: Hi, {PLAYER}!\n" - .string "Did you catch the news?\p" - .string "They say CAPT. STERN discovered\n" - .string "the SEAFLOOR CAVERN while on his\l" - .string "submarine expedition.$" - -gText_Brendan_Pokenav_2B4A44:: @ 2B4A44 - .string "BRENDAN: Hey there, {PLAYER}!\n" - .string "Don't you think it's awesome?\p" - .string "Even if you don't have a boat,\n" - .string "you can cross the sea using\l" - .string "a POKéMON's move.\p" - .string "And, there's a move that lets you\n" - .string "travel to the bottom of the sea.\p" - .string "Man, POKéMON can do anything!$" - -gText_Brendan_Pokenav_2B4B28:: @ 2B4B28 - .string "BRENDAN: Howdy, {PLAYER}!\n" - .string "How are you holding up?\p" - .string "Ever found your way to the other\n" - .string "side blocked while on the sea?\p" - .string "Try diving deep underwater and\n" - .string "following trenches at the bottom.\p" - .string "When you get to the other side,\n" - .string "come up to the surface. Simple!$" - -gText_Brendan_Pokenav_2B4C15:: @ 2B4C15 - .string "BRENDAN: Hey there, {PLAYER}!\p" - .string "How's it going? Filling up your\n" - .string "POKéDEX successfully?\p" - .string "I heard a rumor that there are\n" - .string "super-ancient POKéMON out there.\l" - .string "And not just one--three!\p" - .string "I'd love to catch even one…$" - -gText_Brendan_Pokenav_2B4CD8:: @ 2B4CD8 - .string "BRENDAN: {PLAYER}!\n" - .string "I heard the rumors!\p" - .string "You beat the SOOTOPOLIS GYM\n" - .string "LEADER? Awesome!\p" - .string "You're getting awful close now!$" - -gText_Brendan_Pokenav_2B4D46:: @ 2B4D46 - .string "BRENDAN: There isn't a TRAINER in\n" - .string "all of HOENN who doesn't know who\l" - .string "you are, {PLAYER}!\p" - .string "When I tell people that I'm friends\n" - .string "with you, {PLAYER}, they get pretty\l" - .string "envious!$" - -gText_Wally_Pokenav_2B4DE2:: @ 2B4DE2 - .string "WALLY: Oh, {PLAYER}!\p" - .string "I've been getting healthier and\n" - .string "more physically fit.\p" - .string "I hope I can become a TRAINER like\n" - .string "you soon, {PLAYER}!$" - -gText_Wally_Pokenav_2B4E57:: @ 2B4E57 - .string "WALLY: {PLAYER}, hello!\p" - .string "After RUSTURF TUNNEL went\n" - .string "through, WANDA's been very happy!$" - -gText_Wally_Pokenav_2B4EA5:: @ 2B4EA5 - .string "WALLY: Oh, {PLAYER}!\p" - .string "I… I left my uncle's place in\n" - .string "VERDANTURF without telling anyone.\p" - .string "I wonder if he's furious with me…\p" - .string "{PLAYER}, you understand how\n" - .string "I feel, don't you?$" - -gText_Wally_Pokenav_2B4F41:: @ 2B4F41 - .string "WALLY: {PLAYER}?\n" - .string "It's me, WALLY!\p" - .string "The world of TRAINERS is amazing!\p" - .string "When I have my POKéMON with me,\n" - .string "all sorts of people say hi!\p" - .string "It's as if everyone's getting\n" - .string "connected through POKéMON!$" - -gText_Wally_Pokenav_2B4FF3:: @ 2B4FF3 - .string "WALLY: {PLAYER}? It's awesome!\n" - .string "That RALTS we caught together?\l" - .string "It evolved, {PLAYER}!\p" - .string "Maybe I'm talented…\p" - .string "Oh, but I shouldn't get a big head\n" - .string "like that!\p" - .string "After all, it's the POKéMON that\n" - .string "should be praised!$" - -gText_Wally_Pokenav_2B50B1:: @ 2B50B1 - .string "… … … … … …\n" - .string "… … … … … …\p" - .string "WALLY appears to be out of\n" - .string "the POKéNAV's service area…$" - -gText_Wally_Pokenav_2B5100:: @ 2B5100 - .string "WALLY: Oh, {PLAYER}!\p" - .string "Before I met you, I hardly ever\n" - .string "left my house…\p" - .string "But now, I'm on an adventure with\n" - .string "my very own POKéMON…\p" - .string "{PLAYER}…\n" - .string "Thank you…$" - -gText_Scott_Pokenav_2B5184:: @ 2B5184 - .string "SCOTT: Howdy, {PLAYER}{STRING 5}!\p" - .string "You know how POKéMON can be found\n" - .string "everywhere?\p" - .string "Like in the mountains, in the sea,\n" - .string "in tall grass anywhere?\p" - .string "Just like POKéMON, you can find\n" - .string "TRAINERS everywhere, too.\p" - .string "As a result, I have to hurry\n" - .string "everywhere, too. Busy, busy!$" - -gText_Scott_Pokenav_2B5275:: @ 2B5275 - .string "SCOTT: I'm on ROUTE 119 right now.\n" - .string "It's teeming with TRAINERS!\p" - .string "It's also overgrown with tall grass\n" - .string "everywhere, it seems.\p" - .string "Walking around in shorts here\n" - .string "makes me all ticklish!$" - -gText_Scott_Pokenav_2B5323:: @ 2B5323 - .string "SCOTT: Hi, hi, {PLAYER}{STRING 5}!\p" - .string "Have you had the chance to climb\n" - .string "MT. PYRE?\p" - .string "The place is a memorial to POKéMON\n" - .string "that have passed away.\p" - .string "It's somewhere every TRAINER\n" - .string "should climb to the top of once.$" - -gText_Scott_Pokenav_2B53DB:: @ 2B53DB - .string "SCOTT: Hi, {PLAYER}{STRING 5}!\p" - .string "I've been hearing about these odd\n" - .string "gangs being a nuisance.\p" - .string "TEAM MAGMA and TEAM AQUA,\n" - .string "I think they were.\p" - .string "I would think there'd be some\n" - .string "skilled TRAINERS among them.\p" - .string "…But if they're thugs…$" - -gText_Scott_Pokenav_2B54A5:: @ 2B54A5 - .string "SCOTT: Oh, hi, {PLAYER}{STRING 5}.\p" - .string "Might there be tough TRAINERS\n" - .string "at the bottom of the sea?\p" - .string "I can't go check for myself.\n" - .string "I can't swim, for one.\l" - .string "And I don't raise POKéMON…$" - -gText_Scott_Pokenav_2B5541:: @ 2B5541 - .string "SCOTT: Hi, hi, {PLAYER}{STRING 5}!\p" - .string "You know that you can challenge\n" - .string "the POKéMON LEAGUE when you've\l" - .string "collected all the GYM BADGES?\p" - .string "With your talent, becoming the\n" - .string "CHAMPION isn't a pipe dream.\p" - .string "But did you know?\n" - .string "There's somewhere even better.\p" - .string "But, that's all I'm willing to say\n" - .string "for the time being.\p" - .string "It's something you can look\n" - .string "forward to.\p" - .string "When you've won your way through\n" - .string "the POKéMON LEAGUE into the HALL\l" - .string "OF FAME!$" - -gText_Scott_Pokenav_2B56CA:: @ 2B56CA - .string "… … … … … …\n" - .string "… … … … … …\p" - .string "SCOTT appears to be out of\n" - .string "the POKéNAV's service area…$" - -gText_Norman_Pokenav_2B5719:: @ 82B5719 - .string "DAD: In RUSTBORO, there's a man\n" - .string "that goes by the odd name of\l" - .string "the CUTTER.\p" - .string "If you're in the area, you should\n" - .string "pay him a visit.$" - -gText_Norman_Pokenav_2B5795:: @ 82B5795 - .string "DAD: Hm… Little by little, but also\n" - .string "very surely, you're getting\l" - .string "tougher, {PLAYER}.\p" - .string "The stronger you get, the farther\n" - .string "and higher you soar from Mother\l" - .string "and me…\p" - .string "This feeling is hard to explain.$" - -gText_Norman_Pokenav_2B584D:: @ 82B584D - .string "DAD: I see…\n" - .string "You've collected four GYM BADGES…\p" - .string "There's no avoiding it now.\n" - .string "We will battle like I promised.\p" - .string "Come anytime.\n" - .string "We'll all be waiting for you!$" - -gText_Norman_Pokenav_2B58E3:: @ 82B58E3 - .string "DAD: {PLAYER}! You'd better go visit\n" - .string "Mother every so often.\p" - .string "I'm going to remain here and\n" - .string "redouble my training.\p" - .string "The way of battling is deep\n" - .string "and unforgiving!$" - -gText_Norman_Pokenav_2B5979:: @ 82B5979 - .string "DAD: Oh, hi, {PLAYER}!\p" - .string "What's that? MAGMA EMBLEM?\n" - .string "I don't know what that's about.\p" - .string "But with a name like that, it may\n" - .string "be somehow linked to a volcano!$" - -gText_Norman_Pokenav_2B5A07:: @ 82B5A07 - .string "DAD: Hiyah! Haah! Dwah!\p" - .string "…Oh? {PLAYER}!\p" - .string "You caught me right in the middle\n" - .string "of a POKéMON training session!$" - -gText_Norman_Pokenav_2B5A69:: @ 82B5A69 - .string "DAD: {PLAYER}!\p" - .string "Who would've thought you'd become\n" - .string "the POKéMON LEAGUE CHAMPION…\p" - .string "Okay!\n" - .string "I won't be left behind!$" - -gText_Norman_Pokenav_2B5ACF:: @ 82B5ACF - .string "DAD: Hm? {PLAYER}?\n" - .string "What good timing!\p" - .string "This time, I'm going to challenge\n" - .string "you to battle.\p" - .string "I'm waiting in the PETALBURG GYM.\n" - .string "Accept my challenge anytime!$" - -gText_Norman_Pokenav_2B5B5E:: @ 82B5B5E - .string "DAD: …You amaze me, {PLAYER}.\n" - .string "How much higher will you soar?$" - -gText_Steven_Pokenav_2B5B95:: @ 82B5B95 - .string "STEVEN: Hi, {PLAYER}{STRING 5}!\p" - .string "Have you been to MAUVILLE\n" - .string "already?\p" - .string "You should visit the BIKE SHOP\n" - .string "and get a MACH BIKE.\p" - .string "Then, try exploring the GRANITE\n" - .string "CAVE thoroughly.\p" - .string "You may make a new discovery\n" - .string "there.$" - -gText_Steven_Pokenav_2B5C53:: @ 82B5C53 - .string "STEVEN: Hi, {PLAYER}{STRING 5}!\p" - .string "I've met a lot of different\n" - .string "TRAINERS so far.\p" - .string "But you're one of a kind.\n" - .string "You're not like anyone else.$" - -gText_Steven_Pokenav_2B5CC9:: @ 82B5CC9 - .string "STEVEN: Hi, {PLAYER}{STRING 5}!\p" - .string "When you're on an adventure with\n" - .string "your POKéMON, what do you think?\p" - .string "Do you consider them to be strong\n" - .string "partners?\p" - .string "Do you think of them as fun\n" - .string "companions?\p" - .string "Depending on how you think, your\n" - .string "adventure's significance changes.$" - -gText_Steven_Pokenav_2B5DB4:: @ 82B5DB4 - .string "STEVEN: Hello?\n" - .string "{PLAYER}{STRING 5}?\p" - .string "I'm involved in a spot of trouble\n" - .string "at the SPACE CENTER.\p" - .string "I'm sorry, but I can't talk now.\n" - .string "Bye!$" - -gText_Steven_Pokenav_2B5E26:: @ 82B5E26 - .string "STEVEN: Oh!\n" - .string "{PLAYER}{STRING 5}!\p" - .string "There's no need to talk.\n" - .string "It's past time for talking.\p" - .string "You have to believe in yourself\n" - .string "and do what's right.$" - -gText_Steven_Pokenav_2B5EA2:: @ 82B5EA2 - .string "… … … … … …\p" - .string "STEVEN appears not to be getting\n" - .string "the call…$" - -gText_Steven_Pokenav_2B5ED9:: @ 82B5ED9 - .string "STEVEN: {PLAYER}{STRING 5}… Congratulations\n" - .string "for entering the HALL OF FAME.\p" - .string "… … … … … …\n" - .string "… … … … … …\p" - .string "I hope we can meet again\n" - .string "somewhere!$" - -Route101_Text_2B5F52: @ 82B5F52 - .string "PROF. BIRCH: Oh, {PLAYER}{KUN}!\n" - .string "I've already heard about you!\p" - .string "It seems your POKéNAV's been\n" - .string "upgraded with MATCH CALL.\p" - .string "Well, I should register, too!\p" - .string "That way, I'd be able to examine\n" - .string "your POKéDEX even while you're\l" - .string "out in the field.\p" - .string "… … … … … …$" - -Route101_Text_2B603A: @ 82B603A - .string "Registered PROF. BIRCH\n" - .string "in the POKéNAV.$" - - .string "PROF. BIRCH: When one has both\n" - .string "the POKéDEX and POKéNAV, studying\l" - .string "POKéMON becomes more fun, eh?$" - -gText_MrStone_Pokenav_2B60C0:: @ 82B60C0 - .string "MR. STONE: Oh? {PLAYER}{STRING 5}!\p" - .string "Since you called me, the POKéNAV\n" - .string "must be working properly!\p" - .string "Other people will be registered,\n" - .string "so try calling them up, too!\p" - .string "Good! Good!\n" - .string "You seem to be quite happy!\p" - .string "Hm…\n" - .string "How could I know that?\p" - .string "It's because I'm looking down at\n" - .string "you from my office window!\p" - .string "Wahahaha!\n" - .string "See you again!$" - -gText_MrStone_Pokenav_2B61E6:: @ 82B61E6 - .string "MR. STONE: Oh? {PLAYER}{STRING 5}!\p" - .string "What's wrong? Have you forgotten\n" - .string "about that little errand of mine?\p" - .string "I need you to deliver my letter\n" - .string "to STEVEN in DEWFORD.\p" - .string "After that, deliver our parcel to\n" - .string "CAPT. STERN in SLATEPORT.\p" - .string "You remember, don't you?\p" - .string "Now, since I am a busy PRESIDENT,\n" - .string "I have to go! Bye-bye!$" - -gText_MrStone_Pokenav_2B6302:: @ 82B6302 - .string "MR. STONE: Oh! {PLAYER}{STRING 5}!\p" - .string "Ah, so you've met STEVEN!\n" - .string "I'd better reward you, then!\p" - .string "When you visit RUSTBORO again,\n" - .string "come see me at my office.\p" - .string "I'll be waiting for you!$" - -gText_MrStone_Pokenav_2B63A0:: @ 82B63A0 - .string "MR. STONE: Oh! {PLAYER}{STRING 5}!\p" - .string "Did you know that DEVON was\n" - .string "digging the RUSTURF TUNNEL?\p" - .string "But we shut down the operation to\n" - .string "protect the POKéMON in the area.\p" - .string "It's a no-brainer, really.\p" - .string "It's more important to let POKéMON\n" - .string "live in peace than worry about our\l" - .string "own convenience.$" - -gText_MrStone_Pokenav_2B64A2:: @ 82B64A2 - .string "MR. STONE: Hello, hello, {PLAYER}{STRING 5}!\p" - .string "I heard from someone in PETALBURG\n" - .string "that you're NORMAN's child!\p" - .string "No wonder you're such a capable\n" - .string "being!$" - -gText_MrStone_Pokenav_2B6526:: @ 82B6526 - .string "MR. STONE: What's that?\p" - .string "You battled your own father and\n" - .string "defeated him?\p" - .string "That's astounding!\p" - .string "I had no idea that I befriended\n" - .string "someone so special! Wahaha!$" - -gText_MrStone_Pokenav_2B65BB:: @ 82B65BB - .string "Hello!\n" - .string "This is DEVON CORPORATI…\l" - .string "Oh, hello, {PLAYER}!\p" - .string "Our PRESIDENT was here a little\n" - .string "while ago, but he's gone out.\p" - .string "Our PRESIDENT is busy, but you\n" - .string "seem to be just as busy, {PLAYER}.$" - -gText_MrStone_Pokenav_2B6664:: @ 82B6664 - .string "…Huh? …What's that?\p" - .string "GROU… Yes? …DON?\p" - .string "You're breaking up…\n" - .string "…can't hear…\p" - .string "BZZZZ…$" - -gText_MrStone_Pokenav_2B66B1:: @ 82B66B1 - .string "…Huh? …What's that?\p" - .string "Seaflo… Yes? …Caver…?\p" - .string "You're breaking up…\n" - .string "…can't hear…\p" - .string "BZZZZ…$" - -gText_MrStone_Pokenav_2B6703:: @ 82B6703 - .string "MR. STONE: {PLAYER}{STRING 5}! It's me!\p" - .string "You were apparently involved in all\n" - .string "sorts of things, but I, being busy,\l" - .string "haven't a clue exactly what!\p" - .string "However, I urge you to take\n" - .string "the road you believe in and walk it.\p" - .string "I'll always be in your corner!\n" - .string "Take care!$" - -gText_MrStone_Pokenav_2B67ED:: @ 82B67ED - .string "MR. STONE: … … … … … …\n" - .string "Is this maybe {PLAYER}{STRING 5}?\p" - .string "Your voice is so full of confidence,\n" - .string "I didn't recognize you right off!\p" - .string "Hm! You must come visit us at DEVON\n" - .string "sometime!$" - + .include "data/text/match_call.inc" .include "data/scripts/apprentice.inc" gBattleDomeOpponentPotential1:: @@ -10059,7 +7106,7 @@ PacifidlogTown_PokemonCenter_1F_Text_2C7E7A: @ 82C7E7A SlateportCity_PokemonFanClub_EventScript_2C7F16:: @ 82C7F16 lock faceplayer - goto_if_set FLAG_0x1B1, SlateportCity_PokemonFanClub_EventScript_2C7F74 + goto_if_set FLAG_MOVE_TUTOR_TAUGHT_SWAGGER, SlateportCity_PokemonFanClub_EventScript_2C7F74 msgbox SlateportCity_PokemonFanClub_Text_2C6E37, MSGBOX_YESNO compare VAR_RESULT, 0 goto_if_eq SlateportCity_PokemonFanClub_EventScript_2C7F6A @@ -10071,7 +7118,7 @@ SlateportCity_PokemonFanClub_EventScript_2C7F16:: @ 82C7F16 call SlateportCity_PokemonFanClub_EventScript_2C8326 compare VAR_RESULT, 0 goto_if_eq SlateportCity_PokemonFanClub_EventScript_2C7F6A - setflag FLAG_0x1B1 + setflag FLAG_MOVE_TUTOR_TAUGHT_SWAGGER goto SlateportCity_PokemonFanClub_EventScript_2C7F74 end @@ -10088,7 +7135,7 @@ SlateportCity_PokemonFanClub_EventScript_2C7F74:: @ 82C7F74 MauvilleCity_EventScript_2C7F7E:: @ 82C7F7E lock faceplayer - goto_if_set FLAG_0x1B2, MauvilleCity_EventScript_2C7FDC + goto_if_set FLAG_MOVE_TUTOR_TAUGHT_ROLLOUT, MauvilleCity_EventScript_2C7FDC msgbox MauvilleCity_Text_2C6FDB, MSGBOX_YESNO compare VAR_RESULT, 0 goto_if_eq MauvilleCity_EventScript_2C7FD2 @@ -10100,7 +7147,7 @@ MauvilleCity_EventScript_2C7F7E:: @ 82C7F7E call MauvilleCity_EventScript_2C8326 compare VAR_RESULT, 0 goto_if_eq MauvilleCity_EventScript_2C7FD2 - setflag FLAG_0x1B2 + setflag FLAG_MOVE_TUTOR_TAUGHT_ROLLOUT goto MauvilleCity_EventScript_2C7FDC end @@ -10117,7 +7164,7 @@ MauvilleCity_EventScript_2C7FDC:: @ 82C7FDC VerdanturfTown_PokemonCenter_1F_EventScript_2C7FE6:: @ 82C7FE6 lock faceplayer - goto_if_set FLAG_0x1B3, VerdanturfTown_PokemonCenter_1F_EventScript_2C8044 + goto_if_set FLAG_MOVE_TUTOR_TAUGHT_FURY_CUTTER, VerdanturfTown_PokemonCenter_1F_EventScript_2C8044 msgbox VerdanturfTown_PokemonCenter_1F_Text_2C7174, MSGBOX_YESNO compare VAR_RESULT, 0 goto_if_eq VerdanturfTown_PokemonCenter_1F_EventScript_2C803A @@ -10129,7 +7176,7 @@ VerdanturfTown_PokemonCenter_1F_EventScript_2C7FE6:: @ 82C7FE6 call VerdanturfTown_PokemonCenter_1F_EventScript_2C8326 compare VAR_RESULT, 0 goto_if_eq VerdanturfTown_PokemonCenter_1F_EventScript_2C803A - setflag FLAG_0x1B3 + setflag FLAG_MOVE_TUTOR_TAUGHT_FURY_CUTTER goto VerdanturfTown_PokemonCenter_1F_EventScript_2C8044 end @@ -10146,7 +7193,7 @@ VerdanturfTown_PokemonCenter_1F_EventScript_2C8044:: @ 82C8044 LavaridgeTown_House_EventScript_2C804E:: @ 82C804E lock faceplayer - goto_if_set FLAG_0x1B4, LavaridgeTown_House_EventScript_2C80AC + goto_if_set FLAG_MOVE_TUTOR_TAUGHT_MIMIC, LavaridgeTown_House_EventScript_2C80AC msgbox LavaridgeTown_House_Text_2C72B6, MSGBOX_YESNO compare VAR_RESULT, 0 goto_if_eq LavaridgeTown_House_EventScript_2C80A2 @@ -10158,7 +7205,7 @@ LavaridgeTown_House_EventScript_2C804E:: @ 82C804E call LavaridgeTown_House_EventScript_2C8326 compare VAR_RESULT, 0 goto_if_eq LavaridgeTown_House_EventScript_2C80A2 - setflag FLAG_0x1B4 + setflag FLAG_MOVE_TUTOR_TAUGHT_MIMIC goto LavaridgeTown_House_EventScript_2C80AC end @@ -10175,7 +7222,7 @@ LavaridgeTown_House_EventScript_2C80AC:: @ 82C80AC FallarborTown_Mart_EventScript_2C80B6:: @ 82C80B6 lock faceplayer - goto_if_set FLAG_0x1B5, FallarborTown_Mart_EventScript_2C8114 + goto_if_set FLAG_MOVE_TUTOR_TAUGHT_METRONOME, FallarborTown_Mart_EventScript_2C8114 msgbox FallarborTown_Mart_Text_2C7449, MSGBOX_YESNO compare VAR_RESULT, 0 goto_if_eq FallarborTown_Mart_EventScript_2C810A @@ -10187,7 +7234,7 @@ FallarborTown_Mart_EventScript_2C80B6:: @ 82C80B6 call FallarborTown_Mart_EventScript_2C8326 compare VAR_RESULT, 0 goto_if_eq FallarborTown_Mart_EventScript_2C810A - setflag FLAG_0x1B5 + setflag FLAG_MOVE_TUTOR_TAUGHT_METRONOME goto FallarborTown_Mart_EventScript_2C8114 end @@ -10204,7 +7251,7 @@ FallarborTown_Mart_EventScript_2C8114:: @ 82C8114 FortreeCity_House2_EventScript_2C811E:: @ 82C811E lock faceplayer - goto_if_set FLAG_0x1B6, FortreeCity_House2_EventScript_2C817C + goto_if_set FLAG_MOVE_TUTOR_TAUGHT_SLEEP_TALK, FortreeCity_House2_EventScript_2C817C msgbox FortreeCity_House2_Text_2C7637, MSGBOX_YESNO compare VAR_RESULT, 0 goto_if_eq FortreeCity_House2_EventScript_2C8172 @@ -10216,7 +7263,7 @@ FortreeCity_House2_EventScript_2C811E:: @ 82C811E call FortreeCity_House2_EventScript_2C8326 compare VAR_RESULT, 0 goto_if_eq FortreeCity_House2_EventScript_2C8172 - setflag FLAG_0x1B6 + setflag FLAG_MOVE_TUTOR_TAUGHT_SLEEP_TALK goto FortreeCity_House2_EventScript_2C817C end @@ -10233,7 +7280,7 @@ FortreeCity_House2_EventScript_2C817C:: @ 82C817C LilycoveCity_DepartmentStoreRooftop_EventScript_2C8186:: @ 82C8186 lock faceplayer - goto_if_set FLAG_0x1B7, LilycoveCity_DepartmentStoreRooftop_EventScript_2C81E4 + goto_if_set FLAG_MOVE_TUTOR_TAUGHT_SUBSTITUTE, LilycoveCity_DepartmentStoreRooftop_EventScript_2C81E4 msgbox LilycoveCity_DepartmentStoreRooftop_Text_2C77C6, MSGBOX_YESNO compare VAR_RESULT, 0 goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_2C81DA @@ -10245,7 +7292,7 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_2C8186:: @ 82C8186 call LilycoveCity_DepartmentStoreRooftop_EventScript_2C8326 compare VAR_RESULT, 0 goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_2C81DA - setflag FLAG_0x1B7 + setflag FLAG_MOVE_TUTOR_TAUGHT_SUBSTITUTE goto LilycoveCity_DepartmentStoreRooftop_EventScript_2C81E4 end @@ -10262,7 +7309,7 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_2C81E4:: @ 82C81E4 MossdeepCity_EventScript_2C81EE:: @ 82C81EE lock faceplayer - goto_if_set FLAG_0x1B8, MossdeepCity_EventScript_2C824C + goto_if_set FLAG_MOVE_TUTOR_TAUGHT_DYNAMICPUNCH, MossdeepCity_EventScript_2C824C msgbox MossdeepCity_Text_2C79A6, MSGBOX_YESNO compare VAR_RESULT, 0 goto_if_eq MossdeepCity_EventScript_2C8242 @@ -10274,7 +7321,7 @@ MossdeepCity_EventScript_2C81EE:: @ 82C81EE call MossdeepCity_EventScript_2C8326 compare VAR_RESULT, 0 goto_if_eq MossdeepCity_EventScript_2C8242 - setflag FLAG_0x1B8 + setflag FLAG_MOVE_TUTOR_TAUGHT_DYNAMICPUNCH goto MossdeepCity_EventScript_2C824C end @@ -10291,7 +7338,7 @@ MossdeepCity_EventScript_2C824C:: @ 82C824C SootopolisCity_PokemonCenter_1F_EventScript_2C8256:: @ 82C8256 lock faceplayer - goto_if_set FLAG_0x1B9, SootopolisCity_PokemonCenter_1F_EventScript_2C82B4 + goto_if_set FLAG_MOVE_TUTOR_TAUGHT_DOUBLE_EDGE, SootopolisCity_PokemonCenter_1F_EventScript_2C82B4 msgbox SootopolisCity_PokemonCenter_1F_Text_2C7B8E, MSGBOX_YESNO compare VAR_RESULT, 0 goto_if_eq SootopolisCity_PokemonCenter_1F_EventScript_2C82AA @@ -10303,7 +7350,7 @@ SootopolisCity_PokemonCenter_1F_EventScript_2C8256:: @ 82C8256 call SootopolisCity_PokemonCenter_1F_EventScript_2C8326 compare VAR_RESULT, 0 goto_if_eq SootopolisCity_PokemonCenter_1F_EventScript_2C82AA - setflag FLAG_0x1B9 + setflag FLAG_MOVE_TUTOR_TAUGHT_DOUBLE_EDGE goto SootopolisCity_PokemonCenter_1F_EventScript_2C82B4 end @@ -10320,7 +7367,7 @@ SootopolisCity_PokemonCenter_1F_EventScript_2C82B4:: @ 82C82B4 PacifidlogTown_PokemonCenter_1F_EventScript_2C82BE:: @ 82C82BE lock faceplayer - goto_if_set FLAG_0x1BA, PacifidlogTown_PokemonCenter_1F_EventScript_2C831C + goto_if_set FLAG_MOVE_TUTOR_TAUGHT_EXPLOSION, PacifidlogTown_PokemonCenter_1F_EventScript_2C831C msgbox PacifidlogTown_PokemonCenter_1F_Text_2C7CFA, MSGBOX_YESNO compare VAR_RESULT, 0 goto_if_eq PacifidlogTown_PokemonCenter_1F_EventScript_2C8312 @@ -10332,7 +7379,7 @@ PacifidlogTown_PokemonCenter_1F_EventScript_2C82BE:: @ 82C82BE call PacifidlogTown_PokemonCenter_1F_EventScript_2C8326 compare VAR_RESULT, 0 goto_if_eq PacifidlogTown_PokemonCenter_1F_EventScript_2C8312 - setflag FLAG_0x1BA + setflag FLAG_MOVE_TUTOR_TAUGHT_EXPLOSION goto PacifidlogTown_PokemonCenter_1F_EventScript_2C831C end diff --git a/data/field_effect_scripts.s b/data/field_effect_scripts.s index 81de41aaab..93fe33f8a5 100644 --- a/data/field_effect_scripts.s +++ b/data/field_effect_scripts.s @@ -341,5 +341,5 @@ gFieldEffectScript_Unknown65:: @ 82DBCF9 field_eff_end gFieldEffectScript_Unknown66:: @ 82DBCFF - field_eff_callnative sub_80B9E28 + field_eff_callnative Fldeff_MoveDeoxysRock field_eff_end diff --git a/data/maps/AbandonedShip_CaptainsOffice/scripts.inc b/data/maps/AbandonedShip_CaptainsOffice/scripts.inc index 796b91c024..011ea4a07e 100644 --- a/data/maps/AbandonedShip_CaptainsOffice/scripts.inc +++ b/data/maps/AbandonedShip_CaptainsOffice/scripts.inc @@ -4,7 +4,7 @@ AbandonedShip_CaptainsOffice_MapScripts:: @ 82387E1 AbandonedShip_CaptainsOffice_EventScript_2387E2:: @ 82387E2 lock faceplayer - goto_if_set FLAG_TRADED_SCANNER_TO_STERN, AbandonedShip_CaptainsOffice_EventScript_23881A + goto_if_set FLAG_EXCHANGED_SCANNER, AbandonedShip_CaptainsOffice_EventScript_23881A checkitem ITEM_SCANNER, 1 compare VAR_RESULT, 1 goto_if_eq AbandonedShip_CaptainsOffice_EventScript_238810 diff --git a/data/maps/AbandonedShip_Corridors_B1F/scripts.inc b/data/maps/AbandonedShip_Corridors_B1F/scripts.inc index cfdf401634..e89d72c236 100644 --- a/data/maps/AbandonedShip_Corridors_B1F/scripts.inc +++ b/data/maps/AbandonedShip_Corridors_B1F/scripts.inc @@ -8,8 +8,8 @@ AbandonedShip_Corridors_B1F_MapScript1_237D8F: @ 8237D8F end AbandonedShip_Corridors_B1F_MapScript1_237D98: @ 8237D98 - call_if_unset FLAG_0x0EF, AbandonedShip_Corridors_B1F_EventScript_237DAB - call_if_set FLAG_0x0EF, AbandonedShip_Corridors_B1F_EventScript_237DB5 + call_if_unset FLAG_USED_STORAGE_KEY, AbandonedShip_Corridors_B1F_EventScript_237DAB + call_if_set FLAG_USED_STORAGE_KEY, AbandonedShip_Corridors_B1F_EventScript_237DB5 end AbandonedShip_Corridors_B1F_EventScript_237DAB:: @ 8237DAB @@ -26,14 +26,14 @@ AbandonedShip_Corridors_B1F_EventScript_237DBF:: @ 8237DBF AbandonedShip_Corridors_B1F_EventScript_237DC8:: @ 8237DC8 lockall - goto_if_set FLAG_0x0EF, AbandonedShip_Corridors_B1F_EventScript_237E09 + goto_if_set FLAG_USED_STORAGE_KEY, AbandonedShip_Corridors_B1F_EventScript_237E09 checkitem ITEM_STORAGE_KEY, 1 compare VAR_RESULT, 0 goto_if_eq AbandonedShip_Corridors_B1F_EventScript_237DFF msgbox AbandonedShip_Corridors_B1F_Text_237F4B, MSGBOX_DEFAULT playse SE_PIN takeitem ITEM_STORAGE_KEY, 1 - setflag FLAG_0x0EF + setflag FLAG_USED_STORAGE_KEY call AbandonedShip_Corridors_B1F_EventScript_237DB5 special DrawWholeMapView releaseall diff --git a/data/maps/AbandonedShip_HiddenFloorCorridors/scripts.inc b/data/maps/AbandonedShip_HiddenFloorCorridors/scripts.inc index cb60d79629..f8b5bcc656 100644 --- a/data/maps/AbandonedShip_HiddenFloorCorridors/scripts.inc +++ b/data/maps/AbandonedShip_HiddenFloorCorridors/scripts.inc @@ -8,14 +8,14 @@ AbandonedShip_HiddenFloorCorridors_MapScript1_238977: @ 8238977 end AbandonedShip_HiddenFloorCorridors_MapScript1_238980: @ 8238980 - call_if_unset FLAG_0x0F0, AbandonedShip_HiddenFloorCorridors_EventScript_2389F1 - call_if_unset FLAG_0x0F1, AbandonedShip_HiddenFloorCorridors_EventScript_2389FB - call_if_unset FLAG_0x0F2, AbandonedShip_HiddenFloorCorridors_EventScript_238A05 - call_if_unset FLAG_0x0F3, AbandonedShip_HiddenFloorCorridors_EventScript_238A0F - call_if_set FLAG_0x0F0, AbandonedShip_HiddenFloorCorridors_EventScript_2389C9 - call_if_set FLAG_0x0F1, AbandonedShip_HiddenFloorCorridors_EventScript_2389D3 - call_if_set FLAG_0x0F2, AbandonedShip_HiddenFloorCorridors_EventScript_2389DD - call_if_set FLAG_0x0F3, AbandonedShip_HiddenFloorCorridors_EventScript_2389E7 + call_if_unset FLAG_USED_ROOM_1_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_2389F1 + call_if_unset FLAG_USED_ROOM_2_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_2389FB + call_if_unset FLAG_USED_ROOM_4_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_238A05 + call_if_unset FLAG_USED_ROOM_6_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_238A0F + call_if_set FLAG_USED_ROOM_1_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_2389C9 + call_if_set FLAG_USED_ROOM_2_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_2389D3 + call_if_set FLAG_USED_ROOM_4_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_2389DD + call_if_set FLAG_USED_ROOM_6_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_2389E7 end AbandonedShip_HiddenFloorCorridors_EventScript_2389C9:: @ 82389C9 @@ -52,14 +52,14 @@ AbandonedShip_HiddenFloorCorridors_EventScript_238A0F:: @ 8238A0F AbandonedShip_HiddenFloorCorridors_EventScript_238A19:: @ 8238A19 lockall - goto_if_set FLAG_0x0F0, AbandonedShip_HiddenFloorCorridors_EventScript_238B1D + goto_if_set FLAG_USED_ROOM_1_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_238B1D checkitem ITEM_ROOM_1_KEY, 1 compare VAR_RESULT, 0 goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_238AF5 msgbox AbandonedShip_HiddenFloorCorridors_Text_238BF7, MSGBOX_DEFAULT playse SE_PIN takeitem ITEM_ROOM_1_KEY, 1 - setflag FLAG_0x0F0 + setflag FLAG_USED_ROOM_1_KEY call AbandonedShip_HiddenFloorCorridors_EventScript_2389C9 special DrawWholeMapView releaseall @@ -67,14 +67,14 @@ AbandonedShip_HiddenFloorCorridors_EventScript_238A19:: @ 8238A19 AbandonedShip_HiddenFloorCorridors_EventScript_238A50:: @ 8238A50 lockall - goto_if_set FLAG_0x0F1, AbandonedShip_HiddenFloorCorridors_EventScript_238B1D + goto_if_set FLAG_USED_ROOM_2_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_238B1D checkitem ITEM_ROOM_2_KEY, 1 compare VAR_RESULT, 0 goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_238AFF msgbox AbandonedShip_HiddenFloorCorridors_Text_238BF7, MSGBOX_DEFAULT playse SE_PIN takeitem ITEM_ROOM_2_KEY, 1 - setflag FLAG_0x0F1 + setflag FLAG_USED_ROOM_2_KEY call AbandonedShip_HiddenFloorCorridors_EventScript_2389D3 special DrawWholeMapView releaseall @@ -82,14 +82,14 @@ AbandonedShip_HiddenFloorCorridors_EventScript_238A50:: @ 8238A50 AbandonedShip_HiddenFloorCorridors_EventScript_238A87:: @ 8238A87 lockall - goto_if_set FLAG_0x0F2, AbandonedShip_HiddenFloorCorridors_EventScript_238B1D + goto_if_set FLAG_USED_ROOM_4_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_238B1D checkitem ITEM_ROOM_4_KEY, 1 compare VAR_RESULT, 0 goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_238B09 msgbox AbandonedShip_HiddenFloorCorridors_Text_238BF7, MSGBOX_DEFAULT playse SE_PIN takeitem ITEM_ROOM_4_KEY, 1 - setflag FLAG_0x0F2 + setflag FLAG_USED_ROOM_4_KEY call AbandonedShip_HiddenFloorCorridors_EventScript_2389DD special DrawWholeMapView releaseall @@ -97,14 +97,14 @@ AbandonedShip_HiddenFloorCorridors_EventScript_238A87:: @ 8238A87 AbandonedShip_HiddenFloorCorridors_EventScript_238ABE:: @ 8238ABE lockall - goto_if_set FLAG_0x0F3, AbandonedShip_HiddenFloorCorridors_EventScript_238B1D + goto_if_set FLAG_USED_ROOM_6_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_238B1D checkitem ITEM_ROOM_6_KEY, 1 compare VAR_RESULT, 0 goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_238B13 msgbox AbandonedShip_HiddenFloorCorridors_Text_238BF7, MSGBOX_DEFAULT playse SE_PIN takeitem ITEM_ROOM_6_KEY, 1 - setflag FLAG_0x0F3 + setflag FLAG_USED_ROOM_6_KEY call AbandonedShip_HiddenFloorCorridors_EventScript_2389E7 special DrawWholeMapView releaseall diff --git a/data/maps/AncientTomb/scripts.inc b/data/maps/AncientTomb/scripts.inc index 133db13a51..45bb9e007a 100644 --- a/data/maps/AncientTomb/scripts.inc +++ b/data/maps/AncientTomb/scripts.inc @@ -17,7 +17,7 @@ AncientTomb_EventScript_238FCD:: @ 8238FCD AncientTomb_MapScript1_238FE1: @ 8238FE1 setflag FLAG_LANDMARK_ANCIENT_TOMB - call_if_unset FLAG_0x1BD, AncientTomb_EventScript_238FEE + call_if_unset FLAG_DEFEATED_REGISTEEL, AncientTomb_EventScript_238FEE end AncientTomb_EventScript_238FEE:: @ 8238FEE @@ -78,12 +78,12 @@ AncientTomb_EventScript_23905A:: @ 823905A goto_if_eq AncientTomb_EventScript_2390AA compare VAR_RESULT, 5 goto_if_eq AncientTomb_EventScript_2390AA - setflag FLAG_0x1BD + setflag FLAG_DEFEATED_REGISTEEL release end AncientTomb_EventScript_2390A1:: @ 82390A1 - setflag FLAG_0x1BD + setflag FLAG_DEFEATED_REGISTEEL goto AncientTomb_EventScript_27376D end diff --git a/data/maps/AquaHideout_1F/scripts.inc b/data/maps/AquaHideout_1F/scripts.inc index 0b44908e00..653e0f7c71 100644 --- a/data/maps/AquaHideout_1F/scripts.inc +++ b/data/maps/AquaHideout_1F/scripts.inc @@ -4,8 +4,8 @@ AquaHideout_1F_MapScripts:: @ 8233493 AquaHideout_1F_EventScript_233494:: @ 8233494 lock faceplayer - goto_if_set FLAG_0x06F, AquaHideout_1F_EventScript_2334BC - goto_if_set FLAG_0x0D4, AquaHideout_1F_EventScript_2334B2 + goto_if_set FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, AquaHideout_1F_EventScript_2334BC + goto_if_set FLAG_RECEIVED_RED_OR_BLUE_ORB, AquaHideout_1F_EventScript_2334B2 msgbox AquaHideout_1F_Text_23351D, MSGBOX_DEFAULT release end @@ -23,8 +23,8 @@ AquaHideout_1F_EventScript_2334BC:: @ 82334BC AquaHideout_1F_EventScript_2334C6:: @ 82334C6 lock faceplayer - goto_if_set FLAG_0x06F, AquaHideout_1F_EventScript_2334EE - goto_if_set FLAG_0x0D4, AquaHideout_1F_EventScript_2334E4 + goto_if_set FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, AquaHideout_1F_EventScript_2334EE + goto_if_set FLAG_RECEIVED_RED_OR_BLUE_ORB, AquaHideout_1F_EventScript_2334E4 msgbox AquaHideout_1F_Text_233739, MSGBOX_DEFAULT release end diff --git a/data/maps/AquaHideout_B1F/scripts.inc b/data/maps/AquaHideout_B1F/scripts.inc index 6a388e6253..1763bcd5da 100644 --- a/data/maps/AquaHideout_B1F/scripts.inc +++ b/data/maps/AquaHideout_B1F/scripts.inc @@ -15,8 +15,8 @@ AquaHideout_B1F_EventScript_2339BC:: @ 82339BC return AquaHideout_B1F_MapScript1_2339D0: @ 82339D0 - call_if_unset FLAG_0x1C4, AquaHideout_B1F_EventScript_2339E3 - call_if_unset FLAG_0x1C5, AquaHideout_B1F_EventScript_2339E7 + call_if_unset FLAG_DEFEATED_ELECTRODE_1_AQUA_HIDEOUT, AquaHideout_B1F_EventScript_2339E3 + call_if_unset FLAG_DEFEATED_ELECTRODE_2_AQUA_HIDEOUT, AquaHideout_B1F_EventScript_2339E7 end AquaHideout_B1F_EventScript_2339E3:: @ 82339E3 @@ -45,12 +45,12 @@ AquaHideout_B1F_EventScript_2339EB:: @ 82339EB goto_if_eq AquaHideout_B1F_EventScript_233A2F compare VAR_RESULT, 5 goto_if_eq AquaHideout_B1F_EventScript_233A2F - setflag FLAG_0x1C4 + setflag FLAG_DEFEATED_ELECTRODE_1_AQUA_HIDEOUT release end AquaHideout_B1F_EventScript_233A2F:: @ 8233A2F - setflag FLAG_0x1C4 + setflag FLAG_DEFEATED_ELECTRODE_1_AQUA_HIDEOUT goto AquaHideout_B1F_EventScript_27376D end @@ -72,12 +72,12 @@ AquaHideout_B1F_EventScript_233A38:: @ 8233A38 goto_if_eq AquaHideout_B1F_EventScript_233A7C compare VAR_RESULT, 5 goto_if_eq AquaHideout_B1F_EventScript_233A7C - setflag FLAG_0x1C5 + setflag FLAG_DEFEATED_ELECTRODE_2_AQUA_HIDEOUT release end AquaHideout_B1F_EventScript_233A7C:: @ 8233A7C - setflag FLAG_0x1C5 + setflag FLAG_DEFEATED_ELECTRODE_2_AQUA_HIDEOUT goto AquaHideout_B1F_EventScript_27376D end @@ -165,4 +165,3 @@ AquaHideout_B1F_Text_233D6E: @ 8233D6E AquaHideout_B1F_Text_233D84: @ 8233D84 .string "If you have a cool uniform, you look\n" .string "good even in a loss, don't you think?$" - diff --git a/data/maps/AquaHideout_B2F/scripts.inc b/data/maps/AquaHideout_B2F/scripts.inc index ab120193d1..ba20cb681a 100644 --- a/data/maps/AquaHideout_B2F/scripts.inc +++ b/data/maps/AquaHideout_B2F/scripts.inc @@ -3,7 +3,7 @@ AquaHideout_B2F_MapScripts:: @ 8233DCF .byte 0 AquaHideout_B2F_MapScript1_233DD5: @ 8233DD5 - call_if_set FLAG_0x070, AquaHideout_B2F_EventScript_233DDF + call_if_set FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, AquaHideout_B2F_EventScript_233DDF end AquaHideout_B2F_EventScript_233DDF:: @ 8233DDF @@ -46,7 +46,7 @@ AquaHideout_B2F_EventScript_233E25:: @ 8233E25 applymovement VAR_0x8008, AquaHideout_B2F_Movement_27259E waitmovement 0 msgbox AquaHideout_B2F_Text_233FF2, MSGBOX_DEFAULT - setflag FLAG_0x070 + setflag FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE setflag FLAG_HIDE_LILYCOVE_CITY_AQUA_GRUNTS release end @@ -156,4 +156,3 @@ AquaHideout_B2F_Text_2342CC: @ 82342CC AquaHideout_B2F_Text_2342FF: @ 82342FF .string "I'll have to learn about how I can\n" .string "battle more effectively…$" - diff --git a/data/maps/ArtisanCave_B1F/scripts.inc b/data/maps/ArtisanCave_B1F/scripts.inc index 059343a56b..e46737583a 100644 --- a/data/maps/ArtisanCave_B1F/scripts.inc +++ b/data/maps/ArtisanCave_B1F/scripts.inc @@ -3,6 +3,6 @@ ArtisanCave_B1F_MapScripts:: @ 823AFAD .byte 0 ArtisanCave_B1F_MapScript1_23AFB3: @ 823AFB3 - setflag FLAG_0x8DF + setflag FLAG_LANDMARK_ARTISAN_CAVE end diff --git a/data/maps/BattleFrontier_BattleArenaBattleRoom/events.inc b/data/maps/BattleFrontier_BattleArenaBattleRoom/events.inc index 1a8216287c..4731db9755 100644 --- a/data/maps/BattleFrontier_BattleArenaBattleRoom/events.inc +++ b/data/maps/BattleFrontier_BattleArenaBattleRoom/events.inc @@ -5,8 +5,8 @@ BattleFrontier_BattleArenaBattleRoom_EventObjects: @ 853C8EC object_event 4, EVENT_OBJ_GFX_BLACK_BELT, 0, 10, 9, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0 object_event 5, EVENT_OBJ_GFX_BLACK_BELT, 0, 4, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, 0x0, 0 object_event 6, EVENT_OBJ_GFX_BLACK_BELT, 0, 11, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, 0x0, 0 - object_event 7, EVENT_OBJ_GFX_HIPSTER, 0, 15, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, 0x0, 0 - object_event 8, EVENT_OBJ_GFX_TRADER, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, 0x0, 0 + object_event 7, EVENT_OBJ_GFX_VAR_0, 0, 15, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, 0x0, 0 + object_event 8, EVENT_OBJ_GFX_VAR_1, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, 0x0, 0 object_event 9, EVENT_OBJ_GFX_BLACK_BELT, 0, 7, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 BattleFrontier_BattleArenaBattleRoom_MapEvents:: @ 853C9C4 diff --git a/data/maps/BattleFrontier_BattleDomeBattleRoom/events.inc b/data/maps/BattleFrontier_BattleDomeBattleRoom/events.inc index 63ceb74846..9101606456 100644 --- a/data/maps/BattleFrontier_BattleDomeBattleRoom/events.inc +++ b/data/maps/BattleFrontier_BattleDomeBattleRoom/events.inc @@ -11,9 +11,9 @@ BattleFrontier_BattleDomeBattleRoom_EventObjects: @ 853C1C4 object_event 10, EVENT_OBJ_GFX_FAT_MAN, 0, 12, 1, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 object_event 11, EVENT_OBJ_GFX_GIRL_2, 0, 13, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 object_event 12, EVENT_OBJ_GFX_GIRL_1, 0, 10, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 - object_event 13, EVENT_OBJ_GFX_TRADER, 0, 4, 9, 4, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0 + object_event 13, EVENT_OBJ_GFX_VAR_1, 0, 4, 9, 4, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0 object_event 14, EVENT_OBJ_GFX_WOMAN_3, 0, 14, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 - object_event 15, EVENT_OBJ_GFX_HIPSTER, 0, 11, 6, 0, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, 0x0, 0 + object_event 15, EVENT_OBJ_GFX_VAR_0, 0, 11, 6, 0, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, 0x0, 0 BattleFrontier_BattleDomeBattleRoom_MapEvents:: @ 853C32C map_events BattleFrontier_BattleDomeBattleRoom_EventObjects, 0x0, 0x0, 0x0 diff --git a/data/maps/BattleFrontier_BattleFactoryBattleRoom/events.inc b/data/maps/BattleFrontier_BattleFactoryBattleRoom/events.inc index 264c7d731a..bdaf4c51bb 100644 --- a/data/maps/BattleFrontier_BattleFactoryBattleRoom/events.inc +++ b/data/maps/BattleFrontier_BattleFactoryBattleRoom/events.inc @@ -1,12 +1,12 @@ BattleFrontier_BattleFactoryBattleRoom_EventObjects: @ 853CADC object_event 1, EVENT_OBJ_GFX_SCIENTIST_1, 0, 0, 6, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 7, 4, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 7, 4, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 object_event 3, EVENT_OBJ_GFX_SCIENTIST_1, 0, 0, 4, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 object_event 4, EVENT_OBJ_GFX_SCIENTIST_1, 0, 0, 8, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 object_event 5, EVENT_OBJ_GFX_SCIENTIST_1, 0, 12, 4, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 object_event 6, EVENT_OBJ_GFX_SCIENTIST_1, 0, 12, 6, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 object_event 7, EVENT_OBJ_GFX_SCIENTIST_1, 0, 12, 8, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 - object_event 8, 255, 0, 5, 11, 0, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0 + object_event 8, EVENT_OBJ_GFX_VAR_F, 0, 5, 11, 0, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0 BattleFrontier_BattleFactoryBattleRoom_MapEvents:: @ 853CB9C map_events BattleFrontier_BattleFactoryBattleRoom_EventObjects, 0x0, 0x0, 0x0 diff --git a/data/maps/BattleFrontier_BattlePalaceBattleRoom/events.inc b/data/maps/BattleFrontier_BattlePalaceBattleRoom/events.inc index 29818b1d60..8363f2bb57 100644 --- a/data/maps/BattleFrontier_BattlePalaceBattleRoom/events.inc +++ b/data/maps/BattleFrontier_BattlePalaceBattleRoom/events.inc @@ -1,6 +1,6 @@ BattleFrontier_BattlePalaceBattleRoom_EventObjects: @ 853C4FC - object_event 1, EVENT_OBJ_GFX_TRADER, 0, 1, 9, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 13, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 + object_event 1, EVENT_OBJ_GFX_VAR_1, 0, 1, 9, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 13, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 object_event 3, EVENT_OBJ_GFX_EXPERT_M, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, 0x0, 0 object_event 4, EVENT_OBJ_GFX_DUSCLOPS, 0, 13, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 object_event 5, EVENT_OBJ_GFX_AZURILL, 0, 13, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom1/events.inc b/data/maps/BattleFrontier_BattlePikeRandomRoom1/events.inc index 580873720a..81dee29d15 100644 --- a/data/maps/BattleFrontier_BattlePikeRandomRoom1/events.inc +++ b/data/maps/BattleFrontier_BattlePikeRandomRoom1/events.inc @@ -1,6 +1,6 @@ BattleFrontier_BattlePikeRandomRoom1_EventObjects: @ 853CD54 - object_event 1, EVENT_OBJ_GFX_HIPSTER, 0, 4, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D7ED, 0 - object_event 2, EVENT_OBJ_GFX_TRADER, 0, 3, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D88D, 0 + object_event 1, EVENT_OBJ_GFX_VAR_0, 0, 4, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D7ED, 0 + object_event 2, EVENT_OBJ_GFX_VAR_1, 0, 3, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D88D, 0 BattleFrontier_BattlePikeRandomRoom1_MapCoordEvents: @ 853CD84 coord_event 4, 3, 3, VAR_TEMP_1, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C40A2 diff --git a/data/maps/BattleFrontier_BattleTowerBattleRoom/events.inc b/data/maps/BattleFrontier_BattleTowerBattleRoom/events.inc index 0fd75debb3..148e590af6 100644 --- a/data/maps/BattleFrontier_BattleTowerBattleRoom/events.inc +++ b/data/maps/BattleFrontier_BattleTowerBattleRoom/events.inc @@ -1,5 +1,5 @@ BattleFrontier_BattleTowerBattleRoom_EventObjects: @ 853B7D0 - object_event 1, EVENT_OBJ_GFX_HIPSTER, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_BATTLE_TOWER_OPPONENT + object_event 1, EVENT_OBJ_GFX_VAR_0, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_BATTLE_TOWER_OPPONENT object_event 2, EVENT_OBJ_GFX_TEALA, 0, 1, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 0 object_event 3, EVENT_OBJ_GFX_TEALA, 0, 4, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0 diff --git a/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc index 1e953db239..b89d2e061d 100644 --- a/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc @@ -513,7 +513,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_2421FC:: @ 82421FC end BattleFrontier_BattleTowerBattleRoom_EventScript_24220E:: @ 824220E - setflag FLAG_0x077 + setflag FLAG_CANCEL_BATTLE_ROOM_CHALLENGE goto BattleFrontier_BattleTowerBattleRoom_EventScript_241C03 end diff --git a/data/maps/BattleFrontier_BattleTowerBattleRoom2/events.inc b/data/maps/BattleFrontier_BattleTowerBattleRoom2/events.inc index 90232cf5be..f83bee69de 100644 --- a/data/maps/BattleFrontier_BattleTowerBattleRoom2/events.inc +++ b/data/maps/BattleFrontier_BattleTowerBattleRoom2/events.inc @@ -1,10 +1,10 @@ BattleFrontier_BattleTowerBattleRoom2_EventObjects: @ 853BFC4 - object_event 1, EVENT_OBJ_GFX_HIPSTER, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_BATTLE_TOWER_OPPONENT + object_event 1, EVENT_OBJ_GFX_VAR_0, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_BATTLE_TOWER_OPPONENT object_event 2, EVENT_OBJ_GFX_TEALA, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 0 object_event 3, EVENT_OBJ_GFX_TEALA, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 0 - object_event 4, EVENT_OBJ_GFX_TRADER, 0, 4, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_BATTLE_TOWER_OPPONENT - object_event 5, 255, 0, 4, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0 - object_event 6, 254, 0, 5, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0 + object_event 4, EVENT_OBJ_GFX_VAR_1, 0, 4, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_BATTLE_TOWER_OPPONENT + object_event 5, EVENT_OBJ_GFX_VAR_F, 0, 4, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0 + object_event 6, EVENT_OBJ_GFX_VAR_E, 0, 5, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0 BattleFrontier_BattleTowerBattleRoom2_MapEvents:: @ 853C054 map_events BattleFrontier_BattleTowerBattleRoom2_EventObjects, 0x0, 0x0, 0x0 diff --git a/data/maps/BattleFrontier_BattleTowerCorridor2/events.inc b/data/maps/BattleFrontier_BattleTowerCorridor2/events.inc index 8f6a1e2f02..f96f149162 100644 --- a/data/maps/BattleFrontier_BattleTowerCorridor2/events.inc +++ b/data/maps/BattleFrontier_BattleTowerCorridor2/events.inc @@ -1,8 +1,8 @@ BattleFrontier_BattleTowerCorridor2_EventObjects: @ 853BF50 - object_event 1, 255, 0, 1, 1, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 1, 1, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 object_event 2, EVENT_OBJ_GFX_TEALA, 0, 14, 3, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0 object_event 3, EVENT_OBJ_GFX_TEALA, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0 - object_event 4, 254, 0, 14, 1, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 + object_event 4, EVENT_OBJ_GFX_VAR_E, 0, 14, 1, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 BattleFrontier_BattleTowerCorridor2_MapEvents:: @ 853BFB0 map_events BattleFrontier_BattleTowerCorridor2_EventObjects, 0x0, 0x0, 0x0 diff --git a/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc b/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc index 0479641a79..3dbd5eca3f 100644 --- a/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc @@ -40,7 +40,7 @@ BattleFrontier_BattleTowerElevator_EventScript_241A55:: @ 8241A55 return BattleFrontier_BattleTowerElevator_EventScript_241A5F:: @ 8241A5F - goto_if_unset FLAG_0x152, BattleFrontier_BattleTowerElevator_EventScript_241A7C + goto_if_unset FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER, BattleFrontier_BattleTowerElevator_EventScript_241A7C warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2, 255, 7, 2 waitstate return diff --git a/data/maps/BattleFrontier_BattleTowerLobby/events.inc b/data/maps/BattleFrontier_BattleTowerLobby/events.inc index d100dec0bb..6a78eaee69 100644 --- a/data/maps/BattleFrontier_BattleTowerLobby/events.inc +++ b/data/maps/BattleFrontier_BattleTowerLobby/events.inc @@ -4,7 +4,7 @@ BattleFrontier_BattleTowerLobby_EventObjects: @ 853B638 object_event 3, EVENT_OBJ_GFX_WOMAN_5, 0, 17, 8, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_23EFB5, 0 object_event 4, EVENT_OBJ_GFX_BOY_1, 0, 15, 9, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_23EFBE, 0 object_event 5, EVENT_OBJ_GFX_REPORTER_F, 0, 11, 9, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_28CB96, FLAG_HIDE_BATTLE_TOWER_REPORTER - object_event 6, EVENT_OBJ_GFX_HIPSTER, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, EventScript_Apprentice, FLAG_HIDE_APPRENTICE + object_event 6, EVENT_OBJ_GFX_VAR_0, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, EventScript_Apprentice, FLAG_HIDE_APPRENTICE object_event 7, EVENT_OBJ_GFX_TEALA, 0, 10, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_23EA9F, 0 object_event 8, EVENT_OBJ_GFX_TEALA, 0, 14, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_23EC08, 0 object_event 9, EVENT_OBJ_GFX_TEALA, 0, 18, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_23ED74, 0 diff --git a/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc b/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc index 29315eff5d..e1bec2c213 100644 --- a/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc @@ -15,7 +15,7 @@ BattleFrontier_BattleTowerLobby_MapScript1_23E694: @ 823E694 special CallApprenticeFunction compare VAR_0x8004, 0 goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23E6B5 - goto_if_set FLAG_0x934, BattleFrontier_BattleTowerLobby_EventScript_23E6C1 + goto_if_set FLAG_DAILY_APPRENTICE_LEAVES, BattleFrontier_BattleTowerLobby_EventScript_23E6C1 BattleFrontier_BattleTowerLobby_EventScript_23E6B5:: @ 823E6B5 clearflag FLAG_HIDE_APPRENTICE @@ -120,7 +120,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E7E2:: @ 823E7E2 BattleFrontier_BattleTowerLobby_EventScript_23E7F2:: @ 823E7F2 compare VAR_FRONTIER_BATTLE_MODE, 2 goto_if_ne BattleFrontier_BattleTowerLobby_EventScript_23E81E - goto_if_set FLAG_0x152, BattleFrontier_BattleTowerLobby_EventScript_23E81E + goto_if_set FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER, BattleFrontier_BattleTowerLobby_EventScript_23E81E setvar VAR_0x8004, 1 setvar VAR_0x8005, 1 special sub_8161F74 @@ -398,7 +398,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EC08:: @ 823EC08 lock faceplayer setvar VAR_FRONTIER_FACILITY, 0 - clearflag FLAG_0x152 + clearflag FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER special SavePlayerParty msgbox BattleFrontier_BattleTowerLobby_Text_240A8B, MSGBOX_DEFAULT @@ -744,7 +744,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23F108:: @ 823F108 compare VAR_RESULT, 6 goto_if_ne BattleFrontier_BattleTowerLobby_EventScript_23F108 call BattleFrontier_BattleTowerLobby_EventScript_23F135 - clearflag FLAG_0x077 + clearflag FLAG_CANCEL_BATTLE_ROOM_CHALLENGE warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_ELEVATOR, 255, 1, 6 setvar VAR_TEMP_0, 0 waitstate diff --git a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/events.inc b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/events.inc index 9212f2fd2b..9f3977075e 100644 --- a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/events.inc +++ b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/events.inc @@ -1,13 +1,13 @@ BattleFrontier_BattleTowerMultiBattleRoom_EventObjects: @ 853BE64 object_event 1, EVENT_OBJ_GFX_TEALA, 0, 11, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E7A, 0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 2, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F29, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 17, 11, 3, MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FFB, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 6, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244008, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 8, 13, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244015, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 10, 11, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244022, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 13, 10, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_24402F, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_6 - object_event 8, 246, 0, 15, 13, 3, MOVEMENT_TYPE_FACE_UP_AND_LEFT, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_24403C, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_1 - object_event 9, 247, 0, 4, 12, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244049, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_2 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 2, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F29, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 17, 11, 3, MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FFB, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 6, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244008, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 8, 13, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244015, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 10, 11, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244022, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 13, 10, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_24402F, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 15, 13, 3, MOVEMENT_TYPE_FACE_UP_AND_LEFT, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_24403C, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_1 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 4, 12, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244049, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_2 BattleFrontier_BattleTowerMultiBattleRoom_MapEvents:: @ 853BF3C map_events BattleFrontier_BattleTowerMultiBattleRoom_EventObjects, 0x0, 0x0, 0x0 diff --git a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc index ee63e72a1e..7dbfbbc138 100644 --- a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc @@ -11,7 +11,7 @@ BattleFrontier_BattleTowerMultiBattleRoom_MapScript1_243DA7: @ 8243DA7 end BattleFrontier_BattleTowerMultiBattleRoom_MapScript1_243DB0: @ 8243DB0 - goto_if_set FLAG_0x152, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243DDA + goto_if_set FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243DDA clearflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_1 clearflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_2 clearflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_3 @@ -165,7 +165,7 @@ BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F29:: @ 8243F29 end BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36:: @ 8243F36 - goto_if_set FLAG_0x152, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FC3 + goto_if_set FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FC3 setvar VAR_0x8004, 11 setvar VAR_0x8005, 0 special sub_8161F74 @@ -195,7 +195,7 @@ BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36:: @ 8243F36 compare VAR_FACING, 1 call_if_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FDF removeobject VAR_LAST_TALKED - setflag FLAG_0x152 + setflag FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER warpsilent MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM, 255, 10, 3 waitstate release diff --git a/data/maps/BattleFrontier_Lounge1/scripts.inc b/data/maps/BattleFrontier_Lounge1/scripts.inc index a12c543342..28aab432bc 100644 --- a/data/maps/BattleFrontier_Lounge1/scripts.inc +++ b/data/maps/BattleFrontier_Lounge1/scripts.inc @@ -4,9 +4,9 @@ BattleFrontier_Lounge1_MapScripts:: @ 825E774 BattleFrontier_Lounge1_EventScript_25E775:: @ 825E775 lock faceplayer - call_if_unset FLAG_0x153, BattleFrontier_Lounge1_EventScript_25E7AD - call_if_set FLAG_0x153, BattleFrontier_Lounge1_EventScript_25E7B6 - setflag FLAG_0x153 + call_if_unset FLAG_MET_BATTLE_FRONTIER_BREEDER, BattleFrontier_Lounge1_EventScript_25E7AD + call_if_set FLAG_MET_BATTLE_FRONTIER_BREEDER, BattleFrontier_Lounge1_EventScript_25E7B6 + setflag FLAG_MET_BATTLE_FRONTIER_BREEDER goto BattleFrontier_Lounge1_EventScript_25E792 end diff --git a/data/maps/BattleFrontier_Lounge2/scripts.inc b/data/maps/BattleFrontier_Lounge2/scripts.inc index e8c5db1f7d..435eb41278 100644 --- a/data/maps/BattleFrontier_Lounge2/scripts.inc +++ b/data/maps/BattleFrontier_Lounge2/scripts.inc @@ -4,8 +4,8 @@ BattleFrontier_Lounge2_MapScripts:: @ 8260642 BattleFrontier_Lounge2_EventScript_260643:: @ 8260643 lock faceplayer - goto_if_set FLAG_0x154, BattleFrontier_Lounge2_EventScript_26065F - setflag FLAG_0x154 + goto_if_set FLAG_MET_BATTLE_FRONTIER_MANIAC, BattleFrontier_Lounge2_EventScript_26065F + setflag FLAG_MET_BATTLE_FRONTIER_MANIAC msgbox BattleFrontier_Lounge2_Text_260766, MSGBOX_DEFAULT goto BattleFrontier_Lounge2_EventScript_26066D end diff --git a/data/maps/BattleFrontier_Lounge3/scripts.inc b/data/maps/BattleFrontier_Lounge3/scripts.inc index 4b0b23bc8e..6a817d50af 100644 --- a/data/maps/BattleFrontier_Lounge3/scripts.inc +++ b/data/maps/BattleFrontier_Lounge3/scripts.inc @@ -4,11 +4,11 @@ BattleFrontier_Lounge3_MapScripts:: @ 8261D82 BattleFrontier_Lounge3_EventScript_261D83:: @ 8261D83 lock faceplayer - goto_if_set FLAG_0x157, BattleFrontier_Lounge3_EventScript_261EF9 + goto_if_set FLAG_MET_BATTLE_FRONTIER_BETTOR, BattleFrontier_Lounge3_EventScript_261EF9 call BattleFrontier_Lounge3_EventScript_261EA0 compare VAR_0x8004, 2 goto_if_le BattleFrontier_Lounge3_EventScript_261EEB - setflag FLAG_0x157 + setflag FLAG_MET_BATTLE_FRONTIER_BETTOR msgbox BattleFrontier_Lounge3_Text_262061, MSGBOX_DEFAULT goto BattleFrontier_Lounge3_EventScript_261DAF end @@ -472,4 +472,3 @@ BattleFrontier_Lounge3_Text_263545:: @ 8263545 .string "Those TRAINERS…\n" .string "What are they doing?\l" .string "They should be taking challenges.$" - diff --git a/data/maps/BattleFrontier_Lounge6/scripts.inc b/data/maps/BattleFrontier_Lounge6/scripts.inc index 3c18522831..2b14c43c56 100644 --- a/data/maps/BattleFrontier_Lounge6/scripts.inc +++ b/data/maps/BattleFrontier_Lounge6/scripts.inc @@ -4,10 +4,10 @@ BattleFrontier_Lounge6_MapScripts:: @ 8264FEC BattleFrontier_Lounge6_EventScript_264FED:: @ 8264FED lock faceplayer - goto_if_set FLAG_0x09C, BattleFrontier_Lounge6_EventScript_265083 + goto_if_set FLAG_BATTLE_FRONTIER_TRADE_DONE, BattleFrontier_Lounge6_EventScript_265083 setvar VAR_0x8008, 3 copyvar VAR_0x8004, VAR_0x8008 - specialvar VAR_RESULT, sub_807E73C + specialvar VAR_RESULT, GetInGameTradeSpeciesInfo copyvar VAR_0x8009, VAR_RESULT msgbox BattleFrontier_Lounge6_Text_26508D, MSGBOX_YESNO compare VAR_RESULT, 0 @@ -18,17 +18,17 @@ BattleFrontier_Lounge6_EventScript_264FED:: @ 8264FED compare VAR_0x8004, 255 goto_if_eq BattleFrontier_Lounge6_EventScript_26506B copyvar VAR_0x8005, VAR_0x800A - specialvar VAR_RESULT, sub_807E9D4 + specialvar VAR_RESULT, GetTradeSpecies copyvar VAR_0x800B, VAR_RESULT compare VAR_RESULT, VAR_0x8009 goto_if_ne BattleFrontier_Lounge6_EventScript_265075 copyvar VAR_0x8004, VAR_0x8008 copyvar VAR_0x8005, VAR_0x800A - special sub_807EA10 - special sub_807F0E4 + special CreateInGameTradePokemon + special DoInGameTradeScene waitstate msgbox BattleFrontier_Lounge6_Text_265128, MSGBOX_DEFAULT - setflag FLAG_0x09C + setflag FLAG_BATTLE_FRONTIER_TRADE_DONE release end @@ -78,4 +78,3 @@ BattleFrontier_Lounge6_Text_26520E: @ 826520E .string "Giggle!\n" .string "A SKITTY is so much cuter than I had\l" .string "imagined. I'm delighted!$" - diff --git a/data/maps/BattleFrontier_Lounge7/scripts.inc b/data/maps/BattleFrontier_Lounge7/scripts.inc index 0f93761255..1339b54c9b 100644 --- a/data/maps/BattleFrontier_Lounge7/scripts.inc +++ b/data/maps/BattleFrontier_Lounge7/scripts.inc @@ -5,9 +5,9 @@ BattleFrontier_Lounge7_EventScript_265255:: @ 8265255 lock faceplayer setvar VAR_TEMP_C, 9 - goto_if_set FLAG_0x15A, BattleFrontier_Lounge7_EventScript_265276 + goto_if_set FLAG_MET_FRONTIER_BEAUTY_MOVE_TUTOR, BattleFrontier_Lounge7_EventScript_265276 msgbox BattleFrontier_Lounge7_Text_2656ED, MSGBOX_DEFAULT - setflag FLAG_0x15A + setflag FLAG_MET_FRONTIER_BEAUTY_MOVE_TUTOR goto BattleFrontier_Lounge7_EventScript_265284 end @@ -119,9 +119,9 @@ BattleFrontier_Lounge7_EventScript_265445:: @ 8265445 lock faceplayer setvar VAR_TEMP_C, 10 - goto_if_set FLAG_0x15B, BattleFrontier_Lounge7_EventScript_265466 + goto_if_set FLAG_MET_FRONTIER_SWIMMER_MOVE_TUTOR, BattleFrontier_Lounge7_EventScript_265466 msgbox BattleFrontier_Lounge7_Text_265A6C, MSGBOX_DEFAULT - setflag FLAG_0x15B + setflag FLAG_MET_FRONTIER_SWIMMER_MOVE_TUTOR goto BattleFrontier_Lounge7_EventScript_265474 end @@ -477,4 +477,3 @@ BattleFrontier_Lounge7_Text_2661B5:: @ 82661B5 .string "A fiery punch\n" .string "that may burn\n" .string "the foe.$" - diff --git a/data/maps/BattleFrontier_OutsideEast/scripts.inc b/data/maps/BattleFrontier_OutsideEast/scripts.inc index 401f5565d9..9a90f23f95 100644 --- a/data/maps/BattleFrontier_OutsideEast/scripts.inc +++ b/data/maps/BattleFrontier_OutsideEast/scripts.inc @@ -17,7 +17,7 @@ BattleFrontier_OutsideEast_EventScript_242C19:: @ 8242C19 BattleFrontier_OutsideEast_MapScript1_242C2D: @ 8242C2D setvar VAR_0x40BC, 0 setflag FLAG_HIDE_BATTLE_TOWER_REPORTER - call_if_unset FLAG_0x1C6, BattleFrontier_OutsideEast_EventScript_242C3F + call_if_unset FLAG_DEFEATED_SUDOWOODO, BattleFrontier_OutsideEast_EventScript_242C3F end BattleFrontier_OutsideEast_EventScript_242C3F:: @ 8242C3F @@ -139,12 +139,12 @@ BattleFrontier_OutsideEast_EventScript_242CFC:: @ 8242CFC goto_if_eq BattleFrontier_OutsideEast_EventScript_242D60 compare VAR_RESULT, 5 goto_if_eq BattleFrontier_OutsideEast_EventScript_242D60 - setflag FLAG_0x1C6 + setflag FLAG_DEFEATED_SUDOWOODO release end BattleFrontier_OutsideEast_EventScript_242D60:: @ 8242D60 - setflag FLAG_0x1C6 + setflag FLAG_DEFEATED_SUDOWOODO goto IslandCave_EventScript_27376D end @@ -221,7 +221,7 @@ BattleFrontier_OutsideEast_EventScript_242DE0:: @ 8242DE0 BattleFrontier_OutsideEast_EventScript_242DE9:: @ 8242DE9 lock faceplayer - goto_if_set FLAG_0x1C6, BattleFrontier_OutsideEast_EventScript_242DFE + goto_if_set FLAG_DEFEATED_SUDOWOODO, BattleFrontier_OutsideEast_EventScript_242DFE msgbox BattleFrontier_OutsideEast_Text_243C2C, MSGBOX_DEFAULT release end diff --git a/data/maps/BattleFrontier_ScottsHouse/scripts.inc b/data/maps/BattleFrontier_ScottsHouse/scripts.inc index 9f42bc89ef..6f8d6ee4b6 100644 --- a/data/maps/BattleFrontier_ScottsHouse/scripts.inc +++ b/data/maps/BattleFrontier_ScottsHouse/scripts.inc @@ -11,15 +11,15 @@ BattleFrontier_ScottsHouse_EventScript_2636A8:: @ 82636A8 end BattleFrontier_ScottsHouse_EventScript_2636CB:: @ 82636CB - goto_if_unset FLAG_0x1D1, BattleFrontier_ScottsHouse_EventScript_263943 - goto_if_unset FLAG_0x05C, BattleFrontier_ScottsHouse_EventScript_263704 - goto_if_unset FLAG_0x1D2, BattleFrontier_ScottsHouse_EventScript_26376A + goto_if_unset FLAG_SCOTT_GIVES_BATTLE_POINTS, BattleFrontier_ScottsHouse_EventScript_263943 + goto_if_unset FLAG_COLLECTED_ALL_SILVER_SYMBOLS, BattleFrontier_ScottsHouse_EventScript_263704 + goto_if_unset FLAG_RECEIVED_STARF_BERRY_FROM_SCOTT, BattleFrontier_ScottsHouse_EventScript_26376A goto BattleFrontier_ScottsHouse_EventScript_2636EC end BattleFrontier_ScottsHouse_EventScript_2636EC:: @ 82636EC - goto_if_unset FLAG_0x0ED, BattleFrontier_ScottsHouse_EventScript_26381B - goto_if_unset FLAG_0x0EE, BattleFrontier_ScottsHouse_EventScript_2638B4 + goto_if_unset FLAG_RECEIVED_SILVER_SHIELD, BattleFrontier_ScottsHouse_EventScript_26381B + goto_if_unset FLAG_RECEIVED_GOLD_SHIELD, BattleFrontier_ScottsHouse_EventScript_2638B4 goto BattleFrontier_ScottsHouse_EventScript_2637E4 end @@ -35,7 +35,7 @@ BattleFrontier_ScottsHouse_EventScript_263704:: @ 8263704 giveitem_std ITEM_LANSAT_BERRY compare VAR_RESULT, 0 goto_if_eq BattleFrontier_ScottsHouse_EventScript_2637D0 - setflag FLAG_0x05C + setflag FLAG_COLLECTED_ALL_SILVER_SYMBOLS setflag FLAG_TEMP_4 release end @@ -52,7 +52,7 @@ BattleFrontier_ScottsHouse_EventScript_26376A:: @ 826376A giveitem_std ITEM_STARF_BERRY compare VAR_RESULT, 0 goto_if_eq BattleFrontier_ScottsHouse_EventScript_2637D0 - setflag FLAG_0x1D2 + setflag FLAG_RECEIVED_STARF_BERRY_FROM_SCOTT setflag FLAG_TEMP_4 release end @@ -115,7 +115,7 @@ BattleFrontier_ScottsHouse_EventScript_26387A:: @ 826387A givedecoration_std 42 compare VAR_RESULT, 0 goto_if_eq BattleFrontier_ScottsHouse_EventScript_2638A0 - setflag FLAG_0x0ED + setflag FLAG_RECEIVED_SILVER_SHIELD setflag FLAG_TEMP_3 goto BattleFrontier_ScottsHouse_EventScript_2638AA end @@ -158,7 +158,7 @@ BattleFrontier_ScottsHouse_EventScript_263913:: @ 8263913 givedecoration_std 43 compare VAR_RESULT, 0 goto_if_eq BattleFrontier_ScottsHouse_EventScript_2638A0 - setflag FLAG_0x0EE + setflag FLAG_RECEIVED_GOLD_SHIELD setflag FLAG_TEMP_3 goto BattleFrontier_ScottsHouse_EventScript_2638AA end @@ -221,7 +221,7 @@ BattleFrontier_ScottsHouse_EventScript_2639F8:: @ 82639F8 special sub_813A9D0 msgbox BattleFrontier_ScottsHouse_Text_263CB0, 9 msgbox BattleFrontier_ScottsHouse_Text_263CD0, MSGBOX_DEFAULT - setflag FLAG_0x1D1 + setflag FLAG_SCOTT_GIVES_BATTLE_POINTS setflag FLAG_TEMP_2 release end diff --git a/data/maps/BirthIsland_Exterior/scripts.inc b/data/maps/BirthIsland_Exterior/scripts.inc index cb84a51bdf..5bff32eb63 100644 --- a/data/maps/BirthIsland_Exterior/scripts.inc +++ b/data/maps/BirthIsland_Exterior/scripts.inc @@ -9,12 +9,12 @@ BirthIsland_Exterior_MapScript1_267F25: @ 8267F25 end BirthIsland_Exterior_MapScript1_267F29: @ 8267F29 - setflag FLAG_0x8D3 + setflag FLAG_MAP_SCRIPT_CHECKED_DEOXYS setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL - setvar VAR_0x4034, 0 - setvar VAR_0x4035, 0 - call_if_set FLAG_0x1AD, BirthIsland_Exterior_EventScript_267F4E - call_if_unset FLAG_0x1AD, BirthIsland_Exterior_EventScript_267F55 + setvar VAR_DEOXYS_ROCK_STEP_COUNT, 0 + setvar VAR_DEOXYS_ROCK_LEVEL, 0 + call_if_set FLAG_BATTLED_DEOXYS, BirthIsland_Exterior_EventScript_267F4E + call_if_unset FLAG_BATTLED_DEOXYS, BirthIsland_Exterior_EventScript_267F55 end BirthIsland_Exterior_EventScript_267F4E:: @ 8267F4E @@ -23,9 +23,9 @@ BirthIsland_Exterior_EventScript_267F4E:: @ 8267F4E return BirthIsland_Exterior_EventScript_267F55:: @ 8267F55 - goto_if_set FLAG_0x1AC, BirthIsland_Exterior_EventScript_27374E + goto_if_set FLAG_DEFEATED_DEOXYS, BirthIsland_Exterior_EventScript_27374E clearflag FLAG_HIDE_BIRTH_ISLAND_DEOXYS_TRIANGLE - clearflag FLAG_0x8D4 + clearflag FLAG_DEOXYS_ROCK_COMPLETE return BirthIsland_Exterior_MapScript1_267F65: @ 8267F65 @@ -42,7 +42,7 @@ BirthIsland_Exterior_EventScript_267F6F:: @ 8267F6F BirthIsland_Exterior_EventScript_267F83:: @ 8267F83 lock faceplayer - special sub_813AFC8 + special DoDeoxysRockInteraction waitstate switch VAR_RESULT case 0, BirthIsland_Exterior_EventScript_267FBB @@ -94,12 +94,12 @@ BirthIsland_Exterior_EventScript_267FC1:: @ 8267FC1 goto_if_eq BirthIsland_Exterior_EventScript_268049 compare VAR_RESULT, 5 goto_if_eq BirthIsland_Exterior_EventScript_268049 - setflag FLAG_0x1AD + setflag FLAG_BATTLED_DEOXYS release end BirthIsland_Exterior_EventScript_26803B:: @ 826803B - setflag FLAG_0x1AC + setflag FLAG_DEFEATED_DEOXYS setvar VAR_0x8004, 410 goto BirthIsland_Exterior_EventScript_273776 end @@ -118,4 +118,3 @@ BirthIsland_Exterior_Movement_268054: @ 8268054 walk_slow_down walk_slow_down step_end - diff --git a/data/maps/CaveOfOrigin_1F/scripts.inc b/data/maps/CaveOfOrigin_1F/scripts.inc index f42cb92f6f..1804e58eaa 100644 --- a/data/maps/CaveOfOrigin_1F/scripts.inc +++ b/data/maps/CaveOfOrigin_1F/scripts.inc @@ -3,6 +3,5 @@ CaveOfOrigin_1F_MapScripts:: @ 8235768 .byte 0 CaveOfOrigin_1F_MapScript1_23576E: @ 823576E - call_if_set FLAG_0x071, CaveOfOrigin_1F_EventScript_2722C1 + call_if_set FLAG_UNUSED_RS_LEGENDARY_BATTLE_DONE, CaveOfOrigin_1F_EventScript_2722C1 end - diff --git a/data/maps/CaveOfOrigin_B1F/scripts.inc b/data/maps/CaveOfOrigin_B1F/scripts.inc index cf7582e0dd..371ea1ba53 100644 --- a/data/maps/CaveOfOrigin_B1F/scripts.inc +++ b/data/maps/CaveOfOrigin_B1F/scripts.inc @@ -51,7 +51,7 @@ CaveOfOrigin_B1F_EventScript_23584D:: @ 823584D closemessage playse SE_KAIDAN fadescreenspeed 1, 4 - setflag FLAG_0x137 + setflag FLAG_WALLACE_GOES_TO_SKY_PILLAR setvar VAR_0x405E, 3 removeobject 1 clearflag FLAG_HIDE_SKY_PILLAR_WALLACE diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/scripts.inc b/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/scripts.inc index 9ac7e4741f..79c00f28ca 100644 --- a/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/scripts.inc +++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/scripts.inc @@ -3,6 +3,5 @@ CaveOfOrigin_UnusedRubySapphireMap1_MapScripts:: @ 8235778 .byte 0 CaveOfOrigin_UnusedRubySapphireMap1_MapScript1_23577E: @ 823577E - call_if_set FLAG_0x071, CaveOfOrigin_UnusedRubySapphireMap1_EventScript_2722C1 + call_if_set FLAG_UNUSED_RS_LEGENDARY_BATTLE_DONE, CaveOfOrigin_UnusedRubySapphireMap1_EventScript_2722C1 end - diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/scripts.inc b/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/scripts.inc index 5743c7c8ca..6f9812c385 100644 --- a/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/scripts.inc +++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/scripts.inc @@ -3,6 +3,6 @@ CaveOfOrigin_UnusedRubySapphireMap2_MapScripts:: @ 8235788 .byte 0 CaveOfOrigin_UnusedRubySapphireMap2_MapScript1_23578E: @ 823578E - call_if_set FLAG_0x071, CaveOfOrigin_UnusedRubySapphireMap2_EventScript_2722C1 + call_if_set FLAG_UNUSED_RS_LEGENDARY_BATTLE_DONE, CaveOfOrigin_UnusedRubySapphireMap2_EventScript_2722C1 end diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/scripts.inc b/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/scripts.inc index c831218a45..baa40934a9 100644 --- a/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/scripts.inc +++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/scripts.inc @@ -3,6 +3,6 @@ CaveOfOrigin_UnusedRubySapphireMap3_MapScripts:: @ 8235798 .byte 0 CaveOfOrigin_UnusedRubySapphireMap3_MapScript1_23579E: @ 823579E - call_if_set FLAG_0x071, CaveOfOrigin_UnusedRubySapphireMap3_EventScript_2722C1 + call_if_set FLAG_UNUSED_RS_LEGENDARY_BATTLE_DONE, CaveOfOrigin_UnusedRubySapphireMap3_EventScript_2722C1 end diff --git a/data/maps/DesertRuins/scripts.inc b/data/maps/DesertRuins/scripts.inc index 685d8f5cf8..62828e9712 100644 --- a/data/maps/DesertRuins/scripts.inc +++ b/data/maps/DesertRuins/scripts.inc @@ -30,7 +30,7 @@ DesertRuins_EventScript_22D993:: @ 822D993 DesertRuins_MapScript1_22D9CA: @ 822D9CA setflag FLAG_LANDMARK_DESERT_RUINS - call_if_unset FLAG_0x1BB, DesertRuins_EventScript_22D9D7 + call_if_unset FLAG_DEFEATED_REGIROCK, DesertRuins_EventScript_22D9D7 end DesertRuins_EventScript_22D9D7:: @ 822D9D7 @@ -78,12 +78,12 @@ DesertRuins_EventScript_22DA02:: @ 822DA02 goto_if_eq DesertRuins_EventScript_22DA52 compare VAR_RESULT, 5 goto_if_eq DesertRuins_EventScript_22DA52 - setflag FLAG_0x1BB + setflag FLAG_DEFEATED_REGIROCK release end DesertRuins_EventScript_22DA49:: @ 822DA49 - setflag FLAG_0x1BB + setflag FLAG_DEFEATED_REGIROCK goto DesertRuins_EventScript_27376D end diff --git a/data/maps/DesertUnderpass/scripts.inc b/data/maps/DesertUnderpass/scripts.inc index d9913cb76b..c64597d6ca 100644 --- a/data/maps/DesertUnderpass/scripts.inc +++ b/data/maps/DesertUnderpass/scripts.inc @@ -9,8 +9,8 @@ DesertUnderpass_MapScript1_23AF3D: @ 823AF3D DesertUnderpass_EventScript_23AF41:: @ 823AF41 lock faceplayer - goto_if_set FLAG_0x14F, DesertUnderpass_EventScript_23AF57 - goto_if_set FLAG_0x150, DesertUnderpass_EventScript_23AF68 + goto_if_set FLAG_CHOSE_CLAW_FOSSIL, DesertUnderpass_EventScript_23AF57 + goto_if_set FLAG_CHOSE_ROOT_FOSSIL, DesertUnderpass_EventScript_23AF68 release end diff --git a/data/maps/DewfordTown/scripts.inc b/data/maps/DewfordTown/scripts.inc index b08a0e8a3d..6c66f48609 100644 --- a/data/maps/DewfordTown/scripts.inc +++ b/data/maps/DewfordTown/scripts.inc @@ -9,7 +9,7 @@ DewfordTown_MapScript1_1E950D: @ 81E950D DewfordTown_EventScript_1E9511:: @ 81E9511 lock faceplayer - goto_if_unset FLAG_0x0BD, DewfordTown_EventScript_1E9585 + goto_if_unset FLAG_DELIVERED_STEVEN_LETTER, DewfordTown_EventScript_1E9585 message DewfordTown_Text_1E9C8A waitmessage multichoicedefault 21, 6, 0, 2, 0 @@ -73,7 +73,7 @@ DewfordTown_EventScript_1E95CC:: @ 81E95CC DewfordTown_EventScript_1E95D5:: @ 81E95D5 lock faceplayer - goto_if_set FLAG_0x101, DewfordTown_EventScript_1E962A + goto_if_set FLAG_RECEIVED_OLD_ROD, DewfordTown_EventScript_1E962A msgbox DewfordTown_Text_1E9DD1, MSGBOX_YESNO compare VAR_RESULT, 1 goto_if_eq DewfordTown_EventScript_1E95FF @@ -84,7 +84,7 @@ DewfordTown_EventScript_1E95D5:: @ 81E95D5 DewfordTown_EventScript_1E95FF:: @ 81E95FF msgbox DewfordTown_Text_1E9E14, MSGBOX_DEFAULT giveitem_std ITEM_OLD_ROD - setflag FLAG_0x101 + setflag FLAG_RECEIVED_OLD_ROD msgbox DewfordTown_Text_1E9E65, MSGBOX_DEFAULT release end @@ -174,8 +174,8 @@ DewfordTown_EventScript_1E96E7:: @ 81E96E7 clearflag FLAG_HIDE_ROUTE_109_MR_BRINEY_BOAT setflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN hideobjectat 4, MAP_DEWFORD_TOWN - call_if_unset FLAG_0x095, DewfordTown_EventScript_1E9790 - call_if_set FLAG_0x095, DewfordTown_EventScript_1E9799 + call_if_unset FLAG_DELIVERED_DEVON_GOODS, DewfordTown_EventScript_1E9790 + call_if_set FLAG_DELIVERED_DEVON_GOODS, DewfordTown_EventScript_1E9799 closemessage copyvar VAR_0x4096, VAR_0x8008 resetobjectpriority EVENT_OBJ_ID_PLAYER, MAP_DEWFORD_TOWN diff --git a/data/maps/DewfordTown_Gym/scripts.inc b/data/maps/DewfordTown_Gym/scripts.inc index 1251c714e9..90fd3d4ae4 100644 --- a/data/maps/DewfordTown_Gym/scripts.inc +++ b/data/maps/DewfordTown_Gym/scripts.inc @@ -160,7 +160,7 @@ DewfordTown_Gym_EventScript_1FC7C2:: @ 81FC7C2 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 goto_if_eq DewfordTown_Gym_EventScript_1FC89C - goto_if_unset FLAG_0x0A6, DewfordTown_Gym_EventScript_1FC878 + goto_if_unset FLAG_RECEIVED_TM08, DewfordTown_Gym_EventScript_1FC878 msgbox DewfordTown_Gym_Text_1FD20D, MSGBOX_DEFAULT release end @@ -171,7 +171,7 @@ DewfordTown_Gym_EventScript_1FC7F7:: @ 81FC7F7 waitmessage call DewfordTown_Gym_EventScript_27207E msgbox DewfordTown_Gym_Text_1FD0A8, MSGBOX_DEFAULT - setflag FLAG_0x4F1 + setflag FLAG_DEFEATED_DEWFORD_GYM setflag FLAG_BADGE02_GET addvar VAR_0x4085, 1 compare VAR_0x4085, 6 @@ -186,9 +186,9 @@ DewfordTown_Gym_EventScript_1FC7F7:: @ 81FC7F7 waitfanfare closemessage delay 30 - setflag FLAG_0x1D4 + setflag FLAG_ENABLE_BRAWLY_MATCH_CALL setvar VAR_0x40F4, 0 - setflag FLAG_0x080 + setflag FLAG_ENABLE_ROXANNE_FIRST_CALL release end @@ -197,7 +197,7 @@ DewfordTown_Gym_EventScript_1FC855:: @ 81FC855 compare VAR_RESULT, 0 goto_if_eq DewfordTown_Gym_EventScript_27205E msgbox DewfordTown_Gym_Text_1FD181, MSGBOX_DEFAULT - setflag FLAG_0x0A6 + setflag FLAG_RECEIVED_TM08 return DewfordTown_Gym_EventScript_1FC878:: @ 81FC878 @@ -205,7 +205,7 @@ DewfordTown_Gym_EventScript_1FC878:: @ 81FC878 compare VAR_RESULT, 0 goto_if_eq DewfordTown_Gym_EventScript_272054 msgbox DewfordTown_Gym_Text_1FD181, MSGBOX_DEFAULT - setflag FLAG_0x0A6 + setflag FLAG_RECEIVED_TM08 release end @@ -277,7 +277,7 @@ DewfordTown_Gym_EventScript_1FC97C:: @ 81FC97C DewfordTown_Gym_EventScript_1FC983:: @ 81FC983 lock faceplayer - goto_if_set FLAG_0x4F1, DewfordTown_Gym_EventScript_1FC998 + goto_if_set FLAG_DEFEATED_DEWFORD_GYM, DewfordTown_Gym_EventScript_1FC998 msgbox DewfordTown_Gym_Text_1FC9D6, MSGBOX_DEFAULT release end @@ -484,4 +484,3 @@ DewfordTown_Gym_Text_1FD3DE: @ 81FD3DE .string "that can battle.\p" .string "I'm sorry, but I'd like you to come back\n" .string "with at least two POKéMON.$" - diff --git a/data/maps/DewfordTown_Hall/scripts.inc b/data/maps/DewfordTown_Hall/scripts.inc index 450ccb4ec3..0d9cf514cd 100644 --- a/data/maps/DewfordTown_Hall/scripts.inc +++ b/data/maps/DewfordTown_Hall/scripts.inc @@ -252,12 +252,12 @@ DewfordTown_Hall_EventScript_1FD7DA:: @ 81FD7DA lock faceplayer call DewfordTown_Hall_EventScript_271E8B - goto_if_set FLAG_RECEIVED_TM_36, DewfordTown_Hall_EventScript_1FD80E + goto_if_set FLAG_RECEIVED_TM36, DewfordTown_Hall_EventScript_1FD80E msgbox DewfordTown_Hall_Text_1FE142, MSGBOX_DEFAULT giveitem_std ITEM_TM36 compare VAR_RESULT, 0 goto_if_eq DewfordTown_Hall_EventScript_272054 - setflag FLAG_RECEIVED_TM_36 + setflag FLAG_RECEIVED_TM36 release end diff --git a/data/maps/DewfordTown_House2/scripts.inc b/data/maps/DewfordTown_House2/scripts.inc index cff58306e9..eb6beb9512 100644 --- a/data/maps/DewfordTown_House2/scripts.inc +++ b/data/maps/DewfordTown_House2/scripts.inc @@ -4,12 +4,12 @@ DewfordTown_House2_MapScripts:: @ 81FE22D DewfordTown_House2_EventScript_1FE22E:: @ 81FE22E lock faceplayer - goto_if_set FLAG_0x121, DewfordTown_House2_EventScript_1FE267 + goto_if_set FLAG_RECEIVED_SILK_SCARF, DewfordTown_House2_EventScript_1FE267 msgbox DewfordTown_House2_Text_1FE27A, MSGBOX_DEFAULT giveitem_std ITEM_SILK_SCARF compare VAR_RESULT, 0 goto_if_eq DewfordTown_House2_EventScript_1FE25D - setflag FLAG_0x121 + setflag FLAG_RECEIVED_SILK_SCARF release end diff --git a/data/maps/EverGrandeCity_ChampionsRoom/events.inc b/data/maps/EverGrandeCity_ChampionsRoom/events.inc index bd4cc71e32..9ce5831ba9 100644 --- a/data/maps/EverGrandeCity_ChampionsRoom/events.inc +++ b/data/maps/EverGrandeCity_ChampionsRoom/events.inc @@ -1,6 +1,6 @@ EverGrandeCity_ChampionsRoom_EventObjects: @ 8533700 object_event 1, EVENT_OBJ_GFX_WALLACE, 0, 6, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 6, 12, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_CHAMPIONS_ROOM_RIVAL + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 6, 12, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_CHAMPIONS_ROOM_RIVAL object_event 3, EVENT_OBJ_GFX_PROF_BIRCH, 0, 6, 12, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_CHAMPIONS_ROOM_BIRCH EverGrandeCity_ChampionsRoom_MapWarps: @ 8533748 diff --git a/data/maps/EverGrandeCity_DrakesRoom/scripts.inc b/data/maps/EverGrandeCity_DrakesRoom/scripts.inc index 06dd58d264..2c09498428 100644 --- a/data/maps/EverGrandeCity_DrakesRoom/scripts.inc +++ b/data/maps/EverGrandeCity_DrakesRoom/scripts.inc @@ -24,7 +24,7 @@ EverGrandeCity_DrakesRoom_EventScript_2286C5:: @ 82286C5 end EverGrandeCity_DrakesRoom_MapScript1_2286D2: @ 82286D2 - call_if_set FLAG_0x4FE, EverGrandeCity_DrakesRoom_EventScript_2286E7 + call_if_set FLAG_DEFEATED_ELITE_4_DRAKE, EverGrandeCity_DrakesRoom_EventScript_2286E7 compare VAR_0x409C, 4 call_if_eq EverGrandeCity_DrakesRoom_EventScript_2286ED end @@ -40,7 +40,7 @@ EverGrandeCity_DrakesRoom_EventScript_2286ED:: @ 82286ED EverGrandeCity_DrakesRoom_EventScript_2286F3:: @ 82286F3 lock faceplayer - goto_if_set FLAG_0x4FE, EverGrandeCity_DrakesRoom_EventScript_22871A + goto_if_set FLAG_DEFEATED_ELITE_4_DRAKE, EverGrandeCity_DrakesRoom_EventScript_22871A playbgm MUS_SITENNOU, 0 msgbox EverGrandeCity_DrakesRoom_Text_22873E, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_DRAKE, EverGrandeCity_DrakesRoom_Text_228895 @@ -55,7 +55,7 @@ EverGrandeCity_DrakesRoom_EventScript_22871A:: @ 822871A EverGrandeCity_DrakesRoom_EventScript_228724:: @ 8228724 setvar VAR_0x8004, 0 special sub_813BF7C - setflag FLAG_0x4FE + setflag FLAG_DEFEATED_ELITE_4_DRAKE call EverGrandeCity_DrakesRoom_EventScript_2723F8 msgbox EverGrandeCity_DrakesRoom_Text_2288B0, MSGBOX_DEFAULT release diff --git a/data/maps/EverGrandeCity_GlaciasRoom/scripts.inc b/data/maps/EverGrandeCity_GlaciasRoom/scripts.inc index 641c994a5f..7510f468fd 100644 --- a/data/maps/EverGrandeCity_GlaciasRoom/scripts.inc +++ b/data/maps/EverGrandeCity_GlaciasRoom/scripts.inc @@ -24,7 +24,7 @@ EverGrandeCity_GlaciasRoom_EventScript_22843B:: @ 822843B end EverGrandeCity_GlaciasRoom_MapScript1_228448: @ 8228448 - call_if_set FLAG_0x4FD, EverGrandeCity_GlaciasRoom_EventScript_22845D + call_if_set FLAG_DEFEATED_ELITE_4_GLACIA, EverGrandeCity_GlaciasRoom_EventScript_22845D compare VAR_0x409C, 3 call_if_eq EverGrandeCity_GlaciasRoom_EventScript_228463 end @@ -40,7 +40,7 @@ EverGrandeCity_GlaciasRoom_EventScript_228463:: @ 8228463 EverGrandeCity_GlaciasRoom_EventScript_228469:: @ 8228469 lock faceplayer - goto_if_set FLAG_0x4FD, EverGrandeCity_GlaciasRoom_EventScript_228490 + goto_if_set FLAG_DEFEATED_ELITE_4_GLACIA, EverGrandeCity_GlaciasRoom_EventScript_228490 playbgm MUS_SITENNOU, 0 msgbox EverGrandeCity_GlaciasRoom_Text_2284AC, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_GLACIA, EverGrandeCity_GlaciasRoom_Text_2285B4 @@ -53,7 +53,7 @@ EverGrandeCity_GlaciasRoom_EventScript_228490:: @ 8228490 end EverGrandeCity_GlaciasRoom_EventScript_22849A:: @ 822849A - setflag FLAG_0x4FD + setflag FLAG_DEFEATED_ELITE_4_GLACIA call EverGrandeCity_GlaciasRoom_EventScript_2723F8 msgbox EverGrandeCity_GlaciasRoom_Text_228640, MSGBOX_DEFAULT release diff --git a/data/maps/EverGrandeCity_PhoebesRoom/scripts.inc b/data/maps/EverGrandeCity_PhoebesRoom/scripts.inc index 84ead37663..77f951d76b 100644 --- a/data/maps/EverGrandeCity_PhoebesRoom/scripts.inc +++ b/data/maps/EverGrandeCity_PhoebesRoom/scripts.inc @@ -24,7 +24,7 @@ EverGrandeCity_PhoebesRoom_EventScript_22819D:: @ 822819D end EverGrandeCity_PhoebesRoom_MapScript1_2281AA: @ 82281AA - call_if_set FLAG_0x4FC, EverGrandeCity_PhoebesRoom_EventScript_2281BF + call_if_set FLAG_DEFEATED_ELITE_4_PHOEBE, EverGrandeCity_PhoebesRoom_EventScript_2281BF compare VAR_0x409C, 2 call_if_eq EverGrandeCity_PhoebesRoom_EventScript_2281C5 end @@ -40,7 +40,7 @@ EverGrandeCity_PhoebesRoom_EventScript_2281C5:: @ 82281C5 EverGrandeCity_PhoebesRoom_EventScript_2281CB:: @ 82281CB lock faceplayer - goto_if_set FLAG_0x4FC, EverGrandeCity_PhoebesRoom_EventScript_2281F2 + goto_if_set FLAG_DEFEATED_ELITE_4_PHOEBE, EverGrandeCity_PhoebesRoom_EventScript_2281F2 playbgm MUS_SITENNOU, 0 msgbox EverGrandeCity_PhoebesRoom_Text_22820E, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_PHOEBE, EverGrandeCity_PhoebesRoom_Text_228325 @@ -53,7 +53,7 @@ EverGrandeCity_PhoebesRoom_EventScript_2281F2:: @ 82281F2 end EverGrandeCity_PhoebesRoom_EventScript_2281FC:: @ 82281FC - setflag FLAG_0x4FC + setflag FLAG_DEFEATED_ELITE_4_PHOEBE call EverGrandeCity_PhoebesRoom_EventScript_2723F8 msgbox EverGrandeCity_PhoebesRoom_Text_228343, MSGBOX_DEFAULT release diff --git a/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc b/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc index c029571d02..0ec0acbb21 100644 --- a/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc @@ -5,7 +5,7 @@ EverGrandeCity_PokemonCenter_1F_MapScripts:: @ 8229A34 EverGrandeCity_PokemonCenter_1F_MapScript1_229A3F: @ 8229A3F setrespawn HEAL_LOCATION_EVER_GRANDE_CITY_1 - call_if_unset FLAG_0x1CF, EverGrandeCity_PokemonCenter_1F_EventScript_229A4C + call_if_unset FLAG_MET_SCOTT_IN_EVERGRANDE, EverGrandeCity_PokemonCenter_1F_EventScript_229A4C end EverGrandeCity_PokemonCenter_1F_EventScript_229A4C:: @ 8229A4C @@ -41,7 +41,7 @@ EverGrandeCity_PokemonCenter_1F_EventScript_229A79:: @ 8229A79 compare VAR_FACING, 3 call_if_eq EverGrandeCity_PokemonCenter_1F_EventScript_229AC1 addvar VAR_0x40D1, 1 - setflag FLAG_0x1CF + setflag FLAG_MET_SCOTT_IN_EVERGRANDE playse SE_KAIDAN waitse removeobject 4 diff --git a/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc b/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc index d654918837..6df9f946e0 100644 --- a/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc +++ b/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc @@ -6,7 +6,7 @@ EverGrandeCity_PokemonLeague_1F_MapScripts:: @ 82295D2 EverGrandeCity_PokemonLeague_1F_MapScript1_2295DD: @ 82295DD setrespawn HEAL_LOCATION_EVER_GRANDE_CITY_2 setflag FLAG_LANDMARK_POKEMON_LEAGUE - call_if_unset FLAG_0x107, EverGrandeCity_PokemonLeague_1F_EventScript_2295ED + call_if_unset FLAG_ENTERED_ELITE_FOUR, EverGrandeCity_PokemonLeague_1F_EventScript_2295ED end EverGrandeCity_PokemonLeague_1F_EventScript_2295ED:: @ 82295ED @@ -62,7 +62,7 @@ EverGrandeCity_PokemonLeague_1F_EventScript_229636:: @ 8229636 special LoadPlayerParty lockall - goto_if_set FLAG_0x107, EverGrandeCity_PokemonLeague_1F_EventScript_2296BB + goto_if_set FLAG_ENTERED_ELITE_FOUR, EverGrandeCity_PokemonLeague_1F_EventScript_2296BB getplayerxy VAR_TEMP_0, VAR_TEMP_1 compare VAR_TEMP_0, 11 call_if_ge EverGrandeCity_PokemonLeague_1F_EventScript_229698 @@ -84,7 +84,7 @@ EverGrandeCity_PokemonLeague_1F_EventScript_229636:: @ 8229636 closemessage moveobjectoffscreen 3 moveobjectoffscreen 4 - setflag FLAG_0x107 + setflag FLAG_ENTERED_ELITE_FOUR releaseall end diff --git a/data/maps/EverGrandeCity_SidneysRoom/scripts.inc b/data/maps/EverGrandeCity_SidneysRoom/scripts.inc index 8324e19cf4..9152254b31 100644 --- a/data/maps/EverGrandeCity_SidneysRoom/scripts.inc +++ b/data/maps/EverGrandeCity_SidneysRoom/scripts.inc @@ -6,12 +6,12 @@ EverGrandeCity_SidneysRoom_MapScripts:: @ 8227F01 .byte 0 EverGrandeCity_SidneysRoom_MapScript1_227F16: @ 8227F16 - setflag FLAG_0x1CF + setflag FLAG_MET_SCOTT_IN_EVERGRANDE setflag FLAG_HIDE_EVER_GRANDE_POKEMON_CENTER_1F_SCOTT end EverGrandeCity_SidneysRoom_MapScript1_227F1D: @ 8227F1D - call_if_set FLAG_0x4FB, EverGrandeCity_SidneysRoom_EventScript_227F32 + call_if_set FLAG_DEFEATED_ELITE_4_SYDNEY, EverGrandeCity_SidneysRoom_EventScript_227F32 compare VAR_0x409C, 1 call_if_eq EverGrandeCity_SidneysRoom_EventScript_227F38 end @@ -47,7 +47,7 @@ EverGrandeCity_SidneysRoom_EventScript_227F57:: @ 8227F57 EverGrandeCity_SidneysRoom_EventScript_227F64:: @ 8227F64 lock faceplayer - goto_if_set FLAG_0x4FB, EverGrandeCity_SidneysRoom_EventScript_227F8B + goto_if_set FLAG_DEFEATED_ELITE_4_SYDNEY, EverGrandeCity_SidneysRoom_EventScript_227F8B playbgm MUS_SITENNOU, 0 msgbox EverGrandeCity_SidneysRoom_Text_227FA7, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_SIDNEY, EverGrandeCity_SidneysRoom_Text_2280A2 @@ -60,7 +60,7 @@ EverGrandeCity_SidneysRoom_EventScript_227F8B:: @ 8227F8B end EverGrandeCity_SidneysRoom_EventScript_227F95:: @ 8227F95 - setflag FLAG_0x4FB + setflag FLAG_DEFEATED_ELITE_4_SYDNEY call EverGrandeCity_SidneysRoom_EventScript_2723F8 msgbox EverGrandeCity_SidneysRoom_Text_2280EC, MSGBOX_DEFAULT release diff --git a/data/maps/FallarborTown/scripts.inc b/data/maps/FallarborTown/scripts.inc index 7b157c5f31..5e06ed4cbe 100644 --- a/data/maps/FallarborTown/scripts.inc +++ b/data/maps/FallarborTown/scripts.inc @@ -5,13 +5,13 @@ FallarborTown_MapScripts:: @ 81EB1FA FallarborTown_MapScript1_1EB200: @ 81EB200 setflag FLAG_VISITED_FALLARBOR_TOWN setvar VAR_0x4086, 0 - clearflag FLAG_0x10E + clearflag FLAG_CONTEST_SKETCH_CREATED end FallarborTown_EventScript_1EB20C:: @ 81EB20C lock faceplayer - goto_if_set FLAG_0x08B, FallarborTown_EventScript_1EB221 + goto_if_set FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, FallarborTown_EventScript_1EB221 msgbox FallarborTown_Text_1EB26B, MSGBOX_DEFAULT release end diff --git a/data/maps/FallarborTown_BattleTentBattleRoom/events.inc b/data/maps/FallarborTown_BattleTentBattleRoom/events.inc index f3c8838e6a..681f5b0285 100644 --- a/data/maps/FallarborTown_BattleTentBattleRoom/events.inc +++ b/data/maps/FallarborTown_BattleTentBattleRoom/events.inc @@ -1,7 +1,7 @@ FallarborTown_BattleTentBattleRoom_EventObjects: @ 852E444 - object_event 1, EVENT_OBJ_GFX_TRADER, 0, 4, 8, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0 + object_event 1, EVENT_OBJ_GFX_VAR_1, 0, 4, 8, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0 object_event 2, EVENT_OBJ_GFX_BLACK_BELT, 0, 3, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 - object_event 3, EVENT_OBJ_GFX_HIPSTER, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 + object_event 3, EVENT_OBJ_GFX_VAR_0, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 FallarborTown_BattleTentBattleRoom_MapEvents:: @ 852E48C map_events FallarborTown_BattleTentBattleRoom_EventObjects, 0x0, 0x0, 0x0 diff --git a/data/maps/FallarborTown_BattleTentLobby/scripts.inc b/data/maps/FallarborTown_BattleTentLobby/scripts.inc index cfc468994f..5d05570cc4 100644 --- a/data/maps/FallarborTown_BattleTentLobby/scripts.inc +++ b/data/maps/FallarborTown_BattleTentLobby/scripts.inc @@ -294,10 +294,10 @@ FallarborTown_BattleTentLobby_EventScript_20021F:: @ 820021F FallarborTown_BattleTentLobby_EventScript_200228:: @ 8200228 lock faceplayer - goto_if_set FLAG_0x1CD, FallarborTown_BattleTentLobby_EventScript_200245 + goto_if_set FLAG_MET_SCOTT_IN_FALLARBOR, FallarborTown_BattleTentLobby_EventScript_200245 msgbox FallarborTown_BattleTentLobby_Text_200501, MSGBOX_DEFAULT addvar VAR_0x40D1, 1 - setflag FLAG_0x1CD + setflag FLAG_MET_SCOTT_IN_FALLARBOR release end diff --git a/data/maps/FallarborTown_House1/scripts.inc b/data/maps/FallarborTown_House1/scripts.inc index 699f5e4ed6..caf915e858 100644 --- a/data/maps/FallarborTown_House1/scripts.inc +++ b/data/maps/FallarborTown_House1/scripts.inc @@ -4,7 +4,7 @@ FallarborTown_House1_MapScripts:: @ 8200F12 FallarborTown_House1_EventScript_200F13:: @ 8200F13 lock faceplayer - goto_if_set FLAG_0x0E5, FallarborTown_House1_EventScript_200FB2 + goto_if_set FLAG_RECEIVED_TM27, FallarborTown_House1_EventScript_200FB2 checkitem ITEM_METEORITE, 1 compare VAR_RESULT, 1 goto_if_eq FallarborTown_House1_EventScript_200F38 @@ -23,7 +23,7 @@ FallarborTown_House1_EventScript_200F38:: @ 8200F38 goto_if_eq FallarborTown_House1_EventScript_272054 setvar VAR_0x8004, 280 call FallarborTown_House1_EventScript_2723E4 - setflag FLAG_0x0E5 + setflag FLAG_RECEIVED_TM27 msgbox FallarborTown_House1_Text_2011A5, MSGBOX_DEFAULT release end @@ -51,8 +51,8 @@ FallarborTown_House1_EventScript_200FB2:: @ 8200FB2 FallarborTown_House1_EventScript_200FBC:: @ 8200FBC lock faceplayer - goto_if_set FLAG_0x0E5, FallarborTown_House1_EventScript_200FE4 - goto_if_set FLAG_0x08B, FallarborTown_House1_EventScript_200FDA + goto_if_set FLAG_RECEIVED_TM27, FallarborTown_House1_EventScript_200FE4 + goto_if_set FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, FallarborTown_House1_EventScript_200FDA msgbox FallarborTown_House1_Text_2012BC, MSGBOX_DEFAULT release end diff --git a/data/maps/FarawayIsland_Entrance/scripts.inc b/data/maps/FarawayIsland_Entrance/scripts.inc index 8661c4c526..37c16885f8 100644 --- a/data/maps/FarawayIsland_Entrance/scripts.inc +++ b/data/maps/FarawayIsland_Entrance/scripts.inc @@ -3,7 +3,7 @@ FarawayIsland_Entrance_MapScripts:: @ 8267C8E .byte 0 FarawayIsland_Entrance_MapScript1_267C94: @ 8267C94 - setflag FLAG_0x8D8 + setflag FLAG_ARRIVED_ON_FARAWAY_ISLAND end FarawayIsland_Entrance_EventScript_267C98:: @ 8267C98 diff --git a/data/maps/FarawayIsland_Interior/scripts.inc b/data/maps/FarawayIsland_Interior/scripts.inc index 55fd591e24..a1038edac3 100644 --- a/data/maps/FarawayIsland_Interior/scripts.inc +++ b/data/maps/FarawayIsland_Interior/scripts.inc @@ -40,11 +40,11 @@ FarawayIsland_Interior_EventScript_267D5E:: @ 8267D5E FarawayIsland_Interior_MapScript1_267D72: @ 8267D72 setvar VAR_0x403A, 0 setvar VAR_TEMP_1, 1 - call_if_unset FLAG_0x1CA, FarawayIsland_Interior_EventScript_267D86 + call_if_unset FLAG_CAUGHT_MEW, FarawayIsland_Interior_EventScript_267D86 end FarawayIsland_Interior_EventScript_267D86:: @ 8267D86 - goto_if_set FLAG_0x1C7, FarawayIsland_Interior_EventScript_27374E + goto_if_set FLAG_DEFEATED_MEW, FarawayIsland_Interior_EventScript_27374E clearflag FLAG_HIDE_MEW setvar VAR_TEMP_1, 0 return @@ -153,12 +153,12 @@ FarawayIsland_Interior_EventScript_267DF2:: @ 8267DF2 goto_if_eq FarawayIsland_Interior_EventScript_267EA4 compare VAR_RESULT, 10 goto_if_eq FarawayIsland_Interior_EventScript_267EA4 - setflag FLAG_0x1CA + setflag FLAG_CAUGHT_MEW release end FarawayIsland_Interior_EventScript_267E96:: @ 8267E96 - setflag FLAG_0x1C7 + setflag FLAG_DEFEATED_MEW setvar VAR_0x8004, 151 goto FarawayIsland_Interior_EventScript_273776 end diff --git a/data/maps/FortreeCity/scripts.inc b/data/maps/FortreeCity/scripts.inc index d1c80c9f9d..d5c1ab29e9 100644 --- a/data/maps/FortreeCity/scripts.inc +++ b/data/maps/FortreeCity/scripts.inc @@ -18,7 +18,7 @@ FortreeCity_EventScript_1E25B6:: @ 81E25B6 FortreeCity_EventScript_1E25BF:: @ 81E25BF lock faceplayer - goto_if_set FLAG_0x127, FortreeCity_EventScript_1E25D4 + goto_if_set FLAG_KECLEON_FLED_FORTREE, FortreeCity_EventScript_1E25D4 msgbox FortreeCity_Text_1E2738, MSGBOX_DEFAULT release end @@ -81,7 +81,7 @@ FortreeCity_EventScript_1E2645:: @ 81E2645 applymovement VAR_LAST_TALKED, FortreeCity_Movement_1E2674 waitmovement 0 removeobject VAR_LAST_TALKED - setflag FLAG_0x127 + setflag FLAG_KECLEON_FLED_FORTREE release end diff --git a/data/maps/FortreeCity_Gym/scripts.inc b/data/maps/FortreeCity_Gym/scripts.inc index f45d87c582..17633c0d57 100644 --- a/data/maps/FortreeCity_Gym/scripts.inc +++ b/data/maps/FortreeCity_Gym/scripts.inc @@ -20,7 +20,7 @@ FortreeCity_Gym_EventScript_2165C8:: @ 82165C8 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 goto_if_eq FortreeCity_Gym_EventScript_21668D - goto_if_unset FLAG_0x0AA, FortreeCity_Gym_EventScript_216646 + goto_if_unset FLAG_RECEIVED_TM40, FortreeCity_Gym_EventScript_216646 msgbox FortreeCity_Gym_Text_217071, MSGBOX_DEFAULT release end @@ -30,7 +30,7 @@ FortreeCity_Gym_EventScript_2165FD:: @ 82165FD waitmessage call FortreeCity_Gym_EventScript_27207E msgbox FortreeCity_Gym_Text_216F17, MSGBOX_DEFAULT - setflag FLAG_0x4F5 + setflag FLAG_DEFEATED_FORTREE_GYM setflag FLAG_BADGE06_GET setvar VAR_0x8008, 6 call FortreeCity_Gym_EventScript_271F43 @@ -42,9 +42,9 @@ FortreeCity_Gym_EventScript_2165FD:: @ 82165FD waitfanfare closemessage delay 30 - setflag FLAG_0x1D7 + setflag FLAG_ENABLE_WINONA_MATCH_CALL setvar VAR_0x40F3, 0 - setflag FLAG_0x08A + setflag FLAG_REGISTER_WINONA_POKENAV release end @@ -53,7 +53,7 @@ FortreeCity_Gym_EventScript_216646:: @ 8216646 compare VAR_RESULT, 0 goto_if_eq FortreeCity_Gym_EventScript_272054 msgbox FortreeCity_Gym_Text_216FEC, MSGBOX_DEFAULT - setflag FLAG_0x0AA + setflag FLAG_RECEIVED_TM40 release end @@ -62,7 +62,7 @@ FortreeCity_Gym_EventScript_21666A:: @ 821666A compare VAR_RESULT, 0 goto_if_eq FortreeCity_Gym_EventScript_27205E msgbox FortreeCity_Gym_Text_216FEC, MSGBOX_DEFAULT - setflag FLAG_0x0AA + setflag FLAG_RECEIVED_TM40 return FortreeCity_Gym_EventScript_21668D:: @ 821668D @@ -103,7 +103,7 @@ FortreeCity_Gym_EventScript_21671B:: @ 821671B FortreeCity_Gym_EventScript_216732:: @ 8216732 lock faceplayer - goto_if_set FLAG_0x4F5, FortreeCity_Gym_EventScript_216747 + goto_if_set FLAG_DEFEATED_FORTREE_GYM, FortreeCity_Gym_EventScript_216747 msgbox FortreeCity_Gym_Text_216785, MSGBOX_DEFAULT release end @@ -318,4 +318,3 @@ FortreeCity_Gym_Text_217292: @ 8217292 .string "POKéMON with you?\p" .string "Please return with two POKéMON\n" .string "at the very least.$" - diff --git a/data/maps/FortreeCity_House1/scripts.inc b/data/maps/FortreeCity_House1/scripts.inc index 44651ae0d1..87aa7a6436 100644 --- a/data/maps/FortreeCity_House1/scripts.inc +++ b/data/maps/FortreeCity_House1/scripts.inc @@ -4,10 +4,10 @@ FortreeCity_House1_MapScripts:: @ 82162BA FortreeCity_House1_EventScript_2162BB:: @ 82162BB lock faceplayer - goto_if_set FLAG_0x09B, FortreeCity_House1_EventScript_216355 + goto_if_set FLAG_FORTREE_NPC_TRADE_COMPLETED, FortreeCity_House1_EventScript_216355 setvar VAR_0x8008, 1 copyvar VAR_0x8004, VAR_0x8008 - specialvar VAR_RESULT, sub_807E73C + specialvar VAR_RESULT, GetInGameTradeSpeciesInfo copyvar VAR_0x8009, VAR_RESULT msgbox FortreeCity_House1_Text_21637B, MSGBOX_YESNO compare VAR_RESULT, 0 @@ -18,18 +18,18 @@ FortreeCity_House1_EventScript_2162BB:: @ 82162BB compare VAR_0x8004, 255 goto_if_eq FortreeCity_House1_EventScript_21633D copyvar VAR_0x8005, VAR_0x800A - specialvar VAR_RESULT, sub_807E9D4 + specialvar VAR_RESULT, GetTradeSpecies copyvar VAR_0x800B, VAR_RESULT compare VAR_RESULT, VAR_0x8009 goto_if_ne FortreeCity_House1_EventScript_216347 copyvar VAR_0x8004, VAR_0x8008 copyvar VAR_0x8005, VAR_0x800A - special sub_807EA10 - special sub_807F0E4 + special CreateInGameTradePokemon + special DoInGameTradeScene waitstate bufferspeciesname 0, VAR_0x8009 msgbox FortreeCity_House1_Text_216440, MSGBOX_DEFAULT - setflag FLAG_0x09B + setflag FLAG_FORTREE_NPC_TRADE_COMPLETED release end diff --git a/data/maps/FortreeCity_House2/scripts.inc b/data/maps/FortreeCity_House2/scripts.inc index db8b140299..cebd18884c 100644 --- a/data/maps/FortreeCity_House2/scripts.inc +++ b/data/maps/FortreeCity_House2/scripts.inc @@ -4,8 +4,8 @@ FortreeCity_House2_MapScripts:: @ 82177CA FortreeCity_House2_EventScript_2177CB:: @ 82177CB lock faceplayer - goto_if_set FLAG_0x108, FortreeCity_House2_EventScript_21786E - call_if_unset FLAG_0x076, FortreeCity_House2_EventScript_217862 + goto_if_set FLAG_RECEIVED_TM10, FortreeCity_House2_EventScript_21786E + call_if_unset FLAG_MET_HIDDEN_POWER_GIVER, FortreeCity_House2_EventScript_217862 msgbox FortreeCity_House2_Text_2178D6, MSGBOX_DEFAULT multichoice 21, 8, 54, 1 switch VAR_RESULT @@ -22,14 +22,14 @@ FortreeCity_House2_EventScript_2177CB:: @ 82177CB giveitem_std ITEM_TM10 compare VAR_RESULT, 0 goto_if_eq FortreeCity_House2_EventScript_272054 - setflag FLAG_0x108 + setflag FLAG_RECEIVED_TM10 msgbox FortreeCity_House2_Text_217A91, MSGBOX_DEFAULT release end FortreeCity_House2_EventScript_217862:: @ 8217862 msgbox FortreeCity_House2_Text_217882, MSGBOX_DEFAULT - setflag FLAG_0x076 + setflag FLAG_MET_HIDDEN_POWER_GIVER return FortreeCity_House2_EventScript_21786E:: @ 821786E diff --git a/data/maps/FortreeCity_House4/scripts.inc b/data/maps/FortreeCity_House4/scripts.inc index 742fce6e99..fe4aefe5fc 100644 --- a/data/maps/FortreeCity_House4/scripts.inc +++ b/data/maps/FortreeCity_House4/scripts.inc @@ -7,12 +7,12 @@ FortreeCity_House4_EventScript_217C81:: @ 8217C81 FortreeCity_House4_EventScript_217C8A:: @ 8217C8A lockall - goto_if_set FLAG_0x0DF, FortreeCity_House4_EventScript_217D06 - goto_if_set FLAG_0x0E0, FortreeCity_House4_EventScript_217CD8 - goto_if_set FLAG_0x0DE, FortreeCity_House4_EventScript_217CC4 + goto_if_set FLAG_RECEIVED_MENTAL_HERB, FortreeCity_House4_EventScript_217D06 + goto_if_set FLAG_WINGULL_DELIVERED_MAIL, FortreeCity_House4_EventScript_217CD8 + goto_if_set FLAG_WINGULL_SENT_ON_ERRAND, FortreeCity_House4_EventScript_217CC4 msgbox FortreeCity_House4_Text_217DB9, MSGBOX_DEFAULT closemessage - setflag FLAG_0x0DE + setflag FLAG_WINGULL_SENT_ON_ERRAND clearflag FLAG_HIDE_MOSSDEEP_CITY_HOUSE_2_WINGULL applymovement 3, FortreeCity_House4_Movement_217D1A waitmovement 0 @@ -34,7 +34,7 @@ FortreeCity_House4_EventScript_217CD8:: @ 8217CD8 giveitem_std ITEM_MENTAL_HERB compare VAR_RESULT, 0 goto_if_eq FortreeCity_House4_EventScript_272054 - setflag FLAG_0x0DF + setflag FLAG_RECEIVED_MENTAL_HERB releaseall end diff --git a/data/maps/GraniteCave_1F/scripts.inc b/data/maps/GraniteCave_1F/scripts.inc index 1ace4071b3..b9e68d43ce 100644 --- a/data/maps/GraniteCave_1F/scripts.inc +++ b/data/maps/GraniteCave_1F/scripts.inc @@ -4,10 +4,10 @@ GraniteCave_1F_MapScripts:: @ 822DA5D GraniteCave_1F_EventScript_22DA5E:: @ 822DA5E lock faceplayer - goto_if_set FLAG_0x06D, GraniteCave_1F_EventScript_22DA8A + goto_if_set FLAG_RECEIVED_HM05, GraniteCave_1F_EventScript_22DA8A msgbox GraniteCave_1F_Text_22DA94, MSGBOX_DEFAULT giveitem_std ITEM_HM05 - setflag FLAG_0x06D + setflag FLAG_RECEIVED_HM05 msgbox GraniteCave_1F_Text_22DBB7, MSGBOX_DEFAULT release end diff --git a/data/maps/GraniteCave_StevensRoom/scripts.inc b/data/maps/GraniteCave_StevensRoom/scripts.inc index e08dfffd74..d29ee13f25 100644 --- a/data/maps/GraniteCave_StevensRoom/scripts.inc +++ b/data/maps/GraniteCave_StevensRoom/scripts.inc @@ -7,7 +7,7 @@ GraniteCave_StevensRoom_EventScript_22DC7B:: @ 822DC7B msgbox GraniteCave_StevensRoom_Text_22DD5A, MSGBOX_DEFAULT setvar VAR_0x8004, 274 call GraniteCave_StevensRoom_EventScript_2723E4 - setflag FLAG_0x0BD + setflag FLAG_DELIVERED_STEVEN_LETTER msgbox GraniteCave_StevensRoom_Text_22DDBD, MSGBOX_DEFAULT giveitem_std ITEM_TM47 compare VAR_RESULT, 0 @@ -20,7 +20,7 @@ GraniteCave_StevensRoom_EventScript_22DC7B:: @ 822DC7B waitfanfare closemessage delay 30 - setflag FLAG_0x131 + setflag FLAG_REGISTERED_STEVEN_POKENAV msgbox GraniteCave_StevensRoom_Text_22DF8C, MSGBOX_DEFAULT closemessage compare VAR_FACING, 2 diff --git a/data/maps/IslandCave/scripts.inc b/data/maps/IslandCave/scripts.inc index 218a922057..7b551b4a76 100644 --- a/data/maps/IslandCave/scripts.inc +++ b/data/maps/IslandCave/scripts.inc @@ -31,7 +31,7 @@ IslandCave_EventScript_238E62:: @ 8238E62 IslandCave_MapScript1_238E99: @ 8238E99 setflag FLAG_LANDMARK_ISLAND_CAVE call IslandCave_EventScript_238F45 - call_if_unset FLAG_0x1BC, IslandCave_EventScript_238EAB + call_if_unset FLAG_DEFEATED_REGICE, IslandCave_EventScript_238EAB end IslandCave_EventScript_238EAB:: @ 8238EAB @@ -107,12 +107,12 @@ IslandCave_EventScript_238F58:: @ 8238F58 goto_if_eq IslandCave_EventScript_238FA8 compare VAR_RESULT, 5 goto_if_eq IslandCave_EventScript_238FA8 - setflag FLAG_0x1BC + setflag FLAG_DEFEATED_REGICE release end IslandCave_EventScript_238F9F:: @ 8238F9F - setflag FLAG_0x1BC + setflag FLAG_DEFEATED_REGICE goto IslandCave_EventScript_27376D end diff --git a/data/maps/JaggedPass/scripts.inc b/data/maps/JaggedPass/scripts.inc index a140093caa..93788a7032 100644 --- a/data/maps/JaggedPass/scripts.inc +++ b/data/maps/JaggedPass/scripts.inc @@ -68,7 +68,7 @@ JaggedPass_EventScript_2306BB:: @ 82306BB JaggedPass_EventScript_230718:: @ 8230718 lockall - goto_if_set FLAG_0x139, JaggedPass_EventScript_230766 + goto_if_set FLAG_BEAT_MAGMA_GRUNT_JAGGED_PASS, JaggedPass_EventScript_230766 waitse playse SE_PIN applymovement 5, JaggedPass_Movement_272598 @@ -80,7 +80,7 @@ JaggedPass_EventScript_230718:: @ 8230718 msgbox JaggedPass_Text_230CCB, MSGBOX_DEFAULT closemessage trainerbattle_no_intro TRAINER_GRUNT_30, JaggedPass_Text_230D2D - setflag FLAG_0x139 + setflag FLAG_BEAT_MAGMA_GRUNT_JAGGED_PASS applymovement 5, JaggedPass_Movement_2725A2 waitmovement 0 releaseall diff --git a/data/maps/LavaridgeTown/events.inc b/data/maps/LavaridgeTown/events.inc index 4822762ea2..6d34ee5c80 100644 --- a/data/maps/LavaridgeTown/events.inc +++ b/data/maps/LavaridgeTown/events.inc @@ -5,8 +5,8 @@ LavaridgeTown_EventObjects: @ 8527A54 object_event 4, EVENT_OBJ_GFX_TWIN, 0, 10, 13, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 0, 2, 0, 0, LavaridgeTown_EventScript_1EA720, 0 object_event 5, EVENT_OBJ_GFX_HOT_SPRINGS_OLD_WOMAN, 0, 4, 4, 3, MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT, 0, 0, 0, 0, LavaridgeTown_EventScript_1EA729, 0 object_event 6, EVENT_OBJ_GFX_HOT_SPRINGS_OLD_WOMAN, 0, 5, 4, 3, MOVEMENT_TYPE_FACE_DOWN_AND_LEFT, 0, 0, 0, 0, LavaridgeTown_EventScript_1EA732, 0 - object_event 7, EVENT_OBJ_GFX_GIDDY, 0, 6, 16, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_2 - object_event 8, EVENT_OBJ_GFX_HIPSTER, 0, 12, 15, 0, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_1 + object_event 7, EVENT_OBJ_GFX_VAR_3, 0, 6, 16, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_2 + object_event 8, EVENT_OBJ_GFX_VAR_0, 0, 12, 15, 0, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_1 object_event 9, EVENT_OBJ_GFX_EXPERT_F, 0, 4, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LavaridgeTown_EventScript_1EA744, 0 LavaridgeTown_MapWarps: @ 8527B2C diff --git a/data/maps/LavaridgeTown/scripts.inc b/data/maps/LavaridgeTown/scripts.inc index 8d7ab36db5..82a3b8469c 100644 --- a/data/maps/LavaridgeTown/scripts.inc +++ b/data/maps/LavaridgeTown/scripts.inc @@ -5,8 +5,8 @@ LavaridgeTown_MapScripts:: @ 81EA4D3 LavaridgeTown_MapScript1_1EA4DE: @ 81EA4DE setflag FLAG_VISITED_LAVARIDGE_TOWN - call_if_set FLAG_0x06C, LavaridgeTown_EventScript_1EA514 - call_if_set FLAG_0x08B, LavaridgeTown_EventScript_1EA53F + call_if_set FLAG_FLANNERY_GIVES_BADGE_INFO, LavaridgeTown_EventScript_1EA514 + call_if_set FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, LavaridgeTown_EventScript_1EA53F call LavaridgeTown_EventScript_271ED7 call LavaridgeTown_EventScript_271EFB compare VAR_0x4053, 1 @@ -16,7 +16,7 @@ LavaridgeTown_MapScript1_1EA4DE: @ 81EA4DE end LavaridgeTown_EventScript_1EA514:: @ 81EA514 - clearflag FLAG_0x06C + clearflag FLAG_FLANNERY_GIVES_BADGE_INFO return LavaridgeTown_EventScript_1EA518:: @ 81EA518 @@ -71,7 +71,7 @@ LavaridgeTown_EventScript_1EA551:: @ 81EA551 LavaridgeTown_EventScript_1EA5B5:: @ 81EA5B5 msgbox LavaridgeTown_Text_1EA7C0, MSGBOX_DEFAULT giveitem_std ITEM_GO_GOGGLES - setflag FLAG_0x0DD + setflag FLAG_RECEIVED_GO_GOGGLES msgbox LavaridgeTown_Text_1EA897, MSGBOX_DEFAULT goto LavaridgeTown_EventScript_1EA5FF end @@ -79,7 +79,7 @@ LavaridgeTown_EventScript_1EA5B5:: @ 81EA5B5 LavaridgeTown_EventScript_1EA5DA:: @ 81EA5DA msgbox LavaridgeTown_Text_1EA9A2, MSGBOX_DEFAULT giveitem_std ITEM_GO_GOGGLES - setflag FLAG_0x0DD + setflag FLAG_RECEIVED_GO_GOGGLES msgbox LavaridgeTown_Text_1EAA2E, MSGBOX_DEFAULT goto LavaridgeTown_EventScript_1EA5FF end @@ -246,7 +246,7 @@ LavaridgeTown_EventScript_1EA73B:: @ 81EA73B LavaridgeTown_EventScript_1EA744:: @ 81EA744 lock faceplayer - goto_if_set FLAG_0x10A, LavaridgeTown_EventScript_1EA787 + goto_if_set FLAG_RECEIVED_LAVARIDGE_EGG, LavaridgeTown_EventScript_1EA787 msgbox LavaridgeTown_Text_1EAB80, MSGBOX_YESNO compare VAR_RESULT, 0 goto_if_eq LavaridgeTown_EventScript_1EA79B @@ -254,7 +254,7 @@ LavaridgeTown_EventScript_1EA744:: @ 81EA744 compare VAR_RESULT, 6 goto_if_eq LavaridgeTown_EventScript_1EA791 msgbox LavaridgeTown_Text_1EACC0, MSGBOX_DEFAULT - setflag FLAG_0x10A + setflag FLAG_RECEIVED_LAVARIDGE_EGG playfanfare MUS_FANFA4 message LavaridgeTown_Text_1EACF4 waitfanfare diff --git a/data/maps/LavaridgeTown_Gym_1F/scripts.inc b/data/maps/LavaridgeTown_Gym_1F/scripts.inc index c0c8f1093c..06ea54a989 100644 --- a/data/maps/LavaridgeTown_Gym_1F/scripts.inc +++ b/data/maps/LavaridgeTown_Gym_1F/scripts.inc @@ -63,7 +63,7 @@ LavaridgeTown_Gym_1F_EventScript_1FE78C:: @ 81FE78C specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE864 - goto_if_unset FLAG_0x0A8, LavaridgeTown_Gym_1F_EventScript_1FE81D + goto_if_unset FLAG_RECEIVED_TM50, LavaridgeTown_Gym_1F_EventScript_1FE81D msgbox LavaridgeTown_Gym_1F_Text_1FF546, MSGBOX_DEFAULT release end @@ -73,8 +73,8 @@ LavaridgeTown_Gym_1F_EventScript_1FE7C1:: @ 81FE7C1 waitmessage call LavaridgeTown_Gym_1F_EventScript_27207E msgbox LavaridgeTown_Gym_1F_Text_1FF359, MSGBOX_DEFAULT - setflag FLAG_0x06C - setflag FLAG_0x4F3 + setflag FLAG_FLANNERY_GIVES_BADGE_INFO + setflag FLAG_DEFEATED_LAVARIDGE_GYM setflag FLAG_BADGE04_GET addvar VAR_0x4085, 1 compare VAR_0x4085, 6 @@ -91,7 +91,7 @@ LavaridgeTown_Gym_1F_EventScript_1FE7C1:: @ 81FE7C1 waitfanfare closemessage delay 30 - setflag FLAG_0x1D6 + setflag FLAG_ENABLE_FLANNERY_MATCH_CALL release end @@ -100,7 +100,7 @@ LavaridgeTown_Gym_1F_EventScript_1FE81D:: @ 81FE81D compare VAR_RESULT, 0 goto_if_eq LavaridgeTown_Gym_1F_EventScript_272054 msgbox LavaridgeTown_Gym_1F_Text_1FF45C, MSGBOX_DEFAULT - setflag FLAG_0x0A8 + setflag FLAG_RECEIVED_TM50 release end @@ -109,7 +109,7 @@ LavaridgeTown_Gym_1F_EventScript_1FE841:: @ 81FE841 compare VAR_RESULT, 0 goto_if_eq LavaridgeTown_Gym_1F_EventScript_27205E msgbox LavaridgeTown_Gym_1F_Text_1FF45C, MSGBOX_DEFAULT - setflag FLAG_0x0A8 + setflag FLAG_RECEIVED_TM50 return LavaridgeTown_Gym_1F_EventScript_1FE864:: @ 81FE864 @@ -169,7 +169,7 @@ LavaridgeTown_Gym_B1F_EventScript_1FE951:: @ 81FE951 LavaridgeTown_Gym_1F_EventScript_1FE96C:: @ 81FE96C lock faceplayer - goto_if_set FLAG_0x4F3, LavaridgeTown_Gym_1F_EventScript_1FE981 + goto_if_set FLAG_DEFEATED_LAVARIDGE_GYM, LavaridgeTown_Gym_1F_EventScript_1FE981 msgbox LavaridgeTown_Gym_1F_Text_1FE9BF, MSGBOX_DEFAULT release end diff --git a/data/maps/LavaridgeTown_HerbShop/scripts.inc b/data/maps/LavaridgeTown_HerbShop/scripts.inc index d627d4fa76..e579963185 100644 --- a/data/maps/LavaridgeTown_HerbShop/scripts.inc +++ b/data/maps/LavaridgeTown_HerbShop/scripts.inc @@ -28,12 +28,12 @@ LavaridgeTown_HerbShop_EventScript_1FE4FC:: @ 81FE4FC LavaridgeTown_HerbShop_EventScript_1FE505:: @ 81FE505 lock faceplayer - goto_if_set FLAG_0x0FE, LavaridgeTown_HerbShop_EventScript_1FE534 + goto_if_set FLFLAG_RECEIVED_CHARCOAL, LavaridgeTown_HerbShop_EventScript_1FE534 msgbox LavaridgeTown_HerbShop_Text_1FE584, MSGBOX_DEFAULT giveitem_std ITEM_CHARCOAL compare VAR_RESULT, 0 goto_if_eq LavaridgeTown_HerbShop_EventScript_272054 - setflag FLAG_0x0FE + setflag FLFLAG_RECEIVED_CHARCOAL release end diff --git a/data/maps/LilycoveCity/events.inc b/data/maps/LilycoveCity/events.inc index 2c7f71d5c8..68a7822120 100644 --- a/data/maps/LilycoveCity/events.inc +++ b/data/maps/LilycoveCity/events.inc @@ -15,7 +15,7 @@ LilycoveCity_EventObjects: @ 8526CE8 object_event 14, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 45, 12, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LilycoveCity_EventScript_1E2DC3, FLAG_HIDE_LILYCOVE_CITY_AQUA_GRUNTS object_event 15, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 38, 9, 5, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, LilycoveCity_EventScript_1E2DCC, FLAG_HIDE_LILYCOVE_CITY_AQUA_GRUNTS object_event 16, EVENT_OBJ_GFX_GENTLEMAN, 0, 50, 7, 5, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_EventScript_1E2BD8, 0 - object_event 17, EVENT_OBJ_GFX_HIPSTER, 0, 27, 7, 5, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LilycoveCity_EventScript_1E2DDE, FLAG_HIDE_LILYCOVE_CITY_RIVAL + object_event 17, EVENT_OBJ_GFX_VAR_0, 0, 27, 7, 5, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LilycoveCity_EventScript_1E2DDE, FLAG_HIDE_LILYCOVE_CITY_RIVAL object_event 18, EVENT_OBJ_GFX_SCHOOL_KID_M, 0, 16, 23, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, LilycoveCity_EventScript_1E302D, 0 object_event 19, EVENT_OBJ_GFX_WOMAN_3, 0, 41, 25, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, LilycoveCity_EventScript_1E2CEE, 0 object_event 20, EVENT_OBJ_GFX_MAN_2, 0, 40, 25, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, LilycoveCity_EventScript_1E2CDD, 0 diff --git a/data/maps/LilycoveCity/scripts.inc b/data/maps/LilycoveCity/scripts.inc index 20baacc898..02319e8cff 100644 --- a/data/maps/LilycoveCity/scripts.inc +++ b/data/maps/LilycoveCity/scripts.inc @@ -12,7 +12,7 @@ LilycoveCity_MapScript1_1E2B47: @ 81E2B47 end LilycoveCity_MapScript1_1E2B61: @ 81E2B61 - call_if_unset FLAG_0x070, LilycoveCity_EventScript_1E2B6B + call_if_unset FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, LilycoveCity_EventScript_1E2B6B end LilycoveCity_EventScript_1E2B6B:: @ 81E2B6B @@ -34,14 +34,14 @@ LilycoveCity_EventScript_1E2BD8:: @ 81E2BD8 lock faceplayer dodailyevents - goto_if_set FLAG_0x92F, LilycoveCity_EventScript_1E2C18 + goto_if_set FLAG_DAILY_LILYCOVE_RECEIVED_BERRY, LilycoveCity_EventScript_1E2C18 msgbox LilycoveCity_Text_2A7244, MSGBOX_DEFAULT random 10 addvar VAR_RESULT, 133 giveitem_std VAR_RESULT compare VAR_RESULT, 0 goto_if_eq LilycoveCity_EventScript_272054 - setflag FLAG_0x92F + setflag FLAG_DAILY_LILYCOVE_RECEIVED_BERRY msgbox LilycoveCity_Text_2A72E3, MSGBOX_DEFAULT release end @@ -75,7 +75,7 @@ LilycoveCity_EventScript_1E2C4A:: @ 81E2C4A LilycoveCity_EventScript_1E2C53:: @ 81E2C53 lock faceplayer - goto_if_set FLAG_0x070, LilycoveCity_EventScript_1E2C68 + goto_if_set FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, LilycoveCity_EventScript_1E2C68 msgbox LilycoveCity_Text_1E3FAB, MSGBOX_DEFAULT release end @@ -88,7 +88,7 @@ LilycoveCity_EventScript_1E2C68:: @ 81E2C68 LilycoveCity_EventScript_1E2C72:: @ 81E2C72 lock faceplayer - goto_if_set FLAG_0x070, LilycoveCity_EventScript_1E2C87 + goto_if_set FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, LilycoveCity_EventScript_1E2C87 msgbox LilycoveCity_Text_1E40AD, MSGBOX_DEFAULT release end @@ -195,14 +195,14 @@ LilycoveCity_EventScript_1E2D74:: @ 81E2D74 LilycoveCity_EventScript_1E2D7D:: @ 81E2D7D lockall - goto_if_set FLAG_0x0DA, LilycoveCity_EventScript_1E2DB0 + goto_if_set FLAG_MET_WAILMER_TRAINER, LilycoveCity_EventScript_1E2DB0 msgbox LilycoveCity_Text_1E3D1F, MSGBOX_DEFAULT applymovement VAR_LAST_TALKED, LilycoveCity_Movement_27259E waitmovement 0 msgbox LilycoveCity_Text_1E3D4A, MSGBOX_DEFAULT applymovement VAR_LAST_TALKED, LilycoveCity_Movement_2725A2 waitmovement 0 - setflag FLAG_0x0DA + setflag FLAG_MET_WAILMER_TRAINER releaseall end @@ -239,8 +239,8 @@ LilycoveCity_EventScript_1E2DDE:: @ 81E2DDE LilycoveCity_EventScript_1E2DF8:: @ 81E2DF8 playbgm MUS_GIRL_SUP, 1 - call_if_set FLAG_0x11E, LilycoveCity_EventScript_1E2E48 - call_if_unset FLAG_0x11E, LilycoveCity_EventScript_1E2E51 + call_if_set FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE, LilycoveCity_EventScript_1E2E48 + call_if_unset FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE, LilycoveCity_EventScript_1E2E51 compare VAR_RESULT, 0 goto_if_eq LilycoveCity_EventScript_1E2E5A msgbox LilycoveCity_Text_1E3234, MSGBOX_DEFAULT @@ -259,7 +259,7 @@ LilycoveCity_EventScript_1E2E51:: @ 81E2E51 return LilycoveCity_EventScript_1E2E5A:: @ 81E2E5A - setflag FLAG_0x11E + setflag FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE msgbox LilycoveCity_Text_1E318D, MSGBOX_DEFAULT savebgm MUS_DUMMY fadedefaultbgm @@ -268,8 +268,8 @@ LilycoveCity_EventScript_1E2E5A:: @ 81E2E5A LilycoveCity_EventScript_1E2E6B:: @ 81E2E6B playbgm MUS_BOY_SUP, 1 - call_if_set FLAG_0x11E, LilycoveCity_EventScript_1E2EBB - call_if_unset FLAG_0x11E, LilycoveCity_EventScript_1E2EC4 + call_if_set FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE, LilycoveCity_EventScript_1E2EBB + call_if_unset FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE, LilycoveCity_EventScript_1E2EC4 compare VAR_RESULT, 0 goto_if_eq LilycoveCity_EventScript_1E2ECD msgbox LilycoveCity_Text_1E373C, MSGBOX_DEFAULT @@ -288,7 +288,7 @@ LilycoveCity_EventScript_1E2EC4:: @ 81E2EC4 return LilycoveCity_EventScript_1E2ECD:: @ 81E2ECD - setflag FLAG_0x11E + setflag FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE msgbox LilycoveCity_Text_1E36BF, MSGBOX_DEFAULT savebgm MUS_DUMMY fadedefaultbgm @@ -397,7 +397,7 @@ LilycoveCity_EventScript_1E3006:: @ 81E3006 waitfieldeffect 30 savebgm MUS_DUMMY fadedefaultbgm - setflag FLAG_0x124 + setflag FLAG_MET_RIVAL_LILYCOVE release end diff --git a/data/maps/LilycoveCity_ContestLobby/scripts.inc b/data/maps/LilycoveCity_ContestLobby/scripts.inc index c60e8fdfc5..74bee15d32 100644 --- a/data/maps/LilycoveCity_ContestLobby/scripts.inc +++ b/data/maps/LilycoveCity_ContestLobby/scripts.inc @@ -139,23 +139,23 @@ LilycoveCity_ContestLobby_EventScript_21A3B6:: @ 821A3B6 return LilycoveCity_ContestLobby_EventScript_21A3F3:: @ 821A3F3 - setflag FLAG_0x0A0 + setflag FLAG_COOL_PAINTING_MADE return LilycoveCity_ContestLobby_EventScript_21A3F7:: @ 821A3F7 - setflag FLAG_0x0A1 + setflag FLAG_BEAUTY_PAINTING_MADE return LilycoveCity_ContestLobby_EventScript_21A3FB:: @ 821A3FB - setflag FLAG_0x0A2 + setflag FLAG_CUTE_PAINTING_MADE return LilycoveCity_ContestLobby_EventScript_21A3FF:: @ 821A3FF - setflag FLAG_0x0A3 + setflag FLAG_SMART_PAINTING_MADE return LilycoveCity_ContestLobby_EventScript_21A403:: @ 821A403 - setflag FLAG_0x0A4 + setflag FLAG_TOUGH_PAINTING_MADE return LilycoveCity_ContestLobby_Movement_21A407: @ 821A407 @@ -364,7 +364,7 @@ LilycoveCity_ContestLobby_EventScript_21A5CF:: @ 821A5CF end LilycoveCity_ContestLobby_EventScript_21A5EF:: @ 821A5EF - setflag FLAG_0x155 + setflag FLAG_ENTERED_LINK_CONTEST switch VAR_CONTEST_CATEGORY case 0, LilycoveCity_ContestLobby_EventScript_21A62F case 1, LilycoveCity_ContestLobby_EventScript_21A63C @@ -1004,7 +1004,7 @@ LilycoveCity_ContestLobby_Movement_21ACEF: @ 821ACEF LilycoveCity_ContestLobby_EventScript_21ACF1:: @ 821ACF1 lock faceplayer - goto_if_set FLAG_0x05F, LilycoveCity_ContestLobby_EventScript_21AD06 + goto_if_set FLAG_RECEIVED_POKEBLOCK_CASE, LilycoveCity_ContestLobby_EventScript_21AD06 msgbox LilycoveCity_ContestLobby_Text_21AD10, MSGBOX_DEFAULT release end diff --git a/data/maps/LilycoveCity_CoveLilyMotel_2F/scripts.inc b/data/maps/LilycoveCity_CoveLilyMotel_2F/scripts.inc index 2290b7df55..f7fd5f453d 100644 --- a/data/maps/LilycoveCity_CoveLilyMotel_2F/scripts.inc +++ b/data/maps/LilycoveCity_CoveLilyMotel_2F/scripts.inc @@ -55,10 +55,10 @@ LilycoveCity_CoveLilyMotel_2F_EventScript_218744:: @ 8218744 LilycoveCity_CoveLilyMotel_2F_EventScript_21874D:: @ 821874D lock faceplayer - goto_if_set FLAG_0x1CE, LilycoveCity_CoveLilyMotel_2F_EventScript_21876A + goto_if_set FLAG_MET_SCOTT_IN_LILYCOVE, LilycoveCity_CoveLilyMotel_2F_EventScript_21876A msgbox LilycoveCity_CoveLilyMotel_2F_Text_218ACF, MSGBOX_DEFAULT addvar VAR_0x40D1, 1 - setflag FLAG_0x1CE + setflag FLAG_MET_SCOTT_IN_LILYCOVE release end diff --git a/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc b/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc index d2d5f60d66..2f8fcda3a7 100644 --- a/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc +++ b/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc @@ -11,11 +11,11 @@ LilycoveCity_DepartmentStore_1F_EventScript_21F69C:: @ 821F69C dodailyevents compare VAR_POKELOT_PRIZE, 0 goto_if_ne LilycoveCity_DepartmentStore_1F_EventScript_21F7F7 - goto_if_set FLAG_0x92A, LilycoveCity_DepartmentStore_1F_EventScript_21F78D + goto_if_set FLAG_DAILY_PICKED_LOTO_TICKET, LilycoveCity_DepartmentStore_1F_EventScript_21F78D msgbox LilycoveCity_DepartmentStore_1F_Text_2A6390, MSGBOX_YESNO compare VAR_RESULT, 0 goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_21F797 - setflag FLAG_0x92A + setflag FLAG_DAILY_PICKED_LOTO_TICKET message LilycoveCity_DepartmentStore_1F_Text_2A64C8 waitmessage special RetrieveLotteryNumber diff --git a/data/maps/LilycoveCity_Harbor/scripts.inc b/data/maps/LilycoveCity_Harbor/scripts.inc index 62bcc15dd4..5e91578262 100644 --- a/data/maps/LilycoveCity_Harbor/scripts.inc +++ b/data/maps/LilycoveCity_Harbor/scripts.inc @@ -112,40 +112,40 @@ LilycoveCity_Harbor_EventScript_21E194:: @ 821E194 compare VAR_RESULT, 0 goto_if_eq LilycoveCity_Harbor_EventScript_27374E setvar VAR_TEMP_E, 1 - goto_if_set FLAG_0x1AE, LilycoveCity_Harbor_EventScript_27374E + goto_if_set FLAG_HAS_EON_TICKET, LilycoveCity_Harbor_EventScript_27374E setvar VAR_TEMP_E, 2 return LilycoveCity_Harbor_EventScript_21E1C6:: @ 821E1C6 setvar VAR_TEMP_D, 0 - goto_if_unset FLAG_0x8D5, LilycoveCity_Harbor_EventScript_27374E + goto_if_unset FLAG_ENABLE_SHIP_BIRTH_ISLAND, LilycoveCity_Harbor_EventScript_27374E checkitem ITEM_AURORA_TICKET, 1 compare VAR_RESULT, 0 goto_if_eq LilycoveCity_Harbor_EventScript_27374E setvar VAR_TEMP_D, 1 - goto_if_set FLAG_0x1AF, LilycoveCity_Harbor_EventScript_27374E + goto_if_set FLAG_HAS_AURORA_TICKET, LilycoveCity_Harbor_EventScript_27374E setvar VAR_TEMP_D, 2 return LilycoveCity_Harbor_EventScript_21E1F8:: @ 821E1F8 setvar VAR_TEMP_C, 0 - goto_if_unset FLAG_0x8D6, LilycoveCity_Harbor_EventScript_27374E + goto_if_unset FLAG_ENABLE_SHIP_FARAWAY_ISLAND, LilycoveCity_Harbor_EventScript_27374E checkitem ITEM_OLD_SEA_MAP, 1 compare VAR_RESULT, 0 goto_if_eq LilycoveCity_Harbor_EventScript_27374E setvar VAR_TEMP_C, 1 - goto_if_set FLAG_0x1B0, LilycoveCity_Harbor_EventScript_27374E + goto_if_set FLAG_HAS_OLD_SEA_MAP, LilycoveCity_Harbor_EventScript_27374E setvar VAR_TEMP_C, 2 return LilycoveCity_Harbor_EventScript_21E22A:: @ 821E22A setvar VAR_TEMP_9, 0 - goto_if_unset FLAG_0x8E0, LilycoveCity_Harbor_EventScript_27374E + goto_if_unset FLAG_ENABLE_SHIP_NAVEL_ROCK, LilycoveCity_Harbor_EventScript_27374E checkitem ITEM_MYSTIC_TICKET, 1 compare VAR_RESULT, 0 goto_if_eq LilycoveCity_Harbor_EventScript_27374E setvar VAR_TEMP_9, 1 - goto_if_set FLAG_0x1DB, LilycoveCity_Harbor_EventScript_27374E + goto_if_set FLAG_HAS_MYSTIC_TICKET, LilycoveCity_Harbor_EventScript_27374E setvar VAR_TEMP_9, 2 return @@ -206,7 +206,7 @@ LilycoveCity_Harbor_EventScript_21E2EA:: @ 821E2EA return LilycoveCity_Harbor_EventScript_21E2F0:: @ 821E2F0 - setflag FLAG_0x1AE + setflag FLAG_HAS_EON_TICKET msgbox LilycoveCity_Harbor_Text_2A68D2, MSGBOX_DEFAULT closemessage call LilycoveCity_Harbor_EventScript_21E4EE @@ -223,7 +223,7 @@ LilycoveCity_Harbor_EventScript_21E30F:: @ 821E30F end LilycoveCity_Harbor_EventScript_21E320:: @ 821E320 - setflag FLAG_0x1AF + setflag FLAG_HAS_AURORA_TICKET msgbox LilycoveCity_Harbor_Text_2A68D2, MSGBOX_DEFAULT closemessage call LilycoveCity_Harbor_EventScript_21E4EE @@ -240,7 +240,7 @@ LilycoveCity_Harbor_EventScript_21E33F:: @ 821E33F end LilycoveCity_Harbor_EventScript_21E350:: @ 821E350 - setflag FLAG_0x1B0 + setflag FLAG_HAS_OLD_SEA_MAP msgbox LilycoveCity_Harbor_Text_2A6848, MSGBOX_DEFAULT closemessage call LilycoveCity_Harbor_EventScript_21E4EE @@ -289,7 +289,7 @@ LilycoveCity_Harbor_EventScript_21E40C:: @ 821E40C end LilycoveCity_Harbor_EventScript_21E41D:: @ 821E41D - setflag FLAG_0x1DB + setflag FLAG_HAS_MYSTIC_TICKET msgbox LilycoveCity_Harbor_Text_2A68D2, MSGBOX_DEFAULT closemessage call LilycoveCity_Harbor_EventScript_21E4EE @@ -617,4 +617,3 @@ LilycoveCity_Harbor_Text_21E976: @ 821E976 .string "The folks at the SHIPYARD in SLATEPORT\n" .string "must've worked extra hard.\p" .string "Well, it's my turn to get busy now!$" - diff --git a/data/maps/LilycoveCity_House2/scripts.inc b/data/maps/LilycoveCity_House2/scripts.inc index dc526f00b4..92adafe5a4 100644 --- a/data/maps/LilycoveCity_House2/scripts.inc +++ b/data/maps/LilycoveCity_House2/scripts.inc @@ -4,12 +4,12 @@ LilycoveCity_House2_MapScripts:: @ 821ED74 LilycoveCity_House2_EventScript_21ED75:: @ 821ED75 lock faceplayer - goto_if_set FLAG_0x0EA, LilycoveCity_House2_EventScript_21EDAC + goto_if_set FLAG_RECEIVED_TM44, LilycoveCity_House2_EventScript_21EDAC msgbox LilycoveCity_House2_Text_21EDB6, MSGBOX_DEFAULT giveitem_std ITEM_TM44 compare VAR_RESULT, 0 goto_if_eq LilycoveCity_House2_EventScript_272054 - setflag FLAG_0x0EA + setflag FLAG_RECEIVED_TM44 msgbox LilycoveCity_House2_Text_21EDF9, MSGBOX_DEFAULT release end @@ -28,4 +28,3 @@ LilycoveCity_House2_Text_21EDF9: @ 821EDF9 .string "Yawn…\p" .string "Sleep is essential for good health…\n" .string "Sleep and regain health…$" - diff --git a/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc b/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc index 325ad03409..da39ee655e 100644 --- a/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc +++ b/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc @@ -4,27 +4,27 @@ LilycoveCity_LilycoveMuseum_2F_MapScripts:: @ 821973A .byte 0 LilycoveCity_LilycoveMuseum_2F_MapScript1_219745: @ 8219745 - goto_if_set FLAG_0x0A0, LilycoveCity_LilycoveMuseum_2F_EventScript_21978B + goto_if_set FLAG_COOL_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_21978B goto LilycoveCity_LilycoveMuseum_2F_EventScript_219754 end LilycoveCity_LilycoveMuseum_2F_EventScript_219754:: @ 8219754 - goto_if_set FLAG_0x0A1, LilycoveCity_LilycoveMuseum_2F_EventScript_2197A3 + goto_if_set FLAG_BEAUTY_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_2197A3 goto LilycoveCity_LilycoveMuseum_2F_EventScript_219763 end LilycoveCity_LilycoveMuseum_2F_EventScript_219763:: @ 8219763 - goto_if_set FLAG_0x0A2, LilycoveCity_LilycoveMuseum_2F_EventScript_2197BB + goto_if_set FLAG_CUTE_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_2197BB goto LilycoveCity_LilycoveMuseum_2F_EventScript_219772 end LilycoveCity_LilycoveMuseum_2F_EventScript_219772:: @ 8219772 - goto_if_set FLAG_0x0A3, LilycoveCity_LilycoveMuseum_2F_EventScript_2197D3 + goto_if_set FLAG_SMART_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_2197D3 goto LilycoveCity_LilycoveMuseum_2F_EventScript_219781 end LilycoveCity_LilycoveMuseum_2F_EventScript_219781:: @ 8219781 - goto_if_set FLAG_0x0A4, LilycoveCity_LilycoveMuseum_2F_EventScript_2197EB + goto_if_set FLAG_TOUGH_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_2197EB end LilycoveCity_LilycoveMuseum_2F_EventScript_21978B:: @ 821978B @@ -91,7 +91,7 @@ LilycoveCity_LilycoveMuseum_2F_Movement_219863: @ 8219863 LilycoveCity_LilycoveMuseum_2F_EventScript_219866:: @ 8219866 lockall - goto_if_set FLAG_0x0EC, LilycoveCity_LilycoveMuseum_2F_EventScript_219921 + goto_if_set FLAG_RECEIVED_GLASS_ORNAMENT, LilycoveCity_LilycoveMuseum_2F_EventScript_219921 specialvar VAR_0x8004, sub_80F8940 switch VAR_0x8004 case 1, LilycoveCity_LilycoveMuseum_2F_EventScript_2198BA @@ -121,7 +121,7 @@ LilycoveCity_LilycoveMuseum_2F_EventScript_2198EA:: @ 82198EA givedecoration_std 44 compare VAR_RESULT, 0 goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_219911 - setflag FLAG_0x0EC + setflag FLAG_RECEIVED_GLASS_ORNAMENT closemessage releaseall end @@ -140,31 +140,31 @@ LilycoveCity_LilycoveMuseum_2F_EventScript_219921:: @ 8219921 LilycoveCity_LilycoveMuseum_2F_EventScript_21992B:: @ 821992B lockall - goto_if_set FLAG_0x0A2, LilycoveCity_LilycoveMuseum_2F_EventScript_2199C1 + goto_if_set FLAG_CUTE_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_2199C1 msgbox LilycoveCity_LilycoveMuseum_2F_Text_219FA0, MSGBOX_SIGN end LilycoveCity_LilycoveMuseum_2F_EventScript_21993E:: @ 821993E lockall - goto_if_set FLAG_0x0A4, LilycoveCity_LilycoveMuseum_2F_EventScript_2199DD + goto_if_set FLAG_TOUGH_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_2199DD msgbox LilycoveCity_LilycoveMuseum_2F_Text_219FD3, MSGBOX_SIGN end LilycoveCity_LilycoveMuseum_2F_EventScript_219951:: @ 8219951 lockall - goto_if_set FLAG_0x0A0, LilycoveCity_LilycoveMuseum_2F_EventScript_2199A5 + goto_if_set FLAG_COOL_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_2199A5 msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A03B, MSGBOX_SIGN end LilycoveCity_LilycoveMuseum_2F_EventScript_219964:: @ 8219964 lockall - goto_if_set FLAG_0x0A1, LilycoveCity_LilycoveMuseum_2F_EventScript_2199B3 + goto_if_set FLAG_BEAUTY_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_2199B3 msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A008, MSGBOX_SIGN end LilycoveCity_LilycoveMuseum_2F_EventScript_219977:: @ 8219977 lockall - goto_if_set FLAG_0x0A3, LilycoveCity_LilycoveMuseum_2F_EventScript_2199CF + goto_if_set FLAG_SMART_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_2199CF msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A06D, MSGBOX_SIGN end diff --git a/data/maps/LilycoveCity_PokemonCenter_1F/events.inc b/data/maps/LilycoveCity_PokemonCenter_1F/events.inc index 3ab130771d..26b6955c0a 100644 --- a/data/maps/LilycoveCity_PokemonCenter_1F/events.inc +++ b/data/maps/LilycoveCity_PokemonCenter_1F/events.inc @@ -2,8 +2,8 @@ LilycoveCity_PokemonCenter_1F_EventObjects: @ 8531BCC object_event 1, EVENT_OBJ_GFX_NURSE, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_PokemonCenter_1F_EventScript_21C5E8, 0 object_event 2, EVENT_OBJ_GFX_BOY_1, 0, 10, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LilycoveCity_PokemonCenter_1F_EventScript_21C5F6, 0 object_event 3, EVENT_OBJ_GFX_MANIAC, 0, 11, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LilycoveCity_PokemonCenter_1F_EventScript_21C5FF, 0 - object_event 4, EVENT_OBJ_GFX_HIPSTER, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_PokemonCenter_1F_EventScript_2A836B, 0 - object_event 5, EVENT_OBJ_GFX_TRADER, 0, 2, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_PokemonCenter_1F_EventScript_2A89C7, FLAG_HIDE_LILYCOVE_POKEMON_CENTER_LADY + object_event 4, EVENT_OBJ_GFX_VAR_0, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_PokemonCenter_1F_EventScript_2A836B, 0 + object_event 5, EVENT_OBJ_GFX_VAR_1, 0, 2, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_PokemonCenter_1F_EventScript_2A89C7, FLAG_HIDE_LILYCOVE_POKEMON_CENTER_LADY LilycoveCity_PokemonCenter_1F_MapWarps: @ 8531C44 warp_def 7, 8, 3, 2, MAP_LILYCOVE_CITY diff --git a/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc b/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc index cf4be30655..77bc40635b 100644 --- a/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc +++ b/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc @@ -110,7 +110,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21C8DA:: @ 821C8DA compare VAR_RESULT, 1 goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F1 clearflag FLAG_HIDE_LILYCOVE_FAN_CLUB_INTERVIEWER - clearflag FLAG_0x0D2 + clearflag FLAG_FAN_CLUB_STRENGTH_SHARED return LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F1:: @ 821C8F1 @@ -499,8 +499,8 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CD71:: @ 821CD71 LilycoveCity_PokemonTrainerFanClub_EventScript_21CD7B:: @ 821CD7B lock faceplayer - goto_if_set FLAG_0x0D2, LilycoveCity_PokemonTrainerFanClub_EventScript_21CEED - goto_if_unset FLAG_0x0D2, LilycoveCity_PokemonTrainerFanClub_EventScript_21CD90 + goto_if_set FLAG_FAN_CLUB_STRENGTH_SHARED, LilycoveCity_PokemonTrainerFanClub_EventScript_21CEED + goto_if_unset FLAG_FAN_CLUB_STRENGTH_SHARED, LilycoveCity_PokemonTrainerFanClub_EventScript_21CD90 end LilycoveCity_PokemonTrainerFanClub_EventScript_21CD90:: @ 821CD90 @@ -594,7 +594,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CED8:: @ 821CED8 setvar VAR_0x8004, 8 special BufferStreakTrainerText msgbox LilycoveCity_PokemonTrainerFanClub_Text_281D40, MSGBOX_DEFAULT - setflag FLAG_0x0D2 + setflag FLAG_FAN_CLUB_STRENGTH_SHARED release end @@ -859,4 +859,3 @@ LilycoveCity_PokemonTrainerFanClub_Text_21DF51: @ 821DF51 .string "True strength is…!\n" .string "… …\p" .string "Actually, I have no idea, either.$" - diff --git a/data/maps/LinkContestRoom1/events.inc b/data/maps/LinkContestRoom1/events.inc index 99eeef56fb..5c1a3b9f41 100644 --- a/data/maps/LinkContestRoom1/events.inc +++ b/data/maps/LinkContestRoom1/events.inc @@ -1,18 +1,18 @@ LinkContestRoom1_EventObjects: @ 8539EFC object_event 1, EVENT_OBJ_GFX_WOMAN_3, 0, 6, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0 object_event 2, EVENT_OBJ_GFX_CONTEST_JUDGE, 0, 7, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0 - object_event 3, EVENT_OBJ_GFX_HIPSTER, 0, 4, 7, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0 - object_event 4, EVENT_OBJ_GFX_TRADER, 0, 6, 7, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0 - object_event 5, EVENT_OBJ_GFX_STORYTELLER, 0, 8, 7, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 2, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 0 - object_event 7, 246, 0, 4, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0 - object_event 8, 247, 0, 5, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0 - object_event 9, 248, 0, 9, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0 - object_event 10, 249, 0, 10, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0 - object_event 11, 250, 0, 12, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, 0 - object_event 12, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 2, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 0 + object_event 3, EVENT_OBJ_GFX_VAR_0, 0, 4, 7, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0 + object_event 4, EVENT_OBJ_GFX_VAR_1, 0, 6, 7, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0 + object_event 5, EVENT_OBJ_GFX_VAR_2, 0, 8, 7, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 2, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 0 + object_event 7, EVENT_OBJ_GFX_VAR_6, 0, 4, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0 + object_event 8, EVENT_OBJ_GFX_VAR_7, 0, 5, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0 + object_event 9, EVENT_OBJ_GFX_VAR_8, 0, 9, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0 + object_event 10, EVENT_OBJ_GFX_VAR_9, 0, 10, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0 + object_event 11, EVENT_OBJ_GFX_VAR_A, 0, 12, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, 0 + object_event 12, EVENT_OBJ_GFX_VAR_5, 0, 2, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 0 object_event 13, EVENT_OBJ_GFX_ITEM_BALL, 0, 7, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_LINK_CONTEST_POKE_BALL - object_event 14, EVENT_OBJ_GFX_GIDDY, 0, 10, 7, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0 + object_event 14, EVENT_OBJ_GFX_VAR_3, 0, 10, 7, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0 object_event 15, EVENT_OBJ_GFX_ARTIST, 0, 12, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, 0 LinkContestRoom1_MapEvents:: @ 853A064 diff --git a/data/maps/LittlerootTown/events.inc b/data/maps/LittlerootTown/events.inc index 71bf9a6436..fc151a2205 100644 --- a/data/maps/LittlerootTown/events.inc +++ b/data/maps/LittlerootTown/events.inc @@ -5,7 +5,7 @@ LittlerootTown_EventObjects: @ 85276A8 object_event 4, EVENT_OBJ_GFX_MOM, 0, 5, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LittlerootTown_EventScript_1E863D, FLAG_HIDE_LITTLEROOT_TOWN_MOM_OUTSIDE object_event 5, EVENT_OBJ_GFX_TRUCK, 0, 2, 10, 4, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_TRUCK object_event 6, EVENT_OBJ_GFX_TRUCK, 0, 11, 10, 4, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_TRUCK - object_event 7, EVENT_OBJ_GFX_HIPSTER, 0, 13, 10, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, FLAG_HIDE_LITTLEROOT_TOWN_RIVAL + object_event 7, EVENT_OBJ_GFX_VAR_0, 0, 13, 10, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, FLAG_HIDE_LITTLEROOT_TOWN_RIVAL object_event 8, EVENT_OBJ_GFX_PROF_BIRCH, 0, 14, 10, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, FLAG_HIDE_LITTLEROOT_TOWN_BIRCH LittlerootTown_MapWarps: @ 8527768 diff --git a/data/maps/LittlerootTown/scripts.inc b/data/maps/LittlerootTown/scripts.inc index c0147fedd8..b7067f4516 100644 --- a/data/maps/LittlerootTown/scripts.inc +++ b/data/maps/LittlerootTown/scripts.inc @@ -9,7 +9,7 @@ LittlerootTown_MapScript1_1E7DDB: @ 81E7DDB call LittlerootTown_EventScript_271ED7 compare VAR_0x4092, 2 call_if_eq LittlerootTown_EventScript_1E7E67 - call_if_unset FLAG_0x052, LittlerootTown_EventScript_1E7E6F + call_if_unset FLAG_RESCUED_BIRCH, LittlerootTown_EventScript_1E7E6F compare VAR_0x4050, 3 call_if_eq LittlerootTown_EventScript_1E7E92 compare VAR_0x4082, 4 @@ -35,7 +35,7 @@ LittlerootTown_EventScript_1E7E4B:: @ 81E7E4B return LittlerootTown_EventScript_1E7E4F:: @ 81E7E4F - setflag FLAG_0x12D + setflag FLAG_RIVAL_LEFT_FOR_ROUTE103 return LittlerootTown_EventScript_1E7E53:: @ 81E7E53 @@ -234,8 +234,8 @@ LittlerootTown_EventScript_1E802B:: @ 81E802B LittlerootTown_EventScript_1E8034:: @ 81E8034 lock faceplayer - goto_if_set FLAG_0x074, LittlerootTown_EventScript_1E8087 - goto_if_set FLAG_0x052, LittlerootTown_EventScript_1E807A + goto_if_set FLAG_ADVENTURE_STARTED, LittlerootTown_EventScript_1E8087 + goto_if_set FLAG_RESCUED_BIRCH, LittlerootTown_EventScript_1E807A compare VAR_0x4050, 0 goto_if_ne LittlerootTown_EventScript_1E805D msgbox LittlerootTown_Text_1E8BB8, MSGBOX_DEFAULT @@ -918,7 +918,7 @@ LittlerootTown_EventScript_1E8693:: @ 81E8693 playfanfare MUS_FANFA4 message LittlerootTown_Text_1E8925 waitfanfare - setflag FLAG_0x112 + setflag FLAG_RECEIVED_RUNNING_SHOES msgbox LittlerootTown_Text_1E894F, MSGBOX_DEFAULT msgbox LittlerootTown_Text_1E8A03, MSGBOX_DEFAULT closemessage diff --git a/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc b/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc index 9eab328851..8fa7adbcae 100644 --- a/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc +++ b/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc @@ -7,7 +7,7 @@ LittlerootTown_BrendansHouse_1F_MapScripts:: @ 81F7755 LittlerootTown_BrendansHouse_1F_MapScript1_1F7765: @ 81F7765 compare VAR_0x4092, 6 call_if_lt LittlerootTown_BrendansHouse_1F_EventScript_1F777A - call_if_set FLAG_0x112, LittlerootTown_BrendansHouse_1F_EventScript_1F778D + call_if_set FLAG_RECEIVED_RUNNING_SHOES, LittlerootTown_BrendansHouse_1F_EventScript_1F778D end LittlerootTown_BrendansHouse_1F_EventScript_1F777A:: @ 81F777A @@ -99,7 +99,7 @@ LittlerootTown_BrendansHouse_1F_EventScript_1F785E:: @ 81F785E waitmovement 0 special GetRivalSonDaughterString msgbox LittlerootTown_BrendansHouse_1F_Text_1F8BC5, MSGBOX_DEFAULT - setflag FLAG_0x057 + setflag FLAG_MET_RIVAL_MOM setvar VAR_0x4082, 2 releaseall end diff --git a/data/maps/LittlerootTown_BrendansHouse_2F/events.inc b/data/maps/LittlerootTown_BrendansHouse_2F/events.inc index 07ce48998b..46a4fcfc22 100644 --- a/data/maps/LittlerootTown_BrendansHouse_2F/events.inc +++ b/data/maps/LittlerootTown_BrendansHouse_2F/events.inc @@ -1,17 +1,17 @@ LittlerootTown_BrendansHouse_2F_EventObjects: @ 852D1A0 object_event 1, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 7, 1, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 0, 0, 0, LittlerootTown_BrendansHouse_2F_EventScript_1F94C1, FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 4, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 1, 0, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 1, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 5, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 4, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 1, 0, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 1, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 5, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 object_event 14, EVENT_OBJ_GFX_MOM, 0, 7, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 0, 0, 0, 0x0, FLAG_HIDE_LITTLE_ROOT_TOWN_PLAYERS_BEDROOM_MOM object_event 15, EVENT_OBJ_GFX_ITEM_BALL, 0, 3, 4, 0, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, LittlerootTown_BrendansHouse_2F_EventScript_1F8481, FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_POKE_BALL object_event 16, EVENT_OBJ_GFX_SWABLU_DOLL, 0, 5, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, 0x0, FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_SWABLU_DOLL diff --git a/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc b/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc index 1093e5277a..8bd4b43b94 100644 --- a/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc +++ b/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc @@ -15,7 +15,7 @@ LittlerootTown_BrendansHouse_2F_MapScript1_1F83EE: @ 81F83EE end LittlerootTown_BrendansHouse_2F_EventScript_1F841A:: @ 81F841A - goto_if_set FLAG_0x124, LittlerootTown_BrendansHouse_2F_EventScript_1F8433 + goto_if_set FLAG_MET_RIVAL_LILYCOVE, LittlerootTown_BrendansHouse_2F_EventScript_1F8433 compare VAR_0x4084, 2 goto_if_ge LittlerootTown_BrendansHouse_2F_EventScript_1F8456 goto LittlerootTown_BrendansHouse_2F_EventScript_1F8433 diff --git a/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc b/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc index 0f71be46a6..25ebc1bbd8 100644 --- a/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc +++ b/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc @@ -7,7 +7,7 @@ LittlerootTown_MaysHouse_1F_MapScripts:: @ 81F88A5 LittlerootTown_MaysHouse_1F_MapScript1_1F88B5: @ 81F88B5 compare VAR_0x4092, 6 call_if_lt LittlerootTown_MaysHouse_1F_EventScript_1F88CA - call_if_set FLAG_0x112, LittlerootTown_MaysHouse_1F_EventScript_1F88DD + call_if_set FLAG_RECEIVED_RUNNING_SHOES, LittlerootTown_MaysHouse_1F_EventScript_1F88DD end LittlerootTown_MaysHouse_1F_EventScript_1F88CA:: @ 81F88CA @@ -99,7 +99,7 @@ LittlerootTown_MaysHouse_1F_EventScript_1F89AE:: @ 81F89AE waitmovement 0 special GetRivalSonDaughterString msgbox LittlerootTown_MaysHouse_1F_Text_1F8BC5, MSGBOX_DEFAULT - setflag FLAG_0x057 + setflag FLAG_MET_RIVAL_MOM setvar VAR_0x408C, 2 releaseall end @@ -117,7 +117,7 @@ LittlerootTown_BrendansHouse_1F_EventScript_1F89F3:: @ 81F89F3 LittlerootTown_MaysHouse_1F_EventScript_1F89F3:: @ 81F89F3 lock faceplayer - goto_if_set FLAG_0x082, LittlerootTown_BrendansHouse_1F_EventScript_1F8A33 + goto_if_set FLAG_DEFEATED_RIVAL_ROUTE103, LittlerootTown_BrendansHouse_1F_EventScript_1F8A33 goto_if_set FLAG_SYS_POKEMON_GET, LittlerootTown_BrendansHouse_1F_EventScript_1F8A29 compare VAR_0x408D, 3 goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F8A1F diff --git a/data/maps/LittlerootTown_MaysHouse_2F/events.inc b/data/maps/LittlerootTown_MaysHouse_2F/events.inc index 8c93a570a9..8f4c74737d 100644 --- a/data/maps/LittlerootTown_MaysHouse_2F/events.inc +++ b/data/maps/LittlerootTown_MaysHouse_2F/events.inc @@ -1,17 +1,17 @@ LittlerootTown_MaysHouse_2F_EventObjects: @ 852D480 object_event 1, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL, 0, 1, 1, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 0, 0, 0, LittlerootTown_MaysHouse_2F_EventScript_1F94C1, FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 6, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 1, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 2, 6, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 3, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 4, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 5, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 2, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 3, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 4, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 5, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 6, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 1, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 2, 6, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 3, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 4, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 5, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 2, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 3, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 4, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 5, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 object_event 14, EVENT_OBJ_GFX_MOM, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 0, 0, 0, 0x0, FLAG_HIDE_LITTLE_ROOT_TOWN_PLAYERS_BEDROOM_MOM object_event 15, EVENT_OBJ_GFX_PICHU_DOLL, 0, 3, 4, 4, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_PICHU_DOLL object_event 16, EVENT_OBJ_GFX_ITEM_BALL, 0, 5, 4, 0, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, LittlerootTown_MaysHouse_2F_EventScript_1F9334, FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_POKE_BALL diff --git a/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc b/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc index 4d6661ad77..ffc4a6519a 100644 --- a/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc +++ b/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc @@ -15,7 +15,7 @@ LittlerootTown_MaysHouse_2F_MapScript1_1F92A1: @ 81F92A1 end LittlerootTown_MaysHouse_2F_EventScript_1F92CD:: @ 81F92CD - goto_if_set FLAG_0x124, LittlerootTown_MaysHouse_2F_EventScript_1F92E6 + goto_if_set FLAG_MET_RIVAL_LILYCOVE, LittlerootTown_MaysHouse_2F_EventScript_1F92E6 compare VAR_0x4084, 2 goto_if_ge LittlerootTown_MaysHouse_2F_EventScript_1F9309 goto LittlerootTown_MaysHouse_2F_EventScript_1F92E6 @@ -249,7 +249,7 @@ LittlerootTown_MaysHouse_2F_Movement_1F94BB: @ 81F94BB LittlerootTown_BrendansHouse_2F_EventScript_1F94C1:: @ 81F94C1 LittlerootTown_MaysHouse_2F_EventScript_1F94C1:: @ 81F94C1 lockall - goto_if_set FLAG_0x124, LittlerootTown_BrendansHouse_2F_EventScript_1F94F7 + goto_if_set FLAG_MET_RIVAL_LILYCOVE, LittlerootTown_BrendansHouse_2F_EventScript_1F94F7 checkplayergender compare VAR_RESULT, MALE goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F94E3 @@ -275,17 +275,17 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F94F7:: @ 81F94F7 call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F951D compare VAR_RESULT, FEMALE call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F952F - setflag FLAG_0x125 + setflag FLAG_MET_RIVAL_IN_HOUSE_AFTER_LILYCOVE releaseall end LittlerootTown_BrendansHouse_2F_EventScript_1F951D:: @ 81F951D - goto_if_set FLAG_0x125, LittlerootTown_BrendansHouse_2F_EventScript_1F9541 + goto_if_set FLAG_MET_RIVAL_IN_HOUSE_AFTER_LILYCOVE, LittlerootTown_BrendansHouse_2F_EventScript_1F9541 msgbox LittlerootTown_BrendansHouse_2F_Text_1F99C9, MSGBOX_DEFAULT return LittlerootTown_BrendansHouse_2F_EventScript_1F952F:: @ 81F952F - goto_if_set FLAG_0x125, LittlerootTown_BrendansHouse_2F_EventScript_1F954A + goto_if_set FLAG_MET_RIVAL_IN_HOUSE_AFTER_LILYCOVE, LittlerootTown_BrendansHouse_2F_EventScript_1F954A msgbox LittlerootTown_BrendansHouse_2F_Text_1F9B0D, MSGBOX_DEFAULT return diff --git a/data/maps/LittlerootTown_ProfessorBirchsLab/events.inc b/data/maps/LittlerootTown_ProfessorBirchsLab/events.inc index 4eb310f74e..7ab449ecda 100644 --- a/data/maps/LittlerootTown_ProfessorBirchsLab/events.inc +++ b/data/maps/LittlerootTown_ProfessorBirchsLab/events.inc @@ -1,7 +1,7 @@ LittlerootTown_ProfessorBirchsLab_EventObjects: @ 852D64C object_event 1, EVENT_OBJ_GFX_SCIENTIST_1, 0, 9, 8, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1F9F84, 0 object_event 2, EVENT_OBJ_GFX_PROF_BIRCH, 0, 6, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA25A, FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_BIRCH - object_event 3, EVENT_OBJ_GFX_HIPSTER, 0, 7, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA3EC, FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_RIVAL + object_event 3, EVENT_OBJ_GFX_VAR_0, 0, 7, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA3EC, FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_RIVAL object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 6, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1F9FBB, FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_CYNDAQUIL object_event 5, EVENT_OBJ_GFX_ITEM_BALL, 0, 6, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1F9FEF, FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_TOTODILE object_event 6, EVENT_OBJ_GFX_ITEM_BALL, 0, 6, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA023, FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_CHIKORITA diff --git a/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc b/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc index b5dc7d060a..8568a72efb 100644 --- a/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc +++ b/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc @@ -196,7 +196,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9E80:: @ 81F9E80 setflag FLAG_HIDE_LITTLEROOT_TOWN_RIVAL setvar VAR_0x40D3, 2 setvar VAR_0x40F5, 0 - setflag FLAG_0x072 + setflag FLAG_SCOTT_CALL_NATIONAL_DEX releaseall end @@ -266,9 +266,9 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9F84:: @ 81F9F84 faceplayer compare VAR_0x4084, 3 goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1F9FB1 - goto_if_set FLAG_0x058, LittlerootTown_ProfessorBirchsLab_EventScript_1F9FA7 + goto_if_set FLAG_BIRCH_AIDE_MET, LittlerootTown_ProfessorBirchsLab_EventScript_1F9FA7 msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA4E2, MSGBOX_DEFAULT - setflag FLAG_0x058 + setflag FLAG_BIRCH_AIDE_MET release end @@ -482,7 +482,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA25A:: @ 81FA25A compare VAR_0x40D3, 2 goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA294 goto_if_unset FLAG_HAS_MATCH_CALL, LittlerootTown_ProfessorBirchsLab_EventScript_1FA29E - goto_if_unset FLAG_0x119, LittlerootTown_ProfessorBirchsLab_EventScript_1FA2D2 + goto_if_unset FLAG_ENABLE_PROF_BIRCH_MATCH_CALL, LittlerootTown_ProfessorBirchsLab_EventScript_1FA2D2 goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA29E end @@ -518,7 +518,7 @@ Route101_EventScript_1FA2D2:: @ 81FA2D2 waitfanfare closemessage delay 30 - setflag FLAG_0x119 + setflag FLAG_ENABLE_PROF_BIRCH_MATCH_CALL setvar VAR_0x40DA, 2 release end @@ -538,7 +538,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA2F8:: @ 81FA2F8 compare VAR_RESULT, FEMALE call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA37F setvar VAR_0x4084, 5 - setflag FLAG_0x074 + setflag FLAG_ADVENTURE_STARTED setvar VAR_0x4051, 1 setvar VAR_0x408D, 4 setvar VAR_0x4050, 3 @@ -569,7 +569,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA3AC:: @ 81FA3AC waitfanfare setflag FLAG_SYS_POKEDEX_GET special sub_81AFDA0 - setflag FLAG_0x8E4 + setflag FLAG_RECEIVED_POKEDEX_FROM_BIRCH setvar VAR_0x40CD, 1 return @@ -687,7 +687,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA4D6:: @ 81FA4D6 lockall pokenavcall LittlerootTown_ProfessorBirchsLab_Text_1FBD1A waitmessage - clearflag FLAG_0x072 + clearflag FLAG_SCOTT_CALL_NATIONAL_DEX releaseall end diff --git a/data/maps/MagmaHideout_4F/scripts.inc b/data/maps/MagmaHideout_4F/scripts.inc index 818b11da7d..ba585c98a3 100644 --- a/data/maps/MagmaHideout_4F/scripts.inc +++ b/data/maps/MagmaHideout_4F/scripts.inc @@ -63,7 +63,7 @@ MagmaHideout_4F_EventScript_23A560:: @ 823A560 clearflag FLAG_HIDE_SLATEPORT_CITY_CAPTAIN_STERN clearflag FLAG_HIDE_SLATEPORT_CITY_GABBY_AND_TY setvar VAR_0x4058, 1 - setflag FLAG_0x06F + setflag FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT setvar VAR_0x40A0, 1 fadescreen 1 removeobject 6 @@ -225,4 +225,3 @@ MagmaHideout_4F_Text_23ABE2: @ 823ABE2 .string "any need for this blasted volcano.\p" .string "I am going after GROUDON, so this\n" .string "is where we part!$" - diff --git a/data/maps/MarineCave_End/scripts.inc b/data/maps/MarineCave_End/scripts.inc index d42e0e1d69..aae89cb8a2 100644 --- a/data/maps/MarineCave_End/scripts.inc +++ b/data/maps/MarineCave_End/scripts.inc @@ -15,7 +15,7 @@ MarineCave_End_EventScript_23AFF4:: @ 823AFF4 return MarineCave_End_MapScript1_23B008: @ 823B008 - call_if_unset FLAG_0x1BE, MarineCave_End_EventScript_23B012 + call_if_unset FLAG_DEFEATED_KYOGRE, MarineCave_End_EventScript_23B012 end MarineCave_End_EventScript_23B012:: @ 823B012 @@ -48,13 +48,13 @@ MarineCave_End_EventScript_23B01B:: @ 823B01B compare VAR_RESULT, 5 goto_if_eq MarineCave_End_EventScript_23B092 setvar VAR_0x4039, 1 - setflag FLAG_0x1BE + setflag FLAG_DEFEATED_KYOGRE releaseall end MarineCave_End_EventScript_23B084:: @ 823B084 setvar VAR_0x4039, 1 - setflag FLAG_0x1BE + setflag FLAG_DEFEATED_KYOGRE goto MarineCave_End_EventScript_27376D end diff --git a/data/maps/MauvilleCity/scripts.inc b/data/maps/MauvilleCity/scripts.inc index 79e6f1a5e6..21f654888c 100644 --- a/data/maps/MauvilleCity/scripts.inc +++ b/data/maps/MauvilleCity/scripts.inc @@ -7,7 +7,7 @@ MauvilleCity_MapScript1_1DF38B: @ 81DF38B clearflag FLAG_FORCE_MIRAGE_TOWER_VISIBLE clearflag FLAG_HIDE_SLATEPORT_MUSEUM_POPULATION setflag FLAG_SYS_TV_START - clearflag FLAG_0x063 + clearflag FLAG_MAUVILLE_GYM_BARRIERS_STATE setvar VAR_0x4093, 0 call_if_set FLAG_GOT_TM24_FROM_WATTSON, MauvilleCity_EventScript_1DF3A9 end @@ -53,9 +53,9 @@ MauvilleCity_EventScript_1DF3F2:: @ 81DF3F2 MauvilleCity_EventScript_1DF3FB:: @ 81DF3FB lock faceplayer - goto_if_set FLAG_0x062, MauvilleCity_EventScript_1DF413 + goto_if_set FLAG_TV_EXPLAINED, MauvilleCity_EventScript_1DF413 msgbox MauvilleCity_Text_1E056A, MSGBOX_DEFAULT - setflag FLAG_0x062 + setflag FLAG_TV_EXPLAINED release end @@ -67,7 +67,7 @@ MauvilleCity_EventScript_1DF413:: @ 81DF413 MauvilleCity_EventScript_1DF41D:: @ 81DF41D lock faceplayer - goto_if_set FLAG_0x11C, MauvilleCity_EventScript_1DF43D + goto_if_set FLAG_DECLINED_WALLY_BATTLE_MAUVILLE, MauvilleCity_EventScript_1DF43D msgbox MauvilleCity_Text_1DF7DC, MSGBOX_DEFAULT closemessage applymovement 7, MauvilleCity_Movement_2725A2 @@ -85,7 +85,7 @@ MauvilleCity_EventScript_1DF43D:: @ 81DF43D MauvilleCity_EventScript_1DF452:: @ 81DF452 lockall - goto_if_set FLAG_0x11C, MauvilleCity_EventScript_1DF690 + goto_if_set FLAG_DECLINED_WALLY_BATTLE_MAUVILLE, MauvilleCity_EventScript_1DF690 applymovement 6, MauvilleCity_Movement_2725A8 waitmovement 0 msgbox MauvilleCity_Text_1DF845, MSGBOX_DEFAULT @@ -157,9 +157,9 @@ MauvilleCity_EventScript_1DF593:: @ 81DF593 removeobject 7 clearflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLY clearflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLYS_UNCLE - setflag FLAG_0x0BE + setflag FLAG_DEFEATED_WALLY_MAUVILLE setvar VAR_0x40F2, 0 - setflag FLAG_0x088 + setflag FLAG_ENABLE_FIRST_WALLY_POKENAV_CALL compare VAR_FACING, 2 call_if_eq MauvilleCity_EventScript_1DF5F3 compare VAR_FACING, 4 @@ -217,7 +217,7 @@ MauvilleCity_EventScript_1DF63A:: @ 81DF63A return MauvilleCity_EventScript_1DF683:: @ 81DF683 - setflag FLAG_0x11C + setflag FLAG_DECLINED_WALLY_BATTLE_MAUVILLE msgbox MauvilleCity_Text_1DFA4A, MSGBOX_DEFAULT release end @@ -461,8 +461,8 @@ MauvilleCity_EventScript_1DF7BA:: @ 81DF7BA waitfanfare closemessage delay 30 - setflag FLAG_0x0D6 - clearflag FLAG_0x088 + setflag FLAG_ENABLE_WALLY_MATCH_CALL + clearflag FLAG_ENABLE_FIRST_WALLY_POKENAV_CALL releaseall end diff --git a/data/maps/MauvilleCity_BikeShop/scripts.inc b/data/maps/MauvilleCity_BikeShop/scripts.inc index fd390a92c1..fe6832423a 100644 --- a/data/maps/MauvilleCity_BikeShop/scripts.inc +++ b/data/maps/MauvilleCity_BikeShop/scripts.inc @@ -4,8 +4,8 @@ MauvilleCity_BikeShop_MapScripts:: @ 820EBBB MauvilleCity_BikeShop_EventScript_20EBBC:: @ 820EBBC lock faceplayer - goto_if_set FLAG_0x05A, MauvilleCity_BikeShop_EventScript_20EC94 - goto_if_set FLAG_0x059, MauvilleCity_BikeShop_EventScript_20EBF7 + goto_if_set FLAG_RECEIVED_BIKE, MauvilleCity_BikeShop_EventScript_20EC94 + goto_if_set FLAG_DECLINED_BIKE, MauvilleCity_BikeShop_EventScript_20EBF7 msgbox MauvilleCity_BikeShop_Text_20EE22, MSGBOX_DEFAULT msgbox MauvilleCity_BikeShop_Text_20EE99, MSGBOX_YESNO compare VAR_RESULT, 1 @@ -32,13 +32,13 @@ MauvilleCity_BikeShop_EventScript_20EC16:: @ 820EC16 end MauvilleCity_BikeShop_EventScript_20EC3D:: @ 820EC3D - setflag FLAG_0x059 + setflag FLAG_DECLINED_BIKE msgbox MauvilleCity_BikeShop_Text_20EEE8, MSGBOX_DEFAULT release end MauvilleCity_BikeShop_EventScript_20EC4A:: @ 820EC4A - setflag FLAG_0x05A + setflag FLAG_RECEIVED_BIKE goto MauvilleCity_BikeShop_EventScript_20EC16 end diff --git a/data/maps/MauvilleCity_GameCorner/scripts.inc b/data/maps/MauvilleCity_GameCorner/scripts.inc index 45f00c9ee7..34125b421d 100644 --- a/data/maps/MauvilleCity_GameCorner/scripts.inc +++ b/data/maps/MauvilleCity_GameCorner/scripts.inc @@ -404,7 +404,7 @@ MauvilleCity_GameCorner_EventScript_21012E:: @ 821012E MauvilleCity_GameCorner_EventScript_210137:: @ 8210137 lock faceplayer - goto_if_set FLAG_0x0E2, MauvilleCity_GameCorner_EventScript_210213 + goto_if_set FLAG_RECEIVED_STARTER_DOLL, MauvilleCity_GameCorner_EventScript_210213 msgbox MauvilleCity_GameCorner_Text_210750, MSGBOX_YESNO compare VAR_RESULT, 0 goto_if_eq MauvilleCity_GameCorner_EventScript_210209 @@ -421,7 +421,7 @@ MauvilleCity_GameCorner_EventScript_21017C:: @ 821017C goto_if_eq MauvilleCity_GameCorner_EventScript_2101FA msgbox MauvilleCity_GameCorner_Text_21079C, MSGBOX_DEFAULT givedecoration_std 88 - setflag FLAG_0x0E2 + setflag FLAG_RECEIVED_STARTER_DOLL goto MauvilleCity_GameCorner_EventScript_210213 end @@ -432,7 +432,7 @@ MauvilleCity_GameCorner_EventScript_2101A6:: @ 82101A6 goto_if_eq MauvilleCity_GameCorner_EventScript_2101FA msgbox MauvilleCity_GameCorner_Text_21079C, MSGBOX_DEFAULT givedecoration_std 89 - setflag FLAG_0x0E2 + setflag FLAG_RECEIVED_STARTER_DOLL goto MauvilleCity_GameCorner_EventScript_210213 end @@ -443,7 +443,7 @@ MauvilleCity_GameCorner_EventScript_2101D0:: @ 82101D0 goto_if_eq MauvilleCity_GameCorner_EventScript_2101FA msgbox MauvilleCity_GameCorner_Text_21079C, MSGBOX_DEFAULT givedecoration_std 90 - setflag FLAG_0x0E2 + setflag FLAG_RECEIVED_STARTER_DOLL goto MauvilleCity_GameCorner_EventScript_210213 end @@ -474,11 +474,11 @@ MauvilleCity_GameCorner_EventScript_21021D:: @ 821021D end MauvilleCity_GameCorner_EventScript_21023D:: @ 821023D - goto_if_set FLAG_0x0E1, MauvilleCity_GameCorner_EventScript_21026B + goto_if_set FLAG_RECEIVED_20_COINS, MauvilleCity_GameCorner_EventScript_21026B checkcoins VAR_TEMP_1 compare VAR_TEMP_1, 1 goto_if_ge MauvilleCity_GameCorner_EventScript_21026B - setflag FLAG_0x0E1 + setflag FLAG_RECEIVED_20_COINS givecoins 20 msgbox MauvilleCity_GameCorner_Text_2108A0, MSGBOX_DEFAULT playse SE_REGI diff --git a/data/maps/MauvilleCity_Gym/scripts.inc b/data/maps/MauvilleCity_Gym/scripts.inc index 335a27f565..76bceae56d 100644 --- a/data/maps/MauvilleCity_Gym/scripts.inc +++ b/data/maps/MauvilleCity_Gym/scripts.inc @@ -3,7 +3,7 @@ MauvilleCity_Gym_MapScripts:: @ 820DD6E .byte 0 MauvilleCity_Gym_MapScript1_20DD74: @ 820DD74 - goto_if_set FLAG_0x4F2, MauvilleCity_Gym_EventScript_20DEE7 + goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_20DEE7 switch VAR_0x4093 case 0, MauvilleCity_Gym_EventScript_20DDBA case 1, MauvilleCity_Gym_EventScript_20DEAF @@ -13,7 +13,7 @@ MauvilleCity_Gym_MapScript1_20DD74: @ 820DD74 end MauvilleCity_Gym_EventScript_20DDBA:: @ 820DDBA - goto_if_set FLAG_0x063, MauvilleCity_Gym_EventScript_20DDC4 + goto_if_set FLAG_MAUVILLE_GYM_BARRIERS_STATE, MauvilleCity_Gym_EventScript_20DDC4 end MauvilleCity_Gym_EventScript_20DDC4:: @ 820DDC4 @@ -78,7 +78,7 @@ MauvilleCity_Gym_EventScript_20DEEB:: @ 820DEEB specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 goto_if_eq MauvilleCity_Gym_EventScript_20DFDE - goto_if_unset FLAG_0x0A7, MauvilleCity_Gym_EventScript_20DF8D + goto_if_unset FLAG_RECEIVED_TM34, MauvilleCity_Gym_EventScript_20DF8D compare VAR_0x40BA, 2 goto_if_eq MauvilleCity_Gym_EventScript_20DFD4 msgbox MauvilleCity_Gym_Text_20E8E3, MSGBOX_DEFAULT @@ -92,7 +92,7 @@ MauvilleCity_Gym_EventScript_20DF2B:: @ 820DF2B msgbox MauvilleCity_Gym_Text_20E7AA, MSGBOX_DEFAULT setvar VAR_0x40D2, 3 clearflag FLAG_HIDE_VERDANTURF_TOWN_SCOTT - setflag FLAG_0x4F2 + setflag FLAG_DEFEATED_MAUVILLE_GYM setflag FLAG_BADGE03_GET addvar VAR_0x4085, 1 compare VAR_0x4085, 6 @@ -110,7 +110,7 @@ MauvilleCity_Gym_EventScript_20DF2B:: @ 820DF2B waitfanfare closemessage delay 30 - setflag FLAG_0x1D5 + setflag FLAG_ENABLE_WATTSON_MATCH_CALL release end @@ -119,7 +119,7 @@ MauvilleCity_Gym_EventScript_20DF8D:: @ 820DF8D compare VAR_RESULT, 0 goto_if_eq MauvilleCity_Gym_EventScript_272054 msgbox MauvilleCity_Gym_Text_20E844, MSGBOX_DEFAULT - setflag FLAG_0x0A7 + setflag FLAG_RECEIVED_TM34 release end @@ -128,7 +128,7 @@ MauvilleCity_Gym_EventScript_20DFB1:: @ 820DFB1 compare VAR_RESULT, 0 goto_if_eq MauvilleCity_Gym_EventScript_27205E msgbox MauvilleCity_Gym_Text_20E844, MSGBOX_DEFAULT - setflag FLAG_0x0A7 + setflag FLAG_RECEIVED_TM34 return MauvilleCity_Gym_EventScript_20DFD4:: @ 820DFD4 @@ -143,7 +143,7 @@ MauvilleCity_Gym_EventScript_20DFDE:: @ 820DFDE MauvilleCity_Gym_EventScript_20DFF9:: @ 820DFF9 lockall - goto_if_set FLAG_0x4F2, MauvilleCity_Gym_EventScript_20E0AD + goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_20E0AD compare VAR_0x4093, 1 goto_if_eq MauvilleCity_Gym_EventScript_20E0AD setvar VAR_0x4093, 1 @@ -153,7 +153,7 @@ MauvilleCity_Gym_EventScript_20DFF9:: @ 820DFF9 MauvilleCity_Gym_EventScript_20E01E:: @ 820E01E lockall - goto_if_set FLAG_0x4F2, MauvilleCity_Gym_EventScript_20E0AD + goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_20E0AD compare VAR_0x4093, 2 goto_if_eq MauvilleCity_Gym_EventScript_20E0AD setvar VAR_0x4093, 2 @@ -163,7 +163,7 @@ MauvilleCity_Gym_EventScript_20E01E:: @ 820E01E MauvilleCity_Gym_EventScript_20E043:: @ 820E043 lockall - goto_if_set FLAG_0x4F2, MauvilleCity_Gym_EventScript_20E0AD + goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_20E0AD compare VAR_0x4093, 3 goto_if_eq MauvilleCity_Gym_EventScript_20E0AD setvar VAR_0x4093, 3 @@ -173,7 +173,7 @@ MauvilleCity_Gym_EventScript_20E043:: @ 820E043 MauvilleCity_Gym_EventScript_20E068:: @ 820E068 lockall - goto_if_set FLAG_0x4F2, MauvilleCity_Gym_EventScript_20E0AD + goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_20E0AD compare VAR_0x4093, 4 goto_if_eq MauvilleCity_Gym_EventScript_20E0AD setvar VAR_0x4093, 4 @@ -186,8 +186,8 @@ MauvilleCity_Gym_EventScript_20E08D:: @ 820E08D special MauvilleGymSpecial1 special DrawWholeMapView playse SE_KI_GASYAN - goto_if_set FLAG_0x063, MauvilleCity_Gym_EventScript_20E0B4 - goto_if_unset FLAG_0x063, MauvilleCity_Gym_EventScript_20E0AF + goto_if_set FLAG_MAUVILLE_GYM_BARRIERS_STATE, MauvilleCity_Gym_EventScript_20E0B4 + goto_if_unset FLAG_MAUVILLE_GYM_BARRIERS_STATE, MauvilleCity_Gym_EventScript_20E0AF releaseall end @@ -196,12 +196,12 @@ MauvilleCity_Gym_EventScript_20E0AD:: @ 820E0AD end MauvilleCity_Gym_EventScript_20E0AF:: @ 820E0AF - setflag FLAG_0x063 + setflag FLAG_MAUVILLE_GYM_BARRIERS_STATE releaseall end MauvilleCity_Gym_EventScript_20E0B4:: @ 820E0B4 - clearflag FLAG_0x063 + clearflag FLAG_MAUVILLE_GYM_BARRIERS_STATE releaseall end @@ -233,7 +233,7 @@ MauvilleCity_Gym_EventScript_20E115:: @ 820E115 MauvilleCity_Gym_EventScript_20E12C:: @ 820E12C lock faceplayer - goto_if_set FLAG_0x4F2, MauvilleCity_Gym_EventScript_20E141 + goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_20E141 msgbox MauvilleCity_Gym_Text_20E17F, MSGBOX_DEFAULT release end diff --git a/data/maps/MauvilleCity_House1/scripts.inc b/data/maps/MauvilleCity_House1/scripts.inc index 0168f2e9bb..50f84d87ca 100644 --- a/data/maps/MauvilleCity_House1/scripts.inc +++ b/data/maps/MauvilleCity_House1/scripts.inc @@ -4,10 +4,10 @@ MauvilleCity_House1_MapScripts:: @ 820F975 MauvilleCity_House1_EventScript_20F976:: @ 820F976 lock faceplayer - goto_if_set FLAG_0x06B, MauvilleCity_House1_EventScript_20F9A5 + goto_if_set FLAG_RECEIVED_HM06, MauvilleCity_House1_EventScript_20F9A5 msgbox MauvilleCity_House1_Text_20F9AF, MSGBOX_DEFAULT giveitem_std ITEM_HM06 - setflag FLAG_0x06B + setflag FLAG_RECEIVED_HM06 setflag FLAG_HIDE_ROUTE_111_ROCK_SMASH_TIP_GUY msgbox MauvilleCity_House1_Text_20FAA9, MSGBOX_DEFAULT release diff --git a/data/maps/MauvilleCity_House2/scripts.inc b/data/maps/MauvilleCity_House2/scripts.inc index 288e507250..c49052914f 100644 --- a/data/maps/MauvilleCity_House2/scripts.inc +++ b/data/maps/MauvilleCity_House2/scripts.inc @@ -4,7 +4,7 @@ MauvilleCity_House2_MapScripts:: @ 8210C5C MauvilleCity_House2_EventScript_210C5D:: @ 8210C5D lock faceplayer - goto_if_set FLAG_0x102, MauvilleCity_House2_EventScript_210CDA + goto_if_set FLAG_RECEIVED_COIN_CASE, MauvilleCity_House2_EventScript_210CDA msgbox MauvilleCity_House2_Text_210CEE, MSGBOX_DEFAULT checkitem ITEM_HARBOR_MAIL, 1 compare VAR_RESULT, 1 @@ -29,7 +29,7 @@ MauvilleCity_House2_EventScript_210CB8:: @ 8210CB8 msgbox MauvilleCity_House2_Text_210DB3, MSGBOX_DEFAULT takeitem ITEM_HARBOR_MAIL, 1 giveitem_std ITEM_COIN_CASE - setflag FLAG_0x102 + setflag FLAG_RECEIVED_COIN_CASE goto MauvilleCity_House2_EventScript_210CDA end diff --git a/data/maps/MauvilleCity_PokemonCenter_1F/events.inc b/data/maps/MauvilleCity_PokemonCenter_1F/events.inc index f83ab5e458..daf747e0d5 100644 --- a/data/maps/MauvilleCity_PokemonCenter_1F/events.inc +++ b/data/maps/MauvilleCity_PokemonCenter_1F/events.inc @@ -1,6 +1,6 @@ MauvilleCity_PokemonCenter_1F_EventObjects: @ 85301C8 object_event 1, EVENT_OBJ_GFX_NURSE, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, MauvilleCity_PokemonCenter_1F_EventScript_210E78, 0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 2, 3, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 0, 0, 0, MauvilleCity_PokemonCenter_1F_EventScript_28E066, 0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 2, 3, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 0, 0, 0, MauvilleCity_PokemonCenter_1F_EventScript_28E066, 0 object_event 3, EVENT_OBJ_GFX_WOMAN_1, 0, 8, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, MauvilleCity_PokemonCenter_1F_EventScript_210E86, 0 object_event 4, EVENT_OBJ_GFX_WOMAN_5, 0, 11, 4, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 0, 1, 0, 0, MauvilleCity_PokemonCenter_1F_EventScript_210E8F, 0 object_event 5, EVENT_OBJ_GFX_YOUNGSTER, 0, 2, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MauvilleCity_PokemonCenter_1F_EventScript_210E98, 0 diff --git a/data/maps/MeteorFalls_1F_1R/scripts.inc b/data/maps/MeteorFalls_1F_1R/scripts.inc index 7732e8e7d9..ea161ba232 100644 --- a/data/maps/MeteorFalls_1F_1R/scripts.inc +++ b/data/maps/MeteorFalls_1F_1R/scripts.inc @@ -84,7 +84,7 @@ MeteorFalls_1F_1R_EventScript_22BD5F:: @ 822BD5F removeobject 8 removeobject 9 setflag FLAG_HIDE_ROUTE_112_TEAM_MAGMA - setflag FLAG_0x0CF + setflag FLAG_MET_ARCHIE_METEOR_FALLS setflag FLAG_HIDE_FALLORBOR_TOWN_BATTLE_TENT_SCOTT setvar VAR_0x40BF, 1 releaseall @@ -220,8 +220,8 @@ MeteorFalls_1F_1R_Movement_22BF1D: @ 822BF1D MeteorFalls_1F_1R_EventScript_22BF25:: @ 822BF25 lock faceplayer - goto_if_set FLAG_0x0F4, MeteorFalls_1F_1R_EventScript_22BF3D - setflag FLAG_0x0F4 + goto_if_set FLAG_MET_PROF_COSMO, MeteorFalls_1F_1R_EventScript_22BF3D + setflag FLAG_MET_PROF_COSMO msgbox MeteorFalls_1F_1R_Text_22C342, MSGBOX_DEFAULT release end @@ -307,4 +307,3 @@ MeteorFalls_1F_1R_Text_22C47D: @ 822C47D .string "PROF. COZMO: But that TEAM MAGMA…\p" .string "What are they going to do with that\n" .string "METEORITE at MT. CHIMNEY?$" - diff --git a/data/maps/MeteorFalls_StevensCave/scripts.inc b/data/maps/MeteorFalls_StevensCave/scripts.inc index 8541059321..ba8d807c5b 100644 --- a/data/maps/MeteorFalls_StevensCave/scripts.inc +++ b/data/maps/MeteorFalls_StevensCave/scripts.inc @@ -3,7 +3,7 @@ MeteorFalls_StevensCave_MapScripts:: @ 823B181 MeteorFalls_StevensCave_EventScript_23B182:: @ 823B182 lock - goto_if_set FLAG_0x4F8, MeteorFalls_StevensCave_EventScript_23B1CD + goto_if_set FLAG_DEFEATED_METEOR_FALLS_STEVEN, MeteorFalls_StevensCave_EventScript_23B1CD waitse playse SE_PIN applymovement 1, MeteorFalls_StevensCave_Movement_272598 @@ -15,7 +15,7 @@ MeteorFalls_StevensCave_EventScript_23B182:: @ 823B182 msgbox MeteorFalls_StevensCave_Text_23B1E1, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_STEVEN, MeteorFalls_StevensCave_Text_23B32D msgbox MeteorFalls_StevensCave_Text_23B358, MSGBOX_DEFAULT - setflag FLAG_0x4F8 + setflag FLAG_DEFEATED_METEOR_FALLS_STEVEN release end diff --git a/data/maps/MirageTower_1F/scripts.inc b/data/maps/MirageTower_1F/scripts.inc index d8432293f4..94aed55d0f 100644 --- a/data/maps/MirageTower_1F/scripts.inc +++ b/data/maps/MirageTower_1F/scripts.inc @@ -3,7 +3,7 @@ MirageTower_1F_MapScripts:: @ 823AD01 .byte 0 MirageTower_1F_MapScript1_23AD07: @ 823AD07 - setflag FLAG_0x8DC + setflag FLAG_ENTERED_MIRAGE_TOWER setflag FLAG_FORCE_MIRAGE_TOWER_VISIBLE setflag FLAG_LANDMARK_MIRAGE_TOWER end diff --git a/data/maps/MirageTower_4F/scripts.inc b/data/maps/MirageTower_4F/scripts.inc index 5476d5e788..3128525863 100644 --- a/data/maps/MirageTower_4F/scripts.inc +++ b/data/maps/MirageTower_4F/scripts.inc @@ -13,7 +13,7 @@ MirageTower_4F_EventScript_23AD48:: @ 823AD48 setflag FLAG_HIDE_MIRAGE_TOWER_CLAW_FOSSIL removeobject 1 delay 30 - setflag FLAG_0x14F + setflag FLAG_CHOSE_CLAW_FOSSIL goto MirageTower_4F_EventScript_23ADCA end @@ -34,7 +34,7 @@ MirageTower_4F_EventScript_23AD89:: @ 823AD89 setflag FLAG_HIDE_MIRAGE_TOWER_ROOT_FOSSIL removeobject 2 delay 30 - setflag FLAG_0x150 + setflag FLAG_CHOSE_ROOT_FOSSIL goto MirageTower_4F_EventScript_23ADCA end diff --git a/data/maps/MossdeepCity/scripts.inc b/data/maps/MossdeepCity/scripts.inc index 54210e8095..b504d70048 100644 --- a/data/maps/MossdeepCity/scripts.inc +++ b/data/maps/MossdeepCity/scripts.inc @@ -3,17 +3,17 @@ MossdeepCity_MapScripts:: @ 81E4A96 .byte 0 MossdeepCity_MapScript1_1E4A9C: @ 81E4A9C - clearflag FLAG_0x064 - clearflag FLAG_0x065 - clearflag FLAG_0x066 - clearflag FLAG_0x067 + clearflag FLAG_MOSSDEEP_GYM_SWITCH_1 + clearflag FLAG_MOSSDEEP_GYM_SWITCH_2 + clearflag FLAG_MOSSDEEP_GYM_SWITCH_3 + clearflag FLAG_MOSSDEEP_GYM_SWITCH_4 call_if_set FLAG_SYS_WEATHER_CTRL, MossdeepCity_EventScript_27207A end MossdeepCity_EventScript_1E4AB2:: @ 81E4AB2 lock faceplayer - goto_if_set FLAG_0x07B, MossdeepCity_EventScript_1E4AC7 + goto_if_set FLAG_RECEIVED_HM08, MossdeepCity_EventScript_1E4AC7 msgbox MossdeepCity_Text_1E4E90, MSGBOX_DEFAULT release end @@ -26,7 +26,7 @@ MossdeepCity_EventScript_1E4AC7:: @ 81E4AC7 MossdeepCity_EventScript_1E4AD1:: @ 81E4AD1 lock faceplayer - goto_if_set FLAG_0x07B, MossdeepCity_EventScript_1E4AE6 + goto_if_set FLAG_RECEIVED_HM08, MossdeepCity_EventScript_1E4AE6 msgbox MossdeepCity_Text_1E4F50, MSGBOX_DEFAULT release end @@ -224,7 +224,7 @@ MossdeepCity_EventScript_1E4C10:: @ 81E4C10 MossdeepCity_EventScript_1E4C26:: @ 81E4C26 lock faceplayer - goto_if_set FLAG_0x114, MossdeepCity_EventScript_1E4C68 + goto_if_set FLAG_RECEIVED_KINGS_ROCK, MossdeepCity_EventScript_1E4C68 msgbox MossdeepCity_Text_1E4CED, MSGBOX_YESNO compare VAR_RESULT, 0 goto_if_eq MossdeepCity_EventScript_1E4C72 @@ -232,7 +232,7 @@ MossdeepCity_EventScript_1E4C26:: @ 81E4C26 giveitem_std ITEM_KINGS_ROCK compare VAR_RESULT, 0 goto_if_eq MossdeepCity_EventScript_272054 - setflag FLAG_0x114 + setflag FLAG_RECEIVED_KINGS_ROCK release end diff --git a/data/maps/MossdeepCity_GameCorner_B1F/events.inc b/data/maps/MossdeepCity_GameCorner_B1F/events.inc index 58ca66fd27..0737cd7e01 100644 --- a/data/maps/MossdeepCity_GameCorner_B1F/events.inc +++ b/data/maps/MossdeepCity_GameCorner_B1F/events.inc @@ -1,5 +1,5 @@ MossdeepCity_GameCorner_B1F_EventObjects: @ 8532FC0 - object_event 1, EVENT_OBJ_GFX_HIPSTER, 0, 6, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, 0 + object_event 1, EVENT_OBJ_GFX_VAR_0, 0, 6, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, 0 MossdeepCity_GameCorner_B1F_MapWarps: @ 8532FD8 warp_def 3, 1, 0, 2, MAP_MOSSDEEP_CITY_GAME_CORNER_1F diff --git a/data/maps/MossdeepCity_Gym/scripts.inc b/data/maps/MossdeepCity_Gym/scripts.inc index 84157a3629..fc1a73b4dc 100644 --- a/data/maps/MossdeepCity_Gym/scripts.inc +++ b/data/maps/MossdeepCity_Gym/scripts.inc @@ -3,22 +3,22 @@ MossdeepCity_Gym_MapScripts:: @ 8220800 .byte 0 MossdeepCity_Gym_MapScript1_220806: @ 8220806 - goto_if_set FLAG_0x064, MossdeepCity_Gym_EventScript_22083D + goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_1, MossdeepCity_Gym_EventScript_22083D goto MossdeepCity_Gym_EventScript_220815 end MossdeepCity_Gym_EventScript_220815:: @ 8220815 - goto_if_set FLAG_0x065, MossdeepCity_Gym_EventScript_220855 + goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_2, MossdeepCity_Gym_EventScript_220855 goto MossdeepCity_Gym_EventScript_220824 end MossdeepCity_Gym_EventScript_220824:: @ 8220824 - goto_if_set FLAG_0x066, MossdeepCity_Gym_EventScript_22086D + goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_3, MossdeepCity_Gym_EventScript_22086D goto MossdeepCity_Gym_EventScript_220833 end MossdeepCity_Gym_EventScript_220833:: @ 8220833 - goto_if_set FLAG_0x067, MossdeepCity_Gym_EventScript_220885 + goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_4, MossdeepCity_Gym_EventScript_220885 end MossdeepCity_Gym_EventScript_22083D:: @ 822083D @@ -49,7 +49,7 @@ MossdeepCity_Gym_EventScript_220898:: @ 8220898 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 goto_if_eq MossdeepCity_Gym_EventScript_22097E - goto_if_unset FLAG_0x0AB, MossdeepCity_Gym_EventScript_220937 + goto_if_unset FLAG_RECEIVED_TM04, MossdeepCity_Gym_EventScript_220937 msgbox MossdeepCity_Gym_Text_221B1D, MSGBOX_DEFAULT release end @@ -59,11 +59,11 @@ MossdeepCity_Gym_EventScript_2208D1:: @ 82208D1 waitmessage call MossdeepCity_Gym_EventScript_27207E msgbox MossdeepCity_Gym_Text_221999, MSGBOX_DEFAULT - setflag FLAG_0x4F6 + setflag FLAG_DEFEATED_MOSSDEEP_GYM setflag FLAG_BADGE07_GET setflag FLAG_HIDE_AQUA_HIDEOUT_GRUNTS clearflag FLAG_HIDE_SLATEPORT_CITY_STERNS_SHIPYARD_MR_BRINEY - clearflag FLAG_0x393 + clearflag FLAG_UNKNOWN_0x393 setvar VAR_0x8008, 7 call MossdeepCity_Gym_EventScript_271F43 clearflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_PATRONS @@ -82,7 +82,7 @@ MossdeepCity_Gym_EventScript_2208D1:: @ 82208D1 waitfanfare closemessage delay 30 - setflag FLAG_0x1D8 + setflag FLAG_ENABLE_TATE_AND_LIZA_MATCH_CALL release end @@ -91,7 +91,7 @@ MossdeepCity_Gym_EventScript_220937:: @ 8220937 compare VAR_RESULT, 0 goto_if_eq MossdeepCity_Gym_EventScript_272054 msgbox MossdeepCity_Gym_Text_221A40, MSGBOX_DEFAULT - setflag FLAG_0x0AB + setflag FLAG_RECEIVED_TM04 release end @@ -100,7 +100,7 @@ MossdeepCity_Gym_EventScript_22095B:: @ 822095B compare VAR_RESULT, 0 goto_if_eq MossdeepCity_Gym_EventScript_27205E msgbox MossdeepCity_Gym_Text_221A40, MSGBOX_DEFAULT - setflag FLAG_0x0AB + setflag FLAG_RECEIVED_TM04 return MossdeepCity_Gym_EventScript_22097E:: @ 822097E @@ -110,8 +110,8 @@ MossdeepCity_Gym_EventScript_22097E:: @ 822097E MossdeepCity_Gym_EventScript_220999:: @ 8220999 lockall - goto_if_set FLAG_0x064, MossdeepCity_Gym_EventScript_2209D0 - setflag FLAG_0x064 + goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_1, MossdeepCity_Gym_EventScript_2209D0 + setflag FLAG_MOSSDEEP_GYM_SWITCH_1 applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30 waitmovement 0 setmetatile 5, 5, 516, 0 @@ -126,7 +126,7 @@ MossdeepCity_Gym_EventScript_2209C8:: @ 82209C8 end MossdeepCity_Gym_EventScript_2209D0:: @ 82209D0 - clearflag FLAG_0x064 + clearflag FLAG_MOSSDEEP_GYM_SWITCH_1 applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30 waitmovement 0 setmetatile 5, 5, 524, 0 @@ -136,8 +136,8 @@ MossdeepCity_Gym_EventScript_2209D0:: @ 82209D0 MossdeepCity_Gym_EventScript_2209F5:: @ 82209F5 lockall - goto_if_set FLAG_0x065, MossdeepCity_Gym_EventScript_220A24 - setflag FLAG_0x065 + goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_2, MossdeepCity_Gym_EventScript_220A24 + setflag FLAG_MOSSDEEP_GYM_SWITCH_2 applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30 waitmovement 0 setmetatile 8, 14, 516, 0 @@ -146,7 +146,7 @@ MossdeepCity_Gym_EventScript_2209F5:: @ 82209F5 end MossdeepCity_Gym_EventScript_220A24:: @ 8220A24 - clearflag FLAG_0x065 + clearflag FLAG_MOSSDEEP_GYM_SWITCH_2 applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30 waitmovement 0 setmetatile 8, 14, 517, 0 @@ -156,8 +156,8 @@ MossdeepCity_Gym_EventScript_220A24:: @ 8220A24 MossdeepCity_Gym_EventScript_220A49:: @ 8220A49 lockall - goto_if_set FLAG_0x066, MossdeepCity_Gym_EventScript_220A78 - setflag FLAG_0x066 + goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_3, MossdeepCity_Gym_EventScript_220A78 + setflag FLAG_MOSSDEEP_GYM_SWITCH_3 applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30 waitmovement 0 setmetatile 15, 17, 524, 0 @@ -166,7 +166,7 @@ MossdeepCity_Gym_EventScript_220A49:: @ 8220A49 end MossdeepCity_Gym_EventScript_220A78:: @ 8220A78 - clearflag FLAG_0x066 + clearflag FLAG_MOSSDEEP_GYM_SWITCH_3 applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30 waitmovement 0 setmetatile 15, 17, 516, 0 @@ -176,8 +176,8 @@ MossdeepCity_Gym_EventScript_220A78:: @ 8220A78 MossdeepCity_Gym_EventScript_220A9D:: @ 8220A9D lockall - goto_if_set FLAG_0x067, MossdeepCity_Gym_EventScript_220ACC - setflag FLAG_0x067 + goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_4, MossdeepCity_Gym_EventScript_220ACC + setflag FLAG_MOSSDEEP_GYM_SWITCH_4 applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30 waitmovement 0 setmetatile 1, 23, 525, 0 @@ -186,7 +186,7 @@ MossdeepCity_Gym_EventScript_220A9D:: @ 8220A9D end MossdeepCity_Gym_EventScript_220ACC:: @ 8220ACC - clearflag FLAG_0x067 + clearflag FLAG_MOSSDEEP_GYM_SWITCH_4 applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30 waitmovement 0 setmetatile 1, 23, 516, 0 @@ -264,7 +264,7 @@ MossdeepCity_Gym_EventScript_220BFA:: @ 8220BFA MossdeepCity_Gym_EventScript_220C11:: @ 8220C11 lock faceplayer - goto_if_set FLAG_0x4F6, MossdeepCity_Gym_EventScript_220C26 + goto_if_set FLAG_DEFEATED_MOSSDEEP_GYM, MossdeepCity_Gym_EventScript_220C26 msgbox MossdeepCity_Gym_Text_220CD5, MSGBOX_DEFAULT release end @@ -643,4 +643,3 @@ MossdeepCity_Gym_Text_221EB8: @ 8221EB8 .string "LIZA: You brought just one POKéMON!\p" .string "TATE: We need you to bring at least…\n" .string "LIZA: Two POKéMON when you come back.$" - diff --git a/data/maps/MossdeepCity_House2/scripts.inc b/data/maps/MossdeepCity_House2/scripts.inc index c2c5ff620a..2151b26260 100644 --- a/data/maps/MossdeepCity_House2/scripts.inc +++ b/data/maps/MossdeepCity_House2/scripts.inc @@ -17,7 +17,7 @@ MossdeepCity_House2_EventScript_2220F1:: @ 82220F1 msgbox MossdeepCity_House2_Text_22222E, MSGBOX_DEFAULT waitmoncry closemessage - setflag FLAG_0x0E0 + setflag FLAG_WINGULL_DELIVERED_MAIL clearflag FLAG_HIDE_FORTREE_CITY_HOUSE_4_WINGULL compare VAR_FACING, 2 call_if_eq MossdeepCity_House2_EventScript_222124 diff --git a/data/maps/MossdeepCity_House3/scripts.inc b/data/maps/MossdeepCity_House3/scripts.inc index c61a0751c0..257b7cc827 100644 --- a/data/maps/MossdeepCity_House3/scripts.inc +++ b/data/maps/MossdeepCity_House3/scripts.inc @@ -4,13 +4,13 @@ MossdeepCity_House3_MapScripts:: @ 82225C2 MossdeepCity_House3_EventScript_2225C3:: @ 82225C3 lock faceplayer - goto_if_set FLAG_0x098, MossdeepCity_House3_EventScript_222602 + goto_if_set FLAG_RECEIVED_SUPER_ROD, MossdeepCity_House3_EventScript_222602 msgbox MossdeepCity_House3_Text_222616, MSGBOX_YESNO compare VAR_RESULT, 0 goto_if_eq MossdeepCity_House3_EventScript_22260C msgbox MossdeepCity_House3_Text_2226B6, MSGBOX_DEFAULT giveitem_std ITEM_SUPER_ROD - setflag FLAG_0x098 + setflag FLAG_RECEIVED_SUPER_ROD msgbox MossdeepCity_House3_Text_2226F0, MSGBOX_DEFAULT release end diff --git a/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc b/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc index 6d8b7bd47e..91eda813c8 100644 --- a/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc +++ b/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc @@ -116,12 +116,12 @@ MossdeepCity_SpaceCenter_1F_EventScript_22308E:: @ 822308E faceplayer compare VAR_0x405D, 2 goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_2230DA - goto_if_set FLAG_0x0C0, MossdeepCity_SpaceCenter_1F_EventScript_2230D0 + goto_if_set FLAG_RECEIVED_SUN_STONE_MOSSDEEP, MossdeepCity_SpaceCenter_1F_EventScript_2230D0 msgbox MossdeepCity_SpaceCenter_1F_Text_223540, MSGBOX_DEFAULT giveitem_std ITEM_SUN_STONE compare VAR_RESULT, 0 goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_272054 - setflag FLAG_0x0C0 + setflag FLAG_RECEIVED_SUN_STONE_MOSSDEEP msgbox MossdeepCity_SpaceCenter_1F_Text_2235A6, MSGBOX_DEFAULT release end @@ -132,12 +132,12 @@ MossdeepCity_SpaceCenter_1F_EventScript_2230D0:: @ 82230D0 end MossdeepCity_SpaceCenter_1F_EventScript_2230DA:: @ 82230DA - goto_if_set FLAG_0x0C0, MossdeepCity_SpaceCenter_1F_EventScript_223119 + goto_if_set FLAG_RECEIVED_SUN_STONE_MOSSDEEP, MossdeepCity_SpaceCenter_1F_EventScript_223119 msgbox MossdeepCity_SpaceCenter_1F_Text_2235F0, MSGBOX_DEFAULT giveitem_std ITEM_SUN_STONE compare VAR_RESULT, 0 goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_272054 - setflag FLAG_0x0C0 + setflag FLAG_RECEIVED_SUN_STONE_MOSSDEEP msgbox MossdeepCity_SpaceCenter_1F_Text_223664, MSGBOX_DEFAULT applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_1F_Movement_2725A8 waitmovement 0 @@ -232,10 +232,10 @@ MossdeepCity_SpaceCenter_1F_EventScript_223208:: @ 8223208 MossdeepCity_SpaceCenter_1F_EventScript_22321F:: @ 822321F lock faceplayer - goto_if_set FLAG_0x0BF, MossdeepCity_SpaceCenter_1F_EventScript_22326E + goto_if_set FLAG_DEFEATED_GRUNT_SPACE_CENTER_1F, MossdeepCity_SpaceCenter_1F_EventScript_22326E msgbox MossdeepCity_SpaceCenter_1F_Text_223B90, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_GRUNT_23, MossdeepCity_SpaceCenter_1F_Text_223BC2 - setflag FLAG_0x0BF + setflag FLAG_DEFEATED_GRUNT_SPACE_CENTER_1F moveobjectoffscreen 9 switch VAR_FACING case 3, MossdeepCity_SpaceCenter_1F_EventScript_223278 @@ -431,4 +431,3 @@ MossdeepCity_SpaceCenter_1F_Text_223C2C: @ 8223C2C .string "We will take the fuel no matter what.\p" .string "“Let there be more land!\n" .string " TEAM MAGMA”$" - diff --git a/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc b/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc index e55bc07f7f..163f7045f3 100644 --- a/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc +++ b/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc @@ -11,7 +11,7 @@ MossdeepCity_SpaceCenter_2F_MapScript1_223D63: @ 8223D63 end MossdeepCity_SpaceCenter_2F_EventScript_223D7A:: @ 8223D7A - clearflag FLAG_0x0CD + clearflag FLAG_INTERACTED_WITH_STEVEN_SPACE_CENTER setobjectxyperm 3, 5, 3 setobjectmovementtype 3, 10 setobjectxyperm 1, 3, 2 @@ -186,8 +186,8 @@ MossdeepCity_SpaceCenter_2F_EventScript_223F6F:: @ 8223F6F MossdeepCity_SpaceCenter_2F_EventScript_223F7A:: @ 8223F7A lockall - goto_if_set FLAG_0x0CD, MossdeepCity_SpaceCenter_2F_EventScript_223FDA - setflag FLAG_0x0CD + goto_if_set FLAG_INTERACTED_WITH_STEVEN_SPACE_CENTER, MossdeepCity_SpaceCenter_2F_EventScript_223FDA + setflag FLAG_INTERACTED_WITH_STEVEN_SPACE_CENTER msgbox MossdeepCity_SpaceCenter_2F_Text_2246B2, MSGBOX_DEFAULT msgbox MossdeepCity_SpaceCenter_2F_Text_2246F0, MSGBOX_DEFAULT closemessage @@ -310,7 +310,7 @@ MossdeepCity_SpaceCenter_2F_EventScript_224071:: @ 8224071 msgbox MossdeepCity_SpaceCenter_2F_Text_224A4A, MSGBOX_DEFAULT closemessage fadescreen 1 - setflag FLAG_0x075 + setflag FLAG_DEFEATED_MAGMA_SPACE_CENTER setflag FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_STEVEN removeobject 4 setflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_INVISIBLE_NINJA_BOY @@ -354,7 +354,7 @@ MossdeepCity_SpaceCenter_2F_EventScript_224175:: @ 8224175 compare VAR_RESULT, FEMALE call_if_eq MossdeepCity_SpaceCenter_2F_EventScript_22419A closemessage - clearflag FLAG_0x075 + clearflag FLAG_DEFEATED_MAGMA_SPACE_CENTER releaseall end @@ -517,4 +517,3 @@ MossdeepCity_SpaceCenter_2F_Text_224A4A: @ 8224A4A .string "after this.\p" .string "Oh, yes, I don't live in RUSTBORO CITY.\n" .string "I live right here on this island.$" - diff --git a/data/maps/MossdeepCity_StevensHouse/scripts.inc b/data/maps/MossdeepCity_StevensHouse/scripts.inc index 8db53c1c6c..d2bd91694e 100644 --- a/data/maps/MossdeepCity_StevensHouse/scripts.inc +++ b/data/maps/MossdeepCity_StevensHouse/scripts.inc @@ -39,8 +39,8 @@ MossdeepCity_StevensHouse_EventScript_2227CA:: @ 82227CA waitmovement 0 msgbox MossdeepCity_StevensHouse_Text_222936, MSGBOX_DEFAULT giveitem_std ITEM_HM08 - setflag FLAG_0x07B - setflag FLAG_0x12E + setflag FLAG_RECEIVED_HM08 + setflag FLAG_OMIT_DIVE_FROM_STEVEN_LETTER msgbox MossdeepCity_StevensHouse_Text_222A0E, MSGBOX_DEFAULT closemessage delay 20 @@ -129,7 +129,7 @@ MossdeepCity_StevensHouse_EventScript_2228EB:: @ 82228EB MossdeepCity_StevensHouse_EventScript_222901:: @ 8222901 setflag FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_BELDUM_POKEBALL - setflag FLAG_0x12A + setflag FLAG_RECEIVED_BELDUM releaseall end @@ -149,7 +149,7 @@ MossdeepCity_StevensHouse_EventScript_22291B:: @ 822291B MossdeepCity_StevensHouse_EventScript_222926:: @ 8222926 giveitem_std ITEM_HM08, 1, 1 - setflag FLAG_0x07B + setflag FLAG_RECEIVED_HM08 end MossdeepCity_StevensHouse_Text_222936: @ 8222936 diff --git a/data/maps/MtChimney/scripts.inc b/data/maps/MtChimney/scripts.inc index 6e73316601..3bfc33f6ab 100644 --- a/data/maps/MtChimney/scripts.inc +++ b/data/maps/MtChimney/scripts.inc @@ -14,12 +14,12 @@ MtChimney_MapScript1_22EDD2: @ 822EDD2 MtChimney_EventScript_22EDD5:: @ 822EDD5 lock faceplayer - call_if_unset FLAG_0x0DB, MtChimney_EventScript_22EDF9 - call_if_set FLAG_0x0DB, MtChimney_EventScript_22EE02 + call_if_unset FLAG_EVIL_LEADER_PLEASE_STOP, MtChimney_EventScript_22EDF9 + call_if_set FLAG_EVIL_LEADER_PLEASE_STOP, MtChimney_EventScript_22EE02 closemessage applymovement 1, MtChimney_Movement_2725A2 waitmovement 0 - setflag FLAG_0x0DB + setflag FLAG_EVIL_LEADER_PLEASE_STOP release end @@ -70,7 +70,7 @@ MtChimney_EventScript_22EE0B:: @ 822EE0B call_if_eq MtChimney_EventScript_22EEE8 removeobject 1 setflag FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA - setflag FLAG_0x08B + setflag FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY clearflag FLAG_HIDE_FALLARBOR_HOUSE_1_PROF_COZMO setflag FLAG_HIDE_METEOR_FALLS_1F_1R_COZMO clearflag FLAG_HIDE_MT_CHIMNEY_LAVA_COOKIE_LADY @@ -452,14 +452,14 @@ MtChimney_EventScript_22F0DB:: @ 822F0DB MtChimney_EventScript_22F0E4:: @ 822F0E4 lockall - goto_if_unset FLAG_0x08B, MtChimney_EventScript_22F137 - goto_if_set FLAG_0x073, MtChimney_EventScript_22F12D + goto_if_unset FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, MtChimney_EventScript_22F137 + goto_if_set FLAG_RECEIVED_METEORITE, MtChimney_EventScript_22F12D msgbox MtChimney_Text_22FF12, MSGBOX_YESNO compare VAR_RESULT, 0 goto_if_eq MtChimney_EventScript_22F123 msgbox MtChimney_Text_22FF66, MSGBOX_DEFAULT giveitem_std ITEM_METEORITE - setflag FLAG_0x073 + setflag FLAG_RECEIVED_METEORITE releaseall end diff --git a/data/maps/MtPyre_1F/scripts.inc b/data/maps/MtPyre_1F/scripts.inc index b3f38c296b..676df4aee6 100644 --- a/data/maps/MtPyre_1F/scripts.inc +++ b/data/maps/MtPyre_1F/scripts.inc @@ -4,12 +4,12 @@ MtPyre_1F_MapScripts:: @ 8230F3E MtPyre_1F_EventScript_230F3F:: @ 8230F3F lock faceplayer - goto_if_set FLAG_0x11A, MtPyre_1F_EventScript_230F6E + goto_if_set FLAG_RECEIVED_CLEANSE_TAG, MtPyre_1F_EventScript_230F6E msgbox MtPyre_1F_Text_230F8A, MSGBOX_DEFAULT giveitem_std ITEM_CLEANSE_TAG compare VAR_RESULT, 0 goto_if_eq MtPyre_1F_EventScript_272054 - setflag FLAG_0x11A + setflag FLAG_RECEIVED_CLEANSE_TAG release end diff --git a/data/maps/MtPyre_Summit/scripts.inc b/data/maps/MtPyre_Summit/scripts.inc index 31ae3348a6..6eaf6265f0 100644 --- a/data/maps/MtPyre_Summit/scripts.inc +++ b/data/maps/MtPyre_Summit/scripts.inc @@ -65,7 +65,7 @@ MtPyre_Summit_EventScript_23203C:: @ 823203C call_if_eq MtPyre_Summit_EventScript_232117 msgbox MtPyre_Summit_Text_23290E, MSGBOX_DEFAULT giveitem_std ITEM_MAGMA_EMBLEM - setflag FLAG_0x0D4 + setflag FLAG_RECEIVED_RED_OR_BLUE_ORB setflag FLAG_HIDE_JAGGED_PASS_MAGMA_GUARD releaseall end @@ -131,7 +131,7 @@ MtPyre_Summit_Movement_232139: @ 8232139 MtPyre_Summit_EventScript_23213C:: @ 823213C lock faceplayer - goto_if_set FLAG_0x09E, MtPyre_Summit_EventScript_232167 + goto_if_set FLAG_SOOTOPOLIS_ARCHIE_MAXIE_LEAVE, MtPyre_Summit_EventScript_232167 msgbox MtPyre_Summit_Text_232E0C, MSGBOX_YESNO compare VAR_RESULT, 1 call_if_eq MtPyre_Summit_EventScript_232187 @@ -164,17 +164,17 @@ MtPyre_Summit_EventScript_232199:: @ 8232199 MtPyre_Summit_EventScript_2321A2:: @ 82321A2 lock faceplayer - goto_if_set FLAG_0x103, MtPyre_Summit_EventScript_2321E2 + goto_if_set FLAG_RETURNED_RED_OR_BLUE_ORB, MtPyre_Summit_EventScript_2321E2 compare VAR_0x40B9, 3 call_if_ge MtPyre_Summit_EventScript_2321CB - goto_if_set FLAG_0x081, MtPyre_Summit_EventScript_2321D8 + goto_if_set FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, MtPyre_Summit_EventScript_2321D8 msgbox MtPyre_Summit_Text_232AD8, MSGBOX_DEFAULT release end MtPyre_Summit_EventScript_2321CB:: @ 82321CB msgbox MtPyre_Summit_Text_232CA6, MSGBOX_DEFAULT - setflag FLAG_0x103 + setflag FLAG_RETURNED_RED_OR_BLUE_ORB release end diff --git a/data/maps/NavelRock_Bottom/scripts.inc b/data/maps/NavelRock_Bottom/scripts.inc index bbe02aadf4..cd26de91de 100644 --- a/data/maps/NavelRock_Bottom/scripts.inc +++ b/data/maps/NavelRock_Bottom/scripts.inc @@ -4,8 +4,8 @@ NavelRock_Bottom_MapScripts:: @ 8269255 .byte 0 NavelRock_Bottom_MapScript1_269260: @ 8269260 - call_if_set FLAG_0x091, NavelRock_Bottom_EventScript_269273 - call_if_unset FLAG_0x091, NavelRock_Bottom_EventScript_269277 + call_if_set FLAG_CAUGHT_LUGIA, NavelRock_Bottom_EventScript_269273 + call_if_unset FLAG_CAUGHT_LUGIA, NavelRock_Bottom_EventScript_269277 end NavelRock_Bottom_EventScript_269273:: @ 8269273 @@ -13,7 +13,7 @@ NavelRock_Bottom_EventScript_269273:: @ 8269273 return NavelRock_Bottom_EventScript_269277:: @ 8269277 - goto_if_set FLAG_0x1DD, NavelRock_Bottom_EventScript_27374E + goto_if_set FLAG_DEFEATED_LUGIA, NavelRock_Bottom_EventScript_27374E clearflag FLAG_HIDE_LUGIA return @@ -67,12 +67,12 @@ NavelRock_Bottom_EventScript_2692A2:: @ 82692A2 goto_if_eq NavelRock_Bottom_EventScript_269344 compare VAR_RESULT, 5 goto_if_eq NavelRock_Bottom_EventScript_269344 - setflag FLAG_0x091 + setflag FLAG_CAUGHT_LUGIA release end NavelRock_Bottom_EventScript_269336:: @ 8269336 - setflag FLAG_0x1DD + setflag FLAG_DEFEATED_LUGIA setvar VAR_0x8004, 249 goto NavelRock_Bottom_EventScript_273776 end @@ -81,4 +81,3 @@ NavelRock_Bottom_EventScript_269344:: @ 8269344 setvar VAR_0x8004, 249 goto NavelRock_Bottom_EventScript_273776 end - diff --git a/data/maps/NavelRock_Exterior/scripts.inc b/data/maps/NavelRock_Exterior/scripts.inc index daa3fc9642..21034a4e06 100644 --- a/data/maps/NavelRock_Exterior/scripts.inc +++ b/data/maps/NavelRock_Exterior/scripts.inc @@ -3,6 +3,6 @@ NavelRock_Exterior_MapScripts:: @ 82690B2 .byte 0 NavelRock_Exterior_MapScript1_2690B8: @ 82690B8 - setflag FLAG_0x8E1 + setflag FLAG_ARRIVED_AT_NAVEL_ROCK end diff --git a/data/maps/NavelRock_Top/events.inc b/data/maps/NavelRock_Top/events.inc index abd337cb20..0952b0f675 100644 --- a/data/maps/NavelRock_Top/events.inc +++ b/data/maps/NavelRock_Top/events.inc @@ -1,5 +1,5 @@ NavelRock_Top_EventObjects: @ 853DB74 - object_event 1, EVENT_OBJ_GFX_HOOH, 0, 12, 4, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, FLAG_HIDE_HOOH + object_event 1, EVENT_OBJ_GFX_HOOH, 0, 12, 4, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, FLAG_HIDE_HO_OH NavelRock_Top_MapWarps: @ 853DB8C warp_def 13, 20, 3, 1, MAP_NAVEL_ROCK_UP4 diff --git a/data/maps/NavelRock_Top/scripts.inc b/data/maps/NavelRock_Top/scripts.inc index 28d55d68f7..423d998a7b 100644 --- a/data/maps/NavelRock_Top/scripts.inc +++ b/data/maps/NavelRock_Top/scripts.inc @@ -4,20 +4,20 @@ NavelRock_Top_MapScripts:: @ 8269113 .byte 0 NavelRock_Top_MapScript1_26911E: @ 826911E - call_if_set FLAG_0x092, NavelRock_Top_EventScript_269131 - call_if_unset FLAG_0x092, NavelRock_Top_EventScript_26913A + call_if_set FLAG_CAUGHT_HO_OH, NavelRock_Top_EventScript_269131 + call_if_unset FLAG_CAUGHT_HO_OH, NavelRock_Top_EventScript_26913A end NavelRock_Top_EventScript_269131:: @ 8269131 setvar VAR_TEMP_1, 1 - setflag FLAG_HIDE_HOOH + setflag FLAG_HIDE_HO_OH return NavelRock_Top_EventScript_26913A:: @ 826913A setvar VAR_TEMP_1, 1 - goto_if_set FLAG_0x1DC, NavelRock_Top_EventScript_27374E + goto_if_set FLAG_DEFEATED_HO_OH, NavelRock_Top_EventScript_27374E setvar VAR_TEMP_1, 0 - clearflag FLAG_HIDE_HOOH + clearflag FLAG_HIDE_HO_OH return NavelRock_Top_MapScript1_269151: @ 8269151 @@ -72,12 +72,12 @@ NavelRock_Top_EventScript_26916F:: @ 826916F goto_if_eq NavelRock_Top_EventScript_269225 compare VAR_RESULT, 5 goto_if_eq NavelRock_Top_EventScript_269225 - setflag FLAG_0x092 + setflag FLAG_CAUGHT_HO_OH releaseall end NavelRock_Top_EventScript_269217:: @ 8269217 - setflag FLAG_0x1DC + setflag FLAG_DEFEATED_HO_OH setvar VAR_0x8004, 250 goto NavelRock_Top_EventScript_273776 end @@ -120,4 +120,3 @@ NavelRock_Top_Movement_269243: @ 8269243 walk_in_place_down walk_in_place_down step_end - diff --git a/data/maps/NewMauville_Inside/scripts.inc b/data/maps/NewMauville_Inside/scripts.inc index aff38c5772..b3d9d868f9 100644 --- a/data/maps/NewMauville_Inside/scripts.inc +++ b/data/maps/NewMauville_Inside/scripts.inc @@ -22,9 +22,9 @@ NewMauville_Inside_EventScript_237407:: @ 8237407 NewMauville_Inside_MapScript1_23741B: @ 823741B setvar VAR_TEMP_1, 0 setvar VAR_TEMP_2, 0 - call_if_unset FLAG_0x1C1, NewMauville_Inside_EventScript_237441 - call_if_unset FLAG_0x1C2, NewMauville_Inside_EventScript_237445 - call_if_unset FLAG_0x1C3, NewMauville_Inside_EventScript_237449 + call_if_unset FLAG_DEFEATED_VOLTORB_1_NEW_MAUVILLE, NewMauville_Inside_EventScript_237441 + call_if_unset FLAG_DEFEATED_VOLTORB_2_NEW_MAUVILLE, NewMauville_Inside_EventScript_237445 + call_if_unset FLAG_DEFEATED_VOLTORB_3_NEW_MAUVILLE, NewMauville_Inside_EventScript_237449 end NewMauville_Inside_EventScript_237441:: @ 8237441 @@ -196,12 +196,12 @@ NewMauville_Inside_EventScript_2377AF:: @ 82377AF goto_if_eq NewMauville_Inside_EventScript_2377F3 compare VAR_RESULT, 5 goto_if_eq NewMauville_Inside_EventScript_2377F3 - setflag FLAG_0x1C1 + setflag FLAG_DEFEATED_VOLTORB_1_NEW_MAUVILLE release end NewMauville_Inside_EventScript_2377F3:: @ 82377F3 - setflag FLAG_0x1C1 + setflag FLAG_DEFEATED_VOLTORB_1_NEW_MAUVILLE goto NewMauville_Inside_EventScript_27376D end @@ -223,12 +223,12 @@ NewMauville_Inside_EventScript_2377FC:: @ 82377FC goto_if_eq NewMauville_Inside_EventScript_237840 compare VAR_RESULT, 5 goto_if_eq NewMauville_Inside_EventScript_237840 - setflag FLAG_0x1C2 + setflag FLAG_DEFEATED_VOLTORB_2_NEW_MAUVILLE release end NewMauville_Inside_EventScript_237840:: @ 8237840 - setflag FLAG_0x1C2 + setflag FLAG_DEFEATED_VOLTORB_2_NEW_MAUVILLE goto NewMauville_Inside_EventScript_27376D end @@ -250,12 +250,12 @@ NewMauville_Inside_EventScript_237849:: @ 8237849 goto_if_eq NewMauville_Inside_EventScript_23788D compare VAR_RESULT, 5 goto_if_eq NewMauville_Inside_EventScript_23788D - setflag FLAG_0x1C3 + setflag FLAG_DEFEATED_VOLTORB_3_NEW_MAUVILLE release end NewMauville_Inside_EventScript_23788D:: @ 823788D - setflag FLAG_0x1C3 + setflag FLAG_DEFEATED_VOLTORB_3_NEW_MAUVILLE goto NewMauville_Inside_EventScript_27376D end @@ -275,4 +275,3 @@ NewMauville_Inside_Text_237932: @ 8237932 .string "… … … … … … … …\p" .string "The generator appears to have\n" .string "stopped…$" - diff --git a/data/maps/OldaleTown/events.inc b/data/maps/OldaleTown/events.inc index bbf84390c8..a3bc51483b 100644 --- a/data/maps/OldaleTown/events.inc +++ b/data/maps/OldaleTown/events.inc @@ -2,7 +2,7 @@ OldaleTown_EventObjects: @ 8527854 object_event 1, EVENT_OBJ_GFX_GIRL_3, 0, 16, 11, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, OldaleTown_EventScript_1E8EF3, 0 object_event 2, EVENT_OBJ_GFX_MART_EMPLOYEE, 0, 13, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, OldaleTown_EventScript_1E8EFC, 0 object_event 3, EVENT_OBJ_GFX_MANIAC, 0, 8, 9, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, OldaleTown_EventScript_1E901F, 0 - object_event 4, EVENT_OBJ_GFX_HIPSTER, 0, 11, 19, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, OldaleTown_EventScript_1E9070, FLAG_HIDE_OLDALE_TOWN_RIVAL + object_event 4, EVENT_OBJ_GFX_VAR_0, 0, 11, 19, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, OldaleTown_EventScript_1E9070, FLAG_HIDE_OLDALE_TOWN_RIVAL OldaleTown_MapWarps: @ 85278B4 warp_def 5, 7, 0, 0, MAP_OLDALE_TOWN_HOUSE1 diff --git a/data/maps/OldaleTown/scripts.inc b/data/maps/OldaleTown/scripts.inc index a246adc4ff..c8a598da91 100644 --- a/data/maps/OldaleTown/scripts.inc +++ b/data/maps/OldaleTown/scripts.inc @@ -5,9 +5,9 @@ OldaleTown_MapScripts:: @ 81E8EA2 OldaleTown_MapScript1_1E8EA8: @ 81E8EA8 call OldaleTown_EventScript_271ED7 setflag FLAG_VISITED_OLDALE_TOWN - call_if_unset FLAG_0x074, OldaleTown_EventScript_1E8ED2 - call_if_unset FLAG_0x084, OldaleTown_EventScript_1E8EDE - call_if_set FLAG_0x074, OldaleTown_EventScript_1E8ECC + call_if_unset FLAG_ADVENTURE_STARTED, OldaleTown_EventScript_1E8ED2 + call_if_unset FLAG_RECEIVED_POTION_OLDALE, OldaleTown_EventScript_1E8EDE + call_if_set FLAG_ADVENTURE_STARTED, OldaleTown_EventScript_1E8ECC end OldaleTown_EventScript_1E8ECC:: @ 81E8ECC @@ -35,7 +35,7 @@ OldaleTown_EventScript_1E8EF3:: @ 81E8EF3 OldaleTown_EventScript_1E8EFC:: @ 81E8EFC lock faceplayer - goto_if_set FLAG_0x084, OldaleTown_EventScript_1E8FB9 + goto_if_set FLAG_RECEIVED_POTION_OLDALE, OldaleTown_EventScript_1E8FB9 goto_if_set FLAG_TEMP_1, OldaleTown_EventScript_1E8FB9 setflag FLAG_TEMP_1 playbgm MUS_TSURETEK, 0 @@ -74,7 +74,7 @@ OldaleTown_EventScript_1E8F8C:: @ 81E8F8C compare VAR_RESULT, 0 goto_if_eq OldaleTown_EventScript_1E8FC3 msgbox OldaleTown_Text_1E92AF, MSGBOX_DEFAULT - setflag FLAG_0x084 + setflag FLAG_RECEIVED_POTION_OLDALE fadedefaultbgm release end @@ -190,7 +190,7 @@ OldaleTown_Movement_1E9013: @ 81E9013 OldaleTown_EventScript_1E901F:: @ 81E901F lock faceplayer - goto_if_set FLAG_0x074, OldaleTown_EventScript_1E9066 + goto_if_set FLAG_ADVENTURE_STARTED, OldaleTown_EventScript_1E9066 msgbox OldaleTown_Text_1E939A, MSGBOX_DEFAULT closemessage applymovement 3, OldaleTown_Movement_2725A2 diff --git a/data/maps/OldaleTown_Mart/scripts.inc b/data/maps/OldaleTown_Mart/scripts.inc index 2eaa483f58..980b0e4d61 100644 --- a/data/maps/OldaleTown_Mart/scripts.inc +++ b/data/maps/OldaleTown_Mart/scripts.inc @@ -6,7 +6,7 @@ OldaleTown_Mart_EventScript_1FC240:: @ 81FC240 faceplayer message gUnknown_08272A21 waitmessage - goto_if_set FLAG_0x074, OldaleTown_Mart_EventScript_1FC26C + goto_if_set FLAG_ADVENTURE_STARTED, OldaleTown_Mart_EventScript_1FC26C pokemart OldaleTown_Mart_Pokemart_1FC260 msgbox gUnknown_08272A3F, MSGBOX_DEFAULT release @@ -41,7 +41,7 @@ OldaleTown_Mart_Pokemart_1FC27C: @ 81FC27C OldaleTown_Mart_EventScript_1FC28A:: @ 81FC28A lock faceplayer - goto_if_set FLAG_0x074, OldaleTown_Mart_EventScript_1FC29F + goto_if_set FLAG_ADVENTURE_STARTED, OldaleTown_Mart_EventScript_1FC29F msgbox OldaleTown_Mart_Text_1FC2B2, MSGBOX_DEFAULT release end diff --git a/data/maps/PacifidlogTown_House2/scripts.inc b/data/maps/PacifidlogTown_House2/scripts.inc index d0eb88cf27..b3078fa2d2 100644 --- a/data/maps/PacifidlogTown_House2/scripts.inc +++ b/data/maps/PacifidlogTown_House2/scripts.inc @@ -6,10 +6,10 @@ PacifidlogTown_House2_EventScript_203792:: @ 8203792 faceplayer dodailyevents call PacifidlogTown_House2_EventScript_2037DE - goto_if_set FLAG_0x12B, PacifidlogTown_House2_EventScript_20387E - call_if_set FLAG_0x12C, PacifidlogTown_House2_EventScript_2037F8 - call_if_unset FLAG_0x12C, PacifidlogTown_House2_EventScript_203801 - setflag FLAG_0x12C + goto_if_set FLAG_RECEIVED_FANCLUB_TM_THIS_WEEK, PacifidlogTown_House2_EventScript_20387E + call_if_set FLAG_MET_FANCLUB_YOUNGER_BROTHER, PacifidlogTown_House2_EventScript_2037F8 + call_if_unset FLAG_MET_FANCLUB_YOUNGER_BROTHER, PacifidlogTown_House2_EventScript_203801 + setflag FLAG_MET_FANCLUB_YOUNGER_BROTHER specialvar VAR_RESULT, GetLeadMonFriendshipScore compare VAR_RESULT, 4 goto_if_ge PacifidlogTown_House2_EventScript_203816 @@ -20,7 +20,7 @@ PacifidlogTown_House2_EventScript_203792:: @ 8203792 end PacifidlogTown_House2_EventScript_2037DE:: @ 82037DE - goto_if_unset FLAG_0x12B, PacifidlogTown_House2_EventScript_27374E + goto_if_unset FLAG_RECEIVED_FANCLUB_TM_THIS_WEEK, PacifidlogTown_House2_EventScript_27374E specialvar VAR_RESULT, GetDaysUntilPacifidlogTMAvailable compare VAR_RESULT, 0 call_if_eq PacifidlogTown_House2_EventScript_203812 @@ -36,7 +36,7 @@ PacifidlogTown_House2_EventScript_203801:: @ 8203801 return PacifidlogTown_House2_EventScript_203812:: @ 8203812 - clearflag FLAG_0x12B + clearflag FLAG_RECEIVED_FANCLUB_TM_THIS_WEEK return PacifidlogTown_House2_EventScript_203816:: @ 8203816 @@ -44,7 +44,7 @@ PacifidlogTown_House2_EventScript_203816:: @ 8203816 giveitem_std ITEM_TM27 compare VAR_RESULT, 0 goto_if_eq PacifidlogTown_House2_EventScript_272054 - setflag FLAG_0x12B + setflag FLAG_RECEIVED_FANCLUB_TM_THIS_WEEK special SetPacifidlogTMReceivedDay msgbox PacifidlogTown_House2_Text_203A85, MSGBOX_DEFAULT release @@ -60,7 +60,7 @@ PacifidlogTown_House2_EventScript_20384F:: @ 820384F giveitem_std ITEM_TM21 compare VAR_RESULT, 0 goto_if_eq PacifidlogTown_House2_EventScript_272054 - setflag FLAG_0x12B + setflag FLAG_RECEIVED_FANCLUB_TM_THIS_WEEK special SetPacifidlogTMReceivedDay msgbox PacifidlogTown_House2_Text_203A85, MSGBOX_DEFAULT release diff --git a/data/maps/PacifidlogTown_House3/scripts.inc b/data/maps/PacifidlogTown_House3/scripts.inc index fb5bf8cb1c..28f187da99 100644 --- a/data/maps/PacifidlogTown_House3/scripts.inc +++ b/data/maps/PacifidlogTown_House3/scripts.inc @@ -4,10 +4,10 @@ PacifidlogTown_House3_MapScripts:: @ 8203C10 PacifidlogTown_House3_EventScript_203C11:: @ 8203C11 lock faceplayer - goto_if_set FLAG_0x09A, PacifidlogTown_House3_EventScript_203CAB + goto_if_set FLAG_PACIFIDLOG_NPC_TRADE_COMPLETED, PacifidlogTown_House3_EventScript_203CAB setvar VAR_0x8008, 2 copyvar VAR_0x8004, VAR_0x8008 - specialvar VAR_RESULT, sub_807E73C + specialvar VAR_RESULT, GetInGameTradeSpeciesInfo copyvar VAR_0x8009, VAR_RESULT msgbox PacifidlogTown_House3_Text_203CBE, MSGBOX_YESNO compare VAR_RESULT, 0 @@ -18,18 +18,18 @@ PacifidlogTown_House3_EventScript_203C11:: @ 8203C11 compare VAR_0x8004, 255 goto_if_eq PacifidlogTown_House3_EventScript_203C93 copyvar VAR_0x8005, VAR_0x800A - specialvar VAR_RESULT, sub_807E9D4 + specialvar VAR_RESULT, GetTradeSpecies copyvar VAR_0x800B, VAR_RESULT compare VAR_RESULT, VAR_0x8009 goto_if_ne PacifidlogTown_House3_EventScript_203C9D copyvar VAR_0x8004, VAR_0x8008 copyvar VAR_0x8005, VAR_0x800A - special sub_807EA10 - special sub_807F0E4 + special CreateInGameTradePokemon + special DoInGameTradeScene waitstate bufferspeciesname 0, VAR_0x8009 msgbox PacifidlogTown_House3_Text_203D87, MSGBOX_DEFAULT - setflag FLAG_0x09A + setflag FLAG_PACIFIDLOG_NPC_TRADE_COMPLETED release end diff --git a/data/maps/PetalburgCity_Gym/scripts.inc b/data/maps/PetalburgCity_Gym/scripts.inc index f978256242..66dfab92a5 100644 --- a/data/maps/PetalburgCity_Gym/scripts.inc +++ b/data/maps/PetalburgCity_Gym/scripts.inc @@ -364,7 +364,7 @@ PetalburgCity_Gym_EventScript_204D80:: @ 8204D80 call PetalburgCity_Gym_EventScript_204DCE compare VAR_RESULT, 1 goto_if_eq PetalburgCity_Gym_EventScript_204E1D - goto_if_unset FLAG_0x0A9, PetalburgCity_Gym_EventScript_204DAC + goto_if_unset FLAG_RECEIVED_TM42, PetalburgCity_Gym_EventScript_204DAC goto_if_set FLAG_SYS_GAME_CLEAR, PetalburgCity_Gym_EventScript_20512D msgbox PetalburgCity_Gym_Text_206417, MSGBOX_DEFAULT release @@ -415,7 +415,7 @@ PetalburgCity_Gym_EventScript_204E3B:: @ 8204E3B waitmessage call PetalburgCity_Gym_EventScript_27207E msgbox PetalburgCity_Gym_Text_20618A, MSGBOX_DEFAULT - setflag FLAG_0x4F4 + setflag FLAG_DEFEATED_PETALBURG_GYM setvar VAR_0x4085, 7 setflag FLAG_BADGE05_GET special sub_813B9A0 @@ -445,7 +445,7 @@ PetalburgCity_Gym_EventScript_204ED2:: @ 8204ED2 giveitem_std ITEM_TM42 compare VAR_RESULT, 0 goto_if_eq PetalburgCity_Gym_EventScript_27205E - setflag FLAG_0x0A9 + setflag FLAG_RECEIVED_TM42 msgbox PetalburgCity_Gym_Text_206254, MSGBOX_DEFAULT return @@ -956,7 +956,7 @@ PetalburgCity_Gym_EventScript_205387:: @ 8205387 PetalburgCity_Gym_EventScript_2053BA:: @ 82053BA trainerbattle_single TRAINER_RANDALL, PetalburgCity_Gym_Text_20674F, PetalburgCity_Gym_Text_2067B9, PetalburgCity_Gym_EventScript_2053DE - goto_if_set FLAG_0x4F4, PetalburgCity_Gym_EventScript_2053ED + goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_2053ED msgbox PetalburgCity_Gym_Text_2067D8, MSGBOX_AUTOCLOSE end @@ -973,7 +973,7 @@ PetalburgCity_Gym_EventScript_2053ED:: @ 82053ED PetalburgCity_Gym_EventScript_2053F6:: @ 82053F6 trainerbattle_single TRAINER_PARKER, PetalburgCity_Gym_Text_2068FD, PetalburgCity_Gym_Text_20694F, PetalburgCity_Gym_EventScript_20541A - goto_if_set FLAG_0x4F4, PetalburgCity_Gym_EventScript_205429 + goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_205429 msgbox PetalburgCity_Gym_Text_206996, MSGBOX_AUTOCLOSE end @@ -990,7 +990,7 @@ PetalburgCity_Gym_EventScript_205429:: @ 8205429 PetalburgCity_Gym_EventScript_205432:: @ 8205432 trainerbattle_single TRAINER_GEORGE, PetalburgCity_Gym_Text_206A1B, PetalburgCity_Gym_Text_206AB8, PetalburgCity_Gym_EventScript_205456 - goto_if_set FLAG_0x4F4, PetalburgCity_Gym_EventScript_205465 + goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_205465 msgbox PetalburgCity_Gym_Text_206AE9, MSGBOX_AUTOCLOSE end @@ -1007,7 +1007,7 @@ PetalburgCity_Gym_EventScript_205465:: @ 8205465 PetalburgCity_Gym_EventScript_20546E:: @ 820546E trainerbattle_single TRAINER_BERKE, PetalburgCity_Gym_Text_206BF4, PetalburgCity_Gym_Text_206C7D, PetalburgCity_Gym_EventScript_205492 - goto_if_set FLAG_0x4F4, PetalburgCity_Gym_EventScript_2054A1 + goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_2054A1 msgbox PetalburgCity_Gym_Text_206C9F, MSGBOX_AUTOCLOSE end @@ -1024,7 +1024,7 @@ PetalburgCity_Gym_EventScript_2054A1:: @ 82054A1 PetalburgCity_Gym_EventScript_2054AA:: @ 82054AA trainerbattle_single TRAINER_MARY, PetalburgCity_Gym_Text_206DB2, PetalburgCity_Gym_Text_206E0D, PetalburgCity_Gym_EventScript_2054CE - goto_if_set FLAG_0x4F4, PetalburgCity_Gym_EventScript_2054DD + goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_2054DD msgbox PetalburgCity_Gym_Text_206E26, MSGBOX_AUTOCLOSE end @@ -1041,7 +1041,7 @@ PetalburgCity_Gym_EventScript_2054DD:: @ 82054DD PetalburgCity_Gym_EventScript_2054E6:: @ 82054E6 trainerbattle_single TRAINER_ALEXIA, PetalburgCity_Gym_Text_206F44, PetalburgCity_Gym_Text_206F82, PetalburgCity_Gym_EventScript_20550A - goto_if_set FLAG_0x4F4, PetalburgCity_Gym_EventScript_205519 + goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_205519 msgbox PetalburgCity_Gym_Text_206F9F, MSGBOX_AUTOCLOSE end @@ -1058,7 +1058,7 @@ PetalburgCity_Gym_EventScript_205519:: @ 8205519 PetalburgCity_Gym_EventScript_205522:: @ 8205522 trainerbattle_single TRAINER_JODY, PetalburgCity_Gym_Text_207088, PetalburgCity_Gym_Text_2070E6, PetalburgCity_Gym_EventScript_205546 - goto_if_set FLAG_0x4F4, PetalburgCity_Gym_EventScript_205555 + goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_205555 msgbox PetalburgCity_Gym_Text_2070FB, MSGBOX_AUTOCLOSE end @@ -1205,7 +1205,7 @@ PetalburgCity_Gym_EventScript_20574B:: @ 820574B PetalburgCity_Gym_EventScript_20574F:: @ 820574F lock faceplayer - goto_if_set FLAG_0x4F4, PetalburgCity_Gym_EventScript_205764 + goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_205764 msgbox PetalburgCity_Gym_Text_206542, MSGBOX_DEFAULT release end diff --git a/data/maps/PetalburgCity_Mart/scripts.inc b/data/maps/PetalburgCity_Mart/scripts.inc index 4303f1504f..2bd72b69e3 100644 --- a/data/maps/PetalburgCity_Mart/scripts.inc +++ b/data/maps/PetalburgCity_Mart/scripts.inc @@ -6,7 +6,7 @@ PetalburgCity_Mart_EventScript_207D69:: @ 8207D69 faceplayer message gUnknown_08272A21 waitmessage - goto_if_set FLAG_0x128, PetalburgCity_Mart_EventScript_207DA6 + goto_if_set FLAG_PETALBURG_MART_EXPANDED_ITEMS, PetalburgCity_Mart_EventScript_207DA6 pokemart PetalburgCity_Mart_Pokemart_207D8C msgbox gUnknown_08272A3F, MSGBOX_DEFAULT release diff --git a/data/maps/PetalburgCity_WallysHouse/scripts.inc b/data/maps/PetalburgCity_WallysHouse/scripts.inc index 7645828ef3..ac41aaa28f 100644 --- a/data/maps/PetalburgCity_WallysHouse/scripts.inc +++ b/data/maps/PetalburgCity_WallysHouse/scripts.inc @@ -20,7 +20,7 @@ PetalburgCity_WallysHouse_EventScript_204251:: @ 8204251 lockall msgbox PetalburgCity_WallysHouse_Text_20446E, MSGBOX_DEFAULT giveitem_std ITEM_HM03 - setflag FLAG_0x07A + setflag FLAG_RECEIVED_HM03 msgbox PetalburgCity_WallysHouse_Text_20461A, MSGBOX_DEFAULT setvar VAR_0x4057, 5 releaseall @@ -29,11 +29,11 @@ PetalburgCity_WallysHouse_EventScript_204251:: @ 8204251 PetalburgCity_WallysHouse_EventScript_204278:: @ 8204278 lock faceplayer - goto_if_set FLAG_0x07E, PetalburgCity_WallysHouse_EventScript_2042AC - goto_if_set FLAG_0x07A, PetalburgCity_WallysHouse_EventScript_2042A2 - goto_if_set FLAG_0x087, PetalburgCity_WallysHouse_EventScript_2042B6 + goto_if_set FLAG_DEFEATED_WALLY_VICTORY_ROAD, PetalburgCity_WallysHouse_EventScript_2042AC + goto_if_set FLAG_RECEIVED_HM03, PetalburgCity_WallysHouse_EventScript_2042A2 + goto_if_set FLAG_THANKED_FOR_PLAYING_WITH_WALLY, PetalburgCity_WallysHouse_EventScript_2042B6 msgbox PetalburgCity_WallysHouse_Text_2042DF, MSGBOX_DEFAULT - setflag FLAG_0x087 + setflag FLAG_THANKED_FOR_PLAYING_WITH_WALLY release end @@ -55,7 +55,7 @@ PetalburgCity_WallysHouse_EventScript_2042B6:: @ 82042B6 PetalburgCity_WallysHouse_EventScript_2042C0:: @ 82042C0 lock faceplayer - goto_if_set FLAG_0x07A, PetalburgCity_WallysHouse_EventScript_2042D5 + goto_if_set FLAG_RECEIVED_HM03, PetalburgCity_WallysHouse_EventScript_2042D5 msgbox PetalburgCity_WallysHouse_Text_204732, MSGBOX_DEFAULT release end diff --git a/data/maps/PetalburgWoods/scripts.inc b/data/maps/PetalburgWoods/scripts.inc index 57797588f4..eec9100f1a 100644 --- a/data/maps/PetalburgWoods/scripts.inc +++ b/data/maps/PetalburgWoods/scripts.inc @@ -249,12 +249,12 @@ PetalburgWoods_EventScript_22E219:: @ 822E219 PetalburgWoods_EventScript_22E222:: @ 822E222 lock faceplayer - goto_if_set FLAG_0x129, PetalburgWoods_EventScript_22E251 + goto_if_set FLAG_RECEIVED_MIRACLE_SEED, PetalburgWoods_EventScript_22E251 msgbox PetalburgWoods_Text_22EAFE, MSGBOX_DEFAULT giveitem_std ITEM_MIRACLE_SEED compare VAR_RESULT, 0 goto_if_eq PetalburgWoods_EventScript_272054 - setflag FLAG_0x129 + setflag FLAG_RECEIVED_MIRACLE_SEED release end diff --git a/data/maps/Route101/scripts.inc b/data/maps/Route101/scripts.inc index e7f5f0af6b..15722a3f33 100644 --- a/data/maps/Route101/scripts.inc +++ b/data/maps/Route101/scripts.inc @@ -219,7 +219,7 @@ Route101_EventScript_1EBE16:: @ 81EBE16 lock faceplayer setflag FLAG_SYS_POKEMON_GET - setflag FLAG_0x052 + setflag FLAG_RESCUED_BIRCH fadescreen 1 removeobject 4 setobjectxy EVENT_OBJ_ID_PLAYER, 6, 13 diff --git a/data/maps/Route103/events.inc b/data/maps/Route103/events.inc index 30a7292a0e..5a6cc8866c 100644 --- a/data/maps/Route103/events.inc +++ b/data/maps/Route103/events.inc @@ -1,6 +1,6 @@ Route103_EventObjects: @ 85280DC object_event 1, EVENT_OBJ_GFX_MAN_3, 0, 49, 12, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, Route103_EventScript_1EC5E2, 0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 10, 3, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, Route103_EventScript_1EC3C1, FLAG_HIDE_ROUTE_103_RIVAL + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 10, 3, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, Route103_EventScript_1EC3C1, FLAG_HIDE_ROUTE_103_RIVAL object_event 3, EVENT_OBJ_GFX_WOMAN_2, 0, 71, 11, 3, MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT, 0, 0, 1, 3, Route103_EventScript_1EC5F4, 0 object_event 4, EVENT_OBJ_GFX_TWIN, 0, 65, 12, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 1, Route103_EventScript_1EC66E, 0 object_event 5, EVENT_OBJ_GFX_TWIN, 0, 64, 12, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 1, Route103_EventScript_1EC60B, 0 diff --git a/data/maps/Route103/scripts.inc b/data/maps/Route103/scripts.inc index 463db7b495..e13bad76df 100644 --- a/data/maps/Route103/scripts.inc +++ b/data/maps/Route103/scripts.inc @@ -142,7 +142,7 @@ Route103_EventScript_1EC5A2:: @ 81EC5A2 removeobject 2 setvar VAR_0x4084, 4 clearflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_RIVAL - setflag FLAG_0x082 + setflag FLAG_DEFEATED_RIVAL_ROUTE103 setvar VAR_0x40C7, 1 clearflag FLAG_HIDE_OLDALE_TOWN_RIVAL savebgm MUS_DUMMY diff --git a/data/maps/Route104/events.inc b/data/maps/Route104/events.inc index 889ef35951..53e868559d 100644 --- a/data/maps/Route104/events.inc +++ b/data/maps/Route104/events.inc @@ -32,7 +32,7 @@ Route104_EventObjects: @ 85282E4 object_event 31, EVENT_OBJ_GFX_ITEM_BALL, 0, 5, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route104_EventScript_290D26, FLAG_ITEM_ROUTE_104_POTION object_event 32, EVENT_OBJ_GFX_BOY_2, 0, 5, 26, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route104_EventScript_1ED057, 0 object_event 33, EVENT_OBJ_GFX_FISHERMAN, 0, 15, 59, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 0, Route104_EventScript_1ED5D5, 0 - object_event 34, EVENT_OBJ_GFX_HIPSTER, 0, 17, 50, 0, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route104_EventScript_1ECC9E, FLAG_HIDE_ROUTE_104_RIVAL + object_event 34, EVENT_OBJ_GFX_VAR_0, 0, 17, 50, 0, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route104_EventScript_1ECC9E, FLAG_HIDE_ROUTE_104_RIVAL Route104_MapWarps: @ 8528614 warp_def 17, 50, 0, 0, MAP_ROUTE104_MR_BRINEYS_HOUSE diff --git a/data/maps/Route104/scripts.inc b/data/maps/Route104/scripts.inc index 1b3adf2a24..e904f69b74 100644 --- a/data/maps/Route104/scripts.inc +++ b/data/maps/Route104/scripts.inc @@ -19,7 +19,7 @@ Route104_MapScript1_1ECC4E: @ 81ECC4E end Route104_EventScript_1ECC5E:: @ 81ECC5E - goto_if_unset FLAG_0x07F, Route104_EventScript_1ECC74 + goto_if_unset FLAG_MET_PRETTY_PETAL_SHOP_OWNER, Route104_EventScript_1ECC74 goto_if_unset FLAG_BADGE03_GET, Route104_EventScript_1ECC74 clearflag FLAG_HIDE_ROUTE_104_WHITE_HERB_FLORIST return @@ -31,8 +31,8 @@ Route104_EventScript_1ECC74:: @ 81ECC74 Route104_EventScript_1ECC78:: @ 81ECC78 compare VAR_0x408E, 1 goto_if_ge Route104_EventScript_1ECC9D - goto_if_set FLAG_0x120, Route104_EventScript_1ECC9D - goto_if_unset FLAG_0x07C, Route104_EventScript_1ECC9D + goto_if_set FLAG_MET_RIVAL_RUSTBORO, Route104_EventScript_1ECC9D + goto_if_unset FLAG_REGISTER_RIVAL_POKENAV, Route104_EventScript_1ECC9D setobjectxyperm 34, 17, 52 return @@ -95,9 +95,9 @@ Route104_EventScript_1ECD33:: @ 81ECD33 end Route104_EventScript_1ECD4B:: @ 81ECD4B - goto_if_set FLAG_0x07D, Route104_EventScript_1ECE1C - goto_if_set FLAG_0x07C, Route104_EventScript_1ECDD0 - setflag FLAG_0x07C + goto_if_set FLAG_DEFEATED_RIVAL_ROUTE_104, Route104_EventScript_1ECE1C + goto_if_set FLAG_REGISTER_RIVAL_POKENAV, Route104_EventScript_1ECDD0 + setflag FLAG_REGISTER_RIVAL_POKENAV msgbox Route104_Text_1EDBFF, MSGBOX_DEFAULT closemessage delay 30 @@ -106,7 +106,7 @@ Route104_EventScript_1ECD4B:: @ 81ECD4B waitfanfare closemessage delay 30 - setflag FLAG_0x0FD + setflag FLAG_ENABLE_RIVAL_MATCH_CALL applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ECDCD applymovement 34, Route104_Movement_1ECDC8 msgbox Route104_Text_1EDCB1, MSGBOX_DEFAULT @@ -167,26 +167,26 @@ Route104_EventScript_1ECE31:: @ 81ECE31 Route104_EventScript_1ECE36:: @ 81ECE36 trainerbattle_no_intro TRAINER_MAY_14, Route104_Text_1EDE18 - setflag FLAG_0x07D + setflag FLAG_DEFEATED_RIVAL_ROUTE_104 goto Route104_EventScript_1ECE1C end Route104_EventScript_1ECE49:: @ 81ECE49 trainerbattle_no_intro TRAINER_MAY_15, Route104_Text_1EDE18 - setflag FLAG_0x07D + setflag FLAG_DEFEATED_RIVAL_ROUTE_104 goto Route104_EventScript_1ECE1C end Route104_EventScript_1ECE5C:: @ 81ECE5C trainerbattle_no_intro TRAINER_MAY_10, Route104_Text_1EDE18 - setflag FLAG_0x07D + setflag FLAG_DEFEATED_RIVAL_ROUTE_104 goto Route104_EventScript_1ECE1C end Route104_EventScript_1ECE6F:: @ 81ECE6F - goto_if_set FLAG_0x07D, Route104_EventScript_1ECF38 - goto_if_set FLAG_0x07C, Route104_EventScript_1ECEEC - setflag FLAG_0x07C + goto_if_set FLAG_DEFEATED_RIVAL_ROUTE_104, Route104_EventScript_1ECF38 + goto_if_set FLAG_REGISTER_RIVAL_POKENAV, Route104_EventScript_1ECEEC + setflag FLAG_REGISTER_RIVAL_POKENAV msgbox Route104_Text_1EDF04, MSGBOX_DEFAULT closemessage delay 30 @@ -195,7 +195,7 @@ Route104_EventScript_1ECE6F:: @ 81ECE6F waitfanfare closemessage delay 30 - setflag FLAG_0x0FD + setflag FLAG_ENABLE_RIVAL_MATCH_CALL applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ECDCD applymovement 34, Route104_Movement_1ECDC8 msgbox Route104_Text_1EDFC6, MSGBOX_DEFAULT @@ -237,19 +237,19 @@ Route104_EventScript_1ECF38:: @ 81ECF38 Route104_EventScript_1ECF4D:: @ 81ECF4D trainerbattle_no_intro TRAINER_BRENDAN_10, Route104_Text_1EE107 - setflag FLAG_0x07D + setflag FLAG_DEFEATED_RIVAL_ROUTE_104 goto Route104_EventScript_1ECF38 end Route104_EventScript_1ECF60:: @ 81ECF60 trainerbattle_no_intro TRAINER_BRENDAN_12, Route104_Text_1EE107 - setflag FLAG_0x07D + setflag FLAG_DEFEATED_RIVAL_ROUTE_104 goto Route104_EventScript_1ECF38 end Route104_EventScript_1ECF73:: @ 81ECF73 trainerbattle_no_intro TRAINER_BRENDAN_11, Route104_Text_1EE107 - setflag FLAG_0x07D + setflag FLAG_DEFEATED_RIVAL_ROUTE_104 goto Route104_EventScript_1ECF38 end @@ -266,12 +266,12 @@ Route104_Movement_1ECF8A: @ 81ECF8A Route104_EventScript_1ECF8C:: @ 81ECF8C lock faceplayer - goto_if_set FLAG_0x0F6, Route104_EventScript_1ECFC3 + goto_if_set FLAG_RECEIVED_CHESTO_BERRY_ROUTE_104, Route104_EventScript_1ECFC3 msgbox Route104_Text_2A6D86, MSGBOX_DEFAULT giveitem_std ITEM_CHESTO_BERRY compare VAR_RESULT, 0 goto_if_eq Route104_EventScript_272054 - setflag FLAG_0x0F6 + setflag FLAG_RECEIVED_CHESTO_BERRY_ROUTE_104 msgbox Route104_Text_2A6E32, MSGBOX_DEFAULT release end @@ -284,12 +284,12 @@ Route104_EventScript_1ECFC3:: @ 81ECFC3 Route104_EventScript_1ECFCD:: @ 81ECFCD lock faceplayer - goto_if_set FLAG_0x117, Route104_EventScript_1ECFFC + goto_if_set FLAG_RECEIVED_WHITE_HERB, Route104_EventScript_1ECFFC msgbox Route104_Text_1ED96A, MSGBOX_DEFAULT giveitem_std ITEM_WHITE_HERB compare VAR_RESULT, 0 goto_if_eq Route104_EventScript_272054 - setflag FLAG_0x117 + setflag FLAG_RECEIVED_WHITE_HERB release end @@ -337,12 +337,12 @@ Route104_EventScript_1ED04E:: @ 81ED04E Route104_EventScript_1ED057:: @ 81ED057 lock faceplayer - goto_if_set FLAG_0x106, Route104_EventScript_1ED086 + goto_if_set FLAG_RECEIVED_TM09, Route104_EventScript_1ED086 msgbox Route104_Text_1ED838, MSGBOX_DEFAULT giveitem_std ITEM_TM09 compare VAR_RESULT, 0 goto_if_eq Route104_EventScript_272054 - setflag FLAG_0x106 + setflag FLAG_RECEIVED_TM09 release end @@ -365,8 +365,8 @@ Route104_EventScript_1ED099:: @ 81ED099 waitmovement 0 hideobjectat EVENT_OBJ_ID_PLAYER, MAP_ROUTE104 call Route104_EventScript_2720A0 - goto_if_set FLAG_0x132, Route104_EventScript_1ED0D9 - goto_if_unset FLAG_0x132, Route104_EventScript_1ED0EF + goto_if_set FLAG_ENABLE_NORMAN_MATCH_CALL, Route104_EventScript_1ED0D9 + goto_if_unset FLAG_ENABLE_NORMAN_MATCH_CALL, Route104_EventScript_1ED0EF end Route104_EventScript_1ED0D9:: @ 81ED0D9 @@ -387,7 +387,7 @@ Route104_EventScript_1ED0EF:: @ 81ED0EF waitfanfare closemessage delay 30 - setflag FLAG_0x132 + setflag FLAG_ENABLE_NORMAN_MATCH_CALL applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ED22A applymovement 7, Route104_Movement_1ED22A, MAP_ROUTE104 waitmovement 7, MAP_ROUTE104 @@ -418,8 +418,8 @@ Route104_EventScript_1ED139:: @ 81ED139 resetobjectpriority 2, MAP_DEWFORD_TOWN moveobjectoffscreen 2 setvar VAR_0x408E, 0 - goto_if_unset FLAG_0x0BD, Route104_EventScript_1ED1B4 - goto_if_set FLAG_0x0BD, Route104_EventScript_1ED1BE + goto_if_unset FLAG_DELIVERED_STEVEN_LETTER, Route104_EventScript_1ED1B4 + goto_if_set FLAG_DELIVERED_STEVEN_LETTER, Route104_EventScript_1ED1BE end Route104_EventScript_1ED1B4:: @ 81ED1B4 @@ -1185,4 +1185,3 @@ Route104_Text_1EE120: @ 81EE120 .string "making POKéMON battle.\p" .string "Like MR. BRINEY, it's important to\n" .string "become friends with your POKéMON.$" - diff --git a/data/maps/Route104_MrBrineysHouse/scripts.inc b/data/maps/Route104_MrBrineysHouse/scripts.inc index 90298a924d..ba1afc4289 100644 --- a/data/maps/Route104_MrBrineysHouse/scripts.inc +++ b/data/maps/Route104_MrBrineysHouse/scripts.inc @@ -6,7 +6,7 @@ Route104_MrBrineysHouse_MapScript1_229D34: @ 8229D34 setflag FLAG_LANDMARK_MR_BRINEY_HOUSE compare VAR_0x4090, 1 call_if_eq Route104_MrBrineysHouse_EventScript_229D50 - call_if_set FLAG_0x0BC, Route104_MrBrineysHouse_EventScript_229D4C + call_if_set FLAG_RECEIVED_POKENAV, Route104_MrBrineysHouse_EventScript_229D4C end Route104_MrBrineysHouse_EventScript_229D4C:: @ 8229D4C @@ -23,14 +23,14 @@ Route104_MrBrineysHouse_EventScript_229D50:: @ 8229D50 Route104_MrBrineysHouse_EventScript_229D67:: @ 8229D67 lock faceplayer - call_if_unset FLAG_0x093, Route104_MrBrineysHouse_EventScript_229D8A - goto_if_unset FLAG_0x0BD, Route104_MrBrineysHouse_EventScript_229DE1 - goto_if_unset FLAG_0x095, Route104_MrBrineysHouse_EventScript_229DFA + call_if_unset FLAG_MR_BRINEY_SAILING_INTRO, Route104_MrBrineysHouse_EventScript_229D8A + goto_if_unset FLAG_DELIVERED_STEVEN_LETTER, Route104_MrBrineysHouse_EventScript_229DE1 + goto_if_unset FLAG_DELIVERED_DEVON_GOODS, Route104_MrBrineysHouse_EventScript_229DFA goto Route104_MrBrineysHouse_EventScript_229DAE end Route104_MrBrineysHouse_EventScript_229D8A:: @ 8229D8A - setflag FLAG_0x093 + setflag FLAG_MR_BRINEY_SAILING_INTRO msgbox Route104_MrBrineysHouse_Text_229E70, MSGBOX_DEFAULT msgbox Route104_MrBrineysHouse_Text_229E9B, MSGBOX_YESNO compare VAR_RESULT, 0 diff --git a/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc b/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc index fc0acf3296..e9af43d730 100644 --- a/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc +++ b/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc @@ -4,7 +4,7 @@ Route104_PrettyPetalFlowerShop_MapScripts:: @ 822A34C Route104_PrettyPetalFlowerShop_MapScript1_22A352: @ 822A352 setflag FLAG_LANDMARK_FLOWER_SHOP - goto_if_unset FLAG_0x07F, Route104_PrettyPetalFlowerShop_EventScript_22A36B + goto_if_unset FLAG_MET_PRETTY_PETAL_SHOP_OWNER, Route104_PrettyPetalFlowerShop_EventScript_22A36B goto_if_unset FLAG_BADGE03_GET, Route104_PrettyPetalFlowerShop_EventScript_22A36B setflag FLAG_TEMP_1 end @@ -18,8 +18,8 @@ Route104_PrettyPetalFlowerShop_EventScript_22A373:: @ 822A373 faceplayer goto_if_set FLAG_TEMP_1, Route104_PrettyPetalFlowerShop_EventScript_22A3E4 msgbox Route104_PrettyPetalFlowerShop_Text_2A7686, MSGBOX_DEFAULT - goto_if_set FLAG_0x07F, Route104_PrettyPetalFlowerShop_EventScript_22A3B2 - setflag FLAG_0x07F + goto_if_set FLAG_MET_PRETTY_PETAL_SHOP_OWNER, Route104_PrettyPetalFlowerShop_EventScript_22A3B2 + setflag FLAG_MET_PRETTY_PETAL_SHOP_OWNER msgbox Route104_PrettyPetalFlowerShop_Text_2A7706, MSGBOX_YESNO compare VAR_RESULT, 1 call_if_eq Route104_PrettyPetalFlowerShop_EventScript_22A3D2 @@ -68,7 +68,7 @@ Route104_PrettyPetalFlowerShop_Pokemart_22A3FC: @ 822A3FC Route104_PrettyPetalFlowerShop_EventScript_22A40C:: @ 822A40C lock faceplayer - goto_if_unset FLAG_0x05E, Route104_PrettyPetalFlowerShop_EventScript_22A421 + goto_if_unset FLAG_RECEIVED_WAILMER_PAIL, Route104_PrettyPetalFlowerShop_EventScript_22A421 msgbox Route104_PrettyPetalFlowerShop_Text_2A79A6, MSGBOX_DEFAULT release end @@ -77,7 +77,7 @@ Route104_PrettyPetalFlowerShop_EventScript_22A421:: @ 822A421 msgbox Route104_PrettyPetalFlowerShop_Text_2A7916, MSGBOX_DEFAULT giveitem_std ITEM_WAILMER_PAIL msgbox Route104_PrettyPetalFlowerShop_Text_2A79A6, MSGBOX_DEFAULT - setflag FLAG_0x05E + setflag FLAG_RECEIVED_WAILMER_PAIL release end @@ -85,14 +85,14 @@ Route104_PrettyPetalFlowerShop_EventScript_22A442:: @ 822A442 lock faceplayer dodailyevents - goto_if_set FLAG_0x930, Route104_PrettyPetalFlowerShop_EventScript_22A482 + goto_if_set FLAG_DAILY_FLOWER_SHOP_RECEIVED_BERRY, Route104_PrettyPetalFlowerShop_EventScript_22A482 msgbox Route104_PrettyPetalFlowerShop_Text_2A7A98, MSGBOX_DEFAULT random 8 addvar VAR_RESULT, 133 giveitem_std VAR_RESULT compare VAR_RESULT, 0 goto_if_eq Route104_PrettyPetalFlowerShop_EventScript_272054 - setflag FLAG_0x930 + setflag FLAG_DAILY_FLOWER_SHOP_RECEIVED_BERRY msgbox Route104_PrettyPetalFlowerShop_Text_2A7AF3, MSGBOX_DEFAULT release end diff --git a/data/maps/Route105/scripts.inc b/data/maps/Route105/scripts.inc index adb8c4f8ed..b4213af5bc 100644 --- a/data/maps/Route105/scripts.inc +++ b/data/maps/Route105/scripts.inc @@ -5,7 +5,7 @@ Route105_MapScripts:: @ 81EE1DB .byte 0 Route105_MapScript1_1EE1EB: @ 81EE1EB - call_if_unset FLAG_0x0E4, Route105_EventScript_1EE20B + call_if_unset FLAG_REGI_DOORS_OPENED, Route105_EventScript_1EE20B compare VAR_0x4037, 9 call_if_eq Route105_EventScript_2739AB compare VAR_0x4037, 10 diff --git a/data/maps/Route109/events.inc b/data/maps/Route109/events.inc index 3220558747..89ee11bb3b 100644 --- a/data/maps/Route109/events.inc +++ b/data/maps/Route109/events.inc @@ -21,7 +21,7 @@ Route109_EventObjects: @ 8528A34 object_event 20, EVENT_OBJ_GFX_ZIGZAGOON_2, 0, 32, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route109_EventScript_1EEA18, 0 object_event 21, EVENT_OBJ_GFX_TUBER_F, 0, 17, 13, 3, MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_RIGHT, 1, 1, 1, 6, Route109_EventScript_1EEBEF, 0 object_event 22, EVENT_OBJ_GFX_TUBER_M, 0, 27, 7, 3, MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_LEFT, 1, 1, 1, 4, Route109_EventScript_1EEBD8, 0 - object_event 23, EVENT_OBJ_GFX_ITEM_BALL, 0, 25, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route109_EventScript_290D67, FLAG_0x474 + object_event 23, EVENT_OBJ_GFX_ITEM_BALL, 0, 25, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route109_EventScript_290D67, FLAG_ITEM_ROUTE_109_POTION object_event 24, EVENT_OBJ_GFX_MAN_5, 0, 17, 56, 3, MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_RIGHT, 1, 1, 1, 3, Route109_EventScript_1EEC06, 0 Route109_MapWarps: @ 8528C74 @@ -39,4 +39,3 @@ Route109_MapBGEvents: @ 8528C7C Route109_MapEvents:: @ 8528CDC map_events Route109_EventObjects, Route109_MapWarps, 0x0, Route109_MapBGEvents - diff --git a/data/maps/Route109/scripts.inc b/data/maps/Route109/scripts.inc index 2e588f8130..ebf9398d13 100644 --- a/data/maps/Route109/scripts.inc +++ b/data/maps/Route109/scripts.inc @@ -272,7 +272,7 @@ Route109_Movement_1EE90D: @ 81EE90D Route109_EventScript_1EE910:: @ 81EE910 lock faceplayer - goto_if_unset FLAG_0x095, Route109_EventScript_1EE921 + goto_if_unset FLAG_DELIVERED_DEVON_GOODS, Route109_EventScript_1EE921 goto Route109_EventScript_1EE93F end @@ -328,7 +328,7 @@ Route109_EventScript_1EE9B5:: @ 81EE9B5 lock faceplayer special GetPlayerBigGuyGirlString - goto_if_set FLAG_0x118, Route109_EventScript_1EE9F2 + goto_if_set FLAG_RECEIVED_SOFT_SAND, Route109_EventScript_1EE9F2 msgbox Route109_Text_1EEFDE, MSGBOX_DEFAULT giveitem_std ITEM_SOFT_SAND compare VAR_RESULT, 0 @@ -336,7 +336,7 @@ Route109_EventScript_1EE9B5:: @ 81EE9B5 closemessage applymovement VAR_LAST_TALKED, Route109_Movement_2725A2 waitmovement 0 - setflag FLAG_0x118 + setflag FLAG_RECEIVED_SOFT_SAND release end diff --git a/data/maps/Route109_SeashoreHouse/scripts.inc b/data/maps/Route109_SeashoreHouse/scripts.inc index 3056159cd2..951356409d 100644 --- a/data/maps/Route109_SeashoreHouse/scripts.inc +++ b/data/maps/Route109_SeashoreHouse/scripts.inc @@ -9,8 +9,8 @@ Route109_SeashoreHouse_MapScript1_2693FA: @ 82693FA Route109_SeashoreHouse_EventScript_2693FE:: @ 82693FE lock faceplayer - goto_if_set FLAG_0x08C, Route109_SeashoreHouse_EventScript_269460 - goto_if_set FLAG_0x08D, Route109_SeashoreHouse_EventScript_269432 + goto_if_set FLAG_RECEIVED_6_SODA_POP, Route109_SeashoreHouse_EventScript_269460 + goto_if_set FLAG_DEFEATED_SEASHORE_HOUSE, Route109_SeashoreHouse_EventScript_269432 goto_if_set FLAG_TEMP_2, Route109_SeashoreHouse_EventScript_269428 msgbox Route109_SeashoreHouse_Text_269555, MSGBOX_DEFAULT setflag FLAG_TEMP_2 @@ -27,7 +27,7 @@ Route109_SeashoreHouse_EventScript_269432:: @ 8269432 giveitem_std ITEM_SODA_POP, 6 compare VAR_RESULT, 0 goto_if_eq Route109_SeashoreHouse_EventScript_269456 - setflag FLAG_0x08C + setflag FLAG_RECEIVED_6_SODA_POP release end @@ -104,7 +104,7 @@ Route109_SeashoreHouse_EventScript_269533:: @ 8269533 goto_if_lt Route109_SeashoreHouse_EventScript_269553 checktrainerflag TRAINER_SIMON goto_if_lt Route109_SeashoreHouse_EventScript_269553 - setflag FLAG_0x08D + setflag FLAG_DEFEATED_SEASHORE_HOUSE release end diff --git a/data/maps/Route110/events.inc b/data/maps/Route110/events.inc index 221dd6f6ce..b50e5eec6d 100644 --- a/data/maps/Route110/events.inc +++ b/data/maps/Route110/events.inc @@ -26,8 +26,8 @@ Route110_EventObjects: @ 8528CF0 object_event 25, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 10, 83, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, Route110_EventScript_1EF2EC, FLAG_HIDE_ROUTE_110_TEAM_AQUA object_event 26, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 8, 82, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_110_TEAM_AQUA object_event 27, EVENT_OBJ_GFX_CYCLING_TRIATHLETE_M, 0, 21, 78, 4, MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN, 7, 1, 1, 2, Route110_EventScript_1EF499, 0 - object_event 28, EVENT_OBJ_GFX_HIPSTER, 0, 34, 54, 3, MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_110_RIVAL_1 - object_event 29, EVENT_OBJ_GFX_GIDDY, 0, 34, 54, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_110_RIVAL_2 + object_event 28, EVENT_OBJ_GFX_VAR_0, 0, 34, 54, 3, MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_110_RIVAL_1 + object_event 29, EVENT_OBJ_GFX_VAR_3, 0, 34, 54, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_110_RIVAL_2 object_event 30, EVENT_OBJ_GFX_YOUNGSTER, 0, 33, 69, 3, MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT, 0, 0, 1, 3, Route110_EventScript_1EF604, 0 object_event 31, EVENT_OBJ_GFX_POKEFAN_F, 0, 10, 76, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 2, Route110_EventScript_1EF5A2, 0 object_event 32, EVENT_OBJ_GFX_POKEFAN_M, 0, 7, 76, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 1, 2, Route110_EventScript_1EF61C, 0 diff --git a/data/maps/Route110/scripts.inc b/data/maps/Route110/scripts.inc index 4e96a592c8..0455ebb1fd 100644 --- a/data/maps/Route110/scripts.inc +++ b/data/maps/Route110/scripts.inc @@ -648,7 +648,7 @@ Route110_EventScript_1EF9F7:: @ 81EF9F7 waitfanfare closemessage delay 30 - setflag FLAG_0x119 + setflag FLAG_ENABLE_PROF_BIRCH_MATCH_CALL msgbox Route110_Text_1F0C33, MSGBOX_DEFAULT closemessage compare VAR_0x8008, 1 diff --git a/data/maps/Route110_TrickHousePuzzle7/scripts.inc b/data/maps/Route110_TrickHousePuzzle7/scripts.inc index 76e8ac7698..3babdbd453 100644 --- a/data/maps/Route110_TrickHousePuzzle7/scripts.inc +++ b/data/maps/Route110_TrickHousePuzzle7/scripts.inc @@ -10,11 +10,11 @@ Route110_TrickHousePuzzle7_MapScript1_26E0A6: @ 826E0A6 end Route110_TrickHousePuzzle7_EventScript_26E0AC:: @ 826E0AC - call_if_set FLAG_0x0C2, Route110_TrickHousePuzzle7_EventScript_26E0DA - call_if_set FLAG_0x0C3, Route110_TrickHousePuzzle7_EventScript_26E0ED - call_if_set FLAG_0x0C4, Route110_TrickHousePuzzle7_EventScript_26E100 - call_if_set FLAG_0x0C5, Route110_TrickHousePuzzle7_EventScript_26E113 - call_if_set FLAG_0x0C6, Route110_TrickHousePuzzle7_EventScript_26E126 + call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1, Route110_TrickHousePuzzle7_EventScript_26E0DA + call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2, Route110_TrickHousePuzzle7_EventScript_26E0ED + call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3, Route110_TrickHousePuzzle7_EventScript_26E100 + call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4, Route110_TrickHousePuzzle7_EventScript_26E113 + call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5, Route110_TrickHousePuzzle7_EventScript_26E126 return Route110_TrickHousePuzzle7_EventScript_26E0DA:: @ 826E0DA @@ -70,11 +70,11 @@ Route110_TrickHousePuzzle7_EventScript_26E185:: @ 826E185 Route110_TrickHousePuzzle7_MapScript1_26E198: @ 826E198 compare VAR_0x40B6, 1 goto_if_eq Route110_TrickHousePuzzle7_EventScript_26E1B3 - clearflag FLAG_0x0C2 - clearflag FLAG_0x0C3 - clearflag FLAG_0x0C4 - clearflag FLAG_0x0C5 - clearflag FLAG_0x0C6 + clearflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1 + clearflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2 + clearflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3 + clearflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4 + clearflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5 end Route110_TrickHousePuzzle7_EventScript_26E1B3:: @ 826E1B3 @@ -116,105 +116,105 @@ Route110_TrickHousePuzzle7_EventScript_26E1ED:: @ 826E1ED Route110_TrickHousePuzzle7_EventScript_26E1FE:: @ 826E1FE lockall delay 32 - call_if_unset FLAG_0x0C2, Route110_TrickHousePuzzle7_EventScript_26E0DA - call_if_set FLAG_0x0C2, Route110_TrickHousePuzzle7_EventScript_26E139 + call_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1, Route110_TrickHousePuzzle7_EventScript_26E0DA + call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1, Route110_TrickHousePuzzle7_EventScript_26E139 special DrawWholeMapView playse SE_TK_KASYA - goto_if_unset FLAG_0x0C2, Route110_TrickHousePuzzle7_EventScript_26E2E9 - goto_if_set FLAG_0x0C2, Route110_TrickHousePuzzle7_EventScript_26E2EE + goto_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1, Route110_TrickHousePuzzle7_EventScript_26E2E9 + goto_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1, Route110_TrickHousePuzzle7_EventScript_26E2EE end Route110_TrickHousePuzzle7_EventScript_26E22D:: @ 826E22D lockall delay 32 - call_if_unset FLAG_0x0C3, Route110_TrickHousePuzzle7_EventScript_26E0ED - call_if_set FLAG_0x0C3, Route110_TrickHousePuzzle7_EventScript_26E14C + call_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2, Route110_TrickHousePuzzle7_EventScript_26E0ED + call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2, Route110_TrickHousePuzzle7_EventScript_26E14C special DrawWholeMapView playse SE_TK_KASYA - goto_if_unset FLAG_0x0C3, Route110_TrickHousePuzzle7_EventScript_26E2F3 - goto_if_set FLAG_0x0C3, Route110_TrickHousePuzzle7_EventScript_26E2F8 + goto_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2, Route110_TrickHousePuzzle7_EventScript_26E2F3 + goto_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2, Route110_TrickHousePuzzle7_EventScript_26E2F8 end Route110_TrickHousePuzzle7_EventScript_26E25C:: @ 826E25C lockall delay 32 - call_if_unset FLAG_0x0C4, Route110_TrickHousePuzzle7_EventScript_26E100 - call_if_set FLAG_0x0C4, Route110_TrickHousePuzzle7_EventScript_26E15F + call_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3, Route110_TrickHousePuzzle7_EventScript_26E100 + call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3, Route110_TrickHousePuzzle7_EventScript_26E15F special DrawWholeMapView playse SE_TK_KASYA - goto_if_unset FLAG_0x0C4, Route110_TrickHousePuzzle7_EventScript_26E2FD - goto_if_set FLAG_0x0C4, Route110_TrickHousePuzzle7_EventScript_26E302 + goto_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3, Route110_TrickHousePuzzle7_EventScript_26E2FD + goto_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3, Route110_TrickHousePuzzle7_EventScript_26E302 end Route110_TrickHousePuzzle7_EventScript_26E28B:: @ 826E28B lockall delay 32 - call_if_unset FLAG_0x0C5, Route110_TrickHousePuzzle7_EventScript_26E113 - call_if_set FLAG_0x0C5, Route110_TrickHousePuzzle7_EventScript_26E172 + call_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4, Route110_TrickHousePuzzle7_EventScript_26E113 + call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4, Route110_TrickHousePuzzle7_EventScript_26E172 special DrawWholeMapView playse SE_TK_KASYA - goto_if_unset FLAG_0x0C5, Route110_TrickHousePuzzle7_EventScript_26E307 - goto_if_set FLAG_0x0C5, Route110_TrickHousePuzzle7_EventScript_26E30C + goto_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4, Route110_TrickHousePuzzle7_EventScript_26E307 + goto_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4, Route110_TrickHousePuzzle7_EventScript_26E30C end Route110_TrickHousePuzzle7_EventScript_26E2BA:: @ 826E2BA lockall delay 32 - call_if_unset FLAG_0x0C6, Route110_TrickHousePuzzle7_EventScript_26E126 - call_if_set FLAG_0x0C6, Route110_TrickHousePuzzle7_EventScript_26E185 + call_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5, Route110_TrickHousePuzzle7_EventScript_26E126 + call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5, Route110_TrickHousePuzzle7_EventScript_26E185 special DrawWholeMapView playse SE_TK_KASYA - goto_if_unset FLAG_0x0C6, Route110_TrickHousePuzzle7_EventScript_26E311 - goto_if_set FLAG_0x0C6, Route110_TrickHousePuzzle7_EventScript_26E316 + goto_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5, Route110_TrickHousePuzzle7_EventScript_26E311 + goto_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5, Route110_TrickHousePuzzle7_EventScript_26E316 end Route110_TrickHousePuzzle7_EventScript_26E2E9:: @ 826E2E9 - setflag FLAG_0x0C2 + setflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1 releaseall end Route110_TrickHousePuzzle7_EventScript_26E2EE:: @ 826E2EE - clearflag FLAG_0x0C2 + clearflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1 releaseall end Route110_TrickHousePuzzle7_EventScript_26E2F3:: @ 826E2F3 - setflag FLAG_0x0C3 + setflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2 releaseall end Route110_TrickHousePuzzle7_EventScript_26E2F8:: @ 826E2F8 - clearflag FLAG_0x0C3 + clearflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2 releaseall end Route110_TrickHousePuzzle7_EventScript_26E2FD:: @ 826E2FD - setflag FLAG_0x0C4 + setflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3 releaseall end Route110_TrickHousePuzzle7_EventScript_26E302:: @ 826E302 - clearflag FLAG_0x0C4 + clearflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3 releaseall end Route110_TrickHousePuzzle7_EventScript_26E307:: @ 826E307 - setflag FLAG_0x0C5 + setflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4 releaseall end Route110_TrickHousePuzzle7_EventScript_26E30C:: @ 826E30C - clearflag FLAG_0x0C5 + clearflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4 releaseall end Route110_TrickHousePuzzle7_EventScript_26E311:: @ 826E311 - setflag FLAG_0x0C6 + setflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5 releaseall end Route110_TrickHousePuzzle7_EventScript_26E316:: @ 826E316 - clearflag FLAG_0x0C6 + clearflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5 releaseall end diff --git a/data/maps/Route111/events.inc b/data/maps/Route111/events.inc index 25e1beeba8..975141b73f 100644 --- a/data/maps/Route111/events.inc +++ b/data/maps/Route111/events.inc @@ -43,7 +43,7 @@ Route111_EventObjects: @ 85291F0 object_event 42, EVENT_OBJ_GFX_ITEM_BALL, 0, 19, 118, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route111_EventScript_290DC2, FLAG_ITEM_ROUTE_111_ELIXIR object_event 43, EVENT_OBJ_GFX_HIKER, 0, 14, 56, 3, MOVEMENT_TYPE_FACE_UP_AND_RIGHT, 1, 1, 0, 0, Route111_EventScript_1F119B, 0 object_event 44, EVENT_OBJ_GFX_FOSSIL, 0, 20, 53, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, FLAG_HIDE_ROUTE_111_DESERT_FOSSIL - object_event 45, EVENT_OBJ_GFX_HIPSTER, 0, 19, 53, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, FLAG_HIDE_ROUTE_111_PLAYER_DESCENT + object_event 45, EVENT_OBJ_GFX_VAR_0, 0, 19, 53, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, FLAG_HIDE_ROUTE_111_PLAYER_DESCENT object_event 46, EVENT_OBJ_GFX_FAT_MAN, 0, 19, 101, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, Route111_EventScript_1F11E4, FLAG_HIDE_ROUTE_111_ROCK_SMASH_TIP_GUY Route111_MapWarps: @ 8529640 diff --git a/data/maps/Route111/scripts.inc b/data/maps/Route111/scripts.inc index ad6a165720..c89fcb3dc3 100644 --- a/data/maps/Route111/scripts.inc +++ b/data/maps/Route111/scripts.inc @@ -6,7 +6,7 @@ Route111_MapScripts:: @ 81F0CA7 .byte 0 Route111_MapScript1_1F0CBC: @ 81F0CBC - call_if_unset FLAG_0x0E4, Route111_EventScript_1F0CD1 + call_if_unset FLAG_REGI_DOORS_OPENED, Route111_EventScript_1F0CD1 compare VAR_0x40CB, 1 call_if_eq Route111_EventScript_1F0CE4 end @@ -136,7 +136,7 @@ Route111_EventScript_1F0E60:: @ 81F0E60 waitstate setvar VAR_0x40CB, 2 clearflag FLAG_HIDE_DESERT_UNDERPASS_FOSSIL - goto_if_set FLAG_0x150, Route111_EventScript_1F0EA7 + goto_if_set FLAG_CHOSE_ROOT_FOSSIL, Route111_EventScript_1F0EA7 msgbox Route111_Text_1F1C74, MSGBOX_DEFAULT releaseall end @@ -160,12 +160,12 @@ Route111_EventScript_1F0EB9:: @ 81F0EB9 lock faceplayer dodailyevents - goto_if_set FLAG_0x92C, Route111_EventScript_1F0EF4 + goto_if_set FLAG_DAILY_ROUTE_111_RECEIVED_BERRY, Route111_EventScript_1F0EF4 msgbox Route111_Text_2A6EBD, MSGBOX_DEFAULT giveitem_std ITEM_RAZZ_BERRY compare VAR_RESULT, 0 goto_if_eq Route111_EventScript_272054 - setflag FLAG_0x92C + setflag FLAG_DAILY_ROUTE_111_RECEIVED_BERRY special GetPlayerBigGuyGirlString msgbox Route111_Text_2A6F3D, MSGBOX_DEFAULT release diff --git a/data/maps/Route111_WinstrateFamilysHouse/scripts.inc b/data/maps/Route111_WinstrateFamilysHouse/scripts.inc index cd862b7e39..b54fe564e2 100644 --- a/data/maps/Route111_WinstrateFamilysHouse/scripts.inc +++ b/data/maps/Route111_WinstrateFamilysHouse/scripts.inc @@ -13,12 +13,12 @@ Route111_WinstrateFamilysHouse_EventScript_22A4A2:: @ 822A4A2 lock faceplayer setvar VAR_0x8008, 3 - goto_if_set FLAG_0x115, Route111_WinstrateFamilysHouse_EventScript_22A4DA + goto_if_set FLAG_RECEIVED_MACHO_BRACE, Route111_WinstrateFamilysHouse_EventScript_22A4DA msgbox Route111_WinstrateFamilysHouse_Text_22A5F4, MSGBOX_DEFAULT giveitem_std ITEM_MACHO_BRACE compare VAR_RESULT, 0 goto_if_eq Route111_WinstrateFamilysHouse_EventScript_272054 - setflag FLAG_0x115 + setflag FLAG_RECEIVED_MACHO_BRACE goto Route111_WinstrateFamilysHouse_EventScript_22A52C end diff --git a/data/maps/Route114/scripts.inc b/data/maps/Route114/scripts.inc index b66b54910e..8f0c1c6ace 100644 --- a/data/maps/Route114/scripts.inc +++ b/data/maps/Route114/scripts.inc @@ -28,7 +28,7 @@ Route114_EventScript_1F2582:: @ 81F2582 lock faceplayer dodailyevents - goto_if_set FLAG_0x92B, Route114_EventScript_1F25C7 + goto_if_set FLAG_DAILY_ROUTE_114_RECEIVED_BERRY, Route114_EventScript_1F25C7 msgbox Route114_Text_2A6FCB, MSGBOX_DEFAULT random 5 addvar VAR_RESULT, 15 @@ -36,7 +36,7 @@ Route114_EventScript_1F2582:: @ 81F2582 giveitem_std VAR_RESULT compare VAR_RESULT, 0 goto_if_eq Route114_EventScript_272054 - setflag FLAG_0x92B + setflag FLAG_DAILY_ROUTE_114_RECEIVED_BERRY msgbox Route114_Text_2A7034, MSGBOX_DEFAULT release end @@ -49,12 +49,12 @@ Route114_EventScript_1F25C7:: @ 81F25C7 Route114_EventScript_1F25D1:: @ 81F25D1 lock faceplayer - goto_if_set FLAG_0x0E7, Route114_EventScript_1F2608 + goto_if_set FLAG_RECEIVED_TM05, Route114_EventScript_1F2608 msgbox Route114_Text_1F2809, MSGBOX_DEFAULT giveitem_std ITEM_TM05 compare VAR_RESULT, 0 goto_if_eq Route114_EventScript_272054 - setflag FLAG_0x0E7 + setflag FLAG_RECEIVED_TM05 msgbox Route114_Text_1F2872, MSGBOX_DEFAULT release end diff --git a/data/maps/Route114_FossilManiacsHouse/scripts.inc b/data/maps/Route114_FossilManiacsHouse/scripts.inc index 4985089c2f..e229c756d1 100644 --- a/data/maps/Route114_FossilManiacsHouse/scripts.inc +++ b/data/maps/Route114_FossilManiacsHouse/scripts.inc @@ -9,12 +9,12 @@ Route114_FossilManiacsHouse_MapScript1_22AD36: @ 822AD36 Route114_FossilManiacsHouse_EventScript_22AD3A:: @ 822AD3A lock faceplayer - goto_if_set FLAG_0x105, Route114_FossilManiacsHouse_EventScript_22AD69 + goto_if_set FLAG_RECEIVED_TM28, Route114_FossilManiacsHouse_EventScript_22AD69 msgbox Route114_FossilManiacsHouse_Text_22AD85, MSGBOX_DEFAULT giveitem_std ITEM_TM28 compare VAR_RESULT, 0 goto_if_eq Route114_FossilManiacsHouse_EventScript_272054 - setflag FLAG_0x105 + setflag FLAG_RECEIVED_TM28 release end diff --git a/data/maps/Route114_FossilManiacsTunnel/scripts.inc b/data/maps/Route114_FossilManiacsTunnel/scripts.inc index 850e970e3b..b98fd33217 100644 --- a/data/maps/Route114_FossilManiacsTunnel/scripts.inc +++ b/data/maps/Route114_FossilManiacsTunnel/scripts.inc @@ -34,7 +34,7 @@ Route114_FossilManiacsTunnel_EventScript_22AF66:: @ 822AF66 Route114_FossilManiacsTunnel_EventScript_22AF87:: @ 822AF87 lock faceplayer - goto_if_set FLAG_0x10B, Route114_FossilManiacsTunnel_EventScript_22AFC6 + goto_if_set FLAG_RECEIVED_REVIVED_FOSSIL_MON, Route114_FossilManiacsTunnel_EventScript_22AFC6 checkitem ITEM_ROOT_FOSSIL, 1 compare VAR_RESULT, 1 goto_if_eq Route114_FossilManiacsTunnel_EventScript_22AFBC diff --git a/data/maps/Route114_LanettesHouse/scripts.inc b/data/maps/Route114_LanettesHouse/scripts.inc index 984bca5740..b54365523f 100644 --- a/data/maps/Route114_LanettesHouse/scripts.inc +++ b/data/maps/Route114_LanettesHouse/scripts.inc @@ -9,13 +9,13 @@ Route114_LanettesHouse_MapScript1_22B2CE: @ 822B2CE Route114_LanettesHouse_EventScript_22B2D2:: @ 822B2D2 lock faceplayer - goto_if_set FLAG_0x083, Route114_LanettesHouse_EventScript_22B2FF + goto_if_set FLAG_RECEIVED_DOLL_LANETTE, Route114_LanettesHouse_EventScript_22B2FF setflag FLAG_SYS_PC_LANETTE msgbox Route114_LanettesHouse_Text_22B34E, MSGBOX_DEFAULT givedecoration_std 99 compare VAR_RESULT, 0 goto_if_eq Route114_LanettesHouse_EventScript_272067 - setflag FLAG_0x083 + setflag FLAG_RECEIVED_DOLL_LANETTE release end diff --git a/data/maps/Route116/scripts.inc b/data/maps/Route116/scripts.inc index 519bc04471..623c74e3ca 100644 --- a/data/maps/Route116/scripts.inc +++ b/data/maps/Route116/scripts.inc @@ -5,7 +5,7 @@ Route116_MapScripts:: @ 81F2C0C .byte 0 Route116_MapScript1_1F2C1C: @ 81F2C1C - call_if_set FLAG_0x08F, Route116_EventScript_1F2C47 + call_if_set FLAG_RECOVERED_DEVON_GOODS, Route116_EventScript_1F2C47 compare VAR_0x4039, 1 call_if_eq Route116_EventScript_273D13 compare VAR_0x4037, 5 @@ -32,8 +32,8 @@ Route116_MapScript2_1F2C66: @ 81F2C66 Route116_EventScript_1F2C70:: @ 81F2C70 lock faceplayer - goto_if_set FLAG_0x08F, Route116_EventScript_1F2C8E - goto_if_set FLAG_0x08E, Route116_EventScript_1F2C98 + goto_if_set FLAG_RECOVERED_DEVON_GOODS, Route116_EventScript_1F2C8E + goto_if_set FLAG_DEVON_GOODS_STOLEN, Route116_EventScript_1F2C98 msgbox Route116_Text_1F3140, MSGBOX_DEFAULT release end @@ -51,13 +51,13 @@ Route116_EventScript_1F2C98:: @ 81F2C98 Route116_EventScript_1F2CA2:: @ 81F2CA2 lock faceplayer - goto_if_set FLAG_0x11F, Route116_EventScript_1F2D2B + goto_if_set FLAG_MET_DEVON_EMPLOYEE, Route116_EventScript_1F2D2B msgbox Route116_Text_1F3317, MSGBOX_DEFAULT goto Route116_EventScript_1F2CBB end Route116_EventScript_1F2CBB:: @ 81F2CBB - setflag FLAG_0x11F + setflag FLAG_MET_DEVON_EMPLOYEE giveitem_std ITEM_REPEAT_BALL compare VAR_RESULT, 0 goto_if_eq Route116_EventScript_1F2D39 @@ -73,7 +73,7 @@ Route116_EventScript_1F2CBB:: @ 81F2CBB call_if_eq Route116_EventScript_1F2D20 removeobject VAR_LAST_TALKED clearflag FLAG_HIDE_RUSTBORO_CITY_DEVON_CORP_3F_EMPLOYEE - setflag FLAG_0x100 + setflag FLAG_RECEIVED_REPEAT_BALL release end diff --git a/data/maps/Route118/scripts.inc b/data/maps/Route118/scripts.inc index 91067e786e..45b8665b0d 100644 --- a/data/maps/Route118/scripts.inc +++ b/data/maps/Route118/scripts.inc @@ -28,7 +28,7 @@ Route118_MapScript2_1F3E0A: @ 81F3E0A Route118_EventScript_1F3E14:: @ 81F3E14 lock faceplayer - goto_if_set FLAG_0x0E3, Route118_EventScript_1F3E69 + goto_if_set FLAG_RECEIVED_GOOD_ROD, Route118_EventScript_1F3E69 msgbox Route118_Text_1F427B, MSGBOX_YESNO compare VAR_RESULT, 1 goto_if_eq Route118_EventScript_1F3E3E @@ -39,7 +39,7 @@ Route118_EventScript_1F3E14:: @ 81F3E14 Route118_EventScript_1F3E3E:: @ 81F3E3E msgbox Route118_Text_1F42AF, MSGBOX_DEFAULT giveitem_std ITEM_GOOD_ROD - setflag FLAG_0x0E3 + setflag FLAG_RECEIVED_GOOD_ROD msgbox Route118_Text_1F42E7, MSGBOX_DEFAULT release end diff --git a/data/maps/Route119/events.inc b/data/maps/Route119/events.inc index 3a7d1422bb..86ec2d2be3 100644 --- a/data/maps/Route119/events.inc +++ b/data/maps/Route119/events.inc @@ -14,7 +14,7 @@ Route119_EventObjects: @ 852AD6C object_event 13, EVENT_OBJ_GFX_NINJA_BOY, 0, 19, 49, 3, MOVEMENT_TYPE_MOUNTAIN_DISGUISE, 0, 0, 1, 3, Route119_EventScript_1F4919, 0 object_event 14, EVENT_OBJ_GFX_MAN_5, 0, 10, 50, 4, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 3, Route119_EventScript_1F48D4, 0 object_event 15, EVENT_OBJ_GFX_MAN_5, 0, 8, 63, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 5, Route119_EventScript_1F48EB, 0 - object_event 16, EVENT_OBJ_GFX_HIPSTER, 0, 25, 32, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_119_RIVAL + object_event 16, EVENT_OBJ_GFX_VAR_0, 0, 25, 32, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_119_RIVAL object_event 17, EVENT_OBJ_GFX_ITEM_BALL, 0, 12, 121, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route119_EventScript_290EE0, FLAG_ITEM_ROUTE_119_SUPER_REPEL object_event 18, EVENT_OBJ_GFX_ITEM_BALL, 0, 4, 96, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route119_EventScript_290EED, FLAG_ITEM_ROUTE_119_ZINC object_event 19, EVENT_OBJ_GFX_ITEM_BALL, 0, 29, 53, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route119_EventScript_290EFA, FLAG_ITEM_ROUTE_119_ELIXIR_1 @@ -23,7 +23,7 @@ Route119_EventObjects: @ 852AD6C object_event 22, EVENT_OBJ_GFX_ITEM_BALL, 0, 33, 117, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route119_EventScript_290F21, FLAG_ITEM_ROUTE_119_HYPER_POTION_1 object_event 23, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 13, 33, 4, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, Route119_EventScript_1F49A3, FLAG_HIDE_ROUTE_119_TEAM_AQUA object_event 24, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 13, 34, 4, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, Route119_EventScript_1F49BA, FLAG_HIDE_ROUTE_119_TEAM_AQUA - object_event 25, EVENT_OBJ_GFX_GIDDY, 0, 17, 33, 4, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_119_RIVAL_ON_BIKE + object_event 25, EVENT_OBJ_GFX_VAR_3, 0, 17, 33, 4, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_119_RIVAL_ON_BIKE object_event 26, EVENT_OBJ_GFX_BOY_3, 0, 31, 109, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, Route119_EventScript_1F49D1, 0 object_event 27, EVENT_OBJ_GFX_BERRY_TREE, 0, 8, 23, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 83, BerryTreeScript, 0 object_event 28, EVENT_OBJ_GFX_BERRY_TREE, 0, 9, 23, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 84, BerryTreeScript, 0 diff --git a/data/maps/Route119/scripts.inc b/data/maps/Route119/scripts.inc index 978067ddf6..dee76d71d5 100644 --- a/data/maps/Route119/scripts.inc +++ b/data/maps/Route119/scripts.inc @@ -139,7 +139,7 @@ Route119_EventScript_1F45E4:: @ 81F45E4 Route119_EventScript_1F45FF:: @ 81F45FF giveitem_std ITEM_HM02 - setflag FLAG_0x06E + setflag FLAG_RECEIVED_HM02 return Route119_EventScript_1F460F:: @ 81F460F @@ -490,7 +490,7 @@ Route119_EventScript_1F49EC:: @ 81F49EC lockall pokenavcall Route119_Text_1F4FBA waitmessage - clearflag FLAG_0x08A + clearflag FLAG_REGISTER_WINONA_POKENAV addvar VAR_0x40D1, 1 releaseall end diff --git a/data/maps/Route119_WeatherInstitute_1F/scripts.inc b/data/maps/Route119_WeatherInstitute_1F/scripts.inc index b0426ea2ee..8dada27e86 100644 --- a/data/maps/Route119_WeatherInstitute_1F/scripts.inc +++ b/data/maps/Route119_WeatherInstitute_1F/scripts.inc @@ -32,8 +32,8 @@ Route119_WeatherInstitute_1F_EventScript_26FAC8:: @ 826FAC8 faceplayer goto_if_unset FLAG_SYS_GAME_CLEAR, Route119_WeatherInstitute_1F_EventScript_26FB05 setvar VAR_0x8004, 0 - call_if_set FLAG_0x1BE, Route119_WeatherInstitute_1F_EventScript_26FAFF - call_if_set FLAG_0x1BF, Route119_WeatherInstitute_1F_EventScript_26FAFF + call_if_set FLAG_DEFEATED_KYOGRE, Route119_WeatherInstitute_1F_EventScript_26FAFF + call_if_set FLAG_DEFEATED_GROUDON, Route119_WeatherInstitute_1F_EventScript_26FAFF compare VAR_0x8004, 2 goto_if_eq Route119_WeatherInstitute_1F_EventScript_26FB05 msgbox Route119_WeatherInstitute_1F_Text_26FDE8, MSGBOX_DEFAULT diff --git a/data/maps/Route119_WeatherInstitute_2F/scripts.inc b/data/maps/Route119_WeatherInstitute_2F/scripts.inc index 6d54e62ad0..e7d2cb03dc 100644 --- a/data/maps/Route119_WeatherInstitute_2F/scripts.inc +++ b/data/maps/Route119_WeatherInstitute_2F/scripts.inc @@ -126,7 +126,7 @@ Route119_WeatherInstitute_2F_EventScript_2700DB:: @ 82700DB Route119_WeatherInstitute_2F_EventScript_2700EA:: @ 82700EA msgbox Route119_WeatherInstitute_2F_Text_2706FE, MSGBOX_DEFAULT - setflag FLAG_0x097 + setflag FLAG_RECEIVED_CASTFORM release end @@ -138,8 +138,8 @@ Route119_WeatherInstitute_2F_EventScript_2700F7:: @ 82700F7 Route119_WeatherInstitute_2F_EventScript_27010A:: @ 827010A setvar VAR_0x8004, 0 - call_if_set FLAG_0x1BE, Route119_WeatherInstitute_2F_EventScript_270160 - call_if_set FLAG_0x1BF, Route119_WeatherInstitute_2F_EventScript_270160 + call_if_set FLAG_DEFEATED_KYOGRE, Route119_WeatherInstitute_2F_EventScript_270160 + call_if_set FLAG_DEFEATED_GROUDON, Route119_WeatherInstitute_2F_EventScript_270160 compare VAR_0x8004, 2 goto_if_eq Route119_WeatherInstitute_2F_EventScript_270166 call_if_unset FLAG_TEMP_2, Route119_WeatherInstitute_2F_EventScript_270159 @@ -207,7 +207,7 @@ Route119_WeatherInstitute_2F_Movement_270187: @ 8270187 Route119_WeatherInstitute_2F_EventScript_27018B:: @ 827018B lock faceplayer - goto_if_set FLAG_0x097, Route119_WeatherInstitute_2F_EventScript_2700F7 + goto_if_set FLAG_RECEIVED_CASTFORM, Route119_WeatherInstitute_2F_EventScript_2700F7 goto Route119_WeatherInstitute_2F_EventScript_27004D end diff --git a/data/maps/Route120/events.inc b/data/maps/Route120/events.inc index 4400081f74..24b2890606 100644 --- a/data/maps/Route120/events.inc +++ b/data/maps/Route120/events.inc @@ -29,7 +29,7 @@ Route120_EventObjects: @ 852B3F8 object_event 28, EVENT_OBJ_GFX_ITEM_BALL, 0, 22, 13, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route120_EventScript_290F6F, FLAG_ITEM_ROUTE_120_NEST_BALL object_event 29, EVENT_OBJ_GFX_ITEM_BALL, 0, 23, 82, 5, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route120_EventScript_290F62, FLAG_ITEM_ROUTE_120_HYPER_POTION object_event 30, EVENT_OBJ_GFX_KECLEON_1, 0, 12, 16, 4, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, Route120_EventScript_1F57BC, FLAG_HIDE_ROUTE_120_KECLEON_1 - object_event 31, EVENT_OBJ_GFX_STEVEN, 0, 13, 15, 4, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, Route120_EventScript_1F5641, FLAG_0x3CC + object_event 31, EVENT_OBJ_GFX_STEVEN, 0, 13, 15, 4, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, Route120_EventScript_1F5641, FLAG_HIDE_ROUTE_120_STEVEN object_event 32, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 20, 1, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route120_EventScript_2906BB, FLAG_TEMP_14 object_event 33, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 15, 1, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route120_EventScript_2906BB, FLAG_TEMP_12 object_event 34, EVENT_OBJ_GFX_NINJA_BOY, 0, 10, 72, 3, MOVEMENT_TYPE_MOUNTAIN_DISGUISE, 1, 1, 1, 3, Route120_EventScript_1F593C, 0 diff --git a/data/maps/Route120/scripts.inc b/data/maps/Route120/scripts.inc index cde0fbbd39..5a601678dd 100644 --- a/data/maps/Route120/scripts.inc +++ b/data/maps/Route120/scripts.inc @@ -39,9 +39,9 @@ Route120_EventScript_1F5460:: @ 81F5460 return Route120_MapScript1_1F5474: @ 81F5474 - call_if_unset FLAG_0x0E4, Route120_EventScript_1F5490 - call_if_set FLAG_0x11D, Route120_EventScript_1F54A3 - call_if_unset FLAG_0x11D, Route120_EventScript_1F54C8 + call_if_unset FLAG_REGI_DOORS_OPENED, Route120_EventScript_1F5490 + call_if_set FLAG_RECEIVED_DEVON_SCOPE, Route120_EventScript_1F54A3 + call_if_unset FLAG_RECEIVED_DEVON_SCOPE, Route120_EventScript_1F54C8 end Route120_EventScript_1F5490:: @ 81F5490 @@ -99,7 +99,7 @@ Route120_EventScript_1F5527:: @ 81F5527 lock faceplayer dodailyevents - goto_if_set FLAG_0x92E, Route120_EventScript_1F5625 + goto_if_set FLAG_DAILY_ROUTE_120_RECEIVED_BERRY, Route120_EventScript_1F5625 msgbox Route120_Text_2A70C7, MSGBOX_YESNO compare VAR_RESULT, 1 call_if_eq Route120_EventScript_1F562F @@ -148,7 +148,7 @@ Route120_EventScript_1F5601:: @ 81F5601 giveitem_std VAR_0x8004 compare VAR_RESULT, 0 goto_if_eq Route120_EventScript_272054 - setflag FLAG_0x92E + setflag FLAG_DAILY_ROUTE_120_RECEIVED_BERRY msgbox Route120_Text_2A71D5, MSGBOX_DEFAULT release end @@ -169,7 +169,7 @@ Route120_EventScript_1F5638:: @ 81F5638 Route120_EventScript_1F5641:: @ 81F5641 lock faceplayer - goto_if_set FLAG_0x122, Route120_EventScript_1F5672 + goto_if_set FLAG_NOT_READY_FOR_BATTLE_ROUTE_120, Route120_EventScript_1F5672 msgbox Route120_Text_1F5998, MSGBOX_YESNO compare VAR_RESULT, 0 goto_if_eq Route120_EventScript_1F5665 @@ -178,7 +178,7 @@ Route120_EventScript_1F5641:: @ 81F5641 Route120_EventScript_1F5665:: @ 81F5665 msgbox Route120_Text_1F5AAC, MSGBOX_DEFAULT - setflag FLAG_0x122 + setflag FLAG_NOT_READY_FOR_BATTLE_ROUTE_120 release end @@ -238,7 +238,7 @@ Route120_EventScript_1F572C:: @ 81F572C waitmovement 0 msgbox Route120_Text_1F5BAF, MSGBOX_DEFAULT giveitem_std ITEM_DEVON_SCOPE - setflag FLAG_0x11D + setflag FLAG_RECEIVED_DEVON_SCOPE msgbox Route120_Text_1F5C7B, MSGBOX_DEFAULT closemessage applymovement 31, Route120_Movement_2725AA diff --git a/data/maps/Route121/events.inc b/data/maps/Route121/events.inc index 4f27079a63..432071ed1c 100644 --- a/data/maps/Route121/events.inc +++ b/data/maps/Route121/events.inc @@ -10,9 +10,9 @@ Route121_EventObjects: @ 852BA14 object_event 9, EVENT_OBJ_GFX_BERRY_TREE, 0, 67, 14, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 54, BerryTreeScript, 0 object_event 10, EVENT_OBJ_GFX_LASS, 0, 39, 9, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 1, Route121_EventScript_1F5F04, 0 object_event 11, EVENT_OBJ_GFX_LASS, 0, 40, 9, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 1, Route121_EventScript_1F5F1F, 0 - object_event 12, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 30, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_0x392 - object_event 13, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 30, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_0x392 - object_event 14, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 31, 7, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, FLAG_0x392 + object_event 12, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 30, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_121_TEAM_AQUA_GRUNTS + object_event 13, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 30, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_121_TEAM_AQUA_GRUNTS + object_event 14, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 31, 7, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_121_TEAM_AQUA_GRUNTS object_event 15, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 32, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route121_EventScript_2906BB, FLAG_TEMP_11 object_event 16, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 65, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route121_EventScript_2906BB, FLAG_TEMP_12 object_event 17, EVENT_OBJ_GFX_POKEFAN_F, 0, 63, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 4, Route121_EventScript_1F5E74, 0 diff --git a/data/maps/Route121_SafariZoneEntrance/scripts.inc b/data/maps/Route121_SafariZoneEntrance/scripts.inc index 4a26d8075c..d4ef73f9b1 100644 --- a/data/maps/Route121_SafariZoneEntrance/scripts.inc +++ b/data/maps/Route121_SafariZoneEntrance/scripts.inc @@ -82,7 +82,7 @@ Route121_SafariZoneEntrance_EventScript_22BC48:: @ 822BC48 waitmovement 0 special EnterSafariMode setvar VAR_0x40A4, 2 - clearflag FLAG_0x05D + clearflag FLAG_GOOD_LUCK_SAFARI_ZONE warp MAP_SAFARI_ZONE_SOUTH, 255, 32, 33 waitstate end diff --git a/data/maps/Route123/scripts.inc b/data/maps/Route123/scripts.inc index d56a543da8..86a6e767ed 100644 --- a/data/maps/Route123/scripts.inc +++ b/data/maps/Route123/scripts.inc @@ -9,7 +9,7 @@ Route123_MapScript1_1F614D: @ 81F614D Route123_EventScript_1F6151:: @ 81F6151 lock faceplayer - goto_if_set FLAG_0x0E8, Route123_EventScript_1F61A0 + goto_if_set FLAG_RECEIVED_TM19, Route123_EventScript_1F61A0 msgbox Route123_Text_1F641E, MSGBOX_DEFAULT special IsGrassTypeInParty compare VAR_RESULT, 0 @@ -18,7 +18,7 @@ Route123_EventScript_1F6151:: @ 81F6151 giveitem_std ITEM_TM19 compare VAR_RESULT, 0 goto_if_eq Route123_EventScript_272054 - setflag FLAG_0x0E8 + setflag FLAG_RECEIVED_TM19 msgbox Route123_Text_1F64CF, MSGBOX_DEFAULT release end diff --git a/data/maps/Route123_BerryMastersHouse/scripts.inc b/data/maps/Route123_BerryMastersHouse/scripts.inc index a10bf76649..a3ae5df939 100644 --- a/data/maps/Route123_BerryMastersHouse/scripts.inc +++ b/data/maps/Route123_BerryMastersHouse/scripts.inc @@ -10,7 +10,7 @@ Route123_BerryMastersHouse_EventScript_26F845:: @ 826F845 lock faceplayer dodailyevents - goto_if_set FLAG_0x92D, Route123_BerryMastersHouse_EventScript_26F8B6 + goto_if_set FLAG_DAILY_BERRY_MASTER_RECEIVED_BERRY, Route123_BerryMastersHouse_EventScript_26F8B6 msgbox Route123_BerryMastersHouse_Text_2A7386, MSGBOX_DEFAULT random 10 addvar VAR_RESULT, 20 @@ -18,7 +18,7 @@ Route123_BerryMastersHouse_EventScript_26F845:: @ 826F845 giveitem_std VAR_RESULT compare VAR_RESULT, 0 goto_if_eq Route123_BerryMastersHouse_EventScript_272054 - setflag FLAG_0x92D + setflag FLAG_DAILY_BERRY_MASTER_RECEIVED_BERRY msgbox Route123_BerryMastersHouse_Text_2A7428, MSGBOX_DEFAULT random 10 addvar VAR_RESULT, 20 @@ -39,7 +39,7 @@ Route123_BerryMastersHouse_EventScript_26F8C0:: @ 826F8C0 lock faceplayer dodailyevents - goto_if_set FLAG_0x931, Route123_BerryMastersHouse_EventScript_26FA6F + goto_if_set FLAG_DAILY_BERRY_MASTERS_WIFE, Route123_BerryMastersHouse_EventScript_26FA6F msgbox Route123_BerryMastersHouse_Text_2A74E6, MSGBOX_DEFAULT setvar VAR_0x8004, 13 call Route123_BerryMastersHouse_EventScript_271E7C @@ -84,52 +84,52 @@ Route123_BerryMastersHouse_EventScript_26F94C:: @ 826F94C end Route123_BerryMastersHouse_EventScript_26F97A:: @ 826F97A - goto_if_set FLAG_0x0F8, Route123_BerryMastersHouse_EventScript_26F94C + goto_if_set FLAG_RECEIVED_SPELON_BERRY, Route123_BerryMastersHouse_EventScript_26F94C msgbox Route123_BerryMastersHouse_Text_2A7583, MSGBOX_DEFAULT giveitem_std ITEM_SPELON_BERRY compare VAR_RESULT, 0 goto_if_eq Route123_BerryMastersHouse_EventScript_272054 - setflag FLAG_0x0F8 + setflag FLAG_RECEIVED_SPELON_BERRY goto Route123_BerryMastersHouse_EventScript_26FA79 end Route123_BerryMastersHouse_EventScript_26F9AB:: @ 826F9AB - goto_if_set FLAG_0x0F9, Route123_BerryMastersHouse_EventScript_26F94C + goto_if_set FLAG_RECEIVED_PAMTRE_BERRY, Route123_BerryMastersHouse_EventScript_26F94C msgbox Route123_BerryMastersHouse_Text_2A7583, MSGBOX_DEFAULT giveitem_std ITEM_PAMTRE_BERRY compare VAR_RESULT, 0 goto_if_eq Route123_BerryMastersHouse_EventScript_272054 - setflag FLAG_0x0F9 + setflag FLAG_RECEIVED_PAMTRE_BERRY goto Route123_BerryMastersHouse_EventScript_26FA79 end Route123_BerryMastersHouse_EventScript_26F9DC:: @ 826F9DC - goto_if_set FLAG_0x0FA, Route123_BerryMastersHouse_EventScript_26F94C + goto_if_set FLAG_RECEIVED_WATMEL_BERRY, Route123_BerryMastersHouse_EventScript_26F94C msgbox Route123_BerryMastersHouse_Text_2A7583, MSGBOX_DEFAULT giveitem_std ITEM_WATMEL_BERRY compare VAR_RESULT, 0 goto_if_eq Route123_BerryMastersHouse_EventScript_272054 - setflag FLAG_0x0FA + setflag FLAG_RECEIVED_WATMEL_BERRY goto Route123_BerryMastersHouse_EventScript_26FA79 end Route123_BerryMastersHouse_EventScript_26FA0D:: @ 826FA0D - goto_if_set FLAG_0x0FB, Route123_BerryMastersHouse_EventScript_26F94C + goto_if_set FLAG_RECEIVED_DURIN_BERRY, Route123_BerryMastersHouse_EventScript_26F94C msgbox Route123_BerryMastersHouse_Text_2A7583, MSGBOX_DEFAULT giveitem_std ITEM_DURIN_BERRY compare VAR_RESULT, 0 goto_if_eq Route123_BerryMastersHouse_EventScript_272054 - setflag FLAG_0x0FB + setflag FLAG_RECEIVED_DURIN_BERRY goto Route123_BerryMastersHouse_EventScript_26FA79 end Route123_BerryMastersHouse_EventScript_26FA3E:: @ 826FA3E - goto_if_set FLAG_0x0FC, Route123_BerryMastersHouse_EventScript_26F94C + goto_if_set FLAG_RECEIVED_BELUE_BERRY, Route123_BerryMastersHouse_EventScript_26F94C msgbox Route123_BerryMastersHouse_Text_2A7583, MSGBOX_DEFAULT giveitem_std ITEM_BELUE_BERRY compare VAR_RESULT, 0 goto_if_eq Route123_BerryMastersHouse_EventScript_272054 - setflag FLAG_0x0FC + setflag FLAG_RECEIVED_BELUE_BERRY goto Route123_BerryMastersHouse_EventScript_26FA79 end @@ -139,7 +139,7 @@ Route123_BerryMastersHouse_EventScript_26FA6F:: @ 826FA6F end Route123_BerryMastersHouse_EventScript_26FA79:: @ 826FA79 - setflag FLAG_0x931 + setflag FLAG_DAILY_BERRY_MASTERS_WIFE msgbox Route123_BerryMastersHouse_Text_2A761B, MSGBOX_DEFAULT release end diff --git a/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc b/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc index 4fa64e6b95..934c6757d3 100644 --- a/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc +++ b/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc @@ -9,9 +9,9 @@ Route124_DivingTreasureHuntersHouse_MapScript1_270A2E: @ 8270A2E Route124_DivingTreasureHuntersHouse_EventScript_270A32:: @ 8270A32 lock faceplayer - goto_if_set FLAG_0x0D9, Route124_DivingTreasureHuntersHouse_EventScript_270A4E + goto_if_set FLAG_MET_DIVING_TREASURE_HUNTER, Route124_DivingTreasureHuntersHouse_EventScript_270A4E msgbox Route124_DivingTreasureHuntersHouse_Text_270F6C, MSGBOX_DEFAULT - setflag FLAG_0x0D9 + setflag FLAG_MET_DIVING_TREASURE_HUNTER goto Route124_DivingTreasureHuntersHouse_EventScript_270A5C end diff --git a/data/maps/RustboroCity/events.inc b/data/maps/RustboroCity/events.inc index 48d125d0f9..b2bcfa7cac 100644 --- a/data/maps/RustboroCity/events.inc +++ b/data/maps/RustboroCity/events.inc @@ -12,7 +12,7 @@ RustboroCity_EventObjects: @ 85267E0 object_event 11, EVENT_OBJ_GFX_DEVON_EMPLOYEE, 0, 13, 34, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, RustboroCity_EventScript_1E087E, 0 object_event 12, EVENT_OBJ_GFX_ITEM_BALL, 0, 36, 51, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, RustboroCity_EventScript_2910DB, FLAG_ITEM_RUSTBORO_CITY_X_DEFEND object_event 13, EVENT_OBJ_GFX_MAN_4, 0, 19, 27, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 1, 0, 0, RustboroCity_EventScript_1E094E, 0 - object_event 14, EVENT_OBJ_GFX_HIPSTER, 0, 16, 50, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, RustboroCity_EventScript_1E0DB8, FLAG_HIDE_RUSBORO_CITY_RIVAL + object_event 14, EVENT_OBJ_GFX_VAR_0, 0, 16, 50, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, RustboroCity_EventScript_1E0DB8, FLAG_HIDE_RUSBORO_CITY_RIVAL object_event 15, EVENT_OBJ_GFX_SCIENTIST_1, 0, 11, 15, 0, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, 0x0, FLAG_HIDE_RUSTBORO_CITY_SCIENTIST object_event 16, EVENT_OBJ_GFX_BOY_1, 0, 31, 36, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 1, 0, 0, RustboroCity_EventScript_1E1236, 0 diff --git a/data/maps/RustboroCity/scripts.inc b/data/maps/RustboroCity/scripts.inc index 345faa51ca..7c1e141187 100644 --- a/data/maps/RustboroCity/scripts.inc +++ b/data/maps/RustboroCity/scripts.inc @@ -77,7 +77,7 @@ RustboroCity_EventScript_1E07AC:: @ 81E07AC goto RustboroCity_EventScript_1E07BD RustboroCity_EventScript_1E07BD:: @ 81E07BD - setflag FLAG_0x130 + setflag FLAG_ADDED_MATCH_CALL_TO_POKENAV special sp106_CreateStartMenu waitstate switch VAR_RESULT @@ -134,7 +134,7 @@ RustboroCity_Movement_1E085D: @ 81E085D RustboroCity_EventScript_1E085F:: @ 81E085F lock faceplayer - goto_if_set FLAG_0x08E, RustboroCity_EventScript_1E0874 + goto_if_set FLAG_DEVON_GOODS_STOLEN, RustboroCity_EventScript_1E0874 msgbox RustboroCity_Text_1E123F, MSGBOX_DEFAULT release end @@ -171,7 +171,7 @@ RustboroCity_EventScript_1E08A8:: @ 81E08A8 RustboroCity_EventScript_1E08B2:: @ 81E08B2 lock faceplayer - goto_if_set FLAG_0x0BC, RustboroCity_EventScript_1E08C7 + goto_if_set FLAG_RECEIVED_POKENAV, RustboroCity_EventScript_1E08C7 msgbox RustboroCity_Text_1E1520, MSGBOX_DEFAULT release end @@ -301,7 +301,7 @@ RustboroCity_EventScript_1E09CD:: @ 81E09CD removeobject 9 setobjectxyperm 9, 30, 10 clearflag FLAG_HIDE_RUSTBORO_CITY_DEVON_EMPLOYEE_1 - setflag FLAG_0x08E + setflag FLAG_DEVON_GOODS_STOLEN setvar VAR_0x405A, 2 setvar VAR_RUSTURF_TUNNEL_STATE, 2 setvar VAR_0x406F, 1 @@ -448,7 +448,7 @@ RustboroCity_Movement_1E0AD5: @ 81E0AD5 RustboroCity_EventScript_1E0ADD:: @ 81E0ADD lock faceplayer - goto_if_set FLAG_0x08F, RustboroCity_EventScript_1E0AF2 + goto_if_set FLAG_RECOVERED_DEVON_GOODS, RustboroCity_EventScript_1E0AF2 msgbox RustboroCity_Text_1E1904, MSGBOX_DEFAULT release end @@ -492,7 +492,7 @@ RustboroCity_EventScript_1E0B2E:: @ 81E0B2E call_if_eq RustboroCity_EventScript_1E0BC7 compare VAR_TEMP_1, 3 call_if_eq RustboroCity_EventScript_1E0BF3 - setflag FLAG_0x09F + setflag FLAG_INTERACTED_WITH_DEVON_EMPLOYEE_GOODS_STOLEN setvar VAR_0x405A, 3 moveobjectoffscreen 9 msgbox RustboroCity_Text_1E183E, MSGBOX_DEFAULT @@ -594,7 +594,7 @@ RustboroCity_EventScript_1E0C5B:: @ 81E0C5B call_if_eq RustboroCity_EventScript_1E0CD3 msgbox RustboroCity_Text_1E1A21, MSGBOX_DEFAULT closemessage - setflag FLAG_0x090 + setflag FLAG_RETURNED_DEVON_GOODS setflag FLAG_HIDE_RUSTBORO_CITY_DEVON_EMPLOYEE_1 setvar VAR_0x405A, 5 delay 30 @@ -669,7 +669,7 @@ RustboroCity_EventScript_1E0D96:: @ 81E0D96 RustboroCity_EventScript_1E0DB8:: @ 81E0DB8 lockall - call_if_unset FLAG_0x120, RustboroCity_EventScript_1E0DD1 + call_if_unset FLAG_MET_RIVAL_RUSTBORO, RustboroCity_EventScript_1E0DD1 applymovement 14, RustboroCity_Movement_27259E waitmovement 0 goto RustboroCity_EventScript_1E0FF3 @@ -828,9 +828,9 @@ RustboroCity_EventScript_1E0FF3:: @ 81E0FF3 end RustboroCity_EventScript_1E100B:: @ 81E100B - goto_if_set FLAG_0x0D3, RustboroCity_EventScript_1E10C1 - goto_if_set FLAG_0x120, RustboroCity_EventScript_1E1070 - setflag FLAG_0x120 + goto_if_set FLAG_DEFEATED_RIVAL_RUSTBORO, RustboroCity_EventScript_1E10C1 + goto_if_set FLAG_MET_RIVAL_RUSTBORO, RustboroCity_EventScript_1E1070 + setflag FLAG_MET_RIVAL_RUSTBORO msgbox RustboroCity_Text_1E1A49, MSGBOX_DEFAULT closemessage delay 30 @@ -839,7 +839,7 @@ RustboroCity_EventScript_1E100B:: @ 81E100B waitfanfare closemessage delay 30 - setflag FLAG_0x0FD + setflag FLAG_ENABLE_RIVAL_MATCH_CALL setvar VAR_0x405A, 8 setvar VAR_0x4063, 2 setvar VAR_0x8008, 0 @@ -882,26 +882,26 @@ RustboroCity_EventScript_1E10D6:: @ 81E10D6 RustboroCity_EventScript_1E10DB:: @ 81E10DB trainerbattle_no_intro TRAINER_MAY_14, RustboroCity_Text_1E1CC1 - setflag FLAG_0x0D3 + setflag FLAG_DEFEATED_RIVAL_RUSTBORO goto RustboroCity_EventScript_1E10C1 end RustboroCity_EventScript_1E10EE:: @ 81E10EE trainerbattle_no_intro TRAINER_MAY_15, RustboroCity_Text_1E1CC1 - setflag FLAG_0x0D3 + setflag FLAG_DEFEATED_RIVAL_RUSTBORO goto RustboroCity_EventScript_1E10C1 end RustboroCity_EventScript_1E1101:: @ 81E1101 trainerbattle_no_intro TRAINER_MAY_10, RustboroCity_Text_1E1CC1 - setflag FLAG_0x0D3 + setflag FLAG_DEFEATED_RIVAL_RUSTBORO goto RustboroCity_EventScript_1E10C1 end RustboroCity_EventScript_1E1114:: @ 81E1114 - goto_if_set FLAG_0x0D3, RustboroCity_EventScript_1E11C0 - goto_if_set FLAG_0x120, RustboroCity_EventScript_1E1174 - setflag FLAG_0x120 + goto_if_set FLAG_DEFEATED_RIVAL_RUSTBORO, RustboroCity_EventScript_1E11C0 + goto_if_set FLAG_MET_RIVAL_RUSTBORO, RustboroCity_EventScript_1E1174 + setflag FLAG_MET_RIVAL_RUSTBORO msgbox RustboroCity_Text_1E1D7D, MSGBOX_DEFAULT closemessage delay 30 @@ -910,7 +910,7 @@ RustboroCity_EventScript_1E1114:: @ 81E1114 waitfanfare closemessage delay 30 - setflag FLAG_0x0FD + setflag FLAG_ENABLE_RIVAL_MATCH_CALL setvar VAR_0x405A, 8 setvar VAR_0x4063, 2 msgbox RustboroCity_Text_1E1E34, MSGBOX_YESNO @@ -946,19 +946,19 @@ RustboroCity_EventScript_1E11C0:: @ 81E11C0 RustboroCity_EventScript_1E11D5:: @ 81E11D5 trainerbattle_no_intro TRAINER_BRENDAN_10, RustboroCity_Text_1E1FE9 - setflag FLAG_0x0D3 + setflag FLAG_DEFEATED_RIVAL_RUSTBORO goto RustboroCity_EventScript_1E11C0 end RustboroCity_EventScript_1E11E8:: @ 81E11E8 trainerbattle_no_intro TRAINER_BRENDAN_12, RustboroCity_Text_1E1FE9 - setflag FLAG_0x0D3 + setflag FLAG_DEFEATED_RIVAL_RUSTBORO goto RustboroCity_EventScript_1E11C0 end RustboroCity_EventScript_1E11FB:: @ 81E11FB trainerbattle_no_intro TRAINER_BRENDAN_11, RustboroCity_Text_1E1FE9 - setflag FLAG_0x0D3 + setflag FLAG_DEFEATED_RIVAL_RUSTBORO goto RustboroCity_EventScript_1E11C0 end @@ -1298,4 +1298,3 @@ RustboroCity_Text_1E249D: @ 81E249D .string "they'll both challenge you.\p" .string "Don't you think it'd be cool if you\n" .string "could beat two TRAINERS by yourself?$" - diff --git a/data/maps/RustboroCity_CuttersHouse/scripts.inc b/data/maps/RustboroCity_CuttersHouse/scripts.inc index b737440942..ab74d53407 100644 --- a/data/maps/RustboroCity_CuttersHouse/scripts.inc +++ b/data/maps/RustboroCity_CuttersHouse/scripts.inc @@ -4,10 +4,10 @@ RustboroCity_CuttersHouse_MapScripts:: @ 8215BD3 RustboroCity_CuttersHouse_EventScript_215BD4:: @ 8215BD4 lock faceplayer - goto_if_set FLAG_0x089, RustboroCity_CuttersHouse_EventScript_215C00 + goto_if_set FLAG_RECEIVED_HM01, RustboroCity_CuttersHouse_EventScript_215C00 msgbox RustboroCity_CuttersHouse_Text_215C13, MSGBOX_DEFAULT giveitem_std ITEM_HM01 - setflag FLAG_0x089 + setflag FLAG_RECEIVED_HM01 msgbox RustboroCity_CuttersHouse_Text_215D33, MSGBOX_DEFAULT release end diff --git a/data/maps/RustboroCity_DevonCorp_1F/scripts.inc b/data/maps/RustboroCity_DevonCorp_1F/scripts.inc index bbfd1bd535..157947c2d9 100644 --- a/data/maps/RustboroCity_DevonCorp_1F/scripts.inc +++ b/data/maps/RustboroCity_DevonCorp_1F/scripts.inc @@ -3,7 +3,7 @@ RustboroCity_DevonCorp_1F_MapScripts:: @ 8211245 .byte 0 RustboroCity_DevonCorp_1F_MapScript1_21124B: @ 821124B - call_if_unset FLAG_0x090, RustboroCity_DevonCorp_1F_EventScript_211255 + call_if_unset FLAG_RETURNED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_211255 end RustboroCity_DevonCorp_1F_EventScript_211255:: @ 8211255 @@ -14,8 +14,8 @@ RustboroCity_DevonCorp_1F_EventScript_211255:: @ 8211255 RustboroCity_DevonCorp_1F_EventScript_211261:: @ 8211261 lock faceplayer - goto_if_set FLAG_0x090, RustboroCity_DevonCorp_1F_EventScript_211289 - goto_if_set FLAG_0x08E, RustboroCity_DevonCorp_1F_EventScript_21127F + goto_if_set FLAG_RETURNED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_211289 + goto_if_set FLAG_DEVON_GOODS_STOLEN, RustboroCity_DevonCorp_1F_EventScript_21127F msgbox RustboroCity_DevonCorp_1F_Text_2113D1, MSGBOX_DEFAULT release end @@ -33,9 +33,9 @@ RustboroCity_DevonCorp_1F_EventScript_211289:: @ 8211289 RustboroCity_DevonCorp_1F_EventScript_211293:: @ 8211293 lock faceplayer - goto_if_set FLAG_0x090, RustboroCity_DevonCorp_1F_EventScript_2112BA - goto_if_set FLAG_0x08F, RustboroCity_DevonCorp_1F_EventScript_2112C4 - goto_if_set FLAG_0x08E, RustboroCity_DevonCorp_1F_EventScript_2112C4 + goto_if_set FLAG_RETURNED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_2112BA + goto_if_set FLAG_RECOVERED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_2112C4 + goto_if_set FLAG_DEVON_GOODS_STOLEN, RustboroCity_DevonCorp_1F_EventScript_2112C4 msgbox RustboroCity_DevonCorp_1F_Text_21151B, MSGBOX_DEFAULT release end @@ -53,9 +53,9 @@ RustboroCity_DevonCorp_1F_EventScript_2112C4:: @ 82112C4 RustboroCity_DevonCorp_1F_EventScript_2112CE:: @ 82112CE lock faceplayer - goto_if_set FLAG_0x090, RustboroCity_DevonCorp_1F_EventScript_2112F5 - goto_if_set FLAG_0x08F, RustboroCity_DevonCorp_1F_EventScript_2112FF - goto_if_set FLAG_0x08E, RustboroCity_DevonCorp_1F_EventScript_2112FF + goto_if_set FLAG_RETURNED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_2112F5 + goto_if_set FLAG_RECOVERED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_2112FF + goto_if_set FLAG_DEVON_GOODS_STOLEN, RustboroCity_DevonCorp_1F_EventScript_2112FF msgbox RustboroCity_DevonCorp_1F_Text_21131B, MSGBOX_DEFAULT release end diff --git a/data/maps/RustboroCity_DevonCorp_2F/scripts.inc b/data/maps/RustboroCity_DevonCorp_2F/scripts.inc index 8ce86352d3..cce9ae394b 100644 --- a/data/maps/RustboroCity_DevonCorp_2F/scripts.inc +++ b/data/maps/RustboroCity_DevonCorp_2F/scripts.inc @@ -25,7 +25,7 @@ RustboroCity_DevonCorp_2F_EventScript_211886:: @ 8211886 faceplayer compare VAR_0x40C4, 1 call_if_eq RustboroCity_DevonCorp_2F_EventScript_211869 - goto_if_set FLAG_0x11F, RustboroCity_DevonCorp_2F_EventScript_2118A6 + goto_if_set FLAG_MET_DEVON_EMPLOYEE, RustboroCity_DevonCorp_2F_EventScript_2118A6 msgbox RustboroCity_DevonCorp_2F_Text_211C50, MSGBOX_DEFAULT release end @@ -40,7 +40,7 @@ RustboroCity_DevonCorp_2F_EventScript_2118B0:: @ 82118B0 faceplayer compare VAR_0x40C4, 1 call_if_eq RustboroCity_DevonCorp_2F_EventScript_211869 - goto_if_set FLAG_0x0BC, RustboroCity_DevonCorp_2F_EventScript_2118D0 + goto_if_set FLAG_RECEIVED_POKENAV, RustboroCity_DevonCorp_2F_EventScript_2118D0 msgbox RustboroCity_DevonCorp_2F_Text_211D9F, MSGBOX_DEFAULT release end @@ -200,7 +200,7 @@ RustboroCity_DevonCorp_2F_EventScript_211AC4:: @ 8211AC4 RustboroCity_DevonCorp_2F_EventScript_211AD7:: @ 8211AD7 setvar VAR_0x40C4, 0 - setflag FLAG_0x10B + setflag FLAG_RECEIVED_REVIVED_FOSSIL_MON release end @@ -249,7 +249,7 @@ RustboroCity_DevonCorp_2F_EventScript_211B67:: @ 8211B67 RustboroCity_DevonCorp_2F_EventScript_211B7A:: @ 8211B7A setvar VAR_0x40C4, 0 - setflag FLAG_0x10B + setflag FLAG_RECEIVED_REVIVED_FOSSIL_MON release end diff --git a/data/maps/RustboroCity_DevonCorp_3F/scripts.inc b/data/maps/RustboroCity_DevonCorp_3F/scripts.inc index 0e21b4c385..da78ccb4b7 100644 --- a/data/maps/RustboroCity_DevonCorp_3F/scripts.inc +++ b/data/maps/RustboroCity_DevonCorp_3F/scripts.inc @@ -54,7 +54,7 @@ RustboroCity_DevonCorp_3F_EventScript_21246E:: @ 821246E message RustboroCity_DevonCorp_3F_Text_212820 waitfanfare setflag FLAG_SYS_POKENAV_GET - setflag FLAG_0x0BC + setflag FLAG_RECEIVED_POKENAV setflag FLAG_HIDE_RUSTBORO_CITY_POKEMON_SCHOOL_SCOTT msgbox RustboroCity_DevonCorp_3F_Text_212837, MSGBOX_DEFAULT closemessage @@ -150,8 +150,8 @@ RustboroCity_DevonCorp_3F_Movement_212566: @ 8212566 RustboroCity_DevonCorp_3F_EventScript_21256C:: @ 821256C lock faceplayer - goto_if_set FLAG_0x110, RustboroCity_DevonCorp_3F_EventScript_2125CC - goto_if_set FLAG_0x0BD, RustboroCity_DevonCorp_3F_EventScript_212595 + goto_if_set FLAG_RECEIVED_EXP_SHARE, RustboroCity_DevonCorp_3F_EventScript_2125CC + goto_if_set FLAG_DELIVERED_STEVEN_LETTER, RustboroCity_DevonCorp_3F_EventScript_212595 msgbox RustboroCity_DevonCorp_3F_Text_212A09, MSGBOX_DEFAULT closemessage applymovement VAR_LAST_TALKED, RustboroCity_DevonCorp_3F_Movement_2725A2 @@ -164,7 +164,7 @@ RustboroCity_DevonCorp_3F_EventScript_212595:: @ 8212595 giveitem_std ITEM_EXP_SHARE compare VAR_RESULT, 0 goto_if_eq RustboroCity_DevonCorp_3F_EventScript_272054 - setflag FLAG_0x110 + setflag FLAG_RECEIVED_EXP_SHARE msgbox RustboroCity_DevonCorp_3F_Text_212A9E, MSGBOX_DEFAULT closemessage applymovement VAR_LAST_TALKED, RustboroCity_DevonCorp_3F_Movement_2725A2 @@ -183,7 +183,7 @@ RustboroCity_DevonCorp_3F_EventScript_2125CC:: @ 82125CC RustboroCity_DevonCorp_3F_EventScript_2125E1:: @ 82125E1 lock faceplayer - goto_if_set FLAG_0x100, RustboroCity_DevonCorp_3F_EventScript_2125F6 + goto_if_set FLAG_RECEIVED_REPEAT_BALL, RustboroCity_DevonCorp_3F_EventScript_2125F6 msgbox RustboroCity_DevonCorp_3F_Text_212E41, MSGBOX_DEFAULT release end diff --git a/data/maps/RustboroCity_Flat2_2F/scripts.inc b/data/maps/RustboroCity_Flat2_2F/scripts.inc index e08d599acd..639e938849 100644 --- a/data/maps/RustboroCity_Flat2_2F/scripts.inc +++ b/data/maps/RustboroCity_Flat2_2F/scripts.inc @@ -8,12 +8,12 @@ RustboroCity_Flat2_2F_EventScript_215FD8:: @ 8215FD8 RustboroCity_Flat2_2F_EventScript_215FE1:: @ 8215FE1 lock faceplayer - goto_if_set FLAG_0x0D5, RustboroCity_Flat2_2F_EventScript_216010 + goto_if_set FLAG_RECEIVED_PREMIER_BALL_RUSTBORO, RustboroCity_Flat2_2F_EventScript_216010 msgbox RustboroCity_Flat2_2F_Text_21605A, MSGBOX_DEFAULT giveitem_std ITEM_PREMIER_BALL compare VAR_RESULT, 0 goto_if_eq RustboroCity_Flat2_2F_EventScript_272054 - setflag FLAG_0x0D5 + setflag FLAG_RECEIVED_PREMIER_BALL_RUSTBORO release end diff --git a/data/maps/RustboroCity_Gym/scripts.inc b/data/maps/RustboroCity_Gym/scripts.inc index 170ae43246..4581707ce7 100644 --- a/data/maps/RustboroCity_Gym/scripts.inc +++ b/data/maps/RustboroCity_Gym/scripts.inc @@ -6,7 +6,7 @@ RustboroCity_Gym_EventScript_212F31:: @ 8212F31 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 goto_if_eq RustboroCity_Gym_EventScript_212FC8 - goto_if_unset FLAG_0x0A5, RustboroCity_Gym_EventScript_212FA4 + goto_if_unset FLAG_RECEIVED_TM39, RustboroCity_Gym_EventScript_212FA4 msgbox RustboroCity_Gym_Text_2139A7, MSGBOX_DEFAULT release end @@ -16,7 +16,7 @@ RustboroCity_Gym_EventScript_212F66:: @ 8212F66 waitmessage call RustboroCity_Gym_EventScript_27207E msgbox RustboroCity_Gym_Text_213816, MSGBOX_DEFAULT - setflag FLAG_0x4F0 + setflag FLAG_DEFEATED_RUSTBORO_GYM setflag FLAG_BADGE01_GET setvar VAR_0x405A, 1 addvar VAR_0x4085, 1 @@ -31,7 +31,7 @@ RustboroCity_Gym_EventScript_212FA4:: @ 8212FA4 giveitem_std ITEM_TM39 compare VAR_RESULT, 0 goto_if_eq RustboroCity_Gym_EventScript_272054 - setflag FLAG_0x0A5 + setflag FLAG_RECEIVED_TM39 msgbox RustboroCity_Gym_Text_2138B1, MSGBOX_DEFAULT release end @@ -59,7 +59,7 @@ RustboroCity_Gym_EventScript_213011:: @ 8213011 RustboroCity_Gym_EventScript_213028:: @ 8213028 lock faceplayer - goto_if_set FLAG_0x4F0, RustboroCity_Gym_EventScript_21303D + goto_if_set FLAG_DEFEATED_RUSTBORO_GYM, RustboroCity_Gym_EventScript_21303D msgbox RustboroCity_Gym_Text_21309D, MSGBOX_DEFAULT release end @@ -101,8 +101,8 @@ RustboroCity_Gym_EventScript_21307B:: @ 821307B waitfanfare closemessage delay 30 - setflag FLAG_0x1D3 - clearflag FLAG_0x080 + setflag FLAG_ENABLE_ROXANNE_MATCH_CALL + clearflag FLAG_ENABLE_ROXANNE_FIRST_CALL releaseall end diff --git a/data/maps/RustboroCity_House1/scripts.inc b/data/maps/RustboroCity_House1/scripts.inc index 26a406675e..eb5655b1a3 100644 --- a/data/maps/RustboroCity_House1/scripts.inc +++ b/data/maps/RustboroCity_House1/scripts.inc @@ -4,10 +4,10 @@ RustboroCity_House1_MapScripts:: @ 821593E RustboroCity_House1_EventScript_21593F:: @ 821593F lock faceplayer - goto_if_set FLAG_0x099, RustboroCity_House1_EventScript_2159D5 + goto_if_set FLAG_RUSTBORO_NPC_TRADE_COMPLETED, RustboroCity_House1_EventScript_2159D5 setvar VAR_0x8008, 0 copyvar VAR_0x8004, VAR_0x8008 - specialvar VAR_RESULT, sub_807E73C + specialvar VAR_RESULT, GetInGameTradeSpeciesInfo copyvar VAR_0x8009, VAR_RESULT msgbox RustboroCity_House1_Text_2159E8, MSGBOX_YESNO compare VAR_RESULT, 0 @@ -18,17 +18,17 @@ RustboroCity_House1_EventScript_21593F:: @ 821593F compare VAR_0x8004, 255 goto_if_eq RustboroCity_House1_EventScript_2159BD copyvar VAR_0x8005, VAR_0x800A - specialvar VAR_RESULT, sub_807E9D4 + specialvar VAR_RESULT, GetTradeSpecies copyvar VAR_0x800B, VAR_RESULT compare VAR_RESULT, VAR_0x8009 goto_if_ne RustboroCity_House1_EventScript_2159C7 copyvar VAR_0x8004, VAR_0x8008 copyvar VAR_0x8005, VAR_0x800A - special sub_807EA10 - special sub_807F0E4 + special CreateInGameTradePokemon + special DoInGameTradeScene waitstate msgbox RustboroCity_House1_Text_215A77, MSGBOX_DEFAULT - setflag FLAG_0x099 + setflag FLAG_RUSTBORO_NPC_TRADE_COMPLETED release end diff --git a/data/maps/RustboroCity_Mart/scripts.inc b/data/maps/RustboroCity_Mart/scripts.inc index 78492e9629..a5693847c5 100644 --- a/data/maps/RustboroCity_Mart/scripts.inc +++ b/data/maps/RustboroCity_Mart/scripts.inc @@ -6,8 +6,8 @@ RustboroCity_Mart_EventScript_214F06:: @ 8214F06 faceplayer message gUnknown_08272A21 waitmessage - goto_if_unset FLAG_0x11F, RustboroCity_Mart_EventScript_214F21 - goto_if_set FLAG_0x11F, RustboroCity_Mart_EventScript_214F48 + goto_if_unset FLAG_MET_DEVON_EMPLOYEE, RustboroCity_Mart_EventScript_214F21 + goto_if_set FLAG_MET_DEVON_EMPLOYEE, RustboroCity_Mart_EventScript_214F48 end RustboroCity_Mart_EventScript_214F21:: @ 8214F21 diff --git a/data/maps/RustboroCity_PokemonSchool/scripts.inc b/data/maps/RustboroCity_PokemonSchool/scripts.inc index 2bba066b24..c01e4a4365 100644 --- a/data/maps/RustboroCity_PokemonSchool/scripts.inc +++ b/data/maps/RustboroCity_PokemonSchool/scripts.inc @@ -77,7 +77,7 @@ RustboroCity_PokemonSchool_EventScript_213F8C:: @ 8213F8C RustboroCity_PokemonSchool_EventScript_213F95:: @ 8213F95 lock faceplayer - goto_if_set FLAG_0x113, RustboroCity_PokemonSchool_EventScript_213FFB + goto_if_set FLAG_RECEIVED_QUICK_CLAW, RustboroCity_PokemonSchool_EventScript_213FFB compare VAR_FACING, 4 call_if_eq RustboroCity_PokemonSchool_EventScript_213FE5 compare VAR_FACING, 3 @@ -89,7 +89,7 @@ RustboroCity_PokemonSchool_EventScript_213F95:: @ 8213F95 closemessage applymovement VAR_LAST_TALKED, RustboroCity_PokemonSchool_Movement_2725AA waitmovement 0 - setflag FLAG_0x113 + setflag FLAG_RECEIVED_QUICK_CLAW release end @@ -166,12 +166,12 @@ RustboroCity_PokemonSchool_Movement_214027: @ 8214027 RustboroCity_PokemonSchool_EventScript_214040:: @ 8214040 lock faceplayer - goto_if_set FLAG_0x1CB, RustboroCity_PokemonSchool_EventScript_2140A8 - goto_if_set FLAG_0x136, RustboroCity_PokemonSchool_EventScript_21406F + goto_if_set FLAG_MET_SCOTT_AFTER_OBTAINING_STONE_BADGE, RustboroCity_PokemonSchool_EventScript_2140A8 + goto_if_set FLAG_MET_SCOTT_RUSTBORO, RustboroCity_PokemonSchool_EventScript_21406F goto_if_set FLAG_BADGE01_GET, RustboroCity_PokemonSchool_EventScript_214082 msgbox RustboroCity_PokemonSchool_Text_2148C0, MSGBOX_DEFAULT addvar VAR_0x40D1, 1 - setflag FLAG_0x136 + setflag FLAG_MET_SCOTT_RUSTBORO release end @@ -193,7 +193,7 @@ RustboroCity_PokemonSchool_EventScript_214090:: @ 8214090 RustboroCity_PokemonSchool_EventScript_21409E:: @ 821409E addvar VAR_0x40D1, 1 - setflag FLAG_0x1CB + setflag FLAG_MET_SCOTT_AFTER_OBTAINING_STONE_BADGE release end diff --git a/data/maps/RusturfTunnel/scripts.inc b/data/maps/RusturfTunnel/scripts.inc index 8985f5b435..59d0789ba6 100644 --- a/data/maps/RusturfTunnel/scripts.inc +++ b/data/maps/RusturfTunnel/scripts.inc @@ -63,7 +63,7 @@ RusturfTunnel_EventScript_22CEAE:: @ 822CEAE compare VAR_TEMP_1, 3 call_if_eq RusturfTunnel_EventScript_22CFC8 giveitem_std ITEM_HM04 - setflag FLAG_0x06A + setflag FLAG_RECEIVED_HM04 msgbox RusturfTunnel_Text_22D6D2, MSGBOX_DEFAULT closemessage compare VAR_TEMP_1, 1 @@ -343,8 +343,8 @@ RusturfTunnel_EventScript_22D0C2:: @ 822D0C2 waitmovement 0 removeobject 5 removeobject 7 - clearflag FLAG_0x08E - setflag FLAG_0x08F + clearflag FLAG_DEVON_GOODS_STOLEN + setflag FLAG_RECOVERED_DEVON_GOODS setvar VAR_0x405A, 4 setvar VAR_0x4090, 1 setflag FLAG_HIDE_ROUTE_116_MR_BRINEY diff --git a/data/maps/SSTidalCorridor/scripts.inc b/data/maps/SSTidalCorridor/scripts.inc index 86d85fcccb..204d70e142 100644 --- a/data/maps/SSTidalCorridor/scripts.inc +++ b/data/maps/SSTidalCorridor/scripts.inc @@ -125,7 +125,7 @@ SSTidalCorridor_EventScript_23C119:: @ 823C119 SSTidalCorridor_EventScript_23C13B:: @ 823C13B setrespawn HEAL_LOCATION_LILYCOVE_CITY msgbox SSTidalCorridor_Text_23C64F, MSGBOX_DEFAULT - call_if_set FLAG_0x104, SSTidalCorridor_EventScript_23C179 + call_if_set FLAG_RECEIVED_TM49, SSTidalCorridor_EventScript_23C179 warp MAP_LILYCOVE_CITY_HARBOR, 255, 8, 11 waitstate release @@ -134,7 +134,7 @@ SSTidalCorridor_EventScript_23C13B:: @ 823C13B SSTidalCorridor_EventScript_23C15A:: @ 823C15A setrespawn HEAL_LOCATION_SLATEPORT_CITY msgbox SSTidalCorridor_Text_23C64F, MSGBOX_DEFAULT - call_if_set FLAG_0x104, SSTidalCorridor_EventScript_23C179 + call_if_set FLAG_RECEIVED_TM49, SSTidalCorridor_EventScript_23C179 warp MAP_SLATEPORT_CITY_HARBOR, 255, 8, 11 waitstate release @@ -162,7 +162,7 @@ SSTidalCorridor_EventScript_23C19E:: @ 823C19E SSTidalCorridor_EventScript_23C1A3:: @ 823C1A3 lock faceplayer - goto_if_set FLAG_0x0F7, SSTidalCorridor_EventScript_23C1BD + goto_if_set FLAG_DEFEATED_SS_TIDAL_TRAINERS, SSTidalCorridor_EventScript_23C1BD call SSTidalCorridor_EventScript_23C1C7 msgbox SSTidalCorridor_Text_23C65E, MSGBOX_DEFAULT release @@ -190,7 +190,7 @@ SSTidalCorridor_EventScript_23C1C7:: @ 823C1C7 goto_if_lt SSTidalCorridor_EventScript_23C218 checktrainerflag TRAINER_NAOMI goto_if_lt SSTidalCorridor_EventScript_23C218 - setflag FLAG_0x0F7 + setflag FLAG_DEFEATED_SS_TIDAL_TRAINERS goto SSTidalCorridor_EventScript_23C1BD return @@ -215,7 +215,7 @@ SSTidalCorridor_EventScript_23C219:: @ 823C219 applymovement 1, SSTidalCorridor_Movement_23C28B waitmovement 0 delay 30 - setflag FLAG_0x1D0 + setflag FLAG_MET_SCOTT_ON_SS_TIDAL setvar VAR_0x40D4, 1 releaseall end diff --git a/data/maps/SSTidalRooms/scripts.inc b/data/maps/SSTidalRooms/scripts.inc index d4c0885363..a021f5272d 100644 --- a/data/maps/SSTidalRooms/scripts.inc +++ b/data/maps/SSTidalRooms/scripts.inc @@ -4,12 +4,12 @@ SSTidalRooms_MapScripts:: @ 823C9F1 SSTidalRooms_EventScript_23C9F2:: @ 823C9F2 lock faceplayer - goto_if_set FLAG_0x104, SSTidalRooms_EventScript_23CA29 + goto_if_set FLAG_RECEIVED_TM49, SSTidalRooms_EventScript_23CA29 msgbox SSTidalRooms_Text_23D098, MSGBOX_DEFAULT giveitem_std ITEM_TM49 compare VAR_RESULT, 0 goto_if_eq SSTidalRooms_EventScript_272054 - setflag FLAG_0x104 + setflag FLAG_RECEIVED_TM49 msgbox SSTidalRooms_Text_23D145, MSGBOX_DEFAULT release end diff --git a/data/maps/SafariZone_South/scripts.inc b/data/maps/SafariZone_South/scripts.inc index 06b050f67e..ab6f70f865 100644 --- a/data/maps/SafariZone_South/scripts.inc +++ b/data/maps/SafariZone_South/scripts.inc @@ -51,7 +51,7 @@ SafariZone_South_EventScript_23D2DC:: @ 823D2DC SafariZone_South_EventScript_23D2E5:: @ 823D2E5 lock faceplayer - goto_if_unset FLAG_0x05D, SafariZone_South_EventScript_23D30D + goto_if_unset FLAG_GOOD_LUCK_SAFARI_ZONE, SafariZone_South_EventScript_23D30D msgbox SafariZone_South_Text_2A51D4, MSGBOX_YESNO compare VAR_RESULT, 1 goto_if_eq SafariZone_South_EventScript_23D31A @@ -60,7 +60,7 @@ SafariZone_South_EventScript_23D2E5:: @ 823D2E5 end SafariZone_South_EventScript_23D30D:: @ 823D30D - setflag FLAG_0x05D + setflag FLAG_GOOD_LUCK_SAFARI_ZONE msgbox SafariZone_South_Text_2A52AB, MSGBOX_DEFAULT release end @@ -150,4 +150,3 @@ SafariZone_Northeast_EventScript_23D3CF:: @ 823D3CF SafariZone_Northeast_EventScript_23D3D8:: @ 823D3D8 msgbox SafariZone_Northeast_Text_2A5A44, MSGBOX_NPC end - diff --git a/data/maps/SeafloorCavern_Room9/scripts.inc b/data/maps/SeafloorCavern_Room9/scripts.inc index 212496eef7..6ab802ee48 100644 --- a/data/maps/SeafloorCavern_Room9/scripts.inc +++ b/data/maps/SeafloorCavern_Room9/scripts.inc @@ -131,7 +131,7 @@ SeafloorCavern_Room9_EventScript_234DC9:: @ 8234DC9 clearflag FLAG_HIDE_ROUTE_128_ARCHIE clearflag FLAG_HIDE_ROUTE_128_MAXIE setflag FLAG_SYS_WEATHER_CTRL - setflag FLAG_0x081 + setflag FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN setflag FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_STEVEN setvar VAR_0x40C6, 2 setvar VAR_0x40A2, 1 @@ -320,4 +320,3 @@ SeafloorCavern_Room9_Text_235692: @ 8235692 SeafloorCavern_Room9_Text_235723: @ 8235723 .string "MAXIE: {PLAYER}, come on, you have\n" .string "to get out of here, too!$" - diff --git a/data/maps/SealedChamber_InnerRoom/scripts.inc b/data/maps/SealedChamber_InnerRoom/scripts.inc index 36836fb496..5c4cb21991 100644 --- a/data/maps/SealedChamber_InnerRoom/scripts.inc +++ b/data/maps/SealedChamber_InnerRoom/scripts.inc @@ -6,7 +6,7 @@ SealedChamber_InnerRoom_EventScript_2391F8:: @ 82391F8 braillemessage SealedChamber_InnerRoom_Braille_2A6B99 waitbuttonpress hidebox2 - goto_if_set FLAG_0x0E4, SealedChamber_InnerRoom_EventScript_239253 + goto_if_set FLAG_REGI_DOORS_OPENED, SealedChamber_InnerRoom_EventScript_239253 specialvar VAR_RESULT, CheckRelicanthWailord compare VAR_RESULT, 0 goto_if_eq SealedChamber_InnerRoom_EventScript_239253 @@ -30,7 +30,7 @@ SealedChamber_InnerRoom_EventScript_2391F8:: @ 82391F8 msgbox gUnknown_0827301B, MSGBOX_DEFAULT closemessage fadeinbgm 0 - setflag FLAG_0x0E4 + setflag FLAG_REGI_DOORS_OPENED releaseall end diff --git a/data/maps/SecretBase_BlueCave1/events.inc b/data/maps/SecretBase_BlueCave1/events.inc index 87361e0825..95e52b889f 100644 --- a/data/maps/SecretBase_BlueCave1/events.inc +++ b/data/maps/SecretBase_BlueCave1/events.inc @@ -1,19 +1,19 @@ SecretBase_BlueCave1_EventObjects: @ 8537BEC - object_event 1, 255, 0, 4, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BlueCave1_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 4, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BlueCave1_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_BlueCave1_MapWarps: @ 8537D54 warp_def 5, 7, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_BlueCave2/events.inc b/data/maps/SecretBase_BlueCave2/events.inc index ad584e2bb6..62c4b8dcda 100644 --- a/data/maps/SecretBase_BlueCave2/events.inc +++ b/data/maps/SecretBase_BlueCave2/events.inc @@ -1,19 +1,19 @@ SecretBase_BlueCave2_EventObjects: @ 8538504 - object_event 1, 255, 0, 2, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BlueCave2_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 2, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BlueCave2_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_BlueCave2_MapWarps: @ 853866C warp_def 7, 5, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_BlueCave3/events.inc b/data/maps/SecretBase_BlueCave3/events.inc index af85949d33..14c7460adf 100644 --- a/data/maps/SecretBase_BlueCave3/events.inc +++ b/data/maps/SecretBase_BlueCave3/events.inc @@ -1,19 +1,19 @@ SecretBase_BlueCave3_EventObjects: @ 8538E1C - object_event 1, 255, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BlueCave3_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BlueCave3_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_BlueCave3_MapWarps: @ 8538F84 warp_def 4, 15, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_BlueCave4/events.inc b/data/maps/SecretBase_BlueCave4/events.inc index 6ff0d4e67f..1d047cd42f 100644 --- a/data/maps/SecretBase_BlueCave4/events.inc +++ b/data/maps/SecretBase_BlueCave4/events.inc @@ -1,19 +1,19 @@ SecretBase_BlueCave4_EventObjects: @ 8539734 - object_event 1, 255, 0, 5, 13, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BlueCave4_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 5, 13, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BlueCave4_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_BlueCave4_MapWarps: @ 853989C warp_def 4, 15, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_BrownCave1/events.inc b/data/maps/SecretBase_BrownCave1/events.inc index 5a49bb7047..43d1445351 100644 --- a/data/maps/SecretBase_BrownCave1/events.inc +++ b/data/maps/SecretBase_BrownCave1/events.inc @@ -1,19 +1,19 @@ SecretBase_BrownCave1_EventObjects: @ 8537A68 - object_event 1, 255, 0, 5, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BrownCave1_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 5, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BrownCave1_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_BrownCave1_MapWarps: @ 8537BD0 warp_def 5, 7, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_BrownCave2/events.inc b/data/maps/SecretBase_BrownCave2/events.inc index 569b808bde..09bb033277 100644 --- a/data/maps/SecretBase_BrownCave2/events.inc +++ b/data/maps/SecretBase_BrownCave2/events.inc @@ -1,19 +1,19 @@ SecretBase_BrownCave2_EventObjects: @ 8538380 - object_event 1, 255, 0, 11, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BrownCave2_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 11, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BrownCave2_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_BrownCave2_MapWarps: @ 85384E8 warp_def 1, 7, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_BrownCave3/events.inc b/data/maps/SecretBase_BrownCave3/events.inc index 4dd9655b8d..12ec865878 100644 --- a/data/maps/SecretBase_BrownCave3/events.inc +++ b/data/maps/SecretBase_BrownCave3/events.inc @@ -1,19 +1,19 @@ SecretBase_BrownCave3_EventObjects: @ 8538C98 - object_event 1, 255, 0, 1, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BrownCave3_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 1, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BrownCave3_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_BrownCave3_MapWarps: @ 8538E00 warp_def 11, 9, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_BrownCave4/events.inc b/data/maps/SecretBase_BrownCave4/events.inc index 506c3cafc0..15fab00be7 100644 --- a/data/maps/SecretBase_BrownCave4/events.inc +++ b/data/maps/SecretBase_BrownCave4/events.inc @@ -1,19 +1,19 @@ SecretBase_BrownCave4_EventObjects: @ 85395B0 - object_event 1, 255, 0, 2, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BrownCave4_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 2, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BrownCave4_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_BrownCave4_MapWarps: @ 8539718 warp_def 2, 8, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_RedCave1/events.inc b/data/maps/SecretBase_RedCave1/events.inc index edc9b8e786..e0d7180681 100644 --- a/data/maps/SecretBase_RedCave1/events.inc +++ b/data/maps/SecretBase_RedCave1/events.inc @@ -1,19 +1,19 @@ SecretBase_RedCave1_EventObjects: @ 85378E4 - object_event 1, 255, 0, 7, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_RedCave1_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 7, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_RedCave1_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_RedCave1_MapWarps: @ 8537A4C warp_def 5, 7, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_RedCave2/events.inc b/data/maps/SecretBase_RedCave2/events.inc index c5817721e7..365e3f353d 100644 --- a/data/maps/SecretBase_RedCave2/events.inc +++ b/data/maps/SecretBase_RedCave2/events.inc @@ -1,19 +1,19 @@ SecretBase_RedCave2_EventObjects: @ 85381FC - object_event 1, 255, 0, 3, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_RedCave2_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 3, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_RedCave2_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_RedCave2_MapWarps: @ 8538364 warp_def 3, 14, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_RedCave3/events.inc b/data/maps/SecretBase_RedCave3/events.inc index af7854d9ec..16e14d49fd 100644 --- a/data/maps/SecretBase_RedCave3/events.inc +++ b/data/maps/SecretBase_RedCave3/events.inc @@ -1,19 +1,19 @@ SecretBase_RedCave3_EventObjects: @ 8538B14 - object_event 1, 255, 0, 12, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_RedCave3_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 12, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_RedCave3_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_RedCave3_MapWarps: @ 8538C7C warp_def 3, 6, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_RedCave4/events.inc b/data/maps/SecretBase_RedCave4/events.inc index 181e8d7c6e..eaf2275067 100644 --- a/data/maps/SecretBase_RedCave4/events.inc +++ b/data/maps/SecretBase_RedCave4/events.inc @@ -1,19 +1,19 @@ SecretBase_RedCave4_EventObjects: @ 853942C - object_event 1, 255, 0, 5, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_RedCave4_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 5, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_RedCave4_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_RedCave4_MapWarps: @ 8539594 warp_def 2, 12, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_Shrub1/events.inc b/data/maps/SecretBase_Shrub1/events.inc index aa8054a808..07eb2e1bd0 100644 --- a/data/maps/SecretBase_Shrub1/events.inc +++ b/data/maps/SecretBase_Shrub1/events.inc @@ -1,19 +1,19 @@ SecretBase_Shrub1_EventObjects: @ 8538078 - object_event 1, 255, 0, 5, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Shrub1_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 5, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Shrub1_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_Shrub1_MapWarps: @ 85381E0 warp_def 5, 7, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_Shrub2/events.inc b/data/maps/SecretBase_Shrub2/events.inc index ecbbdfcb4d..385500c5fd 100644 --- a/data/maps/SecretBase_Shrub2/events.inc +++ b/data/maps/SecretBase_Shrub2/events.inc @@ -1,19 +1,19 @@ SecretBase_Shrub2_EventObjects: @ 8538990 - object_event 1, 255, 0, 13, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Shrub2_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 13, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Shrub2_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_Shrub2_MapWarps: @ 8538AF8 warp_def 7, 5, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_Shrub3/events.inc b/data/maps/SecretBase_Shrub3/events.inc index 2a280d6c53..8cc399fed5 100644 --- a/data/maps/SecretBase_Shrub3/events.inc +++ b/data/maps/SecretBase_Shrub3/events.inc @@ -1,19 +1,19 @@ SecretBase_Shrub3_EventObjects: @ 85392A8 - object_event 1, 255, 0, 5, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Shrub3_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 5, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Shrub3_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_Shrub3_MapWarps: @ 8539410 warp_def 6, 9, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_Shrub4/events.inc b/data/maps/SecretBase_Shrub4/events.inc index bef5f0ca20..16dfd4ba12 100644 --- a/data/maps/SecretBase_Shrub4/events.inc +++ b/data/maps/SecretBase_Shrub4/events.inc @@ -1,19 +1,19 @@ SecretBase_Shrub4_EventObjects: @ 8539BC0 - object_event 1, 255, 0, 9, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Shrub4_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 9, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Shrub4_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_Shrub4_MapWarps: @ 8539D28 warp_def 11, 8, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_Tree1/events.inc b/data/maps/SecretBase_Tree1/events.inc index a2863ced7c..8c7c05e6ea 100644 --- a/data/maps/SecretBase_Tree1/events.inc +++ b/data/maps/SecretBase_Tree1/events.inc @@ -1,19 +1,19 @@ SecretBase_Tree1_EventObjects: @ 8537EF4 - object_event 1, 255, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Tree1_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Tree1_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_Tree1_MapWarps: @ 853805C warp_def 5, 7, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_Tree2/events.inc b/data/maps/SecretBase_Tree2/events.inc index d930de64fa..e6b5c627b6 100644 --- a/data/maps/SecretBase_Tree2/events.inc +++ b/data/maps/SecretBase_Tree2/events.inc @@ -1,19 +1,19 @@ SecretBase_Tree2_EventObjects: @ 853880C - object_event 1, 255, 0, 3, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Tree2_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 3, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Tree2_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_Tree2_MapWarps: @ 8538974 warp_def 3, 14, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_Tree3/events.inc b/data/maps/SecretBase_Tree3/events.inc index 6dda3e303a..921c4f1022 100644 --- a/data/maps/SecretBase_Tree3/events.inc +++ b/data/maps/SecretBase_Tree3/events.inc @@ -1,19 +1,19 @@ SecretBase_Tree3_EventObjects: @ 8539124 - object_event 1, 255, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Tree3_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Tree3_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_Tree3_MapWarps: @ 853928C warp_def 8, 6, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_Tree4/events.inc b/data/maps/SecretBase_Tree4/events.inc index 493bc93db4..ee2495e790 100644 --- a/data/maps/SecretBase_Tree4/events.inc +++ b/data/maps/SecretBase_Tree4/events.inc @@ -1,19 +1,19 @@ SecretBase_Tree4_EventObjects: @ 8539A3C - object_event 1, 255, 0, 10, 9, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Tree4_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 10, 9, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Tree4_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_Tree4_MapWarps: @ 8539BA4 warp_def 7, 12, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_YellowCave1/events.inc b/data/maps/SecretBase_YellowCave1/events.inc index 04045999a9..6beae3454e 100644 --- a/data/maps/SecretBase_YellowCave1/events.inc +++ b/data/maps/SecretBase_YellowCave1/events.inc @@ -1,19 +1,19 @@ SecretBase_YellowCave1_EventObjects: @ 8537D70 - object_event 1, 255, 0, 3, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_YellowCave1_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 3, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_YellowCave1_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_YellowCave1_MapWarps: @ 8537ED8 warp_def 5, 7, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_YellowCave2/events.inc b/data/maps/SecretBase_YellowCave2/events.inc index d26d337ae4..9378718c4a 100644 --- a/data/maps/SecretBase_YellowCave2/events.inc +++ b/data/maps/SecretBase_YellowCave2/events.inc @@ -1,19 +1,19 @@ SecretBase_YellowCave2_EventObjects: @ 8538688 - object_event 1, 255, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_YellowCave2_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_YellowCave2_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_YellowCave2_MapWarps: @ 85387F0 warp_def 12, 7, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_YellowCave3/events.inc b/data/maps/SecretBase_YellowCave3/events.inc index e888677b48..3a60b042b5 100644 --- a/data/maps/SecretBase_YellowCave3/events.inc +++ b/data/maps/SecretBase_YellowCave3/events.inc @@ -1,19 +1,19 @@ SecretBase_YellowCave3_EventObjects: @ 8538FA0 - object_event 1, 255, 0, 7, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_YellowCave3_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 7, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_YellowCave3_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_YellowCave3_MapWarps: @ 8539108 warp_def 5, 9, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_YellowCave4/events.inc b/data/maps/SecretBase_YellowCave4/events.inc index 577693af96..13757dbef6 100644 --- a/data/maps/SecretBase_YellowCave4/events.inc +++ b/data/maps/SecretBase_YellowCave4/events.inc @@ -1,19 +1,19 @@ SecretBase_YellowCave4_EventObjects: @ 85398B8 - object_event 1, 255, 0, 9, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_YellowCave4_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 9, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_YellowCave4_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_YellowCave4_MapWarps: @ 8539A20 warp_def 6, 12, 0, 126, MAP_NONE diff --git a/data/maps/ShoalCave_LowTideEntranceRoom/scripts.inc b/data/maps/ShoalCave_LowTideEntranceRoom/scripts.inc index 5f95bf8ed2..c596ba6875 100644 --- a/data/maps/ShoalCave_LowTideEntranceRoom/scripts.inc +++ b/data/maps/ShoalCave_LowTideEntranceRoom/scripts.inc @@ -88,14 +88,13 @@ ShoalCave_LowTideEntranceRoom_EventScript_236ECF:: @ 8236ECF end ShoalCave_LowTideEntranceRoom_EventScript_236ED9:: @ 8236ED9 - clearflag FLAG_0x3B8 - clearflag FLAG_0x3B9 - clearflag FLAG_0x3BA - clearflag FLAG_0x3BB - clearflag FLAG_0x3BC - clearflag FLAG_0x3BD - clearflag FLAG_0x3BE - clearflag FLAG_0x3BF + clearflag FLAG_RECEIVED_SHOAL_SALT_1 + clearflag FLAG_RECEIVED_SHOAL_SALT_2 + clearflag FLAG_RECEIVED_SHOAL_SALT_3 + clearflag FLAG_RECEIVED_SHOAL_SALT_4 + clearflag FLAG_RECEIVED_SHOAL_SHELL_1 + clearflag FLAG_RECEIVED_SHOAL_SHELL_2 + clearflag FLAG_RECEIVED_SHOAL_SHELL_3 + clearflag FLAG_RECEIVED_SHOAL_SHELL_4 clearflag FLAG_SYS_SHOAL_ITEM return - diff --git a/data/maps/ShoalCave_LowTideInnerRoom/scripts.inc b/data/maps/ShoalCave_LowTideInnerRoom/scripts.inc index 226f897086..65bdd73b83 100644 --- a/data/maps/ShoalCave_LowTideInnerRoom/scripts.inc +++ b/data/maps/ShoalCave_LowTideInnerRoom/scripts.inc @@ -20,39 +20,39 @@ ShoalCave_LowTideInnerRoom_MapScript1_236F16: @ 8236F16 end ShoalCave_LowTideInnerRoom_EventScript_236F1C:: @ 8236F1C - goto_if_set FLAG_0x3B8, ShoalCave_LowTideInnerRoom_EventScript_236F3D + goto_if_set FLAG_RECEIVED_SHOAL_SALT_1, ShoalCave_LowTideInnerRoom_EventScript_236F3D goto_if_set FLAG_SYS_SHOAL_TIDE, ShoalCave_LowTideInnerRoom_EventScript_236F3D setmetatile 31, 8, 856, 1 goto ShoalCave_LowTideInnerRoom_EventScript_236F3D end ShoalCave_LowTideInnerRoom_EventScript_236F3D:: @ 8236F3D - goto_if_set FLAG_0x3B9, ShoalCave_LowTideInnerRoom_EventScript_236F5E + goto_if_set FLAG_RECEIVED_SHOAL_SALT_2, ShoalCave_LowTideInnerRoom_EventScript_236F5E goto_if_set FLAG_SYS_SHOAL_TIDE, ShoalCave_LowTideInnerRoom_EventScript_236F5E setmetatile 14, 26, 856, 1 goto ShoalCave_LowTideInnerRoom_EventScript_236F5E end ShoalCave_LowTideInnerRoom_EventScript_236F5E:: @ 8236F5E - goto_if_set FLAG_0x3BC, ShoalCave_LowTideInnerRoom_EventScript_236F76 + goto_if_set FLAG_RECEIVED_SHOAL_SHELL_1, ShoalCave_LowTideInnerRoom_EventScript_236F76 setmetatile 41, 20, 857, 1 goto ShoalCave_LowTideInnerRoom_EventScript_236F76 end ShoalCave_LowTideInnerRoom_EventScript_236F76:: @ 8236F76 - goto_if_set FLAG_0x3BD, ShoalCave_LowTideInnerRoom_EventScript_236F8E + goto_if_set FLAG_RECEIVED_SHOAL_SHELL_2, ShoalCave_LowTideInnerRoom_EventScript_236F8E setmetatile 41, 10, 857, 1 goto ShoalCave_LowTideInnerRoom_EventScript_236F8E end ShoalCave_LowTideInnerRoom_EventScript_236F8E:: @ 8236F8E - goto_if_set FLAG_0x3BE, ShoalCave_LowTideInnerRoom_EventScript_236FA6 + goto_if_set FLAG_RECEIVED_SHOAL_SHELL_3, ShoalCave_LowTideInnerRoom_EventScript_236FA6 setmetatile 6, 9, 857, 1 goto ShoalCave_LowTideInnerRoom_EventScript_236FA6 end ShoalCave_LowTideInnerRoom_EventScript_236FA6:: @ 8236FA6 - goto_if_set FLAG_0x3BF, ShoalCave_LowTideInnerRoom_EventScript_236FB9 + goto_if_set FLAG_RECEIVED_SHOAL_SHELL_4, ShoalCave_LowTideInnerRoom_EventScript_236FB9 setmetatile 16, 13, 857, 1 return @@ -61,13 +61,13 @@ ShoalCave_LowTideInnerRoom_EventScript_236FB9:: @ 8236FB9 ShoalCave_LowTideInnerRoom_EventScript_236FBA:: @ 8236FBA lockall - goto_if_set FLAG_0x3BC, ShoalCave_LowTideInnerRoom_EventScript_236FEC + goto_if_set FLAG_RECEIVED_SHOAL_SHELL_1, ShoalCave_LowTideInnerRoom_EventScript_236FEC giveitem_std ITEM_SHOAL_SHELL compare VAR_RESULT, 0 goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_272054 setmetatile 41, 20, 859, 0 special DrawWholeMapView - setflag FLAG_0x3BC + setflag FLAG_RECEIVED_SHOAL_SHELL_1 releaseall end @@ -78,49 +78,49 @@ ShoalCave_LowTideInnerRoom_EventScript_236FEC:: @ 8236FEC ShoalCave_LowTideInnerRoom_EventScript_236FF6:: @ 8236FF6 lockall - goto_if_set FLAG_0x3BD, ShoalCave_LowTideInnerRoom_EventScript_236FEC + goto_if_set FLAG_RECEIVED_SHOAL_SHELL_2, ShoalCave_LowTideInnerRoom_EventScript_236FEC giveitem_std ITEM_SHOAL_SHELL compare VAR_RESULT, 0 goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_272054 setmetatile 41, 10, 859, 0 special DrawWholeMapView - setflag FLAG_0x3BD + setflag FLAG_RECEIVED_SHOAL_SHELL_2 releaseall end ShoalCave_LowTideInnerRoom_EventScript_237028:: @ 8237028 lockall - goto_if_set FLAG_0x3BE, ShoalCave_LowTideInnerRoom_EventScript_236FEC + goto_if_set FLAG_RECEIVED_SHOAL_SHELL_3, ShoalCave_LowTideInnerRoom_EventScript_236FEC giveitem_std ITEM_SHOAL_SHELL compare VAR_RESULT, 0 goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_272054 setmetatile 6, 9, 859, 0 special DrawWholeMapView - setflag FLAG_0x3BE + setflag FLAG_RECEIVED_SHOAL_SHELL_3 releaseall end ShoalCave_LowTideInnerRoom_EventScript_23705A:: @ 823705A lockall - goto_if_set FLAG_0x3BF, ShoalCave_LowTideInnerRoom_EventScript_236FEC + goto_if_set FLAG_RECEIVED_SHOAL_SHELL_4, ShoalCave_LowTideInnerRoom_EventScript_236FEC giveitem_std ITEM_SHOAL_SHELL compare VAR_RESULT, 0 goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_272054 setmetatile 16, 13, 859, 0 special DrawWholeMapView - setflag FLAG_0x3BF + setflag FLAG_RECEIVED_SHOAL_SHELL_4 releaseall end ShoalCave_LowTideInnerRoom_EventScript_23708C:: @ 823708C lockall - goto_if_set FLAG_0x3B8, ShoalCave_LowTideInnerRoom_EventScript_2370BE + goto_if_set FLAG_RECEIVED_SHOAL_SALT_1, ShoalCave_LowTideInnerRoom_EventScript_2370BE giveitem_std ITEM_SHOAL_SALT compare VAR_RESULT, 0 goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_272054 setmetatile 31, 8, 858, 0 special DrawWholeMapView - setflag FLAG_0x3B8 + setflag FLAG_RECEIVED_SHOAL_SALT_1 releaseall end @@ -131,13 +131,12 @@ ShoalCave_LowTideInnerRoom_EventScript_2370BE:: @ 82370BE ShoalCave_LowTideInnerRoom_EventScript_2370C8:: @ 82370C8 lockall - goto_if_set FLAG_0x3B9, ShoalCave_LowTideInnerRoom_EventScript_2370BE + goto_if_set FLAG_RECEIVED_SHOAL_SALT_2, ShoalCave_LowTideInnerRoom_EventScript_2370BE giveitem_std ITEM_SHOAL_SALT compare VAR_RESULT, 0 goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_272054 setmetatile 14, 26, 858, 0 special DrawWholeMapView - setflag FLAG_0x3B9 + setflag FLAG_RECEIVED_SHOAL_SALT_2 releaseall end - diff --git a/data/maps/ShoalCave_LowTideLowerRoom/scripts.inc b/data/maps/ShoalCave_LowTideLowerRoom/scripts.inc index 1e2e756d78..60a6039be5 100644 --- a/data/maps/ShoalCave_LowTideLowerRoom/scripts.inc +++ b/data/maps/ShoalCave_LowTideLowerRoom/scripts.inc @@ -7,7 +7,7 @@ ShoalCave_LowTideLowerRoom_MapScript1_23715C: @ 823715C end ShoalCave_LowTideLowerRoom_EventScript_237162:: @ 8237162 - goto_if_set FLAG_0x3BB, ShoalCave_LowTideLowerRoom_EventScript_237175 + goto_if_set FLAG_RECEIVED_SHOAL_SALT_4, ShoalCave_LowTideLowerRoom_EventScript_237175 setmetatile 18, 2, 856, 1 return @@ -16,13 +16,13 @@ ShoalCave_LowTideLowerRoom_EventScript_237175:: @ 8237175 ShoalCave_LowTideLowerRoom_EventScript_237176:: @ 8237176 lockall - goto_if_set FLAG_0x3BB, ShoalCave_LowTideLowerRoom_EventScript_2371A8 + goto_if_set FLAG_RECEIVED_SHOAL_SALT_4, ShoalCave_LowTideLowerRoom_EventScript_2371A8 giveitem_std ITEM_SHOAL_SALT compare VAR_RESULT, 0 goto_if_eq ShoalCave_LowTideLowerRoom_EventScript_272054 setmetatile 18, 2, 858, 0 special DrawWholeMapView - setflag FLAG_0x3BB + setflag FLAG_RECEIVED_SHOAL_SALT_4 releaseall end @@ -34,12 +34,12 @@ ShoalCave_LowTideLowerRoom_EventScript_2371A8:: @ 82371A8 ShoalCave_LowTideLowerRoom_EventScript_2371B2:: @ 82371B2 lock faceplayer - goto_if_set FLAG_0x11B, ShoalCave_LowTideLowerRoom_EventScript_2371E1 + goto_if_set FLAG_RECEIVED_FOCUS_BAND, ShoalCave_LowTideLowerRoom_EventScript_2371E1 msgbox ShoalCave_LowTideLowerRoom_Text_2371EB, MSGBOX_DEFAULT giveitem_std ITEM_FOCUS_BAND compare VAR_RESULT, 0 goto_if_eq ShoalCave_LowTideLowerRoom_EventScript_272054 - setflag FLAG_0x11B + setflag FLAG_RECEIVED_FOCUS_BAND release end diff --git a/data/maps/ShoalCave_LowTideStairsRoom/scripts.inc b/data/maps/ShoalCave_LowTideStairsRoom/scripts.inc index 4486c7c612..40275d809f 100644 --- a/data/maps/ShoalCave_LowTideStairsRoom/scripts.inc +++ b/data/maps/ShoalCave_LowTideStairsRoom/scripts.inc @@ -7,7 +7,7 @@ ShoalCave_LowTideStairsRoom_MapScript1_237100: @ 8237100 end ShoalCave_LowTideStairsRoom_EventScript_237106:: @ 8237106 - goto_if_set FLAG_0x3BA, ShoalCave_LowTideStairsRoom_EventScript_237119 + goto_if_set FLAG_RECEIVED_SHOAL_SALT_3, ShoalCave_LowTideStairsRoom_EventScript_237119 setmetatile 11, 11, 856, 1 return @@ -16,13 +16,13 @@ ShoalCave_LowTideStairsRoom_EventScript_237119:: @ 8237119 ShoalCave_LowTideStairsRoom_EventScript_23711A:: @ 823711A lockall - goto_if_set FLAG_0x3BA, ShoalCave_LowTideStairsRoom_EventScript_23714C + goto_if_set FLAG_RECEIVED_SHOAL_SALT_3, ShoalCave_LowTideStairsRoom_EventScript_23714C giveitem_std ITEM_SHOAL_SALT compare VAR_RESULT, 0 goto_if_eq ShoalCave_LowTideStairsRoom_EventScript_272054 setmetatile 11, 11, 858, 0 special DrawWholeMapView - setflag FLAG_0x3BA + setflag FLAG_RECEIVED_SHOAL_SALT_3 releaseall end diff --git a/data/maps/SkyPillar_Outside/scripts.inc b/data/maps/SkyPillar_Outside/scripts.inc index 4e7701de6f..eb57d12277 100644 --- a/data/maps/SkyPillar_Outside/scripts.inc +++ b/data/maps/SkyPillar_Outside/scripts.inc @@ -20,7 +20,7 @@ SkyPillar_Outside_EventScript_2392D3:: @ 82392D3 return SkyPillar_Outside_MapScript1_2392DD: @ 82392DD - call_if_set FLAG_0x137, SkyPillar_Outside_EventScript_2392E7 + call_if_set FLAG_WALLACE_GOES_TO_SKY_PILLAR, SkyPillar_Outside_EventScript_2392E7 end SkyPillar_Outside_EventScript_2392E7:: @ 82392E7 diff --git a/data/maps/SkyPillar_Top/scripts.inc b/data/maps/SkyPillar_Top/scripts.inc index 1ac3cf4862..c0bc2e4c14 100644 --- a/data/maps/SkyPillar_Top/scripts.inc +++ b/data/maps/SkyPillar_Top/scripts.inc @@ -28,7 +28,7 @@ SkyPillar_Top_EventScript_2396FD:: @ 82396FD return SkyPillar_Top_EventScript_239705:: @ 8239705 - call_if_unset FLAG_0x1C0, SkyPillar_Top_EventScript_23970F + call_if_unset FLAG_DEFEATED_RAYQUAZA, SkyPillar_Top_EventScript_23970F return SkyPillar_Top_EventScript_23970F:: @ 823970F @@ -61,12 +61,12 @@ SkyPillar_Top_EventScript_239722:: @ 8239722 goto_if_eq SkyPillar_Top_EventScript_239771 compare VAR_RESULT, 5 goto_if_eq SkyPillar_Top_EventScript_239771 - setflag FLAG_0x1C0 + setflag FLAG_DEFEATED_RAYQUAZA releaseall end SkyPillar_Top_EventScript_239768:: @ 8239768 - setflag FLAG_0x1C0 + setflag FLAG_DEFEATED_RAYQUAZA goto SkyPillar_Top_EventScript_23977C end diff --git a/data/maps/SlateportCity/scripts.inc b/data/maps/SlateportCity/scripts.inc index a28d74fa26..7b19c84b8f 100644 --- a/data/maps/SlateportCity/scripts.inc +++ b/data/maps/SlateportCity/scripts.inc @@ -75,7 +75,7 @@ SlateportCity_EventScript_1DCD1C:: @ 81DCD1C waitfanfare closemessage delay 30 - setflag FLAG_0x0D7 + setflag FLAG_ENABLE_SCOTT_MATCH_CALL msgbox SlateportCity_Text_1DF1D3, MSGBOX_DEFAULT closemessage applymovement 35, SlateportCity_Movement_1DCDB4 @@ -200,7 +200,7 @@ SlateportCity_EventScript_1DCE84:: @ 81DCE84 faceplayer compare VAR_0x4058, 1 call_if_eq SlateportCity_EventScript_1DCEA4 - goto_if_set FLAG_0x060, SlateportCity_EventScript_1DCEAE + goto_if_set FLAG_RECEIVED_SECRET_POWER, SlateportCity_EventScript_1DCEAE msgbox SlateportCity_Text_1DD93D, MSGBOX_DEFAULT release end @@ -256,7 +256,7 @@ SlateportCity_EventScript_1DCF0D:: @ 81DCF0D SlateportCity_EventScript_1DCF17:: @ 81DCF17 lock faceplayer - goto_if_set FLAG_0x094, SlateportCity_EventScript_1DCF2C + goto_if_set FLAG_DOCK_REJECTED_DEVON_GOODS, SlateportCity_EventScript_1DCF2C msgbox SlateportCity_Text_1DDBAC, MSGBOX_DEFAULT release end @@ -513,7 +513,7 @@ SlateportCity_EventScript_1DD18E:: @ 81DD18E SlateportCity_EventScript_1DD198:: @ 81DD198 lock faceplayer - goto_if_unset FLAG_0x060, SlateportCity_EventScript_1DD18E + goto_if_unset FLAG_RECEIVED_SECRET_POWER, SlateportCity_EventScript_1DD18E message gUnknown_08272A21 waitmessage pokemartdecoration SlateportCity_PokemartDecor_1DD1B8 @@ -722,10 +722,10 @@ SlateportCity_EventScript_1DD365:: @ 81DD365 SlateportCity_EventScript_1DD36E:: @ 81DD36E lock faceplayer - goto_if_set FLAG_0x151, SlateportCity_EventScript_1DD39A + goto_if_set FLAG_RECEIVED_POWDER_JAR, SlateportCity_EventScript_1DD39A msgbox SlateportCity_Text_1DEBCE, MSGBOX_DEFAULT giveitem_std ITEM_POWDER_JAR - setflag FLAG_0x151 + setflag FLAG_RECEIVED_POWDER_JAR msgbox SlateportCity_Text_1DED27, MSGBOX_DEFAULT release end @@ -1373,4 +1373,3 @@ SlateportCity_Text_1DF28C: @ 81DF28C .string "After all, a tough TRAINER is\n" .string "the perfect fit for the BATTLE TENT!\p" .string "Give it your best effort!$" - diff --git a/data/maps/SlateportCity_BattleTentBattleRoom/events.inc b/data/maps/SlateportCity_BattleTentBattleRoom/events.inc index 6c28d5fc5a..71e8d6d3a2 100644 --- a/data/maps/SlateportCity_BattleTentBattleRoom/events.inc +++ b/data/maps/SlateportCity_BattleTentBattleRoom/events.inc @@ -1,7 +1,7 @@ SlateportCity_BattleTentBattleRoom_EventObjects: @ 852F4DC object_event 1, EVENT_OBJ_GFX_SCIENTIST_1, 0, 1, 4, 0, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, 0x0, 0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 4, 8, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 4, 8, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0 SlateportCity_BattleTentBattleRoom_MapEvents:: @ 852F524 map_events SlateportCity_BattleTentBattleRoom_EventObjects, 0x0, 0x0, 0x0 diff --git a/data/maps/SlateportCity_BattleTentLobby/scripts.inc b/data/maps/SlateportCity_BattleTentLobby/scripts.inc index 2d00095ba0..8851c5fa8a 100644 --- a/data/maps/SlateportCity_BattleTentLobby/scripts.inc +++ b/data/maps/SlateportCity_BattleTentLobby/scripts.inc @@ -245,12 +245,12 @@ SlateportCity_BattleTentLobby_Movement_208A38:: @ 8208A38 SlateportCity_BattleTentLobby_EventScript_208A3D:: @ 8208A3D lock faceplayer - goto_if_set FLAG_0x109, SlateportCity_BattleTentLobby_EventScript_208A74 + goto_if_set FLAG_RECEIVED_TM41, SlateportCity_BattleTentLobby_EventScript_208A74 msgbox SlateportCity_BattleTentLobby_Text_208B4E, MSGBOX_DEFAULT giveitem_std ITEM_TM41 compare VAR_RESULT, 0 goto_if_eq SlateportCity_BattleTentLobby_EventScript_272054 - setflag FLAG_0x109 + setflag FLAG_RECEIVED_TM41 msgbox SlateportCity_BattleTentLobby_Text_208C5C, MSGBOX_DEFAULT release end diff --git a/data/maps/SlateportCity_Harbor/scripts.inc b/data/maps/SlateportCity_Harbor/scripts.inc index df573aa7a7..2f71a2dc99 100644 --- a/data/maps/SlateportCity_Harbor/scripts.inc +++ b/data/maps/SlateportCity_Harbor/scripts.inc @@ -63,7 +63,7 @@ SlateportCity_Harbor_EventScript_20C9F5:: @ 820C9F5 removeobject 7 removeobject 8 setvar VAR_0x40A0, 2 - setflag FLAG_0x061 + setflag FLAG_MET_TEAM_AQUA_HARBOR setflag FLAG_HIDE_LILCOVE_MOTEL_SCOTT compare VAR_0x8008, 0 call_if_eq SlateportCity_Harbor_EventScript_20CA89 @@ -174,7 +174,7 @@ SlateportCity_Harbor_EventScript_20CB06:: @ 820CB06 end SlateportCity_Harbor_EventScript_20CB1A:: @ 820CB1A - goto_if_set FLAG_0x1D0, SlateportCity_Harbor_EventScript_20CB50 + goto_if_set FLAG_MET_SCOTT_ON_SS_TIDAL, SlateportCity_Harbor_EventScript_20CB50 multichoicedefault 18, 8, 56, 2, 0 switch VAR_RESULT case 0, SlateportCity_Harbor_EventScript_20CB92 @@ -269,8 +269,8 @@ SlateportCity_Harbor_EventScript_20CC52:: @ 820CC52 faceplayer goto_if_unset FLAG_SYS_GAME_CLEAR, SlateportCity_Harbor_EventScript_20CC89 setvar VAR_0x8004, 0 - call_if_set FLAG_0x1BE, SlateportCity_Harbor_EventScript_20CC93 - call_if_set FLAG_0x1BF, SlateportCity_Harbor_EventScript_20CC93 + call_if_set FLAG_DEFEATED_KYOGRE, SlateportCity_Harbor_EventScript_20CC93 + call_if_set FLAG_DEFEATED_GROUDON, SlateportCity_Harbor_EventScript_20CC93 compare VAR_0x8004, 2 goto_if_eq SlateportCity_Harbor_EventScript_20CC89 msgbox SlateportCity_Harbor_Text_20D08E, MSGBOX_DEFAULT @@ -294,8 +294,8 @@ SlateportCity_Harbor_EventScript_20CCA2:: @ 820CCA2 lock faceplayer goto_if_set FLAG_BADGE07_GET, SlateportCity_Harbor_EventScript_20CD00 - goto_if_set FLAG_0x10F, SlateportCity_Harbor_EventScript_20CCF6 - goto_if_set FLAG_0x070, SlateportCity_Harbor_EventScript_20CCE9 + goto_if_set FLAG_EVIL_TEAM_ESCAPED_STERN_SPOKE, SlateportCity_Harbor_EventScript_20CCF6 + goto_if_set FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, SlateportCity_Harbor_EventScript_20CCE9 compare VAR_0x40A0, 2 goto_if_eq SlateportCity_Harbor_EventScript_20CCDF msgbox SlateportCity_Harbor_Text_20D232, MSGBOX_DEFAULT @@ -311,7 +311,7 @@ SlateportCity_Harbor_EventScript_20CCDF:: @ 820CCDF end SlateportCity_Harbor_EventScript_20CCE9:: @ 820CCE9 - setflag FLAG_0x10F + setflag FLAG_EVIL_TEAM_ESCAPED_STERN_SPOKE msgbox SlateportCity_Harbor_Text_20D42B, MSGBOX_DEFAULT release end @@ -361,7 +361,7 @@ SlateportCity_Harbor_EventScript_20CD7B:: @ 820CD7B goto_if_eq SlateportCity_Harbor_EventScript_272054 takeitem ITEM_SCANNER, 1 msgbox SlateportCity_Harbor_Text_20D94A, MSGBOX_DEFAULT - setflag FLAG_TRADED_SCANNER_TO_STERN + setflag FLAG_EXCHANGED_SCANNER goto SlateportCity_Harbor_EventScript_20CE11 end @@ -374,7 +374,7 @@ SlateportCity_Harbor_EventScript_20CDBB:: @ 820CDBB goto_if_eq SlateportCity_Harbor_EventScript_272054 takeitem ITEM_SCANNER, 1 msgbox SlateportCity_Harbor_Text_20D94A, MSGBOX_DEFAULT - setflag FLAG_TRADED_SCANNER_TO_STERN + setflag FLAG_EXCHANGED_SCANNER goto SlateportCity_Harbor_EventScript_20CE11 end @@ -554,4 +554,3 @@ SlateportCity_Harbor_Text_20D94A: @ 820D94A SlateportCity_Harbor_Text_20D970: @ 820D970 .string "CAPT. STERN: Thanks, {PLAYER}{KUN}!\n" .string "This will help our research a lot!$" - diff --git a/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc b/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc index 76bc188733..b574ce4489 100644 --- a/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc +++ b/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc @@ -50,7 +50,7 @@ SlateportCity_OceanicMuseum_1F_EventScript_20ADE8:: @ 820ADE8 end SlateportCity_OceanicMuseum_1F_EventScript_20AE18:: @ 820AE18 - goto_if_unset FLAG_0x095, SlateportCity_OceanicMuseum_1F_EventScript_20AE39 + goto_if_unset FLAG_DELIVERED_DEVON_GOODS, SlateportCity_OceanicMuseum_1F_EventScript_20AE39 msgbox SlateportCity_OceanicMuseum_1F_Text_20B03D, MSGBOX_DEFAULT closemessage hidemoneybox @@ -163,7 +163,7 @@ SlateportCity_OceanicMuseum_1F_EventScript_20AEF8:: @ 820AEF8 giveitem_std ITEM_TM46 compare VAR_RESULT, 0 goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_20AFB5 - setflag FLAG_0x10D + setflag FLAG_RECEIVED_TM46 msgbox SlateportCity_OceanicMuseum_1F_Text_20B449, MSGBOX_DEFAULT closemessage compare VAR_FACING, 2 diff --git a/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc b/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc index 387ffdabff..204ffb4ebd 100644 --- a/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc +++ b/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc @@ -83,7 +83,7 @@ SlateportCity_OceanicMuseum_2F_EventScript_20BB00:: @ 820BB00 setflag FLAG_HIDE_ROUTE_110_TEAM_AQUA compare VAR_0x40DA, 0 call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_20BC8C - setflag FLAG_0x095 + setflag FLAG_DELIVERED_DEVON_GOODS clearflag FLAG_HIDE_ROUTE_116_DEVON_EMPLOYEE setflag FLAG_HIDE_RUSTBORO_CITY_DEVON_CORP_3F_EMPLOYEE setvar VAR_0x40D2, 1 diff --git a/data/maps/SlateportCity_PokemonFanClub/scripts.inc b/data/maps/SlateportCity_PokemonFanClub/scripts.inc index 35fcde5775..3faf350fc4 100644 --- a/data/maps/SlateportCity_PokemonFanClub/scripts.inc +++ b/data/maps/SlateportCity_PokemonFanClub/scripts.inc @@ -4,8 +4,8 @@ SlateportCity_PokemonFanClub_MapScripts:: @ 8209E95 SlateportCity_PokemonFanClub_EventScript_209E96:: @ 8209E96 lock faceplayer - goto_if_unset FLAG_0x155, SlateportCity_PokemonFanClub_EventScript_20A152 - call_if_unset FLAG_0x156, SlateportCity_PokemonFanClub_EventScript_20A172 + goto_if_unset FLAG_ENTERED_LINK_CONTEST, SlateportCity_PokemonFanClub_EventScript_20A152 + call_if_unset FLAG_MET_SLATEPORT_FANCLUB_CHAIRMAN, SlateportCity_PokemonFanClub_EventScript_20A172 switch VAR_0x40B7 case 0, SlateportCity_PokemonFanClub_EventScript_209ED2 case 1, SlateportCity_PokemonFanClub_EventScript_209EE5 @@ -21,11 +21,11 @@ SlateportCity_PokemonFanClub_EventScript_209ED2:: @ 8209ED2 SlateportCity_PokemonFanClub_EventScript_209EE5:: @ 8209EE5 setvar VAR_TEMP_2, 0 - call_if_set FLAG_0x0CC, SlateportCity_PokemonFanClub_EventScript_209FD0 - call_if_set FLAG_0x0CB, SlateportCity_PokemonFanClub_EventScript_209FD0 - call_if_set FLAG_0x0CA, SlateportCity_PokemonFanClub_EventScript_209FD0 - call_if_set FLAG_0x0C9, SlateportCity_PokemonFanClub_EventScript_209FD0 - call_if_set FLAG_0x0C8, SlateportCity_PokemonFanClub_EventScript_209FD0 + call_if_set FLAG_RECEIVED_YELLOW_SCARF, SlateportCity_PokemonFanClub_EventScript_209FD0 + call_if_set FLAG_RECEIVED_GREEN_SCARF, SlateportCity_PokemonFanClub_EventScript_209FD0 + call_if_set FLAG_RECEIVED_PINK_SCARF, SlateportCity_PokemonFanClub_EventScript_209FD0 + call_if_set FLAG_RECEIVED_BLUE_SCARF, SlateportCity_PokemonFanClub_EventScript_209FD0 + call_if_set FLAG_RECEIVED_RED_SCARF, SlateportCity_PokemonFanClub_EventScript_209FD0 compare VAR_TEMP_2, 5 call_if_eq SlateportCity_PokemonFanClub_EventScript_209FCA compare VAR_0x40B7, 2 @@ -42,11 +42,11 @@ SlateportCity_PokemonFanClub_EventScript_209F3B:: @ 8209F3B SlateportCity_PokemonFanClub_EventScript_209F45:: @ 8209F45 msgbox SlateportCity_PokemonFanClub_Text_20A65F, MSGBOX_DEFAULT setvar VAR_TEMP_1, 0 - call_if_unset FLAG_0x0CC, SlateportCity_PokemonFanClub_EventScript_20A13B - call_if_unset FLAG_0x0CB, SlateportCity_PokemonFanClub_EventScript_20A124 - call_if_unset FLAG_0x0CA, SlateportCity_PokemonFanClub_EventScript_20A10D - call_if_unset FLAG_0x0C9, SlateportCity_PokemonFanClub_EventScript_20A0F6 - call_if_unset FLAG_0x0C8, SlateportCity_PokemonFanClub_EventScript_20A0DF + call_if_unset FLAG_RECEIVED_YELLOW_SCARF, SlateportCity_PokemonFanClub_EventScript_20A13B + call_if_unset FLAG_RECEIVED_GREEN_SCARF, SlateportCity_PokemonFanClub_EventScript_20A124 + call_if_unset FLAG_RECEIVED_PINK_SCARF, SlateportCity_PokemonFanClub_EventScript_20A10D + call_if_unset FLAG_RECEIVED_BLUE_SCARF, SlateportCity_PokemonFanClub_EventScript_20A0F6 + call_if_unset FLAG_RECEIVED_RED_SCARF, SlateportCity_PokemonFanClub_EventScript_20A0DF bufferleadmonspeciesname 0 switch VAR_TEMP_1 case 0, SlateportCity_PokemonFanClub_EventScript_209FD6 @@ -76,7 +76,7 @@ SlateportCity_PokemonFanClub_EventScript_209FE0:: @ 8209FE0 compare VAR_RESULT, 0 goto_if_eq SlateportCity_PokemonFanClub_EventScript_20A0D5 msgbox SlateportCity_PokemonFanClub_Text_20A795, MSGBOX_DEFAULT - setflag FLAG_0x0C8 + setflag FLAG_RECEIVED_RED_SCARF giveitem_std ITEM_RED_SCARF msgbox SlateportCity_PokemonFanClub_Text_20A827, MSGBOX_DEFAULT release @@ -87,7 +87,7 @@ SlateportCity_PokemonFanClub_EventScript_20A011:: @ 820A011 compare VAR_RESULT, 0 goto_if_eq SlateportCity_PokemonFanClub_EventScript_20A0D5 msgbox SlateportCity_PokemonFanClub_Text_20A795, MSGBOX_DEFAULT - setflag FLAG_0x0C9 + setflag FLAG_RECEIVED_BLUE_SCARF giveitem_std ITEM_BLUE_SCARF msgbox SlateportCity_PokemonFanClub_Text_20A880, MSGBOX_DEFAULT release @@ -98,7 +98,7 @@ SlateportCity_PokemonFanClub_EventScript_20A042:: @ 820A042 compare VAR_RESULT, 0 goto_if_eq SlateportCity_PokemonFanClub_EventScript_20A0D5 msgbox SlateportCity_PokemonFanClub_Text_20A795, MSGBOX_DEFAULT - setflag FLAG_0x0CA + setflag FLAG_RECEIVED_PINK_SCARF giveitem_std ITEM_PINK_SCARF msgbox SlateportCity_PokemonFanClub_Text_20A8D7, MSGBOX_DEFAULT release @@ -109,7 +109,7 @@ SlateportCity_PokemonFanClub_EventScript_20A073:: @ 820A073 compare VAR_RESULT, 0 goto_if_eq SlateportCity_PokemonFanClub_EventScript_20A0D5 msgbox SlateportCity_PokemonFanClub_Text_20A795, MSGBOX_DEFAULT - setflag FLAG_0x0CB + setflag FLAG_RECEIVED_GREEN_SCARF giveitem_std ITEM_GREEN_SCARF msgbox SlateportCity_PokemonFanClub_Text_20A933, MSGBOX_DEFAULT release @@ -120,7 +120,7 @@ SlateportCity_PokemonFanClub_EventScript_20A0A4:: @ 820A0A4 compare VAR_RESULT, 0 goto_if_eq SlateportCity_PokemonFanClub_EventScript_20A0D5 msgbox SlateportCity_PokemonFanClub_Text_20A795, MSGBOX_DEFAULT - setflag FLAG_0x0CC + setflag FLAG_RECEIVED_YELLOW_SCARF giveitem_std ITEM_YELLOW_SCARF msgbox SlateportCity_PokemonFanClub_Text_20A984, MSGBOX_DEFAULT release @@ -182,9 +182,9 @@ SlateportCity_PokemonFanClub_EventScript_20A14C:: @ 820A14C return SlateportCity_PokemonFanClub_EventScript_20A152:: @ 820A152 - goto_if_set FLAG_0x156, SlateportCity_PokemonFanClub_EventScript_20A168 + goto_if_set FLAG_MET_SLATEPORT_FANCLUB_CHAIRMAN, SlateportCity_PokemonFanClub_EventScript_20A168 msgbox SlateportCity_PokemonFanClub_Text_20A233, MSGBOX_DEFAULT - setflag FLAG_0x156 + setflag FLAG_MET_SLATEPORT_FANCLUB_CHAIRMAN release end @@ -195,13 +195,13 @@ SlateportCity_PokemonFanClub_EventScript_20A168:: @ 820A168 SlateportCity_PokemonFanClub_EventScript_20A172:: @ 820A172 msgbox SlateportCity_PokemonFanClub_Text_20A233, MSGBOX_DEFAULT - setflag FLAG_0x156 + setflag FLAG_MET_SLATEPORT_FANCLUB_CHAIRMAN return SlateportCity_PokemonFanClub_EventScript_20A17E:: @ 820A17E lock faceplayer - goto_if_set FLAG_0x116, SlateportCity_PokemonFanClub_EventScript_20A1DE + goto_if_set FLAG_RECEIVED_SOOTHE_BELL, SlateportCity_PokemonFanClub_EventScript_20A1DE msgbox SlateportCity_PokemonFanClub_Text_20AA77, MSGBOX_DEFAULT specialvar VAR_RESULT, GetLeadMonFriendshipScore compare VAR_RESULT, 4 @@ -219,7 +219,7 @@ SlateportCity_PokemonFanClub_EventScript_20A1A3:: @ 820A1A3 giveitem_std ITEM_SOOTHE_BELL compare VAR_RESULT, 0 goto_if_eq SlateportCity_PokemonFanClub_EventScript_272054 - setflag FLAG_0x116 + setflag FLAG_RECEIVED_SOOTHE_BELL release end diff --git a/data/maps/SlateportCity_SternsShipyard_1F/scripts.inc b/data/maps/SlateportCity_SternsShipyard_1F/scripts.inc index da264c2ee9..adf1bd3a26 100644 --- a/data/maps/SlateportCity_SternsShipyard_1F/scripts.inc +++ b/data/maps/SlateportCity_SternsShipyard_1F/scripts.inc @@ -5,8 +5,8 @@ SlateportCity_SternsShipyard_1F_EventScript_207F40:: @ 8207F40 lockall goto_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_SternsShipyard_1F_EventScript_207F92 goto_if_set FLAG_BADGE07_GET, SlateportCity_SternsShipyard_1F_EventScript_207FA6 - goto_if_set FLAG_0x095, SlateportCity_SternsShipyard_1F_EventScript_207FD9 - goto_if_set FLAG_0x094, SlateportCity_SternsShipyard_1F_EventScript_207FBA + goto_if_set FLAG_DELIVERED_DEVON_GOODS, SlateportCity_SternsShipyard_1F_EventScript_207FD9 + goto_if_set FLAG_DOCK_REJECTED_DEVON_GOODS, SlateportCity_SternsShipyard_1F_EventScript_207FBA msgbox SlateportCity_SternsShipyard_1F_Text_208008, MSGBOX_DEFAULT applymovement 1, SlateportCity_SternsShipyard_1F_Movement_27259E waitmovement 0 @@ -14,7 +14,7 @@ SlateportCity_SternsShipyard_1F_EventScript_207F40:: @ 8207F40 closemessage applymovement 1, SlateportCity_SternsShipyard_1F_Movement_2725A2 waitmovement 0 - setflag FLAG_0x094 + setflag FLAG_DOCK_REJECTED_DEVON_GOODS setflag FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA releaseall end diff --git a/data/maps/SootopolisCity/scripts.inc b/data/maps/SootopolisCity/scripts.inc index ceff8f4e49..da5caab3f2 100644 --- a/data/maps/SootopolisCity/scripts.inc +++ b/data/maps/SootopolisCity/scripts.inc @@ -7,9 +7,9 @@ SootopolisCity_MapScripts:: @ 81E565C .byte 0 SootopolisCity_MapScript1_1E5676: @ 81E5676 - call_if_unset FLAG_0x09E, SootopolisCity_EventScript_1E56E5 - goto_if_unset FLAG_0x081, SootopolisCity_EventScript_1E5692 - call_if_unset FLAG_0x09E, SootopolisCity_EventScript_1E5693 + call_if_unset FLAG_SOOTOPOLIS_ARCHIE_MAXIE_LEAVE, SootopolisCity_EventScript_1E56E5 + goto_if_unset FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, SootopolisCity_EventScript_1E5692 + call_if_unset FLAG_SOOTOPOLIS_ARCHIE_MAXIE_LEAVE, SootopolisCity_EventScript_1E5693 end SootopolisCity_EventScript_1E5692:: @ 81E5692 @@ -121,7 +121,7 @@ SootopolisCity_EventScript_1E583E:: @ 81E583E return SootopolisCity_EventScript_1E5842:: @ 81E5842 - goto_if_set FLAG_0x133, SootopolisCity_EventScript_1E584C + goto_if_set FLAG_STEVEN_GUIDES_TO_CAVE_OF_ORIGIN, SootopolisCity_EventScript_1E584C return SootopolisCity_EventScript_1E584C:: @ 81E584C @@ -744,7 +744,7 @@ SootopolisCity_EventScript_1E5F10:: @ 81E5F10 SootopolisCity_EventScript_1E5F1B:: @ 81E5F1B dodailyevents special GetPlayerBigGuyGirlString - goto_if_set FLAG_0x932, SootopolisCity_EventScript_1E5FBB + goto_if_set FLAG_DAILY_SOOTOPOLIS_RECEIVED_BERRY, SootopolisCity_EventScript_1E5FBB msgbox SootopolisCity_Text_2A7BB0, MSGBOX_DEFAULT random 10 addvar VAR_RESULT, 20 @@ -752,7 +752,7 @@ SootopolisCity_EventScript_1E5F1B:: @ 81E5F1B giveitem_std VAR_RESULT compare VAR_RESULT, 0 goto_if_eq SootopolisCity_EventScript_272054 - setflag FLAG_0x932 + setflag FLAG_DAILY_SOOTOPOLIS_RECEIVED_BERRY msgbox SootopolisCity_Text_2A7C7C, MSGBOX_DEFAULT random 2 compare VAR_RESULT, 0 @@ -929,14 +929,14 @@ SootopolisCity_EventScript_1E6166:: @ 81E6166 lockall applymovement 7, SootopolisCity_Movement_27259E waitmovement 0 - call_if_unset FLAG_0x133, SootopolisCity_EventScript_1E61CC + call_if_unset FLAG_STEVEN_GUIDES_TO_CAVE_OF_ORIGIN, SootopolisCity_EventScript_1E61CC compare VAR_0x405E, 2 goto_if_eq SootopolisCity_EventScript_1E61AE compare VAR_0x405E, 3 goto_if_eq SootopolisCity_EventScript_1E61C2 compare VAR_0x405E, 4 goto_if_eq SootopolisCity_EventScript_1E61C2 - goto_if_set FLAG_0x09E, SootopolisCity_EventScript_1E61B8 + goto_if_set FLAG_SOOTOPOLIS_ARCHIE_MAXIE_LEAVE, SootopolisCity_EventScript_1E61B8 msgbox SootopolisCity_Text_1E78E5, MSGBOX_DEFAULT releaseall end @@ -976,7 +976,7 @@ SootopolisCity_EventScript_1E61CC:: @ 81E61CC waitmovement 0 msgbox SootopolisCity_Text_1E77F0, MSGBOX_DEFAULT closemessage - setflag FLAG_0x133 + setflag FLAG_STEVEN_GUIDES_TO_CAVE_OF_ORIGIN applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_1E635A waitmovement 0 warp MAP_CAVE_OF_ORIGIN_ENTRANCE, 255, 9, 20 @@ -1342,8 +1342,8 @@ SootopolisCity_EventScript_1E6446:: @ 81E6446 faceplayer compare VAR_0x405E, 4 goto_if_eq SootopolisCity_EventScript_1E64D8 - goto_if_set FLAG_0x138, SootopolisCity_EventScript_1E64E2 - goto_if_set FLAG_0x09E, SootopolisCity_EventScript_1E646F + goto_if_set FLAG_RECEIVED_HM07, SootopolisCity_EventScript_1E64E2 + goto_if_set FLAG_SOOTOPOLIS_ARCHIE_MAXIE_LEAVE, SootopolisCity_EventScript_1E646F msgbox SootopolisCity_Text_1E7A3E, MSGBOX_DEFAULT release end @@ -1351,7 +1351,7 @@ SootopolisCity_EventScript_1E6446:: @ 81E6446 SootopolisCity_EventScript_1E646F:: @ 81E646F msgbox SootopolisCity_Text_1E7ACF, MSGBOX_DEFAULT giveitem_std ITEM_HM07 - setflag FLAG_0x138 + setflag FLAG_RECEIVED_HM07 msgbox SootopolisCity_Text_1E7B86, MSGBOX_DEFAULT closemessage compare VAR_FACING, 2 @@ -1408,8 +1408,8 @@ SootopolisCity_EventScript_1E64F2:: @ 81E64F2 SootopolisCity_EventScript_1E6509:: @ 81E6509 msgbox SootopolisCity_Text_1E737E, MSGBOX_DEFAULT - setflag FLAG_0x135 - goto_if_set FLAG_0x134, SootopolisCity_EventScript_1E654C + setflag FLAG_MET_MAXIE_SOOTOPOLIS + goto_if_set FLAG_MET_ARCHIE_SOOTOPOLIS, SootopolisCity_EventScript_1E654C releaseall end @@ -1424,15 +1424,15 @@ SootopolisCity_EventScript_1E651F:: @ 81E651F SootopolisCity_EventScript_1E6536:: @ 81E6536 msgbox SootopolisCity_Text_1E74F6, MSGBOX_DEFAULT - setflag FLAG_0x134 - goto_if_set FLAG_0x135, SootopolisCity_EventScript_1E654C + setflag FLAG_MET_ARCHIE_SOOTOPOLIS + goto_if_set FLAG_MET_MAXIE_SOOTOPOLIS, SootopolisCity_EventScript_1E654C releaseall end SootopolisCity_EventScript_1E654C:: @ 81E654C setflag FLAG_HIDE_SOOTOPOLIS_CITY_MAXIE setflag FLAG_HIDE_SOOTOPOLIS_CITY_ARCHIE - setflag FLAG_0x09E + setflag FLAG_SOOTOPOLIS_ARCHIE_MAXIE_LEAVE clearflag FLAG_HIDE_MT_PYRE_SUMMIT_MAXIE clearflag FLAG_HIDE_MT_PYRE_SUMMIT_ARCHIE setvar VAR_0x40B9, 2 diff --git a/data/maps/SootopolisCity_Gym_1F/scripts.inc b/data/maps/SootopolisCity_Gym_1F/scripts.inc index e4f062fe3e..22cd864cfc 100644 --- a/data/maps/SootopolisCity_Gym_1F/scripts.inc +++ b/data/maps/SootopolisCity_Gym_1F/scripts.inc @@ -90,7 +90,7 @@ SootopolisCity_Gym_1F_EventScript_224F44:: @ 8224F44 specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 goto_if_eq SootopolisCity_Gym_1F_EventScript_225025 - goto_if_unset FLAG_0x0AC, SootopolisCity_Gym_1F_EventScript_224FF7 + goto_if_unset FLAG_RECEIVED_TM03, SootopolisCity_Gym_1F_EventScript_224FF7 goto_if_unset FLAG_BADGE06_GET, SootopolisCity_Gym_1F_EventScript_22501B msgbox SootopolisCity_Gym_1F_Text_225778, MSGBOX_DEFAULT release @@ -101,7 +101,7 @@ SootopolisCity_Gym_1F_EventScript_224F82:: @ 8224F82 waitmessage call SootopolisCity_Gym_1F_EventScript_27207E msgbox SootopolisCity_Gym_1F_Text_2255BE, MSGBOX_DEFAULT - setflag FLAG_0x4F7 + setflag FLAG_DEFEATED_SOOTOPOLIS_GYM setflag FLAG_BADGE08_GET setflag FLAG_HIDE_SOOTOPOLIS_CITY_RESIDENTS setflag FLAG_HIDE_SOOTOPOLIS_CITY_STEVEN @@ -118,7 +118,7 @@ SootopolisCity_Gym_1F_EventScript_224F82:: @ 8224F82 waitfanfare closemessage delay 30 - setflag FLAG_0x1D9 + setflag FLAG_ENABLE_JUAN_MATCH_CALL release end @@ -127,7 +127,7 @@ SootopolisCity_Gym_1F_EventScript_224FD4:: @ 8224FD4 compare VAR_RESULT, 0 goto_if_eq SootopolisCity_Gym_1F_EventScript_27205E msgbox SootopolisCity_Gym_1F_Text_2256C1, MSGBOX_DEFAULT - setflag FLAG_0x0AC + setflag FLAG_RECEIVED_TM03 return SootopolisCity_Gym_1F_EventScript_224FF7:: @ 8224FF7 @@ -135,7 +135,7 @@ SootopolisCity_Gym_1F_EventScript_224FF7:: @ 8224FF7 compare VAR_RESULT, 0 goto_if_eq SootopolisCity_Gym_1F_EventScript_272054 msgbox SootopolisCity_Gym_1F_Text_2256C1, MSGBOX_DEFAULT - setflag FLAG_0x0AC + setflag FLAG_RECEIVED_TM03 release end @@ -152,7 +152,7 @@ SootopolisCity_Gym_1F_EventScript_225025:: @ 8225025 SootopolisCity_Gym_1F_EventScript_225040:: @ 8225040 lock faceplayer - goto_if_set FLAG_0x4F7, SootopolisCity_Gym_1F_EventScript_225055 + goto_if_set FLAG_DEFEATED_SOOTOPOLIS_GYM, SootopolisCity_Gym_1F_EventScript_225055 msgbox SootopolisCity_Gym_1F_Text_225093, MSGBOX_DEFAULT release end diff --git a/data/maps/SootopolisCity_House1/scripts.inc b/data/maps/SootopolisCity_House1/scripts.inc index 5b59c30338..9dcc1031d2 100644 --- a/data/maps/SootopolisCity_House1/scripts.inc +++ b/data/maps/SootopolisCity_House1/scripts.inc @@ -4,12 +4,12 @@ SootopolisCity_House1_MapScripts:: @ 822694C SootopolisCity_House1_EventScript_22694D:: @ 822694D lock faceplayer - goto_if_set FLAG_0x079, SootopolisCity_House1_EventScript_226984 + goto_if_set FLAG_RECEIVED_TM31, SootopolisCity_House1_EventScript_226984 msgbox SootopolisCity_House1_Text_2269A1, MSGBOX_DEFAULT giveitem_std ITEM_TM31 compare VAR_RESULT, 0 goto_if_eq SootopolisCity_House1_EventScript_272054 - setflag FLAG_0x079 + setflag FLAG_RECEIVED_TM31 msgbox SootopolisCity_House1_Text_226A13, MSGBOX_DEFAULT release end diff --git a/data/maps/SootopolisCity_House6/scripts.inc b/data/maps/SootopolisCity_House6/scripts.inc index 499c018936..efa197c8de 100644 --- a/data/maps/SootopolisCity_House6/scripts.inc +++ b/data/maps/SootopolisCity_House6/scripts.inc @@ -4,7 +4,7 @@ SootopolisCity_House6_MapScripts:: @ 8226F5B SootopolisCity_House6_EventScript_226F5C:: @ 8226F5C lock faceplayer - goto_if_set FLAG_0x0F5, SootopolisCity_House6_EventScript_226FA3 + goto_if_set FLAG_RECEIVED_WAILMER_DOLL, SootopolisCity_House6_EventScript_226FA3 msgbox SootopolisCity_House6_Text_226FC3, MSGBOX_YESNO compare VAR_RESULT, 0 call_if_eq SootopolisCity_House6_EventScript_226F99 @@ -12,7 +12,7 @@ SootopolisCity_House6_EventScript_226F5C:: @ 8226F5C givedecoration_std 117 compare VAR_RESULT, 0 goto_if_eq SootopolisCity_House6_EventScript_226FAD - setflag FLAG_0x0F5 + setflag FLAG_RECEIVED_WAILMER_DOLL release end diff --git a/data/maps/SootopolisCity_Mart/scripts.inc b/data/maps/SootopolisCity_Mart/scripts.inc index 94f0a8e9fe..4a152bcf06 100644 --- a/data/maps/SootopolisCity_Mart/scripts.inc +++ b/data/maps/SootopolisCity_Mart/scripts.inc @@ -30,7 +30,7 @@ SootopolisCity_Mart_EventScript_2267C2:: @ 82267C2 faceplayer compare VAR_0x40CA, 2 goto_if_ge SootopolisCity_Mart_EventScript_2267E2 - goto_if_unset FLAG_0x081, SootopolisCity_Mart_EventScript_2267E2 + goto_if_unset FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, SootopolisCity_Mart_EventScript_2267E2 msgbox SootopolisCity_Mart_Text_22685D, MSGBOX_DEFAULT release end @@ -45,7 +45,7 @@ SootopolisCity_Mart_EventScript_2267EC:: @ 82267EC faceplayer compare VAR_0x40CA, 2 goto_if_ge SootopolisCity_Mart_EventScript_22680C - goto_if_unset FLAG_0x081, SootopolisCity_Mart_EventScript_22680C + goto_if_unset FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, SootopolisCity_Mart_EventScript_22680C msgbox SootopolisCity_Mart_Text_226928, MSGBOX_DEFAULT release end diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_B1F/events.inc b/data/maps/SootopolisCity_MysteryEventsHouse_B1F/events.inc index 39b3366c5d..5cdbf05590 100644 --- a/data/maps/SootopolisCity_MysteryEventsHouse_B1F/events.inc +++ b/data/maps/SootopolisCity_MysteryEventsHouse_B1F/events.inc @@ -1,5 +1,5 @@ SootopolisCity_MysteryEventsHouse_B1F_EventObjects: @ 85335DC - object_event 1, EVENT_OBJ_GFX_HIPSTER, 0, 6, 5, 0, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, 0x0, 0 + object_event 1, EVENT_OBJ_GFX_VAR_0, 0, 6, 5, 0, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, 0x0, 0 SootopolisCity_MysteryEventsHouse_B1F_MapWarps: @ 85335F4 warp_def 3, 1, 0, 2, MAP_SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_1F diff --git a/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc b/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc index 448d66981f..2e7e804ce4 100644 --- a/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc @@ -20,7 +20,7 @@ SootopolisCity_PokemonCenter_1F_EventScript_22650E:: @ 822650E faceplayer compare VAR_0x40CA, 2 goto_if_ge SootopolisCity_PokemonCenter_1F_EventScript_22652E - goto_if_unset FLAG_0x081, SootopolisCity_PokemonCenter_1F_EventScript_22652E + goto_if_unset FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, SootopolisCity_PokemonCenter_1F_EventScript_22652E msgbox SootopolisCity_PokemonCenter_1F_Text_22664B, MSGBOX_DEFAULT release end @@ -35,7 +35,7 @@ SootopolisCity_PokemonCenter_1F_EventScript_226538:: @ 8226538 faceplayer compare VAR_0x40CA, 2 goto_if_ge SootopolisCity_PokemonCenter_1F_EventScript_226558 - goto_if_unset FLAG_0x081, SootopolisCity_PokemonCenter_1F_EventScript_226558 + goto_if_unset FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, SootopolisCity_PokemonCenter_1F_EventScript_226558 msgbox SootopolisCity_PokemonCenter_1F_Text_22672F, MSGBOX_DEFAULT release end diff --git a/data/maps/SouthernIsland_Interior/events.inc b/data/maps/SouthernIsland_Interior/events.inc index cc8256e8c0..000386c337 100644 --- a/data/maps/SouthernIsland_Interior/events.inc +++ b/data/maps/SouthernIsland_Interior/events.inc @@ -1,6 +1,6 @@ SouthernIsland_Interior_EventObjects: @ 853B89C - object_event 1, EVENT_OBJ_GFX_HIPSTER, 0, 13, 12, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_SOUTHERN_ISLAND_EON_STONE - object_event 2, EVENT_OBJ_GFX_TRADER, 0, 13, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_SOUTHERN_ISLAND_UNCHOSEN_EON_DUO_MON + object_event 1, EVENT_OBJ_GFX_VAR_0, 0, 13, 12, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_SOUTHERN_ISLAND_EON_STONE + object_event 2, EVENT_OBJ_GFX_VAR_1, 0, 13, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_SOUTHERN_ISLAND_UNCHOSEN_EON_DUO_MON SouthernIsland_Interior_MapWarps: @ 853B8CC warp_def 13, 18, 3, 0, MAP_SOUTHERN_ISLAND_EXTERIOR diff --git a/data/maps/SouthernIsland_Interior/scripts.inc b/data/maps/SouthernIsland_Interior/scripts.inc index 31675c9054..4f8dba7e58 100644 --- a/data/maps/SouthernIsland_Interior/scripts.inc +++ b/data/maps/SouthernIsland_Interior/scripts.inc @@ -56,10 +56,10 @@ SouthernIsland_Interior_EventScript_242AC4:: @ 8242AC4 SouthernIsland_Interior_EventScript_242AD0:: @ 8242AD0 goto_if_set FLAG_TEMP_2, SouthernIsland_Interior_EventScript_242B9A - goto_if_set FLAG_0x1C8, SouthernIsland_Interior_EventScript_242B9A - goto_if_set FLAG_0x1C9, SouthernIsland_Interior_EventScript_242B9A + goto_if_set FLAG_DEFEATED_LATIAS_OR_LATIOS, SouthernIsland_Interior_EventScript_242B9A + goto_if_set FLAG_CAUGHT_LATIAS_OR_LATIOS, SouthernIsland_Interior_EventScript_242B9A goto_if_unset FLAG_SYS_HAS_EON_TICKET, SouthernIsland_Interior_EventScript_242B9A - setflag FLAG_0x0CE + setflag FLAG_ENCOUNTERED_LATIAS_OR_LATIOS setflag FLAG_TEMP_2 special SpawnCameraObject applymovement EVENT_OBJ_ID_CAMERA, SouthernIsland_Interior_Movement_242BCA @@ -92,12 +92,12 @@ SouthernIsland_Interior_EventScript_242AD0:: @ 8242AD0 goto_if_eq SouthernIsland_Interior_EventScript_242B8F compare VAR_RESULT, 5 goto_if_eq SouthernIsland_Interior_EventScript_242B8F - setflag FLAG_0x1C9 + setflag FLAG_CAUGHT_LATIAS_OR_LATIOS releaseall end SouthernIsland_Interior_EventScript_242B81:: @ 8242B81 - setflag FLAG_0x1C8 + setflag FLAG_DEFEATED_LATIAS_OR_LATIOS copyvar VAR_0x8004, VAR_TEMP_4 goto SouthernIsland_Interior_EventScript_273776 end @@ -159,4 +159,3 @@ SouthernIsland_Interior_Movement_242BDA: @ 8242BDA walk_down walk_down step_end - diff --git a/data/maps/TerraCave_End/scripts.inc b/data/maps/TerraCave_End/scripts.inc index bd057eac6a..a3164136dd 100644 --- a/data/maps/TerraCave_End/scripts.inc +++ b/data/maps/TerraCave_End/scripts.inc @@ -15,7 +15,7 @@ TerraCave_End_EventScript_23B0C5:: @ 823B0C5 return TerraCave_End_MapScript1_23B0D9: @ 823B0D9 - call_if_unset FLAG_0x1BF, TerraCave_End_EventScript_23B0E3 + call_if_unset FLAG_DEFEATED_GROUDON, TerraCave_End_EventScript_23B0E3 end TerraCave_End_EventScript_23B0E3:: @ 823B0E3 @@ -48,13 +48,13 @@ TerraCave_End_EventScript_23B0EC:: @ 823B0EC compare VAR_RESULT, 5 goto_if_eq TerraCave_End_EventScript_23B163 setvar VAR_0x4039, 1 - setflag FLAG_0x1BF + setflag FLAG_DEFEATED_GROUDON releaseall end TerraCave_End_EventScript_23B155:: @ 823B155 setvar VAR_0x4039, 1 - setflag FLAG_0x1BF + setflag FLAG_DEFEATED_GROUDON goto TerraCave_End_EventScript_27376D end diff --git a/data/maps/TerraCave_Entrance/scripts.inc b/data/maps/TerraCave_Entrance/scripts.inc index 1762265eab..b9a17701bd 100644 --- a/data/maps/TerraCave_Entrance/scripts.inc +++ b/data/maps/TerraCave_Entrance/scripts.inc @@ -3,6 +3,6 @@ TerraCave_Entrance_MapScripts:: @ 823B0A6 .byte 0 TerraCave_Entrance_MapScript1_23B0AC: @ 823B0AC - setflag FLAG_0x8DA + setflag FLAG_ARRIVED_AT_TERRA_CAVE_ENTRANCE end diff --git a/data/maps/Underwater_MarineCave/scripts.inc b/data/maps/Underwater_MarineCave/scripts.inc index ac96e3a9b2..d6a3aa0db2 100644 --- a/data/maps/Underwater_MarineCave/scripts.inc +++ b/data/maps/Underwater_MarineCave/scripts.inc @@ -4,7 +4,7 @@ Underwater_MarineCave_MapScripts:: @ 823AFB8 .byte 0 Underwater_MarineCave_MapScript1_23AFC3: @ 823AFC3 - setflag FLAG_0x8D9 + setflag FLAG_ARRIVED_AT_MARINE_CAVE_EMERGE_SPOT end Underwater_MarineCave_MapScript1_23AFC7: @ 823AFC7 diff --git a/data/maps/Underwater_SeafloorCavern/scripts.inc b/data/maps/Underwater_SeafloorCavern/scripts.inc index 4d58655112..efd2e94386 100644 --- a/data/maps/Underwater_SeafloorCavern/scripts.inc +++ b/data/maps/Underwater_SeafloorCavern/scripts.inc @@ -6,7 +6,7 @@ Underwater_SeafloorCavern_MapScripts:: @ 823433B Underwater_SeafloorCavern_MapScript1_23434B: @ 823434B setflag FLAG_LANDMARK_SEAFLOOR_CAVERN - goto_if_set FLAG_0x081, Underwater_SeafloorCavern_EventScript_234358 + goto_if_set FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, Underwater_SeafloorCavern_EventScript_234358 end Underwater_SeafloorCavern_EventScript_234358:: @ 8234358 @@ -14,7 +14,7 @@ Underwater_SeafloorCavern_EventScript_234358:: @ 8234358 end Underwater_SeafloorCavern_MapScript1_23435C: @ 823435C - call_if_set FLAG_0x081, Underwater_SeafloorCavern_EventScript_234366 + call_if_set FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, Underwater_SeafloorCavern_EventScript_234366 end Underwater_SeafloorCavern_EventScript_234366:: @ 8234366 diff --git a/data/maps/UnionRoom/events.inc b/data/maps/UnionRoom/events.inc index 0cebf15025..3ab6144685 100644 --- a/data/maps/UnionRoom/events.inc +++ b/data/maps/UnionRoom/events.inc @@ -1,13 +1,13 @@ UnionRoom_EventObjects: @ 853B020 object_event 1, EVENT_OBJ_GFX_UNION_ROOM_NURSE, 0, 3, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, UnionRoom_EventScript_23D236, 0 - object_event 2, EVENT_OBJ_GFX_GIDDY, 0, 1, 8, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D204, FLAG_HIDE_UNION_ROOM_PLAYER_4 - object_event 3, 247, 0, 7, 8, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D22C, FLAG_HIDE_UNION_ROOM_PLAYER_8 - object_event 4, 246, 0, 1, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D222, FLAG_HIDE_UNION_ROOM_PLAYER_7 - object_event 5, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 7, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D218, FLAG_HIDE_UNION_ROOM_PLAYER_6 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 13, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D20E, FLAG_HIDE_UNION_ROOM_PLAYER_5 - object_event 7, EVENT_OBJ_GFX_STORYTELLER, 0, 10, 6, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D1FA, FLAG_HIDE_UNION_ROOM_PLAYER_3 - object_event 8, EVENT_OBJ_GFX_TRADER, 0, 13, 8, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D1F0, FLAG_HIDE_UNION_ROOM_PLAYER_2 - object_event 9, EVENT_OBJ_GFX_HIPSTER, 0, 4, 6, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D1E6, FLAG_HIDE_UNION_ROOM_PLAYER_1 + object_event 2, EVENT_OBJ_GFX_VAR_3, 0, 1, 8, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D204, FLAG_HIDE_UNION_ROOM_PLAYER_4 + object_event 3, EVENT_OBJ_GFX_VAR_7, 0, 7, 8, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D22C, FLAG_HIDE_UNION_ROOM_PLAYER_8 + object_event 4, EVENT_OBJ_GFX_VAR_6, 0, 1, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D222, FLAG_HIDE_UNION_ROOM_PLAYER_7 + object_event 5, EVENT_OBJ_GFX_VAR_5, 0, 7, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D218, FLAG_HIDE_UNION_ROOM_PLAYER_6 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 13, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D20E, FLAG_HIDE_UNION_ROOM_PLAYER_5 + object_event 7, EVENT_OBJ_GFX_VAR_2, 0, 10, 6, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D1FA, FLAG_HIDE_UNION_ROOM_PLAYER_3 + object_event 8, EVENT_OBJ_GFX_VAR_1, 0, 13, 8, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D1F0, FLAG_HIDE_UNION_ROOM_PLAYER_2 + object_event 9, EVENT_OBJ_GFX_VAR_0, 0, 4, 6, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D1E6, FLAG_HIDE_UNION_ROOM_PLAYER_1 UnionRoom_MapWarps: @ 853B0F8 warp_def 7, 11, 3, 127, MAP_NONE diff --git a/data/maps/VerdanturfTown_BattleTentBattleRoom/events.inc b/data/maps/VerdanturfTown_BattleTentBattleRoom/events.inc index 8992f7fc51..ee91fff2ca 100644 --- a/data/maps/VerdanturfTown_BattleTentBattleRoom/events.inc +++ b/data/maps/VerdanturfTown_BattleTentBattleRoom/events.inc @@ -1,6 +1,6 @@ VerdanturfTown_BattleTentBattleRoom_EventObjects: @ 852E734 - object_event 1, EVENT_OBJ_GFX_TRADER, 0, 2, 8, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 11, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 + object_event 1, EVENT_OBJ_GFX_VAR_1, 0, 2, 8, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 11, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 object_event 3, EVENT_OBJ_GFX_EXPERT_M, 0, 2, 4, 0, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, 0x0, 0 VerdanturfTown_BattleTentBattleRoom_MapEvents:: @ 852E77C diff --git a/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc b/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc index d526c769a9..df56f41ed5 100644 --- a/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc +++ b/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc @@ -277,12 +277,12 @@ VerdanturfTown_BattleTentLobby_Movement_201A77: @ 8201A77 VerdanturfTown_BattleTentLobby_EventScript_201A7B:: @ 8201A7B lock faceplayer - goto_if_set FLAG_0x0EB, VerdanturfTown_BattleTentLobby_EventScript_201AB2 + goto_if_set FLAG_RECEIVED_TM45, VerdanturfTown_BattleTentLobby_EventScript_201AB2 msgbox VerdanturfTown_BattleTentLobby_Text_201D9E, MSGBOX_DEFAULT giveitem_std ITEM_TM45 compare VAR_RESULT, 0 goto_if_eq VerdanturfTown_BattleTentLobby_EventScript_272054 - setflag FLAG_0x0EB + setflag FLAG_RECEIVED_TM45 msgbox VerdanturfTown_BattleTentLobby_Text_201E43, MSGBOX_DEFAULT release end @@ -305,10 +305,10 @@ VerdanturfTown_BattleTentLobby_EventScript_201AC5:: @ 8201AC5 VerdanturfTown_BattleTentLobby_EventScript_201AD0:: @ 8201AD0 lock faceplayer - goto_if_set FLAG_0x1CC, VerdanturfTown_BattleTentLobby_EventScript_201AED + goto_if_set FLAG_MET_SCOTT_IN_VERDANTURF, VerdanturfTown_BattleTentLobby_EventScript_201AED msgbox VerdanturfTown_BattleTentLobby_Text_201F3F, MSGBOX_DEFAULT addvar VAR_0x40D1, 1 - setflag FLAG_0x1CC + setflag FLAG_MET_SCOTT_IN_VERDANTURF release end @@ -434,4 +434,3 @@ VerdanturfTown_BattleTentLobby_Text_202025: @ 8202025 .string "SCOTT: I visit here regularly in hopes\n" .string "of seeing tough TRAINERS in action\l" .string "in whatever the situation.$" - diff --git a/data/maps/VerdanturfTown_WandasHouse/scripts.inc b/data/maps/VerdanturfTown_WandasHouse/scripts.inc index e185cff51b..c63aa3fa10 100644 --- a/data/maps/VerdanturfTown_WandasHouse/scripts.inc +++ b/data/maps/VerdanturfTown_WandasHouse/scripts.inc @@ -4,9 +4,9 @@ VerdanturfTown_WandasHouse_MapScripts:: @ 82028BE VerdanturfTown_WandasHouse_EventScript_2028BF:: @ 82028BF lock faceplayer - goto_if_set FLAG_0x0C1, VerdanturfTown_WandasHouse_EventScript_2028D7 + goto_if_set FLAG_WALLY_SPEECH, VerdanturfTown_WandasHouse_EventScript_2028D7 msgbox VerdanturfTown_WandasHouse_Text_202993, MSGBOX_DEFAULT - setflag FLAG_0x0C1 + setflag FLAG_WALLY_SPEECH release end @@ -18,8 +18,8 @@ VerdanturfTown_WandasHouse_EventScript_2028D7:: @ 82028D7 VerdanturfTown_WandasHouse_EventScript_2028E1:: @ 82028E1 lock faceplayer - goto_if_set FLAG_0x07E, VerdanturfTown_WandasHouse_EventScript_202909 - goto_if_set FLAG_0x4F3, VerdanturfTown_WandasHouse_EventScript_2028FF + goto_if_set FLAG_DEFEATED_WALLY_VICTORY_ROAD, VerdanturfTown_WandasHouse_EventScript_202909 + goto_if_set FLAG_DEFEATED_LAVARIDGE_GYM, VerdanturfTown_WandasHouse_EventScript_2028FF msgbox VerdanturfTown_WandasHouse_Text_202B37, MSGBOX_DEFAULT release end @@ -41,8 +41,8 @@ VerdanturfTown_WandasHouse_EventScript_202913:: @ 8202913 VerdanturfTown_WandasHouse_EventScript_20291C:: @ 820291C lock faceplayer - goto_if_set FLAG_0x4F3, VerdanturfTown_WandasHouse_EventScript_202944 - goto_if_set FLAG_0x0BE, VerdanturfTown_WandasHouse_EventScript_20293A + goto_if_set FLAG_DEFEATED_LAVARIDGE_GYM, VerdanturfTown_WandasHouse_EventScript_202944 + goto_if_set FLAG_DEFEATED_WALLY_MAUVILLE, VerdanturfTown_WandasHouse_EventScript_20293A msgbox VerdanturfTown_WandasHouse_Text_202D91, MSGBOX_DEFAULT release end @@ -60,8 +60,8 @@ VerdanturfTown_WandasHouse_EventScript_202944:: @ 8202944 VerdanturfTown_WandasHouse_EventScript_20294E:: @ 820294E lock faceplayer - goto_if_set FLAG_0x07E, VerdanturfTown_WandasHouse_EventScript_202989 - goto_if_set FLAG_0x4F3, VerdanturfTown_WandasHouse_EventScript_20297F + goto_if_set FLAG_DEFEATED_WALLY_VICTORY_ROAD, VerdanturfTown_WandasHouse_EventScript_202989 + goto_if_set FLAG_DEFEATED_LAVARIDGE_GYM, VerdanturfTown_WandasHouse_EventScript_20297F goto_if_set FLAG_RUSTURF_TUNNEL_OPENED, VerdanturfTown_WandasHouse_EventScript_202975 msgbox VerdanturfTown_WandasHouse_Text_202E47, MSGBOX_DEFAULT release diff --git a/data/maps/VictoryRoad_1F/scripts.inc b/data/maps/VictoryRoad_1F/scripts.inc index edf45de9c4..20f36868ec 100644 --- a/data/maps/VictoryRoad_1F/scripts.inc +++ b/data/maps/VictoryRoad_1F/scripts.inc @@ -45,7 +45,7 @@ VictoryRoad_1F_EventScript_235DE1:: @ 8235DE1 msgbox VictoryRoad_1F_Text_236020, MSGBOX_DEFAULT clearflag FLAG_HIDE_VICTORY_ROAD_ENTRANCE_WALLY moveobjectoffscreen 4 - setflag FLAG_0x07E + setflag FLAG_DEFEATED_WALLY_VICTORY_ROAD copyvar VAR_0x40C3, VAR_0x8008 releaseall end diff --git a/data/mystery_event_msg.s b/data/mystery_event_msg.s index 0105d88155..aa904b0bf3 100644 --- a/data/mystery_event_msg.s +++ b/data/mystery_event_msg.s @@ -9,7 +9,7 @@ .include "constants/constants.inc" .section .rodata - + .align 2 MysteryEventScript_StampCard:: @ 8674CB0 @@ -100,7 +100,7 @@ SurfPichu_Slot5: @ 8674DD8 sText_MysteryGiftEgg: .string "Thank you for using the MYSTERY\nGIFT System.\pFrom the POKéMON CENTER we\nhave a gift--a POKéMON EGG!\pPlease raise it with love and\nkindness.$" - + sText_FullParty: .string "Oh, your party appears to be full.\pPlease come see me after storing\na POKéMON on a PC.$" @@ -161,7 +161,7 @@ MysteryEventScript_BattleCardInfo: @ 8675179 sText_MysteryGiftBattleCountCard: .string "Thank you for using the MYSTERY\nGIFT System.\pYour BATTLE COUNT CARD keeps\ntrack of your battle record against\lTRAINERS with the same CARD.\pLook for and battle TRAINERS who\nhave the same CARD as you.\pYou may check the overall rankings\nby reading the NEWS.\pPlease do give it a try!$" - + sText_MysteryGiftBattleCountCard_2: .string "Thank you for using the MYSTERY\nGIFT System.\pCongratulations!\pYou have won a prize for winning\nthree battles!\pWe hope you will be inspired to\nbattle some more.$" @@ -169,9 +169,9 @@ MysteryEventScript_AuroraTicket:: @ 867533C setvaddress MysteryEventScript_AuroraTicket lock faceplayer - checkflag FLAG_0x13A + checkflag FLAG_RECEIVED_AURORA_TICKET vgoto_if 1, AuroraTicket_Obtained - checkflag FLAG_0x1AD + checkflag FLAG_BATTLED_DEOXYS vgoto_if 1, AuroraTicket_Obtained checkitem ITEM_AURORA_TICKET, 1 compare_var_to_value VAR_RESULT, 1 @@ -183,8 +183,8 @@ MysteryEventScript_AuroraTicket:: @ 867533C compare_var_to_value VAR_RESULT, 0 vgoto_if 1, AuroraTicket_NoBagSpace giveitem_std ITEM_AURORA_TICKET - setflag FLAG_0x8D5 - setflag FLAG_0x13A + setflag FLAG_ENABLE_SHIP_BIRTH_ISLAND + setflag FLAG_RECEIVED_AURORA_TICKET vmessage sText_AuroraTicket2 waitmessage waitbuttonpress @@ -207,13 +207,13 @@ AuroraTicket_Obtained: @ 86753A0 sText_AuroraTicket1: .string "Thank you for using the MYSTERY\nGIFT System.\pYou must be {PLAYER}.\nThere is a ticket here for you.$" - + sText_AuroraTicket2: .string "It appears to be for use at the\nLILYCOVE CITY port.\pWhy not give it a try and see what\nit is about?$" - + sText_AuroraTicketGot: .string "Thank you for using the MYSTERY\nGIFT System.$" - + sText_AuroraTicketNoPlace: .string "Oh, I'm sorry, {PLAYER}.\nYour BAG's KEY ITEMS POCKET is full.\pPlease store something on your PC,\nthen come back for this.$" @@ -221,11 +221,11 @@ MysteryEventScript_MysticTicket:: @ 867550B setvaddress MysteryEventScript_MysticTicket lock faceplayer - checkflag FLAG_0x13B + checkflag FLAG_RECEIVED_MYSTIC_TICKET vgoto_if 1, MysticTicket_Obtained - checkflag FLAG_0x091 + checkflag FLAG_CAUGHT_LUGIA vgoto_if 1, MysticTicket_Obtained - checkflag FLAG_0x092 + checkflag FLAG_CAUGHT_HO_OH vgoto_if 1, MysticTicket_Obtained checkitem ITEM_MYSTIC_TICKET, 1 compare_var_to_value VAR_RESULT, 1 @@ -237,8 +237,8 @@ MysteryEventScript_MysticTicket:: @ 867550B compare_var_to_value VAR_RESULT, 0 vgoto_if 1, MysticTicket_NoBagSpace giveitem_std ITEM_MYSTIC_TICKET - setflag FLAG_0x8E0 - setflag FLAG_0x13B + setflag FLAG_ENABLE_SHIP_NAVEL_ROCK + setflag FLAG_RECEIVED_MYSTIC_TICKET vmessage sText_MysticTicket1 waitmessage waitbuttonpress @@ -261,13 +261,13 @@ MysticTicket_Obtained: @ 8675578 sText_MysticTicket2: .string "Thank you for using the MYSTERY\nGIFT System.\pYou must be {PLAYER}.\nThere is a ticket here for you.$" - + sText_MysticTicket1: .string "It appears to be for use at the\nLILYCOVE CITY port.\pWhy not give it a try and see what\nit is about?$" - + sText_MysticTicketGot: .string "Thank you for using the MYSTERY\nGIFT System.$" - + sText_MysticTicketNoPlace: .string "Oh, I'm sorry, {PLAYER}.\nYour BAG's KEY ITEMS POCKET is full.\pPlease store something on your PC,\nthen come back for this.$" @@ -293,9 +293,9 @@ MysteryEventScript_OldSeaMap:: @ 86757F4 setvaddress MysteryEventScript_OldSeaMap lock faceplayer - checkflag FLAG_0x13C + checkflag FLAG_RECEIVED_OLD_SEA_MAP vgoto_if 1, OldSeaMap_Obtained - checkflag FLAG_0x1CA + checkflag FLAG_CAUGHT_MEW vgoto_if 1, OldSeaMap_Obtained checkitem ITEM_OLD_SEA_MAP, 1 compare_var_to_value VAR_RESULT, 1 @@ -307,8 +307,8 @@ MysteryEventScript_OldSeaMap:: @ 86757F4 compare_var_to_value VAR_RESULT, 0 vgoto_if 1, OldSeaMap_NoBagSpace giveitem_std ITEM_OLD_SEA_MAP - setflag FLAG_0x8D6 - setflag FLAG_0x13C + setflag FLAG_ENABLE_SHIP_FARAWAY_ISLAND + setflag FLAG_RECEIVED_OLD_SEA_MAP vmessage sText_MysteryGiftOldSeaMap_1 waitmessage waitbuttonpress diff --git a/data/roulette.s b/data/roulette.s deleted file mode 100644 index 3cb412084b..0000000000 --- a/data/roulette.s +++ /dev/null @@ -1,928 +0,0 @@ - - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 1 -gUnknown_085B5BFC:: @ 85B5BFC - .incbin "graphics/roulette/85B5BFC.gbapal" - - .align 2 -gUnknown_085B5DFC:: @ 85B5DFC - .incbin "graphics/roulette/85B5DFC.bin.lz" - - .align 2 -gUnknown_085B5FA0:: @ 85B5FA0 - .incbin "graphics/roulette/wheel_map.bin.lz" - - .align 2 -gUnknown_085B6140:: @ 85B6140 - .4byte 0x000001f8, 0x00001241, 0x00002a66 - - .align 2 -gUnknown_085B614C:: @ 85B614C - window_template 0x00, 0x03, 0x0f, 0x18, 0x04, 0x0f, 0x00c5 - - .align 2 -gUnknown_085B6154:: @ 85B6154 - .byte 0xFF, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x0C, 0x14, 0x00, 0x11, 0x07, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x42, 0x08, 0x01, 0x00, 0x00, 0xE0, 0x00, 0x00 - .byte 0x0D, 0x24, 0x00, 0x14, 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x84, 0x10, 0x02, 0x00, 0x00, 0xE0, 0x00, 0x00 - .byte 0x0E, 0x34, 0x00, 0x17, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x21, 0x04, 0x00, 0x00, 0xE0, 0x00, 0x00 - .byte 0x0F, 0x44, 0x00, 0x1A, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x42, 0x08, 0x00, 0x00, 0xE0, 0x00, 0x00 - .byte 0x10, 0x03, 0x01, 0x0E, 0x0A, 0x00, 0x0C, 0x00, 0x20, 0x00, 0x00, 0x00, 0xE0, 0x03, 0x00, 0x00, 0x49, 0x02, 0x00, 0x00 - .byte 0x00, 0x1C, 0x01, 0x11, 0x0A, 0x03, 0x03, 0x00, 0x40, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x01, 0x20, 0x00, 0x00 - .byte 0x09, 0x2C, 0x01, 0x14, 0x0A, 0x03, 0x03, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00 - .byte 0x06, 0x3C, 0x01, 0x17, 0x0A, 0x03, 0x03, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x40, 0x20, 0x00, 0x00 - .byte 0x03, 0x4C, 0x01, 0x1A, 0x0A, 0x03, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00 - .byte 0x11, 0x03, 0x02, 0x0E, 0x0D, 0x03, 0x0F, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x92, 0x04, 0x00, 0x00 - .byte 0x04, 0x1C, 0x02, 0x11, 0x0D, 0x06, 0x06, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x10, 0x20, 0x00, 0x00 - .byte 0x01, 0x2C, 0x02, 0x14, 0x0D, 0x06, 0x06, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00 - .byte 0x0A, 0x3C, 0x02, 0x17, 0x0D, 0x06, 0x06, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00 - .byte 0x07, 0x4C, 0x02, 0x1A, 0x0D, 0x06, 0x06, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x80, 0x20, 0x00, 0x00 - .byte 0x12, 0x03, 0x03, 0x0E, 0x10, 0x06, 0x12, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x0F, 0x00, 0x24, 0x09, 0x00, 0x00 - .byte 0x08, 0x1C, 0x03, 0x11, 0x10, 0x09, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x21, 0x00, 0x00 - .byte 0x05, 0x2C, 0x03, 0x14, 0x10, 0x09, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x20, 0x20, 0x00, 0x00 - .byte 0x02, 0x3C, 0x03, 0x17, 0x10, 0x09, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x20, 0x00, 0x00 - .byte 0x0B, 0x4C, 0x03, 0x1A, 0x10, 0x09, 0x09, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x28, 0x00, 0x00 - - .align 2 -gUnknown_085B62E4:: @ 85B62E4 - .byte 0, 1, 6, 0, 64, 0, 0, 0 - .byte 1, 3, 12, 0, 0, 16, 0, 0 - .byte 2, 5, 18, 0, 0, 0, 4, 0 - .byte 3, 7, 9, 0, 0, 2, 0, 0 - .byte 4, 9, 11, 0, 0, 8, 0, 0 - .byte 5, 11, 17, 0, 0, 0, 2, 0 - .byte 6, 13, 8, 0, 0, 1, 0, 0 - .byte 7, 15, 14, 0, 0, 64, 0, 0 - .byte 8, 17, 16, 0, 0, 0, 1, 0 - .byte 9, 19, 7, 0, 128, 0, 0, 0 - .byte 10, 21, 13, 0, 0, 32, 0, 0 - .byte 11, 23, 19, 0, 0, 0, 8, 0 - -gUnknown_085B6344:: @ 85B6344 - .byte 1, 3 - .byte 1, 6 - - .align 2 -gUnknown_085B6348:: @ 85B6348 - .byte 0x01, 0x3C, 0x1E, 0x01, 0x01, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x1E, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4B, 0x00, 0x1B, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x68, 0x01, 0x00, 0x00, 0x00, 0xBF - .byte 0x03, 0x1E, 0x0F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x00, 0x3C, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 0x30, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x0E, 0x01, 0x00, 0x00, 0x80, 0xBF - - .align 2 -gUnknown_085B6388:: @ 85B6388 - .byte 0x00, 0x80, 0x05, 0x00, 0x01, 0x01, 0xFF, 0x48 - .byte 0x00, 0x80, 0x0A, 0x00, 0x01, 0x01, 0xFF, 0x48 - .byte 0x00, 0x80, 0x15, 0x00, 0x01, 0x01, 0xFF, 0x48 - .byte 0x00, 0x80, 0x55, 0x00, 0x01, 0x01, 0xFF, 0x48 - .byte 0x00, 0x80, 0x5A, 0x00, 0x01, 0x01, 0xFF, 0x48 - .byte 0x00, 0x80, 0x65, 0x00, 0x01, 0x01, 0xFF, 0x48 - .byte 0x00, 0x80, 0x75, 0x00, 0x01, 0x01, 0xFF, 0x48 - .byte 0x00, 0x80, 0x7A, 0x00, 0x01, 0x01, 0xFF, 0x48 - .byte 0x00, 0x80, 0x85, 0x00, 0x01, 0x01, 0xFF, 0x48 - .byte 0x00, 0x80, 0x95, 0x00, 0x01, 0x01, 0xFF, 0x48 - .byte 0x00, 0x80, 0x9A, 0x00, 0x01, 0x01, 0xFF, 0x48 - .byte 0x00, 0x80, 0xA5, 0x00, 0x01, 0x01, 0xFF, 0x48 - .byte 0xD6, 0x77, 0x28, 0x00, 0x02, 0x0A, 0xFF, 0x4E - - .align 1 -gUnknown_085B63F0:: @ 85B63F0 - .2byte 0x53FF - .2byte 0x0101 - .2byte 0x1E05 - .2byte 0x4EFF - .2byte 0x7FFB - .2byte 0x0106 - .2byte 0x1E05 - .2byte 0x4EFF - .2byte 0x7F7F - .2byte 0x010B - .2byte 0x1E05 - .2byte 0x4EFF - - .align 2 -gUnknown_085B6408:: @ 85B6408 - .4byte sub_8142918 - .4byte sub_814297C - - .align 2 -gUnknown_085B6410:: @ 85B6410 - .4byte sub_8140968 - .4byte sub_8140994 - - .align 1 -gUnknown_085B6418:: @ 85B6418 - .2byte 0x2898 - .2byte 0x1A6A - .2byte 0x2898 - -gUnknown_085B641E:: @ 85B641E - .byte 0xFB, 0x05, 0xFF, 0x01 - - .align 1 -gUnknown_085B6422:: @ 85B6422 - .2byte 0, 180 - .2byte 90, 270 - - .align 2 -gUnknown_085B642C:: @ 85B642C - .4byte 0x10842 - .4byte 0x21084 - .4byte 0x42108 - .4byte 0x84210 - - .align 2 -gUnknown_085B643C:: @ 85B643C - .4byte 0x3E0 - .4byte 0x7C00 - .4byte 0xF8000 - -gUnknown_085B6448:: @ 85B6448 - .byte 0, 3, 4, 6, 12 - - .align 2 -RouletteSpritePalette_01: @ 85B6450 - .incbin "graphics/roulette/shadow.gbapal" - - .align 2 -RouletteSpritePalette_02: @ 85B6470 - .incbin "graphics/roulette/ball.gbapal" - - .align 2 -RouletteSpritePalette_03: @ 85B6490 - .incbin "graphics/roulette/ball_counter.gbapal" - - .align 2 -RouletteSpritePalette_04: @ 85B64B0 - .incbin "graphics/roulette/cursor.gbapal" - - .align 2 -RouletteSpritePalette_05: @ 85B64D0 - .incbin "graphics/roulette/credit.gbapal" - - .align 2 -RouletteSpritePalette_06: @ 85B64F0 - .incbin "graphics/roulette/shroomish.gbapal" - - .align 2 -RouletteSpritePalette_07: @ 85B6510 - .incbin "graphics/roulette/tailow.gbapal" - - .align 2 -RouletteSpritePalette_08: @ 85B6530 - .incbin "graphics/roulette/poke_icons.gbapal" - - .align 2 -RouletteSpritePalette_09: @ 85B6550 - .incbin "graphics/roulette/wynaut.gbapal" - - .align 2 -RouletteSpritePalette_10: @ 85B6570 - .incbin "graphics/roulette/azurill.gbapal" - - .align 2 -RouletteSpritePalette_11: @ 85B6590 - .incbin "graphics/roulette/skitty.gbapal" - - .align 2 -RouletteSpritePalette_12: @ 85B65B0 - .incbin "graphics/roulette/makuhita.gbapal" - - .align 2 -RouletteSpritePalette_13: @ 85B65D0 - .incbin "graphics/roulette/85B65D0.gbapal" - - .align 2 -RouletteSpritePalette_14: @ 85B65F0 - .incbin "graphics/roulette/85B65F0.gbapal" - - .align 2 -RouletteSpritePalette_15: @ 85B6610 - .incbin "graphics/roulette/85B6610.gbapal" - - .align 2 -RouletteSpritePalette_16: @ 85B6630 - .incbin "graphics/roulette/85B6630.gbapal" - - .align 2 -gUnknown_085B6650:: @ 85B6650 - .incbin "graphics/roulette/ball.4bpp.lz" - - .align 2 -RouletteBallCounterTiles: @ 85B6798 - .incbin "graphics/roulette/ball_counter.4bpp.lz" - - .align 2 -gUnknown_085B67FC:: @ 85B67FC - .incbin "graphics/roulette/roulette_tilt.4bpp.lz" - - .align 2 -RoulettePokeIconsTiles: @ 85B6BEC - .incbin "graphics/roulette/poke_icons.4bpp.lz" - - .align 2 -RoulettePokeIcons2Tiles: @ 85B6D90 - .incbin "graphics/roulette/poke_icons2.4bpp.lz" - - .align 2 -gUnknown_085B7290:: @ 85B7290 - .incbin "graphics/roulette/shadow.4bpp.lz" - - .align 2 -RouletteCursorTiles: @ 85B7328 - .incbin "graphics/roulette/cursor.4bpp.lz" - - .align 2 -gUnknown_085B7384:: @ 85B7384 - obj_pal RouletteSpritePalette_01, 1 - obj_pal RouletteSpritePalette_02, 2 - obj_pal RouletteSpritePalette_03, 3 - obj_pal RouletteSpritePalette_04, 4 - obj_pal RouletteSpritePalette_05, 5 - obj_pal RouletteSpritePalette_06, 6 - obj_pal RouletteSpritePalette_07, 7 - obj_pal RouletteSpritePalette_08, 8 - obj_pal RouletteSpritePalette_09, 9 - obj_pal RouletteSpritePalette_10, 10 - obj_pal RouletteSpritePalette_11, 11 - obj_pal RouletteSpritePalette_12, 12 - null_obj_pal - - .align 2 -gOamData_85B73EC:: @ 85B73EC - .2byte 0x0000 - .2byte 0x8000 - .2byte 0x0400 - - .align 2 -gOamData_85B73F4:: @ 85B73F4 - .2byte 0x0000 - .2byte 0x4000 - .2byte 0x0400 - - .align 2 -gOamData_85B73FC:: @ 85B73FC - .2byte 0x833C - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gSpriteAnim_85B7404:: @ 85B7404 - obj_image_anim_frame 0, 0 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_85B740C:: @ 85B740C - .4byte gSpriteAnim_85B7404 - - .align 2 -gSpriteAffineAnim_85B7410:: @ 85B7410 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_85B7418:: @ 85B7418 - .4byte gSpriteAffineAnim_85B7410 - - .align 2 -gUnknown_085B741C:: @ 85B741C - obj_tiles RoulettePokeIcons2Tiles, 0xC00, 0 - - .align 2 -gSpriteAnim_85B7420:: @ 85B7420 - obj_image_anim_frame 0, 0 - obj_image_anim_frame 32, 0 - obj_image_anim_frame 64, 0 - obj_image_anim_frame 72, 0 - obj_image_anim_frame 8, 0 - obj_image_anim_frame 40, 0 - obj_image_anim_frame 48, 0 - obj_image_anim_frame 80, 0 - obj_image_anim_frame 16, 0 - obj_image_anim_frame 24, 0 - obj_image_anim_frame 56, 0 - obj_image_anim_frame 88, 0 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_85B7458:: @ 85B7458 - .4byte gSpriteAnim_85B7420 - - .align 2 -gSpriteAnimTable_85B745C:: @ 85B745C - .4byte gSpriteAnim_85B7420 + 0x4 - - .align 2 -gSpriteAnimTable_85B7460:: @ 85B7460 - .4byte gSpriteAnim_85B7420 + 0x8 - - .align 2 -gSpriteAnimTable_85B7464:: @ 85B7464 - .4byte gSpriteAnim_85B7420 + 0xC - - .align 2 -gSpriteAnimTable_85B7468:: @ 85B7468 - .4byte gSpriteAnim_85B7420 + 0x10 - - .align 2 -gSpriteAnimTable_85B746C:: @ 85B746C - .4byte gSpriteAnim_85B7420 + 0x14 - - .align 2 -gSpriteAnimTable_85B7470:: @ 85B7470 - .4byte gSpriteAnim_85B7420 + 0x18 - - .align 2 -gSpriteAnimTable_85B7474:: @ 85B7474 - .4byte gSpriteAnim_85B7420 + 0x1C - - .align 2 -gSpriteAnimTable_85B7478:: @ 85B7478 - .4byte gSpriteAnim_85B7420 + 0x20 - - .align 2 -gSpriteAnimTable_85B747C:: @ 85B747C - .4byte gSpriteAnim_85B7420 + 0x24 - - .align 2 -gSpriteAnimTable_85B7480:: @ 85B7480 - .4byte gSpriteAnim_85B7420 + 0x28 - - .align 2 -gSpriteAnimTable_85B7484:: @ 85B7484 - .4byte gSpriteAnim_85B7420 + 0x2C - - .align 2 -gUnknown_085B7488:: @ 85B7488 - obj_tiles gRouletteHeadersTiles, 0x1600, 4 - - .align 2 -gUnknown_085B7490:: @ 85B7490 - obj_tiles RoulettePokeIconsTiles, 0x400, 5 - - .align 2 -gSpriteAnim_85B7498:: @ 85B7498 - obj_image_anim_frame 0, 0 - obj_image_anim_frame 16, 0 - obj_image_anim_frame 32, 0 - obj_image_anim_frame 48, 0 - obj_image_anim_frame 64, 0 - obj_image_anim_frame 80, 0 - obj_image_anim_frame 96, 0 - obj_image_anim_frame 112, 0 - obj_image_anim_frame 128, 0 - obj_image_anim_frame 144, 0 - obj_image_anim_frame 160, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_85B74C8:: @ 85B74C8 - obj_image_anim_frame 0, 0 - obj_image_anim_frame 4, 0 - obj_image_anim_frame 8, 0 - obj_image_anim_frame 12, 0 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_85B74DC:: @ 85B74DC - .4byte gSpriteAnim_85B7498 - - .align 2 -gSpriteAnimTable_85B74E0:: @ 85B74E0 - .4byte gSpriteAnim_85B7498 + 0x8 - - .align 2 -gSpriteAnimTable_85B74E4:: @ 85B74E4 - .4byte gSpriteAnim_85B7498 + 0x10 - - .align 2 -gSpriteAnimTable_85B74E8:: @ 85B74E8 - .4byte gSpriteAnim_85B7498 + 0x18 - - .align 2 -gSpriteAnimTable_85B74EC:: @ 85B74EC - .4byte gSpriteAnim_85B7498 + 0x20 - - .align 2 -gSpriteAnimTable_85B74F0:: @ 85B74F0 - .4byte gSpriteAnim_85B7498 + 0x24 - - .align 2 -gSpriteAnimTable_85B74F4:: @ 85B74F4 - .4byte gSpriteAnim_85B7498 + 0x28 - - .align 2 -gSpriteAnimTable_85B74F8:: @ 85B74F8 - .4byte gSpriteAnim_85B74C8 - - .align 2 -gSpriteAnimTable_85B74FC:: @ 85B74FC - .4byte gSpriteAnim_85B74C8 + 0x4 - - .align 2 -gSpriteAnimTable_85B7500:: @ 85B7500 - .4byte gSpriteAnim_85B74C8 + 0x8 - - .align 2 -gSpriteAnimTable_85B7504:: @ 85B7504 - .4byte gSpriteAnim_85B74C8 + 0xC - - .align 2 -gSpriteTemplate_85B7508:: @ 85B7508 - spr_template 4, 8, gOamData_85B73EC, gSpriteAnimTable_85B74DC, NULL, gDummySpriteAffineAnimTable, sub_814390C - - .align 2 -gSpriteTemplate_85B7520:: @ 85B7520 - spr_template 4, 8, gOamData_85B73EC, gSpriteAnimTable_85B74E0, NULL, gDummySpriteAffineAnimTable, sub_814390C - - .align 2 -gSpriteTemplate_85B7538:: @ 85B7538 - spr_template 4, 8, gOamData_85B73EC, gSpriteAnimTable_85B74E4, NULL, gDummySpriteAffineAnimTable, sub_814390C - - .align 2 -gSpriteTemplate_85B7550:: @ 85B7550 - spr_template 4, 8, gOamData_85B73EC, gSpriteAnimTable_85B74E8, NULL, gDummySpriteAffineAnimTable, sub_814390C - - .align 2 -gSpriteTemplate_85B7568:: @ 85B7568 - spr_template 4, 8, gOamData_85B73EC, gSpriteAnimTable_85B74EC, NULL, gDummySpriteAffineAnimTable, sub_814390C - - .align 2 -gSpriteTemplate_85B7580:: @ 85B7580 - spr_template 4, 8, gOamData_85B73EC, gSpriteAnimTable_85B74F0, NULL, gDummySpriteAffineAnimTable, sub_814390C - - .align 2 -gSpriteTemplate_85B7598:: @ 85B7598 - spr_template 4, 8, gOamData_85B73EC, gSpriteAnimTable_85B74F4, NULL, gDummySpriteAffineAnimTable, sub_814390C - - .align 2 -gSpriteTemplate_85B75B0:: @ 85B75B0 - spr_template 5, 8, gOamData_85B73F4, gSpriteAnimTable_85B74F8, NULL, gDummySpriteAffineAnimTable, sub_814390C - - .align 2 -gSpriteTemplate_85B75C8:: @ 85B75C8 - spr_template 5, 8, gOamData_85B73F4, gSpriteAnimTable_85B74FC, NULL, gDummySpriteAffineAnimTable, sub_814390C - - .align 2 -gSpriteTemplate_85B75E0:: @ 85B75E0 - spr_template 5, 8, gOamData_85B73F4, gSpriteAnimTable_85B7500, NULL, gDummySpriteAffineAnimTable, sub_814390C - - .align 2 -gSpriteTemplate_85B75F8:: @ 85B75F8 - spr_template 5, 8, gOamData_85B73F4, gSpriteAnimTable_85B7504, NULL, gDummySpriteAffineAnimTable, sub_814390C - - .align 2 -gSpriteTemplate_85B7610:: @ 85B7610 - spr_template 0, 9, gOamData_85B73FC, gSpriteAnimTable_85B7458, NULL, gDummySpriteAffineAnimTable, sub_8143280 - - .align 2 -gSpriteTemplate_85B7628:: @ 85B7628 - spr_template 0, 10, gOamData_85B73FC, gSpriteAnimTable_85B745C, NULL, gDummySpriteAffineAnimTable, sub_8143280 - - .align 2 -gSpriteTemplate_85B7640:: @ 85B7640 - spr_template 0, 11, gOamData_85B73FC, gSpriteAnimTable_85B7460, NULL, gDummySpriteAffineAnimTable, sub_8143280 - - .align 2 -gSpriteTemplate_85B7658:: @ 85B7658 - spr_template 0, 12, gOamData_85B73FC, gSpriteAnimTable_85B7464, NULL, gDummySpriteAffineAnimTable, sub_8143280 - - .align 2 -gSpriteTemplate_85B7670:: @ 85B7670 - spr_template 0, 9, gOamData_85B73FC, gSpriteAnimTable_85B7468, NULL, gDummySpriteAffineAnimTable, sub_8143280 - - .align 2 -gSpriteTemplate_85B7688:: @ 85B7688 - spr_template 0, 10, gOamData_85B73FC, gSpriteAnimTable_85B746C, NULL, gDummySpriteAffineAnimTable, sub_8143280 - - .align 2 -gSpriteTemplate_85B76A0:: @ 85B76A0 - spr_template 0, 11, gOamData_85B73FC, gSpriteAnimTable_85B7470, NULL, gDummySpriteAffineAnimTable, sub_8143280 - - .align 2 -gSpriteTemplate_85B76B8:: @ 85B76B8 - spr_template 0, 12, gOamData_85B73FC, gSpriteAnimTable_85B7474, NULL, gDummySpriteAffineAnimTable, sub_8143280 - - .align 2 -gSpriteTemplate_85B76D0:: @ 85B76D0 - spr_template 0, 9, gOamData_85B73FC, gSpriteAnimTable_85B7478, NULL, gDummySpriteAffineAnimTable, sub_8143280 - - .align 2 -gSpriteTemplate_85B76E8:: @ 85B76E8 - spr_template 0, 10, gOamData_85B73FC, gSpriteAnimTable_85B747C, NULL, gDummySpriteAffineAnimTable, sub_8143280 - - .align 2 -gSpriteTemplate_85B7700:: @ 85B7700 - spr_template 0, 11, gOamData_85B73FC, gSpriteAnimTable_85B7480, NULL, gDummySpriteAffineAnimTable, sub_8143280 - - .align 2 -gSpriteTemplate_85B7718:: @ 85B7718 - spr_template 0, 12, gOamData_85B73FC, gSpriteAnimTable_85B7484, NULL, gDummySpriteAffineAnimTable, sub_8143280 - - .align 2 -gOamData_85B7730:: @ 85B7730 - .2byte 0x4000 - .2byte 0xC000 - .2byte 0x0400 - - .align 2 -gOamData_85B7738:: @ 85B7738 - .2byte 0x8000 - .2byte 0x0000 - .2byte 0x0400 - - .align 2 -gOamData_85B7740:: @ 85B7740 - .2byte 0x4000 - .2byte 0x8000 - .2byte 0x0400 - - .align 2 -gOamData_85B7748:: @ 85B7748 - .2byte 0x4000 - .2byte 0x0000 - .2byte 0x0400 - - .align 2 -gUnknown_085B7750:: @ 85B7750 - obj_tiles gRouletteCreditTiles, 0x400, 7 - obj_tiles gRouletteNumbersTiles, 0x280, 8 - obj_tiles gRouletteMultiplierTiles, 0x500, 9 - obj_tiles RouletteBallCounterTiles, 0x140, 10 - obj_tiles RouletteCursorTiles, 0x200, 11 - null_obj_tiles - - .align 2 -gSpriteAnim_85B7780:: @ 85B7780 - obj_image_anim_frame 0, 0 - obj_image_anim_frame 2, 0 - obj_image_anim_frame 4, 0 - obj_image_anim_frame 6, 0 - obj_image_anim_frame 8, 0 - obj_image_anim_frame 10, 0 - obj_image_anim_frame 12, 0 - obj_image_anim_frame 14, 0 - obj_image_anim_frame 16, 0 - obj_image_anim_frame 18, 0 - - .align 2 -gSpriteAnimTable_85B77A8:: @ 85B77A8 - .4byte gSpriteAnim_85B7780 - - .align 2 -gSpriteAnim_85B77AC:: @ 85B77AC - obj_image_anim_frame 0, 0 - obj_image_anim_frame 8, 0 - obj_image_anim_frame 16, 0 - obj_image_anim_frame 24, 0 - obj_image_anim_frame 32, 0 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_85B77C4:: @ 85B77C4 - .4byte gSpriteAnim_85B77AC - - .align 2 -gSpriteAnim_85B77C8:: @ 85B77C8 - obj_image_anim_frame 0, 0 - obj_image_anim_frame 2, 0 - obj_image_anim_frame 4, 0 - obj_image_anim_frame 6, 0 - obj_image_anim_frame 8, 0 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_85B77E0:: @ 85B77E0 - .4byte gSpriteAnim_85B77C8 - - .align 2 -gSpriteTemplate_85B77E4:: @ 85B77E4 - spr_template 7, 5, gOamData_85B7730, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gUnknown_085B77FC:: @ 85B77FC - spr_template 8, 5, gOamData_85B7738, gSpriteAnimTable_85B77A8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gUnknown_085B7814:: @ 85B7814 - spr_template 9, 5, gOamData_85B7740, gSpriteAnimTable_85B77C4, NULL, gDummySpriteAffineAnimTable, sub_814390C - - .align 2 -gUnknown_085B782C:: @ 85B782C - spr_template 10, 3, gOamData_85B7748, gSpriteAnimTable_85B77E0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gUnknown_085B7844:: @ 85B7844 - spr_template 11, 5, gOamData_85B73EC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gOamData_85B785C:: @ 85B785C - .2byte 0x0000 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gUnknown_085B7864:: @ 85B7864 - obj_tiles gUnknown_085B6650, 0x200, 0xC - - .align 2 -gSpriteAnim_85B786C:: @ 85B786C - obj_image_anim_frame 0, 5 - obj_image_anim_frame 4, 5 - obj_image_anim_frame 8, 5 - obj_image_anim_frame 4, 5 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_85B7880:: @ 85B7880 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 4, 10 - obj_image_anim_frame 8, 10 - obj_image_anim_frame 4, 10 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_85B7894:: @ 85B7894 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 4, 15 - obj_image_anim_frame 8, 15 - obj_image_anim_frame 4, 15 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_85B78A8:: @ 85B78A8 - obj_image_anim_frame 4, 2 - obj_image_anim_frame 8, 5 - obj_image_anim_frame 4, 5 - obj_image_anim_frame 12, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_85B78BC:: @ 85B78BC - obj_image_anim_frame 4, 2 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 4, 4 - obj_image_anim_frame 8, 4 - obj_image_anim_frame 12, 4 - obj_image_anim_end - - .align 2 -gSpriteAnim_85B78D4:: @ 85B78D4 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 4, 5 - obj_image_anim_frame 8, 5 - obj_image_anim_frame 12, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_85B78E8:: @ 85B78E8 - obj_image_anim_frame 12, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_85B78F0:: @ 85B78F0 - obj_image_anim_frame 8, 2 - obj_image_anim_frame 4, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 12, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_85B7904:: @ 85B7904 - .4byte gSpriteAnim_85B786C - .4byte gSpriteAnim_85B7880 - .4byte gSpriteAnim_85B7894 - .4byte gSpriteAnim_85B78A8 - .4byte gSpriteAnim_85B78F0 - .4byte gSpriteAnim_85B78BC - .4byte gSpriteAnim_85B78D4 - .4byte gSpriteAnim_85B78D4 - .4byte gSpriteAnim_85B78E8 - - .align 2 -gSpriteTemplate_85B7928:: @ 85B7928 - spr_template 12, 2, gOamData_85B785C, gSpriteAnimTable_85B7904, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gOamData_85B7940:: @ 85B7940 - .2byte 0x0351 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gUnknown_085B7948:: @ 85B7948 - obj_tiles gRouletteCenter_Gfx, 2048, 0x0006 - - .align 2 -gSpriteTemplate_85B7950:: @ 85B7950 - spr_template 6, 2, gOamData_85B7940, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_814399C - - .align 2 -gOamData_85B7968:: @ 85B7968 - .2byte 0x0000 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gOamData_85B7970:: @ 85B7970 - .2byte 0x0000 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gUnknown_085B7978:: @ 85B7978 - obj_tiles gUnknown_085B67FC, 0xE00, 0x000D - - .align 2 -gSpriteAnim_85B7980:: @ 85B7980 - obj_image_anim_frame 0x00, 6 - obj_image_anim_frame 0x10, 6 - obj_image_anim_frame 0x20, 6 - obj_image_anim_frame 0x30, 6 - obj_image_anim_frame 0x20, 6 - obj_image_anim_frame 0x40, 6 - obj_image_anim_jump 2 - - .align 2 -gSpriteAnim_85B799C:: @ 85B799C - obj_image_anim_frame 0x50, 10 - obj_image_anim_end - - .align 2 -gSpriteAnim_85B79A4:: @ 85B79A4 - obj_image_anim_frame 0x50, 10, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_85B79AC:: @ 85B79AC - obj_image_anim_frame 0x50, 20 - obj_image_anim_frame 0x60, 20 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_85B79B8:: @ 85B79B8 - obj_image_anim_frame 0x50, 20, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 0x60, 20, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_85B79C4:: @ 85B79C4 - obj_image_anim_frame 0x50, 10 - obj_image_anim_frame 0x60, 10 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_85B79D0:: @ 85B79D0 - obj_image_anim_frame 0x50, 10, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 0x60, 10, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_85B79DC:: @ 85B79DC - .4byte gSpriteAnim_85B7980 - - .align 2 -gSpriteAnimTable_85B79E0:: @ 85B79E0 - .4byte gSpriteAnim_85B799C - .4byte gSpriteAnim_85B79A4 - .4byte gSpriteAnim_85B79AC - .4byte gSpriteAnim_85B79B8 - .4byte gSpriteAnim_85B79C4 - .4byte gSpriteAnim_85B79D0 - - .align 2 -gSpriteTemplate_85B79F8:: @ 85B79F8 - spr_template 13, 6, gOamData_85B7968, gSpriteAnimTable_85B79DC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_85B7A10:: @ 85B7A10 - spr_template 13, 7, gOamData_85B7970, gSpriteAnimTable_85B79E0, NULL, gDummySpriteAffineAnimTable, sub_8145294 - - .align 2 -gOamData_85B7A28:: @ 85B7A28 - .2byte 0x0000 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gOamData_85B7A30:: @ 85B7A30 - .2byte 0x4000 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gOamData_85B7A38:: @ 85B7A38 - .2byte 0x4100 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gUnknown_085B7A40:: @ 85B7A40 - obj_tiles gUnknown_085B7290, 0x180, 0x000E - - .align 2 -gSpriteAffineAnim_85B7A48:: @ 85B7A48 - obj_rot_scal_anim_frame 0x80, 0x80, 0, 0 - obj_rot_scal_anim_frame 0x2, 0x2, 0, 60 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_85B7A60:: @ 85B7A60 - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_frame 0xFFFE, 0x0, 0, 15 - obj_rot_scal_anim_frame 0xFFFF, 0xFFFE, 0, 15 - obj_rot_scal_anim_frame 0xFFFF, 0xFFFB, 0, 24 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_85B7A88:: @ 85B7A88 - .4byte gSpriteAffineAnim_85B7A48 - - .align 2 -gSpriteAffineAnimTable_85B7A8C:: @ 85B7A8C - .4byte gSpriteAffineAnim_85B7A60 - - .align 2 -gSpriteAffineAnim_85B7A90:: @ 85B7A90 - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_85B7AA0:: @ 85B7AA0 - .4byte gSpriteAffineAnim_85B7A90 - - .align 2 -gSpriteAnim_85B7AA4:: @ 85B7AA4 - obj_image_anim_frame 0, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_85B7AAC:: @ 85B7AAC - obj_image_anim_frame 4, 0 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_85B7AB4:: @ 85B7AB4 - .4byte gSpriteAnim_85B7AA4 - - .align 2 -gSpriteAnimTable_85B7AB8:: @ 85B7AB8 - .4byte gSpriteAnim_85B7AAC - - .align 2 -gSpriteTemplate_85B7ABC:: @ 85B7ABC - spr_template 14, 1, gOamData_85B7A28, gSpriteAnimTable_85B7AB4, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83FA5D8:: @ 83FA5D8 - spr_template 14, 1, gOamData_85B7A30, gSpriteAnimTable_85B7AB8, NULL, gDummySpriteAffineAnimTable, sub_8144E60 - - .align 2 -gUnknown_085B7AEC:: @ 85B7AEC - spr_template 14, 1, gOamData_85B7A38, gSpriteAnimTable_85B7AB8, NULL, gSpriteAffineAnimTable_85B7A8C, sub_8145294 - -gUnknown_085B7B04:: @ 85B7B04 - .byte 0, 1, 2, 3, 4 - - .align 1 -gUnknown_085B7B0A:: @ 85B7B0A - .2byte 0x74, 0x2C - .2byte 0x74, 0x70 - - .align 1 -gUnknown_085B7B12:: @ 85B7B12 - .2byte 256, 84 - .2byte -16, 84 - - .align 1 -gUnknown_085B7B1A:: @ 85B7B1A - .2byte 0x907 - .2byte 0x808 - .2byte 0x709 - .2byte 0x60A - .2byte 0x50B - .2byte 0x40C - .2byte 0x30D - .2byte 0x20E - .2byte 0x10F - .2byte 0x10 - - .align 1 -gUnknown_085B7B2E:: @ 85B7B2E - .2byte -1, 0, 1, 0 - .2byte -2, 0, 2, 0 - .2byte -3, 0, 3, 0 - -gUnknown_085B7B46:: @ 85B7B46 - .byte -1, 1 - -gUnknown_085B7B48:: @ 85B7B48 - .byte 2, 0 - .byte 2, 0 - .byte 2, -1 - .byte 2, -1 - .byte 2, -1 - .byte 2, -1 - .byte 2, -2 - .byte 2, -2 diff --git a/data/scripts/apprentice.inc b/data/scripts/apprentice.inc index 034732db2e..ac4bd19790 100644 --- a/data/scripts/apprentice.inc +++ b/data/scripts/apprentice.inc @@ -33,7 +33,7 @@ EventScript_Apprentice:: @ 82B688D special CallApprenticeFunction compare VAR_0x8004, 0 goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B68BE - goto_if_set FLAG_0x934, Script_Apprentice_ReleaseAndEnd + goto_if_set FLAG_DAILY_APPRENTICE_LEAVES, Script_Apprentice_ReleaseAndEnd BattleFrontier_BattleTowerLobby_EventScript_2B68BE: setvar VAR_0x8004, 11 @@ -289,7 +289,7 @@ BattleFrontier_BattleTowerLobby_EventScript_2B6DD4: Script_Apprentice_SetLeavingFlags: setflag FLAG_HIDE_APPRENTICE - setflag FLAG_0x934 + setflag FLAG_DAILY_APPRENTICE_LEAVES return Script_Apprentice_LeaveGoRight: diff --git a/data/scripts/contest_hall.inc b/data/scripts/contest_hall.inc index 927d614393..f85ebd3d2a 100644 --- a/data/scripts/contest_hall.inc +++ b/data/scripts/contest_hall.inc @@ -3,8 +3,8 @@ LilycoveCity_ContestLobby_EventScript_279CC5:: @ 8279CC5 faceplayer compare VAR_0x408A, 0 goto_if_ne LilycoveCity_ContestLobby_EventScript_279D13 - call_if_set FLAG_0x05F, LilycoveCity_ContestLobby_EventScript_279CEA - call_if_unset FLAG_0x05F, LilycoveCity_ContestLobby_EventScript_279CF3 + call_if_set FLAG_RECEIVED_POKEBLOCK_CASE, LilycoveCity_ContestLobby_EventScript_279CEA + call_if_unset FLAG_RECEIVED_POKEBLOCK_CASE, LilycoveCity_ContestLobby_EventScript_279CF3 goto LilycoveCity_ContestLobby_EventScript_279D5A end @@ -15,7 +15,7 @@ LilycoveCity_ContestLobby_EventScript_279CEA:: @ 8279CEA LilycoveCity_ContestLobby_EventScript_279CF3:: @ 8279CF3 msgbox LilycoveCity_ContestLobby_Text_27ADA7, MSGBOX_DEFAULT giveitem_std ITEM_POKEBLOCK_CASE - setflag FLAG_0x05F + setflag FLAG_RECEIVED_POKEBLOCK_CASE msgbox LilycoveCity_ContestLobby_Text_27AE47, MSGBOX_DEFAULT return @@ -1131,7 +1131,7 @@ LinkContestRoom1_EventScript_27ABCD:: @ 827ABCD return LinkContestRoom1_EventScript_27ABCE:: @ 827ABCE - setflag FLAG_0x10E + setflag FLAG_CONTEST_SKETCH_CREATED return LinkContestRoom1_EventScript_27ABD2:: @ 827ABD2 diff --git a/data/scripts/players_house.inc b/data/scripts/players_house.inc index 166134abf9..eb29ef6e07 100644 --- a/data/scripts/players_house.inc +++ b/data/scripts/players_house.inc @@ -59,12 +59,12 @@ LittlerootTown_MaysHouse_2F_EventScript_29278D:: @ 829278D LittlerootTown_BrendansHouse_2F_EventScript_292799:: @ 8292799 LittlerootTown_MaysHouse_2F_EventScript_292799:: @ 8292799 - goto_if_set FLAG_0x051, LittlerootTown_BrendansHouse_2F_EventScript_29283F + goto_if_set FLAG_SET_WALL_CLOCK, LittlerootTown_BrendansHouse_2F_EventScript_29283F msgbox LittlerootTown_BrendansHouse_2F_Text_1F8668, MSGBOX_DEFAULT call LittlerootTown_BrendansHouse_2F_EventScript_292849 delay 30 setvar VAR_0x4092, 6 - setflag FLAG_0x051 + setflag FLAG_SET_WALL_CLOCK setflag FLAG_HIDE_LITTLEROOT_TOWN_PLAYERS_HOUSE_VIGOROTH_1 setflag FLAG_HIDE_LITTLEROOT_TOWN_PLAYERS_HOUSE_VIGOROTH_2 checkplayergender @@ -318,7 +318,7 @@ LittlerootTown_MaysHouse_1F_EventScript_2929C5:: @ 82929C5 compare VAR_0x408C, 4 goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292A0F goto_if_set FLAG_HAS_MATCH_CALL, LittlerootTown_BrendansHouse_1F_EventScript_292A19 - goto_if_set FLAG_0x052, LittlerootTown_BrendansHouse_1F_EventScript_292A86 + goto_if_set FLAG_RESCUED_BIRCH, LittlerootTown_BrendansHouse_1F_EventScript_292A86 compare VAR_TEMP_1, 1 goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292A94 compare VAR_0x4092, 7 @@ -333,7 +333,7 @@ LittlerootTown_BrendansHouse_1F_EventScript_292A0F:: @ 8292A0F end LittlerootTown_BrendansHouse_1F_EventScript_292A19:: @ 8292A19 - goto_if_set FLAG_0x0D8, LittlerootTown_BrendansHouse_1F_EventScript_292A43 + goto_if_set FLAG_ENABLE_MOM_MATCH_CALL, LittlerootTown_BrendansHouse_1F_EventScript_292A43 msgbox LittlerootTown_BrendansHouse_1F_Text_1F7E0E, MSGBOX_DEFAULT closemessage delay 30 @@ -342,7 +342,7 @@ LittlerootTown_BrendansHouse_1F_EventScript_292A19:: @ 8292A19 waitfanfare closemessage delay 30 - setflag FLAG_0x0D8 + setflag FLAG_ENABLE_MOM_MATCH_CALL release end @@ -351,13 +351,13 @@ LittlerootTown_BrendansHouse_1F_EventScript_292A43:: @ 8292A43 goto LittlerootTown_BrendansHouse_1F_EventScript_292A86 LittlerootTown_BrendansHouse_1F_EventScript_292A51:: @ 8292A51 - goto_if_set FLAG_0x085, LittlerootTown_BrendansHouse_1F_EventScript_292A86 + goto_if_set FLAG_MOM_SAYS_GOODBYE, LittlerootTown_BrendansHouse_1F_EventScript_292A86 msgbox LittlerootTown_BrendansHouse_1F_Text_1F7D73, MSGBOX_DEFAULT giveitem_std ITEM_AMULET_COIN compare VAR_RESULT, 0 goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_272054 msgbox LittlerootTown_BrendansHouse_1F_Text_1F7DBE, MSGBOX_DEFAULT - setflag FLAG_0x085 + setflag FLAG_MOM_SAYS_GOODBYE release end @@ -475,7 +475,7 @@ LittlerootTown_MaysHouse_1F_EventScript_292AF2:: @ 8292AF2 call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292CEF playse SE_DOOR removeobject VAR_0x8009 - setflag FLAG_0x123 + setflag FLAG_RECEIVED_SS_TICKET delay 30 compare VAR_0x8008, 0 call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D48 @@ -484,7 +484,7 @@ LittlerootTown_MaysHouse_1F_EventScript_292AF2:: @ 8292AF2 delay 20 msgbox LittlerootTown_BrendansHouse_1F_Text_1F81B9, MSGBOX_DEFAULT closemessage - setflag FLAG_SYS_TV_LATI + setflag FLAG_SYS_TV_LATIAS_LATIOS special TurnOnTVScreen delay 60 compare VAR_0x8008, 0 @@ -499,8 +499,8 @@ LittlerootTown_MaysHouse_1F_EventScript_292AF2:: @ 8292AF2 call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D33 msgbox LittlerootTown_BrendansHouse_1F_Text_1F826F, MSGBOX_DEFAULT closemessage - clearflag FLAG_SYS_TV_LATI - setflag FLAG_0x0FF + clearflag FLAG_SYS_TV_LATIAS_LATIOS + setflag FLAG_LATIOS_OR_LATIAS_ROAMING special TurnOffTVScreen compare VAR_0x8008, 0 call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D88 @@ -519,7 +519,7 @@ LittlerootTown_MaysHouse_1F_EventScript_292AF2:: @ 8292AF2 end LittlerootTown_BrendansHouse_1F_EventScript_292C72:: @ 8292C72 - setflag FLAG_SYS_TV_LATI + setflag FLAG_SYS_TV_LATIAS_LATIOS return LittlerootTown_BrendansHouse_1F_EventScript_292C76:: @ 8292C76 diff --git a/data/scripts/pokeblocks.inc b/data/scripts/pokeblocks.inc index 834fc38a2a..05b468e236 100644 --- a/data/scripts/pokeblocks.inc +++ b/data/scripts/pokeblocks.inc @@ -265,7 +265,7 @@ EventScript_Pblock1_No: @ 8293C70 EventScript_Pblock1_NoBerries: @ 8293C7A msgbox Text_Pblock1_NoBerries, MSGBOX_DEFAULT dodailyevents - goto_if_set FLAG_0x921, LilycoveCity_ContestLobby_EventScript_293C92 + goto_if_set FLAG_DAILY_CONTEST_LOBBY_RECEIVED_BERRY, LilycoveCity_ContestLobby_EventScript_293C92 goto LilycoveCity_ContestLobby_EventScript_293C9C end @@ -277,7 +277,7 @@ LilycoveCity_ContestLobby_EventScript_293C92: @ 8293C92 LilycoveCity_ContestLobby_EventScript_293C9C: @ 8293C9C msgbox LilycoveCity_ContestLobby_Text_292FD1, MSGBOX_DEFAULT giveitem_std ITEM_PECHA_BERRY - setflag FLAG_0x921 + setflag FLAG_DAILY_CONTEST_LOBBY_RECEIVED_BERRY goto EventScript_Pblock1_KnowHow end @@ -552,7 +552,7 @@ LilycoveCity_ContestLobby_EventScript_293FF8: @ 8293FF8 compare VAR_RESULT, 65535 goto_if_eq LilycoveCity_ContestLobby_EventScript_294028 dodailyevents - goto_if_set FLAG_0x921, LilycoveCity_ContestLobby_EventScript_294028 + goto_if_set FLAG_DAILY_CONTEST_LOBBY_RECEIVED_BERRY, LilycoveCity_ContestLobby_EventScript_294028 goto LilycoveCity_ContestLobby_EventScript_294032 end @@ -564,7 +564,7 @@ LilycoveCity_ContestLobby_EventScript_294028: @ 8294028 LilycoveCity_ContestLobby_EventScript_294032: @ 8294032 msgbox LilycoveCity_ContestLobby_Text_293AF0, MSGBOX_DEFAULT giveitem_std ITEM_PECHA_BERRY - setflag FLAG_0x921 + setflag FLAG_DAILY_CONTEST_LOBBY_RECEIVED_BERRY msgbox LilycoveCity_ContestLobby_Text_293B76, MSGBOX_DEFAULT release end diff --git a/data/scripts/safari_zone.inc b/data/scripts/safari_zone.inc index 2932401e1e..1fcf5d1662 100644 --- a/data/scripts/safari_zone.inc +++ b/data/scripts/safari_zone.inc @@ -40,7 +40,7 @@ EventScript_2A4B9B:: @ 82A4B9B releaseall goto EventScript_2A4B5D -EventScript_2A4BAC:: @ 82A4BAC +EventScript_PokeBlockFeeder:: @ 82A4BAC lockall special GetPokeblockFeederInFront compare VAR_RESULT, 65535 diff --git a/data/scripts/secret_base.inc b/data/scripts/secret_base.inc index ff5e53a06c..db8aece85b 100644 --- a/data/scripts/secret_base.inc +++ b/data/scripts/secret_base.inc @@ -455,7 +455,7 @@ SecretBase_RedCave1_EventScript_275B81:: @ 8275B81 SecretBase_RedCave1_EventScript_275BAB:: @ 8275BAB closemessage - setflag FLAG_0x060 + setflag FLAG_RECEIVED_SECRET_POWER special sub_80E91F8 waitstate end diff --git a/data/scripts/secret_power_tm.inc b/data/scripts/secret_power_tm.inc index 072d154f00..ed7216357c 100644 --- a/data/scripts/secret_power_tm.inc +++ b/data/scripts/secret_power_tm.inc @@ -49,7 +49,7 @@ Route111_EventScript_27661E:: @ 827661E goto_if_eq Route111_EventScript_276680 msgbox Route111_Text_27636E, MSGBOX_DEFAULT closemessage - setflag FLAG_0x060 + setflag FLAG_RECEIVED_SECRET_POWER clearflag FLAG_HIDE_SLATEPORT_CITY_TM_SALESMAN compare VAR_FACING, 3 call_if_eq Route111_EventScript_27666A diff --git a/data/scripts/tv.inc b/data/scripts/tv.inc index 0b12245030..acc75f76aa 100644 --- a/data/scripts/tv.inc +++ b/data/scripts/tv.inc @@ -43,8 +43,8 @@ EventScript_27EE9A:: @ 827EE9A EventScript_27EEA4:: @ 827EEA4 msgbox LittlerootTown_BrendansHouse_1F_Text_1F826F, MSGBOX_DEFAULT special InitRoamer - clearflag FLAG_SYS_TV_LATI - setflag FLAG_0x0FF + clearflag FLAG_SYS_TV_LATIAS_LATIOS + setflag FLAG_LATIOS_OR_LATIAS_ROAMING special TurnOffTVScreen releaseall end diff --git a/data/specials.inc b/data/specials.inc index fed1b6641e..5ac4930c7c 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -173,7 +173,7 @@ gSpecials:: @ 81DBA64 def_special sub_81B94B0 def_special GetFirstFreePokeblockSlot def_special DoBerryBlending - def_special sub_8142BC8 + def_special PlayRoulette def_special ShouldMoveLilycoveFanClubMember def_special GetNumMovedLilycoveFanClubMembers def_special BufferStreakTrainerText @@ -263,10 +263,10 @@ gSpecials:: @ 81DBA64 def_special BedroomPC def_special PlayerPC def_special FieldShowRegionMap - def_special sub_807E73C - def_special sub_807EA10 - def_special sub_807F0E4 - def_special sub_807E9D4 + def_special GetInGameTradeSpeciesInfo + def_special CreateInGameTradePokemon + def_special DoInGameTradeScene + def_special GetTradeSpecies def_special GetWeekCount def_special RetrieveLotteryNumber def_special PickLotteryCornerTicket @@ -328,8 +328,8 @@ gSpecials:: @ 81DBA64 def_special DoSealedChamberShakingEffect2 def_special FoundBlackGlasses def_special sub_80AC81C - def_special sp13E_warp_to_last_warp - def_special sp13F_fall_to_last_warp + def_special DoDiveWarp + def_special DoFallWarp def_special ShowContestEntryMonPic def_special sub_80F8EB8 def_special SetEReaderTrainerGfxId @@ -488,7 +488,7 @@ gSpecials:: @ 81DBA64 def_special sub_81B892C def_special sub_813AEB4 def_special sub_813AF48 - def_special sub_813AFC8 + def_special DoDeoxysRockInteraction def_special sub_813B1D0 def_special CreateObedientEnemyMon def_special StartMirageTowerDisintegration diff --git a/data/text/match_call.inc b/data/text/match_call.inc new file mode 100755 index 0000000000..b25b72ebff --- /dev/null +++ b/data/text/match_call.inc @@ -0,0 +1,2953 @@ +MatchCall_WildBattleText1:: @ 82A971C + .string "Hi! {PLAYER}{STRING 5}, hello!\n" + .string "This is {STR_VAR_1}.\p" + .string "I saw this {STR_VAR_2} a while back\n" + .string "but I couldn't catch it.\p" + .string "It was so close, too!\n" + .string "Well, see you again!$" + +MatchCall_WildBattleText2:: @ 82A9798 + .string "Hello, {PLAYER}{STRING 5}.\n" + .string "It's {STR_VAR_1}.\p" + .string "I tried to catch a nice {STR_VAR_2}\n" + .string "a little while ago.\p" + .string "But, it got away.\n" + .string "I was sure disappointed!\p" + .string "Okay, bye!$" + +MatchCall_WildBattleText3:: @ 82A9813 + .string "Hey there, {PLAYER}!\n" + .string "It's me, {STR_VAR_1}.\p" + .string "I just took a shot at catching\n" + .string "this {STR_VAR_2}, but it took off.\p" + .string "I came oh so close, too!\p" + .string "It spoiled my day…\n" + .string "All right, see you!$" + +MatchCall_WildBattleText4:: @ 82A98A8 + .string "Hey, {PLAYER}{STRING 5}.\n" + .string "{STR_VAR_1} here.\p" + .string "You know the POKéMON {STR_VAR_2}?\n" + .string "I came close to getting one.\p" + .string "It was just a while back.\n" + .string "I thought I had it but it escaped.\p" + .string "If I see it again, I'll get it for\n" + .string "sure, though.\p" + .string "Okay, catch you later.$" + +MatchCall_WildBattleText5:: @ 82A9977 + .string "Hiya, {PLAYER}{STRING 5}!\n" + .string "It's {STR_VAR_1}.\l" + .string "Catching any POKéMON lately?\p" + .string "A little while ago I came close to\n" + .string "nabbing one, but it got loose.\p" + .string "Right, take care!$" + +MatchCall_WildBattleText6:: @ 82A99FD + .string "Hey, {PLAYER}{STRING 5}.\n" + .string "{STR_VAR_1} here.\l" + .string "Caught any POKéMON lately?\p" + .string "I nearly nabbed one the other day.\n" + .string "But it evaded me somehow.\p" + .string "You take care.$" + +MatchCall_WildBattleText7:: @ 82A9A78 + .string "…Uh, {PLAYER}{STRING 5}?\n" + .string "It's me, {STR_VAR_1}.\p" + .string "Oh, wait! Wait!\n" + .string "I can catch this {STR_VAR_2}…\p" + .string "Aaarrrgh! It bolted loose!\n" + .string "That wasn't just close!$" + +MatchCall_WildBattleText8:: @ 82A9AE8 + .string "Oh, {PLAYER}{STRING 5}, how do you do?\n" + .string "This is {STR_VAR_1} speaking.\p" + .string "Have you had success catching\n" + .string "POKéMON lately?\p" + .string "I came very close a little while\n" + .string "ago, but my target got free.\p" + .string "I need to try harder!\n" + .string "See you again!$" + +MatchCall_WildBattleText9:: @ 82A9BA7 + .string "Oh, {PLAYER}{STRING 5}, hi there!\n" + .string "This is {STR_VAR_1}!\p" + .string "So? Are you getting more POKéMON\n" + .string "together?\p" + .string "I'm having a rotten time of it!\n" + .string "They all get away from me!\p" + .string "See you!$" + +MatchCall_WildBattleText10:: @ 82A9C36 + .string "Oh, {PLAYER}{STRING 5}, hello…\n" + .string "This is {STR_VAR_1}.\p" + .string "Listen, I came within a whisker of\n" + .string "catching this {STR_VAR_2}…\p" + .string "But, it gave me the slip…\p" + .string "I need to try harder.\n" + .string "See you around.$" + +MatchCall_WildBattleText11:: @ 82A9CC8 + .string "Ah, {PLAYER}{STRING 5}.\n" + .string "This is {STR_VAR_1}.\l" + .string "How are things with you?\p" + .string "I tried to catch a wild {STR_VAR_2}\n" + .string "earlier, but it managed to flee.\p" + .string "I feel defeated…$" + +MatchCall_WildBattleText12:: @ 82A9D44 + .string "Hello, {PLAYER}{STRING 5}.\n" + .string "It's me, {STR_VAR_1}.\l" + .string "Are you still catching POKéMON?\p" + .string "I've been trying to catch them\n" + .string "myself, but it's not so easy.\p" + .string "The way of POKéMON is deep!$" + +MatchCall_WildBattleText13:: @ 82A9DD7 + .string "Ah, hello, {PLAYER}{STRING 5}!\n" + .string "This is {STR_VAR_1}!\l" + .string "Have you been catching POKéMON?\p" + .string "I've been trying to catch them\n" + .string "myself, but with little success.\p" + .string "The way of POKéMON is deep!$" + +MatchCall_WildBattleText14:: @ 82A9E70 + .string "Oh, hi, {PLAYER}{STRING 5}, how do you do?\n" + .string "This is {STR_VAR_1}.\p" + .string "Just now, I tried to catch a cute\n" + .string "{STR_VAR_2}.\p" + .string "It got away, though!\n" + .string "Oh, you bet I was disappointed!\p" + .string "Bye-bye!$" + +MatchCall_WildBattleText15:: @ 82A9EFD + .string "Hey, {PLAYER}!\n" + .string "This is {STR_VAR_1}!\p" + .string "I've been thinking about trying\n" + .string "to catch me some POKéMON.\p" + .string "But I can't seem to find any.\n" + .string "It's a real puzzler for me!\p" + .string "I'm at my wit's end!\n" + .string "See you around!$" + +MatchCall_NegativeBattleText1:: @ 82A9FAB + .string "Hi! {PLAYER}{STRING 5}, hello!\n" + .string "This is {STR_VAR_1}.\p" + .string "I tried battling another TRAINER,\n" + .string "but I lost.\p" + .string "It was really disappointing.\n" + .string "Well, see you again!$" + +MatchCall_NegativeBattleText2:: @ 82AA028 + .string "Hello, {PLAYER}{STRING 5}.\n" + .string "It's {STR_VAR_1}.\p" + .string "I challenged someone else after\n" + .string "we battled.\p" + .string "I came close, but I ended up\n" + .string "losing. Oh, well!$" + +MatchCall_NegativeBattleText3:: @ 82AA099 + .string "Hey there, {PLAYER}!\n" + .string "It's me, {STR_VAR_1}.\p" + .string "I just got cleaned in a battle.\p" + .string "I guess I need to raise my team\n" + .string "some more!$" + +MatchCall_NegativeBattleText4:: @ 82AA100 + .string "Hey, {PLAYER}.\n" + .string "{STR_VAR_1} here.\p" + .string "I tried another battle yesterday,\n" + .string "but I couldn't pull out the win.\p" + .string "My team needs more raising.\n" + .string "Okay, catch you later.$" + +MatchCall_NegativeBattleText5:: @ 82AA188 + .string "Hiya, {PLAYER}!\n" + .string "It's {STR_VAR_1}.\p" + .string "How are things with you?\p" + .string "I've been battling on,\n" + .string "but I haven't won very often.\p" + .string "I can't get it together.\n" + .string "Right, take care!$" + +MatchCall_NegativeBattleText6:: @ 82AA214 + .string "Hey, {PLAYER}.\n" + .string "{STR_VAR_1} here.\p" + .string "How's it going for you?\p" + .string "I've been battling hard lately,\n" + .string "but to little success.\p" + .string "I can't get into the groove.\n" + .string "You take care.$" + +MatchCall_NegativeBattleText7:: @ 82AA2A1 + .string "{STR_VAR_1} here.\n" + .string "How's it going lately?\p" + .string "I lost a battle yesterday,\n" + .string "and it's filled my thoughts.\p" + .string "I have to devise a plan…\n" + .string "See you.$" + +MatchCall_NegativeBattleText8:: @ 82AA31B + .string "Oh, {PLAYER}{STRING 5}, how do you do?\n" + .string "This is {STR_VAR_1} speaking.\p" + .string "How are your POKéMON doing?\n" + .string "I lost a match the other day.\p" + .string "I need to try harder!\n" + .string "See you again!$" + +MatchCall_NegativeBattleText9:: @ 82AA3A8 + .string "Oh, {PLAYER}{STRING 5}, hi there!\n" + .string "This is {STR_VAR_1}!\p" + .string "Listen, listen, you have to hear\n" + .string "this!\p" + .string "I had a POKéMON battle earlier,\n" + .string "but I lost at the last second.\p" + .string "Oh, it burns me up!$" + +MatchCall_NegativeBattleText10:: @ 82AA442 + .string "Oh, {PLAYER}{STRING 5}, hello…\n" + .string "This is {STR_VAR_1}.\p" + .string "A little earlier, I was in a battle.\n" + .string "I lost, though.\p" + .string "I need to raise my POKéMON more.\n" + .string "See you around.$" + +MatchCall_NegativeBattleText11:: @ 82AA4C5 + .string "Ah, {PLAYER}{STRING 5}.\n" + .string "This is {STR_VAR_1}.\l" + .string "How are your POKéMON?\p" + .string "I just lost yet another battle.\p" + .string "Well, see you!$" + +MatchCall_NegativeBattleText12:: @ 82AA520 + .string "Hello, {PLAYER}{STRING 5}.\n" + .string "It's me, {STR_VAR_1}.\l" + .string "Are you still battling hard?\p" + .string "As for me, I lost recently, so I've\n" + .string "been training my team all over.\p" + .string "Let's meet again.$" + +MatchCall_NegativeBattleText13:: @ 82AA5AD + .string "Ah, hello, {PLAYER}{STRING 5}!\n" + .string "This is {STR_VAR_1}!\p" + .string "I hope you've been keeping well.\p" + .string "I was in a battle just a little\n" + .string "while before this.\p" + .string "{PLAYER}{STRING 5}, try to be active like me.\n" + .string "See you again!$" + +MatchCall_NegativeBattleText14:: @ 82AA64D + .string "Oh, hi, {PLAYER}{STRING 5}.\n" + .string "This is {STR_VAR_1}.\p" + .string "Are you doing good?\p" + .string "You should go home every so often,\n" + .string "though.\p" + .string "Bye-bye!$" + +MatchCall_PositiveBattleText1:: @ 82AA6AF + .string "Hi! {PLAYER}{STRING 5}, hello!\n" + .string "This is {STR_VAR_1}!\p" + .string "I battled another TRAINER earlier.\n" + .string "I won! I won!\p" + .string "My {STR_VAR_2} really worked hard\n" + .string "for me. This is so great!$" + +MatchCall_PositiveBattleText2:: @ 82AA730 + .string "Hello, {PLAYER}{STRING 5}!\n" + .string "It's {STR_VAR_1}!\p" + .string "I had a battle yesterday and\n" + .string "I won! It's fantastic!$" + +MatchCall_PositiveBattleText3:: @ 82AA77A + .string "Hey there, {PLAYER}!\n" + .string "It's me, {STR_VAR_1}!\l" + .string "How's your battling?\p" + .string "Me, I had a battle the other day,\n" + .string "and my {STR_VAR_2} came up huge!\p" + .string "The next time I battle you,\n" + .string "{PLAYER}, it won't be me losing!$" + +MatchCall_PositiveBattleText4:: @ 82AA81C + .string "Hey, {PLAYER}.\n" + .string "{STR_VAR_1} here.\p" + .string "I had a match earlier.\n" + .string "I managed to win, but it was close.\p" + .string "My {STR_VAR_2} put on one\n" + .string "inspired showing.$" + +MatchCall_PositiveBattleText5:: @ 82AA88C + .string "Hiya, {PLAYER}{STRING 5}!\n" + .string "It's {STR_VAR_1}.\p" + .string "How are things with you?\n" + .string "Battling much?\p" + .string "I just won a while back!\n" + .string "My {STR_VAR_2} was brilliant!\p" + .string "You wait. I'm going to beat you\n" + .string "next time! Right, take care!$" + +MatchCall_PositiveBattleText6:: @ 82AA934 + .string "Hey, {PLAYER}{STRING 5}.\n" + .string "{STR_VAR_1} here.\p" + .string "How's it going for you?\p" + .string "I've been riding a hot streak.\n" + .string "Why, I just won a battle.\p" + .string "When we have our next battle,\n" + .string "I'm sure not going to lose!$" + +MatchCall_PositiveBattleText7:: @ 82AA9D3 + .string "{PLAYER}{STRING 5}?\n" + .string "{STR_VAR_1} here.\p" + .string "My {STR_VAR_2} is a force!\n" + .string "It won me another battle just now!\p" + .string "I can't wait to have a rematch\n" + .string "with you.$" + +MatchCall_PositiveBattleText8:: @ 82AAA40 + .string "Oh, {PLAYER}{STRING 5}, how do you do?\n" + .string "This is {STR_VAR_1} speaking.\p" + .string "I hope you've been well.\n" + .string "I wanted to tell you I just won.\p" + .string "My {STR_VAR_2} worked especially\n" + .string "hard to get the win.\p" + .string "See you again!$" + +MatchCall_PositiveBattleText9:: @ 82AAAE4 + .string "Oh, {PLAYER}{STRING 5}, hi there!\n" + .string "This is {STR_VAR_1}!\p" + .string "How are your POKéMON holding up?\n" + .string "Mine just won a battle!\p" + .string "My {STR_VAR_2} was spectacular,\n" + .string "I must say!\p" + .string "I wish I could've shown you!\n" + .string "See you again!$" + +MatchCall_PositiveBattleText10:: @ 82AAB8C + .string "Oh, {PLAYER}{STRING 5}, hello…\n" + .string "This is {STR_VAR_1}.\p" + .string "How has life been treating you?\p" + .string "My POKéMON appear to be charged\n" + .string "with energy.\p" + .string "I just won a battle with them.\n" + .string "See you around.$" + +MatchCall_PositiveBattleText11:: @ 82AAC25 + .string "Ah, {PLAYER}{STRING 5}.\n" + .string "This is {STR_VAR_1}.\p" + .string "Been in any battles lately?\n" + .string "I just won another one today!\p" + .string "I'm on a roll! Gahahaha!\n" + .string "Well, see you!$" + +MatchCall_PositiveBattleText12:: @ 82AAC9D + .string "Hello, {PLAYER}{STRING 5}.\n" + .string "It's me, {STR_VAR_1}.\p" + .string "I trust you've been well?\n" + .string "I'm still bursting with life!\p" + .string "Why, just now, I won another match.\n" + .string "I'm not stepping aside to you\l" + .string "youngsters yet!$" + +MatchCall_PositiveBattleText13:: @ 82AAD41 + .string "Ah, hello, {PLAYER}{STRING 5}!\n" + .string "This is {STR_VAR_1}!\p" + .string "I hope you've been keeping well.\n" + .string "I still have a bounce in my step!\p" + .string "Why, I just won a battle yet again.\n" + .string "Oh, I won't lose to young people\l" + .string "quite yet!\p" + .string "See you again!$" + +MatchCall_PositiveBattleText14:: @ 82AAE00 + .string "Oh, hi, {PLAYER}{STRING 5}.\n" + .string "This is {STR_VAR_1}.\p" + .string "I was in a battle recently, and my\n" + .string "{STR_VAR_2} was exceptional!\p" + .string "I wish you could have seen it,\n" + .string "{PLAYER}{STRING 5}. Bye-bye!$" + +MatchCall_SameRouteBattleRequestText1:: @ 82AAE7F + .string "Hi! {PLAYER}, hello!\n" + .string "This is {STR_VAR_1}.\p" + .string "Huh? Wait, you're near\n" + .string "{STR_VAR_2}?\p" + .string "Oh, wow, we have to battle, then!\n" + .string "I'll be waiting! See you!$" + +MatchCall_SameRouteBattleRequestText2:: @ 82AAEF1 + .string "Hello, {PLAYER}!\n" + .string "It's {STR_VAR_1}.\p" + .string "Oh? You happen to be around\n" + .string "{STR_VAR_2} right now?\p" + .string "Would you like to battle now?\n" + .string "I'll wait for you! See you!$" + +MatchCall_SameRouteBattleRequestText3:: @ 82AAF69 + .string "Hey there, {PLAYER}!\n" + .string "It's me, {STR_VAR_1}.\p" + .string "Oh, hey, are you near\n" + .string "{STR_VAR_2} right now?\p" + .string "How would you like to battle with\n" + .string "me right now?\p" + .string "I'm not losing again!\n" + .string "I'll be waiting! Catch you soon!$" + +MatchCall_SameRouteBattleRequestText4:: @ 82AB010 + .string "Hey, {PLAYER}{STRING 5}.\n" + .string "{STR_VAR_1} here.\p" + .string "Whereabouts are you now?\n" + .string "Huh? {STR_VAR_2}?\p" + .string "Want to battle now?\n" + .string "I'll wait for you. See you!$" + +MatchCall_SameRouteBattleRequestText5:: @ 82AB076 + .string "Hiya, {PLAYER}{STRING 5}!\n" + .string "It's {STR_VAR_1}.\l" + .string "How are things with you?\p" + .string "You're where now?\n" + .string "{STR_VAR_2}?\p" + .string "Well, how about we have a quick\n" + .string "rematch right away?\p" + .string "I'll keep an eye out for you.\n" + .string "See you soon!$" + +MatchCall_SameRouteBattleRequestText6:: @ 82AB11A + .string "Hey, {PLAYER}{STRING 5}.\n" + .string "{STR_VAR_1} here.\l" + .string "How are your POKéMON keeping?\p" + .string "Oh, is that right? You're around\n" + .string "{STR_VAR_2}?\p" + .string "Well, then, we'd better have\n" + .string "a rematch.\p" + .string "I can wait, sure.\n" + .string "See you!$" + +MatchCall_SameRouteBattleRequestText7:: @ 82AB1B4 + .string "…Er, {PLAYER}{STRING 5}?\n" + .string "{STR_VAR_1} here…\p" + .string "Oh, you happen to be around\n" + .string "{STR_VAR_2}?\p" + .string "Then, let's battle.\n" + .string "Right away, I mean.\p" + .string "I'll show you my POKéMON.\n" + .string "I'll wait for you.$" + +MatchCall_SameRouteBattleRequestText8:: @ 82AB23D + .string "Oh, {PLAYER}{STRING 5}, how do you do?\n" + .string "This is {STR_VAR_1} speaking.\p" + .string "I hope you're doing well.\n" + .string "Oh, you're near {STR_VAR_2}.\p" + .string "Would you like to have a battle\n" + .string "with me, then?\p" + .string "I'll wait for you.\n" + .string "See you soon!$" + +MatchCall_SameRouteBattleRequestText9:: @ 82AB2E9 + .string "Oh, {PLAYER}{STRING 5}, hi there!\n" + .string "This is {STR_VAR_1}!\p" + .string "Are you keeping up?\n" + .string "Oh, you're near {STR_VAR_2}?\p" + .string "Oh, well, then don't you think we\n" + .string "should battle?\p" + .string "Don't keep me waiting too long!$" + +MatchCall_SameRouteBattleRequestText10:: @ 82AB382 + .string "Oh, {PLAYER}{STRING 5}, hello…\n" + .string "This is {STR_VAR_1}.\p" + .string "How are things with you?\n" + .string "Oh, you're near {STR_VAR_2}.\p" + .string "We should have a battle now, then.\p" + .string "I'm ready and waiting.\n" + .string "Be quick!$" + +MatchCall_SameRouteBattleRequestText11:: @ 82AB410 + .string "Ah, {PLAYER}{STRING 5}.\n" + .string "This is {STR_VAR_1}.\p" + .string "Ah, so where you are now is\n" + .string "{STR_VAR_2}?\p" + .string "Well, then, we just have to have\n" + .string "a battle, don't you think?\p" + .string "I'll wait around for you!\n" + .string "See you real quick!$" + +MatchCall_SameRouteBattleRequestText12:: @ 82AB4B0 + .string "Hello, {PLAYER}{STRING 5}.\n" + .string "It's me, {STR_VAR_1}.\l" + .string "Where might you be now?\p" + .string "{STR_VAR_2}?\n" + .string "That's quite close by!\p" + .string "What do you say we have a battle\n" + .string "now?\p" + .string "I can wait.\n" + .string "See you!$" + +MatchCall_SameRouteBattleRequestText13:: @ 82AB538 + .string "Ah, hello, {PLAYER}{STRING 5}!\n" + .string "This is {STR_VAR_1}!\p" + .string "I hope you've been keeping well.\n" + .string "Oh, you're near {STR_VAR_2}?\p" + .string "Since that's not very far away,\n" + .string "come see me for a battle.\p" + .string "I'll wait for you.\n" + .string "Bye for now.$" + +MatchCall_SameRouteBattleRequestText14:: @ 82AB5E4 + .string "Oh, hi, {PLAYER}{STRING 5}.\n" + .string "This is {STR_VAR_1}.\p" + .string "You're what? …{STR_VAR_2}?\n" + .string "That's very close.\p" + .string "Don't you think we ought to have\n" + .string "a battle?\p" + .string "I'll be looking for you!\n" + .string "Bye-bye!$" + +MatchCall_DifferentRouteBattleRequestText1:: @ 82AB670 + .string "Hi! {PLAYER}, hello!\n" + .string "This is {STR_VAR_1}.\p" + .string "Want to have a battle with me?\p" + .string "I'll be waiting for you around\n" + .string "{STR_VAR_2}!$" + +MatchCall_DifferentRouteBattleRequestText2:: @ 82AB6CD + .string "Hello, {PLAYER}!\n" + .string "It's {STR_VAR_1}.\p" + .string "Would you like to have a battle\n" + .string "with me again?\p" + .string "You can find me around\n" + .string "{STR_VAR_2}. I'll be waiting!$" + +MatchCall_DifferentRouteBattleRequestText3:: @ 82AB73C + .string "Hey there, {PLAYER}!\n" + .string "It's me, {STR_VAR_1}.\p" + .string "My POKéMON have grown a lot\n" + .string "tougher since last time.\p" + .string "I want to see how strong they've\n" + .string "become with your POKéMON, {PLAYER}.\p" + .string "So, let's have a battle!\p" + .string "I'll be waiting for you around\n" + .string "{STR_VAR_2}.$" + +MatchCall_DifferentRouteBattleRequestText4:: @ 82AB808 + .string "Hey, {PLAYER}{STRING 5}.\n" + .string "{STR_VAR_1} here.\l" + .string "How are things with you?\p" + .string "My POKéMON have grown pretty\n" + .string "tough lately.\p" + .string "Hey, how would you like to have\n" + .string "another battle with me?\p" + .string "Let's meet up around\n" + .string "{STR_VAR_2}, okay?$" + +MatchCall_DifferentRouteBattleRequestText5:: @ 82AB8B7 + .string "Hiya, {PLAYER}{STRING 5}!\n" + .string "It's {STR_VAR_1}.\p" + .string "My POKéMON are growing up in\n" + .string "decent ways.\p" + .string "I'd really like to have another\n" + .string "battle with you.\p" + .string "I'll keep an eye out for you around\n" + .string "{STR_VAR_2}. See you soon!$" + +MatchCall_DifferentRouteBattleRequestText6:: @ 82AB95D + .string "Hey, {PLAYER}{STRING 5}.\n" + .string "{STR_VAR_1} here.\l" + .string "I hope you're on top of things.\p" + .string "I was thinking I'd like another\n" + .string "battle with you. What do you say?\p" + .string "If you feel like a battle,\n" + .string "come to {STR_VAR_2}.\p" + .string "See you!$" + +MatchCall_DifferentRouteBattleRequestText7:: @ 82ABA03 + .string "…Er, {PLAYER}{STRING 5}?\n" + .string "{STR_VAR_1} here…\l" + .string "So? Are your POKéMON growing?\p" + .string "Mine sure got stronger.\n" + .string "I'd like to show you.\p" + .string "I'll be around {STR_VAR_2}.\n" + .string "Come see me for a match.\p" + .string "See you around.$" + +MatchCall_DifferentRouteBattleRequestText8:: @ 82ABA9F + .string "Oh, {PLAYER}{STRING 5}, how do you do?\n" + .string "This is {STR_VAR_1} speaking.\p" + .string "I hope you're doing well.\n" + .string "My POKéMON are very frisky.\p" + .string "If you're ever in the area, please\n" + .string "give me a rematch.\p" + .string "I'll be around {STR_VAR_2}.\n" + .string "Until then, good-bye!$" + +MatchCall_DifferentRouteBattleRequestText9:: @ 82ABB62 + .string "Oh, {PLAYER}{STRING 5}, hi there!\n" + .string "This is {STR_VAR_1}!\l" + .string "How are your POKéMON doing?\p" + .string "My POKéMON keep getting better.\n" + .string "I'd like to show you, {PLAYER}{STRING 5}.\p" + .string "I'm around {STR_VAR_2} now,\n" + .string "so let's battle if you're close by.\p" + .string "Hope I see you soon!$" + +MatchCall_DifferentRouteBattleRequestText10:: @ 82ABC26 + .string "Oh, {PLAYER}{STRING 5}, hello…\n" + .string "This is {STR_VAR_1}.\l" + .string "So, how are things with you?\p" + .string "My POKéMON have grown much\n" + .string "stronger than before.\p" + .string "I'd love another battle with you,\n" + .string "{PLAYER}{STRING 5}.\p" + .string "I'll be around {STR_VAR_2}.\n" + .string "Come see me if you're close.$" + +MatchCall_DifferentRouteBattleRequestText11:: @ 82ABCE9 + .string "Ah, {PLAYER}{STRING 5}.\n" + .string "This is {STR_VAR_1}.\l" + .string "Where might you be now?\p" + .string "My POKéMON are full of life.\n" + .string "They appear to be looking forward\l" + .string "to seeing your POKéMON, {PLAYER}{STRING 5}.\p" + .string "I'm around {STR_VAR_2} now.\n" + .string "I hope you'll seek us out.$" + +MatchCall_DifferentRouteBattleRequestText12:: @ 82ABDA2 + .string "Hello, {PLAYER}{STRING 5}.\n" + .string "It's me, {STR_VAR_1}.\p" + .string "I should tell you, my POKéMON have\n" + .string "grown to be quite robust lately.\p" + .string "I would like to see them in a battle\n" + .string "with you, {PLAYER}{STRING 5}.\p" + .string "We'll be around {STR_VAR_2}.\n" + .string "Come see us anytime!$" + +MatchCall_DifferentRouteBattleRequestText13:: @ 82ABE5E + .string "Ah, hello, {PLAYER}{STRING 5}!\n" + .string "This is {STR_VAR_1}!\l" + .string "Are your POKéMON keeping well?\p" + .string "My POKéMON have been so healthy,\n" + .string "they don't look capable of losing!\p" + .string "I would surely love to have another\n" + .string "battle with you.\p" + .string "If you're near {STR_VAR_2},\n" + .string "do come see us.$" + +MatchCall_DifferentRouteBattleRequestText14:: @ 82ABF36 + .string "Oh, hi, {PLAYER}{STRING 5}.\n" + .string "This is {STR_VAR_1}.\l" + .string "Keeping well, I hope.\p" + .string "Oh, yes! My POKéMON are\n" + .string "much stronger than before.\p" + .string "Don't you think we ought to have\n" + .string "a battle, {PLAYER}{STRING 5}?\p" + .string "We'll be waiting for you around\n" + .string "{STR_VAR_2}.\p" + .string "Come see us anytime, okay?$" + +MatchCall_PersonalizedText1:: @ 82AC009 + .string "It's me, the mountain-loving\n" + .string "{STR_VAR_1}!\p" + .string "Well, since we met, have you grown\n" + .string "to appreciate the mountains more?\p" + .string "I rarely see you in the mountains…\p" + .string "Next time, we'll meet somewhere\n" + .string "around {STR_VAR_2}.$" + +MatchCall_PersonalizedText2:: @ 82AC0BD + .string "This is {STR_VAR_1}.\n" + .string "Hello.\p" + .string "I was just telling a new TRAINER\n" + .string "about you.\p" + .string "I told her about a strong TRAINER\n" + .string "who raises POKéMON with care.\p" + .string "I hope you'll become a TRAINER\n" + .string "that everyone will admire.\p" + .string "I hope we meet again!$" + +MatchCall_PersonalizedText3:: @ 82AC18C + .string "Hello! It's {STR_VAR_1}.\p" + .string "I love where I am now.\n" + .string "It's pleasant with sweet aromas!\p" + .string "I think someone planted BERRIES,\n" + .string "and they burst into bloom.\p" + .string "See you again sometime!$" + +MatchCall_PersonalizedText4:: @ 82AC228 + .string "Hello! Thirty years of exploration,\n" + .string "{STR_VAR_1} at your service!\p" + .string "It seems that you're energetically\n" + .string "traveling here and there.\p" + .string "Have you discovered any new ruins?\n" + .string "Please tell if you have!\p" + .string "Now, if you'll excuse me,\n" + .string "I have ruins to explore.$" + +MatchCall_PersonalizedText5:: @ 82AC30C + .string "It's {STR_VAR_1}!\p" + .string "Know what I'm doing today?\n" + .string "Looking at waves from the beach!\p" + .string "Sigh… The waves are all sparkly.\n" + .string "The sea is the prettiest from here.\l" + .string "I'm getting hungry, so bye-bye!$" + +MatchCall_PersonalizedText6:: @ 82AC3B6 + .string "Munch-chew…\n" + .string "Oh, hi, it's {STR_VAR_1}.\l" + .string "I love eating on the beach.\p" + .string "My POKéMON and I have been doing\n" + .string "great. We're fully fueled!\l" + .string "I'm going for a swim. Bye!$" + +MatchCall_PersonalizedText7:: @ 82AC446 + .string "Hello, this is {STR_VAR_1}…\p" + .string "I've grown a little jaded with this\n" + .string "whole COOLTRAINER thing…\p" + .string "Everyone thinks I'm a perfect\n" + .string "TRAINER, and that makes me try to\l" + .string "live up to that expectation.\p" + .string "But I guess that goes with being\n" + .string "a COOLTRAINER.\p" + .string "I'll just have to buckle down…\n" + .string "and grin and bear it.\p" + .string "You're the only person that I could\n" + .string "confide in like this.\p" + .string "But when I see you next,\n" + .string "don't worry, I won't whine!$" + +MatchCall_PersonalizedText8:: @ 82AC5C7 + .string "Yahoo, it's {STR_VAR_1}!\n" + .string "How do you do?\p" + .string "I've been raising my POKéMON with\n" + .string "you as the target.\p" + .string "I don't intend to lose when we\n" + .string "battle again.\p" + .string "Isn't it great to have TRAINER\n" + .string "friends? Let's meet again!$" + +MatchCall_PersonalizedText9:: @ 82AC682 + .string "It's {STR_VAR_1}…\n" + .string "Right now, behind you…\l" + .string "Wasn't there something…?\p" + .string "The power of the POKéMON that\n" + .string "sleep here at MT. PYRE…\p" + .string "It's telling me about you…\p" + .string "You should walk away quickly and\n" + .string "never once look back…\p" + .string "Giggle…\n" + .string "Farewell…$" + +MatchCall_PersonalizedText10:: @ 82AC755 + .string "This is {STR_VAR_1}.\n" + .string "How do you do?\p" + .string "Isn't it convenient that we can\n" + .string "chat like this at a distance?\p" + .string "Before, if I wanted to speak with\n" + .string "anyone, I had to have my father\l" + .string "drive me…\p" + .string "I should be going now.\n" + .string "I'm glad we had this chat.$" + +MatchCall_PersonalizedText11:: @ 82AC82C + .string "It's {STR_VAR_1}!\n" + .string "Will you listen to this?\p" + .string "I like the SAFARI ZONE a lot,\n" + .string "but whenever I go, I get lost!\p" + .string "All that tall grass!\n" + .string "And it's much too spread out!\p" + .string "I feel better getting that off\n" + .string "my chest!\p" + .string "I'm off to the SAFARI ZONE again!\n" + .string "Catch you!$" + +MatchCall_PersonalizedText12:: @ 82AC914 + .string "Hello, {STR_VAR_1} here.\n" + .string "Yes, correct, I am rich, yes.\p" + .string "I should tell you, my wealth has\n" + .string "grown since we last met.\p" + .string "What's more, my POKéMON have also\n" + .string "grown stronger.\p" + .string "I can't shake the feeling that\n" + .string "this world exists for me!\p" + .string "Oh, no need to say a word!\n" + .string "Everyone knows it's true!\p" + .string "Oh, you must excuse me, I have this\n" + .string "formal dinner to attend.$" + +MatchCall_PersonalizedText13:: @ 82ACA59 + .string "Ufufufufu…\n" + .string "It's me, {STR_VAR_1}…\p" + .string "Can you guess what I'm seeing?\n" + .string "A pair of {STR_VAR_2} in a battle.\p" + .string "Maybe I'll try catching the winner…\n" + .string "Ufufufufufu…\p" + .string "I… I'm kind of busy now.\n" + .string "I have to go.$" + +MatchCall_PersonalizedText14:: @ 82ACB02 + .string "Oh, it's {STR_VAR_1}!\p" + .string "I was just thinking I'm getting\n" + .string "bored of the ABANDONED SHIP.\p" + .string "But since I'm already here,\n" + .string "and I want to beat you once,\l" + .string "I'll be sticking around a bit more.\p" + .string "If you feel compelled, why don't\n" + .string "you come see me?\p" + .string "I think today will be the day that\n" + .string "I finally challenge the man next\l" + .string "door to a match.\p" + .string "Be seeing you!$" + +MatchCall_PersonalizedText15:: @ 82ACC3F + .string "I'm {STR_VAR_1}!\n" + .string "The man of the sea!\p" + .string "You know what I think?\p" + .string "The TRAINERS out at sea are\n" + .string "the toughest of the tough!\p" + .string "You should learn from me and train\n" + .string "in the sea…\p" + .string "Whoops, giant surf rising!\p" + .string "It's a great training opportunity!\n" + .string "Sorry, but I have to go!$" + +MatchCall_PersonalizedText16:: @ 82ACD2F + .string "It's {STR_VAR_1}! Listen, I've been\n" + .string "teaching karate to my POKéMON.\p" + .string "But now they're better than me!\n" + .string "I've done nothing but lose to them!\p" + .string "But even though I may lose to\n" + .string "POKéMON, I won't lose to another\l" + .string "TRAINER, no sir!\p" + .string "We have to battle again!\n" + .string "Ugwaah!$" + +MatchCall_PersonalizedText17:: @ 82ACE1E + .string "It's me, {STR_VAR_1}.\n" + .string "How're your travels unwinding?\p" + .string "…Whoa, is that right?\n" + .string "Sounds awfully stimulating!\p" + .string "I think I could write a song about\n" + .string "one of your episodes.\p" + .string "…Oh, hey, I'm feeling it.\n" + .string "I hear the riffs in my head.\p" + .string "I'd better get this tune properly\n" + .string "written, so I've got to fly! Later!$" + +MatchCall_PersonalizedText18:: @ 82ACF32 + .string "This is {STR_VAR_1}…\n" + .string "Hear my new song.\p" + .string "Lalala, {STR_VAR_2}, {STR_VAR_2}!\n" + .string "Why are you that {STR_VAR_2}?\l" + .string "Why can't I be you, {STR_VAR_2}?\l" + .string "Lala, {STR_VAR_2} and {STR_VAR_1},\l" + .string "{STR_VAR_1} and {STR_VAR_2}…\p" + .string "Repeat chorus, fade…$" + +MatchCall_PersonalizedText19:: @ 82ACFBE + .string "I'm {STR_VAR_1}, you know,\n" + .string "the camping expert!\p" + .string "When we battled, I couldn't help\n" + .string "but lose to you.\p" + .string "After all, my expertise is in\n" + .string "camping.\p" + .string "But win or lose, I like to battle\n" + .string "when I'm camping.\p" + .string "Battle with us again, okay?\n" + .string "Oh, and let's go camping, too!$" + +MatchCall_PersonalizedText20:: @ 82AD0AC + .string "It's me, me, {STR_VAR_1}!\p" + .string "I'd like to climb other mountains\n" + .string "than this one, to be honest.\p" + .string "But I'm not sure if there'd be any\n" + .string "ladies like on MT. CHIMNEY.\p" + .string "If you know any other mountain\n" + .string "with ladies around, let me know!\p" + .string "Ehehehe, see you around!$" + +MatchCall_PersonalizedText21:: @ 82AD194 + .string "… … … … … …\n" + .string "… … … … … …\l" + .string "It's {STR_VAR_1}…\p" + .string "… … … … … …\n" + .string "… … … … … …\l" + .string "That's all today…$" + +MatchCall_PersonalizedText22:: @ 82AD1DF + .string "This is {STR_VAR_1}. Today, I had\n" + .string "this feeling I would chat with you.\p" + .string "My desire to defeat you builds\n" + .string "by day and by night.\p" + .string "You have a rival like that, yes?\n" + .string "I wish it were me…\p" + .string "I'm glad you heard me out.\n" + .string "See you!$" + +MatchCall_PersonalizedText23:: @ 82AD2A8 + .string "It's {STR_VAR_1}.\p" + .string "When there's a strong TRAINER\n" + .string "nearby, I can sometimes sense that\l" + .string "somehow.\p" + .string "Did you pass close by, {PLAYER}{STRING 5}?\n" + .string "Maybe it was you.\p" + .string "I'll be waiting for your visit.\n" + .string "Bye!$" + +MatchCall_PersonalizedText24:: @ 82AD34F + .string "Hello, this is {STR_VAR_1}.\n" + .string "You sound well, {PLAYER}{STRING 5}.\p" + .string "I've traveled around the world,\n" + .string "but I must say I've taken a great\l" + .string "shine to this region.\p" + .string "I plan to stay here a while.\n" + .string "Perhaps we can meet again?\p" + .string "I've not forgotten your dazzling\n" + .string "techniques.\p" + .string "I do hope for a rematch.$" + +MatchCall_PersonalizedText25:: @ 82AD44E + .string "Snivel… It's… {STR_VAR_1}…\n" + .string "…Sob…\p" + .string "ROXANNE chewed me out in class\n" + .string "today.\p" + .string "But I don't dislike her or anything.\p" + .string "ROXANNE tells me exactly what\n" + .string "I did wrong so I can learn from it.\p" + .string "You bet I'll be going to\n" + .string "the TRAINER'S SCHOOL tomorrow!\p" + .string "See you later!$" + +MatchCall_PersonalizedText26:: @ 82AD53A + .string "It's {STR_VAR_1}!\p" + .string "ROXANNE let me battle with her\n" + .string "yesterday.\p" + .string "The results…\n" + .string "Terrible, like you needed to ask.\p" + .string "But I was delighted that ROXANNE\n" + .string "would even let me challenge her!\p" + .string "You wouldn't believe how much\n" + .string "more I admire her!\p" + .string "I'm going to really focus and work!\n" + .string "I'd better go!$" + +MatchCall_PersonalizedText27:: @ 82AD642 + .string "Hi, it's ANNA! I'm with my junior\n" + .string "partner MEG again today.\p" + .string "I really love caring for MEG and\n" + .string "POKéMON. They're so cute!\p" + .string "I wish I could look after them\n" + .string "as if they were my siblings!\p" + .string "Oh, hi, MEG!\n" + .string "Did you get the buns?\p" + .string "Huh? No, no, I'm not treating you\n" + .string "like my personal slave!\p" + .string "You lost the match, so you have\n" + .string "to go buy the bread as punishment!\p" + .string "I wouldn't treat you like a slave,\n" + .string "MEG! You're too special to me!\p" + .string "I have to go now.\n" + .string "It's time for our snack!$" + +MatchCall_PersonalizedText28:: @ 82AD801 + .string "I love POKéMON!\n" + .string "It's {STR_VAR_1} from the FAN CLUB!\p" + .string "You have to hear this!\n" + .string "My sweet POKéMON…\p" + .string "Snort! Wahaha!\n" + .string "I can't say any more! It's a secret!\l" + .string "It's just too cute for words!\p" + .string "Oh, my sweet {STR_VAR_2} is begging\n" + .string "for a {POKEBLOCK}!\p" + .string "It's the picture of cuteness!\p" + .string "Sorry, but I can't talk now!\n" + .string "You'll have to hear this next time!$" + +MatchCall_PersonalizedText29:: @ 82AD92E + .string "Ohoho!\p" + .string "This is {STR_VAR_1}! I can't wait to\n" + .string "tell you about my darling POKéMON!\p" + .string "Please, you must listen to this.\n" + .string "It's about my darling {STR_VAR_2}.\p" + .string "Whenever anyone picks it up,\n" + .string "it leaps straight into my arms!\p" + .string "Oh… Oh… Could there be anything\n" + .string "more blissful?\p" + .string "Oh, it feels so heavenly!\p" + .string "I'm so glad I could share some of\n" + .string "my happiness with you.\p" + .string "Well, I must be going.\n" + .string "Bye, now!$" + +MatchCall_PersonalizedText30:: @ 82ADA8F + .string "I am… {STR_VAR_1}.\n" + .string "People call me an EXPERT.\p" + .string "But there is one thing I know.\n" + .string "I could not be an EXPERT on my own\l" + .string "power.\p" + .string "Only with the help of POKéMON can\n" + .string "a TRAINER become an EXPERT.\p" + .string "Humph! I believe I may have said\n" + .string "something deep and profound!\p" + .string "I shall leave you in good spirits!$" + +MatchCall_PersonalizedText31:: @ 82ADB9B + .string "It's {STR_VAR_1}.\n" + .string "I'm glad to chat with you!\p" + .string "I am feeling alive and refreshed\n" + .string "soaking in this hot-spring tub.\p" + .string "I've been battling young TRAINERS\n" + .string "since we met, but you're still\l" + .string "the best of the lot.\p" + .string "I imagine you'll become an EXPERT\n" + .string "in your old age! Ohohoho…$" + +MatchCall_PersonalizedText32:: @ 82ADC92 + .string "Yay! This is {STR_VAR_1}!\n" + .string "What's up?\p" + .string "I might be imagining this, but when\n" + .string "I win battles, my shorts seem to\l" + .string "feel, like, better. Materially.\p" + .string "What do I mean by that?\n" + .string "It's kind of hard to explain, but…\l" + .string "How would I say this now…\l" + .string "My shorts feel silkier!\p" + .string "And when I battled you, {PLAYER}{STRING 5},\n" + .string "my shorts felt icky and coarse.\p" + .string "… … … … … …\n" + .string "You didn't really believe that?\l" + .string "Ehehehe, that's all! Bye now!$" + +MatchCall_PersonalizedText33:: @ 82ADE08 + .string "Ahoy!\n" + .string "{STR_VAR_1} here!\p" + .string "As always, I'm fishing with wild\n" + .string "abandon!\p" + .string "Are there other places I can fish\n" + .string "than the sea and rivers?\p" + .string "I get these powerful urges to\n" + .string "fish just about anywhere!\p" + .string "Oh, gosh, darn it!\n" + .string "My line's tangled up!\p" + .string "Gotta go!\n" + .string "Find me some new fishing spots!$" + +MatchCall_PersonalizedText34:: @ 82ADF07 + .string "Hey, there! It's {STR_VAR_1}.\n" + .string "Are you taking it casually?\p" + .string "Ever since I was a kid, you know,\n" + .string "I've always been placid, huh?\p" + .string "I never was much for getting all\n" + .string "stressed or rushing things.\p" + .string "But wouldn't you know it,\n" + .string "I'm now a TRIATHLETE.\p" + .string "You just can't tell where life will\n" + .string "take you, if you get my drift.\p" + .string "You're a TRAINER now, but who\n" + .string "knows what the future holds, huh?\p" + .string "Imagine yourself as a teacher,\n" + .string "or maybe an artist. Cool, huh?\p" + .string "But, hey, be cool. Take it casual.\n" + .string "See you around.$" + +MatchCall_PersonalizedText35:: @ 82AE0D9 + .string "This is {STR_VAR_1}!\n" + .string "I'm cycling right now.\p" + .string "I love swimming and running,\n" + .string "but cycling is my first love!\p" + .string "It makes my whole body feel as if\n" + .string "I'm one with the wind.\p" + .string "It exhilarates me as if I were\n" + .string "flying!\p" + .string "Okay! Today, I'm going to set a new\n" + .string "CYCLING ROAD record!\p" + .string "You should make the challenge, too!\n" + .string "See you!$" + +MatchCall_PersonalizedText36:: @ 82AE1FD + .string "Yo, this is {STR_VAR_1}! I'm smack\n" + .string "in the middle of a triathlon!\p" + .string "But, hey, I've always got time to\n" + .string "shoot the breeze!\p" + .string "Working out with POKéMON feels\n" + .string "mighty good!\p" + .string "Without exchanging words, we synch\n" + .string "as if we shared a heart.\p" + .string "It's inspiring!\p" + .string "Gasp… Chatting while running…\n" + .string "I'm getting run down…\l" + .string "Gasp… Have…to…go…$" + +MatchCall_PersonalizedText37:: @ 82AE327 + .string "Hi, it's {STR_VAR_1}.\n" + .string "If you want to improve endurance,\l" + .string "high-altitude training is it!\p" + .string "Try running on a mountaintop.\n" + .string "You'll be gasping in no time!\p" + .string "I'm getting oxygen starved, too!\n" + .string "See you!$" + +MatchCall_PersonalizedText38:: @ 82AE3DA + .string "Oh, it's {STR_VAR_1}, hello.\p" + .string "I've been swimming a lot but I still\n" + .string "can't seem to reach EVERGRANDE.\p" + .string "Maybe I'm just going in circles.\p" + .string "No, no, that can't be possible.\n" + .string "Wahahaha.\l" + .string "Take care!$" + +MatchCall_PersonalizedText39:: @ 82AE489 + .string "Hey, it's {STR_VAR_1}…\n" + .string "Whoops!\p" + .string "Splash!\p" + .string "Blug-blug-blug-blug…\p" + .string "Sploosh!\p" + .string "Whiff-whiff! Whiff-whiff!\p" + .string "Hey! Sorry about that!\n" + .string "I just put on some suntan oil.\p" + .string "So my POKéNAV went whoopsy\n" + .string "out of my hand into the water!\p" + .string "But, boy, DEVON's POKéNAV is built\n" + .string "tough. It survived that dunking!\p" + .string "Anyways, I'm busy sunbathing,\n" + .string "so let's chat another time.$" + +MatchCall_PersonalizedText40:: @ 82AE5CD + .string "Hello, this is {STR_VAR_1}.\p" + .string "Out of the three triathlon events,\n" + .string "I like swimming best.\p" + .string "But if I stay in the sea too long,\n" + .string "won't I get all prune-like?\p" + .string "Ooh, triathlon is such a grueling\n" + .string "test of human endurance! Bye!$" + +MatchCall_PersonalizedText41:: @ 82AE698 + .string "Hello, {PLAYER}{STRING 5}.\n" + .string "{STR_VAR_1} here.\p" + .string "How are your POKéMON doing?\p" + .string "My DRAGON POKéMON appear to be\n" + .string "in peak form. Bye for now.$" + +MatchCall_PersonalizedText42:: @ 82AE704 + .string "{STR_VAR_1} here.\p" + .string "My {STR_VAR_2} has grown even more\n" + .string "tough than that last time.\p" + .string "I'm not going to lose again to you.\n" + .string "You wait till next time!\p" + .string "See you around!$" + +MatchCall_PersonalizedText43:: @ 82AE78F + .string "It is {STR_VAR_1} here.\p" + .string "I have continued with my studies\n" + .string "in the art of concealment.\p" + .string "But I have been too successful.\n" + .string "No one has been able to find me.\l" + .string "My success makes me lonely…\p" + .string "Like smoke I disappear!\n" + .string "Farewell!$" + +MatchCall_PersonalizedText44:: @ 82AE859 + .string "This is {STR_VAR_1}.\n" + .string "I kept up my training since we met.\p" + .string "My {STR_VAR_2} is getting pretty\n" + .string "tough.\p" + .string "Training on a beach is effective,\n" + .string "just as I thought. Bye now!$" + +MatchCall_PersonalizedText45:: @ 82AE8E6 + .string "How do you do?\n" + .string "This is {STR_VAR_1}.\p" + .string "I wonder when this yucky volcanic\n" + .string "ash will stop falling?\p" + .string "If it gets too deep, it will cover\n" + .string "up the pattern on my parasol…\p" + .string "Let's promise to meet again!$" + +MatchCall_PersonalizedText46:: @ 82AE998 + .string "Hi, {STR_VAR_1} here.\p" + .string "Did you know that it's easier to\n" + .string "float in the sea than a pool?\p" + .string "Just by lying still, your body will\n" + .string "float on its own.\p" + .string "But if you float for too long,\n" + .string "watch that you don't get carried\l" + .string "off too far out.\p" + .string "…Where am I, anyway?\n" + .string "I'd better go!$" + +MatchCall_PersonalizedText47:: @ 82AEA8F + .string "Oh, {PLAYER}{STRING 5}, hello!\n" + .string "This is {STR_VAR_1}.\l" + .string "I'm up in the mountains now.\p" + .string "But the ground is too bumpy.\n" + .string "I can't pitch my tent here…\p" + .string "Oh, I had a brilliant idea!\p" + .string "Maybe I can get my POKéMON to tamp\n" + .string "the ground flat here!\p" + .string "I'm going to try that!\n" + .string "Bye-bye!$" + +MatchCall_PersonalizedText48:: @ 82AEB77 + .string "Oh, hi, hi, this is {STR_VAR_1}!\p" + .string "I'm raising POKéMON with LIV!\n" + .string "We're trying very hard!\p" + .string "If we try harder, can we become\n" + .string "number one? Bye-bye!$" + +MatchCall_PersonalizedText49:: @ 82AEBFA + .string "{STR_VAR_1} here!\p" + .string "I'm a SAILOR, but I'm not on a boat\n" + .string "now.\p" + .string "It makes me wonder--what should\n" + .string "a SAILOR on land be called?\p" + .string "That's what I've been thinking\n" + .string "while staring out across the waves.\p" + .string "All right, next time!$" + +MatchCall_PersonalizedText50:: @ 82AECC1 + .string "It's {STR_VAR_1}.\n" + .string "So? Get any more POKéMON?\p" + .string "If you catch a new POKéMON,\n" + .string "you have to come show me.\p" + .string "I won't whine for it, honest.\n" + .string "I'll be waiting. See you.$" + +MatchCall_PersonalizedText51:: @ 82AED52 + .string "This is {STR_VAR_1}.\p" + .string "Are you raising your POKéMON\n" + .string "in the optimal way?\p" + .string "The air is clean where I am.\n" + .string "It's the perfect environment for\l" + .string "raising POKéMON.\p" + .string "If you're going to focus on raising\n" + .string "POKéMON, you should come out to\l" + .string "{STR_VAR_2}. Take care now.$" + +MatchCall_PersonalizedText52:: @ 82AEE35 + .string "Hi, this is {STR_VAR_1}.\p" + .string "I gave a {POKEBLOCK} to my {STR_VAR_2}.\n" + .string "It seemed to enjoy it very much.\p" + .string "It looks like POKéMON have their\n" + .string "likes and dislikes with {POKEBLOCK}S.\p" + .string "I find that quite fascinating.\n" + .string "Please do take care.$" + +MatchCall_PersonalizedText53:: @ 82AEEF4 + .string "{STR_VAR_1} here.\p" + .string "If you cooperate with POKéMON,\n" + .string "one can be comfortable in the wild.\p" + .string "Everyone should realize that and\n" + .string "cooperate with POKéMON more.\p" + .string "That would be ideal.\n" + .string "I really think so.\p" + .string "I think you're on the right track!\n" + .string "Catch you later!$" + +MatchCall_PersonalizedText54:: @ 82AEFDA + .string "Hi, it's {STR_VAR_1}. You know,\n" + .string "the TRAINER who's always prepared!\p" + .string "{PLAYER}{STRING 5}, do you have enough items?\n" + .string "Are your POKéMON fit for action?\p" + .string "Keeping everything perfect around\n" + .string "you all the time is the secret to\l" + .string "keeping your journey going.\p" + .string "I'd better go check my own\n" + .string "supplies! Be vigilant!$" + +MatchCall_PersonalizedText55:: @ 82AF0E7 + .string "It's {STR_VAR_1}!\n" + .string "It's {STR_VAR_1}!\p" + .string "{STR_VAR_2} is a very busy\n" + .string "thoroughfare, so I get challenged\l" + .string "by all kinds of TRAINERS every day.\p" + .string "Today, I won five battles and lost\n" + .string "only three!\p" + .string "How did you do today?\n" + .string "Tell me about it next time, okay?$" + +MatchCall_PersonalizedText56:: @ 82AF1B8 + .string "It's me, {STR_VAR_1}.\p" + .string "I'm popular because I have lots\n" + .string "of BUG POKéMON, right?\p" + .string "Well, I took a bunch of my fave\n" + .string "bugs to school today.\p" + .string "This girl I like started crying!\n" + .string "Go ahead and laugh if you want.\p" + .string "I have to try teaching her what\n" + .string "makes BUG POKéMON so appealing.\p" + .string "Snivel…\n" + .string "See you!$" + +MatchCall_PersonalizedText57:: @ 82AF2C4 + .string "Hah! Hah! Hah! Hah!\p" + .string "Hi! It's {STR_VAR_1}! Hah! Hah!\p" + .string "Trying to chat…\n" + .string "While climbing…\l" + .string "Is harsh exercise… Hah! Hah!\p" + .string "Urgh! Oof…\n" + .string "It's steeper now…\l" + .string "We'll chat…another time…\l" + .string "Hah! Hah! Hah!$" + +MatchCall_PersonalizedText58:: @ 82AF371 + .string "Oh, hi!\p" + .string "I'm still searching for treasures\n" + .string "with KIRA!\p" + .string "Maybe there isn't any treasure\n" + .string "here at all…\p" + .string "But the important thing is for me\n" + .string "to search alongside KIRA.\p" + .string "Oh, hey, KIRA!\n" + .string "Wh-why are you angry?\p" + .string "I'm not ignoring you, honey!\n" + .string "You're my one and only!\p" + .string "…{PLAYER}, I have to go, bye!$" + +MatchCall_PersonalizedText59:: @ 82AF480 + .string "This is {STR_VAR_1}!\p" + .string "I went to DEWFORD's GYM again\n" + .string "for training.\p" + .string "BRAWLY, the GYM LEADER, seems\n" + .string "to be tougher now.\p" + .string "Something about being toughened\n" + .string "by the wild waves…\p" + .string "But he's still as cool as ever.\n" + .string "The ladies adore him!\l" + .string "It makes me envious, frankly.\p" + .string "I wonder… Is his friend BRUNO\n" + .string "the same way as BRAWLY?\p" + .string "You know, all sweaty or smelly,\n" + .string "and prone to calling people\l" + .string "“big wave,” that sort of thing.\p" + .string "But, hey, this jealousy thing isn't\n" + .string "very seemly, is it?\p" + .string "Forget this chat ever happened,\n" + .string "how about it? So long!$" + +MatchCall_PersonalizedText60:: @ 82AF671 + .string "It's a pleasure to chat with\n" + .string "a young TRAINER like you.\p" + .string "I imagine that you will continue to\n" + .string "enjoy POKéMON whatever your age.\p" + .string "Wouldn't it be good if you had\n" + .string "a partnership like ours?\p" + .string "Of course, {PLAYER}{STRING 5}, you already\n" + .string "enjoy the trust and companionship\l" + .string "of your POKéMON now.\p" + .string "You have the makings of long and\n" + .string "enduring relationships already!\p" + .string "Hahaha!\n" + .string "Never be discouraged!$" + +MatchCall_PersonalizedText61:: @ 82AF7D8 + .string "Hi, this is {STR_VAR_1}!\n" + .string "We just won a battle!\p" + .string "We don't win often, but it was this\n" + .string "cool SWIMMER guy.\p" + .string "My sister was steamed!\p" + .string "She wanted to pretend that she\n" + .string "was weak to make an impression!\p" + .string "She always chews me out whether\n" + .string "we win or lose!\p" + .string "{PLAYER}{STRING 5}, can you say something\n" + .string "to her next time?\p" + .string "Okay, see you!$" + +MatchCall_PersonalizedText62:: @ 82AF8F7 + .string "{STR_VAR_1} here, yes.\n" + .string "I headed out to sea yesterday.\p" + .string "I had been hoping to find a new\n" + .string "ruin to explore.\p" + .string "But the tides somehow seemed to\n" + .string "carry me back where I started.\p" + .string "I'm still weak at battling, too…\n" + .string "Feel free to mock me…\l" + .string "But I won't give up.\p" + .string "My day will come when I discover\n" + .string "a new ruin!\p" + .string "That's all I have to say!\n" + .string "Farewell for now!$" + +MatchCall_PersonalizedText63:: @ 82AFA39 + .string "Ahoy there!\n" + .string "It's me, {STR_VAR_1}!\l" + .string "I'm out on ROUTE 108 now!\l" + .string "In other words, where I always am!\p" + .string "Today, a gorgeous SWIMMER \n" + .string "swam by me!\p" + .string "So I startled her with a shout!\p" + .string "And she gave me a nasty glare!\p" + .string "That's all from ROUTE 108!\n" + .string "Brought to you by {STR_VAR_1}!$" + +MatchCall_PersonalizedText64:: @ 82AFB26 + .string "It's {STR_VAR_1}!\p" + .string "I'm kind of busy, but I figured\n" + .string "I should let you know that I've\l" + .string "beaten five TRAINERS again today.\p" + .string "If I keep this pace up, I can\n" + .string "probably beat you next time.\p" + .string "I think we'll be good rivals,\n" + .string "you and I. Good-bye for now!$" + +MatchCall_BattleFrontierStreakText1:: @ 82AFC07 + .string "Hi! This is {STR_VAR_1}.\n" + .string "I heard the news!\p" + .string "They say you did excellent at\n" + .string "the {STR_VAR_2}.\p" + .string "It's awesome, {STR_VAR_3} straight wins?\n" + .string "See you!$" + +MatchCall_BattleFrontierStreakText2:: @ 82AFC78 + .string "Hello, it's {STR_VAR_1}!\n" + .string "I heard about you!\p" + .string "They said you won {STR_VAR_3} straight\n" + .string "battles at the {STR_VAR_2}.\p" + .string "That's special! I should try\n" + .string "harder, too! See you!$" + +MatchCall_BattleFrontierStreakText3:: @ 82AFCFF + .string "Hey there, {PLAYER}!\n" + .string "It's me, {STR_VAR_1}.\p" + .string "I heard you went on a tear at\n" + .string "the {STR_VAR_2}!\p" + .string "A big {STR_VAR_3}-win streak…\n" + .string "That is a big record, isn't it?\p" + .string "I'd better get it together, too!\n" + .string "Catch you soon!$" + +MatchCall_BattleFrontierStreakText4:: @ 82AFDA7 + .string "Hey, {PLAYER}{STRING 5}.\n" + .string "{STR_VAR_1} here. What's up?\p" + .string "There's a rumor going around that\n" + .string "you strung together {STR_VAR_3} straight\l" + .string "wins at the {STR_VAR_2}.\p" + .string "I'd better step it up, too.\n" + .string "See you!$" + +MatchCall_BattleFrontierStreakText5:: @ 82AFE3D + .string "Hiya, {PLAYER}{STRING 5}!\n" + .string "It's {STR_VAR_1}.\p" + .string "You were at the {STR_VAR_2}\n" + .string "and won {STR_VAR_3} battles in a row?\l" + .string "Isn't that something!\p" + .string "I'd better work on my POKéMON more.\n" + .string "See you soon!$" + +MatchCall_BattleFrontierStreakText6:: @ 82AFECA + .string "Hey, {PLAYER}{STRING 5}.\n" + .string "{STR_VAR_1} here. How are you?\p" + .string "By the way, I heard you pulled off\n" + .string "the feat of {STR_VAR_3} straight wins at\l" + .string "the {STR_VAR_2}.\p" + .string "That inspires me to focus on\n" + .string "raising my team.$" + +MatchCall_BattleFrontierStreakText7:: @ 82AFF64 + .string "…Er, {PLAYER}{STRING 5}?\n" + .string "{STR_VAR_1} here…\p" + .string "Oh, yeah, you were over at\n" + .string "the {STR_VAR_2}, right?\p" + .string "And you won {STR_VAR_3} battles in a row.\p" + .string "Oh, there goes a rare POKéMON!\n" + .string "I have to go!$" + +MatchCall_BattleFrontierStreakText8:: @ 82AFFF0 + .string "Oh, {PLAYER}{STRING 5}, how do you do?\n" + .string "This is {STR_VAR_1} speaking.\l" + .string "I hope you're doing well.\p" + .string "Oh, but, you are. I've heard that\n" + .string "you won {STR_VAR_3} matches in a row at\l" + .string "the {STR_VAR_2}.\p" + .string "That's very impressive!\n" + .string "I hope you stay successful.$" + +MatchCall_BattleFrontierStreakText9:: @ 82B00B5 + .string "Oh, {PLAYER}{STRING 5}, hi there!\n" + .string "This is {STR_VAR_1}!\p" + .string "I heard! Your {STR_VAR_3}-win streak at\n" + .string "the {STR_VAR_2}!\p" + .string "That is so cool!\n" + .string "I'd better try harder, too!$" + +MatchCall_BattleFrontierStreakText10:: @ 82B0129 + .string "Oh, {PLAYER}{STRING 5}, hello…\n" + .string "This is {STR_VAR_1}.\p" + .string "You won {STR_VAR_3} straight battles at\n" + .string "the {STR_VAR_2}?\p" + .string "That's quite the accomplishment.\n" + .string "I need to work harder.$" + +MatchCall_BattleFrontierStreakText11:: @ 82B01A5 + .string "Ah, {PLAYER}{STRING 5}.\n" + .string "This is {STR_VAR_1}.\p" + .string "I hear you're the terror of\n" + .string "the {STR_VAR_2}?\p" + .string "You won, what, {STR_VAR_3} matches in\n" + .string "a row?\p" + .string "You're good, you.\n" + .string "I wonder how many I can win?$" + +MatchCall_BattleFrontierStreakText12:: @ 82B0232 + .string "Hello, {PLAYER}{STRING 5}.\n" + .string "It's me, {STR_VAR_1}.\l" + .string "Are you keeping well?\p" + .string "Someone passed on word about you.\n" + .string "How you won {STR_VAR_3} straight battles\l" + .string "at a place named {STR_VAR_2}?\p" + .string "That's quite the tale.\n" + .string "See you!$" + +MatchCall_BattleFrontierStreakText13:: @ 82B02D9 + .string "Ah, hello, {PLAYER}{STRING 5}!\n" + .string "This is {STR_VAR_1}!\l" + .string "I hope you've been keeping well.\p" + .string "They say you won {STR_VAR_3} straight\n" + .string "battles at the {STR_VAR_2}.\p" + .string "I admire your energy!\n" + .string "Bye now.$" + +MatchCall_BattleFrontierStreakText14:: @ 82B0366 + .string "Oh, hi, {PLAYER}{STRING 5}.\n" + .string "This is {STR_VAR_1}.\p" + .string "I heard about you!\n" + .string "Didn't you just win {STR_VAR_3} battles in\l" + .string "a row at the {STR_VAR_2}?\p" + .string "You're an inspiration!\n" + .string "Bye-bye!$" + +MatchCall_BattleFrontierRecordStreakText1:: @ 82B03E6 + .string "Hi! This is {STR_VAR_1}.\n" + .string "I heard the news!\p" + .string "They say you did excellent at\n" + .string "the {STR_VAR_2}.\p" + .string "It's awesome--{STR_VAR_3} straight wins?\n" + .string "See you!$" + +MatchCall_BattleFrontierRecordStreakText2:: @ 82B0457 + .string "Hello, it's {STR_VAR_1}!\n" + .string "I heard about you!\p" + .string "They said you won {STR_VAR_3} straight\n" + .string "battles at the {STR_VAR_2}.\p" + .string "That's special! I should try\n" + .string "harder, too! See you!$" + +MatchCall_BattleFrontierRecordStreakText3:: @ 82B04DE + .string "Hey there, {PLAYER}!\n" + .string "It's me, {STR_VAR_1}.\p" + .string "I heard you went on a tear at\n" + .string "the {STR_VAR_2}!\p" + .string "A big {STR_VAR_3}-win streak…\n" + .string "That is a big record, isn't it?\p" + .string "I'd better get it together, too!\n" + .string "Catch you soon!$" + +MatchCall_BattleFrontierRecordStreakText4:: @ 82B0586 + .string "Hey, {PLAYER}{STRING 5}.\n" + .string "{STR_VAR_1} here. What's up?\p" + .string "There's a rumor going around that\n" + .string "you strung together {STR_VAR_3} straight\l" + .string "wins at the {STR_VAR_2}.\p" + .string "I'd better step it up, too.\n" + .string "See you!$" + +MatchCall_BattleFrontierRecordStreakText5:: @ 82B061C + .string "Hiya, {PLAYER}{STRING 5}!\n" + .string "It's {STR_VAR_1}.\p" + .string "You were at the {STR_VAR_2}\n" + .string "and won {STR_VAR_3} battles in a row?\l" + .string "Isn't that something!\p" + .string "Me? I'd say I'm coming along.\n" + .string "See you soon!$" + +MatchCall_BattleFrontierRecordStreakText6:: @ 82B06A3 + .string "Hey, {PLAYER}{STRING 5}.\n" + .string "{STR_VAR_1} here. How are you?\p" + .string "By the way, I heard you pulled off\n" + .string "the feat of {STR_VAR_3} straight wins at\l" + .string "the {STR_VAR_2}.\p" + .string "I'd better try harder myself!\n" + .string "See you soon!$" + +MatchCall_BattleFrontierRecordStreakText7:: @ 82B073B + .string "…Er, {PLAYER}{STRING 5}?\n" + .string "{STR_VAR_1} here…\p" + .string "Oh, yeah, you were over at\n" + .string "the {STR_VAR_2}, right?\p" + .string "And you won {STR_VAR_3} battles in a row.\p" + .string "Oh, there goes a rare POKéMON!\n" + .string "I have to go!$" + +MatchCall_BattleFrontierRecordStreakText8:: @ 82B07C7 + .string "Oh, {PLAYER}{STRING 5}, how do you do?\n" + .string "This is {STR_VAR_1} speaking.\l" + .string "I hope you're doing well.\p" + .string "Oh, but, you are. I've heard that\n" + .string "you won {STR_VAR_3} matches in a row at\l" + .string "the {STR_VAR_2}.\p" + .string "That's very impressive!\n" + .string "I'd better work on my POKéMON, too!$" + +MatchCall_BattleFrontierRecordStreakText9:: @ 82B0894 + .string "Oh, {PLAYER}{STRING 5}, hi there!\n" + .string "This is {STR_VAR_1}!\p" + .string "I heard! Your {STR_VAR_3}-win streak at\n" + .string "the {STR_VAR_2}!\p" + .string "That is so cool!\n" + .string "I'd better try harder, too!$" + +MatchCall_BattleFrontierRecordStreakText10:: @ 82B0908 + .string "Oh, {PLAYER}{STRING 5}, hello…\n" + .string "This is {STR_VAR_1}.\p" + .string "You won {STR_VAR_3} straight battles at\n" + .string "the {STR_VAR_2}?\p" + .string "That's quite the accomplishment.\n" + .string "I need to work harder.$" + +MatchCall_BattleFrontierRecordStreakText11:: @ 82B0984 + .string "Ah, {PLAYER}{STRING 5}.\n" + .string "This is {STR_VAR_1}.\p" + .string "I hear you're the terror of\n" + .string "the {STR_VAR_2}?\p" + .string "You won, what, {STR_VAR_3} matches in\n" + .string "a row?\p" + .string "You're good, you.\n" + .string "I wonder how many I can win?$" + +MatchCall_BattleFrontierRecordStreakText12:: @ 82B0A11 + .string "Hello, {PLAYER}{STRING 5}.\n" + .string "It's me, {STR_VAR_1}.\l" + .string "Are you keeping well?\p" + .string "Someone passed on word about you.\n" + .string "How you won {STR_VAR_3} straight battles\l" + .string "at a place named {STR_VAR_2}?\p" + .string "That's quite the tale.\n" + .string "See you!$" + +MatchCall_BattleFrontierRecordStreakText13:: @ 82B0AB8 + .string "Ah, hello, {PLAYER}{STRING 5}!\n" + .string "This is {STR_VAR_1}!\l" + .string "I hope you've been keeping well.\p" + .string "They say you won {STR_VAR_3} straight\n" + .string "battles at the {STR_VAR_2}.\p" + .string "I admire your energy!\n" + .string "Bye now.$" + +MatchCall_BattleFrontierRecordStreakText14:: @ 82B0B45 + .string "Oh, hi, {PLAYER}{STRING 5}.\n" + .string "This is {STR_VAR_1}.\l" + .string "I heard about you!\p" + .string "Didn't you just win {STR_VAR_3} battles in\n" + .string "a row at the {STR_VAR_2}?\p" + .string "You're an inspiration!\n" + .string "Bye-bye!$" + +MatchCall_BattleDomeText1:: @ 82B0BC5 + .string "Hi! {PLAYER}?\n" + .string "Hello, this is {STR_VAR_1}!\l" + .string "I heard the news!\p" + .string "You became the champion at\n" + .string "the {STR_VAR_2} {STR_VAR_3} times?\p" + .string "It's awesome! I have to do better!\n" + .string "See you!$" + +MatchCall_BattleDomeText2:: @ 82B0C4A + .string "Hello, it's {STR_VAR_1}!\n" + .string "I heard about you!\p" + .string "They said you won {STR_VAR_3} titles\n" + .string "at the {STR_VAR_2}.\p" + .string "That's super! I wonder if I can\n" + .string "become a champion?$" + +MatchCall_BattleDomeText3:: @ 82B0CC7 + .string "Hey there, {PLAYER}!\n" + .string "It's me, {STR_VAR_1}.\l" + .string "How's it going?\p" + .string "I heard you won events {STR_VAR_3} times\n" + .string "at the {STR_VAR_2}!\p" + .string "Make it one more next time!\n" + .string "Catch you soon!$" + +MatchCall_BattleDomeText4:: @ 82B0D4A + .string "Hey, {PLAYER}{STRING 5}.\n" + .string "{STR_VAR_1} here.\p" + .string "I heard you became the champion\n" + .string "at the {STR_VAR_2} {STR_VAR_3} times.\p" + .string "Sounds like you're working hard.\n" + .string "I'll try to keep up!$" + +MatchCall_BattleDomeText5:: @ 82B0DC8 + .string "Hiya, {PLAYER}{STRING 5}!\n" + .string "It's {STR_VAR_1}.\p" + .string "I heard you won {STR_VAR_3} times\n" + .string "outright at the {STR_VAR_2}.\p" + .string "I'd better get with it, too!\n" + .string "See you soon!$" + +MatchCall_BattleDomeText6:: @ 82B0E35 + .string "Hey, {PLAYER}{STRING 5}?\n" + .string "{STR_VAR_1} here. How are you?\p" + .string "By the way, I heard you became\n" + .string "the champion {STR_VAR_3} times at\l" + .string "the {STR_VAR_2}.\p" + .string "I'd better raise my POKéMON before\n" + .string "you pull farther ahead.$" + +MatchCall_BattleDomeText7:: @ 82B0ED1 + .string "{PLAYER}{STRING 5}?\n" + .string "{STR_VAR_1} here.\p" + .string "You were at the {STR_VAR_2}\n" + .string "and became the champ {STR_VAR_3} times?\p" + .string "That's neat. By the way, have you\n" + .string "caught any rare POKéMON lately?\p" + .string "Oh, is that right.\n" + .string "Okay, bye.$" + +MatchCall_BattleDomeText8:: @ 82B0F72 + .string "Oh, {PLAYER}{STRING 5}, how do you do?\n" + .string "This is {STR_VAR_1} speaking.\l" + .string "I hope you're doing well.\l" + .string "Oh, but, you are.\p" + .string "I've heard that you won {STR_VAR_3} titles\n" + .string "at the {STR_VAR_2}.\p" + .string "I must raise my POKéMON like you.\n" + .string "See you again.$" + +MatchCall_BattleDomeText9:: @ 82B102A + .string "Oh, {PLAYER}{STRING 5}, hi there!\n" + .string "This is {STR_VAR_1}!\p" + .string "I heard! You took the title\n" + .string "{STR_VAR_3} times at the {STR_VAR_2}!\p" + .string "That is so cool!\n" + .string "I'd better try harder, too!$" + +MatchCall_BattleDomeText10:: @ 82B10A7 + .string "Oh, {PLAYER}{STRING 5}, hello.\n" + .string "This is {STR_VAR_1}.\p" + .string "You won {STR_VAR_3} straight times at\n" + .string "the {STR_VAR_2}?\p" + .string "That's quite the accomplishment.\n" + .string "I need to work harder.$" + +MatchCall_BattleDomeText11:: @ 82B1121 + .string "Ah, {PLAYER}{STRING 5}.\n" + .string "This is {STR_VAR_1}.\p" + .string "I hear you're the terror of\n" + .string "the {STR_VAR_2}?\p" + .string "You won, what, {STR_VAR_3} straight times\n" + .string "now?\p" + .string "I wonder if I can ever become\n" + .string "a champion?\p" + .string "…Pretty well impossible?\n" + .string "Well, see you!$" + +MatchCall_BattleDomeText12:: @ 82B11D3 + .string "Hello, {PLAYER}{STRING 5}.\n" + .string "It's me, {STR_VAR_1}.\l" + .string "Are you keeping well?\p" + .string "You've won {STR_VAR_3} events at a place\n" + .string "named {STR_VAR_2}?\p" + .string "That's quite the tale.\n" + .string "See you!$" + +MatchCall_BattleDomeText13:: @ 82B124D + .string "Ah, hello, {PLAYER}{STRING 5}!\n" + .string "This is {STR_VAR_1}!\l" + .string "I hope you've been keeping well.\p" + .string "They say you won {STR_VAR_3} events\n" + .string "at the {STR_VAR_2}?\p" + .string "I admire your energy!\n" + .string "Bye now.$" + +MatchCall_BattleDomeText14:: @ 82B12D0 + .string "Oh, hi, {PLAYER}{STRING 5}.\n" + .string "This is {STR_VAR_1}.\l" + .string "I heard about you!\p" + .string "Didn't you win {STR_VAR_3} titles\n" + .string "at the {STR_VAR_2}?\p" + .string "You're an inspiration!\n" + .string "See you again!$" + +MatchCall_BattlePikeText1:: @ 82B1347 + .string "Hi! {PLAYER}?\n" + .string "Hello, this is {STR_VAR_1}!\l" + .string "I heard the news!\p" + .string "You got through {STR_VAR_3} rooms\n" + .string "at the {STR_VAR_2}!\p" + .string "That's awesome!\n" + .string "See you!$" + +MatchCall_BattlePikeText2:: @ 82B13B1 + .string "Hello, it's {STR_VAR_1}!\n" + .string "I heard about you!\p" + .string "They said you won your way through\n" + .string "{STR_VAR_3} rooms at the {STR_VAR_2}.\p" + .string "I have to try much harder!\n" + .string "Bye!$" + +MatchCall_BattlePikeText3:: @ 82B142B + .string "Hey there, {PLAYER}!\n" + .string "It's me, {STR_VAR_1}.\l" + .string "How's it going?\p" + .string "I heard you won through {STR_VAR_3} rooms\n" + .string "at the {STR_VAR_2}!\p" + .string "Try to do even better next time!\n" + .string "Catch you soon!$" + +MatchCall_BattlePikeText4:: @ 82B14B4 + .string "Hey, {PLAYER}{STRING 5}.\n" + .string "{STR_VAR_1} here.\p" + .string "I heard you blew through {STR_VAR_3} rooms\n" + .string "at the {STR_VAR_2}.\p" + .string "I'd better train my POKéMON and\n" + .string "try to keep up!$" + +MatchCall_BattlePikeText5:: @ 82B1525 + .string "Hiya, {PLAYER}{STRING 5}!\n" + .string "It's {STR_VAR_1}.\p" + .string "I heard you got past {STR_VAR_3} rooms\n" + .string "at the {STR_VAR_2}.\p" + .string "I'd better get with it, too!\n" + .string "See you soon!$" + +MatchCall_BattlePikeText6:: @ 82B158E + .string "Hey, {PLAYER}{STRING 5}?\n" + .string "{STR_VAR_1} here. How are you?\p" + .string "By the way, I heard you got through\n" + .string "{STR_VAR_3} rooms at the {STR_VAR_2}.\p" + .string "I'd better raise my POKéMON before\n" + .string "you pull further ahead.$" + +MatchCall_BattlePikeText7:: @ 82B1622 + .string "{PLAYER}{STRING 5}?\n" + .string "{STR_VAR_1} here.\p" + .string "You were at the {STR_VAR_2}\n" + .string "and won your way past {STR_VAR_3} rooms?\p" + .string "That's wicked.\p" + .string "Oh, there goes a rare POKéMON!\n" + .string "Okay, bye.$" + +MatchCall_BattlePikeText8:: @ 82B169D + .string "Oh, {PLAYER}{STRING 5}, how do you do?\n" + .string "This is {STR_VAR_1} speaking.\l" + .string "I hope you're doing well.\l" + .string "Oh, but, you are.\p" + .string "I've heard that you got through\n" + .string "{STR_VAR_3} rooms at the {STR_VAR_2}.\p" + .string "That's quite impressive!\n" + .string "I must raise my POKéMON like you.\l" + .string "See you again.$" + +MatchCall_BattlePikeText9:: @ 82B1775 + .string "Oh, {PLAYER}{STRING 5}, hi there!\n" + .string "This is {STR_VAR_1}!\p" + .string "I heard! You won your way through\n" + .string "{STR_VAR_3} rooms at the {STR_VAR_2}!\p" + .string "That is so cool!\n" + .string "I'd better try harder, too!$" + +MatchCall_BattlePikeText10:: @ 82B17F8 + .string "Oh, {PLAYER}{STRING 5}, hello.\n" + .string "This is {STR_VAR_1}.\p" + .string "You won your way past {STR_VAR_3} rooms\n" + .string "at the {STR_VAR_2}?\p" + .string "That's quite the accomplishment.\n" + .string "I need to work harder.$" + +MatchCall_BattlePikeText11:: @ 82B1877 + .string "Ah, {PLAYER}{STRING 5}.\n" + .string "This is {STR_VAR_1}.\p" + .string "I hear you're the terror of\n" + .string "the {STR_VAR_2}?\p" + .string "You got through, what, {STR_VAR_3} rooms?\n" + .string "That's gotta count for something.\p" + .string "I wonder if I can ever become\n" + .string "a champion?\p" + .string "…Pretty well impossible?\n" + .string "Well, see you!$" + +MatchCall_BattlePikeText12:: @ 82B1946 + .string "Hello, {PLAYER}{STRING 5}.\n" + .string "It's me, {STR_VAR_1}.\l" + .string "Are you keeping well?\p" + .string "You've won through {STR_VAR_3} rooms at\n" + .string "a place named {STR_VAR_2}?\p" + .string "That's quite the tale.\n" + .string "See you!$" + +MatchCall_BattlePikeText13:: @ 82B19C7 + .string "Ah, hello, {PLAYER}{STRING 5}!\n" + .string "This is {STR_VAR_1}!\l" + .string "I hope you've been keeping well.\p" + .string "They say you won in {STR_VAR_3} rooms\n" + .string "at the {STR_VAR_2}?\p" + .string "I admire your energy!\n" + .string "Bye now.$" + +MatchCall_BattlePikeText14:: @ 82B1A4C + .string "Oh, hi, {PLAYER}{STRING 5}.\n" + .string "This is {STR_VAR_1}.\l" + .string "I heard about you!\p" + .string "Didn't you get through {STR_VAR_3} rooms\n" + .string "at the {STR_VAR_2}?\p" + .string "You're an inspiration!\n" + .string "See you again!$" + +MatchCall_BattlePyramidText1:: @ 82B1ACA + .string "Hi! {PLAYER}?\n" + .string "Hello, this is {STR_VAR_1}!\l" + .string "I heard the news!\p" + .string "You climbed {STR_VAR_3} floors inside\n" + .string "the {STR_VAR_2}, right?\p" + .string "That's awesome!\n" + .string "I should try that challenge.$" + +MatchCall_BattlePyramidText2:: @ 82B1B50 + .string "Hello, it's {STR_VAR_1}!\n" + .string "I heard about you!\p" + .string "They said you won your way through\n" + .string "{STR_VAR_3} floors in the {STR_VAR_2}.\p" + .string "Wow, that's fantastic!\n" + .string "I'd better raise my POKéMON, too!$" + +MatchCall_BattlePyramidText3:: @ 82B1BE4 + .string "Hey there, {PLAYER}!\n" + .string "It's me, {STR_VAR_1}.\l" + .string "How's it going?\p" + .string "I heard you climbed {STR_VAR_3} floors\n" + .string "in the {STR_VAR_2}!\p" + .string "Try to do even better next time!\n" + .string "Catch you soon!$" + +MatchCall_BattlePyramidText4:: @ 82B1C6A + .string "Hey, {PLAYER}{STRING 5}.\n" + .string "{STR_VAR_1} here.\p" + .string "I heard you scaled {STR_VAR_3} floors\n" + .string "in the {STR_VAR_2}.\p" + .string "I'd better work hard and try\n" + .string "to keep up!$" + +MatchCall_BattlePyramidText5:: @ 82B1CCF + .string "Hiya, {PLAYER}{STRING 5}!\n" + .string "It's {STR_VAR_1}.\p" + .string "I heard you climbed {STR_VAR_3} floors\n" + .string "in the {STR_VAR_2}.\p" + .string "I'd better get with it, too!\n" + .string "See you soon!$" + +MatchCall_BattlePyramidText6:: @ 82B1D38 + .string "Hey, {PLAYER}{STRING 5}?\n" + .string "{STR_VAR_1} here. How are you?\p" + .string "By the way, I heard you got through\n" + .string "{STR_VAR_3} floors in the {STR_VAR_2}.\p" + .string "I'd better raise my POKéMON before\n" + .string "you pull further ahead.$" + +MatchCall_BattlePyramidText7:: @ 82B1DCD + .string "{PLAYER}{STRING 5}?\n" + .string "{STR_VAR_1} here.\p" + .string "You were at the {STR_VAR_2}\n" + .string "and won your way up {STR_VAR_3} floors?\p" + .string "Neat. Were there any rare POKéMON\n" + .string "there?\p" + .string "No, huh?\n" + .string "Okay, bye.$" + +MatchCall_BattlePyramidText8:: @ 82B1E4B + .string "Oh, {PLAYER}{STRING 5}, how do you do?\n" + .string "This is {STR_VAR_1} speaking.\l" + .string "I hope you're doing well.\l" + .string "Oh, but, you are.\p" + .string "I've heard that you got through\n" + .string "{STR_VAR_3} floors in the {STR_VAR_2}.\p" + .string "That's quite impressive!\n" + .string "I must raise my POKéMON like you.\l" + .string "See you again.$" + +MatchCall_BattlePyramidText9:: @ 82B1F24 + .string "Oh, {PLAYER}{STRING 5}, hi there!\n" + .string "This is {STR_VAR_1}!\p" + .string "I heard! You won your way through\n" + .string "{STR_VAR_3} floors in the {STR_VAR_2}!\p" + .string "That is so cool!\n" + .string "I'd better try harder, too!$" + +MatchCall_BattlePyramidText10:: @ 82B1FA8 + .string "Oh, {PLAYER}{STRING 5}, hello.\n" + .string "This is {STR_VAR_1}.\p" + .string "You climbed {STR_VAR_3} floors inside\n" + .string "the {STR_VAR_2}?\p" + .string "That's quite the accomplishment.\n" + .string "I need to work harder.$" + +MatchCall_BattlePyramidText11:: @ 82B2022 + .string "Ah, {PLAYER}{STRING 5}.\n" + .string "This is {STR_VAR_1}.\p" + .string "I hear you're the terror of\n" + .string "the {STR_VAR_2}?\p" + .string "You rose through, what, {STR_VAR_3} floors?\n" + .string "That's gotta count for something.\p" + .string "I wonder if I can ever become\n" + .string "a champion?\p" + .string "…Pretty well impossible?\n" + .string "Well, see you!$" + +MatchCall_BattlePyramidText12:: @ 82B20F3 + .string "Hello, {PLAYER}{STRING 5}.\n" + .string "It's me, {STR_VAR_1}.\l" + .string "Are you keeping well?\p" + .string "You've won through {STR_VAR_3} floors in\n" + .string "a place named {STR_VAR_2}?\p" + .string "That's quite the tale.\n" + .string "See you!$" + +MatchCall_BattlePyramidText13:: @ 82B2175 + .string "Ah, hello, {PLAYER}{STRING 5}!\n" + .string "This is {STR_VAR_1}!\l" + .string "I hope you've been keeping well.\p" + .string "They say you climbed {STR_VAR_3} floors\n" + .string "in the {STR_VAR_2}?\p" + .string "I admire your energy!\n" + .string "Bye now.$" + +MatchCall_BattlePyramidText14:: @ 82B21FC + .string "Oh, hi, {PLAYER}{STRING 5}.\n" + .string "This is {STR_VAR_1}.\l" + .string "I heard about you!\p" + .string "Didn't you get through {STR_VAR_3} floors\n" + .string "in the {STR_VAR_2}?\p" + .string "You're an inspiration!\n" + .string "See you again!$" + +gText_Mom_Pokenav_2B227B:: @ 82B227B + .string "MOM: Your father and you…\n" + .string "Everyone is captivated by POKéMON.\p" + .string "What is the charm of POKéMON?\p" + .string "Me?\n" + .string "I adore POKéMON that help me with\l" + .string "my everyday chores.$" + +gText_Mom_Pokenav_2B2310:: @ 82B2310 + .string "MOM: Hi, {PLAYER}!\n" + .string "Your father keeps himself locked\l" + .string "away in the PETALBURG GYM.\p" + .string "He comes home every so often.\n" + .string "But he goes back to the GYM when\l" + .string "he's eaten everything he can.\p" + .string "I'm guessing that losing to you\n" + .string "was a big blow to his pride!$" + +gText_Mom_Pokenav_2B23F3:: @ 82B23F3 + .string "MOM: {PLAYER}…\n" + .string "Don't worry about me or the house.\p" + .string "Wear those RUNNING SHOES until\n" + .string "they fall apart, honey!$" + +gText_Roxanne_Pokenav_2B2456:: @ 82B2456 + .string "ROXANNE: Oh, hello, {PLAYER}!\p" + .string "I've been hard at work retraining\n" + .string "since we met.\p" + .string "I will still need some more time\n" + .string "before I can reopen the GYM.\p" + .string "But when I do, please visit my GYM\n" + .string "for a rematch!$" + +gText_Roxanne_Pokenav_2B250E:: @ 82B250E + .string "ROXANNE: Is this {PLAYER}?\n" + .string "Congratulations!\l" + .string "I've been hearing about you!\p" + .string "As for me, I need some more time\n" + .string "before I can reopen the GYM.\p" + .string "But when I do, please visit my GYM\n" + .string "for a rematch!$" + +gText_Roxanne_Pokenav_2B25C1:: @ 82B25C1 + .string "ROXANNE: {PLAYER}!\n" + .string "My GYM is ready!\p" + .string "Please visit RUSTBORO whenever\n" + .string "you can!$" + +gText_Roxanne_Pokenav_2B2607:: @ 82B2607 + .string "ROXANNE: At the RUSTBORO GYM,\n" + .string "the fact that we battled, {PLAYER},\l" + .string "is a matter of pride.$" + +gText_Brawly_Pokenav_2B2659:: @ 82B2659 + .string "BRAWLY: Hey, there, {PLAYER}{STRING 5}!\p" + .string "I learned a lot from the battle we\n" + .string "had together.\p" + .string "I intend to do my training over,\n" + .string "then reopen the GYM.\p" + .string "It's going to take some time before\n" + .string "I'm ready to run the GYM again.\p" + .string "But if I can reopen the GYM,\n" + .string "I want you to challenge us again.$" + +gText_Brawly_Pokenav_2B275D:: @ 82B275D + .string "BRAWLY: Hey, {PLAYER}{STRING 5}!\n" + .string "Congratulations!\p" + .string "Word about your exploits arrived\n" + .string "on tidal winds!\p" + .string "It appears as if I need to work on\n" + .string "my training some more.\p" + .string "It's going to take some time before\n" + .string "I'm ready to run the GYM again.\p" + .string "But if I can reopen the GYM,\n" + .string "I want you to challenge us again.$" + +gText_Brawly_Pokenav_2B286F:: @ 82B286F + .string "BRAWLY: Hey, {PLAYER}{STRING 5}!\n" + .string "My GYM's ready for action!\p" + .string "Come back to DEWFORD anytime\n" + .string "for another challenge!$" + +gText_Brawly_Pokenav_2B28D1:: @ 82B28D1 + .string "BRAWLY: {PLAYER}{STRING 5}, I don't think\n" + .string "I'll ever get bored of battling you!$" + +gText_Wattson_Pokenav_2B2912:: @ 82B2912 + .string "WATTSON: Oh, it's you!\p" + .string "After you left, I've been redoing\n" + .string "my training from scratch.\p" + .string "I'd say I could use a wee bit more\n" + .string "time to reopen my GYM.\p" + .string "You'll have to wait till then!\n" + .string "Wahahahaha!$" + +gText_Wattson_Pokenav_2B29CA:: @ 82B29CA + .string "WATTSON: Wahahahaha!\p" + .string "You've really done it, haven't you?\n" + .string "I've been getting word about you!\p" + .string "It seems I need to retrain some\n" + .string "more still.\p" + .string "I'd say I could use a wee bit more\n" + .string "time to reopen my GYM.\p" + .string "You'll have to wait till then!\n" + .string "Wahahahaha!$" + +gText_Wattson_Pokenav_2B2AB6:: @ 82B2AB6 + .string "WATTSON: Oh, it's you!\n" + .string "My GYM's ready!\p" + .string "Visit MAUVILLE anytime!\n" + .string "Wahahahaha!$" + +gText_Wattson_Pokenav_2B2B01:: @ 82B2B01 + .string "WATTSON: Wahahaha!\p" + .string "A battle with you is always charged\n" + .string "with shocking power!$" + +gText_Flannery_Pokenav_2B2B4D:: @ 82B2B4D + .string "FLANNERY: {PLAYER}…\p" + .string "When we battled, I learned exactly\n" + .string "how immature I was.\p" + .string "But I'm not done yet!\p" + .string "I'm going to redo my training and\n" + .string "reopen the GYM.\p" + .string "When the time comes, {PLAYER},\n" + .string "please challenge us again.$" + +gText_Flannery_Pokenav_2B2C0E:: @ 82B2C0E + .string "FLANNERY: Hello, {PLAYER}?\n" + .string "Congratulations!\p" + .string "Word of your success has reached\n" + .string "us like the heat of a volcano!\p" + .string "Our training is coming along very\n" + .string "well here.\p" + .string "When the GYM's ready, a mark will\n" + .string "appear beside my name in the\l" + .string "MATCH CALL list.$" + +gText_Flannery_Pokenav_2B2CF1:: @ 82B2CF1 + .string "FLANNERY: Oh, {PLAYER}?\n" + .string "Our GYM's ready!\p" + .string "Come to LAVARIDGE for a soak\n" + .string "in the hot spring and a challenge!$" + +gText_Flannery_Pokenav_2B2D54:: @ 82B2D54 + .string "FLANNERY: {PLAYER}…\n" + .string "I'm positive that you keep getting\l" + .string "better at training every time.$" + +gText_Winona_Pokenav_2B2DA4:: @ 82B2DA4 + .string "WINONA: Hello, {PLAYER}!\p" + .string "Thanks to our battle, I've come\n" + .string "to understand my weak points!\p" + .string "When I reopen the GYM, I won't go\n" + .string "down in defeat again!$" + +gText_Winona_Pokenav_2B2E2B:: @ 82B2E2B + .string "WINONA: You've done it, {PLAYER}!\p" + .string "News about the new CHAMPION\n" + .string "has reached us in FORTREE!\p" + .string "But… The next time we battle,\n" + .string "it's not going to end the same way.$" + +gText_Winona_Pokenav_2B2EC2:: @ 82B2EC2 + .string "WINONA: Is this {PLAYER}?\n" + .string "Our GYM is back in operation!\p" + .string "We're waiting for you in FORTREE!$" + +gText_Winona_Pokenav_2B2F16:: @ 82B2F16 + .string "WINONA: {PLAYER}…\n" + .string "Though I have lost, my wings will\l" + .string "never break.\p" + .string "Yes, in exactly the same way that\n" + .string "you never lost sight of your dream.$" + +gText_TateLiza_Pokenav_2B2F97:: @ 82B2F97 + .string "TATE: Oh! You're…\n" + .string "LIZA: {PLAYER}!\p" + .string "TATE: We're in training again…\n" + .string "LIZA: So we can reopen our GYM!\p" + .string "TATE: When our GYM is ready…\n" + .string "LIZA: When our GYM is ready…\p" + .string "TATE: A mark'll appear by our name…\n" + .string "LIZA: On the MATCH CALL list.$" + +gText_TateLiza_Pokenav_2B306E:: @ 82B306E + .string "TATE: {PLAYER}, congratulations!\n" + .string "LIZA: {PLAYER}, congratulations!\p" + .string "TATE: The two of us are…\n" + .string "LIZA: Still in training!\p" + .string "TATE: We need some more time, but…\n" + .string "LIZA: When our GYM is ready…\p" + .string "TATE: A mark'll appear by our name…\n" + .string "LIZA: On the MATCH CALL list.$" + +gText_TateLiza_Pokenav_2B3158:: @ 82B3158 + .string "TATE: {PLAYER}!\n" + .string "LIZA: {PLAYER}!\p" + .string "TATE: Our GYM is ready!\n" + .string "LIZA: Our GYM is ready!\p" + .string "TATE: Please come visit…\n" + .string "LIZA: MOSSDEEP anytime!$" + +gText_TateLiza_Pokenav_2B31CD:: @ 82B31CD + .string "TATE: {PLAYER}, the battle we had…\n" + .string "LIZA: Is an invaluable experience.\p" + .string "TATE: It would be nice if…\n" + .string "LIZA: We could all battle again!$" + +gText_Juan_Pokenav_2B3249:: @ 82B3249 + .string "JUAN: Hmm…\n" + .string "{PLAYER}{STRING 5}… Was it?\p" + .string "Our battle together--it brought\n" + .string "to me memories of when I first\l" + .string "encountered WALLACE.\p" + .string "Perhaps you are a genius who may\n" + .string "yet surpass WALLACE!$" + +gText_Juan_Pokenav_2B32EC:: @ 82B32EC + .string "JUAN: Fufu… {PLAYER}{STRING 5}…\n" + .string "You've finally achieved your goal.\p" + .string "My eye for appraising talent wasn't\n" + .string "mistaken…\p" + .string "I wish for another chance to meet\n" + .string "you, for you have scaled the peak\l" + .string "of power and prestige.$" + +gText_Juan_Pokenav_2B33AA:: @ 82B33AA + .string "JUAN: Hoho… {PLAYER}{STRING 5}…\p" + .string "Our SOOTOPOLIS GYM has finally\n" + .string "reopened.\p" + .string "If you wish to see me, you are\n" + .string "welcome to visit anytime.$" + +gText_Juan_Pokenav_2B341E:: @ 82B341E + .string "JUAN: {PLAYER}{STRING 5}…\p" + .string "Like the finest music, the battles\n" + .string "we wage together strike chords\l" + .string "of inspiration in my heart…\p" + .string "When I close my eyes, I see visions\n" + .string "of you soaring with the melody…$" + +gText_Sidney_Pokenav_2B34CC:: @ 82B34CC + .string "SIDNEY: Yo, {PLAYER}!\p" + .string "If you want to battle with me\n" + .string "again, you come on back whenever\l" + .string "you like to the POKéMON LEAGUE.\p" + .string "I'll always be here!\n" + .string "I'll be waiting!$" + +gText_Phoebe_Pokenav_2B3561:: @ 82B3561 + .string "PHOEBE: Hi, {PLAYER}!\p" + .string "How about coming back here again\n" + .string "sometime?\p" + .string "I'd like to see how much tighter\n" + .string "your bond has grown with your\l" + .string "POKéMON.$" + +gText_Glacia_Pokenav_2B35E4:: @ 82B35E4 + .string "GLACIA: Hello, {PLAYER}.\p" + .string "I trust you haven't become\n" + .string "complacent with your power?\p" + .string "If you feel the need to cool your\n" + .string "hot emotions just a little, do come\l" + .string "to the POKéMON LEAGUE…$" + +gText_Drake_Pokenav_2B368B:: @ 82B368B + .string "DRAKE: That voice… {PLAYER}, is it?\n" + .string "You sound well…\p" + .string "I understand that there is now\n" + .string "a facility called the BATTLE\l" + .string "FRONTIER that tests the skills of\l" + .string "TRAINERS.\p" + .string "However, if you wish to have real\n" + .string "battles, there is no substitute for\l" + .string "the POKéMON LEAGUE!\p" + .string "Don't you agree, {PLAYER}?$" + +gText_Wallace_Pokenav_2B3790:: @ 82B3790 + .string "WALLACE: Hello, {PLAYER}{STRING 5}.\n" + .string "Have you met STEVEN?\p" + .string "He is…\n" + .string "Actually incredibly skilled.\p" + .string "However, he's an odd soul who\n" + .string "rarely battles.\p" + .string "Instead, he would rather look for\n" + .string "rare stones.\p" + .string "I'm sure he's digging in a cave or\n" + .string "a craggy mountain somewhere.\p" + .string "But what is a rare stone exactly?\n" + .string "All I can think of is a METEORITE…$" + +MossdeepCity_SpaceCenter_2F_Text_2B38C1: @ 82B38C1 + .string "… … … … … …\n" + .string "… … … … … Beep!\p" + .string "MAY: Hi, {PLAYER}{KUN}!\p" + .string "I was just in PACIFIDLOG a little\n" + .string "while ago.\p" + .string "I saw a giant green POKéMON\n" + .string "flying high in the sky.\p" + .string "I…\n" + .string "I've never seen anything like it.\p" + .string "I wonder what it was.\n" + .string "Is this maybe a major discovery?\p" + .string "… … … … … …\n" + .string "… … … … … Click!$" + +MossdeepCity_SpaceCenter_2F_Text_2B39C6: @ 82B39C6 + .string "… … … … … …\n" + .string "… … … … … Beep!\p" + .string "BRENDAN: Hey, {PLAYER}!\n" + .string "I was in PACIFIDLOG just now.\p" + .string "I saw this huge green POKéMON\n" + .string "flying across the sky.\p" + .string "I've never seen anything that\n" + .string "amazing before.\p" + .string "I wish you could've seen it,\n" + .string "{PLAYER}.\p" + .string "… … … … … …\n" + .string "… … … … … Click!$" + +gText_May_Pokenav_2B3AB3:: @ 2B3AB3 + .string "MAY: Hi, {PLAYER}{STRING 5}!\p" + .string "MR. BRINEY retired as a SAILOR,\n" + .string "but I still see him out on the sea\l" + .string "with his pet PEEKO sometimes.\p" + .string "He must love the sea still.$" + +gText_May_Pokenav_2B3B3F:: @ 2B3B3F + .string "MAY: Hi, {PLAYER}{STRING 5}!\p" + .string "You know how little towns like\n" + .string "PETALBURG and DEWFORD have GYMS?\p" + .string "For some reason, the big port of\n" + .string "SLATEPORT doesn't have a GYM.\p" + .string "When they finally build a GYM there,\n" + .string "I should apply to be the LEADER.$" + +gText_May_Pokenav_2B3C13:: @ 2B3C13 + .string "MAY: Hi, {PLAYER}{STRING 5}!\p" + .string "Do you remember a man named\n" + .string "the CUTTER in RUSTBORO?\l" + .string "He had a house there, remember?\p" + .string "Well, I found out his younger\n" + .string "brother lives in MAUVILLE.\p" + .string "Can you guess his name?\p" + .string "… … … … … …\n" + .string "… … … … … …\p" + .string "The ROCK SMASH GUY!$" + +gText_May_Pokenav_2B3CF3:: @ 2B3CF3 + .string "MAY: {PLAYER}{STRING 5}?\p" + .string "RUSTURF TUNNEL…\n" + .string "They named it that because it\l" + .string "joins RUSTBORO and VERDANTURF.$" + +gText_May_Pokenav_2B3D4B:: @ 2B3D4B + .string "MAY: {PLAYER}{STRING 5}, how are you?\p" + .string "I'm out on ROUTE 111 now.\p" + .string "I'm going to get a rest at an old\n" + .string "lady's house.\p" + .string "She lives just north of\n" + .string "the desert.$" + +gText_May_Pokenav_2B3DD1:: @ 2B3DD1 + .string "MAY: Hi, {PLAYER}{STRING 5}!\p" + .string "Did you know about the MIRAGE\n" + .string "TOWER in the desert?\p" + .string "They say, like a mirage, it seems\n" + .string "to mysteriously come and go.\p" + .string "I wish I could see it.$" + +gText_May_Pokenav_2B3E69:: @ 2B3E69 + .string "MAY: {PLAYER}{STRING 5}, yahoo!\n" + .string "I'm on ROUTE 119 now.\p" + .string "There's a big river here, and\n" + .string "it often rains.\p" + .string "I got soaked!$" + +gText_May_Pokenav_2B3ECD:: @ 2B3ECD + .string "MAY: {PLAYER}{STRING 5}, hi.\p" + .string "MT. PYRE is a memorial to POKéMON\n" + .string "whose lives have ended.\p" + .string "Maybe as a result, it's infested\n" + .string "with many GHOST-type POKéMON!$" + +gText_May_Pokenav_2B3F2B:: @ 2B3F2B + .string "MAY: Hi, {PLAYER}{STRING 5}!\p" + .string "I was thinking of going to the hot\n" + .string "spring in LAVARIDGE.\p" + .string "But on the way, around JAGGED\n" + .string "PASS, I ran into some bad-looking\l" + .string "characters. The mood was ugly!$" + +gText_May_Pokenav_2B3FFB:: @ 2B3FFB + .string "MAY: Hi, {PLAYER}{STRING 5}!\n" + .string "Did you see the news?\p" + .string "They say CAPT. STERN discovered\n" + .string "the SEAFLOOR CAVERN while on his\l" + .string "submarine expedition.$" + +gText_May_Pokenav_2B402B:: @ 2B402B + .string "MAY: Hi, {PLAYER}{STRING 5}!\n" + .string "Don't you think it's neat?\p" + .string "Even if you don't have a boat,\n" + .string "you can cross the sea using\l" + .string "a POKéMON's move.\p" + .string "Did you know there's more?\p" + .string "There's a POKéMON move that lets\n" + .string "you go to the bottom of the sea.$" + +gText_May_Pokenav_2B414B:: @ 2B414B + .string "MAY: Hi, {PLAYER}{STRING 5}!\n" + .string "Hope things are okay!\p" + .string "Have you been on the sea and\n" + .string "found your way to the other side\l" + .string "blocked?\p" + .string "Try diving deep underwater and\n" + .string "following trenches.\p" + .string "When you get to the other side,\n" + .string "come up to the surface. Easy!$" + +gText_May_Pokenav_2B4228:: @ 2B4228 + .string "MAY: Hi, {PLAYER}{STRING 5}!\p" + .string "How's it going?\n" + .string "Are you filling your POKéDEX?\p" + .string "I heard a rumor that there are\n" + .string "super-ancient POKéMON out there.\l" + .string "And there are three of them!\p" + .string "I would love to see even one…$" + +gText_May_Pokenav_2B42E0:: @ 2B42E0 + .string "MAY: {PLAYER}{STRING 5}!\n" + .string "I heard the rumors!\p" + .string "You beat the SOOTOPOLIS GYM\n" + .string "LEADER?\p" + .string "That means you don't have far\n" + .string "to go, do you?$" + +gText_May_Pokenav_2B4350:: @ 2B4350 + .string "MAY: There isn't a single TRAINER\n" + .string "left in HOENN who doesn't know who\l" + .string "you are, {PLAYER}{STRING 5}!\p" + .string "When I tell people that I'm friends\n" + .string "with you, {PLAYER}{STRING 5}, they're all\l" + .string "surprised!$" + +gText_Brendan_Pokenav_2B43EF:: @ 2B43EF + .string "BRENDAN: Hey, {PLAYER}!\p" + .string "MR. BRINEY retired as a SAILOR,\n" + .string "but I still see him out on the sea\l" + .string "with his pet PEEKO sometimes.\p" + .string "I guess he must love\n" + .string "the sea still.$" + +gText_Brendan_Pokenav_2B4486:: @ 2B4486 + .string "BRENDAN: Hey, {PLAYER}!\p" + .string "I don't get how little towns like\n" + .string "PETALBURG and DEWFORD have GYMS.\p" + .string "I mean, not when the big port of\n" + .string "SLATEPORT doesn't have a GYM.\p" + .string "When they finally build a GYM there,\n" + .string "I should apply to be the LEADER.$" + +gText_Brendan_Pokenav_2B4560:: @ 2B4560 + .string "BRENDAN: Yo, {PLAYER}!\p" + .string "Do you remember a guy named\n" + .string "the CUTTER in RUSTBORO?\l" + .string "He had a house there, right?\p" + .string "Well, it turns out his little\n" + .string "brother lives in MAUVILLE.\p" + .string "Can you guess his name?\p" + .string "… … … … … …\n" + .string "… … … … … …\p" + .string "The ROCK SMASH GUY!$" + +gText_Brendan_Pokenav_2B463F:: @ 2B463F + .string "BRENDAN: This voice… {PLAYER}?\p" + .string "They gave RUSTURF TUNNEL its name\n" + .string "because it joins RUSTBORO and\l" + .string "VERDANTURF.\p" + .string "Did you know that?$" + +gText_Brendan_Pokenav_2B46B7:: @ 2B46B7 + .string "BRENDAN: {PLAYER}, what's up?\p" + .string "Hey, I'm out on ROUTE 111 now.\p" + .string "I'm going to rest up at an old\n" + .string "lady's house north of the desert.\p" + .string "If you're in the area, you should\n" + .string "visit her, too.$" + +gText_Brendan_Pokenav_2B4761:: @ 2B4761 + .string "BRENDAN: Hey, {PLAYER}!\p" + .string "Did you know about the MIRAGE\n" + .string "TOWER in the desert?\p" + .string "They say, like a mirage, it can be\n" + .string "seen only sometimes.\p" + .string "I'd like to see that!$" + +gText_Brendan_Pokenav_2B47F4:: @ 2B47F4 + .string "BRENDAN: Who's this? Oh, {PLAYER}?\n" + .string "Guess what? I'm on ROUTE 119 now.\p" + .string "There's a big river here, and\n" + .string "it rains all the time.\p" + .string "I got soaked to the bone!$" + +gText_Brendan_Pokenav_2B4882:: @ 2B4882 + .string "BRENDAN: {PLAYER}!\p" + .string "MT. PYRE is a memorial to POKéMON\n" + .string "whose lives have ended.\p" + .string "That's probably why it's infested\n" + .string "with many GHOST-type POKéMON!$" + +gText_Brendan_Pokenav_2B4909:: @ 2B4909 + .string "BRENDAN: Hey there, {PLAYER}.\p" + .string "I was on my way back to the hot\n" + .string "spring in LAVARIDGE.\p" + .string "But around JAGGED PASS, I ran into\n" + .string "some nasty-looking characters.\p" + .string "Those creeps…\n" + .string "I think they were TEAM MAGMA.$" + +gText_Brendan_Pokenav_2B49C4:: @ 2B49C4 + .string "BRENDAN: Hi, {PLAYER}!\n" + .string "Did you catch the news?\p" + .string "They say CAPT. STERN discovered\n" + .string "the SEAFLOOR CAVERN while on his\l" + .string "submarine expedition.$" + +gText_Brendan_Pokenav_2B4A44:: @ 2B4A44 + .string "BRENDAN: Hey there, {PLAYER}!\n" + .string "Don't you think it's awesome?\p" + .string "Even if you don't have a boat,\n" + .string "you can cross the sea using\l" + .string "a POKéMON's move.\p" + .string "And, there's a move that lets you\n" + .string "travel to the bottom of the sea.\p" + .string "Man, POKéMON can do anything!$" + +gText_Brendan_Pokenav_2B4B28:: @ 2B4B28 + .string "BRENDAN: Howdy, {PLAYER}!\n" + .string "How are you holding up?\p" + .string "Ever found your way to the other\n" + .string "side blocked while on the sea?\p" + .string "Try diving deep underwater and\n" + .string "following trenches at the bottom.\p" + .string "When you get to the other side,\n" + .string "come up to the surface. Simple!$" + +gText_Brendan_Pokenav_2B4C15:: @ 2B4C15 + .string "BRENDAN: Hey there, {PLAYER}!\p" + .string "How's it going? Filling up your\n" + .string "POKéDEX successfully?\p" + .string "I heard a rumor that there are\n" + .string "super-ancient POKéMON out there.\l" + .string "And not just one--three!\p" + .string "I'd love to catch even one…$" + +gText_Brendan_Pokenav_2B4CD8:: @ 2B4CD8 + .string "BRENDAN: {PLAYER}!\n" + .string "I heard the rumors!\p" + .string "You beat the SOOTOPOLIS GYM\n" + .string "LEADER? Awesome!\p" + .string "You're getting awful close now!$" + +gText_Brendan_Pokenav_2B4D46:: @ 2B4D46 + .string "BRENDAN: There isn't a TRAINER in\n" + .string "all of HOENN who doesn't know who\l" + .string "you are, {PLAYER}!\p" + .string "When I tell people that I'm friends\n" + .string "with you, {PLAYER}, they get pretty\l" + .string "envious!$" + +gText_Wally_Pokenav_2B4DE2:: @ 2B4DE2 + .string "WALLY: Oh, {PLAYER}!\p" + .string "I've been getting healthier and\n" + .string "more physically fit.\p" + .string "I hope I can become a TRAINER like\n" + .string "you soon, {PLAYER}!$" + +gText_Wally_Pokenav_2B4E57:: @ 2B4E57 + .string "WALLY: {PLAYER}, hello!\p" + .string "After RUSTURF TUNNEL went\n" + .string "through, WANDA's been very happy!$" + +gText_Wally_Pokenav_2B4EA5:: @ 2B4EA5 + .string "WALLY: Oh, {PLAYER}!\p" + .string "I… I left my uncle's place in\n" + .string "VERDANTURF without telling anyone.\p" + .string "I wonder if he's furious with me…\p" + .string "{PLAYER}, you understand how\n" + .string "I feel, don't you?$" + +gText_Wally_Pokenav_2B4F41:: @ 2B4F41 + .string "WALLY: {PLAYER}?\n" + .string "It's me, WALLY!\p" + .string "The world of TRAINERS is amazing!\p" + .string "When I have my POKéMON with me,\n" + .string "all sorts of people say hi!\p" + .string "It's as if everyone's getting\n" + .string "connected through POKéMON!$" + +gText_Wally_Pokenav_2B4FF3:: @ 2B4FF3 + .string "WALLY: {PLAYER}? It's awesome!\n" + .string "That RALTS we caught together?\l" + .string "It evolved, {PLAYER}!\p" + .string "Maybe I'm talented…\p" + .string "Oh, but I shouldn't get a big head\n" + .string "like that!\p" + .string "After all, it's the POKéMON that\n" + .string "should be praised!$" + +gText_Wally_Pokenav_2B50B1:: @ 2B50B1 + .string "… … … … … …\n" + .string "… … … … … …\p" + .string "WALLY appears to be out of\n" + .string "the POKéNAV's service area…$" + +gText_Wally_Pokenav_2B5100:: @ 2B5100 + .string "WALLY: Oh, {PLAYER}!\p" + .string "Before I met you, I hardly ever\n" + .string "left my house…\p" + .string "But now, I'm on an adventure with\n" + .string "my very own POKéMON…\p" + .string "{PLAYER}…\n" + .string "Thank you…$" + +gText_Scott_Pokenav_2B5184:: @ 2B5184 + .string "SCOTT: Howdy, {PLAYER}{STRING 5}!\p" + .string "You know how POKéMON can be found\n" + .string "everywhere?\p" + .string "Like in the mountains, in the sea,\n" + .string "in tall grass anywhere?\p" + .string "Just like POKéMON, you can find\n" + .string "TRAINERS everywhere, too.\p" + .string "As a result, I have to hurry\n" + .string "everywhere, too. Busy, busy!$" + +gText_Scott_Pokenav_2B5275:: @ 2B5275 + .string "SCOTT: I'm on ROUTE 119 right now.\n" + .string "It's teeming with TRAINERS!\p" + .string "It's also overgrown with tall grass\n" + .string "everywhere, it seems.\p" + .string "Walking around in shorts here\n" + .string "makes me all ticklish!$" + +gText_Scott_Pokenav_2B5323:: @ 2B5323 + .string "SCOTT: Hi, hi, {PLAYER}{STRING 5}!\p" + .string "Have you had the chance to climb\n" + .string "MT. PYRE?\p" + .string "The place is a memorial to POKéMON\n" + .string "that have passed away.\p" + .string "It's somewhere every TRAINER\n" + .string "should climb to the top of once.$" + +gText_Scott_Pokenav_2B53DB:: @ 2B53DB + .string "SCOTT: Hi, {PLAYER}{STRING 5}!\p" + .string "I've been hearing about these odd\n" + .string "gangs being a nuisance.\p" + .string "TEAM MAGMA and TEAM AQUA,\n" + .string "I think they were.\p" + .string "I would think there'd be some\n" + .string "skilled TRAINERS among them.\p" + .string "…But if they're thugs…$" + +gText_Scott_Pokenav_2B54A5:: @ 2B54A5 + .string "SCOTT: Oh, hi, {PLAYER}{STRING 5}.\p" + .string "Might there be tough TRAINERS\n" + .string "at the bottom of the sea?\p" + .string "I can't go check for myself.\n" + .string "I can't swim, for one.\l" + .string "And I don't raise POKéMON…$" + +gText_Scott_Pokenav_2B5541:: @ 2B5541 + .string "SCOTT: Hi, hi, {PLAYER}{STRING 5}!\p" + .string "You know that you can challenge\n" + .string "the POKéMON LEAGUE when you've\l" + .string "collected all the GYM BADGES?\p" + .string "With your talent, becoming the\n" + .string "CHAMPION isn't a pipe dream.\p" + .string "But did you know?\n" + .string "There's somewhere even better.\p" + .string "But, that's all I'm willing to say\n" + .string "for the time being.\p" + .string "It's something you can look\n" + .string "forward to.\p" + .string "When you've won your way through\n" + .string "the POKéMON LEAGUE into the HALL\l" + .string "OF FAME!$" + +gText_Scott_Pokenav_2B56CA:: @ 2B56CA + .string "… … … … … …\n" + .string "… … … … … …\p" + .string "SCOTT appears to be out of\n" + .string "the POKéNAV's service area…$" + +gText_Norman_Pokenav_2B5719:: @ 82B5719 + .string "DAD: In RUSTBORO, there's a man\n" + .string "that goes by the odd name of\l" + .string "the CUTTER.\p" + .string "If you're in the area, you should\n" + .string "pay him a visit.$" + +gText_Norman_Pokenav_2B5795:: @ 82B5795 + .string "DAD: Hm… Little by little, but also\n" + .string "very surely, you're getting\l" + .string "tougher, {PLAYER}.\p" + .string "The stronger you get, the farther\n" + .string "and higher you soar from Mother\l" + .string "and me…\p" + .string "This feeling is hard to explain.$" + +gText_Norman_Pokenav_2B584D:: @ 82B584D + .string "DAD: I see…\n" + .string "You've collected four GYM BADGES…\p" + .string "There's no avoiding it now.\n" + .string "We will battle like I promised.\p" + .string "Come anytime.\n" + .string "We'll all be waiting for you!$" + +gText_Norman_Pokenav_2B58E3:: @ 82B58E3 + .string "DAD: {PLAYER}! You'd better go visit\n" + .string "Mother every so often.\p" + .string "I'm going to remain here and\n" + .string "redouble my training.\p" + .string "The way of battling is deep\n" + .string "and unforgiving!$" + +gText_Norman_Pokenav_2B5979:: @ 82B5979 + .string "DAD: Oh, hi, {PLAYER}!\p" + .string "What's that? MAGMA EMBLEM?\n" + .string "I don't know what that's about.\p" + .string "But with a name like that, it may\n" + .string "be somehow linked to a volcano!$" + +gText_Norman_Pokenav_2B5A07:: @ 82B5A07 + .string "DAD: Hiyah! Haah! Dwah!\p" + .string "…Oh? {PLAYER}!\p" + .string "You caught me right in the middle\n" + .string "of a POKéMON training session!$" + +gText_Norman_Pokenav_2B5A69:: @ 82B5A69 + .string "DAD: {PLAYER}!\p" + .string "Who would've thought you'd become\n" + .string "the POKéMON LEAGUE CHAMPION…\p" + .string "Okay!\n" + .string "I won't be left behind!$" + +gText_Norman_Pokenav_2B5ACF:: @ 82B5ACF + .string "DAD: Hm? {PLAYER}?\n" + .string "What good timing!\p" + .string "This time, I'm going to challenge\n" + .string "you to battle.\p" + .string "I'm waiting in the PETALBURG GYM.\n" + .string "Accept my challenge anytime!$" + +gText_Norman_Pokenav_2B5B5E:: @ 82B5B5E + .string "DAD: …You amaze me, {PLAYER}.\n" + .string "How much higher will you soar?$" + +gText_Steven_Pokenav_2B5B95:: @ 82B5B95 + .string "STEVEN: Hi, {PLAYER}{STRING 5}!\p" + .string "Have you been to MAUVILLE\n" + .string "already?\p" + .string "You should visit the BIKE SHOP\n" + .string "and get a MACH BIKE.\p" + .string "Then, try exploring the GRANITE\n" + .string "CAVE thoroughly.\p" + .string "You may make a new discovery\n" + .string "there.$" + +gText_Steven_Pokenav_2B5C53:: @ 82B5C53 + .string "STEVEN: Hi, {PLAYER}{STRING 5}!\p" + .string "I've met a lot of different\n" + .string "TRAINERS so far.\p" + .string "But you're one of a kind.\n" + .string "You're not like anyone else.$" + +gText_Steven_Pokenav_2B5CC9:: @ 82B5CC9 + .string "STEVEN: Hi, {PLAYER}{STRING 5}!\p" + .string "When you're on an adventure with\n" + .string "your POKéMON, what do you think?\p" + .string "Do you consider them to be strong\n" + .string "partners?\p" + .string "Do you think of them as fun\n" + .string "companions?\p" + .string "Depending on how you think, your\n" + .string "adventure's significance changes.$" + +gText_Steven_Pokenav_2B5DB4:: @ 82B5DB4 + .string "STEVEN: Hello?\n" + .string "{PLAYER}{STRING 5}?\p" + .string "I'm involved in a spot of trouble\n" + .string "at the SPACE CENTER.\p" + .string "I'm sorry, but I can't talk now.\n" + .string "Bye!$" + +gText_Steven_Pokenav_2B5E26:: @ 82B5E26 + .string "STEVEN: Oh!\n" + .string "{PLAYER}{STRING 5}!\p" + .string "There's no need to talk.\n" + .string "It's past time for talking.\p" + .string "You have to believe in yourself\n" + .string "and do what's right.$" + +gText_Steven_Pokenav_2B5EA2:: @ 82B5EA2 + .string "… … … … … …\p" + .string "STEVEN appears not to be getting\n" + .string "the call…$" + +gText_Steven_Pokenav_2B5ED9:: @ 82B5ED9 + .string "STEVEN: {PLAYER}{STRING 5}… Congratulations\n" + .string "for entering the HALL OF FAME.\p" + .string "… … … … … …\n" + .string "… … … … … …\p" + .string "I hope we can meet again\n" + .string "somewhere!$" + +Route101_Text_2B5F52: @ 82B5F52 + .string "PROF. BIRCH: Oh, {PLAYER}{KUN}!\n" + .string "I've already heard about you!\p" + .string "It seems your POKéNAV's been\n" + .string "upgraded with MATCH CALL.\p" + .string "Well, I should register, too!\p" + .string "That way, I'd be able to examine\n" + .string "your POKéDEX even while you're\l" + .string "out in the field.\p" + .string "… … … … … …$" + +Route101_Text_2B603A: @ 82B603A + .string "Registered PROF. BIRCH\n" + .string "in the POKéNAV.$" + + .string "PROF. BIRCH: When one has both\n" + .string "the POKéDEX and POKéNAV, studying\l" + .string "POKéMON becomes more fun, eh?$" + +gText_MrStone_Pokenav_2B60C0:: @ 82B60C0 + .string "MR. STONE: Oh? {PLAYER}{STRING 5}!\p" + .string "Since you called me, the POKéNAV\n" + .string "must be working properly!\p" + .string "Other people will be registered,\n" + .string "so try calling them up, too!\p" + .string "Good! Good!\n" + .string "You seem to be quite happy!\p" + .string "Hm…\n" + .string "How could I know that?\p" + .string "It's because I'm looking down at\n" + .string "you from my office window!\p" + .string "Wahahaha!\n" + .string "See you again!$" + +gText_MrStone_Pokenav_2B61E6:: @ 82B61E6 + .string "MR. STONE: Oh? {PLAYER}{STRING 5}!\p" + .string "What's wrong? Have you forgotten\n" + .string "about that little errand of mine?\p" + .string "I need you to deliver my letter\n" + .string "to STEVEN in DEWFORD.\p" + .string "After that, deliver our parcel to\n" + .string "CAPT. STERN in SLATEPORT.\p" + .string "You remember, don't you?\p" + .string "Now, since I am a busy PRESIDENT,\n" + .string "I have to go! Bye-bye!$" + +gText_MrStone_Pokenav_2B6302:: @ 82B6302 + .string "MR. STONE: Oh! {PLAYER}{STRING 5}!\p" + .string "Ah, so you've met STEVEN!\n" + .string "I'd better reward you, then!\p" + .string "When you visit RUSTBORO again,\n" + .string "come see me at my office.\p" + .string "I'll be waiting for you!$" + +gText_MrStone_Pokenav_2B63A0:: @ 82B63A0 + .string "MR. STONE: Oh! {PLAYER}{STRING 5}!\p" + .string "Did you know that DEVON was\n" + .string "digging the RUSTURF TUNNEL?\p" + .string "But we shut down the operation to\n" + .string "protect the POKéMON in the area.\p" + .string "It's a no-brainer, really.\p" + .string "It's more important to let POKéMON\n" + .string "live in peace than worry about our\l" + .string "own convenience.$" + +gText_MrStone_Pokenav_2B64A2:: @ 82B64A2 + .string "MR. STONE: Hello, hello, {PLAYER}{STRING 5}!\p" + .string "I heard from someone in PETALBURG\n" + .string "that you're NORMAN's child!\p" + .string "No wonder you're such a capable\n" + .string "being!$" + +gText_MrStone_Pokenav_2B6526:: @ 82B6526 + .string "MR. STONE: What's that?\p" + .string "You battled your own father and\n" + .string "defeated him?\p" + .string "That's astounding!\p" + .string "I had no idea that I befriended\n" + .string "someone so special! Wahaha!$" + +gText_MrStone_Pokenav_2B65BB:: @ 82B65BB + .string "Hello!\n" + .string "This is DEVON CORPORATI…\l" + .string "Oh, hello, {PLAYER}!\p" + .string "Our PRESIDENT was here a little\n" + .string "while ago, but he's gone out.\p" + .string "Our PRESIDENT is busy, but you\n" + .string "seem to be just as busy, {PLAYER}.$" + +gText_MrStone_Pokenav_2B6664:: @ 82B6664 + .string "…Huh? …What's that?\p" + .string "GROU… Yes? …DON?\p" + .string "You're breaking up…\n" + .string "…can't hear…\p" + .string "BZZZZ…$" + +gText_MrStone_Pokenav_2B66B1:: @ 82B66B1 + .string "…Huh? …What's that?\p" + .string "Seaflo… Yes? …Caver…?\p" + .string "You're breaking up…\n" + .string "…can't hear…\p" + .string "BZZZZ…$" + +gText_MrStone_Pokenav_2B6703:: @ 82B6703 + .string "MR. STONE: {PLAYER}{STRING 5}! It's me!\p" + .string "You were apparently involved in all\n" + .string "sorts of things, but I, being busy,\l" + .string "haven't a clue exactly what!\p" + .string "However, I urge you to take\n" + .string "the road you believe in and walk it.\p" + .string "I'll always be in your corner!\n" + .string "Take care!$" + +gText_MrStone_Pokenav_2B67ED:: @ 82B67ED + .string "MR. STONE: … … … … … …\n" + .string "Is this maybe {PLAYER}{STRING 5}?\p" + .string "Your voice is so full of confidence,\n" + .string "I didn't recognize you right off!\p" + .string "Hm! You must come visit us at DEVON\n" + .string "sometime!$" diff --git a/data/trade.s b/data/trade.s deleted file mode 100644 index b96c5adb34..0000000000 --- a/data/trade.s +++ /dev/null @@ -1,646 +0,0 @@ -#include "constants/species.h" -#include "constants/items.h" - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 -gUnknown_0832C6A8:: @ 832C6A8 - .4byte 0x00000f2c, 0x00003d88, 0x0000001c, 0x00000024, 0x00000064, 0x00000528 - - .align 1 -gTradeMovesBoxTilemap:: @ 832C6C0 - .incbin "graphics/trade/moves_box_map.bin" - - .align 1 -gTradePartyBoxTilemap:: @ 832C8BE - .incbin "graphics/trade/party_box_map.bin" - - .align 1 -gTradeStripesBG2Tilemap:: @ 832CABC - .incbin "graphics/trade/stripes_bg2_map.bin" - - .align 1 -gTradeStripesBG3Tilemap:: @ 832D2BC - .incbin "graphics/trade/stripes_bg3_map.bin" - -gText_EmptyString7:: @ 832DABC - .string "$" - -gText_ClrWhtHltTrspntShdwDrkGry:: @ 832DABD - .string "{COLOR WHITE}{HIGHLIGHT TRANSPARENT}{SHADOW DARK_GREY}$" - -gText_MaleSymbol4:: @ 832DAC7 - .string "♂$" - -gText_FemaleSymbol4:: @ 832DAC9 - .string "♀$" - -gText_GenderlessSymbol:: @ 832DACB - .string "$" - -gText_SpaceMove:: @ 832DACC - .string " MOVE$" - -gText_NewLine3:: @ 832DAD2 - .string "\n$" - -gText_Slash2:: @ 832DAD4 - .string "/$" - -gText_Lv2:: @ 832DAD6 - .string "Lv. $" - -gText_ThreeDashes2:: @ 832DADB - .string "---$" - -gText_FourQuestionMarks:: @ 832DADF - .string "????$" - -gText_832DAE4:: @ 832DAE4 - .string "$" - -gText_IsThisTradeOkay:: @ 832DAE5 - .string "Is this trade okay?$" - -gText_Cancel6:: @ 832DAF9 - .string "CANCEL$" - -gText_ChooseAPkmn:: @ 832DB00 - .string "Choose a POKéMON.$" - -gText_Summary3:: @ 832DB12 - .string "SUMMARY$" - -gText_Trade2:: @ 832DB1A - .string "TRADE$" - -gText_CancelTrade:: @ 832DB20 - .string "Cancel trade?$" - -gJPText_832DB2E:: @ 832DB2E - .string "Bボタン で もどります$" - -gText_Summary4:: @ 832DB3B - .string "SUMMARY$" - -gText_Trade3:: @ 832DB43 - .string "TRADE$" - -gText_CommunicationStandby6:: @ 832DB49 - .string "{COLOR DARK_GREY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GREY}Communication standby…\nPlease wait.$" - -gText_TheTradeHasBeenCanceled:: @ 832DB76 - .string "{COLOR DARK_GREY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GREY}The trade has\nbeen canceled.$" - -gText_YourOnlyPkmnForBattle:: @ 832DB9C - .string "That's your only\nPOKéMON for battle.$" - -gText_WaitingForYourFriend:: @ 832DBC1 - .string "{COLOR DARK_GREY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GREY}Waiting for your friend\nto finish…$" - -gText_YourFriendWantsToTrade:: @ 832DBED - .string "Your friend wants\nto trade POKéMON.$" - - .align 2 -gOamData_832DC14:: @ 832DC14 - .2byte 0x4000, 0x8000, 0x0400, 0x0000 - - .align 2 -gOamData_832DC1C:: @ 832DC1C - .2byte 0x4000, 0xc000, 0x0400, 0x0000 - - .align 2 -gSpriteAnim_832DC24:: @ 832DC24 - .2byte 0x0000, 0x0005, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_832DC2C:: @ 832DC2C - .2byte 0x0020, 0x0005, 0xffff, 0x0000 - - .align 2 -gSpriteAnimTable_832DC34:: @ 832DC34 - .4byte gSpriteAnim_832DC24 - .4byte gSpriteAnim_832DC2C - - .align 2 -gUnknown_0832DC3C:: @ 832DC3C - obj_tiles gUnknown_08DDC6E4, 0x0800, 0x012c - - .align 2 -gUnknown_0832DC44:: @ 832DC44 - obj_pal gUnknown_08DDB444, 0x0929 - - .align 2 -gSpriteAnim_832DC4C:: @ 832DC4C - .2byte 0x0000, 0x0005, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_832DC54:: @ 832DC54 - .2byte 0x0008, 0x0005, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_832DC5C:: @ 832DC5C - .2byte 0x0010, 0x0005, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_832DC64:: @ 832DC64 - .2byte 0x0018, 0x0005, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_832DC6C:: @ 832DC6C - .2byte 0x0020, 0x0005, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_832DC74:: @ 832DC74 - .2byte 0x0028, 0x0005, 0xffff, 0x0000 - - .align 2 -gSpriteAnimTable_832DC7C:: @ 832DC7C - .4byte gSpriteAnim_832DC4C - .4byte gSpriteAnim_832DC54 - .4byte gSpriteAnim_832DC5C - .4byte gSpriteAnim_832DC64 - .4byte gSpriteAnim_832DC6C - .4byte gSpriteAnim_832DC74 - - .align 2 -gSpriteTemplate_832DC94:: @ 832DC94 - spr_template 0x012c, 0x0929, gOamData_832DC1C, gSpriteAnimTable_832DC34, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_832DCAC:: @ 832DCAC - spr_template 0x00c8, 0x133d, gOamData_832DC14, gSpriteAnimTable_832DC7C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -TradeScreenTextPalette:: @ 832DCC4 - .incbin "graphics/trade/text.gbapal" - - .align 2 -gSpritePalette_TradeScreenText:: @ 832DCE4 - obj_pal TradeScreenTextPalette, 0x133d - -gUnknown_0832DCEC:: @ 832DCEC - .byte 0x04, 0x02, 0x0c, 0x0c, 0x00, 0x00, 0x02, 0x04, 0x0c, 0x0c, 0x00, 0x00, 0x07, 0x06, 0x01, 0x00, 0x00, 0x00, 0x01, 0x06, 0x07, 0x00, 0x00, 0x00, 0x05, 0x03, 0x0c, 0x0c, 0x00, 0x00, 0x03, 0x05 - .byte 0x0c, 0x0c, 0x00, 0x00, 0x00, 0x07, 0x06, 0x01, 0x00, 0x00, 0x06, 0x07, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x08, 0x07, 0x06 - .byte 0x00, 0x00, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x05, 0x01, 0x01, 0x01, 0x00, 0x00, 0x02, 0x09, 0x08, 0x07, 0x00, 0x00, 0x08, 0x09, 0x06, 0x06, 0x00, 0x00 - .byte 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x0a, 0x09, 0x08, 0x07, 0x06, 0x05, 0x03, 0x01, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x01, 0x01 - .byte 0x01, 0x01, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x0a, 0x08, 0x06, 0x00, 0x00, 0x00, 0x0a, 0x08, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x0a, 0x0c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x07, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x06, 0x00, 0x00, 0x00, 0x00, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x09, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x0c - .byte 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x04, 0x03, 0x02 - .byte 0x01, 0x00, 0x0b, 0x09, 0x07, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00 - .byte 0x0b, 0x09, 0x07, 0x06, 0x00, 0x00, 0x07, 0x06, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00 - -gUnknown_0832DE24:: @ 832DE24 - .byte 0x01, 0x05, 0x08, 0x05, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0f, 0x08, 0x0f, 0x10, 0x05, 0x17, 0x05, 0x10, 0x0a, 0x17, 0x0a, 0x10, 0x0f, 0x17, 0x0f, 0x17, 0x12 - -gUnknown_0832DE3E:: @ 832DE3E - .byte 0x05, 0x04, 0x0c, 0x04, 0x05, 0x09, 0x0c, 0x09, 0x05, 0x0e, 0x0c, 0x0e, 0x14, 0x04, 0x1b, 0x04, 0x14, 0x09, 0x1b, 0x09, 0x14, 0x0e, 0x1b, 0x0e - -gUnknown_0832DE56:: @ 832DE56 - .byte 0x01, 0x03, 0x08, 0x03, 0x01, 0x08, 0x08, 0x08, 0x01, 0x0d, 0x08, 0x0d, 0x10, 0x03, 0x17, 0x03, 0x10, 0x08, 0x17, 0x08, 0x10, 0x0d, 0x17, 0x0d, 0x00, 0x0e, 0x0f, 0x1d, 0x03, 0x05, 0x03, 0x07 - .byte 0x12, 0x05, 0x12, 0x07, 0x08, 0x07, 0x16, 0x0c, 0x08, 0x07, 0x16, 0x0c, 0x06, 0x07, 0x18, 0x0c, 0x06, 0x07, 0x18, 0x0c, 0x08, 0x07, 0x16, 0x0c, 0x07, 0x07, 0x17, 0x0c, 0x00, 0x00 - - .align 2 -gUnknown_0832DE94:: @ 832DE94 - .4byte gText_Cancel6 - .4byte gText_ChooseAPkmn - .4byte gText_Summary3 - .4byte gText_Trade2 - .4byte gText_CancelTrade - .4byte gJPText_832DB2E - - .align 2 -gUnknown_0832DEAC:: @ 832DEAC - .4byte gText_Summary4, sub_807A000 - .4byte gText_Trade3, sub_807A024 - - .align 2 -gUnknown_0832DEBC:: @ 832DEBC - .4byte gText_CommunicationStandby6 - .4byte gText_TheTradeHasBeenCanceled - .4byte gText_YourOnlyPkmnForBattle - .4byte gText_OnlyPkmnForBattle - .4byte gText_WaitingForYourFriend - .4byte gText_YourFriendWantsToTrade - .4byte gText_PkmnCantBeTradedNow - .4byte gText_EggCantBeTradedNow - .4byte gText_OtherTrainersPkmnCantBeTraded - -gUnknown_0832DEE0:: @ 832DEE0 - .byte 0x00, 0x01, 0x02, 0x00 - - .align 2 -gUnknown_0832DEE4:: @ 832DEE4 - .4byte 0x000001f8, 0x00001051, 0x00002062, 0x00003073 - - .align 2 -gUnknown_0832DEF4:: @ 832DEF4 - window_template 0x00, 0x04, 0x07, 0x16, 0x04, 0x0f, 0x001e - window_template 0x00, 0x13, 0x0f, 0x0a, 0x04, 0x0f, 0x0076 - window_template 0x00, 0x00, 0x05, 0x08, 0x02, 0x0d, 0x009e - window_template 0x00, 0x07, 0x05, 0x08, 0x02, 0x0d, 0x00ae - window_template 0x00, 0x00, 0x0a, 0x08, 0x02, 0x0d, 0x00be - window_template 0x00, 0x07, 0x0a, 0x08, 0x02, 0x0d, 0x00ce - window_template 0x00, 0x00, 0x0f, 0x08, 0x02, 0x0d, 0x00de - window_template 0x00, 0x07, 0x0f, 0x08, 0x02, 0x0d, 0x00ee - window_template 0x00, 0x0f, 0x05, 0x08, 0x02, 0x0d, 0x00fe - window_template 0x00, 0x16, 0x05, 0x08, 0x02, 0x0d, 0x010e - window_template 0x00, 0x0f, 0x0a, 0x08, 0x02, 0x0d, 0x011e - window_template 0x00, 0x16, 0x0a, 0x08, 0x02, 0x0d, 0x012e - window_template 0x00, 0x0f, 0x0f, 0x08, 0x02, 0x0d, 0x013e - window_template 0x00, 0x16, 0x0f, 0x08, 0x02, 0x0d, 0x014e - window_template 0x00, 0x02, 0x05, 0x0e, 0x02, 0x0d, 0x015e - window_template 0x00, 0x03, 0x08, 0x0b, 0x08, 0x0f, 0x017a - window_template 0x00, 0x11, 0x05, 0x0e, 0x02, 0x0f, 0x01d2 - window_template 0x00, 0x12, 0x08, 0x0b, 0x08, 0x0f, 0x01ee - null_window_template - - .align 2 -gUnknown_0832DF8C:: @ 832DF8C - window_template 0x00, 0x17, 0x0d, 0x05, 0x04, 0x0f, 0x0246 - -gJPText_Shedinja:: @ 832DF94 - .string "ヌケニン$" - -gUnknown_0832DF99:: @ 832DF99 - .byte 0x04, 0x03, 0x13, 0x03, 0x00, 0x00, 0x00 - - .align 2 -gTradeBallPalette:: @ 832DFA0 - .incbin "graphics/trade/ball.gbapal" - - .align 2 -gTradeBallTiles:: @ 832DFC0 - .incbin "graphics/trade/ball.4bpp" - - .align 2 -gUnknown_832E5C0:: @ 832E5C0 - .incbin "graphics/trade/pokeball_symbol.8bpp" - - .align 2 -gUnknown_0832FFC0:: @ 832FFC0 - .incbin "graphics/trade/cable_closeup_map.bin" - - .align 2 -gUnknown_083307C0:: @ 83307C0 - .incbin "graphics/trade/pokeball_symbol_map.bin" - - .align 2 -gUnknown_083308C0:: @ 83308C0 - .incbin "graphics/trade/unknown_3308C0.gbapal" - - .align 2 -gUnknown_083308E0:: @ 83308E0 - .incbin "graphics/trade/gba.gbapal" - .incbin "graphics/trade/shadow.gbapal" - .incbin "graphics/trade/black.gbapal" - - .align 2 -gUnknown_08330940:: @ 8330940 - .incbin "graphics/trade/misc.gbapal" - - .align 2 -gTradeGlow1Tiles:: @ 8330960 - .incbin "graphics/trade/glow1.4bpp" - - .align 2 -gTradeGlow2Tiles:: @ 8330B60 - .incbin "graphics/trade/glow2.4bpp" - - .align 2 -gTradeCableEndTiles:: @ 8330D60 - .incbin "graphics/trade/cable_end.4bpp" - - .align 2 -gTradeGBAScreenTiles:: @ 8330F60 - .incbin "graphics/trade/gba_screen.4bpp" - - .align 2 -gUnknown_08331F60:: @ 8331F60 - .incbin "graphics/trade/shadow_map.bin" - - .align 2 -gUnknown_08332F60:: @ 8332F60 - .incbin "graphics/trade/gba_affine.8bpp" - - .space 0x40 - - .align 2 -gUnknown_083357A0:: @ 83357A0 - .incbin "graphics/trade/gba_affine_map_cable.bin" - - .align 2 -gUnknown_083358A0:: @ 83358A0 - .incbin "graphics/trade/gba_affine_map_wireless.bin" - - .align 2 -gUnknown_083359A0:: @ 83359A0 - .incbin "graphics/trade/gba_map_wireless.bin" - - .align 2 -gUnknown_083369A0:: @ 83369A0 - .incbin "graphics/trade/gba_map_cable.bin" - - .align 2 -gUnknown_083379A0:: @ 83379A0 - .incbin "graphics/trade/unknown_3379A0.bin.lz" - - .align 2 -gUnknown_08337AA0:: @ 8337AA0 - .incbin "graphics/trade/wireless_signal_send.gbapal" - - .align 2 -gUnknown_08337CA0:: @ 8337CA0 - .incbin "graphics/trade/wireless_signal_receive.gbapal" - - .align 2 -gUnknown_08337EA0:: @ 8337EA0 - .incbin "graphics/trade/black.gbapal" - - .align 2 -gUnknown_08337EC0:: @ 8337EC0 - .incbin "graphics/trade/wireless_signal.4bpp.lz" - - .align 2 -gUnknown_08338550:: @ 8338550 - .incbin "graphics/trade/wireless_signal.bin.lz" - - .align 2 -gOamData_8338C44:: @ 8338C44 - .2byte 0x0100, 0x4000, 0x0000, 0x0000 - - .align 2 -gSpriteAnim_8338C4C:: @ 8338C4C - .2byte 0x0000, 0x0003, 0x0004, 0x0003, 0x0008, 0x0003, 0x000c, 0x0003, 0x0010, 0x0003, 0x0014, 0x0003, 0x0018, 0x0003, 0x001c, 0x0003 - .2byte 0x0020, 0x0003, 0x0024, 0x0003, 0x0028, 0x0003, 0x002c, 0x0003, 0xfffd, 0x0001, 0x0000, 0x0003, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_8338C88:: @ 8338C88 - .2byte 0x0000, 0x0003, 0x0004, 0x0003, 0x0008, 0x0003, 0x000c, 0x0003, 0x0010, 0x0003, 0x0014, 0x0003, 0x0018, 0x0003, 0x001c, 0x0003 - .2byte 0x0020, 0x0003, 0x0024, 0x0003, 0x0028, 0x0003, 0x002c, 0x0003, 0xfffd, 0x0002, 0x0000, 0x0003, 0xffff, 0x0000 - - .align 2 -gSpriteAnimTable_8338C88:: @ 8338CC4 - .4byte gSpriteAnim_8338C4C - .4byte gSpriteAnim_8338C88 - - .align 2 -gSpriteAffineAnim_8338CCC:: @ 8338CCC - .2byte 0x0000, 0x0000, 0x0100, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gSpriteAffineAnim_8338CDC:: @ 8338CDC - .2byte 0xfff8, 0x0000, 0x1400, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gSpriteAffineAnim_8338CEC:: @ 8338CEC - .2byte 0x0060, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0500, 0x0000, 0x0008, 0x0000, 0x1400, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gSpriteAffineAnimTable_8338D0C:: @ 8338D0C - .4byte gSpriteAffineAnim_8338CCC - .4byte gSpriteAffineAnim_8338CDC - .4byte gSpriteAffineAnim_8338CEC - - .align 2 -gUnknown_08338D18:: @ 8338D18 - obj_tiles gTradeBallTiles, 0x0600, 0x15b5 - - .align 2 -gUnknown_08338D20:: @ 8338D20 - obj_pal gTradeBallPalette, 0x15b6 - - .align 2 -gSpriteTemplate_8338D28:: @ 8338D28 - spr_template 0x15b5, 0x15b6, gOamData_8338C44, gSpriteAnimTable_8338C88, NULL, gSpriteAffineAnimTable_8338D0C, sub_807E55C - - .align 2 -gOamData_8338D40:: @ 8338D40 - .2byte 0x0500, 0x8000, 0x0400, 0x0000 - - .align 2 -gSpriteAnim_8338D48:: @ 8338D48 - .2byte 0x0000, 0x00c5, 0xffff, 0x0000 - - .align 2 -gSpriteAnimTable_8338D50:: @ 8338D50 - .4byte gSpriteAnim_8338D48 - - .align 2 -gSpriteAffineAnim_8338D54:: @ 8338D54 - .2byte 0xfff6, 0xfff6, 0x0500, 0x0000, 0x000a, 0x000a, 0x0500, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 - - .align 2 -gSpriteAffineAnimTable_8338D6C:: @ 8338D6C - .4byte gSpriteAffineAnim_8338D54 - - .align 2 -gUnknown_08338D70:: @ 8338D70 - obj_tiles gTradeGlow1Tiles, 0x0200, 0x15ae - - .align 2 -gUnknown_08338D78:: @ 8338D78 - obj_pal gUnknown_08330940, 0x15af - - .align 2 -gUnknown_08338D80:: @ 8338D80 - obj_pal gUnknown_083308E0, 0x15b3 - - .align 2 -gUnknown_08338D88:: @ 8338D88 - spr_template 0x15ae, 0x15af, gOamData_8338D40, gSpriteAnimTable_8338D50, NULL, gSpriteAffineAnimTable_8338D6C, sub_807AA28 - - .align 2 -gOamData_8338DA0:: @ 8338DA0 - .2byte 0x8000, 0x8000, 0x0400, 0x0000 - - .align 2 -gSpriteAnim_8338DA8:: @ 8338DA8 - .2byte 0x0000, 0x00c5, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_8338DB0:: @ 8338DB0 - .2byte 0x0008, 0x00c5, 0xffff, 0x0000 - - .align 2 -gSpriteAnimTable_8338DB8:: @ 8338DB8 - .4byte gSpriteAnim_8338DA8 - .4byte gSpriteAnim_8338DB0 - - .align 2 -gUnknown_08338DC0:: @ 8338DC0 - obj_tiles gTradeGlow2Tiles, 0x0300, 0x15b0 - - .align 2 -gSpriteTemplate_8338DC8:: @ 8338DC8 - spr_template 0x15b0, 0x15af, gOamData_8338DA0, gSpriteAnimTable_8338DB8, NULL, gDummySpriteAffineAnimTable, sub_807AA7C - - .align 2 -gOamData_8338DE0:: @ 8338DE0 - .2byte 0x8000, 0x8000, 0x0400, 0x0000 - - .align 2 -gSpriteAnim_8338DE8:: @ 8338DE8 - .2byte 0x0000, 0x000a, 0xffff, 0x0000 - - .align 2 -gSpriteAnimTable_8338DF0:: @ 8338DF0 - .4byte gSpriteAnim_8338DE8 - - .align 2 -gUnknown_08338DF4:: @ 8338DF4 - obj_tiles gTradeCableEndTiles, 0x0100, 0x15b2 - - .align 2 -gSpriteTemplate_8338DFC:: @ 8338DFC - spr_template 0x15b2, 0x15b3, gOamData_8338DE0, gSpriteAnimTable_8338DF0, NULL, gDummySpriteAffineAnimTable, sub_807AABC - - .align 2 -gOamData_8338E14:: @ 8338E14 - .2byte 0x4000, 0xc000, 0x0400, 0x0000 - - .align 2 -gSpriteAnim_8338E1C:: @ 8338E1C - .2byte 0x0000, 0x00c2, 0x0020, 0x00c2, 0x0040, 0x00c2, 0x0060, 0x00c2, 0x0040, 0x00c2, 0x0020, 0x00c2, 0x0000, 0x00c2, 0xfffd, 0x0008 - .2byte 0xffff, 0x0000 - - .align 2 -gSpriteAnim_8338E40:: @ 8338E40 - .2byte 0x0000, 0x00c2, 0x0020, 0x00c2, 0x0040, 0x00c2, 0x0060, 0x00c2, 0x0040, 0x00c2, 0x0020, 0x00c2, 0x0000, 0x00c2, 0xfffd, 0x0002 - .2byte 0xffff, 0x0000 - - .align 2 -gSpriteAnimTable_8338E64:: @ 8338E64 - .4byte gSpriteAnim_8338E1C - - .align 2 -gSpriteAnimTable_8338E68:: @ 8338E68 - .4byte gSpriteAnim_8338E40 - -gUnknown_08338E6C:: @ 8338E6C - obj_tiles gTradeGBAScreenTiles, 0x1000, 0x15b4 - - .align 2 -gSpriteTemplate_8338E74:: @ 8338E74 - spr_template 0x15b4, 0x15b3, gOamData_8338E14, gSpriteAnimTable_8338E64, NULL, gDummySpriteAffineAnimTable, sub_807AB04 - - .align 2 -gSpriteTemplate_8338E8C:: @ 8338E8C - spr_template 0x15b4, 0x15b3, gOamData_8338E14, gSpriteAnimTable_8338E68, NULL, gDummySpriteAffineAnimTable, sub_807AB04 - - .align 1 -gUnknown_08338EA4:: @ 8338EA4 - .incbin "graphics/trade/unknown_338EA4.gbapal" - - .align 2 -gSpriteAffineAnim_8338EBC:: @ 8338EBC - .2byte 0xff00, 0x0100, 0x0000, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 - - .align 2 -gSpriteAffineAnimTable_8338ECC:: @ 8338ECC - .4byte gSpriteAffineAnim_8338EBC - - .align 2 -gIngameTrades:: @ 8338ED0 - .string "DOTS$", 11 - .align 1 - .2byte SPECIES_SEEDOT - .byte 5, 4, 5, 4, 4, 4 - .byte 1 - .align 2 - .4byte 0x9746 - .byte 30, 5, 5, 5, 5 - .align 2 - .4byte 0x84 - .2byte ITEM_CHESTO_BERRY - .byte -1 - .string "KOBE$", 11 - .byte 0 - .byte 10 - .2byte SPECIES_RALTS - - .align 2 - .string "PLUSES$", 11 - .align 1 - .2byte SPECIES_PLUSLE - .byte 4, 4, 4, 5, 5, 4 - .byte 0 - .align 2 - .4byte 0x1210c - .byte 5, 5, 30, 5, 5 - .align 2 - .4byte 0x6f - .2byte ITEM_WOOD_MAIL - .byte 0 - .string "ROMAN$", 11 - .byte 0 - .byte 10 - .2byte SPECIES_VOLBEAT - - .align 2 - .string "SEASOR$", 11 - .align 1 - .2byte SPECIES_HORSEA - .byte 5, 4, 4, 4, 5, 4 - .byte 0 - .align 2 - .4byte 0xb4cd - .byte 5, 5, 5, 5, 30 - .align 2 - .4byte 0x7f - .2byte ITEM_WAVE_MAIL - .byte 1 - .string "SKYLAR$", 11 - .byte 0 - .byte 10 - .2byte SPECIES_BAGON - - .align 2 - .string "MEOWOW$", 11 - .align 1 - .2byte SPECIES_MEOWTH - .byte 4, 5, 4, 5, 4, 4 - .byte 0 - .align 2 - .4byte 0x16559 - .byte 5, 5, 5, 30, 5 - .align 2 - .4byte 0x8b - .2byte ITEM_RETRO_MAIL - .byte 2 - .string "ISIS$", 11 - .byte 1 - .byte 10 - .2byte SPECIES_SKITTY - - .align 2 -gUnknown_08338FC0:: @ 8338FC0 - .2byte 0x1006, 0x1232, 0x102f, 0x0161, 0x0c00, 0x0182, 0x1000, 0x1006, 0x0e3b, 0x0000, 0x0a01, 0x1000, 0x161e, 0x018b, 0x0433, 0x1611 - .2byte 0x180f, 0x0074, 0x1440, 0x0000, 0x0811, 0x102b, 0x013b, 0x2a34, 0x0c16, 0x1037, 0x1020, 0x0418, 0x0c23, 0x0000 - - .align 2 -gUnknown_08338FFC:: @ 8338FFC - window_template 0x00, 0x02, 0x0f, 0x1a, 0x04, 0x00, 0x0040 - null_window_template - - .align 2 -gUnknown_0833900C:: @ 833900C - window_template 0x00, 0x15, 0x09, 0x05, 0x04, 0x0f, 0x00bc - - .align 2 -gUnknown_08339014:: @ 8339014 - .4byte 0x000001fc, 0x00002051, 0x00002326, 0x00003063 - -gUnknown_08339024:: @ 8339024 - .byte 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe - .byte 0xfe, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04 - .byte 0x04, 0x04, 0xfc, 0xfd, 0xfd, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x04, 0xfc, 0xfd, 0xfe, 0xff - .byte 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x02, 0x03 - -gUnknown_08339090:: @ 8339090 - .byte 0x00, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x01, 0x05, 0x02, 0x06, 0x02, 0x07, 0x02, 0x08, 0x02, 0x09, 0x02, 0x0a, 0x03, 0x0b, 0x03, 0x0c, 0x03, 0x0d, 0x04, 0x0e, 0x05, 0x0f, 0x02 - .byte 0x00, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x01, 0x05, 0x02, 0x06, 0x02, 0x07, 0x02, 0x08, 0x02, 0x09, 0x02, 0x0a, 0x03, 0x0b, 0x03, 0x0c, 0x03, 0x0d, 0x04, 0x0e, 0x05, 0x10, 0x01 - .byte 0x10, 0xff, 0x00, 0x00 diff --git a/graphics/battle_anims/sprites/effect.pal b/graphics/battle_anims/sprites/effect.pal deleted file mode 100644 index 3dcf4cff6d..0000000000 --- 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/include/battle_anim.h b/include/battle_anim.h index c494b80a45..95e9b1b365 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -94,7 +94,7 @@ void sub_80A66DC(struct Sprite *sprite); void SetSpriteCoordsToAnimAttackerCoords(struct Sprite *sprite); void RunStoredCallbackWhenAnimEnds(struct Sprite *sprite); void SetAnimSpriteInitialXOffset(struct Sprite *sprite, s16 a2); -s16 sub_80A861C(u8 battlerId, u8 a2); +s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 a2); u8 GetBattlerYCoordWithElevation(u8 battlerId); void WaitAnimForDuration(struct Sprite *sprite); void sub_80A7938(struct Sprite *sprite); @@ -122,7 +122,7 @@ s16 CloneBattlerSpriteWithBlend(u8); void obj_delete_but_dont_free_vram(struct Sprite*); u8 sub_80A89C8(int, u8, int); void sub_80A6D60(struct UnknownAnimStruct2*, const void*, u32); -void sub_80A6CC0(u32, const void*, u32); +void sub_80A6CC0(u32, const u32*, u32); void sub_80A6DAC(bool8); void TranslateSpriteInGrowingCircleOverDuration(struct Sprite *); void sub_80A653C(struct Sprite *); @@ -147,8 +147,9 @@ void sub_80A78AC(struct Sprite *sprite); void sub_80A6BFC(struct UnknownAnimStruct2 *unk, u8 unused); u8 sub_80A8394(u16 species, bool8 isBackpic, u8 a3, s16 x, s16 y, u8 subpriority, u32 personality, u32 trainerId, u32 battlerId, u32 a10); void sub_80A749C(struct Sprite *sprite); -void sub_80A6814(u8 taskId); -void sub_80A8610(struct Sprite *sprite); +void sub_80A6DEC(struct Sprite *sprite); +void DestroyAnimVisualTaskAndDisableBlend(u8 taskId); +void DestroySpriteAndFreeResources_(struct Sprite *sprite); void SetBattlerSpriteYOffsetFromOtherYScale(u8 spriteId, u8 otherSpriteId); enum @@ -160,6 +161,17 @@ enum BATTLER_COORD_Y_PIC_OFFSET_DEFAULT, }; +enum +{ + BATTLER_COORD_ATTR_HEIGHT, + BATTLER_COORD_ATTR_WIDTH, + BATTLER_COORD_ATTR_TOP, + BATTLER_COORD_ATTR_BOTTOM, + BATTLER_COORD_ATTR_LEFT, + BATTLER_COORD_ATTR_RIGHT, + BATTLER_COORD_ATTR_RAW_BOTTOM, +}; + u8 GetBattlerSpriteCoord(u8 battlerId, u8 attributeId); bool8 IsBattlerSpritePresent(u8 battlerId); @@ -198,7 +210,7 @@ u8 LaunchBallFadeMonTask(bool8 unFadeLater, u8 battlerId, u32 selectedPalettes, // battle_anim_utility_funcs.s void sub_8116EB4(u8); -void sub_8117854(u8 taskId, int unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5, u8 arg6, u8 arg7, const u8 *arg8, const u8 *arg9, const u16 *palette); +void sub_8117854(u8 taskId, int unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5, u8 arg6, u8 arg7, const u32 *arg8, const u32 *arg9, const u32 *palette); u32 UnpackSelectedBattleAnimPalettes(s16); diff --git a/include/berry.h b/include/berry.h index bef56ae414..ee581b9c18 100644 --- a/include/berry.h +++ b/include/berry.h @@ -46,7 +46,7 @@ bool32 IsEnigmaBerryValid(void); const struct Berry *GetBerryInfo(u8 berry); struct BerryTree *GetBerryTreeInfo(u8 id); bool32 EventObjectInteractionWaterBerryTree(void); -bool8 IsPlayerFacingPlantedBerryTree(void); +bool8 IsPlayerFacingEmptyBerryTreePatch(void); bool8 TryToWaterBerryTree(void); void ClearBerryTrees(void); void BerryTreeTimeUpdate(s32 minutes); diff --git a/include/constants/battle_frontier.h b/include/constants/battle_frontier.h index 903bfc8f6c..62f85fef86 100644 --- a/include/constants/battle_frontier.h +++ b/include/constants/battle_frontier.h @@ -9,6 +9,7 @@ #define FRONTIER_FACILITY_FACTORY 4 #define FRONTIER_FACILITY_PIKE 5 #define FRONTIER_FACILITY_PYRAMID 6 +#define NUM_FRONTIER_FACILITIES 7 #define TENT_VERDANTURF 2 #define TENT_FALLARBOR 3 diff --git a/include/constants/event_objects.h b/include/constants/event_objects.h index 7a97c4caf7..9973477da2 100644 --- a/include/constants/event_objects.h +++ b/include/constants/event_objects.h @@ -241,12 +241,26 @@ #define EVENT_OBJ_GFX_LUGIA 237 #define EVENT_OBJ_GFX_HOOH 238 #define EVENT_OBJ_GFX_BARD_2 239 -#define EVENT_OBJ_GFX_HIPSTER 240 -#define EVENT_OBJ_GFX_TRADER 241 -#define EVENT_OBJ_GFX_STORYTELLER 242 -#define EVENT_OBJ_GFX_GIDDY 243 -#define EVENT_OBJ_GFX_PLACEHOLDER_1 244 -#define EVENT_OBJ_GFX_PLACEHOLDER_2 245 + +// 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 EVENT_OBJ_GFX_VAR_0 240 +#define EVENT_OBJ_GFX_VAR_1 241 +#define EVENT_OBJ_GFX_VAR_2 242 +#define EVENT_OBJ_GFX_VAR_3 243 +#define EVENT_OBJ_GFX_VAR_4 244 +#define EVENT_OBJ_GFX_VAR_5 245 +#define EVENT_OBJ_GFX_VAR_6 246 +#define EVENT_OBJ_GFX_VAR_7 247 +#define EVENT_OBJ_GFX_VAR_8 248 +#define EVENT_OBJ_GFX_VAR_9 249 +#define EVENT_OBJ_GFX_VAR_A 250 +#define EVENT_OBJ_GFX_VAR_B 251 +#define EVENT_OBJ_GFX_VAR_C 252 +#define EVENT_OBJ_GFX_VAR_D 253 +#define EVENT_OBJ_GFX_VAR_E 254 +#define EVENT_OBJ_GFX_VAR_F 255 #define SHADOW_SIZE_S 0 #define SHADOW_SIZE_M 1 diff --git a/include/constants/field_effects.h b/include/constants/field_effects.h index b93b982015..add195df86 100644 --- a/include/constants/field_effects.h +++ b/include/constants/field_effects.h @@ -67,6 +67,6 @@ #define FLDEFF_USE_TELEPORT 63 #define FLDEFF_64 64 #define FLDEFF_65 65 -#define FLDEFF_66 66 +#define FLDEFF_MOVE_DEOXYS_ROCK 66 #endif diff --git a/include/constants/flags.h b/include/constants/flags.h index 3509b6a3b3..5082014e7b 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -1,1513 +1,1557 @@ #ifndef GUARD_CONSTANTS_FLAGS_H #define GUARD_CONSTANTS_FLAGS_H -// temporary flags +// Temporary Flags // These temporary flags are are cleared every time a map is loaded. They are used // for things like shortening an NPCs introduction text if the player already spoke // to them once. -#define FLAG_TEMP_1 0x1 -#define FLAG_TEMP_2 0x2 -#define FLAG_TEMP_3 0x3 -#define FLAG_TEMP_4 0x4 -#define FLAG_TEMP_5 0x5 -#define FLAG_TEMP_6 0x6 -#define FLAG_TEMP_7 0x7 -#define FLAG_TEMP_8 0x8 -#define FLAG_TEMP_9 0x9 -#define FLAG_TEMP_A 0xA -#define FLAG_TEMP_B 0xB -#define FLAG_TEMP_C 0xC -#define FLAG_TEMP_D 0xD -#define FLAG_TEMP_E 0xE -#define FLAG_TEMP_F 0xF -#define FLAG_TEMP_10 0x10 -#define FLAG_TEMP_11 0x11 -#define FLAG_TEMP_12 0x12 -#define FLAG_TEMP_13 0x13 -#define FLAG_TEMP_14 0x14 -#define FLAG_TEMP_15 0x15 -#define FLAG_TEMP_16 0x16 -#define FLAG_TEMP_17 0x17 -#define FLAG_TEMP_18 0x18 -#define FLAG_TEMP_19 0x19 -#define FLAG_TEMP_1A 0x1A -#define FLAG_TEMP_1B 0x1B -#define FLAG_TEMP_1C 0x1C -#define FLAG_TEMP_1D 0x1D -#define FLAG_TEMP_1E 0x1E -#define FLAG_TEMP_1F 0x1F -#define FLAG_TEMP_20 0x20 +#define FLAG_TEMP_1 0x1 +#define FLAG_TEMP_2 0x2 +#define FLAG_TEMP_3 0x3 +#define FLAG_TEMP_4 0x4 +#define FLAG_TEMP_5 0x5 // Unused Flag +#define FLAG_TEMP_6 0x6 // Unused Flag +#define FLAG_TEMP_7 0x7 // Unused Flag +#define FLAG_TEMP_8 0x8 // Unused Flag +#define FLAG_TEMP_9 0x9 // Unused Flag +#define FLAG_TEMP_A 0xA // Unused Flag +#define FLAG_TEMP_B 0xB // Unused Flag +#define FLAG_TEMP_C 0xC // Unused Flag +#define FLAG_TEMP_D 0xD // Unused Flag +#define FLAG_TEMP_E 0xE // Unused Flag +#define FLAG_TEMP_F 0xF // Unused Flag +#define FLAG_TEMP_10 0x10 // Unused Flag +#define FLAG_TEMP_11 0x11 +#define FLAG_TEMP_12 0x12 +#define FLAG_TEMP_13 0x13 +#define FLAG_TEMP_14 0x14 +#define FLAG_TEMP_15 0x15 +#define FLAG_TEMP_16 0x16 +#define FLAG_TEMP_17 0x17 +#define FLAG_TEMP_18 0x18 +#define FLAG_TEMP_19 0x19 +#define FLAG_TEMP_1A 0x1A +#define FLAG_TEMP_1B 0x1B +#define FLAG_TEMP_1C 0x1C +#define FLAG_TEMP_1D 0x1D +#define FLAG_TEMP_1E 0x1E +#define FLAG_TEMP_1F 0x1F -#define FLAG_0x021 0x21 -#define FLAG_0x022 0x22 -#define FLAG_0x023 0x23 -#define FLAG_0x024 0x24 -#define FLAG_0x025 0x25 -#define FLAG_0x026 0x26 -#define FLAG_0x027 0x27 -#define FLAG_0x028 0x28 -#define FLAG_0x029 0x29 -#define FLAG_0x02A 0x2A -#define FLAG_0x02B 0x2B -#define FLAG_0x02C 0x2C -#define FLAG_0x02D 0x2D -#define FLAG_0x02E 0x2E -#define FLAG_0x02F 0x2F -#define FLAG_0x030 0x30 -#define FLAG_0x031 0x31 -#define FLAG_0x032 0x32 -#define FLAG_0x033 0x33 -#define FLAG_0x034 0x34 -#define FLAG_0x035 0x35 -#define FLAG_0x036 0x36 -#define FLAG_0x037 0x37 -#define FLAG_0x038 0x38 -#define FLAG_0x039 0x39 -#define FLAG_0x03A 0x3A -#define FLAG_0x03B 0x3B -#define FLAG_0x03C 0x3C -#define FLAG_0x03D 0x3D -#define FLAG_0x03E 0x3E -#define FLAG_0x03F 0x3F -#define FLAG_0x040 0x40 -#define FLAG_0x041 0x41 -#define FLAG_0x042 0x42 -#define FLAG_0x043 0x43 -#define FLAG_0x044 0x44 -#define FLAG_0x045 0x45 -#define FLAG_0x046 0x46 -#define FLAG_0x047 0x47 -#define FLAG_0x048 0x48 -#define FLAG_0x049 0x49 -#define FLAG_0x04A 0x4A -#define FLAG_0x04B 0x4B -#define FLAG_0x04C 0x4C -#define FLAG_0x04D 0x4D -#define FLAG_0x04E 0x4E -#define FLAG_0x04F 0x4F -#define FLAG_RAYQUAZA_ON_SKY_TOWER_SUMMIT 0x50 -#define FLAG_0x051 0x51 -#define FLAG_0x052 0x52 -#define FLAG_LEGENDARIES_IN_SOOTOPOLIS 0x53 -#define FLAG_0x054 0x54 -#define FLAG_0x055 0x55 -#define FLAG_LINK_CONTEST_POKE_BALL 0x56 -#define FLAG_0x057 0x57 -#define FLAG_0x058 0x58 -#define FLAG_0x059 0x59 -#define FLAG_0x05A 0x5A -#define FLAG_WATTSON_REMATCH_AVAILABLE 0x5B -#define FLAG_0x05C 0x5C -#define FLAG_0x05D 0x5D -#define FLAG_0x05E 0x5E -#define FLAG_0x05F 0x5F -#define FLAG_0x060 0x60 -#define FLAG_0x061 0x61 -#define FLAG_0x062 0x62 -#define FLAG_0x063 0x63 -#define FLAG_0x064 0x64 -#define FLAG_0x065 0x65 -#define FLAG_0x066 0x66 -#define FLAG_0x067 0x67 -#define FLAG_0x068 0x68 -#define FLAG_0x069 0x69 -#define FLAG_0x06A 0x6A -#define FLAG_0x06B 0x6B -#define FLAG_0x06C 0x6C -#define FLAG_0x06D 0x6D -#define FLAG_0x06E 0x6E -#define FLAG_0x06F 0x6F -#define FLAG_0x070 0x70 -#define FLAG_0x071 0x71 -#define FLAG_0x072 0x72 -#define FLAG_0x073 0x73 -#define FLAG_0x074 0x74 -#define FLAG_0x075 0x75 -#define FLAG_0x076 0x76 -#define FLAG_0x077 0x77 -#define FLAG_LANDMARK_MIRAGE_TOWER 0x78 -#define FLAG_0x079 0x79 -#define FLAG_0x07A 0x7A -#define FLAG_0x07B 0x7B -#define FLAG_0x07C 0x7C -#define FLAG_0x07D 0x7D -#define FLAG_0x07E 0x7E -#define FLAG_0x07F 0x7F -#define FLAG_0x080 0x80 -#define FLAG_0x081 0x81 -#define FLAG_0x082 0x82 -#define FLAG_0x083 0x83 -#define FLAG_0x084 0x84 -#define FLAG_0x085 0x85 -#define FLAG_PENDING_DAYCARE_EGG 0x86 -#define FLAG_0x087 0x87 -#define FLAG_0x088 0x88 -#define FLAG_0x089 0x89 -#define FLAG_0x08A 0x8A -#define FLAG_0x08B 0x8B -#define FLAG_0x08C 0x8C -#define FLAG_0x08D 0x8D -#define FLAG_0x08E 0x8E -#define FLAG_0x08F 0x8F -#define FLAG_0x090 0x90 -#define FLAG_0x091 0x91 -#define FLAG_0x092 0x92 -#define FLAG_0x093 0x93 -#define FLAG_0x094 0x94 -#define FLAG_0x095 0x95 -#define FLAG_0x096 0x96 -#define FLAG_0x097 0x97 -#define FLAG_0x098 0x98 -#define FLAG_0x099 0x99 -#define FLAG_0x09A 0x9A -#define FLAG_0x09B 0x9B -#define FLAG_0x09C 0x9C -#define FLAG_FORCE_MIRAGE_TOWER_VISIBLE 0x9D -#define FLAG_0x09E 0x9E -#define FLAG_0x09F 0x9F -#define FLAG_0x0A0 0xA0 -#define FLAG_0x0A1 0xA1 -#define FLAG_0x0A2 0xA2 -#define FLAG_0x0A3 0xA3 -#define FLAG_0x0A4 0xA4 -#define FLAG_0x0A5 0xA5 -#define FLAG_0x0A6 0xA6 -#define FLAG_0x0A7 0xA7 -#define FLAG_0x0A8 0xA8 -#define FLAG_0x0A9 0xA9 -#define FLAG_0x0AA 0xAA -#define FLAG_0x0AB 0xAB -#define FLAG_0x0AC 0xAC +#define FLAG_UNUSED_0x020 0x20 // Unused Flag +#define FLAG_UNUSED_0x021 0x21 // Unused Flag +#define FLAG_UNUSED_0x022 0x22 // Unused Flag +#define FLAG_UNUSED_0x023 0x23 // Unused Flag +#define FLAG_UNUSED_0x024 0x24 // Unused Flag +#define FLAG_UNUSED_0x025 0x25 // Unused Flag +#define FLAG_UNUSED_0x026 0x26 // Unused Flag +#define FLAG_UNUSED_0x027 0x27 // Unused Flag +#define FLAG_UNUSED_0x028 0x28 // Unused Flag +#define FLAG_UNUSED_0x029 0x29 // Unused Flag +#define FLAG_UNUSED_0x02A 0x2A // Unused Flag +#define FLAG_UNUSED_0x02B 0x2B // Unused Flag +#define FLAG_UNUSED_0x02C 0x2C // Unused Flag +#define FLAG_UNUSED_0x02D 0x2D // Unused Flag +#define FLAG_UNUSED_0x02E 0x2E // Unused Flag +#define FLAG_UNUSED_0x02F 0x2F // Unused Flag +#define FLAG_UNUSED_0x030 0x30 // Unused Flag +#define FLAG_UNUSED_0x031 0x31 // Unused Flag +#define FLAG_UNUSED_0x032 0x32 // Unused Flag +#define FLAG_UNUSED_0x033 0x33 // Unused Flag +#define FLAG_UNUSED_0x034 0x34 // Unused Flag +#define FLAG_UNUSED_0x035 0x35 // Unused Flag +#define FLAG_UNUSED_0x036 0x36 // Unused Flag +#define FLAG_UNUSED_0x037 0x37 // Unused Flag +#define FLAG_UNUSED_0x038 0x38 // Unused Flag +#define FLAG_UNUSED_0x039 0x39 // Unused Flag +#define FLAG_UNUSED_0x03A 0x3A // Unused Flag +#define FLAG_UNUSED_0x03B 0x3B // Unused Flag +#define FLAG_UNUSED_0x03C 0x3C // Unused Flag +#define FLAG_UNUSED_0x03D 0x3D // Unused Flag +#define FLAG_UNUSED_0x03E 0x3E // Unused Flag +#define FLAG_UNUSED_0x03F 0x3F // Unused Flag +#define FLAG_UNUSED_0x040 0x40 // Unused Flag +#define FLAG_UNUSED_0x041 0x41 // Unused Flag +#define FLAG_UNUSED_0x042 0x42 // Unused Flag +#define FLAG_UNUSED_0x043 0x43 // Unused Flag +#define FLAG_UNUSED_0x044 0x44 // Unused Flag +#define FLAG_UNUSED_0x045 0x45 // Unused Flag +#define FLAG_UNUSED_0x046 0x46 // Unused Flag +#define FLAG_UNUSED_0x047 0x47 // Unused Flag +#define FLAG_UNUSED_0x048 0x48 // Unused Flag +#define FLAG_UNUSED_0x049 0x49 // Unused Flag +#define FLAG_UNUSED_0x04A 0x4A // Unused Flag +#define FLAG_UNUSED_0x04B 0x4B // Unused Flag +#define FLAG_UNUSED_0x04C 0x4C // Unused Flag +#define FLAG_UNUSED_0x04D 0x4D // Unused Flag +#define FLAG_UNUSED_0x04E 0x4E // Unused Flag +#define FLAG_UNUSED_0x04F 0x4F // Unused Flag -#define FLAG_DECORATION_0 0xAD -#define FLAG_DECORATION_1 0xAE -#define FLAG_DECORATION_2 0xAF -#define FLAG_DECORATION_3 0xB0 -#define FLAG_DECORATION_4 0xB1 -#define FLAG_DECORATION_5 0xB2 -#define FLAG_DECORATION_6 0xB3 -#define FLAG_DECORATION_7 0xB4 -#define FLAG_DECORATION_8 0xB5 -#define FLAG_DECORATION_9 0xB6 -#define FLAG_DECORATION_10 0xB7 -#define FLAG_DECORATION_11 0xB8 -#define FLAG_DECORATION_12 0xB9 -#define FLAG_DECORATION_13 0xBA -#define FLAG_DECORATION_14 0xBB +// Scripts +#define FLAG_RAYQUAZA_ON_SKY_TOWER_SUMMIT 0x50 +#define FLAG_SET_WALL_CLOCK 0x51 +#define FLAG_RESCUED_BIRCH 0x52 +#define FLAG_LEGENDARIES_IN_SOOTOPOLIS 0x53 -// scripts -#define FLAG_0x0BC 0xBC -#define FLAG_0x0BD 0xBD -#define FLAG_0x0BE 0xBE -#define FLAG_0x0BF 0xBF -#define FLAG_0x0C0 0xC0 -#define FLAG_0x0C1 0xC1 -#define FLAG_0x0C2 0xC2 -#define FLAG_0x0C3 0xC3 -#define FLAG_0x0C4 0xC4 -#define FLAG_0x0C5 0xC5 -#define FLAG_0x0C6 0xC6 -#define FLAG_RUSTURF_TUNNEL_OPENED 0xC7 -#define FLAG_0x0C8 0xC8 -#define FLAG_0x0C9 0xC9 -#define FLAG_0x0CA 0xCA -#define FLAG_0x0CB 0xCB -#define FLAG_0x0CC 0xCC -#define FLAG_0x0CD 0xCD -#define FLAG_0x0CE 0xCE -#define FLAG_0x0CF 0xCF -#define FLAG_GOT_BASEMENT_KEY_FROM_WATTSON 0xD0 -#define FLAG_GOT_TM24_FROM_WATTSON 0xD1 -#define FLAG_0x0D2 0xD2 -#define FLAG_0x0D3 0xD3 -#define FLAG_0x0D4 0xD4 -#define FLAG_0x0D5 0xD5 -#define FLAG_0x0D6 0xD6 -#define FLAG_0x0D7 0xD7 -#define FLAG_0x0D8 0xD8 -#define FLAG_0x0D9 0xD9 -#define FLAG_0x0DA 0xDA -#define FLAG_0x0DB 0xDB -#define FLAG_0x0DC 0xDC -#define FLAG_0x0DD 0xDD -#define FLAG_0x0DE 0xDE -#define FLAG_0x0DF 0xDF -#define FLAG_0x0E0 0xE0 -#define FLAG_0x0E1 0xE1 -#define FLAG_0x0E2 0xE2 -#define FLAG_0x0E3 0xE3 -#define FLAG_0x0E4 0xE4 -#define FLAG_0x0E5 0xE5 -#define FLAG_RECEIVED_TM_36 0xE6 -#define FLAG_0x0E7 0xE7 -#define FLAG_0x0E8 0xE8 -#define FLAG_0x0E9 0xE9 -#define FLAG_0x0EA 0xEA -#define FLAG_0x0EB 0xEB -#define FLAG_0x0EC 0xEC -#define FLAG_0x0ED 0xED -#define FLAG_0x0EE 0xEE -#define FLAG_0x0EF 0xEF -#define FLAG_0x0F0 0xF0 -#define FLAG_0x0F1 0xF1 -#define FLAG_0x0F2 0xF2 -#define FLAG_0x0F3 0xF3 -#define FLAG_0x0F4 0xF4 -#define FLAG_0x0F5 0xF5 -#define FLAG_0x0F6 0xF6 -#define FLAG_0x0F7 0xF7 -#define FLAG_0x0F8 0xF8 -#define FLAG_0x0F9 0xF9 -#define FLAG_0x0FA 0xFA -#define FLAG_0x0FB 0xFB -#define FLAG_0x0FC 0xFC -#define FLAG_0x0FD 0xFD -#define FLAG_0x0FE 0xFE -#define FLAG_0x0FF 0xFF -#define FLAG_0x100 0x100 -#define FLAG_0x101 0x101 -#define FLAG_0x102 0x102 -#define FLAG_0x103 0x103 -#define FLAG_0x104 0x104 -#define FLAG_0x105 0x105 -#define FLAG_0x106 0x106 -#define FLAG_0x107 0x107 -#define FLAG_0x108 0x108 -#define FLAG_0x109 0x109 -#define FLAG_0x10A 0x10A -#define FLAG_0x10B 0x10B -#define FLAG_0x10C 0x10C -#define FLAG_0x10D 0x10D -#define FLAG_0x10E 0x10E -#define FLAG_0x10F 0x10F -#define FLAG_0x110 0x110 -#define FLAG_0x111 0x111 -#define FLAG_0x112 0x112 -#define FLAG_0x113 0x113 -#define FLAG_0x114 0x114 -#define FLAG_0x115 0x115 -#define FLAG_0x116 0x116 -#define FLAG_0x117 0x117 -#define FLAG_0x118 0x118 -#define FLAG_0x119 0x119 -#define FLAG_0x11A 0x11A -#define FLAG_0x11B 0x11B -#define FLAG_0x11C 0x11C -#define FLAG_0x11D 0x11D -#define FLAG_0x11E 0x11E -#define FLAG_0x11F 0x11F -#define FLAG_0x120 0x120 -#define FLAG_0x121 0x121 -#define FLAG_0x122 0x122 -#define FLAG_0x123 0x123 +#define FLAG_UNUSED_0x054 0x54 // Unused Flag +#define FLAG_UNUSED_0x055 0x55 // Unused Flag -// upper flags? -#define FLAG_0x124 0x124 -#define FLAG_0x125 0x125 -#define FLAG_TRADED_SCANNER_TO_STERN 0x126 -#define FLAG_0x127 0x127 -#define FLAG_0x128 0x128 -#define FLAG_0x129 0x129 -#define FLAG_0x12A 0x12A -#define FLAG_0x12B 0x12B -#define FLAG_0x12C 0x12C -#define FLAG_0x12D 0x12D -#define FLAG_0x12E 0x12E -#define FLAG_HAS_MATCH_CALL 0x12F -#define FLAG_0x130 0x130 -#define FLAG_0x131 0x131 -#define FLAG_0x132 0x132 -#define FLAG_0x133 0x133 -#define FLAG_0x134 0x134 -#define FLAG_0x135 0x135 -#define FLAG_0x136 0x136 -#define FLAG_0x137 0x137 -#define FLAG_0x138 0x138 -#define FLAG_0x139 0x139 -#define FLAG_0x13A 0x13A -#define FLAG_0x13B 0x13B -#define FLAG_0x13C 0x13C -#define FLAG_0x13D 0x13D -#define FLAG_0x13E 0x13E -#define FLAG_0x13F 0x13F -#define FLAG_0x140 0x140 -#define FLAG_0x141 0x141 -#define FLAG_0x142 0x142 -#define FLAG_0x143 0x143 -#define FLAG_0x144 0x144 -#define FLAG_0x145 0x145 -#define FLAG_0x146 0x146 -#define FLAG_0x147 0x147 -#define FLAG_0x148 0x148 -#define FLAG_0x149 0x149 -#define FLAG_0x14A 0x14A -#define FLAG_0x14B 0x14B -#define FLAG_0x14C 0x14C -#define FLAG_0x14D 0x14D -#define FLAG_MIRAGE_TOWER_VISIBLE 0x14E -#define FLAG_0x14F 0x14F// PLAYER CHOSE CLAW FOSSIL -#define FLAG_0x150 0x150// PLAYER CHOSE ROOT FOSSIL -#define FLAG_0x151 0x151 -#define FLAG_0x152 0x152 -#define FLAG_0x153 0x153 -#define FLAG_0x154 0x154 -#define FLAG_0x155 0x155 -#define FLAG_0x156 0x156 -#define FLAG_0x157 0x157 -#define FLAG_0x158 0x158 -#define FLAG_0x159 0x159 -#define FLAG_0x15A 0x15A -#define FLAG_0x15B 0x15B +#define FLAG_LINK_CONTEST_POKE_BALL 0x56 +#define FLAG_MET_RIVAL_MOM 0x57 +#define FLAG_BIRCH_AIDE_MET 0x58 +#define FLAG_DECLINED_BIKE 0x59 +#define FLAG_RECEIVED_BIKE 0x5A +#define FLAG_WATTSON_REMATCH_AVAILABLE 0x5B +#define FLAG_COLLECTED_ALL_SILVER_SYMBOLS 0x5C +#define FLAG_GOOD_LUCK_SAFARI_ZONE 0x5D // Set after talking to NPC blocking Safari Zone entrance/exit once. +#define FLAG_RECEIVED_WAILMER_PAIL 0x5E +#define FLAG_RECEIVED_POKEBLOCK_CASE 0x5F +#define FLAG_RECEIVED_SECRET_POWER 0x60 +#define FLAG_MET_TEAM_AQUA_HARBOR 0x61 +#define FLAG_TV_EXPLAINED 0x62 +#define FLAG_MAUVILLE_GYM_BARRIERS_STATE 0x63 +#define FLAG_MOSSDEEP_GYM_SWITCH_1 0x64 +#define FLAG_MOSSDEEP_GYM_SWITCH_2 0x65 +#define FLAG_MOSSDEEP_GYM_SWITCH_3 0x66 +#define FLAG_MOSSDEEP_GYM_SWITCH_4 0x67 -#define FLAG_MATCH_CALL_REGISTERED 0x15C -#define FLAG_0x15D 0x15D -#define FLAG_0x15E 0x15E -#define FLAG_0x15F 0x15F -#define FLAG_0x160 0x160 -#define FLAG_0x161 0x161 -#define FLAG_0x162 0x162 -#define FLAG_0x163 0x163 -#define FLAG_0x164 0x164 -#define FLAG_0x165 0x165 -#define FLAG_0x166 0x166 -#define FLAG_0x167 0x167 -#define FLAG_0x168 0x168 -#define FLAG_0x169 0x169 -#define FLAG_0x16A 0x16A -#define FLAG_0x16B 0x16B -#define FLAG_0x16C 0x16C -#define FLAG_0x16D 0x16D -#define FLAG_0x16E 0x16E -#define FLAG_0x16F 0x16F -#define FLAG_0x170 0x170 -#define FLAG_0x171 0x171 -#define FLAG_0x172 0x172 -#define FLAG_0x173 0x173 -#define FLAG_0x174 0x174 -#define FLAG_0x175 0x175 -#define FLAG_0x176 0x176 -#define FLAG_0x177 0x177 -#define FLAG_0x178 0x178 -#define FLAG_0x179 0x179 -#define FLAG_0x17A 0x17A -#define FLAG_0x17B 0x17B -#define FLAG_0x17C 0x17C -#define FLAG_0x17D 0x17D -#define FLAG_0x17E 0x17E -#define FLAG_0x17F 0x17F -#define FLAG_0x180 0x180 -#define FLAG_0x181 0x181 -#define FLAG_0x182 0x182 -#define FLAG_0x183 0x183 -#define FLAG_0x184 0x184 -#define FLAG_0x185 0x185 -#define FLAG_0x186 0x186 -#define FLAG_0x187 0x187 -#define FLAG_0x188 0x188 -#define FLAG_0x189 0x189 -#define FLAG_0x18A 0x18A -#define FLAG_0x18B 0x18B -#define FLAG_0x18C 0x18C -#define FLAG_0x18D 0x18D -#define FLAG_0x18E 0x18E -#define FLAG_0x18F 0x18F -#define FLAG_0x190 0x190 -#define FLAG_0x191 0x191 -#define FLAG_0x192 0x192 -#define FLAG_0x193 0x193 -#define FLAG_0x194 0x194 -#define FLAG_0x195 0x195 -#define FLAG_0x196 0x196 -#define FLAG_0x197 0x197 -#define FLAG_0x198 0x198 -#define FLAG_0x199 0x199 -#define FLAG_0x19A 0x19A -#define FLAG_0x19B 0x19B -#define FLAG_0x19C 0x19C -#define FLAG_0x19D 0x19D -#define FLAG_0x19E 0x19E -#define FLAG_0x19F 0x19F -#define FLAG_0x1A0 0x1A0 -#define FLAG_0x1A1 0x1A1 -#define FLAG_0x1A2 0x1A2 -#define FLAG_0x1A3 0x1A3 -#define FLAG_0x1A4 0x1A4 -#define FLAG_0x1A5 0x1A5 -#define FLAG_0x1A6 0x1A6 -#define FLAG_0x1A7 0x1A7 -#define FLAG_0x1A8 0x1A8 -#define FLAG_0x1A9 0x1A9 -#define FLAG_0x1AA 0x1AA -#define FLAG_0x1AB 0x1AB -#define FLAG_0x1AC 0x1AC -#define FLAG_0x1AD 0x1AD -#define FLAG_0x1AE 0x1AE -#define FLAG_0x1AF 0x1AF -#define FLAG_0x1B0 0x1B0 -#define FLAG_0x1B1 0x1B1 -#define FLAG_0x1B2 0x1B2 -#define FLAG_0x1B3 0x1B3 -#define FLAG_0x1B4 0x1B4 -#define FLAG_0x1B5 0x1B5 -#define FLAG_0x1B6 0x1B6 -#define FLAG_0x1B7 0x1B7 -#define FLAG_0x1B8 0x1B8 -#define FLAG_0x1B9 0x1B9 -#define FLAG_0x1BA 0x1BA -#define FLAG_0x1BB 0x1BB -#define FLAG_0x1BC 0x1BC -#define FLAG_0x1BD 0x1BD -#define FLAG_0x1BE 0x1BE -#define FLAG_0x1BF 0x1BF -#define FLAG_0x1C0 0x1C0 -#define FLAG_0x1C1 0x1C1 -#define FLAG_0x1C2 0x1C2 -#define FLAG_0x1C3 0x1C3 -#define FLAG_0x1C4 0x1C4 -#define FLAG_0x1C5 0x1C5 -#define FLAG_0x1C6 0x1C6 -#define FLAG_0x1C7 0x1C7 -#define FLAG_0x1C8 0x1C8 -#define FLAG_0x1C9 0x1C9 -#define FLAG_0x1CA 0x1CA -#define FLAG_0x1CB 0x1CB -#define FLAG_0x1CC 0x1CC -#define FLAG_0x1CD 0x1CD -#define FLAG_0x1CE 0x1CE -#define FLAG_0x1CF 0x1CF -#define FLAG_0x1D0 0x1D0 -#define FLAG_0x1D1 0x1D1 -#define FLAG_0x1D2 0x1D2 -#define FLAG_0x1D3 0x1D3 -#define FLAG_0x1D4 0x1D4 -#define FLAG_0x1D5 0x1D5 -#define FLAG_0x1D6 0x1D6 -#define FLAG_0x1D7 0x1D7 -#define FLAG_0x1D8 0x1D8 -#define FLAG_0x1D9 0x1D9 -#define FLAG_0x1DA 0x1DA -#define FLAG_0x1DB 0x1DB -#define FLAG_0x1DC 0x1DC -#define FLAG_0x1DD 0x1DD -#define FLAG_0x1DE 0x1DE -#define FLAG_0x1DF 0x1DF -#define FLAG_0x1E0 0x1E0 -#define FLAG_0x1E1 0x1E1 -#define FLAG_0x1E2 0x1E2 -#define FLAG_0x1E3 0x1E3 -#define FLAG_MYSTERY_EVENT_DONE 0x1E4 -#define FLAG_0x1E5 0x1E5 -#define FLAG_0x1E6 0x1E6 -#define FLAG_0x1E7 0x1E7 -#define FLAG_0x1E8 0x1E8 -#define FLAG_0x1E9 0x1E9 -#define FLAG_0x1EA 0x1EA -#define FLAG_0x1EB 0x1EB -#define FLAG_0x1EC 0x1EC -#define FLAG_0x1ED 0x1ED -#define FLAG_0x1EE 0x1EE -#define FLAG_0x1EF 0x1EF -#define FLAG_0x1F0 0x1F0 -#define FLAG_0x1F1 0x1F1 -#define FLAG_0x1F2 0x1F2 -#define FLAG_0x1F3 0x1F3 -#define FLAG_0x1F5 0x1F5 // trick house end room? +#define FLAG_UNUSED_0x068 0x68 // Unused Flag + +#define FLAG_OCEANIC_MUSEUM_MET_REPORTER 0x69 +#define FLAG_RECEIVED_HM04 0x6A +#define FLAG_RECEIVED_HM06 0x6B +#define FLAG_FLANNERY_GIVES_BADGE_INFO 0x6C +#define FLAG_RECEIVED_HM05 0x6D +#define FLAG_RECEIVED_HM02 0x6E +#define FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT 0x6F +#define FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE 0x70 +#define FLAG_UNUSED_RS_LEGENDARY_BATTLE_DONE 0x71 // Unused Flag. Used in R/S to indicate whether player defeated or caught Groudon/Kyogre in Cave of Origin. +#define FLAG_SCOTT_CALL_NATIONAL_DEX 0x72 // Used in order to activate a phone call from Scott, inviting the player to the SS Tidal. +#define FLAG_RECEIVED_METEORITE 0x73 +#define FLAG_ADVENTURE_STARTED 0x74 // RECEIVED Pokédex. +#define FLAG_DEFEATED_MAGMA_SPACE_CENTER 0x75 // Set when Team Magma is defeated at Mossdeep's Space Center. +#define FLAG_MET_HIDDEN_POWER_GIVER 0x76 + +#define FLAG_CANCEL_BATTLE_ROOM_CHALLENGE 0x77 + +#define FLAG_LANDMARK_MIRAGE_TOWER 0x78 +#define FLAG_RECEIVED_TM31 0x79 +#define FLAG_RECEIVED_HM03 0x7A +#define FLAG_RECEIVED_HM08 0x7B +#define FLAG_REGISTER_RIVAL_POKENAV 0x7C +#define FLAG_DEFEATED_RIVAL_ROUTE_104 0x7D +#define FLAG_DEFEATED_WALLY_VICTORY_ROAD 0x7E +#define FLAG_MET_PRETTY_PETAL_SHOP_OWNER 0x7F +#define FLAG_ENABLE_ROXANNE_FIRST_CALL 0x80 // Set after defeating Brawly. This will activate a call with Roxanne in order to register her. +#define FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN 0x81 +#define FLAG_DEFEATED_RIVAL_ROUTE103 0x82 +#define FLAG_RECEIVED_DOLL_LANETTE 0x83 +#define FLAG_RECEIVED_POTION_OLDALE 0x84 +#define FLAG_MOM_SAYS_GOODBYE 0x85 +#define FLAG_PENDING_DAYCARE_EGG 0x86 +#define FLAG_THANKED_FOR_PLAYING_WITH_WALLY 0x87 +#define FLAG_ENABLE_FIRST_WALLY_POKENAV_CALL 0x88 // Set after defeating Wally outside Mauville Gym. Will activate a call later to register Wally. +#define FLAG_RECEIVED_HM01 0x89 +#define FLAG_REGISTER_WINONA_POKENAV 0x8A // Set after obtaining registering Winona, and cleared after Scott's call. +#define FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY 0x8B +#define FLAG_RECEIVED_6_SODA_POP 0x8C +#define FLAG_DEFEATED_SEASHORE_HOUSE 0x8D +#define FLAG_DEVON_GOODS_STOLEN 0x8E +#define FLAG_RECOVERED_DEVON_GOODS 0x8F +#define FLAG_RETURNED_DEVON_GOODS 0x90 +#define FLAG_CAUGHT_LUGIA 0x91 +#define FLAG_CAUGHT_HO_OH 0x92 +#define FLAG_MR_BRINEY_SAILING_INTRO 0x93 +#define FLAG_DOCK_REJECTED_DEVON_GOODS 0x94 +#define FLAG_DELIVERED_DEVON_GOODS 0x95 + +#define FLAG_UNUSED_0x096 0x96 // Unused Flag + +#define FLAG_RECEIVED_CASTFORM 0x97 +#define FLAG_RECEIVED_SUPER_ROD 0x98 +#define FLAG_RUSTBORO_NPC_TRADE_COMPLETED 0x99 +#define FLAG_PACIFIDLOG_NPC_TRADE_COMPLETED 0x9A +#define FLAG_FORTREE_NPC_TRADE_COMPLETED 0x9B +#define FLAG_BATTLE_FRONTIER_TRADE_DONE 0x9C +#define FLAG_FORCE_MIRAGE_TOWER_VISIBLE 0x9D +#define FLAG_SOOTOPOLIS_ARCHIE_MAXIE_LEAVE 0x9E +#define FLAG_INTERACTED_WITH_DEVON_EMPLOYEE_GOODS_STOLEN 0x9F +#define FLAG_COOL_PAINTING_MADE 0xA0 +#define FLAG_BEAUTY_PAINTING_MADE 0xA1 +#define FLAG_CUTE_PAINTING_MADE 0xA2 +#define FLAG_SMART_PAINTING_MADE 0xA3 +#define FLAG_TOUGH_PAINTING_MADE 0xA4 +#define FLAG_RECEIVED_TM39 0xA5 +#define FLAG_RECEIVED_TM08 0xA6 +#define FLAG_RECEIVED_TM34 0xA7 +#define FLAG_RECEIVED_TM50 0xA8 +#define FLAG_RECEIVED_TM42 0xA9 +#define FLAG_RECEIVED_TM40 0xAA +#define FLAG_RECEIVED_TM04 0xAB +#define FLAG_RECEIVED_TM03 0xAC +#define FLAG_DECORATION_0 0xAD +#define FLAG_DECORATION_1 0xAE +#define FLAG_DECORATION_2 0xAF +#define FLAG_DECORATION_3 0xB0 +#define FLAG_DECORATION_4 0xB1 +#define FLAG_DECORATION_5 0xB2 +#define FLAG_DECORATION_6 0xB3 +#define FLAG_DECORATION_7 0xB4 +#define FLAG_DECORATION_8 0xB5 +#define FLAG_DECORATION_9 0xB6 +#define FLAG_DECORATION_10 0xB7 +#define FLAG_DECORATION_11 0xB8 +#define FLAG_DECORATION_12 0xB9 +#define FLAG_DECORATION_13 0xBA +#define FLAG_DECORATION_14 0xBB +#define FLAG_RECEIVED_POKENAV 0xBC +#define FLAG_DELIVERED_STEVEN_LETTER 0xBD +#define FLAG_DEFEATED_WALLY_MAUVILLE 0xBE +#define FLAG_DEFEATED_GRUNT_SPACE_CENTER_1F 0xBF +#define FLAG_RECEIVED_SUN_STONE_MOSSDEEP 0xC0 +#define FLAG_WALLY_SPEECH 0xC1 +#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1 0xC2 +#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2 0xC3 +#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3 0xC4 +#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4 0xC5 +#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5 0xC6 +#define FLAG_RUSTURF_TUNNEL_OPENED 0xC7 +#define FLAG_RECEIVED_RED_SCARF 0xC8 +#define FLAG_RECEIVED_BLUE_SCARF 0xC9 +#define FLAG_RECEIVED_PINK_SCARF 0xCA +#define FLAG_RECEIVED_GREEN_SCARF 0xCB +#define FLAG_RECEIVED_YELLOW_SCARF 0xCC +#define FLAG_INTERACTED_WITH_STEVEN_SPACE_CENTER 0xCD +#define FLAG_ENCOUNTERED_LATIAS_OR_LATIOS 0xCE +#define FLAG_MET_ARCHIE_METEOR_FALLS 0xCF +#define FLAG_GOT_BASEMENT_KEY_FROM_WATTSON 0xD0 +#define FLAG_GOT_TM24_FROM_WATTSON 0xD1 +#define FLAG_FAN_CLUB_STRENGTH_SHARED 0xD2 // Set when you rate the strength of another trainer in Lilycove's Trainer Fan Club. +#define FLAG_DEFEATED_RIVAL_RUSTBORO 0xD3 +#define FLAG_RECEIVED_RED_OR_BLUE_ORB 0xD4 +#define FLAG_RECEIVED_PREMIER_BALL_RUSTBORO 0xD5 +#define FLAG_ENABLE_WALLY_MATCH_CALL 0xD6 +#define FLAG_ENABLE_SCOTT_MATCH_CALL 0xD7 +#define FLAG_ENABLE_MOM_MATCH_CALL 0xD8 +#define FLAG_MET_DIVING_TREASURE_HUNTER 0xD9 +#define FLAG_MET_WAILMER_TRAINER 0xDA +#define FLAG_EVIL_LEADER_PLEASE_STOP 0xDB + +#define FLAG_UNUSED_0x0DC 0xDC // Unused Flag + +#define FLAG_RECEIVED_GO_GOGGLES 0xDD +#define FLAG_WINGULL_SENT_ON_ERRAND 0xDE +#define FLAG_RECEIVED_MENTAL_HERB 0xDF +#define FLAG_WINGULL_DELIVERED_MAIL 0xE0 +#define FLAG_RECEIVED_20_COINS 0xE1 +#define FLAG_RECEIVED_STARTER_DOLL 0xE2 +#define FLAG_RECEIVED_GOOD_ROD 0xE3 +#define FLAG_REGI_DOORS_OPENED 0xE4 +#define FLAG_RECEIVED_TM27 0xE5 +#define FLAG_RECEIVED_TM36 0xE6 +#define FLAG_RECEIVED_TM05 0xE7 +#define FLAG_RECEIVED_TM19 0xE8 + +#define FLAG_UNUSED_0x0E9 0xE9 // Unused Flag + +#define FLAG_RECEIVED_TM44 0xEA +#define FLAG_RECEIVED_TM45 0xEB +#define FLAG_RECEIVED_GLASS_ORNAMENT 0xEC +#define FLAG_RECEIVED_SILVER_SHIELD 0xED +#define FLAG_RECEIVED_GOLD_SHIELD 0xEE +#define FLAG_USED_STORAGE_KEY 0xEF +#define FLAG_USED_ROOM_1_KEY 0xF0 +#define FLAG_USED_ROOM_2_KEY 0xF1 +#define FLAG_USED_ROOM_4_KEY 0xF2 +#define FLAG_USED_ROOM_6_KEY 0xF3 +#define FLAG_MET_PROF_COSMO 0xF4 +#define FLAG_RECEIVED_WAILMER_DOLL 0xF5 +#define FLAG_RECEIVED_CHESTO_BERRY_ROUTE_104 0xF6 +#define FLAG_DEFEATED_SS_TIDAL_TRAINERS 0xF7 +#define FLAG_RECEIVED_SPELON_BERRY 0xF8 +#define FLAG_RECEIVED_PAMTRE_BERRY 0xF9 +#define FLAG_RECEIVED_WATMEL_BERRY 0xFA +#define FLAG_RECEIVED_DURIN_BERRY 0xFB +#define FLAG_RECEIVED_BELUE_BERRY 0xFC +#define FLAG_ENABLE_RIVAL_MATCH_CALL 0xFD +#define FLFLAG_RECEIVED_CHARCOAL 0xFE +#define FLAG_LATIOS_OR_LATIAS_ROAMING 0xFF +#define FLAG_RECEIVED_REPEAT_BALL 0x100 +#define FLAG_RECEIVED_OLD_ROD 0x101 +#define FLAG_RECEIVED_COIN_CASE 0x102 +#define FLAG_RETURNED_RED_OR_BLUE_ORB 0x103 +#define FLAG_RECEIVED_TM49 0x104 +#define FLAG_RECEIVED_TM28 0x105 +#define FLAG_RECEIVED_TM09 0x106 +#define FLAG_ENTERED_ELITE_FOUR 0x107 +#define FLAG_RECEIVED_TM10 0x108 +#define FLAG_RECEIVED_TM41 0x109 +#define FLAG_RECEIVED_LAVARIDGE_EGG 0x10A +#define FLAG_RECEIVED_REVIVED_FOSSIL_MON 0x10B +#define FLAG_DECORATION_16 0x10C +#define FLAG_RECEIVED_TM46 0x10D +#define FLAG_CONTEST_SKETCH_CREATED 0x10E +#define FLAG_EVIL_TEAM_ESCAPED_STERN_SPOKE 0x10F +#define FLAG_RECEIVED_EXP_SHARE 0x110 +#define FLAG_POKERUS_EXPLAINED 0x111 +#define FLAG_RECEIVED_RUNNING_SHOES 0x112 +#define FLAG_RECEIVED_QUICK_CLAW 0x113 +#define FLAG_RECEIVED_KINGS_ROCK 0x114 +#define FLAG_RECEIVED_MACHO_BRACE 0x115 +#define FLAG_RECEIVED_SOOTHE_BELL 0x116 +#define FLAG_RECEIVED_WHITE_HERB 0x117 +#define FLAG_RECEIVED_SOFT_SAND 0x118 +#define FLAG_ENABLE_PROF_BIRCH_MATCH_CALL 0x119 +#define FLAG_RECEIVED_CLEANSE_TAG 0x11A +#define FLAG_RECEIVED_FOCUS_BAND 0x11B +#define FLAG_DECLINED_WALLY_BATTLE_MAUVILLE 0x11C +#define FLAG_RECEIVED_DEVON_SCOPE 0x11D +#define FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE 0x11E +#define FLAG_MET_DEVON_EMPLOYEE 0x11F +#define FLAG_MET_RIVAL_RUSTBORO 0x120 +#define FLAG_RECEIVED_SILK_SCARF 0x121 +#define FLAG_NOT_READY_FOR_BATTLE_ROUTE_120 0x122 +#define FLAG_RECEIVED_SS_TICKET 0x123 +#define FLAG_MET_RIVAL_LILYCOVE 0x124 +#define FLAG_MET_RIVAL_IN_HOUSE_AFTER_LILYCOVE 0x125 +#define FLAG_EXCHANGED_SCANNER 0x126 +#define FLAG_KECLEON_FLED_FORTREE 0x127 +#define FLAG_PETALBURG_MART_EXPANDED_ITEMS 0x128 +#define FLAG_RECEIVED_MIRACLE_SEED 0x129 +#define FLAG_RECEIVED_BELDUM 0x12A +#define FLAG_RECEIVED_FANCLUB_TM_THIS_WEEK 0x12B +#define FLAG_MET_FANCLUB_YOUNGER_BROTHER 0x12C +#define FLAG_RIVAL_LEFT_FOR_ROUTE103 0x12D +#define FLAG_OMIT_DIVE_FROM_STEVEN_LETTER 0x12E +#define FLAG_HAS_MATCH_CALL 0x12F +#define FLAG_ADDED_MATCH_CALL_TO_POKENAV 0x130 +#define FLAG_REGISTERED_STEVEN_POKENAV 0x131 +#define FLAG_ENABLE_NORMAN_MATCH_CALL 0x132 +#define FLAG_STEVEN_GUIDES_TO_CAVE_OF_ORIGIN 0x133 // Set after you follow Steven to the entrance of the Cave of Origin. +#define FLAG_MET_ARCHIE_SOOTOPOLIS 0x134 +#define FLAG_MET_MAXIE_SOOTOPOLIS 0x135 +#define FLAG_MET_SCOTT_RUSTBORO 0x136 +#define FLAG_WALLACE_GOES_TO_SKY_PILLAR 0x137 // Set after speaking to Wallace within the Cave of Origin. +#define FLAG_RECEIVED_HM07 0x138 +#define FLAG_BEAT_MAGMA_GRUNT_JAGGED_PASS 0x139 // Beat Magma Grunt blocking Magma Hideout entrance. +#define FLAG_RECEIVED_AURORA_TICKET 0x13A // RECEIVED Aurora Ticket in Mystery Gift +#define FLAG_RECEIVED_MYSTIC_TICKET 0x13B // RECEIVED Mystic Ticket in Mystery Gift +#define FLAG_RECEIVED_OLD_SEA_MAP 0x13C // RECEIVED Old Sea Map in Mystery Gift + +#define FLAG_UNUSED_0x13D 0x13D // Unused Flag +#define FLAG_UNUSED_0x13E 0x13E // Unused Flag +#define FLAG_UNUSED_0x13F 0x13F // Unused Flag +#define FLAG_UNUSED_0x140 0x140 // Unused Flag +#define FLAG_UNUSED_0x141 0x141 // Unused Flag +#define FLAG_UNUSED_0x142 0x142 // Unused Flag +#define FLAG_UNUSED_0x143 0x143 // Unused Flag +#define FLAG_UNUSED_0x144 0x144 // Unused Flag +#define FLAG_UNUSED_0x145 0x145 // Unused Flag +#define FLAG_UNUSED_0x146 0x146 // Unused Flag +#define FLAG_UNUSED_0x147 0x147 // Unused Flag +#define FLAG_UNUSED_0x148 0x148 // Unused Flag +#define FLAG_UNUSED_0x149 0x149 // Unused Flag +#define FLAG_UNUSED_0x14A 0x14A // Unused Flag +#define FLAG_UNUSED_0x14B 0x14B // Unused Flag +#define FLAG_UNUSED_0x14C 0x14C // Unused Flag +#define FLAG_UNUSED_0x14D 0x14D // Unused Flag + +#define FLAG_MIRAGE_TOWER_VISIBLE 0x14E +#define FLAG_CHOSE_CLAW_FOSSIL 0x14F // Player chose Claw Fossil +#define FLAG_CHOSE_ROOT_FOSSIL 0x150 // Player chose Root Fossil +#define FLAG_RECEIVED_POWDER_JAR 0x151 + +#define FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER 0x152 + +#define FLAG_MET_BATTLE_FRONTIER_BREEDER 0x153 +#define FLAG_MET_BATTLE_FRONTIER_MANIAC 0x154 +#define FLAG_ENTERED_LINK_CONTEST 0x155 +#define FLAG_MET_SLATEPORT_FANCLUB_CHAIRMAN 0x156 +#define FLAG_MET_BATTLE_FRONTIER_BETTOR 0x157 +#define FLAG_ENABLE_MR_STONE_POKENAV 0x158 +#define FLAG_OLDALE_NURSE_MENTIONS_GOLD_CARD 0x159 +#define FLAG_MET_FRONTIER_BEAUTY_MOVE_TUTOR 0x15A +#define FLAG_MET_FRONTIER_SWIMMER_MOVE_TUTOR 0x15B + +// Trainer Rematch Flags +#define FLAG_MATCH_CALL_REGISTERED 0x15C +#define FLAG_REMATCH_ROSE 0x15D +#define FLAG_REMATCH_ANDRES 0x15E +#define FLAG_REMATCH_DUSTY 0x15F +#define FLAG_REMATCH_LOLA 0x160 +#define FLAG_REMATCH_RICKY 0x161 +#define FLAG_REMATCH_LILA_AND_ROY 0x162 +#define FLAG_REMATCH_CRISTIN 0x163 +#define FLAG_REMATCH_BROOKE 0x164 +#define FLAG_REMATCH_WILTON 0x165 +#define FLAG_REMATCH_VALERIE 0x166 +#define FLAG_REMATCH_CINDY 0x167 +#define FLAG_REMATCH_THALIA 0x168 +#define FLAG_REMATCH_JESSICA 0x169 +#define FLAG_REMATCH_WINSTON 0x16A +#define FLAG_REMATCH_STEVE 0x16B +#define FLAG_REMATCH_TONY 0x16C +#define FLAG_REMATCH_NOB 0x16D +#define FLAG_REMATCH_KOJI 0x16E +#define FLAG_REMATCH_FERNANDO 0x16F +#define FLAG_REMATCH_DALTON 0x170 +#define FLAG_REMATCH_BERNIE 0x171 +#define FLAG_REMATCH_ETHAN 0x172 +#define FLAG_REMATCH_JOHN_AND_JAY 0x173 +#define FLAG_REMATCH_JEFFREY 0x174 +#define FLAG_REMATCH_CAMERON 0x175 +#define FLAG_REMATCH_JACKI 0x176 +#define FLAG_REMATCH_WALTER 0x177 +#define FLAG_REMATCH_KAREN 0x178 +#define FLAG_REMATCH_JERRY 0x179 +#define FLAG_REMATCH_ANNA_AND_MEG 0x17A +#define FLAG_REMATCH_ISABEL 0x17B +#define FLAG_REMATCH_MIGUEL 0x17C +#define FLAG_REMATCH_TIMOTHY 0x17D +#define FLAG_REMATCH_SHELBY 0x17E +#define FLAG_REMATCH_CALVIN 0x17F +#define FLAG_REMATCH_ELLIOT 0x180 +#define FLAG_REMATCH_ISAIAH 0x181 +#define FLAG_REMATCH_MARIA 0x182 +#define FLAG_REMATCH_ABIGAIL 0x183 +#define FLAG_REMATCH_DYLAN 0x184 +#define FLAG_REMATCH_KATELYN 0x185 +#define FLAG_REMATCH_BENJAMIN 0x186 +#define FLAG_REMATCH_PABLO 0x187 +#define FLAG_REMATCH_NICOLAS 0x188 +#define FLAG_REMATCH_ROBERT 0x189 +#define FLAG_REMATCH_LAO 0x18A +#define FLAG_REMATCH_CYNDY 0x18B +#define FLAG_REMATCH_MADELINE 0x18C +#define FLAG_REMATCH_JENNY 0x18D +#define FLAG_REMATCH_DIANA 0x18E +#define FLAG_REMATCH_AMY_AND_LIV 0x18F +#define FLAG_REMATCH_ERNEST 0x190 +#define FLAG_REMATCH_CORY 0x191 +#define FLAG_REMATCH_EDWIN 0x192 +#define FLAG_REMATCH_LYDIA 0x193 +#define FLAG_REMATCH_ISAAC 0x194 +#define FLAG_REMATCH_GABRIELLE 0x195 +#define FLAG_REMATCH_CATHERINE 0x196 +#define FLAG_REMATCH_JACKSON 0x197 +#define FLAG_REMATCH_HALEY 0x198 +#define FLAG_REMATCH_JAMES 0x199 +#define FLAG_REMATCH_TRENT 0x19A +#define FLAG_REMATCH_SAWYER 0x19B +#define FLAG_REMATCH_KIRA_AND_DAN 0x19C +#define FLAG_REMATCH_WALLY 0x19D +#define FLAG_REMATCH_ROXANNE 0x19E +#define FLAG_REMATCH_BRAWLY 0x19F +#define FLAG_REMATCH_WATTSON 0x1A0 +#define FLAG_REMATCH_FLANNERY 0x1A1 +#define FLAG_REMATCH_NORMAN 0x1A2 +#define FLAG_REMATCH_WINONA 0x1A3 +#define FLAG_REMATCH_TATE_AND_LIZA 0x1A4 +#define FLAG_REMATCH_JUAN 0x1A5 +#define FLAG_REMATCH_SIDNEY 0x1A6 +#define FLAG_REMATCH_PHOEBE 0x1A7 +#define FLAG_REMATCH_GLACIA 0x1A8 +#define FLAG_REMATCH_DRAKE 0x1A9 +#define FLAG_REMATCH_WALLACE 0x1AA + +#define FLAG_UNUSED_0x1AB 0x1AB // Unused Flag + +#define FLAG_DEFEATED_DEOXYS 0x1AC +#define FLAG_BATTLED_DEOXYS 0x1AD +#define FLAG_HAS_EON_TICKET 0x1AE +#define FLAG_HAS_AURORA_TICKET 0x1AF +#define FLAG_HAS_OLD_SEA_MAP 0x1B0 +#define FLAG_MOVE_TUTOR_TAUGHT_SWAGGER 0x1B1 +#define FLAG_MOVE_TUTOR_TAUGHT_ROLLOUT 0x1B2 +#define FLAG_MOVE_TUTOR_TAUGHT_FURY_CUTTER 0x1B3 +#define FLAG_MOVE_TUTOR_TAUGHT_MIMIC 0x1B4 +#define FLAG_MOVE_TUTOR_TAUGHT_METRONOME 0x1B5 +#define FLAG_MOVE_TUTOR_TAUGHT_SLEEP_TALK 0x1B6 +#define FLAG_MOVE_TUTOR_TAUGHT_SUBSTITUTE 0x1B7 +#define FLAG_MOVE_TUTOR_TAUGHT_DYNAMICPUNCH 0x1B8 +#define FLAG_MOVE_TUTOR_TAUGHT_DOUBLE_EDGE 0x1B9 +#define FLAG_MOVE_TUTOR_TAUGHT_EXPLOSION 0x1BA +#define FLAG_DEFEATED_REGIROCK 0x1BB +#define FLAG_DEFEATED_REGICE 0x1BC +#define FLAG_DEFEATED_REGISTEEL 0x1BD +#define FLAG_DEFEATED_KYOGRE 0x1BE +#define FLAG_DEFEATED_GROUDON 0x1BF +#define FLAG_DEFEATED_RAYQUAZA 0x1C0 +#define FLAG_DEFEATED_VOLTORB_1_NEW_MAUVILLE 0x1C1 +#define FLAG_DEFEATED_VOLTORB_2_NEW_MAUVILLE 0x1C2 +#define FLAG_DEFEATED_VOLTORB_3_NEW_MAUVILLE 0x1C3 +#define FLAG_DEFEATED_ELECTRODE_1_AQUA_HIDEOUT 0x1C4 +#define FLAG_DEFEATED_ELECTRODE_2_AQUA_HIDEOUT 0x1C5 +#define FLAG_DEFEATED_SUDOWOODO 0x1C6 +#define FLAG_DEFEATED_MEW 0x1C7 +#define FLAG_DEFEATED_LATIAS_OR_LATIOS 0x1C8 +#define FLAG_CAUGHT_LATIAS_OR_LATIOS 0x1C9 +#define FLAG_CAUGHT_MEW 0x1CA +#define FLAG_MET_SCOTT_AFTER_OBTAINING_STONE_BADGE 0x1CB +#define FLAG_MET_SCOTT_IN_VERDANTURF 0x1CC +#define FLAG_MET_SCOTT_IN_FALLARBOR 0x1CD +#define FLAG_MET_SCOTT_IN_LILYCOVE 0x1CE +#define FLAG_MET_SCOTT_IN_EVERGRANDE 0x1CF +#define FLAG_MET_SCOTT_ON_SS_TIDAL 0x1D0 +#define FLAG_SCOTT_GIVES_BATTLE_POINTS 0x1D1 +#define FLAG_RECEIVED_STARF_BERRY_FROM_SCOTT 0x1D2 +#define FLAG_ENABLE_ROXANNE_MATCH_CALL 0x1D3 +#define FLAG_ENABLE_BRAWLY_MATCH_CALL 0x1D4 +#define FLAG_ENABLE_WATTSON_MATCH_CALL 0x1D5 +#define FLAG_ENABLE_FLANNERY_MATCH_CALL 0x1D6 +#define FLAG_ENABLE_WINONA_MATCH_CALL 0x1D7 +#define FLAG_ENABLE_TATE_AND_LIZA_MATCH_CALL 0x1D8 +#define FLAG_ENABLE_JUAN_MATCH_CALL 0x1D9 + +#define FLAG_UNUSED_0x1DA 0x1DA // Unused Flag + +#define FLAG_HAS_MYSTIC_TICKET 0x1DB +#define FLAG_DEFEATED_HO_OH 0x1DC +#define FLAG_DEFEATED_LUGIA 0x1DD + +#define FLAG_UNUSED_0x1DE 0x1DE // Unused Flag +#define FLAG_UNUSED_0x1DF 0x1DF // Unused Flag +#define FLAG_UNUSED_0x1E0 0x1E0 // Unused Flag +#define FLAG_UNUSED_0x1E1 0x1E1 // Unused Flag +#define FLAG_UNUSED_0x1E2 0x1E2 // Unused Flag +#define FLAG_UNUSED_0x1E3 0x1E3 // Unused Flag + +// Mystery Gift Flags (Unknown) +#define FLAG_MYSTERY_EVENT_DONE 0x1E4 +#define FLAG_MYSTERY_EVENT_1 0x1E5 +#define FLAG_MYSTERY_EVENT_2 0x1E6 +#define FLAG_MYSTERY_EVENT_3 0x1E7 +#define FLAG_MYSTERY_EVENT_4 0x1E8 +#define FLAG_MYSTERY_EVENT_5 0x1E9 +#define FLAG_MYSTERY_EVENT_6 0x1EA +#define FLAG_MYSTERY_EVENT_7 0x1EB +#define FLAG_MYSTERY_EVENT_8 0x1EC +#define FLAG_MYSTERY_EVENT_9 0x1ED +#define FLAG_MYSTERY_EVENT_10 0x1EE +#define FLAG_MYSTERY_EVENT_11 0x1EF +#define FLAG_MYSTERY_EVENT_12 0x1F0 +#define FLAG_MYSTERY_EVENT_13 0x1F1 +#define FLAG_MYSTERY_EVENT_14 0x1F2 +#define FLAG_MYSTERY_EVENT_15 0x1F3 + +#define FLAG_TRICK_HOUSE_END_ROOM 0x1F5 // Trick House End Room Flag // Hidden Items -- sorted by location -#define FLAG_HIDDEN_ITEMS_START 0x1F4 -#define FLAG_HIDDEN_ITEM_TRICK_HOUSE_NUGGET (FLAG_HIDDEN_ITEMS_START + 0x01) -#define FLAG_HIDDEN_ITEM_UNDERWATER_1_CARBOS (FLAG_HIDDEN_ITEMS_START + 0x08) -#define FLAG_HIDDEN_ITEM_UNDERWATER_1_GREEN_SHARD (FLAG_HIDDEN_ITEMS_START + 0x09) -#define FLAG_HIDDEN_ITEM_UNDERWATER_1_PEARL (FLAG_HIDDEN_ITEMS_START + 0x0A) -#define FLAG_HIDDEN_ITEM_UNDERWATER_1_BIG_PEARL (FLAG_HIDDEN_ITEMS_START + 0x0B) -#define FLAG_HIDDEN_ITEM_UNDERWATER_1_HEART_SCALE_1 (FLAG_HIDDEN_ITEMS_START + 0x0D) -#define FLAG_HIDDEN_ITEM_UNDERWATER_1_CALCIUM (FLAG_HIDDEN_ITEMS_START + 0x24) -#define FLAG_HIDDEN_ITEM_UNDERWATER_1_HEART_SCALE_2 (FLAG_HIDDEN_ITEMS_START + 0x26) -#define FLAG_HIDDEN_ITEM_UNDERWATER_2_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0x0E) -#define FLAG_HIDDEN_ITEM_UNDERWATER_2_ULTRA_BALL (FLAG_HIDDEN_ITEMS_START + 0x0F) -#define FLAG_HIDDEN_ITEM_UNDERWATER_2_STARDUST (FLAG_HIDDEN_ITEMS_START + 0x10) -#define FLAG_HIDDEN_ITEM_UNDERWATER_2_PEARL (FLAG_HIDDEN_ITEMS_START + 0x11) -#define FLAG_HIDDEN_ITEM_UNDERWATER_2_IRON (FLAG_HIDDEN_ITEMS_START + 0x13) -#define FLAG_HIDDEN_ITEM_UNDERWATER_2_YELLOW_SHARD (FLAG_HIDDEN_ITEMS_START + 0x12) -#define FLAG_HIDDEN_ITEM_UNDERWATER_2_BIG_PEARL (FLAG_HIDDEN_ITEMS_START + 0x14) -#define FLAG_HIDDEN_ITEM_UNDERWATER_2_BLUE_SHARD (FLAG_HIDDEN_ITEMS_START + 0x0C) -#define FLAG_HIDDEN_ITEM_UNDERWATER_3_STAR_PIECE (FLAG_HIDDEN_ITEMS_START + 0x15) -#define FLAG_HIDDEN_ITEM_UNDERWATER_3_HP_UP (FLAG_HIDDEN_ITEMS_START + 0x16) -#define FLAG_HIDDEN_ITEM_UNDERWATER_3_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0x17) -#define FLAG_HIDDEN_ITEM_UNDERWATER_3_RED_SHARD (FLAG_HIDDEN_ITEMS_START + 0x18) -#define FLAG_HIDDEN_ITEM_UNDERWATER_4_PROTEIN (FLAG_HIDDEN_ITEMS_START + 0x19) -#define FLAG_HIDDEN_ITEM_UNDERWATER_4_PEARL (FLAG_HIDDEN_ITEMS_START + 0x1A) -#define FLAG_HIDDEN_ITEM_FALLARBOR_TOWN_NUGGET (FLAG_HIDDEN_ITEMS_START + 0x1C) -#define FLAG_HIDDEN_ITEM_LAVARIDGE_TOWN_ICE_HEAL (FLAG_HIDDEN_ITEMS_START + 0x00) -#define FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_1_KEY (FLAG_HIDDEN_ITEMS_START + 0x1F) -#define FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_2_KEY (FLAG_HIDDEN_ITEMS_START + 0x20) -#define FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_4_KEY (FLAG_HIDDEN_ITEMS_START + 0x21) -#define FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_6_KEY (FLAG_HIDDEN_ITEMS_START + 0x22) -#define FLAG_HIDDEN_ITEM_ARTISAN_CAVE_B1F_CALCIUM (FLAG_HIDDEN_ITEMS_START + 0x65) -#define FLAG_HIDDEN_ITEM_ARTISAN_CAVE_B1F_ZINC (FLAG_HIDDEN_ITEMS_START + 0x66) -#define FLAG_HIDDEN_ITEM_ARTISAN_CAVE_B1F_PROTEIN (FLAG_HIDDEN_ITEMS_START + 0x67) -#define FLAG_HIDDEN_ITEM_ARTISAN_CAVE_B1F_IRON (FLAG_HIDDEN_ITEMS_START + 0x68) -#define FLAG_HIDDEN_ITEM_GRANITE_CAVE_B2F_EVERSTONE_1 (FLAG_HIDDEN_ITEMS_START + 0x30) -#define FLAG_HIDDEN_ITEM_GRANITE_CAVE_B2F_EVERSTONE_2 (FLAG_HIDDEN_ITEMS_START + 0x31) -#define FLAG_HIDDEN_ITEM_JAGGED_PASS_GREAT_BALL (FLAG_HIDDEN_ITEMS_START + 0x4C) -#define FLAG_HIDDEN_ITEM_JAGGED_PASS_FULL_HEAL (FLAG_HIDDEN_ITEMS_START + 0x4D) -#define FLAG_HIDDEN_ITEM_LILYCOVE_CITY_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0x1B) -#define FLAG_HIDDEN_ITEM_LILYCOVE_CITY_PP_UP (FLAG_HIDDEN_ITEMS_START + 0x2B) -#define FLAG_HIDDEN_ITEM_LILYCOVE_CITY_POKE_BALL (FLAG_HIDDEN_ITEMS_START + 0x4B) -#define FLAG_HIDDEN_ITEM_MT_PYRE_EXTERIOR_ULTRA_BALL (FLAG_HIDDEN_ITEMS_START + 0x1D) -#define FLAG_HIDDEN_ITEM_MT_PYRE_EXTERIOR_MAX_ETHER (FLAG_HIDDEN_ITEMS_START + 0x4E) -#define FLAG_HIDDEN_ITEM_MT_PYRE_SUMMIT_ZINC (FLAG_HIDDEN_ITEMS_START + 0x4F) -#define FLAG_HIDDEN_ITEM_MT_PYRE_SUMMIT_RARE_CANDY (FLAG_HIDDEN_ITEMS_START + 0x50) -#define FLAG_HIDDEN_ITEM_NAVEL_ROCK_TOP_SACRED_ASH (FLAG_HIDDEN_ITEMS_START + 0x6D) -#define FLAG_HIDDEN_ITEM_PETALBURG_CITY_RARE_CANDY (FLAG_HIDDEN_ITEMS_START + 0x5F) -#define FLAG_HIDDEN_ITEM_PETALBURG_WOODS_POTION (FLAG_HIDDEN_ITEMS_START + 0x3A) -#define FLAG_HIDDEN_ITEM_PETALBURG_WOODS_TINY_MUSHROOM_1 (FLAG_HIDDEN_ITEMS_START + 0x3B) -#define FLAG_HIDDEN_ITEM_PETALBURG_WOODS_TINY_MUSHROOM_2 (FLAG_HIDDEN_ITEMS_START + 0x3C) -#define FLAG_HIDDEN_ITEM_PETALBURG_WOODS_POKE_BALL (FLAG_HIDDEN_ITEMS_START + 0x3D) -#define FLAG_HIDDEN_ITEM_VICTORY_ROAD_B2F_ELIXIR (FLAG_HIDDEN_ITEMS_START + 0x52) -#define FLAG_HIDDEN_ITEM_VICTORY_ROAD_B2F_MAX_REPEL (FLAG_HIDDEN_ITEMS_START + 0x53) -#define FLAG_HIDDEN_ITEM_SAFARI_ZONE_NORTH_EAST_RARE_CANDY (FLAG_HIDDEN_ITEMS_START + 0x6A) -#define FLAG_HIDDEN_ITEM_SAFARI_ZONE_NORTH_EAST_ZINC (FLAG_HIDDEN_ITEMS_START + 0x6B) +#define FLAG_HIDDEN_ITEMS_START 0x1F4 +#define FLAG_HIDDEN_ITEM_TRICK_HOUSE_NUGGET (FLAG_HIDDEN_ITEMS_START + 0x01) +#define FLAG_HIDDEN_ITEM_UNDERWATER_1_CARBOS (FLAG_HIDDEN_ITEMS_START + 0x08) +#define FLAG_HIDDEN_ITEM_UNDERWATER_1_GREEN_SHARD (FLAG_HIDDEN_ITEMS_START + 0x09) +#define FLAG_HIDDEN_ITEM_UNDERWATER_1_PEARL (FLAG_HIDDEN_ITEMS_START + 0x0A) +#define FLAG_HIDDEN_ITEM_UNDERWATER_1_BIG_PEARL (FLAG_HIDDEN_ITEMS_START + 0x0B) +#define FLAG_HIDDEN_ITEM_UNDERWATER_1_HEART_SCALE_1 (FLAG_HIDDEN_ITEMS_START + 0x0D) +#define FLAG_HIDDEN_ITEM_UNDERWATER_1_CALCIUM (FLAG_HIDDEN_ITEMS_START + 0x24) +#define FLAG_HIDDEN_ITEM_UNDERWATER_1_HEART_SCALE_2 (FLAG_HIDDEN_ITEMS_START + 0x26) +#define FLAG_HIDDEN_ITEM_UNDERWATER_2_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0x0E) +#define FLAG_HIDDEN_ITEM_UNDERWATER_2_ULTRA_BALL (FLAG_HIDDEN_ITEMS_START + 0x0F) +#define FLAG_HIDDEN_ITEM_UNDERWATER_2_STARDUST (FLAG_HIDDEN_ITEMS_START + 0x10) +#define FLAG_HIDDEN_ITEM_UNDERWATER_2_PEARL (FLAG_HIDDEN_ITEMS_START + 0x11) +#define FLAG_HIDDEN_ITEM_UNDERWATER_2_IRON (FLAG_HIDDEN_ITEMS_START + 0x13) +#define FLAG_HIDDEN_ITEM_UNDERWATER_2_YELLOW_SHARD (FLAG_HIDDEN_ITEMS_START + 0x12) +#define FLAG_HIDDEN_ITEM_UNDERWATER_2_BIG_PEARL (FLAG_HIDDEN_ITEMS_START + 0x14) +#define FLAG_HIDDEN_ITEM_UNDERWATER_2_BLUE_SHARD (FLAG_HIDDEN_ITEMS_START + 0x0C) +#define FLAG_HIDDEN_ITEM_UNDERWATER_3_STAR_PIECE (FLAG_HIDDEN_ITEMS_START + 0x15) +#define FLAG_HIDDEN_ITEM_UNDERWATER_3_HP_UP (FLAG_HIDDEN_ITEMS_START + 0x16) +#define FLAG_HIDDEN_ITEM_UNDERWATER_3_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0x17) +#define FLAG_HIDDEN_ITEM_UNDERWATER_3_RED_SHARD (FLAG_HIDDEN_ITEMS_START + 0x18) +#define FLAG_HIDDEN_ITEM_UNDERWATER_4_PROTEIN (FLAG_HIDDEN_ITEMS_START + 0x19) +#define FLAG_HIDDEN_ITEM_UNDERWATER_4_PEARL (FLAG_HIDDEN_ITEMS_START + 0x1A) +#define FLAG_HIDDEN_ITEM_FALLARBOR_TOWN_NUGGET (FLAG_HIDDEN_ITEMS_START + 0x1C) +#define FLAG_HIDDEN_ITEM_LAVARIDGE_TOWN_ICE_HEAL (FLAG_HIDDEN_ITEMS_START + 0x00) +#define FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_1_KEY (FLAG_HIDDEN_ITEMS_START + 0x1F) +#define FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_2_KEY (FLAG_HIDDEN_ITEMS_START + 0x20) +#define FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_4_KEY (FLAG_HIDDEN_ITEMS_START + 0x21) +#define FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_6_KEY (FLAG_HIDDEN_ITEMS_START + 0x22) +#define FLAG_HIDDEN_ITEM_ARTISAN_CAVE_B1F_CALCIUM (FLAG_HIDDEN_ITEMS_START + 0x65) +#define FLAG_HIDDEN_ITEM_ARTISAN_CAVE_B1F_ZINC (FLAG_HIDDEN_ITEMS_START + 0x66) +#define FLAG_HIDDEN_ITEM_ARTISAN_CAVE_B1F_PROTEIN (FLAG_HIDDEN_ITEMS_START + 0x67) +#define FLAG_HIDDEN_ITEM_ARTISAN_CAVE_B1F_IRON (FLAG_HIDDEN_ITEMS_START + 0x68) +#define FLAG_HIDDEN_ITEM_GRANITE_CAVE_B2F_EVERSTONE_1 (FLAG_HIDDEN_ITEMS_START + 0x30) +#define FLAG_HIDDEN_ITEM_GRANITE_CAVE_B2F_EVERSTONE_2 (FLAG_HIDDEN_ITEMS_START + 0x31) +#define FLAG_HIDDEN_ITEM_JAGGED_PASS_GREAT_BALL (FLAG_HIDDEN_ITEMS_START + 0x4C) +#define FLAG_HIDDEN_ITEM_JAGGED_PASS_FULL_HEAL (FLAG_HIDDEN_ITEMS_START + 0x4D) +#define FLAG_HIDDEN_ITEM_LILYCOVE_CITY_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0x1B) +#define FLAG_HIDDEN_ITEM_LILYCOVE_CITY_PP_UP (FLAG_HIDDEN_ITEMS_START + 0x2B) +#define FLAG_HIDDEN_ITEM_LILYCOVE_CITY_POKE_BALL (FLAG_HIDDEN_ITEMS_START + 0x4B) +#define FLAG_HIDDEN_ITEM_MT_PYRE_EXTERIOR_ULTRA_BALL (FLAG_HIDDEN_ITEMS_START + 0x1D) +#define FLAG_HIDDEN_ITEM_MT_PYRE_EXTERIOR_MAX_ETHER (FLAG_HIDDEN_ITEMS_START + 0x4E) +#define FLAG_HIDDEN_ITEM_MT_PYRE_SUMMIT_ZINC (FLAG_HIDDEN_ITEMS_START + 0x4F) +#define FLAG_HIDDEN_ITEM_MT_PYRE_SUMMIT_RARE_CANDY (FLAG_HIDDEN_ITEMS_START + 0x50) +#define FLAG_HIDDEN_ITEM_NAVEL_ROCK_TOP_SACRED_ASH (FLAG_HIDDEN_ITEMS_START + 0x6D) +#define FLAG_HIDDEN_ITEM_PETALBURG_CITY_RARE_CANDY (FLAG_HIDDEN_ITEMS_START + 0x5F) +#define FLAG_HIDDEN_ITEM_PETALBURG_WOODS_POTION (FLAG_HIDDEN_ITEMS_START + 0x3A) +#define FLAG_HIDDEN_ITEM_PETALBURG_WOODS_TINY_MUSHROOM_1 (FLAG_HIDDEN_ITEMS_START + 0x3B) +#define FLAG_HIDDEN_ITEM_PETALBURG_WOODS_TINY_MUSHROOM_2 (FLAG_HIDDEN_ITEMS_START + 0x3C) +#define FLAG_HIDDEN_ITEM_PETALBURG_WOODS_POKE_BALL (FLAG_HIDDEN_ITEMS_START + 0x3D) +#define FLAG_HIDDEN_ITEM_VICTORY_ROAD_B2F_ELIXIR (FLAG_HIDDEN_ITEMS_START + 0x52) +#define FLAG_HIDDEN_ITEM_VICTORY_ROAD_B2F_MAX_REPEL (FLAG_HIDDEN_ITEMS_START + 0x53) +#define FLAG_HIDDEN_ITEM_SAFARI_ZONE_NORTH_EAST_RARE_CANDY (FLAG_HIDDEN_ITEMS_START + 0x6A) +#define FLAG_HIDDEN_ITEM_SAFARI_ZONE_NORTH_EAST_ZINC (FLAG_HIDDEN_ITEMS_START + 0x6B) #define FLAG_HIDDEN_ITEM_SAFARI_ZONE_SOUTH_EAST_PP_UP (FLAG_HIDDEN_ITEMS_START + 0x6C) #define FLAG_HIDDEN_ITEM_SAFARI_ZONE_SOUTH_EAST_FULL_RESTORE (FLAG_HIDDEN_ITEMS_START + 0x69) -#define FLAG_HIDDEN_ITEM_SS_TIDAL_LOWER_DECK_LEFTOVERS (FLAG_HIDDEN_ITEMS_START + 0x23) -#define FLAG_HIDDEN_ITEM_VICTORY_ROAD_1F_ULTRA_BALL (FLAG_HIDDEN_ITEMS_START + 0x51) -#define FLAG_HIDDEN_ITEM_ROUTE_104_SUPER_POTION (FLAG_HIDDEN_ITEMS_START + 0x2C) -#define FLAG_HIDDEN_ITEM_ROUTE_104_POKE_BALL (FLAG_HIDDEN_ITEMS_START + 0x3E) -#define FLAG_HIDDEN_ITEM_ROUTE_104_POTION (FLAG_HIDDEN_ITEMS_START + 0x25) -#define FLAG_HIDDEN_ITEM_ROUTE_104_ANTIDOTE (FLAG_HIDDEN_ITEMS_START + 0x55) -#define FLAG_HIDDEN_ITEM_ROUTE_104_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0x58) -#define FLAG_HIDDEN_ITEM_ROUTE_105_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0x59) -#define FLAG_HIDDEN_ITEM_ROUTE_105_BIG_PEARL (FLAG_HIDDEN_ITEMS_START + 0x6F) -#define FLAG_HIDDEN_ITEM_ROUTE_106_POKE_BALL (FLAG_HIDDEN_ITEMS_START + 0x3F) -#define FLAG_HIDDEN_ITEM_ROUTE_106_STARDUST (FLAG_HIDDEN_ITEMS_START + 0x2E) -#define FLAG_HIDDEN_ITEM_ROUTE_106_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0x2F) -#define FLAG_HIDDEN_ITEM_ROUTE_108_RARE_CANDY (FLAG_HIDDEN_ITEMS_START + 0x56) -#define FLAG_HIDDEN_ITEM_ROUTE_109_REVIVE (FLAG_HIDDEN_ITEMS_START + 0x32) -#define FLAG_HIDDEN_ITEM_ROUTE_109_HEART_SCALE_1 (FLAG_HIDDEN_ITEMS_START + 0x34) -#define FLAG_HIDDEN_ITEM_ROUTE_109_GREAT_BALL (FLAG_HIDDEN_ITEMS_START + 0x33) -#define FLAG_HIDDEN_ITEM_ROUTE_109_ETHER (FLAG_HIDDEN_ITEMS_START + 0x40) -#define FLAG_HIDDEN_ITEM_ROUTE_109_HEART_SCALE_2 (FLAG_HIDDEN_ITEMS_START + 0x5A) -#define FLAG_HIDDEN_ITEM_ROUTE_109_HEART_SCALE_3 (FLAG_HIDDEN_ITEMS_START + 0x5B) -#define FLAG_HIDDEN_ITEM_ROUTE_110_REVIVE (FLAG_HIDDEN_ITEMS_START + 0x36) -#define FLAG_HIDDEN_ITEM_ROUTE_110_GREAT_BALL (FLAG_HIDDEN_ITEMS_START + 0x35) -#define FLAG_HIDDEN_ITEM_ROUTE_110_POKE_BALL (FLAG_HIDDEN_ITEMS_START + 0x41) -#define FLAG_HIDDEN_ITEM_ROUTE_110_FULL_HEAL (FLAG_HIDDEN_ITEMS_START + 0x37) -#define FLAG_HIDDEN_ITEM_ROUTE_111_STARDUST (FLAG_HIDDEN_ITEMS_START + 0x02) -#define FLAG_HIDDEN_ITEM_ROUTE_111_PROTEIN (FLAG_HIDDEN_ITEMS_START + 0x38) -#define FLAG_HIDDEN_ITEM_ROUTE_111_RARE_CANDY (FLAG_HIDDEN_ITEMS_START + 0x39) -#define FLAG_HIDDEN_ITEM_ROUTE_113_ETHER (FLAG_HIDDEN_ITEMS_START + 0x03) -#define FLAG_HIDDEN_ITEM_ROUTE_113_TM_32 (FLAG_HIDDEN_ITEMS_START + 0x1E) -#define FLAG_HIDDEN_ITEM_ROUTE_113_NUGGET (FLAG_HIDDEN_ITEMS_START + 0x62) -#define FLAG_HIDDEN_ITEM_ROUTE_114_CARBOS (FLAG_HIDDEN_ITEMS_START + 0x04) -#define FLAG_HIDDEN_ITEM_ROUTE_113_REVIVE (FLAG_HIDDEN_ITEMS_START + 0x2A) -#define FLAG_HIDDEN_ITEM_ROUTE_115_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0x61) -#define FLAG_HIDDEN_ITEM_ROUTE_116_SUPER_POTION (FLAG_HIDDEN_ITEMS_START + 0x2D) -#define FLAG_HIDDEN_ITEM_ROUTE_116_BLACK_GLASSES (FLAG_HIDDEN_ITEMS_START + 0x60) -#define FLAG_HIDDEN_ITEM_ROUTE_117_REPEL (FLAG_HIDDEN_ITEMS_START + 0x48) -#define FLAG_HIDDEN_ITEM_ROUTE_118_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0x42) -#define FLAG_HIDDEN_ITEM_ROUTE_118_IRON (FLAG_HIDDEN_ITEMS_START + 0x43) -#define FLAG_HIDDEN_ITEM_ROUTE_119_CALCIUM (FLAG_HIDDEN_ITEMS_START + 0x05) -#define FLAG_HIDDEN_ITEM_ROUTE_119_ULTRA_BALL (FLAG_HIDDEN_ITEMS_START + 0x06) -#define FLAG_HIDDEN_ITEM_ROUTE_119_FULL_HEAL (FLAG_HIDDEN_ITEMS_START + 0x44) -#define FLAG_HIDDEN_ITEM_ROUTE_119_MAX_ETHER (FLAG_HIDDEN_ITEMS_START + 0x57) -#define FLAG_HIDDEN_ITEM_ROUTE_120_RARE_CANDY_1 (FLAG_HIDDEN_ITEMS_START + 0x47) -#define FLAG_HIDDEN_ITEM_ROUTE_120_REVIVE (FLAG_HIDDEN_ITEMS_START + 0x54) -#define FLAG_HIDDEN_ITEM_ROUTE_120_RARE_CANDY_2 (FLAG_HIDDEN_ITEMS_START + 0x45) -#define FLAG_HIDDEN_ITEM_ROUTE_120_ZINC (FLAG_HIDDEN_ITEMS_START + 0x46) -#define FLAG_HIDDEN_ITEM_ROUTE_121_HP_UP (FLAG_HIDDEN_ITEMS_START + 0x27) -#define FLAG_HIDDEN_ITEM_ROUTE_121_NUGGET (FLAG_HIDDEN_ITEMS_START + 0x28) -#define FLAG_HIDDEN_ITEM_ROUTE_121_FULL_HEAL (FLAG_HIDDEN_ITEMS_START + 0x49) -#define FLAG_HIDDEN_ITEM_ROUTE_121_MAX_REVIVE (FLAG_HIDDEN_ITEMS_START + 0x64) -#define FLAG_HIDDEN_ITEM_ROUTE_123_SUPER_REPEL (FLAG_HIDDEN_ITEMS_START + 0x07) -#define FLAG_HIDDEN_ITEM_ROUTE_123_REVIVE (FLAG_HIDDEN_ITEMS_START + 0x29) -#define FLAG_HIDDEN_ITEM_ROUTE_123_HYPER_POTION (FLAG_HIDDEN_ITEMS_START + 0x4A) -#define FLAG_HIDDEN_ITEM_ROUTE_123_PP_UP (FLAG_HIDDEN_ITEMS_START + 0x63) -#define FLAG_HIDDEN_ITEM_ROUTE_123_RARE_CANDY (FLAG_HIDDEN_ITEMS_START + 0x6E) -#define FLAG_HIDDEN_ITEM_ROUTE_128_HEART_SCALE_1 (FLAG_HIDDEN_ITEMS_START + 0x5C) -#define FLAG_HIDDEN_ITEM_ROUTE_128_HEART_SCALE_2 (FLAG_HIDDEN_ITEMS_START + 0x5D) -#define FLAG_HIDDEN_ITEM_ROUTE_128_HEART_SCALE_3 (FLAG_HIDDEN_ITEMS_START + 0x5E) +#define FLAG_HIDDEN_ITEM_SS_TIDAL_LOWER_DECK_LEFTOVERS (FLAG_HIDDEN_ITEMS_START + 0x23) +#define FLAG_HIDDEN_ITEM_VICTORY_ROAD_1F_ULTRA_BALL (FLAG_HIDDEN_ITEMS_START + 0x51) +#define FLAG_HIDDEN_ITEM_ROUTE_104_SUPER_POTION (FLAG_HIDDEN_ITEMS_START + 0x2C) +#define FLAG_HIDDEN_ITEM_ROUTE_104_POKE_BALL (FLAG_HIDDEN_ITEMS_START + 0x3E) +#define FLAG_HIDDEN_ITEM_ROUTE_104_POTION (FLAG_HIDDEN_ITEMS_START + 0x25) +#define FLAG_HIDDEN_ITEM_ROUTE_104_ANTIDOTE (FLAG_HIDDEN_ITEMS_START + 0x55) +#define FLAG_HIDDEN_ITEM_ROUTE_104_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0x58) +#define FLAG_HIDDEN_ITEM_ROUTE_105_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0x59) +#define FLAG_HIDDEN_ITEM_ROUTE_105_BIG_PEARL (FLAG_HIDDEN_ITEMS_START + 0x6F) +#define FLAG_HIDDEN_ITEM_ROUTE_106_POKE_BALL (FLAG_HIDDEN_ITEMS_START + 0x3F) +#define FLAG_HIDDEN_ITEM_ROUTE_106_STARDUST (FLAG_HIDDEN_ITEMS_START + 0x2E) +#define FLAG_HIDDEN_ITEM_ROUTE_106_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0x2F) +#define FLAG_HIDDEN_ITEM_ROUTE_108_RARE_CANDY (FLAG_HIDDEN_ITEMS_START + 0x56) +#define FLAG_HIDDEN_ITEM_ROUTE_109_REVIVE (FLAG_HIDDEN_ITEMS_START + 0x32) +#define FLAG_HIDDEN_ITEM_ROUTE_109_HEART_SCALE_1 (FLAG_HIDDEN_ITEMS_START + 0x34) +#define FLAG_HIDDEN_ITEM_ROUTE_109_GREAT_BALL (FLAG_HIDDEN_ITEMS_START + 0x33) +#define FLAG_HIDDEN_ITEM_ROUTE_109_ETHER (FLAG_HIDDEN_ITEMS_START + 0x40) +#define FLAG_HIDDEN_ITEM_ROUTE_109_HEART_SCALE_2 (FLAG_HIDDEN_ITEMS_START + 0x5A) +#define FLAG_HIDDEN_ITEM_ROUTE_109_HEART_SCALE_3 (FLAG_HIDDEN_ITEMS_START + 0x5B) +#define FLAG_HIDDEN_ITEM_ROUTE_110_REVIVE (FLAG_HIDDEN_ITEMS_START + 0x36) +#define FLAG_HIDDEN_ITEM_ROUTE_110_GREAT_BALL (FLAG_HIDDEN_ITEMS_START + 0x35) +#define FLAG_HIDDEN_ITEM_ROUTE_110_POKE_BALL (FLAG_HIDDEN_ITEMS_START + 0x41) +#define FLAG_HIDDEN_ITEM_ROUTE_110_FULL_HEAL (FLAG_HIDDEN_ITEMS_START + 0x37) +#define FLAG_HIDDEN_ITEM_ROUTE_111_STARDUST (FLAG_HIDDEN_ITEMS_START + 0x02) +#define FLAG_HIDDEN_ITEM_ROUTE_111_PROTEIN (FLAG_HIDDEN_ITEMS_START + 0x38) +#define FLAG_HIDDEN_ITEM_ROUTE_111_RARE_CANDY (FLAG_HIDDEN_ITEMS_START + 0x39) +#define FLAG_HIDDEN_ITEM_ROUTE_113_ETHER (FLAG_HIDDEN_ITEMS_START + 0x03) +#define FLAG_HIDDEN_ITEM_ROUTE_113_TM_32 (FLAG_HIDDEN_ITEMS_START + 0x1E) +#define FLAG_HIDDEN_ITEM_ROUTE_113_NUGGET (FLAG_HIDDEN_ITEMS_START + 0x62) +#define FLAG_HIDDEN_ITEM_ROUTE_114_CARBOS (FLAG_HIDDEN_ITEMS_START + 0x04) +#define FLAG_HIDDEN_ITEM_ROUTE_113_REVIVE (FLAG_HIDDEN_ITEMS_START + 0x2A) +#define FLAG_HIDDEN_ITEM_ROUTE_115_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0x61) +#define FLAG_HIDDEN_ITEM_ROUTE_116_SUPER_POTION (FLAG_HIDDEN_ITEMS_START + 0x2D) +#define FLAG_HIDDEN_ITEM_ROUTE_116_BLACK_GLASSES (FLAG_HIDDEN_ITEMS_START + 0x60) +#define FLAG_HIDDEN_ITEM_ROUTE_117_REPEL (FLAG_HIDDEN_ITEMS_START + 0x48) +#define FLAG_HIDDEN_ITEM_ROUTE_118_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0x42) +#define FLAG_HIDDEN_ITEM_ROUTE_118_IRON (FLAG_HIDDEN_ITEMS_START + 0x43) +#define FLAG_HIDDEN_ITEM_ROUTE_119_CALCIUM (FLAG_HIDDEN_ITEMS_START + 0x05) +#define FLAG_HIDDEN_ITEM_ROUTE_119_ULTRA_BALL (FLAG_HIDDEN_ITEMS_START + 0x06) +#define FLAG_HIDDEN_ITEM_ROUTE_119_FULL_HEAL (FLAG_HIDDEN_ITEMS_START + 0x44) +#define FLAG_HIDDEN_ITEM_ROUTE_119_MAX_ETHER (FLAG_HIDDEN_ITEMS_START + 0x57) +#define FLAG_HIDDEN_ITEM_ROUTE_120_RARE_CANDY_1 (FLAG_HIDDEN_ITEMS_START + 0x47) +#define FLAG_HIDDEN_ITEM_ROUTE_120_REVIVE (FLAG_HIDDEN_ITEMS_START + 0x54) +#define FLAG_HIDDEN_ITEM_ROUTE_120_RARE_CANDY_2 (FLAG_HIDDEN_ITEMS_START + 0x45) +#define FLAG_HIDDEN_ITEM_ROUTE_120_ZINC (FLAG_HIDDEN_ITEMS_START + 0x46) +#define FLAG_HIDDEN_ITEM_ROUTE_121_HP_UP (FLAG_HIDDEN_ITEMS_START + 0x27) +#define FLAG_HIDDEN_ITEM_ROUTE_121_NUGGET (FLAG_HIDDEN_ITEMS_START + 0x28) +#define FLAG_HIDDEN_ITEM_ROUTE_121_FULL_HEAL (FLAG_HIDDEN_ITEMS_START + 0x49) +#define FLAG_HIDDEN_ITEM_ROUTE_121_MAX_REVIVE (FLAG_HIDDEN_ITEMS_START + 0x64) +#define FLAG_HIDDEN_ITEM_ROUTE_123_SUPER_REPEL (FLAG_HIDDEN_ITEMS_START + 0x07) +#define FLAG_HIDDEN_ITEM_ROUTE_123_REVIVE (FLAG_HIDDEN_ITEMS_START + 0x29) +#define FLAG_HIDDEN_ITEM_ROUTE_123_HYPER_POTION (FLAG_HIDDEN_ITEMS_START + 0x4A) +#define FLAG_HIDDEN_ITEM_ROUTE_123_PP_UP (FLAG_HIDDEN_ITEMS_START + 0x63) +#define FLAG_HIDDEN_ITEM_ROUTE_123_RARE_CANDY (FLAG_HIDDEN_ITEMS_START + 0x6E) +#define FLAG_HIDDEN_ITEM_ROUTE_128_HEART_SCALE_1 (FLAG_HIDDEN_ITEMS_START + 0x5C) +#define FLAG_HIDDEN_ITEM_ROUTE_128_HEART_SCALE_2 (FLAG_HIDDEN_ITEMS_START + 0x5D) +#define FLAG_HIDDEN_ITEM_ROUTE_128_HEART_SCALE_3 (FLAG_HIDDEN_ITEMS_START + 0x5E) // Event Flags -#define FLAG_HIDE_ROUTE_101_BIRCH_STARTERS_BAG 0x2BC -#define FLAG_HIDE_APPRENTICE 0x2BD -#define FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN 0x2BE -#define FLAG_HIDE_UNION_ROOM_PLAYER_1 0x2BF -#define FLAG_HIDE_UNION_ROOM_PLAYER_2 0x2C0 -#define FLAG_HIDE_UNION_ROOM_PLAYER_3 0x2C1 -#define FLAG_HIDE_UNION_ROOM_PLAYER_4 0x2C2 -#define FLAG_HIDE_UNION_ROOM_PLAYER_5 0x2C3 -#define FLAG_HIDE_UNION_ROOM_PLAYER_6 0x2C4 -#define FLAG_HIDE_UNION_ROOM_PLAYER_7 0x2C5 -#define FLAG_HIDE_UNION_ROOM_PLAYER_8 0x2C6 -#define FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_1 0x2C7 -#define FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_2 0x2C8 -#define FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_3 0x2C9 -#define FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_4 0x2CA -#define FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_5 0x2CB -#define FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_6 0x2CC -#define FLAG_HIDE_SAFARI_ZONE_SOUTH_CONSTRUCTION_WORKERS 0x2CD -#define FLAG_HIDE_MEW 0x2CE -#define FLAG_HIDE_ROUTE_104_RIVAL 0x2CF -#define FLAG_HIDE_ROUTE_101_BIRCH_ZIGZAGOON_BATTLE 0x2D0 -#define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_BIRCH 0x2D1 -#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM 0x2D2 -#define FLAG_HIDE_ROUTE_103_RIVAL 0x2D3 -#define FLAG_HIDE_PETALBURG_WOODS_DEVON_EMPLOYEE 0x2D4 -#define FLAG_HIDE_PETALBURG_WOODS_AQUA_GRUNT 0x2D5 -#define FLAG_HIDE_PETALBURG_CITY_WALLY 0x2D6 -#define FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_INVISIBLE_NINJA_BOY 0x2D7 -#define FLAG_HIDE_PETALBURG_CITY_WALLYS_AUNT 0x2D8 -#define FLAG_UNUSED_0x2D9 0x2D9 -#define FLAG_HIDE_LILYCOVE_FAN_CLUB_INTERVIEWER 0x2DA -#define FLAG_HIDE_RUSTBORO_CITY_AQUA_GRUNT 0x2DB -#define FLAG_HIDE_RUSTBORO_CITY_DEVON_EMPLOYEE_1 0x2DC -#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_KYOGRE_2 0x2DD -#define FLAG_HIDE_PLAYERS_HOUSE_DAD 0x2DE -#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_SIBLING 0x2DF -#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_SIBLING 0x2E0 -#define FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_INVISIBLE_NINJA_BOY 0x2E1 -#define FLAG_HIDE_ROUTE_104_MR_BRINEY 0x2E2 -#define FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY 0x2E3 -#define FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN 0x2E4 -#define FLAG_HIDE_ROUTE_108_MR_BRINEY 0x2E5 -#define FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT 0x2E6 -#define FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN 0x2E7 -#define FLAG_HIDE_ROUTE_109_MR_BRINEY_BOAT 0x2E8 -#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_BRENDAN 0x2E9 -#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_BRENDAN 0x2EA -#define FLAG_HIDE_SAFARI_ZONE_SOUTH_EAST_EXPANSION 0x2EB -#define FLAG_HIDE_LILYCOVE_HARBOR_EON_TICKET_TAKER 0x2EC -#define FLAG_HIDE_SLATEPORT_CITY_SCOTT 0x2ED -#define FLAG_HIDE_ROUTE_101_ZIGZAGOON 0x2EE -#define FLAG_HIDE_VICTORY_ROAD_EXIT_WALLY 0x2EF -#define FLAG_HIDE_LITTLEROOT_TOWN_MOM_OUTSIDE 0x2F0 -#define FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_STEVEN 0x2F1 -#define FLAG_HIDE_LITTLEROOT_TOWN_PLAYERS_HOUSE_VIGOROTH_1 0x2F2 -#define FLAG_HIDE_LITTLEROOT_TOWN_PLAYERS_HOUSE_VIGOROTH_2 0x2F3 -#define FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_TEAM_MAGMA 0x2F4 -#define FLAG_HIDE_LITTLE_ROOT_TOWN_PLAYERS_BEDROOM_MOM 0x2F5 -#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_MOM 0x2F6 -#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_MOM 0x2F7 -#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM 0x2F8 -#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_TRUCK 0x2F9 -#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_TRUCK 0x2FA -#define FLAG_HIDE_DEOXYS 0x2FB -#define FLAG_HIDE_BIRTH_ISLAND_DEOXYS_TRIANGLE 0x2FC -#define FLAG_HIDE_MAUVILLE_CITY_SCOTT 0x2FD -#define FLAG_HIDE_VERDANTURF_TOWN_SCOTT 0x2FE -#define FLAG_HIDE_FALLORBOR_TOWN_BATTLE_TENT_SCOTT 0x2FF -#define FLAG_HIDE_ROUTE_111_VICTOR_WINSTRATE 0x300 -#define FLAG_HIDE_ROUTE_111_VICTORIA_WINSTRATE 0x301 -#define FLAG_HIDE_ROUTE_111_VIVI_WINSTRATE 0x302 -#define FLAG_HIDE_ROUTE_111_VICKY_WINSTRATE 0x303 -#define FLAG_HIDE_PETALYBURG_GYM_NORMAN 0x304 -#define FLAG_HIDE_SKY_PILLAR_TOP_RAYQUAZA_2 0x305 -#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_CONTEST_ATTENDANT_1 0x306 -#define FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR 0x307 -#define FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_1 0x308 -#define FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_2 0x309 -#define FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_3 0x30A -#define FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_4 0x30B -#define FLAG_HIDE_LILYCOVE_MUSEUM_TOURISTS 0x30C -#define FLAG_HIDE_PETALBURG_GYM_GREETER 0x30D -#define FLAG_HIDE_MARINE_CAVE_KYOGRE 0x30E -#define FLAG_HIDE_TERRA_CAVE_GROUDON 0x30F -#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_MOM 0x310 -#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_MOM 0x311 -#define FLAG_HIDE_ROUTE_119_SCOTT 0x312 -#define FLAG_HIDE_LILCOVE_MOTEL_SCOTT 0x313 -#define FLAG_HIDE_MOSSDEEP_CITY_SCOTT 0x314 -#define FLAG_HIDE_FANCLUB_OLD_LADY 0x315 -#define FLAG_HIDE_FANCLUB_BOY 0x316 -#define FLAG_HIDE_FANCLUB_LITTLE_BOY 0x317 -#define FLAG_HIDE_FANCLUB_LADY 0x318 -#define FLAG_HIDE_EVER_GRANDE_POKEMON_CENTER_1F_SCOTT 0x319 -#define FLAG_HIDE_LITTLEROOT_TOWN_RIVAL 0x31A -#define FLAG_HIDE_LITTLEROOT_TOWN_BIRCH 0x31B -#define FLAG_HIDE_ROUTE_111_GABBY_AND_TY_1 0x31C -#define FLAG_HIDE_ROUTE_118_GABBY_AND_TY_1 0x31D -#define FLAG_HIDE_ROUTE_120_GABBY_AND_TY_1 0x31E -#define FLAG_HIDE_ROUTE_111_GABBY_AND_TY_3 0x31F -#define FLAG_HIDE_LUGIA 0x320 -#define FLAG_HIDE_HOOH 0x321 -#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_REPORTER 0x322 -#define FLAG_HIDE_SLATEPORT_CITY_CONTEST_REPORTER 0x323 -#define FLAG_HIDE_MAUVILLE_CITY_WALLY 0x324 -#define FLAG_HIDE_MAUVILLE_CITY_WALLYS_UNCLE 0x325 -#define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLY 0x326 -#define FLAG_HIDE_RUSTURF_TUNNEL_LOVER_MAN 0x327 -#define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_LOVER_MAN 0x328 -#define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLYS_UNCLE 0x329 -#define FLAG_HIDE_SS_TIDAL_CORRIDOR_SCOTT 0x32A -#define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_CYNDAQUIL 0x32B -#define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_TOTODILE 0x32C -#define FLAG_HIDE_ROUTE_116_DROPPED_GLASSES_MAN 0x32D -#define FLAG_HIDE_RUSBORO_CITY_RIVAL 0x32E -#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_SWABLU_DOLL 0x32F -#define FLAG_HIDE_SOOTOPOLIS_CITY_WALLACE 0x330 -#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_POKE_BALL 0x331 -#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_POKE_BALL 0x332 -#define FLAG_HIDE_ROUTE_112_TEAM_MAGMA 0x333 -#define FLAG_HIDE_CAVE_OF_ORIGIN_B1F_WALLACE 0x334 -#define FLAG_HIDE_AQUA_HIDEOUT_1F_GRUNT_1_BLOCKING_ENTRANCE 0x335 -#define FLAG_HIDE_AQUA_HIDEOUT_1F_GRUNT_2_BLOCKING_ENTRANCE 0x336 -#define FLAG_HIDE_MOSSDEEP_CITY_TEAM_MAGMA 0x337 -#define FLAG_HIDE_PETALBURG_GYM_WALLYS_UNCLE 0x338 -#define FLAG_UNUSED_0x339 0x339 -#define FLAG_HIDE_SOOTOPOLIS_CITY_ARCHIE 0x33A -#define FLAG_HIDE_SOOTOPOLIS_CITY_MAXIE 0x33B -#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_ARCHIE 0x33C -#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAXIE 0x33D -#define FLAG_HIDE_PETALBURG_CITY_WALLYS_UNCLE 0x33E -#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAGMA_GRUNTS 0x33F -#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS 0x340 -#define FLAG_HIDE_GRANITE_CAVE_STEVEN 0x341 -#define FLAG_HIDE_ROUTE_128_STEVEN 0x342 -#define FLAG_HIDE_SLATEPORT_CITY_GABBY_AND_TY 0x343 -#define FLAG_HIDE_BATTLE_FRONTIER_RECEPTION_GATE_SCOTT 0x344 -#define FLAG_HIDE_ROUTE_110_BIRCH 0x345 -#define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_CHIKORITA 0x346 -#define FLAG_HIDE_SOOTOPOLIS_CITY_MAN_1 0x347 -#define FLAG_HIDE_SLATEPORT_CITY_CAPTAIN_STERN 0x348 -#define FLAG_HIDE_SLATEPORT_CITY_HARBOR_CAPTAIN_STERN 0x349 -#define FLAG_HIDE_BATTLE_FRONTIER_SUDOWOODO 0x34A -#define FLAG_HIDE_ROUTE_111_ROCK_SMASH_TIP_GUY 0x34B -#define FLAG_HIDE_RUSTBORO_CITY_SCIENTIST 0x34C -#define FLAG_HIDE_SLATEPORT_CITY_HARBOR_AQUA_GRUNT 0x34D -#define FLAG_HIDE_SLATEPORT_CITY_HARBOR_ARCHIE 0x34E -#define FLAG_HIDE_JAGGED_PASS_MAGMA_GUARD 0x34F -#define FLAG_HIDE_SLATEPORT_CITY_HARBOR_SUBMARINE_SHADOW 0x350 -#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_PICHU_DOLL 0x351 -#define FLAG_HIDE_MAGMA_HIDEOUT_4F_GROUDON_2 0x352 -#define FLAG_HIDE_ROUTE_119_RIVAL 0x353 -#define FLAG_HIDE_LILYCOVE_CITY_AQUA_GRUNTS 0x354 -#define FLAG_HIDE_MAGMA_HIDEOUT_4F_GROUDON_1 0x355 -#define FLAG_HIDE_SOOTOPOLIS_CITY_RESIDENTS 0x356 -#define FLAG_HIDE_SKY_PILLAR_WALLACE 0x357 -#define FLAG_HIDE_MT_PYRE_SUMMIT_MAXIE 0x358 -#define FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS 0x359 -#define FLAG_HIDE_VICTORY_ROAD_ENTRANCE_WALLY 0x35A -#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_KYOGRE_1 0x35B -#define FLAG_HIDE_SLATEPORT_CITY_HARBOR_SS_TIDAL 0x35C -#define FLAG_HIDE_LILYCOVE_HARBOR_SSTIDAL 0x35D -#define FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_TEAM_MAGMA 0x35E -#define FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_STEVEN 0x35F -#define FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_1 0x360 -#define FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_2 0x361 -#define FLAG_HIDE_PETALBURG_GYM_WALLY 0x362 -#define FLAG_UNKNOWN_0x363 0x363 -#define FLAG_HIDE_LITTLEROOT_TOWN_FAT_MAN 0x364 -#define FLAG_HIDE_SLATEPORT_CITY_STERNS_SHIPYARD_MR_BRINEY 0x365 -#define FLAG_HIDE_LANETTES_HOUSE_LANETTE 0x366 -#define FLAG_HIDE_FALLORBOR_POKEMON_CENTER_LANETTE 0x367 -#define FLAG_HIDE_TRICK_HOUSE_ENTRANCE_MAN 0x368 -#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_POKEBLOCK_EXPERT 0x369 -#define FLAG_HIDE_DESERT_UNDERPASS_FOSSIL 0x36A -#define FLAG_HIDE_ROUTE_111_PLAYER_DESCENT 0x36B -#define FLAG_HIDE_ROUTE_111_DESERT_FOSSIL 0x36C -#define FLAG_HIDE_MT_CHIMNEY_TRAINERS 0x36D -#define FLAG_HIDE_RUSTURF_TUNNEL_AQUA_GRUNT 0x36E -#define FLAG_HIDE_RUSTURF_TUNNEL_OLD_MAN 0x36F -#define FLAG_HIDE_RUSTURF_TUNNEL_PEEKO 0x370 -#define FLAG_HIDE_BRINEYS_HOUSE_PEEKO 0x371 -#define FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA 0x372 -#define FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_AQUA_GRUNTS 0x373 -#define FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_AQUA_GRUNT_1 0x374 -#define FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_AQUA_GRUNT_2 0x375 -#define FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_ARCHIE 0x376 -#define FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_CAPTAIN_STERN 0x377 -#define FLAG_HIDE_BATTLE_TOWER_OPPONENT 0x378 -#define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_RIVAL 0x379 -#define FLAG_HIDE_ROUTE_119_TEAM_AQUA 0x37A -#define FLAG_HIDE_ROUTE_116_MR_BRINEY 0x37B -#define FLAG_HIDE_WEATHER_INSTITUTE_1F_WORKERS 0x37C -#define FLAG_HIDE_WEATHER_INSTITUTE_2F_WORKERS 0x37D -#define FLAG_HIDE_ROUTE_116_TUNNELER 0x37E -#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_CONTEST_ATTENDANT_2 0x37F -#define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380 0x380 -#define FLAG_HIDE_ROUTE_101_BIRCH 0x381 -#define FLAG_HIDE_ROUTE_103_BIRCH 0x382 -#define FLAG_HIDE_TRICK_HOUSE_END_MAN 0x383 -#define FLAG_HIDE_ROUTE_110_TEAM_AQUA 0x384 -#define FLAG_HIDE_ROUTE_118_GABBY_AND_TY_2 0x385 -#define FLAG_HIDE_ROUTE_120_GABBY_AND_TY_2 0x386 -#define FLAG_HIDE_ROUTE_111_GABBY_AND_TY_2 0x387 -#define FLAG_HIDE_ROUTE_118_GABBY_AND_TY_3 0x388 -#define FLAG_HIDE_SLATEPORT_CITY_HARBOR_PATRONS 0x389 -#define FLAG_HIDE_ROUTE_104_WHITE_HERB_FLORIST 0x38A -#define FLAG_HIDE_FALLARBOR_AZURILL 0x38B -#define FLAG_HIDE_LILYCOVE_HARBOR_FERRY_ATTENDANT 0x38C -#define FLAG_HIDE_LILYCOVE_HARBOR_FERRY_SAILOR 0x38D -#define FLAG_HIDE_SOUTHERN_ISLAND_EON_STONE 0x38E -#define FLAG_HIDE_SOUTHERN_ISLAND_UNCHOSEN_EON_DUO_MON 0x38F -#define FLAG_HIDE_MAUVILLE_CITY_WATTSON 0x390 -#define FLAG_HIDE_MAUVILLE_GYM_WATTSON 0x391 -#define FLAG_0x392 0x392 -#define FLAG_0x393 0x393 -#define FLAG_HIDE_MT_PYRE_SUMMIT_ARCHIE 0x394 -#define FLAG_HIDE_MT_PYRE_SUMMIT_TEAM_AQUA 0x395 -#define FLAG_HIDE_BATTLE_TOWER_REPORTER 0x396 -#define FLAG_HIDE_ROUTE_110_RIVAL_1 0x397 -#define FLAG_HIDE_CHAMPIONS_ROOM_RIVAL 0x398 -#define FLAG_HIDE_CHAMPIONS_ROOM_BIRCH 0x399 -#define FLAG_HIDE_ROUTE_110_RIVAL_2 0x39A -#define FLAG_HIDE_ROUTE_119_RIVAL_ON_BIKE 0x39B -#define FLAG_HIDE_AQUA_HIDEOUT_GRUNTS 0x39C -#define FLAG_HIDE_LILCOVE_MOTEL_GAME_DESIGNERS 0x39D -#define FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA 0x39E -#define FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA 0x39F -#define FLAG_HIDE_FALLARBOR_HOUSE_1_PROF_COZMO 0x3A0 -#define FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_1 0x3A1 -#define FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_2 0x3A2 -#define FLAG_HIDE_RUSTURF_TUNNEL_ROCK_1 0x3A3 -#define FLAG_HIDE_RUSTURF_TUNNEL_ROCK_2 0x3A4 -#define FLAG_HIDE_FORTREE_CITY_HOUSE_4_WINGULL 0x3A5 -#define FLAG_HIDE_MOSSDEEP_CITY_HOUSE_2_WINGULL 0x3A6 -#define FLAG_HIDE_REGIROCK 0x3A7 -#define FLAG_HIDE_REGICE 0x3A8 -#define FLAG_HIDE_REGISTEEL 0x3A9 -#define FLAG_HIDE_METEOR_FALLS_TEAM_AQUA 0x3AA -#define FLAG_HIDE_METEOR_FALLS_TEAM_MAGMA 0x3AB -#define FLAG_HIDE_DEWFORD_HALL_SLUDGE_BOMB_MAN 0x3AC -#define FLAG_HIDE_SEAFLOOR_CAVERN_ENTRANCE_AQUA_GRUNT 0x3AD -#define FLAG_HIDE_METEOR_FALLS_1F_1R_COZMO 0x3AE -#define FLAG_HIDE_AQUA_HIDEOUT_B2F_SUBMARINE_SHADOW 0x3AF -#define FLAG_HIDE_ROUTE_128_ARCHIE 0x3B0 -#define FLAG_HIDE_ROUTE_128_MAXIE 0x3B1 -#define FLAG_HIDE_SEAFLOOR_CAVERN_AQUA_GRUNTS 0x3B2 -#define FLAG_HIDE_ROUTE_116_DEVON_EMPLOYEE 0x3B3 -#define FLAG_HIDE_SLATEPORT_CITY_TM_SALESMAN 0x3B4 -#define FLAG_HIDE_RUSTBORO_CITY_DEVON_CORP_3F_EMPLOYEE 0x3B5 -#define FLAG_HIDE_SS_TIDAL_CORRIDOR_MR_BRINEY 0x3B6 -#define FLAG_HIDE_SS_TIDAL_ROOMS_SNATCH_GIVER 0x3B7 -#define FLAG_0x3B8 0x3B8 -#define FLAG_0x3B9 0x3B9 -#define FLAG_0x3BA 0x3BA -#define FLAG_0x3BB 0x3BB -#define FLAG_0x3BC 0x3BC -#define FLAG_0x3BD 0x3BD -#define FLAG_0x3BE 0x3BE -#define FLAG_0x3BF 0x3BF -#define FLAG_HIDE_ROUTE_111_SECRET_POWER_MAN 0x3C0 -#define FLAG_HIDE_SLATEPORT_MUSEUM_POPULATION 0x3C1 -#define FLAG_HIDE_LILYCOVE_DEPARTMENT_STORE_ROOFTOP_SALE_WOMAN 0x3C2 -#define FLAG_HIDE_MIRAGE_TOWER_ROOT_FOSSIL 0x3C3 -#define FLAG_HIDE_MIRAGE_TOWER_CLAW_FOSSIL 0x3C4 -#define FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_FAMILIAR_AQUA_GRUNT 0x3C5 -#define FLAG_HIDE_ROUTE_118_STEVEN 0x3C6 -#define FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_STEVEN 0x3C7 -#define FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_BELDUM_POKEBALL 0x3C8 -#define FLAG_HIDE_FORTREE_CITY_KECLEON 0x3C9 -#define FLAG_HIDE_ROUTE_120_KECLEON_1 0x3CA -#define FLAG_HIDE_LILYCOVE_CITY_RIVAL 0x3CB -#define FLAG_0x3CC 0x3CC -#define FLAG_HIDE_SOOTOPOLIS_CITY_STEVEN 0x3CD -#define FLAG_HIDE_NEW_MAUVILLE_VOLTORB_1 0x3CE -#define FLAG_HIDE_NEW_MAUVILLE_VOLTORB_2 0x3CF -#define FLAG_HIDE_NEW_MAUVILLE_VOLTORB_3 0x3D0 -#define FLAG_HIDE_AQUA_HIDEOUT_B1F_ELECTRODE_1 0x3D1 -#define FLAG_HIDE_AQUA_HIDEOUT_B1F_ELECTRODE_2 0x3D2 -#define FLAG_HIDE_OLDALE_TOWN_RIVAL 0x3D3 -#define FLAG_HIDE_UNDERWATER_SEA_FLOOR_CAVERN_STOLEN_SUBMARINE 0x3D4 -#define FLAG_HIDE_ROUTE_120_KECLEON_BRIDGE 0x3D5 -#define FLAG_HIDE_ROUTE_120_KECLEON_2 0x3D6 -#define FLAG_HIDE_RUSTURF_TUNNEL_LOVER_WOMAN 0x3D7 -#define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_LOVER_WOMAN 0x3D8 -#define FLAG_HIDE_ROUTE_120_KECLEON_3 0x3D9 -#define FLAG_HIDE_ROUTE_120_KECLEON_4 0x3DA -#define FLAG_HIDE_ROUTE_120_KECLEON_5 0x3DB -#define FLAG_HIDE_ROUTE_120_KECLEON_6 0x3DC -#define FLAG_HIDE_ROUTE_119_KECLEON_1 0x3DD -#define FLAG_HIDE_ROUTE_119_KECLEON_2 0x3DE -#define FLAG_HIDE_ROUTE_101_BOY 0x3DF -#define FLAG_HIDE_WEATHER_INSTITUTE_2F_AQUA_GRUNT_M 0x3E0 -#define FLAG_HIDE_LILYCOVE_POKEMON_CENTER_LADY 0x3E1 -#define FLAG_HIDE_MT_CHIMNEY_LAVA_COOKIE_LADY 0x3E2 -#define FLAG_HIDE_PETALBURG_CITY_SCOTT 0x3E3 -#define FLAG_HIDE_SOOTOPOLIS_CITY_RAYQUAZA 0x3E4 -#define FLAG_HIDE_SOOTOPOLIS_CITY_KYOGRE 0x3E5 -#define FLAG_HIDE_SOOTOPOLIS_CITY_GROUDON 0x3E6 -#define FLAG_HIDE_RUSTBORO_CITY_POKEMON_SCHOOL_SCOTT 0x3E7 +#define FLAG_HIDE_ROUTE_101_BIRCH_STARTERS_BAG 0x2BC +#define FLAG_HIDE_APPRENTICE 0x2BD +#define FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN 0x2BE +#define FLAG_HIDE_UNION_ROOM_PLAYER_1 0x2BF +#define FLAG_HIDE_UNION_ROOM_PLAYER_2 0x2C0 +#define FLAG_HIDE_UNION_ROOM_PLAYER_3 0x2C1 +#define FLAG_HIDE_UNION_ROOM_PLAYER_4 0x2C2 +#define FLAG_HIDE_UNION_ROOM_PLAYER_5 0x2C3 +#define FLAG_HIDE_UNION_ROOM_PLAYER_6 0x2C4 +#define FLAG_HIDE_UNION_ROOM_PLAYER_7 0x2C5 +#define FLAG_HIDE_UNION_ROOM_PLAYER_8 0x2C6 +#define FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_1 0x2C7 +#define FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_2 0x2C8 +#define FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_3 0x2C9 +#define FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_4 0x2CA +#define FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_5 0x2CB +#define FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_6 0x2CC +#define FLAG_HIDE_SAFARI_ZONE_SOUTH_CONSTRUCTION_WORKERS 0x2CD +#define FLAG_HIDE_MEW 0x2CE +#define FLAG_HIDE_ROUTE_104_RIVAL 0x2CF +#define FLAG_HIDE_ROUTE_101_BIRCH_ZIGZAGOON_BATTLE 0x2D0 +#define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_BIRCH 0x2D1 +#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM 0x2D2 +#define FLAG_HIDE_ROUTE_103_RIVAL 0x2D3 +#define FLAG_HIDE_PETALBURG_WOODS_DEVON_EMPLOYEE 0x2D4 +#define FLAG_HIDE_PETALBURG_WOODS_AQUA_GRUNT 0x2D5 +#define FLAG_HIDE_PETALBURG_CITY_WALLY 0x2D6 +#define FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_INVISIBLE_NINJA_BOY 0x2D7 +#define FLAG_HIDE_PETALBURG_CITY_WALLYS_AUNT 0x2D8 + +#define FLAG_UNUSED_0x2D9 0x2D9 // Unused Flag + +#define FLAG_HIDE_LILYCOVE_FAN_CLUB_INTERVIEWER 0x2DA +#define FLAG_HIDE_RUSTBORO_CITY_AQUA_GRUNT 0x2DB +#define FLAG_HIDE_RUSTBORO_CITY_DEVON_EMPLOYEE_1 0x2DC +#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_KYOGRE_2 0x2DD +#define FLAG_HIDE_PLAYERS_HOUSE_DAD 0x2DE +#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_SIBLING 0x2DF +#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_SIBLING 0x2E0 +#define FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_INVISIBLE_NINJA_BOY 0x2E1 +#define FLAG_HIDE_ROUTE_104_MR_BRINEY 0x2E2 +#define FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY 0x2E3 +#define FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN 0x2E4 +#define FLAG_HIDE_ROUTE_108_MR_BRINEY 0x2E5 +#define FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT 0x2E6 +#define FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN 0x2E7 +#define FLAG_HIDE_ROUTE_109_MR_BRINEY_BOAT 0x2E8 +#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_BRENDAN 0x2E9 +#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_BRENDAN 0x2EA +#define FLAG_HIDE_SAFARI_ZONE_SOUTH_EAST_EXPANSION 0x2EB +#define FLAG_HIDE_LILYCOVE_HARBOR_EON_TICKET_TAKER 0x2EC +#define FLAG_HIDE_SLATEPORT_CITY_SCOTT 0x2ED +#define FLAG_HIDE_ROUTE_101_ZIGZAGOON 0x2EE +#define FLAG_HIDE_VICTORY_ROAD_EXIT_WALLY 0x2EF +#define FLAG_HIDE_LITTLEROOT_TOWN_MOM_OUTSIDE 0x2F0 +#define FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_STEVEN 0x2F1 +#define FLAG_HIDE_LITTLEROOT_TOWN_PLAYERS_HOUSE_VIGOROTH_1 0x2F2 +#define FLAG_HIDE_LITTLEROOT_TOWN_PLAYERS_HOUSE_VIGOROTH_2 0x2F3 +#define FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_TEAM_MAGMA 0x2F4 +#define FLAG_HIDE_LITTLE_ROOT_TOWN_PLAYERS_BEDROOM_MOM 0x2F5 +#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_MOM 0x2F6 +#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_MOM 0x2F7 +#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM 0x2F8 +#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_TRUCK 0x2F9 +#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_TRUCK 0x2FA +#define FLAG_HIDE_DEOXYS 0x2FB +#define FLAG_HIDE_BIRTH_ISLAND_DEOXYS_TRIANGLE 0x2FC +#define FLAG_HIDE_MAUVILLE_CITY_SCOTT 0x2FD +#define FLAG_HIDE_VERDANTURF_TOWN_SCOTT 0x2FE +#define FLAG_HIDE_FALLORBOR_TOWN_BATTLE_TENT_SCOTT 0x2FF +#define FLAG_HIDE_ROUTE_111_VICTOR_WINSTRATE 0x300 +#define FLAG_HIDE_ROUTE_111_VICTORIA_WINSTRATE 0x301 +#define FLAG_HIDE_ROUTE_111_VIVI_WINSTRATE 0x302 +#define FLAG_HIDE_ROUTE_111_VICKY_WINSTRATE 0x303 +#define FLAG_HIDE_PETALYBURG_GYM_NORMAN 0x304 +#define FLAG_HIDE_SKY_PILLAR_TOP_RAYQUAZA_2 0x305 +#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_CONTEST_ATTENDANT_1 0x306 +#define FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR 0x307 +#define FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_1 0x308 +#define FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_2 0x309 +#define FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_3 0x30A +#define FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_4 0x30B +#define FLAG_HIDE_LILYCOVE_MUSEUM_TOURISTS 0x30C +#define FLAG_HIDE_PETALBURG_GYM_GREETER 0x30D +#define FLAG_HIDE_MARINE_CAVE_KYOGRE 0x30E +#define FLAG_HIDE_TERRA_CAVE_GROUDON 0x30F +#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_MOM 0x310 +#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_MOM 0x311 +#define FLAG_HIDE_ROUTE_119_SCOTT 0x312 +#define FLAG_HIDE_LILCOVE_MOTEL_SCOTT 0x313 +#define FLAG_HIDE_MOSSDEEP_CITY_SCOTT 0x314 +#define FLAG_HIDE_FANCLUB_OLD_LADY 0x315 +#define FLAG_HIDE_FANCLUB_BOY 0x316 +#define FLAG_HIDE_FANCLUB_LITTLE_BOY 0x317 +#define FLAG_HIDE_FANCLUB_LADY 0x318 +#define FLAG_HIDE_EVER_GRANDE_POKEMON_CENTER_1F_SCOTT 0x319 +#define FLAG_HIDE_LITTLEROOT_TOWN_RIVAL 0x31A +#define FLAG_HIDE_LITTLEROOT_TOWN_BIRCH 0x31B +#define FLAG_HIDE_ROUTE_111_GABBY_AND_TY_1 0x31C +#define FLAG_HIDE_ROUTE_118_GABBY_AND_TY_1 0x31D +#define FLAG_HIDE_ROUTE_120_GABBY_AND_TY_1 0x31E +#define FLAG_HIDE_ROUTE_111_GABBY_AND_TY_3 0x31F +#define FLAG_HIDE_LUGIA 0x320 +#define FLAG_HIDE_HO_OH 0x321 +#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_REPORTER 0x322 +#define FLAG_HIDE_SLATEPORT_CITY_CONTEST_REPORTER 0x323 +#define FLAG_HIDE_MAUVILLE_CITY_WALLY 0x324 +#define FLAG_HIDE_MAUVILLE_CITY_WALLYS_UNCLE 0x325 +#define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLY 0x326 +#define FLAG_HIDE_RUSTURF_TUNNEL_LOVER_MAN 0x327 +#define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_LOVER_MAN 0x328 +#define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLYS_UNCLE 0x329 +#define FLAG_HIDE_SS_TIDAL_CORRIDOR_SCOTT 0x32A +#define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_CYNDAQUIL 0x32B +#define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_TOTODILE 0x32C +#define FLAG_HIDE_ROUTE_116_DROPPED_GLASSES_MAN 0x32D +#define FLAG_HIDE_RUSBORO_CITY_RIVAL 0x32E +#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_SWABLU_DOLL 0x32F +#define FLAG_HIDE_SOOTOPOLIS_CITY_WALLACE 0x330 +#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_POKE_BALL 0x331 +#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_POKE_BALL 0x332 +#define FLAG_HIDE_ROUTE_112_TEAM_MAGMA 0x333 +#define FLAG_HIDE_CAVE_OF_ORIGIN_B1F_WALLACE 0x334 +#define FLAG_HIDE_AQUA_HIDEOUT_1F_GRUNT_1_BLOCKING_ENTRANCE 0x335 +#define FLAG_HIDE_AQUA_HIDEOUT_1F_GRUNT_2_BLOCKING_ENTRANCE 0x336 +#define FLAG_HIDE_MOSSDEEP_CITY_TEAM_MAGMA 0x337 +#define FLAG_HIDE_PETALBURG_GYM_WALLYS_UNCLE 0x338 + +#define FLAG_UNUSED_0x339 0x339 // Unused Flag + +#define FLAG_HIDE_SOOTOPOLIS_CITY_ARCHIE 0x33A +#define FLAG_HIDE_SOOTOPOLIS_CITY_MAXIE 0x33B +#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_ARCHIE 0x33C +#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAXIE 0x33D +#define FLAG_HIDE_PETALBURG_CITY_WALLYS_UNCLE 0x33E +#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAGMA_GRUNTS 0x33F +#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS 0x340 +#define FLAG_HIDE_GRANITE_CAVE_STEVEN 0x341 +#define FLAG_HIDE_ROUTE_128_STEVEN 0x342 +#define FLAG_HIDE_SLATEPORT_CITY_GABBY_AND_TY 0x343 +#define FLAG_HIDE_BATTLE_FRONTIER_RECEPTION_GATE_SCOTT 0x344 +#define FLAG_HIDE_ROUTE_110_BIRCH 0x345 +#define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_CHIKORITA 0x346 +#define FLAG_HIDE_SOOTOPOLIS_CITY_MAN_1 0x347 +#define FLAG_HIDE_SLATEPORT_CITY_CAPTAIN_STERN 0x348 +#define FLAG_HIDE_SLATEPORT_CITY_HARBOR_CAPTAIN_STERN 0x349 +#define FLAG_HIDE_BATTLE_FRONTIER_SUDOWOODO 0x34A +#define FLAG_HIDE_ROUTE_111_ROCK_SMASH_TIP_GUY 0x34B +#define FLAG_HIDE_RUSTBORO_CITY_SCIENTIST 0x34C +#define FLAG_HIDE_SLATEPORT_CITY_HARBOR_AQUA_GRUNT 0x34D +#define FLAG_HIDE_SLATEPORT_CITY_HARBOR_ARCHIE 0x34E +#define FLAG_HIDE_JAGGED_PASS_MAGMA_GUARD 0x34F +#define FLAG_HIDE_SLATEPORT_CITY_HARBOR_SUBMARINE_SHADOW 0x350 +#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_PICHU_DOLL 0x351 +#define FLAG_HIDE_MAGMA_HIDEOUT_4F_GROUDON_2 0x352 +#define FLAG_HIDE_ROUTE_119_RIVAL 0x353 +#define FLAG_HIDE_LILYCOVE_CITY_AQUA_GRUNTS 0x354 +#define FLAG_HIDE_MAGMA_HIDEOUT_4F_GROUDON_1 0x355 +#define FLAG_HIDE_SOOTOPOLIS_CITY_RESIDENTS 0x356 +#define FLAG_HIDE_SKY_PILLAR_WALLACE 0x357 +#define FLAG_HIDE_MT_PYRE_SUMMIT_MAXIE 0x358 +#define FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS 0x359 +#define FLAG_HIDE_VICTORY_ROAD_ENTRANCE_WALLY 0x35A +#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_KYOGRE_1 0x35B +#define FLAG_HIDE_SLATEPORT_CITY_HARBOR_SS_TIDAL 0x35C +#define FLAG_HIDE_LILYCOVE_HARBOR_SSTIDAL 0x35D +#define FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_TEAM_MAGMA 0x35E +#define FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_STEVEN 0x35F +#define FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_1 0x360 +#define FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_2 0x361 +#define FLAG_HIDE_PETALBURG_GYM_WALLY 0x362 +#define FLAG_UNKNOWN_0x363 0x363 // Set, however has no purpose. +#define FLAG_HIDE_LITTLEROOT_TOWN_FAT_MAN 0x364 +#define FLAG_HIDE_SLATEPORT_CITY_STERNS_SHIPYARD_MR_BRINEY 0x365 +#define FLAG_HIDE_LANETTES_HOUSE_LANETTE 0x366 +#define FLAG_HIDE_FALLORBOR_POKEMON_CENTER_LANETTE 0x367 +#define FLAG_HIDE_TRICK_HOUSE_ENTRANCE_MAN 0x368 +#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_POKEBLOCK_EXPERT 0x369 +#define FLAG_HIDE_DESERT_UNDERPASS_FOSSIL 0x36A +#define FLAG_HIDE_ROUTE_111_PLAYER_DESCENT 0x36B +#define FLAG_HIDE_ROUTE_111_DESERT_FOSSIL 0x36C +#define FLAG_HIDE_MT_CHIMNEY_TRAINERS 0x36D +#define FLAG_HIDE_RUSTURF_TUNNEL_AQUA_GRUNT 0x36E +#define FLAG_HIDE_RUSTURF_TUNNEL_OLD_MAN 0x36F +#define FLAG_HIDE_RUSTURF_TUNNEL_PEEKO 0x370 +#define FLAG_HIDE_BRINEYS_HOUSE_PEEKO 0x371 +#define FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA 0x372 +#define FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_AQUA_GRUNTS 0x373 +#define FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_AQUA_GRUNT_1 0x374 +#define FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_AQUA_GRUNT_2 0x375 +#define FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_ARCHIE 0x376 +#define FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_CAPTAIN_STERN 0x377 +#define FLAG_HIDE_BATTLE_TOWER_OPPONENT 0x378 +#define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_RIVAL 0x379 +#define FLAG_HIDE_ROUTE_119_TEAM_AQUA 0x37A +#define FLAG_HIDE_ROUTE_116_MR_BRINEY 0x37B +#define FLAG_HIDE_WEATHER_INSTITUTE_1F_WORKERS 0x37C +#define FLAG_HIDE_WEATHER_INSTITUTE_2F_WORKERS 0x37D +#define FLAG_HIDE_ROUTE_116_TUNNELER 0x37E +#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_CONTEST_ATTENDANT_2 0x37F +#define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380 0x380 +#define FLAG_HIDE_ROUTE_101_BIRCH 0x381 +#define FLAG_HIDE_ROUTE_103_BIRCH 0x382 +#define FLAG_HIDE_TRICK_HOUSE_END_MAN 0x383 +#define FLAG_HIDE_ROUTE_110_TEAM_AQUA 0x384 +#define FLAG_HIDE_ROUTE_118_GABBY_AND_TY_2 0x385 +#define FLAG_HIDE_ROUTE_120_GABBY_AND_TY_2 0x386 +#define FLAG_HIDE_ROUTE_111_GABBY_AND_TY_2 0x387 +#define FLAG_HIDE_ROUTE_118_GABBY_AND_TY_3 0x388 +#define FLAG_HIDE_SLATEPORT_CITY_HARBOR_PATRONS 0x389 +#define FLAG_HIDE_ROUTE_104_WHITE_HERB_FLORIST 0x38A +#define FLAG_HIDE_FALLARBOR_AZURILL 0x38B +#define FLAG_HIDE_LILYCOVE_HARBOR_FERRY_ATTENDANT 0x38C +#define FLAG_HIDE_LILYCOVE_HARBOR_FERRY_SAILOR 0x38D +#define FLAG_HIDE_SOUTHERN_ISLAND_EON_STONE 0x38E +#define FLAG_HIDE_SOUTHERN_ISLAND_UNCHOSEN_EON_DUO_MON 0x38F +#define FLAG_HIDE_MAUVILLE_CITY_WATTSON 0x390 +#define FLAG_HIDE_MAUVILLE_GYM_WATTSON 0x391 +#define FLAG_HIDE_ROUTE_121_TEAM_AQUA_GRUNTS 0x392 +#define FLAG_UNKNOWN_0x393 0x393 // Set, however has no purpose. +#define FLAG_HIDE_MT_PYRE_SUMMIT_ARCHIE 0x394 +#define FLAG_HIDE_MT_PYRE_SUMMIT_TEAM_AQUA 0x395 +#define FLAG_HIDE_BATTLE_TOWER_REPORTER 0x396 +#define FLAG_HIDE_ROUTE_110_RIVAL_1 0x397 +#define FLAG_HIDE_CHAMPIONS_ROOM_RIVAL 0x398 +#define FLAG_HIDE_CHAMPIONS_ROOM_BIRCH 0x399 +#define FLAG_HIDE_ROUTE_110_RIVAL_2 0x39A +#define FLAG_HIDE_ROUTE_119_RIVAL_ON_BIKE 0x39B +#define FLAG_HIDE_AQUA_HIDEOUT_GRUNTS 0x39C +#define FLAG_HIDE_LILCOVE_MOTEL_GAME_DESIGNERS 0x39D +#define FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA 0x39E +#define FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA 0x39F +#define FLAG_HIDE_FALLARBOR_HOUSE_1_PROF_COZMO 0x3A0 +#define FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_1 0x3A1 +#define FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_2 0x3A2 +#define FLAG_HIDE_RUSTURF_TUNNEL_ROCK_1 0x3A3 +#define FLAG_HIDE_RUSTURF_TUNNEL_ROCK_2 0x3A4 +#define FLAG_HIDE_FORTREE_CITY_HOUSE_4_WINGULL 0x3A5 +#define FLAG_HIDE_MOSSDEEP_CITY_HOUSE_2_WINGULL 0x3A6 +#define FLAG_HIDE_REGIROCK 0x3A7 +#define FLAG_HIDE_REGICE 0x3A8 +#define FLAG_HIDE_REGISTEEL 0x3A9 +#define FLAG_HIDE_METEOR_FALLS_TEAM_AQUA 0x3AA +#define FLAG_HIDE_METEOR_FALLS_TEAM_MAGMA 0x3AB +#define FLAG_HIDE_DEWFORD_HALL_SLUDGE_BOMB_MAN 0x3AC +#define FLAG_HIDE_SEAFLOOR_CAVERN_ENTRANCE_AQUA_GRUNT 0x3AD +#define FLAG_HIDE_METEOR_FALLS_1F_1R_COZMO 0x3AE +#define FLAG_HIDE_AQUA_HIDEOUT_B2F_SUBMARINE_SHADOW 0x3AF +#define FLAG_HIDE_ROUTE_128_ARCHIE 0x3B0 +#define FLAG_HIDE_ROUTE_128_MAXIE 0x3B1 +#define FLAG_HIDE_SEAFLOOR_CAVERN_AQUA_GRUNTS 0x3B2 +#define FLAG_HIDE_ROUTE_116_DEVON_EMPLOYEE 0x3B3 +#define FLAG_HIDE_SLATEPORT_CITY_TM_SALESMAN 0x3B4 +#define FLAG_HIDE_RUSTBORO_CITY_DEVON_CORP_3F_EMPLOYEE 0x3B5 +#define FLAG_HIDE_SS_TIDAL_CORRIDOR_MR_BRINEY 0x3B6 +#define FLAG_HIDE_SS_TIDAL_ROOMS_SNATCH_GIVER 0x3B7 +#define FLAG_RECEIVED_SHOAL_SALT_1 0x3B8 +#define FLAG_RECEIVED_SHOAL_SALT_2 0x3B9 +#define FLAG_RECEIVED_SHOAL_SALT_3 0x3BA +#define FLAG_RECEIVED_SHOAL_SALT_4 0x3BB +#define FLAG_RECEIVED_SHOAL_SHELL_1 0x3BC +#define FLAG_RECEIVED_SHOAL_SHELL_2 0x3BD +#define FLAG_RECEIVED_SHOAL_SHELL_3 0x3BE +#define FLAG_RECEIVED_SHOAL_SHELL_4 0x3BF +#define FLAG_HIDE_ROUTE_111_SECRET_POWER_MAN 0x3C0 +#define FLAG_HIDE_SLATEPORT_MUSEUM_POPULATION 0x3C1 +#define FLAG_HIDE_LILYCOVE_DEPARTMENT_STORE_ROOFTOP_SALE_WOMAN 0x3C2 +#define FLAG_HIDE_MIRAGE_TOWER_ROOT_FOSSIL 0x3C3 +#define FLAG_HIDE_MIRAGE_TOWER_CLAW_FOSSIL 0x3C4 +#define FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_FAMILIAR_AQUA_GRUNT 0x3C5 +#define FLAG_HIDE_ROUTE_118_STEVEN 0x3C6 +#define FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_STEVEN 0x3C7 +#define FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_BELDUM_POKEBALL 0x3C8 +#define FLAG_HIDE_FORTREE_CITY_KECLEON 0x3C9 +#define FLAG_HIDE_ROUTE_120_KECLEON_1 0x3CA +#define FLAG_HIDE_LILYCOVE_CITY_RIVAL 0x3CB +#define FLAG_HIDE_ROUTE_120_STEVEN 0x3CC +#define FLAG_HIDE_SOOTOPOLIS_CITY_STEVEN 0x3CD +#define FLAG_HIDE_NEW_MAUVILLE_VOLTORB_1 0x3CE +#define FLAG_HIDE_NEW_MAUVILLE_VOLTORB_2 0x3CF +#define FLAG_HIDE_NEW_MAUVILLE_VOLTORB_3 0x3D0 +#define FLAG_HIDE_AQUA_HIDEOUT_B1F_ELECTRODE_1 0x3D1 +#define FLAG_HIDE_AQUA_HIDEOUT_B1F_ELECTRODE_2 0x3D2 +#define FLAG_HIDE_OLDALE_TOWN_RIVAL 0x3D3 +#define FLAG_HIDE_UNDERWATER_SEA_FLOOR_CAVERN_STOLEN_SUBMARINE 0x3D4 +#define FLAG_HIDE_ROUTE_120_KECLEON_BRIDGE 0x3D5 +#define FLAG_HIDE_ROUTE_120_KECLEON_2 0x3D6 +#define FLAG_HIDE_RUSTURF_TUNNEL_LOVER_WOMAN 0x3D7 +#define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_LOVER_WOMAN 0x3D8 +#define FLAG_HIDE_ROUTE_120_KECLEON_3 0x3D9 +#define FLAG_HIDE_ROUTE_120_KECLEON_4 0x3DA +#define FLAG_HIDE_ROUTE_120_KECLEON_5 0x3DB +#define FLAG_HIDE_ROUTE_120_KECLEON_6 0x3DC +#define FLAG_HIDE_ROUTE_119_KECLEON_1 0x3DD +#define FLAG_HIDE_ROUTE_119_KECLEON_2 0x3DE +#define FLAG_HIDE_ROUTE_101_BOY 0x3DF +#define FLAG_HIDE_WEATHER_INSTITUTE_2F_AQUA_GRUNT_M 0x3E0 +#define FLAG_HIDE_LILYCOVE_POKEMON_CENTER_LADY 0x3E1 +#define FLAG_HIDE_MT_CHIMNEY_LAVA_COOKIE_LADY 0x3E2 +#define FLAG_HIDE_PETALBURG_CITY_SCOTT 0x3E3 +#define FLAG_HIDE_SOOTOPOLIS_CITY_RAYQUAZA 0x3E4 +#define FLAG_HIDE_SOOTOPOLIS_CITY_KYOGRE 0x3E5 +#define FLAG_HIDE_SOOTOPOLIS_CITY_GROUDON 0x3E6 +#define FLAG_HIDE_RUSTBORO_CITY_POKEMON_SCHOOL_SCOTT 0x3E7 // Item Ball Flags -#define FLAG_ITEM_ROUTE_102_POTION 0x3E8 -#define FLAG_ITEM_ROUTE_116_X_SPECIAL 0x3E9 -#define FLAG_ITEM_ROUTE_104_PP_UP 0x3EA -#define FLAG_ITEM_ROUTE_105_IRON 0x3EB -#define FLAG_ITEM_ROUTE_106_PROTEIN 0x3EC -#define FLAG_ITEM_ROUTE_109_PP_UP 0x3ED -#define FLAG_ITEM_ROUTE_109_RARE_CANDY 0x3EE -#define FLAG_ITEM_ROUTE_110_DIRE_HIT 0x3EF -#define FLAG_ITEM_ROUTE_111_TM_37 0x3F0 -#define FLAG_ITEM_ROUTE_111_STARDUST 0x3F1 -#define FLAG_ITEM_ROUTE_111_HP_UP 0x3F2 -#define FLAG_ITEM_ROUTE_112_NUGGET 0x3F3 -#define FLAG_ITEM_ROUTE_113_MAX_ETHER 0x3F4 -#define FLAG_ITEM_ROUTE_113_SUPER_REPEL 0x3F5 -#define FLAG_ITEM_ROUTE_114_RARE_CANDY 0x3F6 -#define FLAG_ITEM_ROUTE_114_PROTEIN 0x3F7 -#define FLAG_ITEM_ROUTE_115_SUPER_POTION 0x3F8 -#define FLAG_ITEM_ROUTE_115_TM_01 0x3F9 -#define FLAG_ITEM_ROUTE_115_IRON 0x3FA -#define FLAG_ITEM_ROUTE_116_ETHER 0x3FB -#define FLAG_ITEM_ROUTE_116_REPEL 0x3FC -#define FLAG_ITEM_ROUTE_116_HP_UP 0x3FD -#define FLAG_ITEM_ROUTE_117_GREAT_BALL 0x3FE -#define FLAG_ITEM_ROUTE_117_REVIVE 0x3FF -#define FLAG_ITEM_ROUTE_119_SUPER_REPEL 0x400 -#define FLAG_ITEM_ROUTE_119_ZINC 0x401 -#define FLAG_ITEM_ROUTE_119_ELIXIR_1 0x402 -#define FLAG_ITEM_ROUTE_119_LEAF_STONE 0x403 -#define FLAG_ITEM_ROUTE_119_RARE_CANDY 0x404 -#define FLAG_ITEM_ROUTE_119_HYPER_POTION_1 0x405 -#define FLAG_ITEM_ROUTE_120_NUGGET 0x406 -#define FLAG_ITEM_ROUTE_120_FULL_HEAL 0x407 -#define FLAG_ITEM_ROUTE_123_CALCIUM 0x408 -#define FLAG_UNUSED_0x409 0x409 -#define FLAG_ITEM_ROUTE_127_ZINC 0x40A -#define FLAG_ITEM_ROUTE_127_CARBOS 0x40B -#define FLAG_ITEM_ROUTE_132_RARE_CANDY 0x40C -#define FLAG_ITEM_ROUTE_133_BIG_PEARL 0x40D -#define FLAG_ITEM_ROUTE_133_STAR_PIECE 0x40E -#define FLAG_ITEM_PETALBURG_CITY_MAX_REVIVE 0x40F -#define FLAG_ITEM_PETALBURG_CITY_ETHER 0x410 -#define FLAG_ITEM_RUSTBORO_CITY_X_DEFEND 0x411 -#define FLAG_ITEM_LILYCOVE_CITY_MAX_REPEL 0x412 -#define FLAG_ITEM_MOSSDEEP_CITY_NET_BALL 0x413 -#define FLAG_ITEM_METEOR_FALLS_1F_1R_TM_23 0x414 -#define FLAG_ITEM_METEOR_FALLS_1F_1R_FULL_HEAL 0x415 -#define FLAG_ITEM_METEOR_FALLS_1F_1R_MOON_STONE 0x416 -#define FLAG_ITEM_METEOR_FALLS_1F_1R_PP_UP 0x417 -#define FLAG_ITEM_RUSTURF_TUNNEL_POKE_BALL 0x418 -#define FLAG_ITEM_RUSTURF_TUNNEL_MAX_ETHER 0x419 -#define FLAG_ITEM_GRANITE_CAVE_1F_ESCAPE_ROPE 0x41A -#define FLAG_ITEM_GRANITE_CAVE_B1F_POKE_BALL 0x41B -#define FLAG_ITEM_MT_PYRE_5F_LAX_INCENSE 0x41C -#define FLAG_ITEM_GRANITE_CAVE_B2F_REPEL 0x41D -#define FLAG_ITEM_GRANITE_CAVE_B2F_RARE_CANDY 0x41E -#define FLAG_ITEM_PETALBURG_WOODS_X_ATTACK 0x41F -#define FLAG_ITEM_PETALBURG_WOODS_GREAT_BALL 0x420 -#define FLAG_ITEM_ROUTE_104_POKE_BALL 0x421 -#define FLAG_ITEM_PETALBURG_WOODS_ETHER 0x422 -#define FLAG_ITEM_MAGMA_HIDEOUT_3F_3R_ECAPE_ROPE 0x423 -#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_1_ORANGE_MAIL 0x424 -#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_2_HARBOR_MAIL 0x425 -#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_2_WAVE_MAIL 0x426 -#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_3_SHADOW_MAIL 0x427 -#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_3_WOOD_MAIL 0x428 -#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_4_MECH_MAIL 0x429 -#define FLAG_ITEM_ROUTE_124_YELLOW_SHARD 0x42A -#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_6_GLITTER_MAIL 0x42B -#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_7_TROPIC_MAIL 0x42C -#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_8_BEAD_MAIL 0x42D -#define FLAG_ITEM_JAGGED_PASS_BURN_HEAL 0x42E -#define FLAG_ITEM_AQUA_HIDEOUT_B1F_MAX_ELIXIR 0x42F -#define FLAG_ITEM_AQUA_HIDEOUT_B2F_NEST_BALL 0x430 -#define FLAG_ITEM_MT_PYRE_EXTERIOR_MAX_POTION 0x431 -#define FLAG_ITEM_MT_PYRE_EXTERIOR_TM_48 0x432 -#define FLAG_ITEM_NEW_MAUVILLE_ULTRA_BALL 0x433 -#define FLAG_ITEM_NEW_MAUVILLE_ESCAPE_ROPE 0x434 -#define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_6_LUXURY_BALL 0x435 -#define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_4_SCANNER 0x436 -#define FLAG_ITEM_SCORCHED_SLAB_TM_11 0x437 -#define FLAG_ITEM_METEOR_FALLS_B1F_2R_TM_02 0x438 -#define FLAG_ITEM_SHOAL_CAVE_ENTRANCE_BIG_PEARL 0x439 -#define FLAG_ITEM_SHOAL_CAVE_INNER_ROOM_RARE_CANDY 0x43A -#define FLAG_ITEM_SHOAL_CAVE_STAIRS_ROOM_ICE_HEAL 0x43B -#define FLAG_ITEM_VICTORY_ROAD_1F_MAX_ELIXIR 0x43C -#define FLAG_ITEM_VICTORY_ROAD_1F_PP_UP 0x43D -#define FLAG_ITEM_VICTORY_ROAD_B1F_TM_29 0x43E -#define FLAG_ITEM_VICTORY_ROAD_B1F_FULL_RESTORE 0x43F -#define FLAG_ITEM_VICTORY_ROAD_B2F_FULL_HEAL 0x440 -#define FLAG_ITEM_MT_PYRE_6F_TM_30 0x441 -#define FLAG_ITEM_SEAFLOOR_CAVERN_ROOM_9_TM_26 0x442 -#define FLAG_ITEM_FIERY_PATH_TM06 0x443 -#define FLAG_ITEM_ROUTE_124_RED_SHARD 0x444 -#define FLAG_ITEM_ROUTE_124_BLUE_SHARD 0x445 -#define FLAG_ITEM_SAFARI_ZONE_NORTH_WEST_TM_22 0x446 -#define FLAG_ITEM_ABANDONED_SHIP_ROOMS_1F_HARBOR_MAIL 0x447 -#define FLAG_ITEM_ABANDONED_SHIP_ROOMS_B1F_ESCAPE_ROPE 0x448 -#define FLAG_ITEM_ABANDONED_SHIP_ROOMS_2_B1F_DIVE_BALL 0x449 -#define FLAG_ITEM_ABANDONED_SHIP_ROOMS_B1F_TM_13 0x44A -#define FLAG_ITEM_ABANDONED_SHIP_ROOMS_2_1F_REVIVE 0x44B -#define FLAG_ITEM_ABANDONED_SHIP_CAPTAINS_OFFICE_STORAGE_KEY 0x44C -#define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_3_WATER_STONE 0x44D -#define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_1_TM_18 0x44E -#define FLAG_ITEM_ROUTE_121_CARBOS 0x44F -#define FLAG_ITEM_ROUTE_123_ULTRA_BALL 0x450 -#define FLAG_ITEM_ROUTE_126_GREEN_SHARD 0x451 -#define FLAG_ITEM_ROUTE_119_HYPER_POTION_2 0x452 -#define FLAG_ITEM_ROUTE_120_HYPER_POTION 0x453 -#define FLAG_ITEM_ROUTE_120_NEST_BALL 0x454 -#define FLAG_ITEM_ROUTE_123_ELIXIR 0x455 -#define FLAG_ITEM_NEW_MAUVILLE_THUNDER_STONE 0x456 -#define FLAG_ITEM_FIERY_PATH_FIRE_STONE 0x457 -#define FLAG_ITEM_SHOAL_CAVE_ICE_ROOM_TM_07 0x458 -#define FLAG_ITEM_SHOAL_CAVE_ICE_ROOM_NEVER_MELT_ICE 0x459 -#define FLAG_ITEM_ROUTE_103_GUARD_SPEC 0x45A -#define FLAG_ITEM_ROUTE_104_X_ACCURACY 0x45B -#define FLAG_ITEM_MAUVILLE_CITY_X_SPEED 0x45C -#define FLAG_ITEM_PETALBURD_WOODS_PARALYZE_HEAL 0x45D -#define FLAG_ITEM_ROUTE_115_GREAT_BALL 0x45E -#define FLAG_ITEM_SAFARI_ZONE_NORTH_CALCIUM 0x45F -#define FLAG_ITEM_MT_PYRE_3F_SUPER_REPEL 0x460 -#define FLAG_ITEM_ROUTE_118_HYPER_POTION 0x461 -#define FLAG_ITEM_NEW_MAUVILLE_FULL_HEAL 0x462 -#define FLAG_ITEM_NEW_MAUVILLE_PARALYZE_HEAL 0x463 -#define FLAG_ITEM_AQUA_HIDEOUT_B1F_MASTER_BALL 0x464 -#define FLAG_UNUSED_0x465 0x465 -#define FLAG_UNUSED_0x466 0x466 -#define FLAG_UNUSED_0x467 0x467 -#define FLAG_UNUSED_0x468 0x468 -#define FLAG_ITEM_MT_PYRE_2F_ULTRA_BALL 0x469 -#define FLAG_ITEM_MT_PYRE_4F_SEA_INCENSE 0x46A -#define FLAG_ITEM_SAFARI_ZONE_SOUTH_WEST_MAX_REVIVE 0x46B -#define FLAG_ITEM_AQUA_HIDEOUT_B1F_NUGGET 0x46C -#define FLAG_UNUSED_0x46D 0x46D -#define FLAG_ITEM_ROUTE_119_NUGGET 0x46E -#define FLAG_ITEM_ROUTE_104_POTION 0x46F -#define FLAG_UNUSED_0x470 0x470 -#define FLAG_ITEM_ROUTE_103_PP_UP 0x471 -#define FLAG_UNUSED_0x472 0x472 -#define FLAG_ITEM_ROUTE_108_STAR_PIECE 0x473 -#define FLAG_0x474 0x474 -#define FLAG_ITEM_ROUTE_110_ELIXIR 0x475 -#define FLAG_ITEM_ROUTE_111_ELIXIR 0x476 -#define FLAG_ITEM_ROUTE_113_HYPER_POTION 0x477 -#define FLAG_ITEM_ROUTE_115_HEAL_POWDER 0x478 -#define FLAG_UNUSED_0x479 0x479 -#define FLAG_ITEM_ROUTE_116_POTION 0x47A -#define FLAG_ITEM_ROUTE_119_ELIXIR_2 0x47B -#define FLAG_ITEM_ROUTE_120_REVIVE 0x47C -#define FLAG_ITEM_ROUTE_121_REVIVE 0x47D -#define FLAG_ITEM_ROUTE_121_ZINC 0x47E -#define FLAG_ITEM_MAGMA_HIDEOUT_1F_RARE_CANDY 0x47F -#define FLAG_ITEM_ROUTE_123_PP_UP 0x480 -#define FLAG_ITEM_ROUTE_123_REVIVAL_HERB 0x481 -#define FLAG_ITEM_ROUTE_125_BIG_PEARL 0x482 -#define FLAG_ITEM_ROUTE_127_RARE_CANDY 0x483 -#define FLAG_ITEM_ROUTE_132_PROTEIN 0x484 -#define FLAG_ITEM_ROUTE_133_MAX_REVIVE 0x485 -#define FLAG_ITEM_ROUTE_134_CARBOS 0x486 -#define FLAG_ITEM_ROUTE_134_STAR_PIECE 0x487 -#define FLAG_ITEM_ROUTE_114_ENERGY_POWDER 0x488 -#define FLAG_ITEM_ROUTE_115_PP_UP 0x489 -#define FLAG_ITEM_ARTISAN_CAVE_B1F_HP_UP 0x48A -#define FLAG_ITEM_ARTISAN_CAVE_1F_CARBOS 0x48B -#define FLAG_ITEM_MAGMA_HIDEOUT_2F_2R_MAX_ELIXIR 0x48C -#define FLAG_ITEM_MAGMA_HIDEOUT_2F_2R_FULL_RESTORE 0x48D -#define FLAG_ITEM_MAGMA_HIDEOUT_3F_1R_NUGGET 0x48E -#define FLAG_ITEM_MAGMA_HIDEOUT_3F_2R_PP_MAX 0x48F -#define FLAG_ITEM_MAGMA_HIDEOUT_4F_MAX_REVIVE 0x490 -#define FLAG_ITEM_SAFARI_ZONE_NORTH_EAST_NUGGET 0x491 -#define FLAG_ITEM_SAFARI_ZONE_SOUTH_EAST_BIG_PEARL 0x492 +#define FLAG_ITEM_ROUTE_102_POTION 0x3E8 +#define FLAG_ITEM_ROUTE_116_X_SPECIAL 0x3E9 +#define FLAG_ITEM_ROUTE_104_PP_UP 0x3EA +#define FLAG_ITEM_ROUTE_105_IRON 0x3EB +#define FLAG_ITEM_ROUTE_106_PROTEIN 0x3EC +#define FLAG_ITEM_ROUTE_109_PP_UP 0x3ED +#define FLAG_ITEM_ROUTE_109_RARE_CANDY 0x3EE +#define FLAG_ITEM_ROUTE_110_DIRE_HIT 0x3EF +#define FLAG_ITEM_ROUTE_111_TM_37 0x3F0 +#define FLAG_ITEM_ROUTE_111_STARDUST 0x3F1 +#define FLAG_ITEM_ROUTE_111_HP_UP 0x3F2 +#define FLAG_ITEM_ROUTE_112_NUGGET 0x3F3 +#define FLAG_ITEM_ROUTE_113_MAX_ETHER 0x3F4 +#define FLAG_ITEM_ROUTE_113_SUPER_REPEL 0x3F5 +#define FLAG_ITEM_ROUTE_114_RARE_CANDY 0x3F6 +#define FLAG_ITEM_ROUTE_114_PROTEIN 0x3F7 +#define FLAG_ITEM_ROUTE_115_SUPER_POTION 0x3F8 +#define FLAG_ITEM_ROUTE_115_TM_01 0x3F9 +#define FLAG_ITEM_ROUTE_115_IRON 0x3FA +#define FLAG_ITEM_ROUTE_116_ETHER 0x3FB +#define FLAG_ITEM_ROUTE_116_REPEL 0x3FC +#define FLAG_ITEM_ROUTE_116_HP_UP 0x3FD +#define FLAG_ITEM_ROUTE_117_GREAT_BALL 0x3FE +#define FLAG_ITEM_ROUTE_117_REVIVE 0x3FF +#define FLAG_ITEM_ROUTE_119_SUPER_REPEL 0x400 +#define FLAG_ITEM_ROUTE_119_ZINC 0x401 +#define FLAG_ITEM_ROUTE_119_ELIXIR_1 0x402 +#define FLAG_ITEM_ROUTE_119_LEAF_STONE 0x403 +#define FLAG_ITEM_ROUTE_119_RARE_CANDY 0x404 +#define FLAG_ITEM_ROUTE_119_HYPER_POTION_1 0x405 +#define FLAG_ITEM_ROUTE_120_NUGGET 0x406 +#define FLAG_ITEM_ROUTE_120_FULL_HEAL 0x407 +#define FLAG_ITEM_ROUTE_123_CALCIUM 0x408 +#define FLAG_UNUSED_0x409 0x409 // Unused Flag -#define FLAG_0x493 0x493 -#define FLAG_0x494 0x494 -#define FLAG_0x495 0x495 -#define FLAG_0x496 0x496 -#define FLAG_0x497 0x497 -#define FLAG_0x498 0x498 -#define FLAG_0x499 0x499 -#define FLAG_0x49A 0x49A -#define FLAG_0x49B 0x49B -#define FLAG_0x49C 0x49C -#define FLAG_0x49D 0x49D -#define FLAG_0x49E 0x49E -#define FLAG_0x49F 0x49F -#define FLAG_0x4A0 0x4A0 -#define FLAG_0x4A1 0x4A1 -#define FLAG_0x4A2 0x4A2 -#define FLAG_0x4A3 0x4A3 -#define FLAG_0x4A4 0x4A4 -#define FLAG_0x4A5 0x4A5 -#define FLAG_0x4A6 0x4A6 -#define FLAG_0x4A7 0x4A7 -#define FLAG_0x4A8 0x4A8 -#define FLAG_0x4A9 0x4A9 -#define FLAG_0x4AA 0x4AA -#define FLAG_0x4AB 0x4AB -#define FLAG_0x4AC 0x4AC -#define FLAG_0x4AD 0x4AD -#define FLAG_0x4AE 0x4AE -#define FLAG_0x4AF 0x4AF -#define FLAG_0x4B0 0x4B0 -#define FLAG_0x4B1 0x4B1 -#define FLAG_0x4B2 0x4B2 -#define FLAG_0x4B3 0x4B3 -#define FLAG_0x4B4 0x4B4 -#define FLAG_0x4B5 0x4B5 -#define FLAG_0x4B6 0x4B6 -#define FLAG_0x4B7 0x4B7 -#define FLAG_0x4B8 0x4B8 -#define FLAG_0x4B9 0x4B9 -#define FLAG_0x4BA 0x4BA -#define FLAG_0x4BB 0x4BB -#define FLAG_0x4BC 0x4BC -#define FLAG_0x4BD 0x4BD -#define FLAG_0x4BE 0x4BE -#define FLAG_0x4BF 0x4BF -#define FLAG_0x4C0 0x4C0 -#define FLAG_0x4C1 0x4C1 -#define FLAG_0x4C2 0x4C2 -#define FLAG_0x4C3 0x4C3 -#define FLAG_0x4C4 0x4C4 -#define FLAG_0x4C5 0x4C5 -#define FLAG_0x4C6 0x4C6 -#define FLAG_0x4C7 0x4C7 -#define FLAG_0x4C8 0x4C8 -#define FLAG_0x4C9 0x4C9 -#define FLAG_0x4CA 0x4CA -#define FLAG_0x4CB 0x4CB -#define FLAG_0x4CC 0x4CC -#define FLAG_0x4CD 0x4CD -#define FLAG_0x4CE 0x4CE -#define FLAG_0x4CF 0x4CF -#define FLAG_0x4D0 0x4D0 -#define FLAG_0x4D1 0x4D1 -#define FLAG_0x4D2 0x4D2 -#define FLAG_0x4D3 0x4D3 -#define FLAG_0x4D4 0x4D4 -#define FLAG_0x4D5 0x4D5 -#define FLAG_0x4D6 0x4D6 -#define FLAG_0x4D7 0x4D7 -#define FLAG_0x4D8 0x4D8 -#define FLAG_0x4D9 0x4D9 -#define FLAG_0x4DA 0x4DA -#define FLAG_0x4DB 0x4DB -#define FLAG_0x4DC 0x4DC -#define FLAG_0x4DD 0x4DD -#define FLAG_0x4DE 0x4DE -#define FLAG_0x4DF 0x4DF -#define FLAG_0x4E0 0x4E0 -#define FLAG_0x4E1 0x4E1 -#define FLAG_0x4E2 0x4E2 -#define FLAG_0x4E3 0x4E3 -#define FLAG_0x4E4 0x4E4 -#define FLAG_0x4E5 0x4E5 -#define FLAG_0x4E6 0x4E6 -#define FLAG_0x4E7 0x4E7 -#define FLAG_0x4E8 0x4E8 -#define FLAG_0x4E9 0x4E9 -#define FLAG_0x4EA 0x4EA -#define FLAG_0x4EB 0x4EB -#define FLAG_0x4EC 0x4EC -#define FLAG_0x4ED 0x4ED -#define FLAG_0x4EE 0x4EE -#define FLAG_0x4EF 0x4EF -#define FLAG_0x4F0 0x4F0 -#define FLAG_0x4F1 0x4F1 -#define FLAG_0x4F2 0x4F2 -#define FLAG_0x4F3 0x4F3 -#define FLAG_0x4F4 0x4F4 -#define FLAG_0x4F5 0x4F5 -#define FLAG_0x4F6 0x4F6 -#define FLAG_0x4F7 0x4F7 -#define FLAG_0x4F8 0x4F8 -#define FLAG_0x4F9 0x4F9 -#define FLAG_0x4FA 0x4FA -#define FLAG_0x4FB 0x4FB -#define FLAG_0x4FC 0x4FC -#define FLAG_0x4FD 0x4FD -#define FLAG_0x4FE 0x4FE -#define FLAG_0x4FF 0x4FF +#define FLAG_ITEM_ROUTE_127_ZINC 0x40A +#define FLAG_ITEM_ROUTE_127_CARBOS 0x40B +#define FLAG_ITEM_ROUTE_132_RARE_CANDY 0x40C +#define FLAG_ITEM_ROUTE_133_BIG_PEARL 0x40D +#define FLAG_ITEM_ROUTE_133_STAR_PIECE 0x40E +#define FLAG_ITEM_PETALBURG_CITY_MAX_REVIVE 0x40F +#define FLAG_ITEM_PETALBURG_CITY_ETHER 0x410 +#define FLAG_ITEM_RUSTBORO_CITY_X_DEFEND 0x411 +#define FLAG_ITEM_LILYCOVE_CITY_MAX_REPEL 0x412 +#define FLAG_ITEM_MOSSDEEP_CITY_NET_BALL 0x413 +#define FLAG_ITEM_METEOR_FALLS_1F_1R_TM_23 0x414 +#define FLAG_ITEM_METEOR_FALLS_1F_1R_FULL_HEAL 0x415 +#define FLAG_ITEM_METEOR_FALLS_1F_1R_MOON_STONE 0x416 +#define FLAG_ITEM_METEOR_FALLS_1F_1R_PP_UP 0x417 +#define FLAG_ITEM_RUSTURF_TUNNEL_POKE_BALL 0x418 +#define FLAG_ITEM_RUSTURF_TUNNEL_MAX_ETHER 0x419 +#define FLAG_ITEM_GRANITE_CAVE_1F_ESCAPE_ROPE 0x41A +#define FLAG_ITEM_GRANITE_CAVE_B1F_POKE_BALL 0x41B +#define FLAG_ITEM_MT_PYRE_5F_LAX_INCENSE 0x41C +#define FLAG_ITEM_GRANITE_CAVE_B2F_REPEL 0x41D +#define FLAG_ITEM_GRANITE_CAVE_B2F_RARE_CANDY 0x41E +#define FLAG_ITEM_PETALBURG_WOODS_X_ATTACK 0x41F +#define FLAG_ITEM_PETALBURG_WOODS_GREAT_BALL 0x420 +#define FLAG_ITEM_ROUTE_104_POKE_BALL 0x421 +#define FLAG_ITEM_PETALBURG_WOODS_ETHER 0x422 +#define FLAG_ITEM_MAGMA_HIDEOUT_3F_3R_ECAPE_ROPE 0x423 +#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_1_ORANGE_MAIL 0x424 +#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_2_HARBOR_MAIL 0x425 +#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_2_WAVE_MAIL 0x426 +#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_3_SHADOW_MAIL 0x427 +#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_3_WOOD_MAIL 0x428 +#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_4_MECH_MAIL 0x429 +#define FLAG_ITEM_ROUTE_124_YELLOW_SHARD 0x42A +#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_6_GLITTER_MAIL 0x42B +#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_7_TROPIC_MAIL 0x42C +#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_8_BEAD_MAIL 0x42D +#define FLAG_ITEM_JAGGED_PASS_BURN_HEAL 0x42E +#define FLAG_ITEM_AQUA_HIDEOUT_B1F_MAX_ELIXIR 0x42F +#define FLAG_ITEM_AQUA_HIDEOUT_B2F_NEST_BALL 0x430 +#define FLAG_ITEM_MT_PYRE_EXTERIOR_MAX_POTION 0x431 +#define FLAG_ITEM_MT_PYRE_EXTERIOR_TM_48 0x432 +#define FLAG_ITEM_NEW_MAUVILLE_ULTRA_BALL 0x433 +#define FLAG_ITEM_NEW_MAUVILLE_ESCAPE_ROPE 0x434 +#define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_6_LUXURY_BALL 0x435 +#define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_4_SCANNER 0x436 +#define FLAG_ITEM_SCORCHED_SLAB_TM_11 0x437 +#define FLAG_ITEM_METEOR_FALLS_B1F_2R_TM_02 0x438 +#define FLAG_ITEM_SHOAL_CAVE_ENTRANCE_BIG_PEARL 0x439 +#define FLAG_ITEM_SHOAL_CAVE_INNER_ROOM_RARE_CANDY 0x43A +#define FLAG_ITEM_SHOAL_CAVE_STAIRS_ROOM_ICE_HEAL 0x43B +#define FLAG_ITEM_VICTORY_ROAD_1F_MAX_ELIXIR 0x43C +#define FLAG_ITEM_VICTORY_ROAD_1F_PP_UP 0x43D +#define FLAG_ITEM_VICTORY_ROAD_B1F_TM_29 0x43E +#define FLAG_ITEM_VICTORY_ROAD_B1F_FULL_RESTORE 0x43F +#define FLAG_ITEM_VICTORY_ROAD_B2F_FULL_HEAL 0x440 +#define FLAG_ITEM_MT_PYRE_6F_TM_30 0x441 +#define FLAG_ITEM_SEAFLOOR_CAVERN_ROOM_9_TM_26 0x442 +#define FLAG_ITEM_FIERY_PATH_TM06 0x443 +#define FLAG_ITEM_ROUTE_124_RED_SHARD 0x444 +#define FLAG_ITEM_ROUTE_124_BLUE_SHARD 0x445 +#define FLAG_ITEM_SAFARI_ZONE_NORTH_WEST_TM_22 0x446 +#define FLAG_ITEM_ABANDONED_SHIP_ROOMS_1F_HARBOR_MAIL 0x447 +#define FLAG_ITEM_ABANDONED_SHIP_ROOMS_B1F_ESCAPE_ROPE 0x448 +#define FLAG_ITEM_ABANDONED_SHIP_ROOMS_2_B1F_DIVE_BALL 0x449 +#define FLAG_ITEM_ABANDONED_SHIP_ROOMS_B1F_TM_13 0x44A +#define FLAG_ITEM_ABANDONED_SHIP_ROOMS_2_1F_REVIVE 0x44B +#define FLAG_ITEM_ABANDONED_SHIP_CAPTAINS_OFFICE_STORAGE_KEY 0x44C +#define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_3_WATER_STONE 0x44D +#define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_1_TM_18 0x44E +#define FLAG_ITEM_ROUTE_121_CARBOS 0x44F +#define FLAG_ITEM_ROUTE_123_ULTRA_BALL 0x450 +#define FLAG_ITEM_ROUTE_126_GREEN_SHARD 0x451 +#define FLAG_ITEM_ROUTE_119_HYPER_POTION_2 0x452 +#define FLAG_ITEM_ROUTE_120_HYPER_POTION 0x453 +#define FLAG_ITEM_ROUTE_120_NEST_BALL 0x454 +#define FLAG_ITEM_ROUTE_123_ELIXIR 0x455 +#define FLAG_ITEM_NEW_MAUVILLE_THUNDER_STONE 0x456 +#define FLAG_ITEM_FIERY_PATH_FIRE_STONE 0x457 +#define FLAG_ITEM_SHOAL_CAVE_ICE_ROOM_TM_07 0x458 +#define FLAG_ITEM_SHOAL_CAVE_ICE_ROOM_NEVER_MELT_ICE 0x459 +#define FLAG_ITEM_ROUTE_103_GUARD_SPEC 0x45A +#define FLAG_ITEM_ROUTE_104_X_ACCURACY 0x45B +#define FLAG_ITEM_MAUVILLE_CITY_X_SPEED 0x45C +#define FLAG_ITEM_PETALBURD_WOODS_PARALYZE_HEAL 0x45D +#define FLAG_ITEM_ROUTE_115_GREAT_BALL 0x45E +#define FLAG_ITEM_SAFARI_ZONE_NORTH_CALCIUM 0x45F +#define FLAG_ITEM_MT_PYRE_3F_SUPER_REPEL 0x460 +#define FLAG_ITEM_ROUTE_118_HYPER_POTION 0x461 +#define FLAG_ITEM_NEW_MAUVILLE_FULL_HEAL 0x462 +#define FLAG_ITEM_NEW_MAUVILLE_PARALYZE_HEAL 0x463 +#define FLAG_ITEM_AQUA_HIDEOUT_B1F_MASTER_BALL 0x464 -#define FLAG_TRAINER_FLAG_START 0x500 +#define FLAG_UNUSED_0x465 0x465 // Unused Flag +#define FLAG_UNUSED_0x466 0x466 // Unused Flag +#define FLAG_UNUSED_0x467 0x467 // Unused Flag +#define FLAG_UNUSED_0x468 0x468 // Unused Flag -#define TRAINERS_FLAG_NO 0x356 -#define SYSTEM_FLAGS (FLAG_TRAINER_FLAG_START + TRAINERS_FLAG_NO + 0xA) // 0x860 +#define FLAG_ITEM_MT_PYRE_2F_ULTRA_BALL 0x469 +#define FLAG_ITEM_MT_PYRE_4F_SEA_INCENSE 0x46A +#define FLAG_ITEM_SAFARI_ZONE_SOUTH_WEST_MAX_REVIVE 0x46B +#define FLAG_ITEM_AQUA_HIDEOUT_B1F_NUGGET 0x46C -// SYSTEM FLAGS +#define FLAG_UNUSED_0x46D 0x46D // Unused Flag -// 0x860 -#define FLAG_SYS_POKEMON_GET (SYSTEM_FLAGS + 0) -#define FLAG_SYS_POKEDEX_GET (SYSTEM_FLAGS + 1) -#define FLAG_SYS_POKENAV_GET (SYSTEM_FLAGS + 2) -// third one appears unused -#define FLAG_SYS_GAME_CLEAR (SYSTEM_FLAGS + 4) -#define FLAG_SYS_CHAT_USED (SYSTEM_FLAGS + 5) -#define FLAG_SYS_HIPSTER_MEET (SYSTEM_FLAGS + 6) +#define FLAG_ITEM_ROUTE_119_NUGGET 0x46E +#define FLAG_ITEM_ROUTE_104_POTION 0x46F -// badges -#define FLAG_BADGE01_GET (SYSTEM_FLAGS + 7) -#define FLAG_BADGE02_GET (SYSTEM_FLAGS + 8) -#define FLAG_BADGE03_GET (SYSTEM_FLAGS + 9) -#define FLAG_BADGE04_GET (SYSTEM_FLAGS + 0xA) -#define FLAG_BADGE05_GET (SYSTEM_FLAGS + 0xB) -#define FLAG_BADGE06_GET (SYSTEM_FLAGS + 0xC) -#define FLAG_BADGE07_GET (SYSTEM_FLAGS + 0xD) -#define FLAG_BADGE08_GET (SYSTEM_FLAGS + 0xE) +#define FLAG_UNUSED_0x470 0x470 // Unused Flag -// cities and towns -#define FLAG_VISITED_LITTLEROOT_TOWN (SYSTEM_FLAGS + 0xF) -#define FLAG_VISITED_OLDALE_TOWN (SYSTEM_FLAGS + 0x10) -#define FLAG_VISITED_DEWFORD_TOWN (SYSTEM_FLAGS + 0x11) -#define FLAG_VISITED_LAVARIDGE_TOWN (SYSTEM_FLAGS + 0x12) -#define FLAG_VISITED_FALLARBOR_TOWN (SYSTEM_FLAGS + 0x13) -#define FLAG_VISITED_VERDANTURF_TOWN (SYSTEM_FLAGS + 0x14) -#define FLAG_VISITED_PACIFIDLOG_TOWN (SYSTEM_FLAGS + 0x15) -#define FLAG_VISITED_PETALBURG_CITY (SYSTEM_FLAGS + 0x16) -#define FLAG_VISITED_SLATEPORT_CITY (SYSTEM_FLAGS + 0x17) -#define FLAG_VISITED_MAUVILLE_CITY (SYSTEM_FLAGS + 0x18) -#define FLAG_VISITED_RUSTBORO_CITY (SYSTEM_FLAGS + 0x19) -#define FLAG_VISITED_FORTREE_CITY (SYSTEM_FLAGS + 0x1A) -#define FLAG_VISITED_LILYCOVE_CITY (SYSTEM_FLAGS + 0x1B) -#define FLAG_VISITED_MOSSDEEP_CITY (SYSTEM_FLAGS + 0x1C) -#define FLAG_VISITED_SOOTOPOLIS_CITY (SYSTEM_FLAGS + 0x1D) -#define FLAG_VISITED_EVER_GRANDE_CITY (SYSTEM_FLAGS + 0x1E) +#define FLAG_ITEM_ROUTE_103_PP_UP 0x471 -#define FLAG_0x87F (SYSTEM_FLAGS + 0x1F) -#define FLAG_0x880 (SYSTEM_FLAGS + 0x20) -#define FLAG_0x881 (SYSTEM_FLAGS + 0x21) -#define FLAG_0x882 (SYSTEM_FLAGS + 0x22) -#define FLAG_0x883 (SYSTEM_FLAGS + 0x23) -#define FLAG_0x884 (SYSTEM_FLAGS + 0x24) -#define FLAG_0x885 (SYSTEM_FLAGS + 0x25) -#define FLAG_0x886 (SYSTEM_FLAGS + 0x26) -#define FLAG_0x887 (SYSTEM_FLAGS + 0x27) +#define FLAG_UNUSED_0x472 0x472 // Unused Flag -#define FLAG_SYS_USE_FLASH (SYSTEM_FLAGS + 0x28) -#define FLAG_SYS_USE_STRENGTH (SYSTEM_FLAGS + 0x29) -#define FLAG_SYS_WEATHER_CTRL (SYSTEM_FLAGS + 0x2A) -#define FLAG_SYS_CYCLING_ROAD (SYSTEM_FLAGS + 0x2B) -#define FLAG_SYS_SAFARI_MODE (SYSTEM_FLAGS + 0x2C) -#define FLAG_SYS_CRUISE_MODE (SYSTEM_FLAGS + 0x2D) +#define FLAG_ITEM_ROUTE_108_STAR_PIECE 0x473 +#define FLAG_ITEM_ROUTE_109_POTION 0x474 +#define FLAG_ITEM_ROUTE_110_ELIXIR 0x475 +#define FLAG_ITEM_ROUTE_111_ELIXIR 0x476 +#define FLAG_ITEM_ROUTE_113_HYPER_POTION 0x477 +#define FLAG_ITEM_ROUTE_115_HEAL_POWDER 0x478 -#define FLAG_0x88E (SYSTEM_FLAGS + 0x2E) -#define FLAG_0x88F (SYSTEM_FLAGS + 0x2F) +#define FLAG_UNUSED_0x479 0x479 // Unused Flag -#define FLAG_SYS_TV_HOME (SYSTEM_FLAGS + 0x30) -#define FLAG_SYS_TV_WATCH (SYSTEM_FLAGS + 0x31) -#define FLAG_SYS_TV_START (SYSTEM_FLAGS + 0x32) -#define FLAG_SYS_POPWORD_INPUT (SYSTEM_FLAGS + 0x33) -#define FLAG_SYS_MIX_RECORD (SYSTEM_FLAGS + 0x34) -#define FLAG_SYS_CLOCK_SET (SYSTEM_FLAGS + 0x35) -#define FLAG_SYS_NATIONAL_DEX (SYSTEM_FLAGS + 0x36) -#define FLAG_SYS_CAVE_SHIP (SYSTEM_FLAGS + 0x37) -#define FLAG_SYS_CAVE_WONDER (SYSTEM_FLAGS + 0x38) -#define FLAG_SYS_CAVE_BATTLE (SYSTEM_FLAGS + 0x39) -#define FLAG_SYS_SHOAL_TIDE (SYSTEM_FLAGS + 0x3A) -#define FLAG_SYS_RIBBON_GET (SYSTEM_FLAGS + 0x3B) +#define FLAG_ITEM_ROUTE_116_POTION 0x47A +#define FLAG_ITEM_ROUTE_119_ELIXIR_2 0x47B +#define FLAG_ITEM_ROUTE_120_REVIVE 0x47C +#define FLAG_ITEM_ROUTE_121_REVIVE 0x47D +#define FLAG_ITEM_ROUTE_121_ZINC 0x47E +#define FLAG_ITEM_MAGMA_HIDEOUT_1F_RARE_CANDY 0x47F +#define FLAG_ITEM_ROUTE_123_PP_UP 0x480 +#define FLAG_ITEM_ROUTE_123_REVIVAL_HERB 0x481 +#define FLAG_ITEM_ROUTE_125_BIG_PEARL 0x482 +#define FLAG_ITEM_ROUTE_127_RARE_CANDY 0x483 +#define FLAG_ITEM_ROUTE_132_PROTEIN 0x484 +#define FLAG_ITEM_ROUTE_133_MAX_REVIVE 0x485 +#define FLAG_ITEM_ROUTE_134_CARBOS 0x486 +#define FLAG_ITEM_ROUTE_134_STAR_PIECE 0x487 +#define FLAG_ITEM_ROUTE_114_ENERGY_POWDER 0x488 +#define FLAG_ITEM_ROUTE_115_PP_UP 0x489 +#define FLAG_ITEM_ARTISAN_CAVE_B1F_HP_UP 0x48A +#define FLAG_ITEM_ARTISAN_CAVE_1F_CARBOS 0x48B +#define FLAG_ITEM_MAGMA_HIDEOUT_2F_2R_MAX_ELIXIR 0x48C +#define FLAG_ITEM_MAGMA_HIDEOUT_2F_2R_FULL_RESTORE 0x48D +#define FLAG_ITEM_MAGMA_HIDEOUT_3F_1R_NUGGET 0x48E +#define FLAG_ITEM_MAGMA_HIDEOUT_3F_2R_PP_MAX 0x48F +#define FLAG_ITEM_MAGMA_HIDEOUT_4F_MAX_REVIVE 0x490 +#define FLAG_ITEM_SAFARI_ZONE_NORTH_EAST_NUGGET 0x491 +#define FLAG_ITEM_SAFARI_ZONE_SOUTH_EAST_BIG_PEARL 0x492 -#define FLAG_LANDMARK_FLOWER_SHOP (SYSTEM_FLAGS + 0x3C) -#define FLAG_LANDMARK_MR_BRINEY_HOUSE (SYSTEM_FLAGS + 0x3D) -#define FLAG_LANDMARK_ABANDONED_SHIP (SYSTEM_FLAGS + 0x3E) -#define FLAG_LANDMARK_SEASHORE_HOUSE (SYSTEM_FLAGS + 0x3F) -#define FLAG_LANDMARK_NEW_MAUVILLE (SYSTEM_FLAGS + 0x40) -#define FLAG_LANDMARK_OLD_LADY_REST_SHOP (SYSTEM_FLAGS + 0x41) -#define FLAG_LANDMARK_TRICK_HOUSE (SYSTEM_FLAGS + 0x42) -#define FLAG_LANDMARK_WINSTRATE_FAMILY (SYSTEM_FLAGS + 0x43) -#define FLAG_LANDMARK_GLASS_WORKSHOP (SYSTEM_FLAGS + 0x44) -#define FLAG_LANDMARK_LANETTES_HOUSE (SYSTEM_FLAGS + 0x45) -#define FLAG_LANDMARK_POKEMON_DAYCARE (SYSTEM_FLAGS + 0x46) -#define FLAG_LANDMARK_SEAFLOOR_CAVERN (SYSTEM_FLAGS + 0x47) -#define FLAG_LANDMARK_BATTLE_FRONTIER (SYSTEM_FLAGS + 0x48) -#define FLAG_LANDMARK_SOUTHERN_ISLAND (SYSTEM_FLAGS + 0x49) -#define FLAG_LANDMARK_FIERY_PATH (SYSTEM_FLAGS + 0x4A) +#define FLAG_UNUSED_0x493 0x493 // Unused Flag +#define FLAG_UNUSED_0x494 0x494 // Unused Flag +#define FLAG_UNUSED_0x495 0x495 // Unused Flag +#define FLAG_UNUSED_0x496 0x496 // Unused Flag +#define FLAG_UNUSED_0x497 0x497 // Unused Flag +#define FLAG_UNUSED_0x498 0x498 // Unused Flag +#define FLAG_UNUSED_0x499 0x499 // Unused Flag +#define FLAG_UNUSED_0x49A 0x49A // Unused Flag +#define FLAG_UNUSED_0x49B 0x49B // Unused Flag +#define FLAG_UNUSED_0x49C 0x49C // Unused Flag +#define FLAG_UNUSED_0x49D 0x49D // Unused Flag +#define FLAG_UNUSED_0x49E 0x49E // Unused Flag +#define FLAG_UNUSED_0x49F 0x49F // Unused Flag +#define FLAG_UNUSED_0x4A0 0x4A0 // Unused Flag +#define FLAG_UNUSED_0x4A1 0x4A1 // Unused Flag +#define FLAG_UNUSED_0x4A2 0x4A2 // Unused Flag +#define FLAG_UNUSED_0x4A3 0x4A3 // Unused Flag +#define FLAG_UNUSED_0x4A4 0x4A4 // Unused Flag +#define FLAG_UNUSED_0x4A5 0x4A5 // Unused Flag +#define FLAG_UNUSED_0x4A6 0x4A6 // Unused Flag +#define FLAG_UNUSED_0x4A7 0x4A7 // Unused Flag +#define FLAG_UNUSED_0x4A8 0x4A8 // Unused Flag +#define FLAG_UNUSED_0x4A9 0x4A9 // Unused Flag +#define FLAG_UNUSED_0x4AA 0x4AA // Unused Flag +#define FLAG_UNUSED_0x4AB 0x4AB // Unused Flag +#define FLAG_UNUSED_0x4AC 0x4AC // Unused Flag +#define FLAG_UNUSED_0x4AD 0x4AD // Unused Flag +#define FLAG_UNUSED_0x4AE 0x4AE // Unused Flag +#define FLAG_UNUSED_0x4AF 0x4AF // Unused Flag +#define FLAG_UNUSED_0x4B0 0x4B0 // Unused Flag +#define FLAG_UNUSED_0x4B1 0x4B1 // Unused Flag +#define FLAG_UNUSED_0x4B2 0x4B2 // Unused Flag +#define FLAG_UNUSED_0x4B3 0x4B3 // Unused Flag +#define FLAG_UNUSED_0x4B4 0x4B4 // Unused Flag +#define FLAG_UNUSED_0x4B5 0x4B5 // Unused Flag +#define FLAG_UNUSED_0x4B6 0x4B6 // Unused Flag +#define FLAG_UNUSED_0x4B7 0x4B7 // Unused Flag +#define FLAG_UNUSED_0x4B8 0x4B8 // Unused Flag +#define FLAG_UNUSED_0x4B9 0x4B9 // Unused Flag +#define FLAG_UNUSED_0x4BA 0x4BA // Unused Flag +#define FLAG_UNUSED_0x4BB 0x4BB // Unused Flag +#define FLAG_UNUSED_0x4BC 0x4BC // Unused Flag +#define FLAG_UNUSED_0x4BD 0x4BD // Unused Flag +#define FLAG_UNUSED_0x4BE 0x4BE // Unused Flag +#define FLAG_UNUSED_0x4BF 0x4BF // Unused Flag +#define FLAG_UNUSED_0x4C0 0x4C0 // Unused Flag +#define FLAG_UNUSED_0x4C1 0x4C1 // Unused Flag +#define FLAG_UNUSED_0x4C2 0x4C2 // Unused Flag +#define FLAG_UNUSED_0x4C3 0x4C3 // Unused Flag +#define FLAG_UNUSED_0x4C4 0x4C4 // Unused Flag +#define FLAG_UNUSED_0x4C5 0x4C5 // Unused Flag +#define FLAG_UNUSED_0x4C6 0x4C6 // Unused Flag +#define FLAG_UNUSED_0x4C7 0x4C7 // Unused Flag +#define FLAG_UNUSED_0x4C8 0x4C8 // Unused Flag +#define FLAG_UNUSED_0x4C9 0x4C9 // Unused Flag +#define FLAG_UNUSED_0x4CA 0x4CA // Unused Flag +#define FLAG_UNUSED_0x4CB 0x4CB // Unused Flag +#define FLAG_UNUSED_0x4CC 0x4CC // Unused Flag +#define FLAG_UNUSED_0x4CD 0x4CD // Unused Flag +#define FLAG_UNUSED_0x4CE 0x4CE // Unused Flag +#define FLAG_UNUSED_0x4CF 0x4CF // Unused Flag +#define FLAG_UNUSED_0x4D0 0x4D0 // Unused Flag +#define FLAG_UNUSED_0x4D1 0x4D1 // Unused Flag +#define FLAG_UNUSED_0x4D2 0x4D2 // Unused Flag +#define FLAG_UNUSED_0x4D3 0x4D3 // Unused Flag +#define FLAG_UNUSED_0x4D4 0x4D4 // Unused Flag +#define FLAG_UNUSED_0x4D5 0x4D5 // Unused Flag +#define FLAG_UNUSED_0x4D6 0x4D6 // Unused Flag +#define FLAG_UNUSED_0x4D7 0x4D7 // Unused Flag +#define FLAG_UNUSED_0x4D8 0x4D8 // Unused Flag +#define FLAG_UNUSED_0x4D9 0x4D9 // Unused Flag +#define FLAG_UNUSED_0x4DA 0x4DA // Unused Flag +#define FLAG_UNUSED_0x4DB 0x4DB // Unused Flag +#define FLAG_UNUSED_0x4DC 0x4DC // Unused Flag +#define FLAG_UNUSED_0x4DD 0x4DD // Unused Flag +#define FLAG_UNUSED_0x4DE 0x4DE // Unused Flag +#define FLAG_UNUSED_0x4DF 0x4DF // Unused Flag +#define FLAG_UNUSED_0x4E0 0x4E0 // Unused Flag +#define FLAG_UNUSED_0x4E1 0x4E1 // Unused Flag +#define FLAG_UNUSED_0x4E2 0x4E2 // Unused Flag +#define FLAG_UNUSED_0x4E3 0x4E3 // Unused Flag +#define FLAG_UNUSED_0x4E4 0x4E4 // Unused Flag +#define FLAG_UNUSED_0x4E5 0x4E5 // Unused Flag +#define FLAG_UNUSED_0x4E6 0x4E6 // Unused Flag +#define FLAG_UNUSED_0x4E7 0x4E7 // Unused Flag +#define FLAG_UNUSED_0x4E8 0x4E8 // Unused Flag +#define FLAG_UNUSED_0x4E9 0x4E9 // Unused Flag +#define FLAG_UNUSED_0x4EA 0x4EA // Unused Flag +#define FLAG_UNUSED_0x4EB 0x4EB // Unused Flag +#define FLAG_UNUSED_0x4EC 0x4EC // Unused Flag +#define FLAG_UNUSED_0x4ED 0x4ED // Unused Flag +#define FLAG_UNUSED_0x4EE 0x4EE // Unused Flag +#define FLAG_UNUSED_0x4EF 0x4EF // Unused Flag -#define FLAG_SYS_PC_LANETTE (SYSTEM_FLAGS + 0x4B) -#define FLAG_SYS_MYSTERY_EVENT_ENABLE (SYSTEM_FLAGS + 0x4C) -#define FLAG_SYS_ENC_UP_ITEM (SYSTEM_FLAGS + 0x4D) -#define FLAG_SYS_ENC_DOWN_ITEM (SYSTEM_FLAGS + 0x4E) -#define FLAG_SYS_BRAILLE_DIG (SYSTEM_FLAGS + 0x4F) -#define FLAG_SYS_BRAILLE_STRENGTH (SYSTEM_FLAGS + 0x50) -#define FLAG_SYS_BRAILLE_WAIT (SYSTEM_FLAGS + 0x51) -#define FLAG_SYS_BRAILLE_FLY (SYSTEM_FLAGS + 0x52) -#define FLAG_SYS_HAS_EON_TICKET (SYSTEM_FLAGS + 0x53) +#define FLAG_DEFEATED_RUSTBORO_GYM 0x4F0 +#define FLAG_DEFEATED_DEWFORD_GYM 0x4F1 +#define FLAG_DEFEATED_MAUVILLE_GYM 0x4F2 +#define FLAG_DEFEATED_LAVARIDGE_GYM 0x4F3 +#define FLAG_DEFEATED_PETALBURG_GYM 0x4F4 +#define FLAG_DEFEATED_FORTREE_GYM 0x4F5 +#define FLAG_DEFEATED_MOSSDEEP_GYM 0x4F6 +#define FLAG_DEFEATED_SOOTOPOLIS_GYM 0x4F7 +#define FLAG_DEFEATED_METEOR_FALLS_STEVEN 0x4F8 -#define FLAG_LANDMARK_POKEMON_LEAGUE (SYSTEM_FLAGS + 0x54) +#define FLAG_UNUSED_0x4F9 0x4F9 // Unused Flag +#define FLAG_UNUSED_0x4FA 0x4FA // Unused Flag -#define FLAG_LANDMARK_ISLAND_CAVE (SYSTEM_FLAGS + 0x55) -#define FLAG_LANDMARK_DESERT_RUINS (SYSTEM_FLAGS + 0x56) -#define FLAG_LANDMARK_FOSSIL_MANIACS_HOUSE (SYSTEM_FLAGS + 0x57) -#define FLAG_LANDMARK_SCORCHED_SLAB (SYSTEM_FLAGS + 0x58) -#define FLAG_LANDMARK_ANCIENT_TOMB (SYSTEM_FLAGS + 0x59) -#define FLAG_LANDMARK_TUNNELERS_REST_HOUSE (SYSTEM_FLAGS + 0x5A) -#define FLAG_LANDMARK_HUNTERS_HOUSE (SYSTEM_FLAGS + 0x5B) -#define FLAG_LANDMARK_SEALED_CHAMBER (SYSTEM_FLAGS + 0x5C) +#define FLAG_DEFEATED_ELITE_4_SYDNEY 0x4FB +#define FLAG_DEFEATED_ELITE_4_PHOEBE 0x4FC +#define FLAG_DEFEATED_ELITE_4_GLACIA 0x4FD +#define FLAG_DEFEATED_ELITE_4_DRAKE 0x4FE -#define FLAG_SYS_TV_LATI (SYSTEM_FLAGS + 0x5D) +#define FLAG_UNUSED_0x4FF 0x4FF // Unused Flag -#define FLAG_LANDMARK_SKY_PILLAR (SYSTEM_FLAGS + 0x5E) +#define FLAG_TRAINER_FLAG_START 0x500 +#define TRAINERS_FLAG_NO 0x356 -#define FLAG_SYS_SHOAL_ITEM (SYSTEM_FLAGS + 0x5F) -#define FLAG_SYS_B_DASH (SYSTEM_FLAGS + 0x60) // got Running Shoes -#define FLAG_SYS_CTRL_OBJ_DELETE (SYSTEM_FLAGS + 0x61) -#define FLAG_SYS_RESET_RTC_ENABLE (SYSTEM_FLAGS + 0x62) +#define SYSTEM_FLAGS (FLAG_TRAINER_FLAG_START + TRAINERS_FLAG_NO + 0xA) // 0x860 -#define FLAG_LANDMARK_BERRY_MASTERS_HOUSE (SYSTEM_FLAGS + 0x63) +// System Flags -#define FLAG_SYS_TOWER_SILVER (SYSTEM_FLAGS + 0x64) -#define FLAG_SYS_TOWER_GOLD (SYSTEM_FLAGS + 0x65) -#define FLAG_SYS_DOME_SILVER (SYSTEM_FLAGS + 0x66) -#define FLAG_SYS_DOME_GOLD (SYSTEM_FLAGS + 0x67) -#define FLAG_SYS_PALACE_SILVER (SYSTEM_FLAGS + 0x68) -#define FLAG_SYS_PALACE_GOLD (SYSTEM_FLAGS + 0x69) -#define FLAG_SYS_ARENA_SILVER (SYSTEM_FLAGS + 0x6A) -#define FLAG_SYS_ARENA_GOLD (SYSTEM_FLAGS + 0x6B) -#define FLAG_SYS_FACTORY_SILVER (SYSTEM_FLAGS + 0x6C) -#define FLAG_SYS_FACTORY_GOLD (SYSTEM_FLAGS + 0x6D) -#define FLAG_SYS_PIKE_SILVER (SYSTEM_FLAGS + 0x6E) -#define FLAG_SYS_PIKE_GOLD (SYSTEM_FLAGS + 0x6F) -#define FLAG_SYS_PYRAMID_SILVER (SYSTEM_FLAGS + 0x70) -#define FLAG_SYS_PYRAMID_GOLD (SYSTEM_FLAGS + 0x71) -#define FLAG_SYS_FRONTIER_PASS (SYSTEM_FLAGS + 0x72) +#define FLAG_SYS_POKEMON_GET (SYSTEM_FLAGS + 0) // FLAG_0x860 +#define FLAG_SYS_POKEDEX_GET (SYSTEM_FLAGS + 1) +#define FLAG_SYS_POKENAV_GET (SYSTEM_FLAGS + 2) +#define FLAG_SYS_GAME_CLEAR (SYSTEM_FLAGS + 4) +#define FLAG_SYS_CHAT_USED (SYSTEM_FLAGS + 5) +#define FLAG_SYS_HIPSTER_MEET (SYSTEM_FLAGS + 6) -#define FLAG_0x8D3 (SYSTEM_FLAGS + 0x73) -#define FLAG_0x8D4 (SYSTEM_FLAGS + 0x74) -#define FLAG_0x8D5 (SYSTEM_FLAGS + 0x75) -#define FLAG_0x8D6 (SYSTEM_FLAGS + 0x76) +// Badges +#define FLAG_BADGE01_GET (SYSTEM_FLAGS + 7) +#define FLAG_BADGE02_GET (SYSTEM_FLAGS + 8) +#define FLAG_BADGE03_GET (SYSTEM_FLAGS + 9) +#define FLAG_BADGE04_GET (SYSTEM_FLAGS + 0xA) +#define FLAG_BADGE05_GET (SYSTEM_FLAGS + 0xB) +#define FLAG_BADGE06_GET (SYSTEM_FLAGS + 0xC) +#define FLAG_BADGE07_GET (SYSTEM_FLAGS + 0xD) +#define FLAG_BADGE08_GET (SYSTEM_FLAGS + 0xE) -#define FLAG_SYS_STORAGE_UNKNOWN_FLAG (SYSTEM_FLAGS + 0x77) +// Towns and Cities +#define FLAG_VISITED_LITTLEROOT_TOWN (SYSTEM_FLAGS + 0xF) +#define FLAG_VISITED_OLDALE_TOWN (SYSTEM_FLAGS + 0x10) +#define FLAG_VISITED_DEWFORD_TOWN (SYSTEM_FLAGS + 0x11) +#define FLAG_VISITED_LAVARIDGE_TOWN (SYSTEM_FLAGS + 0x12) +#define FLAG_VISITED_FALLARBOR_TOWN (SYSTEM_FLAGS + 0x13) +#define FLAG_VISITED_VERDANTURF_TOWN (SYSTEM_FLAGS + 0x14) +#define FLAG_VISITED_PACIFIDLOG_TOWN (SYSTEM_FLAGS + 0x15) +#define FLAG_VISITED_PETALBURG_CITY (SYSTEM_FLAGS + 0x16) +#define FLAG_VISITED_SLATEPORT_CITY (SYSTEM_FLAGS + 0x17) +#define FLAG_VISITED_MAUVILLE_CITY (SYSTEM_FLAGS + 0x18) +#define FLAG_VISITED_RUSTBORO_CITY (SYSTEM_FLAGS + 0x19) +#define FLAG_VISITED_FORTREE_CITY (SYSTEM_FLAGS + 0x1A) +#define FLAG_VISITED_LILYCOVE_CITY (SYSTEM_FLAGS + 0x1B) +#define FLAG_VISITED_MOSSDEEP_CITY (SYSTEM_FLAGS + 0x1C) +#define FLAG_VISITED_SOOTOPOLIS_CITY (SYSTEM_FLAGS + 0x1D) +#define FLAG_VISITED_EVER_GRANDE_CITY (SYSTEM_FLAGS + 0x1E) -#define FLAG_0x8D8 (SYSTEM_FLAGS + 0x78) -#define FLAG_0x8D9 (SYSTEM_FLAGS + 0x79) -#define FLAG_0x8DA (SYSTEM_FLAGS + 0x7A) +#define FLAG_IS_CHAMPION (SYSTEM_FLAGS + 0x1F) // Seems to be related to linking. +#define FLAG_NURSE_UNION_ROOM_REMINDER (SYSTEM_FLAGS + 0x20) -#define FLAG_SYS_MYSTERY_GIFT_ENABLE (SYSTEM_FLAGS + 0x7B) +#define FLAG_UNUSED_0x881 (SYSTEM_FLAGS + 0x21) // Unused Flag +#define FLAG_UNUSED_0x882 (SYSTEM_FLAGS + 0x22) // Unused Flag +#define FLAG_UNUSED_0x883 (SYSTEM_FLAGS + 0x23) // Unused Flag +#define FLAG_UNUSED_0x884 (SYSTEM_FLAGS + 0x24) // Unused Flag +#define FLAG_UNUSED_0x885 (SYSTEM_FLAGS + 0x25) // Unused Flag +#define FLAG_UNUSED_0x886 (SYSTEM_FLAGS + 0x26) // Unused Flag +#define FLAG_UNUSED_0x887 (SYSTEM_FLAGS + 0x27) // Unused Flag -#define FLAG_0x8DC (SYSTEM_FLAGS + 0x7C) -#define FLAG_LANDMARK_ALTERING_CAVE (SYSTEM_FLAGS + 0x7D) -#define FLAG_LANDMARK_DESERT_UNDERPASS (SYSTEM_FLAGS + 0x7E) -#define FLAG_0x8DF (SYSTEM_FLAGS + 0x7F) -#define FLAG_0x8E0 (SYSTEM_FLAGS + 0x80) -#define FLAG_0x8E1 (SYSTEM_FLAGS + 0x81) -#define FLAG_LANDMARK_TRAINER_HILL (SYSTEM_FLAGS + 0x82) +#define FLAG_SYS_USE_FLASH (SYSTEM_FLAGS + 0x28) +#define FLAG_SYS_USE_STRENGTH (SYSTEM_FLAGS + 0x29) +#define FLAG_SYS_WEATHER_CTRL (SYSTEM_FLAGS + 0x2A) +#define FLAG_SYS_CYCLING_ROAD (SYSTEM_FLAGS + 0x2B) +#define FLAG_SYS_SAFARI_MODE (SYSTEM_FLAGS + 0x2C) +#define FLAG_SYS_CRUISE_MODE (SYSTEM_FLAGS + 0x2D) -#define FLAG_0x8E3 (SYSTEM_FLAGS + 0x83) -#define FLAG_0x8E4 (SYSTEM_FLAGS + 0x84) -#define FLAG_0x8E5 (SYSTEM_FLAGS + 0x85) -#define FLAG_0x8E6 (SYSTEM_FLAGS + 0x86) -#define FLAG_0x8E7 (SYSTEM_FLAGS + 0x87) -#define FLAG_0x8E8 (SYSTEM_FLAGS + 0x88) -#define FLAG_0x8E9 (SYSTEM_FLAGS + 0x89) -#define FLAG_0x8EA (SYSTEM_FLAGS + 0x8A) -#define FLAG_0x8EB (SYSTEM_FLAGS + 0x8B) -#define FLAG_0x8EC (SYSTEM_FLAGS + 0x8C) -#define FLAG_0x8ED (SYSTEM_FLAGS + 0x8D) -#define FLAG_0x8EE (SYSTEM_FLAGS + 0x8E) -#define FLAG_0x8EF (SYSTEM_FLAGS + 0x8F) -#define FLAG_0x8F0 (SYSTEM_FLAGS + 0x90) -#define FLAG_0x8F1 (SYSTEM_FLAGS + 0x91) -#define FLAG_0x8F2 (SYSTEM_FLAGS + 0x92) -#define FLAG_0x8F3 (SYSTEM_FLAGS + 0x93) -#define FLAG_0x8F4 (SYSTEM_FLAGS + 0x94) -#define FLAG_0x8F5 (SYSTEM_FLAGS + 0x95) -#define FLAG_0x8F6 (SYSTEM_FLAGS + 0x96) -#define FLAG_0x8F7 (SYSTEM_FLAGS + 0x97) -#define FLAG_0x8F8 (SYSTEM_FLAGS + 0x98) -#define FLAG_0x8F9 (SYSTEM_FLAGS + 0x99) -#define FLAG_0x8FA (SYSTEM_FLAGS + 0x9A) -#define FLAG_0x8FB (SYSTEM_FLAGS + 0x9B) -#define FLAG_0x8FC (SYSTEM_FLAGS + 0x9C) -#define FLAG_0x8FD (SYSTEM_FLAGS + 0x9D) -#define FLAG_0x8FE (SYSTEM_FLAGS + 0x9E) -#define FLAG_0x8FF (SYSTEM_FLAGS + 0x9F) -#define FLAG_0x900 (SYSTEM_FLAGS + 0xA0) -#define FLAG_0x901 (SYSTEM_FLAGS + 0xA1) -#define FLAG_0x902 (SYSTEM_FLAGS + 0xA2) -#define FLAG_0x903 (SYSTEM_FLAGS + 0xA3) -#define FLAG_0x904 (SYSTEM_FLAGS + 0xA4) -#define FLAG_0x905 (SYSTEM_FLAGS + 0xA5) -#define FLAG_0x906 (SYSTEM_FLAGS + 0xA6) -#define FLAG_0x907 (SYSTEM_FLAGS + 0xA7) -#define FLAG_0x908 (SYSTEM_FLAGS + 0xA8) -#define FLAG_0x909 (SYSTEM_FLAGS + 0xA9) -#define FLAG_0x90A (SYSTEM_FLAGS + 0xAA) -#define FLAG_0x90B (SYSTEM_FLAGS + 0xAB) -#define FLAG_0x90C (SYSTEM_FLAGS + 0xAC) -#define FLAG_0x90D (SYSTEM_FLAGS + 0xAD) -#define FLAG_0x90E (SYSTEM_FLAGS + 0xAE) -#define FLAG_0x90F (SYSTEM_FLAGS + 0xAF) -#define FLAG_0x910 (SYSTEM_FLAGS + 0xB0) -#define FLAG_0x911 (SYSTEM_FLAGS + 0xB1) -#define FLAG_0x912 (SYSTEM_FLAGS + 0xB2) -#define FLAG_0x913 (SYSTEM_FLAGS + 0xB3) -#define FLAG_0x914 (SYSTEM_FLAGS + 0xB4) -#define FLAG_0x915 (SYSTEM_FLAGS + 0xB5) -#define FLAG_0x916 (SYSTEM_FLAGS + 0xB6) -#define FLAG_0x917 (SYSTEM_FLAGS + 0xB7) -#define FLAG_0x918 (SYSTEM_FLAGS + 0xB8) -#define FLAG_0x919 (SYSTEM_FLAGS + 0xB9) -#define FLAG_0x91A (SYSTEM_FLAGS + 0xBA) -#define FLAG_0x91B (SYSTEM_FLAGS + 0xBB) -#define FLAG_0x91C (SYSTEM_FLAGS + 0xBC) -#define FLAG_0x91D (SYSTEM_FLAGS + 0xBD) -#define FLAG_0x91E (SYSTEM_FLAGS + 0xBE) -#define FLAG_0x91F (SYSTEM_FLAGS + 0xBF) -#define FLAG_0x920 (SYSTEM_FLAGS + 0xC0) -#define FLAG_0x921 (SYSTEM_FLAGS + 0xC1) -#define FLAG_0x922 (SYSTEM_FLAGS + 0xC2) -#define FLAG_0x923 (SYSTEM_FLAGS + 0xC3) -#define FLAG_0x924 (SYSTEM_FLAGS + 0xC4) -#define FLAG_0x925 (SYSTEM_FLAGS + 0xC5) -#define FLAG_0x926 (SYSTEM_FLAGS + 0xC6) -#define FLAG_0x927 (SYSTEM_FLAGS + 0xC7) -#define FLAG_0x928 (SYSTEM_FLAGS + 0xC8) -#define FLAG_0x929 (SYSTEM_FLAGS + 0xC9) -#define FLAG_0x92A (SYSTEM_FLAGS + 0xCA) -#define FLAG_0x92B (SYSTEM_FLAGS + 0xCB) -#define FLAG_0x92C (SYSTEM_FLAGS + 0xCC) -#define FLAG_0x92D (SYSTEM_FLAGS + 0xCD) -#define FLAG_0x92E (SYSTEM_FLAGS + 0xCE) -#define FLAG_0x92F (SYSTEM_FLAGS + 0xCF) -#define FLAG_0x930 (SYSTEM_FLAGS + 0xD0) -#define FLAG_0x931 (SYSTEM_FLAGS + 0xD1) -#define FLAG_0x932 (SYSTEM_FLAGS + 0xD2) -#define FLAG_0x933 (SYSTEM_FLAGS + 0xD3) -#define FLAG_0x934 (SYSTEM_FLAGS + 0xD4) -#define FLAG_0x935 (SYSTEM_FLAGS + 0xD5) -#define FLAG_0x936 (SYSTEM_FLAGS + 0xD6) -#define FLAG_0x937 (SYSTEM_FLAGS + 0xD7) -#define FLAG_0x938 (SYSTEM_FLAGS + 0xD8) -#define FLAG_0x939 (SYSTEM_FLAGS + 0xD9) -#define FLAG_0x93A (SYSTEM_FLAGS + 0xDA) -#define FLAG_0x93B (SYSTEM_FLAGS + 0xDB) -#define FLAG_0x93C (SYSTEM_FLAGS + 0xDC) -#define FLAG_0x93D (SYSTEM_FLAGS + 0xDD) -#define FLAG_0x93E (SYSTEM_FLAGS + 0xDE) -#define FLAG_0x93F (SYSTEM_FLAGS + 0xDF) -#define FLAG_0x940 (SYSTEM_FLAGS + 0xE0) -#define FLAG_0x941 (SYSTEM_FLAGS + 0xE1) -#define FLAG_0x942 (SYSTEM_FLAGS + 0xE2) -#define FLAG_0x943 (SYSTEM_FLAGS + 0xE3) -#define FLAG_0x944 (SYSTEM_FLAGS + 0xE4) -#define FLAG_0x945 (SYSTEM_FLAGS + 0xE5) -#define FLAG_0x946 (SYSTEM_FLAGS + 0xE6) -#define FLAG_0x947 (SYSTEM_FLAGS + 0xE7) -#define FLAG_0x948 (SYSTEM_FLAGS + 0xE8) -#define FLAG_0x949 (SYSTEM_FLAGS + 0xE9) -#define FLAG_0x94A (SYSTEM_FLAGS + 0xEA) -#define FLAG_0x94B (SYSTEM_FLAGS + 0xEB) -#define FLAG_0x94C (SYSTEM_FLAGS + 0xEC) -#define FLAG_0x94D (SYSTEM_FLAGS + 0xED) -#define FLAG_0x94E (SYSTEM_FLAGS + 0xEE) -#define FLAG_0x94F (SYSTEM_FLAGS + 0xEF) -#define FLAG_0x950 (SYSTEM_FLAGS + 0xF0) -#define FLAG_0x951 (SYSTEM_FLAGS + 0xF1) -#define FLAG_0x952 (SYSTEM_FLAGS + 0xF2) -#define FLAG_0x953 (SYSTEM_FLAGS + 0xF3) -#define FLAG_0x954 (SYSTEM_FLAGS + 0xF4) -#define FLAG_0x955 (SYSTEM_FLAGS + 0xF5) -#define FLAG_0x956 (SYSTEM_FLAGS + 0xF6) -#define FLAG_0x957 (SYSTEM_FLAGS + 0xF7) -#define FLAG_0x958 (SYSTEM_FLAGS + 0xF8) -#define FLAG_0x959 (SYSTEM_FLAGS + 0xF9) -#define FLAG_0x95A (SYSTEM_FLAGS + 0xFA) -#define FLAG_0x95B (SYSTEM_FLAGS + 0xFB) -#define FLAG_0x95C (SYSTEM_FLAGS + 0xFC) -#define FLAG_0x95D (SYSTEM_FLAGS + 0xFD) -#define FLAG_0x95E (SYSTEM_FLAGS + 0xFE) -#define FLAG_0x95F (SYSTEM_FLAGS + 0xFF) +#define FLAG_UNUSED_0x88E (SYSTEM_FLAGS + 0x2E) // Unused Flag +#define FLAG_UNUSED_0x88F (SYSTEM_FLAGS + 0x2F) // Unused Flag -#define SPECIAL_FLAGS_START 0x4000 -// SPECIAL FLAGS (unknown purpose) -#define FLAG_SPECIAL_FLAG_0x4000 0x4000 -#define FLAG_SPECIAL_FLAG_0x4001 0x4001 -#define FLAG_SPECIAL_FLAG_0x4002 0x4002 -#define FLAG_SPECIAL_FLAG_0x4003 0x4003 -#define FLAG_SPECIAL_FLAG_0x4004 0x4004 +#define FLAG_SYS_TV_HOME (SYSTEM_FLAGS + 0x30) +#define FLAG_SYS_TV_WATCH (SYSTEM_FLAGS + 0x31) +#define FLAG_SYS_TV_START (SYSTEM_FLAGS + 0x32) +#define FLAG_SYS_POPWORD_INPUT (SYSTEM_FLAGS + 0x33) +#define FLAG_SYS_MIX_RECORD (SYSTEM_FLAGS + 0x34) +#define FLAG_SYS_CLOCK_SET (SYSTEM_FLAGS + 0x35) +#define FLAG_SYS_NATIONAL_DEX (SYSTEM_FLAGS + 0x36) +#define FLAG_SYS_UNUSED_CAVE_SHIP (SYSTEM_FLAGS + 0x37) // Unused Flag? +#define FLAG_SYS_UNUSED_CAVE_WONDER (SYSTEM_FLAGS + 0x38) // Unused Flag? +#define FLAG_SYS_UNUSED_CAVE_BATTLE (SYSTEM_FLAGS + 0x39) // Unused Flag? +#define FLAG_SYS_SHOAL_TIDE (SYSTEM_FLAGS + 0x3A) +#define FLAG_SYS_RIBBON_GET (SYSTEM_FLAGS + 0x3B) + +#define FLAG_LANDMARK_FLOWER_SHOP (SYSTEM_FLAGS + 0x3C) +#define FLAG_LANDMARK_MR_BRINEY_HOUSE (SYSTEM_FLAGS + 0x3D) +#define FLAG_LANDMARK_ABANDONED_SHIP (SYSTEM_FLAGS + 0x3E) +#define FLAG_LANDMARK_SEASHORE_HOUSE (SYSTEM_FLAGS + 0x3F) +#define FLAG_LANDMARK_NEW_MAUVILLE (SYSTEM_FLAGS + 0x40) +#define FLAG_LANDMARK_OLD_LADY_REST_SHOP (SYSTEM_FLAGS + 0x41) +#define FLAG_LANDMARK_TRICK_HOUSE (SYSTEM_FLAGS + 0x42) +#define FLAG_LANDMARK_WINSTRATE_FAMILY (SYSTEM_FLAGS + 0x43) +#define FLAG_LANDMARK_GLASS_WORKSHOP (SYSTEM_FLAGS + 0x44) +#define FLAG_LANDMARK_LANETTES_HOUSE (SYSTEM_FLAGS + 0x45) +#define FLAG_LANDMARK_POKEMON_DAYCARE (SYSTEM_FLAGS + 0x46) +#define FLAG_LANDMARK_SEAFLOOR_CAVERN (SYSTEM_FLAGS + 0x47) +#define FLAG_LANDMARK_BATTLE_FRONTIER (SYSTEM_FLAGS + 0x48) +#define FLAG_LANDMARK_SOUTHERN_ISLAND (SYSTEM_FLAGS + 0x49) +#define FLAG_LANDMARK_FIERY_PATH (SYSTEM_FLAGS + 0x4A) + +#define FLAG_SYS_PC_LANETTE (SYSTEM_FLAGS + 0x4B) +#define FLAG_SYS_MYSTERY_EVENT_ENABLE (SYSTEM_FLAGS + 0x4C) +#define FLAG_SYS_ENC_UP_ITEM (SYSTEM_FLAGS + 0x4D) +#define FLAG_SYS_ENC_DOWN_ITEM (SYSTEM_FLAGS + 0x4E) +#define FLAG_SYS_BRAILLE_DIG (SYSTEM_FLAGS + 0x4F) +#define FLAG_SYS_BRAILLE_STRENGTH (SYSTEM_FLAGS + 0x50) +#define FLAG_SYS_BRAILLE_WAIT (SYSTEM_FLAGS + 0x51) +#define FLAG_SYS_BRAILLE_FLY (SYSTEM_FLAGS + 0x52) +#define FLAG_SYS_HAS_EON_TICKET (SYSTEM_FLAGS + 0x53) + +#define FLAG_LANDMARK_POKEMON_LEAGUE (SYSTEM_FLAGS + 0x54) + +#define FLAG_LANDMARK_ISLAND_CAVE (SYSTEM_FLAGS + 0x55) +#define FLAG_LANDMARK_DESERT_RUINS (SYSTEM_FLAGS + 0x56) +#define FLAG_LANDMARK_FOSSIL_MANIACS_HOUSE (SYSTEM_FLAGS + 0x57) +#define FLAG_LANDMARK_SCORCHED_SLAB (SYSTEM_FLAGS + 0x58) +#define FLAG_LANDMARK_ANCIENT_TOMB (SYSTEM_FLAGS + 0x59) +#define FLAG_LANDMARK_TUNNELERS_REST_HOUSE (SYSTEM_FLAGS + 0x5A) +#define FLAG_LANDMARK_HUNTERS_HOUSE (SYSTEM_FLAGS + 0x5B) +#define FLAG_LANDMARK_SEALED_CHAMBER (SYSTEM_FLAGS + 0x5C) + +#define FLAG_SYS_TV_LATIAS_LATIOS (SYSTEM_FLAGS + 0x5D) + +#define FLAG_LANDMARK_SKY_PILLAR (SYSTEM_FLAGS + 0x5E) + +#define FLAG_SYS_SHOAL_ITEM (SYSTEM_FLAGS + 0x5F) +#define FLAG_SYS_B_DASH (SYSTEM_FLAGS + 0x60) // RECEIVED Running Shoes +#define FLAG_SYS_CTRL_OBJ_DELETE (SYSTEM_FLAGS + 0x61) +#define FLAG_SYS_RESET_RTC_ENABLE (SYSTEM_FLAGS + 0x62) + +#define FLAG_LANDMARK_BERRY_MASTERS_HOUSE (SYSTEM_FLAGS + 0x63) + +#define FLAG_SYS_TOWER_SILVER (SYSTEM_FLAGS + 0x64) +#define FLAG_SYS_TOWER_GOLD (SYSTEM_FLAGS + 0x65) +#define FLAG_SYS_DOME_SILVER (SYSTEM_FLAGS + 0x66) +#define FLAG_SYS_DOME_GOLD (SYSTEM_FLAGS + 0x67) +#define FLAG_SYS_PALACE_SILVER (SYSTEM_FLAGS + 0x68) +#define FLAG_SYS_PALACE_GOLD (SYSTEM_FLAGS + 0x69) +#define FLAG_SYS_ARENA_SILVER (SYSTEM_FLAGS + 0x6A) +#define FLAG_SYS_ARENA_GOLD (SYSTEM_FLAGS + 0x6B) +#define FLAG_SYS_FACTORY_SILVER (SYSTEM_FLAGS + 0x6C) +#define FLAG_SYS_FACTORY_GOLD (SYSTEM_FLAGS + 0x6D) +#define FLAG_SYS_PIKE_SILVER (SYSTEM_FLAGS + 0x6E) +#define FLAG_SYS_PIKE_GOLD (SYSTEM_FLAGS + 0x6F) +#define FLAG_SYS_PYRAMID_SILVER (SYSTEM_FLAGS + 0x70) +#define FLAG_SYS_PYRAMID_GOLD (SYSTEM_FLAGS + 0x71) +#define FLAG_SYS_FRONTIER_PASS (SYSTEM_FLAGS + 0x72) + +#define FLAG_MAP_SCRIPT_CHECKED_DEOXYS (SYSTEM_FLAGS + 0x73) +#define FLAG_DEOXYS_ROCK_COMPLETE (SYSTEM_FLAGS + 0x74) +#define FLAG_ENABLE_SHIP_BIRTH_ISLAND (SYSTEM_FLAGS + 0x75) +#define FLAG_ENABLE_SHIP_FARAWAY_ISLAND (SYSTEM_FLAGS + 0x76) + +#define FLAG_SYS_STORAGE_UNKNOWN_FLAG (SYSTEM_FLAGS + 0x77) + +#define FLAG_ARRIVED_ON_FARAWAY_ISLAND (SYSTEM_FLAGS + 0x78) +#define FLAG_ARRIVED_AT_MARINE_CAVE_EMERGE_SPOT (SYSTEM_FLAGS + 0x79) +#define FLAG_ARRIVED_AT_TERRA_CAVE_ENTRANCE (SYSTEM_FLAGS + 0x7A) + +#define FLAG_SYS_MYSTERY_GIFT_ENABLE (SYSTEM_FLAGS + 0x7B) + +#define FLAG_ENTERED_MIRAGE_TOWER (SYSTEM_FLAGS + 0x7C) +#define FLAG_LANDMARK_ALTERING_CAVE (SYSTEM_FLAGS + 0x7D) +#define FLAG_LANDMARK_DESERT_UNDERPASS (SYSTEM_FLAGS + 0x7E) +#define FLAG_LANDMARK_ARTISAN_CAVE (SYSTEM_FLAGS + 0x7F) +#define FLAG_ENABLE_SHIP_NAVEL_ROCK (SYSTEM_FLAGS + 0x80) +#define FLAG_ARRIVED_AT_NAVEL_ROCK (SYSTEM_FLAGS + 0x81) +#define FLAG_LANDMARK_TRAINER_HILL (SYSTEM_FLAGS + 0x82) + +#define FLAG_UNUSED_0x8E3 (SYSTEM_FLAGS + 0x83) // Unused Flag + +#define FLAG_RECEIVED_POKEDEX_FROM_BIRCH (SYSTEM_FLAGS + 0x84) + +#define FLAG_UNUSED_0x8E5 (SYSTEM_FLAGS + 0x85) // Unused Flag +#define FLAG_UNUSED_0x8E6 (SYSTEM_FLAGS + 0x86) // Unused Flag +#define FLAG_UNUSED_0x8E7 (SYSTEM_FLAGS + 0x87) // Unused Flag +#define FLAG_UNUSED_0x8E8 (SYSTEM_FLAGS + 0x88) // Unused Flag +#define FLAG_UNUSED_0x8E9 (SYSTEM_FLAGS + 0x89) // Unused Flag +#define FLAG_UNUSED_0x8EA (SYSTEM_FLAGS + 0x8A) // Unused Flag +#define FLAG_UNUSED_0x8EB (SYSTEM_FLAGS + 0x8B) // Unused Flag +#define FLAG_UNUSED_0x8EC (SYSTEM_FLAGS + 0x8C) // Unused Flag +#define FLAG_UNUSED_0x8ED (SYSTEM_FLAGS + 0x8D) // Unused Flag +#define FLAG_UNUSED_0x8EE (SYSTEM_FLAGS + 0x8E) // Unused Flag +#define FLAG_UNUSED_0x8EF (SYSTEM_FLAGS + 0x8F) // Unused Flag +#define FLAG_UNUSED_0x8F0 (SYSTEM_FLAGS + 0x90) // Unused Flag +#define FLAG_UNUSED_0x8F1 (SYSTEM_FLAGS + 0x91) // Unused Flag +#define FLAG_UNUSED_0x8F2 (SYSTEM_FLAGS + 0x92) // Unused Flag +#define FLAG_UNUSED_0x8F3 (SYSTEM_FLAGS + 0x93) // Unused Flag +#define FLAG_UNUSED_0x8F4 (SYSTEM_FLAGS + 0x94) // Unused Flag +#define FLAG_UNUSED_0x8F5 (SYSTEM_FLAGS + 0x95) // Unused Flag +#define FLAG_UNUSED_0x8F6 (SYSTEM_FLAGS + 0x96) // Unused Flag +#define FLAG_UNUSED_0x8F7 (SYSTEM_FLAGS + 0x97) // Unused Flag +#define FLAG_UNUSED_0x8F8 (SYSTEM_FLAGS + 0x98) // Unused Flag +#define FLAG_UNUSED_0x8F9 (SYSTEM_FLAGS + 0x99) // Unused Flag +#define FLAG_UNUSED_0x8FA (SYSTEM_FLAGS + 0x9A) // Unused Flag +#define FLAG_UNUSED_0x8FB (SYSTEM_FLAGS + 0x9B) // Unused Flag +#define FLAG_UNUSED_0x8FC (SYSTEM_FLAGS + 0x9C) // Unused Flag +#define FLAG_UNUSED_0x8FD (SYSTEM_FLAGS + 0x9D) // Unused Flag +#define FLAG_UNUSED_0x8FE (SYSTEM_FLAGS + 0x9E) // Unused Flag +#define FLAG_UNUSED_0x8FF (SYSTEM_FLAGS + 0x9F) // Unused Flag +#define FLAG_UNUSED_0x900 (SYSTEM_FLAGS + 0xA0) // Unused Flag +#define FLAG_UNUSED_0x901 (SYSTEM_FLAGS + 0xA1) // Unused Flag +#define FLAG_UNUSED_0x902 (SYSTEM_FLAGS + 0xA2) // Unused Flag +#define FLAG_UNUSED_0x903 (SYSTEM_FLAGS + 0xA3) // Unused Flag +#define FLAG_UNUSED_0x904 (SYSTEM_FLAGS + 0xA4) // Unused Flag +#define FLAG_UNUSED_0x905 (SYSTEM_FLAGS + 0xA5) // Unused Flag +#define FLAG_UNUSED_0x906 (SYSTEM_FLAGS + 0xA6) // Unused Flag +#define FLAG_UNUSED_0x907 (SYSTEM_FLAGS + 0xA7) // Unused Flag +#define FLAG_UNUSED_0x908 (SYSTEM_FLAGS + 0xA8) // Unused Flag +#define FLAG_UNUSED_0x909 (SYSTEM_FLAGS + 0xA9) // Unused Flag +#define FLAG_UNUSED_0x90A (SYSTEM_FLAGS + 0xAA) // Unused Flag +#define FLAG_UNUSED_0x90B (SYSTEM_FLAGS + 0xAB) // Unused Flag +#define FLAG_UNUSED_0x90C (SYSTEM_FLAGS + 0xAC) // Unused Flag +#define FLAG_UNUSED_0x90D (SYSTEM_FLAGS + 0xAD) // Unused Flag +#define FLAG_UNUSED_0x90E (SYSTEM_FLAGS + 0xAE) // Unused Flag +#define FLAG_UNUSED_0x90F (SYSTEM_FLAGS + 0xAF) // Unused Flag +#define FLAG_UNUSED_0x910 (SYSTEM_FLAGS + 0xB0) // Unused Flag +#define FLAG_UNUSED_0x911 (SYSTEM_FLAGS + 0xB1) // Unused Flag +#define FLAG_UNUSED_0x912 (SYSTEM_FLAGS + 0xB2) // Unused Flag +#define FLAG_UNUSED_0x913 (SYSTEM_FLAGS + 0xB3) // Unused Flag +#define FLAG_UNUSED_0x914 (SYSTEM_FLAGS + 0xB4) // Unused Flag +#define FLAG_UNUSED_0x915 (SYSTEM_FLAGS + 0xB5) // Unused Flag +#define FLAG_UNUSED_0x916 (SYSTEM_FLAGS + 0xB6) // Unused Flag +#define FLAG_UNUSED_0x917 (SYSTEM_FLAGS + 0xB7) // Unused Flag +#define FLAG_UNUSED_0x918 (SYSTEM_FLAGS + 0xB8) // Unused Flag +#define FLAG_UNUSED_0x919 (SYSTEM_FLAGS + 0xB9) // Unused Flag +#define FLAG_UNUSED_0x91A (SYSTEM_FLAGS + 0xBA) // Unused Flag +#define FLAG_UNUSED_0x91B (SYSTEM_FLAGS + 0xBB) // Unused Flag +#define FLAG_UNUSED_0x91C (SYSTEM_FLAGS + 0xBC) // Unused Flag +#define FLAG_UNUSED_0x91D (SYSTEM_FLAGS + 0xBD) // Unused Flag +#define FLAG_UNUSED_0x91E (SYSTEM_FLAGS + 0xBE) // Unused Flag +#define FLAG_UNUSED_0x91F (SYSTEM_FLAGS + 0xBF) // Unused Flag + +// Daily Flags +#define FLAG_DAILY_0x920 (SYSTEM_FLAGS + 0xC0) +#define FLAG_DAILY_CONTEST_LOBBY_RECEIVED_BERRY (SYSTEM_FLAGS + 0xC1) +#define FLAG_DAILY_SECRET_BASE (SYSTEM_FLAGS + 0xC2) +#define FLAG_DAILY_0x923 (SYSTEM_FLAGS + 0xC3) +#define FLAG_DAILY_0x924 (SYSTEM_FLAGS + 0xC4) +#define FLAG_DAILY_0x925 (SYSTEM_FLAGS + 0xC5) +#define FLAG_DAILY_0x926 (SYSTEM_FLAGS + 0xC6) +#define FLAG_DAILY_0x927 (SYSTEM_FLAGS + 0xC7) +#define FLAG_DAILY_0x928 (SYSTEM_FLAGS + 0xC8) +#define FLAG_DAILY_0x929 (SYSTEM_FLAGS + 0xC9) +#define FLAG_DAILY_PICKED_LOTO_TICKET (SYSTEM_FLAGS + 0xCA) +#define FLAG_DAILY_ROUTE_114_RECEIVED_BERRY (SYSTEM_FLAGS + 0xCB) +#define FLAG_DAILY_ROUTE_111_RECEIVED_BERRY (SYSTEM_FLAGS + 0xCC) +#define FLAG_DAILY_BERRY_MASTER_RECEIVED_BERRY (SYSTEM_FLAGS + 0xCD) +#define FLAG_DAILY_ROUTE_120_RECEIVED_BERRY (SYSTEM_FLAGS + 0xCE) +#define FLAG_DAILY_LILYCOVE_RECEIVED_BERRY (SYSTEM_FLAGS + 0xCF) +#define FLAG_DAILY_FLOWER_SHOP_RECEIVED_BERRY (SYSTEM_FLAGS + 0xD0) +#define FLAG_DAILY_BERRY_MASTERS_WIFE (SYSTEM_FLAGS + 0xD1) +#define FLAG_DAILY_SOOTOPOLIS_RECEIVED_BERRY (SYSTEM_FLAGS + 0xD2) +#define FLAG_DAILY_0x933 (SYSTEM_FLAGS + 0xD3) +#define FLAG_DAILY_APPRENTICE_LEAVES (SYSTEM_FLAGS + 0xD4) +#define FLAG_0x935 (SYSTEM_FLAGS + 0xD5) +#define FLAG_0x936 (SYSTEM_FLAGS + 0xD6) +#define FLAG_0x937 (SYSTEM_FLAGS + 0xD7) +#define FLAG_0x938 (SYSTEM_FLAGS + 0xD8) +#define FLAG_0x939 (SYSTEM_FLAGS + 0xD9) +#define FLAG_0x93A (SYSTEM_FLAGS + 0xDA) +#define FLAG_0x93B (SYSTEM_FLAGS + 0xDB) +#define FLAG_0x93C (SYSTEM_FLAGS + 0xDC) +#define FLAG_0x93D (SYSTEM_FLAGS + 0xDD) +#define FLAG_0x93E (SYSTEM_FLAGS + 0xDE) +#define FLAG_0x93F (SYSTEM_FLAGS + 0xDF) +#define FLAG_0x940 (SYSTEM_FLAGS + 0xE0) +#define FLAG_0x941 (SYSTEM_FLAGS + 0xE1) +#define FLAG_0x942 (SYSTEM_FLAGS + 0xE2) +#define FLAG_0x943 (SYSTEM_FLAGS + 0xE3) +#define FLAG_0x944 (SYSTEM_FLAGS + 0xE4) +#define FLAG_0x945 (SYSTEM_FLAGS + 0xE5) +#define FLAG_0x946 (SYSTEM_FLAGS + 0xE6) +#define FLAG_0x947 (SYSTEM_FLAGS + 0xE7) +#define FLAG_0x948 (SYSTEM_FLAGS + 0xE8) +#define FLAG_0x949 (SYSTEM_FLAGS + 0xE9) +#define FLAG_0x94A (SYSTEM_FLAGS + 0xEA) +#define FLAG_0x94B (SYSTEM_FLAGS + 0xEB) +#define FLAG_0x94C (SYSTEM_FLAGS + 0xEC) +#define FLAG_0x94D (SYSTEM_FLAGS + 0xED) +#define FLAG_0x94E (SYSTEM_FLAGS + 0xEE) +#define FLAG_0x94F (SYSTEM_FLAGS + 0xEF) +#define FLAG_0x950 (SYSTEM_FLAGS + 0xF0) +#define FLAG_0x951 (SYSTEM_FLAGS + 0xF1) +#define FLAG_0x952 (SYSTEM_FLAGS + 0xF2) +#define FLAG_0x953 (SYSTEM_FLAGS + 0xF3) +#define FLAG_0x954 (SYSTEM_FLAGS + 0xF4) +#define FLAG_0x955 (SYSTEM_FLAGS + 0xF5) +#define FLAG_0x956 (SYSTEM_FLAGS + 0xF6) +#define FLAG_0x957 (SYSTEM_FLAGS + 0xF7) +#define FLAG_0x958 (SYSTEM_FLAGS + 0xF8) +#define FLAG_0x959 (SYSTEM_FLAGS + 0xF9) +#define FLAG_0x95A (SYSTEM_FLAGS + 0xFA) +#define FLAG_0x95B (SYSTEM_FLAGS + 0xFB) +#define FLAG_0x95C (SYSTEM_FLAGS + 0xFC) +#define FLAG_0x95D (SYSTEM_FLAGS + 0xFD) +#define FLAG_0x95E (SYSTEM_FLAGS + 0xFE) +#define FLAG_0x95F (SYSTEM_FLAGS + 0xFF) + +// Special Flags (Unknown) +#define SPECIAL_FLAGS_START 0x4000 +#define FLAG_SPECIAL_FLAG_0x4000 0x4000 +#define FLAG_SPECIAL_FLAG_0x4001 0x4001 +#define FLAG_SPECIAL_FLAG_0x4002 0x4002 +#define FLAG_SPECIAL_FLAG_0x4003 0x4003 +#define FLAG_SPECIAL_FLAG_0x4004 0x4004 #endif // GUARD_CONSTANTS_FLAGS_H diff --git a/include/constants/rgb.h b/include/constants/rgb.h index fd9c5c5a73..80d951f4bd 100644 --- a/include/constants/rgb.h +++ b/include/constants/rgb.h @@ -2,6 +2,7 @@ #define GUARD_RGB_H #define RGB(r, g, b) ((r) | ((g) << 5) | ((b) << 10)) +#define RGB2(r, g, b) (((b) << 10) | ((g) << 5) | (r)) #define _RGB(r, g, b) ((((b) & 0x1F) << 10) + (((g) & 0x1F) << 5) + ((r) & 0x1F)) #define RGB_BLACK RGB(0, 0, 0) @@ -12,6 +13,6 @@ #define RGB_YELLOW RGB(31, 31, 0) #define RGB_MAGENTA RGB(31, 0, 31) #define RGB_CYAN RGB(0, 31, 31) -#define RGB_WHITEALPHA RGB_WHITE | 0x8000 +#define RGB_WHITEALPHA (RGB_WHITE | 0x8000) #endif // GUARD_RGB_H diff --git a/include/constants/vars.h b/include/constants/vars.h index faffe7c70a..30df01f553 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -68,8 +68,8 @@ #define VAR_FRONTIER_GAMBLER_AMOUNT_BET 0x4032 #define VAR_FRONTIER_GAMBLER_PLACED_BET_F 0x4033 -#define VAR_0x4034 0x4034 -#define VAR_0x4035 0x4035 +#define VAR_DEOXYS_ROCK_STEP_COUNT 0x4034 +#define VAR_DEOXYS_ROCK_LEVEL 0x4035 #define VAR_STORAGE_UNKNOWN 0x4036 #define VAR_0x4037 0x4037 #define VAR_0x4038 0x4038 @@ -81,8 +81,8 @@ #define VAR_ALTERING_CAVE_WILD_SET 0x403E #define VAR_0x403F 0x403F #define VAR_DAYS 0x4040 -#define VAR_FANCLUB_UNKNOWN_1 0x4041 -#define VAR_FANCLUB_UNKNOWN_2 0x4042 +#define VAR_FANCLUB_UNKNOWN_1 0x4041 +#define VAR_FANCLUB_UNKNOWN_2 0x4042 #define VAR_DEPT_STORE_FLOOR 0x4043 #define VAR_0x4044 0x4044 #define VAR_POKELOT_PRIZE 0x4045 diff --git a/include/contest.h b/include/contest.h index 54c431b94d..73ebb79fa1 100644 --- a/include/contest.h +++ b/include/contest.h @@ -222,13 +222,17 @@ struct ContestPokemon }; // wow extern struct ContestPokemon gContestMons[4]; -extern u8 gUnknown_02039F24; +extern u8 gContestMonPartyIndex; extern u16 gSpecialVar_ContestCategory; extern u16 gSpecialVar_ContestRank; -extern u8 gUnknown_02039F30; +extern u8 gUnknown_02039F2B; +extern u8 gNumLinkContestPlayers; +extern u8 gHighestRibbonRank; extern u8 gContestFinalStandings[4]; extern u8 gContestPlayerMonIndex; extern s16 gUnknown_02039F08[4]; +extern s16 gUnknown_02039F10[4]; +extern s16 gUnknown_02039F18[4]; extern s16 gContestMonConditions[4]; extern u8 gIsLinkContest; extern struct ContestWinner gUnknown_02039F3C; @@ -434,5 +438,23 @@ void SetStartledString(u8 a, u8 b); s8 Contest_GetMoveExcitement(u16); u8 sub_80DAE0C(struct Pokemon *); void sub_80DEDA8(u8); +void sub_80DACBC(u8 contestType, u8 rank, bool32 isPostgame); +void sub_80DB09C(u8 contestCategory); +void sub_80DCE58(u8); +void sub_80DFA08(struct ContestPokemon *mon, int language); +void sub_80DBED4(void); +u8 sub_80DEFA8(u8, u8); + +// contest link +void sub_81D9DE4(u8 taskId); +void sub_80FCF40(u8); +void sub_80FCFD0(u8); +void sub_80F8714(u8); +bool32 sub_80FC670(s16 *); +bool32 sub_80FC4F4(void *, u16); +bool8 sub_80FC55C(void); +bool8 sub_80FC530(u8); +u8 sub_80F86E0(u8 *); + #endif //GUARD_CONTEST_H diff --git a/include/contest_painting.h b/include/contest_painting.h index c633c50ccc..ca03a72b5b 100644 --- a/include/contest_painting.h +++ b/include/contest_painting.h @@ -13,4 +13,7 @@ enum void sub_812FDA8(int); void CB2_ContestPainting(void); +extern u8 gUnknown_02039F5C; +extern u8 gUnknown_02039F5D; + #endif diff --git a/include/data2.h b/include/data2.h index 37ce5bf20d..c1a2608ae8 100644 --- a/include/data2.h +++ b/include/data2.h @@ -5,7 +5,7 @@ struct MonCoords { // This would use a bitfield, but some function // uses it as a u8 and casting won't match. - u8 coords; // u8 x:4, y:4; + u8 size; // u8 width:4, height:4; u8 y_offset; }; diff --git a/include/event_scripts.h b/include/event_scripts.h index 3dcb7f9294..e611dc6e02 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -538,7 +538,7 @@ extern const u8 EventScript_TV[]; extern const u8 EventScript_ClosedSootopolisDoor[]; extern const u8 SkyPillar_Outside_EventScript_2393F9[]; extern const u8 EventScript_CableBoxResults[]; -extern const u8 EventScript_2A4BAC[]; +extern const u8 EventScript_PokeBlockFeeder[]; extern const u8 Route110_TrickHouseEntrance_EventScript_26A22A[]; extern const u8 EventScript_RegionMap[]; extern const u8 EventScript_RunningShoesManual[]; diff --git a/include/field_control_avatar.h b/include/field_control_avatar.h index 24adbe4b32..3cc4a8324b 100644 --- a/include/field_control_avatar.h +++ b/include/field_control_avatar.h @@ -7,8 +7,8 @@ struct FieldInput bool8 checkStandardWildEncounter:1; bool8 pressedStartButton:1; bool8 pressedSelectButton:1; - bool8 input_field_0_4:1; - bool8 input_field_0_5:1; + bool8 heldDirection:1; + bool8 heldDirection2:1; bool8 tookStep:1; bool8 pressedBButton:1; bool8 input_field_1_0:1; @@ -20,7 +20,6 @@ struct FieldInput bool8 input_field_1_6:1; bool8 input_field_1_7:1; u8 dpadDirection; - u8 input_field_3; }; void FieldClearPlayerInput(struct FieldInput *pStruct); diff --git a/include/field_screen_effect.h b/include/field_screen_effect.h index f3ac2e8661..3daf8d892d 100644 --- a/include/field_screen_effect.h +++ b/include/field_screen_effect.h @@ -19,11 +19,11 @@ void sub_80AF688(void); bool8 sub_80AF6A4(void); void sub_80AF6D4(void); void sub_80AF6F0(void); -void sub_80AF734(void); -void sp13E_warp_to_last_warp(void); +void DoWarp(void); +void DoDiveWarp(void); void sub_80AF79C(void); -void sub_80AF7D0(void); -void sp13F_fall_to_last_warp(void); +void DoDoorWarp(void); +void DoFallWarp(void); void sub_80AF80C(u8 metatileBehavior); void sub_80AF828(void); void sub_80AF838(void); diff --git a/include/field_specials.h b/include/field_specials.h index 7c29ecbadb..10433299ba 100644 --- a/include/field_specials.h +++ b/include/field_specials.h @@ -6,7 +6,7 @@ u8 sub_813B260(void); u16 get_unknown_box_id(void); bool8 InMultiBattleRoom(void); void sub_813BF10(void); -void increment_var_x4026_on_birth_island_modulo_100(void); +void IncrementBirthIslandRockStepCount(void); bool8 sub_813B3B0(void); bool8 ShouldDoBrailleRegicePuzzle(void); bool32 is_tile_that_overrides_player_control(void); diff --git a/include/fieldmap.h b/include/fieldmap.h index a50c79b432..3f5cc5ec8a 100644 --- a/include/fieldmap.h +++ b/include/fieldmap.h @@ -7,8 +7,9 @@ #define NUM_METATILES_TOTAL 1024 #define NUM_PALS_IN_PRIMARY 6 #define NUM_PALS_TOTAL 13 +#define MAX_MAP_DATA_SIZE 0x2800 -extern struct BackupMapLayout gUnknown_03005DC0; +extern struct BackupMapLayout gBackupMapLayout; u32 MapGridGetMetatileIdAt(int, int); u32 MapGridGetMetatileBehaviorAt(int, int); @@ -19,23 +20,19 @@ bool8 MapGridIsImpassableAt(int, int); int GetMapBorderIdAt(int x, int y); int CanCameraMoveInDirection(int direction); u16 GetBehaviorByMetatileId(u16 metatileId); -void sav1_camera_get_focus_coords(u16 *x, u16 *y); +void GetCameraFocusCoords(u16 *x, u16 *y); u8 MapGridGetMetatileLayerTypeAt(s32 x, s32 y); u8 MapGridGetZCoordAt(int x, int y); u8 CameraMove(s32 deltaX, s32 deltaY); -void mapheader_copy_mapdata_with_padding(struct MapHeader *mapHeader); -void map_copy_with_padding(u16 *map, u16 width, u16 height); -void mapheader_copy_mapdata_of_adjacent_maps(struct MapHeader *); -void fillSouthConnection(struct MapHeader const *, struct MapHeader const *, s32); -void fillNorthConnection(struct MapHeader const *, struct MapHeader const *, s32); -void fillWestConnection(struct MapHeader const *, struct MapHeader const *, s32); -void fillEastConnection(struct MapHeader const *, struct MapHeader const *, s32); -void mapdata_from_sav2(void); -bool8 sub_8088BF0(u16*, u16, u8); struct MapConnection *sub_8088950(u8 direction, int x, int y); bool8 sub_80889A8(u8 direction, int x, int y, struct MapConnection *connection); bool8 sub_8088A0C(int x, int src_width, int dest_width, int offset); void save_serialize_map(void); +void sub_8088B3C(u16 x, u16 y); +void InitMap(void); +void InitMapFromSavedGame(void); +void InitTrainerHillMap(void); +void InitBattlePyramidMap(u8 a0); void SpriteCB_PokeballGlow(struct Sprite *); void SpriteCB_PokecenterMonitor(struct Sprite *); diff --git a/include/fldeff.h b/include/fldeff.h index 99758fdb5b..e095396a40 100644 --- a/include/fldeff.h +++ b/include/fldeff.h @@ -6,8 +6,8 @@ bool8 SetUpFieldMove_Cut(void); bool8 FldEff_UseCutOnGrass(void); bool8 FldEff_UseCutOnTree(void); bool8 FldEff_CutGrass(void); -void sub_80D423C(s16 x, s16 y); -void sub_80D42B8(s16 x, s16 y); +void FixLongGrassMetatilesWindowTop(s16 x, s16 y); +void FixLongGrassMetatilesWindowBottom(s16 x, s16 y); extern const struct SpritePalette gFieldEffectObjectPaletteInfo6; diff --git a/include/gba/defines.h b/include/gba/defines.h index 16f1315d04..b68a2ad1e6 100644 --- a/include/gba/defines.h +++ b/include/gba/defines.h @@ -66,6 +66,4 @@ #define TOTAL_OBJ_TILE_COUNT 1024 -#define WIN_RANGE(a, b) (((a) << 8) | (b)) - #endif // GUARD_GBA_DEFINES diff --git a/include/gba/io_reg.h b/include/gba/io_reg.h index c20b69886e..df79b084d3 100644 --- a/include/gba/io_reg.h +++ b/include/gba/io_reg.h @@ -576,6 +576,9 @@ #define WINOUT_WINOBJ_OBJ (1 << 12) #define WINOUT_WINOBJ_CLR (1 << 13) +#define WIN_RANGE(a, b) (((a) << 8) | (b)) +#define WIN_RANGE2(a, b) ((b) | ((a) << 8)) + // BLDCNT // Bits 0-5 select layers for the 1st target #define BLDCNT_TGT1_BG0 (1 << 0) diff --git a/include/gba/types.h b/include/gba/types.h index fff48d437c..3d78b5b5ee 100644 --- a/include/gba/types.h +++ b/include/gba/types.h @@ -59,8 +59,8 @@ struct OamData u32 shape:2; // 0x40, 0x80 -> 0xC0 /*0x02*/ u32 x:9; - u32 matrixNum:5; // bits 3/4 are h-flip/v-flip if not in affine mode - u32 size:2; + u32 matrixNum:5; // bits 3/4 are h-flip/v-flip if not in affine mode + u32 size:2; // 0x4000, 0x8000 -> 0xC000 /*0x04*/ u16 tileNum:10; // 0x3FF u16 priority:2; // 0x400, 0x800 -> 0xC00 diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index 5ed9b250ae..74a8363bb8 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -137,8 +137,7 @@ struct MapHeader /* 0x15 */ u8 cave; /* 0x16 */ u8 weather; /* 0x17 */ u8 mapType; - /* 0x18 */ u8 filler_18; - /* 0x19 */ u8 escapeRope; + /* 0x18 */ u8 filler_18[2]; /* 0x1A */ u8 flags; /* 0x1B */ u8 battleType; }; diff --git a/include/graphics.h b/include/graphics.h index bdbed16866..3c43acf54e 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -3071,7 +3071,7 @@ extern const u32 gTrainerBackPicPalette_Leaf[]; // pokeblock extern const u32 gMenuPokeblock_Gfx[]; -extern const u8 gMenuPokeblock_Pal[]; +extern const u32 gMenuPokeblock_Pal[]; extern const u32 gMenuPokeblock_Tilemap[]; extern const u32 gMenuPokeblockDevice_Gfx[]; extern const u32 gMenuPokeblockDevice_Pal[]; @@ -3859,8 +3859,8 @@ extern const u8 gFireRedMenuElements_Gfx[]; // item menu graphics extern const u32 gBagScreen_Gfx[]; -extern const u16 gBagScreenFemale_Pal[]; -extern const u16 gBagScreenMale_Pal[]; +extern const u32 gBagScreenFemale_Pal[]; +extern const u32 gBagScreenMale_Pal[]; extern const u8 gBagMenuHMIcon_Gfx[]; // item menu icons graphics @@ -3914,7 +3914,7 @@ extern const u32 gIntro2FlygonGfx[]; // party menu graphics extern const u32 gPartyMenuMisc_Gfx[]; extern const u32 gPartyMenuMisc_Tilemap[]; -extern const u8 gPartyMenuMisc_Pal[]; +extern const u32 gPartyMenuMisc_Pal[]; // berry pics extern const u32 gBerryPic_Cheri[]; @@ -4105,6 +4105,10 @@ extern const u32 gUnknown_08D83C3C[]; extern const u32 gUnknown_08D83900[]; extern const u32 gBattleFrontierGfx_DomeOptions[]; +extern const u32 gUnknown_08D854E8[]; +extern const u32 gUnknown_08D855E8[]; +extern const u32 gContest2Pal[]; + extern const u32 gBattleAnimSpriteSheet_000[]; extern const u32 gBattleAnimSpriteSheet_001[]; extern const u32 gBattleAnimSpriteSheet_002[]; @@ -4628,9 +4632,9 @@ extern const u32 gBattleAnimSpritePalette_241[]; extern const u32 gBattleAnimSpritePalette_242[]; extern const u32 gBattleAnimSpritePalette_243[]; extern const u32 gBattleAnimSpritePalette_244[]; -extern const u8 gUnknown_08C2DC68[]; -extern const u16 gUnknown_08C2DDA4[]; -extern const u8 gUnknown_08C2DDC4[]; +extern const u32 gCureBubblesGfx[]; +extern const u32 gCureBubblesPal[]; +extern const u32 gCureBubblesTilemap[]; extern const u32 gBattleAnimSpritePalette_245[]; extern const u32 gBattleAnimSpritePalette_248[]; extern const u32 gBattleAnimSpritePalette_249[]; @@ -4801,6 +4805,16 @@ extern const u32 gCableCarDoor_Gfx[]; extern const u32 gCableCarCord_Gfx[]; extern const u16 gCableCar_Pal[]; +// Trade +extern const u16 gUnknown_08DDB3E4[]; +extern const u8 gUnknown_08DDB464[]; +extern const u16 gUnknown_08DDCF04[]; +extern const u16 gTradeGba2_Pal[]; +extern const u8 gTradeGba_Gfx[]; +extern const u16 gUnknown_08DDD704[]; +extern const u8 gUnknown_08DDC6E4[]; +extern const u16 gUnknown_08DDB444[]; + // Party menu extern const u32 gPartyMenuPokeball_Gfx[]; extern const u32 gPartyMenuPokeballSmall_Gfx[]; @@ -4808,4 +4822,32 @@ extern const u32 gStatusPal_Icons[]; extern const u32 gPartyMenuPokeball_Pal[]; extern const u32 gStatusPal_Icons[]; +// Roulette +extern const u32 gRouletteMenuTiles[]; +extern const u32 gRouletteWheelTiles[]; +extern const u32 gRouletteCenter_Gfx[]; +extern const u32 gRouletteHeadersTiles[]; +extern const u32 gRouletteCreditTiles[]; +extern const u32 gRouletteNumbersTiles[]; +extern const u32 gRouletteMultiplierTiles[]; + +// Contest Link +extern const u32 gUnknown_0858D6B0[]; +extern const u32 gUnknown_08C19588[]; +extern const u32 gUnknown_08C19EEC[]; +extern const u32 gUnknown_08C1A000[]; +extern const u32 gUnknown_08C1A12C[]; +extern const u32 gUnknown_08C1A2B4[]; +extern const u16 gUnknown_08DC6498[]; +extern const u16 gUnknown_08DC63F8[]; +extern const u16 gUnknown_08DC6420[]; +extern const u16 gUnknown_08DC6448[]; +extern const u16 gUnknown_08DC6470[]; +extern const u16 gUnknown_08DC64AC[]; +extern const u16 gUnknown_08DC64C0[]; +extern const u16 gUnknown_08DC64D4[]; +extern const u16 gUnknown_08DC64E8[]; +extern const u16 gUnknown_08DC64FC[]; +extern const u16 gUnknown_08DC6510[]; + #endif //GUARD_GRAPHICS_H diff --git a/include/librfu.h b/include/librfu.h index 49df425419..38c8198355 100644 --- a/include/librfu.h +++ b/include/librfu.h @@ -255,6 +255,6 @@ void rfu_REQ_recvData(void); void rfu_UNI_readySendData(u8 a0); void rfu_UNI_clearRecvNewDataFlag(u8 a0); void rfu_REQ_PARENT_resumeRetransmitAndChange(void); -void rfu_NI_setSendData(u8, u8, u8 *, u8); +void rfu_NI_setSendData(u8, u8, const void *, u32); #endif // GUARD_LIBRFU_H diff --git a/include/link.h b/include/link.h index f12f0990f1..9552f062cc 100644 --- a/include/link.h +++ b/include/link.h @@ -240,7 +240,7 @@ void SerialCB(void); u8 GetLinkPlayerCount(void); bool32 InUnionRoom(void); void sub_800E0E8(void); -bool8 sub_800A520(void); +bool8 IsLinkTaskFinished(void); void CreateWirelessStatusIndicatorSprite(u8, u8); void sub_800ADF8(void); void sub_800B488(void); @@ -311,5 +311,6 @@ void sub_800AD10(void); void sub_800AB18(void); void sub_8009F18(void); bool8 sub_800AA60(void); +void sub_800ABF4(u16 a0); #endif // GUARD_LINK_H diff --git a/include/link_rfu.h b/include/link_rfu.h index e394e26113..08cab616cc 100644 --- a/include/link_rfu.h +++ b/include/link_rfu.h @@ -210,6 +210,7 @@ struct UnkRfuStruct_8010A14 extern struct UnkRfuStruct_1 gUnknown_03004140; extern struct UnkRfuStruct_2 gUnknown_03005000; +extern u8 gWirelessStatusIndicatorSpriteId; // Exported ROM declarations u32 sub_800BEC0(void); @@ -279,5 +280,7 @@ void sub_8011DE0(u32 arg0); u8 sub_801100C(int a0); void sub_800EF7C(void); bool8 sub_800DE7C(struct UnkLinkRfuStruct_02022B14 *buff1, u8 *buff2, u8 idx); +s32 sub_800E87C(u8 idx); +void sub_8011BA4(void); #endif //GUARD_LINK_RFU_H diff --git a/include/m4a.h b/include/m4a.h index 5953794958..4847c12ccb 100644 --- a/include/m4a.h +++ b/include/m4a.h @@ -8,7 +8,8 @@ void m4aSoundVSyncOn(void); void m4aSoundInit(void); void m4aSoundMain(void); -void m4aSongNumStart(u16); +void m4aSongNumStart(u16 n); +void m4aSongNumStartOrChange(u16 n); void m4aSongNumStop(u16 n); void m4aMPlayAllStop(void); void m4aMPlayContinue(struct MusicPlayerInfo *mplayInfo); diff --git a/include/menu_helpers.h b/include/menu_helpers.h index ee8501d189..63af4c731c 100644 --- a/include/menu_helpers.h +++ b/include/menu_helpers.h @@ -20,7 +20,7 @@ void ResetAllBgsCoordinates(void); void SetVBlankHBlankCallbacksToNull(void); void DisplayMessageAndContinueTask(u8 taskId, u8 windowId, u16 arg2, u8 arg3, u8 fontId, u8 textSpeed, const u8 *string, void *taskFunc); bool16 RunTextPrintersRetIsActive(u8 textPrinterId); -void sub_8121F68(u8 taskId, const struct YesNoFuncTable *data); +void DoYesNoFuncWithChoice(u8 taskId, const struct YesNoFuncTable *data); void CreateYesNoMenuWithCallbacks(u8 taskId, const struct WindowTemplate *template, u8 arg2, u8 arg3, u8 arg4, u16 tileStart, u8 palette, const struct YesNoFuncTable *yesNo); bool8 AdjustQuantityAccordingToDPadInput(s16 *arg0, u16 arg1); u8 GetLRKeysState(void); diff --git a/include/overworld.h b/include/overworld.h index f62a5136da..79cbf1da32 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -57,7 +57,7 @@ void SetWarpDestinationToDynamicWarp(u8 unused); void SetWarpDestinationToHealLocation(u8 a1); void SetWarpDestinationToLastHealLocation(void); void SetLastHealLocationWarp(u8 healLocationId); -void sub_8084D5C(s16 x, s16 y); +void UpdateEscapeWarp(s16 x, s16 y); void SetEscapeWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); void SetWarpDestinationToEscapeWarp(void); void SetFixedDiveWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); diff --git a/include/palette.h b/include/palette.h index c14e9f453a..540452f3d8 100644 --- a/include/palette.h +++ b/include/palette.h @@ -43,7 +43,7 @@ extern u8 gPaletteDecompressionBuffer[]; extern u16 gPlttBufferUnfaded[]; extern u16 gPlttBufferFaded[]; -void LoadCompressedPalette(const void *, u16, u16); +void LoadCompressedPalette(const u32 *, u16, u16); void LoadPalette(const void *, u16, u16); void FillPalette(u16, u16, u16); void TransferPlttBuffer(void); diff --git a/include/rom_8011DC0.h b/include/rom_8011DC0.h index c1bdbdf34b..faffd33752 100644 --- a/include/rom_8011DC0.h +++ b/include/rom_8011DC0.h @@ -5,6 +5,7 @@ // Exported RAM declarations +extern u8 gUnknown_02022C2C; extern struct UnkLinkRfuStruct_02022B14Substruct gUnknown_02022C38; extern u16 gUnknown_02022C3C; extern u8 gUnknown_02022C3E; diff --git a/include/roulette_util.h b/include/roulette_util.h index 7f0b9cbf84..76752fe749 100644 --- a/include/roulette_util.h +++ b/include/roulette_util.h @@ -1,6 +1,8 @@ #ifndef GUARD_ROULETTE_UTIL_H #define GUARD_ROULETTE_UTIL_H +#include "roulette.h" + struct PulseBlendSettings { u16 blendColor; @@ -41,5 +43,10 @@ void UnmarkUsedPulseBlendPalettes(struct PulseBlend *, u16, u8); void UpdatePulseBlend(struct PulseBlend *); void sub_8152008(u16 *dest, u16 src, u8 left, u8 top, u8 width, u8 height); void sub_8152058(u16 *dest, u16 *src, u8 left, u8 top, u8 width, u8 height); +void task_tutorial_controls_fadein(struct UnkStruct0 *r0); +void sub_8151678(struct UnkStruct0 *r0); +u8 sub_815168C(struct UnkStruct0 *r0, u8 r1, const struct UnkStruct1 *r2); +void sub_8151A9C(struct UnkStruct0 *r0, u16 r1); +void sub_8151A48(struct UnkStruct0 *r0, u16 r1); #endif // GUARD_ROULETTE_UTIL_H diff --git a/include/rtc.h b/include/rtc.h index 5ee6a53166..7a3d3d524b 100644 --- a/include/rtc.h +++ b/include/rtc.h @@ -44,5 +44,6 @@ void RtcInitLocalTimeOffset(s32 hour, s32 minute); void RtcCalcLocalTimeOffset(s32 days, s32 hours, s32 minutes, s32 seconds); void CalcTimeDifference(struct Time *result, struct Time *t1, struct Time *t2); u32 RtcGetMinuteCount(void); +u32 RtcGetLocalDayCount(void); #endif // GUARD_RTC_UTIL_H diff --git a/include/secret_base.h b/include/secret_base.h index ac15357e30..4b44d46786 100644 --- a/include/secret_base.h +++ b/include/secret_base.h @@ -15,13 +15,13 @@ const u8 *GetSecretBaseTrainerLoseText(void); void sub_80E8EE0(struct MapEvents const *events); void sub_80E9238(u8 flagIn); bool8 CurrentMapIsSecretBase(void); -void sub_80EA3E4(u8 taskId); +void SecretBasePerStepCallback(u8 taskId); bool8 sub_80E9680(void); void sub_80EB498(void); void sub_80EB56C(void); void sub_80EB9E0(void); void sub_80EBB28(void); -void sub_80E9668(const struct MapPosition *position, const struct MapEvents *events); +void WarpIntoSecretBase(const struct MapPosition *position, const struct MapEvents *events); // SetCurrentSecretBaseFromPosition void sub_80E9608(const struct MapPosition *position, const struct MapEvents *events); diff --git a/include/strings.h b/include/strings.h index 64222cddb7..d16dd21f8c 100644 --- a/include/strings.h +++ b/include/strings.h @@ -403,7 +403,7 @@ extern const u8 gText_PkmnHPRestoredByVar2[]; extern const u8 gText_CantBeUsedOnPkmn[]; extern const u8 gText_CancelParticipation[]; extern const u8 gText_PkmnWasGivenItem[]; -extern const u8 gText_RecievedItemFromPkmn[]; +extern const u8 gText_ReceivedItemFromPkmn[]; extern const u8 gText_SwitchPkmnItem[]; extern const u8 gText_SwitchedPkmnItem[]; extern const u8 gText_BagFullCouldNotRemoveItem[]; @@ -869,6 +869,13 @@ extern const u8 gText_TeachWhichMoveToPkmn[]; extern const u8 gText_GiveUpTeachingNewMove[]; extern const u8 gText_TeachX[]; +extern const u8 gText_Kira[]; +extern const u8 gText_Amy[]; +extern const u8 gText_John[]; +extern const u8 gText_Roy[]; +extern const u8 gText_Gabby[]; +extern const u8 gText_Anna[]; + extern const u8 gText_DadsAdvice[]; extern const u8 gText_CantDismountBike[]; extern const u8 gText_ItemFinderNothing[]; @@ -1893,7 +1900,6 @@ extern const u8 gText_PkmnTransferredSomeonesPC[]; extern const u8 gText_PkmnTransferredLanettesPC[]; // hall of fame -extern const u8 gText_SavingDontTurnOffPower[]; extern const u8 gText_LeagueChamp[]; extern const u8 gText_HOFNumber[]; extern const u8 gText_PickNextCancel[]; @@ -1984,4 +1990,229 @@ extern const u8 gText_EggCantBeTradedNow[]; extern const u8 gText_OtherTrainerCantAcceptPkmn[]; extern const u8 gText_CantTradeWithTrainer[]; +// trade +extern const u8 gText_XWillBeSentToY[]; +extern const u8 gText_ByeByeVar1[]; +extern const u8 gText_XSentOverY[]; +extern const u8 gText_TakeGoodCareOfX[]; +extern const u8 gText_CommunicationStandby5[]; + +// roulette +extern const u8 gUnknown_082A5B89[]; + +// match call +extern const u8 MatchCall_WildBattleText1[]; +extern const u8 MatchCall_WildBattleText2[]; +extern const u8 MatchCall_WildBattleText3[]; +extern const u8 MatchCall_WildBattleText4[]; +extern const u8 MatchCall_WildBattleText5[]; +extern const u8 MatchCall_WildBattleText6[]; +extern const u8 MatchCall_WildBattleText7[]; +extern const u8 MatchCall_WildBattleText8[]; +extern const u8 MatchCall_WildBattleText9[]; +extern const u8 MatchCall_WildBattleText10[]; +extern const u8 MatchCall_WildBattleText11[]; +extern const u8 MatchCall_WildBattleText12[]; +extern const u8 MatchCall_WildBattleText13[]; +extern const u8 MatchCall_WildBattleText14[]; +extern const u8 MatchCall_WildBattleText15[]; +extern const u8 MatchCall_NegativeBattleText1[]; +extern const u8 MatchCall_NegativeBattleText2[]; +extern const u8 MatchCall_NegativeBattleText3[]; +extern const u8 MatchCall_NegativeBattleText4[]; +extern const u8 MatchCall_NegativeBattleText5[]; +extern const u8 MatchCall_NegativeBattleText6[]; +extern const u8 MatchCall_NegativeBattleText7[]; +extern const u8 MatchCall_NegativeBattleText8[]; +extern const u8 MatchCall_NegativeBattleText9[]; +extern const u8 MatchCall_NegativeBattleText10[]; +extern const u8 MatchCall_NegativeBattleText11[]; +extern const u8 MatchCall_NegativeBattleText12[]; +extern const u8 MatchCall_NegativeBattleText13[]; +extern const u8 MatchCall_NegativeBattleText14[]; +extern const u8 MatchCall_PositiveBattleText1[]; +extern const u8 MatchCall_PositiveBattleText2[]; +extern const u8 MatchCall_PositiveBattleText3[]; +extern const u8 MatchCall_PositiveBattleText4[]; +extern const u8 MatchCall_PositiveBattleText5[]; +extern const u8 MatchCall_PositiveBattleText6[]; +extern const u8 MatchCall_PositiveBattleText7[]; +extern const u8 MatchCall_PositiveBattleText8[]; +extern const u8 MatchCall_PositiveBattleText9[]; +extern const u8 MatchCall_PositiveBattleText10[]; +extern const u8 MatchCall_PositiveBattleText11[]; +extern const u8 MatchCall_PositiveBattleText12[]; +extern const u8 MatchCall_PositiveBattleText13[]; +extern const u8 MatchCall_PositiveBattleText14[]; +extern const u8 MatchCall_SameRouteBattleRequestText1[]; +extern const u8 MatchCall_SameRouteBattleRequestText2[]; +extern const u8 MatchCall_SameRouteBattleRequestText3[]; +extern const u8 MatchCall_SameRouteBattleRequestText4[]; +extern const u8 MatchCall_SameRouteBattleRequestText5[]; +extern const u8 MatchCall_SameRouteBattleRequestText6[]; +extern const u8 MatchCall_SameRouteBattleRequestText7[]; +extern const u8 MatchCall_SameRouteBattleRequestText8[]; +extern const u8 MatchCall_SameRouteBattleRequestText9[]; +extern const u8 MatchCall_SameRouteBattleRequestText10[]; +extern const u8 MatchCall_SameRouteBattleRequestText11[]; +extern const u8 MatchCall_SameRouteBattleRequestText12[]; +extern const u8 MatchCall_SameRouteBattleRequestText13[]; +extern const u8 MatchCall_SameRouteBattleRequestText14[]; +extern const u8 MatchCall_DifferentRouteBattleRequestText1[]; +extern const u8 MatchCall_DifferentRouteBattleRequestText2[]; +extern const u8 MatchCall_DifferentRouteBattleRequestText3[]; +extern const u8 MatchCall_DifferentRouteBattleRequestText4[]; +extern const u8 MatchCall_DifferentRouteBattleRequestText5[]; +extern const u8 MatchCall_DifferentRouteBattleRequestText6[]; +extern const u8 MatchCall_DifferentRouteBattleRequestText7[]; +extern const u8 MatchCall_DifferentRouteBattleRequestText8[]; +extern const u8 MatchCall_DifferentRouteBattleRequestText9[]; +extern const u8 MatchCall_DifferentRouteBattleRequestText10[]; +extern const u8 MatchCall_DifferentRouteBattleRequestText11[]; +extern const u8 MatchCall_DifferentRouteBattleRequestText12[]; +extern const u8 MatchCall_DifferentRouteBattleRequestText13[]; +extern const u8 MatchCall_DifferentRouteBattleRequestText14[]; +extern const u8 MatchCall_PersonalizedText1[]; +extern const u8 MatchCall_PersonalizedText2[]; +extern const u8 MatchCall_PersonalizedText3[]; +extern const u8 MatchCall_PersonalizedText4[]; +extern const u8 MatchCall_PersonalizedText5[]; +extern const u8 MatchCall_PersonalizedText6[]; +extern const u8 MatchCall_PersonalizedText7[]; +extern const u8 MatchCall_PersonalizedText8[]; +extern const u8 MatchCall_PersonalizedText9[]; +extern const u8 MatchCall_PersonalizedText10[]; +extern const u8 MatchCall_PersonalizedText11[]; +extern const u8 MatchCall_PersonalizedText12[]; +extern const u8 MatchCall_PersonalizedText13[]; +extern const u8 MatchCall_PersonalizedText14[]; +extern const u8 MatchCall_PersonalizedText15[]; +extern const u8 MatchCall_PersonalizedText16[]; +extern const u8 MatchCall_PersonalizedText17[]; +extern const u8 MatchCall_PersonalizedText18[]; +extern const u8 MatchCall_PersonalizedText19[]; +extern const u8 MatchCall_PersonalizedText20[]; +extern const u8 MatchCall_PersonalizedText21[]; +extern const u8 MatchCall_PersonalizedText22[]; +extern const u8 MatchCall_PersonalizedText23[]; +extern const u8 MatchCall_PersonalizedText24[]; +extern const u8 MatchCall_PersonalizedText25[]; +extern const u8 MatchCall_PersonalizedText26[]; +extern const u8 MatchCall_PersonalizedText27[]; +extern const u8 MatchCall_PersonalizedText28[]; +extern const u8 MatchCall_PersonalizedText29[]; +extern const u8 MatchCall_PersonalizedText30[]; +extern const u8 MatchCall_PersonalizedText31[]; +extern const u8 MatchCall_PersonalizedText32[]; +extern const u8 MatchCall_PersonalizedText33[]; +extern const u8 MatchCall_PersonalizedText34[]; +extern const u8 MatchCall_PersonalizedText35[]; +extern const u8 MatchCall_PersonalizedText36[]; +extern const u8 MatchCall_PersonalizedText37[]; +extern const u8 MatchCall_PersonalizedText38[]; +extern const u8 MatchCall_PersonalizedText39[]; +extern const u8 MatchCall_PersonalizedText40[]; +extern const u8 MatchCall_PersonalizedText41[]; +extern const u8 MatchCall_PersonalizedText42[]; +extern const u8 MatchCall_PersonalizedText43[]; +extern const u8 MatchCall_PersonalizedText44[]; +extern const u8 MatchCall_PersonalizedText45[]; +extern const u8 MatchCall_PersonalizedText46[]; +extern const u8 MatchCall_PersonalizedText47[]; +extern const u8 MatchCall_PersonalizedText48[]; +extern const u8 MatchCall_PersonalizedText49[]; +extern const u8 MatchCall_PersonalizedText50[]; +extern const u8 MatchCall_PersonalizedText51[]; +extern const u8 MatchCall_PersonalizedText52[]; +extern const u8 MatchCall_PersonalizedText53[]; +extern const u8 MatchCall_PersonalizedText54[]; +extern const u8 MatchCall_PersonalizedText55[]; +extern const u8 MatchCall_PersonalizedText56[]; +extern const u8 MatchCall_PersonalizedText57[]; +extern const u8 MatchCall_PersonalizedText58[]; +extern const u8 MatchCall_PersonalizedText59[]; +extern const u8 MatchCall_PersonalizedText60[]; +extern const u8 MatchCall_PersonalizedText61[]; +extern const u8 MatchCall_PersonalizedText62[]; +extern const u8 MatchCall_PersonalizedText63[]; +extern const u8 MatchCall_PersonalizedText64[]; +extern const u8 MatchCall_BattleFrontierStreakText1[]; +extern const u8 MatchCall_BattleFrontierStreakText2[]; +extern const u8 MatchCall_BattleFrontierStreakText3[]; +extern const u8 MatchCall_BattleFrontierStreakText4[]; +extern const u8 MatchCall_BattleFrontierStreakText5[]; +extern const u8 MatchCall_BattleFrontierStreakText6[]; +extern const u8 MatchCall_BattleFrontierStreakText7[]; +extern const u8 MatchCall_BattleFrontierStreakText8[]; +extern const u8 MatchCall_BattleFrontierStreakText9[]; +extern const u8 MatchCall_BattleFrontierStreakText10[]; +extern const u8 MatchCall_BattleFrontierStreakText11[]; +extern const u8 MatchCall_BattleFrontierStreakText12[]; +extern const u8 MatchCall_BattleFrontierStreakText13[]; +extern const u8 MatchCall_BattleFrontierStreakText14[]; +extern const u8 MatchCall_BattleFrontierRecordStreakText1[]; +extern const u8 MatchCall_BattleFrontierRecordStreakText2[]; +extern const u8 MatchCall_BattleFrontierRecordStreakText3[]; +extern const u8 MatchCall_BattleFrontierRecordStreakText4[]; +extern const u8 MatchCall_BattleFrontierRecordStreakText5[]; +extern const u8 MatchCall_BattleFrontierRecordStreakText6[]; +extern const u8 MatchCall_BattleFrontierRecordStreakText7[]; +extern const u8 MatchCall_BattleFrontierRecordStreakText8[]; +extern const u8 MatchCall_BattleFrontierRecordStreakText9[]; +extern const u8 MatchCall_BattleFrontierRecordStreakText10[]; +extern const u8 MatchCall_BattleFrontierRecordStreakText11[]; +extern const u8 MatchCall_BattleFrontierRecordStreakText12[]; +extern const u8 MatchCall_BattleFrontierRecordStreakText13[]; +extern const u8 MatchCall_BattleFrontierRecordStreakText14[]; +extern const u8 MatchCall_BattleDomeText1[]; +extern const u8 MatchCall_BattleDomeText2[]; +extern const u8 MatchCall_BattleDomeText3[]; +extern const u8 MatchCall_BattleDomeText4[]; +extern const u8 MatchCall_BattleDomeText5[]; +extern const u8 MatchCall_BattleDomeText6[]; +extern const u8 MatchCall_BattleDomeText7[]; +extern const u8 MatchCall_BattleDomeText8[]; +extern const u8 MatchCall_BattleDomeText9[]; +extern const u8 MatchCall_BattleDomeText10[]; +extern const u8 MatchCall_BattleDomeText11[]; +extern const u8 MatchCall_BattleDomeText12[]; +extern const u8 MatchCall_BattleDomeText13[]; +extern const u8 MatchCall_BattleDomeText14[]; +extern const u8 MatchCall_BattlePikeText1[]; +extern const u8 MatchCall_BattlePikeText2[]; +extern const u8 MatchCall_BattlePikeText3[]; +extern const u8 MatchCall_BattlePikeText4[]; +extern const u8 MatchCall_BattlePikeText5[]; +extern const u8 MatchCall_BattlePikeText6[]; +extern const u8 MatchCall_BattlePikeText7[]; +extern const u8 MatchCall_BattlePikeText8[]; +extern const u8 MatchCall_BattlePikeText9[]; +extern const u8 MatchCall_BattlePikeText10[]; +extern const u8 MatchCall_BattlePikeText11[]; +extern const u8 MatchCall_BattlePikeText12[]; +extern const u8 MatchCall_BattlePikeText13[]; +extern const u8 MatchCall_BattlePikeText14[]; +extern const u8 MatchCall_BattlePyramidText1[]; +extern const u8 MatchCall_BattlePyramidText2[]; +extern const u8 MatchCall_BattlePyramidText3[]; +extern const u8 MatchCall_BattlePyramidText4[]; +extern const u8 MatchCall_BattlePyramidText5[]; +extern const u8 MatchCall_BattlePyramidText6[]; +extern const u8 MatchCall_BattlePyramidText7[]; +extern const u8 MatchCall_BattlePyramidText8[]; +extern const u8 MatchCall_BattlePyramidText9[]; +extern const u8 MatchCall_BattlePyramidText10[]; +extern const u8 MatchCall_BattlePyramidText11[]; +extern const u8 MatchCall_BattlePyramidText12[]; +extern const u8 MatchCall_BattlePyramidText13[]; +extern const u8 MatchCall_BattlePyramidText14[]; + +// Contest Link +extern const u8 gText_ColorDarkGrey[]; +extern const u8 gText_CommunicationStandby[]; +extern const u8 gText_AnnouncingResults[]; +extern const u8 gText_PreliminaryResults[]; +extern const u8 gText_Round2Results[]; +extern const u8 gText_Var1sVar2Won[]; + #endif //GUARD_STRINGS_H diff --git a/include/trade.h b/include/trade.h index e3c18bffd8..95a10cacf5 100644 --- a/include/trade.h +++ b/include/trade.h @@ -12,8 +12,12 @@ s32 sub_807A728(void); void sub_80773AC(void); void sub_807AE50(void); -int sub_807A8D0(u32 /* probably wrong */, u16, u16, u8); -int sub_807A7E0(u32 /* probably wrong */, u32 /* probably wrong */, u16, u16, u16, u16, u8); +int sub_807A8D0(struct UnkLinkRfuStruct_02022B14Substruct a0, u16, u16, u8); +int sub_807A7E0(struct UnkLinkRfuStruct_02022B14Substruct a0, struct UnkLinkRfuStruct_02022B14Substruct a1, u16 a2, u16 a3, u8 a4, u16 a5, u8 a6); int sub_807A918(struct Pokemon*, u16); +void sub_807B140(void); +void sub_807B154(void); +void sub_807F19C(void); +void sub_807F1A8(u8, const u8 *, u8); #endif //GUARD_TRADE_H diff --git a/include/trainer_card.h b/include/trainer_card.h index d80a5fa524..1af247d8a8 100644 --- a/include/trainer_card.h +++ b/include/trainer_card.h @@ -38,5 +38,6 @@ void sub_80C3120(struct TrainerCard *arg0, u16 *arg1, u8 gameVersion); void TrainerCard_ShowLinkCard(u8 arg0, void (*callback)(void)); void TrainerCard_GenerateCardForPlayer(struct TrainerCard *); u8 sub_80C4904(u8); +void sub_80C6D80(const u8 *, u8 *, u8, u8, u8); #endif // GUARD_TRAINER_CARD_H diff --git a/include/tv.h b/include/tv.h index 5528bada74..ea02268154 100644 --- a/include/tv.h +++ b/include/tv.h @@ -48,10 +48,13 @@ void PutPokemonTodayCaughtOnAir(void); void TV_PutSecretBaseVisitOnTheAir(void); void PutBattleUpdateOnTheAir(u8 opponentLinkPlayerId, u16 move, u16 speciesPlayer, u16 speciesOpponent); void BravoTrainerPokemonProfile_BeforeInterview1(u16 move); +void InterviewBefore(void); +void InterviewAfter(void); void UpdateTVScreensOnMap(int, int); void TV_PrintIntToStringVar(u8 varIdx, int value); void SaveRecordedItemPurchasesForTVShow(void); bool8 sub_80EE818(void); void sub_80EE8C8(u16 winStreak, u8 facilityAndMode); +void BravoTrainerPokemonProfile_BeforeInterview2(u8 contestStandingPlace); #endif //GUARD_TV_H diff --git a/include/util.h b/include/util.h index 997c8f7131..9d13453c20 100644 --- a/include/util.h +++ b/include/util.h @@ -14,5 +14,6 @@ u16 CalcCRC16(u8 *data, s32 length); u16 CalcCRC16WithTable(u8 *data, u32 length); u32 CalcByteArraySum(const u8* data, u32 length); void BlendPalette(u16 palOffset, u16 numEntries, u8 coeff, u16 blendColor); +void DoBgAffineSet(struct BgAffineDstData *dest, u32 texX, u32 texY, s16 scrX, s16 scrY, s16 sx, s16 sy, u16 alpha); #endif // GUARD_UTIL_H diff --git a/ld_script.sed b/ld_script.sed deleted file mode 100644 index b91542b6f8..0000000000 --- a/ld_script.sed +++ /dev/null @@ -1,14 +0,0 @@ -// { - r sym_ewram.ld - d -} - -// { - r sym_bss.ld - d -} - -// { - r sym_common.ld - d -} diff --git a/ld_script.txt b/ld_script.txt index 66d4077404..fee5a7cff6 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -13,7 +13,7 @@ SECTIONS { . = 0x1C000; - + INCLUDE "sym_ewram.ld" . = 0x40000; } @@ -24,13 +24,13 @@ SECTIONS { ALIGN(4) { /* .bss starts at 0x3000000 */ - + INCLUDE "sym_bss.ld" /* .bss.code starts at 0x3001AA8 */ src/m4a_2.o(.bss.code); /* COMMON starts at 0x30022A8 */ - + INCLUDE "sym_common.ld" *libc.a:sbrkr.o(COMMON); end = .; . = 0x8000; @@ -81,7 +81,7 @@ SECTIONS { src/smokescreen.o(.text); src/pokeball.o(.text); src/load_save.o(.text); - asm/trade.o(.text); + src/trade.o(.text); src/berry_blender.o(.text); src/play_time.o(.text); src/new_game.o(.text); @@ -146,6 +146,7 @@ SECTIONS { src/record_mixing.o(.text); src/secret_base.o(.text); src/tv.o(.text); + src/contest_link_80F57C4.o(.text); asm/contest_link_80F57C4.o(.text); src/script_pokemon_util_80F87D8.o(.text); src/field_poison.o(.text); @@ -154,7 +155,7 @@ SECTIONS { src/field_special_scene.o(.text); src/rotating_gate.o(.text); src/safari_zone.o(.text); - asm/contest_link_80FC4F4.o(.text); + src/contest_link_80FC4F4.o(.text); src/item_use.o(.text); src/battle_anim_effects_1.o(.text); src/battle_anim_effects_2.o(.text); @@ -185,6 +186,7 @@ SECTIONS { src/dewford_trend.o(.text); src/heal_location.o(.text); src/region_map.o(.text); + src/contest_painting_effects.o(.text); asm/contest_painting_effects.o(.text); src/decoration.o(.text); src/slot_machine.o(.text); @@ -205,7 +207,7 @@ SECTIONS { src/battle_records.o(.text); src/pokedex_area_screen.o(.text); src/evolution_scene.o(.text); - asm/roulette.o(.text); + src/roulette.o(.text); src/pokedex_cry_screen.o(.text); src/coins.o(.text); src/landmark.o(.text); @@ -225,7 +227,6 @@ SECTIONS { src/battle_controller_safari.o(.text); src/fldeff_sweetscent.o(.text); src/battle_anim_effects_3.o(.text); - asm/battle_anim_effects_3.o(.text); src/learn_move.o(.text); src/fldeff_softboiled.o(.text); src/decoration_inventory.o(.text); @@ -262,7 +263,7 @@ SECTIONS { src/lilycove_lady.o(.text); src/battle_dome.o(.text); src/battle_palace.o(.text); - asm/battle_frontier_1.o(.text); + src/match_call.o(.text); src/menu.o(.text); src/battle_factory_screen.o(.text); src/apprentice.o(.text); @@ -289,11 +290,11 @@ SECTIONS { src/unk_pokedex_area_screen_helper.o(.text); src/battle_pyramid_bag.o(.text); asm/pokenav.o(.text); - src/match_call.o(.text); + src/pokenav_match_call.o(.text); asm/pokenav.o(.text.after.match.call); src/rayquaza_scene.o(.text); src/walda_phrase.o(.text); - asm/contest_link_81D9DE4.o(.text); + src/contest_link_81D9DE4.o(.text); src/gym_leader_rematch.o(.text); src/unk_transition.o(.text); src/international_string_util.o(.text); @@ -419,7 +420,7 @@ SECTIONS { src/battle_gfx_sfx_util.o(.rodata); src/battle_interface.o(.rodata); src/pokeball.o(.rodata); - data/trade.o(.rodata); + src/trade.o(.rodata); src/berry_blender.o(.rodata); src/new_game.o(.rodata); src/overworld.o(.rodata); @@ -525,7 +526,7 @@ SECTIONS { src/battle_records.o(.rodata); src/pokedex_area_screen.o(.rodata); src/evolution_scene.o(.rodata); - data/roulette.o(.rodata); + src/roulette.o(.rodata); src/pokedex_cry_screen.o(.rodata); src/landmark.o(.rodata); src/battle_transition.o(.rodata); @@ -569,7 +570,7 @@ SECTIONS { src/lilycove_lady.o(.rodata); src/battle_dome.o(.rodata); src/battle_palace.o(.rodata); - data/battle_frontier_1.o(.rodata); + src/match_call.o(.rodata); src/menu.o(.rodata); src/battle_factory_screen.o(.rodata); src/apprentice.o(.rodata); @@ -594,7 +595,7 @@ SECTIONS { src/unk_pokedex_area_screen_helper.o(.rodata); src/battle_pyramid_bag.o(.rodata); data/pokenav.o(.rodata); - src/match_call.o(.rodata); + src/pokenav_match_call.o(.rodata); data/pokenav.o(.rodata.after.match.call); src/rayquaza_scene.o(.rodata); src/walda_phrase.o(.rodata); diff --git a/src/battle_anim_80A5C6C.c b/src/battle_anim_80A5C6C.c index 7b9e975c40..3efc86bf82 100644 --- a/src/battle_anim_80A5C6C.c +++ b/src/battle_anim_80A5C6C.c @@ -72,10 +72,10 @@ static const struct UCoords8 sBattlerCoords[][4] = // One entry for each of the four Castform forms. const struct MonCoords gCastformFrontSpriteCoords[] = { - { 0x44, 17 }, // NORMAL - { 0x66, 9 }, // SUN - { 0x46, 9 }, // RAIN - { 0x86, 8 }, // HAIL + { .size = 0x44, .y_offset = 17 }, // NORMAL + { .size = 0x66, .y_offset = 9 }, // SUN + { .size = 0x46, .y_offset = 9 }, // RAIN + { .size = 0x86, .y_offset = 8 }, // HAIL }; static const u8 sCastformElevations[] = @@ -703,7 +703,7 @@ void sub_80A67F4(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_80A6814(u8 taskId) +void DestroyAnimVisualTaskAndDisableBlend(u8 taskId) { SetGpuReg(REG_OFFSET_BLDCNT, 0); SetGpuReg(REG_OFFSET_BLDALPHA, 0); @@ -948,7 +948,7 @@ void sub_80A6C68(u32 bgId) CopyBgTilemapBufferToVram(unkStruct.bgId); } -void sub_80A6CC0(u32 bgId, const void *src, u32 tilesOffset) +void sub_80A6CC0(u32 bgId, const u32 *src, u32 tilesOffset) { CpuFill32(0, gUnknown_0202305C, 0x2000); LZDecompressWram(src, gUnknown_0202305C); @@ -2092,17 +2092,17 @@ u8 sub_80A8394(u16 species, bool8 isBackpic, u8 a3, s16 x, s16 y, u8 subpriority return spriteId; } -void sub_80A8610(struct Sprite *sprite) +void DestroySpriteAndFreeResources_(struct Sprite *sprite) { DestroySpriteAndFreeResources(sprite); } -s16 sub_80A861C(u8 battlerId, u8 a2) +s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 attr) { u16 species; u32 personality; u16 letter; - u16 var; + u16 unownSpecies; int ret; const struct MonCoords *coords; struct BattleSpriteInfo *spriteInfo; @@ -2123,10 +2123,10 @@ s16 sub_80A861C(u8 battlerId, u8 a2) { letter = GET_UNOWN_LETTER(personality); if (!letter) - var = SPECIES_UNOWN; + unownSpecies = SPECIES_UNOWN; else - var = letter + SPECIES_UNOWN_B - 1; - coords = &gMonBackPicCoords[var]; + unownSpecies = letter + SPECIES_UNOWN_B - 1; + coords = &gMonBackPicCoords[unownSpecies]; } else if (species == SPECIES_CASTFORM) { @@ -2156,16 +2156,17 @@ s16 sub_80A861C(u8 battlerId, u8 a2) species = spriteInfo[battlerId].transformSpecies; personality = gTransformedPersonalities[battlerId]; } + if (species == SPECIES_UNOWN) { letter = GET_UNOWN_LETTER(personality); if (!letter) - var = SPECIES_UNOWN; + unownSpecies = SPECIES_UNOWN; else - var = letter + SPECIES_UNOWN_B - 1; - coords = &gMonBackPicCoords[var]; + unownSpecies = letter + SPECIES_UNOWN_B - 1; + coords = &gMonBackPicCoords[unownSpecies]; } - else if (species > SPECIES_EGG) + else if (species > NUM_SPECIES) { coords = &gMonBackPicCoords[0]; } @@ -2187,20 +2188,21 @@ s16 sub_80A861C(u8 battlerId, u8 a2) species = spriteInfo[battlerId].transformSpecies; personality = gTransformedPersonalities[battlerId]; } + if (species == SPECIES_UNOWN) { letter = GET_UNOWN_LETTER(personality); if (!letter) - var = SPECIES_UNOWN; + unownSpecies = SPECIES_UNOWN; else - var = letter + SPECIES_UNOWN_B - 1; - coords = &gMonFrontPicCoords[var]; + unownSpecies = letter + SPECIES_UNOWN_B - 1; + coords = &gMonFrontPicCoords[unownSpecies]; } else if (species == SPECIES_CASTFORM) { coords = &gCastformFrontSpriteCoords[gBattleMonForms[battlerId]]; } - else if (species > SPECIES_EGG) + else if (species > NUM_SPECIES) { coords = &gMonFrontPicCoords[0]; } @@ -2211,22 +2213,22 @@ s16 sub_80A861C(u8 battlerId, u8 a2) } } - switch (a2) + switch (attr) { - case 0: - return (coords->coords & 0xf) * 8; - case 1: - return (coords->coords >> 4) * 8; - case 4: - return GetBattlerSpriteCoord(battlerId, 2) - ((coords->coords >> 4) * 4); - case 5: - return GetBattlerSpriteCoord(battlerId, 2) + ((coords->coords >> 4) * 4); - case 2: - return GetBattlerSpriteCoord(battlerId, 3) - ((coords->coords & 0xf) * 4); - case 3: - return GetBattlerSpriteCoord(battlerId, 3) + ((coords->coords & 0xf) * 4); - case 6: - ret = GetBattlerSpriteCoord(battlerId, 1) + 0x1f; + case BATTLER_COORD_ATTR_HEIGHT: + return (coords->size & 0xf) * 8; + case BATTLER_COORD_ATTR_WIDTH: + return (coords->size >> 4) * 8; + case BATTLER_COORD_ATTR_LEFT: + return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2) - ((coords->size >> 4) * 4); + case BATTLER_COORD_ATTR_RIGHT: + return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2) + ((coords->size >> 4) * 4); + case BATTLER_COORD_ATTR_TOP: + return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y_PIC_OFFSET) - ((coords->size & 0xf) * 4); + case BATTLER_COORD_ATTR_BOTTOM: + return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y_PIC_OFFSET) + ((coords->size & 0xf) * 4); + case BATTLER_COORD_ATTR_RAW_BOTTOM: + ret = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 31; return ret - coords->y_offset; default: return 0; diff --git a/src/battle_anim_8170478.c b/src/battle_anim_8170478.c index 502c4cdbbd..7d899fb09d 100755 --- a/src/battle_anim_8170478.c +++ b/src/battle_anim_8170478.c @@ -388,7 +388,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_085E535C = }; extern const struct SpriteTemplate gUnknown_085CE388; -extern const struct SpriteTemplate gUnknown_085CE3A0; +extern const struct SpriteTemplate gMiniTwinklingStarSpriteTemplate; void unref_sub_8170478(u8 taskId) { @@ -428,7 +428,7 @@ void unref_sub_8170478(u8 taskId) sub_80A6B30(&unknownStruct); sub_80A6D48(unknownStruct.bgId, gUnknown_08C2EA9C); sub_80A6CC0(unknownStruct.bgId, gUnknown_08C2EA50, unknownStruct.tilesOffset); - LoadCompressedPalette(gUnknown_08C2DDA4, unknownStruct.unk8 << 4, 32); + LoadCompressedPalette(gCureBubblesPal, unknownStruct.unk8 << 4, 32); gBattle_BG1_X = -gSprites[spriteId3].pos1.x + 32; gBattle_BG1_Y = -gSprites[spriteId3].pos1.y - 32; @@ -2081,12 +2081,12 @@ static void sub_8172FEC(u8 taskId) } else if (state >= 0 && gTasks[taskId].data[11] < 4) { - spriteId = CreateSprite(&gUnknown_085CE3A0, x, y, 5); + spriteId = CreateSprite(&gMiniTwinklingStarSpriteTemplate, x, y, 5); gSprites[spriteId].oam.tileNum += 4; } else { - spriteId = CreateSprite(&gUnknown_085CE3A0, x, y, 5); + spriteId = CreateSprite(&gMiniTwinklingStarSpriteTemplate, x, y, 5); gSprites[spriteId].oam.tileNum += 5; } diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c index 8446567de3..e398dcec6a 100644 --- a/src/battle_anim_effects_1.c +++ b/src/battle_anim_effects_1.c @@ -3556,8 +3556,8 @@ void sub_80FFFC0(u8 taskId) task->data[4] = GetBattlerSpriteSubpriority(gBattleAnimTarget) - 1; task->data[6] = GetBattlerSpriteCoord(gBattleAnimTarget, 2); task->data[7] = GetBattlerSpriteCoord(gBattleAnimTarget, 3); - task->data[10] = sub_80A861C(gBattleAnimTarget, 1); - task->data[11] = sub_80A861C(gBattleAnimTarget, 0); + task->data[10] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_WIDTH); + task->data[11] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_HEIGHT); task->data[5] = (GetBattlerSide(gBattleAnimTarget) == B_SIDE_OPPONENT) ? 1 : -1; task->data[9] = 56 - (task->data[5] * 64); task->data[8] = task->data[7] - task->data[9] + task->data[6]; @@ -5711,11 +5711,11 @@ static void sub_81030B0(struct Sprite* sprite) void sub_810310C(u8 battler, struct Sprite* sprite) { if (GetBattlerSide(battler) == B_SIDE_PLAYER) - sprite->pos1.x = sub_80A861C(battler, 5) + 8; + sprite->pos1.x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_RIGHT) + 8; else - sprite->pos1.x = sub_80A861C(battler, 4) - 8; + sprite->pos1.x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_LEFT) - 8; - sprite->pos1.y = GetBattlerSpriteCoord(battler, 3) - (s16)sub_80A861C(battler, 0) / 4; + sprite->pos1.y = GetBattlerSpriteCoord(battler, 3) - (s16)GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_HEIGHT) / 4; } void sub_8103164(struct Sprite* sprite) @@ -5779,7 +5779,7 @@ void sub_8103284(struct Sprite* sprite) battler = gBattleAnimTarget; sprite->pos1.x = GetBattlerSpriteCoord(battler, 0); - sprite->pos1.y = sub_80A861C(battler, 2); + sprite->pos1.y = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_TOP); if (sprite->pos1.y <= 9) sprite->pos1.y = 10; diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c index 0ec8b63d7a..8306ada1c4 100755 --- a/src/battle_anim_effects_2.c +++ b/src/battle_anim_effects_2.c @@ -2446,7 +2446,7 @@ void sub_8104E74(u8 taskId) task->data[3] = 0; task->data[4] = 0; task->data[5] = 0; - task->data[15] = sub_80A861C(gBattleAnimTarget, 0); + task->data[15] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_HEIGHT); if (GetBattlerSpriteBGPriorityRank(gBattleAnimTarget) == 1) { @@ -2531,7 +2531,7 @@ void sub_810501C(struct Sprite *sprite) sprite->data[2] = 0; sprite->data[3] = 16; sprite->data[4] = 0; - sprite->data[5] = sub_80A861C(gBattleAnimTarget, 0) + 2; + sprite->data[5] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_HEIGHT) + 2; sprite->data[6] = BattleAnimAdjustPanning(63); sprite->callback = sub_8105078; } @@ -3390,8 +3390,8 @@ void sub_81064F8(u8 taskId) else sub_80A6D60(&unknownStruct, &gBattleAnimBackgroundTilemap_ScaryFaceOpponent, 0); - sub_80A6CC0(unknownStruct.bgId, &gUnknown_08C249F8, unknownStruct.tilesOffset); - LoadCompressedPalette(&gUnknown_08C249D0, unknownStruct.unk8 << 4, 32); + sub_80A6CC0(unknownStruct.bgId, gUnknown_08C249F8, unknownStruct.tilesOffset); + LoadCompressedPalette(gUnknown_08C249D0, unknownStruct.unk8 << 4, 32); gTasks[taskId].func = sub_81065EC; } diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c index 5f135691b9..a8b7d6d6a2 100755 --- a/src/battle_anim_effects_3.c +++ b/src/battle_anim_effects_3.c @@ -22,6 +22,7 @@ #include "constants/rgb.h" #include "constants/songs.h" #include "constants/species.h" +#include "constants/weather.h" extern u8 sub_807521C(s16 x, s16 y, u8 a3); extern void sub_810E2C8(struct Sprite *); @@ -45,31 +46,31 @@ void sub_815ACD0(struct Sprite *); void sub_815B27C(struct Sprite *); void sub_815B394(struct Sprite *); void sub_815B49C(struct Sprite *); -void sub_815B570(struct Sprite *); +void AnimMiniTwinklingStar(struct Sprite *); void sub_815B70C(struct Sprite *); void sub_815BE04(struct Sprite *); -void sub_815C400(struct Sprite *); -void sub_815C6B0(struct Sprite *); -void sub_815C95C(struct Sprite *); -void sub_815CB88(struct Sprite *); -void sub_815CC94(struct Sprite *); -void sub_815CDB4(struct Sprite *); -void sub_815D7B4(struct Sprite *); -void sub_815D870(struct Sprite *); +void AnimWeakFrustrationAngerMark(struct Sprite *); +void AnimSweetScentPetal(struct Sprite *); +void AnimPainSplitProjectile(struct Sprite *); +void AnimFlatterConfetti(struct Sprite *); +void AnimFlatterSpotlight(struct Sprite *); +void AnimReversalOrb(struct Sprite *); +void AnimYawnCloud(struct Sprite *); +void AnimSmokeBallEscapeCloud(struct Sprite *); void sub_815DEBC(struct Sprite *); -void sub_815E01C(struct Sprite *); -void sub_815E404(struct Sprite *); -void sub_815E444(struct Sprite *); -void sub_815E6D8(struct Sprite *); -void sub_815E954(struct Sprite *); -void sub_815EA14(struct Sprite *); -void sub_815EE84(struct Sprite *); -void sub_815F18C(struct Sprite *); -void sub_815F48C(struct Sprite *); +void AnimRoarNoiseLine(struct Sprite *); +void AnimGlareEyeDot(struct Sprite *); +void AnimAssistPawprint(struct Sprite *); +void AnimSmellingSaltsHand(struct Sprite *); +void AnimSmellingSaltExclamation(struct Sprite *); +void AnimHelpingHandClap(struct Sprite *); +void AnimForesightMagnifyingGlass(struct Sprite *); +void AnimMeteorMashStar(struct Sprite *); +void AnimBlockX(struct Sprite *); void sub_815FE80(struct Sprite *); void sub_81061C4(struct Sprite *); -void sub_8160338(struct Sprite *); -void sub_81603A8(struct Sprite *); +void AnimKnockOffStrike(struct Sprite *); +void AnimRecycle(struct Sprite *); static void sub_815A114(struct Sprite *); static void sub_815A1F4(struct Sprite *); static void sub_815A234(struct Sprite *); @@ -93,33 +94,37 @@ static void sub_815B5D0(struct Sprite *); static void sub_815BF44(struct Sprite *); static void sub_815BFF4(struct Sprite *); static void sub_815C050(struct Sprite *); -static void sub_815C548(u8); -static void sub_815C700(struct Sprite *); -static void sub_815C7C4(u8); -static void sub_815CC34(struct Sprite *); -static void sub_815CD0C(struct Sprite *); -static void sub_815CDFC(struct Sprite *); -static void sub_815D1BC(u8); -static void sub_815D398(u8); -static void sub_815D694(u8); -static void sub_815D804(struct Sprite *); -static void sub_815DD48(u8); -static void sub_815DDE0(u8, bool8); -static void sub_815DF64(u8); -static void sub_815E0DC(struct Sprite *); -static void sub_815E20C(u8); -static void sub_815E34C(s16, s16, s16, s16, u8, u8, s16 *, s16 *); -static void sub_815E5CC(u8); +static void AnimTask_RockMonBackAndForthStep(u8); +static void AnimSweetScentPetalStep(struct Sprite *); +static void AnimTask_FlailMovementStep(u8); +static void AnimFlatterConfettiStep(struct Sprite *); +static void AnimFlatterSpotlightStep(struct Sprite *); +static void AnimReversalOrbStep(struct Sprite *); +static void AnimTask_RolePlaySilhouetteStep1(u8); +static void AnimTask_RolePlaySilhouetteStep2(u8); +static void AnimTask_AcidArmorStep(u8); +static void AnimTask_DeepInhaleStep(u8); +static void AnimYawnCloudStep(struct Sprite *); +static void AnimTask_SquishAndSweatDropletsStep(u8); +static void CreateSweatDroplets(u8, bool8); +static void AnimTask_FacadeColorBlendStep(u8); +static void AnimRoarNoiseLineStep(struct Sprite *); +static void AnimTask_GlareEyeDotsStep(u8); +static void GetGlareEyeDotCoords(s16, s16, s16, s16, u8, u8, s16 *, s16 *); +static void AnimTask_BarrageBallStep(u8); static void sub_815E784(struct Sprite *); -static void sub_815E898(u8); -static void sub_815E9BC(struct Sprite *); -static void sub_815EA60(struct Sprite *); -static void sub_815ECE4(u8); -static void sub_815EF08(struct Sprite *); -static void sub_815F330(u8); -static void sub_815F4F0(struct Sprite *); -static void sub_815F79C(u8); -static void sub_815F7C4(struct Sprite *); +static void AnimTask_SmellingSaltsSquishStep(u8); +static void AnimSmellingSaltExclamationStep(struct Sprite *); +static void AnimHelpingHandClapStep(struct Sprite *); +static void AnimTask_HelpingHandAttackerMovementStep(u8); +static void AnimForesightMagnifyingGlassStep(struct Sprite *); +static void AnimTask_MonToSubstituteDoll(u8); +static void AnimBlockXStep(struct Sprite *); +static void AnimTask_OdorSleuthMovementWaitFinish(u8); +static void MoveOdorSleuthClone(struct Sprite *); +static void AnimTask_TeeterDanceMovementStep(u8); +static void AnimRecycleStep(struct Sprite *); +static void AnimTask_SlackOffSquishStep(u8); const union AnimCmd gUnknown_085CE004[] = { @@ -535,7 +540,7 @@ const struct SpriteTemplate gUnknown_085CE388 = .callback = sub_815B49C, }; -const struct SpriteTemplate gUnknown_085CE3A0 = +const struct SpriteTemplate gMiniTwinklingStarSpriteTemplate = { .tileTag = ANIM_TAG_GOLD_STARS, .paletteTag = ANIM_TAG_GOLD_STARS, @@ -543,7 +548,7 @@ const struct SpriteTemplate gUnknown_085CE3A0 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815B570, + .callback = AnimMiniTwinklingStar, }; const union AffineAnimCmd gUnknown_085CE3B8[] = @@ -649,7 +654,7 @@ const u8 gUnknown_085CE4A8[] = 50, }; -const union AffineAnimCmd gUnknown_085CE4B0[] = +const union AffineAnimCmd gStrongFrustrationAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(0, -15, 0, 7), AFFINEANIMCMD_FRAME(0, 15, 0, 7), @@ -657,7 +662,7 @@ const union AffineAnimCmd gUnknown_085CE4B0[] = AFFINEANIMCMD_END, }; -const struct SpriteTemplate gUnknown_085CE4D0 = +const struct SpriteTemplate gWeakFrustrationAngerMarkSpriteTemplate = { .tileTag = ANIM_TAG_ANGER, .paletteTag = ANIM_TAG_ANGER, @@ -665,10 +670,10 @@ const struct SpriteTemplate gUnknown_085CE4D0 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815C400, + .callback = AnimWeakFrustrationAngerMark, }; -const union AnimCmd gUnknown_085CE4E8[] = +const union AnimCmd gSweetScentPetalAnimCmds1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 8), @@ -681,7 +686,7 @@ const union AnimCmd gUnknown_085CE4E8[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gUnknown_085CE50C[] = +const union AnimCmd gSweetScentPetalAnimCmds2[] = { ANIMCMD_FRAME(0, 8, .hFlip = TRUE), ANIMCMD_FRAME(1, 8, .hFlip = TRUE), @@ -694,33 +699,33 @@ const union AnimCmd gUnknown_085CE50C[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gUnknown_085CE530[] = +const union AnimCmd gSweetScentPetalAnimCmds3[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_085CE538[] = +const union AnimCmd *const gSweetScentPetalAnimCmdTable[] = { - gUnknown_085CE4E8, - gUnknown_085CE50C, - gUnknown_085CE530, + gSweetScentPetalAnimCmds1, + gSweetScentPetalAnimCmds2, + gSweetScentPetalAnimCmds3, }; -const struct SpriteTemplate gUnknown_085CE544 = +const struct SpriteTemplate gSweetScentPetalSpriteTemplate = { .tileTag = ANIM_TAG_PINK_PETAL, .paletteTag = ANIM_TAG_PINK_PETAL, .oam = &gUnknown_08524904, - .anims = gUnknown_085CE538, + .anims = gSweetScentPetalAnimCmdTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815C6B0, + .callback = AnimSweetScentPetal, }; const u16 gUnknown_085CE55C[] = INCBIN_U16("graphics/unknown/unknown_85CE55C.gbapal"); -const union AnimCmd gUnknown_085CE57C[] = +const union AnimCmd gPainSplitAnimCmds[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(4, 9), @@ -728,23 +733,23 @@ const union AnimCmd gUnknown_085CE57C[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_085CE58C[] = +const union AnimCmd *const gPainSplitAnimCmdTable[] = { - gUnknown_085CE57C, + gPainSplitAnimCmds, }; -const struct SpriteTemplate gUnknown_085CE590 = +const struct SpriteTemplate gPainSplitProjectileSpriteTemplate = { .tileTag = ANIM_TAG_PAIN_SPLIT, .paletteTag = ANIM_TAG_PAIN_SPLIT, .oam = &gUnknown_0852490C, - .anims = gUnknown_085CE58C, + .anims = gPainSplitAnimCmdTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815C95C, + .callback = AnimPainSplitProjectile, }; -const struct SpriteTemplate gUnknown_085CE5A8 = +const struct SpriteTemplate gFlatterConfettiSpriteTemplate = { .tileTag = ANIM_TAG_CONFETTI, .paletteTag = ANIM_TAG_CONFETTI, @@ -752,10 +757,10 @@ const struct SpriteTemplate gUnknown_085CE5A8 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815CB88, + .callback = AnimFlatterConfetti, }; -const struct SpriteTemplate gUnknown_085CE5C0 = +const struct SpriteTemplate gFlatterSpotlightSpriteTemplate = { .tileTag = ANIM_TAG_SPOTLIGHT, .paletteTag = ANIM_TAG_SPOTLIGHT, @@ -763,10 +768,10 @@ const struct SpriteTemplate gUnknown_085CE5C0 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_085CE224, - .callback = sub_815CC94, + .callback = AnimFlatterSpotlight, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_85CE5D8 = +const struct SpriteTemplate gReversalOrbSpriteTemplate = { .tileTag = ANIM_TAG_BLUE_ORB, .paletteTag = ANIM_TAG_BLUE_ORB, @@ -774,10 +779,10 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_85CE5D8 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815CDB4, + .callback = AnimReversalOrb, }; -const union AffineAnimCmd gUnknown_085CE5F0[] = +const union AffineAnimCmd gDeepInhaleAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(16, 0, 0, 4), AFFINEANIMCMD_FRAME(0, -3, 0, 16), @@ -787,7 +792,7 @@ const union AffineAnimCmd gUnknown_085CE5F0[] = AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_085CE620[] = +const union AffineAnimCmd gYawnCloudAffineAnimCmds1[] = { AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0), AFFINEANIMCMD_FRAME(-8, -8, 0, 8), @@ -795,7 +800,7 @@ const union AffineAnimCmd gUnknown_085CE620[] = AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd gUnknown_085CE640[] = +const union AffineAnimCmd gYawnCloudAffineAnimCmds2[] = { AFFINEANIMCMD_FRAME(0xC0, 0xC0, 0, 0), AFFINEANIMCMD_FRAME(8, 8, 0, 8), @@ -803,7 +808,7 @@ const union AffineAnimCmd gUnknown_085CE640[] = AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd gUnknown_085CE660[] = +const union AffineAnimCmd gYawnCloudAffineAnimCmds3[] = { AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), AFFINEANIMCMD_FRAME(8, 8, 0, 8), @@ -811,25 +816,25 @@ const union AffineAnimCmd gUnknown_085CE660[] = AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd *const gUnknown_085CE680[] = +const union AffineAnimCmd *const gYawnCloudAffineAnimTable[] = { - gUnknown_085CE620, - gUnknown_085CE640, - gUnknown_085CE660, + gYawnCloudAffineAnimCmds1, + gYawnCloudAffineAnimCmds2, + gYawnCloudAffineAnimCmds3, }; -const struct SpriteTemplate gUnknown_085CE68C = +const struct SpriteTemplate gYawnCloudSpriteTemplate = { .tileTag = ANIM_TAG_PINK_CLOUD, .paletteTag = ANIM_TAG_PINK_CLOUD, .oam = &gUnknown_08524974, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_085CE680, - .callback = sub_815D7B4, + .affineAnims = gYawnCloudAffineAnimTable, + .callback = AnimYawnCloud, }; -const union AffineAnimCmd gUnknown_085CE6A4[] = +const union AffineAnimCmd gSmokeBallEscapeCloudAffineAnimCmds1[] = { AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0), AFFINEANIMCMD_FRAME(-4, -6, 0, 16), @@ -837,7 +842,7 @@ const union AffineAnimCmd gUnknown_085CE6A4[] = AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd gUnknown_085CE6C4[] = +const union AffineAnimCmd gSmokeBallEscapeCloudAffineAnimCmds2[] = { AFFINEANIMCMD_FRAME(0xC0, 0xC0, 0, 0), AFFINEANIMCMD_FRAME(4, 6, 0, 16), @@ -845,7 +850,7 @@ const union AffineAnimCmd gUnknown_085CE6C4[] = AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd gUnknown_085CE6E4[] = +const union AffineAnimCmd gSmokeBallEscapeCloudAffineAnimCmds3[] = { AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), AFFINEANIMCMD_FRAME(4, 6, 0, 16), @@ -853,7 +858,7 @@ const union AffineAnimCmd gUnknown_085CE6E4[] = AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd gUnknown_085CE704[] = +const union AffineAnimCmd gSmokeBallEscapeCloudAffineAnimCmds4[] = { AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), AFFINEANIMCMD_FRAME(8, 10, 0, 30), @@ -861,26 +866,26 @@ const union AffineAnimCmd gUnknown_085CE704[] = AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd *const gUnknown_085CE724[] = +const union AffineAnimCmd *const gSmokeBallEscapeCloudAffineAnimTable[] = { - gUnknown_085CE6A4, - gUnknown_085CE6C4, - gUnknown_085CE6E4, - gUnknown_085CE704, + gSmokeBallEscapeCloudAffineAnimCmds1, + gSmokeBallEscapeCloudAffineAnimCmds2, + gSmokeBallEscapeCloudAffineAnimCmds3, + gSmokeBallEscapeCloudAffineAnimCmds4, }; -const struct SpriteTemplate gUnknown_085CE734 = +const struct SpriteTemplate gSmokeBallEscapeCloudSpriteTemplate = { .tileTag = ANIM_TAG_PINK_CLOUD, .paletteTag = ANIM_TAG_PINK_CLOUD, .oam = &gUnknown_085249D4, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_085CE724, - .callback = sub_815D870, + .affineAnims = gSmokeBallEscapeCloudAffineAnimTable, + .callback = AnimSmokeBallEscapeCloud, }; -const union AffineAnimCmd gUnknown_085CE74C[] = +const union AffineAnimCmd gFacadeSquishAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(-16, 16, 0, 6), AFFINEANIMCMD_FRAME(16, -16, 0, 12), @@ -888,7 +893,7 @@ const union AffineAnimCmd gUnknown_085CE74C[] = AFFINEANIMCMD_END, }; -const struct SpriteTemplate gUnknown_085CE76C = +const struct SpriteTemplate gFacadeSweatDrop = { .tileTag = ANIM_TAG_SWEAT_DROP, .paletteTag = ANIM_TAG_SWEAT_DROP, @@ -899,40 +904,65 @@ const struct SpriteTemplate gUnknown_085CE76C = .callback = sub_815DEBC, }; -const u16 gUnknown_085CE784[] = INCBIN_U16("graphics/battle_anims/sprites/effect.gbapal"); +const u16 gFacadeBlendColors[] = { + RGB(28, 25, 1), + RGB(28, 21, 5), + RGB(27, 18, 8), + RGB(27, 14, 11), + RGB(26, 10, 15), + RGB(26, 7, 18), + RGB(25, 3, 21), + RGB(25, 0, 25), + RGB(25, 0, 23), + RGB(25, 0, 20), + RGB(25, 0, 16), + RGB(25, 0, 13), + RGB(26, 0, 10), + RGB(26, 0, 6), + RGB(26, 0, 3), + RGB(27, 0, 0), + RGB(27, 1, 0), + RGB(27, 5, 0), + RGB(27, 9, 0), + RGB(27, 12, 0), + RGB(28, 16, 0), + RGB(28, 19, 0), + RGB(28, 23, 0), + RGB(29, 27, 0), +}; -const union AnimCmd gUnknown_085CE7B4[] = +const union AnimCmd gRoarNoiseLineAnimCmds1[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_FRAME(16, 3), ANIMCMD_JUMP(0), }; -const union AnimCmd gUnknown_085CE7C0[] = +const union AnimCmd gRoarNoiseLineAnimCmds2[] = { ANIMCMD_FRAME(32, 3), ANIMCMD_FRAME(48, 3), ANIMCMD_JUMP(0), }; -const union AnimCmd *const gUnknown_085CE7CC[] = +const union AnimCmd *const gRoarNoiseLineAnimTable[] = { - gUnknown_085CE7B4, - gUnknown_085CE7C0, + gRoarNoiseLineAnimCmds1, + gRoarNoiseLineAnimCmds2, }; -const struct SpriteTemplate gUnknown_085CE7D4 = +const struct SpriteTemplate gRoarNoiseLineSpriteTemplate = { .tileTag = ANIM_TAG_NOISE_LINE, .paletteTag = ANIM_TAG_NOISE_LINE, .oam = &gUnknown_08524914, - .anims = gUnknown_085CE7CC, + .anims = gRoarNoiseLineAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815E01C, + .callback = AnimRoarNoiseLine, }; -const struct SpriteTemplate gUnknown_085CE7EC = +const struct SpriteTemplate gGlareEyeDotSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_RED_EYE, .paletteTag = ANIM_TAG_SMALL_RED_EYE, @@ -940,10 +970,10 @@ const struct SpriteTemplate gUnknown_085CE7EC = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815E404, + .callback = AnimGlareEyeDot, }; -const struct SpriteTemplate gUnknown_085CE804 = +const struct SpriteTemplate gAssistPawprintSpriteTemplate = { .tileTag = ANIM_TAG_PAW_PRINT, .paletteTag = ANIM_TAG_PAW_PRINT, @@ -951,40 +981,40 @@ const struct SpriteTemplate gUnknown_085CE804 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815E444, + .callback = AnimAssistPawprint, }; -const union AffineAnimCmd gUnknown_085CE81C[] = +const union AffineAnimCmd gBarrageBallAffineAnimCmds1[] = { AFFINEANIMCMD_FRAME(0, 0, -4, 24), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_085CE82C[] = +const union AffineAnimCmd gBarrageBallAffineAnimCmds2[] = { AFFINEANIMCMD_FRAME(0x100, 0x100, -64, 0), AFFINEANIMCMD_FRAME(0, 0, 4, 24), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_085CE844[] = +const union AffineAnimCmd *const gBarrageBallAffineAnimTable[] = { - gUnknown_085CE81C, - gUnknown_085CE82C, + gBarrageBallAffineAnimCmds1, + gBarrageBallAffineAnimCmds2, }; -const struct SpriteTemplate gUnknown_085CE84C = +const struct SpriteTemplate gBarrageBallSpriteTemplate = { .tileTag = ANIM_TAG_RED_BALL, .paletteTag = ANIM_TAG_RED_BALL, .oam = &gUnknown_08524974, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_085CE844, + .affineAnims = gBarrageBallAffineAnimTable, .callback = SpriteCallbackDummy, }; -const struct SpriteTemplate gUnknown_085CE864 = +const struct SpriteTemplate gSmellingSaltsHandSpriteTemplate = { .tileTag = ANIM_TAG_TAG_HAND, .paletteTag = ANIM_TAG_TAG_HAND, @@ -992,17 +1022,17 @@ const struct SpriteTemplate gUnknown_085CE864 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815E6D8, + .callback = AnimSmellingSaltsHand, }; -const union AffineAnimCmd gUnknown_085CE87C[] = +const union AffineAnimCmd gSmellingSaltsSquishAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(0, -16, 0, 6), AFFINEANIMCMD_FRAME(0, 16, 0, 6), AFFINEANIMCMD_END, }; -const struct SpriteTemplate gUnknown_085CE894 = +const struct SpriteTemplate gSmellingSaltExclamationSpriteTemplate = { .tileTag = ANIM_TAG_SMELLINGSALT_EFFECT, .paletteTag = ANIM_TAG_SMELLINGSALT_EFFECT, @@ -1010,10 +1040,10 @@ const struct SpriteTemplate gUnknown_085CE894 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815E954, + .callback = AnimSmellingSaltExclamation, }; -const struct SpriteTemplate gUnknown_085CE8AC = +const struct SpriteTemplate gHelpingHandClapSpriteTemplate = { .tileTag = ANIM_TAG_TAG_HAND, .paletteTag = ANIM_TAG_TAG_HAND, @@ -1021,10 +1051,10 @@ const struct SpriteTemplate gUnknown_085CE8AC = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815EA14, + .callback = AnimHelpingHandClap, }; -const struct SpriteTemplate gUnknown_085CE8C4 = +const struct SpriteTemplate gForesightMagnifyingGlassSpriteTemplate = { .tileTag = ANIM_TAG_MAGNIFYING_GLASS, .paletteTag = ANIM_TAG_MAGNIFYING_GLASS, @@ -1032,10 +1062,10 @@ const struct SpriteTemplate gUnknown_085CE8C4 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815EE84, + .callback = AnimForesightMagnifyingGlass, }; -const struct SpriteTemplate gUnknown_085CE8DC = +const struct SpriteTemplate gMeteorMashStarSpriteTemplate = { .tileTag = ANIM_TAG_GOLD_STARS, .paletteTag = ANIM_TAG_GOLD_STARS, @@ -1043,7 +1073,7 @@ const struct SpriteTemplate gUnknown_085CE8DC = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815F18C, + .callback = AnimMeteorMashStar, }; const struct SpriteTemplate gUnknown_085CE8F4 = @@ -1057,7 +1087,7 @@ const struct SpriteTemplate gUnknown_085CE8F4 = .callback = sub_81061C4, }; -const struct SpriteTemplate gUnknown_085CE90C = +const struct SpriteTemplate gBlockXSpriteTemplate = { .tileTag = ANIM_TAG_X_SIGN, .paletteTag = ANIM_TAG_X_SIGN, @@ -1065,7 +1095,7 @@ const struct SpriteTemplate gUnknown_085CE90C = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815F48C, + .callback = AnimBlockX, }; const struct SpriteTemplate gUnknown_085CE924 = @@ -1079,72 +1109,72 @@ const struct SpriteTemplate gUnknown_085CE924 = .callback = sub_815FE80, }; -const union AnimCmd gUnknown_085CE93C[] = +const union AnimCmd gKnockOffStrikeAnimCmds[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(64, 4), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_085CE948[] = +const union AnimCmd *const gKnockOffStrikeAnimTable[] = { - gUnknown_085CE93C, + gKnockOffStrikeAnimCmds, }; -const union AffineAnimCmd gUnknown_085CE94C[] = +const union AffineAnimCmd gKnockOffStrikeAffineanimCmds1[] = { AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), AFFINEANIMCMD_FRAME(0, 0, -4, 8), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_085CE964[] = +const union AffineAnimCmd gKnockOffStrikeAffineanimCmds2[] = { AFFINEANIMCMD_FRAME(-0x100, 0x100, 0, 0), AFFINEANIMCMD_FRAME(0, 0, 4, 8), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_085CE97C[] = +const union AffineAnimCmd *const gKnockOffStrikeAffineAnimTable[] = { - gUnknown_085CE94C, - gUnknown_085CE964, + gKnockOffStrikeAffineanimCmds1, + gKnockOffStrikeAffineanimCmds2, }; -const struct SpriteTemplate gUnknown_085CE984 = +const struct SpriteTemplate gKnockOffStrikeSpriteTemplate = { .tileTag = ANIM_TAG_SLAM_HIT_2, .paletteTag = ANIM_TAG_SLAM_HIT_2, .oam = &gUnknown_0852497C, - .anims = gUnknown_085CE948, + .anims = gKnockOffStrikeAnimTable, .images = NULL, - .affineAnims = gUnknown_085CE97C, - .callback = sub_8160338, + .affineAnims = gKnockOffStrikeAffineAnimTable, + .callback = AnimKnockOffStrike, }; -const union AffineAnimCmd gUnknown_085CE99C[] = +const union AffineAnimCmd gRecycleSpriteAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(0, 0, -4, 64), AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd *const gUnknown_085CE9AC[] = +const union AffineAnimCmd *const gRecycleSpriteAffineAnimTable[] = { - gUnknown_085CE99C, + gRecycleSpriteAffineAnimCmds, }; -const struct SpriteTemplate gUnknown_085CE9B0 = +const struct SpriteTemplate gRecycleSpriteTemplate = { .tileTag = ANIM_TAG_RECYCLE, .paletteTag = ANIM_TAG_RECYCLE, .oam = &gUnknown_08524A9C, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_085CE9AC, - .callback = sub_81603A8, + .affineAnims = gRecycleSpriteAffineAnimTable, + .callback = AnimRecycle, }; -const union AffineAnimCmd gUnknown_085CE9C8[] = +const union AffineAnimCmd gSlackOffSquishAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(0, 16, 0, 4), AFFINEANIMCMD_FRAME(-2, 0, 0, 8), @@ -1450,11 +1480,9 @@ void sub_815A7B0(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -// This is likely fakematching due to some strange type casting behavior. void sub_815A7EC(struct Sprite *sprite) { int var0; - int var1; if (sprite->data[0] == 0) { SetSpriteCoordsToAnimAttackerCoords(sprite); @@ -1468,16 +1496,13 @@ void sub_815A7EC(struct Sprite *sprite) } else { - var1 = -gBattleAnimArgs[2]; - sprite->data[1] = var1; - var1 = -gBattleAnimArgs[3]; - sprite->data[2] = var1; + sprite->data[1] = -1 * gBattleAnimArgs[2]; + sprite->data[2] = -1 * gBattleAnimArgs[3]; } } else { - var1 = -gBattleAnimArgs[2]; - sprite->data[1] = var1; + sprite->data[1] = -1 * gBattleAnimArgs[2]; sprite->data[2] = gBattleAnimArgs[3]; } } @@ -1486,8 +1511,8 @@ void sub_815A7EC(struct Sprite *sprite) var0 = (sprite->data[0] * 20) & 0xFF; sprite->data[3] += sprite->data[1]; sprite->data[4] += sprite->data[2]; - sprite->pos2.x = (sprite->data[3] + (s32)((u32)sprite->data[3] >> 31)) >> 1; - sprite->pos2.y = Sin(var0 & 0xFF, 5) + ((s32)(sprite->data[4] + ((u32)sprite->data[4] >> 31)) >> 1); + sprite->pos2.x = sprite->data[3] / 2; + sprite->pos2.y = Sin(var0 & 0xFF, 5) + (sprite->data[4] / 2); if ((u16)(sprite->pos1.x + sprite->pos2.x) > 240) DestroyAnimSprite(sprite); @@ -1688,7 +1713,6 @@ void sub_815AC8C(u8 taskId) void sub_815ACD0(struct Sprite *sprite) { - int var0; if (gBattleAnimArgs[0] == 0) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0) + gBattleAnimArgs[1]; @@ -1701,11 +1725,8 @@ void sub_815ACD0(struct Sprite *sprite) } sprite->pos2.y = gBattleAnimArgs[2]; - var0 = 0; - if (sprite->pos2.y > gBattleAnimArgs[3]) - var0 = 1; - sprite->data[0] = var0; + sprite->data[0] = (sprite->pos2.y > gBattleAnimArgs[3]); sprite->data[1] = 0; sprite->data[2] = gBattleAnimArgs[4]; sprite->data[3] = gBattleAnimArgs[5]; @@ -2113,7 +2134,7 @@ static void sub_815B4D4(struct Sprite *sprite) if (++sprite->data[2] % 3 == 0) { CreateSpriteAndAnimate( - &gUnknown_085CE3A0, + &gMiniTwinklingStarSpriteTemplate, sprite->pos1.x + sprite->pos2.x, sprite->pos1.y + sprite->pos2.y, sprite->subpriority + 1); @@ -2124,7 +2145,7 @@ static void sub_815B4D4(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_815B570(struct Sprite *sprite) +void AnimMiniTwinklingStar(struct Sprite *sprite) { u8 rand; s8 y; @@ -2388,8 +2409,8 @@ void sub_815BB84(u8 taskId) gBattle_BG1_Y = 0; } - sub_80A6CC0(unknownStruct.bgId, &gUnknown_08C2A634, unknownStruct.tilesOffset); - LoadCompressedPalette(&gUnknown_08C2A6D4, unknownStruct.unk8 << 4, 32); + sub_80A6CC0(unknownStruct.bgId, gUnknown_08C2A634, unknownStruct.tilesOffset); + LoadCompressedPalette(gUnknown_08C2A6D4, unknownStruct.unk8 << 4, 32); gTasks[taskId].data[10] = gBattle_BG1_X; gTasks[taskId].data[11] = gBattle_BG1_Y; @@ -2594,8 +2615,8 @@ void sub_815C0A4(u8 taskId) gBattle_BG1_Y = 0; } - sub_80A6CC0(unknownStruct.bgId, &gUnknown_08C2A634, unknownStruct.tilesOffset); - LoadCompressedPalette(&gUnknown_08C2A6D4, unknownStruct.unk8 << 4, 32); + sub_80A6CC0(unknownStruct.bgId, gUnknown_08C2A634, unknownStruct.tilesOffset); + LoadCompressedPalette(gUnknown_08C2A6D4, unknownStruct.unk8 << 4, 32); gTasks[taskId].data[10] = gBattle_BG1_X; gTasks[taskId].data[11] = gBattle_BG1_Y; gTasks[taskId].data[0]++; @@ -2648,11 +2669,13 @@ void sub_815C0A4(u8 taskId) } } -void sub_815C3A8(u8 taskId) +// Briefly vertically grows and shrinks the attacking mon's sprite. +// No args. +void AnimTask_StrongFrustrationGrowAndShrink(u8 taskId) { if (gTasks[taskId].data[0] == 0) { - PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(0), gUnknown_085CE4B0); + PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(ANIM_ATTACKER), gStrongFrustrationAffineAnimCmds); gTasks[taskId].data[0]++; } else @@ -2662,7 +2685,10 @@ void sub_815C3A8(u8 taskId) } } -void sub_815C400(struct Sprite *sprite) +// Animates an anger mark near the mon's head. +// arg 0: initial x pixel offset +// arg 1: initial y pixel offset +void AnimWeakFrustrationAngerMark(struct Sprite *sprite) { if (sprite->data[0] == 0) { @@ -2685,7 +2711,11 @@ void sub_815C400(struct Sprite *sprite) } } -void sub_815C478(u8 taskId) +// Rocks the mon back and forth. This is done on a pivot so it is done via rotation. +// arg 0: which battler +// arg 1: number of rocks +// arg 2: rotation speed increase +void AnimTask_RockMonBackAndForth(u8 taskId) { u8 side; struct Task *task = &gTasks[taskId]; @@ -2710,7 +2740,7 @@ void sub_815C478(u8 taskId) task->data[6] = gBattleAnimArgs[1] - 1; task->data[15] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); - if (!gBattleAnimArgs[0]) + if (gBattleAnimArgs[0] == ANIM_ATTACKER) side = GetBattlerSide(gBattleAnimAttacker); else side = GetBattlerSide(gBattleAnimTarget); @@ -2722,10 +2752,10 @@ void sub_815C478(u8 taskId) } PrepareBattlerSpriteForRotScale(task->data[15], ST_OAM_OBJ_NORMAL); - task->func = sub_815C548; + task->func = AnimTask_RockMonBackAndForthStep; } -static void sub_815C548(u8 taskId) +static void AnimTask_RockMonBackAndForthStep(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -2779,7 +2809,11 @@ static void sub_815C548(u8 taskId) } } -void sub_815C6B0(struct Sprite *sprite) +// Floats a petal across the screen towards the target mon's side. +// arg 0: initial y pixel offset +// arg 1: sprite anim num +// arg 2: unused +void AnimSweetScentPetal(struct Sprite *sprite) { if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) { @@ -2794,10 +2828,10 @@ void sub_815C6B0(struct Sprite *sprite) sprite->data[2] = gBattleAnimArgs[2]; StartSpriteAnim(sprite, gBattleAnimArgs[1]); - sprite->callback = sub_815C700; + sprite->callback = AnimSweetScentPetalStep; } -static void sub_815C700(struct Sprite *sprite) +static void AnimSweetScentPetalStep(struct Sprite *sprite) { sprite->data[0] += 3; if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) @@ -2822,7 +2856,9 @@ static void sub_815C700(struct Sprite *sprite) } } -void sub_815C770(u8 taskId) +// Moves the mon sprite in a flailing back-and-forth motion. +// arg 0: which battler +void AnimTask_FlailMovement(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -2836,10 +2872,10 @@ void sub_815C770(u8 taskId) task->data[15] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); PrepareBattlerSpriteForRotScale(task->data[15], ST_OAM_OBJ_NORMAL); - task->func = sub_815C7C4; + task->func = AnimTask_FlailMovementStep; } -static void sub_815C7C4(u8 taskId) +static void AnimTask_FlailMovementStep(u8 taskId) { int temp; struct Task *task = &gTasks[taskId]; @@ -2910,14 +2946,18 @@ static void sub_815C7C4(u8 taskId) } } -void sub_815C95C(struct Sprite *sprite) +// Makes a spark-like projectile fall on top of the mon. +// arg 0: initial x pixel offset +// arg 1: initial y pixel offset +// arg 2: which battler +void AnimPainSplitProjectile(struct Sprite *sprite) { if (!sprite->data[0]) { - if (!gBattleAnimArgs[2]) + if (gBattleAnimArgs[2] == ANIM_ATTACKER) { - sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); - sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); } sprite->pos1.x += gBattleAnimArgs[0]; @@ -2944,13 +2984,16 @@ void sub_815C95C(struct Sprite *sprite) } } -void sub_815CA20(u8 taskId) +// Performs one of several affine transformations on the mon sprite. +// arg 0: which battler +// arg 1: which transformation +void AnimTask_PainSplitMovement(u8 taskId) { u8 spriteId; if (gTasks[taskId].data[0] == 0) { - if (gBattleAnimArgs[0] == 0) + if (gBattleAnimArgs[0] == ANIM_ATTACKER) gTasks[taskId].data[11] = gBattleAnimAttacker; else gTasks[taskId].data[11] = gBattleAnimTarget; @@ -3001,7 +3044,9 @@ void sub_815CA20(u8 taskId) } } -void sub_815CB88(struct Sprite *sprite) +// Move a piece of confetti in a slightly-random speed across the screen. +// arg 0: which battler the confetti starts from +void AnimFlatterConfetti(struct Sprite *sprite) { u8 tileOffset; int rand1; @@ -3023,16 +3068,16 @@ void sub_815CB88(struct Sprite *sprite) sprite->data[1] = 0x480 - rand2; sprite->data[2] = gBattleAnimArgs[0]; - if (sprite->data[2] == 0) + if (sprite->data[2] == ANIM_ATTACKER) sprite->pos1.x = -8; else sprite->pos1.x = 248; sprite->pos1.y = 104; - sprite->callback = sub_815CC34; + sprite->callback = AnimFlatterConfettiStep; } -static void sub_815CC34(struct Sprite *sprite) +static void AnimFlatterConfettiStep(struct Sprite *sprite) { if (sprite->data[2] == 0) { @@ -3054,7 +3099,11 @@ static void sub_815CC34(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_815CC94(struct Sprite *sprite) +// Uses a spotlight sprite as a light mask to illuminate the target mon. The spotlight grows and shrinks. +// arg 0: initial x pixel offset +// arg 1: initial y pixel offset +// arg 2: duration of fully-opened spotlight +void AnimFlatterSpotlight(struct Sprite *sprite) { SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR | WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ); SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJWIN_ON); @@ -3067,10 +3116,10 @@ void sub_815CC94(struct Sprite *sprite) InitSpritePosToAnimTarget(sprite, FALSE); sprite->oam.objMode = ST_OAM_OBJ_WINDOW; sprite->invisible = 1; - sprite->callback = sub_815CD0C; + sprite->callback = AnimFlatterSpotlightStep; } -static void sub_815CD0C(struct Sprite *sprite) +static void AnimFlatterSpotlightStep(struct Sprite *sprite) { switch (sprite->data[1]) { @@ -3095,23 +3144,26 @@ static void sub_815CD0C(struct Sprite *sprite) break; case 3: SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR | WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR); - SetGpuReg(REG_OFFSET_DISPCNT, GetGpuReg(REG_OFFSET_DISPCNT) ^ DISPCNT_OBJWIN_ON); + SetGpuReg(REG_OFFSET_DISPCNT, GetGpuReg(REG_OFFSET_DISPCNT) ^ DISPCNT_OBJWIN_ON); DestroyAnimSprite(sprite); break; } } -void sub_815CDB4(struct Sprite *sprite) +// Spins an orb around the attacking mon, while its path radius grows and shrinks. +// arg 0: duration +// arg 1: initial wave offset +void AnimReversalOrb(struct Sprite *sprite) { - sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); - sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); sprite->data[0] = gBattleAnimArgs[0]; sprite->data[1] = gBattleAnimArgs[1]; - sprite->callback = sub_815CDFC; + sprite->callback = AnimReversalOrbStep; sprite->callback(sprite); } -static void sub_815CDFC(struct Sprite *sprite) +static void AnimReversalOrbStep(struct Sprite *sprite) { sprite->pos2.x = Sin(sprite->data[1], sprite->data[2] >> 8); sprite->pos2.y = Cos(sprite->data[1], sprite->data[3] >> 8); @@ -3143,11 +3195,8 @@ static void sub_815CDFC(struct Sprite *sprite) } } - - -extern void sub_815D160(u8); - -void sub_815CED8(u8 taskId) +// Copies the target mon's sprite, and makes a white silhouette that shrinks away. +void AnimTask_RolePlaySilhouette(u8 taskId) { u8 isBackPic; u32 personality; @@ -3218,16 +3267,16 @@ void sub_815CED8(u8 taskId) gSprites[spriteId].oam.priority = priority; gSprites[spriteId].oam.objMode = ST_OAM_OBJ_BLEND; - FillPalette(RGB(31, 31, 31), (gSprites[spriteId].oam.paletteNum << 4) + 0x100, 32); + FillPalette(RGB_WHITE, (gSprites[spriteId].oam.paletteNum << 4) + 0x100, 32); gSprites[spriteId].oam.priority = priority; SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[1], 16 - gTasks[taskId].data[1])); gTasks[taskId].data[0] = spriteId; - gTasks[taskId].func = sub_815D160; + gTasks[taskId].func = AnimTask_RolePlaySilhouetteStep1; } -void sub_815D160(u8 taskId) +static void AnimTask_RolePlaySilhouetteStep1(u8 taskId) { if (gTasks[taskId].data[10]++ > 1) { @@ -3238,12 +3287,12 @@ void sub_815D160(u8 taskId) { gTasks[taskId].data[10] = 256; gTasks[taskId].data[11] = 256; - gTasks[taskId].func = sub_815D1BC; + gTasks[taskId].func = AnimTask_RolePlaySilhouetteStep2; } } } -static void sub_815D1BC(u8 taskId) +static void AnimTask_RolePlaySilhouetteStep2(u8 taskId) { u8 spriteId = gTasks[taskId].data[0]; gTasks[taskId].data[10] -= 16; @@ -3253,12 +3302,14 @@ static void sub_815D1BC(u8 taskId) if (++gTasks[taskId].data[12] == 9) { sub_80A749C(&gSprites[spriteId]); - sub_80A8610(&gSprites[spriteId]); - gTasks[taskId].func = sub_80A6814; + DestroySpriteAndFreeResources_(&gSprites[spriteId]); + gTasks[taskId].func = DestroyAnimVisualTaskAndDisableBlend; } } -void sub_815D240(u8 taskId) +// Performs a wavy transformation on the mon's sprite, and fades out. +// arg 0: which battler +void AnimTask_AcidArmor(u8 taskId) { u8 battler; u16 bgX, bgY; @@ -3266,7 +3317,7 @@ void sub_815D240(u8 taskId) struct ScanlineEffectParams scanlineParams; struct Task *task = &gTasks[taskId]; - if (gBattleAnimArgs[0] == 0) + if (gBattleAnimArgs[0] == ANIM_ATTACKER) battler = gBattleAnimAttacker; else battler = gBattleAnimTarget; @@ -3317,10 +3368,10 @@ void sub_815D240(u8 taskId) scanlineParams.initState = 1; scanlineParams.unused9 = 0; ScanlineEffect_SetParams(scanlineParams); - task->func = sub_815D398; + task->func = AnimTask_AcidArmorStep; } -static void sub_815D398(u8 taskId) +static void AnimTask_AcidArmorStep(u8 taskId) { struct Task *task; s16 var1; @@ -3434,16 +3485,18 @@ static void sub_815D398(u8 taskId) } } -void sub_815D64C(u8 taskId) +// Runs an affine animation that makes it look like the mon is inhaling deeply. +// arg 0: which battler +void AnimTask_DeepInhale(u8 taskId) { struct Task *task = &gTasks[taskId]; task->data[0] = 0; task->data[15] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); - PrepareAffineAnimInTaskData(&gTasks[taskId], task->data[15], gUnknown_085CE5F0); - task->func = sub_815D694; + PrepareAffineAnimInTaskData(&gTasks[taskId], task->data[15], gDeepInhaleAffineAnimCmds); + task->func = AnimTask_DeepInhaleStep; } -static void sub_815D694(u8 taskId) +static void AnimTask_DeepInhaleStep(u8 taskId) { u16 var0; @@ -3472,17 +3525,17 @@ static void sub_815D694(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_815D72C(struct Sprite *sprite, s16 b, s16 c, s16 d, s16 e, u16 f) +static void InitYawnCloudPosition(struct Sprite *sprite, s16 startX, s16 startY, s16 destX, s16 destY, u16 duration) { - sprite->pos1.x = b; - sprite->pos1.y = c; - sprite->data[4] = b << 4; - sprite->data[5] = c << 4; - sprite->data[6] = ((d - b) << 4) / f; - sprite->data[7] = ((e - c) << 4) / f; + sprite->pos1.x = startX; + sprite->pos1.y = startY; + sprite->data[4] = startX << 4; + sprite->data[5] = startY << 4; + sprite->data[6] = ((destX - startX) << 4) / duration; + sprite->data[7] = ((destY - startY) << 4) / duration; } -void sub_815D794(struct Sprite *sprite) +static void UpdateYawnCloudPosition(struct Sprite *sprite) { sprite->data[4] += sprite->data[6]; sprite->data[5] += sprite->data[7]; @@ -3490,25 +3543,27 @@ void sub_815D794(struct Sprite *sprite) sprite->pos1.y = sprite->data[5] >> 4; } -void sub_815D7B4(struct Sprite *sprite) +// Drifts a cloud in a wavy path towards the target mon. +// arg 0: which affine anim +void AnimYawnCloud(struct Sprite *sprite) { - s16 x = sprite->pos1.x; - s16 y = sprite->pos1.y; + s16 destX = sprite->pos1.x; + s16 destY = sprite->pos1.y; SetSpriteCoordsToAnimAttackerCoords(sprite); StartSpriteAffineAnim(sprite, gBattleAnimArgs[0]); - sub_815D72C(sprite, sprite->pos1.x, sprite->pos1.y, x, y, 64); + InitYawnCloudPosition(sprite, sprite->pos1.x, sprite->pos1.y, destX, destY, 64); sprite->data[0] = 0; - sprite->callback = sub_815D804; + sprite->callback = AnimYawnCloudStep; } -static void sub_815D804(struct Sprite *sprite) +static void AnimYawnCloudStep(struct Sprite *sprite) { int index; sprite->data[0]++; index = (sprite->data[0] * 8) & 0xFF; - sub_815D794(sprite); + UpdateYawnCloudPosition(sprite); sprite->pos2.y = Sin(index, 8); if (sprite->data[0] > 58) { @@ -3523,15 +3578,20 @@ static void sub_815D804(struct Sprite *sprite) } } -void sub_815D870(struct Sprite *sprite) +// Animates a cloud coming from the smoke ball. +// arg 0: ? +// arg 1: initial x pixel offset +// arg 2: initial y pixel offset +// arg 3: ? +void AnimSmokeBallEscapeCloud(struct Sprite *sprite) { sprite->data[0] = gBattleAnimArgs[3]; StartSpriteAffineAnim(sprite, gBattleAnimArgs[0]); if (GetBattlerSide(gBattleAnimTarget) != B_SIDE_PLAYER) gBattleAnimArgs[1] = -gBattleAnimArgs[1]; - sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[1]; - sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[2]; + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) + gBattleAnimArgs[1]; + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[2]; sprite->callback = sub_810E2C8; } @@ -3672,7 +3732,10 @@ void sub_815DB90(u8 taskId) gTasks[taskId].func = sub_815DA20; } -void sub_815DCA4(u8 taskId) +// Squishes the mon vertically and emits sweat droplets a few times. +// arg 0: battler +// arg 1: num squishes +void AnimTask_SquishAndSweatDroplets(u8 taskId) { u8 battler; struct Task *task = &gTasks[taskId]; @@ -3684,31 +3747,32 @@ void sub_815DCA4(u8 taskId) task->data[1] = 0; task->data[2] = 0; task->data[3] = gBattleAnimArgs[1]; - if (gBattleAnimArgs[0] == 0) + if (gBattleAnimArgs[0] == ANIM_ATTACKER) battler = gBattleAnimAttacker; else battler = gBattleAnimTarget; - task->data[4] = GetBattlerSpriteCoord(battler, 0); - task->data[5] = GetBattlerSpriteCoord(battler, 1); + task->data[4] = GetBattlerSpriteCoord(battler, BATTLER_COORD_X); + task->data[5] = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y); task->data[6] = GetBattlerSpriteSubpriority(battler); task->data[15] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); - PrepareAffineAnimInTaskData(task, task->data[15], gUnknown_085CE74C); - task->func = sub_815DD48; + PrepareAffineAnimInTaskData(task, task->data[15], gFacadeSquishAffineAnimCmds); + task->func = AnimTask_SquishAndSweatDropletsStep; } -static void sub_815DD48(u8 taskId) +static void AnimTask_SquishAndSweatDropletsStep(u8 taskId) { struct Task *task = &gTasks[taskId]; switch (task->data[0]) { case 0: - if (++task->data[1] == 6) - sub_815DDE0(taskId, TRUE); + task->data[1]++; + if (task->data[1] == 6) + CreateSweatDroplets(taskId, TRUE); if (task->data[1] == 18) - sub_815DDE0(taskId, FALSE); + CreateSweatDroplets(taskId, FALSE); if (!RunAffineAnimFromTaskData(task)) { @@ -3719,7 +3783,7 @@ static void sub_815DD48(u8 taskId) else { task->data[1] = 0; - PrepareAffineAnimInTaskData(task, task->data[15], gUnknown_085CE74C); + PrepareAffineAnimInTaskData(task, task->data[15], gFacadeSquishAffineAnimCmds); } } break; @@ -3730,7 +3794,7 @@ static void sub_815DD48(u8 taskId) } } -static void sub_815DDE0(u8 taskId, bool8 arg1) +static void CreateSweatDroplets(u8 taskId, bool8 arg1) { u8 i; s8 xOffset, yOffset; @@ -3759,7 +3823,7 @@ static void sub_815DDE0(u8 taskId, bool8 arg1) for (i = 0; i < 4; i++) { - u8 spriteId = CreateSprite(&gUnknown_085CE76C, xCoords[i], yCoords[i & 1], task->data[6] - 5); + u8 spriteId = CreateSprite(&gFacadeSweatDrop, xCoords[i], yCoords[i & 1], task->data[6] - 5); if (spriteId != MAX_SPRITES) { gSprites[spriteId].data[0] = 0; @@ -3783,7 +3847,10 @@ void sub_815DEBC(struct Sprite *sprite) } } -void sub_815DF0C(u8 taskId) +// Blends the mon sprite's color with a rotating set of colors. +// arg 0: battler +// arg 1: duration +void AnimTask_FacadeColorBlend(u8 taskId) { u8 spriteId; @@ -3791,14 +3858,14 @@ void sub_815DF0C(u8 taskId) gTasks[taskId].data[1] = gBattleAnimArgs[1]; spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); gTasks[taskId].data[2] = 0x100 + gSprites[spriteId].oam.paletteNum * 16; - gTasks[taskId].func = sub_815DF64; + gTasks[taskId].func = AnimTask_FacadeColorBlendStep; } -static void sub_815DF64(u8 taskId) +static void AnimTask_FacadeColorBlendStep(u8 taskId) { if (gTasks[taskId].data[1]) { - BlendPalette(gTasks[taskId].data[2], 16, 8, gUnknown_085CE784[gTasks[taskId].data[0]]); + BlendPalette(gTasks[taskId].data[2], 16, 8, gFacadeBlendColors[gTasks[taskId].data[0]]); if (++gTasks[taskId].data[0] > 23) gTasks[taskId].data[0] = 0; @@ -3822,33 +3889,37 @@ void sub_815DFCC(u8 taskId) 10, 2, 30, - gUnknown_08C2DC68, - gUnknown_08C2DDC4, - gUnknown_08C2DDA4); + gCureBubblesGfx, + gCureBubblesTilemap, + gCureBubblesPal); } -void sub_815E01C(struct Sprite *sprite) +// Moves a noise line from the mon. +// arg 0: initial x pixel offset +// arg 1: initial y pixel offset +// arg 2: which direction (0 = upward, 1 = downward, 2 = horizontal) +void AnimRoarNoiseLine(struct Sprite *sprite) { if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) gBattleAnimArgs[0] = -gBattleAnimArgs[0]; - sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0) + gBattleAnimArgs[0]; - sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + gBattleAnimArgs[1]; + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X) + gBattleAnimArgs[0]; + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y) + gBattleAnimArgs[1]; if (gBattleAnimArgs[2] == 0) { - sprite->data[0] = 640; - sprite->data[1] = -640; + sprite->data[0] = 0x280; + sprite->data[1] = -0x280; } else if (gBattleAnimArgs[2] == 1) { sprite->vFlip = 1; - sprite->data[0] = 640; - sprite->data[1] = 640; + sprite->data[0] = 0x280; + sprite->data[1] = 0x280; } else { StartSpriteAnim(sprite, 1); - sprite->data[0] = 640; + sprite->data[0] = 0x280; } if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) @@ -3857,10 +3928,10 @@ void sub_815E01C(struct Sprite *sprite) sprite->hFlip = 1; } - sprite->callback = sub_815E0DC; + sprite->callback = AnimRoarNoiseLineStep; } -static void sub_815E0DC(struct Sprite *sprite) +static void AnimRoarNoiseLineStep(struct Sprite *sprite) { sprite->data[6] += sprite->data[0]; sprite->data[7] += sprite->data[1]; @@ -3870,7 +3941,9 @@ static void sub_815E0DC(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_815E114(u8 taskId) +// Makes a series of dots in a trail from the attacker to the target. +// arg 0: unused +void AnimTask_GlareEyeDots(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -3888,17 +3961,17 @@ void sub_815E114(u8 taskId) } if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) - task->data[11] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + sub_80A861C(gBattleAnimAttacker, 0) / 4; + task->data[11] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) + GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_HEIGHT) / 4; else - task->data[11] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) - sub_80A861C(gBattleAnimAttacker, 0) / 4; + task->data[11] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) - GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_HEIGHT) / 4; - task->data[12] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) - sub_80A861C(gBattleAnimAttacker, 0) / 4; - task->data[13] = GetBattlerSpriteCoord(gBattleAnimTarget, 2); - task->data[14] = GetBattlerSpriteCoord(gBattleAnimTarget, 3); - task->func = sub_815E20C; + task->data[12] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET) - GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_HEIGHT) / 4; + task->data[13] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2); + task->data[14] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET); + task->func = AnimTask_GlareEyeDotsStep; } -static void sub_815E20C(u8 taskId) +static void AnimTask_GlareEyeDotsStep(u8 taskId) { u8 i; s16 x, y; @@ -3910,7 +3983,7 @@ static void sub_815E20C(u8 taskId) if (++task->data[1] > 3) { task->data[1] = 0; - sub_815E34C( + GetGlareEyeDotCoords( task->data[11], task->data[12], task->data[13], @@ -3922,7 +3995,7 @@ static void sub_815E20C(u8 taskId) for (i = 0; i < 2; i++) { - u8 spriteId = CreateSprite(&gUnknown_085CE7EC, x, y, 35); + u8 spriteId = CreateSprite(&gGlareEyeDotSpriteTemplate, x, y, 35); if (spriteId != MAX_SPRITES) { if (task->data[7] == 0) @@ -3966,7 +4039,7 @@ static void sub_815E20C(u8 taskId) } } -static void sub_815E34C(s16 arg0, s16 arg1, s16 arg2, s16 arg3, u8 arg4, u8 arg5, s16 *x, s16 *y) +static void GetGlareEyeDotCoords(s16 arg0, s16 arg1, s16 arg2, s16 arg3, u8 arg4, u8 arg5, s16 *x, s16 *y) { int x2; int y2; @@ -3992,7 +4065,7 @@ static void sub_815E34C(s16 arg0, s16 arg1, s16 arg2, s16 arg3, u8 arg4, u8 arg5 *y = y2 >> 8; } -void sub_815E404(struct Sprite *sprite) +void AnimGlareEyeDot(struct Sprite *sprite) { if (++sprite->data[0] > 36) { @@ -4001,7 +4074,13 @@ void sub_815E404(struct Sprite *sprite) } } -void sub_815E444(struct Sprite *sprite) +// Moves a pawprint in a straight line. +// arg 0: initial x position +// arg 1: initial y position +// arg 2: destination x position +// arg 3: destination y position +// arg 4: duration +void AnimAssistPawprint(struct Sprite *sprite) { sprite->pos1.x = gBattleAnimArgs[0]; sprite->pos1.y = gBattleAnimArgs[1]; @@ -4012,15 +4091,17 @@ void sub_815E444(struct Sprite *sprite) sprite->callback = InitAndRunAnimFastLinearTranslation; } -void sub_815E47C(u8 taskId) +// Moves a ball in an arc twoards the target, and rotates the ball while arcing. +// No args. +void AnimTask_BarrageBall(u8 taskId) { struct Task *task = &gTasks[taskId]; - task->data[11] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); - task->data[12] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); - task->data[13] = GetBattlerSpriteCoord(gBattleAnimTarget, 2); - task->data[14] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + sub_80A861C(gBattleAnimTarget, 0) / 4; - task->data[15] = CreateSprite(&gUnknown_085CE84C, task->data[11], task->data[12], GetBattlerSpriteSubpriority(gBattleAnimTarget) - 5); + task->data[11] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); + task->data[12] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); + task->data[13] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2); + task->data[14] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_HEIGHT) / 4; + task->data[15] = CreateSprite(&gBarrageBallSpriteTemplate, task->data[11], task->data[12], GetBattlerSpriteSubpriority(gBattleAnimTarget) - 5); if (task->data[15] != MAX_SPRITES) { gSprites[task->data[15]].data[0] = 16; @@ -4031,7 +4112,7 @@ void sub_815E47C(u8 taskId) if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) StartSpriteAffineAnim(&gSprites[task->data[15]], 1); - task->func = sub_815E5CC; + task->func = AnimTask_BarrageBallStep; } else { @@ -4039,7 +4120,7 @@ void sub_815E47C(u8 taskId) } } -static void sub_815E5CC(u8 taskId) +static void AnimTask_BarrageBallStep(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -4082,11 +4163,15 @@ static void sub_815E5CC(u8 taskId) } } -void sub_815E6D8(struct Sprite *sprite) +// Moves a hand back and forth in a squishing motion. +// arg 0: which battler +// arg 1: horizontal flip +// arg 2: num squishes +void AnimSmellingSaltsHand(struct Sprite *sprite) { u8 battler; - if (gBattleAnimArgs[0] == 0) + if (gBattleAnimArgs[0] == ANIM_ATTACKER) battler = gBattleAnimAttacker; else battler = gBattleAnimTarget; @@ -4098,11 +4183,11 @@ void sub_815E6D8(struct Sprite *sprite) if (gBattleAnimArgs[1] == 0) { sprite->oam.matrixNum |= 0x8; - sprite->pos1.x = sub_80A861C(battler, 4) - 8; + sprite->pos1.x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_LEFT) - 8; } else { - sprite->pos1.x = sub_80A861C(battler, 5) + 8; + sprite->pos1.x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_RIGHT) + 8; } sprite->callback = sub_815E784; @@ -4154,9 +4239,12 @@ static void sub_815E784(struct Sprite *sprite) } } -void sub_815E840(u8 taskId) +// Squishes the mon horizontally a few times. +// arg 0: which mon +// arg 1: number of squishes +void AnimTask_SmellingSaltsSquish(u8 taskId) { - if (gBattleAnimArgs[0] == 0) + if (gBattleAnimArgs[0] == ANIM_ATTACKER) { DestroyAnimVisualTask(taskId); } @@ -4164,12 +4252,12 @@ void sub_815E840(u8 taskId) { gTasks[taskId].data[0] = gBattleAnimArgs[1]; gTasks[taskId].data[15] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); - PrepareAffineAnimInTaskData(&gTasks[taskId], gTasks[taskId].data[15], gUnknown_085CE87C); - gTasks[taskId].func = sub_815E898; + PrepareAffineAnimInTaskData(&gTasks[taskId], gTasks[taskId].data[15], gSmellingSaltsSquishAffineAnimCmds); + gTasks[taskId].func = AnimTask_SmellingSaltsSquishStep; } } -static void sub_815E898(u8 taskId) +static void AnimTask_SmellingSaltsSquishStep(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -4187,7 +4275,7 @@ static void sub_815E898(u8 taskId) gSprites[task->data[15]].pos2.x = 0; if (--task->data[0]) { - PrepareAffineAnimInTaskData(&gTasks[taskId], gTasks[taskId].data[15], gUnknown_085CE87C); + PrepareAffineAnimInTaskData(&gTasks[taskId], gTasks[taskId].data[15], gSmellingSaltsSquishAffineAnimCmds); task->data[1] = 0; task->data[2] = 0; } @@ -4198,17 +4286,21 @@ static void sub_815E898(u8 taskId) } } -void sub_815E954(struct Sprite *sprite) +// Blinks an exclamation image over the mon a few times. +// arg 0: which mon +// arg 1: blink delay +// arg 2: number of blinks +void AnimSmellingSaltExclamation(struct Sprite *sprite) { - if (gBattleAnimArgs[0] == 0) + if (gBattleAnimArgs[0] == ANIM_ATTACKER) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); - sprite->pos1.y = sub_80A861C(gBattleAnimAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_TOP); } else { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2); - sprite->pos1.y = sub_80A861C(gBattleAnimTarget, 2); + sprite->pos1.y = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_TOP); } if (sprite->pos1.y < 8) @@ -4218,10 +4310,10 @@ void sub_815E954(struct Sprite *sprite) sprite->data[1] = gBattleAnimArgs[1]; sprite->data[2] = 0; sprite->data[3] = gBattleAnimArgs[2]; - sprite->callback = sub_815E9BC; + sprite->callback = AnimSmellingSaltExclamationStep; } -static void sub_815E9BC(struct Sprite *sprite) +static void AnimSmellingSaltExclamationStep(struct Sprite *sprite) { if (++sprite->data[0] >= sprite->data[1]) { @@ -4233,11 +4325,14 @@ static void sub_815E9BC(struct Sprite *sprite) } } -void sub_815EA14(struct Sprite *sprite) +// Claps a hand several times. +// arg 0: which hand +// arg 1: +void AnimHelpingHandClap(struct Sprite *sprite) { if (gBattleAnimArgs[0] == 0) { - sprite->oam.matrixNum |= 0x8; + sprite->oam.matrixNum |= 0x8; // horizontal flip sprite->pos1.x = 100; sprite->data[7] = 1; } @@ -4248,10 +4343,10 @@ void sub_815EA14(struct Sprite *sprite) } sprite->pos1.y = 56; - sprite->callback = sub_815EA60; + sprite->callback = AnimHelpingHandClapStep; } -static void sub_815EA60(struct Sprite *sprite) +static void AnimHelpingHandClapStep(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -4334,7 +4429,9 @@ static void sub_815EA60(struct Sprite *sprite) } } -void sub_815EC48(u8 taskId) +// Repeatedly moves the attacking mon in a horizontal lunging motion. +// No args. +void AnimTask_HelpingHandAttackerMovement(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -4363,10 +4460,10 @@ void sub_815EC48(u8 taskId) task->data[14] = 1; } - task->func = sub_815ECE4; + task->func = AnimTask_HelpingHandAttackerMovementStep; } -static void sub_815ECE4(u8 taskId) +static void AnimTask_HelpingHandAttackerMovementStep(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -4448,9 +4545,11 @@ static void sub_815ECE4(u8 taskId) } } -void sub_815EE84(struct Sprite *sprite) +// Moves a magnifying glass around in straight lines. +// arg 0: magnifying glass target mon +void AnimForesightMagnifyingGlass(struct Sprite *sprite) { - if (gBattleAnimArgs[0] == 0) + if (gBattleAnimArgs[0] == ANIM_ATTACKER) { InitSpritePosToAnimAttacker(sprite, TRUE); sprite->data[7] = gBattleAnimAttacker; @@ -4461,14 +4560,14 @@ void sub_815EE84(struct Sprite *sprite) } if (GetBattlerSide(sprite->data[7]) == B_SIDE_OPPONENT) - sprite->oam.matrixNum = 8; + sprite->oam.matrixNum = 8; // horizontal flip sprite->oam.priority = GetBattlerSpriteBGPriority(sprite->data[7]); sprite->oam.objMode = ST_OAM_OBJ_BLEND; - sprite->callback = sub_815EF08; + sprite->callback = AnimForesightMagnifyingGlassStep; } -static void sub_815EF08(struct Sprite *sprite) +static void AnimForesightMagnifyingGlassStep(struct Sprite *sprite) { u16 x, y; @@ -4481,20 +4580,20 @@ static void sub_815EF08(struct Sprite *sprite) sprite->data[6] = 0; case 0: case 4: - x = sub_80A861C(sprite->data[7], 5) - 4; - y = sub_80A861C(sprite->data[7], 3) - 4; + x = GetBattlerSpriteCoordAttr(sprite->data[7], 5) - 4; + y = GetBattlerSpriteCoordAttr(sprite->data[7], 3) - 4; break; case 1: - x = sub_80A861C(sprite->data[7], 5) - 4; - y = sub_80A861C(sprite->data[7], 2) + 4; + x = GetBattlerSpriteCoordAttr(sprite->data[7], 5) - 4; + y = GetBattlerSpriteCoordAttr(sprite->data[7], 2) + 4; break; case 2: - x = sub_80A861C(sprite->data[7], 4) + 4; - y = sub_80A861C(sprite->data[7], 3) - 4; + x = GetBattlerSpriteCoordAttr(sprite->data[7], 4) + 4; + y = GetBattlerSpriteCoordAttr(sprite->data[7], 3) - 4; break; case 3: - x = sub_80A861C(sprite->data[7], 4) + 4; - y = sub_80A861C(sprite->data[7], 2) - 4; + x = GetBattlerSpriteCoordAttr(sprite->data[7], 4) + 4; + y = GetBattlerSpriteCoordAttr(sprite->data[7], 2) - 4; break; case 5: x = GetBattlerSpriteCoord(sprite->data[7], 2); @@ -4570,14 +4669,14 @@ static void sub_815EF08(struct Sprite *sprite) } } -static void sub_815F10C(struct Sprite *sprite) +static void AnimMeteorMashStarStep(struct Sprite *sprite) { sprite->pos2.x = ((sprite->data[2] - sprite->data[0]) * sprite->data[5]) / sprite->data[4]; sprite->pos2.y = ((sprite->data[3] - sprite->data[1]) * sprite->data[5]) / sprite->data[4]; if (!(sprite->data[5] & 1)) { CreateSprite( - &gUnknown_085CE3A0, + &gMiniTwinklingStarSpriteTemplate, sprite->pos1.x + sprite->pos2.x, sprite->pos1.y + sprite->pos2.y, 5); } @@ -4588,10 +4687,16 @@ static void sub_815F10C(struct Sprite *sprite) sprite->data[5]++; } -void sub_815F18C(struct Sprite *sprite) +// Moves a shooting star across the screen that leaves little twinkling stars behind its path. +// arg 0: initial x pixel offset +// arg 1: initial y pixel offset +// arg 2: destination x pixel offset +// arg 3: destination y pixel offset +// arg 4: duration +void AnimMeteorMashStar(struct Sprite *sprite) { - GetBattlerSpriteCoord(gBattleAnimTarget, 2); // unused local variable - GetBattlerSpriteCoord(gBattleAnimTarget, 3); // unused local variable + s16 y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2); // unused local variable + s16 x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET); // unused local variable if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER || IsContest()) { @@ -4609,13 +4714,13 @@ void sub_815F18C(struct Sprite *sprite) sprite->data[4] = gBattleAnimArgs[4]; sprite->pos1.x = sprite->data[0]; sprite->pos1.y = sprite->data[1]; - sprite->callback = sub_815F10C; + sprite->callback = AnimMeteorMashStarStep; } void AnimTask_MonToSubstitute(u8 taskId) { int i; - u8 spriteId = GetAnimBattlerSpriteId(0); + u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); if (gTasks[taskId].data[0] == 0) { @@ -4649,11 +4754,11 @@ void AnimTask_MonToSubstitute(u8 taskId) for (i = 0; i < 16; i++) gTasks[taskId].data[i] = 0; - gTasks[taskId].func = sub_815F330; + gTasks[taskId].func = AnimTask_MonToSubstituteDoll; } } -static void sub_815F330(u8 taskId) +static void AnimTask_MonToSubstituteDoll(u8 taskId) { u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); @@ -4706,27 +4811,29 @@ static void sub_815F330(u8 taskId) } } -void sub_815F48C(struct Sprite *sprite) +// Moves down an X that flickers and disappears. +// No args. +void AnimBlockX(struct Sprite *sprite) { - s16 y2; + s16 y; if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) { sprite->subpriority = GetBattlerSpriteSubpriority(gBattleAnimTarget) - 2; - y2 = -144; + y = -144; } else { sprite->subpriority = GetBattlerSpriteSubpriority(gBattleAnimTarget) + 2; - y2 = -96; + y = -96; } sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3); - sprite->pos2.y = y2; - sprite->callback = sub_815F4F0; + sprite->pos2.y = y; + sprite->callback = AnimBlockXStep; } -static void sub_815F4F0(struct Sprite *sprite) +static void AnimBlockXStep(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -4742,7 +4849,7 @@ static void sub_815F4F0(struct Sprite *sprite) case 1: sprite->data[1] += 4; sprite->pos2.y = -(gSineTable[sprite->data[1]] >> 3); - if (sprite->data[1] > 127) + if (sprite->data[1] > 0x7F) { PlaySE12WithPanning(SE_W166, BattleAnimAdjustPanning(63)); sprite->data[1] = 0; @@ -4753,7 +4860,7 @@ static void sub_815F4F0(struct Sprite *sprite) case 2: sprite->data[1] += 6; sprite->pos2.y = -(gSineTable[sprite->data[1]] >> 4); - if (sprite->data[1] > 127) + if (sprite->data[1] > 0x7F) { sprite->data[1] = 0; sprite->pos2.y = 0; @@ -4781,7 +4888,9 @@ static void sub_815F4F0(struct Sprite *sprite) } } -void sub_815F620(u8 taskId) +// Quickly moves two clones of the target mon back and forth. +// No args. +void AnimTask_OdorSleuthMovement(u8 taskId) { s16 spriteId1, spriteId2; @@ -4837,21 +4946,20 @@ void sub_815F620(u8 taskId) gSprites[spriteId1].invisible = 1; } - gSprites[spriteId2].oam.objMode = ST_OAM_OBJ_NORMAL; gSprites[spriteId1].oam.objMode = ST_OAM_OBJ_NORMAL; - gSprites[spriteId2].callback = sub_815F7C4; - gSprites[spriteId1].callback = sub_815F7C4; - gTasks[taskId].func = sub_815F79C; + gSprites[spriteId2].callback = MoveOdorSleuthClone; + gSprites[spriteId1].callback = MoveOdorSleuthClone; + gTasks[taskId].func = AnimTask_OdorSleuthMovementWaitFinish; } -static void sub_815F79C(u8 taskId) +static void AnimTask_OdorSleuthMovementWaitFinish(u8 taskId) { if (gTasks[taskId].data[0] == 0) DestroyAnimVisualTask(taskId); } -static void sub_815F7C4(struct Sprite *sprite) +static void MoveOdorSleuthClone(struct Sprite *sprite) { int zero = 0; if (++sprite->data[1] > 1) @@ -4902,3 +5010,477 @@ void AnimTask_GetReturnPowerLevel(u8 taskId) DestroyAnimVisualTask(taskId); } + +// Makes the mon run out of screen, run past the opposing mon, and return to its original position. +// No args. +void AnimTask_SnatchOpposingMonMove(u8 taskId) +{ + u8 spriteId, spriteId2; + int personality; + int otId; + u16 species; + u8 subpriority; + u8 isBackPic; + s16 x; + + switch (gTasks[taskId].data[0]) + { + case 0: + spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); + gTasks[taskId].data[1] += 0x800; + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) + gSprites[spriteId].pos2.x += (gTasks[taskId].data[1] >> 8); + else + gSprites[spriteId].pos2.x -= (gTasks[taskId].data[1] >> 8); + + gTasks[taskId].data[1] &= 0xFF; + x = gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x; + if ((u16)(x + 32) > 304) + { + gTasks[taskId].data[1] = 0; + gTasks[taskId].data[0]++; + } + break; + case 1: + if (IsContest()) + { + personality = gContestResources->field_18->unk8; + otId = gContestResources->field_18->unkC; + species = gContestResources->field_18->species; + subpriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker); + isBackPic = 0; + x = -32; + } + else + { + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) + { + personality = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_PERSONALITY); + otId = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_OT_ID); + if (gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies == SPECIES_NONE) + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_SPECIES); + else + species = gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies; + + subpriority = gSprites[GetAnimBattlerSpriteId(ANIM_TARGET)].subpriority + 1; + isBackPic = 0; + x = 272; + } + else + { + personality = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_PERSONALITY); + otId = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_OT_ID); + if (gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies == SPECIES_NONE) + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_SPECIES); + else + species = gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies; + + subpriority = gSprites[GetAnimBattlerSpriteId(ANIM_TARGET)].subpriority - 1; + isBackPic = 1; + x = -32; + } + } + + spriteId2 = sub_80A8394(species, isBackPic, 0, x, GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y), subpriority, personality, otId, gBattleAnimAttacker, 0); + if (gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies != SPECIES_NONE) + BlendPalette((gSprites[spriteId2].oam.paletteNum * 16) | 0x100, 16, 6, RGB_WHITE); + + gTasks[taskId].data[15] = spriteId2; + gTasks[taskId].data[0]++; + break; + case 2: + spriteId2 = gTasks[taskId].data[15]; + gTasks[taskId].data[1] += 0x800; + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) + gSprites[spriteId2].pos2.x -= (gTasks[taskId].data[1] >> 8); + else + gSprites[spriteId2].pos2.x += (gTasks[taskId].data[1] >> 8); + + gTasks[taskId].data[1] &= 0xFF; + x = gSprites[spriteId2].pos1.x + gSprites[spriteId2].pos2.x; + if (gTasks[taskId].data[14] == 0) + { + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) + { + if (x < GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X)) + { + gTasks[taskId].data[14]++; + gBattleAnimArgs[7] = 0xFFFF; + } + } + else + { + if (x > GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X)) + { + gTasks[taskId].data[14]++; + gBattleAnimArgs[7] = 0xFFFF; + } + } + } + + if ((u16)(x + 32) > 304) + { + gTasks[taskId].data[1] = 0; + gTasks[taskId].data[0]++; + } + break; + case 3: + spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); + spriteId2 = gTasks[taskId].data[15]; + DestroySpriteAndFreeResources_(&gSprites[spriteId2]); + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) + gSprites[spriteId].pos2.x = -gSprites[spriteId].pos1.x - 32; + else + gSprites[spriteId].pos2.x = 272 - gSprites[spriteId].pos1.x; + + gTasks[taskId].data[0]++; + break; + case 4: + spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); + gTasks[taskId].data[1] += 0x800; + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) + { + gSprites[spriteId].pos2.x += (gTasks[taskId].data[1] >> 8); + if (gSprites[spriteId].pos2.x + gSprites[spriteId].pos1.x >= GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X)) + gSprites[spriteId].pos2.x = 0; + } + else + { + gSprites[spriteId].pos2.x -= (gTasks[taskId].data[1] >> 8); + if (gSprites[spriteId].pos2.x + gSprites[spriteId].pos1.x <= GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X)) + gSprites[spriteId].pos2.x = 0; + } + + gTasks[taskId].data[1] = (u8)gTasks[taskId].data[1]; + if (gSprites[spriteId].pos2.x == 0) + DestroyAnimVisualTask(taskId); + break; + } +} + +void sub_815FE80(struct Sprite *sprite) +{ + switch (sprite->data[7]) + { + case 0: + if (gBattleAnimArgs[7] == -1) + { + PlaySE12WithPanning(SE_W233, BattleAnimAdjustPanning(63)); + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y) + 16; + sprite->data[0] = -32; + sprite->data[7]++; + sprite->invisible = 0; + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT && !IsContest()) + sprite->subpriority = gSprites[GetAnimBattlerSpriteId(ANIM_TARGET)].subpriority - 1; + } + else + { + sprite->invisible = 1; + } + break; + case 1: + sprite->pos2.y = Sin(sprite->data[1], sprite->data[0]); + sprite->data[1] += 5; + if (sprite->data[1] > 0x7F) + { + sprite->data[0] = sprite->data[0] / 2; + sprite->data[3]++; + sprite->data[1] -= 0x7F; + } + + sprite->data[2] += 0x100; + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) + sprite->pos2.x -= (sprite->data[2] >> 8); + else + sprite->pos2.x += (sprite->data[2] >> 8); + + sprite->data[2] &= 0xFF; + if (sprite->data[3] == 2) + DestroyAnimSprite(sprite); + break; + } +} + +// Quickly moves the mon towards its partner and back. +// No args. +void AnimTask_SnatchPartnerMove(u8 taskId) +{ + s16 attackerX, targetX; + u8 spriteId; + + switch (gTasks[taskId].data[15]) + { + case 0: + attackerX = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X); + targetX = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X); + gTasks[taskId].data[0] = 6; + if (attackerX > targetX) + gTasks[taskId].data[0] *= -1; + + gTasks[taskId].data[1] = attackerX; + gTasks[taskId].data[2] = targetX; + gTasks[taskId].data[15]++; + break; + case 1: + spriteId = gBattlerSpriteIds[gBattleAnimAttacker]; + gSprites[spriteId].pos2.x += gTasks[taskId].data[0]; + if (gTasks[taskId].data[0] > 0) + { + if (gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x >= gTasks[taskId].data[2]) + gTasks[taskId].data[15]++; + } + else + { + if (gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x <= gTasks[taskId].data[2]) + gTasks[taskId].data[15]++; + } + break; + case 2: + gTasks[taskId].data[0] *= -1; + gTasks[taskId].data[15]++; + break; + case 3: + spriteId = gBattlerSpriteIds[gBattleAnimAttacker]; + gSprites[spriteId].pos2.x += gTasks[taskId].data[0]; + if (gTasks[taskId].data[0] < 0) + { + if (gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x <= gTasks[taskId].data[1]) + gTasks[taskId].data[15]++; + } + else + { + if (gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x >= gTasks[taskId].data[1]) + gTasks[taskId].data[15]++; + } + break; + case 4: + default: + spriteId = gBattlerSpriteIds[gBattleAnimAttacker]; + gSprites[spriteId].pos2.x = 0; + DestroyAnimVisualTask(taskId); + break; + } +} + +// Moves the mon's sprite back and forth in an unpredictable swaying motion. +// No args. +void AnimTask_TeeterDanceMovement(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + task->data[3] = GetAnimBattlerSpriteId(ANIM_ATTACKER); + task->data[4] = GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER ? 1 : -1; + task->data[6] = gSprites[task->data[3]].pos1.y; + task->data[5] = gSprites[task->data[3]].pos1.x; + task->data[9] = 0; + task->data[11] = 0; + task->data[10] = 1; + task->data[12] = 0; + task->func = AnimTask_TeeterDanceMovementStep; +} + +static void AnimTask_TeeterDanceMovementStep(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + switch (task->data[0]) + { + case 0: + task->data[11] += 8; + task->data[11] &= 0xFF; + gSprites[task->data[3]].pos2.x = gSineTable[task->data[11]] >> 5; + task->data[9] += 2; + task->data[9] &= 0xFF; + gSprites[task->data[3]].pos1.x = (gSineTable[task->data[9]] >> 3) * task->data[4] + task->data[5]; + if (task->data[9] == 0) + { + gSprites[task->data[3]].pos1.x = task->data[5]; + task->data[0]++; + } + break; + case 1: + task->data[11] += 8; + task->data[11] &= 0xFF; + gSprites[task->data[3]].pos2.x = gSineTable[task->data[11]] >> 5; + if (task->data[11] == 0) + { + gSprites[task->data[3]].pos2.x = 0; + task->data[0]++; + } + break; + case 2: + DestroyAnimVisualTask(taskId); + break; + } +} + +static void AnimKnockOffStrikeStep(struct Sprite *sprite) +{ + // These two cases are identical. + if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) + { + sprite->data[1] += sprite->data[0]; + sprite->data[1] &= 0xFF; + } + else + { + sprite->data[1] += sprite->data[0]; + sprite->data[1] &= 0xFF; + } + + sprite->pos2.x = Cos(sprite->data[1], 20); + sprite->pos2.y = Sin(sprite->data[1], 20); + if (sprite->animEnded) + DestroyAnimSprite(sprite); + + sprite->data[2]++; +} + +// Animates a strike that swipes downard at the target mon. +// arg 0: initial x pixel offset +// arg 1: initial y pixel offset +void AnimKnockOffStrike(struct Sprite *sprite) +{ + if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) + { + sprite->pos1.x -= gBattleAnimArgs[0]; + sprite->pos1.y += gBattleAnimArgs[1]; + sprite->data[0] = -11; + sprite->data[1] = 192; + StartSpriteAffineAnim(sprite, 1); + } + else + { + sprite->data[0] = 11; + sprite->data[1] = 192; + sprite->pos1.x += gBattleAnimArgs[0]; + sprite->pos1.y += gBattleAnimArgs[1]; + } + + sprite->callback = AnimKnockOffStrikeStep; +} + +// Gradually fades a rotating recyle arrow sprite in and back out. +// No args. +void AnimRecycle(struct Sprite *sprite) +{ + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); + sprite->pos1.y = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_TOP); + if (sprite->pos1.y < 16) + sprite->pos1.y = 16; + + sprite->data[6] = 0; + sprite->data[7] = 16; + sprite->callback = AnimRecycleStep; + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[6], sprite->data[7])); +} + +static void AnimRecycleStep(struct Sprite *sprite) +{ + switch (sprite->data[2]) + { + case 0: + if (++sprite->data[0] > 1) + { + sprite->data[0] = 0; + if (!(sprite->data[1] & 1)) + { + if (sprite->data[6] < 16) + sprite->data[6]++; + } + else + { + if (sprite->data[7] != 0) + sprite->data[7]--; + } + + sprite->data[1]++; + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[6], sprite->data[7])); + if (sprite->data[7] == 0) + sprite->data[2]++; + } + break; + case 1: + if (++sprite->data[0] == 10) + { + sprite->data[0] = 0; + sprite->data[1] = 0; + sprite->data[2]++; + } + break; + case 2: + if (++sprite->data[0] > 1) + { + sprite->data[0] = 0; + if (!(sprite->data[1] & 1)) + { + if (sprite->data[6] != 0) + sprite->data[6]--; + } + else + { + if (sprite->data[7] < 16) + sprite->data[7]++; + } + + sprite->data[1]++; + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[6], sprite->data[7])); + if (sprite->data[7] == 16) + sprite->data[2]++; + } + break; + case 3: + DestroySpriteAndMatrix(sprite); + break; + } +} + +void AnimTask_GetWeather(u8 taskId) +{ + gBattleAnimArgs[7] = ANIM_WEATHER_NONE; + if (gWeatherMoveAnim & WEATHER_SUN_ANY) + gBattleAnimArgs[7] = ANIM_WEATHER_SUN; + else if (gWeatherMoveAnim & WEATHER_RAIN_ANY) + gBattleAnimArgs[7] = ANIM_WEATHER_RAIN; + else if (gWeatherMoveAnim & WEATHER_SANDSTORM_ANY) + gBattleAnimArgs[7] = ANIM_WEATHER_SANDSTORM; + else if (gWeatherMoveAnim & WEATHER_HAIL_ANY) + gBattleAnimArgs[7] = ANIM_WEATHER_HAIL; + + DestroyAnimVisualTask(taskId); +} + +// Squishes the mon sprite vertically, and shakes it back and forth. +// arg 0: which battler +void AnimTask_SlackOffSquish(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + task->data[0] = 0; + task->data[15] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); + PrepareAffineAnimInTaskData(task, task->data[15], gSlackOffSquishAffineAnimCmds); + task->func = AnimTask_SlackOffSquishStep; +} + +static void AnimTask_SlackOffSquishStep(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + gTasks[taskId].data[0]++; + if (gTasks[taskId].data[0] > 16 && gTasks[taskId].data[0] < 40) + { + if (++task->data[1] > 2) + { + task->data[1] = 0; + task->data[2]++; + if (!(task->data[2] & 1)) + gSprites[task->data[15]].pos2.x = -1; + else + gSprites[task->data[15]].pos2.x = 1; + } + } + else + { + gSprites[task->data[15]].pos2.x = 0; + } + + if (!RunAffineAnimFromTaskData(&gTasks[taskId])) + DestroyAnimVisualTask(taskId); +} diff --git a/src/battle_anim_utility_funcs.c b/src/battle_anim_utility_funcs.c index f99b1aeac9..ba7cbd3aaf 100644 --- a/src/battle_anim_utility_funcs.c +++ b/src/battle_anim_utility_funcs.c @@ -767,7 +767,8 @@ void sub_81177E4(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_8117854(u8 taskId, int unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5, u8 arg6, u8 arg7, const u8 *arg8, const u8 *arg9, const u16 *palette) + +void sub_8117854(u8 taskId, int unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5, u8 arg6, u8 arg7, const u32 *gfx, const u32 *tilemap, const u32 *palette) { u16 species; u8 spriteId, spriteId2; @@ -818,8 +819,8 @@ void sub_8117854(u8 taskId, int unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5, spriteId2 = sub_80A89C8(battler2, gBattlerSpriteIds[battler2], species); sub_80A6B30(&unknownStruct); - sub_80A6D60(&unknownStruct, arg9, 0); - sub_80A6CC0(unknownStruct.bgId, arg8, unknownStruct.tilesOffset); + sub_80A6D60(&unknownStruct, tilemap, 0); + sub_80A6CC0(unknownStruct.bgId, gfx, unknownStruct.tilesOffset); LoadCompressedPalette(palette, unknownStruct.unk8 << 4, 32); gBattle_BG1_X = 0; diff --git a/src/battle_arena.c b/src/battle_arena.c index fb95e64d49..cfcb10a0d0 100644 --- a/src/battle_arena.c +++ b/src/battle_arena.c @@ -8,6 +8,7 @@ #include "decompress.h" #include "event_data.h" #include "frontier_util.h" +#include "graphics.h" #include "gpu_regs.h" #include "item.h" #include "m4a.h" @@ -23,9 +24,6 @@ #include "constants/battle_frontier.h" #include "constants/moves.h" -extern const u32 gUnknown_08D854E8[]; -extern const u16 gUnknown_08D855E8[]; - // This file's functions. static void sub_81A58B4(void); static void sub_81A5964(void); diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index 3325bf08e6..e3d1fd71a4 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -1303,7 +1303,7 @@ static void LinkOpponentHandleDrawTrainerPic(void) SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler)); gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, - (8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 40, + (8 - gTrainerFrontPicCoords[trainerPicId].size) * 4 + 40, GetBattlerSpriteSubpriority(gActiveBattler)); gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -240; @@ -1326,7 +1326,7 @@ static void LinkOpponentHandleTrainerSlide(void) DecompressTrainerFrontPic(trainerPicId, gActiveBattler); SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler)); - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, 176, (8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 40, 0x1E); + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, 176, (8 - gTrainerFrontPicCoords[trainerPicId].size) * 4 + 40, 0x1E); gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 96; gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.x += 32; diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index cfc2c8744a..f23701799a 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -1145,7 +1145,7 @@ static void LinkPartnerHandleDrawTrainerPic(void) DecompressTrainerBackPic(trainerPicId, gActiveBattler); SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler)); - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, (8 - gTrainerBackPicCoords[trainerPicId].coords) * 4 + 80, GetBattlerSpriteSubpriority(gActiveBattler)); + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, (8 - gTrainerBackPicCoords[trainerPicId].size) * 4 + 80, GetBattlerSpriteSubpriority(gActiveBattler)); gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240; diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 92ff77bed1..234c471444 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -1294,7 +1294,7 @@ static void OpponentHandleDrawTrainerPic(void) SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler)); gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, - (8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 40, + (8 - gTrainerFrontPicCoords[trainerPicId].size) * 4 + 40, GetBattlerSpriteSubpriority(gActiveBattler)); gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -240; @@ -1364,7 +1364,7 @@ static void OpponentHandleTrainerSlide(void) DecompressTrainerFrontPic(trainerPicId, gActiveBattler); SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler)); - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, 176, (8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 40, 0x1E); + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, 176, (8 - gTrainerFrontPicCoords[trainerPicId].size) * 4 + 40, 0x1E); gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 96; gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.x += 32; diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 0219a6b459..8a892c0c10 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -913,7 +913,7 @@ static void sub_80586F8(void) } else { - if (sub_800A520()) + if (IsLinkTaskFinished()) { m4aSongNumStop(SE_HINSI); gMain.inBattle = 0; @@ -932,7 +932,7 @@ void sub_80587B0(void) { if (gBattleTypeFlags & BATTLE_TYPE_LINK) { - if (sub_800A520()) + if (IsLinkTaskFinished()) { if (gWirelessCommType == 0) sub_800AC34(); @@ -2335,18 +2335,18 @@ static void PlayerHandleDrawTrainerPic(void) if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && gPartnerTrainerId != TRAINER_STEVEN_PARTNER && gPartnerTrainerId < TRAINER_CUSTOM_PARTNER) { xPos = 90; - yPos = (8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 80; + yPos = (8 - gTrainerFrontPicCoords[trainerPicId].size) * 4 + 80; } else { - yPos = (8 - gTrainerBackPicCoords[trainerPicId].coords) * 4 + 80; + yPos = (8 - gTrainerBackPicCoords[trainerPicId].size) * 4 + 80; } } else { xPos = 80; - yPos = (8 - gTrainerBackPicCoords[trainerPicId].coords) * 4 + 80; + yPos = (8 - gTrainerBackPicCoords[trainerPicId].size) * 4 + 80; } // Use front pic table for any tag battles unless your partner is Steven. @@ -2409,7 +2409,7 @@ static void PlayerHandleTrainerSlide(void) DecompressTrainerBackPic(trainerPicId, gActiveBattler); SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler)); - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, 80, (8 - gTrainerBackPicCoords[trainerPicId].coords) * 4 + 80, 30); + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, 80, (8 - gTrainerBackPicCoords[trainerPicId].size) * 4 + 80, 30); gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -96; diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 5f33a6a046..06a7f9b301 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -1310,19 +1310,19 @@ static void PlayerPartnerHandleDrawTrainerPic(void) { trainerPicId = TRAINER_BACK_PIC_STEVEN; xPos = 90; - yPos = (8 - gTrainerBackPicCoords[trainerPicId].coords) * 4 + 80; + yPos = (8 - gTrainerBackPicCoords[trainerPicId].size) * 4 + 80; } else if (gPartnerTrainerId >= TRAINER_CUSTOM_PARTNER) { trainerPicId = gPartnerSpriteId; xPos = 90; - yPos = (8 - gTrainerBackPicCoords[trainerPicId].coords) * 4 + 80; + yPos = (8 - gTrainerBackPicCoords[trainerPicId].size) * 4 + 80; } else { trainerPicId = GetFrontierTrainerFrontSpriteId(gPartnerTrainerId); xPos = 32; - yPos = (8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 80; + yPos = (8 - gTrainerFrontPicCoords[trainerPicId].size) * 4 + 80; } // Use back pic only if the partner is Steven diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index 4492a0cb73..392d79dad4 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -1250,7 +1250,7 @@ static void RecordedOpponentHandleDrawTrainerPic(void) SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler)); gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, - (8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 40, + (8 - gTrainerFrontPicCoords[trainerPicId].size) * 4 + 40, GetBattlerSpriteSubpriority(gActiveBattler)); gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -240; diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index 301c1f0091..9055fc16bf 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -1217,18 +1217,18 @@ static void RecordedPlayerHandleDrawTrainerPic(void) if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) { xPos = 90; - yPos = (8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 80; + yPos = (8 - gTrainerFrontPicCoords[trainerPicId].size) * 4 + 80; } else { - yPos = (8 - gTrainerBackPicCoords[trainerPicId].coords) * 4 + 80; + yPos = (8 - gTrainerBackPicCoords[trainerPicId].size) * 4 + 80; } } else { xPos = 80; - yPos = (8 - gTrainerBackPicCoords[trainerPicId].coords) * 4 + 80; + yPos = (8 - gTrainerBackPicCoords[trainerPicId].size) * 4 + 80; } if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c index 20c51ea428..04ca2ce46e 100644 --- a/src/battle_controller_safari.c +++ b/src/battle_controller_safari.c @@ -361,7 +361,7 @@ static void SafariHandleDrawTrainerPic(void) gBattlerSpriteIds[gActiveBattler] = CreateSprite( &gMultiuseSpriteTemplate, 80, - (8 - gTrainerBackPicCoords[gSaveBlock2Ptr->playerGender].coords) * 4 + 80, + (8 - gTrainerBackPicCoords[gSaveBlock2Ptr->playerGender].size) * 4 + 80, 30); gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240; diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index f133184558..dc35545979 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -1038,7 +1038,7 @@ static void WallyHandleDrawTrainerPic(void) SetMultiuseSpriteTemplateToTrainerBack(TRAINER_BACK_PIC_WALLY, GetBattlerPosition(gActiveBattler)); gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, 80, - 80 + 4 * (8 - gTrainerBackPicCoords[TRAINER_BACK_PIC_WALLY].coords), + 80 + 4 * (8 - gTrainerBackPicCoords[TRAINER_BACK_PIC_WALLY].size), 30); gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240; @@ -1053,7 +1053,7 @@ static void WallyHandleTrainerSlide(void) SetMultiuseSpriteTemplateToTrainerBack(TRAINER_BACK_PIC_WALLY, GetBattlerPosition(gActiveBattler)); gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, 80, - 80 + 4 * (8 - gTrainerBackPicCoords[TRAINER_BACK_PIC_WALLY].coords), + 80 + 4 * (8 - gTrainerBackPicCoords[TRAINER_BACK_PIC_WALLY].size), 30); gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -96; diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 0af4059045..675d4edb4b 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -802,7 +802,7 @@ static void Task_HandleSendLinkBuffersData(u8 taskId) } break; case 4: - if (sub_800A520()) + if (IsLinkTaskFinished()) { blockSize = gLinkBattleSendBuffer[gTasks[taskId].data[15] + LINK_BUFF_SIZE_LO] | (gLinkBattleSendBuffer[gTasks[taskId].data[15] + LINK_BUFF_SIZE_HI] << 8); gTasks[taskId].data[13] = 1; diff --git a/src/battle_main.c b/src/battle_main.c index 7e1711e16a..6202eadce1 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -17,6 +17,7 @@ #include "dma3.h" #include "event_data.h" #include "evolution_scene.h" +#include "graphics.h" #include "gpu_regs.h" #include "international_string_util.h" #include "item.h" @@ -61,7 +62,6 @@ extern struct MusicPlayerInfo gMPlayInfo_SE1; extern struct MusicPlayerInfo gMPlayInfo_SE2; -extern const u16 gBattleTextboxPalette[]; extern const struct BgTemplate gBattleBgTemplates[]; extern const struct WindowTemplate *const gBattleWindowTemplates[]; extern const u8 *const gBattleScriptsForMoveEffects[]; @@ -981,7 +981,7 @@ static void CB2_HandleStartBattle(void) { if (gReceivedRemoteLinkPlayers != 0) { - if (sub_800A520()) + if (IsLinkTaskFinished()) { *(&gBattleStruct->field_180) = 0; *(&gBattleStruct->field_181) = 3; @@ -1030,7 +1030,7 @@ static void CB2_HandleStartBattle(void) } break; case 3: - if (sub_800A520()) + if (IsLinkTaskFinished()) { SendBlock(bitmask_all_link_players_but_self(), gPlayerParty, sizeof(struct Pokemon) * 2); gBattleCommunication[MULTIUSE_STATE]++; @@ -1045,7 +1045,7 @@ static void CB2_HandleStartBattle(void) } break; case 7: - if (sub_800A520()) + if (IsLinkTaskFinished()) { SendBlock(bitmask_all_link_players_but_self(), gPlayerParty + 2, sizeof(struct Pokemon) * 2); gBattleCommunication[MULTIUSE_STATE]++; @@ -1060,7 +1060,7 @@ static void CB2_HandleStartBattle(void) } break; case 11: - if (sub_800A520()) + if (IsLinkTaskFinished()) { SendBlock(bitmask_all_link_players_but_self(), gPlayerParty + 4, sizeof(struct Pokemon) * 2); gBattleCommunication[MULTIUSE_STATE]++; @@ -1102,7 +1102,7 @@ static void CB2_HandleStartBattle(void) } break; case 16: - if (sub_800A520()) + if (IsLinkTaskFinished()) { SendBlock(bitmask_all_link_players_but_self(), &gRecordedBattleRngSeed, sizeof(gRecordedBattleRngSeed)); gBattleCommunication[MULTIUSE_STATE]++; @@ -1189,7 +1189,7 @@ static void CB2_HandleStartMultiPartnerBattle(void) GetBattleTowerTrainerLanguage(&language, gTrainerBattleOpponent_B); gLinkPlayers[3].language = language; - if (sub_800A520()) + if (IsLinkTaskFinished()) { *(&gBattleStruct->field_180) = 0; *(&gBattleStruct->field_181) = 3; @@ -1229,7 +1229,7 @@ static void CB2_HandleStartMultiPartnerBattle(void) } break; case 3: - if (sub_800A520()) + if (IsLinkTaskFinished()) { SendBlock(bitmask_all_link_players_but_self(), gPlayerParty, sizeof(struct Pokemon) * 2); gBattleCommunication[MULTIUSE_STATE]++; @@ -1253,7 +1253,7 @@ static void CB2_HandleStartMultiPartnerBattle(void) } break; case 5: - if (sub_800A520()) + if (IsLinkTaskFinished()) { SendBlock(bitmask_all_link_players_but_self(), gPlayerParty + 2, sizeof(struct Pokemon)); gBattleCommunication[MULTIUSE_STATE]++; @@ -1277,7 +1277,7 @@ static void CB2_HandleStartMultiPartnerBattle(void) } break; case 7: - if (sub_800A520()) + if (IsLinkTaskFinished()) { SendBlock(bitmask_all_link_players_but_self(), gEnemyParty, sizeof(struct Pokemon) * 2); gBattleCommunication[MULTIUSE_STATE]++; @@ -1295,7 +1295,7 @@ static void CB2_HandleStartMultiPartnerBattle(void) } break; case 9: - if (sub_800A520()) + if (IsLinkTaskFinished()) { SendBlock(bitmask_all_link_players_but_self(), gEnemyParty + 2, sizeof(struct Pokemon) * 2); gBattleCommunication[MULTIUSE_STATE]++; @@ -1313,7 +1313,7 @@ static void CB2_HandleStartMultiPartnerBattle(void) } break; case 11: - if (sub_800A520()) + if (IsLinkTaskFinished()) { SendBlock(bitmask_all_link_players_but_self(), gEnemyParty + 4, sizeof(struct Pokemon) * 2); gBattleCommunication[MULTIUSE_STATE]++; @@ -1355,7 +1355,7 @@ static void CB2_HandleStartMultiPartnerBattle(void) } break; case 14: - if (sub_800A520()) + if (IsLinkTaskFinished()) { SendBlock(bitmask_all_link_players_but_self(), &gRecordedBattleRngSeed, sizeof(gRecordedBattleRngSeed)); gBattleCommunication[MULTIUSE_STATE]++; @@ -1435,7 +1435,7 @@ static void CB2_PreInitMultiBattle(void) switch (gBattleCommunication[MULTIUSE_STATE]) { case 0: - if (gReceivedRemoteLinkPlayers != 0 && sub_800A520()) + if (gReceivedRemoteLinkPlayers != 0 && IsLinkTaskFinished()) { gUnknown_02023058 = Alloc(sizeof(struct UnknownPokemonStruct4) * 3); sub_80379F8(0); @@ -1473,7 +1473,7 @@ static void CB2_PreInitMultiBattle(void) } break; case 2: - if (sub_800A520() && !gPaletteFade.active) + if (IsLinkTaskFinished() && !gPaletteFade.active) { gBattleCommunication[MULTIUSE_STATE]++; if (gWirelessCommType) @@ -1576,7 +1576,7 @@ static void CB2_HandleStartMultiBattle(void) { if (gReceivedRemoteLinkPlayers != 0) { - if (sub_800A520()) + if (IsLinkTaskFinished()) { *(&gBattleStruct->field_180) = 0; *(&gBattleStruct->field_181) = 3; @@ -1638,7 +1638,7 @@ static void CB2_HandleStartMultiBattle(void) break; // fall through case 3: - if (sub_800A520()) + if (IsLinkTaskFinished()) { SendBlock(bitmask_all_link_players_but_self(), gPlayerParty, sizeof(struct Pokemon) * 2); gBattleCommunication[MULTIUSE_STATE]++; @@ -1701,7 +1701,7 @@ static void CB2_HandleStartMultiBattle(void) } break; case 5: - if (sub_800A520()) + if (IsLinkTaskFinished()) { SendBlock(bitmask_all_link_players_but_self(), gPlayerParty + 2, sizeof(struct Pokemon)); gBattleCommunication[MULTIUSE_STATE]++; @@ -1797,7 +1797,7 @@ static void CB2_HandleStartMultiBattle(void) } break; case 8: - if (sub_800A520()) + if (IsLinkTaskFinished()) { u32* ptr = (u32*)(&gBattleStruct->field_180); ptr[0] = gBattleTypeFlags; @@ -2350,7 +2350,7 @@ static void sub_8038F34(void) gBattleCommunication[MULTIUSE_STATE]++; break; case 6: - if (sub_800A520() == TRUE) + if (IsLinkTaskFinished() == TRUE) { sub_800ADF8(); BattlePutTextOnWindow(gText_LinkStandby3, 0); @@ -2360,7 +2360,7 @@ static void sub_8038F34(void) case 7: if (!IsTextPrinterActive(0)) { - if (sub_800A520() == TRUE) + if (IsLinkTaskFinished() == TRUE) gBattleCommunication[MULTIUSE_STATE]++; } break; @@ -2535,7 +2535,7 @@ static void sub_803939C(void) } break; case 6: - if (sub_800A520() == TRUE) + if (IsLinkTaskFinished() == TRUE) { HandleBattleWindow(0x18, 8, 0x1D, 0xD, WINDOW_CLEAR); if (gMain.field_439_x4) @@ -2585,7 +2585,7 @@ static void sub_803939C(void) } break; case 11: - if (sub_800A520() == TRUE && !IsTextPrinterActive(0) && --gBattleCommunication[1] == 0) + if (IsLinkTaskFinished() == TRUE && !IsTextPrinterActive(0) && --gBattleCommunication[1] == 0) { if (gMain.field_439_x4) { @@ -2601,7 +2601,7 @@ static void sub_803939C(void) { if (gMain.field_439_x4) { - if (sub_800A520() == TRUE) + if (IsLinkTaskFinished() == TRUE) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gBattleCommunication[1] = 0x20; diff --git a/src/battle_pyramid.c b/src/battle_pyramid.c index c9d9042872..2f0d35feb5 100644 --- a/src/battle_pyramid.c +++ b/src/battle_pyramid.c @@ -1202,8 +1202,8 @@ static u8 sub_81A9998(s32 *arg0, u8 arg1, u8 arg2) { s32 i, j; u8 ret = 0; - u16 *map = gUnknown_03005DC0.map; - map += gUnknown_03005DC0.width * 7 + 7; + u16 *map = gBackupMapLayout.map; + map += gBackupMapLayout.width * 7 + 7; for (i = 0; i < 32; map += 47, i++) { @@ -1493,11 +1493,11 @@ void sub_81AA078(u16 *mapArg, u8 arg1) const struct MapLayout *mapLayout = gMapLayouts[allocated[i] + 0x169]; const u16 *layoutMap = mapLayout->map; - gUnknown_03005DC0.map = mapArg; - gUnknown_03005DC0.width = mapLayout->width * 4 + 15; - gUnknown_03005DC0.height = mapLayout->height * 4 + 14; + gBackupMapLayout.map = mapArg; + gBackupMapLayout.width = mapLayout->width * 4 + 15; + gBackupMapLayout.height = mapLayout->height * 4 + 14; map = mapArg; - heightAdd = (((i / 4 * mapLayout->height) + 7) * (gUnknown_03005DC0.width)); + heightAdd = (((i / 4 * mapLayout->height) + 7) * (gBackupMapLayout.width)); widthAdd = ((i % 4 * mapLayout->width) + 7); map += heightAdd + widthAdd; for (j = 0; j < mapLayout->height; j++) diff --git a/src/battle_setup.c b/src/battle_setup.c index 74187a6aeb..5a41a4742b 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -1563,7 +1563,7 @@ static bool32 sub_80B1D94(s32 rematchTableId) if (rematchTableId >= REMATCH_ELITE_FOUR_ENTRIES) return TRUE; else if (rematchTableId == REMATCH_WALLY_ENTRY) - return (FlagGet(FLAG_0x07E) == FALSE); + return (FlagGet(FLAG_DEFEATED_WALLY_VICTORY_ROAD) == FALSE); else return FALSE; } diff --git a/src/battle_tower.c b/src/battle_tower.c index 3140cf612c..e4c121dbfd 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -2830,7 +2830,7 @@ static void sub_8164B74(void) if (battleMode == FRONTIER_MODE_LINK_MULTIS) { challengeNum = gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode] / 7; - if (sub_800A520()) + if (IsLinkTaskFinished()) { SendBlock(bitmask_all_link_players_but_self(), &challengeNum, sizeof(challengeNum)); gSpecialVar_Result = 1; @@ -2867,7 +2867,7 @@ static void sub_8164B74(void) } break; case 2: - if (sub_800A520()) + if (IsLinkTaskFinished()) { SendBlock(bitmask_all_link_players_but_self(), &gSaveBlock2Ptr->frontier.field_CB4, sizeof(gSaveBlock2Ptr->frontier.field_CB4)); gSpecialVar_Result = 3; @@ -3189,10 +3189,10 @@ void sub_81653CC(void) { if (gSaveBlock2Ptr->frontier.field_CA8 == 1) sub_80F01B8(); - if (FlagGet(FLAG_0x077) == TRUE) + if (FlagGet(FLAG_CANCEL_BATTLE_ROOM_CHALLENGE) == TRUE) { sub_80F01B8(); - FlagClear(FLAG_0x077); + FlagClear(FLAG_CANCEL_BATTLE_ROOM_CHALLENGE); } } diff --git a/src/berry.c b/src/berry.c index 24ed370c3e..bd596db7f7 100644 --- a/src/berry.c +++ b/src/berry.c @@ -857,11 +857,10 @@ const struct UnkStruct_0858AB24 gUnknown_0858AB24[] = { const struct BerryTree gBlankBerryTree = {}; -//.text // unused void ClearEnigmaBerries(void) { - CpuFill16(0, &gSaveBlock1Ptr->enigmaBerry, 52); + CpuFill16(0, &gSaveBlock1Ptr->enigmaBerry, sizeof(gSaveBlock1Ptr->enigmaBerry)); } void SetEnigmaBerry(u8 *src) @@ -869,7 +868,7 @@ void SetEnigmaBerry(u8 *src) u32 i; u8 *dest = (u8*)&gSaveBlock1Ptr->enigmaBerry; - for (i = 0; i < 52; i++) + for (i = 0; i < sizeof(gSaveBlock1Ptr->enigmaBerry); i++) dest[i] = src[i]; } @@ -881,10 +880,8 @@ static u32 GetEnigmaBerryChecksum(struct EnigmaBerry *enigmaBerry) dest = (u8*)enigmaBerry; checksum = 0; - for (i = 0; i < 52 - sizeof(gSaveBlock1Ptr->enigmaBerry.checksum); i++) - { + for (i = 0; i < sizeof(gSaveBlock1Ptr->enigmaBerry) - sizeof(gSaveBlock1Ptr->enigmaBerry.checksum); i++) checksum += dest[i]; - } return checksum; } @@ -941,10 +938,10 @@ bool32 EventObjectInteractionWaterBerryTree(void) return TRUE; } -bool8 IsPlayerFacingPlantedBerryTree(void) +bool8 IsPlayerFacingEmptyBerryTreePatch(void) { if (GetEventObjectScriptPointerPlayerFacing() == BerryTreeScript - && GetStageByBerryTreeId(EventObjectGetBerryTreeId(gSelectedEventObject)) == 0) + && GetStageByBerryTreeId(EventObjectGetBerryTreeId(gSelectedEventObject)) == BERRY_STAGE_NO_BERRY) return TRUE; else return FALSE; @@ -1046,10 +1043,9 @@ void PlantBerryTree(u8 id, u8 berry, u8 stage, bool8 sparkle) tree->berryYield = CalcBerryYield(tree); tree->minutesUntilNextStage *= 4; } + if (!sparkle) - { tree->growthSparkle = TRUE; - } } void RemoveBerryTree(u8 id) @@ -1072,7 +1068,7 @@ u8 ItemIdToBerryType(u16 item) u16 berry = item - FIRST_BERRY_INDEX; if (berry > LAST_BERRY_INDEX - FIRST_BERRY_INDEX) - return 1; + return ITEM_TO_BERRY(FIRST_BERRY_INDEX); else return ITEM_TO_BERRY(item); } diff --git a/src/berry_blender.c b/src/berry_blender.c index 1ffdb1c38f..ea9c6c4ff0 100644 --- a/src/berry_blender.c +++ b/src/berry_blender.c @@ -1240,7 +1240,7 @@ static void sub_8080018(void) sBerryBlenderData->framesToWait = 0; break; case 9: - if (sub_800A520()) + if (IsLinkTaskFinished()) { ResetBlockReceivedFlags(); if (GetMultiplayerId() == 0) @@ -1297,7 +1297,7 @@ static void sub_8080018(void) } break; case 13: - if (sub_800A520()) + if (IsLinkTaskFinished()) { sBerryBlenderData->mainState++; sub_8082CB4(&sBerryBlenderData->bgAffineSrc); @@ -1342,7 +1342,7 @@ static void sub_8080018(void) sBerryBlenderData->mainState++; break; case 20: - if (sub_800A520()) + if (IsLinkTaskFinished()) { sub_800A418(); sBerryBlenderData->mainState++; @@ -2412,7 +2412,7 @@ static void CB2_HandleBlenderEndGame(void) { sBerryBlenderData->gameEndState++; } - else if (sub_800A520()) + else if (IsLinkTaskFinished()) { if (gReceivedRemoteLinkPlayers != 0 && gWirelessCommType) { @@ -2593,7 +2593,7 @@ static bool8 LinkPlayAgainHandleSaving(void) sBerryBlenderData->framesToWait = 0; break; case 1: - if (sub_800A520()) + if (IsLinkTaskFinished()) { sBerryBlenderData->field_1A0++; gSoftResetDisabled = TRUE; @@ -2612,7 +2612,7 @@ static bool8 LinkPlayAgainHandleSaving(void) } break; case 4: - if (sub_800A520()) + if (IsLinkTaskFinished()) { if (sub_8153474()) { @@ -2687,7 +2687,7 @@ static void CB2_HandlePlayerLinkPlayAgainChoice(void) sBerryBlenderData->gameEndState++; break; case 6: - if (sub_800A520()) + if (IsLinkTaskFinished()) { sBerryBlenderData->framesToWait = 0; sBerryBlenderData->gameEndState++; @@ -2706,7 +2706,7 @@ static void CB2_HandlePlayerLinkPlayAgainChoice(void) sub_800ADF8(); break; case 9: - if (sub_800A520()) + if (IsLinkTaskFinished()) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); sBerryBlenderData->gameEndState++; diff --git a/src/cable_club.c b/src/cable_club.c index 372329c14b..784426d535 100644 --- a/src/cable_club.c +++ b/src/cable_club.c @@ -898,7 +898,7 @@ static void sub_80B33BC(u8 taskId) data[0] = 6; break; case 6: - if (sub_800A520()) + if (IsLinkTaskFinished()) { data[0] = 7; } @@ -1123,7 +1123,7 @@ static void sub_80B3894(u8 taskId) data[0]++; break; case 3: - if (sub_800A520()) + if (IsLinkTaskFinished()) { sub_8013F78(); DestroyTask(taskId); diff --git a/src/clock.c b/src/clock.c index 2d4da92ab5..d52fde22e6 100644 --- a/src/clock.c +++ b/src/clock.c @@ -12,17 +12,9 @@ #include "overworld.h" #include "wallclock.h" -// static types - -// static declarations - static void UpdatePerDay(struct Time *localTime); static void UpdatePerMinute(struct Time *localTime); -// rodata - -// text - static void InitTimeBasedEvents(void) { FlagSet(FLAG_SYS_CLOCK_SET); diff --git a/src/contest.c b/src/contest.c index 0f29f4ad96..7decf88fc8 100644 --- a/src/contest.c +++ b/src/contest.c @@ -176,7 +176,7 @@ EWRAM_DATA s16 gUnknown_02039F08[4] = {0}; EWRAM_DATA s16 gUnknown_02039F10[4] = {0}; EWRAM_DATA s16 gUnknown_02039F18[4] = {0}; EWRAM_DATA u8 gContestFinalStandings[4] = {0}; -EWRAM_DATA u8 gUnknown_02039F24 = 0; +EWRAM_DATA u8 gContestMonPartyIndex = 0; EWRAM_DATA u8 gContestPlayerMonIndex = 0; EWRAM_DATA u8 gUnknown_02039F26[4] = {0}; EWRAM_DATA u8 gIsLinkContest = 0; @@ -185,8 +185,8 @@ EWRAM_DATA u8 gIsLinkContest = 0; EWRAM_DATA u8 gUnknown_02039F2B = 0; EWRAM_DATA u16 gSpecialVar_ContestCategory = 0; EWRAM_DATA u16 gSpecialVar_ContestRank = 0; -EWRAM_DATA u8 gUnknown_02039F30 = 0; -EWRAM_DATA u8 gUnknown_02039F31 = 0; +EWRAM_DATA u8 gNumLinkContestPlayers = 0; +EWRAM_DATA u8 gHighestRibbonRank = 0; EWRAM_DATA struct ContestResources * gContestResources = NULL; EWRAM_DATA u8 sContestBgCopyFlags = 0; EWRAM_DATA struct ContestWinner gUnknown_02039F3C = {0}; @@ -217,7 +217,6 @@ extern const u8 gText_0827D597[]; extern const struct ContestPokemon gContestOpponents[96]; extern const u8 gUnknown_085898A4[96]; extern const struct CompressedSpriteSheet gUnknown_08587C00; -extern const u8 gContest2Pal[]; extern const struct SpriteTemplate gSpriteTemplate_8587BE8; extern const struct CompressedSpriteSheet gUnknown_08587C08; extern const struct CompressedSpritePalette gUnknown_08587C10; @@ -474,14 +473,14 @@ void sub_80D7CB4(u8 taskId) gTasks[taskId].data[0]++; // fallthrough case 1: - if (sub_800A520()) + if (IsLinkTaskFinished()) { sub_800ADF8(); gTasks[taskId].data[0]++; } return; case 2: - if (sub_800A520() != TRUE) + if (IsLinkTaskFinished() != TRUE) return; gTasks[taskId].data[0]++; break; @@ -933,9 +932,9 @@ void sub_80D8A88(u8 taskId) { s32 i; - for (i = 0; i + gUnknown_02039F30 < 4; i++) + for (i = 0; i + gNumLinkContestPlayers < 4; i++) { - gContestResources->field_4[gUnknown_02039F30 + i].currMove = sub_80DB8B8(gUnknown_02039F30 + i); + gContestResources->field_4[gNumLinkContestPlayers + i].currMove = sub_80DB8B8(gNumLinkContestPlayers + i); } } gTasks[taskId].data[0] = 0; @@ -2111,7 +2110,7 @@ void sub_80DAB8C(u8 contestType, u8 rank) opponentsCount--; } - sub_80DA8C8(gUnknown_02039F24); + sub_80DA8C8(gContestMonPartyIndex); } #ifdef NONMATCHING @@ -2122,7 +2121,7 @@ void sub_80DACBC(u8 contestType, u8 rank, bool32 isPostgame) u8 opponents[100]; const u8 * r6; - if (gUnknown_02039F30 == 4) + if (gNumLinkContestPlayers == 4) return; r6 = gUnknown_085898A4; @@ -2152,14 +2151,14 @@ void sub_80DACBC(u8 contestType, u8 rank, bool32 isPostgame) opponents[opponentsCount++] = i; } opponents[opponentsCount] = 0xFF; - for (i = 0; i < 4 - gUnknown_02039F30; i++) + for (i = 0; i < 4 - gNumLinkContestPlayers; i++) { u16 rnd = sub_80F903C() % opponentsCount; s32 j; - gContestMons[gUnknown_02039F30 + i] = gContestOpponents[opponents[rnd]]; - sub_80DF9D4(gContestMons[gUnknown_02039F30 + i].trainerName); - sub_80DF9E0(gContestMons[gUnknown_02039F30 + i].nickname, GAME_LANGUAGE); + gContestMons[gNumLinkContestPlayers + i] = gContestOpponents[opponents[rnd]]; + sub_80DF9D4(gContestMons[gNumLinkContestPlayers + i].trainerName); + sub_80DF9E0(gContestMons[gNumLinkContestPlayers + i].nickname, GAME_LANGUAGE); for (j = rnd; opponents[j] != 0xFF; j++) opponents[j] = opponents[j + 1]; opponentsCount--; @@ -2179,7 +2178,7 @@ NAKED void sub_80DACBC(u8 contestType, u8 rank, bool32 isPostgame) "\tlsls r1, 24\n" "\tlsrs r2, r1, 24\n" "\tmovs r7, 0\n" - "\tldr r0, =gUnknown_02039F30\n" + "\tldr r0, =gNumLinkContestPlayers\n" "\tldrb r1, [r0]\n" "\tmov r9, r0\n" "\tcmp r1, 0x4\n" @@ -2472,12 +2471,12 @@ u16 sub_80DAFE0(u8 who, u8 contestCategory) return statMain + (statSub1 + statSub2 + gContestMons[who].sheen) / 2; } -void sub_80DB09C(u8 a0) +void sub_80DB09C(u8 contestCategory) { s32 i; for (i = 0; i < 4; i++) - gContestMonConditions[i] = sub_80DAFE0(i, a0); + gContestMonConditions[i] = sub_80DAFE0(i, contestCategory); } u8 sub_80DB0C4(void) diff --git a/src/contest_link_80F57C4.c b/src/contest_link_80F57C4.c new file mode 100755 index 0000000000..721a4f8706 --- /dev/null +++ b/src/contest_link_80F57C4.c @@ -0,0 +1,1443 @@ +#include "global.h" +#include "battle.h" +#include "bg.h" +#include "contest.h" +#include "contest_link_80F57C4.h" +#include "contest_painting.h" +#include "decompress.h" +#include "dma3.h" +#include "event_data.h" +#include "field_specials.h" +#include "gpu_regs.h" +#include "graphics.h" +#include "international_string_util.h" +#include "link.h" +#include "link_rfu.h" +#include "load_save.h" +#include "main.h" +#include "overworld.h" +#include "palette.h" +#include "pokedex.h" +#include "pokemon.h" +#include "pokemon_icon.h" +#include "random.h" +#include "save.h" +#include "scanline_effect.h" +#include "sound.h" +#include "string_util.h" +#include "strings.h" +#include "task.h" +#include "text.h" +#include "tv.h" +#include "util.h" +#include "window.h" +#include "constants/game_stat.h" +#include "constants/rgb.h" +#include "constants/songs.h" +#include "constants/vars.h" + +struct ContestLinkUnk0 +{ + u8 unk0; + u8 unk1; + u8 taskId; + u8 unk3; + u8 unk4; + u8 unk5; + u8 unk6; + u8 filler7[0x1]; + u8 spriteId; + u8 unk9; + u8 unkA; + u8 fillerB[0x9]; + u8 unk14; + u8 filler15[0x3]; +}; + +struct ContestLinkUnk4 +{ + u8 filler0[0x50]; +}; + +struct ContestLink80F57C4 +{ + struct ContestLinkUnk0 *unk0; + struct ContestLinkUnk4 *unk4; + u8 filler8[0x4]; + u8 *unkC[4]; +}; + +extern const struct CompressedSpriteSheet gMonFrontPicTable[]; + +extern struct ContestLink80F57C4 *gUnknown_0203A034; + +extern const struct BgTemplate gUnknown_0858D888[4]; +extern const struct WindowTemplate gUnknown_0858D898[]; +extern const struct CompressedSpriteSheet gUnknown_0858D878[]; +extern const struct CompressedSpritePalette gUnknown_0858D880[]; +extern const struct SpriteSheet gUnknown_0858D8E0; +extern const struct SpriteTemplate gSpriteTemplate_858D8C8; +extern const u8 gUnknown_0858D8E8[]; +extern const u8 gUnknown_0858D6D0[]; +extern const struct SpriteTemplate gSpriteTemplate_858D7F8; +extern const struct SpriteSheet gUnknown_0858D810[]; +extern const struct SpritePalette gUnknown_0858D850; + +static void sub_80F6A9C(void); +static void sub_80F71C8(void); +u8 sub_80F7310(u8, u8); +s8 sub_80F7364(u8, u8); +void sub_80F7ED0(int, u8 *, int); +void sub_80F7DF4(void); +static void sub_80F6A64(u8, u8); +static void sub_80F6DC0(void); +static void sub_80F6AE8(void); +static void sub_80F5CE4(u8); +static void sub_80F5C00(void); +static void sub_80F68B4(u8); +void sub_80F7880(void); +static void sub_80F5C24(void); +static void sub_80F707C(const u8 *); +static void sub_80F5ED8(u8); +static void sub_80F5F14(u8); +static void sub_80F5F30(u8); +static void sub_80F5F74(u8); +static void sub_80F7144(void); +static void sub_80F68F0(u8); +s16 sub_80F6B78(const u8 *, u8); +static void sub_80F6E9C(s16, u16, u16, u16); +static void sub_80F6058(u8); +void sub_80F7A80(u8, u8); +static void sub_80F6EF4(u16); +static void sub_80F60F0(u8); +static void sub_80F616C(u8); +static void sub_80F6204(u8); +void sub_80F73DC(u8); +void sub_80F74BC(u8); +void sub_80F77E0(u8, u8); +static void sub_80F6404(u8); +void sub_80F75A8(struct Sprite *); +void sub_80F7670(u8); +void sub_80F7620(struct Sprite *); +static void sub_80F66B4(u8); +static void sub_80F671C(u8); +static void sub_80F677C(u8); +static void sub_80F67C4(u8); +static void sub_80F6820(u8); +void sub_80F7E64(void); +static void sub_80F6F68(struct Sprite *); +static void sub_80F7014(struct Sprite *); +static void sub_80F6FDC(struct Sprite *); + +void sub_80F57C4(void) +{ + int i; + + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, gUnknown_0858D888, ARRAY_COUNT(gUnknown_0858D888)); + for (i = 0; i < 4; i++) + SetBgTilemapBuffer(i, gUnknown_0203A034->unkC[i]); + + InitWindows(gUnknown_0858D898); + DeactivateAllTextPrinters(); + SetGpuReg(REG_OFFSET_MOSAIC, 0); + SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR); + SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_BG3 | WINOUT_WIN01_CLR | WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR); + SetGpuReg(REG_OFFSET_WIN0H, 0); + SetGpuReg(REG_OFFSET_WIN0V, 0); + SetGpuReg(REG_OFFSET_WIN1H, 0); + SetGpuReg(REG_OFFSET_WIN1V, 0); + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + SetGpuReg(REG_OFFSET_BLDY, 0); + SetGpuReg(REG_OFFSET_BG0HOFS, 0); + SetGpuReg(REG_OFFSET_BG0VOFS, 0); + SetGpuReg(REG_OFFSET_BG1HOFS, 0); + SetGpuReg(REG_OFFSET_BG1VOFS, 0); + SetGpuReg(REG_OFFSET_BG2HOFS, 0); + SetGpuReg(REG_OFFSET_BG2VOFS, 0); + SetGpuReg(REG_OFFSET_BG3HOFS, 0); + SetGpuReg(REG_OFFSET_BG3VOFS, 0); + SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG_ALL_ON | DISPCNT_OBJ_ON | DISPCNT_WIN0_ON | DISPCNT_WIN1_ON | DISPCNT_OBJWIN_ON); + gBattle_BG0_X = 0; + gBattle_BG0_Y = 0; + gBattle_BG1_X = 0; + gBattle_BG1_Y = 0; + gBattle_BG2_X = 0; + gBattle_BG2_Y = 0; + gBattle_BG3_X = 0; + gBattle_BG3_Y = 0; + gBattle_WIN0H = 0; + gBattle_WIN0V = 0; + gBattle_WIN1H = 0; + gBattle_WIN1V = 0; +} + +void sub_80F591C(void) +{ + int i, j; + s8 var0; + s8 var1; + int var2; + u16 tile1, tile2; + + LZDecompressVram(gUnknown_08C19588, (void *)BG_CHAR_ADDR(0)); + CopyToBgTilemapBuffer(3, gUnknown_08C1A12C, 0, 0); + CopyToBgTilemapBuffer(2, gUnknown_08C1A000, 0, 0); + CopyToBgTilemapBuffer(0, gUnknown_08C19EEC, 0, 0); + sub_80F71C8(); + LoadCompressedPalette(gUnknown_08C1A2B4, 0, 0x200); + LoadPalette(gUnknown_0858D6B0, 0xF0, 0x20); + + for (i = 0; i < 4; i++) + { + var0 = sub_80F7310(i, 1); + var1 = sub_80F7364(i, 1); + for (j = 0; j < 10; j++) + { + tile1 = 0x60B2; + if (j < var0) + tile1 += 2; + + var2 = var1; + if (var1 < 0) + var2 = -var2; + + if (j < var2) + { + tile2 = 0x60A4; + if (var1 < 0) + tile2 += 2; + } + else + { + tile2 = 0x60A2; + } + + FillBgTilemapBufferRect_Palette0(1, tile1, j + 19, i * 3 + 5, 1, 1); + FillBgTilemapBufferRect_Palette0(1, tile2, j + 19, i * 3 + 6, 1, 1); + } + } + + CopyBgTilemapBufferToVram(0); + CopyBgTilemapBufferToVram(1); + CopyBgTilemapBufferToVram(2); + CopyBgTilemapBufferToVram(3); + ShowBg(0); + ShowBg(1); + ShowBg(2); + ShowBg(3); +} + +static void sub_80F5A74(u8 monIndex) +{ + struct ContestPokemon *mon = &gContestMons[monIndex]; + u8 *str = gDisplayedStringBattle; + if (monIndex == gContestPlayerMonIndex) + str = StringCopy(gDisplayedStringBattle, gText_ColorDarkGrey); + + StringCopy(str, mon->nickname); + sub_80F7ED0(monIndex, gDisplayedStringBattle, 0); + StringCopy(str, gText_Slash); + StringAppend(str, mon->trainerName); + sub_80F7ED0(monIndex, gDisplayedStringBattle, 50); +} + +void sub_80F5AE0(void) +{ + int i; + + for (i = 0; i < 4; i++) + sub_80F5A74(i); + + CopyBgTilemapBufferToVram(1); +} + +void sub_80F5B00(void) +{ + gPaletteFade.bufferTransferDisabled = 1; + SetVBlankCallback(NULL); + sub_80F7DF4(); + sub_80F57C4(); + ScanlineEffect_Clear(); + ResetPaletteFade(); + ResetSpriteData(); + ResetTasks(); + FreeAllSpritePalettes(); + sub_80F591C(); + sub_80F6A9C(); + sub_80F6A64(0, 1); + sub_80F5AE0(); + memset(gUnknown_0203A034->unk0, 0, sizeof(*gUnknown_0203A034->unk0)); + memset(gUnknown_0203A034->unk4, 0, sizeof(*gUnknown_0203A034->unk4)); + sub_80F6DC0(); + sub_80F6AE8(); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); + gPaletteFade.bufferTransferDisabled = 0; + gUnknown_0203A034->unk0->taskId = CreateTask(sub_80F5CE4, 5); + SetMainCallback2(sub_80F5C00); + gBattle_WIN1H = 0x00F0; + gBattle_WIN1V = 0x80A0; + CreateTask(sub_80F68B4, 20); + sub_80F7880(); + if (gIsLinkContest & 0x2) + gPaletteFade.bufferTransferDisabled = 1; + else + PlayBGM(MUS_CON_K); + + SetVBlankCallback(sub_80F5C24); +} + +static void sub_80F5C00(void) +{ + AnimateSprites(); + BuildOamBuffer(); + RunTasks(); + UpdatePaletteFade(); + CopyBgTilemapBufferToVram(1); + CopyBgTilemapBufferToVram(2); +} + +static void sub_80F5C24(void) +{ + SetGpuReg(REG_OFFSET_BG0HOFS, gBattle_BG0_X); + SetGpuReg(REG_OFFSET_BG0VOFS, gBattle_BG0_Y); + SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X); + SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y); + SetGpuReg(REG_OFFSET_BG2HOFS, gBattle_BG2_X); + SetGpuReg(REG_OFFSET_BG2VOFS, gBattle_BG2_Y); + SetGpuReg(REG_OFFSET_BG3HOFS, gBattle_BG3_X); + SetGpuReg(REG_OFFSET_BG3VOFS, gBattle_BG3_Y); + SetGpuReg(REG_OFFSET_WIN0H, gBattle_WIN0H); + SetGpuReg(REG_OFFSET_WIN0V, gBattle_WIN0V); + SetGpuReg(REG_OFFSET_WIN1H, gBattle_WIN1H); + SetGpuReg(REG_OFFSET_WIN1V, gBattle_WIN1V); + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); + ScanlineEffect_InitHBlankDmaTransfer(); +} + +static void sub_80F5CE4(u8 taskId) +{ + u16 var; + + if (gIsLinkContest & 1) + { + switch (gTasks[taskId].data[0]) + { + case 0: + sub_80DBED4(); + if (gContestFinalStandings[gContestPlayerMonIndex] == 0) + { + IncrementGameStat(GAME_STAT_WON_LINK_CONTEST); + gSpecialVar_0x8005 = 8; + InterviewBefore(); + if (gSpecialVar_Result != 1) + InterviewAfter(); + } + + sub_813BADC(2); + sub_80DEDA8(gSpecialVar_ContestRank); + sub_80DEDA8(0xFE); + gUnknown_02039F5C = 1; + gUnknown_02039F5D = sub_80DEFA8(0xFE, 0); + var = VarGet(VAR_0x4086); + VarSet(VAR_0x4086, 0); + SetContinueGameWarpStatusToDynamicWarp(); + TrySavingData(SAVE_LINK); + ClearContinueGameWarpStatus2(); + VarSet(VAR_0x4086, var); + gTasks[taskId].data[0]++; + break; + case 1: + gTasks[taskId].data[0]++; + if (!(gIsLinkContest & 0x2)) + gTasks[taskId].data[0] = 100; + break; + case 2: + if (IsLinkTaskFinished()) + { + sub_800ADF8(); + gTasks[taskId].data[0]++; + } + return; + case 3: + if (IsLinkTaskFinished() == TRUE) + { + PlayBGM(MUS_CON_K); + gPaletteFade.bufferTransferDisabled = 0; + gTasks[taskId].data[0]++; + break; + } + return; + } + } + + if (!gPaletteFade.active) + { + gTasks[taskId].data[0] = 0; + if (gIsLinkContest & 0x1) + { + sub_80F707C(gText_CommunicationStandby); + gTasks[taskId].func = sub_80F5ED8; + } + else + { + IncrementGameStat(GAME_STAT_ENTERED_CONTEST); + if (gContestFinalStandings[gContestPlayerMonIndex] == 0) + IncrementGameStat(GAME_STAT_WON_CONTEST); + + sub_80DEDA8(gSpecialVar_ContestRank); + sub_80DEDA8(0xFE); + gUnknown_02039F5C = 1; + gUnknown_02039F5D = sub_80DEFA8(0xFE, 0); + sub_813BADC(2); + gTasks[taskId].func = sub_80F5F74; + } + } +} + +static void sub_80F5ED8(u8 taskId) +{ + if (gReceivedRemoteLinkPlayers) + { + CreateTask(sub_80F5F14, 0); + gTasks[taskId].func = TaskDummy; + } +} + +static void sub_80F5F14(u8 taskId) +{ + SetTaskFuncWithFollowupFunc(taskId, sub_80FC998, sub_80F5F30); +} + +static void sub_80F5F30(u8 taskId) +{ + if (IsLinkTaskFinished()) + { + DestroyTask(taskId); + gTasks[gUnknown_0203A034->unk0->taskId].func = sub_80F5F74; + sub_80F7144(); + } +} + +static void sub_80F5F74(u8 taskId) +{ + s16 var0; + + if (gTasks[taskId].data[0] == 0) + { + CreateTask(sub_80F68F0, 20); + var0 = sub_80F6B78(gText_AnnouncingResults, gUnknown_0203A034->unk0->unk0); + sub_80F6E9C(var0, 144, 120, 1088); + gTasks[taskId].data[0]++; + } + else if (gTasks[taskId].data[0] == 1) + { + if (gUnknown_0203A034->unk0->unk4 == 0) + { + gTasks[taskId].data[1] = 0; + gTasks[taskId].data[0]++; + } + } + else if (gTasks[taskId].data[0] == 2) + { + if (++gTasks[taskId].data[1] == 21) + { + gTasks[taskId].data[1] = 0; + gTasks[taskId].data[0]++; + } + } + else if (gTasks[taskId].data[0] == 3) + { + var0 = sub_80F6B78(gText_PreliminaryResults, gUnknown_0203A034->unk0->unk0); + sub_80F6E9C(var0, 144, -1, 1088); + gTasks[taskId].data[0]++; + } + else if (gTasks[taskId].data[0] == 4) + { + if (gUnknown_0203A034->unk0->unk4 == 2) + { + gTasks[taskId].data[0] = 0; + gTasks[taskId].func = sub_80F6058; + } + } +} + +static void sub_80F6058(u8 taskId) +{ + switch (gTasks[taskId].data[0]) + { + case 0: + if (!gUnknown_0203A034->unk0->unkA) + { + sub_80F7A80(0, gTasks[taskId].data[2]++); + if (!gUnknown_0203A034->unk0->unk14) + gTasks[taskId].data[0] = 2; + else + gTasks[taskId].data[0]++; + } + break; + case 1: + if (!gUnknown_0203A034->unk0->unk14) + gTasks[taskId].data[0] = 0; + break; + case 2: + sub_80F6EF4(1088); + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[2] = 0; + gTasks[taskId].func = sub_80F60F0; + break; + } +} + +static void sub_80F60F0(u8 taskId) +{ + s16 var0; + + if (gUnknown_0203A034->unk0->unk4 == 0) + { + if (++gTasks[taskId].data[1] == 21) + { + gTasks[taskId].data[1] = 0; + var0 = sub_80F6B78(gText_Round2Results, gUnknown_0203A034->unk0->unk0); + sub_80F6E9C(var0, 144, -1, 1088); + } + } + else if (gUnknown_0203A034->unk0->unk4 == 2) + { + gTasks[taskId].func = sub_80F616C; + } +} + +static void sub_80F616C(u8 taskId) +{ + switch (gTasks[taskId].data[0]) + { + case 0: + if (!gUnknown_0203A034->unk0->unkA) + { + sub_80F7A80(1, gTasks[taskId].data[2]++); + if (!gUnknown_0203A034->unk0->unk14) + gTasks[taskId].data[0] = 2; + else + gTasks[taskId].data[0]++; + } + break; + case 1: + if (!gUnknown_0203A034->unk0->unk14) + gTasks[taskId].data[0] = 0; + break; + case 2: + sub_80F6EF4(1088); + gTasks[taskId].data[0] = 0; + gTasks[taskId].func = sub_80F6204; + break; + } +} + +static void sub_80F6204(u8 taskId) +{ + int i; + u8 newTaskId; + u8 buffer[100]; + s16 var0; + + switch (gTasks[taskId].data[0]) + { + case 0: + if (!gUnknown_0203A034->unk0->unk4) + gTasks[taskId].data[0]++; + break; + case 1: + if (++gTasks[taskId].data[1] == 31) + { + gTasks[taskId].data[1] = 0; + gTasks[taskId].data[0]++; + } + break; + case 2: + for (i = 0; i < 4; i++) + { + newTaskId = CreateTask(sub_80F73DC, 10); + gTasks[newTaskId].data[0] = gContestFinalStandings[i]; + gTasks[newTaskId].data[1] = i; + } + gTasks[taskId].data[0]++; + break; + case 3: + if (gUnknown_0203A034->unk0->unk5 == 4) + { + if (++gTasks[taskId].data[1] == 31) + { + gTasks[taskId].data[1] = 0; + CreateTask(sub_80F74BC, 10); + gTasks[taskId].data[0]++; + for (i = 0; i < 4 && gContestFinalStandings[i] != 0; i++) + ; + + sub_80F77E0(i, 14); + } + } + break; + case 4: + if (++gTasks[taskId].data[1] == 21) + { + gTasks[taskId].data[1] = 0; + for (i = 0; i < 4 && gContestFinalStandings[i] != 0; i++) + ; + + StringCopy(gStringVar1, gContestMons[i].trainerName); + sub_81DB5AC(gStringVar1); + StringCopy(gStringVar2, gContestMons[i].nickname); + StringExpandPlaceholders(buffer, gText_Var1sVar2Won); + var0 = sub_80F6B78(buffer, gUnknown_0203A034->unk0->unk0); + sub_80F6E9C(var0, 144, -1, 1088); + gTasks[taskId].data[0]++; + } + break; + case 5: + gTasks[taskId].data[0] = 0; + gTasks[taskId].func = sub_80F6404; + break; + } +} + +static void sub_80F6404(u8 taskId) +{ + int i; + u8 spriteId; + u16 species; + u32 otId; + u32 personality; + const struct CompressedSpritePalette *pokePal; + + switch (gTasks[taskId].data[0]) + { + case 0: + gBattle_WIN0H = 0x00F0; + gBattle_WIN0V = 0x5050; + for (i = 0; i < 4 && gContestFinalStandings[i] != 0; i++) + ; + + species = gContestMons[i].species; + personality = gContestMons[i].personality; + otId = gContestMons[i].otId; + if (i == gContestPlayerMonIndex) + { + HandleLoadSpecialPokePic_2( + &gMonFrontPicTable[species], + gMonSpritesGfxPtr->sprites[1], + species, + personality); + } + else + { + HandleLoadSpecialPokePic_DontHandleDeoxys( + &gMonFrontPicTable[species], + gMonSpritesGfxPtr->sprites[1], + species, + personality); + } + + pokePal = GetMonSpritePalStructFromOtIdPersonality(species, otId, personality); + LoadCompressedSpritePalette(pokePal); + SetMultiuseSpriteTemplateToPokemon(species, B_POSITION_OPPONENT_LEFT); + gMultiuseSpriteTemplate.paletteTag = pokePal->tag; + spriteId = CreateSprite(&gMultiuseSpriteTemplate, 272, 80, 10); + gSprites[spriteId].data[1] = species; + gSprites[spriteId].oam.priority = 0; + gSprites[spriteId].callback = sub_80F75A8; + gUnknown_0203A034->unk0->spriteId = spriteId; + LoadCompressedSpriteSheet(gUnknown_0858D878); + LoadCompressedSpritePalette(gUnknown_0858D880); + CreateTask(sub_80F7670, 10); + gTasks[taskId].data[0]++; + break; + case 1: + if (++gTasks[taskId].data[3] == 1) + { + u8 counter; + gTasks[taskId].data[3] = 0; + gTasks[taskId].data[2] += 2; + if (gTasks[taskId].data[2] > 32) + gTasks[taskId].data[2] = 32; + + counter = gTasks[taskId].data[2]; + gBattle_WIN0V = ((80 - counter) << 8) | (80 + counter); + if (counter == 32) + gTasks[taskId].data[0]++; + } + break; + case 2: + if (gUnknown_0203A034->unk0->unk6 == 1) + gTasks[taskId].data[0]++; + break; + case 3: + if (++gTasks[taskId].data[1] == 121) + { + gTasks[taskId].data[1] = 0; + gSprites[gUnknown_0203A034->unk0->spriteId].callback = sub_80F7620; + gTasks[taskId].data[0]++; + } + break; + case 4: + if (gUnknown_0203A034->unk0->unk6 == 2) + { + u8 top = (gBattle_WIN0V >> 8); + top += 2; + if (top > 80) + top = 80; + + gBattle_WIN0V = (top << 8) | (160 - top);; + if (top == 80) + gTasks[taskId].data[0]++; + } + break; + case 5: + if (gUnknown_0203A034->unk0->unk6 == 2) + { + gUnknown_0203A034->unk0->unk9 = 1; + gTasks[taskId].data[0] = 0; + gTasks[taskId].func = sub_80F66B4; + } + break; + } +} + +static void sub_80F66B4(u8 taskId) +{ + int i; + u16 nationalDexNum; + + if (gMain.newKeys & A_BUTTON) + { + if (!(gIsLinkContest & 0x1)) + { + for (i = 0; i < 4; i++) + { + nationalDexNum = SpeciesToNationalPokedexNum(gContestMons[i].species); + GetSetPokedexFlag(nationalDexNum, FLAG_SET_SEEN); + } + } + + gTasks[taskId].data[10] = 0; + gTasks[taskId].func = sub_80F671C; + } +} + +static void sub_80F671C(u8 taskId) +{ + if (gIsLinkContest & 0x1) + { + if (!gTasks[taskId].data[10]) + { + sub_80F707C(gText_CommunicationStandby); + sub_800AC34(); + gTasks[taskId].func = sub_80F677C; + } + } + else + { + gTasks[taskId].func = sub_80F67C4; + } +} + +static void sub_80F677C(u8 taskId) +{ + if (!gReceivedRemoteLinkPlayers) + { + if (gIsLinkContest & 0x2) + sub_800E084(); + + sub_80F7144(); + gTasks[taskId].func = sub_80F67C4; + } +} + +static void sub_80F67C4(u8 taskId) +{ + if (!(gIsLinkContest & 0x1)) + BravoTrainerPokemonProfile_BeforeInterview2(gContestFinalStandings[gContestPlayerMonIndex]); + + BeginHardwarePaletteFade(0xFF, 0, 0, 16, 0); + gTasks[taskId].func = sub_80F6820; +} + +static void sub_80F6820(u8 taskId) +{ + if (!gPaletteFade.active) + { + if (gTasks[taskId].data[1] == 0) + { + DestroyTask(gUnknown_0203A034->unk0->unk3); + BlendPalettes(0x0000FFFF, 16, RGB_BLACK); + gTasks[taskId].data[1]++; + } + else if (gTasks[taskId].data[1] == 1) + { + BlendPalettes(0xFFFF0000, 16, RGB_BLACK); + gTasks[taskId].data[1]++; + } + else + { + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDY, 0); + DestroyTask(taskId); + FreeAllWindowBuffers(); + SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); + sub_80F7E64(); + } + } +} + +static void sub_80F68B4(u8 taskId) +{ + gBattle_BG3_X += 2; + gBattle_BG3_Y += 1; + if (gBattle_BG3_X > 255) + gBattle_BG3_X -= 255; + if (gBattle_BG3_Y > 255) + gBattle_BG3_Y -= 255; +} + +static void sub_80F68F0(u8 taskId) +{ + if (++gTasks[taskId].data[0] == 2) + { + gTasks[taskId].data[0] = 0; + if (gTasks[taskId].data[2] == 0) + gTasks[taskId].data[1]++; + else + gTasks[taskId].data[1]--; + + if (gTasks[taskId].data[1] == 16) + gTasks[taskId].data[2] = 1; + else if (gTasks[taskId].data[1] == 0) + gTasks[taskId].data[2] = 0; + + BlendPalette(0x6B, 1, gTasks[taskId].data[1], RGB(30, 22, 11)); + BlendPalette(0x68, 1, gTasks[taskId].data[1], RGB_WHITE); + BlendPalette(0x6E, 1, gTasks[taskId].data[1], RGB(30, 29, 29)); + } + + if (gTasks[taskId].data[1] == 0) + gUnknown_0203A034->unk0->unkA = 0; + else + gUnknown_0203A034->unk0->unkA = 1; +} + +void sub_80F69B8(u16 species, u8 monIndex, u8 arg2, u8 arg3, u32 personality) +{ + u8 frameNum; + const u8 *iconPtr; + u16 var0; + u16 var1; + + u8 *contestPlayerMonIndex = &gContestPlayerMonIndex; // fake match + frameNum = (monIndex == *contestPlayerMonIndex) ? 1 : 0; + + iconPtr = GetMonIconPtr(species, personality, frameNum); + iconPtr += arg2 * 0x200 + 0x80; + if (arg3) + { + RequestDma3Copy(iconPtr, (void *)BG_CHAR_ADDR(1) + monIndex * 0x200, 0x180, 1); + var0 = ((monIndex + 10) << 12); + var1 = (monIndex * 0x10 + 0x200); + WriteSequenceToBgTilemapBuffer(1, var1 | var0, 3, monIndex * 3 + 4, 4, 3, 17, 1); + } + else + { + RequestDma3Copy(iconPtr, (void *)BG_CHAR_ADDR(1) + monIndex * 0x200, 0x180, 1); + } +} + +static void sub_80F6A64(u8 arg0, u8 arg1) +{ + int i; + + for (i = 0; i < 4; i++) + sub_80F69B8(gContestMons[i].species, i, arg0, arg1, gContestMons[i].personality); +} + +static void sub_80F6A9C(void) +{ + int i; + register u16 species asm("r0"); + + for (i = 0; i < 4; i++) + { + species = GetIconSpecies(gContestMons[i].species, 0); + LoadPalette(gMonIconPalettes[gMonIconPaletteIndices[species]], i * 0x10 + 0xA0, 0x20); + } +} + +static void sub_80F6AE8(void) +{ + u16 sheet; + u8 spriteId; + + if (gIsLinkContest & 0x2) + { + sub_800E0E8(); + CreateWirelessStatusIndicatorSprite(8, 8); + gSprites[gWirelessStatusIndicatorSpriteId].subpriority = 1; + sheet = LoadSpriteSheet(&gUnknown_0858D8E0); + RequestDma3Fill(0xFFFFFFFF, (void *)BG_CHAR_ADDR(4) + sheet * 0x20, 0x80, 1); + spriteId = CreateSprite(&gSpriteTemplate_858D8C8, 8, 8, 0); + gSprites[spriteId].oam.objMode = ST_OAM_OBJ_WINDOW; + } +} + +// s16 sub_80F6B78(const u8 *text, u8 spriteId) +// { +// int i; +// int origWidth, strWidth; +// const u8 *r8; +// u8 sp10[0x10]; +// struct WindowTemplate windowTemplate; +// int spC; +// u8 *windowTileData; +// u8 windowId; + +// memset(windowTemplate, 0, sizeof(*windowTemplate)); +// windowTemplate.width = 30; +// windowTemplate.height = 2; +// windowId = AddWindow(&windowTemplate); +// FillWindowPixelBuffer(windowId, 0x11); +// origWidth = GetStringWidth(1, text, 0) + 9; +// strWidth = origWidth; +// if (strWidth < 0) +// strWidth += 7; + +// strWidth >>= 3; +// if (strWidth > 30) +// strWidth = 30; + +// AddTextPrinterParameterized3(windowId, 1, (strWidth * 8 - origWidth) / 2, 1, gUnknown_0858D8E8, -1, text); +// windowTileData = (u8 *)GetWindowAttribute(windowId, WINDOW_TILE_DATA); +// r8 = gUnknown_0858D6D0; +// // .... +// } + +NAKED +s16 sub_80F6B78(const u8 *text, u8 spriteId) +{ + asm_unified("\n\ + push {r4-r7,lr}\n\ + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + sub sp, 0x44\n\ + adds r5, r0, 0\n\ + lsls r1, 24\n\ + lsrs r7, r1, 24\n\ + add r4, sp, 0x20\n\ + adds r0, r4, 0\n\ + movs r1, 0\n\ + movs r2, 0x8\n\ + bl memset\n\ + movs r0, 0x1E\n\ + strb r0, [r4, 0x3]\n\ + movs r0, 0x2\n\ + strb r0, [r4, 0x4]\n\ + adds r0, r4, 0\n\ + bl AddWindow\n\ + lsls r6, r0, 24\n\ + lsrs r4, r6, 24\n\ + adds r0, r4, 0\n\ + movs r1, 0x11\n\ + bl FillWindowPixelBuffer\n\ + movs r0, 0x1\n\ + adds r1, r5, 0\n\ + movs r2, 0\n\ + bl GetStringWidth\n\ + adds r2, r0, 0\n\ + adds r2, 0x9\n\ + cmp r2, 0\n\ + bge _080F6BC4\n\ + adds r2, 0x7\n\ +_080F6BC4:\n\ + asrs r2, 3\n\ + mov r10, r2\n\ + cmp r2, 0x1E\n\ + ble _080F6BD0\n\ + movs r1, 0x1E\n\ + mov r10, r1\n\ +_080F6BD0:\n\ + mov r1, r10\n\ + lsls r2, r1, 3\n\ + subs r2, r0\n\ + lsrs r0, r2, 31\n\ + adds r2, r0\n\ + asrs r2, 1\n\ + lsls r2, 24\n\ + lsrs r2, 24\n\ + ldr r0, =gUnknown_0858D8E8\n\ + str r0, [sp]\n\ + movs r0, 0x1\n\ + negs r0, r0\n\ + str r0, [sp, 0x4]\n\ + str r5, [sp, 0x8]\n\ + adds r0, r4, 0\n\ + movs r1, 0x1\n\ + movs r3, 0x1\n\ + bl AddTextPrinterParameterized3\n\ + adds r0, r4, 0\n\ + movs r1, 0x7\n\ + bl GetWindowAttribute\n\ + mov r9, r0\n\ + ldr r2, =gUnknown_0858D6D0\n\ + mov r8, r2\n\ + lsls r1, r7, 4\n\ + adds r1, r7\n\ + lsls r1, 2\n\ + ldr r3, =gSprites\n\ + adds r1, r3\n\ + ldrh r0, [r1, 0x4]\n\ + lsls r0, 22\n\ + lsrs r0, 17\n\ + ldr r2, =0x06010000\n\ + adds r0, r2\n\ + str r0, [sp, 0xC]\n\ + str r6, [sp, 0x38]\n\ + mov r7, sp\n\ + adds r7, 0x1C\n\ + str r7, [sp, 0x2C]\n\ + mov r0, r10\n\ + adds r0, 0x2\n\ + str r0, [sp, 0x30]\n\ + movs r5, 0\n\ + add r7, sp, 0x10\n\ + mov r12, r7\n\ + adds r6, r1, 0\n\ + adds r6, 0x2E\n\ + movs r4, 0x2\n\ +_080F6C34:\n\ + adds r0, r6, r5\n\ + movs r7, 0\n\ + ldrsh r1, [r0, r7]\n\ + lsls r0, r1, 4\n\ + adds r0, r1\n\ + lsls r0, 2\n\ + adds r0, r3\n\ + ldrh r0, [r0, 0x4]\n\ + lsls r0, 22\n\ + lsrs r0, 17\n\ + adds r0, r2\n\ + mov r1, r12\n\ + adds r1, 0x4\n\ + mov r12, r1\n\ + subs r1, 0x4\n\ + stm r1!, {r0}\n\ + adds r5, 0x2\n\ + subs r4, 0x1\n\ + cmp r4, 0\n\ + bge _080F6C34\n\ + mov r7, r8\n\ + adds r7, 0x80\n\ + mov r2, r8\n\ + adds r2, 0x40\n\ + str r2, [sp, 0x28]\n\ + mov r0, r8\n\ + adds r0, 0x20\n\ + str r0, [sp, 0x3C]\n\ + mov r1, r8\n\ + adds r1, 0xA0\n\ + str r1, [sp, 0x40]\n\ + adds r2, 0x20\n\ + str r2, [sp, 0x34]\n\ + add r5, sp, 0xC\n\ + movs r6, 0\n\ + movs r4, 0x3\n\ +_080F6C7C:\n\ + str r6, [sp, 0x1C]\n\ + ldm r5!, {r1}\n\ + ldr r0, [sp, 0x2C]\n\ + ldr r2, =0x05000100\n\ + bl CpuSet\n\ + subs r4, 0x1\n\ + cmp r4, 0\n\ + bge _080F6C7C\n\ + ldr r5, [sp, 0xC]\n\ + ldr r6, =0x04000008\n\ + mov r0, r8\n\ + adds r1, r5, 0\n\ + adds r2, r6, 0\n\ + bl CpuSet\n\ + movs r0, 0x80\n\ + lsls r0, 1\n\ + adds r1, r5, r0\n\ + adds r0, r7, 0\n\ + adds r2, r6, 0\n\ + bl CpuSet\n\ + movs r2, 0x80\n\ + lsls r2, 2\n\ + adds r1, r5, r2\n\ + adds r0, r7, 0\n\ + adds r2, r6, 0\n\ + bl CpuSet\n\ + movs r7, 0xC0\n\ + lsls r7, 2\n\ + adds r1, r5, r7\n\ + ldr r0, [sp, 0x28]\n\ + adds r2, r6, 0\n\ + bl CpuSet\n\ + movs r4, 0\n\ + cmp r4, r10\n\ + bge _080F6D32\n\ + adds r7, r6, 0\n\ +_080F6CCE:\n\ + adds r6, r4, 0x1\n\ + adds r0, r6, 0\n\ + cmp r6, 0\n\ + bge _080F6CDA\n\ + adds r0, r4, 0\n\ + adds r0, 0x8\n\ +_080F6CDA:\n\ + asrs r0, 3\n\ + lsls r1, r0, 2\n\ + add r1, sp\n\ + adds r1, 0xC\n\ + lsls r0, 3\n\ + subs r0, r6, r0\n\ + lsls r0, 5\n\ + ldr r1, [r1]\n\ + adds r5, r1, r0\n\ + mov r0, r8\n\ + adds r0, 0xC0\n\ + adds r1, r5, 0\n\ + adds r2, r7, 0\n\ + bl CpuSet\n\ + movs r0, 0x80\n\ + lsls r0, 1\n\ + adds r1, r5, r0\n\ + mov r0, r9\n\ + adds r2, r7, 0\n\ + bl CpuSet\n\ + movs r0, 0xF0\n\ + lsls r0, 2\n\ + add r0, r9\n\ + movs r2, 0x80\n\ + lsls r2, 2\n\ + adds r1, r5, r2\n\ + adds r2, r7, 0\n\ + bl CpuSet\n\ + movs r0, 0xC0\n\ + lsls r0, 2\n\ + adds r1, r5, r0\n\ + mov r0, r8\n\ + adds r0, 0xE0\n\ + adds r2, r7, 0\n\ + bl CpuSet\n\ + movs r1, 0x20\n\ + add r9, r1\n\ + adds r4, r6, 0\n\ + cmp r4, r10\n\ + blt _080F6CCE\n\ +_080F6D32:\n\ + adds r2, r4, 0x1\n\ + adds r0, r2, 0\n\ + cmp r2, 0\n\ + bge _080F6D3E\n\ + adds r0, r4, 0\n\ + adds r0, 0x8\n\ +_080F6D3E:\n\ + asrs r0, 3\n\ + lsls r1, r0, 2\n\ + add r1, sp\n\ + adds r1, 0xC\n\ + lsls r0, 3\n\ + subs r0, r2, r0\n\ + lsls r0, 5\n\ + ldr r1, [r1]\n\ + adds r5, r1, r0\n\ + ldr r4, =0x04000008\n\ + ldr r0, [sp, 0x3C]\n\ + adds r1, r5, 0\n\ + adds r2, r4, 0\n\ + bl CpuSet\n\ + movs r2, 0x80\n\ + lsls r2, 1\n\ + adds r1, r5, r2\n\ + ldr r0, [sp, 0x40]\n\ + adds r2, r4, 0\n\ + bl CpuSet\n\ + movs r7, 0x80\n\ + lsls r7, 2\n\ + adds r1, r5, r7\n\ + ldr r0, [sp, 0x40]\n\ + adds r2, r4, 0\n\ + bl CpuSet\n\ + movs r0, 0xC0\n\ + lsls r0, 2\n\ + adds r1, r5, r0\n\ + ldr r0, [sp, 0x34]\n\ + adds r2, r4, 0\n\ + bl CpuSet\n\ + ldr r1, [sp, 0x38]\n\ + lsrs r0, r1, 24\n\ + bl RemoveWindow\n\ + ldr r2, [sp, 0x30]\n\ + lsls r1, r2, 3\n\ + movs r0, 0xF0\n\ + subs r0, r1\n\ + asrs r0, 1\n\ + add sp, 0x44\n\ + pop {r3-r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov r10, r5\n\ + pop {r4-r7}\n\ + pop {r1}\n\ + bx r1\n\ + .pool"); +} + +static void sub_80F6DC0(void) +{ + int i; + struct SpriteTemplate template; + u8 spriteIds[8]; + + template = gSpriteTemplate_858D7F8; + for (i = 0; i < 8; i++) + LoadSpriteSheet(&gUnknown_0858D810[i]); + + LoadSpritePalette(&gUnknown_0858D850); + for (i = 0; i < 8; i++) + { + spriteIds[i] = CreateSprite(&template, 272, 144, 10); + template.tileTag++; + } + + gSprites[spriteIds[0]].data[0] = spriteIds[1]; + gSprites[spriteIds[0]].data[1] = spriteIds[2]; + gSprites[spriteIds[0]].data[2] = spriteIds[3]; + + gSprites[spriteIds[4]].data[0] = spriteIds[5]; + gSprites[spriteIds[4]].data[1] = spriteIds[6]; + gSprites[spriteIds[4]].data[2] = spriteIds[7]; + + gUnknown_0203A034->unk0->unk0 = spriteIds[0]; + gUnknown_0203A034->unk0->unk4 = 0; + gUnknown_0203A034->unk0->unk1 = spriteIds[4]; + sub_80F7144(); +} + +static void sub_80F6E9C(s16 arg0, u16 y, u16 arg2, u16 arg3) +{ + struct Sprite *sprite = &gSprites[gUnknown_0203A034->unk0->unk0]; + sprite->pos1.x = 272; + sprite->pos1.y = y; + sprite->pos2.x = 0; + sprite->pos2.y = 0; + sprite->data[4] = arg0 + 32; + sprite->data[5] = arg2; + sprite->data[6] = arg3; + sprite->data[7] = 0; + sprite->callback = sub_80F6F68; + gUnknown_0203A034->unk0->unk4 = 1; +} + +static void sub_80F6EF4(u16 arg0) +{ + struct Sprite *sprite = &gSprites[gUnknown_0203A034->unk0->unk0]; + sprite->pos1.x += sprite->pos2.x; + sprite->pos1.y += sprite->pos2.y; + sprite->pos2.y = 0; + sprite->pos2.x = 0; + sprite->data[6] = arg0; + sprite->data[7] = 0; + sprite->callback = sub_80F7014; + gUnknown_0203A034->unk0->unk4 = 3; +} + +static void sub_80F6F40(struct Sprite *sprite) +{ + sprite->pos1.x = 272; + sprite->pos1.y = 144; + sprite->pos2.y = 0; + sprite->pos2.x = 0; + sprite->callback = SpriteCallbackDummy; + gUnknown_0203A034->unk0->unk4 = 0; +} + +static void sub_80F6F68(struct Sprite *sprite) +{ + int i; + s16 var0; + + var0 = (u16)sprite->data[7] + (u16)sprite->data[6]; + sprite->pos1.x -= var0 >> 8; + sprite->data[7] = (sprite->data[6] + sprite->data[7]) & 0xFF; + if (sprite->pos1.x < sprite->data[4]) + sprite->pos1.x = sprite->data[4]; + + for (i = 0; i < 3; i++) + { + struct Sprite *sprite2 = &gSprites[sprite->data[i]]; + sprite2->pos1.x = sprite->pos1.x + sprite->pos2.x + (i + 1) * 64; + } + + if (sprite->pos1.x == sprite->data[4]) + sprite->callback = sub_80F6FDC; +} + +static void sub_80F6FDC(struct Sprite *sprite) +{ + gUnknown_0203A034->unk0->unk4 = 2; + if ((u16)sprite->data[5] != 0xFFFF) + { + if (--sprite->data[5] == -1) + sub_80F6EF4(sprite->data[6]); + } +} + +static void sub_80F7014(struct Sprite *sprite) +{ + int i; + s16 var0; + + var0 = (u16)sprite->data[7] + (u16)sprite->data[6]; + sprite->pos1.x -= var0 >> 8; + sprite->data[7] = (sprite->data[6] + sprite->data[7]) & 0xFF; + for (i = 0; i < 3; i++) + { + struct Sprite *sprite2 = &gSprites[sprite->data[i]]; + sprite2->pos1.x = sprite->pos1.x + sprite->pos2.x + (i + 1) * 64; + } + + if (sprite->pos1.x + sprite->pos2.x < -224) + sub_80F6F40(sprite); +} + +static void sub_80F707C(const u8 *text) +{ + int i; + u16 x; + struct Sprite *sprite; + + x = sub_80F6B78(text, gUnknown_0203A034->unk0->unk1); + sprite = &gSprites[gUnknown_0203A034->unk0->unk1]; + sprite->pos1.x = x + 32; + sprite->pos1.y = 80; + sprite->invisible = 0; + for (i = 0; i < 3; i++) + { + gSprites[sprite->data[i]].pos1.x = sprite->pos1.x + sprite->pos2.x + (i + 1) * 64; + gSprites[sprite->data[i]].pos1.y = sprite->pos1.y; + gSprites[sprite->data[i]].invisible = 0; + } + + gBattle_WIN0H = 0x00F0; + gBattle_WIN0V = ((sprite->pos1.y - 16) << 8) | (sprite->pos1.y + 16); + SetGpuReg(REG_OFFSET_WININ, WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR + | WININ_WIN0_BG1 | WININ_WIN0_BG2 | WININ_WIN0_BG3 | WININ_WIN0_OBJ | WININ_WIN0_CLR); +} + +static void sub_80F7144(void) +{ + int i; + struct Sprite *sprite; + + sprite = &gSprites[gUnknown_0203A034->unk0->unk1]; + sprite->invisible = 1; + for (i = 0; i < 3; i++) + gSprites[sprite->data[i]].invisible = 1; + + gBattle_WIN0H = 0; + gBattle_WIN0V = 0; + SetGpuReg(REG_OFFSET_WIN0H, gBattle_WIN0H); + SetGpuReg(REG_OFFSET_WIN0V, gBattle_WIN0V); + SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR + | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR); +} + +static void sub_80F71C8(void) +{ + u8 palette; + int x, y; + + x = 5; + y = 1; + if (gIsLinkContest & 0x1) + { + CopyToBgTilemapBufferRect(2, gUnknown_08DC6498, 5, 1, 5, 2); + x = 10; + } + else if (gSpecialVar_ContestRank == 0) + { + CopyToBgTilemapBufferRect(2, gUnknown_08DC63F8, 5, 1, 10, 2); + x = 15; + } + else if (gSpecialVar_ContestRank == 1) + { + CopyToBgTilemapBufferRect(2, gUnknown_08DC6420, 5, 1, 10, 2); + x = 15; + } + else if (gSpecialVar_ContestRank == 2) + { + CopyToBgTilemapBufferRect(2, gUnknown_08DC6448, 5, 1, 10, 2); + x = 15; + } + else + { + CopyToBgTilemapBufferRect(2, gUnknown_08DC6470, 5, 1, 10, 2); + x = 15; + } + + if (gSpecialVar_ContestCategory == 0) + { + palette = 0; + CopyToBgTilemapBufferRect(2, gUnknown_08DC64AC, x, y, 5, 2); + } + else if (gSpecialVar_ContestCategory == 1) + { + palette = 1; + CopyToBgTilemapBufferRect(2, gUnknown_08DC64C0, x, y, 5, 2); + } + else if (gSpecialVar_ContestCategory == 2) + { + palette = 2; + CopyToBgTilemapBufferRect(2, gUnknown_08DC64D4, x, y, 5, 2); + } + else if (gSpecialVar_ContestCategory == 3) + { + palette = 3; + CopyToBgTilemapBufferRect(2, gUnknown_08DC64E8, x, y, 5, 2); + } + else + { + palette = 4; + CopyToBgTilemapBufferRect(2, gUnknown_08DC64FC, x, y, 5, 2); + } + + x += 5; + CopyToBgTilemapBufferRect(2, gUnknown_08DC6510, x, y, 6, 2); + CopyToBgTilemapBufferRect_ChangePalette(2, gUnknown_0203A034->unkC[2], 0, 0, 32, 4, palette); +} + +// fakematching? +u8 sub_80F7310(u8 monIndex, u8 arg1) +{ + u32 var0; + u32 var1; + + var0 = gContestMonConditions[monIndex] << 16; + var1 = var0 / 0x3F; + if (var1 & 0xFFFF) + var1 += 0x10000; + + var1 >>= 16; + if (var1 == 0 && var0) + var1 = 1; + + if (arg1 && var1 > 10) + var1 = 10; + + return var1; +} diff --git a/src/contest_link_80FC4F4.c b/src/contest_link_80FC4F4.c new file mode 100755 index 0000000000..f582626f8c --- /dev/null +++ b/src/contest_link_80FC4F4.c @@ -0,0 +1,548 @@ +#include "global.h" +#include "contest.h" +#include "decompress.h" +#include "event_data.h" +#include "link.h" +#include "pokemon.h" +#include "random.h" +#include "task.h" +#include "constants/flags.h" + +static void sub_80FC5C0(u8); +static void sub_80FC5DC(u8); + +bool32 sub_80FC4F4(void *src, u16 size) +{ + memcpy(gDecompressionBuffer, src, size); + if (SendBlock(bitmask_all_link_players_but_self(), gDecompressionBuffer, size)) + return TRUE; + else + return FALSE; +} + +bool8 sub_80FC530(u8 arg0) +{ + u8 mask = (1 << arg0); + if (!(GetBlockReceivedStatus() & mask)) + { + return FALSE; + } + else + { + ResetBlockReceivedFlag(arg0); + return TRUE; + } +} + +bool8 sub_80FC55C(void) +{ + if (GetBlockReceivedStatus() == sub_800A9D8()) + { + ResetBlockReceivedFlags(); + return TRUE; + } + else + { + return FALSE; + } +} + +void sub_80FC580(u8 taskId) +{ + u8 i; + + for (i = 0; i < 4; i++) + gBlockRecvBuffer[i][0] = 0xFF; + + gTasks[taskId].data[0] = 0; + gTasks[taskId].func = sub_80FC5C0; +} + +static void sub_80FC5C0(u8 taskId) +{ + gTasks[taskId].func = sub_80FC5DC; +} + +static void sub_80FC5DC(u8 taskId) +{ + int i; + + if (!gReceivedRemoteLinkPlayers) + return; + + gContestPlayerMonIndex = GetMultiplayerId(); + gNumLinkContestPlayers = GetLinkPlayerCount(); + gIsLinkContest = 1; + if (gWirelessCommType == 1) + gIsLinkContest = 3; + + for (i = 0; i < gNumLinkContestPlayers && (u32)(gLinkPlayers[i].version & 0xFF) - 1 > VERSION_RUBY - 1; i++) + ; + + if (i < gNumLinkContestPlayers) + gIsLinkContest |= 0x4; + + SwitchTaskToFollowupFunc(taskId); +} + +bool32 sub_80FC670(s16 *arg0) +{ + if (gIsLinkContest & 0x4) + return TRUE; + + switch (*arg0) + { + case 0: + if (IsLinkTaskFinished()) + { + sub_800ADF8(); + (*arg0)++; + } + return FALSE; + case 1: + (*arg0)++; + return FALSE; + default: + if (IsLinkTaskFinished() != TRUE) + return FALSE; + else + return TRUE; + } +} + +void sub_80FC6BC(u8 taskId) +{ + int i; + + if (!sub_80FC670(&gTasks[taskId].data[12])) + return; + + switch (gTasks[taskId].data[0]) + { + case 0: + if (GetMultiplayerId() == 0) + { + if (IsLinkTaskFinished()) + { + memcpy(gBlockSendBuffer, &gContestMons[gContestPlayerMonIndex], sizeof(struct ContestPokemon)); + gTasks[taskId].data[0] = 10; + } + } + else + { + memcpy(gBlockSendBuffer, &gContestMons[gContestPlayerMonIndex], sizeof(struct ContestPokemon)); + gTasks[taskId].data[0] = 1; + } + break; + case 1: + if (sub_80FC55C()) + { + for (i = 0; i < gNumLinkContestPlayers; i++) + { + memcpy(&gContestMons[i], gBlockRecvBuffer[i], sizeof(struct ContestPokemon)); + sub_80DFA08(&gContestMons[i], gLinkPlayers[i].language); + } + + gTasks[taskId].data[0]++; + } + break; + case 10: + if (++gTasks[taskId].data[11] > 300) + { + sub_800A4D8(2); + gTasks[taskId].data[0] = 1; + } + break; + default: + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[11] = 0; + gTasks[taskId].data[12] = 0; + SwitchTaskToFollowupFunc(taskId); + break; + } +} + +void sub_80FC804(u8 taskId) +{ + switch (gTasks[taskId].data[0]) + { + case 0: + if (GetMultiplayerId() == 0) + { + if (IsLinkTaskFinished() && sub_80FC4F4(&gRngValue, sizeof(gRngValue)) == TRUE) + gTasks[taskId].data[0]++; + } + else + { + gTasks[taskId].data[0]++; + } + break; + case 1: + if (sub_80FC530(0)) + { + memcpy(&gRngValue, gBlockRecvBuffer[0], sizeof(gRngValue)); + memcpy(&gContestRngValue, gBlockRecvBuffer[0], sizeof(gContestRngValue)); + gTasks[taskId].data[0]++; + } + break; + default: + gTasks[taskId].data[0] = 0; + SwitchTaskToFollowupFunc(taskId); + break; + } +} + +void sub_80FC894(u8 taskId) +{ + int i; + + if (!sub_80FC670(&gTasks[taskId].data[12])) + return; + + switch (gTasks[taskId].data[0]) + { + case 0: + gBlockSendBuffer[0] = gTasks[taskId].data[9]; + if (GetMultiplayerId() == 0) + { + if (IsLinkTaskFinished()) + gTasks[taskId].data[0] = 10; + } + else + { + gTasks[taskId].data[0]++; + } + break; + case 1: + if (sub_80FC55C()) + { + for (i = 0; i < gNumLinkContestPlayers; i++) + gTasks[taskId].data[i + 1] = gBlockRecvBuffer[i][0]; + + gTasks[taskId].data[0]++; + } + break; + case 10: + if (++gTasks[taskId].data[11] > 10) + { + sub_800A4D8(2); + gTasks[taskId].data[0] = 1; + } + break; + default: + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[11] = 0; + gTasks[taskId].data[12] = 0; + SwitchTaskToFollowupFunc(taskId); + break; + } +} + +void sub_80FC998(u8 taskId) +{ + switch (gTasks[taskId].data[0]) + { + case 0: + if (IsLinkTaskFinished()) + { + if (sub_80FC4F4(&gContestPlayerMonIndex, sizeof(gContestPlayerMonIndex)) == TRUE) + gTasks[taskId].data[0]++; + } + break; + case 1: + if (sub_80FC55C()) + gTasks[taskId].data[0]++; + break; + default: + gTasks[taskId].data[0] = 0; + SwitchTaskToFollowupFunc(taskId); + break; + } +} + +void sub_80FC9F8(u8 taskId) +{ + int i; + + switch (gTasks[taskId].data[0]) + { + case 0: + if (IsLinkTaskFinished()) + { + if (sub_80FC4F4(&gContestResources->field_4[gContestPlayerMonIndex].currMove, sizeof(gContestResources->field_4[gContestPlayerMonIndex].currMove)) == TRUE) + gTasks[taskId].data[0]++; + } + break; + case 1: + if (sub_80FC55C()) + { + for (i = 0; i < gNumLinkContestPlayers; i++) + gContestResources->field_4[i].currMove = gBlockRecvBuffer[i][0]; + + gTasks[taskId].data[0]++; + } + break; + default: + gTasks[taskId].data[0] = 0; + SwitchTaskToFollowupFunc(taskId); + break; + } +} + +void sub_80FCACC(u8 taskId) +{ + switch (gTasks[taskId].data[0]) + { + case 0: + if (IsLinkTaskFinished()) + { + if (sub_80FC4F4(gUnknown_02039F08, sizeof(gUnknown_02039F08)) == 1) + gTasks[taskId].data[0]++; + } + break; + case 1: + if (sub_80FC55C()) + { + memcpy(gUnknown_02039F08, gBlockRecvBuffer[gUnknown_02039F2B], sizeof(gUnknown_02039F08)); + gTasks[taskId].data[0]++; + } + break; + case 2: + case 5: + case 8: + case 11: + if (gTasks[taskId].data[1]++ > 10) + { + gTasks[taskId].data[1] = 0; + gTasks[taskId].data[0]++; + } + break; + case 3: + if (IsLinkTaskFinished()) + { + if (sub_80FC4F4(gUnknown_02039F10, sizeof(gUnknown_02039F10)) == 1) + gTasks[taskId].data[0]++; + } + break; + case 4: + if (sub_80FC55C()) + { + memcpy(gUnknown_02039F10, gBlockRecvBuffer[gUnknown_02039F2B], sizeof(gUnknown_02039F10)); + gTasks[taskId].data[0]++; + } + break; + case 6: + if (IsLinkTaskFinished()) + { + if (sub_80FC4F4(gUnknown_02039F18, sizeof(gUnknown_02039F18)) == 1) + gTasks[taskId].data[0]++; + } + break; + case 7: + if (sub_80FC55C()) + { + memcpy(gUnknown_02039F18, gBlockRecvBuffer[gUnknown_02039F2B], sizeof(gUnknown_02039F18)); + gTasks[taskId].data[0]++; + } + break; + case 9: + if (IsLinkTaskFinished()) + { + if (sub_80FC4F4(gContestFinalStandings, sizeof(gContestFinalStandings)) == 1) + gTasks[taskId].data[0]++; + } + break; + case 10: + if (sub_80FC55C()) + { + memcpy(gContestFinalStandings, gBlockRecvBuffer[gUnknown_02039F2B], sizeof(gContestFinalStandings)); + gTasks[taskId].data[0]++; + } + break; + default: + gTasks[taskId].data[0] = 0; + SwitchTaskToFollowupFunc(taskId); + break; + } +} + +void sub_80FCC88(u8 taskId) +{ + switch (gTasks[taskId].data[0]) + { + case 0: + if (IsLinkTaskFinished()) + { + if (sub_80FC4F4(gContestResources->field_4, 4 * sizeof(struct ContestantStatus)) == 1) + gTasks[taskId].data[0]++; + } + break; + case 1: + if (sub_80FC55C()) + { + memcpy(gContestResources->field_4, gBlockRecvBuffer[gUnknown_02039F2B], 4 * sizeof(struct ContestantStatus)); + gTasks[taskId].data[0]++; + } + break; + case 2: + case 5: + case 8: + case 11: + if (gTasks[taskId].data[1]++ > 10) + { + gTasks[taskId].data[1] = 0; + gTasks[taskId].data[0]++; + } + break; + case 3: + if (IsLinkTaskFinished()) + { + if (sub_80FC4F4(gContestResources->field_8, sizeof(struct UnknownContestStruct7)) == 1) + gTasks[taskId].data[0]++; + } + break; + case 4: + if (sub_80FC55C()) + { + memcpy(gContestResources->field_8, gBlockRecvBuffer[gUnknown_02039F2B], sizeof(struct UnknownContestStruct7)); + gTasks[taskId].data[0]++; + } + break; + case 6: + if (IsLinkTaskFinished()) + { + if (sub_80FC4F4(gContestResources->field_10, sizeof(struct UnknownContestStruct5)) == 1) + gTasks[taskId].data[0]++; + } + break; + case 7: + if (sub_80FC55C()) + { + memcpy(gContestResources->field_10, gBlockRecvBuffer[gUnknown_02039F2B], sizeof(struct UnknownContestStruct5)); + gTasks[taskId].data[0]++; + } + break; + case 9: + if (IsLinkTaskFinished()) + { + if (sub_80FC4F4(gUnknown_02039F26, sizeof(gUnknown_02039F26)) == 1) + gTasks[taskId].data[0]++; + } + break; + case 10: + if (sub_80FC55C()) + { + memcpy(gUnknown_02039F26, gBlockRecvBuffer[gUnknown_02039F2B], sizeof(gUnknown_02039F26)); + gTasks[taskId].data[0]++; + } + break; + default: + gTasks[taskId].data[0] = 0; + SwitchTaskToFollowupFunc(taskId); + break; + } +} + +void sub_80FCE48(u8 taskId) +{ + int i; + + if (!sub_80FC670(&gTasks[taskId].data[12])) + return; + + switch (gTasks[taskId].data[0]) + { + case 0: + gBlockSendBuffer[0] = 0x6E; + if (GetMultiplayerId() == 0) + { + if (IsLinkTaskFinished()) + gTasks[taskId].data[0] = 10; + } + else + { + gTasks[taskId].data[0]++; + } + break; + case 1: + if (sub_80FC55C()) + { + for (i = 0; i < 4; i++) + gTasks[taskId].data[i + 5] = gBlockRecvBuffer[i][0]; + + gTasks[taskId].data[0]++; + } + break; + case 10: + if (++gTasks[taskId].data[11] > 10) + { + sub_800A4D8(2); + gTasks[taskId].data[0] = 1; + } + break; + default: + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[11] = 0; + gTasks[taskId].data[12] = 0; + SwitchTaskToFollowupFunc(taskId); + break; + } +} + +void sub_80FCF40(u8 taskId) +{ + if (!sub_80FC670(&gTasks[taskId].data[12])) + return; + + switch (gTasks[taskId].data[0]) + { + case 0: + if (IsLinkTaskFinished()) + { + if (sub_80FC4F4(gContestMonConditions, sizeof(gContestMonConditions)) == 1) + gTasks[taskId].data[0]++; + } + break; + case 1: + if (sub_80FC55C()) + { + memcpy(gContestMonConditions, gBlockRecvBuffer[gUnknown_02039F2B], sizeof(gContestMonConditions)); + gTasks[taskId].data[0]++; + } + break; + default: + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[12] = 0; + SwitchTaskToFollowupFunc(taskId); + break; + } +} + +void sub_80FCFD0(u8 taskId) +{ + if (!sub_80FC670(&gTasks[taskId].data[12])) + return; + + switch (gTasks[taskId].data[0]) + { + case 0: + if (IsLinkTaskFinished()) + { + if (sub_80FC4F4(gUnknown_02039F26, sizeof(gUnknown_02039F26)) == 1) + gTasks[taskId].data[0]++; + } + break; + case 1: + if (sub_80FC55C()) + { + memcpy(gUnknown_02039F26, gBlockRecvBuffer[gUnknown_02039F2B], sizeof(gUnknown_02039F26)); + gTasks[taskId].data[0]++; + } + break; + default: + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[12] = 0; + SwitchTaskToFollowupFunc(taskId); + break; + } +} diff --git a/src/contest_link_81D9DE4.c b/src/contest_link_81D9DE4.c new file mode 100755 index 0000000000..4b56c9c384 --- /dev/null +++ b/src/contest_link_81D9DE4.c @@ -0,0 +1,331 @@ +#include "global.h" +#include "contest.h" +#include "event_data.h" +#include "link.h" +#include "random.h" +#include "task.h" + +static void sub_81D9F14(u8); +static void sub_81D9F30(u8); +static void sub_81D9F4C(u8); +static void sub_81D9F68(u8); +static void sub_81DA10C(u8); +static void sub_81DA138(u8); +static void sub_81DA160(u8); +static void sub_81DA244(u8); +static void sub_81DA2E8(u8); +static void sub_81DA3B8(u8); +static void sub_81DA488(u8); + +void sub_81D9DE4(u8 taskId) +{ + int gameCleared; + + switch (gTasks[taskId].data[9]) + { + case 0: + gHighestRibbonRank = GetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_COOL_RIBBON); + break; + case 1: + gHighestRibbonRank = GetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_BEAUTY_RIBBON); + break; + case 2: + gHighestRibbonRank = GetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_CUTE_RIBBON); + break; + case 3: + gHighestRibbonRank = GetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_SMART_RIBBON); + break; + case 4: + default: + gHighestRibbonRank = GetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_TOUGH_RIBBON); + break; + } + + gContestMons[gContestPlayerMonIndex].unk2C[0] = gHighestRibbonRank; + gameCleared = FlagGet(FLAG_SYS_GAME_CLEAR) > 0; + gContestMons[gContestPlayerMonIndex].unk2C[1] = gameCleared; + SetTaskFuncWithFollowupFunc(taskId, sub_81DA160, sub_81D9F14); +} + +static void sub_81D9F14(u8 taskId) +{ + SetTaskFuncWithFollowupFunc(taskId, sub_81DA244, sub_81D9F30); +} + +static void sub_81D9F30(u8 taskId) +{ + SetTaskFuncWithFollowupFunc(taskId, sub_81DA2E8, sub_81D9F4C); +} + +static void sub_81D9F4C(u8 taskId) +{ + SetTaskFuncWithFollowupFunc(taskId, sub_81DA3B8, sub_81D9F68); +} + +static void sub_81D9F68(u8 taskId) +{ + u8 i; + u8 rank; + int gameCleared; + u8 data1[4]; + u8 data2[4]; + + memset(data1, 0, sizeof(data1)); + memset(data2, 0, sizeof(data2)); + + for (i = 0; i < gNumLinkContestPlayers; i++) + data1[i] = gTasks[taskId].data[i + 1]; + + i = 0; + if (i < gNumLinkContestPlayers) + { + while (++i < gNumLinkContestPlayers) + { + if (data1[0] != data1[i]) + break; + } + } + + if (i == gNumLinkContestPlayers) + gSpecialVar_0x8004 = 0; + else + gSpecialVar_0x8004 = 1; + + for (i = 0; i < gNumLinkContestPlayers; i++) + data2[i] = gTasks[taskId].data[i + 5]; + + if (gNumLinkContestPlayers != 4 && GetMultiplayerId() == 0) + { + rank = gContestMons[0].unk2C[0]; + for (i = 1; i < gNumLinkContestPlayers; i++) + { + if (rank < gContestMons[i].unk2C[0]) + rank = gContestMons[i].unk2C[0]; + } + + if (rank) + rank--; + + gameCleared = 1; + for (i = 0; i < gNumLinkContestPlayers; i++) + { + if (!gContestMons[i].unk2C[1]) + { + gameCleared = 0; + break; + } + } + + sub_80DACBC(data1[0], rank, gameCleared); + } + + gUnknown_02039F2B = sub_80F86E0(data2); + if (gNumLinkContestPlayers < 4) + SetTaskFuncWithFollowupFunc(taskId, sub_81DA488, sub_81DA10C); + else + gTasks[taskId].func = sub_81DA10C; +} + +static void sub_81DA10C(u8 taskId) +{ + sub_80DB09C(gSpecialVar_ContestCategory); + SetTaskFuncWithFollowupFunc(taskId, sub_80FCF40, sub_81DA138); +} + +static void sub_81DA138(u8 taskId) +{ + sub_80DCE58(0); + SetTaskFuncWithFollowupFunc(taskId, sub_80FCFD0, sub_80F8714); +} + +static void sub_81DA160(u8 taskId) +{ + int i; + + if (!sub_80FC670(&gTasks[taskId].data[12])) + return; + + switch (gTasks[taskId].data[0]) + { + default: + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[12] = 0; + SwitchTaskToFollowupFunc(taskId); + break; + case 0: + if (IsLinkTaskFinished()) + { + if (sub_80FC4F4(&gContestMons[gContestPlayerMonIndex], sizeof(struct ContestPokemon)) == 1) + gTasks[taskId].data[0]++; + } + break; + case 1: + if (sub_80FC55C()) + { + for (i = 0; i < gNumLinkContestPlayers; i++) + { + memcpy(&gContestMons[i], gBlockRecvBuffer[i], sizeof(struct ContestPokemon)); + sub_80DFA08(&gContestMons[i], gLinkPlayers[i].language); + } + + gTasks[taskId].data[0]++; + } + break; + } +} + +static void sub_81DA244(u8 taskId) +{ + if (!sub_80FC670(&gTasks[taskId].data[12])) + return; + + switch (gTasks[taskId].data[0]) + { + default: + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[12] = 0; + SwitchTaskToFollowupFunc(taskId); + break; + case 0: + if (GetMultiplayerId() == 0) + { + if (!IsLinkTaskFinished()) + return; + + if (sub_80FC4F4(&gRngValue, sizeof(gRngValue)) == 1) + gTasks[taskId].data[0]++; + } + else + { + gTasks[taskId].data[0]++; + } + break; + case 1: + if (sub_80FC530(0)) + { + memcpy(&gRngValue, gBlockRecvBuffer[0], sizeof(gRngValue)); + memcpy(&gContestRngValue, gBlockRecvBuffer[0], sizeof(gContestRngValue)); + gTasks[taskId].data[0]++; + } + break; + } +} + +static void sub_81DA2E8(u8 taskId) +{ + int i; + u16 data[4]; + u16 var0; + + if (!sub_80FC670(&gTasks[taskId].data[12])) + return; + + switch (gTasks[taskId].data[0]) + { + default: + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[12] = 0; + SwitchTaskToFollowupFunc(taskId); + break; + case 0: + if (IsLinkTaskFinished()) + { + var0 = 0x6E; + if (sub_80FC4F4(&var0, sizeof(var0)) == 1) + gTasks[taskId].data[0]++; + } + break; + case 1: + if (sub_80FC55C()) + { + for (i = 0; i < gNumLinkContestPlayers; i++) + { + data[i] = gBlockRecvBuffer[i][0]; + gTasks[taskId].data[i + 5] = data[i]; + } + + gTasks[taskId].data[0]++; + } + break; + } +} + +static void sub_81DA3B8(u8 taskId) +{ + int i; + u16 data[4]; + u16 var0; + + if (!sub_80FC670(&gTasks[taskId].data[12])) + return; + + switch (gTasks[taskId].data[0]) + { + default: + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[12] = 0; + SwitchTaskToFollowupFunc(taskId); + break; + case 0: + if (IsLinkTaskFinished()) + { + var0 = gTasks[taskId].data[9]; + if (sub_80FC4F4(&var0, sizeof(var0)) == 1) + gTasks[taskId].data[0]++; + } + break; + case 1: + if (sub_80FC55C()) + { + for (i = 0; i < gNumLinkContestPlayers; i++) + { + data[i] = gBlockRecvBuffer[i][0]; + gTasks[taskId].data[i + 1] = data[i]; + } + + gTasks[taskId].data[0]++; + } + break; + } +} + +static void sub_81DA488(u8 taskId) +{ + int i; + + if (!sub_80FC670(&gTasks[taskId].data[12])) + return; + + switch (gTasks[taskId].data[0]) + { + default: + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[12] = 0; + SwitchTaskToFollowupFunc(taskId); + break; + case 0: + if (GetMultiplayerId() == 0) + { + if (!IsLinkTaskFinished()) + return; + + if (sub_80FC4F4(&gContestMons[gNumLinkContestPlayers], (4 - gNumLinkContestPlayers) * sizeof(struct ContestPokemon)) == 1) + gTasks[taskId].data[0]++; + } + else + { + gTasks[taskId].data[0]++; + } + break; + case 1: + if (sub_80FC530(0)) + { + memcpy(&gContestMons[gNumLinkContestPlayers], gBlockRecvBuffer[0], (4 - gNumLinkContestPlayers) * sizeof(struct ContestPokemon)); + for (i = gNumLinkContestPlayers; i < 4; i++) + sub_80DFA08(&gContestMons[i], gLinkPlayers[0].language); + + gTasks[taskId].data[0]++; + } + break; + } +} diff --git a/src/contest_painting.c b/src/contest_painting.c index 9de3d733dd..0ed169a774 100644 --- a/src/contest_painting.c +++ b/src/contest_painting.c @@ -20,9 +20,6 @@ #include "window.h" #include "constants/rgb.h" -extern u8 gUnknown_02039F5C; -extern u8 gUnknown_02039F5D; - extern u16 (*gUnknown_03006190)[][32]; extern struct ContestWinner *gUnknown_030061C0; extern u16 *gContestPaintingMonPalette; diff --git a/src/contest_painting_effects.c b/src/contest_painting_effects.c new file mode 100644 index 0000000000..187a0f1968 --- /dev/null +++ b/src/contest_painting_effects.c @@ -0,0 +1,771 @@ +#include "global.h" +#include "contest_painting_effects.h" +#include "contest_painting.h" +#include "constants/rgb.h" + +extern u8 gUnknown_03006164; +extern u16 (*gUnknown_03006168)[][32]; +extern u8 gUnknown_0300616C; +extern u8 gUnknown_03006170; +extern u8 gUnknown_03006174; +extern u8 gUnknown_03006178; +extern u8 gUnknown_0300617C; +extern u8 gUnknown_03006180; + +// this file's functions +void sub_8125230(void); +void sub_81252E8(void); +void sub_81254E0(void); +void sub_8125630(void); +void sub_8125448(void); +void sub_81257F8(void); +void sub_81258A0(void); +void sub_81256C8(void); +void sub_8125250(void); +void sub_81253A4(u8); +void sub_81250B8(u8); +void sub_8125170(u8); +void sub_8125954(u16); +u16 ConvertColorToGrayscale(u16*); +u16 sub_8125E18(u16*, u16*, u16*); +u16 ConvertCoolColor(u16*, u8); +u16 ConvertToBlackOrWhite(u16*); +u16 sub_8125C98(u16*, u16*); +u16 InvertColor(u16*); +u16 sub_8125F38(u16*, u16*, u16*); +u16 sub_8125CF4(u16*, u16*); +u16 GetCoolColorFromPersonality(u8); + +void sub_8124F2C(struct Unk030061A0 *info) +{ + gUnknown_03006168 = info->var_4; + gUnknown_0300617C = info->var_1F; + gUnknown_03006164 = info->var_19; + gUnknown_03006178 = info->var_1A; + gUnknown_03006174 = info->var_1B; + gUnknown_0300616C = info->var_1C; + gUnknown_03006180 = info->var_1D; + gUnknown_03006170 = info->var_1E; + switch (info->var_0) + { + case 2: + sub_8125230(); + break; + case 8: + sub_81252E8(); + break; + case 9: + sub_81254E0(); + sub_81253A4(gUnknown_0300617C); + break; + case 10: + sub_81254E0(); + sub_8125630(); + sub_8125448(); + case 31: + sub_8125630(); + break; + case 11: + sub_81254E0(); + sub_81257F8(); + sub_81257F8(); + sub_81258A0(); + sub_8125448(); + break; + case 13: + sub_81256C8(); + break; + case 30: + sub_81254E0(); + break; + case 32: + sub_81257F8(); + break; + case 33: + sub_81258A0(); + break; + case 6: + sub_8125250(); + sub_81250B8(3); + break; + case 36: + sub_81254E0(); + sub_81257F8(); + sub_81258A0(); + sub_8125448(); + sub_81252E8(); + sub_81252E8(); + sub_81250B8(2); + sub_8125170(4); + break; + } +} + +void sub_81250B8(u8 a0) // it changes palette someway somehow... .__. +{ + u8 i, j; + + for (i = 0; i < gUnknown_0300616C; i++) + { + u16* var2 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180]; + u16* pal = &var2[gUnknown_03006164]; + for (j = 0; j < gUnknown_03006174; j++, pal++) + { + if (!(0x8000 & *pal)) + { + u8 val = (31 & *pal); + val += a0; + if (val > 31) + val = 31; + + *pal = RGB2(val, val, val); + } + } + } +} + +void sub_8125170(u8 a0) +{ + u8 i, j; + + for (i = 0; i < gUnknown_0300616C; i++) + { + u16* var2 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180]; + u16* pal = &var2[gUnknown_03006164]; + for (j = 0; j < gUnknown_03006174; j++, pal++) + { + if (!(0x8000 & *pal)) + { + u8 val = (31 & *pal); + if (val > 31 - a0) + val = 31 - (a0 >> 1); + + *pal = RGB2(val, val, val); + } + } + } +} + +void sub_8125230(void) +{ + u32 i; + for (i = 0; i < 3200; i++) + sub_8125954(i); +} + +void sub_8125250(void) +{ + u8 i, j; + + for (i = 0; i < gUnknown_0300616C; i++) + { + u16* var2 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180]; + u16* color = &var2[gUnknown_03006164]; + for (j = 0; j < gUnknown_03006174; j++, color++) + { + if (!(0x8000 & *color)) + { + *color = ConvertColorToGrayscale(color); + } + } + } +} + +void sub_81252E8(void) +{ + u8 i, j; + + for (i = 0; i < gUnknown_03006174; i++) + { + u16* var0 = &(*gUnknown_03006168)[0][gUnknown_03006178 * gUnknown_03006180]; + u16* palette = &var0[gUnknown_03006164 + i]; + u16 color = *palette; + + j = 1; + palette += gUnknown_03006180; + while (j < gUnknown_0300616C - 1) + { + if (!(0x8000 & *palette)) + { + *palette = sub_8125E18(&color, palette, palette + gUnknown_03006180); + color = *palette; + } + + j++; + palette += gUnknown_03006180; + } + } +} + +void sub_81253A4(u8 arg0) +{ + u8 i, j; + + for (i = 0; i < gUnknown_0300616C; i++) + { + u16* var0 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180]; + u16* color = &var0[gUnknown_03006164]; + for (j = 0; j < gUnknown_03006174; j++, color++) + { + if (!(0x8000 & *color)) + { + *color = ConvertCoolColor(color, arg0); + } + } + } +} + +void sub_8125448(void) +{ + u8 i, j; + + for (i = 0; i < gUnknown_0300616C; i++) + { + u16* var0 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180]; + u16* color = &var0[gUnknown_03006164]; + for (j = 0; j < gUnknown_03006174; j++, color++) + { + if (!(0x8000 & *color)) + { + *color = ConvertToBlackOrWhite(color); + } + } + } +} + +void sub_81254E0(void) +{ + u8 i, j; + u16 *palette; + + for (i = 0; i < gUnknown_0300616C; i++) + { + u16 *var0 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180]; + palette = &var0[gUnknown_03006164]; + *palette = sub_8125C98(palette, palette + 1); + for (j = 1, palette = palette + 1; j < gUnknown_03006174 - 1; j++, palette++) + { + *palette = sub_8125C98(palette, palette + 1); + *palette = sub_8125C98(palette, palette - 1); + } + + *palette = sub_8125C98(palette, palette - 1); + } + + for (j = 0; j < gUnknown_03006174; j++) + { + u16 *var0 = &(*gUnknown_03006168)[0][gUnknown_03006178 * gUnknown_03006180]; + palette = &var0[gUnknown_03006164 + j]; + *palette = sub_8125C98(palette, palette + gUnknown_03006180); + for (i = 1, palette = palette + gUnknown_03006180; i < gUnknown_0300616C - 1; i++, palette += gUnknown_03006180) + { + *palette = sub_8125C98(palette, palette + gUnknown_03006180); + *palette = sub_8125C98(palette, palette - gUnknown_03006180); + } + + *palette = sub_8125C98(palette, palette - gUnknown_03006180); + } +} + +void sub_8125630(void) +{ + u8 i, j; + + for (i = 0; i < gUnknown_0300616C; i++) + { + u16 *var0 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180]; + u16 *color = &var0[gUnknown_03006164]; + for (j = 0; j < gUnknown_03006174; j++, color++) + { + if (!(0x8000 & *color)) + { + *color = InvertColor(color); + } + } + } +} + +void sub_81256C8(void) +{ + u8 i, j; + u16 *palette; + u16 color; + + palette = (*gUnknown_03006168)[0]; + for (i = 0; i < 64; i++) + { + for (j = 0; j < 64; j++, palette++) + { + if (!(0x8000 & *palette)) + { + *palette = InvertColor(palette); + } + } + } + + for (j = 0; j < 64; j++) + { + palette = &(*gUnknown_03006168)[0][j]; + color = *palette; + *palette = 0x8000; + for (i = 1, palette += 64; i < 63; i++, palette += 64) + { + if (!(0x8000 & *palette)) + { + *palette = sub_8125F38(&color, palette, palette + 64); + color = *palette; + } + } + + *palette = 0x8000; + palette = &(*gUnknown_03006168)[0][j]; + color = *palette; + *palette = 0x8000; + for (i = 1, palette += 64; i < 63; i++, palette += 64) + { + if (!(0x8000 & *palette)) + { + *palette = sub_8125F38(&color, palette, palette + 64); + color = *palette; + } + } + + *palette = 0x8000; + } + + palette = (*gUnknown_03006168)[0]; + for (i = 0; i < 64; i++) + { + for (j = 0; j < 64; j++, palette++) + { + if (!(0x8000 & *palette)) + { + *palette = InvertColor(palette); + } + } + } +} + +void sub_81257F8(void) +{ + u8 i, j; + + for (i = 0; i < gUnknown_0300616C; i++) + { + u16 *var0 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180]; + u16 *palette = &var0[gUnknown_03006164]; + u16 color = *palette; + for (j = 1, palette++; j < gUnknown_03006174 - 1; j++, palette++) + { + if (!(0x8000 & *palette)) + { + *palette = sub_8125CF4(&color, palette); + color = *palette; + } + } + } +} + +void sub_81258A0(void) +{ + u8 i, j; + + for (i = 0; i < gUnknown_03006174; i++) + { + u16* var0 = &(*gUnknown_03006168)[0][gUnknown_03006178 * gUnknown_03006180]; + u16* palette = &var0[gUnknown_03006164 + i]; + u16 color = *palette; + for (j = 1, palette += gUnknown_03006180; j < gUnknown_0300616C - 1; j++, palette += gUnknown_03006180) + { + if (!(0x8000 & *palette)) + { + *palette = sub_8125CF4(&color, palette); + color = *palette; + } + } + } +} + +struct Unk8125954 +{ + u8 unk0; + u8 unk1; + u16 unk2; +}; + +extern const u8 gUnknown_085A1F94[][3]; + +void sub_8125954(u16 arg0) +{ + u8 i; + u8 r5, r9; + struct Unk8125954 unkStruct[6]; + + unkStruct[0].unk0 = gUnknown_085A1F94[arg0][0]; + unkStruct[0].unk1 = gUnknown_085A1F94[arg0][1]; + unkStruct[0].unk2 = (gUnknown_085A1F94[arg0][2] >> 3) & 7; + + r9 = (gUnknown_085A1F94[arg0][2] >> 1) & 3; + r5 = gUnknown_085A1F94[arg0][2] & 1; + for (i = 1; i < unkStruct[0].unk2; i++) + { + if (!r5) + { + unkStruct[i].unk0 = unkStruct[0].unk0 - i; + unkStruct[i].unk1 = unkStruct[0].unk1 + i; + } + else + { + unkStruct[i].unk0 = unkStruct[0].unk0 + 1; + unkStruct[i].unk1 = unkStruct[0].unk1 - 1; + } + + if (unkStruct[i].unk0 > 63 || unkStruct[i].unk1 > 63) + { + unkStruct[0].unk2 = i - 1; + break; + } + + unkStruct[i].unk2 = unkStruct[0].unk2 - i; + } + + for (i = 0; i < unkStruct[0].unk2; i++) + { + u16 *pal = &(*gUnknown_03006168)[unkStruct[i].unk1 * 2][unkStruct[i].unk0]; + + if (!(0x8000 & *pal)) + { + u16 r = (*pal) & 0x1F; + u16 g = (*pal >> 5) & 0x1F; + u16 b = (*pal >> 10) & 0x1F; + + switch (r9) + { + case 0: + case 1: + switch (((gUnknown_085A1F94[arg0][2] >> 3) & 7) % 3) + { + case 0: + if (r >= unkStruct[i].unk2) + r -= unkStruct[i].unk2; + else + r = 0; + break; + case 1: + if (g >= unkStruct[i].unk2) + g -= unkStruct[i].unk2; + else + g = 0; + break; + case 2: + if (b >= unkStruct[i].unk2) + b -= unkStruct[i].unk2; + else + b = 0; + break; + } + break; + case 2: + case 3: + r += unkStruct[i].unk2; + g += unkStruct[i].unk2; + b += unkStruct[i].unk2; + if (r > 31) + r = 31; + if (g > 31) + g = 31; + if (b > 31) + b = 31; + break; + } + + *pal = RGB2(r, g, b); + } + } +} + +u16 ConvertColorToGrayscale(u16 *color) +{ + s32 clr = *color; + s32 r = clr & 0x1F; + s32 g = (clr >> 5) & 0x1F; + s32 b = (clr >> 10) & 0x1F; + s32 gray = (r * Q_8_8(0.3) + g * Q_8_8(0.59) + b * Q_8_8(0.1133)) >> 8; + return RGB2(gray, gray, gray); +} + +// The dark colors are the colored edges of the Cool painting effect. +// Everything else is white. +u16 ConvertCoolColor(u16 *color, u8 personality) +{ + u16 red = *color & 0x1F; + u16 green = (*color >> 5) & 0x1F; + u16 blue = (*color >> 10) & 0x1F; + + if (red < 17 && green < 17 && blue < 17) + return GetCoolColorFromPersonality(personality); + else + return RGB_WHITE; +} + +// Based on the given value, which comes from the first 8 bits of +// the mon's personality value, return a color. +u16 GetCoolColorFromPersonality(u8 personality) +{ + u16 red = 0; + u16 green = 0; + u16 blue = 0; + u8 strength = (personality / 6) % 3; + u8 colorType = personality % 6; + + switch (colorType) + { + case 0: + // Teal color + green = 21 - strength; + blue = green; + red = 0; + break; + case 1: + // Yellow color + blue = 0; + red = 21 - strength; + green = red; + break; + case 2: + // Purple color + blue = 21 - strength; + green = 0; + red = blue; + break; + case 3: + // Red color + blue = 0; + green = 0; + red = 23 - strength; + break; + case 4: + // Blue color + blue = 23 - strength; + green = 0; + red = 0; + break; + case 5: + // Green color + blue = 0; + green = 23 - strength; + red = 0; + break; + } + + return RGB2(red, green, blue); +} + +u16 ConvertToBlackOrWhite(u16 *color) +{ + u16 red = *color & 0x1F; + u16 green = (*color >> 5) & 0x1F; + u16 blue = (*color >> 10) & 0x1F; + + if (red < 17 && green < 17 && blue < 17) + return RGB_BLACK; + else + return RGB_WHITE; +} + +u16 sub_8125C98(u16 *colorA, u16 *colorB) +{ + if (*colorA) + { + if (*colorA & 0x8000) + return 0x8000; + if (*colorB & 0x8000) + return RGB_BLACK; + + return *colorA; + } + + return RGB_BLACK; +} + +u16 InvertColor(u16 *color) +{ + u16 red = *color & 0x1F; + u16 green = (*color >> 5) & 0x1F; + u16 blue = (*color >> 10) & 0x1F; + + red = 31 - red; + green = 31 - green; + blue = 31 - blue; + + return RGB2(red, green, blue); +} + +u16 sub_8125CF4(u16 *a0, u16 *a1) +{ + u16 sp0[2][3]; + u16 spC[3]; + u8 r4; + u16 r2; + u16 r, g, b; + + if (*a0 == *a1) + return *a1; + + sp0[0][0] = (*a0 >> 0) & 0x1F; + sp0[0][1] = (*a0 >> 5) & 0x1F; + sp0[0][2] = (*a0 >> 10) & 0x1F; + sp0[1][0] = (*a1 >> 0) & 0x1F; + sp0[1][1] = (*a1 >> 5) & 0x1F; + sp0[1][2] = (*a1 >> 10) & 0x1F; + + if (sp0[0][0] > 25 && sp0[0][1] > 25 && sp0[0][2] > 25) + return *a1; + if (sp0[1][0] > 25 && sp0[1][1] > 25 && sp0[1][2] > 25) + return *a1; + + for (r4 = 0; r4 < 3; r4++) + { + if (sp0[0][r4] > sp0[1][r4]) + spC[r4] = sp0[0][r4] - sp0[1][r4]; + else + spC[r4] = sp0[1][r4] - sp0[0][r4]; + } + + if (spC[0] >= spC[1]) + { + if (spC[0] >= spC[2]) + r2 = spC[0]; + else if (spC[1] >= spC[2]) + r2 = spC[1]; + else + r2 = spC[2]; + } + else + { + if (spC[1] >= spC[2]) + r2 = spC[1]; + else if (spC[2] >= spC[0]) + r2 = spC[2]; + else + r2 = spC[0]; + } + + r = (sp0[1][0] * (31 - r2 / 2)) / 31; + g = (sp0[1][1] * (31 - r2 / 2)) / 31; + b = (sp0[1][2] * (31 - r2 / 2)) / 31; + return RGB2(r, g, b); +} + +u16 sub_8125E18(u16 * a0, u16 * a1, u16 * a2) +{ + u16 red, green, blue; + u16 avg0, avg1, avg2; + u16 diff1, diff2; + u32 minimum; + u16 factor; + + if (*a0 == *a1 && *a2 == *a1) + return *a1; + + red = (*a1 >> 0) & 0x1F; + green = (*a1 >> 5) & 0x1F; + blue = (*a1 >> 10) & 0x1F; + + avg0 = (((*a0 >> 0) & 0x1F) + ((*a0 >> 5) & 0x1F) + ((*a0 >> 10) & 0x1F)) / 3; + avg1 = (((*a1 >> 0) & 0x1F) + ((*a1 >> 5) & 0x1F) + ((*a1 >> 10) & 0x1F)) / 3; + avg2 = (((*a2 >> 0) & 0x1F) + ((*a2 >> 5) & 0x1F) + ((*a2 >> 10) & 0x1F)) / 3; + + if (avg0 == avg1 && avg2 == avg1) + return *a1; + + if (avg0 > avg1) + diff1 = avg0 - avg1; + else + diff1 = avg1 - avg0; + + if (avg2 > avg1) + diff2 = avg2 - avg1; + else + diff2 = avg1 - avg2; + + if (diff1 >= diff2) + minimum = diff1; + else + minimum = diff2; + + factor = 31 - minimum / 2; + red = red * factor / 31; + green = green * factor / 31; + blue = blue * factor / 31; + return RGB2(red, green, blue); +} + +u16 sub_8125F38(u16 *a0, u16 *a1, u16 *a2) +{ + u16 red, green, blue; + u16 avg0, avg1, avg2; + u16 diff1, diff2; + u32 minimum; + u16 factor; + + if (*a0 == *a1 && *a2 == *a1) + return *a1; + + red = (*a1 >> 0) & 0x1F; + green = (*a1 >> 5) & 0x1F; + blue = (*a1 >> 10) & 0x1F; + + avg0 = (((*a0 >> 0) & 0x1F) + ((*a0 >> 5) & 0x1F) + ((*a0 >> 10) & 0x1F)) / 3; + avg1 = (((*a1 >> 0) & 0x1F) + ((*a1 >> 5) & 0x1F) + ((*a1 >> 10) & 0x1F)) / 3; + avg2 = (((*a2 >> 0) & 0x1F) + ((*a2 >> 5) & 0x1F) + ((*a2 >> 10) & 0x1F)) / 3; + + if (avg0 == avg1 && avg2 == avg1) + return *a1; + + if (avg0 > avg1) + diff1 = avg0 - avg1; + else + diff1 = avg1 - avg0; + + if (avg2 > avg1) + diff2 = avg2 - avg1; + else + diff2 = avg1 - avg2; + + if (diff1 >= diff2) + minimum = diff1; + else + minimum = diff2; + + factor = 31 - minimum; + red = red * factor / 31; + green = green * factor / 31; + blue = blue * factor / 31; + return RGB2(red, green, blue); +} + +/* +void sub_8126058(struct Unk030061A0 *arg0) +{ + u16 i, j, k; + u8 r5 = arg0->var_1D >> 3; + u8 var_24 = arg0->var_1E >> 3; + u16 (*var_2C)[][32] = arg0->var_4; + u32 var_28 = arg0->var_10; + + if (arg0->var_16 == 2) + { + for (i = 0; i < var_24; i++) + { + for (j = 0; j < r5; j++) + { + for (k = 0; k < 8; k++) + { + (*var_2C)[][]; + } + } + } + } +} +*/ diff --git a/src/dark.c b/src/dark.c index efa6e94989..ecd466da8c 100644 --- a/src/dark.c +++ b/src/dark.c @@ -357,22 +357,22 @@ void sub_8113A90(struct Sprite *sprite) switch (gBattleAnimArgs[1]) { case 0: - sprite->pos1.x = sub_80A861C(battler, 5) - 8; - sprite->pos1.y = sub_80A861C(battler, 2) + 8; + sprite->pos1.x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_RIGHT) - 8; + sprite->pos1.y = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_TOP) + 8; break; case 1: - sprite->pos1.x = sub_80A861C(battler, 5) - 14; - sprite->pos1.y = sub_80A861C(battler, 2) + 16; + sprite->pos1.x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_RIGHT) - 14; + sprite->pos1.y = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_TOP) + 16; break; case 2: - sprite->pos1.x = sub_80A861C(battler, 4) + 8; - sprite->pos1.y = sub_80A861C(battler, 2) + 8; + sprite->pos1.x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_LEFT) + 8; + sprite->pos1.y = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_TOP) + 8; StartSpriteAffineAnim(sprite, 1); xOffset = -20; break; case 3: - sprite->pos1.x = sub_80A861C(battler, 4) + 14; - sprite->pos1.y = sub_80A861C(battler, 2) + 16; + sprite->pos1.x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_LEFT) + 14; + sprite->pos1.y = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_TOP) + 16; StartSpriteAffineAnim(sprite, 1); xOffset = -20; break; @@ -403,7 +403,7 @@ void sub_8113BAC(u8 taskId) struct Task *task = &gTasks[taskId]; task->data[7] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y) + 31; - task->data[6] = sub_80A861C(gBattleAnimAttacker, 2) - 7; + task->data[6] = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_TOP) - 7; task->data[5] = task->data[7]; task->data[4] = task->data[6]; task->data[13] = (task->data[7] - task->data[6]) << 8; @@ -576,7 +576,7 @@ void sub_8113E78(u8 taskId) break; case 2: task->data[7] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y) + 31; - task->data[6] = sub_80A861C(gBattleAnimTarget, 2) - 7; + task->data[6] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_TOP) - 7; task->data[13] = (task->data[7] - task->data[6]) << 8; x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X); task->data[14] = x - 4; diff --git a/src/data/pokemon_graphics/back_pic_coordinates.h b/src/data/pokemon_graphics/back_pic_coordinates.h index cdb28f8c32..0de0bfb52d 100644 --- a/src/data/pokemon_graphics/back_pic_coordinates.h +++ b/src/data/pokemon_graphics/back_pic_coordinates.h @@ -4,2202 +4,2202 @@ const struct MonCoords gMonBackPicCoords[] = { [SPECIES_NONE] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x00, }, [SPECIES_BULBASAUR] = { - .coords = 0x64, + .size = 0x64, .y_offset = 0x10, }, [SPECIES_IVYSAUR] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x09, }, [SPECIES_VENUSAUR] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x07, }, [SPECIES_CHARMANDER] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0e, }, [SPECIES_CHARMELEON] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x09, }, [SPECIES_CHARIZARD] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_SQUIRTLE] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0e, }, [SPECIES_WARTORTLE] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x0a, }, [SPECIES_BLASTOISE] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x08, }, [SPECIES_CATERPIE] = { - .coords = 0x55, + .size = 0x55, .y_offset = 0x0f, }, [SPECIES_METAPOD] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0c, }, [SPECIES_BUTTERFREE] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x06, }, [SPECIES_WEEDLE] = { - .coords = 0x56, + .size = 0x56, .y_offset = 0x0b, }, [SPECIES_KAKUNA] = { - .coords = 0x46, + .size = 0x46, .y_offset = 0x0a, }, [SPECIES_BEEDRILL] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x09, }, [SPECIES_PIDGEY] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x08, }, [SPECIES_PIDGEOTTO] = { - .coords = 0x85, + .size = 0x85, .y_offset = 0x0c, }, [SPECIES_PIDGEOT] = { - .coords = 0x78, + .size = 0x78, .y_offset = 0x02, }, [SPECIES_RATTATA] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0d, }, [SPECIES_RATICATE] = { - .coords = 0x75, + .size = 0x75, .y_offset = 0x0d, }, [SPECIES_SPEAROW] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0c, }, [SPECIES_FEAROW] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x05, }, [SPECIES_EKANS] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x09, }, [SPECIES_ARBOK] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x04, }, [SPECIES_PIKACHU] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x07, }, [SPECIES_RAICHU] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x08, }, [SPECIES_SANDSHREW] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0d, }, [SPECIES_SANDSLASH] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x09, }, [SPECIES_NIDORAN_F] = { - .coords = 0x55, + .size = 0x55, .y_offset = 0x0c, }, [SPECIES_NIDORINA] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x0a, }, [SPECIES_NIDOQUEEN] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x06, }, [SPECIES_NIDORAN_M] = { - .coords = 0x56, + .size = 0x56, .y_offset = 0x08, }, [SPECIES_NIDORINO] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x09, }, [SPECIES_NIDOKING] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x03, }, [SPECIES_CLEFAIRY] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0d, }, [SPECIES_CLEFABLE] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x0a, }, [SPECIES_VULPIX] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x09, }, [SPECIES_NINETALES] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x05, }, [SPECIES_JIGGLYPUFF] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0d, }, [SPECIES_WIGGLYTUFF] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x08, }, [SPECIES_ZUBAT] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x0b, }, [SPECIES_GOLBAT] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x06, }, [SPECIES_ODDISH] = { - .coords = 0x56, + .size = 0x56, .y_offset = 0x0b, }, [SPECIES_GLOOM] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0a, }, [SPECIES_VILEPLUME] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x07, }, [SPECIES_PARAS] = { - .coords = 0x63, + .size = 0x63, .y_offset = 0x14, }, [SPECIES_PARASECT] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x07, }, [SPECIES_VENONAT] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x06, }, [SPECIES_VENOMOTH] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x04, }, [SPECIES_DIGLETT] = { - .coords = 0x54, + .size = 0x54, .y_offset = 0x10, }, [SPECIES_DUGTRIO] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0b, }, [SPECIES_MEOWTH] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0c, }, [SPECIES_PERSIAN] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x07, }, [SPECIES_PSYDUCK] = { - .coords = 0x67, + .size = 0x67, .y_offset = 0x07, }, [SPECIES_GOLDUCK] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x05, }, [SPECIES_MANKEY] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x0b, }, [SPECIES_PRIMEAPE] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x07, }, [SPECIES_GROWLITHE] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x08, }, [SPECIES_ARCANINE] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x06, }, [SPECIES_POLIWAG] = { - .coords = 0x74, + .size = 0x74, .y_offset = 0x10, }, [SPECIES_POLIWHIRL] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0c, }, [SPECIES_POLIWRATH] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x0b, }, [SPECIES_ABRA] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0b, }, [SPECIES_KADABRA] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x08, }, [SPECIES_ALAKAZAM] = { - .coords = 0x67, + .size = 0x67, .y_offset = 0x05, }, [SPECIES_MACHOP] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0c, }, [SPECIES_MACHOKE] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x09, }, [SPECIES_MACHAMP] = { - .coords = 0x67, + .size = 0x67, .y_offset = 0x04, }, [SPECIES_BELLSPROUT] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0a, }, [SPECIES_WEEPINBELL] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x09, }, [SPECIES_VICTREEBEL] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x06, }, [SPECIES_TENTACOOL] = { - .coords = 0x56, + .size = 0x56, .y_offset = 0x0a, }, [SPECIES_TENTACRUEL] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x0b, }, [SPECIES_GEODUDE] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0b, }, [SPECIES_GRAVELER] = { - .coords = 0x75, + .size = 0x75, .y_offset = 0x0c, }, [SPECIES_GOLEM] = { - .coords = 0x84, + .size = 0x84, .y_offset = 0x10, }, [SPECIES_PONYTA] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x09, }, [SPECIES_RAPIDASH] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x05, }, [SPECIES_SLOWPOKE] = { - .coords = 0x85, + .size = 0x85, .y_offset = 0x0e, }, [SPECIES_SLOWBRO] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x0a, }, [SPECIES_MAGNEMITE] = { - .coords = 0x43, + .size = 0x43, .y_offset = 0x14, }, [SPECIES_MAGNETON] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0a, }, [SPECIES_FARFETCHD] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0a, }, [SPECIES_DODUO] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x08, }, [SPECIES_DODRIO] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x01, }, [SPECIES_SEEL] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0a, }, [SPECIES_DEWGONG] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x05, }, [SPECIES_GRIMER] = { - .coords = 0x75, + .size = 0x75, .y_offset = 0x0c, }, [SPECIES_MUK] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x05, }, [SPECIES_SHELLDER] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x0b, }, [SPECIES_CLOYSTER] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x06, }, [SPECIES_GASTLY] = { - .coords = 0x85, + .size = 0x85, .y_offset = 0x0e, }, [SPECIES_HAUNTER] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x08, }, [SPECIES_GENGAR] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x09, }, [SPECIES_ONIX] = { - .coords = 0x78, + .size = 0x78, .y_offset = 0x00, }, [SPECIES_DROWZEE] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0d, }, [SPECIES_HYPNO] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x09, }, [SPECIES_KRABBY] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0a, }, [SPECIES_KINGLER] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x04, }, [SPECIES_VOLTORB] = { - .coords = 0x55, + .size = 0x55, .y_offset = 0x0e, }, [SPECIES_ELECTRODE] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0d, }, [SPECIES_EXEGGCUTE] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0d, }, [SPECIES_EXEGGUTOR] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_CUBONE] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0a, }, [SPECIES_MAROWAK] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x08, }, [SPECIES_HITMONLEE] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0c, }, [SPECIES_HITMONCHAN] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0c, }, [SPECIES_LICKITUNG] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0e, }, [SPECIES_KOFFING] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x09, }, [SPECIES_WEEZING] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x06, }, [SPECIES_RHYHORN] = { - .coords = 0x85, + .size = 0x85, .y_offset = 0x0c, }, [SPECIES_RHYDON] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x03, }, [SPECIES_CHANSEY] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x0b, }, [SPECIES_TANGELA] = { - .coords = 0x85, + .size = 0x85, .y_offset = 0x0e, }, [SPECIES_KANGASKHAN] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x05, }, [SPECIES_HORSEA] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x09, }, [SPECIES_SEADRA] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x08, }, [SPECIES_GOLDEEN] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x08, }, [SPECIES_SEAKING] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x0b, }, [SPECIES_STARYU] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0d, }, [SPECIES_STARMIE] = { - .coords = 0x85, + .size = 0x85, .y_offset = 0x0e, }, [SPECIES_MR_MIME] = { - .coords = 0x85, + .size = 0x85, .y_offset = 0x0d, }, [SPECIES_SCYTHER] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x07, }, [SPECIES_JYNX] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x0a, }, [SPECIES_ELECTABUZZ] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x08, }, [SPECIES_MAGMAR] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x08, }, [SPECIES_PINSIR] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x09, }, [SPECIES_TAUROS] = { - .coords = 0x85, + .size = 0x85, .y_offset = 0x0d, }, [SPECIES_MAGIKARP] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x09, }, [SPECIES_GYARADOS] = { - .coords = 0x78, + .size = 0x78, .y_offset = 0x00, }, [SPECIES_LAPRAS] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x04, }, [SPECIES_DITTO] = { - .coords = 0x54, + .size = 0x54, .y_offset = 0x11, }, [SPECIES_EEVEE] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0a, }, [SPECIES_VAPOREON] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0a, }, [SPECIES_JOLTEON] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x06, }, [SPECIES_FLAREON] = { - .coords = 0x67, + .size = 0x67, .y_offset = 0x05, }, [SPECIES_PORYGON] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0d, }, [SPECIES_OMANYTE] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0a, }, [SPECIES_OMASTAR] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x08, }, [SPECIES_KABUTO] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0d, }, [SPECIES_KABUTOPS] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x05, }, [SPECIES_AERODACTYL] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x08, }, [SPECIES_SNORLAX] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x0b, }, [SPECIES_ARTICUNO] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0c, }, [SPECIES_ZAPDOS] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x0b, }, [SPECIES_MOLTRES] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_DRATINI] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x09, }, [SPECIES_DRAGONAIR] = { - .coords = 0x78, + .size = 0x78, .y_offset = 0x00, }, [SPECIES_DRAGONITE] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x06, }, [SPECIES_MEWTWO] = { - .coords = 0x78, + .size = 0x78, .y_offset = 0x01, }, [SPECIES_MEW] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x08, }, [SPECIES_CHIKORITA] = { - .coords = 0x56, + .size = 0x56, .y_offset = 0x0a, }, [SPECIES_BAYLEEF] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x08, }, [SPECIES_MEGANIUM] = { - .coords = 0x78, + .size = 0x78, .y_offset = 0x00, }, [SPECIES_CYNDAQUIL] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x09, }, [SPECIES_QUILAVA] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_TYPHLOSION] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_TOTODILE] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0b, }, [SPECIES_CROCONAW] = { - .coords = 0x67, + .size = 0x67, .y_offset = 0x07, }, [SPECIES_FERALIGATR] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x01, }, [SPECIES_SENTRET] = { - .coords = 0x67, + .size = 0x67, .y_offset = 0x05, }, [SPECIES_FURRET] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x08, }, [SPECIES_HOOTHOOT] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x08, }, [SPECIES_NOCTOWL] = { - .coords = 0x68, + .size = 0x68, .y_offset = 0x03, }, [SPECIES_LEDYBA] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x0b, }, [SPECIES_LEDIAN] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x07, }, [SPECIES_SPINARAK] = { - .coords = 0x73, + .size = 0x73, .y_offset = 0x15, }, [SPECIES_ARIADOS] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x0b, }, [SPECIES_CROBAT] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x05, }, [SPECIES_CHINCHOU] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x08, }, [SPECIES_LANTURN] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x08, }, [SPECIES_PICHU] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0b, }, [SPECIES_CLEFFA] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0f, }, [SPECIES_IGGLYBUFF] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0b, }, [SPECIES_TOGEPI] = { - .coords = 0x54, + .size = 0x54, .y_offset = 0x10, }, [SPECIES_TOGETIC] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x08, }, [SPECIES_NATU] = { - .coords = 0x54, + .size = 0x54, .y_offset = 0x11, }, [SPECIES_XATU] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x08, }, [SPECIES_MAREEP] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x09, }, [SPECIES_FLAAFFY] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x09, }, [SPECIES_AMPHAROS] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x01, }, [SPECIES_BELLOSSOM] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0b, }, [SPECIES_MARILL] = { - .coords = 0x75, + .size = 0x75, .y_offset = 0x0c, }, [SPECIES_AZUMARILL] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x08, }, [SPECIES_SUDOWOODO] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x08, }, [SPECIES_POLITOED] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x09, }, [SPECIES_HOPPIP] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0b, }, [SPECIES_SKIPLOOM] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0d, }, [SPECIES_JUMPLUFF] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_AIPOM] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x09, }, [SPECIES_SUNKERN] = { - .coords = 0x56, + .size = 0x56, .y_offset = 0x0a, }, [SPECIES_SUNFLORA] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x08, }, [SPECIES_YANMA] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x04, }, [SPECIES_WOOPER] = { - .coords = 0x85, + .size = 0x85, .y_offset = 0x0f, }, [SPECIES_QUAGSIRE] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x08, }, [SPECIES_ESPEON] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x0b, }, [SPECIES_UMBREON] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_MURKROW] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x09, }, [SPECIES_SLOWKING] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x08, }, [SPECIES_MISDREAVUS] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0a, }, [SPECIES_UNOWN] = { - .coords = 0x36, + .size = 0x36, .y_offset = 0x08, }, [SPECIES_WOBBUFFET] = { - .coords = 0x75, + .size = 0x75, .y_offset = 0x0c, }, [SPECIES_GIRAFARIG] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x05, }, [SPECIES_PINECO] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0f, }, [SPECIES_FORRETRESS] = { - .coords = 0x84, + .size = 0x84, .y_offset = 0x10, }, [SPECIES_DUNSPARCE] = { - .coords = 0x85, + .size = 0x85, .y_offset = 0x0f, }, [SPECIES_GLIGAR] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x05, }, [SPECIES_STEELIX] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x00, }, [SPECIES_SNUBBULL] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x0a, }, [SPECIES_GRANBULL] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x05, }, [SPECIES_QWILFISH] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x07, }, [SPECIES_SCIZOR] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x04, }, [SPECIES_SHUCKLE] = { - .coords = 0x56, + .size = 0x56, .y_offset = 0x0b, }, [SPECIES_HERACROSS] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x04, }, [SPECIES_SNEASEL] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x08, }, [SPECIES_TEDDIURSA] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x08, }, [SPECIES_URSARING] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x03, }, [SPECIES_SLUGMA] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x08, }, [SPECIES_MAGCARGO] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x09, }, [SPECIES_SWINUB] = { - .coords = 0x63, + .size = 0x63, .y_offset = 0x15, }, [SPECIES_PILOSWINE] = { - .coords = 0x75, + .size = 0x75, .y_offset = 0x0d, }, [SPECIES_CORSOLA] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0c, }, [SPECIES_REMORAID] = { - .coords = 0x75, + .size = 0x75, .y_offset = 0x0d, }, [SPECIES_OCTILLERY] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0a, }, [SPECIES_DELIBIRD] = { - .coords = 0x67, + .size = 0x67, .y_offset = 0x06, }, [SPECIES_MANTINE] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x07, }, [SPECIES_SKARMORY] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_HOUNDOUR] = { - .coords = 0x55, + .size = 0x55, .y_offset = 0x0c, }, [SPECIES_HOUNDOOM] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x07, }, [SPECIES_KINGDRA] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x06, }, [SPECIES_PHANPY] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0e, }, [SPECIES_DONPHAN] = { - .coords = 0x85, + .size = 0x85, .y_offset = 0x0d, }, [SPECIES_PORYGON2] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x0a, }, [SPECIES_STANTLER] = { - .coords = 0x78, + .size = 0x78, .y_offset = 0x03, }, [SPECIES_SMEARGLE] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x0a, }, [SPECIES_TYROGUE] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x08, }, [SPECIES_HITMONTOP] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x05, }, [SPECIES_SMOOCHUM] = { - .coords = 0x56, + .size = 0x56, .y_offset = 0x09, }, [SPECIES_ELEKID] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x08, }, [SPECIES_MAGBY] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0b, }, [SPECIES_MILTANK] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x07, }, [SPECIES_BLISSEY] = { - .coords = 0x85, + .size = 0x85, .y_offset = 0x0d, }, [SPECIES_RAIKOU] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x0a, }, [SPECIES_ENTEI] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x06, }, [SPECIES_SUICUNE] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x03, }, [SPECIES_LARVITAR] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x08, }, [SPECIES_PUPITAR] = { - .coords = 0x67, + .size = 0x67, .y_offset = 0x05, }, [SPECIES_TYRANITAR] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x00, }, [SPECIES_LUGIA] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x01, }, [SPECIES_HO_OH] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x01, }, [SPECIES_CELEBI] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x08, }, [SPECIES_OLD_UNOWN_B] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x02, }, [SPECIES_OLD_UNOWN_C] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x02, }, [SPECIES_OLD_UNOWN_D] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x02, }, [SPECIES_OLD_UNOWN_E] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x02, }, [SPECIES_OLD_UNOWN_F] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x02, }, [SPECIES_OLD_UNOWN_G] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x02, }, [SPECIES_OLD_UNOWN_H] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x02, }, [SPECIES_OLD_UNOWN_I] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x02, }, [SPECIES_OLD_UNOWN_J] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x02, }, [SPECIES_OLD_UNOWN_K] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x02, }, [SPECIES_OLD_UNOWN_L] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x02, }, [SPECIES_OLD_UNOWN_M] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x02, }, [SPECIES_OLD_UNOWN_N] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x02, }, [SPECIES_OLD_UNOWN_O] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x02, }, [SPECIES_OLD_UNOWN_P] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x02, }, [SPECIES_OLD_UNOWN_Q] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x02, }, [SPECIES_OLD_UNOWN_R] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x02, }, [SPECIES_OLD_UNOWN_S] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x02, }, [SPECIES_OLD_UNOWN_T] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x02, }, [SPECIES_OLD_UNOWN_U] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x02, }, [SPECIES_OLD_UNOWN_V] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x02, }, [SPECIES_OLD_UNOWN_W] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x02, }, [SPECIES_OLD_UNOWN_X] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x02, }, [SPECIES_OLD_UNOWN_Y] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x02, }, [SPECIES_OLD_UNOWN_Z] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x02, }, [SPECIES_TREECKO] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x06, }, [SPECIES_GROVYLE] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x08, }, [SPECIES_SCEPTILE] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x01, }, [SPECIES_TORCHIC] = { - .coords = 0x67, + .size = 0x67, .y_offset = 0x05, }, [SPECIES_COMBUSKEN] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x00, }, [SPECIES_BLAZIKEN] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x00, }, [SPECIES_MUDKIP] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x05, }, [SPECIES_MARSHTOMP] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_SWAMPERT] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x05, }, [SPECIES_POOCHYENA] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x09, }, [SPECIES_MIGHTYENA] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_ZIGZAGOON] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x0b, }, [SPECIES_LINOONE] = { - .coords = 0x85, + .size = 0x85, .y_offset = 0x0f, }, [SPECIES_WURMPLE] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x0b, }, [SPECIES_SILCOON] = { - .coords = 0x83, + .size = 0x83, .y_offset = 0x15, }, [SPECIES_BEAUTIFLY] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x00, }, [SPECIES_CASCOON] = { - .coords = 0x73, + .size = 0x73, .y_offset = 0x14, }, [SPECIES_DUSTOX] = { - .coords = 0x83, + .size = 0x83, .y_offset = 0x14, }, [SPECIES_LOTAD] = { - .coords = 0x75, + .size = 0x75, .y_offset = 0x0f, }, [SPECIES_LOMBRE] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x08, }, [SPECIES_LUDICOLO] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x0a, }, [SPECIES_SEEDOT] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x09, }, [SPECIES_NUZLEAF] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x0a, }, [SPECIES_SHIFTRY] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x08, }, [SPECIES_NINCADA] = { - .coords = 0x83, + .size = 0x83, .y_offset = 0x14, }, [SPECIES_NINJASK] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x08, }, [SPECIES_SHEDINJA] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x06, }, [SPECIES_TAILLOW] = { - .coords = 0x64, + .size = 0x64, .y_offset = 0x11, }, [SPECIES_SWELLOW] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x08, }, [SPECIES_SHROOMISH] = { - .coords = 0x85, + .size = 0x85, .y_offset = 0x0d, }, [SPECIES_BRELOOM] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_SPINDA] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x04, }, [SPECIES_WINGULL] = { - .coords = 0x85, + .size = 0x85, .y_offset = 0x0e, }, [SPECIES_PELIPPER] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x06, }, [SPECIES_SURSKIT] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x0b, }, [SPECIES_MASQUERAIN] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x00, }, [SPECIES_WAILMER] = { - .coords = 0x83, + .size = 0x83, .y_offset = 0x15, }, [SPECIES_WAILORD] = { - .coords = 0x83, + .size = 0x83, .y_offset = 0x16, }, [SPECIES_SKITTY] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x0a, }, [SPECIES_DELCATTY] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x08, }, [SPECIES_KECLEON] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x06, }, [SPECIES_BALTOY] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x08, }, [SPECIES_CLAYDOL] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x07, }, [SPECIES_NOSEPASS] = { - .coords = 0x85, + .size = 0x85, .y_offset = 0x0c, }, [SPECIES_TORKOAL] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x0a, }, [SPECIES_SABLEYE] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x08, }, [SPECIES_BARBOACH] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0a, }, [SPECIES_WHISCASH] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x0a, }, [SPECIES_LUVDISC] = { - .coords = 0x46, + .size = 0x46, .y_offset = 0x0a, }, [SPECIES_CORPHISH] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x07, }, [SPECIES_CRAWDAUNT] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x05, }, [SPECIES_FEEBAS] = { - .coords = 0x67, + .size = 0x67, .y_offset = 0x07, }, [SPECIES_MILOTIC] = { - .coords = 0x68, + .size = 0x68, .y_offset = 0x02, }, [SPECIES_CARVANHA] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x07, }, [SPECIES_SHARPEDO] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x02, }, [SPECIES_TRAPINCH] = { - .coords = 0x75, + .size = 0x75, .y_offset = 0x0e, }, [SPECIES_VIBRAVA] = { - .coords = 0x74, + .size = 0x74, .y_offset = 0x11, }, [SPECIES_FLYGON] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x02, }, [SPECIES_MAKUHITA] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x0b, }, [SPECIES_HARIYAMA] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x07, }, [SPECIES_ELECTRIKE] = { - .coords = 0x84, + .size = 0x84, .y_offset = 0x10, }, [SPECIES_MANECTRIC] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_NUMEL] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x0b, }, [SPECIES_CAMERUPT] = { - .coords = 0x84, + .size = 0x84, .y_offset = 0x13, }, [SPECIES_SPHEAL] = { - .coords = 0x64, + .size = 0x64, .y_offset = 0x12, }, [SPECIES_SEALEO] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x0a, }, [SPECIES_WALREIN] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x06, }, [SPECIES_CACNEA] = { - .coords = 0x85, + .size = 0x85, .y_offset = 0x0f, }, [SPECIES_CACTURNE] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x07, }, [SPECIES_SNORUNT] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x0a, }, [SPECIES_GLALIE] = { - .coords = 0x85, + .size = 0x85, .y_offset = 0x0c, }, [SPECIES_LUNATONE] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x05, }, [SPECIES_SOLROCK] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x05, }, [SPECIES_AZURILL] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x0a, }, [SPECIES_SPOINK] = { - .coords = 0x56, + .size = 0x56, .y_offset = 0x0b, }, [SPECIES_GRUMPIG] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_PLUSLE] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x08, }, [SPECIES_MINUN] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x08, }, [SPECIES_MAWILE] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_MEDITITE] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x0b, }, [SPECIES_MEDICHAM] = { - .coords = 0x68, + .size = 0x68, .y_offset = 0x03, }, [SPECIES_SWABLU] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x09, }, [SPECIES_ALTARIA] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x06, }, [SPECIES_WYNAUT] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x07, }, [SPECIES_DUSKULL] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0b, }, [SPECIES_DUSCLOPS] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x08, }, [SPECIES_ROSELIA] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x08, }, [SPECIES_SLAKOTH] = { - .coords = 0x85, + .size = 0x85, .y_offset = 0x0f, }, [SPECIES_VIGOROTH] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x0a, }, [SPECIES_SLAKING] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x08, }, [SPECIES_GULPIN] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0b, }, [SPECIES_SWALOT] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x06, }, [SPECIES_TROPIUS] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x07, }, [SPECIES_WHISMUR] = { - .coords = 0x85, + .size = 0x85, .y_offset = 0x0d, }, [SPECIES_LOUDRED] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x09, }, [SPECIES_EXPLOUD] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x03, }, [SPECIES_CLAMPERL] = { - .coords = 0x85, + .size = 0x85, .y_offset = 0x0d, }, [SPECIES_HUNTAIL] = { - .coords = 0x68, + .size = 0x68, .y_offset = 0x02, }, [SPECIES_GOREBYSS] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x05, }, [SPECIES_ABSOL] = { - .coords = 0x78, + .size = 0x78, .y_offset = 0x03, }, [SPECIES_SHUPPET] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x06, }, [SPECIES_BANETTE] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0c, }, [SPECIES_SEVIPER] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x03, }, [SPECIES_ZANGOOSE] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x01, }, [SPECIES_RELICANTH] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x0a, }, [SPECIES_ARON] = { - .coords = 0x54, + .size = 0x54, .y_offset = 0x11, }, [SPECIES_LAIRON] = { - .coords = 0x84, + .size = 0x84, .y_offset = 0x11, }, [SPECIES_AGGRON] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x07, }, [SPECIES_CASTFORM] = { - .coords = 0x45, + .size = 0x45, .y_offset = 0x0d, }, [SPECIES_VOLBEAT] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x08, }, [SPECIES_ILLUMISE] = { - .coords = 0x67, + .size = 0x67, .y_offset = 0x06, }, [SPECIES_LILEEP] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x09, }, [SPECIES_CRADILY] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x04, }, [SPECIES_ANORITH] = { - .coords = 0x83, + .size = 0x83, .y_offset = 0x17, }, [SPECIES_ARMALDO] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x05, }, [SPECIES_RALTS] = { - .coords = 0x45, + .size = 0x45, .y_offset = 0x0d, }, [SPECIES_KIRLIA] = { - .coords = 0x57, + .size = 0x57, .y_offset = 0x06, }, [SPECIES_GARDEVOIR] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x04, }, [SPECIES_BAGON] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x08, }, [SPECIES_SHELGON] = { - .coords = 0x85, + .size = 0x85, .y_offset = 0x0d, }, [SPECIES_SALAMENCE] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x06, }, [SPECIES_BELDUM] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0a, }, [SPECIES_METANG] = { - .coords = 0x84, + .size = 0x84, .y_offset = 0x10, }, [SPECIES_METAGROSS] = { - .coords = 0x83, + .size = 0x83, .y_offset = 0x14, }, [SPECIES_REGIROCK] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x0a, }, [SPECIES_REGICE] = { - .coords = 0x85, + .size = 0x85, .y_offset = 0x0e, }, [SPECIES_REGISTEEL] = { - .coords = 0x85, + .size = 0x85, .y_offset = 0x0e, }, [SPECIES_KYOGRE] = { - .coords = 0x84, + .size = 0x84, .y_offset = 0x13, }, [SPECIES_GROUDON] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x07, }, [SPECIES_RAYQUAZA] = { - .coords = 0x78, + .size = 0x78, .y_offset = 0x00, }, [SPECIES_LATIAS] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x02, }, [SPECIES_LATIOS] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x03, }, [SPECIES_JIRACHI] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x05, }, [SPECIES_DEOXYS] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x09, }, [SPECIES_CHIMECHO] = { - .coords = 0x47, + .size = 0x47, .y_offset = 0x07, }, [SPECIES_EGG] = { - .coords = 0x36, + .size = 0x36, .y_offset = 0x0a, }, [SPECIES_UNOWN_B] = { - .coords = 0x56, + .size = 0x56, .y_offset = 0x09, }, [SPECIES_UNOWN_C] = { - .coords = 0x67, + .size = 0x67, .y_offset = 0x06, }, [SPECIES_UNOWN_D] = { - .coords = 0x56, + .size = 0x56, .y_offset = 0x08, }, [SPECIES_UNOWN_E] = { - .coords = 0x56, + .size = 0x56, .y_offset = 0x0a, }, [SPECIES_UNOWN_F] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0a, }, [SPECIES_UNOWN_G] = { - .coords = 0x57, + .size = 0x57, .y_offset = 0x05, }, [SPECIES_UNOWN_H] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x08, }, [SPECIES_UNOWN_I] = { - .coords = 0x37, + .size = 0x37, .y_offset = 0x07, }, [SPECIES_UNOWN_J] = { - .coords = 0x46, + .size = 0x46, .y_offset = 0x09, }, [SPECIES_UNOWN_K] = { - .coords = 0x57, + .size = 0x57, .y_offset = 0x07, }, [SPECIES_UNOWN_L] = { - .coords = 0x46, + .size = 0x46, .y_offset = 0x0a, }, [SPECIES_UNOWN_M] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0d, }, [SPECIES_UNOWN_N] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0d, }, [SPECIES_UNOWN_O] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x08, }, [SPECIES_UNOWN_P] = { - .coords = 0x46, + .size = 0x46, .y_offset = 0x0a, }, [SPECIES_UNOWN_Q] = { - .coords = 0x55, + .size = 0x55, .y_offset = 0x0f, }, [SPECIES_UNOWN_R] = { - .coords = 0x45, + .size = 0x45, .y_offset = 0x0c, }, [SPECIES_UNOWN_S] = { - .coords = 0x57, + .size = 0x57, .y_offset = 0x04, }, [SPECIES_UNOWN_T] = { - .coords = 0x45, + .size = 0x45, .y_offset = 0x0d, }, [SPECIES_UNOWN_U] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0d, }, [SPECIES_UNOWN_V] = { - .coords = 0x56, + .size = 0x56, .y_offset = 0x0b, }, [SPECIES_UNOWN_W] = { - .coords = 0x55, + .size = 0x55, .y_offset = 0x0d, }, [SPECIES_UNOWN_X] = { - .coords = 0x55, + .size = 0x55, .y_offset = 0x0f, }, [SPECIES_UNOWN_Y] = { - .coords = 0x46, + .size = 0x46, .y_offset = 0x0a, }, [SPECIES_UNOWN_Z] = { - .coords = 0x46, + .size = 0x46, .y_offset = 0x0a, }, [SPECIES_UNOWN_EMARK] = { - .coords = 0x37, + .size = 0x37, .y_offset = 0x06, }, [SPECIES_UNOWN_QMARK] = { - .coords = 0x47, + .size = 0x47, .y_offset = 0x06, }, }; diff --git a/src/data/pokemon_graphics/front_pic_coordinates.h b/src/data/pokemon_graphics/front_pic_coordinates.h index a01f0360f7..95ec7a132c 100644 --- a/src/data/pokemon_graphics/front_pic_coordinates.h +++ b/src/data/pokemon_graphics/front_pic_coordinates.h @@ -4,2202 +4,2202 @@ const struct MonCoords gMonFrontPicCoords[] = { [SPECIES_NONE] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x00, }, [SPECIES_BULBASAUR] = { - .coords = 0x45, + .size = 0x45, .y_offset = 0x0e, }, [SPECIES_IVYSAUR] = { - .coords = 0x56, + .size = 0x56, .y_offset = 0x0a, }, [SPECIES_VENUSAUR] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x03, }, [SPECIES_CHARMANDER] = { - .coords = 0x55, + .size = 0x55, .y_offset = 0x0c, }, [SPECIES_CHARMELEON] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x09, }, [SPECIES_CHARIZARD] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x01, }, [SPECIES_SQUIRTLE] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0d, }, [SPECIES_WARTORTLE] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x08, }, [SPECIES_BLASTOISE] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x00, }, [SPECIES_CATERPIE] = { - .coords = 0x45, + .size = 0x45, .y_offset = 0x10, }, [SPECIES_METAPOD] = { - .coords = 0x54, + .size = 0x54, .y_offset = 0x14, }, [SPECIES_BUTTERFREE] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x09, }, [SPECIES_WEEDLE] = { - .coords = 0x54, + .size = 0x54, .y_offset = 0x12, }, [SPECIES_KAKUNA] = { - .coords = 0x45, + .size = 0x45, .y_offset = 0x0e, }, [SPECIES_BEEDRILL] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x09, }, [SPECIES_PIDGEY] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0d, }, [SPECIES_PIDGEOTTO] = { - .coords = 0x67, + .size = 0x67, .y_offset = 0x0b, }, [SPECIES_PIDGEOT] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x01, }, [SPECIES_RATTATA] = { - .coords = 0x44, + .size = 0x44, .y_offset = 0x10, }, [SPECIES_RATICATE] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0b, }, [SPECIES_SPEAROW] = { - .coords = 0x45, + .size = 0x45, .y_offset = 0x0f, }, [SPECIES_FEAROW] = { - .coords = 0x78, + .size = 0x78, .y_offset = 0x00, }, [SPECIES_EKANS] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0c, }, [SPECIES_ARBOK] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x02, }, [SPECIES_PIKACHU] = { - .coords = 0x67, + .size = 0x67, .y_offset = 0x09, }, [SPECIES_RAICHU] = { - .coords = 0x67, + .size = 0x67, .y_offset = 0x04, }, [SPECIES_SANDSHREW] = { - .coords = 0x55, + .size = 0x55, .y_offset = 0x0e, }, [SPECIES_SANDSLASH] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x09, }, [SPECIES_NIDORAN_F] = { - .coords = 0x45, + .size = 0x45, .y_offset = 0x0f, }, [SPECIES_NIDORINA] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0b, }, [SPECIES_NIDOQUEEN] = { - .coords = 0x78, + .size = 0x78, .y_offset = 0x03, }, [SPECIES_NIDORAN_M] = { - .coords = 0x55, + .size = 0x55, .y_offset = 0x0c, }, [SPECIES_NIDORINO] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x09, }, [SPECIES_NIDOKING] = { - .coords = 0x78, + .size = 0x78, .y_offset = 0x02, }, [SPECIES_CLEFAIRY] = { - .coords = 0x55, + .size = 0x55, .y_offset = 0x10, }, [SPECIES_CLEFABLE] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x08, }, [SPECIES_VULPIX] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0c, }, [SPECIES_NINETALES] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x03, }, [SPECIES_JIGGLYPUFF] = { - .coords = 0x45, + .size = 0x45, .y_offset = 0x10, }, [SPECIES_WIGGLYTUFF] = { - .coords = 0x67, + .size = 0x67, .y_offset = 0x08, }, [SPECIES_ZUBAT] = { - .coords = 0x67, + .size = 0x67, .y_offset = 0x06, }, [SPECIES_GOLBAT] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x03, }, [SPECIES_ODDISH] = { - .coords = 0x45, + .size = 0x45, .y_offset = 0x0f, }, [SPECIES_GLOOM] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0a, }, [SPECIES_VILEPLUME] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x06, }, [SPECIES_PARAS] = { - .coords = 0x55, + .size = 0x55, .y_offset = 0x0f, }, [SPECIES_PARASECT] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x08, }, [SPECIES_VENONAT] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x08, }, [SPECIES_VENOMOTH] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x02, }, [SPECIES_DIGLETT] = { - .coords = 0x54, + .size = 0x54, .y_offset = 0x12, }, [SPECIES_DUGTRIO] = { - .coords = 0x75, + .size = 0x75, .y_offset = 0x0d, }, [SPECIES_MEOWTH] = { - .coords = 0x55, + .size = 0x55, .y_offset = 0x0c, }, [SPECIES_PERSIAN] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x07, }, [SPECIES_PSYDUCK] = { - .coords = 0x56, + .size = 0x56, .y_offset = 0x09, }, [SPECIES_GOLDUCK] = { - .coords = 0x78, + .size = 0x78, .y_offset = 0x02, }, [SPECIES_MANKEY] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0e, }, [SPECIES_PRIMEAPE] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x07, }, [SPECIES_GROWLITHE] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0b, }, [SPECIES_ARCANINE] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x02, }, [SPECIES_POLIWAG] = { - .coords = 0x74, + .size = 0x74, .y_offset = 0x13, }, [SPECIES_POLIWHIRL] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x0a, }, [SPECIES_POLIWRATH] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x08, }, [SPECIES_ABRA] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0b, }, [SPECIES_KADABRA] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x05, }, [SPECIES_ALAKAZAM] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_MACHOP] = { - .coords = 0x56, + .size = 0x56, .y_offset = 0x0b, }, [SPECIES_MACHOKE] = { - .coords = 0x67, + .size = 0x67, .y_offset = 0x06, }, [SPECIES_MACHAMP] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x01, }, [SPECIES_BELLSPROUT] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0f, }, [SPECIES_WEEPINBELL] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0b, }, [SPECIES_VICTREEBEL] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x05, }, [SPECIES_TENTACOOL] = { - .coords = 0x46, + .size = 0x46, .y_offset = 0x09, }, [SPECIES_TENTACRUEL] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_GEODUDE] = { - .coords = 0x54, + .size = 0x54, .y_offset = 0x12, }, [SPECIES_GRAVELER] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_GOLEM] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x05, }, [SPECIES_PONYTA] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x08, }, [SPECIES_RAPIDASH] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x01, }, [SPECIES_SLOWPOKE] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0b, }, [SPECIES_SLOWBRO] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x08, }, [SPECIES_MAGNEMITE] = { - .coords = 0x43, + .size = 0x43, .y_offset = 0x15, }, [SPECIES_MAGNETON] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x08, }, [SPECIES_FARFETCHD] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x09, }, [SPECIES_DODUO] = { - .coords = 0x57, + .size = 0x57, .y_offset = 0x05, }, [SPECIES_DODRIO] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x00, }, [SPECIES_SEEL] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x0a, }, [SPECIES_DEWGONG] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x07, }, [SPECIES_GRIMER] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0c, }, [SPECIES_MUK] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_SHELLDER] = { - .coords = 0x55, + .size = 0x55, .y_offset = 0x10, }, [SPECIES_CLOYSTER] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x05, }, [SPECIES_GASTLY] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x06, }, [SPECIES_HAUNTER] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x05, }, [SPECIES_GENGAR] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x05, }, [SPECIES_ONIX] = { - .coords = 0x78, + .size = 0x78, .y_offset = 0x02, }, [SPECIES_DROWZEE] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x07, }, [SPECIES_HYPNO] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x04, }, [SPECIES_KRABBY] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0d, }, [SPECIES_KINGLER] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x03, }, [SPECIES_VOLTORB] = { - .coords = 0x44, + .size = 0x44, .y_offset = 0x13, }, [SPECIES_ELECTRODE] = { - .coords = 0x55, + .size = 0x55, .y_offset = 0x0e, }, [SPECIES_EXEGGCUTE] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x07, }, [SPECIES_EXEGGUTOR] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x00, }, [SPECIES_CUBONE] = { - .coords = 0x55, + .size = 0x55, .y_offset = 0x0f, }, [SPECIES_MAROWAK] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x0b, }, [SPECIES_HITMONLEE] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_HITMONCHAN] = { - .coords = 0x67, + .size = 0x67, .y_offset = 0x04, }, [SPECIES_LICKITUNG] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x08, }, [SPECIES_KOFFING] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x08, }, [SPECIES_WEEZING] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x02, }, [SPECIES_RHYHORN] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x09, }, [SPECIES_RHYDON] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x02, }, [SPECIES_CHANSEY] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x09, }, [SPECIES_TANGELA] = { - .coords = 0x67, + .size = 0x67, .y_offset = 0x07, }, [SPECIES_KANGASKHAN] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x00, }, [SPECIES_HORSEA] = { - .coords = 0x45, + .size = 0x45, .y_offset = 0x0f, }, [SPECIES_SEADRA] = { - .coords = 0x67, + .size = 0x67, .y_offset = 0x07, }, [SPECIES_GOLDEEN] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0a, }, [SPECIES_SEAKING] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x04, }, [SPECIES_STARYU] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0a, }, [SPECIES_STARMIE] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x06, }, [SPECIES_MR_MIME] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x08, }, [SPECIES_SCYTHER] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x00, }, [SPECIES_JYNX] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x04, }, [SPECIES_ELECTABUZZ] = { - .coords = 0x78, + .size = 0x78, .y_offset = 0x02, }, [SPECIES_MAGMAR] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x04, }, [SPECIES_PINSIR] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x04, }, [SPECIES_TAUROS] = { - .coords = 0x78, + .size = 0x78, .y_offset = 0x00, }, [SPECIES_MAGIKARP] = { - .coords = 0x67, + .size = 0x67, .y_offset = 0x06, }, [SPECIES_GYARADOS] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x08, }, [SPECIES_LAPRAS] = { - .coords = 0x85, + .size = 0x85, .y_offset = 0x0d, }, [SPECIES_DITTO] = { - .coords = 0x54, + .size = 0x54, .y_offset = 0x11, }, [SPECIES_EEVEE] = { - .coords = 0x56, + .size = 0x56, .y_offset = 0x09, }, [SPECIES_VAPOREON] = { - .coords = 0x67, + .size = 0x67, .y_offset = 0x06, }, [SPECIES_JOLTEON] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x09, }, [SPECIES_FLAREON] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0a, }, [SPECIES_PORYGON] = { - .coords = 0x55, + .size = 0x55, .y_offset = 0x0d, }, [SPECIES_OMANYTE] = { - .coords = 0x45, + .size = 0x45, .y_offset = 0x0f, }, [SPECIES_OMASTAR] = { - .coords = 0x67, + .size = 0x67, .y_offset = 0x07, }, [SPECIES_KABUTO] = { - .coords = 0x54, + .size = 0x54, .y_offset = 0x11, }, [SPECIES_KABUTOPS] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x03, }, [SPECIES_AERODACTYL] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x01, }, [SPECIES_SNORLAX] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x05, }, [SPECIES_ARTICUNO] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x03, }, [SPECIES_ZAPDOS] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_MOLTRES] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x00, }, [SPECIES_DRATINI] = { - .coords = 0x75, + .size = 0x75, .y_offset = 0x0e, }, [SPECIES_DRAGONAIR] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x06, }, [SPECIES_DRAGONITE] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x00, }, [SPECIES_MEWTWO] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x00, }, [SPECIES_MEW] = { - .coords = 0x55, + .size = 0x55, .y_offset = 0x0d, }, [SPECIES_CHIKORITA] = { - .coords = 0x75, + .size = 0x75, .y_offset = 0x0d, }, [SPECIES_BAYLEEF] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x04, }, [SPECIES_MEGANIUM] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x00, }, [SPECIES_CYNDAQUIL] = { - .coords = 0x55, + .size = 0x55, .y_offset = 0x0e, }, [SPECIES_QUILAVA] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x08, }, [SPECIES_TYPHLOSION] = { - .coords = 0x78, + .size = 0x78, .y_offset = 0x00, }, [SPECIES_TOTODILE] = { - .coords = 0x55, + .size = 0x55, .y_offset = 0x0f, }, [SPECIES_CROCONAW] = { - .coords = 0x67, + .size = 0x67, .y_offset = 0x06, }, [SPECIES_FERALIGATR] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x00, }, [SPECIES_SENTRET] = { - .coords = 0x47, + .size = 0x47, .y_offset = 0x04, }, [SPECIES_FURRET] = { - .coords = 0x67, + .size = 0x67, .y_offset = 0x07, }, [SPECIES_HOOTHOOT] = { - .coords = 0x55, + .size = 0x55, .y_offset = 0x0d, }, [SPECIES_NOCTOWL] = { - .coords = 0x58, + .size = 0x58, .y_offset = 0x03, }, [SPECIES_LEDYBA] = { - .coords = 0x56, + .size = 0x56, .y_offset = 0x0c, }, [SPECIES_LEDIAN] = { - .coords = 0x67, + .size = 0x67, .y_offset = 0x04, }, [SPECIES_SPINARAK] = { - .coords = 0x54, + .size = 0x54, .y_offset = 0x13, }, [SPECIES_ARIADOS] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x05, }, [SPECIES_CROBAT] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x00, }, [SPECIES_CHINCHOU] = { - .coords = 0x75, + .size = 0x75, .y_offset = 0x10, }, [SPECIES_LANTURN] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x0b, }, [SPECIES_PICHU] = { - .coords = 0x45, + .size = 0x45, .y_offset = 0x0c, }, [SPECIES_CLEFFA] = { - .coords = 0x44, + .size = 0x44, .y_offset = 0x14, }, [SPECIES_IGGLYBUFF] = { - .coords = 0x44, + .size = 0x44, .y_offset = 0x12, }, [SPECIES_TOGEPI] = { - .coords = 0x34, + .size = 0x34, .y_offset = 0x14, }, [SPECIES_TOGETIC] = { - .coords = 0x46, + .size = 0x46, .y_offset = 0x09, }, [SPECIES_NATU] = { - .coords = 0x44, + .size = 0x44, .y_offset = 0x14, }, [SPECIES_XATU] = { - .coords = 0x47, + .size = 0x47, .y_offset = 0x07, }, [SPECIES_MAREEP] = { - .coords = 0x55, + .size = 0x55, .y_offset = 0x10, }, [SPECIES_FLAAFFY] = { - .coords = 0x56, + .size = 0x56, .y_offset = 0x0a, }, [SPECIES_AMPHAROS] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x05, }, [SPECIES_BELLOSSOM] = { - .coords = 0x45, + .size = 0x45, .y_offset = 0x0e, }, [SPECIES_MARILL] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0e, }, [SPECIES_AZUMARILL] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x09, }, [SPECIES_SUDOWOODO] = { - .coords = 0x67, + .size = 0x67, .y_offset = 0x06, }, [SPECIES_POLITOED] = { - .coords = 0x67, + .size = 0x67, .y_offset = 0x06, }, [SPECIES_HOPPIP] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0a, }, [SPECIES_SKIPLOOM] = { - .coords = 0x55, + .size = 0x55, .y_offset = 0x0f, }, [SPECIES_JUMPLUFF] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x07, }, [SPECIES_AIPOM] = { - .coords = 0x58, + .size = 0x58, .y_offset = 0x03, }, [SPECIES_SUNKERN] = { - .coords = 0x44, + .size = 0x44, .y_offset = 0x10, }, [SPECIES_SUNFLORA] = { - .coords = 0x56, + .size = 0x56, .y_offset = 0x08, }, [SPECIES_YANMA] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x0a, }, [SPECIES_WOOPER] = { - .coords = 0x54, + .size = 0x54, .y_offset = 0x10, }, [SPECIES_QUAGSIRE] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x07, }, [SPECIES_ESPEON] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x08, }, [SPECIES_UMBREON] = { - .coords = 0x67, + .size = 0x67, .y_offset = 0x08, }, [SPECIES_MURKROW] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0b, }, [SPECIES_SLOWKING] = { - .coords = 0x58, + .size = 0x58, .y_offset = 0x01, }, [SPECIES_MISDREAVUS] = { - .coords = 0x55, + .size = 0x55, .y_offset = 0x0c, }, [SPECIES_UNOWN] = { - .coords = 0x35, + .size = 0x35, .y_offset = 0x0f, }, [SPECIES_WOBBUFFET] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x06, }, [SPECIES_GIRAFARIG] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x03, }, [SPECIES_PINECO] = { - .coords = 0x56, + .size = 0x56, .y_offset = 0x0a, }, [SPECIES_FORRETRESS] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x09, }, [SPECIES_DUNSPARCE] = { - .coords = 0x74, + .size = 0x74, .y_offset = 0x11, }, [SPECIES_GLIGAR] = { - .coords = 0x78, + .size = 0x78, .y_offset = 0x03, }, [SPECIES_STEELIX] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x00, }, [SPECIES_SNUBBULL] = { - .coords = 0x55, + .size = 0x55, .y_offset = 0x0d, }, [SPECIES_GRANBULL] = { - .coords = 0x57, + .size = 0x57, .y_offset = 0x06, }, [SPECIES_QWILFISH] = { - .coords = 0x56, + .size = 0x56, .y_offset = 0x0a, }, [SPECIES_SCIZOR] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x00, }, [SPECIES_SHUCKLE] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x09, }, [SPECIES_HERACROSS] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x03, }, [SPECIES_SNEASEL] = { - .coords = 0x67, + .size = 0x67, .y_offset = 0x05, }, [SPECIES_TEDDIURSA] = { - .coords = 0x45, + .size = 0x45, .y_offset = 0x0d, }, [SPECIES_URSARING] = { - .coords = 0x78, + .size = 0x78, .y_offset = 0x01, }, [SPECIES_SLUGMA] = { - .coords = 0x45, + .size = 0x45, .y_offset = 0x0d, }, [SPECIES_MAGCARGO] = { - .coords = 0x57, + .size = 0x57, .y_offset = 0x0d, }, [SPECIES_SWINUB] = { - .coords = 0x43, + .size = 0x43, .y_offset = 0x14, }, [SPECIES_PILOSWINE] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x08, }, [SPECIES_CORSOLA] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0c, }, [SPECIES_REMORAID] = { - .coords = 0x55, + .size = 0x55, .y_offset = 0x0e, }, [SPECIES_OCTILLERY] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0a, }, [SPECIES_DELIBIRD] = { - .coords = 0x56, + .size = 0x56, .y_offset = 0x08, }, [SPECIES_MANTINE] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x01, }, [SPECIES_SKARMORY] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x00, }, [SPECIES_HOUNDOUR] = { - .coords = 0x56, + .size = 0x56, .y_offset = 0x0b, }, [SPECIES_HOUNDOOM] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x05, }, [SPECIES_KINGDRA] = { - .coords = 0x78, + .size = 0x78, .y_offset = 0x04, }, [SPECIES_PHANPY] = { - .coords = 0x54, + .size = 0x54, .y_offset = 0x10, }, [SPECIES_DONPHAN] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x08, }, [SPECIES_PORYGON2] = { - .coords = 0x55, + .size = 0x55, .y_offset = 0x0f, }, [SPECIES_STANTLER] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x00, }, [SPECIES_SMEARGLE] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x06, }, [SPECIES_TYROGUE] = { - .coords = 0x46, + .size = 0x46, .y_offset = 0x09, }, [SPECIES_HITMONTOP] = { - .coords = 0x67, + .size = 0x67, .y_offset = 0x05, }, [SPECIES_SMOOCHUM] = { - .coords = 0x35, + .size = 0x35, .y_offset = 0x0f, }, [SPECIES_ELEKID] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x0a, }, [SPECIES_MAGBY] = { - .coords = 0x45, + .size = 0x45, .y_offset = 0x0d, }, [SPECIES_MILTANK] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x04, }, [SPECIES_BLISSEY] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x06, }, [SPECIES_RAIKOU] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x00, }, [SPECIES_ENTEI] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x00, }, [SPECIES_SUICUNE] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x00, }, [SPECIES_LARVITAR] = { - .coords = 0x46, + .size = 0x46, .y_offset = 0x09, }, [SPECIES_PUPITAR] = { - .coords = 0x56, + .size = 0x56, .y_offset = 0x09, }, [SPECIES_TYRANITAR] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x00, }, [SPECIES_LUGIA] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x00, }, [SPECIES_HO_OH] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x00, }, [SPECIES_CELEBI] = { - .coords = 0x55, + .size = 0x55, .y_offset = 0x0e, }, [SPECIES_OLD_UNOWN_B] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_OLD_UNOWN_C] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_OLD_UNOWN_D] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_OLD_UNOWN_E] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_OLD_UNOWN_F] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_OLD_UNOWN_G] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_OLD_UNOWN_H] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_OLD_UNOWN_I] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_OLD_UNOWN_J] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_OLD_UNOWN_K] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_OLD_UNOWN_L] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_OLD_UNOWN_M] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_OLD_UNOWN_N] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_OLD_UNOWN_O] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_OLD_UNOWN_P] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_OLD_UNOWN_Q] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_OLD_UNOWN_R] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_OLD_UNOWN_S] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_OLD_UNOWN_T] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_OLD_UNOWN_U] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_OLD_UNOWN_V] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_OLD_UNOWN_W] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_OLD_UNOWN_X] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_OLD_UNOWN_Y] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_OLD_UNOWN_Z] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_TREECKO] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x08, }, [SPECIES_GROVYLE] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_SCEPTILE] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x00, }, [SPECIES_TORCHIC] = { - .coords = 0x56, + .size = 0x56, .y_offset = 0x08, }, [SPECIES_COMBUSKEN] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x01, }, [SPECIES_BLAZIKEN] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x00, }, [SPECIES_MUDKIP] = { - .coords = 0x56, + .size = 0x56, .y_offset = 0x0c, }, [SPECIES_MARSHTOMP] = { - .coords = 0x67, + .size = 0x67, .y_offset = 0x06, }, [SPECIES_SWAMPERT] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x00, }, [SPECIES_POOCHYENA] = { - .coords = 0x55, + .size = 0x55, .y_offset = 0x0c, }, [SPECIES_MIGHTYENA] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_ZIGZAGOON] = { - .coords = 0x85, + .size = 0x85, .y_offset = 0x0f, }, [SPECIES_LINOONE] = { - .coords = 0x78, + .size = 0x78, .y_offset = 0x03, }, [SPECIES_WURMPLE] = { - .coords = 0x45, + .size = 0x45, .y_offset = 0x0e, }, [SPECIES_SILCOON] = { - .coords = 0x75, + .size = 0x75, .y_offset = 0x11, }, [SPECIES_BEAUTIFLY] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x09, }, [SPECIES_CASCOON] = { - .coords = 0x74, + .size = 0x74, .y_offset = 0x10, }, [SPECIES_DUSTOX] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x0f, }, [SPECIES_LOTAD] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0e, }, [SPECIES_LOMBRE] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x09, }, [SPECIES_LUDICOLO] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x00, }, [SPECIES_SEEDOT] = { - .coords = 0x46, + .size = 0x46, .y_offset = 0x10, }, [SPECIES_NUZLEAF] = { - .coords = 0x56, + .size = 0x56, .y_offset = 0x08, }, [SPECIES_SHIFTRY] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x02, }, [SPECIES_NINCADA] = { - .coords = 0x74, + .size = 0x74, .y_offset = 0x12, }, [SPECIES_NINJASK] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x0a, }, [SPECIES_SHEDINJA] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0a, }, [SPECIES_TAILLOW] = { - .coords = 0x64, + .size = 0x64, .y_offset = 0x10, }, [SPECIES_SWELLOW] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x06, }, [SPECIES_SHROOMISH] = { - .coords = 0x54, + .size = 0x54, .y_offset = 0x10, }, [SPECIES_BRELOOM] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x04, }, [SPECIES_SPINDA] = { - .coords = 0x68, + .size = 0x68, .y_offset = 0x08, }, [SPECIES_WINGULL] = { - .coords = 0x84, + .size = 0x84, .y_offset = 0x18, }, [SPECIES_PELIPPER] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x04, }, [SPECIES_SURSKIT] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0f, }, [SPECIES_MASQUERAIN] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x01, }, [SPECIES_WAILMER] = { - .coords = 0x75, + .size = 0x75, .y_offset = 0x0f, }, [SPECIES_WAILORD] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x0a, }, [SPECIES_SKITTY] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0b, }, [SPECIES_DELCATTY] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x08, }, [SPECIES_KECLEON] = { - .coords = 0x67, + .size = 0x67, .y_offset = 0x07, }, [SPECIES_BALTOY] = { - .coords = 0x55, + .size = 0x55, .y_offset = 0x10, }, [SPECIES_CLAYDOL] = { - .coords = 0x78, + .size = 0x78, .y_offset = 0x06, }, [SPECIES_NOSEPASS] = { - .coords = 0x56, + .size = 0x56, .y_offset = 0x0c, }, [SPECIES_TORKOAL] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x02, }, [SPECIES_SABLEYE] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x09, }, [SPECIES_BARBOACH] = { - .coords = 0x46, + .size = 0x46, .y_offset = 0x0b, }, [SPECIES_WHISCASH] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x09, }, [SPECIES_LUVDISC] = { - .coords = 0x46, + .size = 0x46, .y_offset = 0x18, }, [SPECIES_CORPHISH] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0c, }, [SPECIES_CRAWDAUNT] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x01, }, [SPECIES_FEEBAS] = { - .coords = 0x46, + .size = 0x46, .y_offset = 0x0d, }, [SPECIES_MILOTIC] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x00, }, [SPECIES_CARVANHA] = { - .coords = 0x67, + .size = 0x67, .y_offset = 0x06, }, [SPECIES_SHARPEDO] = { - .coords = 0x78, + .size = 0x78, .y_offset = 0x03, }, [SPECIES_TRAPINCH] = { - .coords = 0x54, + .size = 0x54, .y_offset = 0x10, }, [SPECIES_VIBRAVA] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x0c, }, [SPECIES_FLYGON] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x01, }, [SPECIES_MAKUHITA] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0c, }, [SPECIES_HARIYAMA] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x01, }, [SPECIES_ELECTRIKE] = { - .coords = 0x64, + .size = 0x64, .y_offset = 0x12, }, [SPECIES_MANECTRIC] = { - .coords = 0x67, + .size = 0x67, .y_offset = 0x04, }, [SPECIES_NUMEL] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0f, }, [SPECIES_CAMERUPT] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x09, }, [SPECIES_SPHEAL] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x10, }, [SPECIES_SEALEO] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x0a, }, [SPECIES_WALREIN] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x01, }, [SPECIES_CACNEA] = { - .coords = 0x74, + .size = 0x74, .y_offset = 0x10, }, [SPECIES_CACTURNE] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x00, }, [SPECIES_SNORUNT] = { - .coords = 0x56, + .size = 0x56, .y_offset = 0x0b, }, [SPECIES_GLALIE] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x0a, }, [SPECIES_LUNATONE] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x09, }, [SPECIES_SOLROCK] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x01, }, [SPECIES_AZURILL] = { - .coords = 0x55, + .size = 0x55, .y_offset = 0x0f, }, [SPECIES_SPOINK] = { - .coords = 0x46, + .size = 0x46, .y_offset = 0x09, }, [SPECIES_GRUMPIG] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x05, }, [SPECIES_PLUSLE] = { - .coords = 0x56, + .size = 0x56, .y_offset = 0x0e, }, [SPECIES_MINUN] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0c, }, [SPECIES_MAWILE] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x08, }, [SPECIES_MEDITITE] = { - .coords = 0x65, + .size = 0x65, .y_offset = 0x0c, }, [SPECIES_MEDICHAM] = { - .coords = 0x68, + .size = 0x68, .y_offset = 0x01, }, [SPECIES_SWABLU] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x11, }, [SPECIES_ALTARIA] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x02, }, [SPECIES_WYNAUT] = { - .coords = 0x55, + .size = 0x55, .y_offset = 0x0c, }, [SPECIES_DUSKULL] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0a, }, [SPECIES_DUSCLOPS] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x05, }, [SPECIES_ROSELIA] = { - .coords = 0x76, + .size = 0x76, .y_offset = 0x08, }, [SPECIES_SLAKOTH] = { - .coords = 0x74, + .size = 0x74, .y_offset = 0x12, }, [SPECIES_VIGOROTH] = { - .coords = 0x78, + .size = 0x78, .y_offset = 0x00, }, [SPECIES_SLAKING] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x08, }, [SPECIES_GULPIN] = { - .coords = 0x55, + .size = 0x55, .y_offset = 0x12, }, [SPECIES_SWALOT] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x08, }, [SPECIES_TROPIUS] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x00, }, [SPECIES_WHISMUR] = { - .coords = 0x55, + .size = 0x55, .y_offset = 0x0e, }, [SPECIES_LOUDRED] = { - .coords = 0x78, + .size = 0x78, .y_offset = 0x03, }, [SPECIES_EXPLOUD] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x01, }, [SPECIES_CLAMPERL] = { - .coords = 0x55, + .size = 0x55, .y_offset = 0x0e, }, [SPECIES_HUNTAIL] = { - .coords = 0x78, + .size = 0x78, .y_offset = 0x03, }, [SPECIES_GOREBYSS] = { - .coords = 0x86, + .size = 0x86, .y_offset = 0x0b, }, [SPECIES_ABSOL] = { - .coords = 0x68, + .size = 0x68, .y_offset = 0x00, }, [SPECIES_SHUPPET] = { - .coords = 0x56, + .size = 0x56, .y_offset = 0x0e, }, [SPECIES_BANETTE] = { - .coords = 0x55, + .size = 0x55, .y_offset = 0x0c, }, [SPECIES_SEVIPER] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x08, }, [SPECIES_ZANGOOSE] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x05, }, [SPECIES_RELICANTH] = { - .coords = 0x77, + .size = 0x77, .y_offset = 0x0b, }, [SPECIES_ARON] = { - .coords = 0x43, + .size = 0x43, .y_offset = 0x14, }, [SPECIES_LAIRON] = { - .coords = 0x75, + .size = 0x75, .y_offset = 0x0d, }, [SPECIES_AGGRON] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x00, }, [SPECIES_CASTFORM] = { - .coords = 0x34, + .size = 0x34, .y_offset = 0x11, }, [SPECIES_VOLBEAT] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x08, }, [SPECIES_ILLUMISE] = { - .coords = 0x56, + .size = 0x56, .y_offset = 0x08, }, [SPECIES_LILEEP] = { - .coords = 0x67, + .size = 0x67, .y_offset = 0x07, }, [SPECIES_CRADILY] = { - .coords = 0x78, + .size = 0x78, .y_offset = 0x00, }, [SPECIES_ANORITH] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x08, }, [SPECIES_ARMALDO] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x00, }, [SPECIES_RALTS] = { - .coords = 0x35, + .size = 0x35, .y_offset = 0x0f, }, [SPECIES_KIRLIA] = { - .coords = 0x47, + .size = 0x47, .y_offset = 0x06, }, [SPECIES_GARDEVOIR] = { - .coords = 0x78, + .size = 0x78, .y_offset = 0x01, }, [SPECIES_BAGON] = { - .coords = 0x56, + .size = 0x56, .y_offset = 0x0b, }, [SPECIES_SHELGON] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x09, }, [SPECIES_SALAMENCE] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_BELDUM] = { - .coords = 0x55, + .size = 0x55, .y_offset = 0x0f, }, [SPECIES_METANG] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x07, }, [SPECIES_METAGROSS] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x06, }, [SPECIES_REGIROCK] = { - .coords = 0x78, + .size = 0x78, .y_offset = 0x04, }, [SPECIES_REGICE] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x02, }, [SPECIES_REGISTEEL] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x03, }, [SPECIES_KYOGRE] = { - .coords = 0x87, + .size = 0x87, .y_offset = 0x04, }, [SPECIES_GROUDON] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x01, }, [SPECIES_RAYQUAZA] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x00, }, [SPECIES_LATIAS] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x01, }, [SPECIES_LATIOS] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x02, }, [SPECIES_JIRACHI] = { - .coords = 0x66, + .size = 0x66, .y_offset = 0x0d, }, [SPECIES_DEOXYS] = { - .coords = 0x88, + .size = 0x88, .y_offset = 0x01, }, [SPECIES_CHIMECHO] = { - .coords = 0x37, + .size = 0x37, .y_offset = 0x06, }, [SPECIES_EGG] = { - .coords = 0x33, + .size = 0x33, .y_offset = 0x14, }, [SPECIES_UNOWN_B] = { - .coords = 0x34, + .size = 0x34, .y_offset = 0x10, }, [SPECIES_UNOWN_C] = { - .coords = 0x44, + .size = 0x44, .y_offset = 0x10, }, [SPECIES_UNOWN_D] = { - .coords = 0x44, + .size = 0x44, .y_offset = 0x10, }, [SPECIES_UNOWN_E] = { - .coords = 0x44, + .size = 0x44, .y_offset = 0x11, }, [SPECIES_UNOWN_F] = { - .coords = 0x44, + .size = 0x44, .y_offset = 0x11, }, [SPECIES_UNOWN_G] = { - .coords = 0x35, + .size = 0x35, .y_offset = 0x0e, }, [SPECIES_UNOWN_H] = { - .coords = 0x44, + .size = 0x44, .y_offset = 0x10, }, [SPECIES_UNOWN_I] = { - .coords = 0x34, + .size = 0x34, .y_offset = 0x10, }, [SPECIES_UNOWN_J] = { - .coords = 0x34, + .size = 0x34, .y_offset = 0x11, }, [SPECIES_UNOWN_K] = { - .coords = 0x44, + .size = 0x44, .y_offset = 0x11, }, [SPECIES_UNOWN_L] = { - .coords = 0x34, + .size = 0x34, .y_offset = 0x13, }, [SPECIES_UNOWN_M] = { - .coords = 0x44, + .size = 0x44, .y_offset = 0x13, }, [SPECIES_UNOWN_N] = { - .coords = 0x43, + .size = 0x43, .y_offset = 0x14, }, [SPECIES_UNOWN_O] = { - .coords = 0x44, + .size = 0x44, .y_offset = 0x10, }, [SPECIES_UNOWN_P] = { - .coords = 0x34, + .size = 0x34, .y_offset = 0x13, }, [SPECIES_UNOWN_Q] = { - .coords = 0x43, + .size = 0x43, .y_offset = 0x15, }, [SPECIES_UNOWN_R] = { - .coords = 0x34, + .size = 0x34, .y_offset = 0x13, }, [SPECIES_UNOWN_S] = { - .coords = 0x45, + .size = 0x45, .y_offset = 0x0c, }, [SPECIES_UNOWN_T] = { - .coords = 0x34, + .size = 0x34, .y_offset = 0x12, }, [SPECIES_UNOWN_U] = { - .coords = 0x44, + .size = 0x44, .y_offset = 0x12, }, [SPECIES_UNOWN_V] = { - .coords = 0x44, + .size = 0x44, .y_offset = 0x12, }, [SPECIES_UNOWN_W] = { - .coords = 0x44, + .size = 0x44, .y_offset = 0x13, }, [SPECIES_UNOWN_X] = { - .coords = 0x33, + .size = 0x33, .y_offset = 0x15, }, [SPECIES_UNOWN_Y] = { - .coords = 0x34, + .size = 0x34, .y_offset = 0x11, }, [SPECIES_UNOWN_Z] = { - .coords = 0x34, + .size = 0x34, .y_offset = 0x10, }, [SPECIES_UNOWN_EMARK] = { - .coords = 0x35, + .size = 0x35, .y_offset = 0x0f, }, [SPECIES_UNOWN_QMARK] = { - .coords = 0x35, + .size = 0x35, .y_offset = 0x0d, }, }; diff --git a/src/data/region_map/region_map_entries.h b/src/data/region_map/region_map_entries.h index 0c79c04ac9..b2d625c842 100644 --- a/src/data/region_map/region_map_entries.h +++ b/src/data/region_map/region_map_entries.h @@ -62,9 +62,6 @@ static const u8 sMapName_AbandonedShip[] = _("ABANDONED SHIP"); static const u8 sMapName_NewMauville[] = _("NEW MAUVILLE"); static const u8 sMapName_MeteorFalls[] = _("METEOR FALLS"); static const u8 sMapName_MtPyre[] = _("MT. PYRE"); -// This was the Aqua or Magma hideout in Ruby/Sapphire, but each team has a -// hideout in Emerald with their own new region map entries, and this name -// doesn't seem to be used anymore. static const u8 sMapName_AquaHideoutOld[] = _("{AQUA} HIDEOUT"); static const u8 sMapName_ShoalCave[] = _("SHOAL CAVE"); static const u8 sMapName_SeafloorCavern[] = _("SEAFLOOR CAVERN"); @@ -203,219 +200,219 @@ static const u8 sMapName_DesertUnderpass[] = _("DESERT UNDERPASS"); static const u8 sMapName_TrainerHill[] = _("TRAINER HILL"); const struct RegionMapLocation gRegionMapEntries[] = { - { 4, 11, 1, 1, sMapName_LittlerootTown}, - { 4, 9, 1, 1, sMapName_OldaleTown}, - { 2, 14, 1, 1, sMapName_DewfordTown}, - { 5, 3, 1, 1, sMapName_LavaridgeTown}, - { 3, 0, 1, 1, sMapName_FallarborTown}, - { 4, 6, 1, 1, sMapName_VerdanturfTown}, - {17, 10, 1, 1, sMapName_PacifidlogTown}, - { 1, 9, 1, 1, sMapName_PetalburgCity}, - { 8, 10, 1, 2, sMapName_SlateportCity}, - { 8, 6, 2, 1, sMapName_MauvilleCity}, - { 0, 5, 1, 2, sMapName_RustboroCity}, - {12, 0, 1, 1, sMapName_FortreeCity}, - {18, 3, 2, 1, sMapName_LilycoveCity}, - {24, 5, 2, 1, sMapName_MossdeepCity}, - {21, 7, 1, 1, sMapName_SootopolisCity}, - {27, 8, 1, 2, sMapName_EverGrandeCity}, - { 4, 10, 1, 1, sMapName_Route101}, - { 2, 9, 2, 1, sMapName_Route102}, - { 4, 8, 4, 1, sMapName_Route103}, - { 0, 7, 1, 3, sMapName_Route104}, - { 0, 10, 1, 3, sMapName_Route105}, - { 0, 13, 2, 1, sMapName_Route106}, - { 3, 14, 3, 1, sMapName_Route107}, - { 6, 14, 2, 1, sMapName_Route108}, - { 8, 12, 1, 3, sMapName_Route109}, - { 8, 7, 1, 3, sMapName_Route110}, - { 8, 0, 1, 6, sMapName_Route111}, - { 6, 3, 2, 1, sMapName_Route112}, - { 4, 0, 4, 1, sMapName_Route113}, - { 1, 0, 2, 3, sMapName_Route114}, - { 0, 2, 1, 3, sMapName_Route115}, - { 1, 5, 4, 1, sMapName_Route116}, - { 5, 6, 3, 1, sMapName_Route117}, - {10, 6, 2, 1, sMapName_Route118}, - {11, 0, 1, 6, sMapName_Route119}, - {13, 0, 1, 4, sMapName_Route120}, - {14, 3, 4, 1, sMapName_Route121}, - {16, 4, 1, 2, sMapName_Route122}, - {12, 6, 5, 1, sMapName_Route123}, - {20, 3, 4, 3, sMapName_Route124}, - {24, 3, 2, 2, sMapName_Route125}, - {20, 6, 3, 3, sMapName_Route126}, - {23, 6, 3, 3, sMapName_Route127}, - {23, 9, 4, 1, sMapName_Route128}, - {24, 10, 2, 1, sMapName_Route129}, - {21, 10, 3, 1, sMapName_Route130}, - {18, 10, 3, 1, sMapName_Route131}, - {15, 10, 2, 1, sMapName_Route132}, - {12, 10, 3, 1, sMapName_Route133}, - { 9, 10, 3, 1, sMapName_Route134}, - {20, 3, 4, 3, sMapName_Underwater}, - {20, 6, 3, 3, sMapName_Underwater}, - {23, 6, 3, 3, sMapName_Underwater}, - {23, 9, 4, 1, sMapName_Underwater}, - {21, 7, 1, 1, sMapName_Underwater}, - { 1, 13, 1, 1, sMapName_GraniteCave}, - { 6, 2, 1, 1, sMapName_MtChimney}, - {16, 2, 1, 1, sMapName_SafariZone}, - {22, 12, 1, 1, sMapName_BattleFrontier}, - { 0, 8, 1, 1, sMapName_PetalburgWoods}, - { 2, 5, 1, 1, sMapName_RusturfTunnel}, - { 6, 14, 1, 1, sMapName_AbandonedShip}, - { 8, 7, 1, 1, sMapName_NewMauville}, - { 0, 3, 1, 1, sMapName_MeteorFalls}, - { 1, 2, 1, 1, sMapName_MeteorFalls}, - {16, 4, 1, 1, sMapName_MtPyre}, - {19, 3, 1, 1, sMapName_AquaHideoutOld}, - {24, 4, 1, 1, sMapName_ShoalCave}, - {24, 9, 1, 1, sMapName_SeafloorCavern}, - {24, 9, 1, 1, sMapName_Underwater}, - {27, 9, 1, 1, sMapName_VictoryRoad}, - {17, 10, 1, 1, sMapName_MirageIsland}, - {21, 7, 1, 1, sMapName_CaveOfOrigin}, - {12, 14, 1, 1, sMapName_SouthernIsland}, - { 6, 3, 1, 1, sMapName_FieryPath}, - { 7, 3, 1, 1, sMapName_FieryPath}, - { 6, 3, 1, 1, sMapName_JaggedPass}, - { 7, 2, 1, 1, sMapName_JaggedPass}, - {11, 10, 1, 1, sMapName_SealedChamber}, - {11, 10, 1, 1, sMapName_Underwater}, - {13, 0, 1, 1, sMapName_ScorchedSlab}, - { 0, 10, 1, 1, sMapName_IslandCave}, - { 8, 3, 1, 1, sMapName_DesertRuins}, - {13, 2, 1, 1, sMapName_AncientTomb}, - { 0, 0, 1, 1, sMapName_InsideOfTruck}, - {19, 10, 1, 1, sMapName_SkyPillar}, - { 0, 0, 1, 1, sMapName_SecretBase}, - { 0, 0, 1, 1, sMapName_None}, - { 0, 0, 1, 1, sMapName_PalletTown}, - { 0, 0, 1, 1, sMapName_ViridianCity}, - { 0, 0, 1, 1, sMapName_PewterCity}, - { 0, 0, 1, 1, sMapName_CeruleanCity}, - { 0, 0, 1, 1, sMapName_LavenderTown}, - { 0, 0, 1, 1, sMapName_VermilionCity}, - { 0, 0, 1, 1, sMapName_CeladonCity}, - { 0, 0, 1, 1, sMapName_FuchsiaCity}, - { 0, 0, 1, 1, sMapName_CinnabarIsland}, - { 0, 0, 1, 1, sMapName_IndigoPlateau}, - { 0, 0, 1, 1, sMapName_SaffronCity}, - { 0, 0, 1, 1, sMapName_Route4}, - { 0, 0, 1, 1, sMapName_Route10}, - { 0, 0, 1, 1, sMapName_Route1}, - { 0, 0, 1, 1, sMapName_Route2}, - { 0, 0, 1, 1, sMapName_Route3}, - { 0, 0, 1, 1, sMapName_Route4_2}, - { 0, 0, 1, 1, sMapName_Route5}, - { 0, 0, 1, 1, sMapName_Route6}, - { 0, 0, 1, 1, sMapName_Route7}, - { 0, 0, 1, 1, sMapName_Route8}, - { 0, 0, 1, 1, sMapName_Route9}, - { 0, 0, 1, 1, sMapName_Route10_2}, - { 0, 0, 1, 1, sMapName_Route11}, - { 0, 0, 1, 1, sMapName_Route12}, - { 0, 0, 1, 1, sMapName_Route13}, - { 0, 0, 1, 1, sMapName_Route14}, - { 0, 0, 1, 1, sMapName_Route15}, - { 0, 0, 1, 1, sMapName_Route16}, - { 0, 0, 1, 1, sMapName_Route17}, - { 0, 0, 1, 1, sMapName_Route18}, - { 0, 0, 1, 1, sMapName_Route19}, - { 0, 0, 1, 1, sMapName_Route20}, - { 0, 0, 1, 1, sMapName_Route21}, - { 0, 0, 1, 1, sMapName_Route22}, - { 0, 0, 1, 1, sMapName_Route23}, - { 0, 0, 1, 1, sMapName_Route24}, - { 0, 0, 1, 1, sMapName_Route25}, - { 0, 0, 1, 1, sMapName_ViridianForest}, - { 0, 0, 1, 1, sMapName_MtMoon}, - { 0, 0, 1, 1, sMapName_SSAnne}, - { 0, 0, 1, 1, sMapName_UndergroundPath}, - { 0, 0, 1, 1, sMapName_UndergroundPath2}, - { 0, 0, 1, 1, sMapName_DiglettsCave}, - { 0, 0, 1, 1, sMapName_KantoVictoryRoad}, - { 0, 0, 1, 1, sMapName_RocketHideout}, - { 0, 0, 1, 1, sMapName_SilphCo}, - { 0, 0, 1, 1, sMapName_PokemonMansion}, - { 0, 0, 1, 1, sMapName_KantoSafariZone}, - { 0, 0, 1, 1, sMapName_PokemonLeague}, - { 0, 0, 1, 1, sMapName_RockTunnel}, - { 0, 0, 1, 1, sMapName_SeafoamIslands}, - { 0, 0, 1, 1, sMapName_PokemonTower}, - { 0, 0, 1, 1, sMapName_CeruleanCave}, - { 0, 0, 1, 1, sMapName_PowerPlant}, - { 0, 0, 1, 1, sMapName_OneIsland}, - { 0, 0, 1, 1, sMapName_TwoIsland}, - { 0, 0, 1, 1, sMapName_ThreeIsland}, - { 0, 0, 1, 1, sMapName_FourIsland}, - { 0, 0, 1, 1, sMapName_FiveIsland}, - { 0, 0, 1, 1, sMapName_SevenIsland}, - { 0, 0, 1, 1, sMapName_SixIsland}, - { 0, 0, 1, 1, sMapName_KindleRoad}, - { 0, 0, 1, 1, sMapName_TreasureBeach}, - { 0, 0, 1, 1, sMapName_CapeBrink}, - { 0, 0, 1, 1, sMapName_BondBridge}, - { 0, 0, 1, 1, sMapName_ThreeIslePort}, - { 0, 0, 1, 1, sMapName_SeviiIsle6}, - { 0, 0, 1, 1, sMapName_SeviiIsle7}, - { 0, 0, 1, 1, sMapName_SeviiIsle8}, - { 0, 0, 1, 1, sMapName_SeviiIsle9}, - { 0, 0, 1, 1, sMapName_ResortGorgeous}, - { 0, 0, 1, 1, sMapName_WaterLabyrinth}, - { 0, 0, 1, 1, sMapName_FiveIsleMeadow}, - { 0, 0, 1, 1, sMapName_MemorialPillar}, - { 0, 0, 1, 1, sMapName_OutcastIsland}, - { 0, 0, 1, 1, sMapName_GreenPath}, - { 0, 0, 1, 1, sMapName_WaterPath}, - { 0, 0, 1, 1, sMapName_RuinValley}, - { 0, 0, 1, 1, sMapName_TrainerTower}, - { 0, 0, 1, 1, sMapName_CanyonEntrance}, - { 0, 0, 1, 1, sMapName_SevaultCanyon}, - { 0, 0, 1, 1, sMapName_TanobyRuins}, - { 0, 0, 1, 1, sMapName_SeviiIsle22}, - { 0, 0, 1, 1, sMapName_SeviiIsle23}, - { 0, 0, 1, 1, sMapName_SeviiIsle24}, - { 0, 0, 1, 1, sMapName_NavelRock}, - { 0, 0, 1, 1, sMapName_MtEmber}, - { 0, 0, 1, 1, sMapName_BerryForest}, - { 0, 0, 1, 1, sMapName_IcefallCave}, - { 0, 0, 1, 1, sMapName_RocketWarehouse}, - { 0, 0, 1, 1, sMapName_TrainerTower2}, - { 0, 0, 1, 1, sMapName_DottedHole}, - { 0, 0, 1, 1, sMapName_LostCave}, - { 0, 0, 1, 1, sMapName_PatternBush}, - { 0, 0, 1, 1, sMapName_AlteringCave}, - { 0, 0, 1, 1, sMapName_TanobyChambers}, - { 0, 0, 1, 1, sMapName_ThreeIslePath}, - { 0, 0, 1, 1, sMapName_TanobyKey}, - { 0, 0, 1, 1, sMapName_BirthIsland}, - { 0, 0, 1, 1, sMapName_MoneanChamber}, - { 0, 0, 1, 1, sMapName_LiptooChamber}, - { 0, 0, 1, 1, sMapName_WeepthChamber}, - { 0, 0, 1, 1, sMapName_DilfordChamber}, - { 0, 0, 1, 1, sMapName_ScufibChamber}, - { 0, 0, 1, 1, sMapName_RixyChamber}, - { 0, 0, 1, 1, sMapName_ViapoisChamber}, - { 0, 0, 1, 1, sMapName_EmberSpa}, - { 0, 0, 1, 1, sMapName_SpecialArea}, - {19, 3, 1, 1, sMapName_AquaHideout}, - { 6, 3, 1, 1, sMapName_MagmaHideout}, - { 8, 2, 1, 1, sMapName_MirageTower}, - { 0, 0, 1, 1, sMapName_BirthIsland}, - { 0, 0, 1, 1, sMapName_FarawayIsland}, - {22, 12, 1, 1, sMapName_ArtisanCave}, - { 0, 0, 1, 1, sMapName_MarineCave}, - { 0, 0, 1, 1, sMapName_Underwater}, - { 0, 0, 1, 1, sMapName_TerraCave}, - { 0, 10, 1, 3, sMapName_Underwater}, - {24, 3, 2, 2, sMapName_Underwater}, - {24, 10, 2, 1, sMapName_Underwater}, - { 2, 0, 1, 1, sMapName_DesertUnderpass}, - { 6, 8, 1, 1, sMapName_AlteringCave}, - { 0, 0, 1, 1, sMapName_NavelRock}, - { 8, 4, 1, 1, sMapName_TrainerHill} + [MAPSEC_LITTLEROOT_TOWN] = { 4, 11, 1, 1, sMapName_LittlerootTown}, + [MAPSEC_OLDALE_TOWN] = { 4, 9, 1, 1, sMapName_OldaleTown}, + [MAPSEC_DEWFORD_TOWN] = { 2, 14, 1, 1, sMapName_DewfordTown}, + [MAPSEC_LAVARIDGE_TOWN] = { 5, 3, 1, 1, sMapName_LavaridgeTown}, + [MAPSEC_FALLARBOR_TOWN] = { 3, 0, 1, 1, sMapName_FallarborTown}, + [MAPSEC_VERDANTURF_TOWN] = { 4, 6, 1, 1, sMapName_VerdanturfTown}, + [MAPSEC_PACIFIDLOG_TOWN] = {17, 10, 1, 1, sMapName_PacifidlogTown}, + [MAPSEC_PETALBURG_CITY] = { 1, 9, 1, 1, sMapName_PetalburgCity}, + [MAPSEC_SLATEPORT_CITY] = { 8, 10, 1, 2, sMapName_SlateportCity}, + [MAPSEC_MAUVILLE_CITY] = { 8, 6, 2, 1, sMapName_MauvilleCity}, + [MAPSEC_RUSTBORO_CITY] = { 0, 5, 1, 2, sMapName_RustboroCity}, + [MAPSEC_FORTREE_CITY] = {12, 0, 1, 1, sMapName_FortreeCity}, + [MAPSEC_LILYCOVE_CITY] = {18, 3, 2, 1, sMapName_LilycoveCity}, + [MAPSEC_MOSSDEEP_CITY] = {24, 5, 2, 1, sMapName_MossdeepCity}, + [MAPSEC_SOOTOPOLIS_CITY] = {21, 7, 1, 1, sMapName_SootopolisCity}, + [MAPSEC_EVER_GRANDE_CITY] = {27, 8, 1, 2, sMapName_EverGrandeCity}, + [MAPSEC_ROUTE_101] = { 4, 10, 1, 1, sMapName_Route101}, + [MAPSEC_ROUTE_102] = { 2, 9, 2, 1, sMapName_Route102}, + [MAPSEC_ROUTE_103] = { 4, 8, 4, 1, sMapName_Route103}, + [MAPSEC_ROUTE_104] = { 0, 7, 1, 3, sMapName_Route104}, + [MAPSEC_ROUTE_105] = { 0, 10, 1, 3, sMapName_Route105}, + [MAPSEC_ROUTE_106] = { 0, 13, 2, 1, sMapName_Route106}, + [MAPSEC_ROUTE_107] = { 3, 14, 3, 1, sMapName_Route107}, + [MAPSEC_ROUTE_108] = { 6, 14, 2, 1, sMapName_Route108}, + [MAPSEC_ROUTE_109] = { 8, 12, 1, 3, sMapName_Route109}, + [MAPSEC_ROUTE_110] = { 8, 7, 1, 3, sMapName_Route110}, + [MAPSEC_ROUTE_111] = { 8, 0, 1, 6, sMapName_Route111}, + [MAPSEC_ROUTE_112] = { 6, 3, 2, 1, sMapName_Route112}, + [MAPSEC_ROUTE_113] = { 4, 0, 4, 1, sMapName_Route113}, + [MAPSEC_ROUTE_114] = { 1, 0, 2, 3, sMapName_Route114}, + [MAPSEC_ROUTE_115] = { 0, 2, 1, 3, sMapName_Route115}, + [MAPSEC_ROUTE_116] = { 1, 5, 4, 1, sMapName_Route116}, + [MAPSEC_ROUTE_117] = { 5, 6, 3, 1, sMapName_Route117}, + [MAPSEC_ROUTE_118] = {10, 6, 2, 1, sMapName_Route118}, + [MAPSEC_ROUTE_119] = {11, 0, 1, 6, sMapName_Route119}, + [MAPSEC_ROUTE_120] = {13, 0, 1, 4, sMapName_Route120}, + [MAPSEC_ROUTE_121] = {14, 3, 4, 1, sMapName_Route121}, + [MAPSEC_ROUTE_122] = {16, 4, 1, 2, sMapName_Route122}, + [MAPSEC_ROUTE_123] = {12, 6, 5, 1, sMapName_Route123}, + [MAPSEC_ROUTE_124] = {20, 3, 4, 3, sMapName_Route124}, + [MAPSEC_ROUTE_125] = {24, 3, 2, 2, sMapName_Route125}, + [MAPSEC_ROUTE_126] = {20, 6, 3, 3, sMapName_Route126}, + [MAPSEC_ROUTE_127] = {23, 6, 3, 3, sMapName_Route127}, + [MAPSEC_ROUTE_128] = {23, 9, 4, 1, sMapName_Route128}, + [MAPSEC_ROUTE_129] = {24, 10, 2, 1, sMapName_Route129}, + [MAPSEC_ROUTE_130] = {21, 10, 3, 1, sMapName_Route130}, + [MAPSEC_ROUTE_131] = {18, 10, 3, 1, sMapName_Route131}, + [MAPSEC_ROUTE_132] = {15, 10, 2, 1, sMapName_Route132}, + [MAPSEC_ROUTE_133] = {12, 10, 3, 1, sMapName_Route133}, + [MAPSEC_ROUTE_134] = { 9, 10, 3, 1, sMapName_Route134}, + [MAPSEC_UNDERWATER_124] = {20, 3, 4, 3, sMapName_Underwater}, + [MAPSEC_UNDERWATER_125] = {20, 6, 3, 3, sMapName_Underwater}, + [MAPSEC_UNDERWATER_126] = {23, 6, 3, 3, sMapName_Underwater}, + [MAPSEC_UNDERWATER_127] = {23, 9, 4, 1, sMapName_Underwater}, + [MAPSEC_UNDERWATER_SOOTOPOLIS] = {21, 7, 1, 1, sMapName_Underwater}, + [MAPSEC_GRANITE_CAVE] = { 1, 13, 1, 1, sMapName_GraniteCave}, + [MAPSEC_MT_CHIMNEY] = { 6, 2, 1, 1, sMapName_MtChimney}, + [MAPSEC_SAFARI_ZONE] = {16, 2, 1, 1, sMapName_SafariZone}, + [MAPSEC_BATTLE_FRONTIER] = {22, 12, 1, 1, sMapName_BattleFrontier}, + [MAPSEC_PETALBURG_WOODS] = { 0, 8, 1, 1, sMapName_PetalburgWoods}, + [MAPSEC_RUSTURF_TUNNEL] = { 2, 5, 1, 1, sMapName_RusturfTunnel}, + [MAPSEC_ABANDONED_SHIP] = { 6, 14, 1, 1, sMapName_AbandonedShip}, + [MAPSEC_NEW_MAUVILLE] = { 8, 7, 1, 1, sMapName_NewMauville}, + [MAPSEC_METEOR_FALLS] = { 0, 3, 1, 1, sMapName_MeteorFalls}, + [MAPSEC_METEOR_FALLS2] = { 1, 2, 1, 1, sMapName_MeteorFalls}, + [MAPSEC_MT_PYRE] = {16, 4, 1, 1, sMapName_MtPyre}, + [MAPSEC_AQUA_HIDEOUT_OLD] = {19, 3, 1, 1, sMapName_AquaHideoutOld}, + [MAPSEC_SHOAL_CAVE] = {24, 4, 1, 1, sMapName_ShoalCave}, + [MAPSEC_SEAFLOOR_CAVERN] = {24, 9, 1, 1, sMapName_SeafloorCavern}, + [MAPSEC_UNDERWATER_128] = {24, 9, 1, 1, sMapName_Underwater}, + [MAPSEC_VICTORY_ROAD] = {27, 9, 1, 1, sMapName_VictoryRoad}, + [MAPSEC_MIRAGE_ISLAND] = {17, 10, 1, 1, sMapName_MirageIsland}, + [MAPSEC_CAVE_OF_ORIGIN] = {21, 7, 1, 1, sMapName_CaveOfOrigin}, + [MAPSEC_SOUTHERN_ISLAND] = {12, 14, 1, 1, sMapName_SouthernIsland}, + [MAPSEC_FIERY_PATH] = { 6, 3, 1, 1, sMapName_FieryPath}, + [MAPSEC_FIERY_PATH2] = { 7, 3, 1, 1, sMapName_FieryPath}, + [MAPSEC_JAGGED_PASS] = { 6, 3, 1, 1, sMapName_JaggedPass}, + [MAPSEC_JAGGED_PASS2] = { 7, 2, 1, 1, sMapName_JaggedPass}, + [MAPSEC_SEALED_CHAMBER] = {11, 10, 1, 1, sMapName_SealedChamber}, + [MAPSEC_UNDERWATER_SEALED_CHAMBER] = {11, 10, 1, 1, sMapName_Underwater}, + [MAPSEC_SCORCHED_SLAB] = {13, 0, 1, 1, sMapName_ScorchedSlab}, + [MAPSEC_ISLAND_CAVE] = { 0, 10, 1, 1, sMapName_IslandCave}, + [MAPSEC_DESERT_RUINS] = { 8, 3, 1, 1, sMapName_DesertRuins}, + [MAPSEC_ANCIENT_TOMB] = {13, 2, 1, 1, sMapName_AncientTomb}, + [MAPSEC_INSIDE_OF_TRUCK] = { 0, 0, 1, 1, sMapName_InsideOfTruck}, + [MAPSEC_SKY_PILLAR] = {19, 10, 1, 1, sMapName_SkyPillar}, + [MAPSEC_SECRET_BASE] = { 0, 0, 1, 1, sMapName_SecretBase}, + [MAPSEC_DYNAMIC] = { 0, 0, 1, 1, sMapName_None}, + [MAPSEC_PALLET_TOWN] = { 0, 0, 1, 1, sMapName_PalletTown}, + [MAPSEC_VIRIDIAN_CITY] = { 0, 0, 1, 1, sMapName_ViridianCity}, + [MAPSEC_PEWTER_CITY] = { 0, 0, 1, 1, sMapName_PewterCity}, + [MAPSEC_CERULEAN_CITY] = { 0, 0, 1, 1, sMapName_CeruleanCity}, + [MAPSEC_LAVENDER_TOWN] = { 0, 0, 1, 1, sMapName_LavenderTown}, + [MAPSEC_VERMILION_CITY] = { 0, 0, 1, 1, sMapName_VermilionCity}, + [MAPSEC_CELADON_CITY] = { 0, 0, 1, 1, sMapName_CeladonCity}, + [MAPSEC_FUCHSIA_CITY] = { 0, 0, 1, 1, sMapName_FuchsiaCity}, + [MAPSEC_CINNABAR_ISLAND] = { 0, 0, 1, 1, sMapName_CinnabarIsland}, + [MAPSEC_INDIGO_PLATEAU] = { 0, 0, 1, 1, sMapName_IndigoPlateau}, + [MAPSEC_SAFFRON_CITY] = { 0, 0, 1, 1, sMapName_SaffronCity}, + [MAPSEC_ROUTE_4_FLYDUP] = { 0, 0, 1, 1, sMapName_Route4}, + [MAPSEC_ROUTE_10_FLYDUP] = { 0, 0, 1, 1, sMapName_Route10}, + [MAPSEC_ROUTE_1] = { 0, 0, 1, 1, sMapName_Route1}, + [MAPSEC_ROUTE_2] = { 0, 0, 1, 1, sMapName_Route2}, + [MAPSEC_ROUTE_3] = { 0, 0, 1, 1, sMapName_Route3}, + [MAPSEC_ROUTE_4] = { 0, 0, 1, 1, sMapName_Route4_2}, + [MAPSEC_ROUTE_5] = { 0, 0, 1, 1, sMapName_Route5}, + [MAPSEC_ROUTE_6] = { 0, 0, 1, 1, sMapName_Route6}, + [MAPSEC_ROUTE_7] = { 0, 0, 1, 1, sMapName_Route7}, + [MAPSEC_ROUTE_8] = { 0, 0, 1, 1, sMapName_Route8}, + [MAPSEC_ROUTE_9] = { 0, 0, 1, 1, sMapName_Route9}, + [MAPSEC_ROUTE_10] = { 0, 0, 1, 1, sMapName_Route10_2}, + [MAPSEC_ROUTE_11] = { 0, 0, 1, 1, sMapName_Route11}, + [MAPSEC_ROUTE_12] = { 0, 0, 1, 1, sMapName_Route12}, + [MAPSEC_ROUTE_13] = { 0, 0, 1, 1, sMapName_Route13}, + [MAPSEC_ROUTE_14] = { 0, 0, 1, 1, sMapName_Route14}, + [MAPSEC_ROUTE_15] = { 0, 0, 1, 1, sMapName_Route15}, + [MAPSEC_ROUTE_16] = { 0, 0, 1, 1, sMapName_Route16}, + [MAPSEC_ROUTE_17] = { 0, 0, 1, 1, sMapName_Route17}, + [MAPSEC_ROUTE_18] = { 0, 0, 1, 1, sMapName_Route18}, + [MAPSEC_ROUTE_19] = { 0, 0, 1, 1, sMapName_Route19}, + [MAPSEC_ROUTE_20] = { 0, 0, 1, 1, sMapName_Route20}, + [MAPSEC_ROUTE_21] = { 0, 0, 1, 1, sMapName_Route21}, + [MAPSEC_ROUTE_22] = { 0, 0, 1, 1, sMapName_Route22}, + [MAPSEC_ROUTE_23] = { 0, 0, 1, 1, sMapName_Route23}, + [MAPSEC_ROUTE_24] = { 0, 0, 1, 1, sMapName_Route24}, + [MAPSEC_ROUTE_25] = { 0, 0, 1, 1, sMapName_Route25}, + [MAPSEC_VIRIDIAN_FOREST] = { 0, 0, 1, 1, sMapName_ViridianForest}, + [MAPSEC_MT_MOON] = { 0, 0, 1, 1, sMapName_MtMoon}, + [MAPSEC_S_S_ANNE] = { 0, 0, 1, 1, sMapName_SSAnne}, + [MAPSEC_UNDERGROUND_PATH] = { 0, 0, 1, 1, sMapName_UndergroundPath}, + [MAPSEC_UNDERGROUND_PATH_2] = { 0, 0, 1, 1, sMapName_UndergroundPath2}, + [MAPSEC_DIGLETTS_CAVE] = { 0, 0, 1, 1, sMapName_DiglettsCave}, + [MAPSEC_KANTO_VICTORY_ROAD] = { 0, 0, 1, 1, sMapName_KantoVictoryRoad}, + [MAPSEC_ROCKET_HIDEOUT] = { 0, 0, 1, 1, sMapName_RocketHideout}, + [MAPSEC_SILPH_CO] = { 0, 0, 1, 1, sMapName_SilphCo}, + [MAPSEC_POKEMON_MANSION] = { 0, 0, 1, 1, sMapName_PokemonMansion}, + [MAPSEC_KANTO_SAFARI_ZONE] = { 0, 0, 1, 1, sMapName_KantoSafariZone}, + [MAPSEC_POKEMON_LEAGUE] = { 0, 0, 1, 1, sMapName_PokemonLeague}, + [MAPSEC_ROCK_TUNNEL] = { 0, 0, 1, 1, sMapName_RockTunnel}, + [MAPSEC_SEAFOAM_ISLANDS] = { 0, 0, 1, 1, sMapName_SeafoamIslands}, + [MAPSEC_POKEMON_TOWER] = { 0, 0, 1, 1, sMapName_PokemonTower}, + [MAPSEC_CERULEAN_CAVE] = { 0, 0, 1, 1, sMapName_CeruleanCave}, + [MAPSEC_POWER_PLANT] = { 0, 0, 1, 1, sMapName_PowerPlant}, + [MAPSEC_ONE_ISLAND] = { 0, 0, 1, 1, sMapName_OneIsland}, + [MAPSEC_TWO_ISLAND] = { 0, 0, 1, 1, sMapName_TwoIsland}, + [MAPSEC_THREE_ISLAND] = { 0, 0, 1, 1, sMapName_ThreeIsland}, + [MAPSEC_FOUR_ISLAND] = { 0, 0, 1, 1, sMapName_FourIsland}, + [MAPSEC_FIVE_ISLAND] = { 0, 0, 1, 1, sMapName_FiveIsland}, + [MAPSEC_SEVEN_ISLAND] = { 0, 0, 1, 1, sMapName_SevenIsland}, + [MAPSEC_SIX_ISLAND] = { 0, 0, 1, 1, sMapName_SixIsland}, + [MAPSEC_KINDLE_ROAD] = { 0, 0, 1, 1, sMapName_KindleRoad}, + [MAPSEC_TREASURE_BEACH] = { 0, 0, 1, 1, sMapName_TreasureBeach}, + [MAPSEC_CAPE_BRINK] = { 0, 0, 1, 1, sMapName_CapeBrink}, + [MAPSEC_BOND_BRIDGE] = { 0, 0, 1, 1, sMapName_BondBridge}, + [MAPSEC_THREE_ISLE_PORT] = { 0, 0, 1, 1, sMapName_ThreeIslePort}, + [MAPSEC_SEVII_ISLE_6] = { 0, 0, 1, 1, sMapName_SeviiIsle6}, + [MAPSEC_SEVII_ISLE_7] = { 0, 0, 1, 1, sMapName_SeviiIsle7}, + [MAPSEC_SEVII_ISLE_8] = { 0, 0, 1, 1, sMapName_SeviiIsle8}, + [MAPSEC_SEVII_ISLE_9] = { 0, 0, 1, 1, sMapName_SeviiIsle9}, + [MAPSEC_RESORT_GORGEOUS] = { 0, 0, 1, 1, sMapName_ResortGorgeous}, + [MAPSEC_WATER_LABYRINTH] = { 0, 0, 1, 1, sMapName_WaterLabyrinth}, + [MAPSEC_FIVE_ISLE_MEADOW] = { 0, 0, 1, 1, sMapName_FiveIsleMeadow}, + [MAPSEC_MEMORIAL_PILLAR] = { 0, 0, 1, 1, sMapName_MemorialPillar}, + [MAPSEC_OUTCAST_ISLAND] = { 0, 0, 1, 1, sMapName_OutcastIsland}, + [MAPSEC_GREEN_PATH] = { 0, 0, 1, 1, sMapName_GreenPath}, + [MAPSEC_WATER_PATH] = { 0, 0, 1, 1, sMapName_WaterPath}, + [MAPSEC_RUIN_VALLEY] = { 0, 0, 1, 1, sMapName_RuinValley}, + [MAPSEC_TRAINER_TOWER] = { 0, 0, 1, 1, sMapName_TrainerTower}, + [MAPSEC_CANYON_ENTRANCE] = { 0, 0, 1, 1, sMapName_CanyonEntrance}, + [MAPSEC_SEVAULT_CANYON] = { 0, 0, 1, 1, sMapName_SevaultCanyon}, + [MAPSEC_TANOBY_RUINS] = { 0, 0, 1, 1, sMapName_TanobyRuins}, + [MAPSEC_SEVII_ISLE_22] = { 0, 0, 1, 1, sMapName_SeviiIsle22}, + [MAPSEC_SEVII_ISLE_23] = { 0, 0, 1, 1, sMapName_SeviiIsle23}, + [MAPSEC_SEVII_ISLE_24] = { 0, 0, 1, 1, sMapName_SeviiIsle24}, + [MAPSEC_NAVEL_ROCK] = { 0, 0, 1, 1, sMapName_NavelRock}, + [MAPSEC_MT_EMBER] = { 0, 0, 1, 1, sMapName_MtEmber}, + [MAPSEC_BERRY_FOREST] = { 0, 0, 1, 1, sMapName_BerryForest}, + [MAPSEC_ICEFALL_CAVE] = { 0, 0, 1, 1, sMapName_IcefallCave}, + [MAPSEC_ROCKET_WAREHOUSE] = { 0, 0, 1, 1, sMapName_RocketWarehouse}, + [MAPSEC_TRAINER_TOWER_2] = { 0, 0, 1, 1, sMapName_TrainerTower2}, + [MAPSEC_DOTTED_HOLE] = { 0, 0, 1, 1, sMapName_DottedHole}, + [MAPSEC_LOST_CAVE] = { 0, 0, 1, 1, sMapName_LostCave}, + [MAPSEC_PATTERN_BUSH] = { 0, 0, 1, 1, sMapName_PatternBush}, + [MAPSEC_ALTERING_CAVE] = { 0, 0, 1, 1, sMapName_AlteringCave}, + [MAPSEC_TANOBY_CHAMBERS] = { 0, 0, 1, 1, sMapName_TanobyChambers}, + [MAPSEC_THREE_ISLE_PATH] = { 0, 0, 1, 1, sMapName_ThreeIslePath}, + [MAPSEC_TANOBY_KEY] = { 0, 0, 1, 1, sMapName_TanobyKey}, + [MAPSEC_BIRTH_ISLAND] = { 0, 0, 1, 1, sMapName_BirthIsland}, + [MAPSEC_MONEAN_CHAMBER] = { 0, 0, 1, 1, sMapName_MoneanChamber}, + [MAPSEC_LIPTOO_CHAMBER] = { 0, 0, 1, 1, sMapName_LiptooChamber}, + [MAPSEC_WEEPTH_CHAMBER] = { 0, 0, 1, 1, sMapName_WeepthChamber}, + [MAPSEC_DILFORD_CHAMBER] = { 0, 0, 1, 1, sMapName_DilfordChamber}, + [MAPSEC_SCUFIB_CHAMBER] = { 0, 0, 1, 1, sMapName_ScufibChamber}, + [MAPSEC_RIXY_CHAMBER] = { 0, 0, 1, 1, sMapName_RixyChamber}, + [MAPSEC_VIAPOIS_CHAMBER] = { 0, 0, 1, 1, sMapName_ViapoisChamber}, + [MAPSEC_EMBER_SPA] = { 0, 0, 1, 1, sMapName_EmberSpa}, + [MAPSEC_SPECIAL_AREA] = { 0, 0, 1, 1, sMapName_SpecialArea}, + [MAPSEC_AQUA_HIDEOUT] = {19, 3, 1, 1, sMapName_AquaHideout}, + [MAPSEC_MAGMA_HIDEOUT] = { 6, 3, 1, 1, sMapName_MagmaHideout}, + [MAPSEC_MIRAGE_TOWER] = { 8, 2, 1, 1, sMapName_MirageTower}, + [MAPSEC_BIRTH_ISLAND_2] = { 0, 0, 1, 1, sMapName_BirthIsland}, + [MAPSEC_FARAWAY_ISLAND] = { 0, 0, 1, 1, sMapName_FarawayIsland}, + [MAPSEC_ARTISAN_CAVE] = {22, 12, 1, 1, sMapName_ArtisanCave}, + [MAPSEC_MARINE_CAVE] = { 0, 0, 1, 1, sMapName_MarineCave}, + [MAPSEC_UNDERWATER_MARINE_CAVE] = { 0, 0, 1, 1, sMapName_Underwater}, + [MAPSEC_TERRA_CAVE] = { 0, 0, 1, 1, sMapName_TerraCave}, + [MAPSEC_UNDERWATER_TERRA_CAVE] = { 0, 10, 1, 3, sMapName_Underwater}, + [MAPSEC_UNDERWATER_UNK1] = {24, 3, 2, 2, sMapName_Underwater}, + [MAPSEC_UNDERWATER_129] = {24, 10, 2, 1, sMapName_Underwater}, + [MAPSEC_DESERT_UNDERPASS] = { 2, 0, 1, 1, sMapName_DesertUnderpass}, + [MAPSEC_ALTERING_CAVE_2] = { 6, 8, 1, 1, sMapName_AlteringCave}, + [MAPSEC_NAVEL_ROCK2] = { 0, 0, 1, 1, sMapName_NavelRock}, + [MAPSEC_TRAINER_HILL] = { 8, 4, 1, 1, sMapName_TrainerHill} }; #endif //GUARD_DATA_REGION_MAP_REGION_MAP_ENTRIES_H diff --git a/src/data/trainer_graphics/back_pic_tables.h b/src/data/trainer_graphics/back_pic_tables.h index 8d4e276940..920ecbb394 100644 --- a/src/data/trainer_graphics/back_pic_tables.h +++ b/src/data/trainer_graphics/back_pic_tables.h @@ -1,13 +1,13 @@ const struct MonCoords gTrainerBackPicCoords[] = { - {8, 4}, - {8, 4}, - {8, 5}, - {8, 5}, - {8, 4}, - {8, 4}, - {8, 4}, - {8, 4}, + {.size = 8, .y_offset = 4}, + {.size = 8, .y_offset = 4}, + {.size = 8, .y_offset = 5}, + {.size = 8, .y_offset = 5}, + {.size = 8, .y_offset = 4}, + {.size = 8, .y_offset = 4}, + {.size = 8, .y_offset = 4}, + {.size = 8, .y_offset = 4}, }; // this table goes functionally unused, since none of these pics are compressed diff --git a/src/data/trainer_graphics/front_pic_tables.h b/src/data/trainer_graphics/front_pic_tables.h index d8f8c24924..fc637fc6e8 100644 --- a/src/data/trainer_graphics/front_pic_tables.h +++ b/src/data/trainer_graphics/front_pic_tables.h @@ -1,98 +1,98 @@ const struct MonCoords gTrainerFrontPicCoords[] = { - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 2}, - {8, 2}, - {8, 1}, - {8, 1}, - {8, 2}, - {8, 1}, - {8, 2}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 2}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 2}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, - {8, 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 2}, + {.size = 8, .y_offset = 2}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 2}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 2}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 2}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 2}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, + {.size = 8, .y_offset = 1}, }; const struct CompressedSpriteSheet gTrainerFrontPicTable[] = diff --git a/src/decompress.c b/src/decompress.c index ed2f7a0bb9..949b969901 100644 --- a/src/decompress.c +++ b/src/decompress.c @@ -66,7 +66,7 @@ void LoadCompressedSpritePaletteOverrideBuffer(const struct CompressedSpritePale void DecompressPicFromTable(const struct CompressedSpriteSheet *src, void* buffer, s32 species) { - if (species > SPECIES_EGG) + if (species > NUM_SPECIES) LZ77UnCompWram(gMonFrontPicTable[0].data, buffer); else LZ77UnCompWram(src->data, buffer); @@ -102,7 +102,7 @@ void LoadSpecialPokePic(const struct CompressedSpriteSheet *src, void *dest, s32 else LZ77UnCompWram(gMonFrontPicTable[i].data, dest); } - else if (species > SPECIES_EGG) // is species unknown? draw the ? icon + else if (species > NUM_SPECIES) // is species unknown? draw the ? icon LZ77UnCompWram(gMonFrontPicTable[0].data, dest); else LZ77UnCompWram(src->data, dest); @@ -499,7 +499,7 @@ bool8 LoadCompressedSpritePaletteUsingHeap(const struct CompressedSpritePalette void DecompressPicFromTable_2(const struct CompressedSpriteSheet *src, void* buffer, s32 species) // a copy of DecompressPicFromTable { - if (species > SPECIES_EGG) + if (species > NUM_SPECIES) LZ77UnCompWram(gMonFrontPicTable[0].data, buffer); else LZ77UnCompWram(src->data, buffer); @@ -523,7 +523,7 @@ void LoadSpecialPokePic_2(const struct CompressedSpriteSheet *src, void *dest, s else LZ77UnCompWram(gMonFrontPicTable[i].data, dest); } - else if (species > SPECIES_EGG) // is species unknown? draw the ? icon + else if (species > NUM_SPECIES) // is species unknown? draw the ? icon LZ77UnCompWram(gMonFrontPicTable[0].data, dest); else LZ77UnCompWram(src->data, dest); @@ -546,7 +546,7 @@ void HandleLoadSpecialPokePic_2(const struct CompressedSpriteSheet *src, void *d void DecompressPicFromTable_DontHandleDeoxys(const struct CompressedSpriteSheet *src, void* buffer, s32 species) { - if (species > SPECIES_EGG) + if (species > NUM_SPECIES) LZ77UnCompWram(gMonFrontPicTable[0].data, buffer); else LZ77UnCompWram(src->data, buffer); @@ -581,7 +581,7 @@ void LoadSpecialPokePic_DontHandleDeoxys(const struct CompressedSpriteSheet *src else LZ77UnCompWram(gMonFrontPicTable[i].data, dest); } - else if (species > SPECIES_EGG) // is species unknown? draw the ? icon + else if (species > NUM_SPECIES) // is species unknown? draw the ? icon LZ77UnCompWram(gMonFrontPicTable[0].data, dest); else LZ77UnCompWram(src->data, dest); diff --git a/src/decoration.c b/src/decoration.c index 438f2cbd1a..c4c3d61713 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -1629,7 +1629,7 @@ void sub_8128950(u8 taskId) void sub_81289D0(u8 taskId) { DisplayYesNoMenu(); - sub_8121F68(taskId, &gUnknown_085A72C4); + DoYesNoFuncWithChoice(taskId, &gUnknown_085A72C4); } void sub_81289F0(u8 taskId) @@ -1694,7 +1694,7 @@ void sub_8128AAC(u8 taskId) void sub_8128B80(u8 taskId) { DisplayYesNoMenu(); - sub_8121F68(taskId, &gUnknown_085A72CC); + DoYesNoFuncWithChoice(taskId, &gUnknown_085A72CC); } void sub_8128BA0(u8 taskId) @@ -2589,7 +2589,7 @@ void sub_812A0E8(u8 taskId) void sub_812A1A0(u8 taskId) { DisplayYesNoMenu(); - sub_8121F68(taskId, &gUnknown_085A7348); + DoYesNoFuncWithChoice(taskId, &gUnknown_085A7348); } void sub_812A1C0(u8 taskId) @@ -2602,7 +2602,7 @@ void sub_812A1C0(u8 taskId) void sub_812A1F0(u8 taskId) { DisplayYesNoMenu(); - sub_8121F68(taskId, &gUnknown_085A7350); + DoYesNoFuncWithChoice(taskId, &gUnknown_085A7350); } void sub_812A210(u8 taskId) @@ -2726,7 +2726,7 @@ void sub_812A3D4(u8 taskId) void sub_812A458(u8 taskId) { DisplayYesNoMenu(); - sub_8121F68(taskId, &gUnknown_085A741C); + DoYesNoFuncWithChoice(taskId, &gUnknown_085A741C); } void sub_812A478(u8 taskId) diff --git a/src/dragon.c b/src/dragon.c index 68577988ed..4a2ac1c515 100644 --- a/src/dragon.c +++ b/src/dragon.c @@ -274,8 +274,8 @@ void sub_8113250(struct Sprite *sprite) sprite->data[4] = 0; sprite->data[5] = 1; sprite->data[6] = gBattleAnimArgs[0]; - r5 = sub_80A861C(gBattlerAttacker, 0); - r0 = sub_80A861C(gBattlerAttacker, 1); + r5 = GetBattlerSpriteCoordAttr(gBattlerAttacker, BATTLER_COORD_ATTR_HEIGHT); + r0 = GetBattlerSpriteCoordAttr(gBattlerAttacker, BATTLER_COORD_ATTR_WIDTH); if (r5 > r0) sprite->data[7] = r5 / 2; else diff --git a/src/egg_hatch.c b/src/egg_hatch.c index c2e57f8b51..e1d94889a8 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -23,6 +23,7 @@ #include "bg.h" #include "m4a.h" #include "window.h" +#include "graphics.h" #include "constants/abilities.h" #include "daycare.h" #include "overworld.h" @@ -52,11 +53,6 @@ struct EggHatchData }; extern const struct CompressedSpriteSheet gMonFrontPicTable[]; -extern const u8 gBattleTextboxTiles[]; -extern const u8 gBattleTextboxTilemap[]; -extern const u8 gBattleTextboxPalette[]; -extern const u16 gTradeGba2_Pal[]; // palette, gameboy advance -extern const u32 gTradeGba_Gfx[]; // tileset gameboy advance extern const u32 gUnknown_08331F60[]; // tilemap gameboy circle extern const u8 gText_HatchedFromEgg[]; extern const u8 gText_NickHatchPrompt[]; diff --git a/src/event_data.c b/src/event_data.c index f6a1cde780..df289c538d 100644 --- a/src/event_data.c +++ b/src/event_data.c @@ -45,7 +45,7 @@ void ClearTempFieldEventData(void) FlagClear(FLAG_SYS_ENC_DOWN_ITEM); FlagClear(FLAG_SYS_USE_STRENGTH); FlagClear(FLAG_SYS_CTRL_OBJ_DELETE); - FlagClear(FLAG_0x880); + FlagClear(FLAG_NURSE_UNION_ROOM_REMINDER); } // Probably had different flag splits at one point. @@ -114,21 +114,21 @@ bool32 IsMysteryGiftEnabled(void) void sub_809D4D8(void) { FlagClear(FLAG_MYSTERY_EVENT_DONE); - FlagClear(FLAG_0x1E5); - FlagClear(FLAG_0x1E6); - FlagClear(FLAG_0x1E7); - FlagClear(FLAG_0x1E8); - FlagClear(FLAG_0x1E9); - FlagClear(FLAG_0x1EA); - FlagClear(FLAG_0x1EB); - FlagClear(FLAG_0x1EC); - FlagClear(FLAG_0x1ED); - FlagClear(FLAG_0x1EE); - FlagClear(FLAG_0x1EF); - FlagClear(FLAG_0x1F0); - FlagClear(FLAG_0x1F1); - FlagClear(FLAG_0x1F2); - FlagClear(FLAG_0x1F3); + FlagClear(FLAG_MYSTERY_EVENT_1); + FlagClear(FLAG_MYSTERY_EVENT_2); + FlagClear(FLAG_MYSTERY_EVENT_3); + FlagClear(FLAG_MYSTERY_EVENT_4); + FlagClear(FLAG_MYSTERY_EVENT_5); + FlagClear(FLAG_MYSTERY_EVENT_6); + FlagClear(FLAG_MYSTERY_EVENT_7); + FlagClear(FLAG_MYSTERY_EVENT_8); + FlagClear(FLAG_MYSTERY_EVENT_9); + FlagClear(FLAG_MYSTERY_EVENT_10); + FlagClear(FLAG_MYSTERY_EVENT_11); + FlagClear(FLAG_MYSTERY_EVENT_12); + FlagClear(FLAG_MYSTERY_EVENT_13); + FlagClear(FLAG_MYSTERY_EVENT_14); + FlagClear(FLAG_MYSTERY_EVENT_15); } void sub_809D570(void) diff --git a/src/event_obj_lock.c b/src/event_obj_lock.c index 8c324ea82c..566b4931df 100644 --- a/src/event_obj_lock.c +++ b/src/event_obj_lock.c @@ -6,6 +6,7 @@ #include "script_movement.h" #include "task.h" #include "trainer_see.h" +#include "constants/event_objects.h" bool8 walkrun_is_standing_still(void) { @@ -89,20 +90,20 @@ void LockSelectedEventObject(void) void ScriptUnfreezeEventObjects(void) { - u8 objectId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); - EventObjectClearHeldMovementIfFinished(&gEventObjects[objectId]); + u8 playerObjectId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); + EventObjectClearHeldMovementIfFinished(&gEventObjects[playerObjectId]); sub_80D338C(); UnfreezeEventObjects(); } void sub_8098524(void) { - u8 objectId; + u8 playerObjectId; if (gEventObjects[gSelectedEventObject].active) EventObjectClearHeldMovementIfFinished(&gEventObjects[gSelectedEventObject]); - objectId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); - EventObjectClearHeldMovementIfFinished(&gEventObjects[objectId]); + playerObjectId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); + EventObjectClearHeldMovementIfFinished(&gEventObjects[playerObjectId]); sub_80D338C(); UnfreezeEventObjects(); } diff --git a/src/event_object_movement.c b/src/event_object_movement.c index ffa8f53c92..7cee717bf4 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -6420,7 +6420,7 @@ bool8 MovementAction_FacePlayer_Step0(struct EventObject *eventObject, struct Sp { u8 playerObjectId; - if (!TryGetEventObjectIdByLocalIdAndMap(0xFF, 0, 0, &playerObjectId)) + if (!TryGetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0, &playerObjectId)) { FaceDirection(eventObject, sprite, GetDirectionToFace(eventObject->currentCoords.x, eventObject->currentCoords.y, gEventObjects[playerObjectId].currentCoords.x, gEventObjects[playerObjectId].currentCoords.y)); } @@ -6432,7 +6432,7 @@ bool8 MovementAction_FaceAwayPlayer_Step0(struct EventObject *eventObject, struc { u8 playerObjectId; - if (!TryGetEventObjectIdByLocalIdAndMap(0xFF, 0, 0, &playerObjectId)) + if (!TryGetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0, &playerObjectId)) { FaceDirection(eventObject, sprite, GetOppositeDirection(GetDirectionToFace(eventObject->currentCoords.x, eventObject->currentCoords.y, gEventObjects[playerObjectId].currentCoords.x, gEventObjects[playerObjectId].currentCoords.y))); } diff --git a/src/evolution_scene.c b/src/evolution_scene.c index 2c1df814b4..c97e2d10fc 100644 --- a/src/evolution_scene.c +++ b/src/evolution_scene.c @@ -1,33 +1,34 @@ #include "global.h" +#include "alloc.h" +#include "battle.h" +#include "battle_message.h" +#include "bg.h" +#include "data2.h" +#include "decompress.h" #include "evolution_scene.h" #include "evolution_graphics.h" -#include "sprite.h" -#include "alloc.h" -#include "task.h" -#include "palette.h" +#include "gpu_regs.h" +#include "link.h" +#include "m4a.h" #include "main.h" +#include "menu.h" +#include "overworld.h" +#include "palette.h" +#include "pokedex.h" +#include "pokemon.h" +#include "scanline_effect.h" +#include "sound.h" +#include "sprite.h" +#include "string_util.h" +#include "task.h" #include "text.h" #include "text_window.h" -#include "pokemon.h" -#include "string_util.h" -#include "battle.h" -#include "scanline_effect.h" -#include "decompress.h" -#include "m4a.h" -#include "menu.h" -#include "pokedex.h" -#include "constants/species.h" -#include "sound.h" -#include "constants/songs.h" -#include "overworld.h" -#include "battle_message.h" -#include "constants/battle_string_ids.h" -#include "gpu_regs.h" -#include "bg.h" -#include "link.h" -#include "util.h" #include "trig.h" -#include "data2.h" +#include "trade.h" +#include "util.h" +#include "constants/battle_string_ids.h" +#include "constants/species.h" +#include "constants/songs.h" struct EvoInfo { @@ -50,12 +51,8 @@ extern const struct CompressedSpriteSheet gMonFrontPicTable[]; // strings extern const u8 gText_CommunicationStandby5[]; -extern void sub_807B154(void); -extern void sub_807F19C(void); -extern void sub_807B140(void); extern void ShowSelectMovePokemonSummaryScreen(struct Pokemon *party, u8 monId, u8 partyCount, void *CB2_ptr, u16 move); extern u8 sub_81C1B94(void); -extern void sub_807F1A8(u8 arg0, const u8 *arg1, u8 arg2); extern void sub_800E084(void); // this file's functions diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index bac0417dca..4f6f5acdfb 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -27,11 +27,12 @@ #include "trainer_see.h" #include "wild_encounter.h" #include "constants/bg_event_constants.h" +#include "constants/event_objects.h" #include "constants/map_types.h" #include "constants/maps.h" #include "constants/songs.h" -extern bool32 sub_8196034(void); +extern bool32 TryStartMatchCall(void); static EWRAM_DATA u8 sWildEncounterImmunitySteps = 0; static EWRAM_DATA u16 sPreviousPlayerMetatileBehavior = 0; @@ -51,12 +52,12 @@ static bool32 TrySetupDiveDownScript(void); static bool32 TrySetupDiveEmergeScript(void); static bool8 TryStartStepBasedScript(struct MapPosition *, u16, u16); static bool8 CheckStandardWildEncounter(u16); -static bool8 mapheader_run_first_tag2_script_list_match_conditionally(struct MapPosition *, u16, u8); +static bool8 TryArrowWarp(struct MapPosition *, u16, u8); static bool8 IsWarpMetatileBehavior(u16); static bool8 IsArrowWarpMetatileBehavior(u16, u8); static s8 GetWarpEventAtMapPosition(struct MapHeader *, struct MapPosition *); -static void sub_809CEB0(struct MapHeader *, s8, struct MapPosition *); -static bool8 map_warp_consider_2_to_inside(struct MapPosition *, u16, u8); +static void SetupWarp(struct MapHeader *, s8, struct MapPosition *); +static bool8 TryDoorWarp(struct MapPosition *, u16, u8); static s8 GetWarpEventAtPosition(struct MapHeader *, u16, u16, u8); static u8 *GetCoordEventScriptAtPosition(struct MapHeader *, u16, u16, u8); static struct BgEvent *GetBackgroundEventAtPosition(struct MapHeader *, u16, u16, u8); @@ -73,8 +74,8 @@ void FieldClearPlayerInput(struct FieldInput *input) input->checkStandardWildEncounter = FALSE; input->pressedStartButton = FALSE; input->pressedSelectButton = FALSE; - input->input_field_0_4 = FALSE; - input->input_field_0_5 = FALSE; + input->heldDirection = FALSE; + input->heldDirection2 = FALSE; input->tookStep = FALSE; input->pressedBButton = FALSE; input->input_field_1_0 = FALSE; @@ -106,8 +107,8 @@ void FieldGetPlayerInput(struct FieldInput *input, u16 newKeys, u16 heldKeys) if (heldKeys & (DPAD_UP | DPAD_DOWN | DPAD_LEFT | DPAD_RIGHT)) { - input->input_field_0_4 = TRUE; - input->input_field_0_5 = TRUE; + input->heldDirection = TRUE; + input->heldDirection2 = TRUE; } } @@ -153,15 +154,15 @@ int ProcessPlayerFieldInput(struct FieldInput *input) if (input->tookStep) { IncrementGameStat(GAME_STAT_STEPS); - increment_var_x4026_on_birth_island_modulo_100(); + IncrementBirthIslandRockStepCount(); if (TryStartStepBasedScript(&position, metatileBehavior, playerDirection) == TRUE) return TRUE; } if (input->checkStandardWildEncounter && CheckStandardWildEncounter(metatileBehavior) == TRUE) return TRUE; - if (input->input_field_0_4 && input->dpadDirection == playerDirection) + if (input->heldDirection && input->dpadDirection == playerDirection) { - if (mapheader_run_first_tag2_script_list_match_conditionally(&position, metatileBehavior, playerDirection) == TRUE) + if (TryArrowWarp(&position, metatileBehavior, playerDirection) == TRUE) return TRUE; } @@ -170,9 +171,9 @@ int ProcessPlayerFieldInput(struct FieldInput *input) if (input->pressedAButton && TryStartInteractionScript(&position, metatileBehavior, playerDirection) == TRUE) return TRUE; - if (input->input_field_0_5 && input->dpadDirection == playerDirection) + if (input->heldDirection2 && input->dpadDirection == playerDirection) { - if (map_warp_consider_2_to_inside(&position, metatileBehavior, playerDirection) == TRUE) + if (TryDoorWarp(&position, metatileBehavior, playerDirection) == TRUE) return TRUE; } if (input->pressedAButton && TrySetupDiveDownScript() == TRUE) @@ -266,7 +267,7 @@ const u8 *GetInteractedLinkPlayerScript(struct MapPosition *position, u8 metatil else eventObjectId = GetEventObjectIdByXYZ(position->x + gDirectionToVectors[direction].x, position->y + gDirectionToVectors[direction].y, position->height); - if (eventObjectId == 16 || gEventObjects[eventObjectId].localId == 0xFF) + if (eventObjectId == EVENT_OBJECTS_COUNT || gEventObjects[eventObjectId].localId == EVENT_OBJ_ID_PLAYER) return NULL; for (i = 0; i < 4; i++) @@ -287,14 +288,14 @@ static const u8 *GetInteractedEventObjectScript(struct MapPosition *position, u8 const u8 *script; eventObjectId = GetEventObjectIdByXYZ(position->x, position->y, position->height); - if (eventObjectId == 16 || gEventObjects[eventObjectId].localId == 0xFF) + if (eventObjectId == EVENT_OBJECTS_COUNT || gEventObjects[eventObjectId].localId == EVENT_OBJ_ID_PLAYER) { if (MetatileBehavior_IsCounter(metatileBehavior) != TRUE) return NULL; // Look for an event object on the other side of the counter. eventObjectId = GetEventObjectIdByXYZ(position->x + gDirectionToVectors[direction].x, position->y + gDirectionToVectors[direction].y, position->height); - if (eventObjectId == 16 || gEventObjects[eventObjectId].localId == 0xFF) + if (eventObjectId == EVENT_OBJECTS_COUNT || gEventObjects[eventObjectId].localId == EVENT_OBJ_ID_PLAYER) return NULL; } @@ -303,13 +304,10 @@ static const u8 *GetInteractedEventObjectScript(struct MapPosition *position, u8 gSpecialVar_Facing = direction; if (InTrainerHill() == TRUE) - { script = sub_81D62AC(); - } else - { script = GetEventObjectScriptPointerByEventObjectId(eventObjectId); - } + script = GetRamScript(gSpecialVar_LastTalked, script); return script; } @@ -380,7 +378,7 @@ static const u8 *GetInteractedMetatileScript(struct MapPosition *position, u8 me if (MetatileBehavior_IsCableBoxResults1(metatileBehavior) == TRUE) return EventScript_CableBoxResults; if (MetatileBehavior_IsPokeblockFeeder(metatileBehavior) == TRUE) - return EventScript_2A4BAC; + return EventScript_PokeBlockFeeder; if (MetatileBehavior_IsTrickHousePuzzleDoor(metatileBehavior) == TRUE) return Route110_TrickHouseEntrance_EventScript_26A22A; if (MetatileBehavior_IsRegionMap(metatileBehavior) == TRUE) @@ -602,7 +600,7 @@ static bool8 TryStartStepCountScript(u16 metatileBehavior) ScriptContext1_SetupScript(SSTidalCorridor_EventScript_23C050); return TRUE; } - if (sub_8196034()) + if (TryStartMatchCall()) return TRUE; return FALSE; } @@ -686,15 +684,15 @@ static bool8 CheckStandardWildEncounter(u16 metatileBehavior) return FALSE; } -static bool8 mapheader_run_first_tag2_script_list_match_conditionally(struct MapPosition *position, u16 metatileBehavior, u8 direction) +static bool8 TryArrowWarp(struct MapPosition *position, u16 metatileBehavior, u8 direction) { s8 warpEventId = GetWarpEventAtMapPosition(&gMapHeader, position); if (IsArrowWarpMetatileBehavior(metatileBehavior, direction) == TRUE && warpEventId != -1) { StoreInitialPlayerAvatarState(); - sub_809CEB0(&gMapHeader, warpEventId, position); - sub_80AF734(); + SetupWarp(&gMapHeader, warpEventId, position); + DoWarp(); return TRUE; } return FALSE; @@ -707,7 +705,7 @@ static bool8 TryStartWarpEventScript(struct MapPosition *position, u16 metatileB if (warpEventId != -1 && IsWarpMetatileBehavior(metatileBehavior) == TRUE) { StoreInitialPlayerAvatarState(); - sub_809CEB0(&gMapHeader, warpEventId, position); + SetupWarp(&gMapHeader, warpEventId, position); if (MetatileBehavior_IsEscalator(metatileBehavior) == TRUE) { sub_80AF80C(metatileBehavior); @@ -743,7 +741,7 @@ static bool8 TryStartWarpEventScript(struct MapPosition *position, u16 metatileB sub_80AF87C(); return TRUE; } - sub_80AF734(); + DoWarp(); return TRUE; } return FALSE; @@ -786,7 +784,7 @@ static s8 GetWarpEventAtMapPosition(struct MapHeader *mapHeader, struct MapPosit return GetWarpEventAtPosition(mapHeader, position->x - 7, position->y - 7, position->height); } -static void sub_809CEB0(struct MapHeader *unused, s8 warpEventId, struct MapPosition *position) +static void SetupWarp(struct MapHeader *unused, s8 warpEventId, struct MapPosition *position) { const struct WarpEvent *warpEvent; @@ -828,14 +826,14 @@ static void sub_809CEB0(struct MapHeader *unused, s8 warpEventId, struct MapPosi const struct MapHeader *mapHeader; SetWarpDestinationToMapWarp(warpEvent->mapGroup, warpEvent->mapNum, warpEvent->warpId); - sub_8084D5C(position->x, position->y); + UpdateEscapeWarp(position->x, position->y); mapHeader = Overworld_GetMapHeaderByGroupAndId(warpEvent->mapGroup, warpEvent->mapNum); if (mapHeader->events->warps[warpEvent->warpId].mapNum == MAP_NUM(NONE)) SetDynamicWarp(mapHeader->events->warps[warpEventId].warpId, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, warpEventId); } } -static bool8 map_warp_consider_2_to_inside(struct MapPosition *position, u16 metatileBehavior, u8 direction) +static bool8 TryDoorWarp(struct MapPosition *position, u16 metatileBehavior, u8 direction) { s8 warpEventId; @@ -843,17 +841,18 @@ static bool8 map_warp_consider_2_to_inside(struct MapPosition *position, u16 met { if (MetatileBehavior_IsOpenSecretBaseDoor(metatileBehavior) == TRUE) { - sub_80E9668(position, gMapHeader.events); + WarpIntoSecretBase(position, gMapHeader.events); return TRUE; } + if (MetatileBehavior_IsWarpDoor(metatileBehavior) == TRUE) { warpEventId = GetWarpEventAtMapPosition(&gMapHeader, position); if (warpEventId != -1 && IsWarpMetatileBehavior(metatileBehavior) == TRUE) { StoreInitialPlayerAvatarState(); - sub_809CEB0(&gMapHeader, warpEventId, position); - sub_80AF7D0(); + SetupWarp(&gMapHeader, warpEventId, position); + DoDoorWarp(); return TRUE; } } @@ -948,7 +947,7 @@ bool8 dive_warp(struct MapPosition *position, u16 metatileBehavior) if (SetDiveWarpEmerge(position->x - 7, position->y - 7)) { StoreInitialPlayerAvatarState(); - sp13E_warp_to_last_warp(); + DoDiveWarp(); PlaySE(SE_W291); return TRUE; } @@ -958,7 +957,7 @@ bool8 dive_warp(struct MapPosition *position, u16 metatileBehavior) if (SetDiveWarpDive(position->x - 7, position->y - 7)) { StoreInitialPlayerAvatarState(); - sp13E_warp_to_last_warp(); + DoDiveWarp(); PlaySE(SE_W291); return TRUE; } @@ -1003,6 +1002,6 @@ int SetCableClubWarp(void) GetPlayerMovementDirection(); //unnecessary GetPlayerPosition(&position); MapGridGetMetatileBehaviorAt(position.x, position.y); //unnecessary - sub_809CEB0(&gMapHeader, GetWarpEventAtMapPosition(&gMapHeader, &position), &position); + SetupWarp(&gMapHeader, GetWarpEventAtMapPosition(&gMapHeader, &position), &position); return 0; } diff --git a/src/field_effect.c b/src/field_effect.c index 75104d426e..badf57b160 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -230,7 +230,7 @@ static void sub_80B9A60(struct Task *); static void sub_80B9BE8(u8 taskId); static void sub_80B9DB8(struct Sprite* sprite); -static void sub_80B9EDC(u8 taskId); +static void Fldeff_MoveDeoxysRock_Step(u8 taskId); // Static RAM declarations @@ -3644,7 +3644,7 @@ static void sub_80B9DB8(struct Sprite* sprite) DestroySprite(sprite); } -bool8 sub_80B9E28(struct Sprite* sprite) +bool8 Fldeff_MoveDeoxysRock(struct Sprite* sprite) { u8 eventObjectIdBuffer; if (!TryGetEventObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2], &eventObjectIdBuffer)) @@ -3658,7 +3658,7 @@ bool8 sub_80B9E28(struct Sprite* sprite) xPos = (gFieldEffectArguments[3] - xPos) * 16; yPos = (gFieldEffectArguments[4] - yPos) * 16; ShiftEventObjectCoords(object, gFieldEffectArguments[3] + 7, gFieldEffectArguments[4] + 7); - taskId = CreateTask(sub_80B9EDC, 0x50); + taskId = CreateTask(Fldeff_MoveDeoxysRock_Step, 0x50); gTasks[taskId].data[1] = object->spriteId; gTasks[taskId].data[2] = gSprites[object->spriteId].pos1.x + xPos; gTasks[taskId].data[3] = gSprites[object->spriteId].pos1.y + yPos; @@ -3668,7 +3668,7 @@ bool8 sub_80B9E28(struct Sprite* sprite) return FALSE; } -static void sub_80B9EDC(u8 taskId) +static void Fldeff_MoveDeoxysRock_Step(u8 taskId) { // BUG: Possible divide by zero s16 *data = gTasks[taskId].data; diff --git a/src/field_message_box.c b/src/field_message_box.c index 5e23b5f6bd..299aafaf26 100755 --- a/src/field_message_box.c +++ b/src/field_message_box.c @@ -5,8 +5,8 @@ #include "task.h" #include "text.h" -extern bool32 sub_8196094(void); -extern void sub_8196080(u8*); +extern bool32 IsMatchCallTaskActive(void); +extern void StartMatchCallFromScript(u8*); static EWRAM_DATA u8 sFieldMessageBoxMode = 0; @@ -68,7 +68,7 @@ bool8 ShowFieldMessage(u8 *str) void sub_8098214(u8 taskId) { - if (!sub_8196094()) + if (!IsMatchCallTaskActive()) { sFieldMessageBoxMode = 0; DestroyTask(taskId); @@ -81,7 +81,7 @@ bool8 sub_8098238(u8 *str) return FALSE; StringExpandPlaceholders(gStringVar4, str); CreateTask(sub_8098214, 0); - sub_8196080(str); + StartMatchCallFromScript(str); sFieldMessageBoxMode = 2; return TRUE; } diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index f14ac83293..7423216a48 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -723,7 +723,7 @@ static bool8 sub_808B1BC(s16 x, s16 y, u8 direction) { if ((gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING) && MapGridGetZCoordAt(x, y) == 3 - && GetEventObjectIdByXYZ(x, y, 3) == 16) + && GetEventObjectIdByXYZ(x, y, 3) == EVENT_OBJECTS_COUNT) { sub_808C750(direction); return TRUE; @@ -791,12 +791,9 @@ bool8 IsPlayerCollidingWithFarawayIslandMew(u8 direction) playerY = object->currentCoords.y; MoveCoords(direction, &playerX, &playerY); - mewObjectId = GetEventObjectIdByLocalIdAndMap(1, 0x39, 0x1A); - - if (mewObjectId == 16) - { + mewObjectId = GetEventObjectIdByLocalIdAndMap(1, MAP_NUM(FARAWAY_ISLAND_INTERIOR), MAP_GROUP(FARAWAY_ISLAND_INTERIOR)); + if (mewObjectId == EVENT_OBJECTS_COUNT) return FALSE; - } object = &gEventObjects[mewObjectId]; mewPrevX = object->previousCoords.x; @@ -1389,7 +1386,7 @@ void InitPlayerAvatar(s16 x, s16 y, u8 direction, u8 gender) u8 eventObjectId; struct EventObject *eventObject; - playerEventObjTemplate.localId = 0xFF; + playerEventObjTemplate.localId = EVENT_OBJ_ID_PLAYER; playerEventObjTemplate.graphicsId = GetPlayerAvatarGraphicsIdByStateIdAndGender(PLAYER_AVATAR_STATE_NORMAL, gender); playerEventObjTemplate.x = x - 7; playerEventObjTemplate.y = y - 7; diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c index 62a3d0335a..b9e9272d4f 100644 --- a/src/field_screen_effect.c +++ b/src/field_screen_effect.c @@ -215,7 +215,7 @@ static void sub_80AF234(u8 taskId) task->data[0]++; break; case 1: - if (!sub_800A520()) + if (!IsLinkTaskFinished()) { if (++task->data[1] > 1800) sub_8011170(0x6000); @@ -248,7 +248,7 @@ void sub_80AF2B4(u8 taskId) task->data[0]++; break; case 1: - if (sub_800A520()) + if (IsLinkTaskFinished()) { task->data[0]++; } @@ -498,7 +498,7 @@ static bool32 sub_80AF71C(void) return FALSE; } -void sub_80AF734(void) +void DoWarp(void) { ScriptContext2_Enable(); TryFadeOutOldMapMusic(); @@ -509,7 +509,7 @@ void sub_80AF734(void) CreateTask(sub_80AFA0C, 10); } -void sp13E_warp_to_last_warp(void) +void DoDiveWarp(void) { ScriptContext2_Enable(); TryFadeOutOldMapMusic(); @@ -529,16 +529,16 @@ void sub_80AF79C(void) CreateTask(sub_80AFA0C, 10); } -void sub_80AF7D0(void) +void DoDoorWarp(void) { ScriptContext2_Enable(); gFieldCallback = mapldr_default; CreateTask(sub_80AFA88, 10); } -void sp13F_fall_to_last_warp(void) +void DoFallWarp(void) { - sp13E_warp_to_last_warp(); + DoDiveWarp(); gFieldCallback = sub_80B6B68; } diff --git a/src/field_special_scene.c b/src/field_special_scene.c index 3675cf0d89..579188f369 100644 --- a/src/field_special_scene.c +++ b/src/field_special_scene.c @@ -303,7 +303,7 @@ void Task_HandlePorthole(u8 taskId) FlagClear(0x4001); FlagClear(0x4000); SetWarpDestinationToDynamicWarp(0); - sp13E_warp_to_last_warp(); + DoDiveWarp(); DestroyTask(taskId); break; } diff --git a/src/field_specials.c b/src/field_specials.c index 4e9a5c0f75..0dc1bf18b1 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -47,6 +47,7 @@ #include "constants/event_objects.h" #include "constants/field_effects.h" #include "constants/items.h" +#include "constants/map_types.h" #include "constants/maps.h" #include "constants/songs.h" #include "constants/species.h" @@ -115,9 +116,9 @@ static void sub_813A738(u8 taskId); static void sub_813A600(u8 taskId); static void sub_813A664(u8 taskId); static void sub_813ABD4(u16 a0); -static void task_deoxys_sound(u8 taskId); -static void sub_813B0B4(u8 a0); -static void sub_813B160(u8 taskId); +static void Task_DeoxysRockInteraction(u8 taskId); +static void ChangeDeoxysRockLevel(u8 a0); +static void WaitForDeoxysRockMovement(u8 taskId); static void sub_813B57C(u8 taskId); static void sub_813B824(u8 taskId); static void _fwalk(u8 taskId); @@ -360,7 +361,7 @@ u8 GetSSTidalLocation(s8 *mapGroup, s8 *mapNum, s16 *x, s16 *y) bool32 is_tile_that_overrides_player_control(void) { - if (FlagGet(FLAG_0x088)) + if (FlagGet(FLAG_ENABLE_FIRST_WALLY_POKENAV_CALL)) { switch (gMapHeader.mapType) { @@ -387,15 +388,15 @@ bool32 is_tile_that_overrides_player_control(void) bool32 sub_8138120(void) { - if (FlagGet(FLAG_0x08A)) + if (FlagGet(FLAG_REGISTER_WINONA_POKENAV)) { switch (gMapHeader.mapType) { - case 1: - case 2: - case 3: - case 6: - if (++(*GetVarPointer(VAR_0x40F3)) < 0xA) + case MAP_TYPE_TOWN: + case MAP_TYPE_CITY: + case MAP_TYPE_ROUTE: + case MAP_TYPE_6: + if (++(*GetVarPointer(VAR_0x40F3)) < 10) { return FALSE; } @@ -414,7 +415,7 @@ bool32 sub_8138120(void) bool32 sub_8138168(void) { - if (FlagGet(FLAG_0x072)) + if (FlagGet(FLAG_SCOTT_CALL_NATIONAL_DEX)) { switch (gMapHeader.mapType) { @@ -441,7 +442,7 @@ bool32 sub_8138168(void) bool32 sub_81381B0(void) { - if (FlagGet(FLAG_0x080)) + if (FlagGet(FLAG_ENABLE_ROXANNE_FIRST_CALL)) { switch (gMapHeader.mapType) { @@ -468,7 +469,7 @@ bool32 sub_81381B0(void) bool32 sub_81381F8(void) { - if (FlagGet(FLAG_0x075)) + if (FlagGet(FLAG_DEFEATED_MAGMA_SPACE_CENTER)) { switch (gMapHeader.mapType) { @@ -1200,7 +1201,7 @@ void EndLotteryCornerComputerEffect(void) void SetTrickHouseEndRoomFlag(void) { u16 *specVar = &gSpecialVar_0x8004; - u16 flag = FLAG_0x1F5; + u16 flag = FLAG_TRICK_HOUSE_END_ROOM; *specVar = flag; FlagSet(flag); } @@ -1208,7 +1209,7 @@ void SetTrickHouseEndRoomFlag(void) void ResetTrickHouseEndRoomFlag(void) { u16 *specVar = &gSpecialVar_0x8004; - u16 flag = FLAG_0x1F5; + u16 flag = FLAG_TRICK_HOUSE_END_ROOM; *specVar = flag; FlagClear(flag); } @@ -2110,7 +2111,7 @@ void sub_813A080(void) u16 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; - if (battleMode == FRONTIER_MODE_MULTIS && !FlagGet(FLAG_0x152)) + if (battleMode == FRONTIER_MODE_MULTIS && !FlagGet(FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER)) { gSpecialVar_0x8005 = 5; gSpecialVar_0x8006 = 4; @@ -3233,12 +3234,12 @@ void sub_813AF48(void) } } -void sub_813AFC8(void) +void DoDeoxysRockInteraction(void) { - CreateTask(task_deoxys_sound, 8); + CreateTask(Task_DeoxysRockInteraction, 8); } -static const u16 gUnknown_085B3280[][16] = { +static const u16 sDeoxysRockPalettes[][16] = { INCBIN_U16("graphics/misc/deoxys1.gbapal"), INCBIN_U16("graphics/misc/deoxys2.gbapal"), INCBIN_U16("graphics/misc/deoxys3.gbapal"), @@ -3252,25 +3253,25 @@ static const u16 gUnknown_085B3280[][16] = { INCBIN_U16("graphics/misc/deoxys11.gbapal"), }; -static const u8 gUnknown_085B33E0[][2] = { - { 0x0f, 0x0c }, - { 0x0b, 0x0e }, - { 0x0f, 0x08 }, - { 0x13, 0x0e }, - { 0x0c, 0x0b }, - { 0x12, 0x0b }, - { 0x0f, 0x0e }, - { 0x0b, 0x0e }, - { 0x13, 0x0e }, - { 0x0f, 0x0f }, - { 0x0f, 0x0a }, +static const u8 sDeoxysRockCoords[][2] = { + { 15, 12 }, + { 11, 14 }, + { 15, 8 }, + { 19, 14 }, + { 12, 11 }, + { 18, 11 }, + { 15, 14 }, + { 11, 14 }, + { 19, 14 }, + { 15, 15 }, + { 15, 10 }, }; -static void task_deoxys_sound(u8 taskId) +static void Task_DeoxysRockInteraction(u8 taskId) { - static const u8 gUnknown_085B33F6[] = { 0x04, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x06, 0x03, 0x03 }; + static const u8 sStoneMaxStepCounts[] = { 4, 8, 8, 8, 4, 4, 4, 6, 3, 3 }; - if (FlagGet(FLAG_0x8D4) == TRUE) + if (FlagGet(FLAG_DEOXYS_ROCK_COMPLETE) == TRUE) { gSpecialVar_Result = 3; EnableBothScriptContexts(); @@ -3278,100 +3279,92 @@ static void task_deoxys_sound(u8 taskId) } else { - u16 temp1 = VarGet(VAR_0x4035); - u16 temp2 = VarGet(VAR_0x4034); + u16 rockLevel = VarGet(VAR_DEOXYS_ROCK_LEVEL); + u16 stepCount = VarGet(VAR_DEOXYS_ROCK_STEP_COUNT); - VarSet(VAR_0x4034, 0); - if (temp1 != 0 && gUnknown_085B33F6[temp1 - 1] < temp2) + VarSet(VAR_DEOXYS_ROCK_STEP_COUNT, 0); + if (rockLevel != 0 && sStoneMaxStepCounts[rockLevel - 1] < stepCount) { - sub_813B0B4(0); - VarSet(VAR_0x4035, 0); + // Player failed to take the shortest path to the stone, so it resets. + ChangeDeoxysRockLevel(0); + VarSet(VAR_DEOXYS_ROCK_LEVEL, 0); gSpecialVar_Result = 0; DestroyTask(taskId); } - else if (temp1 == 10) + else if (rockLevel == 10) { - FlagSet(FLAG_0x8D4); + FlagSet(FLAG_DEOXYS_ROCK_COMPLETE); gSpecialVar_Result = 2; EnableBothScriptContexts(); DestroyTask(taskId); } else { - temp1++; - sub_813B0B4(temp1); - VarSet(VAR_0x4035, temp1); + rockLevel++; + ChangeDeoxysRockLevel(rockLevel); + VarSet(VAR_DEOXYS_ROCK_LEVEL, rockLevel); gSpecialVar_Result = 1; DestroyTask(taskId); } } } -static void sub_813B0B4(u8 a0) +static void ChangeDeoxysRockLevel(u8 rockLevel) { u8 eventObjectId; - LoadPalette(&gUnknown_085B3280[a0], 0x1A0, 8); + LoadPalette(&sDeoxysRockPalettes[rockLevel], 0x1A0, 8); TryGetEventObjectIdByLocalIdAndMap(1, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &eventObjectId); - if (a0 == 0) - { + if (rockLevel == 0) PlaySE(SE_W109); - } else - { PlaySE(SE_RG_DEOMOV); - } - - CreateTask(sub_813B160, 8); + CreateTask(WaitForDeoxysRockMovement, 8); gFieldEffectArguments[0] = 1; gFieldEffectArguments[1] = 58; gFieldEffectArguments[2] = 26; - gFieldEffectArguments[3] = gUnknown_085B33E0[a0][0]; - gFieldEffectArguments[4] = gUnknown_085B33E0[a0][1]; + gFieldEffectArguments[3] = sDeoxysRockCoords[rockLevel][0]; + gFieldEffectArguments[4] = sDeoxysRockCoords[rockLevel][1]; - if (a0 == 0) - { + if (rockLevel == 0) gFieldEffectArguments[5] = 60; - } else - { gFieldEffectArguments[5] = 5; - } - FieldEffectStart(FLDEFF_66); - Overworld_SetEventObjTemplateCoords(1, gUnknown_085B33E0[a0][0], gUnknown_085B33E0[a0][1]); + FieldEffectStart(FLDEFF_MOVE_DEOXYS_ROCK); + Overworld_SetEventObjTemplateCoords(1, sDeoxysRockCoords[rockLevel][0], sDeoxysRockCoords[rockLevel][1]); } -static void sub_813B160(u8 taskId) +static void WaitForDeoxysRockMovement(u8 taskId) { - if (FieldEffectActiveListContains(FLDEFF_66) == FALSE) + if (FieldEffectActiveListContains(FLDEFF_MOVE_DEOXYS_ROCK) == FALSE) { EnableBothScriptContexts(); DestroyTask(taskId); } } -void increment_var_x4026_on_birth_island_modulo_100(void) +void IncrementBirthIslandRockStepCount(void) { - u16 var = VarGet(VAR_0x4034); + u16 var = VarGet(VAR_DEOXYS_ROCK_STEP_COUNT); if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(BIRTH_ISLAND_EXTERIOR) && gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BIRTH_ISLAND_EXTERIOR)) { var++; if (var > 99) { - VarSet(VAR_0x4034, 0); + VarSet(VAR_DEOXYS_ROCK_STEP_COUNT, 0); } else { - VarSet(VAR_0x4034, var); + VarSet(VAR_DEOXYS_ROCK_STEP_COUNT, var); } } } void sub_813B1D0(void) { - LoadPalette(&gUnknown_085B3280[(u8)VarGet(VAR_0x4035)], 0x1A0, 8); + LoadPalette(&sDeoxysRockPalettes[(u8)VarGet(VAR_DEOXYS_ROCK_LEVEL)], 0x1A0, 8); BlendPalettes(0x04000000, 16, 0); } @@ -3432,11 +3425,11 @@ void sub_813B2E4(void) u16 randomValue = Random(); VarSet(VAR_0x4038, 0); - if (FlagGet(FLAG_0x1BE) == TRUE) + if (FlagGet(FLAG_DEFEATED_KYOGRE) == TRUE) { VarSet(VAR_0x4037, (randomValue & 7) + 1); } - else if (FlagGet(FLAG_0x1BF) == TRUE) + else if (FlagGet(FLAG_DEFEATED_GROUDON) == TRUE) { VarSet(VAR_0x4037, (randomValue & 7) + 9); } @@ -3616,7 +3609,7 @@ static void sub_813B57C(u8 taskId) } break; case 1: - if (sub_800A520() == TRUE) + if (IsLinkTaskFinished() == TRUE) { if (GetMultiplayerId() == 0) { @@ -3657,7 +3650,7 @@ static void sub_813B57C(u8 taskId) } break; case 3: - if (sub_800A520() == TRUE) + if (IsLinkTaskFinished() == TRUE) { if (GetMultiplayerId() != 0) { @@ -3709,14 +3702,14 @@ static void sub_813B57C(u8 taskId) } break; case 7: - if (sub_800A520() == 1) + if (IsLinkTaskFinished() == 1) { sub_800ADF8(); gTasks[taskId].data[0]++; } break; case 8: - if (sub_800A520() == 1) + if (IsLinkTaskFinished() == 1) { gTasks[taskId].data[0]++; } diff --git a/src/field_tasks.c b/src/field_tasks.c index 7a7f491206..22b8697d8d 100644 --- a/src/field_tasks.c +++ b/src/field_tasks.c @@ -20,61 +20,60 @@ #include "constants/songs.h" #include "constants/vars.h" -struct MetatileOffset +struct PacifidlogMetatileOffsets { s8 x; s8 y; u16 tileId; }; -// this file's functions static void DummyPerStepCallback(u8 taskId); -static void PerStepCallback_8069F64(u8 taskId); -static void PerStepCallback_8069AA0(u8 taskId); -static void PerStepCallback_8069864(u8 taskId); -static void PerStepCallback_8069DD4(u8 taskId); -static void PerStepCallback_806A07C(u8 taskId); +static void AshGrassPerStepCallback(u8 taskId); +static void FortreeBridgePerStepCallback(u8 taskId); +static void PacifidlogBridgePerStepCallback(u8 taskId); +static void SootopolisGymIcePerStepCallback(u8 taskId); +static void CrackedFloorPerStepCallback(u8 taskId); static void Task_MuddySlope(u8 taskId); -// const rom data -static void (*const gUnknown_08510348[])(u8) = +static const TaskFunc sPerStepCallbacks[] = { DummyPerStepCallback, - PerStepCallback_8069F64, - PerStepCallback_8069AA0, - PerStepCallback_8069864, - PerStepCallback_8069DD4, + AshGrassPerStepCallback, + FortreeBridgePerStepCallback, + PacifidlogBridgePerStepCallback, + SootopolisGymIcePerStepCallback, EndTruckSequence, - sub_80EA3E4, - PerStepCallback_806A07C + SecretBasePerStepCallback, + CrackedFloorPerStepCallback }; // they are in pairs but declared as 1D array -static const struct MetatileOffset gUnknown_08510368[] = +static const struct PacifidlogMetatileOffsets sHalfSubmergedBridgeMetatileOffsets[] = { - { 0, 0,0x259}, { 0, 1,0x261}, - { 0, -1,0x259}, { 0, 0,0x261}, - { 0, 0,0x252}, { 1, 0,0x253}, - { -1, 0,0x252}, { 0, 0,0x253} + { 0, 0, 0x259}, { 0, 1, 0x261}, + { 0, -1, 0x259}, { 0, 0, 0x261}, + { 0, 0, 0x252}, { 1, 0, 0x253}, + { -1, 0, 0x252}, { 0, 0, 0x253} }; -static const struct MetatileOffset gUnknown_08510388[] = +static const struct PacifidlogMetatileOffsets sFullySubmergedBridgeMetatileOffsets[] = { - { 0, 0,0x25A}, { 0, 1,0x262}, - { 0, -1,0x25A}, { 0, 0,0x262}, - { 0, 0,0x254}, { 1, 0,0x255}, - { -1, 0,0x254}, { 0, 0,0x255} + { 0, 0, 0x25A}, { 0, 1, 0x262}, + { 0, -1, 0x25A}, { 0, 0, 0x262}, + { 0, 0, 0x254}, { 1, 0, 0x255}, + { -1, 0, 0x254}, { 0, 0, 0x255} }; -static const struct MetatileOffset gUnknown_085103A8[] = +static const struct PacifidlogMetatileOffsets sFloatingBridgeMetatileOffsets[] = { - { 0, 0,0x258}, { 0, 1,0x260}, - { 0, -1,0x258}, { 0, 0,0x260}, - { 0, 0,0x250}, { 1, 0,0x251}, - { -1, 0,0x250}, { 0, 0,0x251} + { 0, 0, 0x258}, { 0, 1, 0x260}, + { 0, -1, 0x258}, { 0, 0, 0x260}, + { 0, 0, 0x250}, { 1, 0, 0x251}, + { -1, 0, 0x250}, { 0, 0, 0x251} }; -static const u16 gUnknown_085103C8[] = +// Each element corresponds to a y coordinate row in the sootopolis gym 1F map. +static const u16 sSootopolisGymIceRowVars[] = { 0, 0, @@ -104,13 +103,12 @@ static const u16 gUnknown_085103C8[] = 0 }; -static const u16 gUnknown_085103FC[] = {0xe8, 0xeb, 0xea, 0xe9}; +static const u16 sMuddySlopeMetatiles[] = {0xe8, 0xeb, 0xea, 0xe9}; -// code static void Task_RunPerStepCallback(u8 taskId) { int idx = gTasks[taskId].data[0]; - gUnknown_08510348[idx](taskId); + sPerStepCallbacks[idx](taskId); } #define tState data[0] @@ -159,14 +157,12 @@ void SetUpFieldTasks(void) u8 taskId = CreateTask(Task_RunPerStepCallback, 0x50); gTasks[taskId].data[0] = 0; } + if (!FuncIsActiveTask(Task_MuddySlope)) - { CreateTask(Task_MuddySlope, 0x50); - } + if (!FuncIsActiveTask(Task_RunTimeBasedEvents)) - { CreateTask(Task_RunTimeBasedEvents, 0x50); - } } void ActivatePerStepCallback(u8 callbackId) @@ -180,7 +176,7 @@ void ActivatePerStepCallback(u8 callbackId) for (i = 0; i < 16; i++) data[i] = 0; - if (callbackId >= ARRAY_COUNT(gUnknown_08510348)) + if (callbackId >= ARRAY_COUNT(sPerStepCallbacks)) { data[0] = 0; } @@ -215,7 +211,7 @@ static void DummyPerStepCallback(u8 taskId) } -static const struct MetatileOffset *sub_809DA30(const struct MetatileOffset *offsets, u16 metatileBehavior) +static const struct PacifidlogMetatileOffsets *GetPacifidlogBridgeMetatileOffsets(const struct PacifidlogMetatileOffsets *offsets, u16 metatileBehavior) { if (MetatileBehavior_IsPacifilogVerticalLog1(metatileBehavior)) return &offsets[0 * 2]; @@ -229,38 +225,37 @@ static const struct MetatileOffset *sub_809DA30(const struct MetatileOffset *off return NULL; } -static void sub_809DA88(const struct MetatileOffset *offsets, s16 x, s16 y, bool32 flag) +static void SetPacifidlogBridgeMetatiles(const struct PacifidlogMetatileOffsets *offsets, s16 x, s16 y, bool32 redrawMap) { - offsets = sub_809DA30(offsets, MapGridGetMetatileBehaviorAt(x, y)); - - if (offsets != NULL) + offsets = GetPacifidlogBridgeMetatileOffsets(offsets, MapGridGetMetatileBehaviorAt(x, y)); + if (offsets) { MapGridSetMetatileIdAt(x + offsets[0].x, y + offsets[0].y, offsets[0].tileId); - if (flag) + if (redrawMap) CurrentMapDrawMetatileAt(x + offsets[0].x, y + offsets[0].y); MapGridSetMetatileIdAt(x + offsets[1].x, y + offsets[1].y, offsets[1].tileId); - if (flag) + if (redrawMap) CurrentMapDrawMetatileAt(x + offsets[1].x, y + offsets[1].y); } } -static void sub_809DB10(s16 x, s16 y, bool32 flag) +static void UpdateHalfSubmergedBridgeMetatiles(s16 x, s16 y, bool32 redrawMap) { - sub_809DA88(gUnknown_08510368, x, y, flag); + SetPacifidlogBridgeMetatiles(sHalfSubmergedBridgeMetatileOffsets, x, y, redrawMap); } -static void sub_809DB34(s16 x, s16 y, bool32 flag) +static void UpdateFullySubmergedBridgeMetatiles(s16 x, s16 y, bool32 redrawMap) { - sub_809DA88(gUnknown_08510388, x, y, flag); + SetPacifidlogBridgeMetatiles(sFullySubmergedBridgeMetatileOffsets, x, y, redrawMap); } -static void sub_809DB58(s16 x, s16 y, bool32 flag) +static void UpdateFloatingBridgeMetatiles(s16 x, s16 y, bool32 redrawMap) { - sub_809DA88(gUnknown_085103A8, x, y, flag); + SetPacifidlogBridgeMetatiles(sFloatingBridgeMetatileOffsets, x, y, redrawMap); } -static bool32 sub_809DB7C(s16 x1, s16 y1, s16 x2, s16 y2) +static bool32 StandingOnNewPacifidlogBridge(s16 x1, s16 y1, s16 x2, s16 y2) { u16 metatileBehavior = MapGridGetMetatileBehaviorAt(x2, y2); @@ -287,7 +282,7 @@ static bool32 sub_809DB7C(s16 x1, s16 y1, s16 x2, s16 y2) return TRUE; } -static bool32 sub_809DC18(s16 x1, s16 y1, s16 x2, s16 y2) +static bool32 StandingOnSamePacifidlogBridge(s16 x1, s16 y1, s16 x2, s16 y2) { u16 metatileBehavior = MapGridGetMetatileBehaviorAt(x1, y1); @@ -314,7 +309,7 @@ static bool32 sub_809DC18(s16 x1, s16 y1, s16 x2, s16 y2) return TRUE; } -static void PerStepCallback_8069864(u8 taskId) +static void PacifidlogBridgePerStepCallback(u8 taskId) { s16 *data; s16 x, y; @@ -325,16 +320,16 @@ static void PerStepCallback_8069864(u8 taskId) case 0: data[2] = x; data[3] = y; - sub_809DB34(x, y, TRUE); + UpdateFullySubmergedBridgeMetatiles(x, y, TRUE); data[1] = 1; break; case 1: if (x != data[2] || y != data[3]) { - if (sub_809DB7C(x, y, data[2], data[3])) + if (StandingOnNewPacifidlogBridge(x, y, data[2], data[3])) { - sub_809DB10(data[2], data[3], TRUE); - sub_809DB58(data[2], data[3], FALSE); + UpdateHalfSubmergedBridgeMetatiles(data[2], data[3], TRUE); + UpdateFloatingBridgeMetatiles(data[2], data[3], FALSE); data[4] = data[2]; data[5] = data[3]; data[1] = 2; @@ -345,38 +340,37 @@ static void PerStepCallback_8069864(u8 taskId) data[4] = -1; data[5] = -1; } - if (sub_809DC18(x, y, data[2], data[3])) + + if (StandingOnSamePacifidlogBridge(x, y, data[2], data[3])) { - sub_809DB10(x, y, TRUE); + UpdateHalfSubmergedBridgeMetatiles(x, y, TRUE); data[1] = 2; data[6] = 8; } + data[2] = x; data[3] = y; if (MetatileBehavior_IsPacifidlogLog(MapGridGetMetatileBehaviorAt(x, y))) - { PlaySE(SE_MIZU); - } } break; case 2: if ((--data[6]) == 0) { - sub_809DB34(x, y, TRUE); + UpdateFullySubmergedBridgeMetatiles(x, y, TRUE); if (data[4] != -1 && data[5] != -1) - { - sub_809DB58(data[4], data[5], TRUE); - } + UpdateFloatingBridgeMetatiles(data[4], data[5], TRUE); + data[1] = 1; } break; } } -static void sub_809DE28(s16 x, s16 y) +static void SetLoweredForetreeBridgeMetatile(s16 x, s16 y) { u8 z = PlayerGetZCoord(); - if (!(z & 0x01)) + if (!(z & 1)) { switch (MapGridGetMetatileIdAt(x, y)) { @@ -390,10 +384,10 @@ static void sub_809DE28(s16 x, s16 y) } } -static void sub_809DE8C(s16 x, s16 y) +static void SetNormalFortreeBridgeMetatile(s16 x, s16 y) { u8 z = PlayerGetZCoord(); - if (!(z & 0x01)) + if (!(z & 1)) { switch (MapGridGetMetatileIdAt(x, y)) { @@ -407,7 +401,7 @@ static void sub_809DE8C(s16 x, s16 y) } } -static void PerStepCallback_8069AA0(u8 taskId) +static void FortreeBridgePerStepCallback(u8 taskId) { bool8 isFortreeBridgeCur; bool8 isFortreeBridgePrev; @@ -424,7 +418,7 @@ static void PerStepCallback_8069AA0(u8 taskId) data[3] = y; if (MetatileBehavior_IsFortreeBridge(MapGridGetMetatileBehaviorAt(x, y))) { - sub_809DE28(x, y); + SetLoweredForetreeBridgeMetatile(x, y); CurrentMapDrawMetatileAt(x, y); } data[1] = 1; @@ -433,36 +427,33 @@ static void PerStepCallback_8069AA0(u8 taskId) x2 = data[2]; y2 = data[3]; if (x == x2 && y == y2) - { break; - } + isFortreeBridgeCur = MetatileBehavior_IsFortreeBridge(MapGridGetMetatileBehaviorAt(x, y)); isFortreeBridgePrev = MetatileBehavior_IsFortreeBridge(MapGridGetMetatileBehaviorAt(x2, y2)); z = PlayerGetZCoord(); flag = 0; if ((u8)(z & 1) == 0) - { flag = 1; - } + if (flag && (isFortreeBridgeCur == 1 || isFortreeBridgePrev == 1)) - { PlaySE(SE_HASHI); - } + if (isFortreeBridgePrev) { - sub_809DE8C(x2, y2); + SetNormalFortreeBridgeMetatile(x2, y2); CurrentMapDrawMetatileAt(x2, y2); - sub_809DE28(x, y); + SetLoweredForetreeBridgeMetatile(x, y); CurrentMapDrawMetatileAt(x, y); } + data[4] = x2; data[5] = y2; data[2] = x; data[3] = y; if (!isFortreeBridgePrev) - { break; - } + data[6] = 16; data[1] = 2; // fallthrough @@ -479,9 +470,9 @@ static void PerStepCallback_8069AA0(u8 taskId) case 3: break; case 4: - sub_809DE28(x2, y2); + SetLoweredForetreeBridgeMetatile(x2, y2); CurrentMapDrawMetatileAt(x2, y2); - sub_809DE8C(x2, y2); + SetNormalFortreeBridgeMetatile(x2, y2); case 5: case 6: case 7: @@ -495,28 +486,28 @@ static void PerStepCallback_8069AA0(u8 taskId) } } -static bool32 sub_809E108(s16 x, s16 y) +static bool32 CoordInIcePuzzleRegion(s16 x, s16 y) { - if ((u16)(x - 3) < 11 && (u16)(y - 6) < 14 && gUnknown_085103C8[y]) + if ((u16)(x - 3) < 11 && (u16)(y - 6) < 14 && sSootopolisGymIceRowVars[y]) return TRUE; else return FALSE; } -static void sub_809E14C(s16 x, s16 y) +static void MarkIcePuzzleCoordVisited(s16 x, s16 y) { - if (sub_809E108(x, y)) - *GetVarPointer(gUnknown_085103C8[y]) |= (1 << (x - 3)); + if (CoordInIcePuzzleRegion(x, y)) + *GetVarPointer(sSootopolisGymIceRowVars[y]) |= (1 << (x - 3)); } -static bool32 sub_809E184(s16 x, s16 y) +static bool32 IsIcePuzzleCoordVisited(s16 x, s16 y) { u32 var; - if (!sub_809E108(x, y)) + if (!CoordInIcePuzzleRegion(x, y)) return FALSE; - var = VarGet(gUnknown_085103C8[y]) << 16; - if (((1 << 16) << (x - 3)) & var) // TODO: fix that if + var = VarGet(sSootopolisGymIceRowVars[y]) << 16; + if ((0x10000 << (x - 3)) & var) // TODO: fix that if return TRUE; else return FALSE; @@ -531,19 +522,17 @@ void SetSootopolisGymCrackedIceMetatiles(void) { for (y = 0; y < height; y++) { - if (sub_809E184(x, y) == TRUE) - { + if (IsIcePuzzleCoordVisited(x, y) == TRUE) MapGridSetMetatileIdAt(x + 7, y + 7, 0x20e); - } } } } -static void PerStepCallback_8069DD4(u8 taskId) +static void SootopolisGymIcePerStepCallback(u8 taskId) { s16 x, y; u16 tileBehavior; - u16 *var; + u16 *iceStepCount; s16 *data = gTasks[taskId].data; switch (data[1]) { @@ -560,10 +549,10 @@ static void PerStepCallback_8069DD4(u8 taskId) data[2] = x; data[3] = y; tileBehavior = MapGridGetMetatileBehaviorAt(x, y); - var = GetVarPointer(VAR_ICE_STEP_COUNT); + iceStepCount = GetVarPointer(VAR_ICE_STEP_COUNT); if (MetatileBehavior_IsThinIce(tileBehavior) == TRUE) { - (*var)++; + (*iceStepCount)++; data[6] = 4; data[1] = 2; data[4] = x; @@ -571,7 +560,7 @@ static void PerStepCallback_8069DD4(u8 taskId) } else if (MetatileBehavior_IsCrackedIce(tileBehavior) == TRUE) { - *var = 0; + *iceStepCount = 0; data[6] = 4; data[1] = 3; data[4] = x; @@ -591,7 +580,7 @@ static void PerStepCallback_8069DD4(u8 taskId) PlaySE(SE_RU_BARI); MapGridSetMetatileIdAt(x, y, 0x20e); CurrentMapDrawMetatileAt(x, y); - sub_809E14C(x - 7, y - 7); + MarkIcePuzzleCoordVisited(x - 7, y - 7); data[1] = 1; } break; @@ -613,10 +602,10 @@ static void PerStepCallback_8069DD4(u8 taskId) } } -static void PerStepCallback_8069F64(u8 taskId) +static void AshGrassPerStepCallback(u8 taskId) { s16 x, y; - u16 *var; + u16 *ashGatherCount; s16 *data = gTasks[taskId].data; PlayerGetDestCoords(&x, &y); if (x != data[1] || y != data[2]) @@ -626,32 +615,27 @@ static void PerStepCallback_8069F64(u8 taskId) if (MetatileBehavior_IsAshGrass(MapGridGetMetatileBehaviorAt(x, y))) { if (MapGridGetMetatileIdAt(x, y) == 0x20a) - { StartAshFieldEffect(x, y, 0x212, 4); - } else - { StartAshFieldEffect(x, y, 0x206, 4); - } + if (CheckBagHasItem(ITEM_SOOT_SACK, 1)) { - var = GetVarPointer(VAR_ASH_GATHER_COUNT); - if (*var < 9999) - { - (*var)++; - } + ashGatherCount = GetVarPointer(VAR_ASH_GATHER_COUNT); + if (*ashGatherCount < 9999) + (*ashGatherCount)++; } } } } -static void sub_809E490(s16 x, s16 y) +static void SetCrackedFloorHoleMetatile(s16 x, s16 y) { MapGridSetMetatileIdAt(x, y, MapGridGetMetatileIdAt(x, y) == 0x22f ? 0x206 : 0x237); CurrentMapDrawMetatileAt(x, y); } -static void PerStepCallback_806A07C(u8 taskId) +static void CrackedFloorPerStepCallback(u8 taskId) { s16 x, y; u16 behavior; @@ -659,17 +643,14 @@ static void PerStepCallback_806A07C(u8 taskId) PlayerGetDestCoords(&x, &y); behavior = MapGridGetMetatileBehaviorAt(x, y); if (data[4] != 0 && (--data[4]) == 0) - { - sub_809E490(data[5], data[6]); - } + SetCrackedFloorHoleMetatile(data[5], data[6]); + if (data[7] != 0 && (--data[7]) == 0) - { - sub_809E490(data[8], data[9]); - } + SetCrackedFloorHoleMetatile(data[8], data[9]); + if (MetatileBehavior_IsCrackedFloorHole(behavior)) - { VarSet(VAR_ICE_STEP_COUNT, 0); // this var does double duty - } + if ((x != data[2] || y != data[3])) { data[2] = x; @@ -677,9 +658,8 @@ static void PerStepCallback_806A07C(u8 taskId) if (MetatileBehavior_IsCrackedFloor(behavior)) { if (GetPlayerSpeed() != 4) - { VarSet(VAR_ICE_STEP_COUNT, 0); // this var does double duty - } + if (data[4] == 0) { data[4] = 3; @@ -696,17 +676,14 @@ static void PerStepCallback_806A07C(u8 taskId) } } -static void sub_809E5DC(s16 *data, s16 x, s16 y) +static void SetMuddySlopeMetatile(s16 *data, s16 x, s16 y) { u16 tile; if ((--data[0]) == 0) - { tile = 0xe8; - } else - { - tile = gUnknown_085103FC[data[0] / 8]; - } + tile = sMuddySlopeMetatiles[data[0] / 8]; + MapGridSetMetatileIdAt(x, y, tile); CurrentMapDrawMetatileAt(x, y); MapGridSetMetatileIdAt(x, y, 0xe8); @@ -716,14 +693,14 @@ static void Task_MuddySlope(u8 taskId) { s16 x, y, x2, y2; int i; - u16 mapIndices; + u16 mapId; s16 *data = gTasks[taskId].data; PlayerGetDestCoords(&x, &y); - mapIndices = (gSaveBlock1Ptr->location.mapGroup << 8) | gSaveBlock1Ptr->location.mapNum; + mapId = (gSaveBlock1Ptr->location.mapGroup << 8) | gSaveBlock1Ptr->location.mapNum; switch (data[1]) { case 0: - data[0] = mapIndices; + data[0] = mapId; data[2] = x; data[3] = y; data[1] = 1; @@ -739,7 +716,7 @@ static void Task_MuddySlope(u8 taskId) data[3] = y; if (MetatileBehavior_IsMuddySlope(MapGridGetMetatileBehaviorAt(x, y))) { - for (i=4; i<14; i+=3) + for (i = 4; i < 14; i += 3) { if (data[i] == 0) { @@ -753,9 +730,9 @@ static void Task_MuddySlope(u8 taskId) } break; } - if (gCamera.active && mapIndices != data[0]) + if (gCamera.active && mapId != data[0]) { - data[0] = mapIndices; + data[0] = mapId; x2 = gCamera.x; y2 = gCamera.y; } @@ -764,13 +741,14 @@ static void Task_MuddySlope(u8 taskId) x2 = 0; y2 = 0; } + for (i = 4; i < 14; i += 3) { if (data[i]) { data[i + 1] -= x2; data[i + 2] -= y2; - sub_809E5DC(&data[i], data[i + 1], data[i + 2]); + SetMuddySlopeMetatile(&data[i], data[i + 1], data[i + 2]); } } } diff --git a/src/fieldmap.c b/src/fieldmap.c index 4efbc12345..d2ff34b1c7 100644 --- a/src/fieldmap.c +++ b/src/fieldmap.c @@ -24,84 +24,94 @@ struct ConnectionFlags u8 east:1; }; -EWRAM_DATA static u16 gUnknown_02032318[0x2800] = {0}; +EWRAM_DATA static u16 gBackupMapData[MAX_MAP_DATA_SIZE] = {0}; EWRAM_DATA struct MapHeader gMapHeader = {0}; EWRAM_DATA struct Camera gCamera = {0}; -EWRAM_DATA static struct ConnectionFlags gUnknown_02037340 = {0}; +EWRAM_DATA static struct ConnectionFlags gMapConnectionFlags = {0}; EWRAM_DATA static u32 sFiller_02037344 = 0; // without this, the next file won't align properly -struct BackupMapLayout gUnknown_03005DC0; +struct BackupMapLayout gBackupMapLayout; static const struct ConnectionFlags sDummyConnectionFlags = {0}; +static void InitMapLayoutData(struct MapHeader *mapHeader); +static void InitBackupMapLayoutData(u16 *map, u16 width, u16 height); +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 InitBackupMapLayoutConnections(struct MapHeader *mapHeader); +static void LoadSavedMapView(void); +static bool8 SkipCopyingMetatileFromSavedMap(u16* mapMetatilePtr, u16 mapWidth, u8 yMode); + struct MapHeader const *const mapconnection_get_mapheader(struct MapConnection *connection) { return Overworld_GetMapHeaderByGroupAndId(connection->mapGroup, connection->mapNum); } -void not_trainer_hill_battle_pyramid(void) +void InitMap(void) { - mapheader_copy_mapdata_with_padding(&gMapHeader); + InitMapLayoutData(&gMapHeader); sub_80E8EE0(gMapHeader.events); mapheader_run_script_with_tag_x1(); } -void sub_8087D74(void) +void InitMapFromSavedGame(void) { - mapheader_copy_mapdata_with_padding(&gMapHeader); + InitMapLayoutData(&gMapHeader); sub_80E9238(0); sub_80E8EE0(gMapHeader.events); - mapdata_from_sav2(); + LoadSavedMapView(); mapheader_run_script_with_tag_x1(); - UpdateTVScreensOnMap(gUnknown_03005DC0.width, gUnknown_03005DC0.height); + UpdateTVScreensOnMap(gBackupMapLayout.width, gBackupMapLayout.height); } -void battle_pyramid_map_load_related(u8 a0) +void InitBattlePyramidMap(u8 a0) { - CpuFastFill(0x03ff03ff, gUnknown_02032318, sizeof(gUnknown_02032318)); - sub_81AA078(gUnknown_02032318, a0); + CpuFastFill(0x03ff03ff, gBackupMapData, sizeof(gBackupMapData)); + sub_81AA078(gBackupMapData, a0); } -void trainer_hill_map_load_related(void) +void InitTrainerHillMap(void) { - CpuFastFill(0x03ff03ff, gUnknown_02032318, sizeof(gUnknown_02032318)); - sub_81D5FB4(gUnknown_02032318); + CpuFastFill(0x03ff03ff, gBackupMapData, sizeof(gBackupMapData)); + sub_81D5FB4(gBackupMapData); } -void mapheader_copy_mapdata_with_padding(struct MapHeader *mapHeader) +static void InitMapLayoutData(struct MapHeader *mapHeader) { struct MapLayout const *mapLayout; int width; int height; mapLayout = mapHeader->mapLayout; - CpuFastFill16(0x03ff, gUnknown_02032318, sizeof(gUnknown_02032318)); - gUnknown_03005DC0.map = gUnknown_02032318; + CpuFastFill16(0x03ff, gBackupMapData, sizeof(gBackupMapData)); + gBackupMapLayout.map = gBackupMapData; width = mapLayout->width + 15; - gUnknown_03005DC0.width = width; + gBackupMapLayout.width = width; height = mapLayout->height + 14; - gUnknown_03005DC0.height = height; - if (width * height <= 0x2800) + gBackupMapLayout.height = height; + if (width * height <= MAX_MAP_DATA_SIZE) { - map_copy_with_padding(mapLayout->map, mapLayout->width, mapLayout->height); - mapheader_copy_mapdata_of_adjacent_maps(mapHeader); + InitBackupMapLayoutData(mapLayout->map, mapLayout->width, mapLayout->height); + InitBackupMapLayoutConnections(mapHeader); } } -void map_copy_with_padding(u16 *map, u16 width, u16 height) +static void InitBackupMapLayoutData(u16 *map, u16 width, u16 height) { u16 *dest; int y; - dest = gUnknown_03005DC0.map; - dest += gUnknown_03005DC0.width * 7 + 7; + dest = gBackupMapLayout.map; + dest += gBackupMapLayout.width * 7 + 7; for (y = 0; y < height; y++) { CpuCopy16(map, dest, width * 2); - dest += width + 0xf; + dest += width + 15; map += width; } } -void mapheader_copy_mapdata_of_adjacent_maps(struct MapHeader *mapHeader) +static void InitBackupMapLayoutConnections(struct MapHeader *mapHeader) { int count; struct MapConnection *connection; @@ -111,56 +121,54 @@ void mapheader_copy_mapdata_of_adjacent_maps(struct MapHeader *mapHeader) { count = mapHeader->connections->count; connection = mapHeader->connections->connections; - - gUnknown_02037340 = sDummyConnectionFlags; + gMapConnectionFlags = sDummyConnectionFlags; for (i = 0; i < count; i++, connection++) { struct MapHeader const *cMap = mapconnection_get_mapheader(connection); u32 offset = connection->offset; - switch (connection->direction) { case CONNECTION_SOUTH: - fillSouthConnection(mapHeader, cMap, offset); - gUnknown_02037340.south = 1; + FillSouthConnection(mapHeader, cMap, offset); + gMapConnectionFlags.south = 1; break; case CONNECTION_NORTH: - fillNorthConnection(mapHeader, cMap, offset); - gUnknown_02037340.north = 1; + FillNorthConnection(mapHeader, cMap, offset); + gMapConnectionFlags.north = 1; break; case CONNECTION_WEST: - fillWestConnection(mapHeader, cMap, offset); - gUnknown_02037340.west = 1; + FillWestConnection(mapHeader, cMap, offset); + gMapConnectionFlags.west = 1; break; case CONNECTION_EAST: - fillEastConnection(mapHeader, cMap, offset); - gUnknown_02037340.east = 1; + FillEastConnection(mapHeader, cMap, offset); + gMapConnectionFlags.east = 1; break; } } } } -void sub_8087F54(int x, int y, struct MapHeader const *mapHeader, int x2, int y2, int width, int height) +static void sub_8087F54(int x, int y, struct MapHeader const *connectedMapHeader, int x2, int y2, int width, int height) { int i; u16 *src; u16 *dest; int mapWidth; - mapWidth = mapHeader->mapLayout->width; - src = &mapHeader->mapLayout->map[mapWidth * y2 + x2]; - dest = &gUnknown_03005DC0.map[gUnknown_03005DC0.width * y + x]; + mapWidth = connectedMapHeader->mapLayout->width; + src = &connectedMapHeader->mapLayout->map[mapWidth * y2 + x2]; + dest = &gBackupMapLayout.map[gBackupMapLayout.width * y + x]; for (i = 0; i < height; i++) { CpuCopy16(src, dest, width * 2); - dest += gUnknown_03005DC0.width; + dest += gBackupMapLayout.width; src += mapWidth; } } -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) { int x, y; int x2; @@ -176,26 +184,26 @@ void fillSouthConnection(struct MapHeader const *mapHeader, struct MapHeader con { x2 = -x; x += cWidth; - if (x < gUnknown_03005DC0.width) + if (x < gBackupMapLayout.width) { width = x; } else { - width = gUnknown_03005DC0.width; + width = gBackupMapLayout.width; } x = 0; } else { x2 = 0; - if (x + cWidth < gUnknown_03005DC0.width) + if (x + cWidth < gBackupMapLayout.width) { width = cWidth; } else { - width = gUnknown_03005DC0.width - x; + width = gBackupMapLayout.width - x; } } @@ -207,7 +215,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) { int x; int x2, y2; @@ -224,26 +232,26 @@ void fillNorthConnection(struct MapHeader const *mapHeader, struct MapHeader con { x2 = -x; x += cWidth; - if (x < gUnknown_03005DC0.width) + if (x < gBackupMapLayout.width) { width = x; } else { - width = gUnknown_03005DC0.width; + width = gBackupMapLayout.width; } x = 0; } else { x2 = 0; - if (x + cWidth < gUnknown_03005DC0.width) + if (x + cWidth < gBackupMapLayout.width) { width = cWidth; } else { - width = gUnknown_03005DC0.width - x; + width = gBackupMapLayout.width - x; } } @@ -256,7 +264,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) { int y; int x2, y2; @@ -271,26 +279,26 @@ void fillWestConnection(struct MapHeader const *mapHeader, struct MapHeader cons if (y < 0) { y2 = -y; - if (y + cHeight < gUnknown_03005DC0.height) + if (y + cHeight < gBackupMapLayout.height) { height = y + cHeight; } else { - height = gUnknown_03005DC0.height; + height = gBackupMapLayout.height; } y = 0; } else { y2 = 0; - if (y + cHeight < gUnknown_03005DC0.height) + if (y + cHeight < gBackupMapLayout.height) { height = cHeight; } else { - height = gUnknown_03005DC0.height - y; + height = gBackupMapLayout.height - y; } } @@ -302,7 +310,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) { int x, y; int y2; @@ -316,26 +324,26 @@ void fillEastConnection(struct MapHeader const *mapHeader, struct MapHeader cons if (y < 0) { y2 = -y; - if (y + cHeight < gUnknown_03005DC0.height) + if (y + cHeight < gBackupMapLayout.height) { height = y + cHeight; } else { - height = gUnknown_03005DC0.height; + height = gBackupMapLayout.height; } y = 0; } else { y2 = 0; - if (y + cHeight < gUnknown_03005DC0.height) + if (y + cHeight < gBackupMapLayout.height) { height = cHeight; } else { - height = gUnknown_03005DC0.height - y; + height = gBackupMapLayout.height - y; } } @@ -364,10 +372,10 @@ u8 MapGridGetZCoordAt(int x, int y) int i; u16 *border; - if (x >= 0 && x < gUnknown_03005DC0.width - && y >= 0 && y < gUnknown_03005DC0.height) + if (x >= 0 && x < gBackupMapLayout.width + && y >= 0 && y < gBackupMapLayout.height) { - block = gUnknown_03005DC0.map[x + gUnknown_03005DC0.width * y]; + block = gBackupMapLayout.map[x + gBackupMapLayout.width * y]; } else { @@ -392,10 +400,10 @@ u8 MapGridIsImpassableAt(int x, int y) int i; u16 *border; - if (x >= 0 && x < gUnknown_03005DC0.width - && y >= 0 && y < gUnknown_03005DC0.height) + if (x >= 0 && x < gBackupMapLayout.width + && y >= 0 && y < gBackupMapLayout.height) { - block = gUnknown_03005DC0.map[x + gUnknown_03005DC0.width * y]; + block = gBackupMapLayout.map[x + gBackupMapLayout.width * y]; } else { @@ -421,10 +429,10 @@ u32 MapGridGetMetatileIdAt(int x, int y) u16 *border; u16 block2; - if (x >= 0 && x < gUnknown_03005DC0.width - && y >= 0 && y < gUnknown_03005DC0.height) + if (x >= 0 && x < gBackupMapLayout.width + && y >= 0 && y < gBackupMapLayout.height) { - block = gUnknown_03005DC0.map[x + gUnknown_03005DC0.width * y]; + block = gBackupMapLayout.map[x + gBackupMapLayout.width * y]; } else { @@ -462,22 +470,22 @@ u8 MapGridGetMetatileLayerTypeAt(int x, int y) void MapGridSetMetatileIdAt(int x, int y, u16 metatile) { int i; - if (x >= 0 && x < gUnknown_03005DC0.width - && y >= 0 && y < gUnknown_03005DC0.height) + if (x >= 0 && x < gBackupMapLayout.width + && y >= 0 && y < gBackupMapLayout.height) { - i = x + y * gUnknown_03005DC0.width; - gUnknown_03005DC0.map[i] = (gUnknown_03005DC0.map[i] & 0xf000) | (metatile & 0xfff); + i = x + y * gBackupMapLayout.width; + gBackupMapLayout.map[i] = (gBackupMapLayout.map[i] & 0xf000) | (metatile & 0xfff); } } void MapGridSetMetatileEntryAt(int x, int y, u16 metatile) { int i; - if (x >= 0 && x < gUnknown_03005DC0.width - && y >= 0 && y < gUnknown_03005DC0.height) + if (x >= 0 && x < gBackupMapLayout.width + && y >= 0 && y < gBackupMapLayout.height) { - i = x + gUnknown_03005DC0.width * y; - gUnknown_03005DC0.map[i] = metatile; + i = x + gBackupMapLayout.width * y; + gBackupMapLayout.map[i] = metatile; } } @@ -507,76 +515,75 @@ void save_serialize_map(void) u16 *mapView; int width; mapView = gSaveBlock1Ptr->mapView; - width = gUnknown_03005DC0.width; + width = gBackupMapLayout.width; x = gSaveBlock1Ptr->pos.x; y = gSaveBlock1Ptr->pos.y; for (i = y; i < y + 14; i++) { for (j = x; j < x + 15; j++) { - *mapView++ = gUnknown_02032318[width * i + j]; + *mapView++ = gBackupMapData[width * i + j]; } } } -int sub_8088438(void) +static bool32 SavedMapViewIsEmpty(void) { u16 i; - u32 r2; - r2 = 0; + u32 marker = 0; + + // BUG: This loop extends past the bounds of the mapView array. Its size is only 0x100. for (i = 0; i < 0x200; i++) - { - r2 |= gSaveBlock1Ptr->mapView[i]; - } - if (r2 == 0) - { - return 1; - } - return 0; + marker |= gSaveBlock1Ptr->mapView[i]; + + if (marker == 0) + return TRUE; + else + return FALSE; } -void sav2_mapdata_clear(void) +static void ClearSavedMapView(void) { CpuFill16(0, gSaveBlock1Ptr->mapView, sizeof(gSaveBlock1Ptr->mapView)); } -void mapdata_from_sav2(void) +static void LoadSavedMapView(void) { - u8 a0; + u8 yMode; int i, j; int x, y; u16 *mapView; int width; mapView = gSaveBlock1Ptr->mapView; - if (!sub_8088438()) + if (!SavedMapViewIsEmpty()) { - width = gUnknown_03005DC0.width; + width = gBackupMapLayout.width; x = gSaveBlock1Ptr->pos.x; y = gSaveBlock1Ptr->pos.y; for (i = y; i < y + 14; i++) { if (i == y && i != 0) - a0 = 0; + yMode = 0; else if (i == y + 13 && i != gMapHeader.mapLayout->height - 1) - a0 = 1; + yMode = 1; else - a0 = -1; + yMode = 0xFF; for (j = x; j < x + 15; j++) { - if (!sub_8088BF0(&gUnknown_02032318[j + width * i], width, a0)) - gUnknown_02032318[j + width * i] = *mapView; + if (!SkipCopyingMetatileFromSavedMap(&gBackupMapData[j + width * i], width, yMode)) + gBackupMapData[j + width * i] = *mapView; mapView++; } } for (j = x; j < x + 15; j++) { if (y != 0) - sub_80D423C(j, y - 1); + FixLongGrassMetatilesWindowTop(j, y - 1); if (i < gMapHeader.mapLayout->height - 1) - sub_80D42B8(j, y + 13); + FixLongGrassMetatilesWindowBottom(j, y + 13); } - sav2_mapdata_clear(); + ClearSavedMapView(); } } @@ -592,7 +599,7 @@ void sub_80885C4(u8 a1) int x, y; int i, j; mapView = gSaveBlock1Ptr->mapView; - width = gUnknown_03005DC0.width; + width = gBackupMapLayout.width; r9 = 0; r8 = 0; x0 = gSaveBlock1Ptr->pos.x; @@ -627,13 +634,13 @@ void sub_80885C4(u8 a1) desti = width * (y + y0); srci = (y + r8) * 15 + r9; src = &mapView[srci + i]; - dest = &gUnknown_02032318[x0 + desti + j]; + dest = &gBackupMapData[x0 + desti + j]; *dest = *src; i++; j++; } } - sav2_mapdata_clear(); + ClearSavedMapView(); } int GetMapBorderIdAt(int x, int y) @@ -641,12 +648,12 @@ int GetMapBorderIdAt(int x, int y) struct MapLayout const *mapLayout; u16 block, block2; int i, j; - if (x >= 0 && x < gUnknown_03005DC0.width - && y >= 0 && y < gUnknown_03005DC0.height) + if (x >= 0 && x < gBackupMapLayout.width + && y >= 0 && y < gBackupMapLayout.height) { - i = gUnknown_03005DC0.width; + i = gBackupMapLayout.width; i *= y; - block = gUnknown_03005DC0.map[x + i]; + block = gBackupMapLayout.map[x + i]; if (block == 0x3ff) { goto fail; @@ -668,9 +675,9 @@ fail: return -1; success: - if (x >= (gUnknown_03005DC0.width - 8)) + if (x >= (gBackupMapLayout.width - 8)) { - if (!gUnknown_02037340.east) + if (!gMapConnectionFlags.east) { return -1; } @@ -678,15 +685,15 @@ success: } else if (x < 7) { - if (!gUnknown_02037340.west) + if (!gMapConnectionFlags.west) { return -1; } return CONNECTION_WEST; } - else if (y >= (gUnknown_03005DC0.height - 7)) + else if (y >= (gBackupMapLayout.height - 7)) { - if (!gUnknown_02037340.south) + if (!gMapConnectionFlags.south) { return -1; } @@ -694,7 +701,7 @@ success: } else if (y < 7) { - if (!gUnknown_02037340.north) + if (!gMapConnectionFlags.north) { return -1; } @@ -891,13 +898,13 @@ void sub_8088B3C(u16 x, u16 y) gSaveBlock1Ptr->pos.y = y - 7; } -void sav1_camera_get_focus_coords(u16 *x, u16 *y) +void GetCameraFocusCoords(u16 *x, u16 *y) { *x = gSaveBlock1Ptr->pos.x + 7; *y = gSaveBlock1Ptr->pos.y + 7; } -void SetCameraCoords(u16 x, u16 y) +void SetPlayerCoords(u16 x, u16 y) { gSaveBlock1Ptr->pos.x = x; gSaveBlock1Ptr->pos.y = y; @@ -911,26 +918,26 @@ void GetCameraCoords(u16 *x, u16 *y) void sub_8088B94(int x, int y, int a2) { - if (x >= 0 && x < gUnknown_03005DC0.width && y >= 0 && y < gUnknown_03005DC0.height) + if (x >= 0 && x < gBackupMapLayout.width && y >= 0 && y < gBackupMapLayout.height) { if (a2 != 0) - gUnknown_03005DC0.map[x + gUnknown_03005DC0.width * y] |= 0xC00; + gBackupMapLayout.map[x + gBackupMapLayout.width * y] |= 0xC00; else - gUnknown_03005DC0.map[x + gUnknown_03005DC0.width * y] &= 0xF3FF; + gBackupMapLayout.map[x + gBackupMapLayout.width * y] &= 0xF3FF; } } -bool8 sub_8088BF0(u16* a0, u16 a1, u8 a2) +static bool8 SkipCopyingMetatileFromSavedMap(u16* mapMetatilePtr, u16 mapWidth, u8 yMode) { - if (a2 == 0xFF) + if (yMode == 0xFF) return FALSE; - if (a2 == 0) - a0 -= a1; + if (yMode == 0) + mapMetatilePtr -= mapWidth; else - a0 += a1; + mapMetatilePtr += mapWidth; - if (sub_80FADE4(*a0 & 0x3FF, a2) == 1) + if (sub_80FADE4(*mapMetatilePtr & 0x3FF, yMode) == 1) return TRUE; return FALSE; } @@ -986,7 +993,7 @@ void apply_map_tileset_palette(struct Tileset const *tileset, u16 destOffset, u1 } else { - LoadCompressedPalette((u16*)tileset->palettes, destOffset, size); + LoadCompressedPalette((u32*)tileset->palettes, destOffset, size); nullsub_3(destOffset, size >> 1); } } diff --git a/src/fight.c b/src/fight.c index 6ebae57a07..17589c4803 100644 --- a/src/fight.c +++ b/src/fight.c @@ -508,8 +508,8 @@ void sub_810CF30(struct Sprite *sprite) sprite->pos1.x = GetBattlerSpriteCoord(battler, 2); sprite->pos1.y = GetBattlerSpriteCoord(battler, 3); - xMod = sub_80A861C(battler, 1) / 2; - yMod = sub_80A861C(battler, 0) / 4; + xMod = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_WIDTH) / 2; + yMod = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_HEIGHT) / 4; x = Random2() % xMod; y = Random2() % yMod; diff --git a/src/fldeff_cut.c b/src/fldeff_cut.c index 60887a5cce..348a1f46c9 100644 --- a/src/fldeff_cut.c +++ b/src/fldeff_cut.c @@ -624,7 +624,7 @@ static void CutGrassSpriteCallbackEnd(struct Sprite *sprite) ScriptContext1_SetupScript(FarawayIsland_Interior_EventScript_267EDB); } -void sub_80D423C(s16 x, s16 y) +void FixLongGrassMetatilesWindowTop(s16 x, s16 y) { u8 metatileBehavior = MapGridGetMetatileBehaviorAt(x, y); if (MetatileBehavior_IsLongGrass_Duplicate(metatileBehavior)) @@ -647,7 +647,7 @@ void sub_80D423C(s16 x, s16 y) } } -void sub_80D42B8(s16 x, s16 y) +void FixLongGrassMetatilesWindowBottom(s16 x, s16 y) { if (MapGridGetMetatileIdAt(x, y) == METATILE_ID_GRASS) { diff --git a/src/fldeff_misc.c b/src/fldeff_misc.c index 1f4c6f9fbd..df4576a7f8 100644 --- a/src/fldeff_misc.c +++ b/src/fldeff_misc.c @@ -1166,23 +1166,23 @@ void GetShieldToyTVDecorationInfo(void) } } -bool8 sub_80FADE4(u16 arg0, u8 arg1) +bool8 sub_80FADE4(u16 metatileId, u8 arg1) { if (!CurrentMapIsSecretBase()) return FALSE; if (!arg1) { - if (arg0 == 0x285 || arg0 == 0x286) + if (metatileId == 0x285 || metatileId == 0x286) return TRUE; - if (arg0 == 0x237) + if (metatileId == 0x237) return TRUE; } else { - if (arg0 == 0x28d) + if (metatileId == 0x28d) return TRUE; - if (arg0 == 0x23F) + if (metatileId == 0x23F) return TRUE; } diff --git a/src/ghost.c b/src/ghost.c index a755783b77..d26a4d1cb9 100644 --- a/src/ghost.c +++ b/src/ghost.c @@ -800,7 +800,7 @@ void sub_81123C4(u8 taskId) task->data[10] = gBattleAnimArgs[0]; baseX = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); - baseY = sub_80A861C(gBattleAnimAttacker, 3); + baseY = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_BOTTOM); if (!IsContest()) { for (battler = 0; battler < 4; battler++) @@ -813,7 +813,7 @@ void sub_81123C4(u8 taskId) if (spriteId != MAX_SPRITES) { x = GetBattlerSpriteCoord(battler, 2); - y = sub_80A861C(battler, 3); + y = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_BOTTOM); gSprites[spriteId].data[0] = baseX << 4; gSprites[spriteId].data[1] = baseY << 4; gSprites[spriteId].data[2] = ((x - baseX) << 4) / gBattleAnimArgs[1]; @@ -1168,7 +1168,7 @@ void sub_8112C6C(u8 taskId) task->data[1] = 16; task->data[9] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); task->data[10] = GetBattlerYCoordWithElevation(gBattleAnimAttacker); - task->data[11] = (sub_80A861C(gBattleAnimAttacker, 1) / 2) + 8; + task->data[11] = (GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_WIDTH) / 2) + 8; task->data[7] = 0; task->data[5] = GetBattlerSpriteBGPriority(gBattleAnimAttacker); task->data[6] = GetBattlerSpriteSubpriority(gBattleAnimAttacker) - 2; diff --git a/src/graphics.c b/src/graphics.c index 767eb3dc4f..4c2974ef26 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -904,9 +904,9 @@ const u32 gBattleStatMask6_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat6 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 u8 gUnknown_08C2DC68[] = INCBIN_U8("graphics/battle_anims/masks/cure_bubbles.4bpp.lz"); -const u16 gUnknown_08C2DDA4[] = INCBIN_U16("graphics/battle_anims/masks/cure_bubbles.gbapal.lz"); -const u8 gUnknown_08C2DDC4[] = INCBIN_U8("graphics/battle_anims/masks/cure_bubbles.bin.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 gBattleAnimSpritePalette_245[] = INCBIN_U32("graphics/battle_anims/sprites/245.gbapal.lz"); const u32 gBattleAnimSpriteSheet_245[] = INCBIN_U32("graphics/battle_anims/sprites/245.4bpp.lz"); diff --git a/src/ice.c b/src/ice.c index 05ca630d52..77b3700ef0 100644 --- a/src/ice.c +++ b/src/ice.c @@ -1599,12 +1599,12 @@ bool8 GenerateHailParticle(u8 a, u8 b, u8 taskId, u8 c) switch (unk) { case 0: - battlerX -= sub_80A861C(battler, 1) / 6; - battlerY -= sub_80A861C(battler, 0) / 6; + battlerX -= GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_WIDTH) / 6; + battlerY -= GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_HEIGHT) / 6; break; case 1: - battlerX += sub_80A861C(battler, 1) / 6; - battlerY += sub_80A861C(battler, 0) / 6; + battlerX += GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_WIDTH) / 6; + battlerY += GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_HEIGHT) / 6; break; } } @@ -1692,7 +1692,7 @@ bool8 GenerateHailParticle(u8 a, u8 b, u8 taskId, u8 c) _0810CA60:\n\ adds r0, r5, 0\n\ movs r1, 0x1\n\ - bl sub_80A861C\n\ + bl GetBattlerSpriteCoordAttr\n\ lsls r0, 16\n\ asrs r0, 16\n\ movs r1, 0x6\n\ @@ -1704,7 +1704,7 @@ _0810CA60:\n\ lsrs r7, r1, 16\n\ adds r0, r5, 0\n\ movs r1, 0\n\ - bl sub_80A861C\n\ + bl GetBattlerSpriteCoordAttr\n\ lsls r0, 16\n\ asrs r0, 16\n\ movs r1, 0x6\n\ @@ -1716,7 +1716,7 @@ _0810CA60:\n\ _0810CA96:\n\ adds r0, r5, 0\n\ movs r1, 0x1\n\ - bl sub_80A861C\n\ + bl GetBattlerSpriteCoordAttr\n\ lsls r0, 16\n\ asrs r0, 16\n\ movs r1, 0x6\n\ @@ -1728,7 +1728,7 @@ _0810CA96:\n\ lsrs r7, r1, 16\n\ adds r0, r5, 0\n\ movs r1, 0\n\ - bl sub_80A861C\n\ + bl GetBattlerSpriteCoordAttr\n\ lsls r0, 16\n\ asrs r0, 16\n\ movs r1, 0x6\n\ diff --git a/src/item_use.c b/src/item_use.c index 35004d7745..4f26394319 100755 --- a/src/item_use.c +++ b/src/item_use.c @@ -32,6 +32,7 @@ #include "task.h" #include "text.h" #include "constants/bg_event_constants.h" +#include "constants/event_objects.h" #include "constants/flags.h" #include "constants/items.h" #include "constants/songs.h" @@ -570,15 +571,15 @@ u8 sub_80FD9B0(s16 itemX, s16 itemY) void sub_80FDA24(u8 direction) { - EventObjectClearHeldMovementIfFinished(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]); - EventObjectClearHeldMovement(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]); - UnfreezeEventObject(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]); + EventObjectClearHeldMovementIfFinished(&gEventObjects[GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0)]); + EventObjectClearHeldMovement(&gEventObjects[GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0)]); + UnfreezeEventObject(&gEventObjects[GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0)]); PlayerTurnInPlace(direction); } void sub_80FDA94(u8 taskId) { - if (EventObjectCheckHeldMovementStatus(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]) == TRUE) + if (EventObjectCheckHeldMovementStatus(&gEventObjects[GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0)]) == TRUE) DisplayItemMessageOnField(taskId, gText_ItemFinderNearby, sub_80FD5CC); } @@ -586,7 +587,7 @@ void sub_80FDADC(u8 taskId) { s16 *data = gTasks[taskId].data; - if (EventObjectCheckHeldMovementStatus(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]) == TRUE + if (EventObjectCheckHeldMovementStatus(&gEventObjects[GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0)]) == TRUE || data[2] == FALSE) { sub_80FDA24(gUnknown_085920E4[data[5]]); @@ -665,7 +666,7 @@ void ItemUseOutOfBattle_PowderJar(u8 taskId) void sub_80FDD10(u8 taskId) { - if (IsPlayerFacingPlantedBerryTree() == TRUE) + if (IsPlayerFacingEmptyBerryTreePatch() == TRUE) { gUnknown_0203A0F4 = sub_80FDD74; gFieldCallback = MapPostLoadHook_UseItem; diff --git a/src/link.c b/src/link.c index 79df699efb..bec9dddc6e 100644 --- a/src/link.c +++ b/src/link.c @@ -317,7 +317,7 @@ static void InitLocalLinkPlayer(void) gLocalLinkPlayer.version = gGameVersion + 0x4000; gLocalLinkPlayer.lp_field_2 = 0x8000; gLocalLinkPlayer.name[8] = IsNationalPokedexEnabled(); - if (FlagGet(FLAG_0x87F)) + if (FlagGet(FLAG_IS_CHAMPION)) { gLocalLinkPlayer.name[8] |= 0x10; } @@ -1080,7 +1080,7 @@ bool8 sub_800A4D8(u8 a0) return FALSE; } -bool8 sub_800A520(void) +bool8 IsLinkTaskFinished(void) { if (gWirelessCommType == TRUE) { diff --git a/src/link_rfu.c b/src/link_rfu.c index 5f4beadeef..0f997591fd 100644 --- a/src/link_rfu.c +++ b/src/link_rfu.c @@ -2140,7 +2140,7 @@ void sub_800DD94(struct UnkLinkRfuStruct_02022B14 *data, u8 r9, bool32 r2, s32 r data->unk_00.unk_00_4 = 0; data->unk_00.unk_00_5 = 0; data->unk_00.unk_00_6 = 0; - data->unk_00.unk_00_7 = FlagGet(FLAG_0x87F); + data->unk_00.unk_00_7 = FlagGet(FLAG_IS_CHAMPION); data->unk_00.unk_01_0 = IsNationalPokedexEnabled(); data->unk_00.unk_01_1 = FlagGet(FLAG_SYS_GAME_CLEAR); } @@ -4123,7 +4123,7 @@ void sub_8010AAC(u8 taskId) gTasks[taskId].data[0]++; break; case 5: - if (sub_800A520() && GetBlockReceivedStatus() & 1) + if (IsLinkTaskFinished() && GetBlockReceivedStatus() & 1) { CpuFill16(0, gBlockRecvBuffer, sizeof(struct UnkRfuStruct_8010A14)); ResetBlockReceivedFlag(0); @@ -4162,7 +4162,7 @@ void sub_8010D0C(u8 taskId) } break; case 1: - if (sub_800A520()) + if (IsLinkTaskFinished()) gTasks[taskId].data[0]++; break; case 2: diff --git a/src/match_call.c b/src/match_call.c index a157000705..e7e91969f1 100644 --- a/src/match_call.c +++ b/src/match_call.c @@ -1,1275 +1,2017 @@ - -// Includes #include "global.h" -#include "battle_setup.h" -#include "event_data.h" -#include "string_util.h" +#include "alloc.h" #include "battle.h" -#include "gym_leader_rematch.h" +#include "battle_setup.h" +#include "bg.h" +#include "data2.h" +#include "event_data.h" +#include "event_object_movement.h" +#include "field_player_avatar.h" +#include "main.h" +#include "menu.h" +#include "new_game.h" +#include "overworld.h" +#include "palette.h" +#include "pokedex.h" +#include "pokemon.h" +#include "random.h" +#include "region_map.h" +#include "rtc.h" +#include "script.h" +#include "script_movement.h" +#include "sound.h" +#include "string_util.h" +#include "strings.h" +#include "task.h" +#include "wild_encounter.h" +#include "window.h" +#include "constants/abilities.h" +#include "constants/battle_frontier.h" +#include "constants/event_objects.h" +#include "constants/maps.h" +#include "constants/region_map_sections.h" +#include "constants/songs.h" +#include "constants/species.h" +#include "constants/trainers.h" -extern void sub_8197080(u8 *dest); -extern const u8 gTrainerClassNames[][13]; +struct MatchCallState +{ + u32 minutes; + u16 trainerId; + u8 stepCounter; + u8 triggeredFromScript; +}; -// Static type declarations +struct MatchCallTrainerTextInfo +{ + u16 trainerId; + u16 unused; + u16 battleTopicTextIds[3]; + u16 generalTextId; + u8 battleFrontierRecordStreakTextIndex; + u16 sameRouteMatchCallTextId; + u16 differentRouteMatchCallTextId; +}; -typedef struct MatchCallTextDataStruct { +struct MatchCallText +{ const u8 *text; - u16 flag; - u16 flag2; -} match_call_text_data_t; - -struct MatchCallStructCommon { - u8 type; - u8 v1; - u16 flag; + s8 stringVarFuncIds[3]; }; -struct MatchCallStruct0 { - u8 type; - u8 v1; - u16 flag; - const u8 *desc; - const u8 *name; - const match_call_text_data_t *textData; -}; - -struct MatchCallStruct1 { - u8 type; - u8 v1; - u16 flag; - u16 rematchTableIdx; - const u8 *desc; - const u8 *name; - const match_call_text_data_t *textData; -}; - -struct MatchCallSubstruct2 { - u16 flag; - u8 v2; -}; - -struct MatchCallStruct2 { - u8 type; - u8 v1; - u16 flag; - u16 rematchTableIdx; - const u8 *desc; - const match_call_text_data_t *textData; - const struct MatchCallSubstruct2 *v10; -}; - -struct MatchCallStruct3 { - u8 type; - u8 v1; - u16 flag; - const u8 *desc; - const u8 *name; -}; - -struct MatchCallStruct4 { - u8 type; - u8 gender; - u16 flag; - const u8 *desc; - const u8 *name; - const match_call_text_data_t *textData; -}; - -struct MatchCallStruct5 { - u8 type; - u8 v1; - u16 flag; - u16 v4; - const u8 *desc; - const u8 *name; - const match_call_text_data_t *textData; -}; - -#define MATCHCALLDEF(name, type_, ...) \ -static const struct MatchCallStruct##type_ name = { \ - .type = type_, \ - __VA_ARGS__ \ -}; - -typedef union { - const struct MatchCallStructCommon *common; - const struct MatchCallStruct0 *type0; - const struct MatchCallStruct1 *type1; - const struct MatchCallStruct2 *type2; - const struct MatchCallStruct3 *type3; - const struct MatchCallStruct4 *type4; - const struct MatchCallStruct5 *type5; -} match_call_t; - -struct UnkStruct_08625388 { - u16 idx; - u16 v2; - u16 v4; - const u8 *v8[4]; -}; - -// Static RAM declarations - -// Static ROM declarations - -static bool32 MatchCallGetFlag_Type0(match_call_t); -static bool32 MatchCallGetFlag_Type1(match_call_t); -static bool32 MatchCallGetFlag_Type2(match_call_t); -static bool32 MatchCallGetFlag_Type3(match_call_t); -static bool32 MatchCallGetFlag_Type4(match_call_t); - -static u8 sub_81D1714(match_call_t); -static u8 sub_81D1718(match_call_t); -static u8 sub_81D171C(match_call_t); -static u8 sub_81D1750(match_call_t); -static u8 sub_81D1754(match_call_t); - -static bool32 MatchCall_IsRematchable_Type0(match_call_t); -static bool32 MatchCall_IsRematchable_Type1(match_call_t); -static bool32 MatchCall_IsRematchable_Type2(match_call_t); -static bool32 MatchCall_IsRematchable_Type3(match_call_t); -static bool32 MatchCall_IsRematchable_Type4(match_call_t); - -static bool32 sub_81D1840(match_call_t); -static bool32 sub_81D1844(match_call_t); -static bool32 sub_81D1848(match_call_t); -static bool32 sub_81D184C(match_call_t); -static bool32 sub_81D1850(match_call_t); - -static u32 MatchCall_GetRematchTableIdx_Type0(match_call_t); -static u32 MatchCall_GetRematchTableIdx_Type1(match_call_t); -static u32 MatchCall_GetRematchTableIdx_Type2(match_call_t); -static u32 MatchCall_GetRematchTableIdx_Type3(match_call_t); -static u32 MatchCall_GetRematchTableIdx_Type4(match_call_t); - -static void MatchCall_GetMessage_Type0(match_call_t, u8 *); -static void MatchCall_GetMessage_Type1(match_call_t, u8 *); -static void MatchCall_GetMessage_Type2(match_call_t, u8 *); -static void MatchCall_GetMessage_Type3(match_call_t, u8 *); -static void MatchCall_GetMessage_Type4(match_call_t, u8 *); - -static void MatchCall_GetNameAndDesc_Type0(match_call_t, const u8 **, const u8 **); -static void MatchCall_GetNameAndDesc_Type1(match_call_t, const u8 **, const u8 **); -static void MatchCall_GetNameAndDesc_Type2(match_call_t, const u8 **, const u8 **); -static void MatchCall_GetNameAndDesc_Type3(match_call_t, const u8 **, const u8 **); -static void MatchCall_GetNameAndDesc_Type4(match_call_t, const u8 **, const u8 **); - -static void sub_81D1920(const match_call_text_data_t *, u8 *); -static void sub_81D199C(const match_call_text_data_t *, u16, u8 *); -static void MatchCall_GetNameAndDescByRematchIdx(u32, const u8 **, const u8 **); - -extern const u8 gText_MrStone_Pokenav_2B60C0[]; -extern const u8 gText_MrStone_Pokenav_2B61E6[]; -extern const u8 gText_MrStone_Pokenav_2B6302[]; -extern const u8 gText_MrStone_Pokenav_2B63A0[]; -extern const u8 gText_MrStone_Pokenav_2B64A2[]; -extern const u8 gText_MrStone_Pokenav_2B6526[]; -extern const u8 gText_MrStone_Pokenav_2B65BB[]; -extern const u8 gText_MrStone_Pokenav_2B6664[]; -extern const u8 gText_MrStone_Pokenav_2B66B1[]; -extern const u8 gText_MrStone_Pokenav_2B6703[]; -extern const u8 gText_MrStone_Pokenav_2B67ED[]; - -extern const u8 gMrStoneMatchCallDesc[]; -extern const u8 gMrStoneMatchCallName[]; - -extern const u8 gText_Norman_Pokenav_2B5719[]; -extern const u8 gText_Norman_Pokenav_2B5795[]; -extern const u8 gText_Norman_Pokenav_2B584D[]; -extern const u8 gText_Norman_Pokenav_2B58E3[]; -extern const u8 gText_Norman_Pokenav_2B5979[]; -extern const u8 gText_Norman_Pokenav_2B5A07[]; -extern const u8 gText_Norman_Pokenav_2B5A69[]; -extern const u8 gText_Norman_Pokenav_2B5ACF[]; -extern const u8 gText_Norman_Pokenav_2B5B5E[]; - -extern const u8 gNormanMatchCallDesc[]; -extern const u8 gNormanMatchCallName[]; - -extern const u8 gProfBirchMatchCallDesc[]; -extern const u8 gProfBirchMatchCallName[]; - -extern const u8 gText_Mom_Pokenav_2B227B[]; -extern const u8 gText_Mom_Pokenav_2B2310[]; -extern const u8 gText_Mom_Pokenav_2B23F3[]; - -extern const u8 gMomMatchCallDesc[]; -extern const u8 gMomMatchCallName[]; - -extern const u8 gText_Steven_Pokenav_2B5B95[]; -extern const u8 gText_Steven_Pokenav_2B5C53[]; -extern const u8 gText_Steven_Pokenav_2B5CC9[]; -extern const u8 gText_Steven_Pokenav_2B5DB4[]; -extern const u8 gText_Steven_Pokenav_2B5E26[]; -extern const u8 gText_Steven_Pokenav_2B5EA2[]; -extern const u8 gText_Steven_Pokenav_2B5ED9[]; - -extern const u8 gStevenMatchCallDesc[]; -extern const u8 gStevenMatchCallName[]; - -extern const u8 gText_May_Pokenav_2B3AB3[]; -extern const u8 gText_May_Pokenav_2B3B3F[]; -extern const u8 gText_May_Pokenav_2B3C13[]; -extern const u8 gText_May_Pokenav_2B3CF3[]; -extern const u8 gText_May_Pokenav_2B3D4B[]; -extern const u8 gText_May_Pokenav_2B3DD1[]; -extern const u8 gText_May_Pokenav_2B3E69[]; -extern const u8 gText_May_Pokenav_2B3ECD[]; -extern const u8 gText_May_Pokenav_2B3F2B[]; -extern const u8 gText_May_Pokenav_2B3FFB[]; -extern const u8 gText_May_Pokenav_2B402B[]; -extern const u8 gText_May_Pokenav_2B414B[]; -extern const u8 gText_May_Pokenav_2B4228[]; -extern const u8 gText_May_Pokenav_2B42E0[]; -extern const u8 gText_May_Pokenav_2B4350[]; -extern const u8 gMayBrendanMatchCallDesc[]; -extern const u8 gExpandedPlaceholder_May[]; -extern const u8 gText_Brendan_Pokenav_2B43EF[]; -extern const u8 gText_Brendan_Pokenav_2B4486[]; -extern const u8 gText_Brendan_Pokenav_2B4560[]; -extern const u8 gText_Brendan_Pokenav_2B463F[]; -extern const u8 gText_Brendan_Pokenav_2B46B7[]; -extern const u8 gText_Brendan_Pokenav_2B4761[]; -extern const u8 gText_Brendan_Pokenav_2B47F4[]; -extern const u8 gText_Brendan_Pokenav_2B4882[]; -extern const u8 gText_Brendan_Pokenav_2B4909[]; -extern const u8 gText_Brendan_Pokenav_2B49C4[]; -extern const u8 gText_Brendan_Pokenav_2B4A44[]; -extern const u8 gText_Brendan_Pokenav_2B4B28[]; -extern const u8 gText_Brendan_Pokenav_2B4C15[]; -extern const u8 gText_Brendan_Pokenav_2B4CD8[]; -extern const u8 gText_Brendan_Pokenav_2B4D46[]; -extern const u8 gExpandedPlaceholder_Brendan[]; -extern const u8 gText_Wally_Pokenav_2B4DE2[]; -extern const u8 gText_Wally_Pokenav_2B4E57[]; -extern const u8 gText_Wally_Pokenav_2B4EA5[]; -extern const u8 gText_Wally_Pokenav_2B4F41[]; -extern const u8 gText_Wally_Pokenav_2B4FF3[]; -extern const u8 gText_Wally_Pokenav_2B50B1[]; -extern const u8 gText_Wally_Pokenav_2B5100[]; -extern const u8 gWallyMatchCallDesc[]; -extern const u8 gText_Scott_Pokenav_2B5184[]; -extern const u8 gText_Scott_Pokenav_2B5275[]; -extern const u8 gText_Scott_Pokenav_2B5323[]; -extern const u8 gText_Scott_Pokenav_2B53DB[]; -extern const u8 gText_Scott_Pokenav_2B54A5[]; -extern const u8 gText_Scott_Pokenav_2B5541[]; -extern const u8 gText_Scott_Pokenav_2B56CA[]; -extern const u8 gScottMatchCallDesc[]; -extern const u8 gScottMatchCallName[]; -extern const u8 gText_Roxanne_Pokenav_2B2456[]; -extern const u8 gText_Roxanne_Pokenav_2B250E[]; -extern const u8 gText_Roxanne_Pokenav_2B25C1[]; -extern const u8 gText_Roxanne_Pokenav_2B2607[]; -extern const u8 gRoxanneMatchCallDesc[]; -extern const u8 gText_Brawly_Pokenav_2B2659[]; -extern const u8 gText_Brawly_Pokenav_2B275D[]; -extern const u8 gText_Brawly_Pokenav_2B286F[]; -extern const u8 gText_Brawly_Pokenav_2B28D1[]; -extern const u8 gBrawlyMatchCallDesc[]; -extern const u8 gText_Wattson_Pokenav_2B2912[]; -extern const u8 gText_Wattson_Pokenav_2B29CA[]; -extern const u8 gText_Wattson_Pokenav_2B2AB6[]; -extern const u8 gText_Wattson_Pokenav_2B2B01[]; -extern const u8 gWattsonMatchCallDesc[]; -extern const u8 gText_Flannery_Pokenav_2B2B4D[]; -extern const u8 gText_Flannery_Pokenav_2B2C0E[]; -extern const u8 gText_Flannery_Pokenav_2B2CF1[]; -extern const u8 gText_Flannery_Pokenav_2B2D54[]; -extern const u8 gFlanneryMatchCallDesc[]; -extern const u8 gText_Winona_Pokenav_2B2DA4[]; -extern const u8 gText_Winona_Pokenav_2B2E2B[]; -extern const u8 gText_Winona_Pokenav_2B2EC2[]; -extern const u8 gText_Winona_Pokenav_2B2F16[]; -extern const u8 gWinonaMatchCallDesc[]; -extern const u8 gText_TateLiza_Pokenav_2B2F97[]; -extern const u8 gText_TateLiza_Pokenav_2B306E[]; -extern const u8 gText_TateLiza_Pokenav_2B3158[]; -extern const u8 gText_TateLiza_Pokenav_2B31CD[]; -extern const u8 gTateLizaMatchCallDesc[]; -extern const u8 gText_Juan_Pokenav_2B3249[]; -extern const u8 gText_Juan_Pokenav_2B32EC[]; -extern const u8 gText_Juan_Pokenav_2B33AA[]; -extern const u8 gText_Juan_Pokenav_2B341E[]; -extern const u8 gJuanMatchCallDesc[]; -extern const u8 gText_Sidney_Pokenav_2B34CC[]; -extern const u8 gEliteFourMatchCallDesc[]; -extern const u8 gText_Phoebe_Pokenav_2B3561[]; -extern const u8 gText_Glacia_Pokenav_2B35E4[]; -extern const u8 gText_Drake_Pokenav_2B368B[]; -extern const u8 gText_Wallace_Pokenav_2B3790[]; -extern const u8 gChampionMatchCallDesc[]; -extern const u8 gMatchCallStevenStrategyText[]; -extern const u8 gMatchCall_StevenTrainersPokemonText[]; -extern const u8 gMatchCall_StevenSelfIntroductionText_Line1_BeforeMeteorFallsBattle[]; -extern const u8 gMatchCall_StevenSelfIntroductionText_Line2_BeforeMeteorFallsBattle[]; -extern const u8 gMatchCall_StevenSelfIntroductionText_Line1_AfterMeteorFallsBattle[]; -extern const u8 gMatchCall_StevenSelfIntroductionText_Line2_AfterMeteorFallsBattle[]; -extern const u8 gMatchCall_BrendanStrategyText[]; -extern const u8 gMatchCall_BrendanTrainersPokemonText[]; -extern const u8 gMatchCall_BrendanSelfIntroductionText_Line1[]; -extern const u8 gMatchCall_BrendanSelfIntroductionText_Line2[]; -extern const u8 gMatchCall_MayStrategyText[]; -extern const u8 gMatchCall_MayTrainersPokemonText[]; -extern const u8 gMatchCall_MaySelfIntroductionText_Line1[]; -extern const u8 gMatchCall_MaySelfIntroductionText_Line2[]; -// .rodata - -static const match_call_text_data_t sMrStoneTextScripts[] = { - { gText_MrStone_Pokenav_2B60C0, 0xFFFF, FLAG_0x158 }, - { gText_MrStone_Pokenav_2B61E6, FLAG_0x158, 0xFFFF }, - { gText_MrStone_Pokenav_2B6302, FLAG_0x0BD, 0xFFFF }, - { gText_MrStone_Pokenav_2B63A0, FLAG_0x110, 0xFFFF }, - { gText_MrStone_Pokenav_2B64A2, FLAG_0x06A, 0xFFFF }, - { gText_MrStone_Pokenav_2B6526, FLAG_0x4F4, 0xFFFF }, - { gText_MrStone_Pokenav_2B65BB, FLAG_0x097, 0xFFFF }, - { gText_MrStone_Pokenav_2B6664, FLAG_0x06F, 0xFFFF }, - { gText_MrStone_Pokenav_2B66B1, FLAG_0x070, 0xFFFF }, - { gText_MrStone_Pokenav_2B6703, FLAG_0x4F7, 0xFFFF }, - { gText_MrStone_Pokenav_2B67ED, FLAG_SYS_GAME_CLEAR, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } -}; - -MATCHCALLDEF(sMrStoneMatchCallHeader, 0, 10, 0xffff, gMrStoneMatchCallDesc, gMrStoneMatchCallName, sMrStoneTextScripts); - -static const match_call_text_data_t sNormanTextScripts[] = { - { gText_Norman_Pokenav_2B5719, FLAG_0x132, 0xFFFF }, - { gText_Norman_Pokenav_2B5795, FLAG_0x4F1, 0xFFFF }, - { gText_Norman_Pokenav_2B584D, FLAG_0x4F3, 0xFFFF }, - { gText_Norman_Pokenav_2B58E3, FLAG_0x4F4, 0xFFFF }, - { gText_Norman_Pokenav_2B5979, FLAG_0x0D4, 0xFFFF }, - { gText_Norman_Pokenav_2B5A07, 0xFFFE, 0xFFFF }, - { gText_Norman_Pokenav_2B5A69, FLAG_SYS_GAME_CLEAR, 0xFFFF }, - { gText_Norman_Pokenav_2B5ACF, FLAG_SYS_GAME_CLEAR, 0xFFFF }, - { gText_Norman_Pokenav_2B5B5E, FLAG_SYS_GAME_CLEAR, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } -}; - -MATCHCALLDEF(sNormanMatchCallHeader, 5, 7, FLAG_0x132, 0x45, gNormanMatchCallDesc, gNormanMatchCallName, sNormanTextScripts); - -MATCHCALLDEF(sProfBirchMatchCallHeader, 3, 0, FLAG_0x119, gProfBirchMatchCallDesc, gProfBirchMatchCallName) - -static const match_call_text_data_t sMomTextScripts[] = { - { gText_Mom_Pokenav_2B227B, 0xffff, 0xffff }, - { gText_Mom_Pokenav_2B2310, FLAG_0x4F4, 0xffff }, - { gText_Mom_Pokenav_2B23F3, FLAG_SYS_GAME_CLEAR, 0xffff }, - { NULL, 0xffff, 0xffff } -}; - -MATCHCALLDEF(sMomMatchCallHeader, 0, 0, FLAG_0x0D8, gMomMatchCallDesc, gMomMatchCallName, sMomTextScripts); - -static const match_call_text_data_t sStevenTextScripts[] = { - { gText_Steven_Pokenav_2B5B95, 0xffff, 0xffff }, - { gText_Steven_Pokenav_2B5C53, FLAG_RUSTURF_TUNNEL_OPENED, 0xffff }, - { gText_Steven_Pokenav_2B5CC9, FLAG_0x0D4, 0xffff }, - { gText_Steven_Pokenav_2B5DB4, FLAG_0x070, 0xffff }, - { gText_Steven_Pokenav_2B5E26, FLAG_0x4F6, 0xffff }, - { gText_Steven_Pokenav_2B5EA2, FLAG_0x081, 0xffff }, - { gText_Steven_Pokenav_2B5ED9, FLAG_SYS_GAME_CLEAR, 0xffff }, - { NULL, 0xffff, 0xffff }, -}; - -MATCHCALLDEF(sStevenMatchCallHeader, 0, 0xd5, FLAG_0x131, gStevenMatchCallDesc, gStevenMatchCallName, sStevenTextScripts); - -static const match_call_text_data_t sMayTextScripts[] = { - { gText_May_Pokenav_2B3AB3, 0xFFFF, 0xFFFF }, - { gText_May_Pokenav_2B3B3F, FLAG_0x4F1, 0xFFFF }, - { gText_May_Pokenav_2B3C13, FLAG_0x095, 0xFFFF }, - { gText_May_Pokenav_2B3CF3, FLAG_HIDE_MAUVILLE_CITY_WALLY, 0xFFFF }, - { gText_May_Pokenav_2B3D4B, FLAG_0x06A, 0xFFFF }, - { gText_May_Pokenav_2B3DD1, FLAG_0x4F3, 0xFFFF }, - { gText_May_Pokenav_2B3E69, FLAG_0x4F4, 0xFFFF }, - { gText_May_Pokenav_2B3ECD, FLAG_0x097, 0xFFFF }, - { gText_May_Pokenav_2B3F2B, FLAG_0x0D4, 0xFFFF }, - { gText_May_Pokenav_2B3FFB, FLAG_0x06F, 0xFFFF }, - { gText_May_Pokenav_2B402B, FLAG_0x061, 0xFFFF }, - { gText_May_Pokenav_2B414B, FLAG_0x070, 0xFFFF }, - { gText_May_Pokenav_2B4228, FLAG_0x081, 0xFFFF }, - { gText_May_Pokenav_2B42E0, FLAG_0x4F7, 0xFFFF }, - { gText_May_Pokenav_2B4350, FLAG_SYS_GAME_CLEAR, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } -}; - -MATCHCALLDEF(sMayMatchCallHeader, 4, MALE, FLAG_0x0FD, gMayBrendanMatchCallDesc, gExpandedPlaceholder_May, sMayTextScripts); - -static const match_call_text_data_t sBrendanTextScripts[] = { - { gText_Brendan_Pokenav_2B43EF, 0xFFFF, 0xFFFF }, - { gText_Brendan_Pokenav_2B4486, FLAG_0x4F1, 0xFFFF }, - { gText_Brendan_Pokenav_2B4560, FLAG_0x095, 0xFFFF }, - { gText_Brendan_Pokenav_2B463F, FLAG_HIDE_MAUVILLE_CITY_WALLY, 0xFFFF }, - { gText_Brendan_Pokenav_2B46B7, FLAG_0x06A, 0xFFFF }, - { gText_Brendan_Pokenav_2B4761, FLAG_0x4F3, 0xFFFF }, - { gText_Brendan_Pokenav_2B47F4, FLAG_0x4F4, 0xFFFF }, - { gText_Brendan_Pokenav_2B4882, FLAG_0x097, 0xFFFF }, - { gText_Brendan_Pokenav_2B4909, FLAG_0x0D4, 0xFFFF }, - { gText_Brendan_Pokenav_2B49C4, FLAG_0x06F, 0xFFFF }, - { gText_Brendan_Pokenav_2B4A44, FLAG_0x061, 0xFFFF }, - { gText_Brendan_Pokenav_2B4B28, FLAG_0x070, 0xFFFF }, - { gText_Brendan_Pokenav_2B4C15, FLAG_0x081, 0xFFFF }, - { gText_Brendan_Pokenav_2B4CD8, FLAG_0x4F7, 0xFFFF }, - { gText_Brendan_Pokenav_2B4D46, FLAG_SYS_GAME_CLEAR, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } -}; - -MATCHCALLDEF(sBrendanMatchCallHeader, 4, FEMALE, FLAG_0x0FD, gMayBrendanMatchCallDesc, gExpandedPlaceholder_Brendan, sBrendanTextScripts); - -static const match_call_text_data_t sWallyTextScripts[] = { - { gText_Wally_Pokenav_2B4DE2, 0xFFFF, 0xFFFF }, - { gText_Wally_Pokenav_2B4E57, FLAG_RUSTURF_TUNNEL_OPENED, 0xFFFF }, - { gText_Wally_Pokenav_2B4EA5, FLAG_0x4F3, 0xFFFF }, - { gText_Wally_Pokenav_2B4F41, FLAG_0x097, 0xFFFF }, - { gText_Wally_Pokenav_2B4FF3, FLAG_0x06F, 0xFFFF }, - { gText_Wally_Pokenav_2B50B1, FLAG_0x081, 0xFFFF }, - { gText_Wally_Pokenav_2B5100, FLAG_0x07E, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } -}; - -const struct MatchCallSubstruct2 sWallyAdditionalData[] = { - { FLAG_HIDE_MAUVILLE_CITY_WALLY, 0x05 }, - { FLAG_0x06F, 0xD5 }, - { FLAG_HIDE_VICTORY_ROAD_ENTRANCE_WALLY, 0x46 }, - { 0xFFFF, 0xD5 } -}; - -MATCHCALLDEF(sWallyMatchCallHeader, 2, 0, FLAG_0x0D6, REMATCH_WALLY_3, gWallyMatchCallDesc, sWallyTextScripts, sWallyAdditionalData); - -static const match_call_text_data_t sScottTextScripts[] = { - { gText_Scott_Pokenav_2B5184, 0xFFFF, 0xFFFF }, - { gText_Scott_Pokenav_2B5275, FLAG_0x08B, 0xFFFF }, - { gText_Scott_Pokenav_2B5323, FLAG_0x097, 0xFFFF }, - { gText_Scott_Pokenav_2B53DB, FLAG_0x0D4, 0xFFFF }, - { gText_Scott_Pokenav_2B54A5, FLAG_0x070, 0xFFFF }, - { gText_Scott_Pokenav_2B5541, FLAG_0x4F7, 0xFFFF }, - { gText_Scott_Pokenav_2B56CA, FLAG_SYS_GAME_CLEAR, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } -}; - - -MATCHCALLDEF(sScottMatchCallHeader, 0, 0xD5, FLAG_0x0D7, gScottMatchCallDesc, gScottMatchCallName, sScottTextScripts); - -static const match_call_text_data_t sRoxanneTextScripts[] = { - { gText_Roxanne_Pokenav_2B2456, 0xFFFE, 0xFFFF }, - { gText_Roxanne_Pokenav_2B250E, 0xFFFF, 0xFFFF }, - { gText_Roxanne_Pokenav_2B25C1, 0xFFFF, 0xFFFF }, - { gText_Roxanne_Pokenav_2B2607, FLAG_SYS_GAME_CLEAR, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } -}; - -MATCHCALLDEF(sRoxanneMatchCallHeader, 5, 10, FLAG_0x1D3, 0x41, gRoxanneMatchCallDesc, NULL, sRoxanneTextScripts); - -static const match_call_text_data_t sBrawlyTextScripts[] = { - { gText_Brawly_Pokenav_2B2659, 0xFFFE, 0xFFFF }, - { gText_Brawly_Pokenav_2B275D, 0xFFFF, 0xFFFF }, - { gText_Brawly_Pokenav_2B286F, 0xFFFF, 0xFFFF }, - { gText_Brawly_Pokenav_2B28D1, FLAG_SYS_GAME_CLEAR, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } -}; - -MATCHCALLDEF(sBrawlyMatchCallHeader, 5, 2, FLAG_0x1D4, 0x42, gBrawlyMatchCallDesc, NULL, sBrawlyTextScripts); - -static const match_call_text_data_t sWattsonTextScripts[] = { - { gText_Wattson_Pokenav_2B2912, 0xFFFE, 0xFFFF }, - { gText_Wattson_Pokenav_2B29CA, 0xFFFF, 0xFFFF }, - { gText_Wattson_Pokenav_2B2AB6, 0xFFFF, 0xFFFF }, - { gText_Wattson_Pokenav_2B2B01, FLAG_SYS_GAME_CLEAR, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } -}; - -MATCHCALLDEF(sWattsonMatchCallHeader, 5, 9, FLAG_0x1D5, 0x43, gWattsonMatchCallDesc, NULL, sWattsonTextScripts); - -static const match_call_text_data_t sFlanneryTextScripts[] = { - { gText_Flannery_Pokenav_2B2B4D, 0xFFFE, 0xFFFF }, - { gText_Flannery_Pokenav_2B2C0E, 0xFFFF, 0xFFFF }, - { gText_Flannery_Pokenav_2B2CF1, 0xFFFF, 0xFFFF }, - { gText_Flannery_Pokenav_2B2D54, FLAG_SYS_GAME_CLEAR, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } -}; - -MATCHCALLDEF(sFlanneryMatchCallHeader, 5, 3, FLAG_0x1D6, 0x44, gFlanneryMatchCallDesc, NULL, sFlanneryTextScripts); - -static const match_call_text_data_t sWinonaTextScripts[] = { - { gText_Winona_Pokenav_2B2DA4, 0xFFFE, 0xFFFF }, - { gText_Winona_Pokenav_2B2E2B, 0xFFFF, 0xFFFF }, - { gText_Winona_Pokenav_2B2EC2, 0xFFFF, 0xFFFF }, - { gText_Winona_Pokenav_2B2F16, FLAG_SYS_GAME_CLEAR, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } -}; - -MATCHCALLDEF(sWinonaMatchCallHeader, 5, 11, FLAG_0x1D7, 0x46, gWinonaMatchCallDesc, NULL, sWinonaTextScripts); - -static const match_call_text_data_t sTateLizaTextScripts[] = { - { gText_TateLiza_Pokenav_2B2F97, 0xFFFE, 0xFFFF }, - { gText_TateLiza_Pokenav_2B306E, 0xFFFF, 0xFFFF }, - { gText_TateLiza_Pokenav_2B3158, 0xFFFF, 0xFFFF }, - { gText_TateLiza_Pokenav_2B31CD, FLAG_SYS_GAME_CLEAR, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } -}; - -MATCHCALLDEF(sTateLizaMatchCallHeader, 5, 13, FLAG_0x1D8, 0x47, gTateLizaMatchCallDesc, NULL, sTateLizaTextScripts); - -static const match_call_text_data_t sJuanTextScripts[] = { - { gText_Juan_Pokenav_2B3249, 0xFFFE, 0xFFFF }, - { gText_Juan_Pokenav_2B32EC, 0xFFFF, 0xFFFF }, - { gText_Juan_Pokenav_2B33AA, 0xFFFF, 0xFFFF }, - { gText_Juan_Pokenav_2B341E, FLAG_SYS_GAME_CLEAR, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } -}; - -MATCHCALLDEF(sJuanMatchCallHeader, 5, 14, FLAG_0x1D9, 0x48, gJuanMatchCallDesc, NULL, sJuanTextScripts); - -static const match_call_text_data_t sSidneyTextScripts[] = { - { gText_Sidney_Pokenav_2B34CC, 0xFFFF, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } -}; - -MATCHCALLDEF(sSidneyMatchCallHeader, 5, 15, FLAG_0x1A5, 0x49, gEliteFourMatchCallDesc, NULL, sSidneyTextScripts); - -static const match_call_text_data_t sPhoebeTextScripts[] = { - { gText_Phoebe_Pokenav_2B3561, 0xFFFF, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } -}; - -MATCHCALLDEF(sPhoebeMatchCallHeader, 5, 15, FLAG_0x1A6, 0x4A, gEliteFourMatchCallDesc, NULL, sPhoebeTextScripts); - -static const match_call_text_data_t sGlaciaTextScripts[] = { - { gText_Glacia_Pokenav_2B35E4, 0xFFFF, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } -}; - -MATCHCALLDEF(sGlaciaMatchCallHeader, 5, 15, FLAG_0x1A7, 0x4B, gEliteFourMatchCallDesc, NULL, sGlaciaTextScripts); - -static const match_call_text_data_t sDrakeTextScripts[] = { - { gText_Drake_Pokenav_2B368B, 0xFFFF, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } -}; - -MATCHCALLDEF(sDrakeMatchCallHeader, 5, 15, FLAG_0x1A8, 0x4C, gEliteFourMatchCallDesc, NULL, sDrakeTextScripts); - -static const match_call_text_data_t sWallaceTextScripts[] = { - { gText_Wallace_Pokenav_2B3790, 0xFFFF, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } -}; - -MATCHCALLDEF(sWallaceMatchCallHeader, 5, 15, FLAG_0x1A9, 0x4D, gChampionMatchCallDesc, NULL, sWallaceTextScripts); - -static const match_call_t sMatchCallHeaders[] = { - {.type0 = &sMrStoneMatchCallHeader}, - {.type3 = &sProfBirchMatchCallHeader}, - {.type4 = &sBrendanMatchCallHeader}, - {.type4 = &sMayMatchCallHeader}, - {.type2 = &sWallyMatchCallHeader}, - {.type5 = &sNormanMatchCallHeader}, - {.type0 = &sMomMatchCallHeader}, - {.type0 = &sStevenMatchCallHeader}, - {.type0 = &sScottMatchCallHeader}, - {.type5 = &sRoxanneMatchCallHeader}, - {.type5 = &sBrawlyMatchCallHeader}, - {.type5 = &sWattsonMatchCallHeader}, - {.type5 = &sFlanneryMatchCallHeader}, - {.type5 = &sWinonaMatchCallHeader}, - {.type5 = &sTateLizaMatchCallHeader}, - {.type5 = &sJuanMatchCallHeader}, - {.type5 = &sSidneyMatchCallHeader}, - {.type5 = &sPhoebeMatchCallHeader}, - {.type5 = &sGlaciaMatchCallHeader}, - {.type5 = &sDrakeMatchCallHeader}, - {.type5 = &sWallaceMatchCallHeader} -}; - -static bool32 (*const sMatchCallGetFlagFuncs[])(match_call_t) = { - MatchCallGetFlag_Type0, - MatchCallGetFlag_Type1, - MatchCallGetFlag_Type2, - MatchCallGetFlag_Type3, - MatchCallGetFlag_Type4 -}; - -static u8 (*const gUnknown_08625310[])(match_call_t) = { - sub_81D1714, - sub_81D1718, - sub_81D171C, - sub_81D1750, - sub_81D1754 -}; - -static bool32 (*const sMatchCall_IsRematchableFunctions[])(match_call_t) = { - MatchCall_IsRematchable_Type0, - MatchCall_IsRematchable_Type1, - MatchCall_IsRematchable_Type2, - MatchCall_IsRematchable_Type3, - MatchCall_IsRematchable_Type4 -}; - -static bool32 (*const gUnknown_08625338[])(match_call_t) = { - sub_81D1840, - sub_81D1844, - sub_81D1848, - sub_81D184C, - sub_81D1850 -}; - -static u32 (*const sMatchCall_GetRematchTableIdxFunctions[])(match_call_t) = { - MatchCall_GetRematchTableIdx_Type0, - MatchCall_GetRematchTableIdx_Type1, - MatchCall_GetRematchTableIdx_Type2, - MatchCall_GetRematchTableIdx_Type3, - MatchCall_GetRematchTableIdx_Type4 -}; - -static void (*const sMatchCall_GetMessageFunctions[])(match_call_t, u8 *) = { - MatchCall_GetMessage_Type0, - MatchCall_GetMessage_Type1, - MatchCall_GetMessage_Type2, - MatchCall_GetMessage_Type3, - MatchCall_GetMessage_Type4 -}; - -static void (*const sMatchCall_GetNameAndDescFunctions[])(match_call_t, const u8 **, const u8 **) = { - MatchCall_GetNameAndDesc_Type0, - MatchCall_GetNameAndDesc_Type1, - MatchCall_GetNameAndDesc_Type2, - MatchCall_GetNameAndDesc_Type3, - MatchCall_GetNameAndDesc_Type4 -}; - -static const struct UnkStruct_08625388 sMatchCallCheckPageOverrides[] = { - { 7, 0x4B, 0xffff, { gMatchCallStevenStrategyText, gMatchCall_StevenTrainersPokemonText, gMatchCall_StevenSelfIntroductionText_Line1_BeforeMeteorFallsBattle, gMatchCall_StevenSelfIntroductionText_Line2_BeforeMeteorFallsBattle } }, // STEVEN - { 7, 0x4B, FLAG_0x4F6, { gMatchCallStevenStrategyText, gMatchCall_StevenTrainersPokemonText, gMatchCall_StevenSelfIntroductionText_Line1_AfterMeteorFallsBattle, gMatchCall_StevenSelfIntroductionText_Line2_AfterMeteorFallsBattle } }, // STEVEN - { 2, 0x3c, 0xffff, { gMatchCall_BrendanStrategyText, gMatchCall_BrendanTrainersPokemonText, gMatchCall_BrendanSelfIntroductionText_Line1, gMatchCall_BrendanSelfIntroductionText_Line2 } }, // Brendan - { 3, 0x3f, 0xffff, { gMatchCall_MayStrategyText, gMatchCall_MayTrainersPokemonText, gMatchCall_MaySelfIntroductionText_Line1, gMatchCall_MaySelfIntroductionText_Line2 } } // May -}; - -// .text - -static u32 MatchCallGetFunctionIndex(match_call_t matchCall) +struct MultiTrainerMatchCallText +{ + u16 trainerId; + const u8 *text; +}; + +struct BattleFrontierStreakInfo +{ + u16 facilityId; + u16 streak; +}; + +EWRAM_DATA struct MatchCallState gMatchCallState = {0}; +EWRAM_DATA struct BattleFrontierStreakInfo gBattleFrontierStreakInfo = {0}; + +bool32 SelectMatchCallMessage(int, u8 *); +static u32 GetCurrentTotalMinutes(struct Time *); +static u32 GetNumRegisteredNPCs(void); +static u32 GetActiveMatchCallTrainerId(u32); +static int GetTrainerMatchCallId(int); +static u16 GetRematchTrainerLocation(int); +static bool32 TrainerIsEligibleForRematch(int); +static void StartMatchCall(void); +static void ExecuteMatchCall(u8); +static void DrawMatchCallTextBoxBorder(u32, u32, u32); +static void sub_8196694(u8); +static void InitMatchCallTextPrinter(int, const u8 *); +static bool32 ExecuteMatchCallTextPrinter(int); +static const struct MatchCallText *GetSameRouteMatchCallText(int, u8 *); +static const struct MatchCallText *GetDifferentRouteMatchCallText(int, u8 *); +static const struct MatchCallText *GetBattleMatchCallText(int, u8 *); +static const struct MatchCallText *GetGeneralMatchCallText(int, u8 *); +static bool32 sub_8196D74(int); +static void BuildMatchCallString(int, const struct MatchCallText *, u8 *); +static u16 GetFrontierStreakInfo(u16, u32 *); +static void PopulateMatchCallStringVars(int, const s8 *); +static void PopulateMatchCallStringVar(int, int, u8 *); +static bool32 LoadMatchCallWindowGfx(u8); +static bool32 MoveMatchCallWindowToVram(u8); +static bool32 PrintMatchCallIntroEllipsis(u8); +static bool32 sub_81962B0(u8); +static bool32 sub_81962D8(u8); +static bool32 sub_8196330(u8); +static bool32 sub_8196390(u8); +static bool32 sub_81963F0(u8); +static void PopulateTrainerName(int, u8 *); +static void PopulateMapName(int, u8 *); +static void PopulateSpeciesFromTrainerLocation(int, u8 *); +static void PopulateSpeciesFromTrainerParty(int, u8 *); +static void PopulateBattleFrontierFacilityName(int, u8 *); +static void PopulateBattleFrontierStreak(int, u8 *); + +extern void sub_81973A4(void); + +#define TEXT_ID(topic, id) (((topic) << 8) | ((id) & 0xFF)) + +static const struct MatchCallTrainerTextInfo sMatchCallTrainers[] = { - switch (matchCall.common->type) { - case 0: - default: - return 0; - case 1: - case 5: - return 1; - case 2: - return 2; - case 4: - return 3; - case 3: - return 4; - } -} - -u32 GetTrainerIdxByRematchIdx(u32 rematchIdx) -{ - return gRematchTable[rematchIdx].trainerIds[0]; -} - -s32 GetRematchIdxByTrainerIdx(s32 trainerIdx) -{ - s32 rematchIdx; - - for (rematchIdx = 0; rematchIdx < REMATCH_TABLE_ENTRIES; rematchIdx++) + .trainerId = TRAINER_ROSE_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 8), TEXT_ID(2, 8), TEXT_ID(3, 8) }, + .generalTextId = TEXT_ID(1, 3), + .battleFrontierRecordStreakTextIndex = 8, + .sameRouteMatchCallTextId = TEXT_ID(1, 8), + .differentRouteMatchCallTextId = TEXT_ID(2, 8), + }, { - if (gRematchTable[rematchIdx].trainerIds[0] == trainerIdx) - return rematchIdx; - } - return -1; -} - -bool32 MatchCallFlagGetByIndex(u32 idx) -{ - match_call_t matchCall; - u32 i; - - if (idx > 20) - return FALSE; - matchCall = sMatchCallHeaders[idx]; - i = MatchCallGetFunctionIndex(matchCall); - return sMatchCallGetFlagFuncs[i](matchCall); -} - -static bool32 MatchCallGetFlag_Type0(match_call_t matchCall) -{ - if (matchCall.type0->flag == 0xffff) - return TRUE; - return FlagGet(matchCall.type0->flag); -} - -static bool32 MatchCallGetFlag_Type1(match_call_t matchCall) -{ - if (matchCall.type1->flag == 0xffff) - return TRUE; - return FlagGet(matchCall.type1->flag); -} - -static bool32 MatchCallGetFlag_Type2(match_call_t matchCall) -{ - if (matchCall.type2->flag == 0xffff) - return TRUE; - return FlagGet(matchCall.type2->flag); -} - -static bool32 MatchCallGetFlag_Type3(match_call_t matchCall) -{ - if (matchCall.type4->gender != gSaveBlock2Ptr->playerGender) - return FALSE; - if (matchCall.type4->flag == 0xffff) - return TRUE; - return FlagGet(matchCall.type4->flag); -} - -static bool32 MatchCallGetFlag_Type4(match_call_t matchCall) -{ - return FlagGet(matchCall.type3->flag); -} - -u8 sub_81D16DC(u32 idx) -{ - match_call_t matchCall; - u32 i; - - if (idx > 20) - return 0; - matchCall = sMatchCallHeaders[idx]; - i = MatchCallGetFunctionIndex(matchCall); - return gUnknown_08625310[i](matchCall); -} - -static u8 sub_81D1714(match_call_t matchCall) -{ - return matchCall.type0->v1; -} - -static u8 sub_81D1718(match_call_t matchCall) -{ - return matchCall.type1->v1; -} - -static u8 sub_81D171C(match_call_t matchCall) -{ - s32 i; - - for (i = 0; matchCall.type2->v10[i].flag != 0xffff; i++) + .trainerId = TRAINER_ANDRES_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 12), TEXT_ID(2, 12), TEXT_ID(3, 12) }, + .generalTextId = TEXT_ID(1, 62), + .battleFrontierRecordStreakTextIndex = 12, + .sameRouteMatchCallTextId = TEXT_ID(1, 12), + .differentRouteMatchCallTextId = TEXT_ID(2, 12), + }, { - if (!FlagGet(matchCall.type2->v10[i].flag)) - break; - } - return matchCall.type2->v10[i].v2; -} - -static u8 sub_81D1750(match_call_t matchCall) -{ - return 0xd5; -} - -static u8 sub_81D1754(match_call_t matchCall) -{ - return 0xd5; -} - -bool32 MatchCall_IsRematchable(u32 idx) -{ - match_call_t matchCall; - u32 i; - - if (idx > 20) - return 0; - matchCall = sMatchCallHeaders[idx]; - i = MatchCallGetFunctionIndex(matchCall); - return sMatchCall_IsRematchableFunctions[i](matchCall); -} - -static bool32 MatchCall_IsRematchable_Type0(match_call_t matchCall) -{ - return FALSE; -} - -static bool32 MatchCall_IsRematchable_Type1(match_call_t matchCall) -{ - if (matchCall.type1->rematchTableIdx >= REMATCH_ELITE_FOUR_ENTRIES) - return FALSE; - return gSaveBlock1Ptr->trainerRematches[matchCall.type1->rematchTableIdx] ? TRUE : FALSE; -} - -static bool32 MatchCall_IsRematchable_Type2(match_call_t matchCall) -{ - return gSaveBlock1Ptr->trainerRematches[matchCall.type2->rematchTableIdx] ? TRUE : FALSE; -} - -static bool32 MatchCall_IsRematchable_Type3(match_call_t matchCall) -{ - return FALSE; -} - -static bool32 MatchCall_IsRematchable_Type4(match_call_t matchCall) -{ - return FALSE; -} - -bool32 sub_81D17E8(u32 idx) -{ - match_call_t matchCall; - u32 i; - - if (idx > 20) - return FALSE; - matchCall = sMatchCallHeaders[idx]; - i = MatchCallGetFunctionIndex(matchCall); - if (gUnknown_08625338[i](matchCall)) - return TRUE; - for (i = 0; i < 4; i++) + .trainerId = TRAINER_DUSTY_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 12), TEXT_ID(2, 12), TEXT_ID(3, 12) }, + .generalTextId = TEXT_ID(1, 4), + .battleFrontierRecordStreakTextIndex = 12, + .sameRouteMatchCallTextId = TEXT_ID(1, 12), + .differentRouteMatchCallTextId = TEXT_ID(2, 12), + }, { - if (sMatchCallCheckPageOverrides[i].idx == idx) - return TRUE; + .trainerId = TRAINER_LOLA_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 2), TEXT_ID(2, 2), TEXT_ID(3, 2) }, + .generalTextId = TEXT_ID(1, 5), + .battleFrontierRecordStreakTextIndex = 2, + .sameRouteMatchCallTextId = TEXT_ID(1, 2), + .differentRouteMatchCallTextId = TEXT_ID(2, 2), + }, + { + .trainerId = TRAINER_RICKY_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 1), TEXT_ID(2, 1), TEXT_ID(3, 1) }, + .generalTextId = TEXT_ID(1, 6), + .battleFrontierRecordStreakTextIndex = 1, + .sameRouteMatchCallTextId = TEXT_ID(1, 1), + .differentRouteMatchCallTextId = TEXT_ID(2, 1), + }, + { + .trainerId = TRAINER_LILA_AND_ROY_1, + .unused = 4, + .battleTopicTextIds = { TEXT_ID(1, 1), TEXT_ID(2, 1), TEXT_ID(3, 1) }, + .generalTextId = TEXT_ID(1, 61), + .battleFrontierRecordStreakTextIndex = 1, + .sameRouteMatchCallTextId = TEXT_ID(1, 1), + .differentRouteMatchCallTextId = TEXT_ID(2, 1), + }, + { + .trainerId = TRAINER_CRISTIN_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 10), TEXT_ID(2, 10), TEXT_ID(3, 10) }, + .generalTextId = TEXT_ID(1, 64), + .battleFrontierRecordStreakTextIndex = 10, + .sameRouteMatchCallTextId = TEXT_ID(1, 10), + .differentRouteMatchCallTextId = TEXT_ID(2, 10), + }, + { + .trainerId = TRAINER_BROOKE_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 9), TEXT_ID(2, 9), TEXT_ID(3, 9) }, + .generalTextId = TEXT_ID(1, 8), + .battleFrontierRecordStreakTextIndex = 9, + .sameRouteMatchCallTextId = TEXT_ID(1, 9), + .differentRouteMatchCallTextId = TEXT_ID(2, 9), + }, + { + .trainerId = TRAINER_WILTON_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 6), TEXT_ID(2, 6), TEXT_ID(3, 6) }, + .generalTextId = TEXT_ID(1, 7), + .battleFrontierRecordStreakTextIndex = 6, + .sameRouteMatchCallTextId = TEXT_ID(1, 6), + .differentRouteMatchCallTextId = TEXT_ID(2, 6), + }, + { + .trainerId = TRAINER_VALERIE_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 8), TEXT_ID(2, 8), TEXT_ID(3, 8) }, + .generalTextId = TEXT_ID(1, 9), + .battleFrontierRecordStreakTextIndex = 8, + .sameRouteMatchCallTextId = TEXT_ID(1, 8), + .differentRouteMatchCallTextId = TEXT_ID(2, 8), + }, + { + .trainerId = TRAINER_CINDY_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 8), TEXT_ID(2, 8), TEXT_ID(3, 8) }, + .generalTextId = TEXT_ID(1, 10), + .battleFrontierRecordStreakTextIndex = 8, + .sameRouteMatchCallTextId = TEXT_ID(1, 8), + .differentRouteMatchCallTextId = TEXT_ID(2, 8), + }, + { + .trainerId = TRAINER_THALIA_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 8), TEXT_ID(2, 10), TEXT_ID(3, 10) }, + .generalTextId = TEXT_ID(1, 14), + .battleFrontierRecordStreakTextIndex = 10, + .sameRouteMatchCallTextId = TEXT_ID(1, 8), + .differentRouteMatchCallTextId = TEXT_ID(2, 10), + }, + { + .trainerId = TRAINER_JESSICA_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 10), TEXT_ID(2, 10), TEXT_ID(3, 10) }, + .generalTextId = TEXT_ID(1, 11), + .battleFrontierRecordStreakTextIndex = 10, + .sameRouteMatchCallTextId = TEXT_ID(1, 8), + .differentRouteMatchCallTextId = TEXT_ID(2, 10), + }, + { + .trainerId = TRAINER_WINSTON_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 4), TEXT_ID(2, 4), TEXT_ID(3, 4) }, + .generalTextId = TEXT_ID(1, 12), + .battleFrontierRecordStreakTextIndex = 4, + .sameRouteMatchCallTextId = TEXT_ID(1, 4), + .differentRouteMatchCallTextId = TEXT_ID(2, 4), + }, + { + .trainerId = TRAINER_STEVE_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 7), TEXT_ID(2, 7), TEXT_ID(3, 7) }, + .generalTextId = TEXT_ID(1, 13), + .battleFrontierRecordStreakTextIndex = 7, + .sameRouteMatchCallTextId = TEXT_ID(1, 7), + .differentRouteMatchCallTextId = TEXT_ID(2, 7), + }, + { + .trainerId = TRAINER_TONY_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 5), TEXT_ID(2, 5), TEXT_ID(3, 5) }, + .generalTextId = TEXT_ID(1, 15), + .battleFrontierRecordStreakTextIndex = 5, + .sameRouteMatchCallTextId = TEXT_ID(1, 5), + .differentRouteMatchCallTextId = TEXT_ID(2, 5), + }, + { + .trainerId = TRAINER_NOB_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 3), TEXT_ID(2, 3), TEXT_ID(3, 3) }, + .generalTextId = TEXT_ID(1, 16), + .battleFrontierRecordStreakTextIndex = 3, + .sameRouteMatchCallTextId = TEXT_ID(1, 3), + .differentRouteMatchCallTextId = TEXT_ID(2, 3), + }, + { + .trainerId = TRAINER_KOJI_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 3), TEXT_ID(2, 3), TEXT_ID(3, 3) }, + .generalTextId = TEXT_ID(1, 59), + .battleFrontierRecordStreakTextIndex = 3, + .sameRouteMatchCallTextId = TEXT_ID(1, 3), + .differentRouteMatchCallTextId = TEXT_ID(2, 3), + }, + { + .trainerId = TRAINER_FERNANDO_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 6), TEXT_ID(2, 6), TEXT_ID(3, 6) }, + .generalTextId = TEXT_ID(1, 17), + .battleFrontierRecordStreakTextIndex = 6, + .sameRouteMatchCallTextId = TEXT_ID(1, 6), + .differentRouteMatchCallTextId = TEXT_ID(2, 6), + }, + { + .trainerId = TRAINER_DALTON_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 4), TEXT_ID(2, 4), TEXT_ID(3, 4) }, + .generalTextId = TEXT_ID(1, 18), + .battleFrontierRecordStreakTextIndex = 4, + .sameRouteMatchCallTextId = TEXT_ID(1, 4), + .differentRouteMatchCallTextId = TEXT_ID(2, 4), + }, + { + .trainerId = TRAINER_BERNIE_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 11), TEXT_ID(2, 11), TEXT_ID(3, 11) }, + .generalTextId = TEXT_ID(1, 19), + .battleFrontierRecordStreakTextIndex = 11, + .sameRouteMatchCallTextId = TEXT_ID(1, 11), + .differentRouteMatchCallTextId = TEXT_ID(2, 11), + }, + { + .trainerId = TRAINER_ETHAN_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 1), TEXT_ID(2, 1), TEXT_ID(3, 1) }, + .generalTextId = TEXT_ID(1, 20), + .battleFrontierRecordStreakTextIndex = 1, + .sameRouteMatchCallTextId = TEXT_ID(1, 1), + .differentRouteMatchCallTextId = TEXT_ID(2, 1), + }, + { + .trainerId = TRAINER_JOHN_AND_JAY_1, + .unused = 3, + .battleTopicTextIds = { TEXT_ID(1, 12), TEXT_ID(2, 12), TEXT_ID(3, 12) }, + .generalTextId = TEXT_ID(1, 60), + .battleFrontierRecordStreakTextIndex = 12, + .sameRouteMatchCallTextId = TEXT_ID(1, 12), + .differentRouteMatchCallTextId = TEXT_ID(2, 12), + }, + { + .trainerId = TRAINER_JEFFREY_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 7), TEXT_ID(2, 7), TEXT_ID(3, 7) }, + .generalTextId = TEXT_ID(1, 21), + .battleFrontierRecordStreakTextIndex = 7, + .sameRouteMatchCallTextId = TEXT_ID(1, 7), + .differentRouteMatchCallTextId = TEXT_ID(2, 7), + }, + { + .trainerId = TRAINER_CAMERON_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 4), TEXT_ID(2, 4), TEXT_ID(3, 4) }, + .generalTextId = TEXT_ID(1, 22), + .battleFrontierRecordStreakTextIndex = 1, + .sameRouteMatchCallTextId = TEXT_ID(1, 4), + .differentRouteMatchCallTextId = TEXT_ID(2, 4), + }, + { + .trainerId = TRAINER_JACKI_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 8), TEXT_ID(2, 8), TEXT_ID(3, 8) }, + .generalTextId = TEXT_ID(1, 23), + .battleFrontierRecordStreakTextIndex = 8, + .sameRouteMatchCallTextId = TEXT_ID(1, 8), + .differentRouteMatchCallTextId = TEXT_ID(2, 8), + }, + { + .trainerId = TRAINER_WALTER_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 12), TEXT_ID(2, 12), TEXT_ID(3, 12) }, + .generalTextId = TEXT_ID(1, 24), + .battleFrontierRecordStreakTextIndex = 12, + .sameRouteMatchCallTextId = TEXT_ID(1, 12), + .differentRouteMatchCallTextId = TEXT_ID(2, 12), + }, + { + .trainerId = TRAINER_KAREN_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 2), TEXT_ID(2, 2), TEXT_ID(3, 2) }, + .generalTextId = TEXT_ID(1, 26), + .battleFrontierRecordStreakTextIndex = 2, + .sameRouteMatchCallTextId = TEXT_ID(1, 2), + .differentRouteMatchCallTextId = TEXT_ID(2, 2), + }, + { + .trainerId = TRAINER_JERRY_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 1), TEXT_ID(2, 1), TEXT_ID(3, 1) }, + .generalTextId = TEXT_ID(1, 25), + .battleFrontierRecordStreakTextIndex = 1, + .sameRouteMatchCallTextId = TEXT_ID(1, 1), + .differentRouteMatchCallTextId = TEXT_ID(2, 1), + }, + { + .trainerId = TRAINER_ANNA_AND_MEG_1, + .unused = 6, + .battleTopicTextIds = { TEXT_ID(1, 9), TEXT_ID(2, 9), TEXT_ID(3, 9) }, + .generalTextId = TEXT_ID(1, 27), + .battleFrontierRecordStreakTextIndex = 9, + .sameRouteMatchCallTextId = TEXT_ID(1, 9), + .differentRouteMatchCallTextId = TEXT_ID(2, 9), + }, + { + .trainerId = TRAINER_ISABEL_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 14), TEXT_ID(2, 14), TEXT_ID(3, 14) }, + .generalTextId = TEXT_ID(1, 29), + .battleFrontierRecordStreakTextIndex = 14, + .sameRouteMatchCallTextId = TEXT_ID(1, 14), + .differentRouteMatchCallTextId = TEXT_ID(2, 14), + }, + { + .trainerId = TRAINER_MIGUEL_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 11), TEXT_ID(2, 11), TEXT_ID(3, 11) }, + .generalTextId = TEXT_ID(1, 28), + .battleFrontierRecordStreakTextIndex = 11, + .sameRouteMatchCallTextId = TEXT_ID(1, 11), + .differentRouteMatchCallTextId = TEXT_ID(2, 11), + }, + { + .trainerId = TRAINER_TIMOTHY_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 12), TEXT_ID(2, 12), TEXT_ID(3, 12) }, + .generalTextId = TEXT_ID(1, 30), + .battleFrontierRecordStreakTextIndex = 12, + .sameRouteMatchCallTextId = TEXT_ID(1, 12), + .differentRouteMatchCallTextId = TEXT_ID(2, 12), + }, + { + .trainerId = TRAINER_SHELBY_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 13), TEXT_ID(2, 13), TEXT_ID(3, 13) }, + .generalTextId = TEXT_ID(1, 31), + .battleFrontierRecordStreakTextIndex = 13, + .sameRouteMatchCallTextId = TEXT_ID(1, 13), + .differentRouteMatchCallTextId = TEXT_ID(2, 13), + }, + { + .trainerId = TRAINER_CALVIN_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 1), TEXT_ID(2, 1), TEXT_ID(3, 1) }, + .generalTextId = TEXT_ID(1, 32), + .battleFrontierRecordStreakTextIndex = 1, + .sameRouteMatchCallTextId = TEXT_ID(1, 1), + .differentRouteMatchCallTextId = TEXT_ID(2, 1), + }, + { + .trainerId = TRAINER_ELLIOT_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 3), TEXT_ID(2, 3), TEXT_ID(3, 3) }, + .generalTextId = TEXT_ID(1, 33), + .battleFrontierRecordStreakTextIndex = 3, + .sameRouteMatchCallTextId = TEXT_ID(1, 3), + .differentRouteMatchCallTextId = TEXT_ID(2, 3), + }, + { + .trainerId = TRAINER_ISAIAH_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 5), TEXT_ID(2, 5), TEXT_ID(3, 5) }, + .generalTextId = TEXT_ID(1, 38), + .battleFrontierRecordStreakTextIndex = 5, + .sameRouteMatchCallTextId = TEXT_ID(1, 5), + .differentRouteMatchCallTextId = TEXT_ID(2, 5), + }, + { + .trainerId = TRAINER_MARIA_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 9), TEXT_ID(2, 9), TEXT_ID(3, 9) }, + .generalTextId = TEXT_ID(1, 37), + .battleFrontierRecordStreakTextIndex = 9, + .sameRouteMatchCallTextId = TEXT_ID(1, 9), + .differentRouteMatchCallTextId = TEXT_ID(2, 9), + }, + { + .trainerId = TRAINER_ABIGAIL_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 9), TEXT_ID(2, 9), TEXT_ID(3, 9) }, + .generalTextId = TEXT_ID(1, 35), + .battleFrontierRecordStreakTextIndex = 9, + .sameRouteMatchCallTextId = TEXT_ID(1, 9), + .differentRouteMatchCallTextId = TEXT_ID(2, 9), + }, + { + .trainerId = TRAINER_DYLAN_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 5), TEXT_ID(2, 5), TEXT_ID(3, 5) }, + .generalTextId = TEXT_ID(1, 36), + .battleFrontierRecordStreakTextIndex = 5, + .sameRouteMatchCallTextId = TEXT_ID(1, 5), + .differentRouteMatchCallTextId = TEXT_ID(2, 5), + }, + { + .trainerId = TRAINER_KATELYN_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 9), TEXT_ID(2, 9), TEXT_ID(3, 9) }, + .generalTextId = TEXT_ID(1, 40), + .battleFrontierRecordStreakTextIndex = 9, + .sameRouteMatchCallTextId = TEXT_ID(1, 9), + .differentRouteMatchCallTextId = TEXT_ID(2, 9), + }, + { + .trainerId = TRAINER_BENJAMIN_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 5), TEXT_ID(2, 5), TEXT_ID(3, 5) }, + .generalTextId = TEXT_ID(1, 34), + .battleFrontierRecordStreakTextIndex = 5, + .sameRouteMatchCallTextId = TEXT_ID(1, 5), + .differentRouteMatchCallTextId = TEXT_ID(2, 5), + }, + { + .trainerId = TRAINER_PABLO_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 5), TEXT_ID(2, 5), TEXT_ID(3, 5) }, + .generalTextId = TEXT_ID(1, 39), + .battleFrontierRecordStreakTextIndex = 5, + .sameRouteMatchCallTextId = TEXT_ID(1, 5), + .differentRouteMatchCallTextId = TEXT_ID(2, 5), + }, + { + .trainerId = TRAINER_NICOLAS_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 4), TEXT_ID(2, 4), TEXT_ID(3, 4) }, + .generalTextId = TEXT_ID(1, 41), + .battleFrontierRecordStreakTextIndex = 4, + .sameRouteMatchCallTextId = TEXT_ID(1, 4), + .differentRouteMatchCallTextId = TEXT_ID(2, 4), + }, + { + .trainerId = TRAINER_ROBERT_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 6), TEXT_ID(2, 6), TEXT_ID(3, 6) }, + .generalTextId = TEXT_ID(1, 42), + .battleFrontierRecordStreakTextIndex = 6, + .sameRouteMatchCallTextId = TEXT_ID(1, 6), + .differentRouteMatchCallTextId = TEXT_ID(2, 6), + }, + { + .trainerId = TRAINER_LAO_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 1), TEXT_ID(2, 1), TEXT_ID(3, 1) }, + .generalTextId = TEXT_ID(1, 43), + .battleFrontierRecordStreakTextIndex = 1, + .sameRouteMatchCallTextId = TEXT_ID(1, 1), + .differentRouteMatchCallTextId = TEXT_ID(2, 1), + }, + { + .trainerId = TRAINER_CYNDY_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 9), TEXT_ID(2, 9), TEXT_ID(3, 9) }, + .generalTextId = TEXT_ID(1, 44), + .battleFrontierRecordStreakTextIndex = 9, + .sameRouteMatchCallTextId = TEXT_ID(1, 9), + .differentRouteMatchCallTextId = TEXT_ID(2, 9), + }, + { + .trainerId = TRAINER_MADELINE_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 8), TEXT_ID(2, 8), TEXT_ID(3, 8) }, + .generalTextId = TEXT_ID(1, 45), + .battleFrontierRecordStreakTextIndex = 8, + .sameRouteMatchCallTextId = TEXT_ID(1, 8), + .differentRouteMatchCallTextId = TEXT_ID(2, 8), + }, + { + .trainerId = TRAINER_JENNY_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 9), TEXT_ID(2, 9), TEXT_ID(3, 9) }, + .generalTextId = TEXT_ID(1, 46), + .battleFrontierRecordStreakTextIndex = 9, + .sameRouteMatchCallTextId = TEXT_ID(1, 9), + .differentRouteMatchCallTextId = TEXT_ID(2, 9), + }, + { + .trainerId = TRAINER_DIANA_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 2), TEXT_ID(2, 2), TEXT_ID(3, 2) }, + .generalTextId = TEXT_ID(1, 47), + .battleFrontierRecordStreakTextIndex = 2, + .sameRouteMatchCallTextId = TEXT_ID(1, 2), + .differentRouteMatchCallTextId = TEXT_ID(2, 2), + }, + { + .trainerId = TRAINER_AMY_AND_LIV_1, + .unused = 2, + .battleTopicTextIds = { TEXT_ID(1, 2), TEXT_ID(2, 2), TEXT_ID(3, 2) }, + .generalTextId = TEXT_ID(1, 48), + .battleFrontierRecordStreakTextIndex = 1, + .sameRouteMatchCallTextId = TEXT_ID(1, 2), + .differentRouteMatchCallTextId = TEXT_ID(2, 2), + }, + { + .trainerId = TRAINER_ERNEST_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 3), TEXT_ID(2, 3), TEXT_ID(3, 3) }, + .generalTextId = TEXT_ID(1, 49), + .battleFrontierRecordStreakTextIndex = 3, + .sameRouteMatchCallTextId = TEXT_ID(1, 3), + .differentRouteMatchCallTextId = TEXT_ID(2, 3), + }, + { + .trainerId = TRAINER_CORY_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 3), TEXT_ID(2, 3), TEXT_ID(3, 3) }, + .generalTextId = TEXT_ID(1, 63), + .battleFrontierRecordStreakTextIndex = 3, + .sameRouteMatchCallTextId = TEXT_ID(1, 3), + .differentRouteMatchCallTextId = TEXT_ID(2, 3), + }, + { + .trainerId = TRAINER_EDWIN_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 7), TEXT_ID(2, 7), TEXT_ID(3, 7) }, + .generalTextId = TEXT_ID(1, 50), + .battleFrontierRecordStreakTextIndex = 7, + .sameRouteMatchCallTextId = TEXT_ID(1, 7), + .differentRouteMatchCallTextId = TEXT_ID(2, 7), + }, + { + .trainerId = TRAINER_LYDIA_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 8), TEXT_ID(2, 8), TEXT_ID(3, 8) }, + .generalTextId = TEXT_ID(1, 52), + .battleFrontierRecordStreakTextIndex = 8, + .sameRouteMatchCallTextId = TEXT_ID(1, 8), + .differentRouteMatchCallTextId = TEXT_ID(2, 8), + }, + { + .trainerId = TRAINER_ISAAC_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 5), TEXT_ID(2, 5), TEXT_ID(3, 5) }, + .generalTextId = TEXT_ID(1, 51), + .battleFrontierRecordStreakTextIndex = 5, + .sameRouteMatchCallTextId = TEXT_ID(1, 5), + .differentRouteMatchCallTextId = TEXT_ID(2, 5), + }, + { + .trainerId = TRAINER_GABRIELLE_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 8), TEXT_ID(2, 8), TEXT_ID(3, 8) }, + .generalTextId = TEXT_ID(1, 2), + .battleFrontierRecordStreakTextIndex = 8, + .sameRouteMatchCallTextId = TEXT_ID(1, 8), + .differentRouteMatchCallTextId = TEXT_ID(2, 8), + }, + { + .trainerId = TRAINER_CATHERINE_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 9), TEXT_ID(2, 9), TEXT_ID(3, 9) }, + .generalTextId = TEXT_ID(1, 54), + .battleFrontierRecordStreakTextIndex = 9, + .sameRouteMatchCallTextId = TEXT_ID(1, 9), + .differentRouteMatchCallTextId = TEXT_ID(2, 9), + }, + { + .trainerId = TRAINER_JACKSON_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 5), TEXT_ID(2, 5), TEXT_ID(3, 5) }, + .generalTextId = TEXT_ID(1, 53), + .battleFrontierRecordStreakTextIndex = 5, + .sameRouteMatchCallTextId = TEXT_ID(1, 5), + .differentRouteMatchCallTextId = TEXT_ID(2, 5), + }, + { + .trainerId = TRAINER_HALEY_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 2), TEXT_ID(2, 2), TEXT_ID(3, 2) }, + .generalTextId = TEXT_ID(1, 55), + .battleFrontierRecordStreakTextIndex = 2, + .sameRouteMatchCallTextId = TEXT_ID(1, 2), + .differentRouteMatchCallTextId = TEXT_ID(2, 2), + }, + { + .trainerId = TRAINER_JAMES_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 1), TEXT_ID(2, 1), TEXT_ID(3, 1) }, + .generalTextId = TEXT_ID(1, 56), + .battleFrontierRecordStreakTextIndex = 1, + .sameRouteMatchCallTextId = TEXT_ID(1, 1), + .differentRouteMatchCallTextId = TEXT_ID(2, 1), + }, + { + .trainerId = TRAINER_TRENT_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 3), TEXT_ID(2, 3), TEXT_ID(3, 3) }, + .generalTextId = TEXT_ID(1, 57), + .battleFrontierRecordStreakTextIndex = 3, + .sameRouteMatchCallTextId = TEXT_ID(1, 3), + .differentRouteMatchCallTextId = TEXT_ID(2, 3), + }, + { + .trainerId = TRAINER_SAWYER_1, + .unused = 0, + .battleTopicTextIds = { TEXT_ID(1, 15), TEXT_ID(2, 3), TEXT_ID(3, 3) }, + .generalTextId = TEXT_ID(1, 1), + .battleFrontierRecordStreakTextIndex = 3, + .sameRouteMatchCallTextId = TEXT_ID(1, 3), + .differentRouteMatchCallTextId = TEXT_ID(2, 3), + }, + { + .trainerId = TRAINER_KIRA_AND_DAN_1, + .unused = 1, + .battleTopicTextIds = { TEXT_ID(1, 9), TEXT_ID(2, 9), TEXT_ID(3, 9) }, + .generalTextId = TEXT_ID(1, 58), + .battleFrontierRecordStreakTextIndex = 9, + .sameRouteMatchCallTextId = TEXT_ID(1, 9), + .differentRouteMatchCallTextId = TEXT_ID(2, 9), + }, +}; + +static const struct MatchCallText sMatchCallWildBattleTexts[] = +{ + { .text = MatchCall_WildBattleText1, .stringVarFuncIds = { 0, 2, -1 } }, + { .text = MatchCall_WildBattleText2, .stringVarFuncIds = { 0, 2, -1 } }, + { .text = MatchCall_WildBattleText3, .stringVarFuncIds = { 0, 2, -1 } }, + { .text = MatchCall_WildBattleText4, .stringVarFuncIds = { 0, 2, -1 } }, + { .text = MatchCall_WildBattleText5, .stringVarFuncIds = { 0, 2, -1 } }, + { .text = MatchCall_WildBattleText6, .stringVarFuncIds = { 0, 2, -1 } }, + { .text = MatchCall_WildBattleText7, .stringVarFuncIds = { 0, 2, -1 } }, + { .text = MatchCall_WildBattleText8, .stringVarFuncIds = { 0, 2, -1 } }, + { .text = MatchCall_WildBattleText9, .stringVarFuncIds = { 0, 2, -1 } }, + { .text = MatchCall_WildBattleText10, .stringVarFuncIds = { 0, 2, -1 } }, + { .text = MatchCall_WildBattleText11, .stringVarFuncIds = { 0, 2, -1 } }, + { .text = MatchCall_WildBattleText12, .stringVarFuncIds = { 0, 2, -1 } }, + { .text = MatchCall_WildBattleText13, .stringVarFuncIds = { 0, 2, -1 } }, + { .text = MatchCall_WildBattleText14, .stringVarFuncIds = { 0, 2, -1 } }, + { .text = MatchCall_WildBattleText15, .stringVarFuncIds = { 0, 2, -1 } }, +}; + + static const struct MatchCallText sMatchCallNegativeBattleTexts[] = + { + { .text = MatchCall_NegativeBattleText1, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_NegativeBattleText2, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_NegativeBattleText3, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_NegativeBattleText4, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_NegativeBattleText5, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_NegativeBattleText6, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_NegativeBattleText7, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_NegativeBattleText8, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_NegativeBattleText9, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_NegativeBattleText10, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_NegativeBattleText11, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_NegativeBattleText12, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_NegativeBattleText13, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_NegativeBattleText14, .stringVarFuncIds = { 0, -1, -1 } }, +}; + +static const struct MatchCallText sMatchCallPositiveBattleTexts[] = +{ + { .text = MatchCall_PositiveBattleText1, .stringVarFuncIds = { 0, 3, -1 } }, + { .text = MatchCall_PositiveBattleText2, .stringVarFuncIds = { 0, 3, -1 } }, + { .text = MatchCall_PositiveBattleText3, .stringVarFuncIds = { 0, 3, -1 } }, + { .text = MatchCall_PositiveBattleText4, .stringVarFuncIds = { 0, 3, -1 } }, + { .text = MatchCall_PositiveBattleText5, .stringVarFuncIds = { 0, 3, -1 } }, + { .text = MatchCall_PositiveBattleText6, .stringVarFuncIds = { 0, 3, -1 } }, + { .text = MatchCall_PositiveBattleText7, .stringVarFuncIds = { 0, 3, -1 } }, + { .text = MatchCall_PositiveBattleText8, .stringVarFuncIds = { 0, 3, -1 } }, + { .text = MatchCall_PositiveBattleText9, .stringVarFuncIds = { 0, 3, -1 } }, + { .text = MatchCall_PositiveBattleText10, .stringVarFuncIds = { 0, 3, -1 } }, + { .text = MatchCall_PositiveBattleText11, .stringVarFuncIds = { 0, 3, -1 } }, + { .text = MatchCall_PositiveBattleText12, .stringVarFuncIds = { 0, 3, -1 } }, + { .text = MatchCall_PositiveBattleText13, .stringVarFuncIds = { 0, 3, -1 } }, + { .text = MatchCall_PositiveBattleText14, .stringVarFuncIds = { 0, 3, -1 } }, +}; + +static const struct MatchCallText sMatchCallSameRouteBattleRequestTexts[] = +{ + { .text = MatchCall_SameRouteBattleRequestText1, .stringVarFuncIds = { 0, 1, -1 } }, + { .text = MatchCall_SameRouteBattleRequestText2, .stringVarFuncIds = { 0, 1, -1 } }, + { .text = MatchCall_SameRouteBattleRequestText3, .stringVarFuncIds = { 0, 1, -1 } }, + { .text = MatchCall_SameRouteBattleRequestText4, .stringVarFuncIds = { 0, 1, -1 } }, + { .text = MatchCall_SameRouteBattleRequestText5, .stringVarFuncIds = { 0, 1, -1 } }, + { .text = MatchCall_SameRouteBattleRequestText6, .stringVarFuncIds = { 0, 1, -1 } }, + { .text = MatchCall_SameRouteBattleRequestText7, .stringVarFuncIds = { 0, 1, -1 } }, + { .text = MatchCall_SameRouteBattleRequestText8, .stringVarFuncIds = { 0, 1, -1 } }, + { .text = MatchCall_SameRouteBattleRequestText9, .stringVarFuncIds = { 0, 1, -1 } }, + { .text = MatchCall_SameRouteBattleRequestText10, .stringVarFuncIds = { 0, 1, -1 } }, + { .text = MatchCall_SameRouteBattleRequestText11, .stringVarFuncIds = { 0, 1, -1 } }, + { .text = MatchCall_SameRouteBattleRequestText12, .stringVarFuncIds = { 0, 1, -1 } }, + { .text = MatchCall_SameRouteBattleRequestText13, .stringVarFuncIds = { 0, 1, -1 } }, + { .text = MatchCall_SameRouteBattleRequestText14, .stringVarFuncIds = { 0, 1, -1 } }, +}; + +static const struct MatchCallText sMatchCallDifferentRouteBattleRequestTexts[] = +{ + { .text = MatchCall_DifferentRouteBattleRequestText1, .stringVarFuncIds = { 0, 1, -1 } }, + { .text = MatchCall_DifferentRouteBattleRequestText2, .stringVarFuncIds = { 0, 1, -1 } }, + { .text = MatchCall_DifferentRouteBattleRequestText3, .stringVarFuncIds = { 0, 1, -1 } }, + { .text = MatchCall_DifferentRouteBattleRequestText4, .stringVarFuncIds = { 0, 1, -1 } }, + { .text = MatchCall_DifferentRouteBattleRequestText5, .stringVarFuncIds = { 0, 1, -1 } }, + { .text = MatchCall_DifferentRouteBattleRequestText6, .stringVarFuncIds = { 0, 1, -1 } }, + { .text = MatchCall_DifferentRouteBattleRequestText7, .stringVarFuncIds = { 0, 1, -1 } }, + { .text = MatchCall_DifferentRouteBattleRequestText8, .stringVarFuncIds = { 0, 1, -1 } }, + { .text = MatchCall_DifferentRouteBattleRequestText9, .stringVarFuncIds = { 0, 1, -1 } }, + { .text = MatchCall_DifferentRouteBattleRequestText10, .stringVarFuncIds = { 0, 1, -1 } }, + { .text = MatchCall_DifferentRouteBattleRequestText11, .stringVarFuncIds = { 0, 1, -1 } }, + { .text = MatchCall_DifferentRouteBattleRequestText12, .stringVarFuncIds = { 0, 1, -1 } }, + { .text = MatchCall_DifferentRouteBattleRequestText13, .stringVarFuncIds = { 0, 1, -1 } }, + { .text = MatchCall_DifferentRouteBattleRequestText14, .stringVarFuncIds = { 0, 1, -1 } }, +}; + +static const struct MatchCallText sMatchCallPersonalizedTexts[] = +{ + { .text = MatchCall_PersonalizedText1, .stringVarFuncIds = { 0, 1, -1 } }, + { .text = MatchCall_PersonalizedText2, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText3, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText4, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText5, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText6, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText7, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText8, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText9, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText10, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText11, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText12, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText13, .stringVarFuncIds = { 0, 2, -1 } }, + { .text = MatchCall_PersonalizedText14, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText15, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText16, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText17, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText18, .stringVarFuncIds = { 0, 3, -1 } }, + { .text = MatchCall_PersonalizedText19, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText20, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText21, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText22, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText23, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText24, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText25, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText26, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText27, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText28, .stringVarFuncIds = { 0, 3, -1 } }, + { .text = MatchCall_PersonalizedText29, .stringVarFuncIds = { 0, 3, -1 } }, + { .text = MatchCall_PersonalizedText30, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText31, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText32, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText33, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText34, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText35, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText36, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText37, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText38, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText39, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText40, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText41, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText42, .stringVarFuncIds = { 0, 3, -1 } }, + { .text = MatchCall_PersonalizedText43, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText44, .stringVarFuncIds = { 0, 3, -1 } }, + { .text = MatchCall_PersonalizedText45, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText46, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText47, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText48, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText49, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText50, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText51, .stringVarFuncIds = { 0, 1, -1 } }, + { .text = MatchCall_PersonalizedText52, .stringVarFuncIds = { 0, 3, -1 } }, + { .text = MatchCall_PersonalizedText53, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText54, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText55, .stringVarFuncIds = { 0, 1, -1 } }, + { .text = MatchCall_PersonalizedText56, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText57, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText58, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText59, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText60, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText61, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText62, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText63, .stringVarFuncIds = { 0, -1, -1 } }, + { .text = MatchCall_PersonalizedText64, .stringVarFuncIds = { 0, -1, -1 } }, +}; + +static const struct MatchCallText sMatchCallBattleFrontierStreakTexts[] = +{ + { .text = MatchCall_BattleFrontierStreakText1, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattleFrontierStreakText2, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattleFrontierStreakText3, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattleFrontierStreakText4, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattleFrontierStreakText5, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattleFrontierStreakText6, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattleFrontierStreakText7, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattleFrontierStreakText8, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattleFrontierStreakText9, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattleFrontierStreakText10, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattleFrontierStreakText11, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattleFrontierStreakText12, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattleFrontierStreakText13, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattleFrontierStreakText14, .stringVarFuncIds = { 0, 4, 5 } }, +}; + +static const struct MatchCallText sMatchCallBattleFrontierRecordStreakTexts[] = +{ + { .text = MatchCall_BattleFrontierRecordStreakText1, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattleFrontierRecordStreakText2, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattleFrontierRecordStreakText3, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattleFrontierRecordStreakText4, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattleFrontierRecordStreakText5, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattleFrontierRecordStreakText6, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattleFrontierRecordStreakText7, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattleFrontierRecordStreakText8, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattleFrontierRecordStreakText9, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattleFrontierRecordStreakText10, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattleFrontierRecordStreakText11, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattleFrontierRecordStreakText12, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattleFrontierRecordStreakText13, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattleFrontierRecordStreakText14, .stringVarFuncIds = { 0, 4, 5 } }, +}; + +static const struct MatchCallText sMatchCallBattleDomeTexts[] = +{ + { .text = MatchCall_BattleDomeText1, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattleDomeText2, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattleDomeText3, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattleDomeText4, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattleDomeText5, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattleDomeText6, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattleDomeText7, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattleDomeText8, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattleDomeText9, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattleDomeText10, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattleDomeText11, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattleDomeText12, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattleDomeText13, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattleDomeText14, .stringVarFuncIds = { 0, 4, 5 } }, +}; + +static const struct MatchCallText sMatchCallBattlePikeTexts[] = +{ + { .text = MatchCall_BattlePikeText1, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattlePikeText2, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattlePikeText3, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattlePikeText4, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattlePikeText5, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattlePikeText6, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattlePikeText7, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattlePikeText8, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattlePikeText9, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattlePikeText10, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattlePikeText11, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattlePikeText12, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattlePikeText13, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattlePikeText14, .stringVarFuncIds = { 0, 4, 5 } }, +}; + +static const struct MatchCallText sMatchCallBattlePyramidTexts[] = +{ + { .text = MatchCall_BattlePyramidText1, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattlePyramidText2, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattlePyramidText3, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattlePyramidText4, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattlePyramidText5, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattlePyramidText6, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattlePyramidText7, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattlePyramidText8, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattlePyramidText9, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattlePyramidText10, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattlePyramidText11, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattlePyramidText12, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattlePyramidText13, .stringVarFuncIds = { 0, 4, 5 } }, + { .text = MatchCall_BattlePyramidText14, .stringVarFuncIds = { 0, 4, 5 } }, +}; + +static const struct MatchCallText *const sMatchCallBattleTopics[] = +{ + sMatchCallWildBattleTexts, + sMatchCallNegativeBattleTexts, + sMatchCallPositiveBattleTexts, +}; + +static const struct MatchCallText *const sMatchCallBattleRequestTopics[] = +{ + sMatchCallSameRouteBattleRequestTexts, + sMatchCallDifferentRouteBattleRequestTexts, +}; + +static const struct MatchCallText *const sMatchCallGeneralTopics[] = +{ + sMatchCallPersonalizedTexts, + sMatchCallBattleFrontierStreakTexts, + sMatchCallBattleFrontierRecordStreakTexts, + sMatchCallBattleDomeTexts, + sMatchCallBattlePikeTexts, + sMatchCallBattlePyramidTexts, +}; + +extern const u8 gUnknown_082A5C9C[]; +extern const u8 gUnknown_082A5D2C[]; +extern const u8 gUnknown_082A633D[]; + +void InitMatchCallCounters(void) +{ + RtcCalcLocalTime(); + gMatchCallState.minutes = GetCurrentTotalMinutes(&gLocalTime) + 10; + gMatchCallState.stepCounter = 0; +} + +static u32 GetCurrentTotalMinutes(struct Time *time) +{ + return time->days * 1440 + time->hours * 60 + time->minutes; +} + +static bool32 UpdateMatchCallMinutesCounter(void) +{ + int curMinutes; + RtcCalcLocalTime(); + curMinutes = GetCurrentTotalMinutes(&gLocalTime); + if (gMatchCallState.minutes > curMinutes || curMinutes - gMatchCallState.minutes > 9) + { + gMatchCallState.minutes = curMinutes; + return TRUE; } + return FALSE; } -static bool32 sub_81D1840(match_call_t matchCall) +static bool32 CheckMatchCallChance(void) { - return FALSE; + int callChance = 1; + if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_IS_EGG) && GetMonAbility(&gPlayerParty[0]) == ABILITY_LIGHTNING_ROD) + callChance = 2; + + if (Random() % 10 < callChance * 3) + return TRUE; + else + return FALSE; } -static bool32 sub_81D1844(match_call_t matchCall) +static bool32 MapAllowsMatchCall(void) { + if (!Overworld_MapTypeAllowsTeleportAndFly(gMapHeader.mapType) || gMapHeader.regionMapSectionId == MAPSEC_SAFARI_ZONE) + return FALSE; + + if (gMapHeader.regionMapSectionId == MAPSEC_SOOTOPOLIS_CITY + && FlagGet(FLAG_HIDE_SOOTOPOLIS_CITY_RAYQUAZA) == TRUE + && FlagGet(FLAG_UNUSED_0x0DC) == FALSE) + return FALSE; + + if (gMapHeader.regionMapSectionId == MAPSEC_MT_CHIMNEY + && FlagGet(FLAG_MET_ARCHIE_METEOR_FALLS) == TRUE + && FlagGet(FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY) == FALSE) + return FALSE; + return TRUE; } -static bool32 sub_81D1848(match_call_t matchCall) +static bool32 UpdateMatchCallStepCounter(void) { + if (++gMatchCallState.stepCounter >= 10) + { + gMatchCallState.stepCounter = 0; + return TRUE; + } + else + { + return FALSE; + } +} + +static bool32 SelectMatchCallTrainer(void) +{ + u32 matchCallId; + u32 numRegistered = GetNumRegisteredNPCs(); + if (!numRegistered) + return FALSE; + + gMatchCallState.trainerId = GetActiveMatchCallTrainerId(Random() % numRegistered); + gMatchCallState.triggeredFromScript = 0; + if (gMatchCallState.trainerId == REMATCH_TABLE_ENTRIES) + return FALSE; + + matchCallId = GetTrainerMatchCallId(gMatchCallState.trainerId); + if (GetRematchTrainerLocation(matchCallId) == gMapHeader.regionMapSectionId && !TrainerIsEligibleForRematch(matchCallId)) + return FALSE; + return TRUE; } -static bool32 sub_81D184C(match_call_t matchCall) +static u32 GetNumRegisteredNPCs(void) { - return FALSE; -} - -static bool32 sub_81D1850(match_call_t matchCall) -{ - return FALSE; -} - -u32 MatchCall_GetRematchTableIdx(u32 idx) -{ - match_call_t matchCall; - u32 i; - - if (idx > 20) - return REMATCH_TABLE_ENTRIES; - matchCall = sMatchCallHeaders[idx]; - i = MatchCallGetFunctionIndex(matchCall); - return sMatchCall_GetRematchTableIdxFunctions[i](matchCall); -} - -static u32 MatchCall_GetRematchTableIdx_Type0(match_call_t matchCall) -{ - return REMATCH_TABLE_ENTRIES; -} - -static u32 MatchCall_GetRematchTableIdx_Type1(match_call_t matchCall) -{ - return matchCall.type1->rematchTableIdx; -} - -static u32 MatchCall_GetRematchTableIdx_Type2(match_call_t matchCall) -{ - return matchCall.type2->rematchTableIdx; -} - -static u32 MatchCall_GetRematchTableIdx_Type3(match_call_t matchCall) -{ - return REMATCH_TABLE_ENTRIES; -} - -static u32 MatchCall_GetRematchTableIdx_Type4(match_call_t matchCall) -{ - return REMATCH_TABLE_ENTRIES; -} - -void MatchCall_GetMessage(u32 idx, u8 *dest) -{ - match_call_t matchCall; - u32 i; - - if (idx > 20) - return; - matchCall = sMatchCallHeaders[idx]; - i = MatchCallGetFunctionIndex(matchCall); - sMatchCall_GetMessageFunctions[i](matchCall, dest); -} - -static void MatchCall_GetMessage_Type0(match_call_t matchCall, u8 *dest) -{ - sub_81D1920(matchCall.type0->textData, dest); -} - -static void MatchCall_GetMessage_Type1(match_call_t matchCall, u8 *dest) -{ - if (matchCall.common->type != 5) - sub_81D1920(matchCall.type5->textData, dest); - else - sub_81D199C(matchCall.type1->textData, matchCall.type1->rematchTableIdx, dest); -} - -static void MatchCall_GetMessage_Type2(match_call_t matchCall, u8 *dest) -{ - sub_81D1920(matchCall.type2->textData, dest); -} - -static void MatchCall_GetMessage_Type3(match_call_t matchCall, u8 *dest) -{ - sub_81D1920(matchCall.type4->textData, dest); -} - -static void MatchCall_GetMessage_Type4(match_call_t matchCall, u8 *dest) -{ - sub_8197080(dest); -} - -void sub_81D1920(const match_call_text_data_t *sub0, u8 *dest) -{ - u32 i; - for (i = 0; sub0[i].text != NULL; i++) - ; - if (i) - i--; - while (i) + u32 i, count; + for (i = 0, count = 0; i < 64; i++) { - if (sub0[i].flag != 0xffff && FlagGet(sub0[i].flag) == TRUE) - break; - i--; + if (FlagGet(FLAG_MATCH_CALL_REGISTERED + i)) + count++; } - if (sub0[i].flag2 != 0xffff) - FlagSet(sub0[i].flag2); - StringExpandPlaceholders(dest, sub0[i].text); + + return count; } -#ifdef NONMATCHING -// There's some weird upmerge going on that I cannot replicate at this time. -static void sub_81D199C(const match_call_text_data_t *sub0, u16 idx, u8 *dest) +static u32 GetActiveMatchCallTrainerId(u32 activeMatchCallId) { u32 i; - for (i = 0; sub0[i].text != NULL; i++) + for (i = 0; i < 64; i++) { - if (sub0[i].flag == 0xfffe) - break; - if (sub0[i].flag == 0xffff && !FlagGet(sub0[i].flag)) - break; - } - if (sub0[i].flag != 0xfffe) - { - if (i) - i--; - if (sub0[i].flag2 != 0xffff) - FlagSet(sub0[i].flag2); - StringExpandPlaceholders(dest, sub0[i].text); - } - else - { - if (!FlagGet(FLAG_SYS_GAME_CLEAR)) - ; - else if (gSaveBlock1Ptr->trainerRematches[idx]) - i += 2; - else if (CountBattledRematchTeams(idx) >= 2) - i += 3; - else - i++; - StringExpandPlaceholders(dest, sub0[i].text); - } -} -#else -static NAKED void sub_81D199C(const match_call_text_data_t *sub0, u16 idx, u8 *dest) -{ - asm_unified("\tpush {r4-r7,lr}\n" - "\tmov r7, r10\n" - "\tmov r6, r9\n" - "\tmov r5, r8\n" - "\tpush {r5-r7}\n" - "\tadds r6, r0, 0\n" - "\tmov r10, r2\n" - "\tlsls r1, 16\n" - "\tlsrs r7, r1, 16\n" - "\tmovs r5, 0\n" - "\tldr r0, [r6]\n" - "\tcmp r0, 0\n" - "\tbeq _081D19E6\n" - "\tldrh r0, [r6, 0x4]\n" - "\tldr r1, =0x0000fffe\n" - "\tcmp r0, r1\n" - "\tbeq _081D1A24\n" - "\tldr r0, =0x0000ffff\n" - "\tmov r9, r0\n" - "\tmov r8, r1\n" - "\tadds r4, r6, 0\n" - "_081D19C6:\n" - "\tldrh r0, [r4, 0x4]\n" - "\tcmp r0, r9\n" - "\tbeq _081D19D6\n" - "\tbl FlagGet\n" - "\tlsls r0, 24\n" - "\tcmp r0, 0\n" - "\tbeq _081D19E6\n" - "_081D19D6:\n" - "\tadds r4, 0x8\n" - "\tadds r5, 0x1\n" - "\tldr r0, [r4]\n" - "\tcmp r0, 0\n" - "\tbeq _081D19E6\n" - "\tldrh r0, [r4, 0x4]\n" - "\tcmp r0, r8\n" - "\tbne _081D19C6\n" - "_081D19E6:\n" - "\tlsls r0, r5, 3\n" - "\tadds r0, r6\n" - "\tldrh r1, [r0, 0x4]\n" - "\tldr r0, =0x0000fffe\n" - "\tcmp r1, r0\n" - "\tbeq _081D1A24\n" - "\tcmp r5, 0\n" - "\tbeq _081D19F8\n" - "\tsubs r5, 0x1\n" - "_081D19F8:\n" - "\tlsls r0, r5, 3\n" - "\tadds r4, r0, r6\n" - "\tldrh r1, [r4, 0x6]\n" - "\tldr r0, =0x0000ffff\n" - "\tcmp r1, r0\n" - "\tbeq _081D1A0A\n" - "\tadds r0, r1, 0\n" - "\tbl FlagSet\n" - "_081D1A0A:\n" - "\tldr r1, [r4]\n" - "\tmov r0, r10\n" - "\tbl StringExpandPlaceholders\n" - "\tb _081D1A5C\n" - "\t.pool\n" - "_081D1A1C:\n" - "\tadds r5, 0x2\n" - "\tb _081D1A50\n" - "_081D1A20:\n" - "\tadds r5, 0x3\n" - "\tb _081D1A50\n" - "_081D1A24:\n" - "\tldr r0, =0x00000864\n" - "\tbl FlagGet\n" - "\tlsls r0, 24\n" - "\tcmp r0, 0\n" - "\tbeq _081D1A50\n" - "\tldr r0, =gSaveBlock1Ptr\n" - "\tldr r0, [r0]\n" - "\tldr r1, =0x000009ca\n" - "\tadds r0, r1\n" - "\tadds r0, r7\n" - "\tldrb r0, [r0]\n" - "\tcmp r0, 0\n" - "\tbne _081D1A1C\n" - "\tadds r0, r7, 0\n" - "\tbl CountBattledRematchTeams\n" - "\tlsls r0, 16\n" - "\tlsrs r0, 16\n" - "\tcmp r0, 0x1\n" - "\tbhi _081D1A20\n" - "\tadds r5, 0x1\n" - "_081D1A50:\n" - "\tlsls r0, r5, 3\n" - "\tadds r0, r6\n" - "\tldr r1, [r0]\n" - "\tmov r0, r10\n" - "\tbl StringExpandPlaceholders\n" - "_081D1A5C:\n" - "\tpop {r3-r5}\n" - "\tmov r8, r3\n" - "\tmov r9, r4\n" - "\tmov r10, r5\n" - "\tpop {r4-r7}\n" - "\tpop {r0}\n" - "\tbx r0\n" - "\t.pool"); -} -#endif - -void sub_81D1A78(u32 idx, const u8 **desc, const u8 **name) -{ - match_call_t matchCall; - u32 i; - - if (idx > 20) - return; - matchCall = sMatchCallHeaders[idx]; - i = MatchCallGetFunctionIndex(matchCall); - sMatchCall_GetNameAndDescFunctions[i](matchCall, desc, name); -} - -static void MatchCall_GetNameAndDesc_Type0(match_call_t matchCall, const u8 **desc, const u8 **name) -{ - *desc = matchCall.type0->desc; - *name = matchCall.type0->name; -} - -static void MatchCall_GetNameAndDesc_Type1(match_call_t matchCall, const u8 **desc, const u8 **name) -{ - match_call_t _matchCall = matchCall; - if (_matchCall.type1->name == NULL) - MatchCall_GetNameAndDescByRematchIdx(_matchCall.type1->rematchTableIdx, desc, name); - else - *name = _matchCall.type1->name; - *desc = _matchCall.type1->desc; -} - -static void MatchCall_GetNameAndDesc_Type2(match_call_t matchCall, const u8 **desc, const u8 **name) -{ - MatchCall_GetNameAndDescByRematchIdx(matchCall.type2->rematchTableIdx, desc, name); - *desc = matchCall.type2->desc; -} - -static void MatchCall_GetNameAndDesc_Type3(match_call_t matchCall, const u8 **desc, const u8 **name) -{ - *desc = matchCall.type4->desc; - *name = matchCall.type4->name; -} - -static void MatchCall_GetNameAndDesc_Type4(match_call_t matchCall, const u8 **desc, const u8 **name) -{ - *desc = matchCall.type3->desc; - *name = matchCall.type3->name; -} - -static void MatchCall_GetNameAndDescByRematchIdx(u32 idx, const u8 **desc, const u8 **name) -{ - const struct Trainer *trainer = gTrainers + GetTrainerIdxByRematchIdx(idx); - *desc = gTrainerClassNames[trainer->trainerClass]; - *name = trainer->trainerName; -} - -#ifdef NONMATCHING -const u8 *sub_81D1B40(u32 idx, u32 offset) -{ - u32 i; - - for (i = 0; i < 4; i++) - { - if (sMatchCallCheckPageOverrides[i].idx == idx) + if (FlagGet(FLAG_MATCH_CALL_REGISTERED + i)) { - for (; i + 1 < 4 && sMatchCallCheckPageOverrides[i + 1].idx == idx; i++) - { - if (!FlagGet(sMatchCallCheckPageOverrides[i + 1].v4)) - break; - } - return sMatchCallCheckPageOverrides[i].v8[offset]; + if (!activeMatchCallId) + return gRematchTable[i].trainerIds[0]; + + activeMatchCallId--; } } - return NULL; -} -#else -NAKED const u8 *sub_81D1B40(u32 idx, u32 offset) -{ - asm_unified("\tpush {r4-r7,lr}\n" - "\tmov r7, r9\n" - "\tmov r6, r8\n" - "\tpush {r6,r7}\n" - "\tadds r6, r0, 0\n" - "\tmovs r5, 0\n" - "\tldr r2, =sMatchCallCheckPageOverrides\n" - "\tmovs r0, 0x8\n" - "\tadds r0, r2\n" - "\tmov r9, r0\n" - "_081D1B54:\n" - "\tlsls r0, r5, 1\n" - "\tadds r0, r5\n" - "\tlsls r0, 3\n" - "\tadds r0, r2\n" - "\tldrh r0, [r0]\n" - "\tcmp r0, r6\n" - "\tbne _081D1BBC\n" - "\tadds r4, r5, 0x1\n" - "\tlsls r1, 2\n" - "\tmov r8, r1\n" - "\tcmp r4, 0x3\n" - "\tbhi _081D1BA8\n" - "\tlsls r0, r4, 1\n" - "\tadds r0, r4\n" - "\tlsls r0, 3\n" - "\tadds r0, r2\n" - "\tldrh r0, [r0]\n" - "\tcmp r0, r6\n" - "\tbne _081D1BA8\n" - "\tldr r7, =sMatchCallCheckPageOverrides\n" - "_081D1B7C:\n" - "\tlsls r0, r4, 1\n" - "\tadds r0, r4\n" - "\tlsls r0, 3\n" - "\tadds r1, r7, 0x4\n" - "\tadds r0, r1\n" - "\tldrh r0, [r0]\n" - "\tbl FlagGet\n" - "\tlsls r0, 24\n" - "\tcmp r0, 0\n" - "\tbeq _081D1BA8\n" - "\tadds r5, r4, 0\n" - "\tadds r4, r5, 0x1\n" - "\tcmp r4, 0x3\n" - "\tbhi _081D1BA8\n" - "\tlsls r0, r4, 1\n" - "\tadds r0, r4\n" - "\tlsls r0, 3\n" - "\tadds r0, r7\n" - "\tldrh r0, [r0]\n" - "\tcmp r0, r6\n" - "\tbeq _081D1B7C\n" - "_081D1BA8:\n" - "\tlsls r0, r5, 1\n" - "\tadds r0, r5\n" - "\tlsls r0, 3\n" - "\tadd r0, r8\n" - "\tadd r0, r9\n" - "\tldr r0, [r0]\n" - "\tb _081D1BC4\n" - "\t.pool\n" - "_081D1BBC:\n" - "\tadds r5, 0x1\n" - "\tcmp r5, 0x3\n" - "\tbls _081D1B54\n" - "\tmovs r0, 0\n" - "_081D1BC4:\n" - "\tpop {r3,r4}\n" - "\tmov r8, r3\n" - "\tmov r9, r4\n" - "\tpop {r4-r7}\n" - "\tpop {r1}\n" - "\tbx r1"); -} -#endif -s32 sub_81D1BD0(u32 idx) -{ - u32 i; + return REMATCH_TABLE_ENTRIES; +} - for (i = 0; i < 4; i++) +bool32 TryStartMatchCall(void) +{ + if (FlagGet(FLAG_HAS_MATCH_CALL) && UpdateMatchCallStepCounter() && UpdateMatchCallMinutesCounter() + && CheckMatchCallChance() && MapAllowsMatchCall() && SelectMatchCallTrainer()) { - if (sMatchCallCheckPageOverrides[i].idx == idx) - return sMatchCallCheckPageOverrides[i].v2; + StartMatchCall(); + return TRUE; } - return -1; -} -bool32 sub_81D1BF8(u32 idx) -{ - s32 i; - - for (i = 0; i < 21; i++) - { - u32 r0 = MatchCall_GetRematchTableIdx(i); - if (r0 != REMATCH_TABLE_ENTRIES && r0 == idx) - return TRUE; - } return FALSE; } -void SetMatchCallRegisteredFlag(void) +void StartMatchCallFromScript(void) { - s32 r0 = GetRematchIdxByTrainerIdx(gSpecialVar_0x8004); - if (r0 >= 0) - FlagSet(FLAG_MATCH_CALL_REGISTERED + r0); + gMatchCallState.triggeredFromScript = 1; + StartMatchCall(); } + +bool8 IsMatchCallTaskActive(void) +{ + return FuncIsActiveTask(ExecuteMatchCall); +} + +static void StartMatchCall(void) +{ + if (!gMatchCallState.triggeredFromScript) + { + ScriptContext2_Enable(); + FreezeEventObjects(); + sub_808B864(); + sub_808BCF4(); + } + + PlaySE(SE_TOREEYE); + CreateTask(ExecuteMatchCall, 1); +} + +static const u16 sUnknown_0860EA4C[] = INCBIN_U16("graphics/unknown/unknown_60EA4C.gbapal"); +static const u8 sUnknown_0860EA6C[] = INCBIN_U8("graphics/interface/menu_border.4bpp"); +static const u16 sPokeNavIconPalette[] = INCBIN_U16("graphics/pokenav/icon.gbapal"); +static const u32 sPokeNavIconGfx[] = INCBIN_U32("graphics/pokenav/icon.4bpp.lz"); + +static const u8 sText_PokenavCallEllipsis[] = _("………………\p"); + +static bool32 (*const sMatchCallTaskFuncs[])(u8) = +{ + LoadMatchCallWindowGfx, + MoveMatchCallWindowToVram, + PrintMatchCallIntroEllipsis, + sub_81962B0, + sub_81962D8, + sub_8196330, + sub_8196390, + sub_81963F0, +}; + +static void ExecuteMatchCall(u8 taskId) +{ + s16 *taskData = gTasks[taskId].data; + if (sMatchCallTaskFuncs[taskData[0]](taskId)) + { + taskData[0]++; + taskData[1] = 0; + if ((u16)taskData[0] > 7) + DestroyTask(taskId); + } +} + +static const struct WindowTemplate sMatchCallTextWindow = +{ + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 15, + .width = 28, + .height = 4, + .paletteNum = 15, + .baseBlock = 0x200 +}; + +static bool32 LoadMatchCallWindowGfx(u8 taskId) +{ + s16 *taskData = gTasks[taskId].data; + taskData[2] = AddWindow(&sMatchCallTextWindow); + if (taskData[2] == 0xFF) + { + DestroyTask(taskId); + return FALSE; + } + + if (LoadBgTiles(0, sUnknown_0860EA6C, sizeof(sUnknown_0860EA6C), 0x270) == 0xFFFF) + { + RemoveWindow(taskData[2]); + DestroyTask(taskId); + return FALSE; + } + + if (!decompress_and_copy_tile_data_to_vram(0, sPokeNavIconGfx, 0, 0x279, 0)) + { + RemoveWindow(taskData[2]); + DestroyTask(taskId); + return FALSE; + } + + FillWindowPixelBuffer(taskData[2], 0x88); + LoadPalette(sUnknown_0860EA4C, 0xE0, 0x20); + LoadPalette(sPokeNavIconPalette, 0xF0, 0x20); + ChangeBgY(0, -0x2000, 0); + return TRUE; +} + +static bool32 MoveMatchCallWindowToVram(u8 taskId) +{ + s16 *taskData = gTasks[taskId].data; + if (free_temp_tile_data_buffers_if_possible()) + return FALSE; + + PutWindowTilemap(taskData[2]); + DrawMatchCallTextBoxBorder(taskData[2], 0x270, 14); + WriteSequenceToBgTilemapBuffer(0, 0xF279, 1, 15, 4, 4, 17, 1); + taskData[5] = CreateTask(sub_8196694, 10); + CopyWindowToVram(taskData[2], 2); + CopyBgTilemapBufferToVram(0); + return TRUE; +} + +static bool32 PrintMatchCallIntroEllipsis(u8 taskId) +{ + s16 *taskData = gTasks[taskId].data; + if (!IsDma3ManagerBusyWithBgCopy()) + { + InitMatchCallTextPrinter(taskData[2], sText_PokenavCallEllipsis); + return TRUE; + } + + return FALSE; +} + +static bool32 sub_81962B0(u8 taskId) +{ + if (ChangeBgY(0, 0x600, 1) >= 0) + { + ChangeBgY(0, 0, 0); + return TRUE; + } + + return FALSE; +} + +static bool32 sub_81962D8(u8 taskId) +{ + s16 *taskData = gTasks[taskId].data; + if (!ExecuteMatchCallTextPrinter(taskData[2])) + { + FillWindowPixelBuffer(taskData[2], 0x88); + if (!gMatchCallState.triggeredFromScript) + SelectMatchCallMessage(gMatchCallState.trainerId, gStringVar4); + + InitMatchCallTextPrinter(taskData[2], gStringVar4); + return TRUE; + } + + return FALSE; +} + +static bool32 sub_8196330(u8 taskId) +{ + s16 *taskData = gTasks[taskId].data; + if (!ExecuteMatchCallTextPrinter(taskData[2]) && !IsSEPlaying() && gMain.newKeys & (A_BUTTON | B_BUTTON)) + { + FillWindowPixelBuffer(taskData[2], 0x88); + CopyWindowToVram(taskData[2], 2); + PlaySE(SE_TOREOFF); + return TRUE; + } + + return FALSE; +} + +static bool32 sub_8196390(u8 taskId) +{ + s16 *taskData = gTasks[taskId].data; + if (ChangeBgY(0, 0x600, 2) <= -0x2000) + { + FillBgTilemapBufferRect_Palette0(0, 0, 0, 14, 30, 6); + DestroyTask(taskData[5]); + RemoveWindow(taskData[2]); + CopyBgTilemapBufferToVram(0); + return TRUE; + } + + return FALSE; +} + +static bool32 sub_81963F0(u8 taskId) +{ + u8 playerObjectId; + if (!IsDma3ManagerBusyWithBgCopy() && !IsSEPlaying()) + { + ChangeBgY(0, 0, 0); + if (!gMatchCallState.triggeredFromScript) + { + sub_81973A4(); + playerObjectId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); + EventObjectClearHeldMovementIfFinished(&gEventObjects[playerObjectId]); + sub_80D338C(); + UnfreezeEventObjects(); + ScriptContext2_Disable(); + } + + return TRUE; + } + + return FALSE; +} + +static void DrawMatchCallTextBoxBorder(u32 windowId, u32 tileOffset, u32 paletteId) +{ + int bg, x, y, width, height; + int tileNum; + + bg = GetWindowAttribute(windowId, WINDOW_BG); + x = GetWindowAttribute(windowId, WINDOW_TILEMAP_LEFT); + y = GetWindowAttribute(windowId, WINDOW_TILEMAP_TOP); + width = GetWindowAttribute(windowId, WINDOW_WIDTH); + height = GetWindowAttribute(windowId, WINDOW_HEIGHT); + tileNum = tileOffset + GetBgAttribute(bg, BG_ATTR_BASETILE); + + FillBgTilemapBufferRect_Palette0(bg, ((paletteId << 12) & 0xF000) | (tileNum + 0), x - 1, y - 1, 1, 1); + FillBgTilemapBufferRect_Palette0(bg, ((paletteId << 12) & 0xF000) | (tileNum + 1), x, y - 1, width, 1); + FillBgTilemapBufferRect_Palette0(bg, ((paletteId << 12) & 0xF000) | (tileNum + 2), x + width, y - 1, 1, 1); + FillBgTilemapBufferRect_Palette0(bg, ((paletteId << 12) & 0xF000) | (tileNum + 3), x - 1, y, 1, height); + FillBgTilemapBufferRect_Palette0(bg, ((paletteId << 12) & 0xF000) | (tileNum + 4), x + width, y, 1, height); + FillBgTilemapBufferRect_Palette0(bg, ((paletteId << 12) & 0xF000) | (tileNum + 5), x - 1, y + height, 1, 1); + FillBgTilemapBufferRect_Palette0(bg, ((paletteId << 12) & 0xF000) | (tileNum + 6), x, y + height, width, 1); + FillBgTilemapBufferRect_Palette0(bg, ((paletteId << 12) & 0xF000) | (tileNum + 7), x + width, y + height, 1, 1); +} + +static void InitMatchCallTextPrinter(int windowId, const u8 *str) +{ + struct TextPrinterTemplate printerTemplate; + printerTemplate.currentChar = str; + printerTemplate.windowId = windowId; + printerTemplate.fontId = 1; + printerTemplate.x = 32; + printerTemplate.y = 1; + printerTemplate.currentX = 32; + printerTemplate.currentY = 1; + printerTemplate.letterSpacing = 0; + printerTemplate.lineSpacing = 0; + printerTemplate.unk = 0; + printerTemplate.fgColor = 10; + printerTemplate.bgColor = 8; + printerTemplate.shadowColor = 14; + gTextFlags.useAlternateDownArrow = 0; + + AddTextPrinter(&printerTemplate, GetPlayerTextSpeedDelay(), NULL); +} + +static bool32 ExecuteMatchCallTextPrinter(int windowId) +{ + if (gMain.heldKeys & A_BUTTON) + gTextFlags.canABSpeedUpPrint = 1; + else + gTextFlags.canABSpeedUpPrint = 0; + + RunTextPrinters(); + return IsTextPrinterActive(windowId); +} + +static void sub_8196694(u8 taskId) +{ + s16 *taskData = gTasks[taskId].data; + if (++taskData[0] > 8) + { + taskData[0] = 0; + if (++taskData[1] > 7) + taskData[1] = 0; + + taskData[2] = (taskData[1] * 16) + 0x279; + WriteSequenceToBgTilemapBuffer(0, taskData[2] | ~0xFFF, 1, 15, 4, 4, 17, 1); + CopyBgTilemapBufferToVram(0); + } +} + +static bool32 TrainerIsEligibleForRematch(int matchCallId) +{ + return gSaveBlock1Ptr->trainerRematches[matchCallId] > 0; +} + +static u16 GetRematchTrainerLocation(int matchCallId) +{ + const struct MapHeader *mapHeader = Overworld_GetMapHeaderByGroupAndId(gRematchTable[matchCallId].mapGroup, gRematchTable[matchCallId].mapNum); + return mapHeader->regionMapSectionId; +} + +static u32 GetNumRematchTrainersFought(void) +{ + u32 i, count; + for (i = 0, count = 0; i < 64; i++) + { + if (HasTrainerBeenFought(gRematchTable[i].trainerIds[0])) + count++; + } + + return count; +} + +static u32 sub_8196774(int arg0) +{ + u32 i, count; + + for (i = 0, count = 0; i < REMATCH_TABLE_ENTRIES; i++) + { + if (HasTrainerBeenFought(gRematchTable[i].trainerIds[0])) + { + if (count == arg0) + return i; + + count++; + } + } + + return REMATCH_TABLE_ENTRIES; +} + +bool32 SelectMatchCallMessage(int trainerId, u8 *str) +{ + u32 matchCallId; + const struct MatchCallText *matchCallText; + bool32 retVal = FALSE; + + matchCallId = GetTrainerMatchCallId(trainerId); + gBattleFrontierStreakInfo.facilityId = 0; + if (TrainerIsEligibleForRematch(matchCallId) + && GetRematchTrainerLocation(matchCallId) == gMapHeader.regionMapSectionId) + { + matchCallText = GetSameRouteMatchCallText(matchCallId, str); + } + else if (sub_8196D74(matchCallId)) + { + matchCallText = GetDifferentRouteMatchCallText(matchCallId, str); + retVal = TRUE; + UpdateRematchIfDefeated(matchCallId); + } + else if (Random() % 3) + { + matchCallText = GetBattleMatchCallText(matchCallId, str); + } + else + { + matchCallText = GetGeneralMatchCallText(matchCallId, str); + } + + BuildMatchCallString(matchCallId, matchCallText, str); + return retVal; +} + +static int GetTrainerMatchCallId(int trainerId) +{ + int i = 0; + while (1) + { + if (sMatchCallTrainers[i].trainerId == trainerId) + return i; + else + i++; + } +} + +static const struct MatchCallText *GetSameRouteMatchCallText(int matchCallId, u8 *str) +{ + u16 textId = sMatchCallTrainers[matchCallId].sameRouteMatchCallTextId; + int mask = 0xFF; + u32 topic = (textId >> 8) - 1; + u32 id = (textId & mask) - 1; + return &sMatchCallBattleRequestTopics[topic][id]; +} + +static const struct MatchCallText *GetDifferentRouteMatchCallText(int matchCallId, u8 *str) +{ + u16 textId = sMatchCallTrainers[matchCallId].differentRouteMatchCallTextId; + int mask = 0xFF; + u32 topic = (textId >> 8) - 1; + u32 id = (textId & mask) - 1; + return &sMatchCallBattleRequestTopics[topic][id]; +} + +static const struct MatchCallText *GetBattleMatchCallText(int matchCallId, u8 *str) +{ + int mask; + u32 textId, topic, id; + + topic = Random() % 3; + textId = sMatchCallTrainers[matchCallId].battleTopicTextIds[topic]; + if (!textId) + SpriteCallbackDummy(NULL); // leftover debugging ??? + + mask = 0xFF; + topic = (textId >> 8) - 1; + id = (textId & mask) - 1; + return &sMatchCallBattleTopics[topic][id]; +} + +static const struct MatchCallText *GetGeneralMatchCallText(int matchCallId, u8 *str) +{ + int i; + int count; + u32 topic, id; + u16 rand; + u16 var3; + + rand = Random(); + if (!(rand & 1)) + { + for (count = 0, i = 0; i < NUM_FRONTIER_FACILITIES; i++) + { + if (GetFrontierStreakInfo(i, &topic) > 1) + count++; + } + + if (count) + { + count = Random() % count; + for (i = 0; i < NUM_FRONTIER_FACILITIES; i++) + { + gBattleFrontierStreakInfo.streak = GetFrontierStreakInfo(i, &topic); + if (gBattleFrontierStreakInfo.streak < 2) + continue; + + if (!count) + break; + + count--; + } + + gBattleFrontierStreakInfo.facilityId = i; + id = sMatchCallTrainers[matchCallId].battleFrontierRecordStreakTextIndex - 1; + return &sMatchCallGeneralTopics[topic][id]; + } + } + + topic = (sMatchCallTrainers[matchCallId].generalTextId >> 8) - 1; + id = (sMatchCallTrainers[matchCallId].generalTextId & 0xFF) - 1; + return &sMatchCallGeneralTopics[topic][id]; +} + +static void BuildMatchCallString(int matchCallId, const struct MatchCallText *matchCallText, u8 *str) +{ + PopulateMatchCallStringVars(matchCallId, matchCallText->stringVarFuncIds); + StringExpandPlaceholders(str, matchCallText->text); +} + +static u8 *const sMatchCallTextStringVars[] = { gStringVar1, gStringVar2, gStringVar3 }; + +static void PopulateMatchCallStringVars(int matchCallId, const s8 *stringVarFuncIds) +{ + int i; + for (i = 0; i < 3; i++) + { + if (stringVarFuncIds[i] >= 0) + PopulateMatchCallStringVar(matchCallId, stringVarFuncIds[i], sMatchCallTextStringVars[i]); + } +} + +static void (*const sPopulateMatchCallStringVarFuncs[])(int, u8 *) = +{ + PopulateTrainerName, + PopulateMapName, + PopulateSpeciesFromTrainerLocation, + PopulateSpeciesFromTrainerParty, + PopulateBattleFrontierFacilityName, + PopulateBattleFrontierStreak, +}; + +static void PopulateMatchCallStringVar(int matchCallId, int funcId, u8 *destStr) +{ + sPopulateMatchCallStringVarFuncs[funcId](matchCallId, destStr); +} + +static const struct MultiTrainerMatchCallText sMultiTrainerMatchCallTexts[] = +{ + { .trainerId = TRAINER_KIRA_AND_DAN_1, .text = gText_Kira }, + { .trainerId = TRAINER_AMY_AND_LIV_1, .text = gText_Amy }, + { .trainerId = TRAINER_JOHN_AND_JAY_1, .text = gText_John }, + { .trainerId = TRAINER_LILA_AND_ROY_1, .text = gText_Roy }, + { .trainerId = TRAINER_GABBY_AND_TY_1, .text = gText_Gabby }, + { .trainerId = TRAINER_ANNA_AND_MEG_1, .text = gText_Anna }, +}; + +static void PopulateTrainerName(int matchCallId, u8 *destStr) +{ + u32 i; + u16 trainerId = sMatchCallTrainers[matchCallId].trainerId; + for (i = 0; i < 6; i++) + { + if (sMultiTrainerMatchCallTexts[i].trainerId == trainerId) + { + StringCopy(destStr, sMultiTrainerMatchCallTexts[i].text); + return; + } + } + + StringCopy(destStr, gTrainers[trainerId].trainerName); +} + +static void PopulateMapName(int matchCallId, u8 *destStr) +{ + GetMapName(destStr, GetRematchTrainerLocation(matchCallId), 0); +} + +static u8 GetLandEncounterSlot(void) +{ + int rand = Random() % 100; + if (rand < 20) + return 0; + else if (rand >= 20 && rand < 40) + return 1; + else if (rand >= 40 && rand < 50) + return 2; + else if (rand >= 50 && rand < 60) + return 3; + else if (rand >= 60 && rand < 70) + return 4; + else if (rand >= 70 && rand < 80) + return 5; + else if (rand >= 80 && rand < 85) + return 6; + else if (rand >= 85 && rand < 90) + return 7; + else if (rand >= 90 && rand < 94) + return 8; + else if (rand >= 94 && rand < 98) + return 9; + else if (rand >= 98 && rand < 99) + return 10; + else + return 11; +} + +static u8 GetWaterEncounterSlot(void) +{ + int rand = Random() % 100; + if (rand < 60) + return 0; + else if (rand >= 60 && rand < 90) + return 1; + else if (rand >= 90 && rand < 95) + return 2; + else if (rand >= 95 && rand < 99) + return 3; + else + return 4; +} + +static void PopulateSpeciesFromTrainerLocation(int matchCallId, u8 *destStr) +{ + u16 species[2]; + int numSpecies; + u8 slot; + int i = 0; + + if (gWildMonHeaders[i].mapGroup != MAP_GROUP(UNDEFINED)) // ??? This check is nonsense. + { + while (gWildMonHeaders[i].mapGroup != MAP_GROUP(UNDEFINED)) + { + if (gWildMonHeaders[i].mapGroup == gRematchTable[matchCallId].mapGroup + && gWildMonHeaders[i].mapNum == gRematchTable[matchCallId].mapNum) + break; + + i++; + } + + if (gWildMonHeaders[i].mapGroup != MAP_GROUP(UNDEFINED)) + { + numSpecies = 0; + if (gWildMonHeaders[i].landMonsInfo) + { + slot = GetLandEncounterSlot(); + species[numSpecies] = gWildMonHeaders[i].landMonsInfo->wildPokemon[slot].species; + numSpecies++; + } + + if (gWildMonHeaders[i].waterMonsInfo) + { + slot = GetWaterEncounterSlot(); + species[numSpecies] = gWildMonHeaders[i].waterMonsInfo->wildPokemon[slot].species; + numSpecies++; + } + + if (numSpecies) + { + StringCopy(destStr, gSpeciesNames[species[Random() % numSpecies]]); + return; + } + } + } + + destStr[0] = EOS; +} + +static void PopulateSpeciesFromTrainerParty(int matchCallId, u8 *destStr) +{ + u16 trainerId; + union TrainerMonPtr party; + u8 monId; + const u8 *speciesName; + + trainerId = GetLastBeatenRematchTrainerId(sMatchCallTrainers[matchCallId].trainerId); + party = gTrainers[trainerId].party; + monId = Random() % gTrainers[trainerId].partySize; + + switch (gTrainers[trainerId].partyFlags) + { + case 0: + default: + speciesName = gSpeciesNames[party.NoItemDefaultMoves[monId].species]; + break; + case F_TRAINER_PARTY_CUSTOM_MOVESET: + speciesName = gSpeciesNames[party.NoItemCustomMoves[monId].species]; + break; + case F_TRAINER_PARTY_HELD_ITEM: + speciesName = gSpeciesNames[party.ItemDefaultMoves[monId].species]; + break; + case F_TRAINER_PARTY_CUSTOM_MOVESET | F_TRAINER_PARTY_HELD_ITEM: + speciesName = gSpeciesNames[party.ItemCustomMoves[monId].species]; + break; + } + + StringCopy(destStr, speciesName); +} + +static const u8 *const sBattleFrontierFacilityNames[] = +{ + gText_BattleTower2, + gText_BattleDome, + gText_BattlePalace, + gText_BattleArena, + gText_BattlePike, + gText_BattleFactory, + gText_BattlePyramid, +}; + +static void PopulateBattleFrontierFacilityName(int matchCallId, u8 *destStr) +{ + StringCopy(destStr, sBattleFrontierFacilityNames[gBattleFrontierStreakInfo.facilityId]); +} + +static void PopulateBattleFrontierStreak(int matchCallId, u8 *destStr) +{ + int i = 0; + int streak = gBattleFrontierStreakInfo.streak; + while (streak != 0) + { + streak /= 10; + i++; + } + + ConvertIntToDecimalStringN(destStr, gBattleFrontierStreakInfo.streak, 0, i); +} + +static const u16 sBadgeFlags[] = +{ + FLAG_BADGE01_GET, + FLAG_BADGE02_GET, + FLAG_BADGE03_GET, + FLAG_BADGE04_GET, + FLAG_BADGE05_GET, + FLAG_BADGE06_GET, + FLAG_BADGE07_GET, + FLAG_BADGE08_GET, +}; + +static int GetNumOwnedBadges(void) +{ + u32 i; + + for (i = 0; i < 8; i++) + { + if (!FlagGet(sBadgeFlags[i])) + break; + } + + return i; +} + +static bool32 sub_8196D74(int matchCallId) +{ + int dayCount; + int otId; + u16 easyChatWord; + int numRematchTrainersFought; + int var0, var1, var2; + + if (GetNumOwnedBadges() < 5) + return FALSE; + + dayCount = RtcGetLocalDayCount(); + otId = GetTrainerId(gSaveBlock2Ptr->playerTrainerId) & 0xFFFF; + + easyChatWord = gSaveBlock1Ptr->easyChatPairs[0].unk2; + numRematchTrainersFought = GetNumRematchTrainersFought(); + var0 = (numRematchTrainersFought * 13) / 10; + var1 = ((dayCount ^ easyChatWord) + (easyChatWord ^ GetGameStat(GAME_STAT_TRAINER_BATTLES))) ^ otId; + var2 = var1 % var0; + if (var2 < numRematchTrainersFought) + { + if (sub_8196774(var2) == matchCallId) + return TRUE; + } + + return FALSE; +} + +static u16 GetFrontierStreakInfo(u16 facilityId, u32 *topicTextId) +{ + int i; + int j; + u16 streak = 0; + + switch (facilityId) + { + case FRONTIER_FACILITY_DOME: + for (i = 0; i < 2; i++) + { + for (j = 0; j < 2; j++) + { + if (streak < gSaveBlock2Ptr->frontier.domeRecordWinStreaks[i][j]) + streak = gSaveBlock2Ptr->frontier.domeRecordWinStreaks[i][j]; + } + } + *topicTextId = 3; + break; + case FRONTIER_FACILITY_FACTORY: + for (i = 0; i < 2; i++) + { + // BUG: should be looking at battle factory records. + if (streak < gSaveBlock2Ptr->frontier.pikeRecordStreaks[i]) + streak = gSaveBlock2Ptr->frontier.pikeRecordStreaks[i]; + } + *topicTextId = 4; + break; + case FRONTIER_FACILITY_TOWER: + for (i = 0; i < 4; i++) + { + for (j = 0; j < 2; j++) + { + if (streak < gSaveBlock2Ptr->frontier.towerRecordWinStreaks[i][j]) + streak = gSaveBlock2Ptr->frontier.towerRecordWinStreaks[i][j]; + } + } + *topicTextId = 2; + break; + case FRONTIER_FACILITY_PALACE: + for (i = 0; i < 2; i++) + { + for (j = 0; j < 2; j++) + { + if (streak < gSaveBlock2Ptr->frontier.palaceRecordWinStreaks[i][j]) + streak = gSaveBlock2Ptr->frontier.palaceRecordWinStreaks[i][j]; + } + } + *topicTextId = 2; + break; + case FRONTIER_FACILITY_PIKE: + for (i = 0; i < 2; i++) + { + for (j = 0; j < 2; j++) + { + // BUG: should be looking at battle pike records. + if (streak < gSaveBlock2Ptr->frontier.factoryRecordWinStreaks[i][j]) + streak = gSaveBlock2Ptr->frontier.factoryRecordWinStreaks[i][j]; + } + } + *topicTextId = 2; + break; + case FRONTIER_FACILITY_ARENA: + for (i = 0; i < 2; i++) + { + if (streak < gSaveBlock2Ptr->frontier.arenaRecordStreaks[i]) + streak = gSaveBlock2Ptr->frontier.arenaRecordStreaks[i]; + } + *topicTextId = 2; + break; + case FRONTIER_FACILITY_PYRAMID: + for (i = 0; i < 2; i++) + { + if (streak < gSaveBlock2Ptr->frontier.pyramidRecordStreaks[i]) + streak = gSaveBlock2Ptr->frontier.pyramidRecordStreaks[i]; + } + *topicTextId = 5; + break; + } + + return streak; +} + +static u8 GetPokedexRatingLevel(u16 numSeen) +{ + if (numSeen < 10) + return 0; + if (numSeen < 20) + return 1; + if (numSeen < 30) + return 2; + if (numSeen < 40) + return 3; + if (numSeen < 50) + return 4; + if (numSeen < 60) + return 5; + if (numSeen < 70) + return 6; + if (numSeen < 80) + return 7; + if (numSeen < 90) + return 8; + if (numSeen < 100) + return 9; + if (numSeen < 110) + return 10; + if (numSeen < 120) + return 11; + if (numSeen < 130) + return 12; + if (numSeen < 140) + return 13; + if (numSeen < 150) + return 14; + if (numSeen < 160) + return 15; + if (numSeen < 170) + return 16; + if (numSeen < 180) + return 17; + if (numSeen < 190) + return 18; + if (numSeen < 200) + return 19; + + if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(SPECIES_DEOXYS), FLAG_GET_CAUGHT)) + numSeen--; + if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(SPECIES_JIRACHI), FLAG_GET_CAUGHT)) + numSeen--; + + if (numSeen < 200) + return 19; + else + return 20; +} + +static const u8 *const sBirchDexRatingTexts[] = +{ + gBirchDexRatingText_LessThan10, + gBirchDexRatingText_LessThan20, + gBirchDexRatingText_LessThan30, + gBirchDexRatingText_LessThan40, + gBirchDexRatingText_LessThan50, + gBirchDexRatingText_LessThan60, + gBirchDexRatingText_LessThan70, + gBirchDexRatingText_LessThan80, + gBirchDexRatingText_LessThan90, + gBirchDexRatingText_LessThan100, + gBirchDexRatingText_LessThan110, + gBirchDexRatingText_LessThan120, + gBirchDexRatingText_LessThan130, + gBirchDexRatingText_LessThan140, + gBirchDexRatingText_LessThan150, + gBirchDexRatingText_LessThan160, + gBirchDexRatingText_LessThan170, + gBirchDexRatingText_LessThan180, + gBirchDexRatingText_LessThan190, + gBirchDexRatingText_LessThan200, + gBirchDexRatingText_DexCompleted, +}; + +void sub_8197080(u8 *destStr) +{ + int numSeen, numCaught; + u8 *str; + u8 dexRatingLevel; + + u8 *buffer = Alloc(0x3E8); + if (!buffer) + { + destStr[0] = EOS; + return; + } + + numSeen = GetHoennPokedexCount(FLAG_GET_SEEN); + numCaught = GetHoennPokedexCount(FLAG_GET_CAUGHT); + ConvertIntToDecimalStringN(gStringVar1, numSeen, 0, 3); + ConvertIntToDecimalStringN(gStringVar2, numCaught, 0, 3); + dexRatingLevel = GetPokedexRatingLevel(numCaught); + str = StringCopy(buffer, gUnknown_082A5C9C); + str[0] = CHAR_PROMPT_CLEAR; + str++; + str = StringCopy(str, gUnknown_082A5D2C); + str[0] = CHAR_PROMPT_CLEAR; + str++; + StringCopy(str, sBirchDexRatingTexts[dexRatingLevel]); + str = StringExpandPlaceholders(destStr, buffer); + + if (IsNationalPokedexEnabled()) + { + str[0] = CHAR_PROMPT_CLEAR; + str++; + numSeen = GetNationalPokedexCount(FLAG_GET_SEEN); + numCaught = GetNationalPokedexCount(FLAG_GET_CAUGHT); + ConvertIntToDecimalStringN(gStringVar1, numSeen, 0, 3); + ConvertIntToDecimalStringN(gStringVar2, numCaught, 0, 3); + StringExpandPlaceholders(str, gUnknown_082A633D); + } + + Free(buffer); +} + +void sub_8197184(u8 windowId, u32 destOffset, u32 paletteId) +{ + u8 bg = GetWindowAttribute(windowId, WINDOW_BG); + LoadBgTiles(bg, sUnknown_0860EA6C, 0x100, destOffset); + LoadPalette(sUnknown_0860EA4C, paletteId << 4, 0x20); +} + +void sub_81971C4(u32 windowId, u32 tileOffset, u32 paletteId) +{ + DrawMatchCallTextBoxBorder(windowId, tileOffset, paletteId); +} \ No newline at end of file diff --git a/src/menu.c b/src/menu.c index f1b35b42e7..ae589dff4c 100644 --- a/src/menu.c +++ b/src/menu.c @@ -1,24 +1,24 @@ #include "global.h" -#include "bg.h" -#include "window.h" -#include "palette.h" -#include "menu.h" -#include "constants/songs.h" -#include "main.h" -#include "sound.h" -#include "menu_helpers.h" #include "alloc.h" -#include "task.h" +#include "bg.h" #include "dma3.h" -#include "string_util.h" -#include "pokemon_icon.h" -#include "constants/flags.h" #include "event_data.h" -#include "pokedex.h" -#include "region_map.h" -#include "text_window.h" -#include "strings.h" #include "graphics.h" +#include "main.h" +#include "menu.h" +#include "menu_helpers.h" +#include "palette.h" +#include "pokedex.h" +#include "pokemon_icon.h" +#include "region_map.h" +#include "sound.h" +#include "string_util.h" +#include "strings.h" +#include "task.h" +#include "text_window.h" +#include "window.h" +#include "constants/flags.h" +#include "constants/songs.h" #define DLG_WINDOW_PALETTE_NUM 15 #define DLG_WINDOW_BASE_TILE_NUM 0x200 @@ -50,11 +50,11 @@ struct Menu static EWRAM_DATA u8 sStartMenuWindowId = 0; static EWRAM_DATA u8 sMapNamePopupWindowId = 0; -static EWRAM_DATA struct Menu gUnknown_0203CD90 = {0}; -static EWRAM_DATA u16 gUnknown_0203CD9C = 0; -static EWRAM_DATA u8 gUnknown_0203CD9E = 0; -static EWRAM_DATA u8 gUnknown_0203CD9F = 0; -static EWRAM_DATA u8 gUnknown_0203CDA0 = 0; +static EWRAM_DATA struct Menu sMenu = {0}; +static EWRAM_DATA u16 sTileNum = 0; +static EWRAM_DATA u8 sPaletteNum = 0; +static EWRAM_DATA u8 sYesNoWindowId = 0; +static EWRAM_DATA u8 sWindowId = 0; static EWRAM_DATA u16 sFiller = 0; // needed to align static EWRAM_DATA bool8 gUnknown_0203CDA4[4] = {FALSE}; static EWRAM_DATA u16 gUnknown_0203CDA8 = 0; @@ -549,10 +549,10 @@ void sub_8197AE8(bool8 copyToVram) CopyBgTilemapBufferToVram(0); } -void sub_8197B1C(u8 windowId, bool8 copyToVram, u16 a3, u8 a4) +void sub_8197B1C(u8 windowId, bool8 copyToVram, u16 tileNum, u8 paletteNum) { - gUnknown_0203CD9C = a3; - gUnknown_0203CD9E = a4; + sTileNum = tileNum; + sPaletteNum = paletteNum; CallWindowFunction(windowId, sub_8197BB4); FillWindowPixelBuffer(windowId, 0x11); PutWindowTilemap(windowId); @@ -560,10 +560,10 @@ void sub_8197B1C(u8 windowId, bool8 copyToVram, u16 a3, u8 a4) CopyWindowToVram(windowId, 3); } -void sub_8197B64(u8 windowId, bool8 copyToVram, u16 a3) +void sub_8197B64(u8 windowId, bool8 copyToVram, u16 tileNum) { - gUnknown_0203CD9C = a3; - gUnknown_0203CD9E = GetWindowAttribute(windowId, WINDOW_PALETTE_NUM); + sTileNum = tileNum; + sPaletteNum = GetWindowAttribute(windowId, WINDOW_PALETTE_NUM); CallWindowFunction(windowId, sub_8197BB4); FillWindowPixelBuffer(windowId, 0x11); PutWindowTilemap(windowId); @@ -574,96 +574,96 @@ void sub_8197B64(u8 windowId, bool8 copyToVram, u16 a3) void sub_8197BB4(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum) { FillBgTilemapBufferRect(bg, - gUnknown_0203CD9C + 1, + sTileNum + 1, tilemapLeft - 2, tilemapTop - 1, 1, 1, - gUnknown_0203CD9E); + sPaletteNum); FillBgTilemapBufferRect(bg, - gUnknown_0203CD9C + 3, + sTileNum + 3, tilemapLeft - 1, tilemapTop - 1, 1, 1, - gUnknown_0203CD9E); + sPaletteNum); FillBgTilemapBufferRect(bg, - gUnknown_0203CD9C + 4, + sTileNum + 4, tilemapLeft, tilemapTop - 1, width - 1, 1, - gUnknown_0203CD9E); + sPaletteNum); FillBgTilemapBufferRect(bg, - gUnknown_0203CD9C + 5, + sTileNum + 5, tilemapLeft + width - 1, tilemapTop - 1, 1, 1, - gUnknown_0203CD9E); + sPaletteNum); FillBgTilemapBufferRect(bg, - gUnknown_0203CD9C + 6, + sTileNum + 6, tilemapLeft + width, tilemapTop - 1, 1, 1, - gUnknown_0203CD9E); + sPaletteNum); FillBgTilemapBufferRect(bg, - gUnknown_0203CD9C + 7, + sTileNum + 7, tilemapLeft - 2, tilemapTop, 1, 5, - gUnknown_0203CD9E); + sPaletteNum); FillBgTilemapBufferRect(bg, - gUnknown_0203CD9C + 9, + sTileNum + 9, tilemapLeft - 1, tilemapTop, width + 1, 5, - gUnknown_0203CD9E); + sPaletteNum); FillBgTilemapBufferRect(bg, - gUnknown_0203CD9C + 10, + sTileNum + 10, tilemapLeft + width, tilemapTop, 1, 5, - gUnknown_0203CD9E); + sPaletteNum); FillBgTilemapBufferRect(bg, - BG_TILE_V_FLIP(gUnknown_0203CD9C + 1), + BG_TILE_V_FLIP(sTileNum + 1), tilemapLeft - 2, tilemapTop + height, 1, 1, - gUnknown_0203CD9E); + sPaletteNum); FillBgTilemapBufferRect(bg, - BG_TILE_V_FLIP(gUnknown_0203CD9C + 3), + BG_TILE_V_FLIP(sTileNum + 3), tilemapLeft - 1, tilemapTop + height, 1, 1, - gUnknown_0203CD9E); + sPaletteNum); FillBgTilemapBufferRect(bg, - BG_TILE_V_FLIP(gUnknown_0203CD9C + 4), + BG_TILE_V_FLIP(sTileNum + 4), tilemapLeft, tilemapTop + height, width - 1, 1, - gUnknown_0203CD9E); + sPaletteNum); FillBgTilemapBufferRect(bg, - BG_TILE_V_FLIP(gUnknown_0203CD9C + 5), + BG_TILE_V_FLIP(sTileNum + 5), tilemapLeft + width - 1, tilemapTop + height, 1, 1, - gUnknown_0203CD9E); + sPaletteNum); FillBgTilemapBufferRect(bg, - BG_TILE_V_FLIP(gUnknown_0203CD9C + 6), + BG_TILE_V_FLIP(sTileNum + 6), tilemapLeft + width, tilemapTop + height, 1, 1, - gUnknown_0203CD9E); + sPaletteNum); } void sub_8197DF8(u8 windowId, bool8 copyToVram) @@ -682,8 +682,8 @@ void sub_8197E30(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 p void SetWindowBorderStyle(u8 windowId, bool8 copyToVram, u16 baseTileNum, u8 paletteNum) { - gUnknown_0203CD9C = baseTileNum; - gUnknown_0203CD9E = paletteNum; + sTileNum = baseTileNum; + sPaletteNum = paletteNum; CallWindowFunction(windowId, DrawWindowBorder); FillWindowPixelBuffer(windowId, 0x11); PutWindowTilemap(windowId); @@ -693,8 +693,8 @@ void SetWindowBorderStyle(u8 windowId, bool8 copyToVram, u16 baseTileNum, u8 pal void sub_8197EC8(u8 windowId, bool8 copyToVram, u16 baseTileNum) { - gUnknown_0203CD9C = baseTileNum; - gUnknown_0203CD9E = GetWindowAttribute(windowId, WINDOW_PALETTE_NUM); + sTileNum = baseTileNum; + sPaletteNum = GetWindowAttribute(windowId, WINDOW_PALETTE_NUM); CallWindowFunction(windowId, DrawWindowBorder); FillWindowPixelBuffer(windowId, 0x11); PutWindowTilemap(windowId); @@ -705,61 +705,61 @@ void sub_8197EC8(u8 windowId, bool8 copyToVram, u16 baseTileNum) void DrawWindowBorder(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum) { FillBgTilemapBufferRect(bg, - gUnknown_0203CD9C + 0, + sTileNum + 0, tilemapLeft - 1, tilemapTop - 1, 1, 1, - gUnknown_0203CD9E); + sPaletteNum); FillBgTilemapBufferRect(bg, - gUnknown_0203CD9C + 1, + sTileNum + 1, tilemapLeft, tilemapTop - 1, width, 1, - gUnknown_0203CD9E); + sPaletteNum); FillBgTilemapBufferRect(bg, - gUnknown_0203CD9C + 2, + sTileNum + 2, tilemapLeft + width, tilemapTop - 1, 1, 1, - gUnknown_0203CD9E); + sPaletteNum); FillBgTilemapBufferRect(bg, - gUnknown_0203CD9C + 3, + sTileNum + 3, tilemapLeft - 1, tilemapTop, 1, height, - gUnknown_0203CD9E); + sPaletteNum); FillBgTilemapBufferRect(bg, - gUnknown_0203CD9C + 5, + sTileNum + 5, tilemapLeft + width, tilemapTop, 1, height, - gUnknown_0203CD9E); + sPaletteNum); FillBgTilemapBufferRect(bg, - gUnknown_0203CD9C + 6, + sTileNum + 6, tilemapLeft - 1, tilemapTop + height, 1, 1, - gUnknown_0203CD9E); + sPaletteNum); FillBgTilemapBufferRect(bg, - gUnknown_0203CD9C + 7, + sTileNum + 7, tilemapLeft, tilemapTop + height, width, 1, - gUnknown_0203CD9E); + sPaletteNum); FillBgTilemapBufferRect(bg, - gUnknown_0203CD9C + 8, + sTileNum + 8, tilemapLeft + width, tilemapTop + height, 1, 1, - gUnknown_0203CD9E); + sPaletteNum); } void sub_8198070(u8 windowId, bool8 copyToVram) @@ -793,7 +793,7 @@ u8 sub_81980F0(u8 bg, u8 xPos, u8 yPos, u8 palette, u16 baseTile) window.paletteNum = palette; window.baseBlock = baseTile; - gUnknown_0203CDA0 = AddWindow(&window); + sWindowId = AddWindow(&window); if (palette > 15) palette = 15 * 16; @@ -801,27 +801,27 @@ u8 sub_81980F0(u8 bg, u8 xPos, u8 yPos, u8 palette, u16 baseTile) palette *= 16; LoadPalette(gUnknown_0860F0B0, palette, sizeof(gUnknown_0860F0B0)); - return gUnknown_0203CDA0; + return sWindowId; } void sub_8198180(const u8 *string, u8 a2, bool8 copyToVram) { u16 width = 0; - if (gUnknown_0203CDA0 != 0xFF) + if (sWindowId != 0xFF) { - PutWindowTilemap(gUnknown_0203CDA0); - FillWindowPixelBuffer(gUnknown_0203CDA0, 0xFF); + PutWindowTilemap(sWindowId); + FillWindowPixelBuffer(sWindowId, 0xFF); width = GetStringWidth(0, string, 0); - AddTextPrinterParameterized3(gUnknown_0203CDA0, + AddTextPrinterParameterized3(sWindowId, 0, - 0xEC - (GetWindowAttribute(gUnknown_0203CDA0, WINDOW_TILEMAP_LEFT) * 8) - a2 - width, + 0xEC - (GetWindowAttribute(sWindowId, WINDOW_TILEMAP_LEFT) * 8) - a2 - width, 1, gUnknown_0860F0D0, 0, string); if (copyToVram) - CopyWindowToVram(gUnknown_0203CDA0, 3); + CopyWindowToVram(sWindowId, 3); } } @@ -830,7 +830,7 @@ void sub_8198204(const u8 *string, const u8 *string2, u8 a3, u8 a4, bool8 copyTo u8 color[3]; u16 width = 0; - if (gUnknown_0203CDA0 != 0xFF) + if (sWindowId != 0xFF) { if (a3 != 0) { @@ -844,49 +844,49 @@ void sub_8198204(const u8 *string, const u8 *string2, u8 a3, u8 a4, bool8 copyTo color[1] = 1; color[2] = 2; } - PutWindowTilemap(gUnknown_0203CDA0); - FillWindowPixelBuffer(gUnknown_0203CDA0, 0xFF); + PutWindowTilemap(sWindowId); + FillWindowPixelBuffer(sWindowId, 0xFF); if (string2 != NULL) { width = GetStringWidth(0, string2, 0); - AddTextPrinterParameterized3(gUnknown_0203CDA0, + AddTextPrinterParameterized3(sWindowId, 0, - 0xEC - (GetWindowAttribute(gUnknown_0203CDA0, WINDOW_TILEMAP_LEFT) * 8) - a4 - width, + 0xEC - (GetWindowAttribute(sWindowId, WINDOW_TILEMAP_LEFT) * 8) - a4 - width, 1, color, 0, string2); } - AddTextPrinterParameterized4(gUnknown_0203CDA0, 1, 4, 1, 0, 0, color, 0, string); + AddTextPrinterParameterized4(sWindowId, 1, 4, 1, 0, 0, color, 0, string); if (copyToVram) - CopyWindowToVram(gUnknown_0203CDA0, 3); + CopyWindowToVram(sWindowId, 3); } } void sub_81982D8(void) { - if (gUnknown_0203CDA0 != 0xFF) - CopyWindowToVram(gUnknown_0203CDA0, 3); + if (sWindowId != 0xFF) + CopyWindowToVram(sWindowId, 3); } void sub_81982F0(void) { - if (gUnknown_0203CDA0 != 0xFF) + if (sWindowId != 0xFF) { - FillWindowPixelBuffer(gUnknown_0203CDA0, 0xFF); - CopyWindowToVram(gUnknown_0203CDA0, 3); + FillWindowPixelBuffer(sWindowId, 0xFF); + CopyWindowToVram(sWindowId, 3); } } void sub_8198314(void) { - if (gUnknown_0203CDA0 != 0xFF) + if (sWindowId != 0xFF) { - FillWindowPixelBuffer(gUnknown_0203CDA0, 0); - ClearWindowTilemap(gUnknown_0203CDA0); - CopyWindowToVram(gUnknown_0203CDA0, 3); - RemoveWindow(gUnknown_0203CDA0); - gUnknown_0203CDA0 = 0xFF; + FillWindowPixelBuffer(sWindowId, 0); + ClearWindowTilemap(sWindowId); + CopyWindowToVram(sWindowId, 3); + RemoveWindow(sWindowId); + sWindowId = 0xFF; } } @@ -894,24 +894,24 @@ u8 sub_8198348(u8 windowId, u8 fontId, u8 left, u8 top, u8 cursorHeight, u8 numC { s32 pos; - gUnknown_0203CD90.left = left; - gUnknown_0203CD90.top = top; - gUnknown_0203CD90.minCursorPos = 0; - gUnknown_0203CD90.maxCursorPos = numChoices - 1; - gUnknown_0203CD90.windowId = windowId; - gUnknown_0203CD90.fontId = fontId; - gUnknown_0203CD90.optionHeight = cursorHeight; - gUnknown_0203CD90.APressMuted = a7; + sMenu.left = left; + sMenu.top = top; + sMenu.minCursorPos = 0; + sMenu.maxCursorPos = numChoices - 1; + sMenu.windowId = windowId; + sMenu.fontId = fontId; + sMenu.optionHeight = cursorHeight; + sMenu.APressMuted = a7; pos = initialCursorPos; - if (pos < 0 || pos > gUnknown_0203CD90.maxCursorPos) - gUnknown_0203CD90.cursorPos = 0; + if (pos < 0 || pos > sMenu.maxCursorPos) + sMenu.cursorPos = 0; else - gUnknown_0203CD90.cursorPos = pos; + sMenu.cursorPos = pos; Menu_MoveCursor(0); - return gUnknown_0203CD90.cursorPos; + return sMenu.cursorPos; } u8 sub_81983AC(u8 windowId, u8 fontId, u8 left, u8 top, u8 cursorHeight, u8 numChoices, u8 initialCursorPos) @@ -929,56 +929,56 @@ void RedrawMenuCursor(u8 oldPos, u8 newPos) { u8 width, height; - width = GetMenuCursorDimensionByFont(gUnknown_0203CD90.fontId, 0); - height = GetMenuCursorDimensionByFont(gUnknown_0203CD90.fontId, 1); - FillWindowPixelRect(gUnknown_0203CD90.windowId, 0x11, gUnknown_0203CD90.left, gUnknown_0203CD90.optionHeight * oldPos + gUnknown_0203CD90.top, width, height); - AddTextPrinterParameterized(gUnknown_0203CD90.windowId, gUnknown_0203CD90.fontId, gText_SelectorArrow3, gUnknown_0203CD90.left, gUnknown_0203CD90.optionHeight * newPos + gUnknown_0203CD90.top, 0, 0); + width = GetMenuCursorDimensionByFont(sMenu.fontId, 0); + height = GetMenuCursorDimensionByFont(sMenu.fontId, 1); + FillWindowPixelRect(sMenu.windowId, 0x11, sMenu.left, sMenu.optionHeight * oldPos + sMenu.top, width, height); + AddTextPrinterParameterized(sMenu.windowId, sMenu.fontId, gText_SelectorArrow3, sMenu.left, sMenu.optionHeight * newPos + sMenu.top, 0, 0); } u8 Menu_MoveCursor(s8 cursorDelta) { - u8 oldPos = gUnknown_0203CD90.cursorPos; - int newPos = gUnknown_0203CD90.cursorPos + cursorDelta; + u8 oldPos = sMenu.cursorPos; + int newPos = sMenu.cursorPos + cursorDelta; - if (newPos < gUnknown_0203CD90.minCursorPos) - gUnknown_0203CD90.cursorPos = gUnknown_0203CD90.maxCursorPos; - else if (newPos > gUnknown_0203CD90.maxCursorPos) - gUnknown_0203CD90.cursorPos = gUnknown_0203CD90.minCursorPos; + if (newPos < sMenu.minCursorPos) + sMenu.cursorPos = sMenu.maxCursorPos; + else if (newPos > sMenu.maxCursorPos) + sMenu.cursorPos = sMenu.minCursorPos; else - gUnknown_0203CD90.cursorPos += cursorDelta; + sMenu.cursorPos += cursorDelta; - RedrawMenuCursor(oldPos, gUnknown_0203CD90.cursorPos); - return gUnknown_0203CD90.cursorPos; + RedrawMenuCursor(oldPos, sMenu.cursorPos); + return sMenu.cursorPos; } u8 Menu_MoveCursorNoWrapAround(s8 cursorDelta) { - u8 oldPos = gUnknown_0203CD90.cursorPos; - int newPos = gUnknown_0203CD90.cursorPos + cursorDelta; + u8 oldPos = sMenu.cursorPos; + int newPos = sMenu.cursorPos + cursorDelta; - if (newPos < gUnknown_0203CD90.minCursorPos) - gUnknown_0203CD90.cursorPos = gUnknown_0203CD90.minCursorPos; - else if (newPos > gUnknown_0203CD90.maxCursorPos) - gUnknown_0203CD90.cursorPos = gUnknown_0203CD90.maxCursorPos; + if (newPos < sMenu.minCursorPos) + sMenu.cursorPos = sMenu.minCursorPos; + else if (newPos > sMenu.maxCursorPos) + sMenu.cursorPos = sMenu.maxCursorPos; else - gUnknown_0203CD90.cursorPos += cursorDelta; + sMenu.cursorPos += cursorDelta; - RedrawMenuCursor(oldPos, gUnknown_0203CD90.cursorPos); - return gUnknown_0203CD90.cursorPos; + RedrawMenuCursor(oldPos, sMenu.cursorPos); + return sMenu.cursorPos; } u8 Menu_GetCursorPos(void) { - return gUnknown_0203CD90.cursorPos; + return sMenu.cursorPos; } s8 Menu_ProcessInput(void) { if (gMain.newKeys & A_BUTTON) { - if (!gUnknown_0203CD90.APressMuted) + if (!sMenu.APressMuted) PlaySE(SE_SELECT); - return gUnknown_0203CD90.cursorPos; + return sMenu.cursorPos; } else if (gMain.newKeys & B_BUTTON) { @@ -1002,13 +1002,13 @@ s8 Menu_ProcessInput(void) s8 Menu_ProcessInputNoWrap(void) { - u8 oldPos = gUnknown_0203CD90.cursorPos; + u8 oldPos = sMenu.cursorPos; if (gMain.newKeys & A_BUTTON) { - if (!gUnknown_0203CD90.APressMuted) + if (!sMenu.APressMuted) PlaySE(SE_SELECT); - return gUnknown_0203CD90.cursorPos; + return sMenu.cursorPos; } else if (gMain.newKeys & B_BUTTON) { @@ -1034,9 +1034,9 @@ s8 ProcessMenuInput_other(void) { if (gMain.newKeys & A_BUTTON) { - if (!gUnknown_0203CD90.APressMuted) + if (!sMenu.APressMuted) PlaySE(SE_SELECT); - return gUnknown_0203CD90.cursorPos; + return sMenu.cursorPos; } else if (gMain.newKeys & B_BUTTON) { @@ -1060,13 +1060,13 @@ s8 ProcessMenuInput_other(void) s8 Menu_ProcessInputNoWrapAround_other(void) { - u8 oldPos = gUnknown_0203CD90.cursorPos; + u8 oldPos = sMenu.cursorPos; if (gMain.newKeys & A_BUTTON) { - if (!gUnknown_0203CD90.APressMuted) + if (!sMenu.APressMuted) PlaySE(SE_SELECT); - return gUnknown_0203CD90.cursorPos; + return sMenu.cursorPos; } else if (gMain.newKeys & B_BUTTON) { @@ -1174,11 +1174,11 @@ void sub_8198AF8(const struct WindowTemplate *window, u8 fontId, u8 left, u8 top { struct TextPrinterTemplate printer; - gUnknown_0203CD9F = AddWindow(window); - SetWindowBorderStyle(gUnknown_0203CD9F, TRUE, baseTileNum, paletteNum); + sYesNoWindowId = AddWindow(window); + SetWindowBorderStyle(sYesNoWindowId, TRUE, baseTileNum, paletteNum); printer.currentChar = gText_YesNo; - printer.windowId = gUnknown_0203CD9F; + printer.windowId = sYesNoWindowId; printer.fontId = fontId; printer.x = GetFontAttribute(fontId, FONTATTR_MAX_LETTER_WIDTH) + left; printer.y = top; @@ -1193,7 +1193,7 @@ void sub_8198AF8(const struct WindowTemplate *window, u8 fontId, u8 left, u8 top AddTextPrinter(&printer, 0xFF, NULL); - sub_81983AC(gUnknown_0203CD9F, fontId, left, top, GetFontAttribute(fontId, FONTATTR_MAX_LETTER_HEIGHT), 2, initialCursorPos); + sub_81983AC(sYesNoWindowId, fontId, left, top, GetFontAttribute(fontId, FONTATTR_MAX_LETTER_HEIGHT), 2, initialCursorPos); } void sub_8198C34(const struct WindowTemplate *window, u8 fontId, u16 baseTileNum, u8 paletteNum) @@ -1211,8 +1211,8 @@ s8 Menu_ProcessInputNoWrapClearOnChoose(void) void sub_8198C78(void) { - sub_8198070(gUnknown_0203CD9F, TRUE); - RemoveWindow(gUnknown_0203CD9F); + sub_8198070(sYesNoWindowId, TRUE); + RemoveWindow(sYesNoWindowId); } void sub_8198C94(u8 windowId, u8 fontId, u8 left, u8 top, u8 a4, u8 a5, u8 a6, u8 a7, const struct MenuAction *strs) @@ -1274,26 +1274,26 @@ u8 sub_8198F58(u8 windowId, u8 fontId, u8 left, u8 top, u8 a4, u8 cursorHeight, { s32 pos; - gUnknown_0203CD90.left = left; - gUnknown_0203CD90.top = top; - gUnknown_0203CD90.minCursorPos = 0; - gUnknown_0203CD90.maxCursorPos = numChoices - 1; - gUnknown_0203CD90.windowId = windowId; - gUnknown_0203CD90.fontId = fontId; - gUnknown_0203CD90.optionWidth = a4; - gUnknown_0203CD90.optionHeight = cursorHeight; - gUnknown_0203CD90.horizontalCount = a6; - gUnknown_0203CD90.verticalCount = a7; + sMenu.left = left; + sMenu.top = top; + sMenu.minCursorPos = 0; + sMenu.maxCursorPos = numChoices - 1; + sMenu.windowId = windowId; + sMenu.fontId = fontId; + sMenu.optionWidth = a4; + sMenu.optionHeight = cursorHeight; + sMenu.horizontalCount = a6; + sMenu.verticalCount = a7; pos = a9; - if (pos < 0 || pos > gUnknown_0203CD90.maxCursorPos) - gUnknown_0203CD90.cursorPos = 0; + if (pos < 0 || pos > sMenu.maxCursorPos) + sMenu.cursorPos = 0; else - gUnknown_0203CD90.cursorPos = pos; + sMenu.cursorPos = pos; sub_8199134(0, 0); - return gUnknown_0203CD90.cursorPos; + return sMenu.cursorPos; } u8 sub_8198FD4(u8 windowId, u8 fontId, u8 left, u8 top, u8 a4, u8 a5, u8 a6, u8 a7) @@ -1305,20 +1305,20 @@ u8 sub_8198FD4(u8 windowId, u8 fontId, u8 left, u8 top, u8 a4, u8 a5, u8 a6, u8 void sub_8199060(u8 oldCursorPos, u8 newCursorPos) { - u8 cursorWidth = GetMenuCursorDimensionByFont(gUnknown_0203CD90.fontId, 0); - u8 cursorHeight = GetMenuCursorDimensionByFont(gUnknown_0203CD90.fontId, 1); - u8 xPos = (oldCursorPos % gUnknown_0203CD90.horizontalCount) * gUnknown_0203CD90.optionWidth + gUnknown_0203CD90.left; - u8 yPos = (oldCursorPos / gUnknown_0203CD90.horizontalCount) * gUnknown_0203CD90.optionHeight + gUnknown_0203CD90.top; - FillWindowPixelRect(gUnknown_0203CD90.windowId, + u8 cursorWidth = GetMenuCursorDimensionByFont(sMenu.fontId, 0); + u8 cursorHeight = GetMenuCursorDimensionByFont(sMenu.fontId, 1); + u8 xPos = (oldCursorPos % sMenu.horizontalCount) * sMenu.optionWidth + sMenu.left; + u8 yPos = (oldCursorPos / sMenu.horizontalCount) * sMenu.optionHeight + sMenu.top; + FillWindowPixelRect(sMenu.windowId, 0x11, xPos, yPos, cursorWidth, cursorHeight); - xPos = (newCursorPos % gUnknown_0203CD90.horizontalCount) * gUnknown_0203CD90.optionWidth + gUnknown_0203CD90.left; - yPos = (newCursorPos / gUnknown_0203CD90.horizontalCount) * gUnknown_0203CD90.optionHeight + gUnknown_0203CD90.top; - AddTextPrinterParameterized(gUnknown_0203CD90.windowId, - gUnknown_0203CD90.fontId, + xPos = (newCursorPos % sMenu.horizontalCount) * sMenu.optionWidth + sMenu.left; + yPos = (newCursorPos / sMenu.horizontalCount) * sMenu.optionHeight + sMenu.top; + AddTextPrinterParameterized(sMenu.windowId, + sMenu.fontId, gText_SelectorArrow3, xPos, yPos, @@ -1328,83 +1328,83 @@ void sub_8199060(u8 oldCursorPos, u8 newCursorPos) u8 sub_8199134(s8 deltaX, s8 deltaY) { - u8 oldPos = gUnknown_0203CD90.cursorPos; + u8 oldPos = sMenu.cursorPos; if (deltaX != 0) { - if ((gUnknown_0203CD90.cursorPos % gUnknown_0203CD90.horizontalCount) + deltaX < 0) + if ((sMenu.cursorPos % sMenu.horizontalCount) + deltaX < 0) { - gUnknown_0203CD90.cursorPos += gUnknown_0203CD90.horizontalCount - 1; + sMenu.cursorPos += sMenu.horizontalCount - 1; } - else if ((gUnknown_0203CD90.cursorPos % gUnknown_0203CD90.horizontalCount) + deltaX >= gUnknown_0203CD90.horizontalCount) + else if ((sMenu.cursorPos % sMenu.horizontalCount) + deltaX >= sMenu.horizontalCount) { - gUnknown_0203CD90.cursorPos = (gUnknown_0203CD90.cursorPos / gUnknown_0203CD90.horizontalCount) * gUnknown_0203CD90.horizontalCount; + sMenu.cursorPos = (sMenu.cursorPos / sMenu.horizontalCount) * sMenu.horizontalCount; } else { - gUnknown_0203CD90.cursorPos += deltaX; + sMenu.cursorPos += deltaX; } } if (deltaY != 0) { - if ((gUnknown_0203CD90.cursorPos / gUnknown_0203CD90.horizontalCount) + deltaY < 0) + if ((sMenu.cursorPos / sMenu.horizontalCount) + deltaY < 0) { - gUnknown_0203CD90.cursorPos += gUnknown_0203CD90.horizontalCount * (gUnknown_0203CD90.verticalCount - 1); + sMenu.cursorPos += sMenu.horizontalCount * (sMenu.verticalCount - 1); } - else if ((gUnknown_0203CD90.cursorPos / gUnknown_0203CD90.horizontalCount) + deltaY >= gUnknown_0203CD90.verticalCount) + else if ((sMenu.cursorPos / sMenu.horizontalCount) + deltaY >= sMenu.verticalCount) { - gUnknown_0203CD90.cursorPos -= gUnknown_0203CD90.horizontalCount * (gUnknown_0203CD90.verticalCount - 1); + sMenu.cursorPos -= sMenu.horizontalCount * (sMenu.verticalCount - 1); } else { - gUnknown_0203CD90.cursorPos += (gUnknown_0203CD90.horizontalCount * deltaY); + sMenu.cursorPos += (sMenu.horizontalCount * deltaY); } } - if (gUnknown_0203CD90.cursorPos > gUnknown_0203CD90.maxCursorPos) + if (sMenu.cursorPos > sMenu.maxCursorPos) { - gUnknown_0203CD90.cursorPos = oldPos; - return gUnknown_0203CD90.cursorPos; + sMenu.cursorPos = oldPos; + return sMenu.cursorPos; } else { - sub_8199060(oldPos, gUnknown_0203CD90.cursorPos); - return gUnknown_0203CD90.cursorPos; + sub_8199060(oldPos, sMenu.cursorPos); + return sMenu.cursorPos; } } u8 sub_81991F8(s8 deltaX, s8 deltaY) { - u8 oldPos = gUnknown_0203CD90.cursorPos; + u8 oldPos = sMenu.cursorPos; if (deltaX != 0) { - if (((gUnknown_0203CD90.cursorPos % gUnknown_0203CD90.horizontalCount) + deltaX >= 0) && - ((gUnknown_0203CD90.cursorPos % gUnknown_0203CD90.horizontalCount) + deltaX < gUnknown_0203CD90.horizontalCount)) + if (((sMenu.cursorPos % sMenu.horizontalCount) + deltaX >= 0) && + ((sMenu.cursorPos % sMenu.horizontalCount) + deltaX < sMenu.horizontalCount)) { - gUnknown_0203CD90.cursorPos += deltaX; + sMenu.cursorPos += deltaX; } } if (deltaY != 0) { - if (((gUnknown_0203CD90.cursorPos / gUnknown_0203CD90.horizontalCount) + deltaY >= 0) && - ((gUnknown_0203CD90.cursorPos / gUnknown_0203CD90.horizontalCount) + deltaY < gUnknown_0203CD90.verticalCount)) + if (((sMenu.cursorPos / sMenu.horizontalCount) + deltaY >= 0) && + ((sMenu.cursorPos / sMenu.horizontalCount) + deltaY < sMenu.verticalCount)) { - gUnknown_0203CD90.cursorPos += (gUnknown_0203CD90.horizontalCount * deltaY); + sMenu.cursorPos += (sMenu.horizontalCount * deltaY); } } - if (gUnknown_0203CD90.cursorPos > gUnknown_0203CD90.maxCursorPos) + if (sMenu.cursorPos > sMenu.maxCursorPos) { - gUnknown_0203CD90.cursorPos = oldPos; - return gUnknown_0203CD90.cursorPos; + sMenu.cursorPos = oldPos; + return sMenu.cursorPos; } else { - sub_8199060(oldPos, gUnknown_0203CD90.cursorPos); - return gUnknown_0203CD90.cursorPos; + sub_8199060(oldPos, sMenu.cursorPos); + return sMenu.cursorPos; } } @@ -1413,7 +1413,7 @@ s8 sub_8199284(void) if (gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); - return gUnknown_0203CD90.cursorPos; + return sMenu.cursorPos; } else if (gMain.newKeys & B_BUTTON) { @@ -1449,12 +1449,12 @@ s8 sub_8199284(void) s8 Menu_ProcessInputGridLayout(void) { - u8 oldPos = gUnknown_0203CD90.cursorPos; + u8 oldPos = sMenu.cursorPos; if (gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); - return gUnknown_0203CD90.cursorPos; + return sMenu.cursorPos; } else if (gMain.newKeys & B_BUTTON) { @@ -1493,7 +1493,7 @@ s8 sub_81993D8(void) if (gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); - return gUnknown_0203CD90.cursorPos; + return sMenu.cursorPos; } else if (gMain.newKeys & B_BUTTON) { @@ -1529,12 +1529,12 @@ s8 sub_81993D8(void) s8 sub_8199484(void) { - u8 oldPos = gUnknown_0203CD90.cursorPos; + u8 oldPos = sMenu.cursorPos; if (gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); - return gUnknown_0203CD90.cursorPos; + return sMenu.cursorPos; } else if (gMain.newKeys & B_BUTTON) { @@ -1572,21 +1572,21 @@ u8 InitMenuInUpperLeftCorner(u8 windowId, u8 itemCount, u8 initialCursorPos, boo { s32 pos; - gUnknown_0203CD90.left = 0; - gUnknown_0203CD90.top = 1; - gUnknown_0203CD90.minCursorPos = 0; - gUnknown_0203CD90.maxCursorPos = itemCount - 1; - gUnknown_0203CD90.windowId = windowId; - gUnknown_0203CD90.fontId = 1; - gUnknown_0203CD90.optionHeight = 16; - gUnknown_0203CD90.APressMuted = APressMuted; + sMenu.left = 0; + sMenu.top = 1; + sMenu.minCursorPos = 0; + sMenu.maxCursorPos = itemCount - 1; + sMenu.windowId = windowId; + sMenu.fontId = 1; + sMenu.optionHeight = 16; + sMenu.APressMuted = APressMuted; pos = initialCursorPos; - if (pos < 0 || pos > gUnknown_0203CD90.maxCursorPos) - gUnknown_0203CD90.cursorPos = 0; + if (pos < 0 || pos > sMenu.maxCursorPos) + sMenu.cursorPos = 0; else - gUnknown_0203CD90.cursorPos = pos; + sMenu.cursorPos = pos; return Menu_MoveCursor(0); } @@ -1639,11 +1639,11 @@ void CreateYesNoMenu(const struct WindowTemplate *window, u16 baseTileNum, u8 pa { struct TextPrinterTemplate printer; - gUnknown_0203CD9F = AddWindow(window); - SetWindowBorderStyle(gUnknown_0203CD9F, TRUE, baseTileNum, paletteNum); + sYesNoWindowId = AddWindow(window); + SetWindowBorderStyle(sYesNoWindowId, TRUE, baseTileNum, paletteNum); printer.currentChar = gText_YesNo; - printer.windowId = gUnknown_0203CD9F; + printer.windowId = sYesNoWindowId; printer.fontId = 1; printer.x = 8; printer.y = 1; @@ -1657,7 +1657,7 @@ void CreateYesNoMenu(const struct WindowTemplate *window, u16 baseTileNum, u8 pa printer.lineSpacing = 0; AddTextPrinter(&printer, 0xFF, NULL); - InitMenuInUpperLeftCornerPlaySoundWhenAPressed(gUnknown_0203CD9F, 2, initialCursorPos); + InitMenuInUpperLeftCornerPlaySoundWhenAPressed(sYesNoWindowId, 2, initialCursorPos); } void sub_81997AC(u8 windowId, u8 a4, u8 a6, u8 a7, const struct MenuAction *strs) @@ -1709,26 +1709,26 @@ u8 sub_8199944(u8 windowId, u8 optionWidth, u8 horizontalCount, u8 verticalCount { s32 pos; - gUnknown_0203CD90.left = 0; - gUnknown_0203CD90.top = 1; - gUnknown_0203CD90.minCursorPos = 0; - gUnknown_0203CD90.maxCursorPos = (horizontalCount * verticalCount) - 1; - gUnknown_0203CD90.windowId = windowId; - gUnknown_0203CD90.fontId = 1; - gUnknown_0203CD90.optionWidth = optionWidth; - gUnknown_0203CD90.optionHeight = 16; - gUnknown_0203CD90.horizontalCount = horizontalCount; - gUnknown_0203CD90.verticalCount = verticalCount; + sMenu.left = 0; + sMenu.top = 1; + sMenu.minCursorPos = 0; + sMenu.maxCursorPos = (horizontalCount * verticalCount) - 1; + sMenu.windowId = windowId; + sMenu.fontId = 1; + sMenu.optionWidth = optionWidth; + sMenu.optionHeight = 16; + sMenu.horizontalCount = horizontalCount; + sMenu.verticalCount = verticalCount; pos = initialCursorPos; - if (pos < 0 || pos > gUnknown_0203CD90.maxCursorPos) - gUnknown_0203CD90.cursorPos = 0; + if (pos < 0 || pos > sMenu.maxCursorPos) + sMenu.cursorPos = 0; else - gUnknown_0203CD90.cursorPos = pos; + sMenu.cursorPos = pos; sub_8199134(0, 0); - return gUnknown_0203CD90.cursorPos; + return sMenu.cursorPos; } void clear_scheduled_bg_copies_to_vram(void) diff --git a/src/menu_helpers.c b/src/menu_helpers.c index 0adc6228e1..e6547b3000 100644 --- a/src/menu_helpers.c +++ b/src/menu_helpers.c @@ -152,7 +152,7 @@ static void Task_ContinueTaskAfterMessagePrints(u8 taskId) gUnknown_0300117C(taskId); } -void sub_8121F68(u8 taskId, const struct YesNoFuncTable *data) +void DoYesNoFuncWithChoice(u8 taskId, const struct YesNoFuncTable *data) { gUnknown_0203A138 = *data; gTasks[taskId].func = Task_CallYesOrNoCallback; diff --git a/src/mossdeep_gym.c b/src/mossdeep_gym.c index 07920fe4cb..d8adbe0c61 100644 --- a/src/mossdeep_gym.c +++ b/src/mossdeep_gym.c @@ -5,6 +5,7 @@ #include "mossdeep_gym.h" #include "script_movement.h" #include "constants/event_object_movement_constants.h" +#include "constants/event_objects.h" // Movement scripts. extern const u8 gUnknown_08612698[]; @@ -52,7 +53,7 @@ void FinishMossdeepGymTiles(void) if (gUnknown_0203CE50 != NULL) FREE_AND_SET_NULL(gUnknown_0203CE50); - id = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); + id = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); EventObjectClearHeldMovementIfFinished(&gEventObjects[id]); sub_80D338C(); } diff --git a/src/new_game.c b/src/new_game.c index 8ecd48bc7a..1b3fa2b00d 100644 --- a/src/new_game.c +++ b/src/new_game.c @@ -46,7 +46,7 @@ extern void NewGameInitPCItems(void); extern void ClearDecorationInventories(void); extern void ResetFanClub(void); extern void copy_strings_to_sav1(void); -extern void sub_8195E10(void); +extern void InitMatchCallCounters(void); extern void sub_801AFD8(void); extern void sub_800E5AC(void); extern void sub_81D54BC(void); @@ -209,7 +209,7 @@ void NewGameInitData(void) SetLilycoveLady(); ResetAllApprenticeData(); ClearRankingHallRecords(); - sub_8195E10(); + InitMatchCallCounters(); sub_801AFD8(); sub_800E5AC(); sub_81D54BC(); diff --git a/src/overworld.c b/src/overworld.c index 217b4c27e0..9df69e360c 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -102,7 +102,6 @@ extern void ApplyNewEncryptionKeyToWord(u32 *word, u32 newKey); extern void mapheader_run_script_with_tag_x5(void); extern void ResetFieldTasksArgs(void); extern void sub_80A0A2C(void); -extern void not_trainer_hill_battle_pyramid(void); extern void apply_map_tileset2_palette(const struct MapLayout *); extern void copy_map_tileset2_to_vram_2(const struct MapLayout *); extern void RestartWildEncounterImmunitySteps(void); @@ -126,13 +125,9 @@ extern void sub_80AF168(void); extern void sub_80AF3C8(void); extern void ExecuteTruckSequence(void); extern void sub_80A0A38(void); -extern void trainer_hill_map_load_related(void); -extern void sub_8087D74(void); -extern void battle_pyramid_map_load_related(u8); extern void WriteFlashScanlineEffectBuffer(u8); -extern void sub_80E9238(u8); extern void sub_81AA2F8(void); -extern void sub_8195E10(void); +extern void InitMatchCallCounters(void); extern void sub_80EDB44(void); extern void sub_81D64C0(void); extern void InitFieldMessageBox(void); @@ -149,7 +144,6 @@ extern void SetUpFieldTasks(void); extern void ShowStartMenu(void); extern void sub_80AEE84(void); extern void mapldr_default(void); -extern void sub_8088B3C(u16, u16); extern bool32 sub_800F0B8(void); extern bool32 sub_8009F3C(void); extern void sub_8010198(void); @@ -741,7 +735,7 @@ void SetLastHealLocationWarp(u8 healLocationId) SetWarpData(&gSaveBlock1Ptr->lastHealLocation, healLocation->group, healLocation->map, -1, healLocation->x, healLocation->y); } -void sub_8084D5C(s16 x, s16 y) +void UpdateEscapeWarp(s16 x, s16 y) { u8 currMapType = GetCurrentMapType(); u8 destMapType = GetMapTypeByGroupAndId(sWarpDestination.mapGroup, sWarpDestination.mapNum); @@ -870,7 +864,7 @@ void mliX_load_map(u8 mapGroup, u8 mapNum) SetDefaultFlashLevel(); Overworld_ClearSavedMusic(); mapheader_run_script_with_tag_x3(); - not_trainer_hill_battle_pyramid(); + InitMap(); copy_map_tileset2_to_vram_2(gMapHeader.mapLayout); apply_map_tileset2_palette(gMapHeader.mapLayout); @@ -925,15 +919,15 @@ static void mli0_load_map(u32 a1) UpdateLocationHistoryForRoamer(); RoamerMoveToOtherLocationSet(); if (gMapHeader.mapLayoutId == 0x169) - battle_pyramid_map_load_related(0); + InitBattlePyramidMap(0); else if (InTrainerHill()) - trainer_hill_map_load_related(); + InitTrainerHillMap(); else - not_trainer_hill_battle_pyramid(); + InitMap(); if (a1 != 1 && indoors) { - UpdateTVScreensOnMap(gUnknown_03005DC0.width, gUnknown_03005DC0.height); + UpdateTVScreensOnMap(gBackupMapLayout.width, gBackupMapLayout.height); sub_80E9238(1); } } @@ -1774,16 +1768,16 @@ void CB2_ContinueSavedGame(void) DoTimeBasedEvents(); sub_8084788(); if (gMapHeader.mapLayoutId == 0x169) - battle_pyramid_map_load_related(1); + InitBattlePyramidMap(1); else if (trainerHillMapId != 0) - trainer_hill_map_load_related(); + InitTrainerHillMap(); else - sub_8087D74(); + InitMapFromSavedGame(); PlayTimeCounter_Start(); ScriptContext1_Init(); ScriptContext2_Disable(); - sub_8195E10(); + InitMatchCallCounters(); if (UseContinueGameWarp() == TRUE) { ClearContinueGameWarpStatus(); @@ -2216,7 +2210,7 @@ static void mli4_mapscripts_and_other(void) gTotalCameraPixelOffsetX = 0; gTotalCameraPixelOffsetY = 0; ResetEventObjects(); - sav1_camera_get_focus_coords(&x, &y); + GetCameraFocusCoords(&x, &y); player = GetInitialPlayerAvatarState(); InitPlayerAvatar(x, y, player->direction, gSaveBlock2Ptr->playerGender); SetPlayerAvatarTransitionFlags(player->transitionFlags); @@ -2251,7 +2245,7 @@ static void sub_8086AC8(void) static void sub_8086AE4(void) { u16 x, y; - sav1_camera_get_focus_coords(&x, &y); + GetCameraFocusCoords(&x, &y); sub_8088B3C(x + gUnknown_03005DB4, y); } @@ -2260,7 +2254,7 @@ static void sub_8086B14(void) u16 i; u16 x, y; - sav1_camera_get_focus_coords(&x, &y); + GetCameraFocusCoords(&x, &y); x -= gUnknown_03005DB4; for (i = 0; i < gFieldLinkPlayerCount; i++) diff --git a/src/palette.c b/src/palette.c index 1e92f4bbaa..deb07b066f 100644 --- a/src/palette.c +++ b/src/palette.c @@ -77,7 +77,7 @@ static const u8 sRoundedDownGrayscaleMap[] = { 31, 31 }; -void LoadCompressedPalette(const void *src, u16 offset, u16 size) +void LoadCompressedPalette(const u32 *src, u16 offset, u16 size) { LZDecompressWram(src, gPaletteDecompressionBuffer); CpuCopy16(gPaletteDecompressionBuffer, gPlttBufferUnfaded + offset, size); diff --git a/src/party_menu.c b/src/party_menu.c index 961acfc97c..043321e500 100755 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -2799,7 +2799,7 @@ static void sub_81B1CD0(struct Pokemon *mon, u16 item, u8 c) { GetMonNickname(mon, gStringVar1); CopyItemName(item, gStringVar2); - StringExpandPlaceholders(gStringVar4, gText_RecievedItemFromPkmn); + StringExpandPlaceholders(gStringVar4, gText_ReceivedItemFromPkmn); sub_81B1B5C(gStringVar4, c); schedule_bg_copy_tilemap_to_vram(2); } @@ -4579,7 +4579,7 @@ static void CursorCb_Register(u8 taskId) u16 species = GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_SPECIES); u8 obedience = GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_OBEDIENCE); - switch (sub_807A8D0(*(u32 *)sub_800F7DC() /* dirty cast, probably needs to be changed */, species2, species, obedience)) + switch (sub_807A8D0(*(struct UnkLinkRfuStruct_02022B14Substruct *)sub_800F7DC(), species2, species, obedience)) { case 1: StringExpandPlaceholders(gStringVar4, gText_PkmnCantBeTradedNow); @@ -4605,7 +4605,7 @@ static void CursorCb_Trade1(u8 taskId) u16 species2 = GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_SPECIES2); u16 species = GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_SPECIES); u8 obedience = GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_OBEDIENCE); - u32 stringId = sub_807A7E0(*(u32 *)sub_800F7DC() /* dirty cast, probably needs to be changed */, *(u32 *)&gUnknown_02022C38 /* dirty cast, probably needs to be changed */, species2, gUnknown_02022C3C, gUnknown_02022C3E, species, obedience); + u32 stringId = sub_807A7E0(*(struct UnkLinkRfuStruct_02022B14Substruct *)sub_800F7DC(), gUnknown_02022C38, species2, gUnknown_02022C3C, gUnknown_02022C3E, species, obedience); if (stringId != 0) { @@ -7257,10 +7257,10 @@ static void sub_81B9424(u8 taskId) static void sub_81B9470(void) { - gUnknown_02039F24 = GetCursorSelectionMonId(); - if (gUnknown_02039F24 >= PARTY_SIZE) - gUnknown_02039F24 = 0xFF; - gSpecialVar_0x8004 = gUnknown_02039F24; + gContestMonPartyIndex = GetCursorSelectionMonId(); + if (gContestMonPartyIndex >= PARTY_SIZE) + gContestMonPartyIndex = 0xFF; + gSpecialVar_0x8004 = gContestMonPartyIndex; gFieldCallback2 = hm_add_c3_without_phase_2; SetMainCallback2(CB2_ReturnToField); } diff --git a/src/pokeball.c b/src/pokeball.c index baa165649a..1938d888de 100644 --- a/src/pokeball.c +++ b/src/pokeball.c @@ -1170,7 +1170,7 @@ static void sub_80768F0(struct Sprite *sprite) sprite->callback = SpriteCallbackDummy; } -static void DestroySpriteAndFreeResources_(struct Sprite *sprite) +static void Unref_DestroySpriteAndFreeResources(struct Sprite *sprite) { DestroySpriteAndFreeResources(sprite); } diff --git a/src/pokedex_area_screen.c b/src/pokedex_area_screen.c index a268b53822..eeea3c2100 100755 --- a/src/pokedex_area_screen.c +++ b/src/pokedex_area_screen.c @@ -96,7 +96,7 @@ static const u16 sLandmarkData[][2] = { {MAPSEC_ALTERING_CAVE_2, FLAG_LANDMARK_ALTERING_CAVE}, {MAPSEC_MIRAGE_TOWER, FLAG_LANDMARK_MIRAGE_TOWER}, {MAPSEC_DESERT_UNDERPASS, FLAG_LANDMARK_DESERT_UNDERPASS}, - {MAPSEC_ARTISAN_CAVE, FLAG_0x8DF}, + {MAPSEC_ARTISAN_CAVE, FLAG_LANDMARK_ARTISAN_CAVE}, {MAPSEC_NONE} }; diff --git a/src/pokemon.c b/src/pokemon.c index 28dcc04a8f..12deeb805a 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -6418,7 +6418,7 @@ const u32 *GetFrontSpritePalFromSpeciesAndPersonality(u16 species, u32 otId, u32 { u32 shinyValue; - if (species > SPECIES_EGG) + if (species > NUM_SPECIES) return gMonPaletteTable[0].data; shinyValue = HIHALF(otId) ^ LOHALF(otId) ^ HIHALF(personality) ^ LOHALF(personality); diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c index 36a7da0ee5..bcbb60e213 100644 --- a/src/pokemon_icon.c +++ b/src/pokemon_icon.c @@ -1045,7 +1045,7 @@ u8 CreateMonIcon(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u .paletteTag = POKE_ICON_BASE_PAL_TAG + gMonIconPaletteIndices[species], }; - if (species > SPECIES_EGG) + if (species > NUM_SPECIES) iconTemplate.paletteTag = POKE_ICON_BASE_PAL_TAG; spriteId = CreateMonIconSprite(&iconTemplate, x, y, subpriority); @@ -1091,7 +1091,7 @@ u16 GetIconSpecies(u16 species, u32 personality) } else { - if (species > SPECIES_EGG) + if (species > NUM_SPECIES) result = 260; else result = species; @@ -1149,7 +1149,7 @@ void LoadMonIconPalettes(void) void SafeLoadMonIconPalette(u16 species) { u8 palIndex; - if (species > SPECIES_EGG) + if (species > NUM_SPECIES) species = 260; palIndex = gMonIconPaletteIndices[species]; if (IndexOfSpritePaletteTag(gMonIconPaletteTable[palIndex].tag) == 0xFF) @@ -1174,7 +1174,7 @@ void FreeMonIconPalettes(void) void SafeFreeMonIconPalette(u16 species) { u8 palIndex; - if (species > SPECIES_EGG) + if (species > NUM_SPECIES) species = 260; palIndex = gMonIconPaletteIndices[species]; FreeSpritePaletteByTag(gMonIconPaletteTable[palIndex].tag); @@ -1207,7 +1207,7 @@ void sub_80D304C(u16 offset) s32 i; const struct SpritePalette* monIconPalettePtr; - if(offset <= 0xA0) + if (offset <= 0xA0) { monIconPalettePtr = gMonIconPaletteTable; for(i = 5; i >= 0; i--) @@ -1221,7 +1221,7 @@ void sub_80D304C(u16 offset) u8 GetValidMonIconPalIndex(u16 species) { - if (species > SPECIES_EGG) + if (species > NUM_SPECIES) species = 260; return gMonIconPaletteIndices[species]; } @@ -1233,7 +1233,7 @@ u8 sub_80D30A0(u16 species) const u16* GetValidMonIconPalettePtr(u16 species) { - if (species > SPECIES_EGG) + if (species > NUM_SPECIES) species = 260; return gMonIconPaletteTable[gMonIconPaletteIndices[species]].data; } diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 9db711b1b1..fce25cc7da 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -383,7 +383,7 @@ static const struct UnkStruct_61CC04 gUnknown_0861CC10 = static const s8 gUnknown_0861CC1C[] = {0, 2, 3, 1, 4, 5}; static const struct WindowTemplate gUnknown_0861CC24[] = { - { + {//Text for Pokemon Info .bg = 0, .tilemapLeft = 0, .tilemapTop = 0, @@ -392,7 +392,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] = .paletteNum = 6, .baseBlock = 1, }, - { + {//Text for Pokemon Skills .bg = 0, .tilemapLeft = 0, .tilemapTop = 0, @@ -401,7 +401,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] = .paletteNum = 6, .baseBlock = 23, }, - { + {//Text for Battle Moves .bg = 0, .tilemapLeft = 0, .tilemapTop = 0, @@ -410,7 +410,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] = .paletteNum = 6, .baseBlock = 45, }, - { + {//Text for Contest Moves .bg = 0, .tilemapLeft = 0, .tilemapTop = 0, @@ -419,7 +419,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] = .paletteNum = 6, .baseBlock = 67, }, - { + { //Text on Pokemon Info: Button prompt: Cancel .bg = 0, .tilemapLeft = 22, .tilemapTop = 0, @@ -428,7 +428,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] = .paletteNum = 7, .baseBlock = 89, }, - { + {//Info button found under moves .bg = 0, .tilemapLeft = 22, .tilemapTop = 0, @@ -437,7 +437,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] = .paletteNum = 7, .baseBlock = 105, }, - { + {//Switch button under moves when viewing moves .bg = 0, .tilemapLeft = 22, .tilemapTop = 0, @@ -446,7 +446,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] = .paletteNum = 7, .baseBlock = 121, }, - { + {//Unknown .bg = 0, .tilemapLeft = 11, .tilemapTop = 4, @@ -455,7 +455,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] = .paletteNum = 6, .baseBlock = 137, }, - { + {//Unknown .bg = 0, .tilemapLeft = 11, .tilemapTop = 4, @@ -464,7 +464,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] = .paletteNum = 6, .baseBlock = 137, }, - { + {//Type on pokemon info page .bg = 0, .tilemapLeft = 11, .tilemapTop = 6, @@ -473,7 +473,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] = .paletteNum = 6, .baseBlock = 173, }, - { + {//HP, Attack and Defense text .bg = 0, .tilemapLeft = 10, .tilemapTop = 7, @@ -482,7 +482,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] = .paletteNum = 6, .baseBlock = 209, }, - { + {//Sp. atk, Sp. Def and Speed texxt .bg = 0, .tilemapLeft = 22, .tilemapTop = 7, @@ -491,7 +491,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] = .paletteNum = 6, .baseBlock = 245, }, - { + {//EXP and next lvl. .bg = 0, .tilemapLeft = 10, .tilemapTop = 14, @@ -500,7 +500,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] = .paletteNum = 6, .baseBlock = 275, }, - { + {//Unknown .bg = 0, .tilemapLeft = 0, .tilemapTop = 18, @@ -509,7 +509,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] = .paletteNum = 6, .baseBlock = 319, }, - { + {//move text: Power, Accuracy and their numeric values. .bg = 0, .tilemapLeft = 1, .tilemapTop = 15, @@ -518,7 +518,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] = .paletteNum = 6, .baseBlock = 331, }, - { + {//contest text: appeal and jam .bg = 0, .tilemapLeft = 1, .tilemapTop = 15, @@ -527,7 +527,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] = .paletteNum = 6, .baseBlock = 367, }, - { + {//Unknown .bg = 0, .tilemapLeft = 22, .tilemapTop = 4, @@ -536,7 +536,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] = .paletteNum = 6, .baseBlock = 387, }, - { + {//No. .bg = 0, .tilemapLeft = 1, .tilemapTop = 2, @@ -545,7 +545,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] = .paletteNum = 7, .baseBlock = 387, }, - { + {//Upper name .bg = 0, .tilemapLeft = 1, .tilemapTop = 12, @@ -554,7 +554,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] = .paletteNum = 6, .baseBlock = 395, }, - { + {//Lower name .bg = 0, .tilemapLeft = 1, .tilemapTop = 14, @@ -567,7 +567,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] = }; static const struct WindowTemplate gUnknown_0861CCCC[] = { - { + {//Original Trainer .bg = 0, .tilemapLeft = 11, .tilemapTop = 4, @@ -576,7 +576,7 @@ static const struct WindowTemplate gUnknown_0861CCCC[] = .paletteNum = 6, .baseBlock = 449, }, - { + {//ID numbers .bg = 0, .tilemapLeft = 22, .tilemapTop = 4, @@ -585,7 +585,7 @@ static const struct WindowTemplate gUnknown_0861CCCC[] = .paletteNum = 6, .baseBlock = 471, }, - { + {//Ability .bg = 0, .tilemapLeft = 11, .tilemapTop = 9, @@ -594,7 +594,7 @@ static const struct WindowTemplate gUnknown_0861CCCC[] = .paletteNum = 6, .baseBlock = 485, }, - { + {//Trainer Memo .bg = 0, .tilemapLeft = 11, .tilemapTop = 14, @@ -606,7 +606,7 @@ static const struct WindowTemplate gUnknown_0861CCCC[] = }; static const struct WindowTemplate gUnknown_0861CCEC[] = { - { + {//Held Item string .bg = 0, .tilemapLeft = 10, .tilemapTop = 4, @@ -615,7 +615,7 @@ static const struct WindowTemplate gUnknown_0861CCEC[] = .paletteNum = 6, .baseBlock = 449, }, - { + {//Ribbon string .bg = 0, .tilemapLeft = 20, .tilemapTop = 4, @@ -624,7 +624,7 @@ static const struct WindowTemplate gUnknown_0861CCEC[] = .paletteNum = 6, .baseBlock = 469, }, - { + {//Stat numbers left (HP, ATK & DEF) .bg = 0, .tilemapLeft = 16, .tilemapTop = 7, @@ -633,7 +633,7 @@ static const struct WindowTemplate gUnknown_0861CCEC[] = .paletteNum = 6, .baseBlock = 489, }, - { + {//Stat numbers right (SP.ATK, SP.DEF & SPEED) .bg = 0, .tilemapLeft = 27, .tilemapTop = 7, @@ -642,7 +642,7 @@ static const struct WindowTemplate gUnknown_0861CCEC[] = .paletteNum = 6, .baseBlock = 525, }, - { + {//Exp numbers .bg = 0, .tilemapLeft = 24, .tilemapTop = 14, @@ -654,7 +654,7 @@ static const struct WindowTemplate gUnknown_0861CCEC[] = }; static const struct WindowTemplate gUnknown_0861CD14[] = { - { + {//Move names? .bg = 0, .tilemapLeft = 15, .tilemapTop = 4, @@ -663,7 +663,7 @@ static const struct WindowTemplate gUnknown_0861CD14[] = .paletteNum = 6, .baseBlock = 449, }, - { + {//PP Numbers .bg = 0, .tilemapLeft = 24, .tilemapTop = 4, @@ -672,7 +672,7 @@ static const struct WindowTemplate gUnknown_0861CD14[] = .paletteNum = 8, .baseBlock = 539, }, - { + {//Move description text .bg = 0, .tilemapLeft = 10, .tilemapTop = 15, @@ -1374,7 +1374,7 @@ static bool8 SummaryScreen_DecompressGraphics(void) pssData->unk40F0++; break; case 12: - LoadCompressedPalette(&gMoveTypes_Pal, 0x1D0, 0x60); + LoadCompressedPalette(gMoveTypes_Pal, 0x1D0, 0x60); pssData->unk40F0 = 0; return TRUE; } diff --git a/src/pokenav_match_call.c b/src/pokenav_match_call.c new file mode 100644 index 0000000000..53f9f05484 --- /dev/null +++ b/src/pokenav_match_call.c @@ -0,0 +1,1275 @@ + +// Includes +#include "global.h" +#include "battle_setup.h" +#include "event_data.h" +#include "string_util.h" +#include "battle.h" +#include "gym_leader_rematch.h" + +extern void sub_8197080(u8 *dest); +extern const u8 gTrainerClassNames[][13]; + +// Static type declarations + +typedef struct MatchCallTextDataStruct { + const u8 *text; + u16 flag; + u16 flag2; +} match_call_text_data_t; + +struct MatchCallStructCommon { + u8 type; + u8 v1; + u16 flag; +}; + +struct MatchCallStruct0 { + u8 type; + u8 v1; + u16 flag; + const u8 *desc; + const u8 *name; + const match_call_text_data_t *textData; +}; + +struct MatchCallStruct1 { + u8 type; + u8 v1; + u16 flag; + u16 rematchTableIdx; + const u8 *desc; + const u8 *name; + const match_call_text_data_t *textData; +}; + +struct MatchCallSubstruct2 { + u16 flag; + u8 v2; +}; + +struct MatchCallStruct2 { + u8 type; + u8 v1; + u16 flag; + u16 rematchTableIdx; + const u8 *desc; + const match_call_text_data_t *textData; + const struct MatchCallSubstruct2 *v10; +}; + +struct MatchCallStruct3 { + u8 type; + u8 v1; + u16 flag; + const u8 *desc; + const u8 *name; +}; + +struct MatchCallStruct4 { + u8 type; + u8 gender; + u16 flag; + const u8 *desc; + const u8 *name; + const match_call_text_data_t *textData; +}; + +struct MatchCallStruct5 { + u8 type; + u8 v1; + u16 flag; + u16 v4; + const u8 *desc; + const u8 *name; + const match_call_text_data_t *textData; +}; + +#define MATCHCALLDEF(name, type_, ...) \ +static const struct MatchCallStruct##type_ name = { \ + .type = type_, \ + __VA_ARGS__ \ +}; + +typedef union { + const struct MatchCallStructCommon *common; + const struct MatchCallStruct0 *type0; + const struct MatchCallStruct1 *type1; + const struct MatchCallStruct2 *type2; + const struct MatchCallStruct3 *type3; + const struct MatchCallStruct4 *type4; + const struct MatchCallStruct5 *type5; +} match_call_t; + +struct UnkStruct_08625388 { + u16 idx; + u16 v2; + u16 v4; + const u8 *v8[4]; +}; + +// Static RAM declarations + +// Static ROM declarations + +static bool32 MatchCallGetFlag_Type0(match_call_t); +static bool32 MatchCallGetFlag_Type1(match_call_t); +static bool32 MatchCallGetFlag_Type2(match_call_t); +static bool32 MatchCallGetFlag_Type3(match_call_t); +static bool32 MatchCallGetFlag_Type4(match_call_t); + +static u8 sub_81D1714(match_call_t); +static u8 sub_81D1718(match_call_t); +static u8 sub_81D171C(match_call_t); +static u8 sub_81D1750(match_call_t); +static u8 sub_81D1754(match_call_t); + +static bool32 MatchCall_IsRematchable_Type0(match_call_t); +static bool32 MatchCall_IsRematchable_Type1(match_call_t); +static bool32 MatchCall_IsRematchable_Type2(match_call_t); +static bool32 MatchCall_IsRematchable_Type3(match_call_t); +static bool32 MatchCall_IsRematchable_Type4(match_call_t); + +static bool32 sub_81D1840(match_call_t); +static bool32 sub_81D1844(match_call_t); +static bool32 sub_81D1848(match_call_t); +static bool32 sub_81D184C(match_call_t); +static bool32 sub_81D1850(match_call_t); + +static u32 MatchCall_GetRematchTableIdx_Type0(match_call_t); +static u32 MatchCall_GetRematchTableIdx_Type1(match_call_t); +static u32 MatchCall_GetRematchTableIdx_Type2(match_call_t); +static u32 MatchCall_GetRematchTableIdx_Type3(match_call_t); +static u32 MatchCall_GetRematchTableIdx_Type4(match_call_t); + +static void MatchCall_GetMessage_Type0(match_call_t, u8 *); +static void MatchCall_GetMessage_Type1(match_call_t, u8 *); +static void MatchCall_GetMessage_Type2(match_call_t, u8 *); +static void MatchCall_GetMessage_Type3(match_call_t, u8 *); +static void MatchCall_GetMessage_Type4(match_call_t, u8 *); + +static void MatchCall_GetNameAndDesc_Type0(match_call_t, const u8 **, const u8 **); +static void MatchCall_GetNameAndDesc_Type1(match_call_t, const u8 **, const u8 **); +static void MatchCall_GetNameAndDesc_Type2(match_call_t, const u8 **, const u8 **); +static void MatchCall_GetNameAndDesc_Type3(match_call_t, const u8 **, const u8 **); +static void MatchCall_GetNameAndDesc_Type4(match_call_t, const u8 **, const u8 **); + +static void sub_81D1920(const match_call_text_data_t *, u8 *); +static void sub_81D199C(const match_call_text_data_t *, u16, u8 *); +static void MatchCall_GetNameAndDescByRematchIdx(u32, const u8 **, const u8 **); + +extern const u8 gText_MrStone_Pokenav_2B60C0[]; +extern const u8 gText_MrStone_Pokenav_2B61E6[]; +extern const u8 gText_MrStone_Pokenav_2B6302[]; +extern const u8 gText_MrStone_Pokenav_2B63A0[]; +extern const u8 gText_MrStone_Pokenav_2B64A2[]; +extern const u8 gText_MrStone_Pokenav_2B6526[]; +extern const u8 gText_MrStone_Pokenav_2B65BB[]; +extern const u8 gText_MrStone_Pokenav_2B6664[]; +extern const u8 gText_MrStone_Pokenav_2B66B1[]; +extern const u8 gText_MrStone_Pokenav_2B6703[]; +extern const u8 gText_MrStone_Pokenav_2B67ED[]; + +extern const u8 gMrStoneMatchCallDesc[]; +extern const u8 gMrStoneMatchCallName[]; + +extern const u8 gText_Norman_Pokenav_2B5719[]; +extern const u8 gText_Norman_Pokenav_2B5795[]; +extern const u8 gText_Norman_Pokenav_2B584D[]; +extern const u8 gText_Norman_Pokenav_2B58E3[]; +extern const u8 gText_Norman_Pokenav_2B5979[]; +extern const u8 gText_Norman_Pokenav_2B5A07[]; +extern const u8 gText_Norman_Pokenav_2B5A69[]; +extern const u8 gText_Norman_Pokenav_2B5ACF[]; +extern const u8 gText_Norman_Pokenav_2B5B5E[]; + +extern const u8 gNormanMatchCallDesc[]; +extern const u8 gNormanMatchCallName[]; + +extern const u8 gProfBirchMatchCallDesc[]; +extern const u8 gProfBirchMatchCallName[]; + +extern const u8 gText_Mom_Pokenav_2B227B[]; +extern const u8 gText_Mom_Pokenav_2B2310[]; +extern const u8 gText_Mom_Pokenav_2B23F3[]; + +extern const u8 gMomMatchCallDesc[]; +extern const u8 gMomMatchCallName[]; + +extern const u8 gText_Steven_Pokenav_2B5B95[]; +extern const u8 gText_Steven_Pokenav_2B5C53[]; +extern const u8 gText_Steven_Pokenav_2B5CC9[]; +extern const u8 gText_Steven_Pokenav_2B5DB4[]; +extern const u8 gText_Steven_Pokenav_2B5E26[]; +extern const u8 gText_Steven_Pokenav_2B5EA2[]; +extern const u8 gText_Steven_Pokenav_2B5ED9[]; + +extern const u8 gStevenMatchCallDesc[]; +extern const u8 gStevenMatchCallName[]; + +extern const u8 gText_May_Pokenav_2B3AB3[]; +extern const u8 gText_May_Pokenav_2B3B3F[]; +extern const u8 gText_May_Pokenav_2B3C13[]; +extern const u8 gText_May_Pokenav_2B3CF3[]; +extern const u8 gText_May_Pokenav_2B3D4B[]; +extern const u8 gText_May_Pokenav_2B3DD1[]; +extern const u8 gText_May_Pokenav_2B3E69[]; +extern const u8 gText_May_Pokenav_2B3ECD[]; +extern const u8 gText_May_Pokenav_2B3F2B[]; +extern const u8 gText_May_Pokenav_2B3FFB[]; +extern const u8 gText_May_Pokenav_2B402B[]; +extern const u8 gText_May_Pokenav_2B414B[]; +extern const u8 gText_May_Pokenav_2B4228[]; +extern const u8 gText_May_Pokenav_2B42E0[]; +extern const u8 gText_May_Pokenav_2B4350[]; +extern const u8 gMayBrendanMatchCallDesc[]; +extern const u8 gExpandedPlaceholder_May[]; +extern const u8 gText_Brendan_Pokenav_2B43EF[]; +extern const u8 gText_Brendan_Pokenav_2B4486[]; +extern const u8 gText_Brendan_Pokenav_2B4560[]; +extern const u8 gText_Brendan_Pokenav_2B463F[]; +extern const u8 gText_Brendan_Pokenav_2B46B7[]; +extern const u8 gText_Brendan_Pokenav_2B4761[]; +extern const u8 gText_Brendan_Pokenav_2B47F4[]; +extern const u8 gText_Brendan_Pokenav_2B4882[]; +extern const u8 gText_Brendan_Pokenav_2B4909[]; +extern const u8 gText_Brendan_Pokenav_2B49C4[]; +extern const u8 gText_Brendan_Pokenav_2B4A44[]; +extern const u8 gText_Brendan_Pokenav_2B4B28[]; +extern const u8 gText_Brendan_Pokenav_2B4C15[]; +extern const u8 gText_Brendan_Pokenav_2B4CD8[]; +extern const u8 gText_Brendan_Pokenav_2B4D46[]; +extern const u8 gExpandedPlaceholder_Brendan[]; +extern const u8 gText_Wally_Pokenav_2B4DE2[]; +extern const u8 gText_Wally_Pokenav_2B4E57[]; +extern const u8 gText_Wally_Pokenav_2B4EA5[]; +extern const u8 gText_Wally_Pokenav_2B4F41[]; +extern const u8 gText_Wally_Pokenav_2B4FF3[]; +extern const u8 gText_Wally_Pokenav_2B50B1[]; +extern const u8 gText_Wally_Pokenav_2B5100[]; +extern const u8 gWallyMatchCallDesc[]; +extern const u8 gText_Scott_Pokenav_2B5184[]; +extern const u8 gText_Scott_Pokenav_2B5275[]; +extern const u8 gText_Scott_Pokenav_2B5323[]; +extern const u8 gText_Scott_Pokenav_2B53DB[]; +extern const u8 gText_Scott_Pokenav_2B54A5[]; +extern const u8 gText_Scott_Pokenav_2B5541[]; +extern const u8 gText_Scott_Pokenav_2B56CA[]; +extern const u8 gScottMatchCallDesc[]; +extern const u8 gScottMatchCallName[]; +extern const u8 gText_Roxanne_Pokenav_2B2456[]; +extern const u8 gText_Roxanne_Pokenav_2B250E[]; +extern const u8 gText_Roxanne_Pokenav_2B25C1[]; +extern const u8 gText_Roxanne_Pokenav_2B2607[]; +extern const u8 gRoxanneMatchCallDesc[]; +extern const u8 gText_Brawly_Pokenav_2B2659[]; +extern const u8 gText_Brawly_Pokenav_2B275D[]; +extern const u8 gText_Brawly_Pokenav_2B286F[]; +extern const u8 gText_Brawly_Pokenav_2B28D1[]; +extern const u8 gBrawlyMatchCallDesc[]; +extern const u8 gText_Wattson_Pokenav_2B2912[]; +extern const u8 gText_Wattson_Pokenav_2B29CA[]; +extern const u8 gText_Wattson_Pokenav_2B2AB6[]; +extern const u8 gText_Wattson_Pokenav_2B2B01[]; +extern const u8 gWattsonMatchCallDesc[]; +extern const u8 gText_Flannery_Pokenav_2B2B4D[]; +extern const u8 gText_Flannery_Pokenav_2B2C0E[]; +extern const u8 gText_Flannery_Pokenav_2B2CF1[]; +extern const u8 gText_Flannery_Pokenav_2B2D54[]; +extern const u8 gFlanneryMatchCallDesc[]; +extern const u8 gText_Winona_Pokenav_2B2DA4[]; +extern const u8 gText_Winona_Pokenav_2B2E2B[]; +extern const u8 gText_Winona_Pokenav_2B2EC2[]; +extern const u8 gText_Winona_Pokenav_2B2F16[]; +extern const u8 gWinonaMatchCallDesc[]; +extern const u8 gText_TateLiza_Pokenav_2B2F97[]; +extern const u8 gText_TateLiza_Pokenav_2B306E[]; +extern const u8 gText_TateLiza_Pokenav_2B3158[]; +extern const u8 gText_TateLiza_Pokenav_2B31CD[]; +extern const u8 gTateLizaMatchCallDesc[]; +extern const u8 gText_Juan_Pokenav_2B3249[]; +extern const u8 gText_Juan_Pokenav_2B32EC[]; +extern const u8 gText_Juan_Pokenav_2B33AA[]; +extern const u8 gText_Juan_Pokenav_2B341E[]; +extern const u8 gJuanMatchCallDesc[]; +extern const u8 gText_Sidney_Pokenav_2B34CC[]; +extern const u8 gEliteFourMatchCallDesc[]; +extern const u8 gText_Phoebe_Pokenav_2B3561[]; +extern const u8 gText_Glacia_Pokenav_2B35E4[]; +extern const u8 gText_Drake_Pokenav_2B368B[]; +extern const u8 gText_Wallace_Pokenav_2B3790[]; +extern const u8 gChampionMatchCallDesc[]; +extern const u8 gMatchCallStevenStrategyText[]; +extern const u8 gMatchCall_StevenTrainersPokemonText[]; +extern const u8 gMatchCall_StevenSelfIntroductionText_Line1_BeforeMeteorFallsBattle[]; +extern const u8 gMatchCall_StevenSelfIntroductionText_Line2_BeforeMeteorFallsBattle[]; +extern const u8 gMatchCall_StevenSelfIntroductionText_Line1_AfterMeteorFallsBattle[]; +extern const u8 gMatchCall_StevenSelfIntroductionText_Line2_AfterMeteorFallsBattle[]; +extern const u8 gMatchCall_BrendanStrategyText[]; +extern const u8 gMatchCall_BrendanTrainersPokemonText[]; +extern const u8 gMatchCall_BrendanSelfIntroductionText_Line1[]; +extern const u8 gMatchCall_BrendanSelfIntroductionText_Line2[]; +extern const u8 gMatchCall_MayStrategyText[]; +extern const u8 gMatchCall_MayTrainersPokemonText[]; +extern const u8 gMatchCall_MaySelfIntroductionText_Line1[]; +extern const u8 gMatchCall_MaySelfIntroductionText_Line2[]; +// .rodata + +static const match_call_text_data_t sMrStoneTextScripts[] = { + { gText_MrStone_Pokenav_2B60C0, 0xFFFF, FLAG_ENABLE_MR_STONE_POKENAV }, + { gText_MrStone_Pokenav_2B61E6, FLAG_ENABLE_MR_STONE_POKENAV, 0xFFFF }, + { gText_MrStone_Pokenav_2B6302, FLAG_DELIVERED_STEVEN_LETTER, 0xFFFF }, + { gText_MrStone_Pokenav_2B63A0, FLAG_RECEIVED_EXP_SHARE, 0xFFFF }, + { gText_MrStone_Pokenav_2B64A2, FLAG_RECEIVED_HM04, 0xFFFF }, + { gText_MrStone_Pokenav_2B6526, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF }, + { gText_MrStone_Pokenav_2B65BB, FLAG_RECEIVED_CASTFORM, 0xFFFF }, + { gText_MrStone_Pokenav_2B6664, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xFFFF }, + { gText_MrStone_Pokenav_2B66B1, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF }, + { gText_MrStone_Pokenav_2B6703, FLAG_DEFEATED_SOOTOPOLIS_GYM, 0xFFFF }, + { gText_MrStone_Pokenav_2B67ED, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } +}; + +MATCHCALLDEF(sMrStoneMatchCallHeader, 0, 10, 0xffff, gMrStoneMatchCallDesc, gMrStoneMatchCallName, sMrStoneTextScripts); + +static const match_call_text_data_t sNormanTextScripts[] = { + { gText_Norman_Pokenav_2B5719, FLAG_ENABLE_NORMAN_MATCH_CALL, 0xFFFF }, + { gText_Norman_Pokenav_2B5795, FLAG_DEFEATED_DEWFORD_GYM, 0xFFFF }, + { gText_Norman_Pokenav_2B584D, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF }, + { gText_Norman_Pokenav_2B58E3, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF }, + { gText_Norman_Pokenav_2B5979, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF }, + { gText_Norman_Pokenav_2B5A07, 0xFFFE, 0xFFFF }, + { gText_Norman_Pokenav_2B5A69, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { gText_Norman_Pokenav_2B5ACF, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { gText_Norman_Pokenav_2B5B5E, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } +}; + +MATCHCALLDEF(sNormanMatchCallHeader, 5, 7, FLAG_ENABLE_NORMAN_MATCH_CALL, 0x45, gNormanMatchCallDesc, gNormanMatchCallName, sNormanTextScripts); + +MATCHCALLDEF(sProfBirchMatchCallHeader, 3, 0, FLAG_ENABLE_PROF_BIRCH_MATCH_CALL, gProfBirchMatchCallDesc, gProfBirchMatchCallName) + +static const match_call_text_data_t sMomTextScripts[] = { + { gText_Mom_Pokenav_2B227B, 0xffff, 0xffff }, + { gText_Mom_Pokenav_2B2310, FLAG_DEFEATED_PETALBURG_GYM, 0xffff }, + { gText_Mom_Pokenav_2B23F3, FLAG_SYS_GAME_CLEAR, 0xffff }, + { NULL, 0xffff, 0xffff } +}; + +MATCHCALLDEF(sMomMatchCallHeader, 0, 0, FLAG_ENABLE_MOM_MATCH_CALL, gMomMatchCallDesc, gMomMatchCallName, sMomTextScripts); + +static const match_call_text_data_t sStevenTextScripts[] = { + { gText_Steven_Pokenav_2B5B95, 0xffff, 0xffff }, + { gText_Steven_Pokenav_2B5C53, FLAG_RUSTURF_TUNNEL_OPENED, 0xffff }, + { gText_Steven_Pokenav_2B5CC9, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xffff }, + { gText_Steven_Pokenav_2B5DB4, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xffff }, + { gText_Steven_Pokenav_2B5E26, FLAG_DEFEATED_MOSSDEEP_GYM, 0xffff }, + { gText_Steven_Pokenav_2B5EA2, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, 0xffff }, + { gText_Steven_Pokenav_2B5ED9, FLAG_SYS_GAME_CLEAR, 0xffff }, + { NULL, 0xffff, 0xffff }, +}; + +MATCHCALLDEF(sStevenMatchCallHeader, 0, 0xd5, FLAG_REGISTERED_STEVEN_POKENAV, gStevenMatchCallDesc, gStevenMatchCallName, sStevenTextScripts); + +static const match_call_text_data_t sMayTextScripts[] = { + { gText_May_Pokenav_2B3AB3, 0xFFFF, 0xFFFF }, + { gText_May_Pokenav_2B3B3F, FLAG_DEFEATED_DEWFORD_GYM, 0xFFFF }, + { gText_May_Pokenav_2B3C13, FLAG_DELIVERED_DEVON_GOODS, 0xFFFF }, + { gText_May_Pokenav_2B3CF3, FLAG_HIDE_MAUVILLE_CITY_WALLY, 0xFFFF }, + { gText_May_Pokenav_2B3D4B, FLAG_RECEIVED_HM04, 0xFFFF }, + { gText_May_Pokenav_2B3DD1, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF }, + { gText_May_Pokenav_2B3E69, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF }, + { gText_May_Pokenav_2B3ECD, FLAG_RECEIVED_CASTFORM, 0xFFFF }, + { gText_May_Pokenav_2B3F2B, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF }, + { gText_May_Pokenav_2B3FFB, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xFFFF }, + { gText_May_Pokenav_2B402B, FLAG_MET_TEAM_AQUA_HARBOR, 0xFFFF }, + { gText_May_Pokenav_2B414B, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF }, + { gText_May_Pokenav_2B4228, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, 0xFFFF }, + { gText_May_Pokenav_2B42E0, FLAG_DEFEATED_SOOTOPOLIS_GYM, 0xFFFF }, + { gText_May_Pokenav_2B4350, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } +}; + +MATCHCALLDEF(sMayMatchCallHeader, 4, MALE, FLAG_ENABLE_RIVAL_MATCH_CALL, gMayBrendanMatchCallDesc, gExpandedPlaceholder_May, sMayTextScripts); + +static const match_call_text_data_t sBrendanTextScripts[] = { + { gText_Brendan_Pokenav_2B43EF, 0xFFFF, 0xFFFF }, + { gText_Brendan_Pokenav_2B4486, FLAG_DEFEATED_DEWFORD_GYM, 0xFFFF }, + { gText_Brendan_Pokenav_2B4560, FLAG_DELIVERED_DEVON_GOODS, 0xFFFF }, + { gText_Brendan_Pokenav_2B463F, FLAG_HIDE_MAUVILLE_CITY_WALLY, 0xFFFF }, + { gText_Brendan_Pokenav_2B46B7, FLAG_RECEIVED_HM04, 0xFFFF }, + { gText_Brendan_Pokenav_2B4761, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF }, + { gText_Brendan_Pokenav_2B47F4, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF }, + { gText_Brendan_Pokenav_2B4882, FLAG_RECEIVED_CASTFORM, 0xFFFF }, + { gText_Brendan_Pokenav_2B4909, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF }, + { gText_Brendan_Pokenav_2B49C4, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xFFFF }, + { gText_Brendan_Pokenav_2B4A44, FLAG_MET_TEAM_AQUA_HARBOR, 0xFFFF }, + { gText_Brendan_Pokenav_2B4B28, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF }, + { gText_Brendan_Pokenav_2B4C15, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, 0xFFFF }, + { gText_Brendan_Pokenav_2B4CD8, FLAG_DEFEATED_SOOTOPOLIS_GYM, 0xFFFF }, + { gText_Brendan_Pokenav_2B4D46, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } +}; + +MATCHCALLDEF(sBrendanMatchCallHeader, 4, FEMALE, FLAG_ENABLE_RIVAL_MATCH_CALL, gMayBrendanMatchCallDesc, gExpandedPlaceholder_Brendan, sBrendanTextScripts); + +static const match_call_text_data_t sWallyTextScripts[] = { + { gText_Wally_Pokenav_2B4DE2, 0xFFFF, 0xFFFF }, + { gText_Wally_Pokenav_2B4E57, FLAG_RUSTURF_TUNNEL_OPENED, 0xFFFF }, + { gText_Wally_Pokenav_2B4EA5, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF }, + { gText_Wally_Pokenav_2B4F41, FLAG_RECEIVED_CASTFORM, 0xFFFF }, + { gText_Wally_Pokenav_2B4FF3, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xFFFF }, + { gText_Wally_Pokenav_2B50B1, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, 0xFFFF }, + { gText_Wally_Pokenav_2B5100, FLAG_DEFEATED_WALLY_VICTORY_ROAD, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } +}; + +const struct MatchCallSubstruct2 sWallyAdditionalData[] = { + { FLAG_HIDE_MAUVILLE_CITY_WALLY, 0x05 }, + { FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xD5 }, + { FLAG_HIDE_VICTORY_ROAD_ENTRANCE_WALLY, 0x46 }, + { 0xFFFF, 0xD5 } +}; + +MATCHCALLDEF(sWallyMatchCallHeader, 2, 0, FLAG_ENABLE_WALLY_MATCH_CALL, REMATCH_WALLY_3, gWallyMatchCallDesc, sWallyTextScripts, sWallyAdditionalData); + +static const match_call_text_data_t sScottTextScripts[] = { + { gText_Scott_Pokenav_2B5184, 0xFFFF, 0xFFFF }, + { gText_Scott_Pokenav_2B5275, FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, 0xFFFF }, + { gText_Scott_Pokenav_2B5323, FLAG_RECEIVED_CASTFORM, 0xFFFF }, + { gText_Scott_Pokenav_2B53DB, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF }, + { gText_Scott_Pokenav_2B54A5, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF }, + { gText_Scott_Pokenav_2B5541, FLAG_DEFEATED_SOOTOPOLIS_GYM, 0xFFFF }, + { gText_Scott_Pokenav_2B56CA, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } +}; + + +MATCHCALLDEF(sScottMatchCallHeader, 0, 0xD5, FLAG_ENABLE_SCOTT_MATCH_CALL, gScottMatchCallDesc, gScottMatchCallName, sScottTextScripts); + +static const match_call_text_data_t sRoxanneTextScripts[] = { + { gText_Roxanne_Pokenav_2B2456, 0xFFFE, 0xFFFF }, + { gText_Roxanne_Pokenav_2B250E, 0xFFFF, 0xFFFF }, + { gText_Roxanne_Pokenav_2B25C1, 0xFFFF, 0xFFFF }, + { gText_Roxanne_Pokenav_2B2607, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } +}; + +MATCHCALLDEF(sRoxanneMatchCallHeader, 5, 10, FLAG_ENABLE_ROXANNE_MATCH_CALL, 0x41, gRoxanneMatchCallDesc, NULL, sRoxanneTextScripts); + +static const match_call_text_data_t sBrawlyTextScripts[] = { + { gText_Brawly_Pokenav_2B2659, 0xFFFE, 0xFFFF }, + { gText_Brawly_Pokenav_2B275D, 0xFFFF, 0xFFFF }, + { gText_Brawly_Pokenav_2B286F, 0xFFFF, 0xFFFF }, + { gText_Brawly_Pokenav_2B28D1, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } +}; + +MATCHCALLDEF(sBrawlyMatchCallHeader, 5, 2, FLAG_ENABLE_BRAWLY_MATCH_CALL, 0x42, gBrawlyMatchCallDesc, NULL, sBrawlyTextScripts); + +static const match_call_text_data_t sWattsonTextScripts[] = { + { gText_Wattson_Pokenav_2B2912, 0xFFFE, 0xFFFF }, + { gText_Wattson_Pokenav_2B29CA, 0xFFFF, 0xFFFF }, + { gText_Wattson_Pokenav_2B2AB6, 0xFFFF, 0xFFFF }, + { gText_Wattson_Pokenav_2B2B01, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } +}; + +MATCHCALLDEF(sWattsonMatchCallHeader, 5, 9, FLAG_ENABLE_WATTSON_MATCH_CALL, 0x43, gWattsonMatchCallDesc, NULL, sWattsonTextScripts); + +static const match_call_text_data_t sFlanneryTextScripts[] = { + { gText_Flannery_Pokenav_2B2B4D, 0xFFFE, 0xFFFF }, + { gText_Flannery_Pokenav_2B2C0E, 0xFFFF, 0xFFFF }, + { gText_Flannery_Pokenav_2B2CF1, 0xFFFF, 0xFFFF }, + { gText_Flannery_Pokenav_2B2D54, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } +}; + +MATCHCALLDEF(sFlanneryMatchCallHeader, 5, 3, FLAG_ENABLE_FLANNERY_MATCH_CALL, 0x44, gFlanneryMatchCallDesc, NULL, sFlanneryTextScripts); + +static const match_call_text_data_t sWinonaTextScripts[] = { + { gText_Winona_Pokenav_2B2DA4, 0xFFFE, 0xFFFF }, + { gText_Winona_Pokenav_2B2E2B, 0xFFFF, 0xFFFF }, + { gText_Winona_Pokenav_2B2EC2, 0xFFFF, 0xFFFF }, + { gText_Winona_Pokenav_2B2F16, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } +}; + +MATCHCALLDEF(sWinonaMatchCallHeader, 5, 11, FLAG_ENABLE_WINONA_MATCH_CALL, 0x46, gWinonaMatchCallDesc, NULL, sWinonaTextScripts); + +static const match_call_text_data_t sTateLizaTextScripts[] = { + { gText_TateLiza_Pokenav_2B2F97, 0xFFFE, 0xFFFF }, + { gText_TateLiza_Pokenav_2B306E, 0xFFFF, 0xFFFF }, + { gText_TateLiza_Pokenav_2B3158, 0xFFFF, 0xFFFF }, + { gText_TateLiza_Pokenav_2B31CD, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } +}; + +MATCHCALLDEF(sTateLizaMatchCallHeader, 5, 13, FLAG_ENABLE_TATE_AND_LIZA_MATCH_CALL, 0x47, gTateLizaMatchCallDesc, NULL, sTateLizaTextScripts); + +static const match_call_text_data_t sJuanTextScripts[] = { + { gText_Juan_Pokenav_2B3249, 0xFFFE, 0xFFFF }, + { gText_Juan_Pokenav_2B32EC, 0xFFFF, 0xFFFF }, + { gText_Juan_Pokenav_2B33AA, 0xFFFF, 0xFFFF }, + { gText_Juan_Pokenav_2B341E, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } +}; + +MATCHCALLDEF(sJuanMatchCallHeader, 5, 14, FLAG_ENABLE_JUAN_MATCH_CALL, 0x48, gJuanMatchCallDesc, NULL, sJuanTextScripts); + +static const match_call_text_data_t sSidneyTextScripts[] = { + { gText_Sidney_Pokenav_2B34CC, 0xFFFF, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } +}; + +MATCHCALLDEF(sSidneyMatchCallHeader, 5, 15, FLAG_REMATCH_JUAN, 0x49, gEliteFourMatchCallDesc, NULL, sSidneyTextScripts); + +static const match_call_text_data_t sPhoebeTextScripts[] = { + { gText_Phoebe_Pokenav_2B3561, 0xFFFF, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } +}; + +MATCHCALLDEF(sPhoebeMatchCallHeader, 5, 15, FLAG_REMATCH_SIDNEY, 0x4A, gEliteFourMatchCallDesc, NULL, sPhoebeTextScripts); + +static const match_call_text_data_t sGlaciaTextScripts[] = { + { gText_Glacia_Pokenav_2B35E4, 0xFFFF, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } +}; + +MATCHCALLDEF(sGlaciaMatchCallHeader, 5, 15, FLAG_REMATCH_PHOEBE, 0x4B, gEliteFourMatchCallDesc, NULL, sGlaciaTextScripts); + +static const match_call_text_data_t sDrakeTextScripts[] = { + { gText_Drake_Pokenav_2B368B, 0xFFFF, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } +}; + +MATCHCALLDEF(sDrakeMatchCallHeader, 5, 15, FLAG_REMATCH_GLACIA, 0x4C, gEliteFourMatchCallDesc, NULL, sDrakeTextScripts); + +static const match_call_text_data_t sWallaceTextScripts[] = { + { gText_Wallace_Pokenav_2B3790, 0xFFFF, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } +}; + +MATCHCALLDEF(sWallaceMatchCallHeader, 5, 15, FLAG_REMATCH_DRAKE, 0x4D, gChampionMatchCallDesc, NULL, sWallaceTextScripts); + +static const match_call_t sMatchCallHeaders[] = { + {.type0 = &sMrStoneMatchCallHeader}, + {.type3 = &sProfBirchMatchCallHeader}, + {.type4 = &sBrendanMatchCallHeader}, + {.type4 = &sMayMatchCallHeader}, + {.type2 = &sWallyMatchCallHeader}, + {.type5 = &sNormanMatchCallHeader}, + {.type0 = &sMomMatchCallHeader}, + {.type0 = &sStevenMatchCallHeader}, + {.type0 = &sScottMatchCallHeader}, + {.type5 = &sRoxanneMatchCallHeader}, + {.type5 = &sBrawlyMatchCallHeader}, + {.type5 = &sWattsonMatchCallHeader}, + {.type5 = &sFlanneryMatchCallHeader}, + {.type5 = &sWinonaMatchCallHeader}, + {.type5 = &sTateLizaMatchCallHeader}, + {.type5 = &sJuanMatchCallHeader}, + {.type5 = &sSidneyMatchCallHeader}, + {.type5 = &sPhoebeMatchCallHeader}, + {.type5 = &sGlaciaMatchCallHeader}, + {.type5 = &sDrakeMatchCallHeader}, + {.type5 = &sWallaceMatchCallHeader} +}; + +static bool32 (*const sMatchCallGetFlagFuncs[])(match_call_t) = { + MatchCallGetFlag_Type0, + MatchCallGetFlag_Type1, + MatchCallGetFlag_Type2, + MatchCallGetFlag_Type3, + MatchCallGetFlag_Type4 +}; + +static u8 (*const gUnknown_08625310[])(match_call_t) = { + sub_81D1714, + sub_81D1718, + sub_81D171C, + sub_81D1750, + sub_81D1754 +}; + +static bool32 (*const sMatchCall_IsRematchableFunctions[])(match_call_t) = { + MatchCall_IsRematchable_Type0, + MatchCall_IsRematchable_Type1, + MatchCall_IsRematchable_Type2, + MatchCall_IsRematchable_Type3, + MatchCall_IsRematchable_Type4 +}; + +static bool32 (*const gUnknown_08625338[])(match_call_t) = { + sub_81D1840, + sub_81D1844, + sub_81D1848, + sub_81D184C, + sub_81D1850 +}; + +static u32 (*const sMatchCall_GetRematchTableIdxFunctions[])(match_call_t) = { + MatchCall_GetRematchTableIdx_Type0, + MatchCall_GetRematchTableIdx_Type1, + MatchCall_GetRematchTableIdx_Type2, + MatchCall_GetRematchTableIdx_Type3, + MatchCall_GetRematchTableIdx_Type4 +}; + +static void (*const sMatchCall_GetMessageFunctions[])(match_call_t, u8 *) = { + MatchCall_GetMessage_Type0, + MatchCall_GetMessage_Type1, + MatchCall_GetMessage_Type2, + MatchCall_GetMessage_Type3, + MatchCall_GetMessage_Type4 +}; + +static void (*const sMatchCall_GetNameAndDescFunctions[])(match_call_t, const u8 **, const u8 **) = { + MatchCall_GetNameAndDesc_Type0, + MatchCall_GetNameAndDesc_Type1, + MatchCall_GetNameAndDesc_Type2, + MatchCall_GetNameAndDesc_Type3, + MatchCall_GetNameAndDesc_Type4 +}; + +static const struct UnkStruct_08625388 sMatchCallCheckPageOverrides[] = { + { 7, 0x4B, 0xffff, { gMatchCallStevenStrategyText, gMatchCall_StevenTrainersPokemonText, gMatchCall_StevenSelfIntroductionText_Line1_BeforeMeteorFallsBattle, gMatchCall_StevenSelfIntroductionText_Line2_BeforeMeteorFallsBattle } }, // STEVEN + { 7, 0x4B, FLAG_DEFEATED_MOSSDEEP_GYM, { gMatchCallStevenStrategyText, gMatchCall_StevenTrainersPokemonText, gMatchCall_StevenSelfIntroductionText_Line1_AfterMeteorFallsBattle, gMatchCall_StevenSelfIntroductionText_Line2_AfterMeteorFallsBattle } }, // STEVEN + { 2, 0x3c, 0xffff, { gMatchCall_BrendanStrategyText, gMatchCall_BrendanTrainersPokemonText, gMatchCall_BrendanSelfIntroductionText_Line1, gMatchCall_BrendanSelfIntroductionText_Line2 } }, // Brendan + { 3, 0x3f, 0xffff, { gMatchCall_MayStrategyText, gMatchCall_MayTrainersPokemonText, gMatchCall_MaySelfIntroductionText_Line1, gMatchCall_MaySelfIntroductionText_Line2 } } // May +}; + +// .text + +static u32 MatchCallGetFunctionIndex(match_call_t matchCall) +{ + switch (matchCall.common->type) + { + case 0: + default: + return 0; + case 1: + case 5: + return 1; + case 2: + return 2; + case 4: + return 3; + case 3: + return 4; + } +} + +u32 GetTrainerIdxByRematchIdx(u32 rematchIdx) +{ + return gRematchTable[rematchIdx].trainerIds[0]; +} + +s32 GetRematchIdxByTrainerIdx(s32 trainerIdx) +{ + s32 rematchIdx; + + for (rematchIdx = 0; rematchIdx < REMATCH_TABLE_ENTRIES; rematchIdx++) + { + if (gRematchTable[rematchIdx].trainerIds[0] == trainerIdx) + return rematchIdx; + } + return -1; +} + +bool32 MatchCallFlagGetByIndex(u32 idx) +{ + match_call_t matchCall; + u32 i; + + if (idx > 20) + return FALSE; + matchCall = sMatchCallHeaders[idx]; + i = MatchCallGetFunctionIndex(matchCall); + return sMatchCallGetFlagFuncs[i](matchCall); +} + +static bool32 MatchCallGetFlag_Type0(match_call_t matchCall) +{ + if (matchCall.type0->flag == 0xffff) + return TRUE; + return FlagGet(matchCall.type0->flag); +} + +static bool32 MatchCallGetFlag_Type1(match_call_t matchCall) +{ + if (matchCall.type1->flag == 0xffff) + return TRUE; + return FlagGet(matchCall.type1->flag); +} + +static bool32 MatchCallGetFlag_Type2(match_call_t matchCall) +{ + if (matchCall.type2->flag == 0xffff) + return TRUE; + return FlagGet(matchCall.type2->flag); +} + +static bool32 MatchCallGetFlag_Type3(match_call_t matchCall) +{ + if (matchCall.type4->gender != gSaveBlock2Ptr->playerGender) + return FALSE; + if (matchCall.type4->flag == 0xffff) + return TRUE; + return FlagGet(matchCall.type4->flag); +} + +static bool32 MatchCallGetFlag_Type4(match_call_t matchCall) +{ + return FlagGet(matchCall.type3->flag); +} + +u8 sub_81D16DC(u32 idx) +{ + match_call_t matchCall; + u32 i; + + if (idx > 20) + return 0; + matchCall = sMatchCallHeaders[idx]; + i = MatchCallGetFunctionIndex(matchCall); + return gUnknown_08625310[i](matchCall); +} + +static u8 sub_81D1714(match_call_t matchCall) +{ + return matchCall.type0->v1; +} + +static u8 sub_81D1718(match_call_t matchCall) +{ + return matchCall.type1->v1; +} + +static u8 sub_81D171C(match_call_t matchCall) +{ + s32 i; + + for (i = 0; matchCall.type2->v10[i].flag != 0xffff; i++) + { + if (!FlagGet(matchCall.type2->v10[i].flag)) + break; + } + return matchCall.type2->v10[i].v2; +} + +static u8 sub_81D1750(match_call_t matchCall) +{ + return 0xd5; +} + +static u8 sub_81D1754(match_call_t matchCall) +{ + return 0xd5; +} + +bool32 MatchCall_IsRematchable(u32 idx) +{ + match_call_t matchCall; + u32 i; + + if (idx > 20) + return 0; + matchCall = sMatchCallHeaders[idx]; + i = MatchCallGetFunctionIndex(matchCall); + return sMatchCall_IsRematchableFunctions[i](matchCall); +} + +static bool32 MatchCall_IsRematchable_Type0(match_call_t matchCall) +{ + return FALSE; +} + +static bool32 MatchCall_IsRematchable_Type1(match_call_t matchCall) +{ + if (matchCall.type1->rematchTableIdx >= REMATCH_ELITE_FOUR_ENTRIES) + return FALSE; + return gSaveBlock1Ptr->trainerRematches[matchCall.type1->rematchTableIdx] ? TRUE : FALSE; +} + +static bool32 MatchCall_IsRematchable_Type2(match_call_t matchCall) +{ + return gSaveBlock1Ptr->trainerRematches[matchCall.type2->rematchTableIdx] ? TRUE : FALSE; +} + +static bool32 MatchCall_IsRematchable_Type3(match_call_t matchCall) +{ + return FALSE; +} + +static bool32 MatchCall_IsRematchable_Type4(match_call_t matchCall) +{ + return FALSE; +} + +bool32 sub_81D17E8(u32 idx) +{ + match_call_t matchCall; + u32 i; + + if (idx > 20) + return FALSE; + matchCall = sMatchCallHeaders[idx]; + i = MatchCallGetFunctionIndex(matchCall); + if (gUnknown_08625338[i](matchCall)) + return TRUE; + for (i = 0; i < 4; i++) + { + if (sMatchCallCheckPageOverrides[i].idx == idx) + return TRUE; + } + return FALSE; +} + +static bool32 sub_81D1840(match_call_t matchCall) +{ + return FALSE; +} + +static bool32 sub_81D1844(match_call_t matchCall) +{ + return TRUE; +} + +static bool32 sub_81D1848(match_call_t matchCall) +{ + return TRUE; +} + +static bool32 sub_81D184C(match_call_t matchCall) +{ + return FALSE; +} + +static bool32 sub_81D1850(match_call_t matchCall) +{ + return FALSE; +} + +u32 MatchCall_GetRematchTableIdx(u32 idx) +{ + match_call_t matchCall; + u32 i; + + if (idx > 20) + return REMATCH_TABLE_ENTRIES; + matchCall = sMatchCallHeaders[idx]; + i = MatchCallGetFunctionIndex(matchCall); + return sMatchCall_GetRematchTableIdxFunctions[i](matchCall); +} + +static u32 MatchCall_GetRematchTableIdx_Type0(match_call_t matchCall) +{ + return REMATCH_TABLE_ENTRIES; +} + +static u32 MatchCall_GetRematchTableIdx_Type1(match_call_t matchCall) +{ + return matchCall.type1->rematchTableIdx; +} + +static u32 MatchCall_GetRematchTableIdx_Type2(match_call_t matchCall) +{ + return matchCall.type2->rematchTableIdx; +} + +static u32 MatchCall_GetRematchTableIdx_Type3(match_call_t matchCall) +{ + return REMATCH_TABLE_ENTRIES; +} + +static u32 MatchCall_GetRematchTableIdx_Type4(match_call_t matchCall) +{ + return REMATCH_TABLE_ENTRIES; +} + +void MatchCall_GetMessage(u32 idx, u8 *dest) +{ + match_call_t matchCall; + u32 i; + + if (idx > 20) + return; + matchCall = sMatchCallHeaders[idx]; + i = MatchCallGetFunctionIndex(matchCall); + sMatchCall_GetMessageFunctions[i](matchCall, dest); +} + +static void MatchCall_GetMessage_Type0(match_call_t matchCall, u8 *dest) +{ + sub_81D1920(matchCall.type0->textData, dest); +} + +static void MatchCall_GetMessage_Type1(match_call_t matchCall, u8 *dest) +{ + if (matchCall.common->type != 5) + sub_81D1920(matchCall.type5->textData, dest); + else + sub_81D199C(matchCall.type1->textData, matchCall.type1->rematchTableIdx, dest); +} + +static void MatchCall_GetMessage_Type2(match_call_t matchCall, u8 *dest) +{ + sub_81D1920(matchCall.type2->textData, dest); +} + +static void MatchCall_GetMessage_Type3(match_call_t matchCall, u8 *dest) +{ + sub_81D1920(matchCall.type4->textData, dest); +} + +static void MatchCall_GetMessage_Type4(match_call_t matchCall, u8 *dest) +{ + sub_8197080(dest); +} + +void sub_81D1920(const match_call_text_data_t *sub0, u8 *dest) +{ + u32 i; + for (i = 0; sub0[i].text != NULL; i++) + ; + if (i) + i--; + while (i) + { + if (sub0[i].flag != 0xffff && FlagGet(sub0[i].flag) == TRUE) + break; + i--; + } + if (sub0[i].flag2 != 0xffff) + FlagSet(sub0[i].flag2); + StringExpandPlaceholders(dest, sub0[i].text); +} + +#ifdef NONMATCHING +// There's some weird upmerge going on that I cannot replicate at this time. +static void sub_81D199C(const match_call_text_data_t *sub0, u16 idx, u8 *dest) +{ + u32 i; + for (i = 0; sub0[i].text != NULL; i++) + { + if (sub0[i].flag == 0xfffe) + break; + if (sub0[i].flag == 0xffff && !FlagGet(sub0[i].flag)) + break; + } + if (sub0[i].flag != 0xfffe) + { + if (i) + i--; + if (sub0[i].flag2 != 0xffff) + FlagSet(sub0[i].flag2); + StringExpandPlaceholders(dest, sub0[i].text); + } + else + { + if (!FlagGet(FLAG_SYS_GAME_CLEAR)) + ; + else if (gSaveBlock1Ptr->trainerRematches[idx]) + i += 2; + else if (CountBattledRematchTeams(idx) >= 2) + i += 3; + else + i++; + StringExpandPlaceholders(dest, sub0[i].text); + } +} +#else +static NAKED void sub_81D199C(const match_call_text_data_t *sub0, u16 idx, u8 *dest) +{ + asm_unified("\tpush {r4-r7,lr}\n" + "\tmov r7, r10\n" + "\tmov r6, r9\n" + "\tmov r5, r8\n" + "\tpush {r5-r7}\n" + "\tadds r6, r0, 0\n" + "\tmov r10, r2\n" + "\tlsls r1, 16\n" + "\tlsrs r7, r1, 16\n" + "\tmovs r5, 0\n" + "\tldr r0, [r6]\n" + "\tcmp r0, 0\n" + "\tbeq _081D19E6\n" + "\tldrh r0, [r6, 0x4]\n" + "\tldr r1, =0x0000fffe\n" + "\tcmp r0, r1\n" + "\tbeq _081D1A24\n" + "\tldr r0, =0x0000ffff\n" + "\tmov r9, r0\n" + "\tmov r8, r1\n" + "\tadds r4, r6, 0\n" + "_081D19C6:\n" + "\tldrh r0, [r4, 0x4]\n" + "\tcmp r0, r9\n" + "\tbeq _081D19D6\n" + "\tbl FlagGet\n" + "\tlsls r0, 24\n" + "\tcmp r0, 0\n" + "\tbeq _081D19E6\n" + "_081D19D6:\n" + "\tadds r4, 0x8\n" + "\tadds r5, 0x1\n" + "\tldr r0, [r4]\n" + "\tcmp r0, 0\n" + "\tbeq _081D19E6\n" + "\tldrh r0, [r4, 0x4]\n" + "\tcmp r0, r8\n" + "\tbne _081D19C6\n" + "_081D19E6:\n" + "\tlsls r0, r5, 3\n" + "\tadds r0, r6\n" + "\tldrh r1, [r0, 0x4]\n" + "\tldr r0, =0x0000fffe\n" + "\tcmp r1, r0\n" + "\tbeq _081D1A24\n" + "\tcmp r5, 0\n" + "\tbeq _081D19F8\n" + "\tsubs r5, 0x1\n" + "_081D19F8:\n" + "\tlsls r0, r5, 3\n" + "\tadds r4, r0, r6\n" + "\tldrh r1, [r4, 0x6]\n" + "\tldr r0, =0x0000ffff\n" + "\tcmp r1, r0\n" + "\tbeq _081D1A0A\n" + "\tadds r0, r1, 0\n" + "\tbl FlagSet\n" + "_081D1A0A:\n" + "\tldr r1, [r4]\n" + "\tmov r0, r10\n" + "\tbl StringExpandPlaceholders\n" + "\tb _081D1A5C\n" + "\t.pool\n" + "_081D1A1C:\n" + "\tadds r5, 0x2\n" + "\tb _081D1A50\n" + "_081D1A20:\n" + "\tadds r5, 0x3\n" + "\tb _081D1A50\n" + "_081D1A24:\n" + "\tldr r0, =0x00000864\n" + "\tbl FlagGet\n" + "\tlsls r0, 24\n" + "\tcmp r0, 0\n" + "\tbeq _081D1A50\n" + "\tldr r0, =gSaveBlock1Ptr\n" + "\tldr r0, [r0]\n" + "\tldr r1, =0x000009ca\n" + "\tadds r0, r1\n" + "\tadds r0, r7\n" + "\tldrb r0, [r0]\n" + "\tcmp r0, 0\n" + "\tbne _081D1A1C\n" + "\tadds r0, r7, 0\n" + "\tbl CountBattledRematchTeams\n" + "\tlsls r0, 16\n" + "\tlsrs r0, 16\n" + "\tcmp r0, 0x1\n" + "\tbhi _081D1A20\n" + "\tadds r5, 0x1\n" + "_081D1A50:\n" + "\tlsls r0, r5, 3\n" + "\tadds r0, r6\n" + "\tldr r1, [r0]\n" + "\tmov r0, r10\n" + "\tbl StringExpandPlaceholders\n" + "_081D1A5C:\n" + "\tpop {r3-r5}\n" + "\tmov r8, r3\n" + "\tmov r9, r4\n" + "\tmov r10, r5\n" + "\tpop {r4-r7}\n" + "\tpop {r0}\n" + "\tbx r0\n" + "\t.pool"); +} +#endif + +void sub_81D1A78(u32 idx, const u8 **desc, const u8 **name) +{ + match_call_t matchCall; + u32 i; + + if (idx > 20) + return; + matchCall = sMatchCallHeaders[idx]; + i = MatchCallGetFunctionIndex(matchCall); + sMatchCall_GetNameAndDescFunctions[i](matchCall, desc, name); +} + +static void MatchCall_GetNameAndDesc_Type0(match_call_t matchCall, const u8 **desc, const u8 **name) +{ + *desc = matchCall.type0->desc; + *name = matchCall.type0->name; +} + +static void MatchCall_GetNameAndDesc_Type1(match_call_t matchCall, const u8 **desc, const u8 **name) +{ + match_call_t _matchCall = matchCall; + if (_matchCall.type1->name == NULL) + MatchCall_GetNameAndDescByRematchIdx(_matchCall.type1->rematchTableIdx, desc, name); + else + *name = _matchCall.type1->name; + *desc = _matchCall.type1->desc; +} + +static void MatchCall_GetNameAndDesc_Type2(match_call_t matchCall, const u8 **desc, const u8 **name) +{ + MatchCall_GetNameAndDescByRematchIdx(matchCall.type2->rematchTableIdx, desc, name); + *desc = matchCall.type2->desc; +} + +static void MatchCall_GetNameAndDesc_Type3(match_call_t matchCall, const u8 **desc, const u8 **name) +{ + *desc = matchCall.type4->desc; + *name = matchCall.type4->name; +} + +static void MatchCall_GetNameAndDesc_Type4(match_call_t matchCall, const u8 **desc, const u8 **name) +{ + *desc = matchCall.type3->desc; + *name = matchCall.type3->name; +} + +static void MatchCall_GetNameAndDescByRematchIdx(u32 idx, const u8 **desc, const u8 **name) +{ + const struct Trainer *trainer = gTrainers + GetTrainerIdxByRematchIdx(idx); + *desc = gTrainerClassNames[trainer->trainerClass]; + *name = trainer->trainerName; +} + +#ifdef NONMATCHING +const u8 *sub_81D1B40(u32 idx, u32 offset) +{ + u32 i; + + for (i = 0; i < 4; i++) + { + if (sMatchCallCheckPageOverrides[i].idx == idx) + { + for (; i + 1 < 4 && sMatchCallCheckPageOverrides[i + 1].idx == idx; i++) + { + if (!FlagGet(sMatchCallCheckPageOverrides[i + 1].v4)) + break; + } + return sMatchCallCheckPageOverrides[i].v8[offset]; + } + } + return NULL; +} +#else +NAKED const u8 *sub_81D1B40(u32 idx, u32 offset) +{ + asm_unified("\tpush {r4-r7,lr}\n" + "\tmov r7, r9\n" + "\tmov r6, r8\n" + "\tpush {r6,r7}\n" + "\tadds r6, r0, 0\n" + "\tmovs r5, 0\n" + "\tldr r2, =sMatchCallCheckPageOverrides\n" + "\tmovs r0, 0x8\n" + "\tadds r0, r2\n" + "\tmov r9, r0\n" + "_081D1B54:\n" + "\tlsls r0, r5, 1\n" + "\tadds r0, r5\n" + "\tlsls r0, 3\n" + "\tadds r0, r2\n" + "\tldrh r0, [r0]\n" + "\tcmp r0, r6\n" + "\tbne _081D1BBC\n" + "\tadds r4, r5, 0x1\n" + "\tlsls r1, 2\n" + "\tmov r8, r1\n" + "\tcmp r4, 0x3\n" + "\tbhi _081D1BA8\n" + "\tlsls r0, r4, 1\n" + "\tadds r0, r4\n" + "\tlsls r0, 3\n" + "\tadds r0, r2\n" + "\tldrh r0, [r0]\n" + "\tcmp r0, r6\n" + "\tbne _081D1BA8\n" + "\tldr r7, =sMatchCallCheckPageOverrides\n" + "_081D1B7C:\n" + "\tlsls r0, r4, 1\n" + "\tadds r0, r4\n" + "\tlsls r0, 3\n" + "\tadds r1, r7, 0x4\n" + "\tadds r0, r1\n" + "\tldrh r0, [r0]\n" + "\tbl FlagGet\n" + "\tlsls r0, 24\n" + "\tcmp r0, 0\n" + "\tbeq _081D1BA8\n" + "\tadds r5, r4, 0\n" + "\tadds r4, r5, 0x1\n" + "\tcmp r4, 0x3\n" + "\tbhi _081D1BA8\n" + "\tlsls r0, r4, 1\n" + "\tadds r0, r4\n" + "\tlsls r0, 3\n" + "\tadds r0, r7\n" + "\tldrh r0, [r0]\n" + "\tcmp r0, r6\n" + "\tbeq _081D1B7C\n" + "_081D1BA8:\n" + "\tlsls r0, r5, 1\n" + "\tadds r0, r5\n" + "\tlsls r0, 3\n" + "\tadd r0, r8\n" + "\tadd r0, r9\n" + "\tldr r0, [r0]\n" + "\tb _081D1BC4\n" + "\t.pool\n" + "_081D1BBC:\n" + "\tadds r5, 0x1\n" + "\tcmp r5, 0x3\n" + "\tbls _081D1B54\n" + "\tmovs r0, 0\n" + "_081D1BC4:\n" + "\tpop {r3,r4}\n" + "\tmov r8, r3\n" + "\tmov r9, r4\n" + "\tpop {r4-r7}\n" + "\tpop {r1}\n" + "\tbx r1"); +} +#endif + +s32 sub_81D1BD0(u32 idx) +{ + u32 i; + + for (i = 0; i < 4; i++) + { + if (sMatchCallCheckPageOverrides[i].idx == idx) + return sMatchCallCheckPageOverrides[i].v2; + } + return -1; +} + +bool32 sub_81D1BF8(u32 idx) +{ + s32 i; + + for (i = 0; i < 21; i++) + { + u32 r0 = MatchCall_GetRematchTableIdx(i); + if (r0 != REMATCH_TABLE_ENTRIES && r0 == idx) + return TRUE; + } + return FALSE; +} + +void SetMatchCallRegisteredFlag(void) +{ + s32 r0 = GetRematchIdxByTrainerIdx(gSpecialVar_0x8004); + if (r0 >= 0) + FlagSet(FLAG_MATCH_CALL_REGISTERED + r0); +} diff --git a/src/psychic.c b/src/psychic.c index 371c24ce89..5756fe97f9 100644 --- a/src/psychic.c +++ b/src/psychic.c @@ -641,8 +641,8 @@ void sub_810F634(struct Sprite *sprite) void sub_810F6B0(struct Sprite *sprite) { - s16 x = sub_80A861C(gBattleAnimAttacker, 1) / 2; - s16 y = sub_80A861C(gBattleAnimAttacker, 0) / -2; + s16 x = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_WIDTH) / 2; + s16 y = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_HEIGHT) / -2; if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) x = -x; @@ -753,8 +753,8 @@ void sub_810F940(u8 taskId) task->data[13] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); task->data[14] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); - var0 = sub_80A861C(gBattleAnimAttacker, 1) / 3; - var1 = sub_80A861C(gBattleAnimAttacker, 0) / 3; + var0 = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_WIDTH) / 3; + var1 = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_HEIGHT) / 3; task->data[12] = var0 > var1 ? var0 : var1; SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND); @@ -865,18 +865,18 @@ void sub_810FBF0(u8 taskId) if (gBattleAnimArgs[0] == 1) { task->data[10] = -10; - task->data[11] = sub_80A861C(gBattleAnimTarget, 5) - 8; - task->data[12] = sub_80A861C(gBattleAnimTarget, 2) + 8; - task->data[13] = sub_80A861C(gBattleAnimAttacker, 5) - 8; - task->data[14] = sub_80A861C(gBattleAnimAttacker, 2) + 8; + task->data[11] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_RIGHT) - 8; + task->data[12] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_TOP) + 8; + task->data[13] = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_RIGHT) - 8; + task->data[14] = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_TOP) + 8; } else { task->data[10] = 10; - task->data[11] = sub_80A861C(gBattleAnimAttacker, 4) + 8; - task->data[12] = sub_80A861C(gBattleAnimAttacker, 3) - 8; - task->data[13] = sub_80A861C(gBattleAnimTarget, 4) + 8; - task->data[14] = sub_80A861C(gBattleAnimTarget, 3) - 8; + task->data[11] = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_LEFT) + 8; + task->data[12] = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_BOTTOM) - 8; + task->data[13] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_LEFT) + 8; + task->data[14] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_BOTTOM) - 8; } } else @@ -884,18 +884,18 @@ void sub_810FBF0(u8 taskId) if (gBattleAnimArgs[0] == 1) { task->data[10] = -10; - task->data[11] = sub_80A861C(gBattleAnimTarget, 4) + 8; - task->data[12] = sub_80A861C(gBattleAnimTarget, 2) + 8; - task->data[13] = sub_80A861C(gBattleAnimAttacker, 4) + 8; - task->data[14] = sub_80A861C(gBattleAnimAttacker, 2) + 8; + task->data[11] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_LEFT) + 8; + task->data[12] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_TOP) + 8; + task->data[13] = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_LEFT) + 8; + task->data[14] = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_TOP) + 8; } else { task->data[10] = 10; - task->data[11] = sub_80A861C(gBattleAnimAttacker, 5) - 8; - task->data[12] = sub_80A861C(gBattleAnimAttacker, 3) - 8; - task->data[13] = sub_80A861C(gBattleAnimTarget, 5) - 8; - task->data[14] = sub_80A861C(gBattleAnimTarget, 3) - 8; + task->data[11] = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_RIGHT) - 8; + task->data[12] = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_BOTTOM) - 8; + task->data[13] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_RIGHT) - 8; + task->data[14] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_BOTTOM) - 8; } } diff --git a/src/record_mixing.c b/src/record_mixing.c index e3764c4906..1890336858 100644 --- a/src/record_mixing.c +++ b/src/record_mixing.c @@ -741,711 +741,184 @@ static u8 sub_80E7B54(void) return gUnknown_03001160; } -#ifdef NONMATCHING static void ReceiveDaycareMailData(struct RecordMixingDayCareMail *src, size_t recordSize, u8 which, TVShow *shows) { - // r9 = which - u16 i; - u16 j; + u16 i, j; u8 linkPlayerCount; - u16 language; - u16 otNameLanguage; - u16 nicknameLanguage; - u32 version; - u8 dcMail1; - u8 dcMail2; - u8 r1_80e7b54; - struct DayCareMail *recordMixingMail; + u8 tableId; struct RecordMixingDayCareMail *_src; + u8 which0, which1; + void *ptr; u8 sp04[4]; u8 sp08[4]; - struct RecordMixingDayCareMail *sp0c[4]; // -> sp+48 - u8 sp1c[4][2]; // [][0] -> sp+4c, [][1] -> sp+50 + struct RecordMixingDayCareMail *sp0c[4]; + u8 sp1c[4][2]; u8 sp24[4][2]; - // sp+2c = src - // sp+30 = recordSize u8 sp34; u16 oldSeed; - bool32 anyRS; // sp+3c + bool32 anyRS; oldSeed = Random2(); SeedRng2(gLinkPlayers[0].trainerId); linkPlayerCount = GetLinkPlayerCount(); - for (i = 0; i < 4; i ++) + for (i = 0; i < 4; i++) { sp04[i] = 0xFF; sp08[i] = 0; sp1c[i][0] = 0; sp1c[i][1] = 0; } + anyRS = Link_AnyPartnersPlayingRubyOrSapphire(); - for (i = 0; i < GetLinkPlayerCount(); i ++) // r8 = i + for (i = 0; i < GetLinkPlayerCount(); i++) { - // sp+54 = linkPlayerCount << 16 - // sp+44 = which * recordSize - _src = (void *)src + i * recordSize; // r7 - language = gLinkPlayers[i].language; // r9 - version = (u8)gLinkPlayers[i].version; // sp+40 - for (j = 0; j < _src->unk_70; j ++) + u32 language, version; + + _src = (void *)src + i * recordSize; + language = gLinkPlayers[i].language; + version = gLinkPlayers[i].version & 0xFF; + for (j = 0; j < _src->numDaycareMons; j ++) { - // r10 = ~0x10 - recordMixingMail = &_src->unk_00[j]; - if (recordMixingMail->mail.itemId != ITEM_NONE) + u16 otNameLanguage, nicknameLanguage; + struct DayCareMail *recordMixingMail = &_src->mail[j]; + + if (!recordMixingMail->message.itemId) + continue; + + if (anyRS) { - if (anyRS) + if (StringLength(recordMixingMail->OT_name) <= 5) { - if (StringLength(recordMixingMail->OT_name) <= 5) - { - otNameLanguage = LANGUAGE_JAPANESE; - } - else - { - StripExtCtrlCodes(recordMixingMail->OT_name); - otNameLanguage = language; - } - if (recordMixingMail->monName[0] == EXT_CTRL_CODE_BEGIN && recordMixingMail->monName[1] == EXT_CTRL_CODE_JPN) - { - StripExtCtrlCodes(recordMixingMail->monName); - nicknameLanguage = LANGUAGE_JAPANESE; - } - else - { - nicknameLanguage = language; - } - if (version == VERSION_RUBY || version == VERSION_SAPPHIRE) - { - recordMixingMail->language_maybe = otNameLanguage; - recordMixingMail->unknown = nicknameLanguage; - } + otNameLanguage = LANGUAGE_JAPANESE; } - else if (language == LANGUAGE_JAPANESE) + else { - if (IsStringJapanese(recordMixingMail->OT_name)) - { - recordMixingMail->language_maybe = LANGUAGE_JAPANESE; - } - else - { - recordMixingMail->language_maybe = GAME_LANGUAGE; - } - if (IsStringJapanese(recordMixingMail->monName)) - { - recordMixingMail->unknown = LANGUAGE_JAPANESE; - } - else - { - recordMixingMail->unknown = GAME_LANGUAGE; - } + StripExtCtrlCodes(recordMixingMail->OT_name); + otNameLanguage = language; } + + if (recordMixingMail->monName[0] == EXT_CTRL_CODE_BEGIN && recordMixingMail->monName[1] == EXT_CTRL_CODE_JPN) + { + StripExtCtrlCodes(recordMixingMail->monName); + nicknameLanguage = LANGUAGE_JAPANESE; + } + else + { + nicknameLanguage = language; + } + + if (version == VERSION_RUBY || version == VERSION_SAPPHIRE) + { + recordMixingMail->gameLanguage = otNameLanguage; + recordMixingMail->monLanguage = nicknameLanguage; + } + } + else if (language == LANGUAGE_JAPANESE) + { + if (IsStringJapanese(recordMixingMail->OT_name)) + recordMixingMail->gameLanguage = LANGUAGE_JAPANESE; + else + recordMixingMail->gameLanguage = GAME_LANGUAGE; + + if (IsStringJapanese(recordMixingMail->monName)) + recordMixingMail->monLanguage = LANGUAGE_JAPANESE; + else + recordMixingMail->monLanguage = GAME_LANGUAGE; } } } + sp34 = 0; - for (i = 0; i < linkPlayerCount; i ++) + for (i = 0; i < linkPlayerCount; i++) { - _src = (void *)src + i * recordSize; // r7 - if (_src->unk_70 != 0) + _src = (void *)src + i * recordSize; + if (_src->numDaycareMons == 0) + continue; + + for (j = 0; j < _src->numDaycareMons; j ++) { - for (j = 0; j < _src->unk_70; j ++) - { - if (_src->unk_74[j] == 0) - { - sp1c[i][j] = 1; - } - } + if (!_src->holdsItem[j]) + sp1c[i][j] = 1; } } - i = 0; - for (j = 0; j < linkPlayerCount; j ++) + + j = 0; + for (i = 0; i < linkPlayerCount; i++) { - _src = (void *)src + j * recordSize; - if (sp1c[j][0] == TRUE || sp1c[j][1] == TRUE) + _src = (void *)src + i * recordSize; + if (sp1c[i][0] == TRUE || sp1c[i][1] == TRUE) + sp34++; + + if (sp1c[i][0] == TRUE && sp1c[i][1] == FALSE) { - sp34 ++; + sp24[j][0] = i; + sp24[j][1] = 0; + j++; } - if (sp1c[j][0] == TRUE && sp1c[j][1] == FALSE) + else if (sp1c[i][0] == FALSE && sp1c[i][1] == TRUE) { - sp24[i][0] = j; - sp24[i][1] = 0; - i ++; + sp24[j][0] = i; + sp24[j][1] = 1; + j++; } - else if (sp1c[j][0] == FALSE && sp1c[j][1] == TRUE) + else if (sp1c[i][0] == TRUE && sp1c[i][1] == TRUE) { - sp24[i][0] = j; - sp24[i][1] = 0; - i ++; - } - else if (sp1c[j][0] == TRUE && sp1c[j][1] == TRUE) - { - sp24[i][0] = j; - dcMail1 = sub_80E7A9C(&_src->unk_00[0]); - dcMail2 = sub_80E7A9C(&_src->unk_00[1]); - if (!dcMail1 && dcMail2) + u32 var1, var2; + + sp24[j][0] = i; + var1 = sub_80E7A9C(&_src->mail[0]); + var2 = sub_80E7A9C(&_src->mail[1]); + if (!var1 && var2) { - sp24[i][1] = 1; + register u8 one asm("r0") = 1; // boo, a fakematch + sp24[j][1] = one; } - else if ((dcMail1 && dcMail2) || (!dcMail1 && !dcMail2)) + else if ((var1 && var2) || (!var1 && !var2)) { - sp24[i][1] = Random2() % 2; + sp24[j][1] = Random2() % 2; } - else + else if (var1 && !var2) { - sp24[i][1] = 0; + sp24[j][1] = 0; } - i ++; + j++; } } - for (i = 0; i < 4; i ++) + + for (i = 0; i < 4; i++) { _src = &src[which * recordSize]; sp0c[i] = _src; } - r1_80e7b54 = sub_80E7B54() % 3; + + tableId = sub_80E7B54() % 3; switch (sp34) { - case 2: - sub_80E7AA4(src, recordSize, sp24, 0, 1); - break; - case 3: - sub_80E7AA4(src, recordSize, sp24, gUnknown_0858CFB8[r1_80e7b54][0], gUnknown_0858CFB8[r1_80e7b54][1]); - break; - case 4: - sub_80E7AA4(src, recordSize, sp24, gUnknown_0858CFBE[r1_80e7b54][0], gUnknown_0858CFBE[r1_80e7b54][1]); - sub_80E7AA4(src, recordSize, sp24, gUnknown_0858CFBE[r1_80e7b54][2], gUnknown_0858CFBE[r1_80e7b54][3]); - break; + case 2: + sub_80E7AA4(src, recordSize, sp24, 0, 1); + break; + case 3: + which0 = gUnknown_0858CFB8[tableId][0]; + which1 = gUnknown_0858CFB8[tableId][1]; + sub_80E7AA4(src, recordSize, sp24, which0, which1); + break; + case 4: + ptr = sp24; + which0 = gUnknown_0858CFBE[tableId][0]; + which1 = gUnknown_0858CFBE[tableId][1]; + sub_80E7AA4(src, recordSize, ptr, which0, which1); + which0 = gUnknown_0858CFBE[tableId][2]; + which1 = gUnknown_0858CFBE[tableId][3]; + sub_80E7AA4(src, recordSize, ptr, which0, which1); + break; } + _src = (void *)src + which * recordSize; - memcpy(&gSaveBlock1Ptr->daycare.mons[0].misc.mail, &_src->unk_00[0], sizeof(struct DayCareMail)); - memcpy(&gSaveBlock1Ptr->daycare.mons[1].misc.mail, &_src->unk_00[1], sizeof(struct DayCareMail)); + memcpy(&gSaveBlock1Ptr->daycare.mons[0].mail, &_src->mail[0], sizeof(struct DayCareMail)); + memcpy(&gSaveBlock1Ptr->daycare.mons[1].mail, &_src->mail[1], sizeof(struct DayCareMail)); SeedRng(oldSeed); } -#else -NAKED -static void ReceiveDaycareMailData(struct RecordMixingDayCareMail *src, size_t recordSize, u8 which, TVShow *shows) -{ - asm_unified("\tpush {r4-r7,lr}\n" - "\tmov r7, r10\n" - "\tmov r6, r9\n" - "\tmov r5, r8\n" - "\tpush {r5-r7}\n" - "\tsub sp, 0x58\n" - "\tstr r0, [sp, 0x2C]\n" - "\tstr r1, [sp, 0x30]\n" - "\tlsls r2, 24\n" - "\tlsrs r2, 24\n" - "\tmov r9, r2\n" - "\tbl Random2\n" - "\tlsls r0, 16\n" - "\tlsrs r0, 16\n" - "\tstr r0, [sp, 0x38]\n" - "\tldr r0, =gLinkPlayers\n" - "\tldrh r0, [r0, 0x4]\n" - "\tbl SeedRng2\n" - "\tbl GetLinkPlayerCount\n" - "\tlsls r0, 24\n" - "\tlsrs r4, r0, 24\n" - "\tmovs r0, 0\n" - "\tmov r8, r0\n" - "\tmov r1, sp\n" - "\tadds r1, 0x1C\n" - "\tstr r1, [sp, 0x4C]\n" - "\tmov r2, sp\n" - "\tadds r2, 0x1D\n" - "\tstr r2, [sp, 0x50]\n" - "\tmov r3, sp\n" - "\tadds r3, 0xC\n" - "\tstr r3, [sp, 0x48]\n" - "\tmovs r7, 0xFF\n" - "\tadd r3, sp, 0x8\n" - "\tmovs r2, 0\n" - "\tadds r6, r1, 0\n" - "\tldr r5, [sp, 0x50]\n" - "_080E7BB0:\n" - "\tmov r1, sp\n" - "\tadd r1, r8\n" - "\tadds r1, 0x4\n" - "\tldrb r0, [r1]\n" - "\torrs r0, r7\n" - "\tstrb r0, [r1]\n" - "\tmov r1, r8\n" - "\tadds r0, r3, r1\n" - "\tstrb r2, [r0]\n" - "\tlsls r1, 1\n" - "\tadds r0, r6, r1\n" - "\tstrb r2, [r0]\n" - "\tadds r1, r5, r1\n" - "\tstrb r2, [r1]\n" - "\tmov r0, r8\n" - "\tadds r0, 0x1\n" - "\tlsls r0, 16\n" - "\tlsrs r0, 16\n" - "\tmov r8, r0\n" - "\tcmp r0, 0x3\n" - "\tbls _080E7BB0\n" - "\tbl Link_AnyPartnersPlayingRubyOrSapphire\n" - "\tstr r0, [sp, 0x3C]\n" - "\tmovs r2, 0\n" - "\tmov r8, r2\n" - "\tlsls r4, 16\n" - "\tstr r4, [sp, 0x54]\n" - "\tldr r0, [sp, 0x30]\n" - "\tmov r3, r9\n" - "\tmuls r3, r0\n" - "\tstr r3, [sp, 0x44]\n" - "\tb _080E7D04\n" - "\t.pool\n" - "_080E7BF8:\n" - "\tldr r1, [sp, 0x30]\n" - "\tmov r0, r8\n" - "\tmuls r0, r1\n" - "\tldr r2, [sp, 0x2C]\n" - "\tadds r7, r2, r0\n" - "\tldr r1, =gLinkPlayers\n" - "\tmov r3, r8\n" - "\tlsls r0, r3, 3\n" - "\tsubs r0, r3\n" - "\tlsls r0, 2\n" - "\tadds r0, r1\n" - "\tldrh r1, [r0, 0x1A]\n" - "\tmov r9, r1\n" - "\tldrb r0, [r0]\n" - "\tstr r0, [sp, 0x40]\n" - "\tmovs r6, 0\n" - "\tldr r0, [r7, 0x70]\n" - "\tcmp r6, r0\n" - "\tbcs _080E7CFA\n" - "\tmovs r2, 0x10\n" - "\tnegs r2, r2\n" - "\tmov r10, r2\n" - "_080E7C24:\n" - "\tlsls r0, r6, 3\n" - "\tsubs r0, r6\n" - "\tlsls r0, 3\n" - "\tadds r5, r7, r0\n" - "\tldrh r0, [r5, 0x20]\n" - "\tcmp r0, 0\n" - "\tbeq _080E7CEE\n" - "\tldr r3, [sp, 0x3C]\n" - "\tcmp r3, 0\n" - "\tbeq _080E7C9A\n" - "\tadds r4, r5, 0\n" - "\tadds r4, 0x24\n" - "\tadds r0, r4, 0\n" - "\tbl StringLength\n" - "\tlsls r0, 16\n" - "\tlsrs r0, 16\n" - "\tcmp r0, 0x5\n" - "\tbhi _080E7C54\n" - "\tmovs r4, 0x1\n" - "\tb _080E7C5C\n" - "\t.pool\n" - "_080E7C54:\n" - "\tadds r0, r4, 0\n" - "\tbl StripExtCtrlCodes\n" - "\tmov r4, r9\n" - "_080E7C5C:\n" - "\tldrh r1, [r5, 0x2C]\n" - "\tldr r0, =0x000015fc\n" - "\tcmp r1, r0\n" - "\tbne _080E7C74\n" - "\tadds r0, r5, 0\n" - "\tadds r0, 0x2C\n" - "\tbl StripExtCtrlCodes\n" - "\tmovs r1, 0x1\n" - "\tb _080E7C76\n" - "\t.pool\n" - "_080E7C74:\n" - "\tmov r1, r9\n" - "_080E7C76:\n" - "\tldr r0, [sp, 0x40]\n" - "\tsubs r0, 0x1\n" - "\tcmp r0, 0x1\n" - "\tbhi _080E7CEE\n" - "\tadds r2, r5, 0\n" - "\tadds r2, 0x37\n" - "\tmovs r0, 0xF\n" - "\tands r4, r0\n" - "\tldrb r0, [r2]\n" - "\tmov r3, r10\n" - "\tands r0, r3\n" - "\torrs r0, r4\n" - "\tlsls r1, 4\n" - "\tmovs r3, 0xF\n" - "\tands r0, r3\n" - "\torrs r0, r1\n" - "\tstrb r0, [r2]\n" - "\tb _080E7CEE\n" - "_080E7C9A:\n" - "\tmov r0, r9\n" - "\tcmp r0, 0x1\n" - "\tbne _080E7CEE\n" - "\tadds r0, r5, 0\n" - "\tadds r0, 0x24\n" - "\tbl IsStringJapanese\n" - "\tcmp r0, 0\n" - "\tbeq _080E7CBA\n" - "\tadds r0, r5, 0\n" - "\tadds r0, 0x37\n" - "\tldrb r1, [r0]\n" - "\tmov r2, r10\n" - "\tands r1, r2\n" - "\tmovs r2, 0x1\n" - "\tb _080E7CC6\n" - "_080E7CBA:\n" - "\tadds r0, r5, 0\n" - "\tadds r0, 0x37\n" - "\tldrb r1, [r0]\n" - "\tmov r3, r10\n" - "\tands r1, r3\n" - "\tmovs r2, 0x2\n" - "_080E7CC6:\n" - "\torrs r1, r2\n" - "\tstrb r1, [r0]\n" - "\tadds r4, r0, 0\n" - "\tadds r0, r5, 0\n" - "\tadds r0, 0x2C\n" - "\tbl IsStringJapanese\n" - "\tcmp r0, 0\n" - "\tbeq _080E7CE2\n" - "\tldrb r0, [r4]\n" - "\tmovs r1, 0xF\n" - "\tands r1, r0\n" - "\tmovs r0, 0x10\n" - "\tb _080E7CEA\n" - "_080E7CE2:\n" - "\tldrb r0, [r4]\n" - "\tmovs r1, 0xF\n" - "\tands r1, r0\n" - "\tmovs r0, 0x20\n" - "_080E7CEA:\n" - "\torrs r1, r0\n" - "\tstrb r1, [r4]\n" - "_080E7CEE:\n" - "\tadds r0, r6, 0x1\n" - "\tlsls r0, 16\n" - "\tlsrs r6, r0, 16\n" - "\tldr r0, [r7, 0x70]\n" - "\tcmp r6, r0\n" - "\tbcc _080E7C24\n" - "_080E7CFA:\n" - "\tmov r0, r8\n" - "\tadds r0, 0x1\n" - "\tlsls r0, 16\n" - "\tlsrs r0, 16\n" - "\tmov r8, r0\n" - "_080E7D04:\n" - "\tbl GetLinkPlayerCount\n" - "\tlsls r0, 24\n" - "\tlsrs r0, 24\n" - "\tcmp r8, r0\n" - "\tbcs _080E7D12\n" - "\tb _080E7BF8\n" - "_080E7D12:\n" - "\tmovs r0, 0\n" - "\tstr r0, [sp, 0x34]\n" - "\tmov r8, r0\n" - "\tldr r1, [sp, 0x54]\n" - "\tlsrs r0, r1, 16\n" - "\tldr r2, [sp, 0x34]\n" - "\tcmp r2, r0\n" - "\tbcs _080E7D70\n" - "\tadds r5, r0, 0\n" - "_080E7D24:\n" - "\tldr r3, [sp, 0x30]\n" - "\tmov r0, r8\n" - "\tmuls r0, r3\n" - "\tldr r1, [sp, 0x2C]\n" - "\tadds r7, r1, r0\n" - "\tldr r0, [r7, 0x70]\n" - "\tcmp r0, 0\n" - "\tbeq _080E7D62\n" - "\tmovs r6, 0\n" - "\tcmp r6, r0\n" - "\tbcs _080E7D62\n" - "\tadds r3, r7, 0\n" - "\tadds r3, 0x74\n" - "\tldr r2, [sp, 0x4C]\n" - "\tmov r0, r8\n" - "\tlsls r1, r0, 1\n" - "\tmovs r4, 0x1\n" - "_080E7D46:\n" - "\tlsls r0, r6, 1\n" - "\tadds r0, r3, r0\n" - "\tldrh r0, [r0]\n" - "\tcmp r0, 0\n" - "\tbne _080E7D56\n" - "\tadds r0, r6, r1\n" - "\tadds r0, r2, r0\n" - "\tstrb r4, [r0]\n" - "_080E7D56:\n" - "\tadds r0, r6, 0x1\n" - "\tlsls r0, 16\n" - "\tlsrs r6, r0, 16\n" - "\tldr r0, [r7, 0x70]\n" - "\tcmp r6, r0\n" - "\tbcc _080E7D46\n" - "_080E7D62:\n" - "\tmov r0, r8\n" - "\tadds r0, 0x1\n" - "\tlsls r0, 16\n" - "\tlsrs r0, 16\n" - "\tmov r8, r0\n" - "\tcmp r8, r5\n" - "\tbcc _080E7D24\n" - "_080E7D70:\n" - "\tmovs r6, 0\n" - "\tmov r8, r6\n" - "\tldr r1, [sp, 0x54]\n" - "\tcmp r1, 0\n" - "\tbeq _080E7E64\n" - "\tadd r2, sp, 0x24\n" - "\tmov r10, r2\n" - "\tmovs r3, 0x25\n" - "\tadd r3, sp\n" - "\tmov r9, r3\n" - "_080E7D84:\n" - "\tldr r1, [sp, 0x30]\n" - "\tmov r0, r8\n" - "\tmuls r0, r1\n" - "\tldr r2, [sp, 0x2C]\n" - "\tadds r7, r2, r0\n" - "\tmov r3, r8\n" - "\tlsls r1, r3, 1\n" - "\tldr r2, [sp, 0x4C]\n" - "\tadds r0, r2, r1\n" - "\tldrb r0, [r0]\n" - "\tcmp r0, 0x1\n" - "\tbeq _080E7DA6\n" - "\tldr r3, [sp, 0x50]\n" - "\tadds r0, r3, r1\n" - "\tldrb r0, [r0]\n" - "\tcmp r0, 0x1\n" - "\tbne _080E7DB0\n" - "_080E7DA6:\n" - "\tldr r0, [sp, 0x34]\n" - "\tadds r0, 0x1\n" - "\tlsls r0, 24\n" - "\tlsrs r0, 24\n" - "\tstr r0, [sp, 0x34]\n" - "_080E7DB0:\n" - "\tldr r2, [sp, 0x4C]\n" - "\tadds r0, r2, r1\n" - "\tldrb r0, [r0]\n" - "\tcmp r0, 0x1\n" - "\tbne _080E7DD4\n" - "\tldr r3, [sp, 0x50]\n" - "\tadds r0, r3, r1\n" - "\tldrb r2, [r0]\n" - "\tcmp r2, 0\n" - "\tbne _080E7DD4\n" - "_080E7DC4:\n" - "\tlsls r1, r6, 1\n" - "\tmov r3, r10\n" - "\tadds r0, r3, r1\n" - "\tmov r3, r8\n" - "\tstrb r3, [r0]\n" - "\tadd r1, r9\n" - "\tstrb r2, [r1]\n" - "\tb _080E7E4E\n" - "_080E7DD4:\n" - "\tldr r2, [sp, 0x4C]\n" - "\tadds r0, r2, r1\n" - "\tldrb r0, [r0]\n" - "\tcmp r0, 0\n" - "\tbne _080E7DE8\n" - "\tldr r3, [sp, 0x50]\n" - "\tadds r0, r3, r1\n" - "\tldrb r2, [r0]\n" - "\tcmp r2, 0x1\n" - "\tbeq _080E7DC4\n" - "_080E7DE8:\n" - "\tldr r2, [sp, 0x4C]\n" - "\tadds r0, r2, r1\n" - "\tldrb r0, [r0]\n" - "\tcmp r0, 0x1\n" - "\tbne _080E7E54\n" - "\tldr r3, [sp, 0x50]\n" - "\tadds r0, r3, r1\n" - "\tldrb r0, [r0]\n" - "\tcmp r0, 0x1\n" - "\tbne _080E7E54\n" - "\tlsls r5, r6, 1\n" - "\tmov r1, r10\n" - "\tadds r0, r1, r5\n" - "\tmov r2, r8\n" - "\tstrb r2, [r0]\n" - "\tadds r0, r7, 0\n" - "\tbl sub_80E7A9C\n" - "\tadds r4, r0, 0\n" - "\tlsls r4, 24\n" - "\tlsrs r4, 24\n" - "\tadds r0, r7, 0\n" - "\tadds r0, 0x38\n" - "\tbl sub_80E7A9C\n" - "\tlsls r0, 24\n" - "\tlsrs r1, r0, 24\n" - "\tcmp r4, 0\n" - "\tbne _080E7E30\n" - "\tcmp r1, 0\n" - "\tbeq _080E7E34\n" - "\tmov r3, r9\n" - "\tadds r1, r3, r5\n" - "\tmovs r0, 0x1\n" - "\tstrb r0, [r1]\n" - "\tb _080E7E4E\n" - "_080E7E30:\n" - "\tcmp r1, 0\n" - "\tbeq _080E7E48\n" - "_080E7E34:\n" - "\tbl Random2\n" - "\tmov r1, r9\n" - "\tadds r2, r1, r5\n" - "\tlsls r0, 16\n" - "\tlsrs r0, 16\n" - "\tmovs r1, 0x1\n" - "\tands r0, r1\n" - "\tstrb r0, [r2]\n" - "\tb _080E7E4E\n" - "_080E7E48:\n" - "\tmov r2, r9\n" - "\tadds r0, r2, r5\n" - "\tstrb r1, [r0]\n" - "_080E7E4E:\n" - "\tadds r0, r6, 0x1\n" - "\tlsls r0, 16\n" - "\tlsrs r6, r0, 16\n" - "_080E7E54:\n" - "\tmov r0, r8\n" - "\tadds r0, 0x1\n" - "\tlsls r0, 16\n" - "\tlsrs r3, r0, 16\n" - "\tmov r8, r3\n" - "\tldr r1, [sp, 0x54]\n" - "\tcmp r0, r1\n" - "\tbcc _080E7D84\n" - "_080E7E64:\n" - "\tmovs r2, 0\n" - "\tmov r8, r2\n" - "\tldr r3, [sp, 0x44]\n" - "\tlsls r0, r3, 4\n" - "\tsubs r0, r3\n" - "\tlsls r0, 3\n" - "\tldr r1, [sp, 0x2C]\n" - "\tadds r7, r1, r0\n" - "\tldr r1, [sp, 0x48]\n" - "_080E7E76:\n" - "\tmov r2, r8\n" - "\tlsls r0, r2, 2\n" - "\tadds r0, r1, r0\n" - "\tstr r7, [r0]\n" - "\tmov r0, r8\n" - "\tadds r0, 0x1\n" - "\tlsls r0, 16\n" - "\tlsrs r0, 16\n" - "\tmov r8, r0\n" - "\tcmp r0, 0x3\n" - "\tbls _080E7E76\n" - "\tbl sub_80E7B54\n" - "\tlsls r0, 24\n" - "\tlsrs r0, 24\n" - "\tmovs r1, 0x3\n" - "\tbl __umodsi3\n" - "\tlsls r0, 24\n" - "\tlsrs r1, r0, 24\n" - "\tldr r3, [sp, 0x34]\n" - "\tcmp r3, 0x3\n" - "\tbeq _080E7EC8\n" - "\tcmp r3, 0x3\n" - "\tbgt _080E7EAE\n" - "\tcmp r3, 0x2\n" - "\tbeq _080E7EB6\n" - "\tb _080E7F1C\n" - "_080E7EAE:\n" - "\tldr r0, [sp, 0x34]\n" - "\tcmp r0, 0x4\n" - "\tbeq _080E7EE8\n" - "\tb _080E7F1C\n" - "_080E7EB6:\n" - "\tadd r2, sp, 0x24\n" - "\tmovs r0, 0x1\n" - "\tstr r0, [sp]\n" - "\tldr r0, [sp, 0x2C]\n" - "\tldr r1, [sp, 0x30]\n" - "\tmovs r3, 0\n" - "\tbl sub_80E7AA4\n" - "\tb _080E7F1C\n" - "_080E7EC8:\n" - "\tldr r0, =gUnknown_0858CFB8\n" - "\tlsls r1, 1\n" - "\tadds r2, r1, r0\n" - "\tldrb r3, [r2]\n" - "\tadds r0, 0x1\n" - "\tadds r1, r0\n" - "\tldrb r0, [r1]\n" - "\tadd r2, sp, 0x24\n" - "\tstr r0, [sp]\n" - "\tldr r0, [sp, 0x2C]\n" - "\tldr r1, [sp, 0x30]\n" - "\tbl sub_80E7AA4\n" - "\tb _080E7F1C\n" - "\t.pool\n" - "_080E7EE8:\n" - "\tadd r6, sp, 0x24\n" - "\tldr r4, =gUnknown_0858CFBE\n" - "\tlsls r5, r1, 2\n" - "\tadds r0, r5, r4\n" - "\tldrb r3, [r0]\n" - "\tadds r0, r4, 0x1\n" - "\tadds r0, r5, r0\n" - "\tldrb r0, [r0]\n" - "\tstr r0, [sp]\n" - "\tldr r0, [sp, 0x2C]\n" - "\tldr r1, [sp, 0x30]\n" - "\tadds r2, r6, 0\n" - "\tbl sub_80E7AA4\n" - "\tadds r0, r4, 0x2\n" - "\tadds r0, r5, r0\n" - "\tldrb r3, [r0]\n" - "\tadds r4, 0x3\n" - "\tadds r5, r4\n" - "\tldrb r0, [r5]\n" - "\tstr r0, [sp]\n" - "\tldr r0, [sp, 0x2C]\n" - "\tldr r1, [sp, 0x30]\n" - "\tadds r2, r6, 0\n" - "\tbl sub_80E7AA4\n" - "_080E7F1C:\n" - "\tldr r1, [sp, 0x2C]\n" - "\tldr r2, [sp, 0x44]\n" - "\tadds r7, r1, r2\n" - "\tldr r4, =gSaveBlock1Ptr\n" - "\tldr r0, [r4]\n" - "\tmovs r3, 0xC2\n" - "\tlsls r3, 6\n" - "\tadds r0, r3\n" - "\tadds r1, r7, 0\n" - "\tmovs r2, 0x38\n" - "\tbl memcpy\n" - "\tldr r0, [r4]\n" - "\tldr r1, =0x0000310c\n" - "\tadds r0, r1\n" - "\tadds r1, r7, 0\n" - "\tadds r1, 0x38\n" - "\tmovs r2, 0x38\n" - "\tbl memcpy\n" - "\tldr r0, [sp, 0x38]\n" - "\tbl SeedRng\n" - "\tadd sp, 0x58\n" - "\tpop {r3-r5}\n" - "\tmov r8, r3\n" - "\tmov r9, r4\n" - "\tmov r10, r5\n" - "\tpop {r4-r7}\n" - "\tpop {r0}\n" - "\tbx r0\n" - "\t.pool"); -} -#endif // NONMATCHING + static void ReceiveGiftItem(u16 *item, u8 which) { @@ -1530,7 +1003,7 @@ static void sub_80E7FF8(u8 taskId) task->data[0] ++; break; case 9: - if (sub_800A520()) + if (IsLinkTaskFinished()) DestroyTask(taskId); break; } diff --git a/src/reshow_battle_screen.c b/src/reshow_battle_screen.c index fdf90ab38c..af068bdca4 100644 --- a/src/reshow_battle_screen.c +++ b/src/reshow_battle_screen.c @@ -242,7 +242,7 @@ static void CreateBattlerSprite(u8 battler) { SetMultiuseSpriteTemplateToTrainerBack(gSaveBlock2Ptr->playerGender, GetBattlerPosition(B_POSITION_PLAYER_LEFT)); gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, 0x50, - (8 - gTrainerBackPicCoords[gSaveBlock2Ptr->playerGender].coords) * 4 + 80, + (8 - gTrainerBackPicCoords[gSaveBlock2Ptr->playerGender].size) * 4 + 80, GetBattlerSpriteSubpriority(0)); gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler; gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy; @@ -252,7 +252,7 @@ static void CreateBattlerSprite(u8 battler) { SetMultiuseSpriteTemplateToTrainerBack(TRAINER_BACK_PIC_WALLY, GetBattlerPosition(0)); gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, 0x50, - (8 - gTrainerBackPicCoords[TRAINER_BACK_PIC_WALLY].coords) * 4 + 80, + (8 - gTrainerBackPicCoords[TRAINER_BACK_PIC_WALLY].size) * 4 + 80, GetBattlerSpriteSubpriority(0)); gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler; gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy; diff --git a/src/rock.c b/src/rock.c index ff3840fb35..ebf477ec11 100644 --- a/src/rock.c +++ b/src/rock.c @@ -421,7 +421,7 @@ void AnimTask_LoadSandstormBackground(u8 taskId) sub_80A6B30(&unknownStruct); sub_80A6CC0(unknownStruct.bgId, gUnknown_08D8D58C, unknownStruct.tilesOffset); sub_80A6D60(&unknownStruct, gUnknown_08D8D410, 0); - LoadCompressedPalette(&gBattleAnimSpritePalette_261, unknownStruct.unk8 * 16, 32); + LoadCompressedPalette(gBattleAnimSpritePalette_261, unknownStruct.unk8 * 16, 32); if (gBattleAnimArgs[0] && GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) var0 = 1; diff --git a/src/rom_8011DC0.c b/src/rom_8011DC0.c index d3c6ec6d1d..813d143d28 100644 --- a/src/rom_8011DC0.c +++ b/src/rom_8011DC0.c @@ -1838,7 +1838,7 @@ void sub_8014790(u8 taskId) } break; case 3: - if (sub_800A520()) + if (IsLinkTaskFinished()) { DestroyTask(taskId); sub_80149D8(); @@ -2095,7 +2095,7 @@ void sub_8014A40(u8 taskId) data->state++; break; case 17: - if (sub_800A520()) + if (IsLinkTaskFinished()) DestroyTask(taskId); break; } @@ -2264,7 +2264,7 @@ void sub_8014F48(u8 taskId) sub_800ADF8(); break; case 12: - if (sub_800A520()) + if (IsLinkTaskFinished()) DestroyTask(taskId); break; } @@ -2443,7 +2443,7 @@ void sub_80152F4(u8 taskId) sub_800ADF8(); break; case 14: - if (sub_800A520()) + if (IsLinkTaskFinished()) DestroyTask(taskId); break; } @@ -2836,7 +2836,7 @@ void sub_80156E0(u8 taskId) } break; case 41: - if (sub_800A520()) + if (IsLinkTaskFinished()) { if (GetMultiplayerId() == 0) { @@ -3033,7 +3033,7 @@ void sub_80156E0(u8 taskId) data->state = 15; break; case 15: - if (sub_800A520()) + if (IsLinkTaskFinished()) data->state = 16; break; case 16: diff --git a/src/roulette.c b/src/roulette.c new file mode 100644 index 0000000000..a6a020f396 --- /dev/null +++ b/src/roulette.c @@ -0,0 +1,4929 @@ +#include "global.h" +#include "alloc.h" +#include "bg.h" +#include "coins.h" +#include "decompress.h" +#include "event_data.h" +#include "field_screen_effect.h" +#include "gpu_regs.h" +#include "graphics.h" +#include "m4a.h" +#include "main.h" +#include "menu.h" +#include "menu_helpers.h" +#include "overworld.h" +#include "palette.h" +#include "random.h" +#include "roulette.h" +#include "roulette_util.h" +#include "rtc.h" +#include "scanline_effect.h" +#include "script.h" +#include "sound.h" +#include "sprite.h" +#include "string_util.h" +#include "task.h" +#include "trig.h" +#include "tv.h" +#include "window.h" +#include "constants/rgb.h" +#include "constants/species.h" +#include "constants/songs.h" + +struct StructgUnknown_083F8DF4 +{ + u8 var00; + u8 var01; + u8 var02; + u8 var03; + u8 var04; + u8 filler_05[3]; + u16 var08; + u16 var0A; + u16 var0C; + u8 filler_0E[2]; + u16 var10; + u16 var12; + u16 var14; + u8 filler_16[2]; + u16 var18; + u16 var1A; + float var1C; +}; + +struct StructgUnknown_085B6154 +{ + u8 var00; + u8 var01_0:4; + u8 var01_4:4; + u8 var02; + u8 var03; + u8 var04; + u8 var05; + u8 var06; + u32 var08; + u32 var0C; + u16 var10; +}; + +struct StructgUnknown_083F8D90 +{ + u8 var00; + u8 var01; + u8 var02; + u32 var04; +}; + +EWRAM_DATA struct Roulette +{ + u8 var00; + u8 var01; + u8 var02; + u8 var03_0:5; + u8 var03_5:1; + u8 var03_6:1; + u8 var03_7:1; + u8 var04_0:2; + u8 var04_2:5; + u8 var04_7:1; + u32 var08; + u8 var0C[6]; + u8 var12[4]; + u8 var16[3]; + u8 var19; + u8 var1A_0:4; + u8 var1A_4:4; + u8 var1B[6]; + u8 var21; + u8 var22; + u8 var23; + s16 var24; + s16 var26; + s16 var28; + s16 var2A; + struct OamMatrix var2C; + u16 var34; + struct Sprite *var38; + u8 var3C[MAX_SPRITES]; // Sprite IDs + u8 var7C; + u8 var7D; + u8 var7E; + u8 var7F; + s16 var80; + s16 var82; + u16 var84; + u16 var86; + float var88; + float var8C; + float var90; + float var94; + float var98; + float var9C; + float varA0; + u8 varA4; + u8 varA5; + u8 v51[2]; + u16 varA8; + u16 varAA; + TaskFunc varAC; + u8 v46[4]; + TaskFunc varB4; + struct UnkStruct0 varB8; + u16 tilemapBuffers[7][0x400]; + u16 *unk_397C; +} *gUnknown_0203AB88 = NULL; +EWRAM_DATA u8 gUnknown_0203AB8C = 0; + +static void sub_8140814(u8); +static void sub_81408A8(u8); +static void sub_8140968(u8); +static void sub_8140994(u8); +static void sub_8140BD0(u8); +static void sub_8141040(u8); +static void sub_81410FC(u8); +static void sub_8141344(u8); +static void sub_814155C(u8); +static void sub_81415D4(u8); +static void sub_81416D4(u8); +static void sub_8141778(u8); +static void sub_814189C(u8); +static void sub_8141A18(u8); +static void sub_8141AC0(u8); +static void sub_8141B58(u8); +static void dp01t_12_3_battle_menu(u8); +static void sub_8141DE4(u8); +static void sub_8141E7C(u8); +static void sub_8141F7C(u8 taskId, TaskFunc r1, u16 r2, u16 r3); +static void sub_8141FF4(u8); +static void sub_8142070(void); +static void sub_8142918(u8); +static void sub_814297C(u8); +static u8 sub_81420D0(u8, u8); +static bool8 sub_81421E8(u8, u8); +static void sub_8142284(u8); +static void sub_81424FC(u8); +static u8 sub_8142758(u8); +static void sub_8142814(void); +static void sub_8142C0C(u8); +static void sub_8142CD0(void); +static void sub_8142E70(u8, u8); +static void sub_8142F7C(void); +static void sub_8143038(u8, u8); +static void sub_8143150(u8); +static void sub_81431E4(void); +static void sub_8143280(struct Sprite *); +static void sub_8143314(void); +static void sub_8143514(u16); +static void sub_81436D0(u8); +static void sub_814372C(u8); +static void sub_814390C(struct Sprite *); +static void sub_814391C(void); +static void sub_814399C(struct Sprite *); +static void sub_81439C8(void); +static void sub_8143A40(void); +static void sub_81446AC(struct Sprite *); +static void sub_81446DC(struct Sprite *); +static void sub_81448B8(struct Sprite *); +static void sub_8144A24(struct Sprite *); +static void sub_8144E60(struct Sprite *); +static void sub_8145294(struct Sprite *); + +extern const u8 gUnknown_082A5B89[]; +extern const u8 gUnknown_082A5C13[]; +extern const u8 gUnknown_082A5BD7[]; +extern const u8 gUnknown_082A5BCB[]; +extern const u8 gUnknown_082A5BE0[]; +extern const u8 gUnknown_082A5BEF[]; +extern const u8 gUnknown_082A5C21[]; +extern const u8 gUnknown_082A5C61[]; +extern const u8 gUnknown_082A5C04[]; +extern const u8 gUnknown_082A5B12[]; +extern const u8 gUnknown_082A5B6B[]; +extern const u8 gUnknown_082A5B4E[]; + +static const u16 gUnknown_085B5BFC[] = INCBIN_U16("graphics/roulette/85B5BFC.gbapal"); +static const u32 gUnknown_085B5DFC[] = INCBIN_U32("graphics/roulette/85B5DFC.bin.lz"); +static const u32 gUnknown_085B5FA0[] = INCBIN_U32("graphics/roulette/wheel_map.bin.lz"); +static const struct BgTemplate gUnknown_085B6140[] = +{ + { + .bg = 0, + .charBaseIndex = 2, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 0, + .mapBaseIndex = 4, + .screenSize = 1, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + }, + { + .bg = 2, + .charBaseIndex = 1, + .mapBaseIndex = 6, + .screenSize = 1, + .paletteMode = 1, + .priority = 2, + .baseTile = 0 + } +}; +static const struct WindowTemplate gUnknown_085B614C[] = +{ + { + .bg = 0, + .tilemapLeft = 3, + .tilemapTop = 15, + .width = 24, + .height = 4, + .paletteNum = 15, + .baseBlock = 0xC5 + }, + // BUG: Array not terminated properly + //DUMMY_WIN_TEMPLATE +}; +static const struct StructgUnknown_085B6154 gUnknown_085B6154[] = +{ + { + .var00 = 0xFF, + .var01_0 = 0, + .var01_4 = 0, + .var02 = 0, + .var03 = 7, + .var04 = 7, + .var05 = 0, + .var06 = 0, + .var08 = 0x0, + .var0C = 0x0, + .var10 = 0x0, + }, + { + .var00 = 12, + .var01_0 = 4, + .var01_4 = 1, + .var02 = 0, + .var03 = 17, + .var04 = 7, + .var05 = 0, + .var06 = 0, + .var08 = 0x2, + .var0C = 0x10842, + .var10 = 0xE000, + }, + { + .var00 = 13, + .var01_0 = 4, + .var01_4 = 2, + .var02 = 0, + .var03 = 20, + .var04 = 7, + .var05 = 0, + .var06 = 0, + .var08 = 0x4, + .var0C = 0x21084, + .var10 = 0xE000, + }, + { + .var00 = 14, + .var01_0 = 4, + .var01_4 = 3, + .var02 = 0, + .var03 = 23, + .var04 = 7, + .var05 = 0, + .var06 = 0, + .var08 = 0x8, + .var0C = 0x42108, + .var10 = 0xE000, + }, + { + .var00 = 15, + .var01_0 = 4, + .var01_4 = 4, + .var02 = 0, + .var03 = 26, + .var04 = 7, + .var05 = 0, + .var06 = 0, + .var08 = 0x10, + .var0C = 0x84210, + .var10 = 0xE000, + }, + { + .var00 = 16, + .var01_0 = 3, + .var01_4 = 0, + .var02 = 1, + .var03 = 14, + .var04 = 10, + .var05 = 0, + .var06 = 12, + .var08 = 0x20, + .var0C = 0x3E0, + .var10 = 0x249, + }, + { + .var00 = 0, + .var01_0 = 12, + .var01_4 = 1, + .var02 = 1, + .var03 = 17, + .var04 = 10, + .var05 = 3, + .var06 = 3, + .var08 = 0x40, + .var0C = 0x40, + .var10 = 0x2001, + }, + { + .var00 = 9, + .var01_0 = 12, + .var01_4 = 2, + .var02 = 1, + .var03 = 20, + .var04 = 10, + .var05 = 3, + .var06 = 3, + .var08 = 0x80, + .var0C = 0x80, + .var10 = 0x2200, + }, + { + .var00 = 6, + .var01_0 = 12, + .var01_4 = 3, + .var02 = 1, + .var03 = 23, + .var04 = 10, + .var05 = 3, + .var06 = 3, + .var08 = 0x100, + .var0C = 0x100, + .var10 = 0x2040, + }, + { + .var00 = 3, + .var01_0 = 12, + .var01_4 = 4, + .var02 = 1, + .var03 = 26, + .var04 = 10, + .var05 = 3, + .var06 = 3, + .var08 = 0x200, + .var0C = 0x200, + .var10 = 0x2008, + }, + { + .var00 = 17, + .var01_0 = 3, + .var01_4 = 0, + .var02 = 2, + .var03 = 14, + .var04 = 13, + .var05 = 3, + .var06 = 15, + .var08 = 0x400, + .var0C = 0x7C00, + .var10 = 0x492, + }, + { + .var00 = 4, + .var01_0 = 12, + .var01_4 = 1, + .var02 = 2, + .var03 = 17, + .var04 = 13, + .var05 = 6, + .var06 = 6, + .var08 = 0x800, + .var0C = 0x800, + .var10 = 0x2010, + }, + { + .var00 = 1, + .var01_0 = 12, + .var01_4 = 2, + .var02 = 2, + .var03 = 20, + .var04 = 13, + .var05 = 6, + .var06 = 6, + .var08 = 0x1000, + .var0C = 0x1000, + .var10 = 0x2002, + }, + { + .var00 = 10, + .var01_0 = 12, + .var01_4 = 3, + .var02 = 2, + .var03 = 23, + .var04 = 13, + .var05 = 6, + .var06 = 6, + .var08 = 0x2000, + .var0C = 0x2000, + .var10 = 0x2400, + }, + { + .var00 = 7, + .var01_0 = 12, + .var01_4 = 4, + .var02 = 2, + .var03 = 26, + .var04 = 13, + .var05 = 6, + .var06 = 6, + .var08 = 0x4000, + .var0C = 0x4000, + .var10 = 0x2080, + }, + { + .var00 = 18, + .var01_0 = 3, + .var01_4 = 0, + .var02 = 3, + .var03 = 14, + .var04 = 16, + .var05 = 6, + .var06 = 18, + .var08 = 0x8000, + .var0C = 0xF8000, + .var10 = 0x924, + }, + { + .var00 = 8, + .var01_0 = 12, + .var01_4 = 1, + .var02 = 3, + .var03 = 17, + .var04 = 16, + .var05 = 9, + .var06 = 9, + .var08 = 0x10000, + .var0C = 0x10000, + .var10 = 0x2100, + }, + { + .var00 = 5, + .var01_0 = 12, + .var01_4 = 2, + .var02 = 3, + .var03 = 20, + .var04 = 16, + .var05 = 9, + .var06 = 9, + .var08 = 0x20000, + .var0C = 0x20000, + .var10 = 0x2020, + }, + { + .var00 = 2, + .var01_0 = 12, + .var01_4 = 3, + .var02 = 3, + .var03 = 23, + .var04 = 16, + .var05 = 9, + .var06 = 9, + .var08 = 0x40000, + .var0C = 0x40000, + .var10 = 0x2004, + }, + { + .var00 = 11, + .var01_0 = 12, + .var01_4 = 4, + .var02 = 3, + .var03 = 26, + .var04 = 16, + .var05 = 9, + .var06 = 9, + .var08 = 0x80000, + .var0C = 0x80000, + .var10 = 0x2800, + }, +}; + +static const struct StructgUnknown_083F8D90 gUnknown_085B62E4[] = +{ + { + .var00 = 0, + .var01 = 1, + .var02 = 6, + .var04 = 0x40, + }, + { + .var00 = 1, + .var01 = 3, + .var02 = 12, + .var04 = 0x1000, + }, + { + .var00 = 2, + .var01 = 5, + .var02 = 18, + .var04 = 0x40000, + }, + { + .var00 = 3, + .var01 = 7, + .var02 = 9, + .var04 = 0x200, + }, + { + .var00 = 4, + .var01 = 9, + .var02 = 11, + .var04 = 0x800, + }, + { + .var00 = 5, + .var01 = 11, + .var02 = 17, + .var04 = 0x20000, + }, + { + .var00 = 6, + .var01 = 13, + .var02 = 8, + .var04 = 0x100, + }, + { + .var00 = 7, + .var01 = 15, + .var02 = 14, + .var04 = 0x4000, + }, + { + .var00 = 8, + .var01 = 17, + .var02 = 16, + .var04 = 0x10000, + }, + { + .var00 = 9, + .var01 = 19, + .var02 = 7, + .var04 = 0x80, + }, + { + .var00 = 10, + .var01 = 21, + .var02 = 13, + .var04 = 0x2000, + }, + { + .var00 = 11, + .var01 = 23, + .var02 = 19, + .var04 = 0x80000, + }, +}; +static const u8 gUnknown_085B6344[] = {1, 3, 1, 6}; +static const struct StructgUnknown_083F8DF4 gUnknown_085B6348[] = +{ + { + .var00 = 1, + .var01 = 60, + .var02 = 30, + .var03 = 1, + .var04 = 1, + .var08 = 45, + .var0A = 30, + .var0C = 1, + .var10 = 75, + .var12 = 27, + .var14 = 24, + .var18 = 10, + .var1A = 360, + .var1C = -0.5f + }, + { + .var00 = 3, + .var01 = 30, + .var02 = 15, + .var03 = 1, + .var04 = 0, + .var08 = 75, + .var0A = 60, + .var0C = 2, + .var10 = 0, + .var12 = 54, + .var14 = 48, + .var18 = 10, + .var1A = 270, + .var1C = -1.0f + } +}; + +static const struct UnkStruct1 gUnknown_085B6388[] = +{ + { + .var00 = 0x8000, + .var02 = 0x0005, + .var04 = 1, + .var05 = 1, + .var06 = 0xFF, + .var07_0 = 8, + .var07_5 = 2, + .var07_7 = 0 + }, + { + .var00 = 0x8000, + .var02 = 0x000A, + .var04 = 1, + .var05 = 1, + .var06 = 0xFF, + .var07_0 = 8, + .var07_5 = 2, + .var07_7 = 0 + }, + { + .var00 = 0x8000, + .var02 = 0x0015, + .var04 = 1, + .var05 = 1, + .var06 = 0xFF, + .var07_0 = 8, + .var07_5 = 2, + .var07_7 = 0 + }, + { + .var00 = 0x8000, + .var02 = 0x0055, + .var04 = 1, + .var05 = 1, + .var06 = 0xFF, + .var07_0 = 8, + .var07_5 = 2, + .var07_7 = 0 + }, + { + .var00 = 0x8000, + .var02 = 0x005A, + .var04 = 1, + .var05 = 1, + .var06 = 0xFF, + .var07_0 = 8, + .var07_5 = 2, + .var07_7 = 0 + }, + { + .var00 = 0x8000, + .var02 = 0x0065, + .var04 = 1, + .var05 = 1, + .var06 = 0xFF, + .var07_0 = 8, + .var07_5 = 2, + .var07_7 = 0 + }, + { + .var00 = 0x8000, + .var02 = 0x0075, + .var04 = 1, + .var05 = 1, + .var06 = 0xFF, + .var07_0 = 8, + .var07_5 = 2, + .var07_7 = 0 + }, + { + .var00 = 0x8000, + .var02 = 0x007A, + .var04 = 1, + .var05 = 1, + .var06 = 0xFF, + .var07_0 = 8, + .var07_5 = 2, + .var07_7 = 0 + }, + { + .var00 = 0x8000, + .var02 = 0x0085, + .var04 = 1, + .var05 = 1, + .var06 = 0xFF, + .var07_0 = 8, + .var07_5 = 2, + .var07_7 = 0 + }, + { + .var00 = 0x8000, + .var02 = 0x0095, + .var04 = 1, + .var05 = 1, + .var06 = 0xFF, + .var07_0 = 8, + .var07_5 = 2, + .var07_7 = 0 + }, + { + .var00 = 0x8000, + .var02 = 0x009A, + .var04 = 1, + .var05 = 1, + .var06 = 0xFF, + .var07_0 = 8, + .var07_5 = 2, + .var07_7 = 0 + }, + { + .var00 = 0x8000, + .var02 = 0x00A5, + .var04 = 1, + .var05 = 1, + .var06 = 0xFF, + .var07_0 = 8, + .var07_5 = 2, + .var07_7 = 0 + }, + { + .var00 = 0x77D6, + .var02 = 0x0028, + .var04 = 2, + .var05 = 10, + .var06 = 0xFF, + .var07_0 = 14, + .var07_5 = 2, + .var07_7 = 0 + }, +}; + +static const struct UnkStruct1 gUnknown_085B63F0[] = +{ + { + .var00 = 0x53FF, + .var02 = 0x0101, + .var04 = 5, + .var05 = 30, + .var06 = 0xFF, + .var07_0 = 14, + .var07_5 = 2, + .var07_7 = 0 + }, + { + .var00 = 0x7FFB, + .var02 = 0x0106, + .var04 = 5, + .var05 = 30, + .var06 = 0xFF, + .var07_0 = 14, + .var07_5 = 2, + .var07_7 = 0 + }, + { + .var00 = 0x7F7F, + .var02 = 0x010B, + .var04 = 5, + .var05 = 30, + .var06 = 0xFF, + .var07_0 = 14, + .var07_5 = 2, + .var07_7 = 0 + } +}; + +static const struct YesNoFuncTable gUnknown_085B6408 = +{ + sub_8142918, + sub_814297C +}; + +static const struct YesNoFuncTable gUnknown_085B6410 = +{ + sub_8140968, + sub_8140994 +}; + +static void sub_8140238(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + if (gUnknown_0203AB88->varB8.var00) + task_tutorial_controls_fadein(&gUnknown_0203AB88->varB8); +} + +static void sub_8140264(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); + sub_8142814(); + SetGpuReg(REG_OFFSET_BG1HOFS, 0x200 - gUnknown_0203AB88->var26); + if (gUnknown_0203AB88->var01) + SetGpuReg(REG_OFFSET_BLDALPHA, gUnknown_0203AB88->var34); + if (gUnknown_0203AB88->var2A != 0) + { + DmaCopy16(3, &gUnknown_0203AB88->tilemapBuffers[2][0xE0], (void *)BG_SCREEN_ADDR(4) + 0x1C0, 0x340); + gUnknown_0203AB88->var2A = 0; + } + switch (gUnknown_0203AB88->var28) + { + case 1: + SetBgAttribute(0, BG_ATTR_CHARBASEINDEX, 0); + ShowBg(0); + DmaCopy16(3, &gUnknown_0203AB88->tilemapBuffers[0][0xE0], (void *)BG_SCREEN_ADDR(31) + 0x1C0, 0x340); + gUnknown_0203AB88->var28 = 2; + break; + case 2: + DmaCopy16(3, &gUnknown_0203AB88->tilemapBuffers[0][0xE0], (void *)BG_SCREEN_ADDR(31) + 0x1C0, 0x340); + break; + case 0xFF: + SetBgAttribute(0, BG_ATTR_CHARBASEINDEX, 2); + ShowBg(0); + DmaFill16(3, 0, (void *)BG_SCREEN_ADDR(31) + 0x1C0, 0x340); + gUnknown_0203AB88->var28 = 0; + case 0: + break; + } +} + +static void sub_8140388(void) +{ + u32 size = 0; + + gUnknown_0203AB88 = AllocZeroed(sizeof(*gUnknown_0203AB88)); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(1, gUnknown_085B6140, ARRAY_COUNT(gUnknown_085B6140)); + SetBgTilemapBuffer(0, gUnknown_0203AB88->tilemapBuffers[0]); + SetBgTilemapBuffer(1, gUnknown_0203AB88->tilemapBuffers[2]); + SetBgTilemapBuffer(2, gUnknown_0203AB88->tilemapBuffers[6]); + InitWindows(gUnknown_085B614C); + sub_8197200(); + gUnknown_0203AB8C = 0; + gUnknown_0203AB88->unk_397C = malloc_and_decompress(gUnknown_085B5DFC, &size); +} + +static void sub_8140418(void) +{ + FREE_AND_SET_NULL(gUnknown_0203AB88->unk_397C); + FreeAllWindowBuffers(); + UnsetBgTilemapBuffer(0); + UnsetBgTilemapBuffer(1); + UnsetBgTilemapBuffer(2); + ResetBgsAndClearDma3BusyFlags(0); + memset(gUnknown_0203AB88, 0, sizeof(*gUnknown_0203AB88)); + FREE_AND_SET_NULL(gUnknown_0203AB88); +} + +static void sub_8140470(void) +{ + u8 i; + u16 arr[3] = {RGB(24, 4, 10), RGB(10, 19, 6), RGB(24, 4, 10)}; // the third is never used ? + + gUnknown_0203AB88->var04_0 = (gSpecialVar_0x8004 & 1); + + if (gSpecialVar_0x8004 & 0x80) + gUnknown_0203AB88->var04_7 = 1; + + gUnknown_0203AB88->var22 = gUnknown_085B6348[gUnknown_0203AB88->var04_0].var03; + gUnknown_0203AB88->var23 = gUnknown_085B6348[gUnknown_0203AB88->var04_0].var04; + gUnknown_0203AB88->var19 = gUnknown_085B6344[gUnknown_0203AB88->var04_0 + gUnknown_0203AB88->var04_7 * 2]; + gUnknown_0203AB88->var1A_4 = 1; + + if (gUnknown_0203AB88->var19 == 1) + gPlttBufferUnfaded[0] = gPlttBufferUnfaded[0x51] = gPlttBufferFaded[0] = gPlttBufferFaded[0x51] = arr[0]; + else + gPlttBufferUnfaded[0] = gPlttBufferUnfaded[0x51] = gPlttBufferFaded[0] = gPlttBufferFaded[0x51] = arr[1]; + + sub_8151678(&gUnknown_0203AB88->varB8); + + for (i = 0; i < 13; i++) + { + sub_815168C(&gUnknown_0203AB88->varB8, i, &gUnknown_085B6388[i]); + } + + for (i = 0; i < PARTY_SIZE; i++) + { + switch (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2)) + { + case SPECIES_SHROOMISH: + gUnknown_0203AB88->var02 |= 0x1; + break; + case SPECIES_TAILLOW: + gUnknown_0203AB88->var02 |= 0x2; + break; + } + } + RtcCalcLocalTime(); +} + +static void sub_81405CC(void) +{ + u8 taskId; + + switch (gMain.state) + { + case 0: + SetVBlankCallback(NULL); + ScanlineEffect_Stop(); + SetVBlankHBlankCallbacksToNull(); + ResetVramOamAndBgCntRegs(); + ResetAllBgsCoordinates(); + break; + case 1: + sub_8140388(); + DeactivateAllTextPrinters(); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_NONE | + BLDCNT_TGT2_BG2 | + BLDCNT_TGT2_BD); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(10, 6)); + break; + case 2: + ResetPaletteFade(); + ResetSpriteData(); + ResetTasks(); + reset_temp_tile_data_buffers(); + break; + case 3: + LoadPalette(&gUnknown_085B5BFC, 0, 0x1C0); + decompress_and_copy_tile_data_to_vram(1, gRouletteMenuTiles, 0, 0, 0); + decompress_and_copy_tile_data_to_vram(2, gRouletteWheelTiles, 0, 0, 0); + break; + case 4: + if (free_temp_tile_data_buffers_if_possible()) + return; + + sub_8140470(); + CopyToBgTilemapBuffer(2, gUnknown_085B5FA0, 0, 0); + break; + case 5: + sub_8142C0C(0); + sub_81439C8(); + sub_814391C(); + sub_8143314(); + sub_8142CD0(); + sub_8142F7C(); + sub_81431E4(); + break; + case 6: + AnimateSprites(); + BuildOamBuffer(); + sub_8143514(GetCoins()); + sub_814372C(6); + sub_81436D0(0); + sub_81424FC(0); + NewMenuHelpers_DrawStdWindowFrame(gUnknown_0203AB8C, FALSE); + AddTextPrinterParameterized(gUnknown_0203AB8C, 1, gUnknown_082A5B89, 0, 1, TEXT_SPEED_FF, NULL); + CopyWindowToVram(gUnknown_0203AB8C, 3); + gSpriteCoordOffsetX = -60; + gSpriteCoordOffsetY = 0; + break; + case 7: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_OBJ_ON); + CopyBgTilemapBufferToVram(1); + CopyBgTilemapBufferToVram(2); + ShowBg(0); + ShowBg(1); + ShowBg(2); + break; + case 8: + EnableInterrupts(INTR_FLAG_VBLANK); + SetVBlankCallback(sub_8140264); + BeginHardwarePaletteFade(0xFF, 0, 16, 0, 1); + taskId = gUnknown_0203AB88->varA4 = CreateTask(sub_81408A8, 0); + gTasks[taskId].data[6] = 6; + gTasks[taskId].data[13] = GetCoins(); + sub_80EDE84(GetCoins()); + gUnknown_0203AB88->varA5 = CreateTask(sub_8140814, 1); + SetMainCallback2(sub_8140238); + return; + } + gMain.state++; +} + +static void sub_8140814(u8 unused) +{ + s16 sin; + s16 cos; + + if (gUnknown_0203AB88->var21++ == gUnknown_0203AB88->var23) + { + gUnknown_0203AB88->var21 = 0; + if ((gUnknown_0203AB88->var24 -= gUnknown_0203AB88->var22) < 0) + gUnknown_0203AB88->var24 = 360 - gUnknown_0203AB88->var22; + } + sin = Sin2(gUnknown_0203AB88->var24); + cos = Cos2(gUnknown_0203AB88->var24); + sin = sin / 16; + gUnknown_0203AB88->var2C.a = gUnknown_0203AB88->var2C.d = cos / 16; + gUnknown_0203AB88->var2C.b = sin; + gUnknown_0203AB88->var2C.c = -sin; +} + +static void sub_81408A8(u8 taskId) +{ + if (UpdatePaletteFade() == 0) + { + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_NONE | + BLDCNT_TGT2_BG2 | + BLDCNT_TGT2_BD); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(8, 8)); + gTasks[taskId].data[6] = 0; + sub_8141FF4(taskId); + sub_8142070(); + sub_8143A40(); + sub_81424FC(0); + sub_814372C(6); + sub_8141F7C(taskId, sub_8140968, 0xFFFF, 0x3); + } +} + +static void sub_8140914(u8 taskId) +{ + DisplayYesNoMenu(); + NewMenuHelpers_DrawStdWindowFrame(gUnknown_0203AB8C, 0); + AddTextPrinterParameterized(gUnknown_0203AB8C, 1, gUnknown_082A5C13, 0, 1, TEXT_SPEED_FF, 0); + CopyWindowToVram(gUnknown_0203AB8C, 3); + DoYesNoFuncWithChoice(taskId, &gUnknown_085B6410); +} + +static void sub_8140968(u8 taskId) +{ + sub_819746C(0, TRUE); + gTasks[taskId].func = sub_8140BD0; +} + +static void sub_8140994(u8 taskId) +{ + DestroyTask(gUnknown_0203AB88->varA5); + sub_8141DE4(taskId); +} + +static void sub_81409B8(u8 r0) +{ + u8 temp0, temp1; + switch (r0) + { + case 0: + sub_8152008(&gUnknown_0203AB88->tilemapBuffers[0][0], 0, 14, 7, 16, 13); + break; + case 1: + case 2: + case 3: + case 4: + temp0 = (r0 * 3 + 14); + sub_8152008(&gUnknown_0203AB88->tilemapBuffers[0][0], 0, 14, 7, 16, 13); + sub_8152058(&gUnknown_0203AB88->tilemapBuffers[0][0], &gUnknown_0203AB88->unk_397C[281], temp0, 7, 3, 13); + break; + case 0x5: + case 0xA: + case 0xF: + temp1 = ((r0 - 1) / 5 * 3 + 10); + sub_8152008(&gUnknown_0203AB88->tilemapBuffers[0][0], 0, 14, 7, 16, 13); + sub_8152058(&gUnknown_0203AB88->tilemapBuffers[0][0], &gUnknown_0203AB88->unk_397C[320], 14, temp1, 16, 3); + break; + default: + temp0 = ((r0 % 5) * 3 + 14); + temp1 = ((r0 - 1) / 5 * 3 + 7); + sub_8152008(&gUnknown_0203AB88->tilemapBuffers[0][0], 0, 14, 7, 16, 13); + sub_8152058(&gUnknown_0203AB88->tilemapBuffers[0][0], &gUnknown_0203AB88->unk_397C[272], temp0, temp1, 3, 3); + break; + } +} + +static void sub_8140B64(u8 taskId) +{ + sub_81436D0(gTasks[taskId].data[4]); + sub_81409B8(gTasks[taskId].data[4]); +} + +static void sub_8140B8C(u8 taskId) +{ + gUnknown_0203AB88->var28 = 1; + sub_81409B8(gTasks[taskId].data[4]); + gUnknown_0203AB88->var23 = 2; + gUnknown_0203AB88->var21 = 0; + gTasks[taskId].func = sub_8141040; +} + +static void sub_8140BD0(u8 taskId) +{ + s16 i; + + if (gUnknown_0203AB88->var08 & 0x20) + { + for (i = 11; i < 14; i++) + { + if ((gUnknown_0203AB88->var08 & gUnknown_085B6154[i].var08) == 0) + break; + } + } + else + { + for (i = 6; i < 10; i++) + { + if ((gUnknown_0203AB88->var08 & gUnknown_085B6154[i].var08) == 0) + break; + } + } + gTasks[taskId].data[4] = i; + sub_8141FF4(taskId); + sub_81424FC(gTasks[taskId].data[4]); + sub_81436D0(gTasks[taskId].data[4]); + sub_8142284(gTasks[taskId].data[4]); + gTasks[taskId].data[1] = 0; + gTasks[taskId].func = sub_8140B8C; +} + +static u8 sub_8140CA8(s16 *r0, u8 r1) +{ + s8 temp1 = 0; + s8 temp = 0; + s8 arr[4] = {-5, 5, -1, 1}; + s8 t = *r0; + + switch (r1) + { + case 0: + case 1: + temp1 = (*r0 % 5); + temp = temp1 + 15; + if (temp1 == 0) + temp1 = 5; + break; + case 2: + case 3: + temp1 = (*r0 / 5) * 5; + temp = temp1 + 4; + if (temp1 == 0) + temp1 = 1; + break; + } + + *r0 += arr[r1]; + + if (*r0 < temp1) + *r0 = temp; + + if (*r0 > temp) + *r0 = temp1; + + if (*r0 != t) + return TRUE; + + return FALSE; +} + +static void sub_8140D6C(u8 r0) +{ + u8 z = 0; + bool8 var0 = FALSE; + if (!(gMain.newKeys & DPAD_UP) || ((var0 = TRUE), sub_8140CA8(&gTasks[r0].data[4], 0))) + if (!(gMain.newKeys & DPAD_DOWN) || ((var0 = TRUE), sub_8140CA8(&gTasks[r0].data[4], 1))) + if (!(gMain.newKeys & DPAD_LEFT) || ((var0 = TRUE), sub_8140CA8(&gTasks[r0].data[4], 2))) + if (!(gMain.newKeys & DPAD_RIGHT) || ((var0 = TRUE), sub_8140CA8(&gTasks[r0].data[4], 3))) + if (var0) + { + u8 i; + sub_81424FC(gTasks[r0].data[4]); + sub_8140B64(r0); + gTasks[r0].data[1] = z; + PlaySE(SE_SELECT); + sub_8151A9C(&gUnknown_0203AB88->varB8, 0xFFFF); + gUnknown_0203AB88->varB8.var04[13].var00_7 = gUnknown_0203AB88->varB8.var04[14].var00_7 = gUnknown_0203AB88->varB8.var04[15].var00_7 = 0; + sub_8142284(gTasks[r0].data[4]); + for (i = 0; i < 4; i++) + { + gSprites[gUnknown_0203AB88->var3C[i + 41]].oam.tileNum = + gSprites[gUnknown_0203AB88->var3C[i + 41]].sheetTileStart + + (*gSprites[gUnknown_0203AB88->var3C[i + 41]].anims)->type; + } + if ((u16)(gTasks[r0].data[4] - 1) < 4 && !(gUnknown_0203AB88->var08 & gUnknown_085B6154[gTasks[r0].data[4]].var08) ) + { + z = gTasks[r0].data[4] - 1; + gSprites[gUnknown_0203AB88->var3C[z + 41]].oam.tileNum = + gSprites[gUnknown_0203AB88->var3C[z + 41]].sheetTileStart + + (*gSprites[gUnknown_0203AB88->var3C[z + 41]].anims + 1)->type; + } + } +} + +static void sub_8140F6C(u8 r0) +{ + sub_80EECA4(); + gUnknown_0203AB88->var28 = 0xFF; + if (gUnknown_0203AB88->var19 == 1) + gUnknown_0203AB88->var23 = 1; + else + gUnknown_0203AB88->var23 = 0; + gUnknown_0203AB88->var21 = 0; + gTasks[r0].data[1] = 32; + gTasks[r0].func = sub_81410FC; +} + +static void sub_8140FC4(u8 taskId) +{ + gUnknown_0203AB88->var1B[gUnknown_0203AB88->var1A_0] = gTasks[taskId].data[4]; + gTasks[taskId].data[2] = sub_8142758(gUnknown_0203AB88->var1B[gUnknown_0203AB88->var1A_0]); + sub_81436D0(gUnknown_0203AB88->var1B[gUnknown_0203AB88->var1A_0]); + if ((gTasks[taskId].data[13] -= gUnknown_0203AB88->var19) < 0) + gTasks[taskId].data[13] = 0; + sub_8143514(gTasks[taskId].data[13]); + gTasks[taskId].func = sub_8140F6C; +} + +static void sub_8141040(u8 taskId) +{ + sub_8140D6C(taskId); + + switch (gTasks[taskId].data[1]) + { + case 0: + sub_81409B8(gTasks[taskId].data[4]); + gTasks[taskId].data[1]++; + break; + case 30: + sub_81409B8(0); + gTasks[taskId].data[1]++; + break; + case 59: + gTasks[taskId].data[1] = 0; + break; + default: + gTasks[taskId].data[1]++; + } + + if (gMain.newKeys & A_BUTTON) + { + if ((gUnknown_0203AB88->var08 & gUnknown_085B6154[gTasks[taskId].data[4]].var08)) + PlaySE(SE_BOO); + else + { + m4aSongNumStart(SE_REGI); + gTasks[taskId].func = sub_8140FC4; + } + } +} + +static void sub_81410FC(u8 taskId) +{ + if (gTasks[taskId].data[1]-- > 0) + { + if (gTasks[taskId].data[1] > 2) + gSpriteCoordOffsetX += 2; + if ((gUnknown_0203AB88->var26 += 4) == 104) + gSprites[gUnknown_0203AB88->var3C[25]].callback = &SpriteCallbackDummy; + } + else + { + sub_8142E70(1, -1); + sub_8143038(1, -1); + gTasks[taskId].func = sub_8141344; + gTasks[taskId].data[1] = 0; + } +} + +static u8 sub_814118C(u16 r0, u16 r1) +{ + switch (gUnknown_0203AB88->var02) + { + case 1: // SHROOMISH + case 2: // TAILLOW + // one of the two is in party + if (gLocalTime.hours > 3 && gLocalTime.hours < 10) + { + if (r0 < 12 || (r1 & 1)) + { + return gUnknown_085B6348[gUnknown_0203AB88->var04_0].var02 / 2; + } + else + { + return 1; + } + } + else if (!(r1 & 0x3)) + { + return gUnknown_085B6348[gUnknown_0203AB88->var04_0].var02 / 2; + } + else + { + return gUnknown_085B6348[gUnknown_0203AB88->var04_0].var02; + } + break; + case 3: + // both are in party + if (gLocalTime.hours > 3 && gLocalTime.hours < 11) + { + if (r0 < 6 || (r1 & 1)) + { + return gUnknown_085B6348[gUnknown_0203AB88->var04_0].var02 / 2; + } + else + { + return 1; + } + } + else if ((r1 & 1) && r0 > 6) + { + return gUnknown_085B6348[gUnknown_0203AB88->var04_0].var02 / 4; + } + else + { + return gUnknown_085B6348[gUnknown_0203AB88->var04_0].var02 / 2; + } + break; + case 0: + default: + // neither is in party + if (gLocalTime.hours > 3 && gLocalTime.hours < 10) + { + if (!(r1 & 3)) + { + return 1; + } + else + { + return gUnknown_085B6348[gUnknown_0203AB88->var04_0].var02 / 2; + } + } + else if (!(r1 & 3)) + { + if (r0 > 12) + { + return gUnknown_085B6348[gUnknown_0203AB88->var04_0].var02 / 2; + } + else + { + return gUnknown_085B6348[gUnknown_0203AB88->var04_0].var02; + } + } + else if (r1 & 0x8000) + { + if (r0 > 12) + { + return gUnknown_085B6348[gUnknown_0203AB88->var04_0].var02; + } + else + { + return gUnknown_085B6348[gUnknown_0203AB88->var04_0].var01; + } + } + else + { + return gUnknown_085B6348[gUnknown_0203AB88->var04_0].var01 * 2; + } + break; + } +} + +// r7/r8 swap +#ifdef NONMATCHING +static void sub_8141344(u8 taskId) +{ + u8 randf; + s8 randfinal; + s8 r5; + u16 g = 0; + u16 rand; + u16 randmod; + u16 angles[4] = {0, 180, 90, 270}; // angles in 90 degree steps + + rand = Random(); + randmod = rand % 100; + gUnknown_0203AB88->var7C = gTasks[taskId].data[6]; + gUnknown_0203AB88->var7D = gUnknown_0203AB88->var7E = gUnknown_0203AB88->var7F = g; + randf = sub_814118C(gTasks[taskId].data[8], rand); + randfinal = (rand % randf) - (randf / 2); + + if (gLocalTime.hours < 13) + r5 = 0; + else + r5 = 1; + + if (randmod < 80) + r5 *= 2; + else + r5 = (1 - r5) * 2; + + gUnknown_0203AB88->var80 = g = gUnknown_085B6348[gUnknown_0203AB88->var04_0].var1A + randfinal; + + g = S16TOPOSFLOAT(g) / 5.0f; + gUnknown_0203AB88->var82 = g * 3; + gUnknown_0203AB88->var84 = g; + gUnknown_0203AB88->var86 = g; + + gUnknown_0203AB88->var88 = S16TOPOSFLOAT(angles[(rand & 1) + r5]); + gUnknown_0203AB88->var8C = S16TOPOSFLOAT(gUnknown_085B6348[gUnknown_0203AB88->var04_0].var18); + gUnknown_0203AB88->var90 = ((gUnknown_0203AB88->var8C * 0.5f) - gUnknown_0203AB88->var8C) / S16TOPOSFLOAT(gUnknown_0203AB88->var82); + gUnknown_0203AB88->var94 = 68.0f; + gUnknown_0203AB88->var9C = 0.0f; + gUnknown_0203AB88->var98 = -(8.0f / S16TOPOSFLOAT(gUnknown_0203AB88->var82)); + gUnknown_0203AB88->varA0 = 36.0f; + gTasks[taskId].func = sub_814155C; +} +#else +static const u16 gUnknown_085B6422[4] = {0, 180, 90, 270}; +NAKED +static void sub_8141344(u8 taskId) +{ + asm_unified(" push {r4-r7,lr}\n\ + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + sub sp, 0x8\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + mov r10, r0\n\ + movs r4, 0\n\ + ldr r1, =gUnknown_085B6422\n\ + mov r0, sp\n\ + movs r2, 0x8\n\ + bl memcpy\n\ + bl Random\n\ + lsls r0, 16\n\ + lsrs r7, r0, 16\n\ + adds r0, r7, 0\n\ + movs r1, 0x64\n\ + bl __umodsi3\n\ + lsls r0, 16\n\ + lsrs r6, r0, 16\n\ + ldr r3, =gUnknown_0203AB88\n\ + ldr r0, [r3]\n\ + ldr r2, =gTasks\n\ + mov r5, r10\n\ + lsls r1, r5, 2\n\ + add r1, r10\n\ + lsls r1, 3\n\ + adds r1, r2\n\ + ldrh r2, [r1, 0x14]\n\ + adds r0, 0x7C\n\ + strb r2, [r0]\n\ + ldr r0, [r3]\n\ + adds r2, r0, 0\n\ + adds r2, 0x7F\n\ + strb r4, [r2]\n\ + subs r2, 0x1\n\ + strb r4, [r2]\n\ + adds r0, 0x7D\n\ + strb r4, [r0]\n\ + ldrh r0, [r1, 0x18]\n\ + adds r1, r7, 0\n\ + bl sub_814118C\n\ + adds r4, r0, 0\n\ + lsls r4, 24\n\ + lsrs r1, r4, 24\n\ + adds r0, r7, 0\n\ + bl __modsi3\n\ + lsrs r4, 25\n\ + subs r0, r4\n\ + lsls r0, 24\n\ + lsrs r4, r0, 24\n\ + ldr r0, =gLocalTime\n\ + ldrb r0, [r0, 0x2]\n\ + lsls r0, 24\n\ + asrs r0, 24\n\ + movs r5, 0x1\n\ + cmp r0, 0xC\n\ + bgt _081413C8\n\ + movs r5, 0\n\ +_081413C8:\n\ + cmp r6, 0x4F\n\ + bhi _081413E0\n\ + lsls r0, r5, 25\n\ + b _081413EA\n\ + .pool\n\ +_081413E0:\n\ + lsls r1, r5, 24\n\ + asrs r1, 24\n\ + movs r0, 0x1\n\ + subs r0, r1\n\ + lsls r0, 25\n\ +_081413EA:\n\ + lsrs r5, r0, 24\n\ + ldr r0, _08141530 @ =gUnknown_0203AB88\n\ + ldr r6, [r0]\n\ + ldrb r0, [r6, 0x4]\n\ + lsls r0, 30\n\ + lsrs r0, 25\n\ + ldr r1, _08141534 @ =gUnknown_085B6348\n\ + adds r0, r1\n\ + lsls r4, 24\n\ + asrs r4, 24\n\ + ldrh r0, [r0, 0x1A]\n\ + adds r4, r0\n\ + adds r0, r6, 0\n\ + adds r0, 0x80\n\ + strh r4, [r0]\n\ + lsls r4, 16\n\ + asrs r4, 16\n\ + adds r0, r4, 0\n\ + bl __floatsisf\n\ + cmp r4, 0\n\ + bge _0814141C\n\ + ldr r1, _08141538 @ =0x47800000\n\ + bl __addsf3\n\ +_0814141C:\n\ + ldr r1, _0814153C @ =0x40A00000\n\ + bl __divsf3\n\ + bl __fixunssfsi\n\ + lsls r0, 16\n\ + lsrs r4, r0, 16\n\ + lsls r0, r4, 1\n\ + adds r0, r4\n\ + movs r2, 0x82\n\ + adds r2, r6\n\ + mov r8, r2\n\ + strh r0, [r2]\n\ + adds r0, r6, 0\n\ + adds r0, 0x84\n\ + strh r4, [r0]\n\ + adds r0, 0x2\n\ + strh r4, [r0]\n\ + movs r0, 0x88\n\ + adds r0, r6\n\ + mov r9, r0\n\ + movs r0, 0x1\n\ + ands r0, r7\n\ + lsls r1, r5, 24\n\ + asrs r1, 24\n\ + adds r0, r1\n\ + lsls r0, 1\n\ + add r0, sp\n\ + movs r1, 0\n\ + ldrsh r4, [r0, r1]\n\ + adds r0, r4, 0\n\ + bl __floatsisf\n\ + cmp r4, 0\n\ + bge _08141468\n\ + ldr r1, _08141538 @ =0x47800000\n\ + bl __addsf3\n\ +_08141468:\n\ + mov r2, r9\n\ + str r0, [r2]\n\ + adds r7, r6, 0\n\ + adds r7, 0x8C\n\ + ldrb r0, [r6, 0x4]\n\ + lsls r0, 30\n\ + lsrs r0, 25\n\ + ldr r5, _08141534 @ =gUnknown_085B6348\n\ + adds r0, r5\n\ + movs r1, 0x18\n\ + ldrsh r4, [r0, r1]\n\ + adds r0, r4, 0\n\ + bl __floatsisf\n\ + adds r5, r0, 0\n\ + cmp r4, 0\n\ + bge _08141492\n\ + ldr r1, _08141538 @ =0x47800000\n\ + bl __addsf3\n\ + adds r5, r0, 0\n\ +_08141492:\n\ + str r5, [r7]\n\ + adds r7, r6, 0\n\ + adds r7, 0x90\n\ + ldr r1, _08141540 @ =0x3F000000\n\ + adds r0, r5, 0\n\ + bl __mulsf3\n\ + adds r1, r5, 0\n\ + bl __subsf3\n\ + adds r5, r0, 0\n\ + mov r2, r8\n\ + movs r0, 0\n\ + ldrsh r4, [r2, r0]\n\ + adds r0, r4, 0\n\ + bl __floatsisf\n\ + adds r2, r0, 0\n\ + cmp r4, 0\n\ + bge _081414C2\n\ + ldr r1, _08141538 @ =0x47800000\n\ + bl __addsf3\n\ + adds r2, r0, 0\n\ +_081414C2:\n\ + adds r0, r5, 0\n\ + adds r1, r2, 0\n\ + bl __divsf3\n\ + str r0, [r7]\n\ + adds r1, r6, 0\n\ + adds r1, 0x94\n\ + ldr r0, _08141544 @ =0x42880000\n\ + str r0, [r1]\n\ + adds r1, 0x8\n\ + ldr r0, _08141548 @ =0x00000000\n\ + str r0, [r1]\n\ + adds r5, r6, 0\n\ + adds r5, 0x98\n\ + mov r1, r8\n\ + movs r2, 0\n\ + ldrsh r4, [r1, r2]\n\ + adds r0, r4, 0\n\ + bl __floatsisf\n\ + adds r2, r0, 0\n\ + cmp r4, 0\n\ + bge _081414F8\n\ + ldr r1, _08141538 @ =0x47800000\n\ + bl __addsf3\n\ + adds r2, r0, 0\n\ +_081414F8:\n\ + ldr r0, _0814154C @ =0x41000000\n\ + adds r1, r2, 0\n\ + bl __divsf3\n\ + bl __negsf2\n\ + str r0, [r5]\n\ + adds r1, r6, 0\n\ + adds r1, 0xA0\n\ + ldr r0, _08141550 @ =0x42100000\n\ + str r0, [r1]\n\ + ldr r1, _08141554 @ =gTasks\n\ + mov r5, r10\n\ + lsls r0, r5, 2\n\ + add r0, r10\n\ + lsls r0, 3\n\ + adds r0, r1\n\ + ldr r1, _08141558 @ =sub_814155C\n\ + str r1, [r0]\n\ + add sp, 0x8\n\ + pop {r3-r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov r10, r5\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ +_08141530:\n\ + .4byte gUnknown_0203AB88\n\ +_08141534:\n\ + .4byte gUnknown_085B6348\n\ +_08141538:\n\ + .4byte 0x47800000\n\ +_0814153C:\n\ + .4byte 0x40A00000\n\ +_08141540:\n\ + .4byte 0x3F000000\n\ +_08141544:\n\ + .4byte 0x42880000\n\ +_08141548:\n\ + .4byte 0x00000000\n\ +_0814154C:\n\ + .4byte 0x41000000\n\ +_08141550:\n\ + .4byte 0x42100000\n\ +_08141554:\n\ + .4byte gTasks\n\ +_08141558:\n\ + .4byte sub_814155C"); +} +#endif // NONMATCHING + +static void sub_814155C(u8 taskId) +{ + u8 index; + gUnknown_0203AB88->var03_7 = 1; + index = gUnknown_0203AB88->var3C[gUnknown_0203AB88->var7C]; + gUnknown_0203AB88->var38 = &gSprites[index]; + gUnknown_0203AB88->var38->callback = sub_81446AC; + gTasks[taskId].data[6]++; + gTasks[taskId].data[0x8]++; + sub_814372C(6 - gTasks[taskId].data[6]); + m4aSongNumStart(SE_TAMAKORO); + gTasks[taskId].func = sub_81415D4; +} + +static void sub_81415D4(u8 taskId) +{ + if (gUnknown_0203AB88->var7D) + { + if (gUnknown_0203AB88->var03_5) + { + if (gUnknown_0203AB88->var03_6) + { + gUnknown_0203AB88->var03_6 = FALSE; + gUnknown_0203AB88->var03_5 = FALSE; + } + } + else + { + if (!gTasks[taskId].data[1]) + { + bool8 temp = sub_81421E8(sub_81420D0(taskId, gUnknown_0203AB88->var7E), gUnknown_0203AB88->var1B[gUnknown_0203AB88->var1A_0]); + gTasks[taskId].data[5] = temp; + if (temp == TRUE) + sub_8151A48(&gUnknown_0203AB88->varB8, 0x1000); + } + if (gTasks[taskId].data[1] <= 60) + { + if (gMain.newKeys & A_BUTTON) + gTasks[taskId].data[1] = 60; + gTasks[taskId].data[1]++; + } + else + { + sub_81424FC(gUnknown_0203AB88->var1B[gUnknown_0203AB88->var1A_0]); + sub_8142E70(0, gTasks[taskId].data[12]); + sub_8143038(0, gTasks[taskId].data[6] - 1); + gTasks[taskId].data[1] = 32; + gTasks[taskId].func = sub_81416D4; + } + } + } +} + +static void sub_81416D4(u8 taskId) +{ + if (gTasks[taskId].data[1]-- > 0) + { + if (gTasks[taskId].data[1] > 2) + gSpriteCoordOffsetX -= 2; + if ((gUnknown_0203AB88->var26 -= 4) == 104) + gSprites[gUnknown_0203AB88->var3C[25]].callback = sub_814390C; + } + else + { + sub_8143150(gTasks[taskId].data[12]); + if (gTasks[taskId].data[5] == 1) + gTasks[taskId].data[1] = 121; + else + gTasks[taskId].data[1] = 61; + gTasks[taskId].func = sub_8141778; + } +} + +static void sub_8141778(u8 taskId) +{ + if (gTasks[taskId].data[1]-- > 1) + { + switch (gTasks[taskId].data[1] % 16) + { + case 8: + sub_8142E70(0, -1); + sub_8143038(0, -1); + break; + case 0: + sub_8142E70(0, gTasks[taskId].data[12]); + sub_8143038(0, gTasks[taskId].data[6] - 1); + break; + } + } + else + { + sub_8141F7C(taskId, sub_814189C, 30, 0); + } +} + +static void sub_8141800(u8 taskId) +{ + switch (gTasks[taskId].data[0x5]) + { + case 1: + case 2: + if (IsFanfareTaskInactive()) + { + u32 wins = GetGameStat(GAME_STAT_CONSECUTIVE_ROULETTE_WINS); + if (wins < ++gTasks[taskId].data[11]) + SetGameStat(GAME_STAT_CONSECUTIVE_ROULETTE_WINS, gTasks[taskId].data[11]); + sub_8141F7C(taskId, sub_8141A18, 0xFFFF, 3); + } + break; + case 0: + default: + if (!IsSEPlaying()) + { + gTasks[taskId].data[11] = FALSE; + sub_8141F7C(taskId, sub_8141AC0, 0xFFFF, 3); + } + break; + } +} + +static void sub_814189C(u8 taskId) +{ + switch (gTasks[taskId].data[5]) + { + case 1: + case 2: + if (gTasks[taskId].data[2] == 12) + { + PlayFanfare(MUS_ME_B_BIG); + NewMenuHelpers_DrawStdWindowFrame(gUnknown_0203AB8C, FALSE); + AddTextPrinterParameterized(gUnknown_0203AB8C, 1, gUnknown_082A5BD7, 0, 1, TEXT_SPEED_FF, NULL); + CopyWindowToVram(gUnknown_0203AB8C, 3); + } + else + { + PlayFanfare(MUS_ME_B_SMALL); + NewMenuHelpers_DrawStdWindowFrame(gUnknown_0203AB8C, FALSE); + AddTextPrinterParameterized(gUnknown_0203AB8C, 1, gUnknown_082A5BCB, 0, 1, TEXT_SPEED_FF, NULL); + CopyWindowToVram(gUnknown_0203AB8C, 3); + } + break; + case 0: + default: + m4aSongNumStart(SE_HAZURE); + NewMenuHelpers_DrawStdWindowFrame(gUnknown_0203AB8C, FALSE); + AddTextPrinterParameterized(gUnknown_0203AB8C, 1, gUnknown_082A5BE0, 0, 1, TEXT_SPEED_FF, NULL); + CopyWindowToVram(gUnknown_0203AB8C, 3); + break; + } + gTasks[taskId].data[1] = 0; + gTasks[taskId].func = sub_8141800; +} + +static void sub_8141984(u8 taskId) +{ + s32 r0 = gTasks[taskId].data[7]; + switch (r0) + { + case 0: + gTasks[taskId].data[13]++; + m4aSongNumStart(SE_PIN); + sub_8143514(gTasks[taskId].data[13]); + if (gTasks[taskId].data[13] >= 9999) + { + gTasks[taskId].data[1] = r0; + } + else + { + gTasks[taskId].data[1]--; + gTasks[taskId].data[7]++; + } + break; + case 3: + m4aSongNumStop(SE_PIN); + gTasks[taskId].data[7] = 0; + break; + default: + gTasks[taskId].data[7]++; + break; + } + if (gTasks[taskId].data[1] == 0) + sub_8141F7C(taskId, sub_8141AC0, 0xFFFF, 3); +} + +static void sub_8141A18(u8 taskId) +{ + ConvertIntToDecimalStringN(gStringVar1, (gUnknown_0203AB88->var19 * gTasks[taskId].data[2]), STR_CONV_MODE_LEFT_ALIGN, 2); + StringExpandPlaceholders(gStringVar4, gUnknown_082A5BEF); + NewMenuHelpers_DrawStdWindowFrame(gUnknown_0203AB8C, FALSE); + AddTextPrinterParameterized(gUnknown_0203AB8C, 1, gStringVar4, 0, 1, TEXT_SPEED_FF, NULL); + CopyWindowToVram(gUnknown_0203AB8C, 3); + gTasks[taskId].data[1] = (gUnknown_0203AB88->var19 * gTasks[taskId].data[2]); + gTasks[taskId].data[7] = 0; + gTasks[taskId].func = sub_8141984; +} + +static void sub_8141AC0(u8 taskId) +{ + sub_8151A9C(&gUnknown_0203AB88->varB8, 0xFFFF); + gUnknown_0203AB88->varB8.var04[13].var00_7 = gUnknown_0203AB88->varB8.var04[14].var00_7 = gUnknown_0203AB88->varB8.var04[15].var00_7 = 0; + gSprites[gUnknown_0203AB88->var3C[7 + gUnknown_085B6154[gTasks[taskId].data[12]].var00]].invisible = TRUE; + gTasks[taskId].func = sub_8141B58; +} + +static void sub_8141B58(u8 taskId) +{ + u8 i = 0; + gTasks[taskId].data[4] = i; + gUnknown_0203AB88->var1B[gUnknown_0203AB88->var1A_0] = 0; + sub_81424FC(0); + gSprites[gUnknown_0203AB88->var3C[48]].invisible = TRUE; + for (i = 0; i < 4; i++) + { + gSprites[gUnknown_0203AB88->var3C[i + 41]].oam.tileNum = + gSprites[gUnknown_0203AB88->var3C[i + 41]].sheetTileStart + + (*gSprites[gUnknown_0203AB88->var3C[i + 41]].anims)->type; + } + if (gTasks[taskId].data[13] >= gUnknown_0203AB88->var19) + { + if (gTasks[taskId].data[6] == 6) + { + NewMenuHelpers_DrawStdWindowFrame(gUnknown_0203AB8C, FALSE); + AddTextPrinterParameterized(gUnknown_0203AB8C, 1, gUnknown_082A5C21, 0, 1, TEXT_SPEED_FF, NULL); + CopyWindowToVram(gUnknown_0203AB8C, 3); + sub_8141F7C(taskId, dp01t_12_3_battle_menu, 0xFFFF, 3); + } + else if (gTasks[taskId].data[13] == 9999) + { + NewMenuHelpers_DrawStdWindowFrame(gUnknown_0203AB8C, FALSE); + AddTextPrinterParameterized(gUnknown_0203AB8C, 1, gUnknown_082A5C61, 0, 1, TEXT_SPEED_FF, NULL); + CopyWindowToVram(gUnknown_0203AB8C, 3); + sub_8141F7C(taskId, sub_8140914, 0xFFFF, 0x3); + } + else + { + gTasks[taskId].func = sub_8140914; + } + } + else + { + NewMenuHelpers_DrawStdWindowFrame(gUnknown_0203AB8C, FALSE); + AddTextPrinterParameterized(gUnknown_0203AB8C, 1, gUnknown_082A5C04, 0, 1, TEXT_SPEED_FF, NULL); + CopyWindowToVram(gUnknown_0203AB8C, 3); + sub_8141F7C(taskId, sub_8140994, 0x3C, 0x3); + } +} + +static void dp01t_12_3_battle_menu(u8 taskId) +{ + u8 i = 0; + + gTasks[taskId].data[6] = 0; + sub_8141FF4(taskId); + sub_8142070(); + sub_8143A40(); + sub_81424FC(0); + sub_814372C(6); + + for (i = 0; i < 12; i++) + { + gSprites[gUnknown_0203AB88->var3C[i + 7]].invisible = FALSE; + } + + if (gTasks[taskId].data[13] == 9999) + { + NewMenuHelpers_DrawStdWindowFrame(gUnknown_0203AB8C, FALSE); + AddTextPrinterParameterized(gUnknown_0203AB8C, 1, gUnknown_082A5C61, 0, 1, TEXT_SPEED_FF, NULL); + CopyWindowToVram(gUnknown_0203AB8C, 3); + sub_8141F7C(taskId, sub_8140914, 0xFFFF, 3); + } + else + { + gTasks[taskId].func = sub_8140914; + } +} + +static void sub_8141DE4(u8 taskId) +{ + sub_8151A9C(&gUnknown_0203AB88->varB8, 0xFFFF); + sub_8151678(&gUnknown_0203AB88->varB8); + SetCoins(gTasks[taskId].data[13]); + if (GetCoins() < gUnknown_0203AB88->var19) + gSpecialVar_0x8004 = TRUE; + else + gSpecialVar_0x8004 = FALSE; + sub_80EDD78(GetCoins()); + BeginHardwarePaletteFade(0xFF, 0, 0, 16, 0); + gTasks[taskId].func = sub_8141E7C; +} + +static void sub_8141E7C(u8 taskId) // end roulette ? +{ + if (UpdatePaletteFade() == 0) + { + SetVBlankCallback(NULL); + gSpriteCoordOffsetX = gSpriteCoordOffsetY = 0; + ResetVramOamAndBgCntRegs(); + ResetAllBgsCoordinates(); + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + SetGpuReg(REG_OFFSET_BLDY, 0); + FreeAllSpritePalettes(); + ResetPaletteFade(); + ResetSpriteData(); + sub_8140418(); + gFieldCallback = sub_80AF168; + SetMainCallback2(CB2_ReturnToField); + DestroyTask(taskId); + } +} + +static void sub_8141EF8(u8 taskId) +{ + if (gUnknown_0203AB88->varA8 == 0 || gMain.newKeys & gUnknown_0203AB88->varAA) + { + gTasks[taskId].func = gUnknown_0203AB88->varAC; + if (gUnknown_0203AB88->varAA > 0) + PlaySE(SE_SELECT); + gUnknown_0203AB88->varAC = NULL; + gUnknown_0203AB88->varAA = 0; + gUnknown_0203AB88->varA8 = 0; + } + if (gUnknown_0203AB88->varA8 != 0xFFFF) + gUnknown_0203AB88->varA8--; +} + +static void sub_8141F7C(u8 taskId, TaskFunc r1, u16 r2, u16 r3) +{ + gUnknown_0203AB88->varB4 = gTasks[taskId].func; + if (r1 == NULL) + r1 = gUnknown_0203AB88->varB4; + gUnknown_0203AB88->varAC = r1; + gUnknown_0203AB88->varA8 = r2; + if (r2 == 0xFFFF && r3 == 0) + gUnknown_0203AB88->varAA = 0xFFFF; + else + gUnknown_0203AB88->varAA = r3; + gTasks[taskId].func = sub_8141EF8; +} + +static void sub_8141FF4(u8 taskId) +{ + u8 i = 0; + gUnknown_0203AB88->var00 = i; + gUnknown_0203AB88->var03_7 = 0; + gUnknown_0203AB88->var03_5 = 0; + gUnknown_0203AB88->var03_6 = 0; + gUnknown_0203AB88->var03_0 = 0; + for (i = 0; i < 6; i++) + { + gUnknown_0203AB88->var1B[i] = 0; + } + gUnknown_0203AB88->var1A_0 = 0; + gTasks[taskId].data[1] = 0; +} + +static void sub_8142070(void) +{ + u8 i; + gUnknown_0203AB88->var08 = 0; + for (i = 0; i < 6; i++) + { + gUnknown_0203AB88->var0C[i] = 0; + } + for (i = 0; i < 4; i++) + { + gUnknown_0203AB88->var12[i] = 0; + } + for (i = 0; i < 3; i++) + { + gUnknown_0203AB88->var16[i] = 0; + } + sub_8143038(1, -1); +} + +static u8 sub_81420D0(u8 taskId, u8 r1) +{ + u8 i; + u8 z; + u32 t0[4] = {0x10842, 0x21084, 0x42108, 0x84210}; + u32 t1[3] = {0x3E0, 0x7C00, 0xF8000}; + + if (r1 > 11) + return 0; + + gUnknown_0203AB88->var0C[gTasks[taskId].data[6] - 1] = gUnknown_085B62E4[r1].var02; + gTasks[taskId].data[12] = gUnknown_085B62E4[r1].var02; + gUnknown_0203AB88->var08 |= gUnknown_085B62E4[r1].var04; + for (i = 0; i < 4; i++) + { + if (gUnknown_085B62E4[r1].var04 & t0[i]) + gUnknown_0203AB88->var12[i]++; + if (gUnknown_0203AB88->var12[i] > 2) + gUnknown_0203AB88->var08 |= t0[i]; + } + for (z = 0; z < 3; z++) + { + if (gUnknown_085B62E4[r1].var04 & t1[z]) + gUnknown_0203AB88->var16[z]++; + if (gUnknown_0203AB88->var16[z] > 3) + gUnknown_0203AB88->var08 |= t1[z]; + } + return gUnknown_085B62E4[r1].var02; +} + +static bool8 sub_81421E8(u8 r0, u8 r1) +{ + u8 t = r0; + if (--r0 < 19) + { + switch (r1) + { + case 0: + return 3; + case 1 ... 4: + if (t == r1 + 5 || t == r1 + 10 || t == r1 + 15) + return TRUE; + break; + case 5: + case 10: + case 15: + if (t >= (r1 + 1) && t <= (r1 + 4)) + return TRUE; + break; + default: + if (t == r1) + return TRUE; + } + } + return FALSE; +} + +static void sub_8142284(u8 r0) +{ + + u16 var0 = 0; + u8 var2; + u16 var3; + u8 i; + + switch (r0) + { + case 5: + case 10: + case 15: + for (i = (r0 + 1); i < (r0 + 5); i++) + { + if (!(gUnknown_0203AB88->var08 & gUnknown_085B6154[i].var08)) + var0 |= gUnknown_085B6154[i].var10; + } + sub_8151A48(&gUnknown_0203AB88->varB8, var0 &= 0xDFFF); + break; + default: + { + struct UnkStruct1 var1[3]; + memcpy(var1, gUnknown_085B63F0, sizeof(var1)); + if (r0 > 0 && r0 < 5) + var2 = 3; + else + var2 = 1; + var3 = r0 / 5 - 1; + switch (r0 % 5) + { + case 1: + var3 = gSprites[gUnknown_0203AB88->var3C[7]].oam.paletteNum * 16; + break; + case 2: + var3 = gSprites[gUnknown_0203AB88->var3C[8]].oam.paletteNum * 16; + break; + case 3: + var3 = gSprites[gUnknown_0203AB88->var3C[9]].oam.paletteNum * 16; + break; + case 4: + var3 = gSprites[gUnknown_0203AB88->var3C[10]].oam.paletteNum * 16; + break; + } + if (var2 == 1) + { + if (!(gUnknown_0203AB88->var08 & gUnknown_085B6154[r0].var08)) + { + var1[r0 / 5 - 1].var02 += var3; + sub_815168C(&gUnknown_0203AB88->varB8, 13, &var1[r0 / 5 - 1]); + } + else + { + break; + } + } + else + { + for (i = 0; i < 3; i++) + { + u8 var4 = i * 5 + r0 + 5; + if (!(gUnknown_0203AB88->var08 & gUnknown_085B6154[var4].var08)) + { + var1[var4 / 5 - 1].var02 += var3; + sub_815168C(&gUnknown_0203AB88->varB8, i + 13, &var1[var4 / 5 - 1]); + if (var2 == 3) + var0 = gUnknown_085B6154[var4].var10; + var2--; + } + } + if (var2 != 2) + var0 = 0; + } + sub_8151A48(&gUnknown_0203AB88->varB8, var0 |= gUnknown_085B6154[r0].var10); + break; + } + } +} + +static void sub_81424FC(u8 r0) +{ + vu8 i; + vu8 z; + vu16 var1; + vu16 var2; + vu8 var0; + u8 v[5]; + u8 l; + gUnknown_0203AB88->var2A = 1; + sub_8142E70(0, 0); + sub_8152058(gUnknown_0203AB88->tilemapBuffers[2], gUnknown_0203AB88->unk_397C, 14, 7, 16, 13); + switch (r0) + { + case 0: + return; + case 1 ... 4: + l = 4; + for (i = 0; i < l; i++) + { + v[i] = i * 5 + r0; + } + break; + case 5: + case 10: + case 15: + l = 5; + for (i = 0; i < l; i++) + { + v[i] = i + r0; + } + break; + default: + l = 1; + v[0] = r0; + } + for (i = 0; i < l; i++) + { + var0 = gUnknown_085B6154[v[i]].var06; + var1 = gUnknown_085B6154[v[i]].var03; + for (z = 0; z < 3; z++) + { + var2 = (gUnknown_085B6154[v[i]].var04 + z) * 32; + gUnknown_0203AB88->tilemapBuffers[2][var1 + var2 + 0] = gUnknown_0203AB88->unk_397C[(var0 + z) * 3 + 208]; + gUnknown_0203AB88->tilemapBuffers[2][var1 + var2 + 1] = gUnknown_0203AB88->unk_397C[(var0 + z) * 3 + 209]; + gUnknown_0203AB88->tilemapBuffers[2][var1 + var2 + 2] = gUnknown_0203AB88->unk_397C[(var0 + z) * 3 + 210]; + } + } +} + +static u8 sub_8142758(u8 r0) +{ + u8 var0[5] = {0, 3, 4, 6, 12}; + + if (r0 > 19) + r0 = 0; + switch (gUnknown_085B6154[r0].var01_0) + { + case 3: + r0 = r0 / 5 - 1; + if (gUnknown_0203AB88->var16[r0] > 3) + return 0; + return var0[gUnknown_0203AB88->var16[r0] + 1]; + case 4: + r0--; + if (gUnknown_0203AB88->var12[r0] > 2) + return 0; + return var0[gUnknown_0203AB88->var12[r0] + 2]; + case 12: + if (gUnknown_0203AB88->var08 & gUnknown_085B6154[r0].var08) + return 0; + return var0[4]; + } + return 0; +} + +static void sub_8142814(void) +{ + s32 x1; + s32 x2; + SetGpuReg(REG_OFFSET_BG2PA, gUnknown_0203AB88->var2C.a); + SetGpuReg(REG_OFFSET_BG2PB, gUnknown_0203AB88->var2C.b); + SetGpuReg(REG_OFFSET_BG2PC, gUnknown_0203AB88->var2C.c); + SetGpuReg(REG_OFFSET_BG2PD, gUnknown_0203AB88->var2C.d); + x1 = 0x7400 - gUnknown_0203AB88->var2C.a * (gSpriteCoordOffsetX + 116) + - gUnknown_0203AB88->var2C.b * (gSpriteCoordOffsetY + 80); + x2 = 0x5400 - gUnknown_0203AB88->var2C.c * (gSpriteCoordOffsetX + 116) + - gUnknown_0203AB88->var2C.d * (gSpriteCoordOffsetY + 80); + SetGpuReg(REG_OFFSET_BG2X_L, x1); + SetGpuReg(REG_OFFSET_BG2X_H, (x1 & 0x0fff0000) >> 16); + SetGpuReg(REG_OFFSET_BG2Y_L, x2); + SetGpuReg(REG_OFFSET_BG2Y_H, (x2 & 0x0fff0000) >> 16); +} + +static const u8 sFiller_085B644D[3] = {}; +static const u16 RouletteSpritePalette_01[] = INCBIN_U16("graphics/roulette/shadow.gbapal"); +static const u16 RouletteSpritePalette_02[] = INCBIN_U16("graphics/roulette/ball.gbapal"); +static const u16 RouletteSpritePalette_03[] = INCBIN_U16("graphics/roulette/ball_counter.gbapal"); +static const u16 RouletteSpritePalette_04[] = INCBIN_U16("graphics/roulette/cursor.gbapal"); +static const u16 RouletteSpritePalette_05[] = INCBIN_U16("graphics/roulette/credit.gbapal"); +static const u16 RouletteSpritePalette_06[] = INCBIN_U16("graphics/roulette/shroomish.gbapal"); +static const u16 RouletteSpritePalette_07[] = INCBIN_U16("graphics/roulette/tailow.gbapal"); +static const u16 RouletteSpritePalette_08[] = INCBIN_U16("graphics/roulette/poke_icons.gbapal"); +static const u16 RouletteSpritePalette_09[] = INCBIN_U16("graphics/roulette/wynaut.gbapal"); +static const u16 RouletteSpritePalette_10[] = INCBIN_U16("graphics/roulette/azurill.gbapal"); +static const u16 RouletteSpritePalette_11[] = INCBIN_U16("graphics/roulette/skitty.gbapal"); +static const u16 RouletteSpritePalette_12[] = INCBIN_U16("graphics/roulette/makuhita.gbapal"); +static const u16 RouletteSpritePalette_13[] = INCBIN_U16("graphics/roulette/85B65D0.gbapal"); +static const u16 RouletteSpritePalette_14[] = INCBIN_U16("graphics/roulette/85B65F0.gbapal"); +static const u16 RouletteSpritePalette_15[] = INCBIN_U16("graphics/roulette/85B6610.gbapal"); +static const u16 RouletteSpritePalette_16[] = INCBIN_U16("graphics/roulette/85B6630.gbapal"); +static const u32 gUnknown_085B6650[] = INCBIN_U32("graphics/roulette/ball.4bpp.lz"); +static const u32 RouletteBallCounterTiles[] = INCBIN_U32("graphics/roulette/ball_counter.4bpp.lz"); +static const u32 gUnknown_085B67FC[] = INCBIN_U32("graphics/roulette/roulette_tilt.4bpp.lz"); +static const u32 RoulettePokeIconsTiles[] = INCBIN_U32("graphics/roulette/poke_icons.4bpp.lz"); +static const u32 RoulettePokeIcons2Tiles[] = INCBIN_U32("graphics/roulette/poke_icons2.4bpp.lz"); +static const u32 gUnknown_085B7290[] = INCBIN_U32("graphics/roulette/shadow.4bpp.lz"); +static const u32 RouletteCursorTiles[] = INCBIN_U32("graphics/roulette/cursor.4bpp.lz"); + +static const struct SpritePalette gUnknown_085B7384[] = +{ + { RouletteSpritePalette_01, 1 }, + { RouletteSpritePalette_02, 2 }, + { RouletteSpritePalette_03, 3 }, + { RouletteSpritePalette_04, 4 }, + { RouletteSpritePalette_05, 5 }, + { RouletteSpritePalette_06, 6 }, + { RouletteSpritePalette_07, 7 }, + { RouletteSpritePalette_08, 8 }, + { RouletteSpritePalette_09, 9 }, + { RouletteSpritePalette_10, 10 }, + { RouletteSpritePalette_11, 11 }, + { RouletteSpritePalette_12, 12 }, + {} +}; + +static const struct OamData gOamData_85B73EC = +{ + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .shape = ST_OAM_SQUARE, + .size = 2, + .priority = 1, +}; + +static const struct OamData gOamData_85B73F4 = +{ + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .shape = ST_OAM_SQUARE, + .size = 1, + .priority = 1, +}; + +static const struct OamData gOamData_85B73FC = +{ + .y = 60, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_NORMAL, + .shape = ST_OAM_V_RECTANGLE, + .size = 2, + .priority = 2, +}; + +static const union AnimCmd gSpriteAnim_85B7404[] = { + ANIMCMD_FRAME(0, 0), + ANIMCMD_END +}; + +static const union AnimCmd *const gSpriteAnimTable_85B740C[] = { + gSpriteAnim_85B7404 +}; + +static const union AffineAnimCmd gSpriteAffineAnim_85B7410[] = { + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd *const gSpriteAffineAnimTable_85B7418[] = { + gSpriteAffineAnim_85B7410 +}; + +static const struct CompressedSpriteSheet gUnknown_085B741C = { + .data = RoulettePokeIcons2Tiles, + .size = 0xC00, + .tag = 0 +}; + +static const union AnimCmd gSpriteAnim_85B7420[] = { + ANIMCMD_FRAME(0, 0), + ANIMCMD_FRAME(32, 0), + ANIMCMD_FRAME(64, 0), + ANIMCMD_FRAME(72, 0), + ANIMCMD_FRAME(8, 0), + ANIMCMD_FRAME(40, 0), + ANIMCMD_FRAME(48, 0), + ANIMCMD_FRAME(80, 0), + ANIMCMD_FRAME(16, 0), + ANIMCMD_FRAME(24, 0), + ANIMCMD_FRAME(56, 0), + ANIMCMD_FRAME(88, 0), + ANIMCMD_END +}; + +static const union AnimCmd *const gSpriteAnimTable_85B7458[] = { + &gSpriteAnim_85B7420[0] +}; + +static const union AnimCmd *const gSpriteAnimTable_85B745C[] = { + &gSpriteAnim_85B7420[1] +}; + +static const union AnimCmd *const gSpriteAnimTable_85B7460[] = { + &gSpriteAnim_85B7420[2] +}; + +static const union AnimCmd *const gSpriteAnimTable_85B7464[] = { + &gSpriteAnim_85B7420[3] +}; + +static const union AnimCmd *const gSpriteAnimTable_85B7468[] = { + &gSpriteAnim_85B7420[4] +}; + +static const union AnimCmd *const gSpriteAnimTable_85B746C[] = { + &gSpriteAnim_85B7420[5] +}; + +static const union AnimCmd *const gSpriteAnimTable_85B7470[] = { + &gSpriteAnim_85B7420[6] +}; + +static const union AnimCmd *const gSpriteAnimTable_85B7474[] = { + &gSpriteAnim_85B7420[7] +}; + +static const union AnimCmd *const gSpriteAnimTable_85B7478[] = { + &gSpriteAnim_85B7420[8] +}; + +static const union AnimCmd *const gSpriteAnimTable_85B747C[] = { + &gSpriteAnim_85B7420[9] +}; + +static const union AnimCmd *const gSpriteAnimTable_85B7480[] = { + &gSpriteAnim_85B7420[10] +}; + +static const union AnimCmd *const gSpriteAnimTable_85B7484[] = { + &gSpriteAnim_85B7420[11] +}; + +static const struct CompressedSpriteSheet gUnknown_085B7488 = { + .data = gRouletteHeadersTiles, + .size = 0x1600, + .tag = 4 +}; + +static const struct CompressedSpriteSheet gUnknown_085B7490 = { + .data = RoulettePokeIconsTiles, + .size = 0x400, + .tag = 5 +}; + +static const union AnimCmd gSpriteAnim_85B7498[] = { + ANIMCMD_FRAME(0, 0), + ANIMCMD_FRAME(16, 0), + ANIMCMD_FRAME(32, 0), + ANIMCMD_FRAME(48, 0), + ANIMCMD_FRAME(64, 0), + ANIMCMD_FRAME(80, 0), + ANIMCMD_FRAME(96, 0), + ANIMCMD_FRAME(112, 0), + ANIMCMD_FRAME(128, 0), + ANIMCMD_FRAME(144, 0), + ANIMCMD_FRAME(160, 0), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_85B74C8[] = { + ANIMCMD_FRAME(0, 0), + ANIMCMD_FRAME(4, 0), + ANIMCMD_FRAME(8, 0), + ANIMCMD_FRAME(12, 0), + ANIMCMD_END +}; + +static const union AnimCmd *const gSpriteAnimTable_85B74DC[] = { + &gSpriteAnim_85B7498[0] +}; + +static const union AnimCmd *const gSpriteAnimTable_85B74E0[] = { + &gSpriteAnim_85B7498[2] +}; + +static const union AnimCmd *const gSpriteAnimTable_85B74E4[] = { + &gSpriteAnim_85B7498[4] +}; + +static const union AnimCmd *const gSpriteAnimTable_85B74E8[] = { + &gSpriteAnim_85B7498[6] +}; + +static const union AnimCmd *const gSpriteAnimTable_85B74EC[] = { + &gSpriteAnim_85B7498[8] +}; + +static const union AnimCmd *const gSpriteAnimTable_85B74F0[] = { + &gSpriteAnim_85B7498[9] +}; + +static const union AnimCmd *const gSpriteAnimTable_85B74F4[] = { + &gSpriteAnim_85B7498[10] +}; + +static const union AnimCmd *const gSpriteAnimTable_85B74F8[] = { + &gSpriteAnim_85B74C8[0] +}; + +static const union AnimCmd *const gSpriteAnimTable_85B74FC[] = { + &gSpriteAnim_85B74C8[1] +}; + +static const union AnimCmd *const gSpriteAnimTable_85B7500[] = { + &gSpriteAnim_85B74C8[2] +}; + +static const union AnimCmd *const gSpriteAnimTable_85B7504[] = { + &gSpriteAnim_85B74C8[3] +}; + +static const struct SpriteTemplate gSpriteTemplate_85B7508[] = +{ + { + .tileTag = 4, + .paletteTag = 8, + .oam = &gOamData_85B73EC, + .anims = gSpriteAnimTable_85B74DC, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_814390C + }, + { + .tileTag = 4, + .paletteTag = 8, + .oam = &gOamData_85B73EC, + .anims = gSpriteAnimTable_85B74E0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_814390C + }, + { + .tileTag = 4, + .paletteTag = 8, + .oam = &gOamData_85B73EC, + .anims = gSpriteAnimTable_85B74E4, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_814390C + }, + { + .tileTag = 4, + .paletteTag = 8, + .oam = &gOamData_85B73EC, + .anims = gSpriteAnimTable_85B74E8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_814390C + } +}; + +static const struct SpriteTemplate gSpriteTemplate_85B7568[] = +{ + { + .tileTag = 4, + .paletteTag = 8, + .oam = &gOamData_85B73EC, + .anims = gSpriteAnimTable_85B74EC, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_814390C + }, + { + .tileTag = 4, + .paletteTag = 8, + .oam = &gOamData_85B73EC, + .anims = gSpriteAnimTable_85B74F0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_814390C + }, + { + .tileTag = 4, + .paletteTag = 8, + .oam = &gOamData_85B73EC, + .anims = gSpriteAnimTable_85B74F4, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_814390C + } +}; + +static const struct SpriteTemplate gSpriteTemplate_85B75B0[] = +{ + { + .tileTag = 5, + .paletteTag = 8, + .oam = &gOamData_85B73F4, + .anims = gSpriteAnimTable_85B74F8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_814390C + }, + { + .tileTag = 5, + .paletteTag = 8, + .oam = &gOamData_85B73F4, + .anims = gSpriteAnimTable_85B74FC, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_814390C + }, + { + .tileTag = 5, + .paletteTag = 8, + .oam = &gOamData_85B73F4, + .anims = gSpriteAnimTable_85B7500, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_814390C + }, + { + .tileTag = 5, + .paletteTag = 8, + .oam = &gOamData_85B73F4, + .anims = gSpriteAnimTable_85B7504, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_814390C + } +}; + +static const struct SpriteTemplate gSpriteTemplate_85B7610[] = +{ + { + .tileTag = 0, + .paletteTag = 9, + .oam = &gOamData_85B73FC, + .anims = gSpriteAnimTable_85B7458, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8143280 + }, + { + .tileTag = 0, + .paletteTag = 10, + .oam = &gOamData_85B73FC, + .anims = gSpriteAnimTable_85B745C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8143280 + }, + { + .tileTag = 0, + .paletteTag = 11, + .oam = &gOamData_85B73FC, + .anims = gSpriteAnimTable_85B7460, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8143280 + }, + { + .tileTag = 0, + .paletteTag = 12, + .oam = &gOamData_85B73FC, + .anims = gSpriteAnimTable_85B7464, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8143280 + }, + { + .tileTag = 0, + .paletteTag = 9, + .oam = &gOamData_85B73FC, + .anims = gSpriteAnimTable_85B7468, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8143280 + }, + { + .tileTag = 0, + .paletteTag = 10, + .oam = &gOamData_85B73FC, + .anims = gSpriteAnimTable_85B746C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8143280 + }, + { + .tileTag = 0, + .paletteTag = 11, + .oam = &gOamData_85B73FC, + .anims = gSpriteAnimTable_85B7470, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8143280 + }, + { + .tileTag = 0, + .paletteTag = 12, + .oam = &gOamData_85B73FC, + .anims = gSpriteAnimTable_85B7474, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8143280 + }, + { + .tileTag = 0, + .paletteTag = 9, + .oam = &gOamData_85B73FC, + .anims = gSpriteAnimTable_85B7478, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8143280 + }, + { + .tileTag = 0, + .paletteTag = 10, + .oam = &gOamData_85B73FC, + .anims = gSpriteAnimTable_85B747C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8143280 + }, + { + .tileTag = 0, + .paletteTag = 11, + .oam = &gOamData_85B73FC, + .anims = gSpriteAnimTable_85B7480, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8143280 + }, + { + .tileTag = 0, + .paletteTag = 12, + .oam = &gOamData_85B73FC, + .anims = gSpriteAnimTable_85B7484, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8143280 + } +}; + +static const struct OamData gOamData_85B7730 = +{ + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .shape = ST_OAM_H_RECTANGLE, + .size = 3, + .priority = 1, +}; + +static const struct OamData gOamData_85B7738 = +{ + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .shape = ST_OAM_V_RECTANGLE, + .size = 0, + .priority = 1, +}; + +static const struct OamData gOamData_85B7740 = +{ + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .shape = ST_OAM_H_RECTANGLE, + .size = 2, + .priority = 1, +}; + +static const struct OamData gOamData_85B7748 = +{ + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .shape = ST_OAM_H_RECTANGLE, + .size = 0, + .priority = 1, +}; + +static const struct CompressedSpriteSheet gUnknown_085B7750[] = +{ + { + .data = gRouletteCreditTiles, + .size = 0x400, + .tag = 7 + }, + { + .data = gRouletteNumbersTiles, + .size = 0x280, + .tag = 8 + }, + { + .data = gRouletteMultiplierTiles, + .size = 0x500, + .tag = 9 + }, + { + .data = RouletteBallCounterTiles, + .size = 0x140, + .tag = 10 + }, + { + .data = RouletteCursorTiles, + .size = 0x200, + .tag = 11 + }, + {} +}; + +static const union AnimCmd gSpriteAnim_85B7780[] = { + ANIMCMD_FRAME(0, 0), + ANIMCMD_FRAME(2, 0), + ANIMCMD_FRAME(4, 0), + ANIMCMD_FRAME(6, 0), + ANIMCMD_FRAME(8, 0), + ANIMCMD_FRAME(10, 0), + ANIMCMD_FRAME(12, 0), + ANIMCMD_FRAME(14, 0), + ANIMCMD_FRAME(16, 0), + ANIMCMD_FRAME(18, 0), + // BUG: Animation not terminated properly + //ANIMCMD_END +}; + +static const union AnimCmd *const gSpriteAnimTable_85B77A8[] = { + gSpriteAnim_85B7780 +}; + +static const union AnimCmd gSpriteAnim_85B77AC[] = { + ANIMCMD_FRAME(0, 0), + ANIMCMD_FRAME(8, 0), + ANIMCMD_FRAME(16, 0), + ANIMCMD_FRAME(24, 0), + ANIMCMD_FRAME(32, 0), + ANIMCMD_END +}; + +static const union AnimCmd *const gSpriteAnimTable_85B77C4[] = { + gSpriteAnim_85B77AC +}; + +static const union AnimCmd gSpriteAnim_85B77C8[] = { + ANIMCMD_FRAME(0, 0), + ANIMCMD_FRAME(2, 0), + ANIMCMD_FRAME(4, 0), + ANIMCMD_FRAME(6, 0), + ANIMCMD_FRAME(8, 0), + ANIMCMD_END +}; + +static const union AnimCmd *const gSpriteAnimTable_85B77E0[] = { + gSpriteAnim_85B77C8 +}; + +static const struct SpriteTemplate gSpriteTemplate_85B77E4 = +{ + .tileTag = 7, + .paletteTag = 5, + .oam = &gOamData_85B7730, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gUnknown_085B77FC = +{ + .tileTag = 8, + .paletteTag = 5, + .oam = &gOamData_85B7738, + .anims = gSpriteAnimTable_85B77A8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gUnknown_085B7814 = +{ + .tileTag = 9, + .paletteTag = 5, + .oam = &gOamData_85B7740, + .anims = gSpriteAnimTable_85B77C4, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_814390C +}; + +static const struct SpriteTemplate gUnknown_085B782C = +{ + .tileTag = 10, + .paletteTag = 3, + .oam = &gOamData_85B7748, + .anims = gSpriteAnimTable_85B77E0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gUnknown_085B7844 = +{ + .tileTag = 11, + .paletteTag = 5, + .oam = &gOamData_85B73EC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct OamData gOamData_85B785C = +{ + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .shape = ST_OAM_SQUARE, + .size = 1, + .priority = 2, +}; + +static const struct CompressedSpriteSheet gUnknown_085B7864 = { + .data = gUnknown_085B6650, + .size = 0x200, + .tag = 12 +}; + +static const union AnimCmd gSpriteAnim_85B786C[] = { + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(4, 5), + ANIMCMD_FRAME(8, 5), + ANIMCMD_FRAME(4, 5), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd gSpriteAnim_85B7880[] = { + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(4, 10), + ANIMCMD_FRAME(8, 10), + ANIMCMD_FRAME(4, 10), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd gSpriteAnim_85B7894[] = { + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(4, 15), + ANIMCMD_FRAME(8, 15), + ANIMCMD_FRAME(4, 15), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd gSpriteAnim_85B78A8[] = { + ANIMCMD_FRAME(4, 2), + ANIMCMD_FRAME(8, 5), + ANIMCMD_FRAME(4, 5), + ANIMCMD_FRAME(12, 5), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_85B78BC[] = { + ANIMCMD_FRAME(4, 2), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(8, 4), + ANIMCMD_FRAME(12, 4), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_85B78D4[] = { + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(4, 5), + ANIMCMD_FRAME(8, 5), + ANIMCMD_FRAME(12, 5), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_85B78E8[] = { + ANIMCMD_FRAME(12, 0), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_85B78F0[] = { + ANIMCMD_FRAME(8, 2), + ANIMCMD_FRAME(4, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(12, 5), + ANIMCMD_END +}; + +static const union AnimCmd *const gSpriteAnimTable_85B7904[] = { + gSpriteAnim_85B786C, + gSpriteAnim_85B7880, + gSpriteAnim_85B7894, + gSpriteAnim_85B78A8, + gSpriteAnim_85B78F0, + gSpriteAnim_85B78BC, + gSpriteAnim_85B78D4, + gSpriteAnim_85B78D4, + gSpriteAnim_85B78E8 +}; + +static const struct SpriteTemplate gSpriteTemplate_85B7928 = +{ + .tileTag = 12, + .paletteTag = 2, + .oam = &gOamData_85B785C, + .anims = gSpriteAnimTable_85B7904, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct OamData gOamData_85B7940 = +{ + .y = 81, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_NORMAL, + .shape = ST_OAM_SQUARE, + .size = 3, + .priority = 2, +}; + +static const struct CompressedSpriteSheet gUnknown_085B7948 = { + .data = gRouletteCenter_Gfx, + .size = 0x800, + .tag = 6 +}; + +static const struct SpriteTemplate gSpriteTemplate_85B7950 = +{ + .tileTag = 6, + .paletteTag = 2, + .oam = &gOamData_85B7940, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_814399C +}; + +static const struct OamData gOamData_85B7968 = +{ + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .shape = ST_OAM_SQUARE, + .size = 2, + .priority = 2, +}; + +static const struct OamData gOamData_85B7970 = +{ + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .shape = ST_OAM_SQUARE, + .size = 2, + .priority = 2, +}; + +static const struct CompressedSpriteSheet gUnknown_085B7978 = { + .data = gUnknown_085B67FC, + .size = 0xE00, + .tag = 13 +}; + +static const union AnimCmd gSpriteAnim_85B7980[] = { + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(16, 6), + ANIMCMD_FRAME(32, 6), + ANIMCMD_FRAME(48, 6), + ANIMCMD_FRAME(32, 6), + ANIMCMD_FRAME(64, 6), + ANIMCMD_JUMP(2) +}; + +static const union AnimCmd gSpriteAnim_85B799C[] = { + ANIMCMD_FRAME(80, 10), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_85B79A4[] = { + ANIMCMD_FRAME(80, 10, .hFlip = TRUE), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_85B79AC[] = { + ANIMCMD_FRAME(80, 20), + ANIMCMD_FRAME(96, 20), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd gSpriteAnim_85B79B8[] = { + ANIMCMD_FRAME(80, 20, .hFlip = TRUE), + ANIMCMD_FRAME(96, 20, .hFlip = TRUE), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd gSpriteAnim_85B79C4[] = { + ANIMCMD_FRAME(80, 10), + ANIMCMD_FRAME(96, 10), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd gSpriteAnim_85B79D0[] = { + ANIMCMD_FRAME(80, 10, .hFlip = TRUE), + ANIMCMD_FRAME(96, 10, .hFlip = TRUE), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd *const gSpriteAnimTable_85B79DC[] = { + gSpriteAnim_85B7980 +}; + +static const union AnimCmd *const gSpriteAnimTable_85B79E0[] = { + gSpriteAnim_85B799C, + gSpriteAnim_85B79A4, + gSpriteAnim_85B79AC, + gSpriteAnim_85B79B8, + gSpriteAnim_85B79C4, + gSpriteAnim_85B79D0 +}; + +static const struct SpriteTemplate gSpriteTemplate_85B79F8 = +{ + .tileTag = 13, + .paletteTag = 6, + .oam = &gOamData_85B7968, + .anims = gSpriteAnimTable_85B79DC, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gSpriteTemplate_85B7A10 = +{ + .tileTag = 13, + .paletteTag = 7, + .oam = &gOamData_85B7970, + .anims = gSpriteAnimTable_85B79E0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8145294 +}; + +static const struct OamData gOamData_85B7A28 = +{ + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .shape = ST_OAM_SQUARE, + .size = 1, + .priority = 2, +}; + +static const struct OamData gOamData_85B7A30 = +{ + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .shape = ST_OAM_H_RECTANGLE, + .size = 2, + .priority = 2, +}; + +static const struct OamData gOamData_85B7A38 = +{ + .affineMode = ST_OAM_AFFINE_NORMAL, + .objMode = ST_OAM_OBJ_NORMAL, + .shape = ST_OAM_H_RECTANGLE, + .size = 2, + .priority = 2, +}; + +static const struct CompressedSpriteSheet gUnknown_085B7A40 = { + .data = gUnknown_085B7290, + .size = 0x180, + .tag = 14 +}; + +static const union AffineAnimCmd gSpriteAffineAnim_85B7A48[] = { + AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0), + AFFINEANIMCMD_FRAME(2, 2, 0, 60), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd gSpriteAffineAnim_85B7A60[] = { + AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(-2, 0x0, 0, 15), + AFFINEANIMCMD_FRAME(-1, -2, 0, 15), + AFFINEANIMCMD_FRAME(-1, -5, 0, 24), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd *const gSpriteAffineAnimTable_85B7A88[] = { + gSpriteAffineAnim_85B7A48 +}; + +static const union AffineAnimCmd *const gSpriteAffineAnimTable_85B7A8C[] = { + gSpriteAffineAnim_85B7A60 +}; + +static const union AffineAnimCmd gSpriteAffineAnim_85B7A90[] = { + AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd *const gSpriteAffineAnimTable_85B7AA0[] = { + gSpriteAffineAnim_85B7A90 +}; + +static const union AnimCmd gSpriteAnim_85B7AA4[] = { + ANIMCMD_FRAME(0, 0), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_85B7AAC[] = { + ANIMCMD_FRAME(4, 0), + ANIMCMD_END +}; + +static const union AnimCmd *const gSpriteAnimTable_85B7AB4[] = { + gSpriteAnim_85B7AA4 +}; + +static const union AnimCmd *const gSpriteAnimTable_85B7AB8[] = { + gSpriteAnim_85B7AAC +}; + +static const struct SpriteTemplate gSpriteTemplate_85B7ABC[] = +{ + { + .tileTag = 14, + .paletteTag = 1, + .oam = &gOamData_85B7A28, + .anims = gSpriteAnimTable_85B7AB4, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy + }, + { + .tileTag = 14, + .paletteTag = 1, + .oam = &gOamData_85B7A30, + .anims = gSpriteAnimTable_85B7AB8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8144E60 + } +}; + +static const struct SpriteTemplate gUnknown_085B7AEC = +{ + .tileTag = 14, + .paletteTag = 1, + .oam = &gOamData_85B7A38, + .anims = gSpriteAnimTable_85B7AB8, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_85B7A8C, + .callback = sub_8145294 +}; + +static void sub_81428C4(u8 r0) +{ + DisplayYesNoMenu(); + DoYesNoFuncWithChoice(r0, &gUnknown_085B6408); +} + +static void sub_81428E4(u8 taskId) +{ + if (!gPaletteFade.active) + { + SetVBlankCallback(NULL); + SetMainCallback2(sub_81405CC); + DestroyTask(taskId); + } +} + +static void sub_8142918(u8 taskId) +{ + sub_819746C(0, TRUE); + HideCoinsWindow(); + FreeAllWindowBuffers(); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gPaletteFade.delayCounter = gPaletteFade.multipurpose2; + UpdatePaletteFade(); + gTasks[taskId].func = sub_81428E4; +} + +static void sub_814297C(u8 taskId) +{ + sub_819746C(0, FALSE); + HideCoinsWindow(); + ScriptContext2_Disable(); + DestroyTask(taskId); +} + +static void sub_81429A0(u8 taskId) +{ + gTasks[taskId].data[0]++; + if (gMain.newKeys & (A_BUTTON | B_BUTTON)) + { + gSpecialVar_0x8004 = 1; + HideCoinsWindow(); + sub_819746C(0, TRUE); + ScriptContext2_Disable(); + DestroyTask(taskId); + } +} + +static void sub_81429F0(u8 taskId) +{ + if (gMain.newKeys & (A_BUTTON | B_BUTTON)) + { + u32 temp = gUnknown_085B6344[(gSpecialVar_0x8004 & 1) + (gSpecialVar_0x8004 >> 7 << 1)]; + ConvertIntToDecimalStringN(gStringVar1, temp, STR_CONV_MODE_LEADING_ZEROS, 1); + StringExpandPlaceholders(gStringVar4, gUnknown_082A5B12); + NewMenuHelpers_DrawStdWindowFrame(0, FALSE); + AddTextPrinterParameterized(0, 1, gStringVar4, 0, 1, TEXT_SPEED_FF, NULL); + CopyWindowToVram(0, 3); + gTasks[taskId].func = sub_81428C4; + } +} + +static void Task_Roulette_0(u8 taskId) +{ + s32 temp; + PrintCoinsString(gTasks[taskId].data[13]); + temp = gUnknown_085B6344[(gSpecialVar_0x8004 & 1) + (gSpecialVar_0x8004 >> 7 << 1)]; + ConvertIntToDecimalStringN(gStringVar1, temp, 2, 1); + if (gTasks[taskId].data[13] >= temp) + { + if ((gSpecialVar_0x8004 & 0x80) && (gSpecialVar_0x8004 & 1)) + { + NewMenuHelpers_DrawStdWindowFrame(0, FALSE); + AddTextPrinterParameterized(0, 1, gUnknown_082A5B6B, 0, 1, TEXT_SPEED_FF, NULL); + CopyWindowToVram(0, 3); + gTasks[taskId].func = sub_81429F0; + } + else + { + StringExpandPlaceholders(gStringVar4, gUnknown_082A5B12); + NewMenuHelpers_DrawStdWindowFrame(0, FALSE); + AddTextPrinterParameterized(0, 1, gStringVar4, 0, 1, TEXT_SPEED_FF, NULL); + CopyWindowToVram(0, 3); + gTasks[taskId].func = sub_81428C4; + } + } + else + { + StringExpandPlaceholders(gStringVar4, gUnknown_082A5B4E); + NewMenuHelpers_DrawStdWindowFrame(0, FALSE); + AddTextPrinterParameterized(0, 1, gStringVar4, 0, 1, TEXT_SPEED_FF, NULL); + CopyWindowToVram(0, 3); + gTasks[taskId].func = sub_81429A0; + gTasks[taskId].data[13] = 0; + gTasks[taskId].data[0] = 0; + } +} + +void PlayRoulette(void) +{ + u8 taskId; + + ScriptContext2_Enable(); + ShowCoinsWindow(GetCoins(), 1, 1); + taskId = CreateTask(Task_Roulette_0, 0); + gTasks[taskId].data[13] = GetCoins(); +} + +static void sub_8142C0C(u8 r0) +{ + if (!r0) + { + FreeAllSpritePalettes(); + LoadSpritePalettes(gUnknown_085B7384); + LoadCompressedSpriteSheet(&gUnknown_085B7864); + LoadCompressedSpriteSheet(&gUnknown_085B7978); + LoadCompressedSpriteSheet(&gUnknown_085B7A40); + } + else + { + FreeSpriteTilesByTag(14); + FreeSpriteTilesByTag(13); + FreeSpriteTilesByTag(12); + FreeAllSpritePalettes(); + } +} + +static u8 sub_8142C60(const struct SpriteTemplate *r0, u8 r1, u16 *r2) +{ + u16 temp; + u8 spriteId = CreateSprite(r0, 116, 80, r0->oam->y); + gSprites[spriteId].data[0] = *r2; + gSprites[spriteId].data[1] = r1; + gSprites[spriteId].coordOffsetEnabled = TRUE; + gSprites[spriteId].animPaused = TRUE; + gSprites[spriteId].affineAnimPaused = TRUE; + temp = *r2; + *r2 += 30; + if (*r2 >= 360) + *r2 = temp - 330; + return spriteId; +} + +static void sub_8142CD0(void) +{ + u8 i, j; + u8 spriteId; + struct SpriteSheet s; + LZ77UnCompWram(gUnknown_085B7488.data, gDecompressionBuffer); + s.data = gDecompressionBuffer; + s.size = gUnknown_085B7488.size; + s.tag = gUnknown_085B7488.tag; + LoadSpriteSheet(&s); + LZ77UnCompWram(gUnknown_085B7490.data, gDecompressionBuffer); + s.data = gDecompressionBuffer; + s.size = gUnknown_085B7490.size; + s.tag = gUnknown_085B7490.tag; + LoadSpriteSheet(&s); + for (i = 0; i < 3; i++) + { + u8 o = i * 24; + for (j = 0; j < 4; j++) + { + spriteId = gUnknown_0203AB88->var3C[(i * 4) + 29 + j] = CreateSprite(&gSpriteTemplate_85B75B0[j], (j * 24) + 148, o + 92, 30); + gSprites[spriteId].animPaused = TRUE; + o += 24; + if (o >= 72) + o = 0; + } + } + for (i = 0; i < 4; i++) + { + spriteId = gUnknown_0203AB88->var3C[i + 41] = CreateSprite(&gSpriteTemplate_85B7508[i], (i * 24) + 148, 70, 30); + gSprites[spriteId].animPaused = TRUE; + } + for (i = 0; i < 3; i++) + { + spriteId = gUnknown_0203AB88->var3C[i + 45] = CreateSprite(&gSpriteTemplate_85B7568[i], 126, (i * 24) + 92, 30); + gSprites[spriteId].animPaused = TRUE; + } +} + +static void unref_sub_8142E3C(void) +{ + u8 i; + for (i = 0; i < 12; i++) + { + DestroySprite(&gSprites[gUnknown_0203AB88->var3C[i + 29]]); + } +} + +static void sub_8142E70(u8 r0, u8 r1) +{ + u8 i; + switch (r0) + { + case 1: + for (i = 0; i < 19; i++) + { + gSprites[gUnknown_0203AB88->var3C[i + 29]].invisible = TRUE; + } + break; + case 0: + for (i = 0; i < 12; i++) + { + if (!(gUnknown_0203AB88->var08 & gUnknown_085B62E4[i].var04)) + gSprites[gUnknown_0203AB88->var3C[i + 29]].invisible = FALSE; + else if (gUnknown_085B62E4[i].var02 != r1) + gSprites[gUnknown_0203AB88->var3C[i + 29]].invisible = TRUE; + else + gSprites[gUnknown_0203AB88->var3C[i + 29]].invisible = FALSE; + } + for (; i < 19; i++) + { + gSprites[gUnknown_0203AB88->var3C[i + 29]].invisible = FALSE; + } + break; + } +} + +static void sub_8142F7C(void) +{ + u8 i; + for (i = 0; i < 6; i++) + { + gUnknown_0203AB88->var3C[i + 49] = CreateSprite(&gSpriteTemplate_85B7928, 116, 20, 10); + gSprites[gUnknown_0203AB88->var3C[i + 49]].invisible = TRUE; + gSprites[gUnknown_0203AB88->var3C[i + 49]].data[0] = 1; + gSprites[gUnknown_0203AB88->var3C[i + 49]].callback = sub_814390C; + gSprites[gUnknown_0203AB88->var3C[i + 49]].oam.priority = 1; + StartSpriteAnim(&gSprites[gUnknown_0203AB88->var3C[i + 49]], 8); + } +} + +static void sub_8143038(u8 r0, u8 r1) +{ + u8 i = 0; + if (r0) + { + for ( ; i < 6; i++) + { + gSprites[gUnknown_0203AB88->var3C[i + 49]].invisible = TRUE; + } + } + else + { + for ( ; i < 6; i++) + { + if (!gUnknown_0203AB88->var0C[i] || i == r1) + { + gSprites[gUnknown_0203AB88->var3C[i + 49]].invisible = TRUE; + } + else + { + gSprites[gUnknown_0203AB88->var3C[i + 49]].invisible = FALSE; + gSprites[gUnknown_0203AB88->var3C[i + 49]].pos1.x = (gUnknown_085B6154[gUnknown_0203AB88->var0C[i]].var03 + 1) * 8 + 4; + gSprites[gUnknown_0203AB88->var3C[i + 49]].pos1.y = (gUnknown_085B6154[gUnknown_0203AB88->var0C[i]].var04 + 1) * 8 + 3; + } + } + } +} + +static void sub_8143150(u8 r0) +{ + if (!r0) + { + gSprites[gUnknown_0203AB88->var3C[48]].invisible = TRUE; + } + else + { + gSprites[gUnknown_0203AB88->var3C[48]].invisible = FALSE; + gSprites[gUnknown_0203AB88->var3C[48]].pos1.x = (gUnknown_085B6154[r0].var03 + 2) * 8; + gSprites[gUnknown_0203AB88->var3C[48]].pos1.y = (gUnknown_085B6154[r0].var04 + 2) * 8; + } +} + +static void sub_81431E4(void) +{ + u8 i, j; + u16 k; + struct SpriteSheet s; + + LZ77UnCompWram(gUnknown_085B741C.data, gDecompressionBuffer); + s.data = gDecompressionBuffer; + s.size = gUnknown_085B741C.size; + s.tag = gUnknown_085B741C.tag; + LoadSpriteSheet(&s); + + k = 15; + for (i = 0; i < 3; i++) + { + for (j = 0; j < 4; j++) + { + u8 spriteId; + spriteId = gUnknown_0203AB88->var3C[(i * 4) + 7 + j] = sub_8142C60(&gSpriteTemplate_85B7610[i * 4 + j], 40, &k); + gSprites[spriteId].animPaused = TRUE; + gSprites[spriteId].affineAnimPaused = TRUE; + } + } +} + +static void sub_8143280(struct Sprite *sprite) +{ + s16 cos; + s16 sin; + u32 matrixNum; + s16 angle = gUnknown_0203AB88->var24 + sprite->data[0]; + if (angle >= 360) + angle -= 360; + sin = Sin2(angle); + cos = Cos2(angle); + sprite->pos2.x = sin * sprite->data[1] >> 12; + sprite->pos2.y = -cos * sprite->data[1] >> 12; + matrixNum = sprite->oam.matrixNum; + sin /= 16; + gOamMatrices[matrixNum].d = cos /= 16; + gOamMatrices[matrixNum].a = cos; + gOamMatrices[matrixNum].b = sin; + gOamMatrices[matrixNum].c = -sin; +} + +static void sub_8143314(void) +{ + u8 i; + for (i = 0; i < 5; i++) + { + struct SpriteSheet s; + LZ77UnCompWram(gUnknown_085B7750[i].data, gDecompressionBuffer); + s.data = gDecompressionBuffer; + s.size = gUnknown_085B7750[i].size; + s.tag = gUnknown_085B7750[i].tag; + LoadSpriteSheet(&s); + } + gUnknown_0203AB88->var3C[20] = CreateSprite(&gSpriteTemplate_85B77E4, 208, 16, 4); + gSprites[gUnknown_0203AB88->var3C[20]].animPaused = TRUE; + for (i = 0; i < 4; i++) + { + gUnknown_0203AB88->var3C[i + 21] = CreateSprite(&gUnknown_085B77FC, i * 8 + 196, 24, 0); + gSprites[gUnknown_0203AB88->var3C[i + 21]].invisible = TRUE; + gSprites[gUnknown_0203AB88->var3C[i + 21]].animPaused = TRUE; + } + gUnknown_0203AB88->var3C[25] = CreateSprite(&gUnknown_085B7814, 120, 68, 4); + gSprites[gUnknown_0203AB88->var3C[25]].animPaused = TRUE; + for (i = 0; i < 3; i++) + { + gUnknown_0203AB88->var3C[i + 26] = CreateSprite(&gUnknown_085B782C, i * 16 + 192, 36, 4); + gSprites[gUnknown_0203AB88->var3C[i + 26]].invisible = TRUE; + gSprites[gUnknown_0203AB88->var3C[i + 26]].animPaused = TRUE; + } + gUnknown_0203AB88->var3C[48] = CreateSprite(&gUnknown_085B7844, 152, 96, 9); + gSprites[gUnknown_0203AB88->var3C[48]].oam.priority = 1; + gSprites[gUnknown_0203AB88->var3C[48]].animPaused = TRUE; + gSprites[gUnknown_0203AB88->var3C[48]].invisible = TRUE; +} + +static void sub_8143514(u16 r0) +{ + u8 i; + u16 d = 1000; + bool8 v = FALSE; + for (i = 0; i < 4; i++) + { + u8 t = r0 / d; + gSprites[gUnknown_0203AB88->var3C[i + 21]].invisible = TRUE; + if (t > 0 || v || i == 3) + { + gSprites[gUnknown_0203AB88->var3C[i + 21]].invisible = FALSE; + gSprites[gUnknown_0203AB88->var3C[i + 21]].oam.tileNum = + gSprites[gUnknown_0203AB88->var3C[i + 21]].sheetTileStart + + (*gSprites[gUnknown_0203AB88->var3C[i + 21]].anims + t)->type; + v = TRUE; + } + r0 = r0 % d; + d = d / 10; + } +} + +static u8 sub_8143614(u8 r0) +{ + u8 t[5] = {0, 1, 2, 3, 4}; + + if (r0 >= 20) + r0 = 0; + switch (gUnknown_085B6154[r0].var01_0) + { + case 3: + r0 = r0 / 5 - 1; + if (gUnknown_0203AB88->var16[r0] > 3) + return 0; + return t[gUnknown_0203AB88->var16[r0] + 1]; + case 4: + r0--; + if (gUnknown_0203AB88->var12[r0] > 2) + return 0; + return t[gUnknown_0203AB88->var12[r0] + 2]; + case 12: + if (gUnknown_0203AB88->var08 & gUnknown_085B6154[r0].var08) + return 0; + return t[4]; + } + return 0; +} + +static void sub_81436D0(u8 r0) +{ + struct Sprite *s = &gSprites[gUnknown_0203AB88->var3C[25]]; + s->animCmdIndex = sub_8143614(r0); + s->oam.tileNum = s->sheetTileStart + (*s->anims + s->animCmdIndex)->type; +} + +static void sub_814372C(u8 r0) +{ + u8 i; + u8 t = 0; + if (gUnknown_0203AB88->var19 == 1) + t = 2; + switch (r0) + { + case 6: + for (i = 0; i < 3; i++) + { + gSprites[gUnknown_0203AB88->var3C[i + 26]].invisible = FALSE; + gSprites[gUnknown_0203AB88->var3C[i + 26]].oam.tileNum = + gSprites[gUnknown_0203AB88->var3C[i + 26]].sheetTileStart + + (*gSprites[gUnknown_0203AB88->var3C[i + 26]].anims)->type; + } + break; + case 5: + gSprites[gUnknown_0203AB88->var3C[28]].oam.tileNum = + gSprites[gUnknown_0203AB88->var3C[28]].sheetTileStart + + (*gSprites[gUnknown_0203AB88->var3C[28]].anims + t + 1)->type; + break; + case 4: + gSprites[gUnknown_0203AB88->var3C[28]].oam.tileNum = + gSprites[gUnknown_0203AB88->var3C[28]].sheetTileStart + + (*gSprites[gUnknown_0203AB88->var3C[28]].anims + t + 2)->type; + break; + case 3: + gSprites[gUnknown_0203AB88->var3C[27]].oam.tileNum = + gSprites[gUnknown_0203AB88->var3C[27]].sheetTileStart + + (*gSprites[gUnknown_0203AB88->var3C[27]].anims + t + 1)->type; + break; + case 2: + gSprites[gUnknown_0203AB88->var3C[27]].oam.tileNum = + gSprites[gUnknown_0203AB88->var3C[27]].sheetTileStart + + (*gSprites[gUnknown_0203AB88->var3C[27]].anims + t + 2)->type; + break; + case 1: + gSprites[gUnknown_0203AB88->var3C[26]].oam.tileNum = + gSprites[gUnknown_0203AB88->var3C[26]].sheetTileStart + + (*gSprites[gUnknown_0203AB88->var3C[26]].anims + t + 1)->type; + break; + case 0: + default: + for (i = 0; i < 3; i++) + { + gSprites[gUnknown_0203AB88->var3C[i + 26]].oam.tileNum = + gSprites[gUnknown_0203AB88->var3C[i + 26]].sheetTileStart + + (*gSprites[gUnknown_0203AB88->var3C[i + 26]].anims + t + 2)->type; + } + } +} + +static void sub_814390C(struct Sprite *sprite) +{ + sprite->pos2.x = gUnknown_0203AB88->var26; +} + +static void sub_814391C(void) +{ + u8 spriteId; + struct SpriteSheet s; + LZ77UnCompWram(gUnknown_085B7948.data, gDecompressionBuffer); + s.data = gDecompressionBuffer; + s.size = gUnknown_085B7948.size; + s.tag = gUnknown_085B7948.tag; + LoadSpriteSheet(&s); + spriteId = CreateSprite(&gSpriteTemplate_85B7950, 116, 80, 81); + gSprites[spriteId].data[0] = gUnknown_0203AB88->var24; + gSprites[spriteId].data[1] = 0; + gSprites[spriteId].animPaused = TRUE; + gSprites[spriteId].affineAnimPaused = TRUE; + gSprites[spriteId].coordOffsetEnabled = TRUE; +} + +static void sub_814399C(struct Sprite *sprite) +{ + u32 t = sprite->oam.matrixNum; + struct OamMatrix *m = &gOamMatrices[0]; + m[t].d = gUnknown_0203AB88->var2C.a; + m[t].a = gUnknown_0203AB88->var2C.a; + m[t].b = gUnknown_0203AB88->var2C.b; + m[t].c = gUnknown_0203AB88->var2C.c; +} + +static void sub_81439C8(void) +{ + u8 i; + for (i = 0; i < 6; i++) + { + gUnknown_0203AB88->var3C[i] = CreateSprite(&gSpriteTemplate_85B7928, 116, 80, 57 - i); + if (gUnknown_0203AB88->var3C[i] != MAX_SPRITES) + { + gSprites[gUnknown_0203AB88->var3C[i]].invisible = TRUE; + gSprites[gUnknown_0203AB88->var3C[i]].coordOffsetEnabled = TRUE; + } + } +} + +static void sub_8143A40(void) +{ + u8 t = gUnknown_0203AB88->var3C[0]; + u8 i; + for (i = 0; i < 6; i++) + { + u8 j; + gSprites[t].invisible = TRUE; + gSprites[t].callback = &SpriteCallbackDummy; + StartSpriteAnim(&gSprites[t], 0); + for (j = 0; j < 8; j++) + { + gSprites[t].data[j] = 0; + } + t++; + } +} + +static s16 sub_8143AC8(struct Sprite *sprite) +{ + if (gUnknown_0203AB88->var24 > sprite->data[3]) + { + sprite->data[6] = 360 - gUnknown_0203AB88->var24 + sprite->data[3]; + if (sprite->data[6] >= 360) + sprite->data[6] -= 360; + } + else + { + sprite->data[6] = sprite->data[3] - gUnknown_0203AB88->var24; + } + + return sprite->data[6]; +} + +static u8 sub_8143B14(struct Sprite *sprite) +{ + gUnknown_0203AB88->var7E = sub_8143AC8(sprite) / 30.0f; + return gUnknown_0203AB88->var7E; +} + +static s16 sub_8143B48(struct Sprite *sprite) +{ + s16 t = sub_8143AC8(sprite) % 30; + u16 z; + if (t == 14) + { + z = 0; + return sprite->data[2] = z; + } + else if (t > 13) + { + z = 43 - t; + return sprite->data[2] = z; + } + else + { + z = 14 - t; + return sprite->data[2] = z; + } +} + +static void sub_8143B84(struct Sprite *sprite) +{ + s16 sin, cos; + + gUnknown_0203AB88->var8C += gUnknown_0203AB88->var90; + gUnknown_0203AB88->var88 += gUnknown_0203AB88->var8C; + + if (gUnknown_0203AB88->var88 >= 360) + gUnknown_0203AB88->var88 -= 360.0f; + else if (gUnknown_0203AB88->var88 < 0.0f) + gUnknown_0203AB88->var88 += 360.0f; + + sprite->data[3] = gUnknown_0203AB88->var88; + gUnknown_0203AB88->var98 += gUnknown_0203AB88->var9C; + gUnknown_0203AB88->var94 += gUnknown_0203AB88->var98; + sprite->data[4] = gUnknown_0203AB88->var94; + sin = Sin2(sprite->data[3]); + cos = Cos2(sprite->data[3]); + sprite->pos2.x = sin * sprite->data[4] >> 12; + sprite->pos2.y = -cos * sprite->data[4] >> 12; + if (IsSEPlaying()) + { + m4aMPlayPanpotControl(&gMPlayInfo_SE1, 0xFFFF, sprite->pos2.x); + m4aMPlayPanpotControl(&gMPlayInfo_SE2, 0xFFFF, sprite->pos2.x); + } +} + +static void sub_8143C90(struct Sprite *sprite) +{ + s16 sin, cos; + sprite->data[3] = gUnknown_0203AB88->var24 + sprite->data[6]; + if (sprite->data[3] >= 360) + sprite->data[3] -= 360; + sin = Sin2(sprite->data[3]); + cos = Cos2(sprite->data[3]); + sprite->pos2.x = sin * sprite->data[4] >> 12; + sprite->pos2.y = -cos * sprite->data[4] >> 12; + sprite->pos2.y += gSpriteCoordOffsetY; +} + +static void sub_8143CFC(struct Sprite *sprite) +{ + sub_8143B84(sprite); + sprite->data[2]++; + if (sprite->data[4] < -132 || sprite->data[4] > 80) + sprite->invisible = TRUE; + else + sprite->invisible = FALSE; + + if (sprite->data[2] >= 30) + { + if (!sprite->data[0]) + { + if (gUnknown_0203AB88->var94 <= gUnknown_0203AB88->varA0 - 2.0f) + { + gUnknown_0203AB88->var7D = 0xFF; + gUnknown_0203AB88->var03_7 = 0; + StartSpriteAnim(sprite, sprite->animCmdIndex + 0x3); + sub_8143B14(sprite); + sprite->data[4] = 30; + sub_8143AC8(sprite); + sprite->data[6] = (sprite->data[6] / 30) * 30 + 15; + sprite->callback = sub_8143C90; + m4aSongNumStartOrChange(SE_HASHI); + gUnknown_0203AB88->var9C = gUnknown_0203AB88->var98 = 0.0f; + gUnknown_0203AB88->var8C = -1.0f; + } + } + else + { + if (gUnknown_0203AB88->var94 >= gUnknown_0203AB88->varA0 - 2.0f) + { + gUnknown_0203AB88->var7D = 0xFF; + gUnknown_0203AB88->var03_7 = 0; + StartSpriteAnim(sprite, sprite->animCmdIndex + 3); + sub_8143B14(sprite); + sprite->data[4] = 30; + sub_8143AC8(sprite); + sprite->data[6] = (sprite->data[6] / 30) * 30 + 15; + sprite->callback = sub_8143C90; + m4aSongNumStartOrChange(SE_HASHI); + gUnknown_0203AB88->var9C = gUnknown_0203AB88->var98 = 0.0f; + gUnknown_0203AB88->var8C = -1.0f; + } + } + } +} + +static void sub_8143E14(struct Sprite *sprite) +{ + float f0, f1, f2; + sub_8143B84(sprite); + + switch (sprite->data[3]) + { + case 0: + if (sprite->data[0] != 1) + { + f0 = sprite->data[7]; + f1 = (f0 * gUnknown_085B6348[gUnknown_0203AB88->var04_0].var01 + (gUnknown_085B6348[gUnknown_0203AB88->var04_0].var02 - 1)); + f2 = (f0 / gUnknown_085B6348[gUnknown_0203AB88->var04_0].var0C); + } + else + { + return; + } + break; + case 180: + if (sprite->data[0] != 0) + { + f0 = sprite->data[7]; + f1 = (f0 * gUnknown_085B6348[gUnknown_0203AB88->var04_0].var01 + (gUnknown_085B6348[gUnknown_0203AB88->var04_0].var02 - 1)); + f2 = -(f0 / gUnknown_085B6348[gUnknown_0203AB88->var04_0].var0C); + } + else + { + return; + } + break; + default: + return; + } + gUnknown_0203AB88->varA0 = gUnknown_0203AB88->var94; + gUnknown_0203AB88->var98 = f2; + gUnknown_0203AB88->var9C = -((f2 * 2.0f) / f1 + (2.0f / (f1 * f1))); + gUnknown_0203AB88->var8C = 0.0f; + sprite->animPaused = FALSE; + sprite->animNum = 0; + sprite->animBeginning = TRUE; + sprite->animEnded = FALSE; + sprite->callback = sub_8143CFC; + sprite->data[2] = 0; +} + +static void sub_8143FA4(struct Sprite *sprite) +{ + sprite->pos2.y = (s16)(sprite->data[2] * 0.05f * sprite->data[2]) - 45; + sprite->data[2]++; + if (sprite->data[2] > 29 && sprite->pos2.y >= 0) + { + gUnknown_0203AB88->var7D = 0xFF; + gUnknown_0203AB88->var03_7 = FALSE; + StartSpriteAnim(sprite, sprite->animCmdIndex + 3); + sub_8143B14(sprite); + sprite->data[4] = 30; + sub_8143AC8(sprite); + sprite->data[6] = (sprite->data[6] / 30) * 30 + 15; + sprite->callback = sub_8143C90; + m4aSongNumStartOrChange(SE_HASHI); + gUnknown_0203AB88->var03_6 = TRUE; + } +} + +static void sub_8144050(struct Sprite *sprite) +{ + if (sprite->data[2]++ < 45) + { + sprite->pos2.y--; + if (sprite->data[2] == 45) + { + if (gSprites[gUnknown_0203AB88->var3C[55]].animCmdIndex == 1) + sprite->pos2.y++; + } + } + else + { + if (sprite->data[2] < sprite->data[7]) + { + if (gSprites[gUnknown_0203AB88->var3C[55]].animDelayCounter == 0) + { + if (gSprites[gUnknown_0203AB88->var3C[55]].animCmdIndex == 1) + sprite->pos2.y++; + else + sprite->pos2.y--; + } + } + else + { + sprite->animPaused = FALSE; + sprite->animNum = 1; + sprite->animBeginning = TRUE; + sprite->animEnded = FALSE; + sprite->data[2] = 0; + sprite->callback = sub_8143FA4; + m4aSongNumStart(SE_NAGERU); + } + } +} + +static void sub_8144128(struct Sprite *sprite) +{ + sub_8143B84(sprite); + switch (sprite->data[3]) + { + case 90: + if (sprite->data[0] != 1) + { + sprite->callback = &sub_8144050; + sprite->data[2] = 0; + } + break; + case 270: + if (sprite->data[0] != 0) + { + sprite->callback = &sub_8144050; + sprite->data[2] = 0; + } + break; + } +} + +static void sub_8144168(struct Sprite *sprite) +{ + sub_8143B84(sprite); + switch (gUnknown_0203AB88->var03_0) + { + default: + case 0: + sub_81446DC(sprite); + sprite->callback = sub_8143E14; + break; + case 1: + sub_81448B8(sprite); + sprite->callback = sub_8144128; + break; + } +} + +static void prev_quest_read_x24_hm_usage(struct Sprite *sprite) +{ + sub_8143B84(sprite); + if (sprite->data[2]-- == 16) + gUnknown_0203AB88->var98 *= -1.0f; + if (sprite->data[2] == 0) + { + if (!sprite->data[0]) + { + gUnknown_0203AB88->var7D = 0xFF; + gUnknown_0203AB88->var03_7 = 0; + StartSpriteAnim(sprite, sprite->animCmdIndex + 3); + sub_8143B14(sprite); + sprite->data[4] = 30; + sub_8143AC8(sprite); + sprite->data[6] = (sprite->data[6] / 30) * 30 + 15; + sprite->callback = sub_8143C90; + m4aSongNumStartOrChange(SE_HASHI); + } + else + { + sprite->animPaused = TRUE; + m4aSongNumStart(SE_KON); + sub_8144A24(sprite); + } + } +} + +static void sub_8144264(struct Sprite *sprite) +{ + sub_8143B84(sprite); + sprite->data[2] = 0; + sub_8143B14(sprite); + if (!(gUnknown_085B62E4[gUnknown_0203AB88->var7E].var04 & gUnknown_0203AB88->var08)) + { + gUnknown_0203AB88->var7D = 0xFF; + gUnknown_0203AB88->var03_7 = 0; + StartSpriteAnim(sprite, sprite->animCmdIndex + 3); + sub_8143B14(sprite); + sprite->data[4] = 30; + sub_8143AC8(sprite); + sprite->data[6] = (sprite->data[6] / 30) * 30 + 15; + sprite->callback = sub_8143C90; + m4aSongNumStartOrChange(SE_HASHI); + } + else + { + u8 t; + u32 z; + m4aSongNumStart(SE_KON); + z = Random() & 1; + if (z) + { + gUnknown_0203AB88->var8C = 0.0f; + gUnknown_0203AB88->var7F = t = (gUnknown_0203AB88->var7E + 1) % 12; + } + else + { + float temp; + gUnknown_0203AB88->var8C = (temp = gUnknown_085B6348[gUnknown_0203AB88->var04_0].var1C) * 2.0f; + t = (gUnknown_0203AB88->var7E + 11) % 12; + gUnknown_0203AB88->var7F = gUnknown_0203AB88->var7E; + } + if (gUnknown_085B62E4[t].var04 & gUnknown_0203AB88->var08) + { + sprite->data[0] = 1; + sprite->data[2] = gUnknown_085B6348[gUnknown_0203AB88->var04_0].var02; + } + else + { + sprite->data[0] = gUnknown_085B62E4[t].var04 & gUnknown_0203AB88->var08; + if (gUnknown_0203AB88->var04_0) + { + sprite->data[2] = gUnknown_085B6348[gUnknown_0203AB88->var04_0].var01; + } + else + { + sprite->data[2] = gUnknown_085B6348[gUnknown_0203AB88->var04_0].var02; + if (z) + { + gUnknown_0203AB88->var8C = 0.5f; + } + else + { + gUnknown_0203AB88->var8C = -1.5f; + } + } + } + gUnknown_0203AB88->var98 = 0.085f; + sprite->callback = prev_quest_read_x24_hm_usage; + sprite->data[1] = 5; + } +} + +static void sub_8144410(struct Sprite *sprite) +{ + sub_8143B84(sprite); + if (gUnknown_0203AB88->var8C > 0.5f) + return; + + sub_8143B14(sprite); + if (!sub_8143B48(sprite)) + { + gUnknown_0203AB88->var90 = 0.0f; + gUnknown_0203AB88->var8C -= (float)(gUnknown_085B6348[gUnknown_0203AB88->var04_0].var03) + / (gUnknown_085B6348[gUnknown_0203AB88->var04_0].var04 + 1); + sprite->data[1] = 4; + sprite->callback = sub_8144264; + } + else + { + if (gUnknown_0203AB88->var90 != 0.0f) + { + if (gUnknown_0203AB88->var8C < 0.0f) + { + gUnknown_0203AB88->var90 = 0.0f; + gUnknown_0203AB88->var8C = 0.0f; + gUnknown_0203AB88->var98 /= 1.2; + } + } + } +} + +static void sub_8144514(struct Sprite *sprite) +{ + sub_8143B84(sprite); + if (gUnknown_0203AB88->var94 > 40.f) + return; + + gUnknown_0203AB88->var98 = -(4.0f / (float)gUnknown_0203AB88->var86); + gUnknown_0203AB88->var90 = -(gUnknown_0203AB88->var8C / (float)gUnknown_0203AB88->var86); + sprite->animNum = 2; + sprite->animBeginning = TRUE; + sprite->animEnded = FALSE; + sprite->data[1] = 3; + sprite->callback = sub_8144410; +} + +static void sub_81445D8(struct Sprite *sprite) +{ + sub_8143B84(sprite); + if (gUnknown_0203AB88->var94 > 60.0f) + return; + + m4aSongNumStartOrChange(SE_TAMAKORO_E); + gUnknown_0203AB88->var98 = -(20.0f / (float)gUnknown_0203AB88->var84); + gUnknown_0203AB88->var90 = ((1.0f - gUnknown_0203AB88->var8C) / (float)gUnknown_0203AB88->var84); + sprite->animNum = 1; + sprite->animBeginning = TRUE; + sprite->animEnded = FALSE; + sprite->data[1] = 2; + sprite->callback = sub_8144514; +} + +static void sub_81446AC(struct Sprite *sprite) +{ + sprite->data[1] = 1; + sprite->data[2] = 0; + sub_8143B84(sprite); + sprite->invisible = FALSE; + sprite->callback = sub_81445D8; +} + +static void sub_81446DC(struct Sprite *sprite) +{ + u16 t; + u8 i; + s16 s[2][2] = { + {116, 44}, + {116, 112} + }; + struct Roulette *p; + + t = sprite->data[7] - 2; + p = gUnknown_0203AB88; // why??? + gUnknown_0203AB88->var3C[55] = CreateSprite(&gSpriteTemplate_85B79F8, 36, -12, 50); + gUnknown_0203AB88->var3C[56] = CreateSprite(&gSpriteTemplate_85B7ABC[0], s[sprite->data[0]][0], s[sprite->data[0]][1], 59); + gUnknown_0203AB88->var3C[57] = CreateSprite(&gSpriteTemplate_85B7ABC[1], 36, 140, 51); + gSprites[gUnknown_0203AB88->var3C[57]].oam.objMode = 1; + for (i = 0; i < 3; i++) + { + gSprites[gUnknown_0203AB88->var3C[i + 55]].coordOffsetEnabled = FALSE; + gSprites[gUnknown_0203AB88->var3C[i + 55]].invisible = TRUE; + gSprites[gUnknown_0203AB88->var3C[i + 55]].animPaused = TRUE; + gSprites[gUnknown_0203AB88->var3C[i + 55]].affineAnimPaused = TRUE; + gSprites[gUnknown_0203AB88->var3C[i + 55]].data[4] = gUnknown_0203AB88->var3C[55]; + gSprites[gUnknown_0203AB88->var3C[i + 55]].data[5] = gUnknown_0203AB88->var3C[56]; + gSprites[gUnknown_0203AB88->var3C[i + 55]].data[6] = gUnknown_0203AB88->var3C[57]; + gSprites[gUnknown_0203AB88->var3C[i + 55]].data[2] = t; + gSprites[gUnknown_0203AB88->var3C[i + 55]].data[3] = (sprite->data[7] * gUnknown_085B6348[gUnknown_0203AB88->var04_0].var01) + + (gUnknown_085B6348[gUnknown_0203AB88->var04_0].var02 + 0xFFFF); + } + gSprites[gUnknown_0203AB88->var3C[56]].coordOffsetEnabled = TRUE; + gUnknown_0203AB88->var38 = sprite; +} + +static void sub_81448B8(struct Sprite *sprite) +{ + u8 i = 0; + s16 t; + s16 s[2][2] = { + {256, 84}, + {-16, 84} + }; + + t = sprite->data[7] - 2; + gUnknown_0203AB88->var3C[55] = CreateSprite(&gSpriteTemplate_85B7A10, s[sprite->data[0]][0], s[sprite->data[0]][1], 50); + StartSpriteAnim(&gSprites[gUnknown_0203AB88->var3C[55]], sprite->data[0]); + gUnknown_0203AB88->var3C[56] = CreateSprite(&gUnknown_085B7AEC, s[sprite->data[0]][0], s[sprite->data[0]][1], 51); + gSprites[gUnknown_0203AB88->var3C[56]].affineAnimPaused = TRUE; + gSprites[gUnknown_0203AB88->var3C[56]].animPaused = TRUE; + sprite->data[7] = (t * gUnknown_085B6348[gUnknown_0203AB88->var04_0].var01) + (gUnknown_085B6348[gUnknown_0203AB88->var04_0].var10 + 45); + for (; i < 2; i++) + { + gSprites[gUnknown_0203AB88->var3C[55 + i]].data[4] = gUnknown_0203AB88->var3C[55]; + gSprites[gUnknown_0203AB88->var3C[55 + i]].data[5] = gUnknown_0203AB88->var3C[56]; + gSprites[gUnknown_0203AB88->var3C[55 + i]].data[6] = gUnknown_0203AB88->var3C[56]; + gSprites[gUnknown_0203AB88->var3C[55 + i]].data[2] = t; + gSprites[gUnknown_0203AB88->var3C[55 + i]].data[3] = sprite->data[7] - 45; + } + gUnknown_0203AB88->var38 = sprite; +} + +#ifdef NONMATCHING +static void sub_8144A24(struct Sprite *sprite) +{ + u8 z; + u16 o; + u8 h = 0; // r10 (sp+0xc) + u8 j = 5; // r9 (r9) + u8 p = 0; // sp+0xc (sp+0x10) + u8 i; + u8 s[10] = {}; // sp+0 (sp+0) + u16 t = Random(); // sp+0x10 (r10) + + gUnknown_0203AB88->var7D = 1; + gUnknown_0203AB88->var03_5 = TRUE; + gUnknown_0203AB88->var03_6 = FALSE; + gUnknown_0203AB88->var7E = 0xFF; + gUnknown_0203AB88->var88 = sprite->data[3]; + gUnknown_0203AB88->var98 = 0.0f; + gUnknown_0203AB88->var8C = gUnknown_085B6348[gUnknown_0203AB88->var04_0].var1C; + o = (gUnknown_0203AB88->var04_0 * 30 + 33) + (0x1 - gUnknown_0203AB88->var03_0) * 15; + for (i = 0; i < 4; i++) + { + if (o < sprite->data[3] && sprite->data[3] <= o + 90) + { + sprite->data[0] = i / 2; + gUnknown_0203AB88->var03_0 = i & 1; + break; + } + if (i == 3) + { + sprite->data[0] = 1; + gUnknown_0203AB88->var03_0 = 1; + break; + } + o += 90; + } + if (gUnknown_0203AB88->var03_0) + { + if (sprite->data[0]) + { + PlayCry1(SPECIES_TAILLOW, -63); + } + else + { + PlayCry1(SPECIES_TAILLOW, 63); + } + } + else + { + PlayCry1(SPECIES_SHROOMISH, -63); + } + i = 2; + z = (gUnknown_0203AB88->var7F + 2) % 12; + if (gUnknown_0203AB88->var03_0 == 1 && gUnknown_0203AB88->var04_0 == 1) + j += 6; + else + j += i; + for (; i < j; i++) + { + if (!(gUnknown_0203AB88->var08 & gUnknown_085B62E4[z].var04)) + { + s[h++] = i; + if (!p && (gUnknown_085B62E4[z].var04 & gUnknown_085B6154[gUnknown_0203AB88->var1B[gUnknown_0203AB88->var1A_0]].var00)) + { + p = i; + } + } + z = (z + 1) % 0xC; + } + if ((gUnknown_0203AB88->var03_0 + 1) & gUnknown_0203AB88->var02) + { + if (p && (t & 0xFF) < 0xc0) + { + sprite->data[7] = p; + } + else + { + sprite->data[7] = s[t % h]; + } + } + else + { + sprite->data[7] = s[t % h]; + } + sprite->callback = sub_8144168; +} +#else +NAKED +static void sub_8144A24(struct Sprite *sprite) +{ + asm_unified("push {r4-r7,lr}\n\ + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + sub sp, 0x14\n\ + adds r7, r0, 0\n\ + movs r0, 0\n\ + mov r9, r0\n\ + movs r1, 0x5\n\ + mov r8, r1\n\ + str r0, [sp, 0xC]\n\ + mov r0, sp\n\ + movs r1, 0\n\ + movs r2, 0xA\n\ + bl memset\n\ + bl Random\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + str r0, [sp, 0x10]\n\ + ldr r3, _08144B10 @ =gUnknown_0203AB88\n\ + ldr r0, [r3]\n\ + adds r0, 0x7D\n\ + movs r5, 0x1\n\ + strb r5, [r0]\n\ + ldr r2, [r3]\n\ + ldrb r0, [r2, 0x3]\n\ + movs r1, 0x20\n\ + orrs r0, r1\n\ + strb r0, [r2, 0x3]\n\ + ldr r2, [r3]\n\ + ldrb r1, [r2, 0x3]\n\ + movs r0, 0x41\n\ + negs r0, r0\n\ + ands r0, r1\n\ + strb r0, [r2, 0x3]\n\ + ldr r0, [r3]\n\ + adds r0, 0x7E\n\ + movs r1, 0xFF\n\ + strb r1, [r0]\n\ + ldr r6, [r3]\n\ + adds r4, r6, 0\n\ + adds r4, 0x88\n\ + movs r1, 0x34\n\ + ldrsh r0, [r7, r1]\n\ + bl __floatsisf\n\ + str r0, [r4]\n\ + adds r1, r6, 0\n\ + adds r1, 0x98\n\ + ldr r0, _08144B14 @ =0x00000000\n\ + str r0, [r1]\n\ + adds r2, r6, 0\n\ + adds r2, 0x8C\n\ + ldr r1, _08144B18 @ =gUnknown_085B6348\n\ + ldrb r0, [r6, 0x4]\n\ + lsls r0, 30\n\ + lsrs r0, 25\n\ + adds r1, 0x1C\n\ + adds r0, r1\n\ + ldr r0, [r0]\n\ + str r0, [r2]\n\ + ldrb r0, [r6, 0x4]\n\ + lsls r0, 30\n\ + lsrs r0, 30\n\ + lsls r1, r0, 4\n\ + subs r1, r0\n\ + lsls r1, 1\n\ + adds r1, 0x21\n\ + ldrb r0, [r6, 0x3]\n\ + lsls r0, 27\n\ + lsrs r0, 27\n\ + subs r5, r0\n\ + lsls r0, r5, 4\n\ + subs r0, r5\n\ + adds r1, r0\n\ + lsls r1, 16\n\ + lsrs r1, 16\n\ + mov r5, r9\n\ + movs r0, 0x34\n\ + ldrsh r2, [r7, r0]\n\ +_08144ACA:\n\ + cmp r1, r2\n\ + bge _08144AD6\n\ + adds r0, r1, 0\n\ + adds r0, 0x5A\n\ + cmp r2, r0\n\ + ble _08144B38\n\ +_08144AD6:\n\ + cmp r5, 0x3\n\ + beq _08144B1C\n\ + adds r0, r1, 0\n\ + adds r0, 0x5A\n\ + lsls r0, 16\n\ + lsrs r1, r0, 16\n\ + adds r0, r5, 0x1\n\ + lsls r0, 24\n\ + lsrs r5, r0, 24\n\ + cmp r5, 0x3\n\ + bls _08144ACA\n\ +_08144AEC:\n\ + ldr r0, _08144B10 @ =gUnknown_0203AB88\n\ + ldr r0, [r0]\n\ + ldrb r1, [r0, 0x3]\n\ + movs r0, 0x1F\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _08144B64\n\ + movs r1, 0x2E\n\ + ldrsh r0, [r7, r1]\n\ + cmp r0, 0\n\ + beq _08144B58\n\ + movs r0, 0x98\n\ + lsls r0, 1\n\ + movs r1, 0x3F\n\ + negs r1, r1\n\ + bl PlayCry1\n\ + b _08144B70\n\ + .align 2, 0\n\ +_08144B10:\n\ + .4byte gUnknown_0203AB88\n\ +_08144B14:\n\ + .4byte 0x00000000\n\ +_08144B18:\n\ + .4byte gUnknown_085B6348\n\ +_08144B1C:\n\ + movs r0, 0x1\n\ + strh r0, [r7, 0x2E]\n\ + ldr r0, =gUnknown_0203AB88\n\ + ldr r2, [r0]\n\ + ldrb r1, [r2, 0x3]\n\ + movs r0, 0x20\n\ + negs r0, r0\n\ + ands r0, r1\n\ + movs r1, 0x1\n\ + orrs r0, r1\n\ + strb r0, [r2, 0x3]\n\ + b _08144AEC\n\ + .pool\n\ +_08144B38:\n\ + lsrs r0, r5, 1\n\ + strh r0, [r7, 0x2E]\n\ + ldr r0, =gUnknown_0203AB88\n\ + ldr r3, [r0]\n\ + movs r1, 0x1\n\ + ands r1, r5\n\ + ldrb r2, [r3, 0x3]\n\ + movs r0, 0x20\n\ + negs r0, r0\n\ + ands r0, r2\n\ + orrs r0, r1\n\ + strb r0, [r3, 0x3]\n\ + b _08144AEC\n\ + .pool\n\ +_08144B58:\n\ + movs r0, 0x98\n\ + lsls r0, 1\n\ + movs r1, 0x3F\n\ + bl PlayCry1\n\ + b _08144B70\n\ +_08144B64:\n\ + movs r0, 0x99\n\ + lsls r0, 1\n\ + movs r1, 0x3F\n\ + negs r1, r1\n\ + bl PlayCry1\n\ +_08144B70:\n\ + movs r0, 0x2\n\ + mov r10, r0\n\ + ldr r4, =gUnknown_0203AB88\n\ + ldr r5, [r4]\n\ + adds r0, r5, 0\n\ + adds r0, 0x7F\n\ + ldrb r0, [r0]\n\ + adds r0, 0x2\n\ + movs r1, 0xC\n\ + bl __modsi3\n\ + lsls r0, 24\n\ + lsrs r6, r0, 24\n\ + ldrb r1, [r5, 0x3]\n\ + movs r0, 0x1F\n\ + ands r0, r1\n\ + cmp r0, 0x1\n\ + bne _08144BA8\n\ + ldrb r1, [r5, 0x4]\n\ + movs r0, 0x3\n\ + ands r0, r1\n\ + cmp r0, 0x1\n\ + bne _08144BA8\n\ + mov r0, r8\n\ + adds r0, 0x6\n\ + b _08144BAC\n\ + .pool\n\ +_08144BA8:\n\ + mov r0, r8\n\ + add r0, r10\n\ +_08144BAC:\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + mov r8, r0\n\ + mov r5, r10\n\ + cmp r5, r8\n\ + bcs _08144C18\n\ + ldr r1, =gUnknown_085B6154+0xC\n\ + mov r10, r1\n\ +_08144BBC:\n\ + ldr r3, [r4]\n\ + lsls r0, r6, 3\n\ + ldr r1, =gUnknown_085B62E4+0x4\n\ + adds r0, r1\n\ + ldr r1, [r3, 0x8]\n\ + ldr r2, [r0]\n\ + ands r1, r2\n\ + cmp r1, 0\n\ + bne _08144C02\n\ + mov r0, r9\n\ + adds r1, r0, 0x1\n\ + lsls r1, 24\n\ + lsrs r1, 24\n\ + mov r9, r1\n\ + add r0, sp\n\ + strb r5, [r0]\n\ + ldr r0, [sp, 0xC]\n\ + cmp r0, 0\n\ + bne _08144C02\n\ + ldrb r1, [r3, 0x1A]\n\ + lsls r1, 28\n\ + lsrs r1, 28\n\ + adds r0, r3, 0\n\ + adds r0, 0x1B\n\ + adds r0, r1\n\ + ldrb r1, [r0]\n\ + lsls r0, r1, 2\n\ + adds r0, r1\n\ + lsls r0, 2\n\ + add r0, r10\n\ + ldr r0, [r0]\n\ + ands r2, r0\n\ + cmp r2, 0\n\ + beq _08144C02\n\ + str r5, [sp, 0xC]\n\ +_08144C02:\n\ + adds r0, r6, 0x1\n\ + movs r1, 0xC\n\ + bl __modsi3\n\ + lsls r0, 24\n\ + lsrs r6, r0, 24\n\ + adds r0, r5, 0x1\n\ + lsls r0, 24\n\ + lsrs r5, r0, 24\n\ + cmp r5, r8\n\ + bcc _08144BBC\n\ +_08144C18:\n\ + ldr r0, [r4]\n\ + ldrb r1, [r0, 0x3]\n\ + lsls r1, 27\n\ + lsrs r1, 27\n\ + adds r1, 0x1\n\ + ldrb r0, [r0, 0x2]\n\ + ands r1, r0\n\ + cmp r1, 0\n\ + beq _08144C48\n\ + ldr r1, [sp, 0xC]\n\ + cmp r1, 0\n\ + beq _08144C48\n\ + movs r0, 0xFF\n\ + ldr r1, [sp, 0x10]\n\ + ands r0, r1\n\ + cmp r0, 0xBF\n\ + bhi _08144C48\n\ + mov r0, sp\n\ + ldrh r0, [r0, 0xC]\n\ + b _08144C54\n\ + .pool\n\ +_08144C48:\n\ + ldr r0, [sp, 0x10]\n\ + mov r1, r9\n\ + bl __modsi3\n\ + add r0, sp\n\ + ldrb r0, [r0]\n\ +_08144C54:\n\ + strh r0, [r7, 0x3C]\n\ + ldr r1, =sub_8144168\n\ + str r1, [r7, 0x1C]\n\ + add sp, 0x14\n\ + pop {r3-r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov r10, r5\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .pool"); +} +#endif // NONMATCHING + +static const u16 gUnknown_085B7B1A[] = { + 0x907, + 0x808, + 0x709, + 0x60A, + 0x50B, + 0x40C, + 0x30D, + 0x20E, + 0x10F, + 0x010, +}; + +static void sub_8144C70(struct Sprite *sprite) +{ + if (sprite->data[1]++ >= sprite->data[3]) + { + sprite->pos1.x -= 2; + if (sprite->pos1.x < -16) + { + if (!gUnknown_0203AB88->var03_6) + gUnknown_0203AB88->var03_6 = TRUE; + DestroySprite(sprite); + gUnknown_0203AB88->var01 = 0; + gUnknown_0203AB88->var34 = gUnknown_085B7B1A[0]; + } + } +} + +static void sub_8144CD0(struct Sprite *sprite) +{ + int p; + u16 t[][4] = { + {-1, 0, 1, 0}, + {-2, 0, 2, 0}, + {-3, 0, 3, 0}, + }; + + if (sprite->data[1]++ < sprite->data[3]) + { + if (sprite->data[1] & 1) + { + gSpriteCoordOffsetY = t[sprite->data[2] / 2][sprite->data[7]]; + p = sprite->data[7] + 1; + sprite->data[7] = p - ((p / 4) * 4); + } + sprite->invisible ^= 1; + } + else + { + gSpriteCoordOffsetY = 0; + gSprites[gUnknown_0203AB88->var3C[55]].animPaused = FALSE; + DestroySprite(sprite); + } +} + +static void sub_8144D94(struct Sprite *sprite) +{ + float t; + sprite->data[1]++; + t = sprite->data[1]; + sprite->pos2.y = t * 0.039f * t; + gUnknown_0203AB88->var34 = gUnknown_085B7B1A[(gUnknown_0203AB88->var01 - 1) / 2]; + if (gUnknown_0203AB88->var01 < 19) + gUnknown_0203AB88->var01++; + if (sprite->data[1] > 60) + { + sprite->data[1] = 0; + sprite->callback = sub_8144C70; + gSprites[sprite->data[6]].callback = sub_8144C70; + gSprites[sprite->data[6]].data[1] = -2; + gSprites[sprite->data[5]].invisible = FALSE; + gSprites[sprite->data[5]].callback = sub_8144CD0; + m4aSongNumStart(SE_W070); + } +} + +static void sub_8144E60(struct Sprite *sprite) +{ + if (sprite->data[7] == 0) + { + if (gUnknown_0203AB88->var38->data[0] == 0) + { + if (gUnknown_0203AB88->var38->data[3] != gUnknown_085B6348[gUnknown_0203AB88->var04_0].var08) + return; + } + else + { + if (gUnknown_0203AB88->var38->data[3] != gUnknown_085B6348[gUnknown_0203AB88->var04_0].var08 + 180) + return; + } + + sprite->invisible = FALSE; + sprite->data[7]++; + m4aSongNumStart(SE_RU_HYUU); + gUnknown_0203AB88->var01 = 1; + gUnknown_0203AB88->var34 = gUnknown_085B7B1A[0]; + } + else + { + gUnknown_0203AB88->var34 = gUnknown_085B7B1A[(gUnknown_0203AB88->var01 - 1) / 2]; + if (gUnknown_0203AB88->var01 < 19) + gUnknown_0203AB88->var01++; + + if (gUnknown_0203AB88->var38->data[0] == 0) + { + if (gUnknown_0203AB88->var38->data[3] != gUnknown_085B6348[gUnknown_0203AB88->var04_0].var0A) + return; + } + else + { + if (gUnknown_0203AB88->var38->data[3] != gUnknown_085B6348[gUnknown_0203AB88->var04_0].var0A + 180) + return; + } + + gSprites[sprite->data[4]].callback = sub_8144D94; + gSprites[sprite->data[4]].invisible = FALSE; + sprite->callback = &SpriteCallbackDummy; + sprite->data[7] = 0; + } +} + +static void sub_8144F94(struct Sprite *sprite) +{ + sprite->invisible ^= 1; +} + +static void sub_8144FB0(struct Sprite *sprite) +{ + if (sprite->pos1.y > -16) + { + sprite->pos1.y--; + } + else + { + sprite->callback = SpriteCallbackDummy; + sprite->invisible = TRUE; + sprite->animPaused = TRUE; + m4aSongNumStop(SE_BASABASA); + DestroySprite(sprite); + FreeOamMatrix(gSprites[gUnknown_0203AB88->var3C[56]].oam.matrixNum); + DestroySprite(&gSprites[gUnknown_0203AB88->var3C[56]]); + } +} + +static void sub_8145030(struct Sprite *sprite) +{ + if (sprite->data[1] >= 0) + { + sprite->data[1]--; + sprite->pos1.y--; + if (sprite->data[1] == 0 && sprite->animCmdIndex == 1) + sprite->pos2.y++; + } + else + { + if (sprite->data[3] >= 0) + { + sprite->data[3]--; + if (sprite->animDelayCounter == 0) + { + if (sprite->animCmdIndex == 1) + sprite->pos2.y++; + else + sprite->pos2.y--; + } + } + else + { + m4aSongNumStart(SE_RU_HYUU); + StartSpriteAnim(sprite, gUnknown_0203AB88->var38->data[0] + 4); + sprite->callback = sub_8144FB0; + gSprites[sprite->data[6]].affineAnimPaused = FALSE; + } + } +} + +static void sub_81450D8(struct Sprite *sprite) +{ + s8 t[2] = {-1, 1}; + s8 z[][2] = { + {2, 0}, + {2, 0}, + {2, -1}, + {2, -1}, + {2, -1}, + {2, -1}, + {2, -2}, + {2, -2}, + }; + + if (sprite->data[1]-- > 7) + { + sprite->pos1.x += t[gUnknown_0203AB88->var38->data[0]] * 2; + if (IsSEPlaying()) + { + s8 pan = -((116 - sprite->pos1.x) / 2); + m4aMPlayPanpotControl(&gMPlayInfo_SE1, 0xFFFF, pan); + m4aMPlayPanpotControl(&gMPlayInfo_SE2, 0xFFFF, pan); + } + } + else + { + if (sprite->data[1] >= 0) + { + sprite->pos1.x += t[gUnknown_0203AB88->var38->data[0]] * z[7 - sprite->data[1]][0]; + sprite->pos1.y += z[7 - sprite->data[1]][1]; + } + else + { + m4aSongNumStartOrChange(SE_BASABASA); + if (gUnknown_0203AB88->var38->data[0] == 0) + PlayCry1(SPECIES_TAILLOW, 63); + else + PlayCry1(SPECIES_TAILLOW, -63); + StartSpriteAnim(sprite, gUnknown_0203AB88->var38->data[0] + 2); + sprite->data[1] = 45; + sprite->callback = sub_8145030; + } + } +} + +static void sub_8145218(struct Sprite *sprite) +{ + s8 t[2] = {-1, 1}; + + if (sprite->data[1]-- >= 0) + { + sprite->pos1.x += t[gUnknown_0203AB88->var38->data[0]] * 2; + gSprites[sprite->data[6]].invisible ^= 1; + } + else + { + sprite->callback = sub_8144F94; + } +} + +static void sub_8145294(struct Sprite *sprite) +{ + if (gUnknown_0203AB88->var38->data[0] == 0) + { + if (gUnknown_0203AB88->var38->data[3] == gUnknown_085B6348[gUnknown_0203AB88->var04_0].var12 + 90) + { + gSprites[sprite->data[6]].data[1] = 52; + gSprites[sprite->data[4]].data[1] = 52; + } + else + { + return; + } + } + else + { + if (gUnknown_0203AB88->var38->data[3] == gUnknown_085B6348[gUnknown_0203AB88->var04_0].var14 + 270) + { + gSprites[sprite->data[6]].data[1] = 46; + gSprites[sprite->data[4]].data[1] = 46; + } + else + { + return; + } + } + gSprites[sprite->data[6]].callback = sub_8145218; + gSprites[sprite->data[4]].callback = sub_81450D8; + m4aSongNumStart(SE_RU_HYUU); +} diff --git a/src/roulette_util.c b/src/roulette_util.c index c556a4af56..9531302d98 100755 --- a/src/roulette_util.c +++ b/src/roulette_util.c @@ -11,7 +11,7 @@ void sub_8151678(struct UnkStruct0 *r0) memset(&r0->var04, 0, sizeof(r0->var04)); } -u8 sub_815168C(struct UnkStruct0 *r0, u8 r1, struct UnkStruct1 *r2) +u8 sub_815168C(struct UnkStruct0 *r0, u8 r1, const struct UnkStruct1 *r2) { if (!(r1 < 16) || (r0->var04[r1].var00_7)) return 0xFF; diff --git a/src/rtc.c b/src/rtc.c index 3f413d0e37..37a06fe7ea 100644 --- a/src/rtc.c +++ b/src/rtc.c @@ -340,7 +340,7 @@ u32 RtcGetMinuteCount(void) return (24 * 60) * RtcGetDayCount(&sRtc) + 60 * sRtc.hour + sRtc.minute; } -u16 RtcGetLocalDayCount(void) +u32 RtcGetLocalDayCount(void) { return RtcGetDayCount(&sRtc); } diff --git a/src/save.c b/src/save.c index b234c230d3..cfbe5b848f 100644 --- a/src/save.c +++ b/src/save.c @@ -77,7 +77,7 @@ extern void DoSaveFailedScreen(u8); // save_failed_screen extern bool32 ProgramFlashSectorAndVerify(u8 sector, u8 *data); extern void save_serialize_map(void); extern void sub_800ADF8(void); -extern bool8 sub_800A520(void); +extern bool8 IsLinkTaskFinished(void); // iwram common u16 gLastWrittenSector; @@ -914,7 +914,7 @@ void sub_8153688(u8 taskId) taskData[0] = 2; break; case 2: - if (sub_800A520()) + if (IsLinkTaskFinished()) { if (taskData[2] == 0) save_serialize_map(); @@ -951,7 +951,7 @@ void sub_8153688(u8 taskId) taskData[0] = 8; break; case 8: - if (sub_800A520()) + if (IsLinkTaskFinished()) { sub_8153408(); taskData[0] = 9; @@ -962,7 +962,7 @@ void sub_8153688(u8 taskId) taskData[0] = 10; break; case 10: - if (sub_800A520()) + if (IsLinkTaskFinished()) taskData[0]++; break; case 11: diff --git a/src/scrcmd.c b/src/scrcmd.c index 39df1117d8..837259a7f6 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -49,12 +49,12 @@ #include "trainer_see.h" #include "tv.h" #include "window.h" +#include "constants/event_objects.h" typedef u16 (*SpecialFunc)(void); typedef void (*NativeFunc)(void); -extern const u8 *gUnknown_020375C0; - +EWRAM_DATA const u8 *gUnknown_020375C0 = NULL; static EWRAM_DATA u32 gUnknown_020375C4 = 0; static EWRAM_DATA u16 sPauseCounter = 0; static EWRAM_DATA u16 sMovingNpcId = 0; @@ -748,7 +748,7 @@ bool8 ScrCmd_warp(struct ScriptContext *ctx) u16 y = VarGet(ScriptReadHalfword(ctx)); SetWarpDestination(mapGroup, mapNum, warpId, x, y); - sub_80AF734(); + DoWarp(); ResetInitialPlayerAvatarState(); return TRUE; } @@ -762,7 +762,7 @@ bool8 ScrCmd_warpsilent(struct ScriptContext *ctx) u16 y = VarGet(ScriptReadHalfword(ctx)); SetWarpDestination(mapGroup, mapNum, warpId, x, y); - sp13E_warp_to_last_warp(); + DoDiveWarp(); ResetInitialPlayerAvatarState(); return TRUE; } @@ -776,7 +776,7 @@ bool8 ScrCmd_warpdoor(struct ScriptContext *ctx) u16 y = VarGet(ScriptReadHalfword(ctx)); SetWarpDestination(mapGroup, mapNum, warpId, x, y); - sub_80AF7D0(); + DoDoorWarp(); ResetInitialPlayerAvatarState(); return TRUE; } @@ -793,7 +793,7 @@ bool8 ScrCmd_warphole(struct ScriptContext *ctx) SetWarpDestinationToFixedHoleWarp(x - 7, y - 7); else SetWarpDestination(mapGroup, mapNum, -1, x - 7, y - 7); - sp13F_fall_to_last_warp(); + DoFallWarp(); ResetInitialPlayerAvatarState(); return TRUE; } @@ -1239,11 +1239,11 @@ bool8 ScrCmd_lock(struct ScriptContext *ctx) bool8 ScrCmd_releaseall(struct ScriptContext *ctx) { - u8 objectId; + u8 playerObjectId; HideFieldMessageBox(); - objectId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); - EventObjectClearHeldMovementIfFinished(&gEventObjects[objectId]); + playerObjectId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); + EventObjectClearHeldMovementIfFinished(&gEventObjects[playerObjectId]); sub_80D338C(); UnfreezeEventObjects(); return FALSE; @@ -1251,13 +1251,13 @@ bool8 ScrCmd_releaseall(struct ScriptContext *ctx) bool8 ScrCmd_release(struct ScriptContext *ctx) { - u8 objectId; + u8 playerObjectId; HideFieldMessageBox(); if (gEventObjects[gSelectedEventObject].active) EventObjectClearHeldMovementIfFinished(&gEventObjects[gSelectedEventObject]); - objectId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); - EventObjectClearHeldMovementIfFinished(&gEventObjects[objectId]); + playerObjectId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); + EventObjectClearHeldMovementIfFinished(&gEventObjects[playerObjectId]); sub_80D338C(); UnfreezeEventObjects(); return FALSE; diff --git a/src/script_menu.c b/src/script_menu.c index 6f16b1a8a0..d415d65a94 100644 --- a/src/script_menu.c +++ b/src/script_menu.c @@ -1416,7 +1416,7 @@ static void sub_80E2578(void) { gUnknown_03001124[temp] = 0; temp++; - if (FlagGet(FLAG_0x1D0) == TRUE) + if (FlagGet(FLAG_MET_SCOTT_ON_SS_TIDAL) == TRUE) { gUnknown_03001124[temp] = 1; temp++; @@ -1431,15 +1431,15 @@ static void sub_80E2578(void) temp++; } - if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_0x1AE) == FALSE) + if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_HAS_EON_TICKET) == FALSE) { gUnknown_03001124[temp] = 2; temp++; - FlagSet(FLAG_0x1AE); + FlagSet(FLAG_HAS_EON_TICKET); } } - if (CheckBagHasItem(ITEM_MYSTIC_TICKET, 1) == TRUE && FlagGet(FLAG_0x8E0) == TRUE) + if (CheckBagHasItem(ITEM_MYSTIC_TICKET, 1) == TRUE && FlagGet(FLAG_ENABLE_SHIP_NAVEL_ROCK) == TRUE) { if (gSpecialVar_0x8004 == 0) { @@ -1447,15 +1447,15 @@ static void sub_80E2578(void) temp++; } - if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_0x1DB) == FALSE) + if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_HAS_MYSTIC_TICKET) == FALSE) { gUnknown_03001124[temp] = 3; temp++; - FlagSet(FLAG_0x1DB); + FlagSet(FLAG_HAS_MYSTIC_TICKET); } } - if (CheckBagHasItem(ITEM_AURORA_TICKET, 1) == TRUE && FlagGet(FLAG_0x8D5) == TRUE) + if (CheckBagHasItem(ITEM_AURORA_TICKET, 1) == TRUE && FlagGet(FLAG_ENABLE_SHIP_BIRTH_ISLAND) == TRUE) { if (gSpecialVar_0x8004 == 0) { @@ -1463,15 +1463,15 @@ static void sub_80E2578(void) temp++; } - if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_0x1AF) == FALSE) + if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_HAS_AURORA_TICKET) == FALSE) { gUnknown_03001124[temp] = 4; temp++; - FlagSet(FLAG_0x1AF); + FlagSet(FLAG_HAS_AURORA_TICKET); } } - if (CheckBagHasItem(ITEM_OLD_SEA_MAP, 1) == TRUE && FlagGet(FLAG_0x8D6) == TRUE) + if (CheckBagHasItem(ITEM_OLD_SEA_MAP, 1) == TRUE && FlagGet(FLAG_ENABLE_SHIP_FARAWAY_ISLAND) == TRUE) { if (gSpecialVar_0x8004 == 0) { @@ -1479,18 +1479,18 @@ static void sub_80E2578(void) temp++; } - if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_0x1B0) == FALSE) + if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_HAS_OLD_SEA_MAP) == FALSE) { gUnknown_03001124[temp] = 5; temp++; - FlagSet(FLAG_0x1B0); + FlagSet(FLAG_HAS_OLD_SEA_MAP); } } gUnknown_03001124[temp] = 6; temp++; - if (gSpecialVar_0x8004 == 0 && FlagGet(FLAG_0x1D0) == TRUE) + if (gSpecialVar_0x8004 == 0 && FlagGet(FLAG_MET_SCOTT_ON_SS_TIDAL) == TRUE) { count = temp; } diff --git a/src/script_pokemon_util_80F87D8.c b/src/script_pokemon_util_80F87D8.c index 102e800647..f3eaa71613 100755 --- a/src/script_pokemon_util_80F87D8.c +++ b/src/script_pokemon_util_80F87D8.c @@ -228,7 +228,7 @@ void sub_80F8AFC(void) if (gIsLinkContest & 1) { - for (i = 0; i < gUnknown_02039F30; i++) + for (i = 0; i < gNumLinkContestPlayers; i++) { int version = (u8)gLinkPlayers[i].version; if (version == VERSION_RUBY || version == VERSION_SAPPHIRE) @@ -257,7 +257,7 @@ void sub_80F8B94(void) gReservedSpritePaletteCount = 12; if (gIsLinkContest & 1) { - for (i = 0; i < gUnknown_02039F30; i++) + for (i = 0; i < gNumLinkContestPlayers; i++) { eventObjectId = GetEventObjectIdByLocalIdAndMap(gUnknown_0858D8EC[i], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); sprite = &gSprites[gEventObjects[eventObjectId].spriteId]; @@ -285,14 +285,14 @@ u8 GiveMonArtistRibbon(void) { u8 hasArtistRibbon; - hasArtistRibbon = GetMonData(&gPlayerParty[gUnknown_02039F24], MON_DATA_ARTIST_RIBBON); + hasArtistRibbon = GetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_ARTIST_RIBBON); if (!hasArtistRibbon && gContestFinalStandings[gContestPlayerMonIndex] == 0 && gSpecialVar_ContestRank == 3 && gUnknown_02039F08[gContestPlayerMonIndex] >= 800) { hasArtistRibbon = 1; - SetMonData(&gPlayerParty[gUnknown_02039F24], MON_DATA_ARTIST_RIBBON, &hasArtistRibbon); - if (GetRibbonCount(&gPlayerParty[gUnknown_02039F24]) > 4) - sub_80EE4DC(&gPlayerParty[gUnknown_02039F24], MON_DATA_ARTIST_RIBBON); + SetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_ARTIST_RIBBON, &hasArtistRibbon); + if (GetRibbonCount(&gPlayerParty[gContestMonPartyIndex]) > 4) + sub_80EE4DC(&gPlayerParty[gContestMonPartyIndex], MON_DATA_ARTIST_RIBBON); return 1; } @@ -402,7 +402,7 @@ static void sub_80F8EE8(u8 taskId) void ScriptGetMultiplayerId(void) { - if ((gIsLinkContest & 1) && gUnknown_02039F30 == 4 && !(gIsLinkContest & 2)) + if ((gIsLinkContest & 1) && gNumLinkContestPlayers == 4 && !(gIsLinkContest & 2)) gSpecialVar_Result = GetMultiplayerId(); else gSpecialVar_Result = 4; @@ -451,7 +451,7 @@ static void sub_80F9088(u8 taskId) switch (gTasks[taskId].data[0]) { case 0: - if (sub_800A520()) + if (IsLinkTaskFinished()) { sub_800ADF8(); gTasks[taskId].data[0]++; @@ -461,7 +461,7 @@ static void sub_80F9088(u8 taskId) gTasks[taskId].data[0]++; break; default: - if (sub_800A520() == 1) + if (IsLinkTaskFinished() == 1) { EnableBothScriptContexts(); DestroyTask(taskId); diff --git a/src/secret_base.c b/src/secret_base.c index 15d6d17803..ebc01b3333 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -610,7 +610,7 @@ void sub_80E9608(const struct MapPosition *position, const struct MapEvents *eve } } -void sub_80E9668(const struct MapPosition *position, const struct MapEvents *events) +void WarpIntoSecretBase(const struct MapPosition *position, const struct MapEvents *events) { sub_80E9608(position, events); sub_80E8B6C(); @@ -1032,7 +1032,7 @@ void sub_80E9FFC(u8 taskId) void sub_80EA06C(u8 taskId) { DisplayYesNoMenu(); - sub_8121F68(taskId, &gUnknown_0858D058); + DoYesNoFuncWithChoice(taskId, &gUnknown_0858D058); } void sub_80EA08C(u8 taskId) @@ -1170,7 +1170,7 @@ void sub_80EA354(void) gSpecialVar_Result = gSaveBlock1Ptr->secretBases[secretBaseRecordId].sbr_field_1_5; } -void sub_80EA3E4(u8 taskId) +void SecretBasePerStepCallback(u8 taskId) { s16 x; s16 y; diff --git a/src/strings.c b/src/strings.c index bd8c766de5..7b2b5ca4cf 100644 --- a/src/strings.c +++ b/src/strings.c @@ -390,7 +390,7 @@ const u8 gText_RemoveMailBeforeItem[] = _("MAIL must be removed before\nholding const u8 gText_PkmnWasGivenItem[] = _("{STR_VAR_1} was given the\n{STR_VAR_2} to hold.{PAUSE_UNTIL_PRESS}"); const u8 gText_SwitchPkmnItem[] = _("{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_RecievedItemFromPkmn[] = _("Received the {STR_VAR_2}\nfrom {STR_VAR_1}.{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}"); diff --git a/src/trade.c b/src/trade.c new file mode 100644 index 0000000000..ccdd439867 --- /dev/null +++ b/src/trade.c @@ -0,0 +1,6389 @@ +#include "global.h" +#include "alloc.h" +#include "battle_anim.h" +#include "battle_interface.h" +#include "bg.h" +#include "cable_club.h" +#include "data2.h" +#include "daycare.h" +#include "decompress.h" +#include "event_data.h" +#include "evolution_scene.h" +#include "field_screen_effect.h" +#include "gpu_regs.h" +#include "graphics.h" +#include "international_string_util.h" +#include "librfu.h" +#include "link.h" +#include "link_rfu.h" +#include "load_save.h" +#include "mail.h" +#include "main.h" +#include "overworld.h" +#include "palette.h" +#include "party_menu.h" +#include "pokeball.h" +#include "pokedex.h" +#include "pokemon_icon.h" +#include "pokemon_summary_screen.h" +#include "random.h" +#include "rom_8011DC0.h" +#include "save.h" +#include "script.h" +#include "sound.h" +#include "string_util.h" +#include "strings.h" +#include "task.h" +#include "text.h" +#include "text_window.h" +#include "trainer_card.h" +#include "trade.h" +#include "util.h" +#include "window.h" +#include "constants/easy_chat.h" +#include "constants/items.h" +#include "constants/moves.h" +#include "constants/species.h" +#include "constants/songs.h" +#include "constants/rgb.h" + +#define Trade_SendData(ptr) (SendBlock(bitmask_all_link_players_but_self(), ptr->linkData, 20)) + +struct InGameTrade { + /*0x00*/ u8 name[11]; + /*0x0C*/ u16 species; + /*0x0E*/ u8 ivs[6]; + /*0x14*/ bool8 secondAbility; + /*0x18*/ u32 otId; + /*0x1C*/ u8 stats[5]; + /*0x24*/ u32 personality; + /*0x28*/ u16 heldItem; + /*0x2A*/ u8 mailNum; + /*0x2B*/ u8 otName[11]; + /*0x36*/ u8 otGender; + /*0x37*/ u8 sheen; + /*0x38*/ u16 playerSpecies; +}; + +static EWRAM_DATA u8 *gUnknown_02032184 = NULL; +static EWRAM_DATA u8 *gUnknown_02032188[14] = {NULL}; +EWRAM_DATA struct MailStruct gUnknown_020321C0[PARTY_SIZE] = {0}; +EWRAM_DATA u8 gUnknown_02032298[2] = {0}; +static EWRAM_DATA struct { + /*0x0000*/ u8 unk_0; + /*0x0001*/ u8 unk_1; + /*0x0002*/ u8 filler_2[0x28 - 2]; + /*0x0028*/ u8 partyIcons[2][PARTY_SIZE]; + /*0x0034*/ u8 tradeMenuCursorSpriteIdx; + /*0x0035*/ u8 tradeMenuCursorPosition; + /*0x0036*/ u8 partyCounts[2]; + /*0x0038*/ bool8 tradeMenuOptionsActive[12]; + /*0x0044*/ u8 unk_44; + /*0x0045*/ u8 unk_45[2][PARTY_SIZE]; + /*0x0051*/ u8 unk_51[2][PARTY_SIZE]; + /*0x005D*/ u8 unk_5D[2][PARTY_SIZE]; + /*0x0069*/ u8 unk_69; + /*0x006A*/ u8 filler_6A[0x6F - 0x6A]; + /*0x006F*/ u8 unk_6F; + /*0x0070*/ u8 unk_70; + /*0x0071*/ u8 filler_71; + /*0x0072*/ u16 unk_72; + /*0x0074*/ u8 unk_74[2]; + /*0x0076*/ u8 unk_76[2]; + /*0x0078*/ u8 unk_78; + /*0x0079*/ u8 unk_79; + /*0x007A*/ u8 unk_7A; + /*0x007B*/ u8 unk_7B; + /*0x007C*/ u8 filler_7C[0x7E - 0x7C]; + /*0x007E*/ u8 unk_7E; + /*0x007F*/ u8 filler_7F; + /*0x0080*/ u16 linkData[20]; + /*0x00A8*/ u8 unk_A8; + /*0x00A9*/ u8 unk_A9[11]; + /*0x00B4*/ u8 filler_B4[0x8D0-0xB4]; + /*0x08D0*/ struct { + bool8 unk_0; + u16 unk_2; + u8 unk_4; + } unk_8D0[4]; + /*0x08F0*/ u16 tilemapBuffer[0x400]; +} *gUnknown_0203229C = {NULL}; +static EWRAM_DATA struct { + /*0x00*/ struct Pokemon mon; + /*0x64*/ u32 timer; + /*0x68*/ u32 unk_68[2]; + /*0x70*/ u8 filler_70[2]; + /*0x72*/ u8 unk_72; + /*0x73*/ u8 unk_73; + /*0x74*/ u16 linkData[10]; + /*0x88*/ u8 unk_88; + /*0x89*/ u8 unk_89; + /*0x8A*/ u16 unk_8A; + /*0x8C*/ u16 unk_8C; + /*0x8E*/ u8 pokePicSpriteIdxs[2]; + /*0x90*/ u8 unk_90; + /*0x91*/ u8 unk_91; + /*0x92*/ u8 unk_92; + /*0x93*/ u8 unk_93; + /*0x94*/ u16 state; + /*0x96*/ u8 filler_96[0xD2 - 0x96]; + /*0xD2*/ u8 unk_D2; + /*0xD3*/ u8 unk_D3; + /*0xD4*/ u16 unk_D4; + /*0xD6*/ u16 unk_D6; + /*0xD8*/ u16 unk_D8; + /*0xDA*/ u16 unk_DA; + /*0xDC*/ u16 unk_DC; + /*0xDE*/ u16 unk_DE; + /*0xE0*/ s16 bg1vofs; + /*0xE2*/ s16 bg1hofs; + /*0xE4*/ s16 bg2vofs; + /*0xE6*/ s16 bg2hofs; + /*0xE8*/ u16 unk_E8; + /*0xEA*/ u16 unk_EA; + /*0xEC*/ u16 unk_EC; + /*0xEE*/ bool8 isLinkTrade; + /*0xF0*/ u16 tradeSpecies[2]; + /*0xF4*/ u16 cachedMapMusic; + /*0xF6*/ u8 unk_F6[3]; + /*0xF9*/ u8 filler_F9; + /*0xFA*/ u8 unk_FA; + /*0xFB*/ u8 unk_FB; + /*0xFC*/ u8 unk_FC; + /*0xFD*/ u8 unk_FD; + /*0xFE*/ u8 unk_FE; +} *gUnknown_020322A0 = {NULL}; + +static bool32 sub_8077260(void); +static void sub_80773D0(void); +static void sub_807811C(void); +static void sub_807825C(void); +static void sub_80782B8(u8); +static void sub_8078388(void); +static bool8 shedinja_maker_maybe(void); +static void sub_8078C34(void); +static void sub_80795AC(void); +static void sub_807967C(u8); +static void sub_80796B4(u8); +static u8 sub_8079A3C(u8 *, u8, u8); +static void sub_8079AA4(u8 *, u8, u8); +static void sub_8079BE0(u8); +static void sub_8079C4C(u8, u8, u8, u8, u8, u8); +static void sub_8079E44(u8); +static void sub_8079F74(void); +static void sub_8079F88(u8); +static void sub_807A000(u8 taskId); +static void sub_807A024(u8 taskId); +static void sub_807A048(u16, u8); +static u32 sub_807A09C(void); +static void sub_807A0C4(void); +static void sub_807A19C(u8); +static bool8 sub_807A1F0(void); +static void sub_807A308(const u8 *, u8 *, u8); +static void sub_807A320(u8); +static void sub_807A468(u8); +static void sub_807A53C(void); +static void sub_807A5B0(void); +static u32 sub_807A5F4(struct Pokemon *, int, int); +static void sub_807AA28(struct Sprite *sprite); +static void sub_807AA7C(struct Sprite *sprite); +static void sub_807AABC(struct Sprite *sprite); +static void sub_807AAE0(struct Sprite *sprite); +static void sub_807AB04(struct Sprite *sprite); +static void sub_807B170(void); +static void sub_807B60C(void); +static void sub_807B62C(u8); +static void sub_807BA94(void); +static void SetTradeSceneStrings(void); +static u8 sub_807BBC8(void); +static u8 sub_807BBEC(void); +static u8 sub_807CFC8(void); +static void sub_807E55C(struct Sprite *sprite); +static void sub_807E5D8(struct Sprite *sprite); +static void sub_807E64C(struct Sprite *sprite); +static void sub_807E6AC(struct Sprite *sprite); +static void sub_807E784(void); +static void sub_807E974(struct MailStruct *mail, const struct InGameTrade *trade); +static void sub_807EA2C(void); +static void sub_807EACC(void); +static void sub_807EB50(void); +static void c2_080543C4(void); +static void sub_807F110(u8); +static void sub_807F14C(void); +static void c3_08054588(u8); +static void c3_0805465C(u8); +static void sub_807F39C(u8); +static void sub_807F464(void); + +static const u32 sUnref_0832C6A8[] = +{ + 0x00000F2C, + 0x00003D88, + 0x0000001C, + 0x00000024, + 0x00000064, + 0x00000528 +}; +static const u16 gTradeMovesBoxTilemap[] = INCBIN_U16("graphics/trade/moves_box_map.bin"); +static const u16 gTradePartyBoxTilemap[] = INCBIN_U16("graphics/trade/party_box_map.bin"); +static const u8 gTradeStripesBG2Tilemap[] = INCBIN_U8("graphics/trade/stripes_bg2_map.bin"); +static const u8 gTradeStripesBG3Tilemap[] = INCBIN_U8("graphics/trade/stripes_bg3_map.bin"); +static const u8 gText_EmptyString7[] = _(""); +static const u8 gText_ClrWhtHltTrspntShdwDrkGry[] = _("{COLOR WHITE}{HIGHLIGHT TRANSPARENT}{SHADOW DARK_GREY}"); +const u8 gText_MaleSymbol4[] = _("♂"); +const u8 gText_FemaleSymbol4[] = _("♀"); +const u8 gText_GenderlessSymbol[] = _(""); +static const u8 gText_SpaceMove[] = _(" MOVE"); +static const u8 gText_NewLine3[] = _("\n"); +static const u8 gText_Slash2[] = _("/"); +static const u8 gText_Lv2[] = _("Lv. "); +static const u8 gText_ThreeDashes2[] = _("---"); +static const u8 gText_FourQuestionMarks[] = _("????"); +static const u8 gText_832DAE4[] = _(""); +static const u8 gText_IsThisTradeOkay[] = _("Is this trade okay?"); +static const u8 gText_Cancel6[] = _("CANCEL"); +static const u8 gText_ChooseAPkmn[] = _("Choose a POKéMON."); +static const u8 gText_Summary3[] = _("SUMMARY"); +static const u8 gText_Trade2[] = _("TRADE"); +static const u8 gText_CancelTrade[] = _("Cancel trade?"); +static const u8 gJPText_832DB2E[] = _("Bボタン で もどります"); +static const u8 gText_Summary4[] = _("SUMMARY"); +static const u8 gText_Trade3[] = _("TRADE"); +static const u8 gText_CommunicationStandby6[] = _("{COLOR DARK_GREY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GREY}Communication standby…\nPlease wait."); +static const u8 gText_TheTradeHasBeenCanceled[] = _("{COLOR DARK_GREY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GREY}The trade has\nbeen canceled."); +static const u8 gText_YourOnlyPkmnForBattle[] = _("That's your only\nPOKéMON for battle."); +static const u8 gText_WaitingForYourFriend[] = _("{COLOR DARK_GREY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GREY}Waiting for your friend\nto finish…"); +static const u8 gText_YourFriendWantsToTrade[] = _("Your friend wants\nto trade POKéMON."); + +static const struct OamData gOamData_832DC14 = { + .shape = ST_OAM_H_RECTANGLE, + .size = 2, + .priority = 1 +}; + +static const struct OamData gOamData_832DC1C = { + .shape = ST_OAM_H_RECTANGLE, + .size = 3, + .priority = 1 +}; + +static const union AnimCmd gSpriteAnim_832DC24[] = { + ANIMCMD_FRAME(0, 5), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_832DC2C[] = { + ANIMCMD_FRAME(32, 5), + ANIMCMD_END +}; + +static const union AnimCmd *const gSpriteAnimTable_832DC34[] = { + gSpriteAnim_832DC24, + gSpriteAnim_832DC2C +}; + +static const struct SpriteSheet gUnknown_0832DC3C = { + gUnknown_08DDC6E4, 0x800, 300 +}; + +static const struct SpritePalette gUnknown_0832DC44 = { + gUnknown_08DDB444, 2345 +}; + +static const union AnimCmd gSpriteAnim_832DC4C[] = { + ANIMCMD_FRAME(0, 5), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_832DC54[] = { + ANIMCMD_FRAME(8, 5), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_832DC5C[] = { + ANIMCMD_FRAME(16, 5), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_832DC64[] = { + ANIMCMD_FRAME(24, 5), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_832DC6C[] = { + ANIMCMD_FRAME(32, 5), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_832DC74[] = { + ANIMCMD_FRAME(40, 5), + ANIMCMD_END +}; + +static const union AnimCmd *const gSpriteAnimTable_832DC7C[] = { + gSpriteAnim_832DC4C, + gSpriteAnim_832DC54, + gSpriteAnim_832DC5C, + gSpriteAnim_832DC64, + gSpriteAnim_832DC6C, + gSpriteAnim_832DC74 +}; + +static const struct SpriteTemplate gSpriteTemplate_832DC94 = +{ + .tileTag = 300, + .paletteTag = 2345, + .oam = &gOamData_832DC1C, + .anims = gSpriteAnimTable_832DC34, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const struct SpriteTemplate gSpriteTemplate_832DCAC = +{ + .tileTag = 200, + .paletteTag = 4925, + .oam = &gOamData_832DC14, + .anims = gSpriteAnimTable_832DC7C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const u16 TradeScreenTextPalette[] = INCBIN_U16("graphics/trade/text.gbapal"); +static const struct SpritePalette gSpritePalette_TradeScreenText = +{ + TradeScreenTextPalette, 4925 +}; + +// This is used to determine the next mon to select when the D-Pad is +// pressed in a given direction. +// Note that the mons are laid out like this. +// 0-5 are the player's party and 6-11 are the trading partner's party. +// 12 is the cancel button. +// 0 1 6 7 +// 2 3 8 9 +// 4 5 10 11 +// 12 + +static const u8 gTradeNextSelectedMonTable[][4][6] = +{ + { + {4, 2, 12, 12, 0, 0}, + {2, 4, 12, 12, 0, 0}, + {7, 6, 1, 0, 0, 0}, + {1, 6, 7, 0, 0, 0} + }, + { + {5, 3, 12, 12, 0, 0}, + {3, 5, 12, 12, 0, 0}, + {0, 7, 6, 1, 0, 0}, + {6, 7, 0, 1, 0, 0} + }, + { + {0, 0, 0, 0, 0, 0}, + {4, 0, 0, 0, 0, 0}, + {9, 8, 7, 6, 0, 0}, + {3, 1, 0, 0, 0, 0} + }, + { + {1, 1, 1, 1, 0, 0}, + {5, 1, 1, 1, 0, 0}, + {2, 9, 8, 7, 0, 0}, + {8, 9, 6, 6, 0, 0} + }, + { + {2, 2, 2, 2, 0, 0}, + {0, 0, 0, 0, 0, 0}, + {11, 10, 9, 8, 7, 6}, + {5, 3, 1, 0, 0, 0} + }, + { + {3, 3, 3, 3, 0, 0}, + {1, 1, 1, 1, 0, 0}, + {4, 4, 4, 4, 0, 0}, + {10, 8, 6, 0, 0, 0} + }, + { + {10, 8, 12, 0, 0, 0}, + {8, 10, 12, 0, 0, 0}, + {1, 0, 0, 0, 0, 0}, + {7, 0, 1, 0, 0, 0} + }, + { + {12, 0, 0, 0, 0, 0}, + {9, 12, 0, 0, 0, 0}, + {6, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0} + }, + { + {6, 0, 0, 0, 0, 0}, + {10, 6, 0, 0, 0, 0}, + {3, 2, 1, 0, 0, 0}, + {9, 7, 0, 0, 0, 0} + }, + { + {7, 0, 0, 0, 0, 0}, + {11, 12, 0, 0, 0, 0}, + {8, 0, 0, 0, 0, 0}, + {2, 1, 0, 0, 0, 0} + }, + { + {8, 0, 0, 0, 0, 0}, + {6, 0, 0, 0, 0, 0}, + {5, 4, 3, 2, 1, 0}, + {11, 9, 7, 0, 0, 0} + }, + { + {9, 0, 0, 0, 0, 0}, + {12, 0, 0, 0, 0, 0}, + {10, 0, 0, 0, 0, 0}, + {4, 2, 0, 0, 0, 0} + }, + { + {11, 9, 7, 6, 0, 0}, + {7, 6, 0, 0, 0, 0}, + {12, 0, 0, 0, 0, 0}, + {12, 0, 0, 0, 0, 0} + } +}; + +static const u8 gTradeMonSpriteCoords[][2] = +{ + // Your party + {1, 5 }, + {8, 5 }, + {1, 10}, + {8, 10}, + {1, 15}, + {8, 15}, + + // Friend's party + {16, 5 }, + {23, 5 }, + {16, 10}, + {23, 10}, + {16, 15}, + {23, 15}, + + {23, 18} // CANCEL +}; + +static const u8 gTradeLevelDisplayCoords[][6][2] = { + { + // Your party + {5, 4}, + {12, 4}, + {5, 9}, + {12, 9}, + {5, 14}, + {12, 14}, + }, + { + // Friend's party + {20, 4}, + {27, 4}, + {20, 9}, + {27, 9}, + {20, 14}, + {27, 14} + } +}; + +static const u8 gTradeMonBoxCoords[][6][2] = { + { + // Your party + {1, 3}, + {8, 3}, + {1, 8}, + {8, 8}, + {1, 13}, + {8, 13}, + }, + { + // Friend's party + {16, 3}, + {23, 3}, + {16, 8}, + {23, 8}, + {16, 13}, + {23, 13} + } +}; + +static const u8 sUnref_0832DE6E[] = { + 0x00, 0x0e, + 0x0f, 0x1d, + 0x03, 0x05, + 0x03, 0x07, + 0x12, 0x05, + 0x12, 0x07, + 0x08, 0x07, + 0x16, 0x0c, + 0x08, 0x07, + 0x16, 0x0c, + 0x06, 0x07, + 0x18, 0x0c, + 0x06, 0x07, + 0x18, 0x0c, + 0x08, 0x07, + 0x16, 0x0c, + 0x07, 0x07, + 0x17, 0x0c +}; + +static const u8 *const gUnknown_0832DE94[] = +{ + gText_Cancel6, + gText_ChooseAPkmn, + gText_Summary3, + gText_Trade2, + gText_CancelTrade, + gJPText_832DB2E +}; + +static const struct MenuAction gUnknown_0832DEAC[] = { + {gText_Summary4, sub_807A000}, + {gText_Trade3, sub_807A024} +}; + +static const u8 *const gUnknown_0832DEBC[] = { + gText_CommunicationStandby6, + gText_TheTradeHasBeenCanceled, + gText_YourOnlyPkmnForBattle, + gText_OnlyPkmnForBattle, + gText_WaitingForYourFriend, + gText_YourFriendWantsToTrade, + gText_PkmnCantBeTradedNow, + gText_EggCantBeTradedNow, + gText_OtherTrainersPkmnCantBeTraded +}; + +static const u8 gUnknown_0832DEE0[] = { 0, 1, 2 }; + +static const struct BgTemplate gUnknown_0832DEE4[] = +{ + { + .bg = 0, + .charBaseIndex = 2, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 0, + .mapBaseIndex = 5, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + }, + { + .bg = 2, + .charBaseIndex = 0, + .mapBaseIndex = 6, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 + }, + { + .bg = 3, + .charBaseIndex = 0, + .mapBaseIndex = 7, + .screenSize = 0, + .paletteMode = 0, + .priority = 3, + .baseTile = 0 + }, +}; + +static const struct WindowTemplate gUnknown_0832DEF4[] = +{ + { + .bg = 0, + .tilemapLeft = 4, + .tilemapTop = 7, + .width = 22, + .height = 4, + .paletteNum = 15, + .baseBlock = 30 + }, + { + .bg = 0, + .tilemapLeft = 19, + .tilemapTop = 15, + .width = 10, + .height = 4, + .paletteNum = 15, + .baseBlock = 118 + }, + { + .bg = 0, + .tilemapLeft = 0, + .tilemapTop = 5, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 158 + }, + { + .bg = 0, + .tilemapLeft = 7, + .tilemapTop = 5, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 174 + }, + { + .bg = 0, + .tilemapLeft = 0, + .tilemapTop = 10, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 190 + }, + { + .bg = 0, + .tilemapLeft = 7, + .tilemapTop = 10, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 206 + }, + { + .bg = 0, + .tilemapLeft = 0, + .tilemapTop = 15, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 222 + }, + { + .bg = 0, + .tilemapLeft = 7, + .tilemapTop = 15, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 238 + }, + { + .bg = 0, + .tilemapLeft = 15, + .tilemapTop = 5, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 254 + }, + { + .bg = 0, + .tilemapLeft = 22, + .tilemapTop = 5, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 270 + }, + { + .bg = 0, + .tilemapLeft = 15, + .tilemapTop = 10, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 286 + }, + { + .bg = 0, + .tilemapLeft = 22, + .tilemapTop = 10, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 302 + }, + { + .bg = 0, + .tilemapLeft = 15, + .tilemapTop = 15, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 318 + }, + { + .bg = 0, + .tilemapLeft = 22, + .tilemapTop = 15, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 334 + }, + { + .bg = 0, + .tilemapLeft = 2, + .tilemapTop = 5, + .width = 14, + .height = 2, + .paletteNum = 13, + .baseBlock = 350 + }, + { + .bg = 0, + .tilemapLeft = 3, + .tilemapTop = 8, + .width = 11, + .height = 8, + .paletteNum = 15, + .baseBlock = 378 + }, + { + .bg = 0, + .tilemapLeft = 17, + .tilemapTop = 5, + .width = 14, + .height = 2, + .paletteNum = 15, + .baseBlock = 466 + }, + { + .bg = 0, + .tilemapLeft = 18, + .tilemapTop = 8, + .width = 11, + .height = 8, + .paletteNum = 15, + .baseBlock = 494 + }, + DUMMY_WIN_TEMPLATE, +}; + +static const struct WindowTemplate gUnknown_0832DF8C = +{ + .bg = 0, + .tilemapLeft = 23, + .tilemapTop = 13, + .width = 5, + .height = 4, + .paletteNum = 15, + .baseBlock = 582 +}; + +static const u8 gJPText_Shedinja[] = _("ヌケニン"); +static const u8 gUnknown_0832DF99[][2] = +{ + {4, 3}, + {19, 3}, + {0, 0} +}; + +static const u16 gTradeBallPalette[] = INCBIN_U16("graphics/trade/ball.gbapal"); +static const u8 gTradeBallTiles[] = INCBIN_U8("graphics/trade/ball.4bpp"); +static const u8 gUnknown_832E5C0[] = INCBIN_U8("graphics/trade/pokeball_symbol.8bpp"); +static const u16 gUnknown_0832FFC0[] = INCBIN_U16("graphics/trade/cable_closeup_map.bin"); +static const u16 gUnknown_083307C0[] = INCBIN_U16("graphics/trade/pokeball_symbol_map.bin"); +static const u16 sUnref_083308C0[] = INCBIN_U16("graphics/trade/unknown_3308C0.gbapal"); +static const u16 gUnknown_083308E0[] = INCBIN_U16("graphics/trade/gba.gbapal"); +static const u16 gUnref_08330900[] = INCBIN_U16("graphics/trade/shadow.gbapal"); +static const u16 gUnref_08330920[] = INCBIN_U16("graphics/trade/black.gbapal"); +static const u16 gUnknown_08330940[] = INCBIN_U16("graphics/trade/misc.gbapal"); +static const u8 gTradeGlow1Tiles[] = INCBIN_U8("graphics/trade/glow1.4bpp"); +static const u8 gTradeGlow2Tiles[] = INCBIN_U8("graphics/trade/glow2.4bpp"); +static const u8 gTradeCableEndTiles[] = INCBIN_U8("graphics/trade/cable_end.4bpp"); +static const u8 gTradeGBAScreenTiles[] = INCBIN_U8("graphics/trade/gba_screen.4bpp"); +const u16 gUnknown_08331F60[] = INCBIN_U16("graphics/trade/shadow_map.bin"); +static const u8 gUnknown_08332F60[] = INCBIN_U8("graphics/trade/gba_affine.8bpp"); +static const u8 sFiller_08335760[64] = {}; +static const u8 gUnknown_083357A0[] = INCBIN_U8("graphics/trade/gba_affine_map_cable.bin"); +static const u8 gUnknown_083358A0[] = INCBIN_U8("graphics/trade/gba_affine_map_wireless.bin"); +static const u16 gUnknown_083359A0[] = INCBIN_U16("graphics/trade/gba_map_wireless.bin"); +static const u16 gUnknown_083369A0[] = INCBIN_U16("graphics/trade/gba_map_cable.bin"); +static const u32 gUnknown_083379A0[] = INCBIN_U32("graphics/trade/unknown_3379A0.bin.lz"); +static const u16 gUnknown_08337AA0[] = INCBIN_U16("graphics/trade/wireless_signal_send.gbapal"); +static const u16 gUnknown_08337CA0[] = INCBIN_U16("graphics/trade/wireless_signal_receive.gbapal"); +static const u16 gUnknown_08337EA0[] = INCBIN_U16("graphics/trade/black.gbapal"); +static const u32 gUnknown_08337EC0[] = INCBIN_U32("graphics/trade/wireless_signal.4bpp.lz"); +static const u32 gUnknown_08338550[] = INCBIN_U32("graphics/trade/wireless_signal.bin.lz"); + +static const struct OamData gOamData_8338C44 = { + .affineMode = 1, + .size = 1 +}; + +static const union AnimCmd gSpriteAnim_8338C4C[] = { + ANIMCMD_FRAME( 0, 3), + ANIMCMD_FRAME( 4, 3), + ANIMCMD_FRAME( 8, 3), + ANIMCMD_FRAME(12, 3), + ANIMCMD_FRAME(16, 3), + ANIMCMD_FRAME(20, 3), + ANIMCMD_FRAME(24, 3), + ANIMCMD_FRAME(28, 3), + ANIMCMD_FRAME(32, 3), + ANIMCMD_FRAME(36, 3), + ANIMCMD_FRAME(40, 3), + ANIMCMD_FRAME(44, 3), + ANIMCMD_LOOP(1), + ANIMCMD_FRAME( 0, 3), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_8338C88[] = { + ANIMCMD_FRAME( 0, 3), + ANIMCMD_FRAME( 4, 3), + ANIMCMD_FRAME( 8, 3), + ANIMCMD_FRAME(12, 3), + ANIMCMD_FRAME(16, 3), + ANIMCMD_FRAME(20, 3), + ANIMCMD_FRAME(24, 3), + ANIMCMD_FRAME(28, 3), + ANIMCMD_FRAME(32, 3), + ANIMCMD_FRAME(36, 3), + ANIMCMD_FRAME(40, 3), + ANIMCMD_FRAME(44, 3), + ANIMCMD_LOOP(2), + ANIMCMD_FRAME( 0, 3), + ANIMCMD_END +}; + +static const union AnimCmd *const gSpriteAnimTable_8338C88[] = { + gSpriteAnim_8338C4C, + gSpriteAnim_8338C88 +}; + +static const union AffineAnimCmd gSpriteAffineAnim_8338CCC[] = { + AFFINEANIMCMD_FRAME(0, 0, 0, 1), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd gSpriteAffineAnim_8338CDC[] = { + AFFINEANIMCMD_FRAME(-8, 0, 0, 20), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd gSpriteAffineAnim_8338CEC[] = { + AFFINEANIMCMD_FRAME(0x60, 0x100, 0, 0), + AFFINEANIMCMD_FRAME( 0, 0, 0, 5), + AFFINEANIMCMD_FRAME( 8, 0, 0, 20), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd *const gSpriteAffineAnimTable_8338D0C[] = { + gSpriteAffineAnim_8338CCC, + gSpriteAffineAnim_8338CDC, + gSpriteAffineAnim_8338CEC +}; + +static const struct SpriteSheet gUnknown_08338D18 = { + gTradeBallTiles, 0x600, 5557 +}; + +static const struct SpritePalette gUnknown_08338D20 = { + gTradeBallPalette, 5558 +}; + +static const struct SpriteTemplate gSpriteTemplate_8338D28 = { + 5557, + 5558, + &gOamData_8338C44, + gSpriteAnimTable_8338C88, + NULL, + gSpriteAffineAnimTable_8338D0C, + sub_807E55C +}; + +static const struct OamData gOamData_8338D40 = { + .affineMode = 1, + .objMode = 1, + .size = 2, + .priority = 1 +}; + +static const union AnimCmd gSpriteAnim_8338D48[] = { + ANIMCMD_FRAME(0, 5, .hFlip = TRUE, .vFlip = TRUE), + ANIMCMD_END +}; + +static const union AnimCmd *const gSpriteAnimTable_8338D50[] = { + gSpriteAnim_8338D48 +}; + +static const union AffineAnimCmd gSpriteAffineAnim_8338D54[] = { + AFFINEANIMCMD_FRAME(-10, -10, 0, 5), + AFFINEANIMCMD_FRAME(10, 10, 0, 5), + AFFINEANIMCMD_JUMP(0) +}; + +static const union AffineAnimCmd *const gSpriteAffineAnimTable_8338D6C[] = { + gSpriteAffineAnim_8338D54 +}; + +static const struct SpriteSheet gUnknown_08338D70 = { + gTradeGlow1Tiles, 0x200, 5550 +}; + +static const struct SpritePalette gUnknown_08338D78 = { + gUnknown_08330940, 5551 +}; + +static const struct SpritePalette gUnknown_08338D80 = { + gUnknown_083308E0, 5555 +}; + +static const struct SpriteTemplate gUnknown_08338D88 = { + 5550, + 5551, + &gOamData_8338D40, + gSpriteAnimTable_8338D50, + NULL, + gSpriteAffineAnimTable_8338D6C, + sub_807AA28 +}; + +static const struct OamData gOamData_8338DA0 = { + .shape = ST_OAM_V_RECTANGLE, + .size = 2, + .priority = 1 +}; + +static const union AnimCmd gSpriteAnim_8338DA8[] = { + ANIMCMD_FRAME(0, 5, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_8338DB0[] = { + ANIMCMD_FRAME(8, 5, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_END +}; + +static const union AnimCmd *const gSpriteAnimTable_8338DB8[] = { + gSpriteAnim_8338DA8, + gSpriteAnim_8338DB0 +}; + +static const struct SpriteSheet gUnknown_08338DC0 = { + gTradeGlow2Tiles, 0x300, 5552 +}; + +static const struct SpriteTemplate gSpriteTemplate_8338DC8 = { + 5552, + 5551, + &gOamData_8338DA0, + gSpriteAnimTable_8338DB8, + NULL, + gDummySpriteAffineAnimTable, + sub_807AA7C +}; + +static const struct OamData gOamData_8338DE0 = { + .shape = ST_OAM_V_RECTANGLE, + .size = 2, + .priority = 1 +}; + +static const union AnimCmd gSpriteAnim_8338DE8[] = { + ANIMCMD_FRAME(0, 10), + ANIMCMD_END +}; + +static const union AnimCmd *const gSpriteAnimTable_8338DF0[] = { + gSpriteAnim_8338DE8 +}; + +static const struct SpriteSheet gUnknown_08338DF4 = { + gTradeCableEndTiles, 0x100, 5554 +}; + +static const struct SpriteTemplate gSpriteTemplate_8338DFC = { + 5554, + 5555, + &gOamData_8338DE0, + gSpriteAnimTable_8338DF0, + NULL, + gDummySpriteAffineAnimTable, + sub_807AABC +}; + +static const struct OamData gOamData_8338E14 = { + .shape = ST_OAM_H_RECTANGLE, + .size = 3, + .priority = 1 +}; + +static const union AnimCmd gSpriteAnim_8338E1C[] = { + ANIMCMD_FRAME( 0, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(32, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(64, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(96, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(64, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(32, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME( 0, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_LOOP(8), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_8338E40[] = { + ANIMCMD_FRAME( 0, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(32, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(64, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(96, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(64, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(32, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME( 0, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_LOOP(2), + ANIMCMD_END +}; + +static const union AnimCmd *const gSpriteAnimTable_8338E64[] = { + gSpriteAnim_8338E1C +}; + +static const union AnimCmd *const gSpriteAnimTable_8338E68[] = { + gSpriteAnim_8338E40 +}; + +static const struct SpriteSheet gUnknown_08338E6C = { + gTradeGBAScreenTiles, 0x1000, 5556 +}; + +static const struct SpriteTemplate gSpriteTemplate_8338E74 = { + 5556, + 5555, + &gOamData_8338E14, + gSpriteAnimTable_8338E64, + NULL, + gDummySpriteAffineAnimTable, + sub_807AB04 +}; + +static const struct SpriteTemplate gSpriteTemplate_8338E8C = { + 5556, + 5555, + &gOamData_8338E14, + gSpriteAnimTable_8338E68, + NULL, + gDummySpriteAffineAnimTable, + sub_807AB04 +}; + +static const u16 gUnknown_08338EA4[] = INCBIN_U16("graphics/trade/unknown_338EA4.gbapal"); + +static const union AffineAnimCmd gSpriteAffineAnim_8338EBC[] = { + AFFINEANIMCMD_FRAME(-0x100, 0x100, 0, 0), + AFFINEANIMCMD_JUMP(0) +}; + +static const union AffineAnimCmd *const gSpriteAffineAnimTable_8338ECC[] = { + gSpriteAffineAnim_8338EBC +}; + +static const struct InGameTrade gIngameTrades[] = { + { + _("DOTS"), SPECIES_SEEDOT, + 5, 4, 5, 4, 4, 4, + TRUE, 38726, + 30, 5, 5, 5, 5, + 0x84, + ITEM_CHESTO_BERRY, -1, + _("KOBE"), MALE, 10, + SPECIES_RALTS + }, { + _("PLUSES"), SPECIES_PLUSLE, + 4, 4, 4, 5, 5, 4, + FALSE, 73996, + 5, 5, 30, 5, 5, + 0x6F, + ITEM_WOOD_MAIL, 0, + _("ROMAN"), MALE, 10, + SPECIES_VOLBEAT + }, { + _("SEASOR"), + SPECIES_HORSEA, + 5, 4, 4, 4, 5, 4, + FALSE, 46285, + 5, 5, 5, 5, 30, + 0x7F, + ITEM_WAVE_MAIL, 1, + _("SKYLAR"), MALE, 10, + SPECIES_BAGON + }, { + _("MEOWOW"), + SPECIES_MEOWTH, + 4, 5, 4, 5, 4, 4, + FALSE, 91481, + 5, 5, 5, 30, 5, + 0x8B, + ITEM_RETRO_MAIL, 2, + _("ISIS"), FEMALE, 10, + SPECIES_SKITTY + } +}; + +static const u16 gIngameTradeMail[][10] = { + { + EC_WORD_BE, + EC_WORD_NICE, + EC_WORD_TO, + EC_POKEMON(PLUSLE), + EC_WORD_EXCL, + EC_POKEMON(VOLBEAT), + EC_WORD_WILL, + EC_WORD_BE, + EC_WORD_FANTASTIC, + 0 + }, { + EC_WORD_I, + EC_WORD_WILL, + EC_WORD_MAKE, + EC_POKEMON(BAGON), + EC_WORD_TOUGH, + EC_WORD_PLEASE, + EC_WORD_TRAIN, + EC_POKEMON(HORSEA), + EC_WORD_WELL, + 0 + }, { + EC_WORD_THANK_YOU, + EC_WORD_FOR, + EC_POKEMON(SKITTY), + EC_POKEMON2(MEOWTH), + EC_WORD_CRIES, + EC_WORD_IN, + EC_WORD_A, + EC_WORD_CUTE, + EC_WORD_WAY, + 0 + } +}; + +static const struct WindowTemplate gUnknown_08338FFC[] = +{ + { + .bg = 0, + .tilemapLeft = 2, + .tilemapTop = 15, + .width = 26, + .height = 4, + .paletteNum = 0, + .baseBlock = 64 + }, + DUMMY_WIN_TEMPLATE +}; + +const struct WindowTemplate gUnknown_0833900C = +{ + .bg = 0, + .tilemapLeft = 21, + .tilemapTop = 9, + .width = 5, + .height = 4, + .paletteNum = 15, + .baseBlock = 188 +}; + +static const struct BgTemplate gUnknown_08339014[] = +{ + { + .bg = 0, + .charBaseIndex = 3, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 0, + .mapBaseIndex = 5, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 + }, + { + .bg = 2, + .charBaseIndex = 1, + .mapBaseIndex = 18, + .screenSize = 1, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 + }, + { + .bg = 3, + .charBaseIndex = 0, + .mapBaseIndex = 6, + .screenSize = 0, + .paletteMode = 0, + .priority = 3, + .baseTile = 0 + }, +}; + +static const s8 gTradeBallVerticalVelocityTable[] = { + 0, 0, 1, 0, + 1, 0, 1, 1, + 1, 1, 2, 2, + 2, 2, 3, 3, + 3, 3, 4, 4, + 4, 4, -4, -4, + -4, -3, -3, -3, + -3, -2, -2, -2, + -2, -1, -1, -1, + -1, 0, -1, 0, + -1, 0, 0, 0, + 0, 0, 1, 0, + 1, 0, 1, 1, + 1, 1, 2, 2, + 2, 2, 3, 3, + 3, 3, 4, 4, + 4, 4, -4, -3, + -3, -2, -2, -1, + -1, -1, 0, -1, + 0, 0, 0, 0, + 0, 0, 1, 0, + 1, 1, 1, 2, + 2, 3, 3, 4, + -4, -3, -2, -1, + -1, -1, 0, 0, + 0, 0, 1, 0, + 1, 1, 2, 3 +}; + +static const u8 gUnknown_08339090[][2] = +{ + {0, 1}, + {1, 1}, + {2, 1}, + {3, 1}, + {4, 1}, + {5, 2}, + {6, 2}, + {7, 2}, + {8, 2}, + {9, 2}, + {10, 3}, + {11, 3}, + {12, 3}, + {13, 4}, + {14, 5}, + {15, 2}, + {0, 1}, + {1, 1}, + {2, 1}, + {3, 1}, + {4, 1}, + {5, 2}, + {6, 2}, + {7, 2}, + {8, 2}, + {9, 2}, + {10, 3}, + {11, 3}, + {12, 3}, + {13, 4}, + {14, 5}, + {16, 1}, + {16, -1}, + {0, 0} +}; + +// external to this file +extern const struct CompressedSpriteSheet gMonFrontPicTable[]; +extern const struct MonCoords gMonFrontPicCoords[]; + +static bool8 sub_8077170(const void *a0, u32 a1) +{ + if (gUnknown_02022C2C == 29) + { + rfu_NI_setSendData(gUnknown_03004140.unk_00, 84, a0, a1); + return TRUE; + } + else + { + return SendBlock(0, a0, a1); + } +} + +static void sub_80771AC(u8 a0) +{ + sub_800A4D8(a0); +} + +static bool32 sub_80771BC(void) +{ + if (gUnknown_02022C2C == 29) + { + if (gUnknown_03007880[sub_800E87C(gUnknown_03004140.unk_00)]->unk_0 == 0) + { + return TRUE; + } + else + { + return FALSE; + } + } + else + { + return IsLinkTaskFinished(); + } +} + +static u32 _GetBlockReceivedStatus(void) +{ + return GetBlockReceivedStatus(); +} + +static void sub_8077210(void) +{ + if (sub_8077260()) + { + rfu_clearSlot(12, gUnknown_03004140.unk_00); + } + else + { + ResetBlockReceivedFlags(); + } +} + +static void sub_8077234(u32 a0) +{ + if (sub_8077260()) + { + rfu_clearSlot(12, gUnknown_03004140.unk_00); + } + else + { + ResetBlockReceivedFlag(a0); + } +} + +static bool32 sub_8077260(void) +{ + if (gWirelessCommType && gUnknown_02022C2C == 29) + { + return TRUE; + } + else + { + return FALSE; + } +} + +static void sub_8077288(u8 unused) +{ + sub_800ADF8(); +} + +static bool32 _IsLinkTaskFinished(void) +{ + return IsLinkTaskFinished(); +} + +static void sub_80772A4(void) +{ + ResetSpriteData(); + FreeAllSpritePalettes(); + ResetTasks(); + ResetPaletteFade(); + + gPaletteFade.bufferTransferDisabled = TRUE; + + SetVBlankCallback(sub_807811C); + LoadPalette(gUnknown_0860F074, 0xF0, 20); + LoadPalette(gUnknown_0860F074, 0xD0, 20); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, gUnknown_0832DEE4, ARRAY_COUNT(gUnknown_0832DEE4)); + SetBgTilemapBuffer(1, gUnknown_0203229C->tilemapBuffer); + + if (InitWindows(gUnknown_0832DEF4)) + { + u32 i; + + DeactivateAllTextPrinters(); + + for (i = 0; i < 18; i++) + { + ClearWindowTilemap(i); + FillWindowPixelBuffer(i, 0); + } + + FillBgTilemapBufferRect(0, 0, 0, 0, 30, 20, 15); + LoadUserWindowBorderGfx_(0, 20, 0xC0); + LoadUserWindowBorderGfx(2, 1, 0xE0); + LoadMonIconPalettes(); + gUnknown_0203229C->unk_69 = 0; + gUnknown_0203229C->unk_6F = 0; + gUnknown_0203229C->unk_70 = 0; + gUnknown_0203229C->unk_74[0] = 0; + gUnknown_0203229C->unk_74[1] = 0; + gUnknown_0203229C->unk_7A = 0; + gUnknown_0203229C->unk_7B = 0; + gUnknown_0203229C->unk_A8 = 0; + } +} + +void sub_80773AC(void) +{ + SetMainCallback2(sub_80773D0); + gMain.callback1 = NULL; + gEnemyPartyCount = 0; +} + +static void sub_80773D0(void) +{ + int i; + struct SpriteTemplate temp; + u8 id; + u32 xPos; + + switch (gMain.state) + { + case 0: + gUnknown_0203229C = AllocZeroed(sizeof(*gUnknown_0203229C)); + sub_80772A4(); + gUnknown_02032184 = AllocZeroed(0xE00); + + for (i = 0; i < 14; i++) + { + gUnknown_02032188[i] = &gUnknown_02032184[i * 256]; + } + + gMain.state++; + break; + case 1: + gPaletteFade.bufferTransferDisabled = FALSE; + + for (i = 0; i < PARTY_SIZE; i++) + { + CreateMon(&gEnemyParty[i], SPECIES_NONE, 0, 0x20, FALSE, 0, 0, 0); + } + + sub_807A19C(0); + ShowBg(0); + + if (!gReceivedRemoteLinkPlayers) + { + gLinkType = 0x1122; + gUnknown_0203229C->unk_A8 = 0; + + if (gWirelessCommType) + { + sub_800B488(); + OpenLink(); + sub_8011BA4(); + } + else + { + OpenLink(); + gMain.state++; + CreateTask(task00_08081A90, 1); + } + } + else + { + gMain.state = 4; + } + break; + case 2: + gUnknown_0203229C->unk_A8++; + if (gUnknown_0203229C->unk_A8 > 11) + { + gUnknown_0203229C->unk_A8 = 0; + gMain.state++; + } + break; + case 3: + if (GetLinkPlayerCount_2() >= sub_800AA48()) + { + if (IsLinkMaster()) + { + if (++gUnknown_0203229C->unk_A8 > 30) + { + sub_800A620(); + gMain.state++; + } + } + else + { + gMain.state++; + } + } + break; + case 4: + if (gReceivedRemoteLinkPlayers == TRUE && IsLinkPlayerDataExchangeComplete() == TRUE) + { + sub_8011BD0(); + CalculatePlayerPartyCount(); + gMain.state++; + gUnknown_0203229C->unk_A8 = 0; + if (gWirelessCommType) + { + sub_801048C(TRUE); + sub_800ADF8(); + } + } + break; + case 5: + if (gWirelessCommType) + { + if (sub_8010500()) + { + gMain.state++; + sub_800E0E8(); + CreateWirelessStatusIndicatorSprite(0, 0); + } + } + else + { + gMain.state++; + } + break; + case 6: + if (shedinja_maker_maybe()) + { + sub_807A5B0(); + gMain.state++; + } + break; + case 7: + CalculateEnemyPartyCount(); + SetGpuReg(REG_OFFSET_DISPCNT, 0); + SetGpuReg(REG_OFFSET_BLDCNT, 0); + gUnknown_0203229C->partyCounts[0] = gPlayerPartyCount; + gUnknown_0203229C->partyCounts[1] = gEnemyPartyCount; + + for (i = 0; i < gUnknown_0203229C->partyCounts[0]; i++) + { + struct Pokemon *mon = &gPlayerParty[i]; + gUnknown_0203229C->partyIcons[0][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2), + sub_80D3014, + (gTradeMonSpriteCoords[i][0] * 8) + 14, + (gTradeMonSpriteCoords[i][1] * 8) - 12, + 1, + GetMonData(mon, MON_DATA_PERSONALITY), + TRUE); + } + + for (i = 0; i < gUnknown_0203229C->partyCounts[1]; i++) + { + struct Pokemon *mon = &gEnemyParty[i]; + gUnknown_0203229C->partyIcons[1][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL), + sub_80D3014, + (gTradeMonSpriteCoords[i + PARTY_SIZE][0] * 8) + 14, + (gTradeMonSpriteCoords[i + PARTY_SIZE][1] * 8) - 12, + 1, + GetMonData(mon, MON_DATA_PERSONALITY), + FALSE); + } + gMain.state++; + break; + case 8: + LoadHeldItemIcons(); + sub_81B5D4C(&gUnknown_0203229C->partyCounts[0], gUnknown_0203229C->partyIcons[0], 0); + gMain.state++; + break; + case 9: + sub_81B5D4C(&gUnknown_0203229C->partyCounts[0], gUnknown_0203229C->partyIcons[0], 1); + gMain.state++; + break; + case 10: + sub_80C6D80(gSaveBlock2Ptr->playerName, gUnknown_02032188[0], 0, 0, 3); + id = GetMultiplayerId(); + sub_80C6D80(gLinkPlayers[id ^ 1].name, gUnknown_02032188[3], 0, 0, 3); + sub_80C6D80(gUnknown_0832DE94[0], gUnknown_02032188[6], 0, 0, 2); + sub_807A308(gUnknown_0832DE94[1], gUnknown_02032188[8], 24); + gMain.state++; + gUnknown_0203229C->unk_A8 = 0; + break; + case 11: + if (sub_807A1F0()) + gMain.state++; + break; + case 12: + xPos = GetStringCenterAlignXOffset(1, gSaveBlock2Ptr->playerName, 120); + for (i = 0; i < 3; i++) + { + temp = gSpriteTemplate_832DCAC; + temp.tileTag += i; + CreateSprite(&temp, xPos + (i * 32) + 16, 10, 1); + } + + xPos = GetStringCenterAlignXOffset(1, gLinkPlayers[GetMultiplayerId() ^ 1].name, 120); + for (i = 0; i < 3; i++) + { + temp = gSpriteTemplate_832DCAC; + temp.tileTag += i + 3; + CreateSprite(&temp, xPos + (i * 32) + 136, 10, 1); + } + gMain.state++; + break; + case 13: + temp = gSpriteTemplate_832DCAC; + temp.tileTag += 6; + CreateSprite(&temp, 215, 152, 1); + temp = gSpriteTemplate_832DCAC; + temp.tileTag += 7; + CreateSprite(&temp, 247, 152, 1); + + for (i = 0; i < PARTY_SIZE; i++) + { + temp = gSpriteTemplate_832DCAC; + temp.tileTag += i + 8; + CreateSprite(&temp, (i * 32) + 24, 150, 1); + } + + gUnknown_0203229C->tradeMenuCursorSpriteIdx = CreateSprite(&gSpriteTemplate_832DC94, gTradeMonSpriteCoords[0][0] * 8 + 32, gTradeMonSpriteCoords[0][1] * 8, 2); + gUnknown_0203229C->tradeMenuCursorPosition = 0; + gMain.state++; + rbox_fill_rectangle(0); + break; + case 14: + sub_807A320(0); + sub_8079BE0(0); + gUnknown_0203229C->unk_0 = 0; + gUnknown_0203229C->unk_1 = 0; + sub_8078388(); + gMain.state++; + PlayBGM(MUS_P_SCHOOL); + break; + case 15: + sub_807A320(1); + sub_8079BE0(1); + gMain.state++; + // fallthrough + case 16: + sub_80782B8(0); + gMain.state++; + break; + case 17: + sub_80782B8(1); + gMain.state++; + break; + case 18: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); + gMain.state++; + break; + case 19: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON); + sub_80782B8(2); + gMain.state++; + break; + case 20: + sub_807A468(0); + gMain.state++; + break; + case 21: + sub_807A468(1); + sub_807A53C(); + gMain.state++; + break; + case 22: + if (!gPaletteFade.active) + { + gMain.callback1 = sub_8078C34; + SetMainCallback2(sub_807825C); + } + break; + } + + RunTextPrinters(); + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +static void sub_8077B74(void) +{ + int i; + struct SpriteTemplate temp; + u8 id; + u32 xPos; + + switch (gMain.state) + { + case 0: + sub_80772A4(); + gMain.state++; + break; + case 1: + gMain.state++; + gUnknown_0203229C->unk_A8 = 0; + break; + case 2: + gMain.state++; + break; + case 3: + gMain.state++; + break; + case 4: + CalculatePlayerPartyCount(); + gMain.state++; + break; + case 5: + if (gWirelessCommType) + { + sub_800E0E8(); + CreateWirelessStatusIndicatorSprite(0, 0); + } + gMain.state++; + break; + case 6: + gMain.state++; + break; + case 7: + CalculateEnemyPartyCount(); + gUnknown_0203229C->partyCounts[0] = gPlayerPartyCount; + gUnknown_0203229C->partyCounts[1] = gEnemyPartyCount; + ClearWindowTilemap(0); + sub_8079BE0(0); + sub_8079BE0(1); + + for (i = 0; i < gUnknown_0203229C->partyCounts[0]; i++) + { + struct Pokemon *mon = &gPlayerParty[i]; + gUnknown_0203229C->partyIcons[0][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL), + sub_80D3014, + (gTradeMonSpriteCoords[i][0] * 8) + 14, + (gTradeMonSpriteCoords[i][1] * 8) - 12, + 1, + GetMonData(mon, MON_DATA_PERSONALITY), + TRUE); + } + + for (i = 0; i < gUnknown_0203229C->partyCounts[1]; i++) + { + struct Pokemon *mon = &gEnemyParty[i]; + gUnknown_0203229C->partyIcons[1][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL), + sub_80D3014, + (gTradeMonSpriteCoords[i + PARTY_SIZE][0] * 8) + 14, + (gTradeMonSpriteCoords[i + PARTY_SIZE][1] * 8) - 12, + 1, + GetMonData(mon, MON_DATA_PERSONALITY), + FALSE); + } + gMain.state++; + break; + case 8: + LoadHeldItemIcons(); + sub_81B5D4C(&gUnknown_0203229C->partyCounts[0], gUnknown_0203229C->partyIcons[0], 0); + gMain.state++; + break; + case 9: + sub_81B5D4C(&gUnknown_0203229C->partyCounts[0], gUnknown_0203229C->partyIcons[0], 1); + gMain.state++; + break; + case 10: + sub_80C6D80(gSaveBlock2Ptr->playerName, gUnknown_02032188[0], 0, 0, 3); + id = GetMultiplayerId(); + sub_80C6D80(gLinkPlayers[id ^ 1].name, gUnknown_02032188[3], 0, 0, 3); + sub_80C6D80(gUnknown_0832DE94[0], gUnknown_02032188[6], 0, 0, 2); + sub_807A308(gUnknown_0832DE94[1], gUnknown_02032188[8], 24); + gMain.state++; + gUnknown_0203229C->unk_A8 = 0; + break; + case 11: + if (sub_807A1F0()) + gMain.state++; + break; + case 12: + xPos = GetStringCenterAlignXOffset(1, gSaveBlock2Ptr->playerName, 120); + for (i = 0; i < 3; i++) + { + temp = gSpriteTemplate_832DCAC; + temp.tileTag += i; + CreateSprite(&temp, xPos + (i * 32) + 16, 10, 1); + } + + xPos = GetStringCenterAlignXOffset(1, gLinkPlayers[GetMultiplayerId() ^ 1].name, 120); + for (i = 0; i < 3; i++) + { + temp = gSpriteTemplate_832DCAC; + temp.tileTag += i + 3; + CreateSprite(&temp, xPos + (i * 32) + 136, 10, 1); + } + gMain.state++; + break; + case 13: + temp = gSpriteTemplate_832DCAC; + temp.tileTag += 6; + CreateSprite(&temp, 215, 152, 1); + temp = gSpriteTemplate_832DCAC; + temp.tileTag += 7; + CreateSprite(&temp, 247, 152, 1); + + for (i = 0; i < PARTY_SIZE; i++) + { + temp = gSpriteTemplate_832DCAC; + temp.tileTag += i + 8; + CreateSprite(&temp, (i * 32) + 24, 150, 1); + } + + if (gUnknown_0203229C->tradeMenuCursorPosition < PARTY_SIZE) + gUnknown_0203229C->tradeMenuCursorPosition = gUnknown_0203CF20; + else + gUnknown_0203229C->tradeMenuCursorPosition = gUnknown_0203CF20 + PARTY_SIZE; + + gUnknown_0203229C->tradeMenuCursorSpriteIdx = CreateSprite(&gSpriteTemplate_832DC94, gTradeMonSpriteCoords[gUnknown_0203229C->tradeMenuCursorPosition][0] * 8 + 32, gTradeMonSpriteCoords[gUnknown_0203229C->tradeMenuCursorPosition][1] * 8, 2); + gMain.state = 16; + break; + case 16: + sub_80782B8(0); + gMain.state++; + break; + case 17: + sub_80782B8(1); + gUnknown_0203229C->unk_0 = 0; + gUnknown_0203229C->unk_1 = 0; + sub_8078388(); + gMain.state++; + break; + case 18: + gPaletteFade.bufferTransferDisabled = FALSE; + BlendPalettes(0xFFFFFFFF, 16, RGB_BLACK); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); + gMain.state++; + break; + case 19: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON); + sub_80782B8(2); + gMain.state++; + break; + case 20: + gMain.state++; + break; + case 21: + sub_807A53C(); + gMain.state++; + break; + case 22: + if (!gPaletteFade.active) + { + SetMainCallback2(sub_807825C); + } + break; + } + + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +static void sub_807811C(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +static void sub_8078130(void) +{ + if (++gUnknown_0203229C->unk_A8 > 15) + { + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gUnknown_0203229C->unk_6F = 10; + } +} + +static void sub_807816C(void) +{ + if (!gPaletteFade.active) + { + gUnknown_02032298[0] = gUnknown_0203229C->tradeMenuCursorPosition; + gUnknown_02032298[1] = gUnknown_0203229C->unk_7E; + + if (gWirelessCommType) + { + gUnknown_0203229C->unk_6F = 16; + } + else + { + sub_800ABF4(32); + gUnknown_0203229C->unk_6F = 13; + } + } +} + +static void sub_80781C8(void) +{ + gMain.savedCallback = sub_80773AC; + + if (gWirelessCommType) + { + if (sub_8010500()) + { + Free(gUnknown_02032184); + FreeAllWindowBuffers(); + Free(gUnknown_0203229C); + gMain.callback1 = NULL; + sub_800E084(); + SetMainCallback2(sub_807AE50); + } + } + else + { + if (!gReceivedRemoteLinkPlayers) + { + Free(gUnknown_02032184); + FreeAllWindowBuffers(); + Free(gUnknown_0203229C); + gMain.callback1 = NULL; + SetMainCallback2(sub_807AE50); + } + } +} + +static void sub_807825C(void) +{ + u8 temp; + + sub_80795AC(); + sub_807A0C4(); + sub_80796B4(0); + sub_80796B4(1); + + SetGpuReg(REG_OFFSET_BG2HOFS, gUnknown_0203229C->unk_0++); + SetGpuReg(REG_OFFSET_BG3HOFS, gUnknown_0203229C->unk_1--); + + RunTextPrintersAndIsPrinter0Active(); + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +static void sub_80782B8(u8 a0) +{ + int i; + + switch (a0) + { + case 0: + LoadPalette(gUnknown_08DDB3E4, 0, 0x60); + LoadBgTiles(1, gUnknown_08DDB464, 0x1280, 0); + CopyToBgTilemapBufferRect_ChangePalette(1, gUnknown_08DDCF04, 0, 0, 32, 20, 0); + LoadBgTilemap(2, gTradeStripesBG2Tilemap, 0x800, 0); + break; + case 1: + LoadBgTilemap(3, gTradeStripesBG3Tilemap, 0x800, 0); + sub_8079E44(0); + sub_8079E44(1); + CopyBgTilemapBufferToVram(1); + break; + case 2: + for (i = 0; i < 4; i++) + { + SetGpuReg(REG_OFFSET_BG0HOFS + (i * 2), 0); + } + ShowBg(0); + ShowBg(1); + ShowBg(2); + ShowBg(3); + break; + } +} + +static void sub_8078388(void) +{ + int i; + + for (i = 0; i < PARTY_SIZE; i++) + { + if (i < gUnknown_0203229C->partyCounts[0]) + { + gSprites[gUnknown_0203229C->partyIcons[0][i]].invisible = FALSE; + gUnknown_0203229C->tradeMenuOptionsActive[i] = TRUE; + } + else + { + gUnknown_0203229C->tradeMenuOptionsActive[i] = FALSE; + } + + if (i < gUnknown_0203229C->partyCounts[1]) + { + gSprites[gUnknown_0203229C->partyIcons[1][i]].invisible = FALSE; + gUnknown_0203229C->tradeMenuOptionsActive[i + PARTY_SIZE] = TRUE; + } + else + { + gUnknown_0203229C->tradeMenuOptionsActive[i + PARTY_SIZE] = FALSE; + } + } + + gUnknown_0203229C->unk_44 = 1; +} + +// why not just use memcpy? +static void Trade_Memcpy(void *dataDest, const void *dataSrc, u32 count) +{ + u8 *dest = dataDest; + const u8 *src = dataSrc; + u32 i; + + for (i = 0; i < count; i++) + { + dest[i] = src[i]; + } +} + +static bool8 shedinja_maker_maybe(void) +{ + u8 id = GetMultiplayerId(); + int i; + struct Pokemon *mon; + + switch (gUnknown_0203229C->unk_69) + { + case 0: + Trade_Memcpy(gBlockSendBuffer, &gPlayerParty[0], 2 * sizeof(struct Pokemon)); + gUnknown_0203229C->unk_69++; + gUnknown_0203229C->unk_A8 = 0; + break; + case 1: + if (sub_80771BC()) + { + if (_GetBlockReceivedStatus() == 0) + { + gUnknown_0203229C->unk_69++; + } + else + { + sub_8077210(); + gUnknown_0203229C->unk_69++; + } + } + break; + case 3: + if (id == 0) + { + sub_80771AC(1); + } + gUnknown_0203229C->unk_69++; + break; + case 4: + if (_GetBlockReceivedStatus() == 3) + { + Trade_Memcpy(&gEnemyParty[0], gBlockRecvBuffer[id ^ 1], 2 * sizeof(struct Pokemon)); + sub_8077210(); + gUnknown_0203229C->unk_69++; + } + break; + case 5: + Trade_Memcpy(gBlockSendBuffer, &gPlayerParty[2], 2 * sizeof(struct Pokemon)); + gUnknown_0203229C->unk_69++; + break; + case 7: + if (id == 0) + { + sub_80771AC(1); + } + gUnknown_0203229C->unk_69++; + break; + case 8: + if (_GetBlockReceivedStatus() == 3) + { + Trade_Memcpy(&gEnemyParty[2], gBlockRecvBuffer[id ^ 1], 200); + sub_8077210(); + gUnknown_0203229C->unk_69++; + } + break; + case 9: + Trade_Memcpy(gBlockSendBuffer, &gPlayerParty[4], 200); + gUnknown_0203229C->unk_69++; + break; + case 11: + if (id == 0) + { + sub_80771AC(1); + } + gUnknown_0203229C->unk_69++; + break; + case 12: + if (_GetBlockReceivedStatus() == 3) + { + Trade_Memcpy(&gEnemyParty[4], gBlockRecvBuffer[id ^ 1], 200); + sub_8077210(); + gUnknown_0203229C->unk_69++; + } + break; + case 13: + Trade_Memcpy(gBlockSendBuffer, gSaveBlock1Ptr->mail, 220); + gUnknown_0203229C->unk_69++; + break; + case 15: + if (id == 0) + { + sub_80771AC(3); + } + gUnknown_0203229C->unk_69++; + break; + case 16: + if (_GetBlockReceivedStatus() == 3) + { + Trade_Memcpy(gUnknown_020321C0, gBlockRecvBuffer[id ^ 1], 216); + sub_8077210(); + gUnknown_0203229C->unk_69++; + } + break; + case 17: + Trade_Memcpy(gBlockSendBuffer, gSaveBlock1Ptr->giftRibbons, 11); + gUnknown_0203229C->unk_69++; + break; + case 19: + if (id == 0) + { + sub_80771AC(4); + } + gUnknown_0203229C->unk_69++; + break; + case 20: + if (_GetBlockReceivedStatus() == 3) + { + Trade_Memcpy(gUnknown_0203229C->unk_A9, gBlockRecvBuffer[id ^ 1], 11); + sub_8077210(); + gUnknown_0203229C->unk_69++; + } + break; + case 21: + for (i = 0, mon = gEnemyParty; i < PARTY_SIZE; mon++, i++) + { + u8 name[POKEMON_NAME_LENGTH + 1]; + u16 species = GetMonData(mon, MON_DATA_SPECIES); + + if (species != SPECIES_NONE) + { + if (species == SPECIES_SHEDINJA && GetMonData(mon, MON_DATA_LANGUAGE) != LANGUAGE_JAPANESE) + { + GetMonData(mon, MON_DATA_NICKNAME, name); + + if (!StringCompareWithoutExtCtrlCodes(name, gJPText_Shedinja)) + { + SetMonData(mon, MON_DATA_NICKNAME, gSpeciesNames[SPECIES_SHEDINJA]); + } + } + } + } + return TRUE; + case 2: + case 6: + case 10: + case 14: + case 18: + gUnknown_0203229C->unk_A8++; + if (gUnknown_0203229C->unk_A8 > 10) + { + gUnknown_0203229C->unk_A8 = 0; + gUnknown_0203229C->unk_69++; + } + break; + } + return FALSE; +} + +static void sub_80787B8(void) +{ + sub_807A308(gText_IsThisTradeOkay, (void *)(OBJ_VRAM0 + (gUnknown_0203229C->unk_72 * 32)), 24); +} + +static void sub_80787E0(u8 a0, u8 a1) +{ + if (a1 & 1) + { + switch (gBlockRecvBuffer[0][0]) + { + case 0xEEAA: + gUnknown_0203229C->unk_78 = 2; + break; + case 0xAABB: + gUnknown_0203229C->unk_78 = 1; + break; + case 0xBBBB: + gUnknown_0203229C->unk_7A = 1; + break; + case 0xBBCC: + gUnknown_0203229C->unk_7A = 2; + break; + } + sub_8077234(0); + } + + if (a1 & 2) + { + switch (gBlockRecvBuffer[1][0]) + { + case 0xEEAA: + gUnknown_0203229C->unk_79 = 2; + break; + case 0xAABB: + gUnknown_0203229C->unk_7E = gBlockRecvBuffer[1][1] + 6; + gUnknown_0203229C->unk_79 = 1; + break; + case 0xBBBB: + gUnknown_0203229C->unk_7B = 1; + break; + case 0xBBCC: + gUnknown_0203229C->unk_7B = 2; + break; + } + sub_8077234(1); + } +} + +static void sub_8078900(u8 a0, u8 a1) +{ + if (a1 & 1) + { + switch (gBlockRecvBuffer[0][0]) + { + case 0xEEBB: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + sub_807A19C(4); + gUnknown_0203229C->unk_6F = 11; + break; + case 0xEECC: + sub_807A19C(5); + gUnknown_0203229C->unk_6F = 8; + break; + case 0xDDDD: + gUnknown_0203229C->unk_7E = gBlockRecvBuffer[0][1] + 6; + rbox_fill_rectangle(0); + sub_807967C(gUnknown_0203229C->tradeMenuCursorPosition); + sub_807967C(gUnknown_0203229C->unk_7E); + gUnknown_0203229C->unk_6F = 7; + break; + case 0xCCDD: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gUnknown_0203229C->unk_6F = 10; + break; + case 0xDDEE: + sub_807A19C(1); + gUnknown_0203229C->unk_6F = 8; + } + sub_8077234(0); + } + + if (a1 & 2) + sub_8077234(1); +} + +static void sub_80789FC(void) +{ + if (gUnknown_0203229C->unk_78 && gUnknown_0203229C->unk_79) + { + if (gUnknown_0203229C->unk_78 == 1 && gUnknown_0203229C->unk_79 == 1) + { + gUnknown_0203229C->unk_6F = 6; + gUnknown_0203229C->linkData[0] = 0xDDDD; + gUnknown_0203229C->linkData[1] = gUnknown_0203229C->tradeMenuCursorPosition; + sub_807A048(5, 0); + gUnknown_0203229C->unk_78 = gUnknown_0203229C->unk_79 = 0; + } + else if (gUnknown_0203229C->unk_78 == 1 && gUnknown_0203229C->unk_79 == 2) + { + sub_807A19C(1); + gUnknown_0203229C->linkData[0] = 0xEECC; + gUnknown_0203229C->linkData[1] = 0; + sub_807A048(5, 0); + gUnknown_0203229C->unk_7A = gUnknown_0203229C->unk_7B = 0; + gUnknown_0203229C->unk_78 = gUnknown_0203229C->unk_79 = 0; + gUnknown_0203229C->unk_6F = 8; + } + else if (gUnknown_0203229C->unk_78 == 2 && gUnknown_0203229C->unk_79 == 1) + { + sub_807A19C(5); + gUnknown_0203229C->linkData[0] = 0xDDEE; + gUnknown_0203229C->linkData[1] = 0; + sub_807A048(5, 0); + gUnknown_0203229C->unk_7A = gUnknown_0203229C->unk_7B = 0; + gUnknown_0203229C->unk_78 = gUnknown_0203229C->unk_79 = 0; + gUnknown_0203229C->unk_6F = 8; + } + else if (gUnknown_0203229C->unk_78 == 2 && gUnknown_0203229C->unk_79 == 2) + { + gUnknown_0203229C->linkData[0] = 0xEEBB; + gUnknown_0203229C->linkData[1] = 0; + sub_807A048(5, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gUnknown_0203229C->unk_78 = gUnknown_0203229C->unk_79 = 0; + gUnknown_0203229C->unk_6F = 11; + } + } + + if (gUnknown_0203229C->unk_7A && gUnknown_0203229C->unk_7B) + { + if (gUnknown_0203229C->unk_7A == 1 && gUnknown_0203229C->unk_7B == 1) + { + gUnknown_0203229C->linkData[0] = 0xCCDD; + gUnknown_0203229C->linkData[1] = 0; + sub_807A048(5, 0); + gUnknown_0203229C->unk_7A = 0; + gUnknown_0203229C->unk_7B = 0; + gUnknown_0203229C->unk_6F = 9; + } + + if (gUnknown_0203229C->unk_7A == 2 || gUnknown_0203229C->unk_7B == 2) + { + sub_807A19C(1); + gUnknown_0203229C->linkData[0] = 0xDDEE; + gUnknown_0203229C->linkData[1] = 0; + sub_807A048(5, 0); + gUnknown_0203229C->unk_7A = 0; + gUnknown_0203229C->unk_7B = 0; + gUnknown_0203229C->unk_6F = 8; + } + } +} + +static void sub_8078BFC(u16 *a0, u16 a1, u16 a2) +{ + a0[0] = a1; + a0[1] = a2; + sub_807A048(5, 0); +} + +static void sub_8078C10(u16 a0, u16 a1) +{ + sub_8078BFC(gUnknown_0203229C->linkData, a0, a1); +} + +static void sub_8078C34(void) +{ + u8 mpId = GetMultiplayerId(); + u8 status; + + if ((status = _GetBlockReceivedStatus())) + { + if (mpId == 0) + sub_80787E0(mpId, status); + else + sub_8078900(mpId, status); + } + + if (mpId == 0) + sub_80789FC(); +} + +static u8 sub_8078C6C(u8 oldPosition, u8 direction) +{ + int i; + u8 newPosition = 0; + + for (i = 0; i < PARTY_SIZE; i++) + { + if (gUnknown_0203229C->tradeMenuOptionsActive[gTradeNextSelectedMonTable[oldPosition][direction][i]] == TRUE) + { + newPosition = gTradeNextSelectedMonTable[oldPosition][direction][i]; + break; + } + } + + return newPosition; +} + +static void TradeMenuMoveCursor(u8 *tradeMenuCursorPosition, u8 direction) +{ + u8 newPosition = sub_8078C6C(*tradeMenuCursorPosition, direction); + + if (newPosition == 12) // CANCEL + { + StartSpriteAnim(&gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx], 1); + gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].pos1.x = 224; + gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].pos1.y = 160; + } + else + { + StartSpriteAnim(&gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx], 0); + gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].pos1.x = gTradeMonSpriteCoords[newPosition][0] * 8 + 32; + gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].pos1.y = gTradeMonSpriteCoords[newPosition][1] * 8; + } + + if (*tradeMenuCursorPosition != newPosition) + { + PlaySE(SE_SELECT); + } + + *tradeMenuCursorPosition = newPosition; +} + +static void sub_8078D78(void) +{ + sub_807A19C(0); + gUnknown_0203229C->unk_6F = 100; + + if (GetMultiplayerId() == 1) + { + sub_8078C10(0xAABB, gUnknown_0203229C->tradeMenuCursorPosition); + } + else + { + gUnknown_0203229C->unk_78 = 1; + } +} + +static void sub_8078DBC(void) +{ + if (gMain.newAndRepeatedKeys & DPAD_UP) + { + TradeMenuMoveCursor(&gUnknown_0203229C->tradeMenuCursorPosition, 0); + } + else if (gMain.newAndRepeatedKeys & DPAD_DOWN) + { + TradeMenuMoveCursor(&gUnknown_0203229C->tradeMenuCursorPosition, 1); + } + else if (gMain.newAndRepeatedKeys & DPAD_LEFT) + { + TradeMenuMoveCursor(&gUnknown_0203229C->tradeMenuCursorPosition, 2); + } + else if (gMain.newAndRepeatedKeys & DPAD_RIGHT) + { + TradeMenuMoveCursor(&gUnknown_0203229C->tradeMenuCursorPosition, 3); + } + + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + + if (gUnknown_0203229C->tradeMenuCursorPosition < 6) + { + sub_8098858(1, 1, 14); + FillWindowPixelBuffer(1, 0x11); + PrintMenuTable(1, 2, gUnknown_0832DEAC); + InitMenuInUpperLeftCornerPlaySoundWhenAPressed(1, 2, 0); + PutWindowTilemap(1); + CopyWindowToVram(1, 3); + gUnknown_0203229C->unk_6F = 1; + } + else if (gUnknown_0203229C->tradeMenuCursorPosition < 12) + { + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gUnknown_0203229C->unk_6F = 2; + } + else if (gUnknown_0203229C->tradeMenuCursorPosition == 12) + { + CreateYesNoMenu(&gUnknown_0832DF8C, 1, 14, 0); + gUnknown_0203229C->unk_6F = 4; + sub_807A308(gUnknown_0832DE94[4], (void *)(OBJ_VRAM0 + gUnknown_0203229C->unk_72 * 32), 24); + } + } +} + +static void sub_8078EF8(void) +{ + sub_8079F74(); + gUnknown_0203229C->unk_6F = 0; + gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].invisible = FALSE; + sub_807A308(gUnknown_0832DE94[1], (void *)(OBJ_VRAM0 + gUnknown_0203229C->unk_72 * 32), 24); +} + +static void sub_8078F50(void) +{ + switch (Menu_ProcessInputNoWrap()) + { + case MENU_B_PRESSED: + PlaySE(SE_SELECT); + sub_8078EF8(); + break; + case MENU_NOTHING_CHOSEN: + break; + case 0: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gUnknown_0203229C->unk_6F = 2; + break; + case 1: + switch (sub_807A5F4(gPlayerParty, gPlayerPartyCount, gUnknown_0203229C->tradeMenuCursorPosition)) + { + case 0: + sub_8078D78(); + gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].invisible = TRUE; + break; + case 1: + sub_807A048(3, 3); + gUnknown_0203229C->unk_6F = 8; + break; + case 2: + case 4: + sub_807A048(3, 6); + gUnknown_0203229C->unk_6F = 8; + break; + case 3: + case 5: + sub_807A048(3, 7); + gUnknown_0203229C->unk_6F = 8; + break; + } + break; + } +} + +static void sub_8079034(void) +{ + if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON)) + { + PlaySE(SE_SELECT); + sub_8078EF8(); + } +} + +static void sub_807905C(void) +{ + if (!gPaletteFade.active) + { + if (gUnknown_0203229C->tradeMenuCursorPosition < PARTY_SIZE) + { + ShowPokemonSummaryScreen(PSS_MODE_UNK1, gPlayerParty, gUnknown_0203229C->tradeMenuCursorPosition, gUnknown_0203229C->partyCounts[0] - 1, sub_8077B74); + } + else + { + ShowPokemonSummaryScreen(PSS_MODE_UNK1, gEnemyParty, gUnknown_0203229C->tradeMenuCursorPosition - PARTY_SIZE, gUnknown_0203229C->partyCounts[1] - 1, sub_8077B74); + } + FreeAllWindowBuffers(); + } +} + +static u8 sub_80790D4(u8 *a0, u8 a1, u8 a2, u8 a3) +{ + int i; + u16 species; + u8 res = 0; + + for (i = 0; i < a1; i++) + { + if (a2 != i) + { + res += a0[i]; + } + } + + a3 %= PARTY_SIZE; + species = GetMonData(&gEnemyParty[a3], MON_DATA_SPECIES); + + if (species == SPECIES_DEOXYS || species == SPECIES_MEW) + { + if (!GetMonData(&gEnemyParty[a3], MON_DATA_OBEDIENCE)) + { + return 2; + } + } + + if (!IsNationalPokedexEnabled()) + { + if (gUnknown_0203229C->unk_51[1][a3] || !IsSpeciesInHoennDex(species)) + { + return 2; + } + } + + if (res) + { + res = 1; + } + + return res; +} + +static bool32 sub_8079174(void) +{ + int i; + u8 arr[12]; + + for (i = 0; i < gUnknown_0203229C->partyCounts[0]; i++) + { + arr[i] = gUnknown_0203229C->unk_45[0][i]; + } + + switch (sub_80790D4(arr, gUnknown_0203229C->partyCounts[0], gUnknown_0203229C->tradeMenuCursorPosition, gUnknown_0203229C->unk_7E)) + { + case 0: + sub_807A048(3, 3); + sub_8078C10(0xBBCC, 0); + break; + case 1: + sub_807A048(3, 1); + sub_8078C10(0xBBBB, 0); + break; + case 2: + sub_807A048(3, 8); + return TRUE; + } + + return FALSE; +} + +static void sub_8079218(void) +{ + switch (Menu_ProcessInputNoWrapClearOnChoose()) + { + case 0: + if (!sub_8079174()) + { + gUnknown_0203229C->unk_6F = 100; + } + else + { + gUnknown_0203229C->unk_6F = 17; + } + PutWindowTilemap(17); + break; + case 1: + case MENU_B_PRESSED: + sub_807A048(3, 1); + if (sub_80771BC()) + sub_8078C10(0xBBCC, 0); + gUnknown_0203229C->unk_6F = 100; + PutWindowTilemap(17); + break; + } +} + +static void sub_807929C(void) +{ + int i; + + for (i = 0; i < gUnknown_0203229C->partyCounts[1] - 4; i++) + { + PutWindowTilemap(i + 12); + CopyWindowToVram(i + 12, 1); + } +} + +static void sub_80792E4(void) +{ + switch (Menu_ProcessInputNoWrapClearOnChoose()) + { + case 0: + sub_807A19C(4); + sub_8078C10(0xEEAA, 0); + gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].invisible = TRUE; + gUnknown_0203229C->unk_6F = 100; + sub_807929C(); + break; + case 1: + case MENU_B_PRESSED: + PlaySE(SE_SELECT); + sub_8078EF8(); + break; + } +} + +static void sub_807935C(void) +{ + if (GetMultiplayerId() == 0) + { + rbox_fill_rectangle(0); + sub_807967C(gUnknown_0203229C->tradeMenuCursorPosition); + sub_807967C(gUnknown_0203229C->unk_7E); + } + gUnknown_0203229C->unk_6F = 7; +} + +static void sub_8079398(void) +{ + if (gUnknown_0203229C->unk_74[0] == 5 && gUnknown_0203229C->unk_74[1] == 5) + { + sub_80787B8(); + gUnknown_0203229C->unk_6F = 14; + } +} + +static void DisplayMessageAndContinueTask(void) +{ + gUnknown_0203229C->unk_A8++; + + if (gUnknown_0203229C->unk_A8 > 120) + { + CreateYesNoMenu(&gUnknown_0832DF8C, 1, 14, 0); + gUnknown_0203229C->unk_A8 = 0; + gUnknown_0203229C->unk_6F = 3; + } +} + +static void sub_8079408(void) +{ + int i; + + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + rbox_fill_rectangle(0); + rbox_fill_rectangle(1); + + for (i = 0; i < 4; i++) + { + FillWindowPixelBuffer(i + 14, 0); + rbox_fill_rectangle(i + 14); + } + + sub_8079F88(0); + sub_8079F88(1); + gUnknown_0203229C->unk_6F = 0; + gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].invisible = FALSE; + } +} + +static void sub_8079490(void) +{ + if (!gPaletteFade.active) + { + if (gWirelessCommType) + { + sub_800ADF8(); + } + else + { + sub_800ABF4(12); + } + + gUnknown_0203229C->unk_6F = 12; + } +} + +static void sub_80794CC(void) +{ + if (gWirelessCommType) + { + if (sub_80771BC() && sub_807A09C() == 0) + { + Free(gUnknown_02032184); + Free(gUnknown_0203229C); + FreeAllWindowBuffers(); + sub_800E084(); + SetMainCallback2(c2_8056854); + } + } + else + { + if (!gReceivedRemoteLinkPlayers) + { + Free(gUnknown_02032184); + Free(gUnknown_0203229C); + FreeAllWindowBuffers(); + SetMainCallback2(c2_8056854); + } + } +} + +static void sub_8079550(void) +{ + if (!sub_801048C(FALSE) && sub_807A09C() == 0) + { + sub_800ADF8(); + gUnknown_0203229C->unk_6F = 13; + } +} + +static void sub_807957C(void) +{ + if (gMain.newKeys & A_BUTTON) + { + sub_8078C10(0xBBCC, 0); + gUnknown_0203229C->unk_6F = 100; + } +} + +static void sub_80795AC(void) +{ + switch (gUnknown_0203229C->unk_6F) + { + case 0: + sub_8078DBC(); + break; + case 1: + sub_8078F50(); + break; + case 2: + sub_807905C(); + break; + case 3: + sub_8079218(); + break; + case 4: + sub_80792E4(); + break; + case 6: + sub_807935C(); + break; + case 7: + sub_8079398(); + break; + case 8: + sub_8079408(); + break; + case 9: + sub_8078130(); + break; + case 10: + sub_807816C(); + break; + case 11: + sub_8079490(); + break; + case 12: + sub_80794CC(); + break; + case 13: + sub_80781C8(); + break; + case 14: + DisplayMessageAndContinueTask(); + break; + case 15: + sub_8079034(); + break; + case 16: + sub_8079550(); + break; + case 17: + sub_807957C(); + break; + } +} + +static void sub_807967C(u8 a0) +{ + u8 whichParty = a0 / PARTY_SIZE; + + if (gUnknown_0203229C->unk_74[whichParty] == 0) + { + gUnknown_0203229C->unk_74[whichParty] = 1; + gUnknown_0203229C->unk_76[whichParty] = a0; + } +} + +static void sub_80796B4(u8 a0) +{ + s8 nameStringWidth; + u8 nickname[20]; + u8 movesString[56]; + u8 i; + u8 partyIdx; + u8 whichParty; + u8 monIdx = gUnknown_0203229C->unk_76[a0]; + + whichParty = 1; + if (gUnknown_0203229C->unk_76[a0] < PARTY_SIZE) + whichParty = 0; + partyIdx = monIdx % PARTY_SIZE; + nameStringWidth = 0; + + switch (gUnknown_0203229C->unk_74[a0]) + { + case 1: + for (i = 0; i < gUnknown_0203229C->partyCounts[a0]; i++) + { + gSprites[gUnknown_0203229C->partyIcons[0][i + (whichParty * PARTY_SIZE)]].invisible = TRUE; + } + + for (i = 0; i < 6; i++) + { + ClearWindowTilemap(i + (a0 * 6 + 2)); + } + + gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].invisible = FALSE; + gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].data[0] = 20; + gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].data[2] = (gTradeMonSpriteCoords[whichParty * PARTY_SIZE][0] + gTradeMonSpriteCoords[whichParty * PARTY_SIZE + 1][0]) / 2 * 8 + 14; + gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].data[4] = (gTradeMonSpriteCoords[whichParty * PARTY_SIZE][1] * 8) - 12; + StoreSpriteCallbackInData6(&gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]], sub_80D3014); + gUnknown_0203229C->unk_74[a0]++; + sub_80A6DEC(&gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]]); + CopyToBgTilemapBufferRect_ChangePalette(1, gTradePartyBoxTilemap, a0 * 15, 0, 15, 17, 0); + CopyBgTilemapBufferToVram(1); + CopyBgTilemapBufferToVram(0); + + if (whichParty == 0) + sub_8079F74(); + break; + case 2: + if (gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].callback == sub_80D3014) + gUnknown_0203229C->unk_74[a0] = 3; + break; + case 3: + CopyToBgTilemapBufferRect_ChangePalette(1, gTradeMovesBoxTilemap, whichParty * 15, 0, 15, 17, 0); + CopyBgTilemapBufferToVram(1); + gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].pos1.x = (gTradeMonSpriteCoords[whichParty * PARTY_SIZE][0] + gTradeMonSpriteCoords[whichParty * PARTY_SIZE + 1][0]) / 2 * 8 + 14; + gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].pos1.y = (gTradeMonSpriteCoords[whichParty * PARTY_SIZE][1] * 8) - 12; + gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].pos2.x = 0; + gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].pos2.y = 0; + nameStringWidth = sub_8079A3C(nickname, whichParty, partyIdx); + AddTextPrinterParameterized3((a0 * 2) + 14, 0, (80 - nameStringWidth) / 2, 4, gUnknown_0832DEE0, 0, nickname); + sub_8079AA4(movesString, whichParty, partyIdx); + AddTextPrinterParameterized4((a0 * 2) + 15, 1, 0, 0, 0, 0, gUnknown_0832DEE0, 0, movesString); + PutWindowTilemap((a0 * 2) + 14); + CopyWindowToVram((a0 * 2) + 14, 3); + PutWindowTilemap((a0 * 2) + 15); + CopyWindowToVram((a0 * 2) + 15, 3); + gUnknown_0203229C->unk_74[a0]++; + break; + case 4: + sub_8079C4C(a0, partyIdx, gUnknown_0832DF99[a0][0] + 4, gUnknown_0832DF99[a0][1] + 1, gUnknown_0832DF99[a0][0], gUnknown_0832DF99[a0][1]); + gUnknown_0203229C->unk_74[a0]++; + break; + } +} + +static u8 sub_8079A3C(u8 *str, u8 whichParty, u8 monIdx) +{ + u8 nickname[12]; + + if (whichParty == 0) + GetMonData(&gPlayerParty[monIdx], MON_DATA_NICKNAME, nickname); + else + GetMonData(&gEnemyParty[monIdx], MON_DATA_NICKNAME, nickname); + + StringCopy10(str, nickname); + return GetStringWidth(0, str, GetFontAttribute(0, FONTATTR_LETTER_SPACING)); +} + +static void sub_8079AA4(u8 *a0, u8 a1, u8 a2) +{ + u16 arr[4]; + u16 i; + + if (!gUnknown_0203229C->unk_51[a1][a2]) + { + for (i = 0; i < MAX_MON_MOVES; i++) + { + if (!a1) + { + arr[i] = GetMonData(&gPlayerParty[a2], i + MON_DATA_MOVE1, NULL); + } + else + { + arr[i] = GetMonData(&gEnemyParty[a2], i + MON_DATA_MOVE1, NULL); + } + } + + StringCopy(a0, gText_EmptyString7); + + for (i = 0; i < MAX_MON_MOVES; i++) + { + if (arr[i] != MOVE_NONE) + { + StringAppend(a0, gMoveNames[arr[i]]); + } + + StringAppend(a0, gText_NewLine3); + } + } + else + { + StringCopy(a0, gText_EmptyString7); + StringAppend(a0, gText_FourQuestionMarks); + } +} + +static void sub_8079B84(u8 whichParty, u8 windowId, u8 *str) +{ + u8 xPos; + windowId += (whichParty * PARTY_SIZE) + 2; + xPos = GetStringCenterAlignXOffset(0, str, 64); + AddTextPrinterParameterized3(windowId, 0, xPos, 4, gUnknown_0832DEE0, 0, str); + PutWindowTilemap(windowId); + CopyWindowToVram(windowId, 3); +} + +static void sub_8079BE0(u8 whichParty) +{ + u8 i; + u8 sp[20]; + u8 sp14[32]; + struct Pokemon *mons = whichParty == 0 ? gPlayerParty : gEnemyParty; + + for (i = 0; i < gUnknown_0203229C->partyCounts[whichParty]; i++) + { + GetMonData(&mons[i], MON_DATA_NICKNAME, sp); + StringCopy10(sp14, sp); + sub_8079B84(whichParty, i, sp14); + } +} + +static void sub_8079C4C(u8 whichParty, u8 monIdx, u8 a2, u8 a3, u8 a4, u8 a5) +{ + u8 level; + u32 r2; + u8 gender; + u8 nickname[12]; + + CopyToBgTilemapBufferRect_ChangePalette(1, gUnknown_08DDD704, a4, a5, 6, 3, 0); + CopyBgTilemapBufferToVram(1); + + if (whichParty == 0) + level = GetMonData(&gPlayerParty[monIdx], MON_DATA_LEVEL, NULL); + else + level = GetMonData(&gEnemyParty[monIdx], MON_DATA_LEVEL, NULL); + + if (gUnknown_0203229C->unk_51[whichParty][monIdx] == 0) + { + if (level / 10 != 0) + gUnknown_0203229C->tilemapBuffer[a2 + (a3 * 32)] = (level / 10) + 0x60; + + gUnknown_0203229C->tilemapBuffer[a2 + (a3 * 32) + 1] = (level % 10) + 0x70; + } + else + { + gUnknown_0203229C->tilemapBuffer[a2 + (a3 * 32) - 32] = gUnknown_0203229C->tilemapBuffer[a2 + (a3 * 32) - 33]; + gUnknown_0203229C->tilemapBuffer[a2 + (a3 * 32) - 31] = gUnknown_0203229C->tilemapBuffer[a2 + (a3 * 32) - 36] | 0x400; + } + + if (gUnknown_0203229C->unk_51[whichParty][monIdx] != 0) + { + r2 = 0x480; + } + else + { + if (whichParty == 0) + { + gender = GetMonGender(&gPlayerParty[monIdx]); + GetMonData(&gPlayerParty[monIdx], MON_DATA_NICKNAME, nickname); + } + else + { + gender = GetMonGender(&gEnemyParty[monIdx]); + GetMonData(&gEnemyParty[monIdx], MON_DATA_NICKNAME, nickname); + } + + switch (gender) + { + case MON_MALE: + r2 = !NameHasGenderSymbol(nickname, MON_MALE) ? 0x84 : 0x83; + break; + case MON_FEMALE: + r2 = !NameHasGenderSymbol(nickname, MON_FEMALE) ? 0x85 : 0x83; + break; + default: + r2 = 0x83; + break; + } + } + gUnknown_0203229C->tilemapBuffer[(a3 - 1) * 32 + a2 + 1] = r2; +} + +// Very close but loop preamble not working. +#ifdef NONMATCHING +static void sub_8079E44(u8 whichParty) +{ + int i; + + for (i = 0; i < gUnknown_0203229C->partyCounts[whichParty]; i++) + { + sub_8079C4C(whichParty, i, gTradeLevelDisplayCoords[whichParty][i][0], gTradeLevelDisplayCoords[whichParty][i][1], gTradeMonBoxCoords[whichParty][i][0], gTradeMonBoxCoords[whichParty][i][1]); + } +} +#else +NAKED +static void sub_8079E44(u8 whichParty) +{ + asm_unified("push {r4-r7,lr}\n\ + sub sp, 0x8\n\ + lsls r0, 24\n\ + lsrs r6, r0, 24\n\ + movs r7, 0\n\ + ldr r0, =gUnknown_0203229C\n\ + ldr r0, [r0]\n\ + adds r0, 0x36\n\ + adds r0, r6\n\ + ldrb r0, [r0]\n\ + cmp r7, r0\n\ + bge _08079E94\n\ + lsls r0, r6, 1\n\ + adds r0, r6\n\ + ldr r1, =gTradeLevelDisplayCoords\n\ + lsls r0, 2\n\ + adds r5, r0, r1\n\ + ldr r1, =gTradeMonBoxCoords\n\ + adds r4, r0, r1\n\ +_08079E6A:\n\ + lsls r1, r7, 24\n\ + lsrs r1, 24\n\ + ldrb r2, [r5]\n\ + ldrb r3, [r5, 0x1]\n\ + ldrb r0, [r4]\n\ + str r0, [sp]\n\ + ldrb r0, [r4, 0x1]\n\ + str r0, [sp, 0x4]\n\ + adds r0, r6, 0\n\ + bl sub_8079C4C\n\ + adds r5, 0x2\n\ + adds r4, 0x2\n\ + adds r7, 0x1\n\ + ldr r0, =gUnknown_0203229C\n\ + ldr r0, [r0]\n\ + adds r0, 0x36\n\ + adds r0, r6\n\ + ldrb r0, [r0]\n\ + cmp r7, r0\n\ + blt _08079E6A\n\ +_08079E94:\n\ + add sp, 0x8\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .pool"); +} +#endif // NONMATCHING + +static void sub_8079EA8(u8 whichParty) +{ + int i; + + for (i = 0; i < gUnknown_0203229C->partyCounts[whichParty]; i++) + { + gSprites[gUnknown_0203229C->partyIcons[whichParty][i]].invisible = FALSE; + gSprites[gUnknown_0203229C->partyIcons[whichParty][i]].pos1.x = gTradeMonSpriteCoords[(whichParty * PARTY_SIZE) + i][0] * 8 + 14; + gSprites[gUnknown_0203229C->partyIcons[whichParty][i]].pos1.y = gTradeMonSpriteCoords[(whichParty * PARTY_SIZE) + i][1] * 8 - 12; + gSprites[gUnknown_0203229C->partyIcons[whichParty][i]].pos2.x = 0; + gSprites[gUnknown_0203229C->partyIcons[whichParty][i]].pos2.y = 0; + } +} + +static void sub_8079F74(void) +{ + rbox_fill_rectangle(1); + sub_8079BE0(1); +} + +static void sub_8079F88(u8 a0) +{ + CopyToBgTilemapBufferRect_ChangePalette(1, gTradePartyBoxTilemap, a0 * 15, 0, 15, 17, 0); + CopyBgTilemapBufferToVram(1); + sub_8079E44(a0); + sub_8079BE0(a0); + sub_8079EA8(a0); + sub_807A308(gUnknown_0832DE94[1], (void *)(OBJ_VRAM0 + (gUnknown_0203229C->unk_72 * 32)), 24); + gUnknown_0203229C->unk_74[a0] = 0; +} + +static void sub_807A000(u8 taskId) +{ + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20); + CopyBgTilemapBufferToVram(0); +} + +static void sub_807A024(u8 taskId) +{ + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20); + CopyBgTilemapBufferToVram(0); +} + +static void sub_807A048(u16 a0, u8 a1) +{ + int i; + + for (i = 0; i < 4; i++) + { + if (!gUnknown_0203229C->unk_8D0[i].unk_0) + { + gUnknown_0203229C->unk_8D0[i].unk_2 = a0; + gUnknown_0203229C->unk_8D0[i].unk_4 = a1; + gUnknown_0203229C->unk_8D0[i].unk_0 = TRUE; + break; + } + } +} + +static u32 sub_807A09C(void) +{ + u32 acc = 0; + int i; + + for (i = 0; i < 4; i++) + { + acc += gUnknown_0203229C->unk_8D0[i].unk_0; + } + + return acc; +} + +static void sub_807A0C4(void) +{ + int i; + + for (i = 0; i < 4; i++) + { + if (gUnknown_0203229C->unk_8D0[i].unk_0) + { + if (gUnknown_0203229C->unk_8D0[i].unk_2) + { + gUnknown_0203229C->unk_8D0[i].unk_2--; + } + else + { + switch (gUnknown_0203229C->unk_8D0[i].unk_4) + { + case 0: + sub_8077170(gUnknown_0203229C->linkData, 20); + break; + case 1: + sub_807A19C(0); + break; + case 2: + sub_807A19C(2); + break; + case 3: + case 4: + case 5: + sub_807A19C(3); + break; + case 6: + sub_807A19C(6); + break; + case 7: + sub_807A19C(7); + break; + case 8: + sub_807A19C(8); + break; + } + gUnknown_0203229C->unk_8D0[i].unk_0 = 0; + } + } + } +} + +static void sub_807A19C(u8 a0) +{ + FillWindowPixelBuffer(0, 0x11); + AddTextPrinterParameterized(0, 1, gUnknown_0832DEBC[a0], 0, 1, TEXT_SPEED_FF, NULL); + sub_8098858(0, 20, 12); + PutWindowTilemap(0); + CopyWindowToVram(0, 3); +} + +static bool8 sub_807A1F0(void) +{ + struct SpriteSheet sheet; + + if (gUnknown_0203229C->unk_A8 < 14) + { + sheet.data = gUnknown_02032188[gUnknown_0203229C->unk_A8]; + sheet.size = 0x100; + sheet.tag = 200 + gUnknown_0203229C->unk_A8; + } + + switch (gUnknown_0203229C->unk_A8) + { + case 0 ... 7: + LoadSpriteSheet(&sheet); + gUnknown_0203229C->unk_A8++; + break; + case 8: + gUnknown_0203229C->unk_72 = LoadSpriteSheet(&sheet); + gUnknown_0203229C->unk_A8++; + break; + case 9 ... 13: + LoadSpriteSheet(&sheet); + gUnknown_0203229C->unk_A8++; + break; + case 14: + LoadSpritePalette(&gSpritePalette_TradeScreenText); + gUnknown_0203229C->unk_A8++; + break; + case 15: + LoadSpritePalette(&gUnknown_0832DC44); + gUnknown_0203229C->unk_A8++; + break; + case 16: + LoadSpriteSheet(&gUnknown_0832DC3C); + gUnknown_0203229C->unk_A8++; + break; + case 17: + gUnknown_0203229C->unk_A8 = 0; + return TRUE; + } + + return FALSE; +} + +static void sub_807A308(const u8 *a0, u8 *a1, u8 unused) +{ + sub_80C6D80(a0, a1, 0, 0, 6); +} + +static void sub_807A320(u8 who) +{ + int i; + + switch (who) + { + case 0: + for (i = 0; i < gUnknown_0203229C->partyCounts[who]; i++) + { + if (GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG) == TRUE) + { + gUnknown_0203229C->unk_45[who][i] = 0; + gUnknown_0203229C->unk_51[who][i] = 1; + } + else if (GetMonData(&gPlayerParty[i], MON_DATA_HP) == 0) + { + gUnknown_0203229C->unk_45[who][i] = 0; + gUnknown_0203229C->unk_51[who][i] = 0; + } + else + { + gUnknown_0203229C->unk_45[who][i] = 1; + gUnknown_0203229C->unk_51[who][i] = 0; + } + } + break; + case 1: + for (i = 0; i < gUnknown_0203229C->partyCounts[who]; i++) + { + if (GetMonData(&gEnemyParty[i], MON_DATA_IS_EGG) == TRUE) + { + gUnknown_0203229C->unk_45[who][i] = 0; + gUnknown_0203229C->unk_51[who][i] = 1; + } + else if (GetMonData(&gEnemyParty[i], MON_DATA_HP) == 0) + { + gUnknown_0203229C->unk_45[who][i] = 0; + gUnknown_0203229C->unk_51[who][i] = 0; + } + else + { + gUnknown_0203229C->unk_45[who][i] = 1; + gUnknown_0203229C->unk_51[who][i] = 0; + } + } + break; + } +} + +static void sub_807A468(u8 who) +{ + u16 i, curHp, maxHp; + + switch (who) + { + case 0: + for (i = 0; i < gUnknown_0203229C->partyCounts[0]; i++) + { + curHp = GetMonData(&gPlayerParty[i], MON_DATA_HP); + maxHp = GetMonData(&gPlayerParty[i], MON_DATA_MAX_HP); + gUnknown_0203229C->unk_5D[0][i] = GetHPBarLevel(curHp, maxHp); + } + break; + case 1: + for (i = 0; i < gUnknown_0203229C->partyCounts[1]; i++) + { + curHp = GetMonData(&gEnemyParty[i], MON_DATA_HP); + maxHp = GetMonData(&gEnemyParty[i], MON_DATA_MAX_HP); + gUnknown_0203229C->unk_5D[1][i] = GetHPBarLevel(curHp, maxHp); + } + break; + } +} + +static void sub_807A53C(void) +{ + int i, j; + + for (i = 0; i < 2; i++) + { + for (j = 0; j < gUnknown_0203229C->partyCounts[i]; j++) + { + sub_80D32C8(&gSprites[gUnknown_0203229C->partyIcons[i][j]], 4 - gUnknown_0203229C->unk_5D[i][j]); + } + } +} + +static void sub_807A5B0(void) +{ + int i; + + for (i = 0; i < 11; i++) + { + if (gSaveBlock1Ptr->giftRibbons[i] == 0 && gUnknown_0203229C->unk_A9[i] != 0) + { + if (gUnknown_0203229C->unk_A9[i] < 64) + gSaveBlock1Ptr->giftRibbons[i] = gUnknown_0203229C->unk_A9[i]; + } + } +} + +static u32 sub_807A5F4(struct Pokemon *monList, int a1, int monIdx) +{ + int i, sum; + struct LinkPlayer *player; + u32 species[6]; + u32 species2[6]; + + for (i = 0; i < a1; i++) + { + species2[i] = GetMonData(&monList[i], MON_DATA_SPECIES2); + species[i] = GetMonData(&monList[i], MON_DATA_SPECIES); + } + + if (!IsNationalPokedexEnabled()) + { + if (species2[monIdx] == SPECIES_EGG) + { + return 3; + } + + if (!IsSpeciesInHoennDex(species2[monIdx])) + { + return 2; + } + } + + player = &gLinkPlayers[GetMultiplayerId() ^ 1]; + if ((player->version & 0xFF) != VERSION_RUBY && + (player->version & 0xFF) != VERSION_SAPPHIRE) + { + if ((player->name[10] & 0xF) == 0) + { + if (species2[monIdx] == SPECIES_EGG) + { + return 5; + } + + if (!IsSpeciesInHoennDex(species2[monIdx])) + { + return 4; + } + } + } + + if (species[monIdx] == SPECIES_DEOXYS || species[monIdx] == SPECIES_MEW) + { + if (!GetMonData(&monList[monIdx], MON_DATA_OBEDIENCE)) + { + return 4; + } + } + + for (i = 0; i < a1; i++) + { + if (species2[i] == SPECIES_EGG) + { + species2[i] = SPECIES_NONE; + } + } + + for (sum = 0, i = 0; i < a1; i++) + { + if (i != monIdx) + { + sum += species2[i]; + } + } + + if (sum != 0) + { + return 0; + } + else + { + return 1; + } +} + +#ifdef NONMATCHING +s32 sub_807A728(void) +{ + s32 val; + u16 version; + + if (gReceivedRemoteLinkPlayers) + { + val = 0; + version = (gLinkPlayers[GetMultiplayerId() ^ 1].version & 0xFF); + + if (version == VERSION_RUBY || version == VERSION_SAPPHIRE || version == VERSION_EMERALD) + { + // this value could actually be anything 0 or less + val = 0; + } + else if (version == VERSION_FIRE_RED || version == VERSION_LEAF_GREEN) + { + val = 2; + } + + if (val > 0) + { + if (gLinkPlayers[GetMultiplayerId()].name[10] & 0xF0) + { + if (val == 2) + { + if (gLinkPlayers[GetMultiplayerId() ^ 1].name[10] & 0xF0) + { + return 0; + } + else + { + return 2; + } + } + } + else + { + return 1; + } + } + } + return 0; +} +#else +NAKED +s32 sub_807A728(void) +{ + asm_unified("push {r4-r7,lr}\n\ + ldr r0, =gReceivedRemoteLinkPlayers\n\ + ldrb r0, [r0]\n\ + cmp r0, 0\n\ + beq _0807A7B4\n\ + movs r4, 0\n\ + bl GetMultiplayerId\n\ + ldr r5, =gLinkPlayers\n\ + movs r7, 0x1\n\ + eors r0, r7\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + lsls r1, r0, 3\n\ + subs r1, r0\n\ + lsls r1, 2\n\ + adds r1, r5\n\ + ldrb r1, [r1]\n\ + subs r0, r1, 0x1\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + cmp r0, 0x2\n\ + bls _0807A7B4\n\ + subs r0, r1, 0x4\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + cmp r0, 0x1\n\ + bhi _0807A762\n\ + movs r4, 0x2\n\ +_0807A762:\n\ + cmp r4, 0\n\ + ble _0807A7B4\n\ + bl GetMultiplayerId\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + lsls r1, r0, 3\n\ + subs r1, r0\n\ + lsls r1, 2\n\ + adds r1, r5\n\ + ldrb r1, [r1, 0x12]\n\ + movs r6, 0xF0\n\ + adds r0, r6, 0\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _0807A7B0\n\ + cmp r4, 0x2\n\ + bne _0807A7B4\n\ + bl GetMultiplayerId\n\ + eors r0, r7\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + lsls r1, r0, 3\n\ + subs r1, r0\n\ + lsls r1, 2\n\ + adds r1, r5\n\ + ldrb r1, [r1, 0x12]\n\ + adds r0, r6, 0\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + bne _0807A7B4\n\ + movs r0, 0x2\n\ + b _0807A7B6\n\ + .pool\n\ +_0807A7B0:\n\ + movs r0, 0x1\n\ + b _0807A7B6\n\ +_0807A7B4:\n\ + movs r0, 0\n\ +_0807A7B6:\n\ + pop {r4-r7}\n\ + pop {r1}\n\ + bx r1"); +} +#endif // NONMATCHING + +static bool32 IsDeoxysOrMewUntradable(u16 species, bool8 isObedientBitSet) +{ + if (species == SPECIES_DEOXYS || species == SPECIES_MEW) + { + if (!isObedientBitSet) + return TRUE; + } + return FALSE; +} + +int sub_807A7E0(struct UnkLinkRfuStruct_02022B14Substruct a0, struct UnkLinkRfuStruct_02022B14Substruct a1, u16 species1, u16 species2, u8 type, u16 species3, u8 isObedientBitSet) +{ + u8 r9 = a0.unk_01_0; + u8 r2 = a0.unk_00_7; + u8 r10 = a1.unk_01_0; + u8 r0 = a1.unk_00_7; + u8 r1 = a1.unk_01_2; + + if (r1 != 3) + { + if (!r2) + { + return 8; + } + else if (!r0) + { + return 9; + } + } + + if (IsDeoxysOrMewUntradable(species3, isObedientBitSet)) + { + return 4; + } + + if (species2 == SPECIES_EGG) + { + if (species1 != species2) + { + return 2; + } + } + else + { + if (gBaseStats[species1].type1 != type && gBaseStats[species1].type2 != type) + { + return 1; + } + } + + if (species1 == SPECIES_EGG && species1 != species2) + { + return 3; + } + + if (!r9) + { + if (species1 == SPECIES_EGG) + { + return 6; + } + + if (!IsSpeciesInHoennDex(species1)) + { + return 4; + } + + if (!IsSpeciesInHoennDex(species2)) + { + return 5; + } + } + + if (!r10 && !IsSpeciesInHoennDex(species1)) + { + return 7; + } + + return 0; +} + +int sub_807A8D0(struct UnkLinkRfuStruct_02022B14Substruct a0, u16 species, u16 a2, u8 a3) +{ + u8 unk = a0.unk_01_0; + + if (IsDeoxysOrMewUntradable(a2, a3)) + { + return 1; + } + + if (unk) + { + return 0; + } + + if (species == SPECIES_EGG) + { + return 2; + } + + if (IsSpeciesInHoennDex(species)) + { + return 0; + } + + return 1; +} + +// r6/r7 flip. Ugh. +#ifdef NONMATCHING +int sub_807A918(struct Pokemon *mon, u16 monIdx) +{ + int i, version, versions, unk, unk2; + int speciesArray[PARTY_SIZE]; + + for (i = 0; i < gPlayerPartyCount; i++) + { + speciesArray[i] = GetMonData(&mon[i], MON_DATA_SPECIES2); + if (speciesArray[i] == SPECIES_EGG) + { + speciesArray[i] = 0; + } + } + + versions = 0; + unk = 1; + for (i = 0; i < GetLinkPlayerCount(); i++) + { + version = gLinkPlayers[i].version & 0xFF; + if (version == VERSION_FIRE_RED || + version == VERSION_LEAF_GREEN) + { + versions = 0; + } + else + { + versions |= 1; + } + } + + for (i = 0; i < GetLinkPlayerCount(); i++) + { + struct LinkPlayer *player = &gLinkPlayers[i]; + if ((player->name[8] & 0xF) == 0) + { + unk = 0; + } + + if (versions && (player->name[8] / 16)) + { + unk = 0; + } + } + + if (unk == 0) + { + if (!IsSpeciesInHoennDex(speciesArray[monIdx])) + { + return 2; + } + + if (speciesArray[monIdx] == SPECIES_NONE) + { + return 3; + } + } + + unk2 = 0; + for (i = 0; i < gPlayerPartyCount; i++) + { + if (monIdx != i) + { + unk2 += speciesArray[i]; + } + } + + if (!unk2) + { + return 1; + } + else + { + return 0; + } +} +#else +NAKED +int sub_807A918(struct Pokemon *mon, u16 a1) +{ + asm_unified("push {r4-r7,lr}\n\ + mov r7, r8\n\ + push {r7}\n\ + sub sp, 0x18\n\ + adds r6, r0, 0\n\ + lsls r1, 16\n\ + lsrs r1, 16\n\ + mov r8, r1\n\ + movs r5, 0\n\ + ldr r0, =gPlayerPartyCount\n\ + ldrb r0, [r0]\n\ + cmp r5, r0\n\ + bge _0807A95A\n\ + mov r4, sp\n\ +_0807A934:\n\ + movs r0, 0x64\n\ + muls r0, r5\n\ + adds r0, r6, r0\n\ + movs r1, 0x41\n\ + bl GetMonData\n\ + str r0, [r4]\n\ + movs r1, 0xCE\n\ + lsls r1, 1\n\ + cmp r0, r1\n\ + bne _0807A94E\n\ + movs r0, 0\n\ + str r0, [r4]\n\ +_0807A94E:\n\ + adds r4, 0x4\n\ + adds r5, 0x1\n\ + ldr r0, =gPlayerPartyCount\n\ + ldrb r0, [r0]\n\ + cmp r5, r0\n\ + blt _0807A934\n\ +_0807A95A:\n\ + movs r7, 0\n\ + movs r6, 0x1\n\ + movs r5, 0\n\ + ldr r4, =gLinkPlayers\n\ + b _0807A980\n\ + .pool\n\ +_0807A96C:\n\ + ldrb r0, [r4]\n\ + subs r0, 0x4\n\ + cmp r0, 0x1\n\ + bhi _0807A978\n\ + movs r7, 0\n\ + b _0807A97C\n\ +_0807A978:\n\ + movs r0, 0x1\n\ + orrs r7, r0\n\ +_0807A97C:\n\ + adds r4, 0x1C\n\ + adds r5, 0x1\n\ +_0807A980:\n\ + bl GetLinkPlayerCount\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + cmp r5, r0\n\ + blt _0807A96C\n\ + movs r5, 0\n\ + movs r4, 0\n\ + b _0807A9B4\n\ +_0807A992:\n\ + ldr r0, =gLinkPlayers\n\ + adds r2, r4, r0\n\ + ldrb r1, [r2, 0x10]\n\ + movs r0, 0xF\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + bne _0807A9A2\n\ + movs r6, 0\n\ +_0807A9A2:\n\ + cmp r7, 0\n\ + beq _0807A9B0\n\ + ldrb r0, [r2, 0x10]\n\ + lsrs r0, 4\n\ + cmp r0, 0\n\ + beq _0807A9B0\n\ + movs r6, 0\n\ +_0807A9B0:\n\ + adds r4, 0x1C\n\ + adds r5, 0x1\n\ +_0807A9B4:\n\ + bl GetLinkPlayerCount\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + cmp r5, r0\n\ + blt _0807A992\n\ + cmp r6, 0\n\ + bne _0807A9EA\n\ + mov r1, r8\n\ + lsls r0, r1, 2\n\ + mov r1, sp\n\ + adds r4, r1, r0\n\ + ldrh r0, [r4]\n\ + bl IsSpeciesInHoennDex\n\ + cmp r0, 0\n\ + bne _0807A9E0\n\ + movs r0, 0x2\n\ + b _0807AA1A\n\ + .pool\n\ +_0807A9E0:\n\ + ldr r0, [r4]\n\ + cmp r0, 0\n\ + bne _0807A9EA\n\ + movs r0, 0x3\n\ + b _0807AA1A\n\ +_0807A9EA:\n\ + movs r2, 0\n\ + movs r5, 0\n\ + ldr r0, =gPlayerPartyCount\n\ + ldrb r0, [r0]\n\ + cmp r2, r0\n\ + bge _0807AA0A\n\ + adds r3, r0, 0\n\ + mov r1, sp\n\ +_0807A9FA:\n\ + cmp r8, r5\n\ + beq _0807AA02\n\ + ldr r0, [r1]\n\ + adds r2, r0\n\ +_0807AA02:\n\ + adds r1, 0x4\n\ + adds r5, 0x1\n\ + cmp r5, r3\n\ + blt _0807A9FA\n\ +_0807AA0A:\n\ + cmp r2, 0\n\ + beq _0807AA18\n\ + movs r0, 0\n\ + b _0807AA1A\n\ + .pool\n\ +_0807AA18:\n\ + movs r0, 0x1\n\ +_0807AA1A:\n\ + add sp, 0x18\n\ + pop {r3}\n\ + mov r8, r3\n\ + pop {r4-r7}\n\ + pop {r1}\n\ + bx r1"); +} +#endif // NONMATCHING + +static void sub_807AA28(struct Sprite *sprite) +{ + if (++sprite->data[0] == 10) + { + PlaySE(SE_BOWA); + sprite->data[0] = 0; + } +} + +static void sub_807AA4C(struct Sprite *sprite) +{ + if (!sprite->invisible && ++sprite->data[0] == 10) + { + PlaySE(SE_W207B); + sprite->data[0] = 0; + } +} + +static void sub_807AA7C(struct Sprite *sprite) +{ + if (!sprite->data[1]) + { + if (++sprite->data[0] == 12) + sprite->data[0] = 0; + + LoadPalette(&gUnknown_08338EA4[sprite->data[0]], (sprite->oam.paletteNum + 16) * 16 + 4, 2); + } +} + +static void sub_807AABC(struct Sprite *sprite) +{ + sprite->data[0]++; + sprite->pos2.y++; + + if (sprite->data[0] == 10) + DestroySprite(sprite); +} + +static void sub_807AAE0(struct Sprite *sprite) +{ + sprite->data[0]++; + sprite->pos2.y--; + + if (sprite->data[0] == 10) + DestroySprite(sprite); +} + +static void sub_807AB04(struct Sprite *sprite) +{ + if (++sprite->data[0] == 15) + { + PlaySE(SE_W107); + sprite->data[0] = 0; + } +} + +static void sub_807AB28(void) +{ + struct BgAffineDstData affine; + + DoBgAffineSet(&affine, gUnknown_020322A0->unk_D4 * 0x100, gUnknown_020322A0->unk_D6 * 0x100, gUnknown_020322A0->unk_DC, gUnknown_020322A0->unk_DE, gUnknown_020322A0->unk_E8, gUnknown_020322A0->unk_E8, gUnknown_020322A0->unk_EC); + SetGpuReg(REG_OFFSET_BG2PA, affine.pa); + SetGpuReg(REG_OFFSET_BG2PB, affine.pb); + SetGpuReg(REG_OFFSET_BG2PC, affine.pc); + SetGpuReg(REG_OFFSET_BG2PD, affine.pd); + SetGpuReg(REG_OFFSET_BG2X_L, affine.dx); + SetGpuReg(REG_OFFSET_BG2X_H, affine.dx >> 16); + SetGpuReg(REG_OFFSET_BG2Y_L, affine.dy); + SetGpuReg(REG_OFFSET_BG2Y_H, affine.dy >> 16); +} + +static void sub_807ABCC(void) +{ + u16 dispcnt; + + SetGpuReg(REG_OFFSET_BG1VOFS, gUnknown_020322A0->bg1vofs); + SetGpuReg(REG_OFFSET_BG1HOFS, gUnknown_020322A0->bg1hofs); + + dispcnt = GetGpuReg(REG_OFFSET_DISPCNT); + if ((dispcnt & 7) == DISPCNT_MODE_0) + { + SetGpuReg(REG_OFFSET_BG2VOFS, gUnknown_020322A0->bg2vofs); + SetGpuReg(REG_OFFSET_BG2HOFS, gUnknown_020322A0->bg2hofs); + } + else + { + sub_807AB28(); + } +} + +static void sub_807AC24(void) +{ + sub_807ABCC(); + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +static void sub_807AC3C(void) +{ + gUnknown_020322A0->unk_8A = 0; + gUnknown_020322A0->unk_88 = 0; + gUnknown_020322A0->unk_89 = 0; +} + +static void sub_807AC64(void) +{ + if (gUnknown_020322A0->unk_88 == gUnknown_020322A0->unk_89) + gUnknown_020322A0->unk_8A++; + else + gUnknown_020322A0->unk_8A = 0; + + if (gUnknown_020322A0->unk_8A > 300) + { + CloseLink(); + SetMainCallback2(CB2_LinkError); + gUnknown_020322A0->unk_8A = 0; + gUnknown_020322A0->unk_89 = 0; + gUnknown_020322A0->unk_88 = 0; + } + + gUnknown_020322A0->unk_89 = gUnknown_020322A0->unk_88; +} + +static u32 sub_807ACDC(void) +{ + if (gReceivedRemoteLinkPlayers) + return GetMultiplayerId(); + return 0; +} + +static void sub_807ACFC(u8 whichParty, u8 a1) +{ + int pos = 0; + struct Pokemon *mon = NULL; + u16 species; + u32 personality; + + if (whichParty == 0) + { + mon = &gPlayerParty[gUnknown_02032298[0]]; + pos = 1; + } + + if (whichParty == 1) + { + mon = &gEnemyParty[gUnknown_02032298[1] % PARTY_SIZE]; + pos = 3; + } + + switch (a1) + { + case 0: + species = GetMonData(mon, MON_DATA_SPECIES2); + personality = GetMonData(mon, MON_DATA_PERSONALITY); + + if (whichParty == 0) + HandleLoadSpecialPokePic_2(&gMonFrontPicTable[species], gMonSpritesGfxPtr->sprites[1], species, personality); + else + HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species], gMonSpritesGfxPtr->sprites[whichParty * 2 + 1], species, personality); + + LoadCompressedSpritePalette(GetMonSpritePalStruct(mon)); + gUnknown_020322A0->tradeSpecies[whichParty] = species; + gUnknown_020322A0->unk_68[whichParty] = personality; + break; + case 1: + SetMultiuseSpriteTemplateToPokemon(GetMonSpritePalStruct(mon)->tag, pos); + gUnknown_020322A0->pokePicSpriteIdxs[whichParty] = CreateSprite(&gMultiuseSpriteTemplate, 120, 60, 6); + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[whichParty]].invisible = TRUE; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[whichParty]].callback = SpriteCallbackDummy; + break; + } +} + +void sub_807AE50(void) +{ + switch (gMain.state) + { + case 0: + if (!gReceivedRemoteLinkPlayers) + { + gLinkType = 0x1144; + CloseLink(); + } + gUnknown_020322A0 = AllocZeroed(sizeof(*gUnknown_020322A0)); + AllocateMonSpritesGfx(); + ResetTasks(); + ResetSpriteData(); + FreeAllSpritePalettes(); + SetVBlankCallback(sub_807AC24); + sub_807B170(); + sub_807AC3C(); + gMain.state++; + gUnknown_020322A0->unk_8C = 0; + gUnknown_020322A0->state = 0; + gUnknown_020322A0->isLinkTrade = TRUE; + gUnknown_020322A0->unk_D4 = 64; + gUnknown_020322A0->unk_D6 = 64; + gUnknown_020322A0->unk_D8 = 0; + gUnknown_020322A0->unk_DA = 0; + gUnknown_020322A0->unk_DC = 120; + gUnknown_020322A0->unk_DE = 80; + gUnknown_020322A0->unk_E8 = 256; + gUnknown_020322A0->unk_EC = 0; + break; + case 1: + if (!gReceivedRemoteLinkPlayers) + { + gUnknown_020322A0->unk_FA = 1; + OpenLink(); + gMain.state++; + gUnknown_020322A0->timer = 0; + } + else + { + gMain.state = 4; + } + break; + case 2: + if (++gUnknown_020322A0->timer > 60) + { + gUnknown_020322A0->timer = 0; + gMain.state++; + } + break; + case 3: + if (IsLinkMaster()) + { + if (GetLinkPlayerCount_2() >= sub_800AA48()) + { + if (++gUnknown_020322A0->timer > 30) + { + sub_800A620(); + gMain.state++; + } + } + else + { + sub_807AC64(); + } + } + else + { + gMain.state++; + } + break; + case 4: + sub_807AC64(); + if (gReceivedRemoteLinkPlayers == TRUE && IsLinkPlayerDataExchangeComplete() == TRUE) + gMain.state++; + break; + case 5: + gUnknown_020322A0->unk_72 = 0; + gUnknown_020322A0->unk_73 = 0; + gUnknown_020322A0->unk_93 = 0; + sub_807ACFC(0, 0); + gMain.state++; + break; + case 6: + sub_807ACFC(0, 1); + gMain.state++; + break; + case 7: + sub_807ACFC(1, 0); + gMain.state++; + break; + case 8: + sub_807ACFC(1, 1); + sub_807B154(); + gMain.state++; + break; + case 9: + sub_807BA94(); + LoadSpriteSheet(&gUnknown_08338D18); + LoadSpritePalette(&gUnknown_08338D20); + gMain.state++; + break; + case 10: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); + ShowBg(0); + gMain.state++; + break; + case 11: + sub_807B140(); + SetTradeSceneStrings(); + gMain.state++; + break; + case 12: + if (!gPaletteFade.active) + { + if (gWirelessCommType) + { + sub_800E0E8(); + CreateWirelessStatusIndicatorSprite(0, 0); + } + SetMainCallback2(sub_807EA2C); + } + break; + } + RunTasks(); + RunTextPrinters(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +void sub_807B140(void) +{ + sub_807B62C(5); + sub_807B62C(0); +} + +void sub_807B154(void) +{ + FillWindowPixelBuffer(0, 0xFF); + PutWindowTilemap(0); + CopyWindowToVram(0, 3); +} + +static void sub_807B170(void) +{ + SetGpuReg(REG_OFFSET_DISPCNT, 0); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, gUnknown_08339014, ARRAY_COUNT(gUnknown_08339014)); + ChangeBgX(0, 0, 0); + ChangeBgY(0, 0, 0); + SetBgTilemapBuffer(0, Alloc(0x800)); + SetBgTilemapBuffer(1, Alloc(0x800)); + SetBgTilemapBuffer(3, Alloc(0x800)); + DeactivateAllTextPrinters(); + DecompressAndLoadBgGfxUsingHeap(0, gBattleTextboxTiles, 0, 0, 0); + LZDecompressWram(gBattleTextboxTilemap, gDecompressionBuffer); + CopyToBgTilemapBuffer(0, gDecompressionBuffer, 0x800, 0); + LoadCompressedPalette(gBattleTextboxPalette, 0, 0x20); + InitWindows(gUnknown_08338FFC); + DecompressAndLoadBgGfxUsingHeap(0, gBattleTextboxTiles, 0, 0, 0); + LZDecompressWram(gBattleTextboxTilemap, gDecompressionBuffer); + CopyToBgTilemapBuffer(0, gDecompressionBuffer, 0x800, 0); + LoadCompressedPalette(gBattleTextboxPalette, 0, 0x20); +} + +// In-game trade init +static void sub_807B270(void) +{ + u8 otName[11]; + + switch (gMain.state) + { + case 0: + gUnknown_02032298[0] = gSpecialVar_0x8005; + gUnknown_02032298[1] = 6; + StringCopy(gLinkPlayers[0].name, gSaveBlock2Ptr->playerName); + GetMonData(&gEnemyParty[0], MON_DATA_OT_NAME, otName); + StringCopy(gLinkPlayers[1].name, otName); + gLinkPlayers[0].language = LANGUAGE_ENGLISH; + gLinkPlayers[1].language = GetMonData(&gEnemyParty[0], MON_DATA_LANGUAGE); + gUnknown_020322A0 = AllocZeroed(sizeof(*gUnknown_020322A0)); + AllocateMonSpritesGfx(); + ResetTasks(); + ResetSpriteData(); + FreeAllSpritePalettes(); + SetVBlankCallback(sub_807AC24); + sub_807B170(); + gUnknown_020322A0->isLinkTrade = FALSE; + gUnknown_020322A0->unk_8C = 0; + gUnknown_020322A0->state = 0; + gUnknown_020322A0->unk_D4 = 64; + gUnknown_020322A0->unk_D6 = 64; + gUnknown_020322A0->unk_D8 = 0; + gUnknown_020322A0->unk_DA = 0; + gUnknown_020322A0->unk_DC = 120; + gUnknown_020322A0->unk_DE = 80; + gUnknown_020322A0->unk_E8 = 256; + gUnknown_020322A0->unk_EC = 0; + gUnknown_020322A0->timer = 0; + gMain.state = 5; + break; + case 5: + sub_807ACFC(0, 0); + gMain.state++; + break; + case 6: + sub_807ACFC(0, 1); + gMain.state++; + break; + case 7: + sub_807ACFC(1, 0); + ShowBg(0); + gMain.state++; + break; + case 8: + sub_807ACFC(1, 1); + FillWindowPixelBuffer(0, 0xFF); + PutWindowTilemap(0); + CopyWindowToVram(0, 3); + gMain.state++; + break; + case 9: + sub_807BA94(); + LoadSpriteSheet(&gUnknown_08338D18); + LoadSpritePalette(&gUnknown_08338D20); + gMain.state++; + break; + case 10: + ShowBg(0); + gMain.state++; + break; + case 11: + sub_807B62C(5); + sub_807B62C(0); + SetTradeSceneStrings(); + gMain.state++; + break; + case 12: + SetMainCallback2(sub_807B60C); + break; + } + + RunTasks(); + RunTextPrinters(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +static void sub_807B464(u8 partyIdx) +{ + struct Pokemon *mon = &gPlayerParty[partyIdx]; + + if (!GetMonData(mon, MON_DATA_IS_EGG)) + { + u16 species = GetMonData(mon, MON_DATA_SPECIES, NULL); + u32 personality = GetMonData(mon, MON_DATA_PERSONALITY, NULL); + species = SpeciesToNationalPokedexNum(species); + GetSetPokedexFlag(species, FLAG_SET_SEEN); + HandleSetPokedexFlag(species, FLAG_SET_CAUGHT, personality); + } +} + +static void sub_807B4C4(void) +{ + u8 mpId = GetMultiplayerId(); + // Originally in Ruby but commented out + /*if (gLinkPlayers[mpId ^ 1].lp_field_2 == 0x8000) + EnableNationalPokedex();*/ +} + +static void sub_807B4D0(u8 a0, u8 a1) +{ + u8 friendship; + + struct Pokemon *playerMon = &gPlayerParty[a0]; + u16 playerMail = GetMonData(playerMon, MON_DATA_MAIL); + + struct Pokemon *partnerMon = &gEnemyParty[a1]; + u16 partnerMail = GetMonData(partnerMon, MON_DATA_MAIL); + + if (playerMail != 0xFF) + ClearMailStruct(&gSaveBlock1Ptr->mail[playerMail]); + + // This is where the actual trade happens!! + gUnknown_020322A0->mon = *playerMon; + *playerMon = *partnerMon; + *partnerMon = gUnknown_020322A0->mon; + + friendship = 70; + if (!GetMonData(playerMon, MON_DATA_IS_EGG)) + SetMonData(playerMon, MON_DATA_FRIENDSHIP, &friendship); + + if (partnerMail != 0xFF) + GiveMailToMon2(playerMon, &gUnknown_020321C0[partnerMail]); + + sub_807B464(a0); + if (gReceivedRemoteLinkPlayers) + sub_807B4C4(); +} + +static void sub_807B5B8(void) +{ + switch (gUnknown_020322A0->unk_93) + { + case 1: + if (IsLinkTaskFinished()) + { + Trade_SendData(gUnknown_020322A0); + gUnknown_020322A0->unk_93++; + } + // fallthrough + case 2: + gUnknown_020322A0->unk_93 = 0; + break; + } +} + +static void sub_807B60C(void) +{ + sub_807BBC8(); + RunTasks(); + RunTextPrinters(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +static void sub_807B62C(u8 a0) +{ + switch (a0) + { + case 0: + gUnknown_020322A0->bg2vofs = 0; + gUnknown_020322A0->bg2hofs = 180; + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG0_ON | + DISPCNT_BG2_ON | + DISPCNT_OBJ_ON); + SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2) | + BGCNT_CHARBASE(1) | + BGCNT_16COLOR | + BGCNT_SCREENBASE(18) | + BGCNT_TXT512x256); + LoadPalette(gTradeGba2_Pal, 16, 0x60); + DmaCopyLarge16(3, gTradeGba_Gfx, (void *) BG_CHAR_ADDR(1), 0x1420, 0x1000); + DmaCopy16Defvars(3, gUnknown_08331F60, (void *) BG_SCREEN_ADDR(18), 0x1000); + break; + case 1: + gUnknown_020322A0->bg1hofs = 0; + gUnknown_020322A0->bg1vofs = 348; + SetGpuReg(REG_OFFSET_BG1VOFS, 348); + SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(2) | + BGCNT_CHARBASE(0) | + BGCNT_16COLOR | + BGCNT_SCREENBASE(5) | + BGCNT_TXT256x512); + SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2) | + BGCNT_CHARBASE(1) | + BGCNT_16COLOR | + BGCNT_SCREENBASE(18) | + BGCNT_TXT256x512); + + if (gUnknown_020322A0->unk_FA) + { + DmaCopy16Defvars(3, gUnknown_083369A0, (void *) BG_SCREEN_ADDR(5), 0x1000); + } + else + { + DmaCopy16Defvars(3, gUnknown_083359A0, (void *) BG_SCREEN_ADDR(5), 0x1000); + } + + DmaCopyLarge16(3, gTradeGba_Gfx, (void *) BG_CHAR_ADDR(0), 0x1420, 0x1000); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG1_ON | + DISPCNT_OBJ_ON); + break; + case 2: + gUnknown_020322A0->bg1vofs = 0; + gUnknown_020322A0->bg1hofs = 0; + if (!gUnknown_020322A0->unk_FA) + { + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG1_ON | + DISPCNT_OBJ_ON); + LZ77UnCompVram(gUnknown_083379A0, (void *) BG_SCREEN_ADDR(5)); + BlendPalettes(0x8, 16, RGB_BLACK); + } + else + { + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG1_ON | + DISPCNT_OBJ_ON); + DmaCopy16Defvars(3, gUnknown_0832FFC0, (void *) BG_SCREEN_ADDR(5), 0x800); + BlendPalettes(0x1, 16, RGB_BLACK); + } + break; + case 3: + LoadPalette(gUnknown_08337EA0, 48, 0x20); + LZ77UnCompVram(gUnknown_08337EC0, (void *) BG_CHAR_ADDR(1)); + LZ77UnCompVram(gUnknown_08338550, (void *) BG_SCREEN_ADDR(18)); + gUnknown_020322A0->bg2vofs = 80; + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG1_ON | + DISPCNT_BG2_ON | + DISPCNT_OBJ_ON); + break; + case 4: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG2_ON | + DISPCNT_OBJ_ON); + SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(3) | + BGCNT_CHARBASE(1) | + BGCNT_256COLOR | + BGCNT_SCREENBASE(18) | + BGCNT_AFF128x128); + gUnknown_020322A0->unk_D4 = 64; + gUnknown_020322A0->unk_D6 = 92; + gUnknown_020322A0->unk_E8 = 32; + gUnknown_020322A0->unk_EA = 1024; + gUnknown_020322A0->unk_EC = 0; + + DmaCopyLarge16(3, gUnknown_08332F60, (void *) BG_CHAR_ADDR(1), 0x2840, 0x1000); + + if (gUnknown_020322A0->unk_FA) + { + DmaCopy16Defvars(3, gUnknown_083357A0, (void *) BG_SCREEN_ADDR(18), 0x100); + } + else + { + DmaCopy16Defvars(3, gUnknown_083358A0, (void *) BG_SCREEN_ADDR(18), 0x100); + } + break; + case 5: + gUnknown_020322A0->bg1vofs = 0; + gUnknown_020322A0->bg1hofs = 0; + break; + case 6: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG2_ON | + DISPCNT_OBJ_ON); + SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(3) | + BGCNT_CHARBASE(1) | + BGCNT_256COLOR | + BGCNT_SCREENBASE(18) | + BGCNT_AFF128x128); + gUnknown_020322A0->unk_D4 = 64; + gUnknown_020322A0->unk_D6 = 92; + gUnknown_020322A0->unk_E8 = 256; + gUnknown_020322A0->unk_EA = 128; + gUnknown_020322A0->unk_DC = 120; + gUnknown_020322A0->unk_DE = 80; + gUnknown_020322A0->unk_EC = 0; + + DmaCopyLarge16(3, gUnknown_08332F60, (void *) BG_CHAR_ADDR(1), 0x2840, 0x1000); + + if (gUnknown_020322A0->unk_FA) + { + DmaCopy16Defvars(3, gUnknown_083357A0, (void *) BG_SCREEN_ADDR(18), 0x100); + } + else + { + DmaCopy16Defvars(3, gUnknown_083358A0, (void *) BG_SCREEN_ADDR(18), 0x100); + } + break; + case 7: + gUnknown_020322A0->bg2vofs = 0; + gUnknown_020322A0->bg2hofs = 0; + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2) | + BGCNT_CHARBASE(1) | + BGCNT_16COLOR | + BGCNT_SCREENBASE(18) | + BGCNT_TXT512x256); + LoadPalette(gTradeGba2_Pal, 16, 0x60); + DmaCopyLarge16(3, gTradeGba_Gfx, (void *) BG_CHAR_ADDR(1), 0x1420, 0x1000); + DmaCopy16Defvars(3, gUnknown_08331F60, (void *) BG_SCREEN_ADDR(18), 0x1000); + break; + } +} + +static void sub_807BA94(void) +{ + LoadSpriteSheet(&gUnknown_08338D70); + LoadSpriteSheet(&gUnknown_08338DC0); + LoadSpriteSheet(&gUnknown_08338DF4); + LoadSpriteSheet(&gUnknown_08338E6C); + LoadSpritePalette(&gUnknown_08338D78); + LoadSpritePalette(&gUnknown_08338D80); +} + +static void SetTradeSceneStrings(void) +{ + /*Sets the variable strings printed on the + *actual trading screen. For use in strings + *like "[Pokemon] will be sent to [Trainer]." + */ + u8 mpId; + u8 name[20]; + const struct InGameTrade *ingameTrade; + + if (gUnknown_020322A0->isLinkTrade) + { + mpId = GetMultiplayerId(); + StringCopy(gStringVar1, gLinkPlayers[mpId ^ 1].name); + GetMonData(&gEnemyParty[gUnknown_02032298[1] % PARTY_SIZE], MON_DATA_NICKNAME, name); + StringCopy10(gStringVar3, name); + GetMonData(&gPlayerParty[gUnknown_02032298[0]], MON_DATA_NICKNAME, name); + StringCopy10(gStringVar2, name); + } + else + { + ingameTrade = &gIngameTrades[gSpecialVar_0x8004]; + StringCopy(gStringVar1, ingameTrade->otName); + StringCopy10(gStringVar3, ingameTrade->name); + GetMonData(&gPlayerParty[gSpecialVar_0x8005], MON_DATA_NICKNAME, name); + StringCopy10(gStringVar2, name); + } +} + +static u8 sub_807BBC8(void) +{ + if (gUnknown_020322A0->unk_FA) + { + return sub_807BBEC(); + } + else + { + return sub_807CFC8(); + } +} + +static bool8 sub_807BBEC(void) +{ + u16 evoTarget; + + switch (gUnknown_020322A0->state) + { + case 0: + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].invisible = FALSE; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.x = -180; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y = gMonFrontPicCoords[gUnknown_020322A0->tradeSpecies[0]].y_offset; + gUnknown_020322A0->state++; + gUnknown_020322A0->cachedMapMusic = GetCurrentMapMusic(); + PlayNewMapMusic(MUS_SHINKA); + break; + case 1: + if (gUnknown_020322A0->bg2hofs > 0) + { + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.x += 3; + gUnknown_020322A0->bg2hofs -= 3; + } + else + { + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.x = 0; + gUnknown_020322A0->bg2hofs = 0; + gUnknown_020322A0->state = 10; + } + break; + case 10: + StringExpandPlaceholders(gStringVar4, gText_XWillBeSentToY); + sub_807F1A8(0, gStringVar4, 0); + + if (gUnknown_020322A0->tradeSpecies[0] != SPECIES_EGG) + { + PlayCry1(gUnknown_020322A0->tradeSpecies[0], 0); + } + + gUnknown_020322A0->state = 11; + gUnknown_020322A0->timer = 0; + break; + case 11: + if (++gUnknown_020322A0->timer == 80) + { + gUnknown_020322A0->unk_D2 = sub_807671C(gUnknown_020322A0->pokePicSpriteIdxs[0], gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].oam.paletteNum, 120, 32, 2, 1, 0x14, 0xfffff); + gUnknown_020322A0->state++; + StringExpandPlaceholders(gStringVar4, gText_ByeByeVar1); + sub_807F1A8(0, gStringVar4, 0); + } + break; + case 12: + if (gSprites[gUnknown_020322A0->unk_D2].callback == SpriteCallbackDummy) + { + gUnknown_020322A0->unk_D3 = CreateSprite(&gSpriteTemplate_8338D28, 120, 32, 0); + gSprites[gUnknown_020322A0->unk_D3].callback = sub_807E5D8; + DestroySprite(&gSprites[gUnknown_020322A0->unk_D2]); + gUnknown_020322A0->state++; + } + break; + case 13: + // The game waits here for the sprite to finish its animation sequence. + break; + case 14: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gUnknown_020322A0->state = 20; + break; + case 20: + if (!gPaletteFade.active) + { + sub_807B62C(4); + FillWindowPixelBuffer(0, 0xFF); + CopyWindowToVram(0, 3); + gUnknown_020322A0->state++; + } + break; + case 21: + BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); + gUnknown_020322A0->state++; + break; + case 22: + if (!gPaletteFade.active) + { + gUnknown_020322A0->state = 23; + } + break; + case 23: + if (gUnknown_020322A0->unk_EA > 0x100) + { + gUnknown_020322A0->unk_EA -= 0x34; + } + else + { + sub_807B62C(1); + gUnknown_020322A0->unk_EA = 0x80; + gUnknown_020322A0->state++; + gUnknown_020322A0->timer = 0; + } + gUnknown_020322A0->unk_E8 = 0x8000 / gUnknown_020322A0->unk_EA; + break; + case 24: + if (++gUnknown_020322A0->timer > 20) + { + sub_807AB28(); + gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338E74, 120, 80, 0); + gUnknown_020322A0->state++; + } + break; + case 25: + if (gSprites[gUnknown_020322A0->unk_91].animEnded) + { + DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND | + BLDCNT_TGT2_BG1 | + BLDCNT_TGT2_BG2); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(12, 4)); + gUnknown_020322A0->state++; + } + break; + case 26: + if (--gUnknown_020322A0->bg1vofs == 316) + { + gUnknown_020322A0->state++; + } + if (gUnknown_020322A0->bg1vofs == 328) + { + gUnknown_020322A0->unk_92 = CreateSprite(&gSpriteTemplate_8338DFC, 128, 65, 0); + } + break; + case 27: + gUnknown_020322A0->unk_90 = CreateSprite(&gUnknown_08338D88, 128, 80, 3); + gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338DC8, 128, 80, 0); + StartSpriteAnim(&gSprites[gUnknown_020322A0->unk_91], 1); + gUnknown_020322A0->state++; + break; + case 28: + if ((gUnknown_020322A0->bg1vofs -= 2) == 166) + { + gUnknown_020322A0->state = 200; + } + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG1_ON | + DISPCNT_OBJ_ON); + break; + case 200: + gSprites[gUnknown_020322A0->unk_90].pos1.y -= 2; + gSprites[gUnknown_020322A0->unk_91].pos1.y -= 2; + if (gSprites[gUnknown_020322A0->unk_90].pos1.y < -8) + { + gUnknown_020322A0->state = 29; + } + break; + case 29: + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK); + gUnknown_020322A0->state = 30; + break; + case 30: + if (!gPaletteFade.active) + { + DestroySprite(&gSprites[gUnknown_020322A0->unk_90]); + DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); + sub_807B62C(2); + gUnknown_020322A0->state++; + } + break; + case 31: + BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); + gUnknown_020322A0->unk_90 = CreateSprite(&gSpriteTemplate_8338DC8, 111, 170, 0); + gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338DC8, 129, -10, 0); + gUnknown_020322A0->state++; + break; + case 32: + if (!gPaletteFade.active) + { + PlaySE(SE_TK_WARPOUT); + gUnknown_020322A0->state++; + } + gSprites[gUnknown_020322A0->unk_90].pos2.y -= 3; + gSprites[gUnknown_020322A0->unk_91].pos2.y += 3; + break; + case 33: + gSprites[gUnknown_020322A0->unk_90].pos2.y -= 3; + gSprites[gUnknown_020322A0->unk_91].pos2.y += 3; + if (gSprites[gUnknown_020322A0->unk_90].pos2.y <= -90) + { + gSprites[gUnknown_020322A0->unk_90].data[1] = 1; + gSprites[gUnknown_020322A0->unk_91].data[1] = 1; + gUnknown_020322A0->state++; + } + break; + case 34: + BlendPalettes(0x1, 16, RGB_WHITEALPHA); + gUnknown_020322A0->state++; + break; + case 35: + BlendPalettes(0x1, 0, RGB_WHITEALPHA); + gUnknown_020322A0->state++; + break; + case 36: + BlendPalettes(0x1, 16, RGB_WHITEALPHA); + gUnknown_020322A0->state++; + break; + case 37: + if (!IsMonSpriteNotFlipped(gUnknown_020322A0->tradeSpecies[0])) + { + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].affineAnims = gSpriteAffineAnimTable_8338ECC; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].oam.affineMode = 3; + CalcCenterToCornerVec(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]], 0, 3, 3); + StartSpriteAffineAnim(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]], 0); + } + else + { + StartSpriteAffineAnim(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]], 0); + } + StartSpriteAffineAnim(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]], 0); + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos1.x = 60; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos1.x = 180; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos1.y = 192; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos1.y = -32; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].invisible = FALSE; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].invisible = FALSE; + gUnknown_020322A0->state++; + break; + case 38: + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y -= 3; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos2.y += 3; + if (gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y < -160 && gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y >= -163) + { + PlaySE(SE_TK_WARPIN); + } + if (gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y < -222) + { + gSprites[gUnknown_020322A0->unk_90].data[1] = 0; + gSprites[gUnknown_020322A0->unk_91].data[1] = 0; + gUnknown_020322A0->state++; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].invisible = TRUE; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].invisible = TRUE; + BlendPalettes(0x1, 0, RGB_WHITEALPHA); + } + break; + case 39: + gSprites[gUnknown_020322A0->unk_90].pos2.y -= 3; + gSprites[gUnknown_020322A0->unk_91].pos2.y += 3; + if (gSprites[gUnknown_020322A0->unk_90].pos2.y <= -222) + { + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK); + gUnknown_020322A0->state++; + DestroySprite(&gSprites[gUnknown_020322A0->unk_90]); + DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); + } + break; + case 40: + if (!gPaletteFade.active) + { + gUnknown_020322A0->state++; + sub_807B62C(1); + gUnknown_020322A0->bg1vofs = 166; + gUnknown_020322A0->unk_90 = CreateSprite(&gUnknown_08338D88, 128, -20, 3); + gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338DC8, 128, -20, 0); + StartSpriteAnim(&gSprites[gUnknown_020322A0->unk_91], 1); + } + break; + case 41: + BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); + gUnknown_020322A0->state++; + break; + case 42: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG1_ON | + DISPCNT_OBJ_ON); + if (!gPaletteFade.active) + { + gUnknown_020322A0->state++; + } + break; + case 43: + gSprites[gUnknown_020322A0->unk_90].pos2.y += 3; + gSprites[gUnknown_020322A0->unk_91].pos2.y += 3; + if (gSprites[gUnknown_020322A0->unk_90].pos2.y + gSprites[gUnknown_020322A0->unk_90].pos1.y == 64) + { + gUnknown_020322A0->state++; + } + break; + case 44: + if ((gUnknown_020322A0->bg1vofs += 2) > 316) + { + gUnknown_020322A0->bg1vofs = 316; + gUnknown_020322A0->state++; + } + break; + case 45: + DestroySprite(&gSprites[gUnknown_020322A0->unk_90]); + DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); + gUnknown_020322A0->state++; + gUnknown_020322A0->timer = 0; + break; + case 46: + if (++gUnknown_020322A0->timer == 10) + { + gUnknown_020322A0->state++; + } + break; + case 47: + if (++gUnknown_020322A0->bg1vofs > 348) + { + gUnknown_020322A0->bg1vofs = 348; + gUnknown_020322A0->state++; + } + if (gUnknown_020322A0->bg1vofs == 328 && gUnknown_020322A0->unk_FA) + { + gUnknown_020322A0->unk_92 = CreateSprite(&gSpriteTemplate_8338DFC, 128, 65, 0); + gSprites[gUnknown_020322A0->unk_92].callback = sub_807AAE0; + } + break; + case 48: + gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338E74, 120, 80, 0); + gUnknown_020322A0->state = 50; + break; + case 50: + if (gSprites[gUnknown_020322A0->unk_91].animEnded) + { + DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); + sub_807B62C(6); + gUnknown_020322A0->state++; + PlaySE(SE_W028); + } + break; + case 51: + if (gUnknown_020322A0->unk_EA < 0x400) + { + gUnknown_020322A0->unk_EA += 0x34; + } + else + { + gUnknown_020322A0->unk_EA = 0x400; + gUnknown_020322A0->state++; + } + gUnknown_020322A0->unk_E8 = 0x8000 / gUnknown_020322A0->unk_EA; + break; + case 52: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gUnknown_020322A0->state = 60; + break; + + case 60: + if (!gPaletteFade.active) + { + sub_807B62C(5); + sub_807B62C(7); + gPaletteFade.bufferTransferDisabled = TRUE; + gUnknown_020322A0->state++; + } + break; + case 61: + gPaletteFade.bufferTransferDisabled = FALSE; + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); + gUnknown_020322A0->state++; + break; + case 62: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG2_ON | + DISPCNT_OBJ_ON); + if (!gPaletteFade.active) + { + gUnknown_020322A0->state++; + } + break; + case 63: + gUnknown_020322A0->unk_D3 = CreateSprite(&gSpriteTemplate_8338D28, 120, -8, 0); + gSprites[gUnknown_020322A0->unk_D3].data[3] = 74; + gSprites[gUnknown_020322A0->unk_D3].callback = sub_807E6AC; + StartSpriteAnim(&gSprites[gUnknown_020322A0->unk_D3], 1); + StartSpriteAffineAnim(&gSprites[gUnknown_020322A0->unk_D3], 2); + BlendPalettes(1 << (16 + gSprites[gUnknown_020322A0->unk_D3].oam.paletteNum), 16, RGB_WHITEALPHA); + gUnknown_020322A0->state++; + gUnknown_020322A0->timer = 0; + break; + case 64: + BeginNormalPaletteFade(1 << (16 + gSprites[gUnknown_020322A0->unk_D3].oam.paletteNum), 1, 16, 0, RGB_WHITEALPHA); + gUnknown_020322A0->state++; + break; + case 65: + if (gSprites[gUnknown_020322A0->unk_D3].callback == SpriteCallbackDummy) + { + HandleLoadSpecialPokePic_2(&gMonFrontPicTable[gUnknown_020322A0->tradeSpecies[1]], gMonSpritesGfxPtr->sprites[3], gUnknown_020322A0->tradeSpecies[1], gUnknown_020322A0->unk_68[1]); + gUnknown_020322A0->state++; + } + break; + case 66: + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos1.x = 120; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos1.y = gMonFrontPicCoords[gUnknown_020322A0->tradeSpecies[1]].y_offset + 60; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos2.x = 0; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos2.y = 0; + StartSpriteAnim(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]], 0); + CreatePokeballSpriteToReleaseMon(gUnknown_020322A0->pokePicSpriteIdxs[1], gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].oam.paletteNum, 120, 84, 2, 1, 20, 0xFFFFF, gUnknown_020322A0->tradeSpecies[1]); + FreeSpriteOamMatrix(&gSprites[gUnknown_020322A0->unk_D3]); + DestroySprite(&gSprites[gUnknown_020322A0->unk_D3]); + gUnknown_020322A0->state++; + break; + case 67: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG0_ON | + DISPCNT_BG2_ON | + DISPCNT_OBJ_ON); + StringExpandPlaceholders(gStringVar4, gText_XSentOverY); + sub_807F1A8(0, gStringVar4, 0); + gUnknown_020322A0->state = 167; + gUnknown_020322A0->timer = 0; + break; + // 167 and 267 are extra cases added in for animations + case 167: + if (++gUnknown_020322A0->timer > 60) + { + gUnknown_020322A0->state = 267; + gUnknown_020322A0->timer = 0; + } + break; + case 267: + if (IsCryFinished()) + { + gUnknown_020322A0->state = 68; + } + break; + case 68: + if (++gUnknown_020322A0->timer == 10) + { + PlayFanfare(MUS_FANFA5); + } + if (gUnknown_020322A0->timer == 250) + { + gUnknown_020322A0->state++; + StringExpandPlaceholders(gStringVar4, gText_TakeGoodCareOfX); + sub_807F1A8(0, gStringVar4, 0); + gUnknown_020322A0->timer = 0; + } + break; + case 69: + if (++gUnknown_020322A0->timer == 60) + { + gUnknown_020322A0->state++; + } + break; + case 70: + sub_807F14C(); + gUnknown_020322A0->state++; + break; + case 71: + if (gUnknown_020322A0->isLinkTrade) + { + return TRUE; + } + else if (gMain.newKeys & A_BUTTON) + { + gUnknown_020322A0->state++; + } + break; + case 72: // Only if in-game trade + sub_807B4D0(gSpecialVar_0x8005, 0); + gCB2_AfterEvolution = sub_807B60C; + evoTarget = GetEvolutionTargetSpecies(&gPlayerParty[gUnknown_02032298[0]], TRUE, ITEM_NONE); + if (evoTarget != SPECIES_NONE) + { + TradeEvolutionScene(&gPlayerParty[gUnknown_02032298[0]], evoTarget, gUnknown_020322A0->pokePicSpriteIdxs[1], gUnknown_02032298[0]); + } + gUnknown_020322A0->state++; + break; + case 73: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gUnknown_020322A0->state++; + break; + case 74: + if (!gPaletteFade.active) + { + PlayNewMapMusic(gUnknown_020322A0->cachedMapMusic); + if (gUnknown_020322A0) + { + FreeAllWindowBuffers(); + Free(GetBgTilemapBuffer(3)); + Free(GetBgTilemapBuffer(1)); + Free(GetBgTilemapBuffer(0)); + FreeMonSpritesGfx(); + FREE_AND_SET_NULL(gUnknown_020322A0); + } + SetMainCallback2(CB2_ReturnToField); + sub_807E784(); + } + break; + } + return FALSE; +} + +static bool8 sub_807CFC8(void) +{ + u16 evoTarget; + + switch (gUnknown_020322A0->state) + { + case 0: + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].invisible = FALSE; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.x = -180; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y = gMonFrontPicCoords[gUnknown_020322A0->tradeSpecies[0]].y_offset; + gUnknown_020322A0->state++; + gUnknown_020322A0->cachedMapMusic = GetCurrentMapMusic(); + PlayNewMapMusic(MUS_SHINKA); + break; + case 1: + if (gUnknown_020322A0->bg2hofs > 0) + { + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.x += 3; + gUnknown_020322A0->bg2hofs -= 3; + } + else + { + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.x = 0; + gUnknown_020322A0->bg2hofs = 0; + gUnknown_020322A0->state = 10; + } + break; + case 10: + StringExpandPlaceholders(gStringVar4, gText_XWillBeSentToY); + sub_807F1A8(0, gStringVar4, 0); + + if (gUnknown_020322A0->tradeSpecies[0] != SPECIES_EGG) + { + PlayCry1(gUnknown_020322A0->tradeSpecies[0], 0); + } + + gUnknown_020322A0->state = 11; + gUnknown_020322A0->timer = 0; + break; + case 11: + if (++gUnknown_020322A0->timer == 80) + { + gUnknown_020322A0->unk_D2 = sub_807671C(gUnknown_020322A0->pokePicSpriteIdxs[0], gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].oam.paletteNum, 120, 32, 2, 1, 0x14, 0xfffff); + gUnknown_020322A0->state++; + StringExpandPlaceholders(gStringVar4, gText_ByeByeVar1); + sub_807F1A8(0, gStringVar4, 0); + } + break; + case 12: + if (gSprites[gUnknown_020322A0->unk_D2].callback == SpriteCallbackDummy) + { + gUnknown_020322A0->unk_D3 = CreateSprite(&gSpriteTemplate_8338D28, 120, 32, 0); + gSprites[gUnknown_020322A0->unk_D3].callback = sub_807E5D8; + DestroySprite(&gSprites[gUnknown_020322A0->unk_D2]); + gUnknown_020322A0->state++; + } + break; + case 13: + // The game waits here for the sprite to finish its animation sequence. + break; + case 14: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gUnknown_020322A0->state = 20; + break; + case 20: + if (!gPaletteFade.active) + { + sub_807B62C(4); + FillWindowPixelBuffer(0, 0xFF); + CopyWindowToVram(0, 3); + gUnknown_020322A0->state++; + } + break; + case 21: + BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); + gUnknown_020322A0->state++; + break; + case 22: + if (!gPaletteFade.active) + { + gUnknown_020322A0->state = 23; + } + break; + case 23: + if (gUnknown_020322A0->unk_EA > 0x100) + { + gUnknown_020322A0->unk_EA -= 0x34; + } + else + { + sub_807B62C(1); + gUnknown_020322A0->unk_EA = 0x80; + gUnknown_020322A0->state = 124; + gUnknown_020322A0->timer = 0; + } + gUnknown_020322A0->unk_E8 = 0x8000 / gUnknown_020322A0->unk_EA; + break; + case 124: + if (++gUnknown_020322A0->timer > 20) + { + sub_807B62C(3); + gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338E8C, 120, 80, 0); + gUnknown_020322A0->state++; + } + break; + case 125: + if (gSprites[gUnknown_020322A0->unk_91].animEnded) + { + DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | + BLDCNT_TGT1_OBJ | + BLDCNT_EFFECT_BLEND | + BLDCNT_TGT2_BG2); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 4)); + CreateTask(c3_08054588, 5); + gUnknown_020322A0->state++; + } + break; + case 126: + if (!FuncIsActiveTask(c3_08054588)) + { + gUnknown_020322A0->state = 26; + } + break; + case 26: + if (--gUnknown_020322A0->bg1vofs == 316) + { + gUnknown_020322A0->state++; + } + break; + case 27: + gUnknown_020322A0->unk_90 = CreateSprite(&gUnknown_08338D88, 120, 80, 3); + gSprites[gUnknown_020322A0->unk_90].callback = sub_807AA4C; + gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338DC8, 120, 80, 0); + StartSpriteAnim(&gSprites[gUnknown_020322A0->unk_91], 1); + gUnknown_020322A0->state++; + break; + case 28: + if ((gUnknown_020322A0->bg1vofs -= 3) == 166) + { + gUnknown_020322A0->state = 200; + } + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG1_ON | + DISPCNT_OBJ_ON); + break; + case 200: + gSprites[gUnknown_020322A0->unk_90].pos1.y -= 2; + gSprites[gUnknown_020322A0->unk_91].pos1.y -= 2; + if (gSprites[gUnknown_020322A0->unk_90].pos1.y < -8) + { + gUnknown_020322A0->state = 29; + } + break; + case 29: + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK); + gUnknown_020322A0->state = 30; + break; + case 30: + if (!gPaletteFade.active) + { + DestroySprite(&gSprites[gUnknown_020322A0->unk_90]); + DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); + sub_807B62C(2); + gUnknown_020322A0->state++; + } + break; + case 31: + BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); + gUnknown_020322A0->unk_90 = CreateSprite(&gSpriteTemplate_8338DC8, 111, 170, 0); + gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338DC8, 129, -10, 0); + gUnknown_020322A0->state++; + break; + case 32: + if (!gPaletteFade.active) + { + PlaySE(SE_TK_WARPOUT); + gUnknown_020322A0->state++; + } + gSprites[gUnknown_020322A0->unk_90].pos2.y -= 3; + gSprites[gUnknown_020322A0->unk_91].pos2.y += 3; + break; + case 33: + gSprites[gUnknown_020322A0->unk_90].pos2.y -= 3; + gSprites[gUnknown_020322A0->unk_91].pos2.y += 3; + if (gSprites[gUnknown_020322A0->unk_90].pos2.y <= -90) + { + gSprites[gUnknown_020322A0->unk_90].data[1] = 1; + gSprites[gUnknown_020322A0->unk_91].data[1] = 1; + gUnknown_020322A0->state++; + CreateTask(c3_0805465C, 5); + } + break; + case 34: + BlendPalettes(0x8, 16, RGB_WHITEALPHA); + gUnknown_020322A0->state++; + break; + case 35: + BlendPalettes(0x8, 16, RGB_WHITEALPHA); + gUnknown_020322A0->state++; + break; + case 36: + BlendPalettes(0x8, 16, RGB_WHITEALPHA); + gUnknown_020322A0->state++; + break; + case 37: + if (!IsMonSpriteNotFlipped(gUnknown_020322A0->tradeSpecies[0])) + { + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].affineAnims = gSpriteAffineAnimTable_8338ECC; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].oam.affineMode = 3; + CalcCenterToCornerVec(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]], 0, 3, 3); + StartSpriteAffineAnim(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]], 0); + } + else + { + StartSpriteAffineAnim(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]], 0); + } + StartSpriteAffineAnim(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]], 0); + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos1.x = 40; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos1.x = 200; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos1.y = 192; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos1.y = -32; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].invisible = FALSE; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].invisible = FALSE; + gUnknown_020322A0->state++; + break; + case 38: + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y -= 3; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos2.y += 3; + if (gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y < -160 && gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y >= -163) + { + PlaySE(SE_TK_WARPIN); + } + if (gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y < -222) + { + gSprites[gUnknown_020322A0->unk_90].data[1] = 0; + gSprites[gUnknown_020322A0->unk_91].data[1] = 0; + gUnknown_020322A0->state++; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].invisible = TRUE; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].invisible = TRUE; + CreateTask(sub_807F39C, 5); + } + break; + case 39: + gSprites[gUnknown_020322A0->unk_90].pos2.y -= 3; + gSprites[gUnknown_020322A0->unk_91].pos2.y += 3; + if (gSprites[gUnknown_020322A0->unk_90].pos2.y <= -222) + { + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK); + gUnknown_020322A0->state++; + DestroySprite(&gSprites[gUnknown_020322A0->unk_90]); + DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); + } + break; + case 40: + if (!gPaletteFade.active) + { + gUnknown_020322A0->state++; + sub_807B62C(1); + gUnknown_020322A0->bg1vofs = 166; + sub_807B62C(3); + gUnknown_020322A0->bg2vofs = 412; + gUnknown_020322A0->unk_90 = CreateSprite(&gUnknown_08338D88, 120, -20, 3); + gSprites[gUnknown_020322A0->unk_90].callback = sub_807AA4C; + gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338DC8, 120, -20, 0); + StartSpriteAnim(&gSprites[gUnknown_020322A0->unk_91], 1); + } + break; + case 41: + BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); + gUnknown_020322A0->state++; + break; + case 42: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG1_ON | + DISPCNT_OBJ_ON); + if (!gPaletteFade.active) + { + gUnknown_020322A0->state++; + } + break; + case 43: + gSprites[gUnknown_020322A0->unk_90].pos2.y += 4; + gSprites[gUnknown_020322A0->unk_91].pos2.y += 4; + if (gSprites[gUnknown_020322A0->unk_90].pos2.y + gSprites[gUnknown_020322A0->unk_90].pos1.y == 64) + { + gUnknown_020322A0->state = 144; + gUnknown_020322A0->timer = 0; + } + break; + case 144: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG1_ON | + DISPCNT_BG2_ON | + DISPCNT_OBJ_ON); + gUnknown_020322A0->bg1vofs += 3; + gUnknown_020322A0->bg2vofs += 3; + if (++gUnknown_020322A0->timer == 10) + { + u8 taskId = CreateTask(c3_08054588, 5); + gTasks[taskId].data[2] = 1; + } + if (gUnknown_020322A0->bg1vofs > 316) + { + gUnknown_020322A0->bg1vofs = 316; + gUnknown_020322A0->state++; + } + break; + case 145: + DestroySprite(&gSprites[gUnknown_020322A0->unk_90]); + DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); + gUnknown_020322A0->state++; + gUnknown_020322A0->timer = 0; + break; + case 146: + if (!FuncIsActiveTask(c3_08054588)) + { + gUnknown_020322A0->state = 46; + gUnknown_020322A0->timer = 0; + } + break; + case 46: + if (++gUnknown_020322A0->timer == 10) + { + gUnknown_020322A0->state++; + } + break; + case 47: + if (++gUnknown_020322A0->bg1vofs > 348) + { + gUnknown_020322A0->bg1vofs = 348; + gUnknown_020322A0->state++; + } + break; + case 48: + gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338E74, 120, 80, 0); + gUnknown_020322A0->state = 50; + break; + case 50: + if (gSprites[gUnknown_020322A0->unk_91].animEnded) + { + DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); + sub_807B62C(6); + gUnknown_020322A0->state++; + PlaySE(SE_W028); + } + break; + case 51: + if (gUnknown_020322A0->unk_EA < 0x400) + { + gUnknown_020322A0->unk_EA += 0x34; + } + else + { + gUnknown_020322A0->unk_EA = 0x400; + gUnknown_020322A0->state++; + } + gUnknown_020322A0->unk_E8 = 0x8000 / gUnknown_020322A0->unk_EA; + break; + case 52: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gUnknown_020322A0->state = 60; + break; + case 60: + if (!gPaletteFade.active) + { + sub_807B62C(5); + sub_807B62C(7); + gPaletteFade.bufferTransferDisabled = TRUE; + gUnknown_020322A0->state++; + } + break; + case 61: + gPaletteFade.bufferTransferDisabled = FALSE; + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); + gUnknown_020322A0->state++; + break; + case 62: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG2_ON | + DISPCNT_OBJ_ON); + if (!gPaletteFade.active) + { + gUnknown_020322A0->state++; + } + break; + case 63: + gUnknown_020322A0->unk_D3 = CreateSprite(&gSpriteTemplate_8338D28, 120, -8, 0); + gSprites[gUnknown_020322A0->unk_D3].data[3] = 74; + gSprites[gUnknown_020322A0->unk_D3].callback = sub_807E6AC; + StartSpriteAnim(&gSprites[gUnknown_020322A0->unk_D3], 1); + StartSpriteAffineAnim(&gSprites[gUnknown_020322A0->unk_D3], 2); + BlendPalettes(1 << (16 + gSprites[gUnknown_020322A0->unk_D3].oam.paletteNum), 16, RGB_WHITEALPHA); + gUnknown_020322A0->state++; + gUnknown_020322A0->timer = 0; + break; + case 64: + BeginNormalPaletteFade(1 << (16 + gSprites[gUnknown_020322A0->unk_D3].oam.paletteNum), 1, 16, 0, RGB_WHITEALPHA); + gUnknown_020322A0->state++; + break; + case 65: + if (gSprites[gUnknown_020322A0->unk_D3].callback == SpriteCallbackDummy) + { + HandleLoadSpecialPokePic_2(&gMonFrontPicTable[gUnknown_020322A0->tradeSpecies[1]], gMonSpritesGfxPtr->sprites[3], gUnknown_020322A0->tradeSpecies[1], gUnknown_020322A0->unk_68[1]); + gUnknown_020322A0->state++; + } + break; + case 66: + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos1.x = 120; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos1.y = gMonFrontPicCoords[gUnknown_020322A0->tradeSpecies[1]].y_offset + 60; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos2.x = 0; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos2.y = 0; + StartSpriteAnim(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]], 0); + CreatePokeballSpriteToReleaseMon(gUnknown_020322A0->pokePicSpriteIdxs[1], gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].oam.paletteNum, 120, 84, 2, 1, 20, 0xFFFFF, gUnknown_020322A0->tradeSpecies[1]); + FreeSpriteOamMatrix(&gSprites[gUnknown_020322A0->unk_D3]); + DestroySprite(&gSprites[gUnknown_020322A0->unk_D3]); + gUnknown_020322A0->state++; + break; + case 67: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG0_ON | + DISPCNT_BG2_ON | + DISPCNT_OBJ_ON); + StringExpandPlaceholders(gStringVar4, gText_XSentOverY); + sub_807F1A8(0, gStringVar4, 0); + gUnknown_020322A0->state = 167; + gUnknown_020322A0->timer = 0; + break; + // 167 and 267 are extra cases added in for animations + case 167: + if (++gUnknown_020322A0->timer > 60) + { + gUnknown_020322A0->state = 267; + gUnknown_020322A0->timer = 0; + } + break; + case 267: + if (IsCryFinished()) + { + gUnknown_020322A0->state = 68; + } + break; + case 68: + if (++gUnknown_020322A0->timer == 10) + { + PlayFanfare(MUS_FANFA5); + } + if (gUnknown_020322A0->timer == 250) + { + gUnknown_020322A0->state++; + StringExpandPlaceholders(gStringVar4, gText_TakeGoodCareOfX); + sub_807F1A8(0, gStringVar4, 0); + gUnknown_020322A0->timer = 0; + } + break; + case 69: + if (++gUnknown_020322A0->timer == 60) + { + gUnknown_020322A0->state++; + } + break; + case 70: + sub_807F14C(); + gUnknown_020322A0->state++; + break; + case 71: + if (gUnknown_020322A0->isLinkTrade) + { + return TRUE; + } + else if (gMain.newKeys & A_BUTTON) + { + gUnknown_020322A0->state++; + } + break; + case 72: // Only if in-game trade + sub_807B4D0(gSpecialVar_0x8005, 0); + gCB2_AfterEvolution = sub_807B60C; + evoTarget = GetEvolutionTargetSpecies(&gPlayerParty[gUnknown_02032298[0]], TRUE, ITEM_NONE); + if (evoTarget != SPECIES_NONE) + { + TradeEvolutionScene(&gPlayerParty[gUnknown_02032298[0]], evoTarget, gUnknown_020322A0->pokePicSpriteIdxs[1], gUnknown_02032298[0]); + } + gUnknown_020322A0->state++; + break; + case 73: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gUnknown_020322A0->state++; + break; + case 74: + if (!gPaletteFade.active) + { + PlayNewMapMusic(gUnknown_020322A0->cachedMapMusic); + if (gUnknown_020322A0) + { + FreeAllWindowBuffers(); + Free(GetBgTilemapBuffer(3)); + Free(GetBgTilemapBuffer(1)); + Free(GetBgTilemapBuffer(0)); + FreeMonSpritesGfx(); + FREE_AND_SET_NULL(gUnknown_020322A0); + } + SetMainCallback2(CB2_ReturnToField); + sub_807E784(); + } + break; + } + return FALSE; +} + +static void c2_08053788(void) +{ + u16 evoTarget; + switch (gMain.state) + { + case 0: + gMain.state = 4; + gSoftResetDisabled = TRUE; + break; + case 4: + gCB2_AfterEvolution = sub_807EB50; + evoTarget = GetEvolutionTargetSpecies(&gPlayerParty[gUnknown_02032298[0]], TRUE, ITEM_NONE); + if (evoTarget != SPECIES_NONE) + TradeEvolutionScene(&gPlayerParty[gUnknown_02032298[0]], evoTarget, gUnknown_020322A0->pokePicSpriteIdxs[1], gUnknown_02032298[0]); + else if (sub_8077260()) + SetMainCallback2(sub_807F464); + else + SetMainCallback2(sub_807EB50); + gUnknown_02032298[0] = 255; + break; + } + if (!HasLinkErrorOccurred()) + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +static void sub_807E4DC(void) +{ + u8 blockReceivedStatus; + sub_807ACDC(); + blockReceivedStatus = GetBlockReceivedStatus(); + if (blockReceivedStatus & 0x01) + { + if (gBlockRecvBuffer[0][0] == 0xDCBA) + { + SetMainCallback2(c2_08053788); + } + if (gBlockRecvBuffer[0][0] == 0xABCD) + { + gUnknown_020322A0->unk_72 = 1; + } + ResetBlockReceivedFlag(0); + } + if (blockReceivedStatus & 0x02) + { + if (gBlockRecvBuffer[1][0] == 0xABCD) + { + gUnknown_020322A0->unk_73 = 1; + } + ResetBlockReceivedFlag(1); + } +} + +static void sub_807E55C(struct Sprite *sprite) +{ + sprite->pos1.y += sprite->data[0] / 10; + sprite->data[5] += sprite->data[1]; + sprite->pos1.x = sprite->data[5] / 10; + if (sprite->pos1.y > 0x4c) + { + sprite->pos1.y = 0x4c; + sprite->data[0] = -(sprite->data[0] * sprite->data[2]) / 100; + sprite->data[3] ++; + } + if (sprite->pos1.x == 0x78) + sprite->data[1] = 0; + sprite->data[0] += sprite->data[4]; + if (sprite->data[3] == 4) + { + sprite->data[7] = 1; + sprite->callback = SpriteCallbackDummy; + } +} + +static void sub_807E5D8(struct Sprite *sprite) +{ + sprite->pos2.y += gTradeBallVerticalVelocityTable[sprite->data[0]]; + if (sprite->data[0] == 22) + PlaySE(SE_KON); + if (++ sprite->data[0] == 44) + { + PlaySE(SE_W025); + sprite->callback = sub_807E64C; + sprite->data[0] = 0; + BeginNormalPaletteFade(1 << (16 + sprite->oam.paletteNum), -1, 0, 16, RGB_WHITEALPHA); + } +} + +static void sub_807E64C(struct Sprite *sprite) +{ + if (sprite->data[1] == 20) + StartSpriteAffineAnim(sprite, 1); + if (++ sprite->data[1] > 20) + { + sprite->pos2.y -= gTradeBallVerticalVelocityTable[sprite->data[0]]; + if (++ sprite->data[0] == 23) + { + DestroySprite(sprite); + gUnknown_020322A0->state = 14; // Resume the master trade animation + } + } +} + +static void sub_807E6AC(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + if ((sprite->pos1.y += 4) > sprite->data[3]) + { + sprite->data[2] ++; + sprite->data[0] = 0x16; + PlaySE(SE_KON); + } + } + else + { + if (sprite->data[0] == 0x42) + PlaySE(SE_KON2); + if (sprite->data[0] == 0x5c) + PlaySE(SE_KON3); + if (sprite->data[0] == 0x6b) + PlaySE(SE_KON4); + sprite->pos2.y += gTradeBallVerticalVelocityTable[sprite->data[0]]; + if (++sprite->data[0] == 0x6c) + sprite->callback = SpriteCallbackDummy; + } +} + +u16 GetInGameTradeSpeciesInfo(void) +{ + const struct InGameTrade *inGameTrade = &gIngameTrades[gSpecialVar_0x8004]; + StringCopy(gStringVar1, gSpeciesNames[inGameTrade->playerSpecies]); + StringCopy(gStringVar2, gSpeciesNames[inGameTrade->species]); + return inGameTrade->playerSpecies; +} + +static void sub_807E784(void) +{ + u8 nickname[32]; + const struct InGameTrade *inGameTrade = &gIngameTrades[gSpecialVar_0x8004]; + GetMonData(&gPlayerParty[gSpecialVar_0x8005], MON_DATA_NICKNAME, nickname); + StringCopy10(gStringVar1, nickname); + StringCopy(gStringVar2, gSpeciesNames[inGameTrade->species]); +} + +static void _CreateInGameTradePokemon(u8 whichPlayerMon, u8 whichInGameTrade) +{ + const struct InGameTrade *inGameTrade = &gIngameTrades[whichInGameTrade]; + u8 level = GetMonData(&gPlayerParty[whichPlayerMon], MON_DATA_LEVEL); + + struct MailStruct mail; + u8 metLocation = 0xFE; + u8 isMail; + struct Pokemon *pokemon = &gEnemyParty[0]; + + CreateMon(pokemon, inGameTrade->species, level, 32, TRUE, inGameTrade->personality, TRUE, inGameTrade->otId); + + SetMonData(pokemon, MON_DATA_HP_IV, &inGameTrade->ivs[0]); + SetMonData(pokemon, MON_DATA_ATK_IV, &inGameTrade->ivs[1]); + SetMonData(pokemon, MON_DATA_DEF_IV, &inGameTrade->ivs[2]); + SetMonData(pokemon, MON_DATA_SPEED_IV, &inGameTrade->ivs[3]); + SetMonData(pokemon, MON_DATA_SPATK_IV, &inGameTrade->ivs[4]); + SetMonData(pokemon, MON_DATA_SPDEF_IV, &inGameTrade->ivs[5]); + SetMonData(pokemon, MON_DATA_NICKNAME, inGameTrade->name); + SetMonData(pokemon, MON_DATA_OT_NAME, inGameTrade->otName); + SetMonData(pokemon, MON_DATA_OT_GENDER, &inGameTrade->otGender); + SetMonData(pokemon, MON_DATA_ALT_ABILITY, &inGameTrade->secondAbility); + SetMonData(pokemon, MON_DATA_BEAUTY, &inGameTrade->stats[1]); + SetMonData(pokemon, MON_DATA_CUTE, &inGameTrade->stats[2]); + SetMonData(pokemon, MON_DATA_COOL, &inGameTrade->stats[0]); + SetMonData(pokemon, MON_DATA_SMART, &inGameTrade->stats[3]); + SetMonData(pokemon, MON_DATA_TOUGH, &inGameTrade->stats[4]); + SetMonData(pokemon, MON_DATA_SHEEN, &inGameTrade->sheen); + SetMonData(pokemon, MON_DATA_MET_LOCATION, &metLocation); + + isMail = FALSE; + if (inGameTrade->heldItem != ITEM_NONE) + { + if (ItemIsMail(inGameTrade->heldItem)) + { + sub_807E974(&mail, inGameTrade); + gUnknown_020321C0[0] = mail; + SetMonData(pokemon, MON_DATA_MAIL, &isMail); + SetMonData(pokemon, MON_DATA_HELD_ITEM, &inGameTrade->heldItem); + } + else + { + SetMonData(pokemon, MON_DATA_HELD_ITEM, &inGameTrade->heldItem); + } + } + CalculateMonStats(&gEnemyParty[0]); +} + +static void sub_807E974(struct MailStruct *mail, const struct InGameTrade *trade) { + s32 i; + + for (i = 0; i < 9; i++) + { + mail->words[i] = gIngameTradeMail[trade->mailNum][i]; + } + + StringCopy(mail->playerName, trade->otName); + PadNameString(mail->playerName, CHAR_SPACE); + + mail->trainerId[0] = trade->otId >> 24; + mail->trainerId[1] = trade->otId >> 16; + mail->trainerId[2] = trade->otId >> 8; + mail->trainerId[3] = trade->otId; + mail->species = trade->species; + mail->itemId = trade->heldItem; +} + +u16 GetTradeSpecies(void) +{ + if (GetMonData(&gPlayerParty[gSpecialVar_0x8005], MON_DATA_IS_EGG)) + return SPECIES_NONE; + return GetMonData(&gPlayerParty[gSpecialVar_0x8005], MON_DATA_SPECIES); +} + +void CreateInGameTradePokemon(void) +{ + _CreateInGameTradePokemon(gSpecialVar_0x8005, gSpecialVar_0x8004); +} + +static void sub_807EA2C(void) +{ + if (sub_807BBC8() == TRUE) + { + DestroySprite(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]]); + FreeSpriteOamMatrix(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]]); + sub_807B4D0(gUnknown_02032298[0], gUnknown_02032298[1] % 6); + if (!sub_8077260()) + { + gUnknown_020322A0->linkData[0] = 0xABCD; + gUnknown_020322A0->unk_93 = 1; + } + SetMainCallback2(sub_807EACC); + } + sub_807B5B8(); + sub_807E4DC(); + RunTasks(); + RunTextPrinters(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +static void sub_807EACC(void) +{ + u8 mpId = sub_807ACDC(); + if (sub_8077260()) + { + SetMainCallback2(c2_08053788); + } + else + { + sub_807E4DC(); + if (mpId == 0 && gUnknown_020322A0->unk_72 == 1 && gUnknown_020322A0->unk_73 == 1) + { + gUnknown_020322A0->linkData[0] = 0xDCBA; + Trade_SendData(gUnknown_020322A0); + gUnknown_020322A0->unk_72 = 2; + gUnknown_020322A0->unk_73 = 2; + } + } + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +static void sub_807EB50(void) +{ + switch (gMain.state) + { + case 0: + gMain.state++; + StringExpandPlaceholders(gStringVar4, gText_CommunicationStandby5); + sub_807F1A8(0, gStringVar4, 0); + break; + case 1: + sub_8077288(0); + gMain.state = 100; + gUnknown_020322A0->timer = 0; + break; + case 100: + if (++gUnknown_020322A0->timer > 180) + { + gMain.state = 101; + gUnknown_020322A0->timer = 0; + } + if (_IsLinkTaskFinished()) + { + gMain.state = 2; + } + break; + case 101: + if (_IsLinkTaskFinished()) + { + gMain.state = 2; + } + break; + case 2: + gMain.state = 50; + StringExpandPlaceholders(gStringVar4, gText_SavingDontTurnOffPower); + sub_807F1A8(0, gStringVar4, 0); + break; + case 50: + if (!InUnionRoom()) + IncrementGameStat(GAME_STAT_POKEMON_TRADES); + if (gWirelessCommType) + { + sub_801B990(2, gLinkPlayers[GetMultiplayerId() ^ 1].trainerId); + } + SetContinueGameWarpStatusToDynamicWarp(); + sub_8153380(); + gMain.state++; + gUnknown_020322A0->timer = 0; + break; + case 51: + if (++gUnknown_020322A0->timer == 5) + { + gMain.state++; + } + break; + case 52: + if (sub_81533AC()) + { + ClearContinueGameWarpStatus2(); + gMain.state = 4; + } + else + { + gUnknown_020322A0->timer = 0; + gMain.state = 51; + } + break; + case 4: + sub_81533E0(); + gMain.state = 40; + gUnknown_020322A0->timer = 0; + break; + case 40: + if (++gUnknown_020322A0->timer > 50) + { + if (GetMultiplayerId() == 0) + { + gUnknown_020322A0->timer = Random() % 30; + } + else + { + gUnknown_020322A0->timer = 0; + } + gMain.state = 41; + } + break; + case 41: + if (gUnknown_020322A0->timer == 0) + { + sub_8077288(1); + gMain.state = 42; + } + else + { + gUnknown_020322A0->timer--; + } + break; + case 42: + if (_IsLinkTaskFinished()) + { + sub_8153408(); + gMain.state = 5; + } + break; + case 5: + if (++gUnknown_020322A0->timer > 60) + { + gMain.state++; + sub_8077288(2); + } + break; + case 6: + if (_IsLinkTaskFinished()) + { + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gMain.state ++; + } + break; + case 7: + if (!gPaletteFade.active) + { + FadeOutBGM(3); + gMain.state++; + } + break; + case 8: + if (IsBGMStopped() == TRUE) + { + if (gWirelessCommType && gMain.savedCallback == sub_80773AC) + { + sub_8077288(3); + } + else + { + sub_800AC34(); + } + gMain.state++; + } + break; + case 9: + if (gWirelessCommType && gMain.savedCallback == sub_80773AC) + { + if (_IsLinkTaskFinished()) + { + gSoftResetDisabled = FALSE; + SetMainCallback2(c2_080543C4); + } + } + else if (!gReceivedRemoteLinkPlayers) + { + gSoftResetDisabled = FALSE; + SetMainCallback2(c2_080543C4); + } + break; + } + if (!HasLinkErrorOccurred()) + { + RunTasks(); + } + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +static void c2_080543C4(void) +{ + if (!gPaletteFade.active) + { + FreeAllWindowBuffers(); + Free(GetBgTilemapBuffer(3)); + Free(GetBgTilemapBuffer(1)); + Free(GetBgTilemapBuffer(0)); + FreeMonSpritesGfx(); + FREE_AND_SET_NULL(gUnknown_020322A0); + if (gWirelessCommType) + sub_800E084(); + SetMainCallback2(gMain.savedCallback); + } + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +void DoInGameTradeScene(void) +{ + ScriptContext2_Enable(); + CreateTask(sub_807F110, 10); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); +} + +static void sub_807F110(u8 taskId) +{ + if (!gPaletteFade.active) + { + SetMainCallback2(sub_807B270); + gFieldCallback = sub_80AF168; + DestroyTask(taskId); + } +} + +static void sub_807F14C(void) +{ + u8 i; + u8 numRibbons = 0; + for (i = 0; i < 12; i ++) + { + numRibbons += GetMonData(&gEnemyParty[gUnknown_02032298[1] % 6], MON_DATA_CHAMPION_RIBBON + i); + } + if (numRibbons != 0) + FlagSet(FLAG_SYS_RIBBON_GET); +} + +void sub_807F19C(void) +{ + sub_807B170(); +} + +void sub_807F1A8(u8 windowId, const u8 *str, u8 speed) +{ + FillWindowPixelBuffer(windowId, 0xFF); + gUnknown_020322A0->unk_F6[0] = 15; + gUnknown_020322A0->unk_F6[1] = 1; + gUnknown_020322A0->unk_F6[2] = 6; + AddTextPrinterParameterized4(windowId, 1, 0, 2, 0, 0, gUnknown_020322A0->unk_F6, speed, str); + CopyWindowToVram(windowId, 3); +} + +static void c3_08054588(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + u16 unk = gUnknown_08339090[data[0]][0] * 16; + + if (!data[2]) + { + if (unk == 0x100) + LoadPalette(gUnknown_08337EA0, 0x30, 32); + else + LoadPalette(&gUnknown_08337AA0[unk], 0x30, 32); + } + else + { + if (unk == 0x100) + LoadPalette(gUnknown_08337EA0, 0x30, 32); + else + LoadPalette(&gUnknown_08337CA0[unk], 0x30, 32); + } + + if (gUnknown_08339090[data[0]][0] == 0 && data[1] == 0) + PlaySE(SE_W215); + + if (data[1] == gUnknown_08339090[data[0]][1]) + { + data[0]++; + data[1] = 0; + if (gUnknown_08339090[data[0]][1] == 0xFF) + { + DestroyTask(taskId); + } + } + else + { + data[1]++; + } +} + +static void c3_0805465C(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + if (data[0] == 0) + { + gUnknown_020322A0->unk_FB = gUnknown_020322A0->unk_FD = 120; + gUnknown_020322A0->unk_FC = 0; + gUnknown_020322A0->unk_FE = 160; + SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON); + SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_OBJ); + SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG0 | + WININ_WIN0_BG1 | + WININ_WIN0_OBJ); + } + + SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE2(gUnknown_020322A0->unk_FB, gUnknown_020322A0->unk_FD)); + SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE2(gUnknown_020322A0->unk_FC, gUnknown_020322A0->unk_FE)); + + data[0]++; + gUnknown_020322A0->unk_FB -= 5; + gUnknown_020322A0->unk_FD += 5; + + if (gUnknown_020322A0->unk_FB < 80) + { + DestroyTask(taskId); + } +} + +static void sub_807F39C(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + if (data[0] == 0) + { + gUnknown_020322A0->unk_FB = 80; + gUnknown_020322A0->unk_FD = 160; + SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_OBJ); + SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG0 | + WININ_WIN0_BG1 | + WININ_WIN0_OBJ); + } + + SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE2(gUnknown_020322A0->unk_FB, gUnknown_020322A0->unk_FD)); + SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE2(gUnknown_020322A0->unk_FC, gUnknown_020322A0->unk_FE)); + + if (gUnknown_020322A0->unk_FB != 120) + { + data[0]++; + gUnknown_020322A0->unk_FB += 5; + gUnknown_020322A0->unk_FD -= 5; + + if (gUnknown_020322A0->unk_FB >= 116) + BlendPalettes(0x8, 0, RGB_WHITEALPHA); + } + else + { + ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON); + DestroyTask(taskId); + } +} + +static void sub_807F464(void) +{ + switch (gMain.state) + { + case 0: + gMain.state = 1; + StringExpandPlaceholders(gStringVar4, gText_CommunicationStandby5); + sub_807F1A8(0, gStringVar4, 0); + break; + case 1: + sub_8077288(0); + gMain.state = 2; + gUnknown_020322A0->timer = 0; + break; + case 2: + if (_IsLinkTaskFinished()) + { + gMain.state = 3; + StringExpandPlaceholders(gStringVar4, gText_SavingDontTurnOffPower); + sub_807F1A8(0, gStringVar4, 0); + IncrementGameStat(GAME_STAT_POKEMON_TRADES); + sub_8153380(); + gUnknown_020322A0->timer = 0; + } + break; + case 3: + if (++gUnknown_020322A0->timer == 5) + { + gMain.state = 4; + } + break; + case 4: + if (sub_81533AC()) + { + gMain.state = 5; + } + else + { + gUnknown_020322A0->timer = 0; + gMain.state = 3; + } + break; + case 5: + sub_81533E0(); + gMain.state = 6; + gUnknown_020322A0->timer = 0; + break; + case 6: + if (++gUnknown_020322A0->timer > 10) + { + if (GetMultiplayerId() == 0) + { + gUnknown_020322A0->timer = Random() % 30; + } + else + { + gUnknown_020322A0->timer = 0; + } + gMain.state = 7; + } + break; + case 7: + if (gUnknown_020322A0->timer == 0) + { + sub_8077288(1); + gMain.state = 8; + } + else + { + gUnknown_020322A0->timer--; + } + break; + case 8: + if (_IsLinkTaskFinished()) + { + sub_8153408(); + gMain.state = 9; + } + break; + case 9: + if (++gUnknown_020322A0->timer > 60) + { + gMain.state++; + sub_8077288(2); + } + break; + case 10: + if (_IsLinkTaskFinished()) + { + FadeOutBGM(3); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gMain.state = 11; + } + break; + case 11: + if (!gPaletteFade.active && IsBGMStopped() == TRUE) + { + sub_8077288(3); + gMain.state = 12; + } + break; + case 12: + if (_IsLinkTaskFinished()) + { + gSoftResetDisabled = FALSE; + SetMainCallback2(c2_080543C4); + } + break; + } + + if (!HasLinkErrorOccurred()) + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} diff --git a/src/tv.c b/src/tv.c index 3d2a25bdc0..dfb4a3a64b 100644 --- a/src/tv.c +++ b/src/tv.c @@ -862,13 +862,13 @@ void SetTVMetatilesOnMap(int width, int height, u16 tileId) void TurnOffTVScreen(void) { - SetTVMetatilesOnMap(gUnknown_03005DC0.width, gUnknown_03005DC0.height, 0x0002); + SetTVMetatilesOnMap(gBackupMapLayout.width, gBackupMapLayout.height, 0x0002); DrawWholeMapView(); } void TurnOnTVScreen(void) { - SetTVMetatilesOnMap(gUnknown_03005DC0.width, gUnknown_03005DC0.height, 0x0003); + SetTVMetatilesOnMap(gBackupMapLayout.width, gBackupMapLayout.height, 0x0003); DrawWholeMapView(); } @@ -1262,7 +1262,7 @@ static void InterviewAfter_ContestLiveUpdates(void) show2->contestLiveUpdates.active = TRUE; StringCopy(show2->contestLiveUpdates.playerName, gSaveBlock2Ptr->playerName); show2->contestLiveUpdates.category = gSpecialVar_ContestCategory; - show2->contestLiveUpdates.species = GetMonData(&gPlayerParty[gUnknown_02039F24], MON_DATA_SPECIES, NULL); + show2->contestLiveUpdates.species = GetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_SPECIES, NULL); show2->contestLiveUpdates.winningSpecies = show->contestLiveUpdates.winningSpecies; show2->contestLiveUpdates.appealFlags2 = show->contestLiveUpdates.appealFlags2; show2->contestLiveUpdates.round1Rank = show->contestLiveUpdates.round1Rank; @@ -1453,7 +1453,7 @@ void ContestLiveUpdates_BeforeInterview_5(u8 a0, u8 a1) StringCopy(show->contestLiveUpdates.winningTrainerName, gContestMons[a1].trainerName); StripExtCtrlCodes(show->contestLiveUpdates.winningTrainerName); show->contestLiveUpdates.appealFlags2 = a0; - if (a1 + 1 > gUnknown_02039F30) + if (a1 + 1 > gNumLinkContestPlayers) { show->contestLiveUpdates.winningTrainerLanguage = gLinkPlayers[0].language; } @@ -1516,7 +1516,7 @@ void BravoTrainerPokemonProfile_BeforeInterview1(u16 a0) } } -void BravoTrainerPokemonProfile_BeforeInterview2(u8 a0) +void BravoTrainerPokemonProfile_BeforeInterview2(u8 contestStandingPlace) { TVShow *show; @@ -1524,13 +1524,13 @@ void BravoTrainerPokemonProfile_BeforeInterview2(u8 a0) sCurTVShowSlot = FindEmptyTVSlotWithinFirstFiveShowsOfArray(gSaveBlock1Ptr->tvShows); if (sCurTVShowSlot != -1) { - show->bravoTrainer.contestResult = a0; + show->bravoTrainer.contestResult = contestStandingPlace; show->bravoTrainer.contestCategory = gSpecialVar_ContestCategory; show->bravoTrainer.contestRank = gSpecialVar_ContestRank; - show->bravoTrainer.species = GetMonData(&gPlayerParty[gUnknown_02039F24], MON_DATA_SPECIES, NULL); - GetMonData(&gPlayerParty[gUnknown_02039F24], MON_DATA_NICKNAME, show->bravoTrainer.pokemonNickname); + show->bravoTrainer.species = GetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_SPECIES, NULL); + GetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_NICKNAME, show->bravoTrainer.pokemonNickname); StripExtCtrlCodes(show->bravoTrainer.pokemonNickname); - show->bravoTrainer.pokemonNameLanguage = GetMonData(&gPlayerParty[gUnknown_02039F24], MON_DATA_LANGUAGE); + show->bravoTrainer.pokemonNameLanguage = GetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_LANGUAGE); } } @@ -3538,7 +3538,7 @@ u8 CheckForBigMovieOrEmergencyNewsOnTV(void) return 0; } } - if (FlagGet(FLAG_SYS_TV_LATI) == TRUE) + if (FlagGet(FLAG_SYS_TV_LATIAS_LATIOS) == TRUE) { return 1; } diff --git a/sym_ewram.txt b/sym_ewram.txt index 7e61267f60..825a4632f9 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -111,25 +111,7 @@ gUnknown_02022D00: @ 2022D00 .include "src/random.o" .include "src/daycare.o" .include "src/load_save.o" - -gUnknown_02032184: @ 2032184 - .space 0x4 - -gUnknown_02032188: @ 2032188 - .space 0x38 - -gUnknown_020321C0: @ 20321C0 - .space 0xD8 - -gUnknown_02032298: @ 2032298 - .space 0x4 - -gUnknown_0203229C: @ 203229C - .space 0x4 - -gUnknown_020322A0: @ 20322A0 - .space 0x4 - + .include "src/trade.o" .include "src/berry_blender.o" .include "src/new_game.o" .include "src/overworld.o" @@ -138,11 +120,6 @@ gUnknown_020322A0: @ 20322A0 .include "src/field_player_avatar.o" .include "src/event_object_movement.o" .include "src/field_message_box.o" - - .align 2 -gUnknown_020375C0: @ 20375C0 - .space 0x4 - .include "src/scrcmd.o" .include "src/field_control_avatar.o" .include "src/event_data.o" @@ -152,7 +129,7 @@ gUnknown_020375C0: @ 20375C0 .include "src/sound.o" .include "src/battle_anim.o" .include "src/battle_anim_80A5C6C.o" - + .space 0xC .include "src/field_weather.o" .include "src/field_weather_effect.o" @@ -249,13 +226,7 @@ gPlayerFacingPosition: @ 203AB40 .include "src/battle_records.o" .include "src/pokedex_area_screen.o" .include "src/evolution_scene.o" - -gUnknown_0203AB88: @ 203AB88 - .space 0x4 - -gUnknown_0203AB8C: @ 203AB8C - .space 0x4 - + .include "src/roulette.o" .include "src/pokedex_cry_screen.o" .include "src/coins.o" .include "src/battle_transition.o" @@ -286,13 +257,7 @@ gUnknown_0203AB8C: @ 203AB8C .include "src/trainer_pokemon_sprites.o" .include "src/lilycove_lady.o" .include "src/battle_dome.o" - -gUnknown_0203CD80: @ 203CD80 - .space 0x8 - -gUnknown_0203CD88: @ 203CD88 - .space 0x4 - + .include "src/match_call.o" .include "src/menu.o" .include "src/battle_factory_screen.o" .include "src/mossdeep_gym.o"