diff --git a/.gitignore b/.gitignore index 1b72e0c77e..2a1300ab31 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,5 @@ build/ .DS_Store *.ddump .idea/ +porymap.project.cfg +.vscode/ diff --git a/.travis.yml b/.travis.yml index 52c8e35d56..ff4ab4bc97 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,9 +22,15 @@ install: matrix: include: - os: linux + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - g++-7 env: _="Build" script: - - ./build_tools.sh + - ./build_tools.sh g++-7 - make -j2 compare after_success: - .travis/calcrom/webhook.sh pokeemerald diff --git a/Makefile b/Makefile index 1bfeebf616..bf8c498ae7 100644 --- a/Makefile +++ b/Makefile @@ -23,6 +23,7 @@ MAP = $(ROM:.gba=.map) C_SUBDIR = src ASM_SUBDIR = asm +DATA_SRC_SUBDIR = src/data DATA_ASM_SUBDIR = data SONG_SUBDIR = sound/songs MID_SUBDIR = sound/songs/midi @@ -53,6 +54,7 @@ PREPROC := tools/preproc/preproc$(EXE) RAMSCRGEN := tools/ramscrgen/ramscrgen$(EXE) FIX := tools/gbafix/gbafix$(EXE) MAPJSON := tools/mapjson/mapjson$(EXE) +JSONPROC := tools/jsonproc/jsonproc$(EXE) # Clear the default suffixes .SUFFIXES: @@ -86,6 +88,8 @@ OBJS_REL := $(patsubst $(OBJ_DIR)/%,%,$(OBJS)) SUBDIRS := $(sort $(dir $(OBJS))) +AUTO_GEN_TARGETS := + $(shell mkdir -p $(SUBDIRS)) rom: $(ROM) @@ -101,6 +105,7 @@ clean: tidy rm -f $(DATA_ASM_SUBDIR)/layouts/layouts.inc $(DATA_ASM_SUBDIR)/layouts/layouts_table.inc rm -f $(DATA_ASM_SUBDIR)/maps/connections.inc $(DATA_ASM_SUBDIR)/maps/events.inc $(DATA_ASM_SUBDIR)/maps/groups.inc $(DATA_ASM_SUBDIR)/maps/headers.inc find $(DATA_ASM_SUBDIR)/maps \( -iname 'connections.inc' -o -iname 'events.inc' -o -iname 'header.inc' \) -exec rm {} + + rm -f $(AUTO_GEN_TARGETS) tidy: rm -f $(ROM) $(ELF) $(MAP) @@ -109,6 +114,7 @@ tidy: include graphics_file_rules.mk include map_data_rules.mk include spritesheet_rules.mk +include json_data_rules.mk include songs.mk %.s: ; diff --git a/asm/macros/battle_anim_script.inc b/asm/macros/battle_anim_script.inc index 32d9de82c2..5426cdfba3 100644 --- a/asm/macros/battle_anim_script.inc +++ b/asm/macros/battle_anim_script.inc @@ -144,7 +144,7 @@ .byte \pan .endm - .macro panse_1B se:req, param1:req, param2:req, param3:req, param4 + .macro panse_1B se:req, param1:req, param2:req, param3:req, param4:req .byte 0x1b .2byte \se .byte \param1 @@ -215,7 +215,7 @@ .byte \param2 .endm - .macro panse_26 se:req, param1:req, param2:req, param3:req, param4 + .macro panse_26 se:req, param1:req, param2:req, param3:req, param4:req .byte 0x26 .2byte \se .byte \param1 @@ -224,7 +224,7 @@ .byte \param4 .endm - .macro panse_27 se:req, param1:req, param2:req, param3:req, param4 + .macro panse_27 se:req, param1:req, param2:req, param3:req, param4:req .byte 0x27 .2byte \se .byte \param1 diff --git a/asm/pokemon_jump.s b/asm/pokemon_jump.s index e9aa9089d0..4327bb920e 100755 --- a/asm/pokemon_jump.s +++ b/asm/pokemon_jump.s @@ -5,4742 +5,6 @@ .text - thumb_func_start sub_802A9A8 -sub_802A9A8: @ 802A9A8 - push {r4-r7,lr} - adds r6, r1, 0 - lsls r0, 16 - lsrs r7, r0, 16 - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _0802AA3C - ldr r5, =gUnknown_02022CFC - ldr r0, =0x000083b0 - bl Alloc - str r0, [r5] - cmp r0, 0 - beq _0802AA3C - bl ResetTasks - ldr r0, =sub_802ACA0 - movs r1, 0x1 - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, [r5] - movs r1, 0 - strh r1, [r0, 0x8] - str r6, [r0] - strb r4, [r0, 0x4] - bl GetMultiplayerId - ldr r1, [r5] - strb r0, [r1, 0x6] - ldr r0, [r5] - ldrb r2, [r0, 0x6] - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 2 - ldr r2, =0x000082a8 - adds r1, r2 - adds r0, r1 - movs r1, 0x64 - muls r1, r7 - ldr r2, =gPlayerParty - adds r1, r2 - bl sub_802AC2C - ldr r0, [r5] - bl sub_802AA60 - ldr r2, [r5] - adds r0, r4, 0 - movs r1, 0x2 - bl SetWordTaskArg - ldr r0, =sub_802AC6C - bl SetMainCallback2 - b _0802AA42 - .pool -_0802AA3C: - adds r0, r6, 0 - bl SetMainCallback2 -_0802AA42: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_802A9A8 - - thumb_func_start sub_802AA48 -sub_802AA48: @ 802AA48 - push {lr} - bl sub_802D0AC - ldr r0, =gUnknown_02022CFC - ldr r0, [r0] - bl Free - pop {r0} - bx r0 - .pool - thumb_func_end sub_802AA48 - - thumb_func_start sub_802AA60 -sub_802AA60: @ 802AA60 - push {r4,lr} - adds r4, r0, 0 - bl GetLinkPlayerCount - movs r2, 0 - strb r0, [r4, 0x5] - adds r1, r4, 0 - adds r1, 0x70 - movs r0, 0x5 - strb r0, [r1] - adds r0, r4, 0 - adds r0, 0x72 - strh r2, [r0] - bl sub_802AB20 - adds r0, r4, 0 - bl sub_802AA94 - ldrb r0, [r4, 0x5] - cmp r0, 0x5 - bne _0802AA8E - bl sub_802E3A8 -_0802AA8E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802AA60 - - thumb_func_start sub_802AA94 -sub_802AA94: @ 802AA94 - push {r4-r6,lr} - adds r4, r0, 0 - movs r0, 0x6 - str r0, [r4, 0x14] - str r0, [r4, 0x18] - adds r0, r4, 0 - adds r0, 0x4A - movs r6, 0 - movs r5, 0 - strh r5, [r0] - str r5, [r4, 0x1C] - str r5, [r4, 0x5C] - bl GetMultiplayerId - movs r1, 0 - lsls r0, 24 - cmp r0, 0 - bne _0802AABA - movs r1, 0x1 -_0802AABA: - adds r0, r4, 0 - adds r0, 0x47 - strb r1, [r0] - strh r5, [r4, 0x8] - strh r5, [r4, 0xA] - strh r5, [r4, 0xC] - strh r5, [r4, 0xE] - str r5, [r4, 0x58] - strh r5, [r4, 0x3A] - subs r0, 0x3 - strb r6, [r0] - str r5, [r4, 0x54] - adds r0, 0x2 - strb r6, [r0] - adds r0, 0x3 - strb r6, [r0] - subs r0, 0x1 - movs r1, 0x1 - strb r1, [r0] - str r5, [r4, 0x78] - adds r0, 0x29 - strb r6, [r0] - adds r0, 0x3 - strh r5, [r0] - str r1, [r4, 0x60] - subs r0, 0x27 - strb r6, [r0] - str r5, [r4, 0x68] - str r5, [r4, 0x64] - str r5, [r4, 0x2C] - str r5, [r4, 0x30] - bl sub_802AB98 - bl sub_802C0E8 - movs r2, 0 - adds r5, r4, 0 - adds r5, 0x7C - movs r3, 0 - adds r1, r4, 0 - adds r1, 0x9A -_0802AB0C: - adds r0, r5, r2 - strb r3, [r0] - strh r3, [r1] - adds r1, 0x2 - adds r2, 0x1 - cmp r2, 0x4 - ble _0802AB0C - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_802AA94 - - thumb_func_start sub_802AB20 -sub_802AB20: @ 802AB20 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r7, =gUnknown_02022CFC - movs r6, 0 - movs r5, 0 - ldr r0, =gPkmnJumpSpecies - mov r8, r0 - movs r4, 0x4 -_0802AB32: - ldr r0, [r7] - adds r0, r5 - ldr r1, =0x000082a8 - adds r0, r1 - ldrh r0, [r0] - bl sub_802AC00 - lsls r0, 16 - ldr r1, [r7] - adds r1, r6 - asrs r0, 14 - add r0, r8 - ldrh r0, [r0, 0x2] - ldr r2, =0x000082f0 - adds r1, r2 - strh r0, [r1] - adds r6, 0x28 - adds r5, 0xC - subs r4, 0x1 - cmp r4, 0 - bge _0802AB32 - ldr r0, =gUnknown_02022CFC - ldr r1, [r0] - ldr r0, =0x000083ac - adds r3, r1, r0 - ldrb r2, [r1, 0x6] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r2, =0x000082e4 - adds r0, r2 - adds r1, r0 - str r1, [r3] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_802AB20 - - thumb_func_start sub_802AB98 -sub_802AB98: @ 802AB98 - push {r4-r7,lr} - movs r5, 0 - ldr r6, =gUnknown_02022CFC - movs r4, 0 - movs r3, 0 -_0802ABA2: - ldr r2, [r6] - adds r1, r2, r3 - ldr r7, =0x000082f2 - adds r0, r1, r7 - strh r4, [r0] - adds r7, 0x2 - adds r0, r1, r7 - strh r4, [r0] - ldr r0, =0x000082f6 - adds r1, r0 - strh r4, [r1] - ldr r1, =0x000082e4 - adds r0, r2, r1 - adds r0, r3 - str r4, [r0] - subs r7, 0xC - adds r0, r2, r7 - adds r0, r3 - ldr r1, =0x7fffffff - str r1, [r0] - ldr r1, =0x000082f8 - adds r0, r2, r1 - adds r0, r3 - str r4, [r0] - adds r2, 0x8B - adds r2, r5 - movs r0, 0x9 - strb r0, [r2] - adds r3, 0x28 - adds r5, 0x1 - cmp r5, 0x4 - ble _0802ABA2 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_802AB98 - - thumb_func_start sub_802AC00 -sub_802AC00: @ 802AC00 - push {lr} - lsls r0, 16 - lsrs r3, r0, 16 - movs r1, 0 - ldr r2, =gPkmnJumpSpecies -_0802AC0A: - ldrh r0, [r2] - cmp r0, r3 - bne _0802AC1C - lsls r0, r1, 16 - asrs r0, 16 - b _0802AC28 - .pool -_0802AC1C: - adds r2, 0x4 - adds r1, 0x1 - cmp r1, 0x63 - bls _0802AC0A - movs r0, 0x1 - negs r0, r0 -_0802AC28: - pop {r1} - bx r1 - thumb_func_end sub_802AC00 - - thumb_func_start sub_802AC2C -sub_802AC2C: @ 802AC2C - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - strh r0, [r5] - adds r0, r4, 0 - movs r1, 0x1 - bl GetMonData - str r0, [r5, 0x4] - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - str r0, [r5, 0x8] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_802AC2C - - thumb_func_start sub_802AC58 -sub_802AC58: @ 802AC58 - push {lr} - bl TransferPlttBuffer - bl LoadOam - bl ProcessSpriteCopyRequests - pop {r0} - bx r0 - thumb_func_end sub_802AC58 - - thumb_func_start sub_802AC6C -sub_802AC6C: @ 802AC6C - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_802AC6C - - thumb_func_start sub_802AC84 -sub_802AC84: @ 802AC84 - push {lr} - movs r1, 0x1 - bl CreateTask - ldr r2, =gUnknown_02022CFC - ldr r1, [r2] - movs r3, 0 - strb r0, [r1, 0x4] - ldr r0, [r2] - strh r3, [r0, 0x8] - pop {r0} - bx r0 - .pool - thumb_func_end sub_802AC84 - - thumb_func_start sub_802ACA0 -sub_802ACA0: @ 802ACA0 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gUnknown_02022CFC - ldr r0, [r1] - ldrh r0, [r0, 0x8] - adds r2, r1, 0 - cmp r0, 0x5 - bls _0802ACB6 - b _0802AE08 -_0802ACB6: - lsls r0, 2 - ldr r1, =_0802ACC8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0802ACC8: - .4byte _0802ACE0 - .4byte _0802AD0C - .4byte _0802AD3C - .4byte _0802AD68 - .4byte _0802ADA4 - .4byte _0802ADD0 -_0802ACE0: - movs r0, 0 - bl SetVBlankCallback - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r0, =sub_802BD84 - movs r1, 0x5 - bl sub_802BE60 - movs r0, 0x4 - bl FadeOutMapMusic - ldr r0, =gUnknown_02022CFC - ldr r1, [r0] - b _0802ADC0 - .pool -_0802AD0C: - ldr r0, =sub_802BD84 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _0802AE08 - ldr r4, =gUnknown_02022CFC - ldr r0, [r4] - adds r0, 0xA4 - bl sub_802D074 - bl sub_800E0E8 - movs r0, 0 - movs r1, 0 - bl CreateWirelessStatusIndicatorSprite - ldr r1, [r4] - b _0802ADC0 - .pool -_0802AD3C: - bl sub_802D0F0 - cmp r0, 0 - bne _0802AE08 - bl IsNotWaitingForBGMStop - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0802AE08 - ldr r0, =0x0000021a - movs r1, 0x8 - bl FadeOutAndPlayNewMapMusic - ldr r0, =gUnknown_02022CFC - ldr r1, [r0] - b _0802ADC0 - .pool -_0802AD68: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0802AE08 - movs r4, 0x1 - negs r4, r4 - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - adds r1, r4, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, =sub_802AC58 - bl SetVBlankCallback - ldr r0, =gUnknown_02022CFC - ldr r1, [r0] - b _0802ADC0 - .pool -_0802ADA4: - bl UpdatePaletteFade - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - bne _0802AE08 - ldr r1, =gUnknown_02022CFC - ldr r0, [r1] - strb r2, [r0, 0x7] - ldr r1, [r1] -_0802ADC0: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0802AE08 - .pool -_0802ADD0: - ldr r0, [r2] - ldrb r1, [r0, 0x7] - adds r1, 0x1 - strb r1, [r0, 0x7] - ldr r1, [r2] - ldrb r0, [r1, 0x7] - cmp r0, 0x13 - bls _0802AE08 - adds r0, r1, 0 - adds r0, 0x47 - ldrb r0, [r0] - cmp r0, 0 - beq _0802ADF8 - ldr r0, =sub_802AF80 - bl sub_802AC84 - b _0802ADFE - .pool -_0802ADF8: - ldr r0, =sub_802B194 - bl sub_802AC84 -_0802ADFE: - bl sub_802BE80 - adds r0, r4, 0 - bl DestroyTask -_0802AE08: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_802ACA0 - - thumb_func_start sub_802AE14 -sub_802AE14: @ 802AE14 - push {lr} - adds r1, r0, 0 - cmp r1, 0 - bne _0802AE34 - ldr r0, =gUnknown_02022CFC - ldr r1, [r0] - ldr r0, =0x00001111 - str r0, [r1, 0x30] - movs r0, 0x1 - str r0, [r1, 0x2C] - b _0802AE46 - .pool -_0802AE34: - ldr r0, =gUnknown_02022CFC - ldr r2, [r0] - subs r1, 0x1 - movs r0, 0x1 - lsls r0, r1 - subs r0, 0x1 - str r0, [r2, 0x30] - movs r0, 0 - str r0, [r2, 0x2C] -_0802AE46: - pop {r0} - bx r0 - .pool - thumb_func_end sub_802AE14 - - thumb_func_start sub_802AE50 -sub_802AE50: @ 802AE50 - push {r4-r6,lr} - ldr r4, =gUnknown_02022CFC - ldr r1, [r4] - adds r1, 0x70 - movs r2, 0 - strb r0, [r1] - ldr r0, [r4] - movs r3, 0 - strh r2, [r0, 0x8] - strh r2, [r0, 0xA] - adds r0, 0x48 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x49 - strb r3, [r0] - movs r3, 0x1 - ldr r0, [r4] - ldrb r0, [r0, 0x5] - cmp r3, r0 - bge _0802AE94 - adds r6, r4, 0 - ldr r5, =0x000082fc - movs r4, 0 - movs r2, 0x28 -_0802AE82: - ldr r1, [r6] - adds r0, r1, r5 - adds r0, r2 - str r4, [r0] - adds r2, 0x28 - adds r3, 0x1 - ldrb r1, [r1, 0x5] - cmp r3, r1 - blt _0802AE82 -_0802AE94: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_802AE50 - - thumb_func_start sub_802AEA4 -sub_802AEA4: @ 802AEA4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - movs r4, 0x1 - movs r0, 0 - str r0, [sp, 0x4] - ldr r7, =gUnknown_02022CFC - ldr r0, [r7] - ldrb r0, [r0, 0x5] - cmp r4, r0 - bge _0802AF48 - adds r1, r7, 0 - mov r10, r1 - movs r2, 0x2 - add r2, sp - mov r8, r2 - ldr r3, =0x0000830c - mov r9, r3 - movs r6, 0x28 -_0802AED0: - mov r1, r10 - ldr r0, [r1] - adds r1, r0, r6 - ldr r2, =0x000082f4 - adds r1, r2 - ldrh r5, [r1] - add r0, r9 - adds r1, r4, 0 - mov r2, sp - mov r3, r8 - bl sub_802E264 - cmp r0, 0 - beq _0802AF10 - ldr r2, [r7] - lsls r1, r4, 1 - adds r0, r2, 0 - adds r0, 0x90 - adds r0, r1 - mov r3, r8 - ldrh r1, [r3] - strh r1, [r0] - adds r2, 0x8B - adds r2, r4 - mov r0, sp - ldrb r0, [r0] - strb r0, [r2] - ldr r0, [r7] - adds r0, r6 - ldr r1, =0x000082f6 - adds r0, r1 - strh r5, [r0] -_0802AF10: - mov r2, r10 - ldr r1, [r2] - ldr r3, =0x000082fc - adds r0, r1, r3 - adds r0, r6 - ldr r0, [r0] - cmp r0, 0 - beq _0802AF36 - adds r0, r1, 0 - adds r0, 0x8B - adds r0, r4 - adds r1, 0x70 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bne _0802AF36 - ldr r0, [sp, 0x4] - adds r0, 0x1 - str r0, [sp, 0x4] -_0802AF36: - movs r1, 0x28 - add r9, r1 - adds r6, 0x28 - adds r4, 0x1 - ldr r7, =gUnknown_02022CFC - ldr r0, [r7] - ldrb r0, [r0, 0x5] - cmp r4, r0 - blt _0802AED0 -_0802AF48: - ldr r2, =gUnknown_02022CFC - ldr r1, [r2] - ldrb r0, [r1, 0x5] - subs r0, 0x1 - ldr r3, [sp, 0x4] - cmp r3, r0 - bne _0802AF5C - adds r1, 0x49 - movs r0, 0x1 - strb r0, [r1] -_0802AF5C: - 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_802AEA4 - - thumb_func_start sub_802AF80 -sub_802AF80: @ 802AF80 - push {r4,r5,lr} - bl sub_802AEA4 - bl sub_802C43C - ldr r0, =gUnknown_02022CFC - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x48 - ldrb r0, [r0] - cmp r0, 0 - bne _0802AFB2 - adds r0, r1, 0 - adds r0, 0x49 - ldrb r0, [r0] - cmp r0, 0 - beq _0802AFB2 - adds r0, r1, 0 - adds r0, 0x4C - ldrb r0, [r0] - bl sub_802AE50 - movs r0, 0x3 - bl sub_802AE14 -_0802AFB2: - ldr r4, =gUnknown_02022CFC - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x48 - ldrb r5, [r0] - cmp r5, 0x1 - bne _0802AFEE - ldr r1, =gUnknown_082FB5F4 - adds r0, 0x28 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - adds r1, r0, 0 - cmp r1, 0 - bne _0802AFEE - ldr r0, [r4] - adds r0, 0x48 - strb r1, [r0] - ldr r1, [r4] - ldrb r2, [r1, 0x6] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r2, =0x000082fc - adds r1, r2 - adds r1, r0 - str r5, [r1] -_0802AFEE: - bl sub_802C1DC - bl sub_802B008 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_802AF80 - - thumb_func_start sub_802B008 -sub_802B008: @ 802B008 - push {r4,lr} - ldr r4, =gUnknown_02022CFC - ldr r1, [r4] - ldr r0, [r1, 0x2C] - cmp r0, 0 - bne _0802B01E - ldr r2, =0x000082e4 - adds r0, r1, r2 - adds r1, 0x70 - bl sub_802E138 -_0802B01E: - ldr r1, [r4] - ldr r2, [r1, 0x30] - ldr r0, =0x00001111 - cmp r2, r0 - beq _0802B030 - ldr r0, [r1, 0x2C] - adds r0, 0x1 - ands r0, r2 - str r0, [r1, 0x2C] -_0802B030: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_802B008 - - thumb_func_start sub_802B044 -sub_802B044: @ 802B044 - ldr r2, =gUnknown_02022CFC - ldr r1, [r2] - adds r1, 0x70 - movs r3, 0 - strb r0, [r1] - ldr r0, [r2] - strh r3, [r0, 0x8] - strh r3, [r0, 0xA] - adds r0, 0x48 - movs r1, 0x1 - strb r1, [r0] - ldr r1, [r2] - ldrb r2, [r1, 0x6] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r2, =0x000082fc - adds r1, r2 - adds r1, r0 - str r3, [r1] - bx lr - .pool - thumb_func_end sub_802B044 - - thumb_func_start sub_802B078 -sub_802B078: @ 802B078 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - ldr r4, =gUnknown_02022CFC - ldr r0, [r4] - ldr r2, =0x000082f4 - adds r1, r0, r2 - ldrh r1, [r1] - mov r8, r1 - ldr r3, =0x000082e4 - adds r0, r3 - mov r1, sp - bl sub_802E1BC - cmp r0, 0 - beq _0802B128 - ldr r2, [r4] - ldrb r0, [r2, 0x6] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r3, =0x000082fc - adds r0, r2, r3 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0x1 - bne _0802B0C6 - mov r0, sp - adds r1, r2, 0 - adds r1, 0x70 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - beq _0802B0C6 - mov r0, sp - ldrb r0, [r0] - bl sub_802B044 -_0802B0C6: - ldr r3, =gUnknown_02022CFC - ldr r2, [r3] - ldr r0, [r2, 0x78] - ldr r1, [sp, 0x8] - cmp r0, r1 - beq _0802B108 - str r1, [r2, 0x78] - movs r4, 0x1 - str r4, [r2, 0x5C] - mov r0, sp - ldrb r1, [r0, 0x1] - adds r0, r2, 0 - adds r0, 0x71 - strb r1, [r0] - ldr r0, [r3] - adds r1, r0, 0 - adds r1, 0x71 - ldrb r1, [r1] - cmp r1, 0 - beq _0802B104 - adds r0, 0x4D - strb r4, [r0] - b _0802B108 - .pool -_0802B104: - adds r0, 0x4D - strb r1, [r0] -_0802B108: - ldr r0, =gUnknown_02022CFC - ldr r1, [r0] - mov r0, sp - ldrh r0, [r0, 0x2] - adds r2, r1, 0 - adds r2, 0x72 - strh r0, [r2] - mov r0, sp - ldrh r2, [r0, 0x4] - adds r0, r1, 0 - adds r0, 0x74 - strh r2, [r0] - ldr r0, =0x000082f6 - adds r1, r0 - mov r2, r8 - strh r2, [r1] -_0802B128: - movs r4, 0x1 - ldr r2, =gUnknown_02022CFC - ldr r0, [r2] - ldrb r0, [r0, 0x5] - cmp r4, r0 - bge _0802B176 - adds r7, r2, 0 - ldr r6, =0x0000830c - movs r5, 0x28 -_0802B13A: - ldr r1, [r7] - ldrb r3, [r1, 0x6] - cmp r4, r3 - beq _0802B168 - adds r0, r1, r5 - ldr r3, =0x000082f4 - adds r0, r3 - ldrh r0, [r0] - mov r8, r0 - adds r0, r1, r6 - adds r1, r4, 0 - str r2, [sp, 0xC] - bl sub_802E2D0 - ldr r2, [sp, 0xC] - cmp r0, 0 - beq _0802B168 - ldr r0, [r7] - adds r0, r5 - ldr r1, =0x000082f6 - adds r0, r1 - mov r3, r8 - strh r3, [r0] -_0802B168: - adds r6, 0x28 - adds r5, 0x28 - adds r4, 0x1 - ldr r0, [r2] - ldrb r0, [r0, 0x5] - cmp r4, r0 - blt _0802B13A -_0802B176: - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_802B078 - - thumb_func_start sub_802B194 -sub_802B194: @ 802B194 - push {r4,lr} - bl sub_802B078 - ldr r4, =gUnknown_02022CFC - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x48 - ldrb r0, [r0] - cmp r0, 0 - beq _0802B1E0 - ldr r1, =gUnknown_082FB618 - adds r0, r2, 0 - adds r0, 0x70 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - adds r1, r0, 0 - cmp r1, 0 - bne _0802B1E0 - ldr r0, [r4] - adds r0, 0x48 - strb r1, [r0] - ldr r1, [r4] - ldrb r2, [r1, 0x6] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r2, =0x000082fc - adds r1, r2 - adds r1, r0 - movs r0, 0x1 - str r0, [r1] - movs r0, 0x3 - bl sub_802AE14 -_0802B1E0: - bl sub_802C1DC - bl sub_802B1FC - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_802B194 - - thumb_func_start sub_802B1FC -sub_802B1FC: @ 802B1FC - push {r4,lr} - ldr r4, =gUnknown_02022CFC - ldr r2, [r4] - ldr r0, [r2, 0x2C] - cmp r0, 0 - bne _0802B224 - ldrb r1, [r2, 0x6] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, =0x000082e4 - adds r0, r1 - adds r0, r2, r0 - adds r1, r2, 0 - adds r1, 0x70 - ldrb r1, [r1] - adds r2, 0x42 - ldrh r2, [r2] - bl sub_802E234 -_0802B224: - ldr r1, [r4] - ldr r2, [r1, 0x30] - ldr r0, =0x00001111 - cmp r2, r0 - beq _0802B236 - ldr r0, [r1, 0x2C] - adds r0, 0x1 - ands r0, r2 - str r0, [r1, 0x2C] -_0802B236: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_802B1FC - - thumb_func_start sub_802B248 -sub_802B248: @ 802B248 - push {r4,lr} - ldr r4, =gUnknown_02022CFC - ldr r0, [r4] - ldrh r0, [r0, 0x8] - cmp r0, 0 - beq _0802B260 - cmp r0, 0x1 - beq _0802B26E - b _0802B294 - .pool -_0802B260: - movs r0, 0x3 - bl sub_802AE14 - ldr r1, [r4] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_0802B26E: - bl sub_802B7E0 - cmp r0, 0 - bne _0802B294 - ldr r0, =gUnknown_02022CFC - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x4A - ldrh r0, [r0] - adds r2, r1, 0 - adds r2, 0x72 - strh r0, [r2] - adds r1, 0x4C - movs r0, 0x1 - strb r0, [r1] - movs r0, 0 - b _0802B296 - .pool -_0802B294: - movs r0, 0x1 -_0802B296: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802B248 - - thumb_func_start sub_802B29C -sub_802B29C: @ 802B29C - push {r4,lr} - ldr r4, =gUnknown_02022CFC - ldr r0, [r4] - ldrh r0, [r0, 0x8] - cmp r0, 0 - beq _0802B2B4 - cmp r0, 0x1 - beq _0802B2CA - movs r0, 0x1 - b _0802B2CE - .pool -_0802B2B4: - movs r0, 0 - bl sub_802AE14 - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x72 - ldrh r0, [r0] - str r0, [r1, 0x24] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_0802B2CA: - bl sub_802B7E0 -_0802B2CE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802B29C - - thumb_func_start sub_802B2D4 -sub_802B2D4: @ 802B2D4 - push {r4,lr} - ldr r4, =gUnknown_02022CFC - ldr r1, [r4] - ldrh r0, [r1, 0x8] - cmp r0, 0 - beq _0802B2EC - cmp r0, 0x1 - beq _0802B300 - b _0802B314 - .pool -_0802B2EC: - bl sub_802C0E8 - movs r0, 0x5 - bl sub_802AE14 - ldr r1, [r4] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0802B314 -_0802B300: - adds r0, r1, 0 - adds r0, 0x49 - ldrb r0, [r0] - cmp r0, 0 - beq _0802B314 - adds r1, 0x4C - movs r0, 0x2 - strb r0, [r1] - movs r0, 0 - b _0802B316 -_0802B314: - movs r0, 0x1 -_0802B316: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802B2D4 - - thumb_func_start sub_802B31C -sub_802B31C: @ 802B31C - push {r4,lr} - ldr r4, =gUnknown_02022CFC - ldr r0, [r4] - ldrh r0, [r0, 0x8] - cmp r0, 0 - beq _0802B334 - cmp r0, 0x1 - beq _0802B352 - b _0802B35E - .pool -_0802B334: - bl sub_802C0E8 - movs r0, 0 - bl sub_802AE14 - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x72 - ldrh r0, [r0] - adds r2, r1, 0 - adds r2, 0x4A - strh r0, [r2] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_0802B352: - bl sub_802C70C - cmp r0, 0 - beq _0802B35E - movs r0, 0 - b _0802B360 -_0802B35E: - movs r0, 0x1 -_0802B360: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802B31C - - thumb_func_start sub_802B368 -sub_802B368: @ 802B368 - push {lr} - bl sub_802B8CC - cmp r0, 0 - bne _0802B390 - ldr r0, =gUnknown_02022CFC - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x4A - ldrh r0, [r0] - adds r2, r1, 0 - adds r2, 0x72 - strh r0, [r2] - adds r1, 0x4C - movs r0, 0x1 - strb r0, [r1] - b _0802B3AA - .pool -_0802B390: - bl sub_802C538 - cmp r0, 0 - beq _0802B39C - movs r0, 0x1 - b _0802B3AC -_0802B39C: - bl sub_802C0B8 - ldr r0, =gUnknown_02022CFC - ldr r0, [r0] - adds r0, 0x4C - movs r1, 0x3 - strb r1, [r0] -_0802B3AA: - movs r0, 0 -_0802B3AC: - pop {r1} - bx r1 - .pool - thumb_func_end sub_802B368 - - thumb_func_start sub_802B3B4 -sub_802B3B4: @ 802B3B4 - push {lr} - bl sub_802B8CC - cmp r0, 0 - beq _0802B3CE - bl sub_802C538 - cmp r0, 0 - beq _0802B3CA - movs r0, 0x1 - b _0802B3D0 -_0802B3CA: - bl sub_802C0B8 -_0802B3CE: - movs r0, 0 -_0802B3D0: - pop {r1} - bx r1 - thumb_func_end sub_802B3B4 - - thumb_func_start sub_802B3D4 -sub_802B3D4: @ 802B3D4 - push {r4,lr} - ldr r4, =gUnknown_02022CFC - ldr r0, [r4] - ldrh r0, [r0, 0x8] - cmp r0, 0x1 - beq _0802B40C - cmp r0, 0x1 - bgt _0802B3F0 - cmp r0, 0 - beq _0802B3F6 - b _0802B468 - .pool -_0802B3F0: - cmp r0, 0x2 - beq _0802B460 - b _0802B468 -_0802B3F6: - bl sub_802C538 - bl sub_802C5DC - cmp r0, 0 - beq _0802B468 - ldr r1, [r4] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0802B468 -_0802B40C: - bl sub_802B964 - cmp r0, 0 - bne _0802B468 - bl sub_802C7BC - cmp r0, 0 - beq _0802B42E - bl sub_802C7E0 - ldr r1, [r4] - adds r2, r1, 0 - adds r2, 0x72 - strh r0, [r2] - adds r1, 0x4C - movs r0, 0x7 - b _0802B454 -_0802B42E: - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x74 - ldrh r0, [r0] - cmp r0, 0xC7 - bls _0802B448 - ldrh r0, [r1, 0xE] - adds r2, r1, 0 - adds r2, 0x72 - strh r0, [r2] - adds r1, 0x4C - movs r0, 0x8 - b _0802B454 -_0802B448: - ldrh r0, [r1, 0xE] - adds r2, r1, 0 - adds r2, 0x72 - strh r0, [r2] - adds r1, 0x4C - movs r0, 0x4 -_0802B454: - strb r0, [r1] - ldr r0, =gUnknown_02022CFC - ldr r1, [r0] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_0802B460: - movs r0, 0 - b _0802B46A - .pool -_0802B468: - movs r0, 0x1 -_0802B46A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802B3D4 - - thumb_func_start sub_802B470 -sub_802B470: @ 802B470 - push {r4,lr} - ldr r4, =gUnknown_02022CFC - ldr r0, [r4] - ldrh r0, [r0, 0x8] - cmp r0, 0x1 - beq _0802B4B0 - cmp r0, 0x1 - bgt _0802B48C - cmp r0, 0 - beq _0802B492 - b _0802B4C4 - .pool -_0802B48C: - cmp r0, 0x2 - beq _0802B4C0 - b _0802B4C4 -_0802B492: - bl sub_802C538 - cmp r0, 0 - bne _0802B49E - bl sub_802C0B8 -_0802B49E: - bl sub_802C5DC - cmp r0, 0 - beq _0802B4C4 - ldr r1, [r4] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0802B4C4 -_0802B4B0: - bl sub_802B964 - cmp r0, 0 - bne _0802B4C4 - ldr r1, [r4] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_0802B4C0: - movs r0, 0 - b _0802B4C6 -_0802B4C4: - movs r0, 0x1 -_0802B4C6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802B470 - - thumb_func_start sub_802B4CC -sub_802B4CC: @ 802B4CC - push {r4,lr} - ldr r4, =gUnknown_02022CFC - ldr r0, [r4] - ldrh r1, [r0, 0x8] - cmp r1, 0x1 - beq _0802B500 - cmp r1, 0x1 - bgt _0802B4E8 - cmp r1, 0 - beq _0802B4F2 - b _0802B560 - .pool -_0802B4E8: - cmp r1, 0x2 - beq _0802B52C - cmp r1, 0x3 - beq _0802B556 - b _0802B560 -_0802B4F2: - movs r0, 0x4 - bl sub_802AE14 - ldr r1, [r4] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_0802B500: - bl sub_802BB84 - cmp r0, 0 - bne _0802B560 - ldr r4, =gUnknown_02022CFC - ldr r2, [r4] - ldr r0, [r2, 0x78] - adds r1, r2, 0 - adds r1, 0x74 - ldrh r1, [r1] - adds r2, 0x72 - ldrh r2, [r2] - bl sub_802E354 - ldr r1, [r4] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0802B560 - .pool -_0802B52C: - adds r0, 0x49 - ldrb r0, [r0] - cmp r0, 0 - beq _0802B560 - bl sub_802C650 - cmp r0, 0 - beq _0802B544 - ldr r0, [r4] - adds r0, 0x4C - movs r1, 0x5 - b _0802B54A -_0802B544: - ldr r0, [r4] - adds r0, 0x4C - movs r1, 0x6 -_0802B54A: - strb r1, [r0] - ldr r0, =gUnknown_02022CFC - ldr r1, [r0] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_0802B556: - movs r0, 0 - b _0802B562 - .pool -_0802B560: - movs r0, 0x1 -_0802B562: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802B4CC - - thumb_func_start sub_802B568 -sub_802B568: @ 802B568 - push {r4,lr} - ldr r4, =gUnknown_02022CFC - ldr r0, [r4] - ldrh r0, [r0, 0x8] - cmp r0, 0 - beq _0802B580 - cmp r0, 0x1 - beq _0802B58E - b _0802B5C0 - .pool -_0802B580: - movs r0, 0 - bl sub_802AE14 - ldr r1, [r4] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_0802B58E: - bl sub_802BB84 - cmp r0, 0 - bne _0802B5C0 - ldr r4, =gUnknown_02022CFC - ldr r2, [r4] - ldr r0, [r2, 0x78] - adds r1, r2, 0 - adds r1, 0x74 - ldrh r1, [r1] - adds r2, 0x72 - ldrh r2, [r2] - bl sub_802E354 - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0x45 - ldrb r1, [r1] - adds r0, 0x42 - strh r1, [r0] - movs r0, 0 - b _0802B5C2 - .pool -_0802B5C0: - movs r0, 0x1 -_0802B5C2: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802B568 - - thumb_func_start sub_802B5C8 -sub_802B5C8: @ 802B5C8 - push {r4,lr} - ldr r4, =gUnknown_02022CFC - ldr r1, [r4] - ldrh r0, [r1, 0x8] - cmp r0, 0 - beq _0802B5E0 - cmp r0, 0x1 - beq _0802B5F2 - b _0802B61E - .pool -_0802B5E0: - bl sub_802BD30 - cmp r0, 0 - bne _0802B61E - ldr r1, [r4] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0802B61E -_0802B5F2: - adds r0, r1, 0 - adds r0, 0x49 - ldrb r0, [r0] - cmp r0, 0 - beq _0802B61E - adds r0, r1, 0 - bl sub_802AA94 - bl Random - ldr r1, [r4] - lsls r0, 16 - lsrs r0, 16 - str r0, [r1, 0x24] - adds r3, r1, 0 - adds r3, 0x72 - movs r2, 0 - strh r0, [r3] - adds r1, 0x4C - strb r2, [r1] - movs r0, 0 - b _0802B620 -_0802B61E: - movs r0, 0x1 -_0802B620: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802B5C8 - - thumb_func_start sub_802B628 -sub_802B628: @ 802B628 - push {r4,lr} - ldr r4, =gUnknown_02022CFC - ldr r0, [r4] - ldrh r0, [r0, 0x8] - cmp r0, 0 - beq _0802B640 - cmp r0, 0x1 - beq _0802B656 - b _0802B65A - .pool -_0802B640: - bl sub_802BD30 - cmp r0, 0 - bne _0802B65A - ldr r0, [r4] - bl sub_802AA94 - ldr r1, [r4] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_0802B656: - movs r0, 0 - b _0802B65C -_0802B65A: - movs r0, 0x1 -_0802B65C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802B628 - - thumb_func_start sub_802B664 -sub_802B664: @ 802B664 - push {r4,lr} - ldr r4, =gUnknown_02022CFC - ldr r1, [r4] - ldrh r0, [r1, 0x8] - cmp r0, 0x1 - beq _0802B68C - cmp r0, 0x1 - bgt _0802B680 - cmp r0, 0 - beq _0802B686 - b _0802B6B0 - .pool -_0802B680: - cmp r0, 0x2 - beq _0802B69C - b _0802B6B0 -_0802B686: - movs r0, 0x1 - strh r0, [r1, 0x8] - b _0802B6B0 -_0802B68C: - movs r0, 0 - bl sub_802AE14 - ldr r1, [r4] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0802B6B0 -_0802B69C: - bl sub_802BC60 - cmp r0, 0 - bne _0802B6B0 - ldr r0, [r4] - ldr r0, [r0] - bl SetMainCallback2 - bl sub_802AA48 -_0802B6B0: - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802B664 - - thumb_func_start sub_802B6B8 -sub_802B6B8: @ 802B6B8 - push {r4,lr} - ldr r4, =gUnknown_02022CFC - ldr r0, [r4] - ldrh r0, [r0, 0x8] - cmp r0, 0 - beq _0802B6D0 - cmp r0, 0x1 - beq _0802B6E0 - b _0802B6FC - .pool -_0802B6D0: - movs r0, 0x4 - bl sub_802AE14 - ldr r1, [r4] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0802B6FC -_0802B6E0: - bl sub_802BA58 - cmp r0, 0 - bne _0802B6FC - ldr r0, [r4] - ldrh r1, [r0, 0xE] - adds r2, r0, 0 - adds r2, 0x72 - strh r1, [r2] - adds r0, 0x4C - movs r1, 0x8 - strb r1, [r0] - movs r0, 0 - b _0802B6FE -_0802B6FC: - movs r0, 0x1 -_0802B6FE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802B6B8 - - thumb_func_start sub_802B704 -sub_802B704: @ 802B704 - push {lr} - movs r0, 0 - bl sub_802AE14 - bl sub_802BA58 - cmp r0, 0 - beq _0802B718 - movs r0, 0x1 - b _0802B71A -_0802B718: - movs r0, 0 -_0802B71A: - pop {r1} - bx r1 - thumb_func_end sub_802B704 - - thumb_func_start sub_802B720 -sub_802B720: @ 802B720 - push {r4,lr} - ldr r1, =gUnknown_02022CFC - ldr r0, [r1] - ldrh r0, [r0, 0x8] - adds r4, r1, 0 - cmp r0, 0x4 - bhi _0802B7D8 - lsls r0, 2 - ldr r1, =_0802B740 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0802B740: - .4byte _0802B754 - .4byte _0802B770 - .4byte _0802B780 - .4byte _0802B798 - .4byte _0802B7BC -_0802B754: - ldr r2, [r4] - ldr r0, [r2, 0x78] - adds r1, r2, 0 - adds r1, 0x74 - ldrh r1, [r1] - adds r2, 0x72 - ldrh r2, [r2] - bl sub_802E354 - movs r0, 0x5 - bl sub_802D0C8 - ldr r1, [r4] - b _0802B7AC -_0802B770: - bl sub_802D0F0 - cmp r0, 0 - bne _0802B7D8 - movs r0, 0 - bl sub_802AE14 - b _0802B7A8 -_0802B780: - bl sub_802C70C - cmp r0, 0 - beq _0802B7D8 - ldr r0, =sub_8153688 - movs r1, 0x6 - bl CreateTask - b _0802B7A8 - .pool -_0802B798: - ldr r0, =sub_8153688 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _0802B7D8 - bl sub_802DA14 -_0802B7A8: - ldr r0, =gUnknown_02022CFC - ldr r1, [r0] -_0802B7AC: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0802B7D8 - .pool -_0802B7BC: - bl sub_802DA44 - cmp r0, 0 - bne _0802B7D8 - ldr r0, =gUnknown_02022CFC - ldr r0, [r0] - adds r0, 0x4C - movs r1, 0x4 - strb r1, [r0] - movs r0, 0 - b _0802B7DA - .pool -_0802B7D8: - movs r0, 0x1 -_0802B7DA: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802B720 - - thumb_func_start sub_802B7E0 -sub_802B7E0: @ 802B7E0 - push {r4,r5,lr} - ldr r1, =gUnknown_02022CFC - ldr r0, [r1] - ldrh r0, [r0, 0xA] - adds r4, r1, 0 - cmp r0, 0x7 - bhi _0802B8C4 - lsls r0, 2 - ldr r1, =_0802B800 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0802B800: - .4byte _0802B820 - .4byte _0802B82C - .4byte _0802B84C - .4byte _0802B866 - .4byte _0802B878 - .4byte _0802B880 - .4byte _0802B8A0 - .4byte _0802B8BA -_0802B820: - movs r0, 0x2 - bl sub_802D0C8 - bl sub_802DDE0 - b _0802B890 -_0802B82C: - bl sub_802D0F0 - adds r5, r0, 0 - cmp r5, 0 - bne _0802B8C4 - ldr r4, =gUnknown_02022CFC - ldr r0, [r4] - ldrb r0, [r0, 0x6] - bl sub_802DDF4 - ldr r1, [r4] - strh r5, [r1, 0x3C] - b _0802B894 - .pool -_0802B84C: - ldr r1, [r4] - ldrh r0, [r1, 0x3C] - adds r0, 0x1 - strh r0, [r1, 0x3C] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x78 - bls _0802B8C4 - movs r0, 0x3 - bl sub_802D0C8 - ldr r1, [r4] - b _0802B894 -_0802B866: - bl sub_802D0F0 - cmp r0, 0x1 - beq _0802B8C4 - bl sub_802DE08 - cmp r0, 0x1 - beq _0802B8C4 - b _0802B890 -_0802B878: - movs r0, 0x9 - bl sub_802D0C8 - b _0802B890 -_0802B880: - bl sub_802D0F0 - cmp r0, 0 - bne _0802B8C4 - bl sub_802C260 - bl sub_802D764 -_0802B890: - ldr r0, =gUnknown_02022CFC - ldr r1, [r0] -_0802B894: - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - b _0802B8C4 - .pool -_0802B8A0: - bl sub_802D788 - cmp r0, 0 - bne _0802B8C4 - bl sub_802C270 - bl sub_802BEA0 - ldr r0, =gUnknown_02022CFC - ldr r1, [r0] - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] -_0802B8BA: - movs r0, 0 - b _0802B8C6 - .pool -_0802B8C4: - movs r0, 0x1 -_0802B8C6: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_802B7E0 - - thumb_func_start sub_802B8CC -sub_802B8CC: @ 802B8CC - push {r4,r5,lr} - bl sub_802BEE4 - ldr r5, =gUnknown_02022CFC - ldr r1, [r5] - ldrh r4, [r1, 0x36] - cmp r4, 0 - beq _0802B8E8 - movs r0, 0 - strh r0, [r1, 0x36] - b _0802B95C - .pool -_0802B8E8: - ldrh r0, [r1, 0xA] - cmp r0, 0x1 - beq _0802B914 - cmp r0, 0x1 - bgt _0802B8F8 - cmp r0, 0 - beq _0802B902 - b _0802B95A -_0802B8F8: - cmp r0, 0x2 - beq _0802B938 - cmp r0, 0x3 - beq _0802B94C - b _0802B95A -_0802B902: - movs r0, 0 - bl sub_802C130 - cmp r0, 0 - beq _0802B95A - ldr r1, [r5] - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] -_0802B914: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0802B95A - bl sub_802C164 - movs r0, 0x3 - bl sub_802AE14 - ldr r0, =gUnknown_02022CFC - ldr r1, [r0] - b _0802B944 - .pool -_0802B938: - movs r0, 0x1 - bl sub_802C130 - cmp r0, 0x1 - bne _0802B95A - ldr r1, [r5] -_0802B944: - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - b _0802B95A -_0802B94C: - movs r0, 0 - bl sub_802C130 - cmp r0, 0x1 - bne _0802B95A - ldr r0, [r5] - strh r4, [r0, 0xA] -_0802B95A: - movs r0, 0x1 -_0802B95C: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_802B8CC - - thumb_func_start sub_802B964 -sub_802B964: @ 802B964 - push {r4-r6,lr} - ldr r1, =gUnknown_02022CFC - ldr r0, [r1] - ldrh r0, [r0, 0xA] - adds r5, r1, 0 - cmp r0, 0x4 - bhi _0802BA50 - lsls r0, 2 - ldr r1, =_0802B984 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0802B984: - .4byte _0802B998 - .4byte _0802B9BC - .4byte _0802BA00 - .4byte _0802BA24 - .4byte _0802BA46 -_0802B998: - movs r4, 0 - ldr r0, [r5] - ldrb r0, [r0, 0x5] - cmp r4, r0 - bge _0802B9B8 - adds r6, r5, 0 -_0802B9A4: - adds r0, r4, 0 - bl sub_802DDB8 - cmp r0, 0x1 - beq _0802BA50 - adds r4, 0x1 - ldr r0, [r6] - ldrb r0, [r0, 0x5] - cmp r4, r0 - blt _0802B9A4 -_0802B9B8: - ldr r1, [r5] - b _0802BA1C -_0802B9BC: - movs r4, 0 - ldr r0, [r5] - ldrb r0, [r0, 0x5] - cmp r4, r0 - bge _0802B9EC - adds r6, r5, 0 - movs r5, 0 -_0802B9CA: - ldr r0, [r6] - adds r0, r5 - ldr r1, =0x000082f4 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0x2 - bne _0802B9E0 - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_802DDA0 -_0802B9E0: - adds r5, 0x28 - adds r4, 0x1 - ldr r0, [r6] - ldrb r0, [r0, 0x5] - cmp r4, r0 - blt _0802B9CA -_0802B9EC: - movs r0, 0x1 - bl sub_802D0C8 - ldr r0, =gUnknown_02022CFC - ldr r1, [r0] - b _0802BA18 - .pool -_0802BA00: - ldr r1, [r5] - ldrh r0, [r1, 0x3C] - adds r0, 0x1 - strh r0, [r1, 0x3C] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x64 - bls _0802BA50 - movs r0, 0x3 - bl sub_802D0C8 - ldr r1, [r5] -_0802BA18: - movs r0, 0 - strh r0, [r1, 0x3C] -_0802BA1C: - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - b _0802BA50 -_0802BA24: - bl sub_802D0F0 - adds r5, r0, 0 - cmp r5, 0 - bne _0802BA50 - bl sub_802DDCC - ldr r4, =gUnknown_02022CFC - ldr r0, [r4] - adds r0, 0x71 - strb r5, [r0] - bl sub_802C114 - ldr r1, [r4] - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] -_0802BA46: - movs r0, 0 - b _0802BA52 - .pool -_0802BA50: - movs r0, 0x1 -_0802BA52: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_802B964 - - thumb_func_start sub_802BA58 -sub_802BA58: @ 802BA58 - push {r4,lr} - ldr r1, =gUnknown_02022CFC - ldr r0, [r1] - ldrh r0, [r0, 0xA] - adds r4, r1, 0 - cmp r0, 0x6 - bls _0802BA68 - b _0802BB7C -_0802BA68: - lsls r0, 2 - ldr r1, =_0802BA7C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0802BA7C: - .4byte _0802BA98 - .4byte _0802BAB8 - .4byte _0802BAD0 - .4byte _0802BB00 - .4byte _0802BAB8 - .4byte _0802BAD0 - .4byte _0802BB70 -_0802BA98: - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x72 - ldrh r0, [r0] - adds r1, r2, 0 - adds r1, 0x3E - adds r2, 0x40 - bl sub_802C808 - ldr r1, [r4] - ldrh r0, [r1, 0x3E] - adds r1, 0x40 - ldrh r1, [r1] - bl sub_802D7E8 - b _0802BAF0 -_0802BAB8: - bl sub_802D974 - adds r2, r0, 0 - cmp r2, 0 - bne _0802BB7C - ldr r0, =gUnknown_02022CFC - ldr r1, [r0] - strh r2, [r1, 0x3C] - b _0802BAF2 - .pool -_0802BAD0: - ldr r1, [r4] - ldrh r0, [r1, 0x3C] - adds r2, r0, 0x1 - strh r2, [r1, 0x3C] - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _0802BAEC - lsls r0, r2, 16 - lsrs r0, 16 - cmp r0, 0xB4 - bls _0802BB7C -_0802BAEC: - bl sub_802DA14 -_0802BAF0: - ldr r1, [r4] -_0802BAF2: - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - b _0802BB7C - .pool -_0802BB00: - bl sub_802DA44 - cmp r0, 0 - bne _0802BB7C - ldr r4, =gUnknown_02022CFC - ldr r1, [r4] - ldrh r0, [r1, 0x3E] - adds r1, 0x40 - ldrh r1, [r1] - bl sub_802C880 - ldr r1, [r4] - adds r2, r1, 0 - adds r2, 0x40 - strh r0, [r2] - lsls r0, 16 - cmp r0, 0 - beq _0802BB58 - ldrh r0, [r1, 0x3E] - ldrh r1, [r2] - bl AddBagItem - lsls r0, 24 - cmp r0, 0 - beq _0802BB58 - ldr r0, [r4] - ldrh r0, [r0, 0x3E] - movs r1, 0x1 - bl CheckBagHasSpace - lsls r0, 24 - cmp r0, 0 - bne _0802BB50 - ldr r0, [r4] - ldrh r0, [r0, 0x3E] - bl sub_802D884 - b _0802BB62 - .pool -_0802BB50: - ldr r1, [r4] - movs r0, 0x6 - strh r0, [r1, 0xA] - b _0802BB7C -_0802BB58: - ldr r4, =gUnknown_02022CFC - ldr r0, [r4] - ldrh r0, [r0, 0x3E] - bl sub_802D8FC -_0802BB62: - ldr r1, [r4] - movs r0, 0x4 - strh r0, [r1, 0xA] - b _0802BB7C - .pool -_0802BB70: - bl sub_802DA44 - cmp r0, 0 - bne _0802BB7C - movs r0, 0 - b _0802BB7E -_0802BB7C: - movs r0, 0x1 -_0802BB7E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802BA58 - - thumb_func_start sub_802BB84 -sub_802BB84: @ 802BB84 - push {r4,lr} - ldr r0, =gUnknown_02022CFC - ldr r0, [r0] - ldrh r0, [r0, 0xA] - cmp r0, 0x6 - bhi _0802BC58 - lsls r0, 2 - ldr r1, =_0802BBA4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0802BBA4: - .4byte _0802BBC0 - .4byte _0802BBC4 - .4byte _0802BBCE - .4byte _0802BC1C - .4byte _0802BC26 - .4byte _0802BC3C - .4byte _0802BC4E -_0802BBC0: - movs r0, 0x4 - b _0802BC28 -_0802BBC4: - bl sub_802D0F0 - cmp r0, 0 - bne _0802BC58 - b _0802BC2C -_0802BBCE: - bl sub_802DA8C - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _0802BC04 - cmp r1, 0 - bgt _0802BBE8 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _0802BBEC - b _0802BC58 -_0802BBE8: - cmp r1, 0x1 - bne _0802BC58 -_0802BBEC: - ldr r4, =gUnknown_02022CFC - ldr r0, [r4] - adds r0, 0x45 - movs r1, 0x1 - strb r1, [r0] - movs r0, 0x6 - bl sub_802D0C8 - ldr r1, [r4] - b _0802BC30 - .pool -_0802BC04: - ldr r4, =gUnknown_02022CFC - ldr r0, [r4] - adds r0, 0x45 - movs r1, 0x2 - strb r1, [r0] - movs r0, 0x6 - bl sub_802D0C8 - ldr r1, [r4] - b _0802BC30 - .pool -_0802BC1C: - bl sub_802D0F0 - cmp r0, 0 - bne _0802BC58 - b _0802BC2C -_0802BC26: - movs r0, 0x8 -_0802BC28: - bl sub_802D0C8 -_0802BC2C: - ldr r0, =gUnknown_02022CFC - ldr r1, [r0] -_0802BC30: - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - b _0802BC58 - .pool -_0802BC3C: - bl sub_802D0F0 - cmp r0, 0 - bne _0802BC58 - ldr r0, =gUnknown_02022CFC - ldr r1, [r0] - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] -_0802BC4E: - movs r0, 0 - b _0802BC5A - .pool -_0802BC58: - movs r0, 0x1 -_0802BC5A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802BB84 - - thumb_func_start sub_802BC60 -sub_802BC60: @ 802BC60 - push {r4,lr} - sub sp, 0x4 - ldr r1, =gUnknown_02022CFC - ldr r0, [r1] - ldrh r0, [r0, 0xA] - adds r4, r1, 0 - cmp r0, 0x5 - bhi _0802BD24 - lsls r0, 2 - ldr r1, =_0802BC84 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0802BC84: - .4byte _0802BC9C - .4byte _0802BCA2 - .4byte _0802BCB2 - .4byte _0802BCC8 - .4byte _0802BCEE - .4byte _0802BD14 -_0802BC9C: - bl sub_802DA14 - b _0802BCFE -_0802BCA2: - bl sub_802DA44 - cmp r0, 0 - bne _0802BD24 - movs r0, 0x7 - bl sub_802D0C8 - b _0802BCFE -_0802BCB2: - bl sub_802D0F0 - adds r2, r0, 0 - cmp r2, 0 - bne _0802BD24 - ldr r0, =gUnknown_02022CFC - ldr r1, [r0] - strh r2, [r1, 0x3C] - b _0802BD02 - .pool -_0802BCC8: - ldr r1, [r4] - ldrh r0, [r1, 0x3C] - adds r0, 0x1 - strh r0, [r1, 0x3C] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x78 - bls _0802BD24 - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, [r4] - b _0802BD02 -_0802BCEE: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0802BD24 - bl sub_800AC34 -_0802BCFE: - ldr r0, =gUnknown_02022CFC - ldr r1, [r0] -_0802BD02: - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - b _0802BD24 - .pool -_0802BD14: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _0802BD24 - movs r0, 0 - b _0802BD26 - .pool -_0802BD24: - movs r0, 0x1 -_0802BD26: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802BC60 - - thumb_func_start sub_802BD30 -sub_802BD30: @ 802BD30 - push {r4,lr} - ldr r4, =gUnknown_02022CFC - ldr r0, [r4] - ldrh r0, [r0, 0xA] - cmp r0, 0x1 - beq _0802BD66 - cmp r0, 0x1 - bgt _0802BD4C - cmp r0, 0 - beq _0802BD52 - b _0802BD7A - .pool -_0802BD4C: - cmp r0, 0x2 - beq _0802BD76 - b _0802BD7A -_0802BD52: - bl sub_802DA14 - movs r0, 0 - bl sub_802DD64 - ldr r1, [r4] - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - b _0802BD7A -_0802BD66: - bl sub_802DA44 - cmp r0, 0 - bne _0802BD7A - ldr r1, [r4] - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] -_0802BD76: - movs r0, 0 - b _0802BD7C -_0802BD7A: - movs r0, 0x1 -_0802BD7C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802BD30 - - thumb_func_start sub_802BD84 -sub_802BD84: @ 802BD84 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - lsls r0, 2 - add r0, r10 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r6, r0, r1 - mov r0, r10 - movs r1, 0xE - bl GetWordTaskArg - mov r8, r0 - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0 - beq _0802BDC8 - cmp r0, 0x1 - beq _0802BDDC - b _0802BE48 - .pool -_0802BDBC: - bl sub_802AB20 - mov r0, r10 - bl DestroyTask - b _0802BE48 -_0802BDC8: - movs r1, 0 - adds r0, r6, 0 - adds r0, 0x8 -_0802BDCE: - strh r1, [r0, 0x4] - subs r0, 0x2 - cmp r0, r6 - bge _0802BDCE - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] -_0802BDDC: - mov r3, r8 - ldrb r1, [r3, 0x6] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r4, =0x000082a8 - adds r0, r4 - add r0, r8 - bl sub_802E0AC - movs r2, 0 - adds r5, r6, 0x4 - mov r9, r2 - movs r7, 0x83 - lsls r7, 8 - add r7, r8 - add r4, r8 -_0802BDFE: - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0802BE38 - adds r0, r2, 0 - adds r1, r4, 0 - str r2, [sp] - bl sub_802E0D0 - ldr r2, [sp] - cmp r0, 0 - beq _0802BE38 - ldr r1, =gLinkPlayers + 8 - add r1, r9 - adds r0, r7, 0 - bl StringCopy - movs r0, 0x1 - strh r0, [r5] - ldrh r0, [r6, 0x2] - adds r0, 0x1 - strh r0, [r6, 0x2] - movs r3, 0x2 - ldrsh r0, [r6, r3] - ldr r2, [sp] - mov r1, r8 - ldrb r1, [r1, 0x5] - cmp r0, r1 - beq _0802BDBC -_0802BE38: - adds r5, 0x2 - movs r3, 0x1C - add r9, r3 - adds r7, 0x28 - adds r4, 0xC - adds r2, 0x1 - cmp r2, 0x4 - ble _0802BDFE -_0802BE48: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_802BD84 - - thumb_func_start sub_802BE60 -sub_802BE60: @ 802BE60 - push {lr} - lsls r1, 24 - lsrs r1, 24 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_02022CFC - ldr r2, [r1] - movs r1, 0xE - bl SetWordTaskArg - pop {r0} - bx r0 - .pool - thumb_func_end sub_802BE60 - - thumb_func_start sub_802BE80 -sub_802BE80: @ 802BE80 - ldr r0, =gUnknown_02022CFC - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x4A - movs r1, 0 - strh r1, [r0] - movs r0, 0x6 - str r0, [r2, 0x14] - strh r1, [r2, 0x34] - str r1, [r2, 0x1C] - strh r1, [r2, 0x36] - str r1, [r2, 0x10] - bx lr - .pool - thumb_func_end sub_802BE80 - - thumb_func_start sub_802BEA0 -sub_802BEA0: @ 802BEA0 - push {r4,lr} - ldr r3, =gUnknown_02022CFC - ldr r0, [r3] - adds r1, r0, 0 - adds r1, 0x4A - movs r4, 0 - movs r2, 0 - strh r2, [r1] - ldr r1, =0x000006ff - strh r1, [r0, 0x34] - movs r1, 0x7 - str r1, [r0, 0x14] - strh r2, [r0, 0x36] - str r2, [r0, 0x10] - adds r0, 0x51 - strb r4, [r0] - ldr r0, [r3] - adds r0, 0x50 - strb r4, [r0] - ldr r0, [r3] - str r2, [r0, 0x20] - adds r1, r0, 0 - adds r1, 0x4E - strh r2, [r1] - str r2, [r0, 0x6C] - bl sub_802BF7C - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_802BEA0 - - thumb_func_start sub_802BEE4 -sub_802BEE4: @ 802BEE4 - push {r4,lr} - ldr r4, =gUnknown_02022CFC - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x46 - ldrb r0, [r0] - cmp r0, 0 - beq _0802BF34 - adds r1, 0x4A - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - bl sub_802BF48 - ldr r3, [r4] - ldrh r1, [r3, 0x34] - adds r2, r1, r0 - strh r2, [r3, 0x34] - lsls r1, r2, 16 - ldr r0, =0x09fe0000 - cmp r1, r0 - bls _0802BF16 - ldr r1, =0xfffff601 - adds r0, r2, r1 - strh r0, [r3, 0x34] -_0802BF16: - ldr r1, [r4] - ldr r2, [r1, 0x14] - str r2, [r1, 0x18] - ldrh r0, [r1, 0x34] - lsrs r0, 8 - str r0, [r1, 0x14] - cmp r0, 0x6 - bls _0802BF34 - cmp r2, 0x6 - bhi _0802BF34 - ldrh r0, [r1, 0x36] - adds r0, 0x1 - strh r0, [r1, 0x36] - bl sub_802BF7C -_0802BF34: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_802BEE4 - - thumb_func_start sub_802BF48 -sub_802BF48: @ 802BF48 - push {lr} - ldr r0, =gUnknown_02022CFC - ldr r2, [r0] - ldr r0, [r2, 0x10] - cmp r0, 0 - beq _0802BF5C - movs r0, 0 - b _0802BF72 - .pool -_0802BF5C: - ldr r3, [r2, 0x1C] - ldrh r1, [r2, 0x34] - ldr r0, =0x000005ff - cmp r1, r0 - bhi _0802BF70 - ldr r0, [r2, 0x20] - adds r0, 0x50 - str r0, [r2, 0x20] - lsrs r0, 8 - adds r3, r0 -_0802BF70: - adds r0, r3, 0 -_0802BF72: - pop {r1} - bx r1 - .pool - thumb_func_end sub_802BF48 - - thumb_func_start sub_802BF7C -sub_802BF7C: @ 802BF7C - push {r4,lr} - ldr r4, =gUnknown_02022CFC - ldr r3, [r4] - movs r0, 0 - str r0, [r3, 0x20] - adds r1, r3, 0 - adds r1, 0x4E - ldrh r0, [r1] - cmp r0, 0 - beq _0802BFC0 - subs r0, 0x1 - strh r0, [r1] - ldr r0, [r3, 0x6C] - cmp r0, 0 - beq _0802C08A - bl sub_802C098 - movs r1, 0x3 - ands r1, r0 - cmp r1, 0 - beq _0802BFB0 - ldr r1, [r4] - b _0802C086 - .pool -_0802BFB0: - ldr r1, [r4] - ldr r0, [r1, 0x28] - cmp r0, 0x36 - bls _0802BFBC - movs r0, 0x1E - b _0802C088 -_0802BFBC: - movs r0, 0x52 - b _0802C088 -_0802BFC0: - adds r2, r3, 0 - adds r2, 0x50 - ldrb r1, [r2] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - bne _0802C014 - ldr r0, =gUnknown_082FB63C - ldrb r1, [r2] - lsls r1, 1 - adds r1, r0 - adds r0, r3, 0 - adds r0, 0x51 - ldrb r2, [r0] - lsls r0, r2, 3 - subs r0, r2 - ldrh r1, [r1] - adds r0, r1 - str r0, [r3, 0x28] - bl sub_802C098 - ldr r2, [r4] - ldr r3, =gUnknown_082FB64C - movs r1, 0x3 - ands r1, r0 - lsls r1, 1 - adds r1, r3 - ldrh r0, [r1] - adds r0, 0x2 - adds r1, r2, 0 - adds r1, 0x4E - strh r0, [r1] - adds r2, 0x50 - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - b _0802C082 - .pool -_0802C014: - lsls r0, r1, 24 - lsrs r0, 24 - cmp r0, 0x8 - bne _0802C030 - adds r1, r3, 0 - adds r1, 0x51 - ldrb r0, [r1] - cmp r0, 0x2 - bhi _0802C02C - adds r0, 0x1 - strb r0, [r1] - b _0802C030 -_0802C02C: - movs r0, 0x1 - str r0, [r3, 0x6C] -_0802C030: - ldr r2, =gUnknown_082FB63C - ldr r4, =gUnknown_02022CFC - ldr r0, [r4] - mov r12, r0 - mov r3, r12 - adds r3, 0x50 - ldrb r0, [r3] - movs r1, 0xF - subs r1, r0 - lsls r1, 1 - adds r1, r2 - mov r0, r12 - adds r0, 0x51 - ldrb r2, [r0] - lsls r0, r2, 3 - subs r0, r2 - ldrh r1, [r1] - adds r0, r1 - mov r1, r12 - str r0, [r1, 0x28] - ldrb r0, [r3] - adds r0, 0x1 - strb r0, [r3] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xF - bls _0802C082 - bl sub_802C098 - movs r1, 0x3 - ands r1, r0 - cmp r1, 0 - bne _0802C07A - ldr r1, [r4] - ldr r0, [r1, 0x28] - subs r0, 0x5 - str r0, [r1, 0x28] -_0802C07A: - ldr r0, [r4] - adds r0, 0x50 - movs r1, 0 - strb r1, [r0] -_0802C082: - ldr r0, =gUnknown_02022CFC - ldr r1, [r0] -_0802C086: - ldr r0, [r1, 0x28] -_0802C088: - str r0, [r1, 0x1C] -_0802C08A: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_802BF7C - - thumb_func_start sub_802C098 -sub_802C098: @ 802C098 - ldr r0, =gUnknown_02022CFC - ldr r2, [r0] - ldr r1, [r2, 0x24] - ldr r0, =0x41c64e6d - muls r0, r1 - ldr r1, =0x00006073 - adds r0, r1 - str r0, [r2, 0x24] - lsrs r0, 16 - bx lr - .pool - thumb_func_end sub_802C098 - - thumb_func_start sub_802C0B8 -sub_802C0B8: @ 802C0B8 - push {lr} - ldr r0, =gUnknown_02022CFC - ldr r1, [r0] - movs r0, 0x1 - str r0, [r1, 0x10] - movs r0, 0x6 - str r0, [r1, 0x14] - ldr r0, =0x000005ff - strh r0, [r1, 0x34] - bl sub_802C270 - pop {r0} - bx r0 - .pool - thumb_func_end sub_802C0B8 - - thumb_func_start sub_802C0DC -sub_802C0DC: @ 802C0DC - ldr r0, =gUnknown_02022CFC - ldr r0, [r0] - ldr r0, [r0, 0x10] - bx lr - .pool - thumb_func_end sub_802C0DC - - thumb_func_start sub_802C0E8 -sub_802C0E8: @ 802C0E8 - push {r4,r5,lr} - ldr r5, =gUnknown_02022CFC - ldr r4, =0x000082f8 - movs r3, 0 - movs r2, 0 - movs r1, 0x4 -_0802C0F4: - ldr r0, [r5] - adds r0, r4 - adds r0, r2 - str r3, [r0] - adds r2, 0x28 - subs r1, 0x1 - cmp r1, 0 - bge _0802C0F4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_802C0E8 - - thumb_func_start sub_802C114 -sub_802C114: @ 802C114 - ldr r0, =gUnknown_02022CFC - ldr r0, [r0] - ldr r1, =0x000083ac - adds r0, r1 - ldr r1, [r0] - movs r2, 0 - strh r2, [r1, 0x10] - ldr r0, [r0] - strh r2, [r0, 0x12] - bx lr - .pool - thumb_func_end sub_802C114 - - thumb_func_start sub_802C130 -sub_802C130: @ 802C130 - push {lr} - lsls r0, 16 - lsrs r0, 16 - ldr r1, =gUnknown_02022CFC - ldr r2, [r1] - ldrb r3, [r2, 0x6] - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 3 - adds r2, r1 - ldr r1, =0x000082f4 - adds r2, r1 - ldrh r1, [r2] - cmp r1, r0 - beq _0802C15C - movs r0, 0 - b _0802C15E - .pool -_0802C15C: - movs r0, 0x1 -_0802C15E: - pop {r1} - bx r1 - thumb_func_end sub_802C130 - - thumb_func_start sub_802C164 -sub_802C164: @ 802C164 - ldr r0, =gUnknown_02022CFC - ldr r0, [r0] - ldr r1, =0x000083ac - adds r2, r0, r1 - ldr r1, [r2] - adds r0, 0x4A - ldrh r0, [r0] - strh r0, [r1, 0xE] - ldr r1, [r2] - ldrh r0, [r1, 0x10] - strh r0, [r1, 0x12] - ldr r1, [r2] - movs r0, 0x1 - strh r0, [r1, 0x10] - bx lr - .pool - thumb_func_end sub_802C164 - - thumb_func_start sub_802C18C -sub_802C18C: @ 802C18C - push {r4,lr} - ldr r0, =gUnknown_02022CFC - ldr r2, [r0] - ldr r0, =0x000083ac - adds r3, r2, r0 - ldr r1, [r3] - ldrh r0, [r1, 0x10] - strh r0, [r1, 0x12] - ldr r0, [r3] - movs r4, 0x2 - strh r4, [r0, 0x10] - ldr r1, [r3] - adds r2, 0x4A - ldrh r0, [r2] - strh r0, [r1, 0xE] - ldr r0, [r3] - str r4, [r0, 0x14] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_802C18C - - thumb_func_start sub_802C1BC -sub_802C1BC: @ 802C1BC - ldr r0, =gUnknown_02022CFC - ldr r0, [r0] - ldr r1, =0x000083ac - adds r0, r1 - ldr r1, [r0] - ldrh r2, [r1, 0x10] - movs r3, 0 - strh r2, [r1, 0x12] - ldr r0, [r0] - strh r3, [r0, 0x10] - bx lr - .pool - thumb_func_end sub_802C1BC - - thumb_func_start sub_802C1DC -sub_802C1DC: @ 802C1DC - push {r4,r5,lr} - ldr r4, =gUnknown_02022CFC - ldr r1, [r4] - ldr r0, [r1, 0x5C] - cmp r0, 0 - beq _0802C21C - ldr r0, [r1, 0x78] - bl sub_802DD64 - ldr r1, [r4] - movs r5, 0 - str r5, [r1, 0x5C] - adds r0, r1, 0 - adds r0, 0x4D - ldrb r0, [r0] - cmp r0, 0 - beq _0802C21C - adds r0, r1, 0 - adds r0, 0x71 - ldrb r0, [r0] - bl sub_802DCCC - ldr r1, =gUnknown_082FB654 - subs r0, 0x2 - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - bl PlaySE - ldr r0, [r4] - adds r0, 0x4D - strb r5, [r0] -_0802C21C: - ldr r0, =gUnknown_02022CFC - ldr r0, [r0] - adds r0, 0x74 - ldrh r0, [r0] - bl sub_802DD74 - bl sub_802C280 - bl sub_802C240 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_802C1DC - - thumb_func_start sub_802C240 -sub_802C240: @ 802C240 - push {lr} - ldr r0, =gUnknown_02022CFC - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x46 - ldrb r0, [r0] - cmp r0, 0 - beq _0802C256 - ldr r0, [r1, 0x14] - bl sub_802DC9C -_0802C256: - pop {r0} - bx r0 - .pool - thumb_func_end sub_802C240 - - thumb_func_start sub_802C260 -sub_802C260: @ 802C260 - ldr r0, =gUnknown_02022CFC - ldr r0, [r0] - adds r0, 0x46 - movs r1, 0 - strb r1, [r0] - bx lr - .pool - thumb_func_end sub_802C260 - - thumb_func_start sub_802C270 -sub_802C270: @ 802C270 - ldr r0, =gUnknown_02022CFC - ldr r0, [r0] - adds r0, 0x46 - movs r1, 0x1 - strb r1, [r0] - bx lr - .pool - thumb_func_end sub_802C270 - - thumb_func_start sub_802C280 -sub_802C280: @ 802C280 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - movs r6, 0 - ldr r2, =gUnknown_02022CFC - ldr r0, [r2] - ldrb r0, [r0, 0x5] - mov r9, r0 - movs r5, 0 - cmp r6, r9 - bge _0802C360 - mov r10, r2 - mov r8, r5 - movs r7, 0 -_0802C2A2: - mov r0, r10 - ldr r3, [r0] - adds r1, r3, r7 - ldr r2, =0x000082f4 - adds r0, r1, r2 - ldrh r2, [r0] - cmp r2, 0x1 - beq _0802C2D4 - cmp r2, 0x1 - bgt _0802C2C4 - cmp r2, 0 - beq _0802C2CA - b _0802C354 - .pool -_0802C2C4: - cmp r2, 0x2 - beq _0802C338 - b _0802C354 -_0802C2CA: - adds r0, r5, 0 - movs r1, 0 - bl sub_802DC80 - b _0802C354 -_0802C2D4: - ldr r0, =0x000082f6 - adds r4, r1, r0 - ldrh r0, [r4] - cmp r0, 0x1 - bne _0802C2F6 - ldr r0, =0x000082f2 - adds r0, r1 - adds r1, r3, 0 - adds r1, 0x9A - add r1, r8 - str r1, [sp] - ldrh r1, [r0] - mov r12, r1 - ldr r0, [sp] - ldrh r0, [r0] - cmp r12, r0 - beq _0802C31E -_0802C2F6: - ldrb r3, [r3, 0x6] - cmp r5, r3 - bne _0802C2FE - strh r2, [r4] -_0802C2FE: - orrs r6, r2 - mov r1, r10 - ldr r2, [r1] - ldr r1, =0x000082e8 - adds r0, r2, r1 - adds r0, r7 - ldr r1, =0x7fffffff - str r1, [r0] - adds r1, r2, 0 - adds r1, 0x9A - add r1, r8 - adds r2, r7 - ldr r0, =0x000082f2 - adds r2, r0 - ldrh r0, [r2] - strh r0, [r1] -_0802C31E: - adds r0, r5, 0 - bl sub_802C398 - b _0802C354 - .pool -_0802C338: - ldr r0, =0x000082f6 - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0x2 - beq _0802C354 - ldrb r3, [r3, 0x6] - cmp r5, r3 - bne _0802C34A - strh r2, [r1] -_0802C34A: - orrs r6, r2 - lsls r0, r5, 24 - lsrs r0, 24 - bl sub_802DD88 -_0802C354: - movs r1, 0x2 - add r8, r1 - adds r7, 0x28 - adds r5, 0x1 - cmp r5, r9 - blt _0802C2A2 -_0802C360: - movs r0, 0x2 - ands r0, r6 - cmp r0, 0 - beq _0802C378 - movs r0, 0x83 - lsls r0, 1 - bl PlaySE - b _0802C386 - .pool -_0802C378: - movs r0, 0x1 - ands r6, r0 - cmp r6, 0 - beq _0802C386 - movs r0, 0xA - bl PlaySE -_0802C386: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_802C280 - - thumb_func_start sub_802C398 -sub_802C398: @ 802C398 - push {r4-r6,lr} - adds r6, r0, 0 - ldr r0, =gUnknown_02022CFC - ldr r2, [r0] - ldr r0, [r2, 0x68] - cmp r0, 0 - bne _0802C432 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, =0x000082e4 - adds r0, r1 - adds r5, r2, r0 - ldr r1, [r5, 0x4] - ldr r0, =0x7fffffff - cmp r1, r0 - beq _0802C3D0 - adds r0, r1, 0x1 - str r0, [r5, 0x4] - adds r3, r0, 0 - b _0802C3E8 - .pool -_0802C3D0: - adds r0, r2, 0 - adds r0, 0x4A - ldrh r1, [r0] - ldrh r0, [r5, 0xE] - subs r3, r1, r0 - ldr r0, =0x0000fde7 - cmp r3, r0 - ble _0802C3E6 - ldr r0, =0xffff0218 - adds r3, r0 - adds r3, r1 -_0802C3E6: - str r3, [r5, 0x4] -_0802C3E8: - cmp r3, 0x3 - ble _0802C432 - subs r3, 0x4 - cmp r3, 0x2F - bgt _0802C414 - ldr r2, =gUnknown_082FB65C - ldrh r1, [r5, 0xC] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 4 - adds r0, r3, r0 - adds r0, r2 - movs r4, 0 - ldrsb r4, [r0, r4] - b _0802C416 - .pool -_0802C414: - movs r4, 0 -_0802C416: - adds r1, r4, 0 - adds r0, r6, 0 - bl sub_802DC80 - cmp r4, 0 - bne _0802C430 - ldr r0, =gUnknown_02022CFC - ldr r0, [r0] - ldrb r0, [r0, 0x6] - cmp r6, r0 - bne _0802C430 - bl sub_802C1BC -_0802C430: - str r4, [r5] -_0802C432: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_802C398 - - thumb_func_start sub_802C43C -sub_802C43C: @ 802C43C - push {r4,r5,lr} - ldr r5, =gUnknown_02022CFC - ldr r1, [r5] - ldr r0, [r1, 0x14] - cmp r0, 0x8 - bne _0802C4CE - ldr r0, [r1, 0x18] - cmp r0, 0x7 - bne _0802C4CE - ldr r4, [r1, 0x58] - cmp r4, 0 - bne _0802C46C - bl sub_802C780 - ldr r0, [r5] - str r4, [r0, 0x54] - movs r1, 0x1 - str r1, [r0, 0x58] - adds r0, 0x71 - strb r4, [r0] - b _0802C4CE - .pool -_0802C46C: - ldr r0, [r1, 0x54] - cmp r0, 0x5 - bne _0802C480 - ldrh r0, [r1, 0xC] - adds r0, 0x1 - strh r0, [r1, 0xC] - ldrh r0, [r1, 0xC] - bl sub_802C7A0 - b _0802C484 -_0802C480: - movs r0, 0 - strh r0, [r1, 0xC] -_0802C484: - ldr r4, =gUnknown_02022CFC - ldr r1, [r4] - ldr r0, [r1, 0x54] - cmp r0, 0x1 - ble _0802C49E - movs r0, 0x1 - str r0, [r1, 0x64] - adds r0, r1, 0 - adds r0, 0x86 - adds r1, 0x81 - movs r2, 0x5 - bl memcpy -_0802C49E: - bl sub_802C780 - ldr r0, [r4] - movs r2, 0 - str r2, [r0, 0x54] - movs r1, 0x1 - str r1, [r0, 0x58] - adds r0, 0x71 - strb r2, [r0] - ldr r0, [r4] - adds r2, r0, 0 - adds r2, 0x74 - ldrh r1, [r2] - ldr r0, =0x0000270e - cmp r1, r0 - bhi _0802C4C2 - adds r0, r1, 0x1 - strh r0, [r2] -_0802C4C2: - movs r0, 0xA - bl sub_802C688 - movs r0, 0x3 - bl sub_802AE14 -_0802C4CE: - ldr r4, =gUnknown_02022CFC - ldr r0, [r4] - ldr r0, [r0, 0x64] - cmp r0, 0 - beq _0802C504 - bl sub_802C618 - cmp r0, 0x1 - beq _0802C4E8 - ldr r0, [r4] - ldr r0, [r0, 0x14] - cmp r0, 0 - bne _0802C504 -_0802C4E8: - ldr r0, [r4] - adds r0, 0x86 - bl sub_802C73C - bl sub_802C790 - bl sub_802C688 - movs r0, 0x3 - bl sub_802AE14 - ldr r1, [r4] - movs r0, 0 - str r0, [r1, 0x64] -_0802C504: - ldr r4, =gUnknown_02022CFC - ldr r0, [r4] - ldr r0, [r0, 0x58] - cmp r0, 0 - beq _0802C52A - bl sub_802C6B0 - adds r2, r0, 0 - ldr r1, [r4] - ldr r0, [r1, 0x54] - cmp r2, r0 - ble _0802C52A - str r2, [r1, 0x54] - adds r0, r1, 0 - adds r0, 0x81 - adds r1, 0x7C - movs r2, 0x5 - bl memcpy -_0802C52A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_802C43C - - thumb_func_start sub_802C538 -sub_802C538: @ 802C538 - push {r4,r5,lr} - ldr r5, =gUnknown_02022CFC - ldr r1, [r5] - ldr r0, [r1, 0x14] - cmp r0, 0x6 - bne _0802C582 - ldr r4, =0x000083ac - adds r0, r1, r4 - ldr r1, [r0] - ldr r0, [r1] - cmp r0, 0 - bne _0802C582 - ldrh r0, [r1, 0x12] - cmp r0, 0x1 - bne _0802C578 - bl sub_802C0DC - adds r1, r0, 0 - cmp r1, 0x1 - bne _0802C578 - ldr r0, [r5] - adds r0, r4 - ldr r0, [r0] - str r1, [r0, 0x14] - b _0802C582 - .pool -_0802C574: - movs r0, 0 - b _0802C5CA -_0802C578: - bl sub_802C18C - movs r0, 0x3 - bl sub_802AE14 -_0802C582: - ldr r0, =gUnknown_02022CFC - ldr r1, [r0] - ldr r0, [r1, 0x14] - cmp r0, 0x7 - bne _0802C5A8 - ldr r0, [r1, 0x18] - cmp r0, 0x6 - bne _0802C5A8 - ldr r2, =0x000083ac - adds r0, r1, r2 - ldr r1, [r0] - ldrh r0, [r1, 0x10] - cmp r0, 0x2 - beq _0802C5A8 - movs r0, 0x1 - str r0, [r1, 0x14] - movs r0, 0x3 - bl sub_802AE14 -_0802C5A8: - movs r2, 0 - ldr r0, =gUnknown_02022CFC - ldr r0, [r0] - ldrb r1, [r0, 0x5] - cmp r2, r1 - bge _0802C5C8 - adds r3, r1, 0 - ldr r4, =0x000082f4 - adds r1, r0, r4 -_0802C5BA: - ldrh r0, [r1] - cmp r0, 0x2 - beq _0802C574 - adds r1, 0x28 - adds r2, 0x1 - cmp r2, r3 - blt _0802C5BA -_0802C5C8: - movs r0, 0x1 -_0802C5CA: - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_802C538 - - thumb_func_start sub_802C5DC -sub_802C5DC: @ 802C5DC - push {r4,lr} - ldr r0, =gUnknown_02022CFC - ldr r0, [r0] - ldrb r3, [r0, 0x5] - movs r4, 0 - cmp r4, r3 - bge _0802C600 - ldr r1, =0x000082f8 - adds r2, r0, r1 - adds r1, r3, 0 -_0802C5F0: - ldr r0, [r2] - cmp r0, 0 - beq _0802C5F8 - adds r4, 0x1 -_0802C5F8: - adds r2, 0x28 - subs r1, 0x1 - cmp r1, 0 - bne _0802C5F0 -_0802C600: - movs r0, 0 - cmp r4, r3 - bne _0802C608 - movs r0, 0x1 -_0802C608: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_802C5DC - - thumb_func_start sub_802C618 -sub_802C618: @ 802C618 - push {r4,lr} - movs r2, 0 - ldr r0, =gUnknown_02022CFC - ldr r0, [r0] - ldrb r1, [r0, 0x5] - cmp r2, r1 - bge _0802C648 - adds r3, r1, 0 - ldr r4, =0x000082f8 - adds r1, r0, r4 -_0802C62C: - ldr r0, [r1] - cmp r0, 0x1 - beq _0802C640 - movs r0, 0 - b _0802C64A - .pool -_0802C640: - adds r1, 0x28 - adds r2, 0x1 - cmp r2, r3 - blt _0802C62C -_0802C648: - movs r0, 0x1 -_0802C64A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802C618 - - thumb_func_start sub_802C650 -sub_802C650: @ 802C650 - push {lr} - ldr r0, =gUnknown_02022CFC - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x45 - ldrb r0, [r0] - cmp r0, 0x1 - bne _0802C668 -_0802C660: - movs r0, 0 - b _0802C684 - .pool -_0802C668: - movs r2, 0x1 - ldrb r0, [r1, 0x5] - cmp r2, r0 - bge _0802C682 - adds r3, r0, 0 - adds r1, 0x92 -_0802C674: - ldrh r0, [r1] - cmp r0, 0x1 - beq _0802C660 - adds r1, 0x2 - adds r2, 0x1 - cmp r2, r3 - blt _0802C674 -_0802C682: - movs r0, 0x1 -_0802C684: - pop {r1} - bx r1 - thumb_func_end sub_802C650 - - thumb_func_start sub_802C688 -sub_802C688: @ 802C688 - push {lr} - ldr r1, =gUnknown_02022CFC - ldr r2, [r1] - ldr r1, [r2, 0x78] - adds r1, r0 - str r1, [r2, 0x78] - movs r0, 0x1 - str r0, [r2, 0x5C] - ldr r0, =0x00018695 - cmp r1, r0 - bls _0802C6A2 - adds r0, 0x1 - str r0, [r2, 0x78] -_0802C6A2: - pop {r0} - bx r0 - .pool - thumb_func_end sub_802C688 - - thumb_func_start sub_802C6B0 -sub_802C6B0: @ 802C6B0 - push {r4-r7,lr} - movs r5, 0 - ldr r1, =gUnknown_02022CFC - ldr r0, [r1] - ldrb r4, [r0, 0x5] - movs r2, 0 - cmp r5, r4 - bge _0802C702 - mov r12, r1 - movs r3, 0 - ldr r7, =0x000082e4 - movs r6, 0x1E - negs r6, r6 -_0802C6CA: - mov r0, r12 - ldr r1, [r0] - adds r0, r1, r7 - adds r0, r3 - ldr r0, [r0] - cmp r0, r6 - bne _0802C6F0 - adds r0, r1, 0 - adds r0, 0x7C - adds r0, r2 - movs r1, 0x1 - strb r1, [r0] - adds r5, 0x1 - b _0802C6FA - .pool -_0802C6F0: - adds r0, r1, 0 - adds r0, 0x7C - adds r0, r2 - movs r1, 0 - strb r1, [r0] -_0802C6FA: - adds r3, 0x28 - adds r2, 0x1 - cmp r2, r4 - blt _0802C6CA -_0802C702: - adds r0, r5, 0 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_802C6B0 - - thumb_func_start sub_802C70C -sub_802C70C: @ 802C70C - push {lr} - movs r2, 0 - ldr r1, =gUnknown_03005000 - ldr r3, =0x000009e6 - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, 0 - bne _0802C728 - ldr r3, =0x00000c1a - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, 0 - bne _0802C728 - movs r2, 0x1 -_0802C728: - adds r0, r2, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_802C70C - - thumb_func_start sub_802C73C -sub_802C73C: @ 802C73C - push {r4-r6,lr} - adds r4, r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - ldr r6, =gUnknown_02022CFC - movs r5, 0x1 -_0802C74A: - adds r0, r4, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _0802C75A - adds r0, r5, 0 - lsls r0, r1 - orrs r2, r0 - adds r3, 0x1 -_0802C75A: - adds r1, 0x1 - cmp r1, 0x4 - ble _0802C74A - ldr r0, [r6] - adds r0, 0x71 - strb r2, [r0] - cmp r2, 0 - beq _0802C772 - ldr r0, [r6] - adds r0, 0x4D - movs r1, 0x1 - strb r1, [r0] -_0802C772: - adds r0, r3, 0 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_802C73C - - thumb_func_start sub_802C780 -sub_802C780: @ 802C780 - ldr r0, =gUnknown_02022CFC - ldr r0, [r0] - adds r0, 0x44 - movs r1, 0 - strb r1, [r0] - bx lr - .pool - thumb_func_end sub_802C780 - - thumb_func_start sub_802C790 -sub_802C790: @ 802C790 - ldr r1, =gUnknown_082FB6EC - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bx lr - .pool - thumb_func_end sub_802C790 - - thumb_func_start sub_802C7A0 -sub_802C7A0: @ 802C7A0 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, =gUnknown_02022CFC - ldr r0, [r0] - ldrh r2, [r0, 0xE] - cmp r1, r2 - bls _0802C7B2 - strh r1, [r0, 0xE] -_0802C7B2: - pop {r0} - bx r0 - .pool - thumb_func_end sub_802C7A0 - - thumb_func_start sub_802C7BC -sub_802C7BC: @ 802C7BC - push {lr} - ldr r0, =gUnknown_02022CFC - ldr r0, [r0] - ldr r1, =gUnknown_082FB714 - ldr r2, [r0, 0x78] - ldr r0, [r1] - cmp r2, r0 - bcs _0802C7D8 - movs r0, 0 - b _0802C7DA - .pool -_0802C7D8: - movs r0, 0x1 -_0802C7DA: - pop {r1} - bx r1 - thumb_func_end sub_802C7BC - - thumb_func_start sub_802C7E0 -sub_802C7E0: @ 802C7E0 - push {r4,lr} - bl sub_802C818 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - bl sub_802C838 - lsls r0, 16 - lsrs r0, 4 - ldr r1, =0x00000fff - ands r4, r1 - orrs r0, r4 - lsls r0, 16 - lsrs r0, 16 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_802C7E0 - - thumb_func_start sub_802C808 -sub_802C808: @ 802C808 - lsls r0, 16 - lsrs r3, r0, 28 - strh r3, [r2] - lsls r0, 4 - lsrs r0, 20 - strh r0, [r1] - bx lr - thumb_func_end sub_802C808 - - thumb_func_start sub_802C818 -sub_802C818: @ 802C818 - push {lr} - bl Random - lsls r0, 16 - movs r1, 0xE0 - lsls r1, 11 - ands r1, r0 - ldr r0, =gUnknown_082FB704 - lsrs r1, 15 - adds r1, r0 - ldrh r0, [r1] - pop {r1} - bx r1 - .pool - thumb_func_end sub_802C818 - - thumb_func_start sub_802C838 -sub_802C838: @ 802C838 - push {r4-r6,lr} - movs r5, 0 - movs r4, 0 - ldr r3, =gUnknown_02022CFC - ldr r0, [r3] - ldr r2, =gUnknown_082FB714 - ldr r1, [r0, 0x78] - ldr r0, [r2] - cmp r1, r0 - bcc _0802C874 - ldr r5, [r2, 0x4] - adds r6, r3, 0 - adds r3, r2, 0x4 -_0802C852: - adds r3, 0x8 - adds r2, 0x8 - adds r4, 0x1 - cmp r4, 0x4 - bhi _0802C874 - ldr r0, [r6] - ldr r1, [r0, 0x78] - ldr r0, [r2] - cmp r1, r0 - bcc _0802C874 - ldr r5, [r3] - b _0802C852 - .pool -_0802C874: - lsls r0, r5, 16 - lsrs r0, 16 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_802C838 - - thumb_func_start sub_802C880 -sub_802C880: @ 802C880 - push {r4,r5,lr} - lsls r0, 16 - lsrs r5, r0, 16 - lsls r1, 16 - lsrs r4, r1, 16 - b _0802C892 -_0802C88C: - subs r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 -_0802C892: - cmp r4, 0 - beq _0802C8A4 - adds r0, r5, 0 - adds r1, r4, 0 - bl CheckBagHasSpace - lsls r0, 24 - cmp r0, 0 - beq _0802C88C -_0802C8A4: - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_802C880 - - thumb_func_start sub_802C8AC -sub_802C8AC: @ 802C8AC - push {lr} - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_802C8AC - - thumb_func_start sub_802C8BC -sub_802C8BC: @ 802C8BC - ldr r0, =gUnknown_02022CFC - ldr r0, [r0] - ldrb r0, [r0, 0x6] - bx lr - .pool - thumb_func_end sub_802C8BC - - thumb_func_start sub_802C8C8 -sub_802C8C8: @ 802C8C8 - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gUnknown_02022CFC - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - ldr r0, =0x000082a8 - adds r1, r0 - ldr r0, [r2] - adds r0, r1 - bx lr - .pool - thumb_func_end sub_802C8C8 - - thumb_func_start sub_802C8E8 -sub_802C8E8: @ 802C8E8 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gUnknown_02022CFC - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, [r2] - adds r0, r1 - movs r1, 0x83 - lsls r1, 8 - adds r0, r1 - bx lr - .pool - thumb_func_end sub_802C8E8 - - thumb_func_start sub_802C908 -sub_802C908: @ 802C908 - push {lr} - lsls r0, 16 - lsrs r0, 16 - bl sub_802AC00 - lsls r0, 16 - asrs r0, 16 - mvns r0, r0 - lsrs r0, 31 - pop {r1} - bx r1 - thumb_func_end sub_802C908 - - thumb_func_start sub_802C920 -sub_802C920: @ 802C920 - push {r4,r5,lr} - movs r5, 0 -_0802C924: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x5 - bl GetMonData - cmp r0, 0 - beq _0802C95C - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - bl sub_802C908 - cmp r0, 0 - beq _0802C95C - ldr r1, =gSpecialVar_Result - movs r0, 0x1 - b _0802C966 - .pool -_0802C95C: - adds r5, 0x1 - cmp r5, 0x5 - ble _0802C924 - ldr r1, =gSpecialVar_Result - movs r0, 0 -_0802C966: - strh r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_802C920 - - thumb_func_start sub_802C974 -sub_802C974: @ 802C974 - push {r4-r6,lr} - adds r6, r0, 0 - movs r4, 0 - ldr r5, =gUnknown_082FBE08 -_0802C97C: - adds r0, r5, 0 - bl LoadCompressedSpriteSheet - adds r5, 0x8 - adds r4, 0x1 - cmp r4, 0x4 - bls _0802C97C - movs r4, 0 - ldr r5, =gUnknown_082FBE30 -_0802C98E: - adds r0, r5, 0 - bl LoadSpritePalette - adds r5, 0x8 - adds r4, 0x1 - cmp r4, 0x1 - bls _0802C98E - movs r0, 0x5 - bl IndexOfSpritePaletteTag - strb r0, [r6, 0xE] - movs r0, 0x6 - bl IndexOfSpritePaletteTag - strb r0, [r6, 0xF] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_802C974 - - thumb_func_start sub_802C9BC -sub_802C9BC: @ 802C9BC - push {lr} - movs r2, 0 - movs r1, 0x7 - adds r0, 0x3C -_0802C9C4: - strh r2, [r0] - subs r0, 0x2 - subs r1, 0x1 - cmp r1, 0 - bge _0802C9C4 - pop {r0} - bx r0 - thumb_func_end sub_802C9BC - - thumb_func_start sub_802C9D4 -sub_802C9D4: @ 802C9D4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x34 - mov r9, r0 - adds r7, r1, 0 - ldr r0, [sp, 0x54] - lsls r2, 16 - lsrs r2, 16 - str r2, [sp, 0x28] - lsls r3, 16 - lsrs r3, 16 - str r3, [sp, 0x2C] - lsls r0, 24 - lsrs r6, r0, 24 - mov r1, sp - ldr r0, =gUnknown_082FBE40 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - movs r0, 0x80 - lsls r0, 6 - bl Alloc - mov r8, r0 - movs r0, 0x80 - lsls r0, 4 - bl Alloc - mov r10, r0 - bl sub_802C8BC - lsls r0, 16 - lsrs r0, 16 - cmp r6, r0 - bne _0802CA2C - movs r0, 0x3 - b _0802CA32 - .pool -_0802CA2C: - adds r0, r6, 0x4 - lsls r0, 24 - lsrs r0, 24 -_0802CA32: - str r0, [sp, 0x30] - mov r1, r8 - cmp r1, 0 - beq _0802CAF4 - mov r2, r10 - cmp r2, 0 - beq _0802CAF4 - ldrh r2, [r7] - lsls r0, r2, 3 - ldr r1, =gMonStillFrontPicTable - adds r0, r1 - ldr r3, [r7, 0x8] - mov r1, r8 - bl HandleLoadSpecialPokePic - mov r3, r8 - str r3, [sp, 0x18] - adds r4, r6, 0 - add r0, sp, 0x18 - ldr r5, =0xffff0000 - lsls r1, r4, 16 - movs r2, 0x80 - lsls r2, 4 - orrs r1, r2 - str r1, [r0, 0x4] - bl LoadSpriteSheet - ldrh r0, [r7] - ldr r1, [r7, 0x4] - ldr r2, [r7, 0x8] - bl GetFrontSpritePalFromSpeciesAndPersonality - str r0, [sp, 0x20] - add r0, sp, 0x20 - ldr r1, [r0, 0x4] - ands r1, r5 - orrs r1, r4 - str r1, [r0, 0x4] - bl LoadCompressedSpritePalette - mov r0, r8 - bl Free - mov r0, r10 - bl Free - mov r1, sp - mov r0, sp - ldrh r0, [r0] - adds r0, r6 - strh r0, [r1] - mov r0, sp - ldrh r0, [r0, 0x2] - adds r0, r6 - strh r0, [r1, 0x2] - ldr r4, [sp, 0x28] - lsls r1, r4, 16 - asrs r1, 16 - ldr r0, [sp, 0x2C] - lsls r2, r0, 16 - asrs r2, 16 - mov r0, sp - ldr r3, [sp, 0x30] - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _0802CAF4 - lsls r0, r6, 2 - ldr r2, =0x000081a8 - add r2, r9 - adds r2, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - str r0, [r2] - ldr r0, =0x000081fc - add r0, r9 - adds r0, r6 - add r1, sp, 0x30 - ldrb r1, [r1] - strb r1, [r0] - b _0802CB00 - .pool -_0802CAF4: - lsls r0, r6, 2 - ldr r1, =0x000081a8 - add r1, r9 - adds r1, r0 - movs r0, 0 - str r0, [r1] -_0802CB00: - add sp, 0x34 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_802C9D4 - - thumb_func_start sub_802CB14 -sub_802CB14: @ 802CB14 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r6, r1, 2 - ldr r0, =0x000081bc - adds r5, r4, r0 - adds r5, r6 - ldr r0, [r5] - bl sub_802C9BC - ldr r2, [r5] - ldr r0, =0x000081a8 - adds r4, r0 - adds r4, r6 - ldr r1, [r4] - ldr r0, =gSprites - subs r1, r0 - lsls r0, r1, 4 - subs r0, r1 - lsls r1, r0, 8 - adds r0, r1 - lsls r1, r0, 16 - adds r0, r1 - negs r0, r0 - asrs r0, 2 - strh r0, [r2, 0x3C] - ldr r1, [r5] - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldr r1, [r5] - movs r0, 0x60 - strh r0, [r1, 0x22] - ldr r0, [r5] - ldr r1, =sub_802CB7C - str r1, [r0, 0x1C] - movs r1, 0x1 - bl StartSpriteAnim - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_802CB14 - - thumb_func_start sub_802CB7C -sub_802CB7C: @ 802CB7C - push {lr} - adds r2, r0, 0 - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0x1 - beq _0802CBA8 - cmp r0, 0x1 - bgt _0802CB92 - cmp r0, 0 - beq _0802CB98 - b _0802CBE6 -_0802CB92: - cmp r0, 0x2 - beq _0802CBC8 - b _0802CBE6 -_0802CB98: - adds r0, r2, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0802CBE6 - b _0802CBD6 -_0802CBA8: - ldrh r1, [r2, 0x22] - subs r1, 0x1 - strh r1, [r2, 0x22] - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x48 - bgt _0802CBE6 - movs r0, 0x48 - strh r0, [r2, 0x22] - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - b _0802CBE6 -_0802CBC8: - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2F - ble _0802CBE6 -_0802CBD6: - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r3] - ldr r0, =SpriteCallbackDummy - str r0, [r2, 0x1C] -_0802CBE6: - pop {r0} - bx r0 - .pool - thumb_func_end sub_802CB7C - - thumb_func_start sub_802CBF0 -sub_802CBF0: @ 802CBF0 - push {lr} - lsls r1, 2 - ldr r2, =0x000081a8 - adds r0, r2 - adds r0, r1 - ldr r2, [r0] - ldr r1, =sub_802CC40 - str r1, [r2, 0x1C] - movs r1, 0 - strh r1, [r2, 0x26] - ldr r0, [r0] - bl sub_802C9BC - pop {r0} - bx r0 - .pool - thumb_func_end sub_802CBF0 - - thumb_func_start sub_802CC18 -sub_802CC18: @ 802CC18 - push {lr} - movs r2, 0 - lsls r1, 2 - ldr r3, =0x000081a8 - adds r0, r3 - adds r0, r1 - ldr r0, [r0] - ldr r1, [r0, 0x1C] - ldr r0, =sub_802CC40 - cmp r1, r0 - bne _0802CC30 - movs r2, 0x1 -_0802CC30: - adds r0, r2, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_802CC18 - - thumb_func_start sub_802CC40 -sub_802CC40: @ 802CC40 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _0802CC6C - ldrh r0, [r2, 0x32] - adds r0, 0x1 - strh r0, [r2, 0x32] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0802CC64 - movs r0, 0x2 - b _0802CC66 -_0802CC64: - ldr r0, =0x0000fffe -_0802CC66: - strh r0, [r2, 0x26] - movs r0, 0 - strh r0, [r2, 0x30] -_0802CC6C: - movs r1, 0x32 - ldrsh r0, [r2, r1] - cmp r0, 0xC - ble _0802CC7C - movs r0, 0 - strh r0, [r2, 0x26] - ldr r0, =SpriteCallbackDummy - str r0, [r2, 0x1C] -_0802CC7C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_802CC40 - - thumb_func_start sub_802CC88 -sub_802CC88: @ 802CC88 - push {r4,lr} - adds r4, r0, 0 - lsls r1, 2 - ldr r0, =0x000081a8 - adds r4, r0 - adds r4, r1 - ldr r0, [r4] - bl sub_802C9BC - ldr r1, [r4] - ldr r0, =sub_802CD08 - str r0, [r1, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_802CC88 - - thumb_func_start sub_802CCB0 -sub_802CCB0: @ 802CCB0 - push {r4-r7,lr} - adds r4, r0, 0 - bl sub_802C8AC - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - beq _0802CCF4 - movs r1, 0x5 - negs r1, r1 - mov r12, r1 - ldr r1, =0x000081a8 - adds r3, r4, r1 - ldr r7, =sub_802CD08 - ldr r6, =SpriteCallbackDummy - movs r5, 0xA - adds r4, r0, 0 -_0802CCD2: - ldr r2, [r3] - ldr r0, [r2, 0x1C] - cmp r0, r7 - bne _0802CCEC - adds r2, 0x3E - ldrb r1, [r2] - mov r0, r12 - ands r0, r1 - strb r0, [r2] - ldr r0, [r3] - str r6, [r0, 0x1C] - adds r0, 0x43 - strb r5, [r0] -_0802CCEC: - adds r3, 0x4 - subs r4, 0x1 - cmp r4, 0 - bne _0802CCD2 -_0802CCF4: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_802CCB0 - - thumb_func_start sub_802CD08 -sub_802CD08: @ 802CD08 - push {lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _0802CD36 - movs r0, 0 - strh r0, [r3, 0x2E] - adds r3, 0x3E - ldrb r2, [r3] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] -_0802CD36: - pop {r0} - bx r0 - thumb_func_end sub_802CD08 - - thumb_func_start sub_802CD3C -sub_802CD3C: @ 802CD3C - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_802C8AC - lsls r0, 16 - lsrs r3, r0, 16 - movs r2, 0 - cmp r2, r3 - bge _0802CD66 - ldr r0, =0x000081fc - adds r5, r4, r0 - subs r0, 0x54 - adds r4, r0 -_0802CD56: - ldm r4!, {r0} - adds r1, r5, r2 - ldrb r1, [r1] - adds r0, 0x43 - strb r1, [r0] - adds r2, 0x1 - cmp r2, r3 - blt _0802CD56 -_0802CD66: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_802CD3C - - thumb_func_start sub_802CD70 -sub_802CD70: @ 802CD70 - push {r4,lr} - adds r4, r0, 0 - lsls r1, 2 - ldr r0, =0x000081a8 - adds r4, r0 - adds r4, r1 - ldr r0, [r4] - bl sub_802C9BC - ldr r1, [r4] - ldr r0, =sub_802CDD4 - str r0, [r1, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_802CD70 - - thumb_func_start sub_802CD98 -sub_802CD98: @ 802CD98 - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_802C8AC - lsls r0, 16 - lsrs r3, r0, 16 - movs r2, 0 - cmp r2, r3 - bge _0802CDCC - ldr r5, =sub_802CDD4 - ldr r0, =0x000081a8 - adds r1, r4, r0 -_0802CDB0: - ldr r0, [r1] - ldr r0, [r0, 0x1C] - cmp r0, r5 - bne _0802CDC4 - movs r0, 0x1 - b _0802CDCE - .pool -_0802CDC4: - adds r1, 0x4 - adds r2, 0x1 - cmp r2, r3 - blt _0802CDB0 -_0802CDCC: - movs r0, 0 -_0802CDCE: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_802CD98 - - thumb_func_start sub_802CDD4 -sub_802CDD4: @ 802CDD4 - push {r4,r5,lr} - adds r5, r0, 0 - movs r0, 0x2E - ldrsh r4, [r5, r0] - cmp r4, 0 - beq _0802CDE6 - cmp r4, 0x1 - beq _0802CDF4 - b _0802CE3C -_0802CDE6: - movs r0, 0x22 - bl PlaySE - strh r4, [r5, 0x30] - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] -_0802CDF4: - ldrh r0, [r5, 0x30] - adds r0, 0x4 - strh r0, [r5, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7F - ble _0802CE06 - movs r0, 0 - strh r0, [r5, 0x30] -_0802CE06: - ldr r1, =gSineTable - movs r2, 0x30 - ldrsh r0, [r5, r2] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 19 - negs r0, r0 - strh r0, [r5, 0x26] - movs r0, 0x30 - ldrsh r1, [r5, r0] - cmp r1, 0 - bne _0802CE3C - ldrh r0, [r5, 0x32] - adds r0, 0x1 - strh r0, [r5, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bgt _0802CE38 - strh r1, [r5, 0x2E] - b _0802CE3C - .pool -_0802CE38: - ldr r0, =SpriteCallbackDummy - str r0, [r5, 0x1C] -_0802CE3C: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_802CDD4 - - thumb_func_start sub_802CE48 -sub_802CE48: @ 802CE48 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r3, 24 - lsrs r4, r3, 24 - ldr r0, =gUnknown_082FC00C - lsls r1, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _0802CE88 - ldr r0, =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - adds r3, r1, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r3] - lsls r2, r4, 2 - ldr r3, =0x000081bc - adds r0, r5, r3 - adds r0, r2 - str r1, [r0] -_0802CE88: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_802CE48 - thumb_func_start sub_802CE9C sub_802CE9C: @ 802CE9C push {r4-r7,lr} @@ -5212,7 +476,7 @@ _0802D178: bl CopyBgTilemapBufferToVram movs r0, 0x1 bl CopyBgTilemapBufferToVram - bl sub_8199D98 + bl ResetBgPositions b _0802D2CC .pool _0802D298: diff --git a/asm/pokenav.s b/asm/pokenav.s deleted file mode 100644 index 8b082c2ae8..0000000000 --- a/asm/pokenav.s +++ /dev/null @@ -1,18699 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - - - - - thumb_func_start sub_81C81D4 -sub_81C81D4: @ 81C81D4 - push {r4-r7,lr} - adds r6, r0, 0 - adds r5, r1, 0 - adds r7, r2, 0 - ldr r1, =0x000008a4 - movs r0, 0x11 - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081C821C - ldr r1, =0x00000888 - adds r0, r4, r1 - adds r1, r5, 0 - bl sub_81C9160 - adds r0, r4, 0 - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r7, 0 - bl sub_81C91AC - cmp r0, 0 - beq _081C821C - ldr r0, =sub_81C8254 - movs r1, 0x6 - bl sub_81C7078 - movs r0, 0x1 - b _081C821E - .pool -_081C821C: - movs r0, 0 -_081C821E: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81C81D4 - - thumb_func_start sub_81C8224 -sub_81C8224: @ 81C8224 - push {lr} - ldr r0, =sub_81C8254 - bl sub_81C7124 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81C8224 - - thumb_func_start sub_81C8234 -sub_81C8234: @ 81C8234 - push {r4,lr} - movs r0, 0x11 - bl GetSubstructPtr - adds r4, r0, 0 - bl sub_81C8FE0 - ldrb r0, [r4, 0x8] - bl RemoveWindow - movs r0, 0x11 - bl FreeSubstruct - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81C8234 - - thumb_func_start sub_81C8254 -sub_81C8254: @ 81C8254 - push {r4,lr} - adds r4, r0, 0 - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _081C82C0 - movs r0, 0x11 - bl GetSubstructPtr - adds r2, r0, 0 - cmp r4, 0x4 - bhi _081C82D6 - lsls r0, r4, 2 - ldr r1, =_081C827C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081C827C: - .4byte _081C8290 - .4byte _081C829A - .4byte _081C82A4 - .4byte _081C82B8 - .4byte _081C82CC -_081C8290: - adds r0, r2, 0 - bl sub_81C82E4 - movs r0, 0 - b _081C82D8 -_081C829A: - adds r0, r2, 0 - bl sub_81C835C - movs r0, 0 - b _081C82D8 -_081C82A4: - ldr r1, =0x00000888 - adds r0, r2, r1 - adds r1, r2, 0 - bl sub_81C837C - movs r0, 0 - b _081C82D8 - .pool -_081C82B8: - bl sub_81C83E0 - cmp r0, 0 - beq _081C82C4 -_081C82C0: - movs r0, 0x2 - b _081C82D8 -_081C82C4: - bl sub_81C8ED0 - movs r0, 0x1 - b _081C82D8 -_081C82CC: - ldr r1, =0x00000888 - adds r0, r2, r1 - adds r1, r2, 0 - bl sub_81C8EF8 -_081C82D6: - movs r0, 0x4 -_081C82D8: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81C8254 - - thumb_func_start sub_81C82E4 -sub_81C82E4: @ 81C82E4 - push {r4,r5,lr} - sub sp, 0x8 - adds r5, r0, 0 - ldrb r4, [r5, 0x1] - lsls r4, 12 - ldrh r0, [r5, 0x6] - orrs r4, r0 - lsls r4, 16 - lsrs r4, 16 - ldrb r0, [r5] - ldrh r2, [r5, 0x6] - movs r1, 0x11 - movs r3, 0x1 - bl sub_8199DF0 - ldrb r0, [r5] - ldrh r2, [r5, 0x6] - adds r2, 0x1 - movs r1, 0x44 - movs r3, 0x1 - bl sub_8199DF0 - ldrb r0, [r5] - adds r1, r5, 0 - adds r1, 0x88 - bl SetBgTilemapBuffer - ldrb r0, [r5] - movs r1, 0x20 - str r1, [sp] - str r1, [sp, 0x4] - adds r1, r4, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - ldrb r0, [r5] - movs r1, 0 - movs r2, 0 - bl ChangeBgY - ldrb r0, [r5] - movs r1, 0 - movs r2, 0 - bl ChangeBgX - ldrb r0, [r5] - ldrb r1, [r5, 0x3] - lsls r1, 11 - movs r2, 0x2 - bl ChangeBgY - ldrb r0, [r5] - bl CopyBgTilemapBufferToVram - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81C82E4 - - thumb_func_start sub_81C835C -sub_81C835C: @ 81C835C - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0x8] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldrb r0, [r4, 0x8] - bl PutWindowTilemap - ldrb r0, [r4, 0x8] - movs r1, 0x1 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81C835C - - thumb_func_start sub_81C837C -sub_81C837C: @ 81C837C - push {r4,r5,lr} - sub sp, 0x8 - adds r3, r0, 0 - adds r5, r1, 0 - ldrh r0, [r3, 0x2] - ldrh r4, [r3] - subs r2, r0, r4 - ldrh r0, [r3, 0x8] - cmp r2, r0 - ble _081C8392 - adds r2, r0, 0 -_081C8392: - ldr r0, [r3, 0x10] - ldr r3, [r3, 0xC] - movs r1, 0 - str r1, [sp] - str r5, [sp, 0x4] - adds r1, r4, 0 - bl sub_81C83AC - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81C837C - - thumb_func_start sub_81C83AC -sub_81C83AC: @ 81C83AC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, [sp, 0x10] - cmp r2, 0 - beq _081C83D6 - adds r0, r5, 0 - muls r0, r3 - adds r0, r4, r0 - str r0, [r1, 0x1C] - str r3, [r1, 0x18] - movs r0, 0 - strh r0, [r1, 0xC] - strh r2, [r1, 0xE] - str r5, [r1, 0x14] - ldr r0, [sp, 0xC] - str r0, [r1, 0x10] - ldr r0, =sub_81C83F0 - movs r1, 0x5 - bl sub_81C7078 -_081C83D6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C83AC - - thumb_func_start sub_81C83E0 -sub_81C83E0: @ 81C83E0 - push {lr} - ldr r0, =sub_81C83F0 - bl sub_81C7124 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81C83E0 - - thumb_func_start sub_81C83F0 -sub_81C83F0: @ 81C83F0 - push {r4-r7,lr} - sub sp, 0xC - adds r6, r0, 0 - movs r0, 0x11 - bl GetSubstructPtr - adds r4, r0, 0 - cmp r6, 0 - beq _081C8408 - cmp r6, 0x1 - beq _081C848C - b _081C849A -_081C8408: - ldrh r0, [r4, 0xA] - ldrh r1, [r4, 0xC] - adds r0, r1 - ldr r1, [r4, 0x10] - adds r5, r0, r1 - movs r0, 0xF - ands r5, r0 - ldr r0, [r4, 0x1C] - adds r7, r4, 0 - adds r7, 0x48 - ldr r2, [r4, 0x34] - adds r1, r7, 0 - bl _call_via_r2 - ldr r3, [r4, 0x38] - cmp r3, 0 - beq _081C8434 - ldrh r0, [r4, 0x8] - ldr r1, [r4, 0x14] - adds r2, r5, 0 - bl _call_via_r3 -_081C8434: - ldrb r0, [r4, 0x8] - ldrb r1, [r4, 0x5] - lsls r2, r5, 4 - movs r3, 0x1 - orrs r2, r3 - str r2, [sp] - movs r2, 0xFF - str r2, [sp, 0x4] - str r6, [sp, 0x8] - adds r2, r7, 0 - movs r3, 0x8 - bl AddTextPrinterParameterized - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r4, 0xE] - cmp r0, r1 - bcc _081C847A - ldr r0, [r4, 0x38] - cmp r0, 0 - beq _081C846E - ldrb r0, [r4, 0x8] - movs r1, 0x3 - bl CopyWindowToVram - b _081C8476 -_081C846E: - ldrb r0, [r4, 0x8] - movs r1, 0x2 - bl CopyWindowToVram -_081C8476: - movs r0, 0 - b _081C849C -_081C847A: - ldr r0, [r4, 0x1C] - ldr r1, [r4, 0x18] - adds r0, r1 - str r0, [r4, 0x1C] - ldr r0, [r4, 0x14] - adds r0, 0x1 - str r0, [r4, 0x14] - movs r0, 0x3 - b _081C849C -_081C848C: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081C849A - movs r0, 0x2 - b _081C849C -_081C849A: - movs r0, 0x4 -_081C849C: - add sp, 0xC - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81C83F0 - - thumb_func_start sub_81C84A4 -sub_81C84A4: @ 81C84A4 - push {lr} - movs r0, 0x11 - bl GetSubstructPtr - ldr r1, =0x00000888 - adds r0, r1 - ldrh r1, [r0] - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81C84A4 - - thumb_func_start sub_81C84C0 -sub_81C84C0: @ 81C84C0 - push {lr} - movs r0, 0x11 - bl GetSubstructPtr - ldr r1, =0x00000888 - adds r0, r1 - movs r3, 0 - ldrh r1, [r0] - ldrh r2, [r0, 0x8] - adds r1, r2 - ldrh r0, [r0, 0x2] - cmp r1, r0 - bge _081C84DC - movs r3, 0x1 -_081C84DC: - adds r0, r3, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81C84C0 - - thumb_func_start sub_81C84E8 -sub_81C84E8: @ 81C84E8 - push {r4-r7,lr} - sub sp, 0x8 - adds r6, r0, 0 - adds r4, r1, 0 - movs r0, 0x11 - bl GetSubstructPtr - adds r7, r0, 0 - ldr r0, =0x00000888 - adds r5, r7, r0 - cmp r6, 0 - bge _081C8524 - ldrh r1, [r5] - adds r0, r1, r6 - cmp r0, 0 - bge _081C850A - negs r6, r1 -_081C850A: - cmp r4, 0 - beq _081C854E - ldr r0, [r5, 0x10] - adds r1, r6 - negs r2, r6 - ldr r3, [r5, 0xC] - str r6, [sp] - str r7, [sp, 0x4] - bl sub_81C83AC - b _081C854E - .pool -_081C8524: - cmp r4, 0 - beq _081C854E - ldr r2, =gUnknown_0203CF44 - ldrh r1, [r5] - ldrh r0, [r5, 0x8] - adds r4, r1, r0 - str r4, [r2] - adds r0, r4, r6 - ldrh r1, [r5, 0x2] - cmp r0, r1 - blt _081C853C - subs r6, r1, r4 -_081C853C: - ldr r0, [r5, 0x10] - ldr r3, [r5, 0xC] - ldrh r1, [r5, 0x8] - str r1, [sp] - str r7, [sp, 0x4] - adds r1, r4, 0 - adds r2, r6, 0 - bl sub_81C83AC -_081C854E: - adds r0, r6, 0 - adds r1, r7, 0 - bl sub_81C8568 - ldrh r0, [r5] - adds r0, r6 - strh r0, [r5] - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C84E8 - - thumb_func_start sub_81C8568 -sub_81C8568: @ 81C8568 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - ldrb r0, [r4] - bl GetBgY - str r0, [r4, 0x20] - lsls r1, r5, 12 - adds r0, r1 - str r0, [r4, 0x24] - cmp r5, 0 - ble _081C8584 - movs r0, 0x1 - b _081C8586 -_081C8584: - movs r0, 0x2 -_081C8586: - str r0, [r4, 0x30] - str r5, [r4, 0x2C] - ldr r0, =sub_81C85A0 - movs r1, 0x6 - bl sub_81C7078 - str r0, [r4, 0x28] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C8568 - - thumb_func_start sub_81C85A0 -sub_81C85A0: @ 81C85A0 - push {r4-r6,lr} - adds r5, r0, 0 - movs r0, 0x11 - bl GetSubstructPtr - adds r4, r0, 0 - cmp r5, 0 - beq _081C85B8 - cmp r5, 0x1 - beq _081C85C4 - movs r0, 0x4 - b _081C862A -_081C85B8: - bl sub_81C83E0 - cmp r0, 0 - bne _081C8628 - movs r0, 0x1 - b _081C862A -_081C85C4: - movs r6, 0 - ldrb r0, [r4] - bl GetBgY - adds r5, r0, 0 - ldrb r0, [r4] - movs r1, 0x80 - lsls r1, 5 - ldr r2, [r4, 0x30] - lsls r2, 24 - lsrs r2, 24 - bl ChangeBgY - adds r1, r0, 0 - ldr r0, [r4, 0x30] - cmp r0, 0x2 - bne _081C85F8 - ldr r2, [r4, 0x24] - cmp r5, r2 - bgt _081C85F2 - ldr r0, [r4, 0x20] - cmp r5, r0 - bgt _081C860A -_081C85F2: - cmp r1, r2 - bgt _081C860A - b _081C860E -_081C85F8: - ldr r2, [r4, 0x24] - cmp r5, r2 - blt _081C8604 - ldr r0, [r4, 0x20] - cmp r5, r0 - blt _081C860A -_081C8604: - cmp r1, r2 - blt _081C860A - movs r6, 0x1 -_081C860A: - cmp r6, 0 - beq _081C8628 -_081C860E: - ldr r1, [r4, 0x2C] - ldrh r0, [r4, 0xA] - adds r0, r1 - movs r1, 0xF - ands r0, r1 - strh r0, [r4, 0xA] - ldrb r0, [r4] - adds r1, r2, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x4 - b _081C862A -_081C8628: - movs r0, 0x2 -_081C862A: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81C85A0 - - thumb_func_start sub_81C8630 -sub_81C8630: @ 81C8630 - push {lr} - movs r0, 0x11 - bl GetSubstructPtr - ldr r0, [r0, 0x28] - bl sub_81C70D8 - pop {r1} - bx r1 - thumb_func_end sub_81C8630 - - thumb_func_start sub_81C8644 -sub_81C8644: @ 81C8644 - push {lr} - movs r0, 0x11 - bl GetSubstructPtr - ldr r1, =0x00000888 - adds r0, r1 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81C8644 - - thumb_func_start sub_81C8658 -sub_81C8658: @ 81C8658 - push {lr} - bl sub_81C8644 - adds r1, r0, 0 - ldrh r0, [r1, 0x6] - cmp r0, 0 - beq _081C866E - subs r0, 0x1 - strh r0, [r1, 0x6] - movs r0, 0x1 - b _081C8686 -_081C866E: - bl sub_81C84A4 - cmp r0, 0 - bne _081C867A - movs r0, 0 - b _081C8686 -_081C867A: - movs r0, 0x1 - negs r0, r0 - movs r1, 0x1 - bl sub_81C84E8 - movs r0, 0x2 -_081C8686: - pop {r1} - bx r1 - thumb_func_end sub_81C8658 - - thumb_func_start sub_81C868C -sub_81C868C: @ 81C868C - push {lr} - bl sub_81C8644 - adds r2, r0, 0 - ldrh r1, [r2] - ldrh r3, [r2, 0x6] - adds r1, r3 - ldrh r0, [r2, 0x2] - subs r0, 0x1 - cmp r1, r0 - bge _081C86BA - ldrh r0, [r2, 0x8] - subs r0, 0x1 - cmp r3, r0 - bge _081C86B2 - adds r0, r3, 0x1 - strh r0, [r2, 0x6] - movs r0, 0x1 - b _081C86C8 -_081C86B2: - bl sub_81C84C0 - cmp r0, 0 - bne _081C86BE -_081C86BA: - movs r0, 0 - b _081C86C8 -_081C86BE: - movs r0, 0x1 - movs r1, 0x1 - bl sub_81C84E8 - movs r0, 0x2 -_081C86C8: - pop {r1} - bx r1 - thumb_func_end sub_81C868C - - thumb_func_start sub_81C86CC -sub_81C86CC: @ 81C86CC - push {r4,lr} - bl sub_81C8644 - adds r4, r0, 0 - bl sub_81C84A4 - adds r1, r0, 0 - cmp r1, 0 - beq _081C86F8 - ldrh r0, [r4] - ldrh r1, [r4, 0x8] - cmp r0, r1 - bcc _081C86EA - ldrh r0, [r4, 0x8] - b _081C86EC -_081C86EA: - ldrh r0, [r4] -_081C86EC: - negs r0, r0 - movs r1, 0x1 - bl sub_81C84E8 - movs r0, 0x2 - b _081C8706 -_081C86F8: - ldrh r0, [r4, 0x6] - cmp r0, 0 - bne _081C8702 - movs r0, 0 - b _081C8706 -_081C8702: - strh r1, [r4, 0x6] - movs r0, 0x1 -_081C8706: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81C86CC - - thumb_func_start sub_81C870C -sub_81C870C: @ 81C870C - push {r4,lr} - bl sub_81C8644 - adds r4, r0, 0 - bl sub_81C84C0 - cmp r0, 0 - beq _081C8736 - ldrh r0, [r4] - ldrh r3, [r4, 0x8] - adds r2, r0, r3 - ldrh r1, [r4, 0x4] - subs r0, r1, r0 - cmp r2, r1 - bgt _081C872C - adds r0, r3, 0 -_081C872C: - movs r1, 0x1 - bl sub_81C84E8 - movs r0, 0x2 - b _081C8756 -_081C8736: - ldrh r0, [r4, 0x2] - ldrh r1, [r4, 0x8] - cmp r0, r1 - bcc _081C8744 - ldrh r1, [r4, 0x6] - ldrh r0, [r4, 0x8] - b _081C8748 -_081C8744: - ldrh r1, [r4, 0x6] - ldrh r0, [r4, 0x2] -_081C8748: - subs r0, 0x1 - cmp r1, r0 - bge _081C8754 - strh r0, [r4, 0x6] - movs r0, 0x1 - b _081C8756 -_081C8754: - movs r0, 0 -_081C8756: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81C870C - - thumb_func_start sub_81C875C -sub_81C875C: @ 81C875C - push {lr} - bl sub_81C8644 - adds r1, r0, 0 - ldrh r0, [r1] - ldrh r1, [r1, 0x6] - adds r0, r1 - pop {r1} - bx r1 - thumb_func_end sub_81C875C - - thumb_func_start sub_81C8770 -sub_81C8770: @ 81C8770 - push {lr} - bl sub_81C8644 - ldrh r0, [r0] - pop {r1} - bx r1 - thumb_func_end sub_81C8770 - - thumb_func_start sub_81C877C -sub_81C877C: @ 81C877C - push {r4,lr} - movs r0, 0x11 - bl GetSubstructPtr - adds r4, r0, 0 - ldr r0, =0x0000089c - adds r1, r4, r0 - movs r0, 0 - str r0, [r1] - ldr r0, =sub_81C8870 - movs r1, 0x6 - bl sub_81C7078 - movs r1, 0x8A - lsls r1, 4 - adds r4, r1 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C877C - - thumb_func_start sub_81C87AC -sub_81C87AC: @ 81C87AC - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - movs r0, 0x11 - bl GetSubstructPtr - adds r5, r0, 0 - ldr r0, =0x00000888 - adds r1, r5, r0 - ldrh r0, [r1] - adds r0, r4 - movs r2, 0 - strh r0, [r1] - ldr r1, =0x0000089c - adds r0, r5, r1 - str r2, [r0] - ldr r0, =sub_81C8958 - movs r1, 0x6 - bl sub_81C7078 - movs r1, 0x8A - lsls r1, 4 - adds r5, r1 - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C87AC - - thumb_func_start sub_81C87F0 -sub_81C87F0: @ 81C87F0 - push {r4,lr} - movs r0, 0x11 - bl GetSubstructPtr - adds r4, r0, 0 - ldr r0, =0x0000089c - adds r1, r4, r0 - movs r0, 0 - str r0, [r1] - ldr r0, =sub_81C8A28 - movs r1, 0x6 - bl sub_81C7078 - movs r1, 0x8A - lsls r1, 4 - adds r4, r1 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C87F0 - - thumb_func_start sub_81C8820 -sub_81C8820: @ 81C8820 - push {lr} - movs r0, 0x11 - bl GetSubstructPtr - movs r1, 0x8A - lsls r1, 4 - adds r0, r1 - ldr r0, [r0] - bl sub_81C70D8 - pop {r1} - bx r1 - thumb_func_end sub_81C8820 - - thumb_func_start sub_81C8838 -sub_81C8838: @ 81C8838 - push {r4,lr} - movs r0, 0x11 - bl GetSubstructPtr - adds r4, r0, 0 - ldr r0, =0x00000888 - adds r2, r4, r0 - ldrh r0, [r4, 0x8] - ldrh r1, [r2] - ldrh r3, [r2, 0x6] - adds r1, r3 - ldrh r2, [r4, 0xA] - adds r2, r3 - movs r3, 0xF - ands r2, r3 - ldr r3, [r4, 0x38] - bl _call_via_r3 - ldrb r0, [r4, 0x8] - movs r1, 0x1 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C8838 - - thumb_func_start sub_81C8870 -sub_81C8870: @ 81C8870 - push {r4,r5,lr} - adds r5, r0, 0 - movs r0, 0x11 - bl GetSubstructPtr - adds r4, r0, 0 - cmp r5, 0x4 - bhi _081C894C - lsls r0, r5, 2 - ldr r1, =_081C8890 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081C8890: - .4byte _081C88A4 - .4byte _081C88AC - .4byte _081C88D8 - .4byte _081C8918 - .4byte _081C8938 -_081C88A4: - adds r0, r4, 0 - movs r1, 0x1 - bl sub_81C9008 -_081C88AC: - ldr r0, =0x0000089c - adds r5, r4, r0 - ldr r1, =0x0000088e - adds r0, r4, r1 - ldr r1, [r5] - ldrh r0, [r0] - cmp r1, r0 - beq _081C88C4 - adds r0, r4, 0 - movs r2, 0x1 - bl sub_81C8B70 -_081C88C4: - ldr r0, [r5] - adds r0, 0x1 - str r0, [r5] -_081C88CA: - movs r0, 0 - b _081C894E - .pool -_081C88D8: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _081C8942 - ldr r2, =0x0000089c - adds r0, r4, r2 - subs r2, 0xC - adds r1, r4, r2 - ldr r3, [r0] - ldrh r1, [r1] - cmp r3, r1 - beq _081C88FC - movs r0, 0x6 - b _081C894E - .pool -_081C88FC: - ldr r0, =0x0000088e - adds r1, r4, r0 - ldrh r0, [r1] - cmp r0, 0 - beq _081C88CA - adds r2, r0, 0 - adds r0, r4, 0 - adds r1, r3, 0 - bl sub_81C8B70 - b _081C88CA - .pool -_081C8918: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _081C8942 - ldr r2, =0x0000088e - adds r1, r4, r2 - ldrh r0, [r1] - cmp r0, 0 - beq _081C894C - movs r1, 0 - bl sub_81C84E8 - b _081C88CA - .pool -_081C8938: - bl sub_81C8630 - adds r1, r0, 0 - cmp r1, 0 - beq _081C8946 -_081C8942: - movs r0, 0x2 - b _081C894E -_081C8946: - ldr r2, =0x0000088e - adds r0, r4, r2 - strh r1, [r0] -_081C894C: - movs r0, 0x4 -_081C894E: - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81C8870 - - thumb_func_start sub_81C8958 -sub_81C8958: @ 81C8958 - push {r4,r5,lr} - adds r5, r0, 0 - movs r0, 0x11 - bl GetSubstructPtr - adds r4, r0, 0 - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081C8972 - movs r0, 0x2 - b _081C8A22 -_081C8972: - cmp r5, 0x7 - bhi _081C8A1C - lsls r0, r5, 2 - ldr r1, =_081C8984 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081C8984: - .4byte _081C89A4 - .4byte _081C89B4 - .4byte _081C89BE - .4byte _081C89D0 - .4byte _081C89DA - .4byte _081C89EC - .4byte _081C89F6 - .4byte _081C8A08 -_081C89A4: - ldr r1, =0x00000888 - adds r0, r4, r1 - adds r1, r4, 0 - bl sub_81C8CB4 - b _081C8A20 - .pool -_081C89B4: - adds r0, r4, 0 - movs r1, 0 - bl sub_81C8DBC - b _081C8A20 -_081C89BE: - ldr r1, =0x00000888 - adds r0, r4, r1 - adds r1, r4, 0 - movs r2, 0 - bl sub_81C8E54 - b _081C8A20 - .pool -_081C89D0: - adds r0, r4, 0 - movs r1, 0x1 - bl sub_81C8DBC - b _081C8A20 -_081C89DA: - ldr r1, =0x00000888 - adds r0, r4, r1 - adds r1, r4, 0 - movs r2, 0x1 - bl sub_81C8E54 - b _081C8A20 - .pool -_081C89EC: - adds r0, r4, 0 - movs r1, 0x2 - bl sub_81C8DBC - b _081C8A20 -_081C89F6: - ldr r1, =0x00000888 - adds r0, r4, r1 - adds r1, r4, 0 - movs r2, 0x2 - bl sub_81C8E54 - b _081C8A20 - .pool -_081C8A08: - ldr r1, =0x00000888 - adds r0, r4, r1 - adds r1, r4, 0 - movs r2, 0x3 - bl sub_81C8E54 - b _081C8A20 - .pool -_081C8A1C: - movs r0, 0x4 - b _081C8A22 -_081C8A20: - movs r0, 0 -_081C8A22: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81C8958 - - thumb_func_start sub_81C8A28 -sub_81C8A28: @ 81C8A28 - push {r4-r7,lr} - sub sp, 0x8 - adds r5, r0, 0 - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _081C8AA6 - movs r0, 0x11 - bl GetSubstructPtr - adds r4, r0, 0 - ldr r0, =0x00000888 - adds r6, r4, r0 - adds r2, r4, 0 - cmp r5, 0x6 - bls _081C8A4C - b _081C8B64 -_081C8A4C: - lsls r0, r5, 2 - ldr r1, =_081C8A60 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081C8A60: - .4byte _081C8A7C - .4byte _081C8A88 - .4byte _081C8AE8 - .4byte _081C8AFC - .4byte _081C8B14 - .4byte _081C8B34 - .4byte _081C8B5C -_081C8A7C: - adds r0, r6, 0 - adds r1, r2, 0 - bl sub_81C8D4C - movs r0, 0 - b _081C8B66 -_081C8A88: - ldr r1, =0x0000089c - adds r7, r4, r1 - ldr r0, [r7] - adds r1, r0, 0x1 - str r1, [r7] - movs r3, 0x89 - lsls r3, 4 - adds r0, r4, r3 - ldrh r0, [r0] - cmp r1, r0 - bge _081C8AB0 - adds r0, r2, 0 - movs r2, 0x1 - bl sub_81C8B70 -_081C8AA6: - movs r0, 0x2 - b _081C8B66 - .pool -_081C8AB0: - movs r0, 0 - str r0, [r7] - ldrh r0, [r6, 0x2] - ldrh r1, [r6, 0x8] - cmp r0, r1 - bhi _081C8AC6 - ldrh r0, [r6] - cmp r0, 0 - beq _081C8B52 - adds r4, r0, 0 - b _081C8AD4 -_081C8AC6: - ldrh r1, [r6] - ldrh r0, [r6, 0x8] - adds r4, r1, r0 - ldrh r1, [r6, 0x2] - cmp r4, r1 - ble _081C8B52 - subs r4, r1 -_081C8AD4: - negs r5, r4 - adds r0, r2, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_81C8B70 - strh r4, [r6, 0x6] - str r5, [r7] - movs r0, 0 - b _081C8B66 -_081C8AE8: - ldr r2, =0x0000089c - adds r0, r4, r2 - ldr r0, [r0] - movs r1, 0 - bl sub_81C84E8 - movs r0, 0 - b _081C8B66 - .pool -_081C8AFC: - bl sub_81C8630 - adds r1, r0, 0 - cmp r1, 0 - bne _081C8AA6 - ldr r3, =0x0000089c - adds r0, r4, r3 - str r1, [r0] -_081C8B0C: - movs r0, 0x1 - b _081C8B66 - .pool -_081C8B14: - ldr r0, [r6, 0x10] - ldrh r1, [r6] - ldr r3, =0x0000089c - adds r2, r4, r3 - ldr r2, [r2] - adds r1, r2 - ldr r3, [r6, 0xC] - str r2, [sp] - str r4, [sp, 0x4] - movs r2, 0x1 - bl sub_81C83AC - movs r0, 0 - b _081C8B66 - .pool -_081C8B34: - bl sub_81C83E0 - cmp r0, 0 - bne _081C8AA6 - ldr r0, =0x0000089c - adds r1, r4, r0 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - ldrh r1, [r6, 0x2] - cmp r0, r1 - bge _081C8B0C - ldrh r6, [r6, 0x8] - cmp r0, r6 - bge _081C8B0C -_081C8B52: - movs r0, 0x9 - b _081C8B66 - .pool -_081C8B5C: - adds r0, r2, 0 - movs r1, 0 - bl sub_81C9008 -_081C8B64: - movs r0, 0x4 -_081C8B66: - add sp, 0x8 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81C8A28 - - thumb_func_start sub_81C8B70 -sub_81C8B70: @ 81C8B70 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - mov r9, r0 - adds r7, r1, 0 - adds r6, r2, 0 - ldrb r0, [r0, 0x8] - movs r1, 0x7 - bl GetWindowAttribute - mov r10, r0 - mov r1, r9 - ldrb r0, [r1, 0x4] - lsls r3, r0, 6 - ldrh r0, [r1, 0xA] - adds r7, r0, r7 - movs r0, 0xF - ands r7, r0 - adds r0, r7, r6 - cmp r0, 0x10 - bgt _081C8BD4 - ldr r0, =0x11111111 - str r0, [sp] - adds r1, r7, 0 - muls r1, r3 - add r1, r10 - adds r2, r6, 0 - muls r2, r3 - lsrs r2, 2 - ldr r0, =0x001fffff - ands r2, r0 - movs r0, 0x80 - lsls r0, 17 - orrs r2, r0 - mov r0, sp - bl CpuFastSet - mov r1, r9 - ldrb r0, [r1, 0x8] - movs r1, 0x2 - bl CopyWindowToVram - b _081C8C1E - .pool -_081C8BD4: - movs r2, 0x10 - subs r2, r7 - subs r0, r6, r2 - mov r8, r0 - ldr r1, =0x11111111 - str r1, [sp, 0x4] - add r0, sp, 0x4 - adds r1, r7, 0 - muls r1, r3 - add r1, r10 - muls r2, r3 - lsrs r2, 2 - ldr r5, =0x001fffff - ands r2, r5 - movs r4, 0x80 - lsls r4, 17 - orrs r2, r4 - str r3, [sp, 0xC] - bl CpuFastSet - ldr r0, =0x11111111 - str r0, [sp, 0x8] - add r0, sp, 0x8 - ldr r3, [sp, 0xC] - mov r2, r8 - muls r2, r3 - lsrs r2, 2 - ands r2, r5 - orrs r2, r4 - mov r1, r10 - bl CpuFastSet - mov r1, r9 - ldrb r0, [r1, 0x8] - movs r1, 0x2 - bl CopyWindowToVram -_081C8C1E: - subs r6, 0x1 - movs r0, 0x1 - negs r0, r0 - cmp r6, r0 - beq _081C8C40 - movs r5, 0xF - adds r4, r0, 0 -_081C8C2C: - mov r1, r9 - ldrh r0, [r1, 0x8] - adds r1, r7, 0 - bl sub_81CBD48 - adds r7, 0x1 - ands r7, r5 - subs r6, 0x1 - cmp r6, r4 - bne _081C8C2C -_081C8C40: - mov r1, r9 - ldrb r0, [r1, 0x8] - movs r1, 0x1 - bl CopyWindowToVram - 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_81C8B70 - - thumb_func_start sub_81C8C64 -sub_81C8C64: @ 81C8C64 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - ldrb r0, [r5, 0x8] - movs r1, 0 - bl GetWindowAttribute - lsls r0, 24 - lsrs r0, 24 - bl GetBgTilemapBuffer - adds r2, r0, 0 - ldrh r0, [r5, 0xA] - lsls r0, 6 - ldrb r1, [r5, 0x2] - adds r0, r1 - lsls r0, 1 - subs r0, 0x2 - adds r2, r0 - cmp r4, 0 - beq _081C8C98 - ldrb r0, [r5, 0x1] - lsls r0, 12 - ldrh r1, [r5, 0x6] - adds r1, 0x1 - b _081C8C9E -_081C8C98: - ldrb r0, [r5, 0x1] - lsls r0, 12 - ldrh r1, [r5, 0x6] -_081C8C9E: - orrs r0, r1 - lsls r0, 16 - lsrs r1, r0, 16 - strh r1, [r2] - adds r0, r2, 0 - adds r0, 0x40 - strh r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81C8C64 - - thumb_func_start sub_81C8CB4 -sub_81C8CB4: @ 81C8CB4 - push {r4-r6,lr} - sub sp, 0x10 - adds r5, r0, 0 - adds r4, r1, 0 - ldr r1, =gUnknown_0861FBE4 - add r0, sp, 0xC - movs r2, 0x3 - bl memcpy - ldrh r1, [r5] - ldr r0, [r5, 0xC] - muls r1, r0 - ldr r0, [r5, 0x10] - adds r0, r1 - adds r6, r4, 0 - adds r6, 0x48 - ldr r2, [r4, 0x34] - adds r1, r6, 0 - bl _call_via_r2 - ldrh r0, [r4, 0x8] - ldrh r1, [r5] - ldrh r2, [r4, 0xA] - ldr r3, [r4, 0x38] - bl _call_via_r3 - ldrb r0, [r4, 0x8] - ldrh r3, [r4, 0xA] - lsls r3, 20 - lsrs r3, 16 - ldrb r1, [r4, 0x4] - lsls r1, 3 - str r1, [sp] - movs r1, 0x10 - str r1, [sp, 0x4] - movs r1, 0x44 - movs r2, 0 - bl FillWindowPixelRect - ldrb r0, [r4, 0x8] - ldrb r1, [r4, 0x5] - ldrh r3, [r4, 0xA] - lsls r3, 4 - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - add r2, sp, 0xC - str r2, [sp] - movs r2, 0x1 - negs r2, r2 - str r2, [sp, 0x4] - str r6, [sp, 0x8] - movs r2, 0x8 - bl AddTextPrinterParameterized3 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_81C8C64 - ldrh r0, [r4, 0x8] - ldrh r3, [r4, 0xA] - lsls r3, 1 - ldrb r1, [r4, 0x4] - str r1, [sp] - movs r1, 0x2 - str r1, [sp, 0x4] - movs r1, 0x3 - movs r2, 0 - bl CopyWindowRectToVram - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C8CB4 - - thumb_func_start sub_81C8D4C -sub_81C8D4C: @ 81C8D4C - push {r4,r5,lr} - sub sp, 0xC - adds r4, r1, 0 - ldrh r2, [r0] - ldr r1, [r0, 0xC] - muls r1, r2 - ldr r0, [r0, 0x10] - adds r0, r1 - adds r5, r4, 0 - adds r5, 0x48 - ldr r2, [r4, 0x34] - adds r1, r5, 0 - bl _call_via_r2 - ldrb r0, [r4, 0x8] - ldrh r3, [r4, 0xA] - lsls r3, 20 - lsrs r3, 16 - ldrb r1, [r4, 0x4] - lsls r1, 3 - str r1, [sp] - movs r1, 0x10 - str r1, [sp, 0x4] - movs r1, 0x11 - movs r2, 0 - bl FillWindowPixelRect - ldrb r0, [r4, 0x8] - ldrb r1, [r4, 0x5] - ldrh r2, [r4, 0xA] - lsls r2, 4 - adds r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - str r2, [sp] - movs r2, 0xFF - str r2, [sp, 0x4] - movs r2, 0 - str r2, [sp, 0x8] - adds r2, r5, 0 - movs r3, 0x8 - bl AddTextPrinterParameterized - adds r0, r4, 0 - movs r1, 0 - bl sub_81C8C64 - ldrb r0, [r4, 0x8] - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81C8D4C - - thumb_func_start sub_81C8DBC -sub_81C8DBC: @ 81C8DBC - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x1C - adds r6, r0, 0 - mov r8, r1 - add r1, sp, 0xC - ldr r0, =gUnknown_0861FBE8 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - add r0, sp, 0x18 - mov r9, r0 - ldr r1, =gUnknown_0861FBF4 - movs r2, 0x3 - bl memcpy - ldrh r4, [r6, 0xA] - mov r1, r8 - lsls r0, r1, 1 - adds r0, 0x1 - adds r4, r0 - movs r0, 0xF - ands r4, r0 - ldrb r0, [r6, 0x8] - lsls r5, r4, 4 - adds r3, r5, 0 - ldrb r1, [r6, 0x4] - str r1, [sp] - movs r1, 0x10 - str r1, [sp, 0x4] - movs r1, 0x11 - movs r2, 0 - bl FillWindowPixelRect - ldrb r0, [r6, 0x8] - movs r1, 0x1 - orrs r5, r1 - mov r2, r9 - str r2, [sp] - subs r1, 0x2 - str r1, [sp, 0x4] - mov r3, r8 - lsls r3, 2 - mov r8, r3 - mov r1, sp - add r1, r8 - adds r1, 0xC - ldr r1, [r1] - str r1, [sp, 0x8] - movs r1, 0x7 - movs r2, 0x2 - adds r3, r5, 0 - bl AddTextPrinterParameterized3 - ldrh r0, [r6, 0x8] - lsls r4, 1 - ldrb r1, [r6, 0x4] - str r1, [sp] - movs r1, 0x2 - str r1, [sp, 0x4] - movs r2, 0 - adds r3, r4, 0 - bl CopyWindowRectToVram - add sp, 0x1C - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C8DBC - - thumb_func_start sub_81C8E54 -sub_81C8E54: @ 81C8E54 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - adds r7, r1, 0 - adds r1, r2, 0 - ldrh r3, [r7, 0xA] - ldr r2, =gUnknown_0861FBF7 - adds r2, r1, r2 - ldrb r2, [r2] - adds r6, r3, r2 - movs r2, 0xF - ands r6, r2 - ldrh r0, [r0] - bl sub_81CAFD8 - adds r5, r0, 0 - cmp r5, 0 - beq _081C8EC0 - ldrh r0, [r7, 0x8] - lsls r4, r6, 1 - ldrb r3, [r7, 0x4] - subs r3, 0x1 - movs r1, 0x2 - mov r8, r1 - str r1, [sp] - movs r1, 0x1 - adds r2, r4, 0 - bl sub_81DB620 - ldrb r0, [r7, 0x8] - lsls r1, r6, 4 - movs r2, 0x1 - orrs r1, r2 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x7 - adds r2, r5, 0 - movs r3, 0x2 - bl AddTextPrinterParameterized - ldrh r0, [r7, 0x8] - ldrb r1, [r7, 0x4] - str r1, [sp] - mov r1, r8 - str r1, [sp, 0x4] - movs r1, 0x2 - movs r2, 0 - adds r3, r4, 0 - bl CopyWindowRectToVram -_081C8EC0: - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C8E54 - - thumb_func_start sub_81C8ED0 -sub_81C8ED0: @ 81C8ED0 - push {r4,r5,lr} - movs r5, 0 - ldr r4, =gUnknown_0861FBFC -_081C8ED6: - adds r0, r4, 0 - bl LoadCompressedSpriteSheet - adds r4, 0x8 - adds r5, 0x1 - cmp r5, 0 - beq _081C8ED6 - ldr r0, =gUnknown_0861FC04 - bl sub_81C795C - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C8ED0 - - thumb_func_start sub_81C8EF8 -sub_81C8EF8: @ 81C8EF8 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r0, =gUnknown_0861FC1C - ldrb r1, [r5, 0x2] - lsls r1, 3 - adds r1, 0x3 - ldrb r2, [r5, 0x3] - adds r2, 0x1 - lsls r2, 3 - movs r3, 0x7 - bl CreateSprite - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 4 - adds r0, r3 - lsls r0, 2 - ldr r1, =gSprites - mov r8, r1 - add r0, r8 - str r0, [r5, 0x3C] - ldrb r6, [r5, 0x2] - lsls r6, 3 - ldrb r0, [r5, 0x4] - subs r0, 0x1 - lsls r0, 2 - ldr r3, =gUnknown_0861FC3C - mov r10, r3 - adds r6, r0 - ldrb r2, [r5, 0x3] - lsls r2, 3 - ldrh r0, [r4, 0x8] - lsls r0, 4 - adds r2, r0 - lsls r2, 16 - asrs r2, 16 - mov r0, r10 - adds r1, r6, 0 - movs r3, 0x7 - bl CreateSprite - lsls r0, 24 - lsrs r3, r0, 24 - lsls r2, r3, 4 - adds r2, r3 - lsls r2, 2 - add r2, r8 - str r2, [r5, 0x44] - ldrh r3, [r2, 0x4] - lsls r1, r3, 22 - lsrs r1, 22 - adds r1, 0x2 - ldr r0, =0x000003ff - mov r9, r0 - mov r0, r9 - ands r1, r0 - ldr r4, =0xfffffc00 - adds r0, r4, 0 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, 0x4] - ldr r1, [r5, 0x44] - ldr r0, =sub_81C90A0 - str r0, [r1, 0x1C] - ldrb r2, [r5, 0x3] - lsls r2, 3 - mov r0, r10 - adds r1, r6, 0 - movs r3, 0x7 - bl CreateSprite - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, r3, 4 - adds r1, r3 - lsls r1, 2 - add r1, r8 - str r1, [r5, 0x40] - ldrh r2, [r1, 0x4] - lsls r0, r2, 22 - lsrs r0, 22 - adds r0, 0x4 - mov r3, r9 - ands r0, r3 - ands r4, r2 - orrs r4, r0 - strh r4, [r1, 0x4] - ldr r1, [r5, 0x40] - ldr r0, =sub_81C90F4 - str r0, [r1, 0x1C] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C8EF8 - - thumb_func_start sub_81C8FE0 -sub_81C8FE0: @ 81C8FE0 - push {r4,lr} - adds r4, r0, 0 - ldr r0, [r4, 0x3C] - bl DestroySprite - ldr r0, [r4, 0x40] - bl DestroySprite - ldr r0, [r4, 0x44] - bl DestroySprite - movs r0, 0xA - bl FreeSpriteTilesByTag - movs r0, 0x14 - bl FreeSpritePaletteByTag - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81C8FE0 - - thumb_func_start sub_81C9008 -sub_81C9008: @ 81C9008 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - cmp r4, 0 - beq _081C9028 - ldr r2, [r5, 0x3C] - ldr r1, =SpriteCallbackDummy - str r1, [r2, 0x1C] - ldr r0, [r5, 0x40] - str r1, [r0, 0x1C] - ldr r0, [r5, 0x44] - str r1, [r0, 0x1C] - b _081C903A - .pool -_081C9028: - ldr r2, [r5, 0x3C] - ldr r0, =sub_81C9080 - str r0, [r2, 0x1C] - ldr r1, [r5, 0x40] - ldr r0, =sub_81C90F4 - str r0, [r1, 0x1C] - ldr r1, [r5, 0x44] - ldr r0, =sub_81C90A0 - str r0, [r1, 0x1C] -_081C903A: - adds r3, r2, 0 - adds r3, 0x3E - movs r0, 0x1 - ands r4, r0 - lsls r4, 2 - ldrb r2, [r3] - movs r1, 0x5 - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - orrs r0, r4 - strb r0, [r3] - ldr r2, [r5, 0x40] - adds r2, 0x3E - ldrb r3, [r2] - adds r0, r1, 0 - ands r0, r3 - orrs r0, r4 - strb r0, [r2] - ldr r0, [r5, 0x44] - adds r0, 0x3E - ldrb r2, [r0] - ands r1, r2 - orrs r1, r4 - strb r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C9008 - - thumb_func_start sub_81C9080 -sub_81C9080: @ 81C9080 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x11 - bl GetSubstructPtr - ldr r1, =0x0000088e - adds r0, r1 - ldrh r0, [r0] - lsls r0, 4 - strh r0, [r4, 0x26] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C9080 - - thumb_func_start sub_81C90A0 -sub_81C90A0: @ 81C90A0 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _081C90C2 - bl sub_81C84C0 - cmp r0, 0 - beq _081C90C2 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - b _081C90CC -_081C90C2: - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 -_081C90CC: - strb r0, [r2] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _081C90EC - movs r0, 0 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - movs r1, 0x7 - ands r0, r1 - strh r0, [r4, 0x30] - strh r0, [r4, 0x26] -_081C90EC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81C90A0 - - thumb_func_start sub_81C90F4 -sub_81C90F4: @ 81C90F4 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _081C9116 - bl sub_81C84A4 - cmp r0, 0 - beq _081C9116 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - b _081C9120 -_081C9116: - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 -_081C9120: - strb r0, [r2] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _081C9142 - movs r0, 0 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - movs r1, 0x7 - ands r0, r1 - strh r0, [r4, 0x30] - negs r0, r0 - strh r0, [r4, 0x26] -_081C9142: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81C90F4 - - thumb_func_start sub_81C9148 -sub_81C9148: @ 81C9148 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x11 - bl GetSubstructPtr - ldr r1, [r0, 0x40] - strh r4, [r1, 0x3C] - ldr r0, [r0, 0x44] - strh r4, [r0, 0x3C] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81C9148 - - thumb_func_start sub_81C9160 -sub_81C9160: @ 81C9160 - push {r4,r5,lr} - adds r2, r0, 0 - ldr r0, [r1] - str r0, [r2, 0x10] - ldrh r4, [r1, 0x6] - movs r5, 0 - strh r4, [r2] - ldrh r3, [r1, 0x4] - strh r3, [r2, 0x2] - ldrb r0, [r1, 0x8] - str r0, [r2, 0xC] - ldrb r1, [r1, 0xC] - strh r1, [r2, 0x8] - lsls r0, r3, 16 - lsrs r0, 16 - cmp r1, r0 - bcc _081C918A - strh r5, [r2] - strh r5, [r2, 0x4] - strh r4, [r2, 0x6] - b _081C91A6 -_081C918A: - subs r0, r3, r1 - strh r0, [r2, 0x4] - ldrh r1, [r2] - ldrh r0, [r2, 0x8] - adds r1, r0 - ldrh r0, [r2, 0x2] - cmp r1, r0 - ble _081C91A4 - subs r0, r1, r0 - strh r0, [r2, 0x6] - subs r0, r4, r0 - strh r0, [r2] - b _081C91A6 -_081C91A4: - strh r5, [r2, 0x6] -_081C91A6: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81C9160 - - thumb_func_start sub_81C91AC -sub_81C91AC: @ 81C91AC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x8 - adds r7, r0, 0 - ldr r4, [r1] - lsls r4, 30 - lsrs r0, r4, 30 - movs r1, 0 - mov r9, r1 - strb r0, [r7] - strh r3, [r7, 0x6] - ldr r0, [r2, 0x10] - str r0, [r7, 0x34] - ldr r0, [r2, 0x14] - str r0, [r7, 0x38] - ldrb r6, [r2, 0xD] - strb r6, [r7, 0x1] - ldrb r1, [r2, 0x9] - strb r1, [r7, 0x2] - ldrb r0, [r2, 0xB] - strb r0, [r7, 0x3] - ldrb r5, [r2, 0xA] - strb r5, [r7, 0x4] - ldrb r0, [r2, 0xE] - strb r0, [r7, 0x5] - lsrs r4, 30 - ldr r2, =0xffffff00 - mov r8, r2 - ldr r0, [sp] - ands r0, r2 - orrs r0, r4 - lsls r1, 24 - lsrs r1, 16 - ldr r2, =0xffff00ff - ands r0, r2 - orrs r0, r1 - ldr r1, =0xff00ffff - ands r0, r1 - lsls r5, 24 - ldr r1, =0x00ffffff - ands r0, r1 - orrs r0, r5 - str r0, [sp] - ldr r0, [sp, 0x4] - mov r1, r8 - ands r0, r1 - movs r1, 0x20 - orrs r0, r1 - lsls r6, 24 - lsrs r6, 16 - ands r0, r2 - orrs r0, r6 - adds r3, 0x2 - lsls r3, 16 - ldr r1, =0x0000ffff - ands r0, r1 - orrs r0, r3 - str r0, [sp, 0x4] - mov r0, sp - bl AddWindow - strh r0, [r7, 0x8] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xFF - beq _081C9258 - mov r2, r9 - strh r2, [r7, 0xA] - mov r0, r9 - str r0, [r7, 0x3C] - str r0, [r7, 0x40] - str r0, [r7, 0x44] - movs r0, 0x1 - b _081C925A - .pool -_081C9258: - movs r0, 0 -_081C925A: - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81C91AC - - thumb_func_start sub_81C9268 -sub_81C9268: @ 81C9268 - push {r4,lr} - movs r4, 0 - movs r0, 0x98 - lsls r0, 1 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _081C928A - movs r4, 0x1 - ldr r0, =0x0000089b - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _081C928A - movs r4, 0x2 -_081C928A: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81C9268 - - thumb_func_start sub_81C9298 -sub_81C9298: @ 81C9298 - push {r4,lr} - movs r0, 0x1 - movs r1, 0x10 - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081C92C4 - bl sub_81C9268 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - strh r0, [r4] - strh r1, [r4, 0x2] - strh r1, [r4, 0x4] - strh r1, [r4, 0x6] - adds r0, r4, 0 - bl sub_81C939C - movs r0, 0x1 - b _081C92C6 -_081C92C4: - movs r0, 0 -_081C92C6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81C9298 - - thumb_func_start sub_81C92CC -sub_81C92CC: @ 81C92CC - push {r4,lr} - movs r0, 0x1 - movs r1, 0x10 - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081C92FA - bl sub_81C9268 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - strh r0, [r4] - movs r0, 0x2 - strh r0, [r4, 0x2] - strh r0, [r4, 0x4] - strh r1, [r4, 0x6] - adds r0, r4, 0 - bl sub_81C939C - movs r0, 0x1 - b _081C92FC -_081C92FA: - movs r0, 0 -_081C92FC: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81C92CC - - thumb_func_start sub_81C9304 -sub_81C9304: @ 81C9304 - push {r4,lr} - movs r0, 0x1 - movs r1, 0x10 - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081C932E - bl sub_81C9268 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - movs r0, 0x3 - strh r0, [r4, 0x2] - strh r0, [r4, 0x4] - adds r0, r4, 0 - bl sub_81C939C - movs r0, 0x1 - b _081C9330 -_081C932E: - movs r0, 0 -_081C9330: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81C9304 - - thumb_func_start sub_81C9338 -sub_81C9338: @ 81C9338 - push {lr} - movs r0, 0x1 - movs r1, 0x10 - bl AllocSubstruct - adds r2, r0, 0 - cmp r2, 0 - beq _081C9360 - movs r0, 0 - movs r1, 0x3 - strh r1, [r2] - strh r0, [r2, 0x2] - movs r1, 0x5 - strh r1, [r2, 0x4] - strh r0, [r2, 0x6] - adds r0, r2, 0 - bl sub_81C939C - movs r0, 0x1 - b _081C9362 -_081C9360: - movs r0, 0 -_081C9362: - pop {r1} - bx r1 - thumb_func_end sub_81C9338 - - thumb_func_start sub_81C9368 -sub_81C9368: @ 81C9368 - push {r4,r5,lr} - movs r0, 0x1 - movs r1, 0x10 - bl AllocSubstruct - adds r5, r0, 0 - cmp r5, 0 - beq _081C9394 - movs r4, 0 - movs r0, 0x4 - strh r0, [r5] - bl sub_81C76AC - strh r0, [r5, 0x2] - adds r0, 0x8 - strh r0, [r5, 0x4] - strh r4, [r5, 0x6] - adds r0, r5, 0 - bl sub_81C939C - movs r0, 0x1 - b _081C9396 -_081C9394: - movs r0, 0 -_081C9396: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81C9368 - - thumb_func_start sub_81C939C -sub_81C939C: @ 81C939C - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4] - cmp r0, 0x4 - bhi _081C93E0 - lsls r0, 2 - ldr r1, =_081C93B4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081C93B4: - .4byte _081C93C8 - .4byte _081C93CE - .4byte _081C93CE - .4byte _081C93D4 - .4byte _081C93DC -_081C93C8: - movs r0, 0 - bl SetPokenavMode -_081C93CE: - bl sub_81C93EC - b _081C93DE -_081C93D4: - ldr r0, =sub_81C963C - b _081C93DE - .pool -_081C93DC: - ldr r0, =sub_81C96FC -_081C93DE: - str r0, [r4, 0xC] -_081C93E0: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C939C - - thumb_func_start sub_81C93EC -sub_81C93EC: @ 81C93EC - push {lr} - bl GetPokenavMode - cmp r0, 0x1 - beq _081C9408 - cmp r0, 0x1 - bcc _081C93FE - cmp r0, 0x2 - beq _081C9410 -_081C93FE: - ldr r0, =sub_81C943C - b _081C9412 - .pool -_081C9408: - ldr r0, =sub_81C9520 - b _081C9412 - .pool -_081C9410: - ldr r0, =c2_pre_battle_1 -_081C9412: - pop {r1} - bx r1 - .pool - thumb_func_end sub_81C93EC - - thumb_func_start sub_81C941C -sub_81C941C: @ 81C941C - push {lr} - movs r0, 0x1 - bl GetSubstructPtr - ldr r1, [r0, 0xC] - bl _call_via_r1 - pop {r1} - bx r1 - thumb_func_end sub_81C941C - - thumb_func_start sub_81C9430 -sub_81C9430: @ 81C9430 - push {lr} - movs r0, 0x1 - bl FreeSubstruct - pop {r0} - bx r0 - thumb_func_end sub_81C9430 - - thumb_func_start sub_81C943C -sub_81C943C: @ 81C943C - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_81C9814 - cmp r0, 0 - beq _081C944C - movs r0, 0x1 - b _081C951A -_081C944C: - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - adds r5, r2, 0 - cmp r0, 0 - beq _081C9508 - ldr r3, =gUnknown_0861FC59 - movs r0, 0x2 - ldrsh r1, [r4, r0] - ldrh r2, [r4] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 1 - adds r1, r0 - adds r1, r3 - ldrb r0, [r1] - cmp r0, 0x4 - bhi _081C9508 - lsls r0, 2 - ldr r1, =_081C9488 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081C9488: - .4byte _081C949C - .4byte _081C94BC - .4byte _081C94D4 - .4byte _081C94E0 - .4byte _081C9516 -_081C949C: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x15] - movs r0, 0x8 - ands r0, r1 - movs r1, 0x1 - cmp r0, 0 - beq _081C94AE - movs r1, 0x2 -_081C94AE: - strh r1, [r4, 0x6] - ldr r1, =0x000186a6 - b _081C94EE - .pool -_081C94BC: - movs r1, 0 - movs r0, 0x3 - strh r0, [r4] - strh r1, [r4, 0x2] - ldrb r0, [r3, 0x12] - strh r0, [r4, 0x4] - ldr r0, =sub_81C963C - str r0, [r4, 0xC] - movs r0, 0x2 - b _081C951A - .pool -_081C94D4: - movs r0, 0x6 - strh r0, [r4, 0x6] - ldr r1, =0x000186ab - b _081C94EE - .pool -_081C94E0: - bl CanViewRibbonsMenu - cmp r0, 0 - beq _081C94FC - movs r0, 0x9 - strh r0, [r4, 0x6] - ldr r1, =0x000186ac -_081C94EE: - adds r0, r4, 0 - bl sub_81C97B0 - movs r0, 0x8 - b _081C951A - .pool -_081C94FC: - ldr r0, =sub_81C9600 - str r0, [r4, 0xC] - movs r0, 0x6 - b _081C951A - .pool -_081C9508: - ldrh r1, [r5, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _081C9516 - movs r0, 0 - b _081C951A -_081C9516: - movs r0, 0x1 - negs r0, r0 -_081C951A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81C943C - - thumb_func_start sub_81C9520 -sub_81C9520: @ 81C9520 - push {r4,lr} - adds r4, r0, 0 - bl sub_81C9814 - cmp r0, 0 - beq _081C9530 - movs r0, 0x1 - b _081C9580 -_081C9530: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081C9570 - ldr r3, =gUnknown_0861FC59 - movs r0, 0x2 - ldrsh r1, [r4, r0] - ldrh r2, [r4] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 1 - adds r1, r0 - adds r1, r3 - ldrb r0, [r1] - cmp r0, 0x2 - bne _081C9578 - movs r0, 0x6 - strh r0, [r4, 0x6] - ldr r1, =0x000186ab - adds r0, r4, 0 - bl sub_81C97B0 - movs r0, 0x8 - b _081C9580 - .pool -_081C9570: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081C957E -_081C9578: - movs r0, 0x20 - bl PlaySE -_081C957E: - movs r0, 0 -_081C9580: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81C9520 - - thumb_func_start c2_pre_battle_1 -c2_pre_battle_1: @ 81C9588 - push {r4,lr} - adds r4, r0, 0 - bl sub_81C9814 - cmp r0, 0 - beq _081C9598 - movs r0, 0x1 - b _081C95F8 -_081C9598: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081C95E8 - ldr r3, =gUnknown_0861FC59 - movs r0, 0x2 - ldrsh r1, [r4, r0] - ldrh r2, [r4] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 1 - adds r1, r0 - adds r1, r3 - ldrb r0, [r1] - cmp r0, 0x2 - beq _081C95D4 - cmp r0, 0x4 - beq _081C95F4 - movs r0, 0x20 - bl PlaySE - movs r0, 0 - b _081C95F8 - .pool -_081C95D4: - movs r0, 0x6 - strh r0, [r4, 0x6] - ldr r1, =0x000186ab - adds r0, r4, 0 - bl sub_81C97B0 - movs r0, 0x8 - b _081C95F8 - .pool -_081C95E8: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _081C95F4 - movs r0, 0 - b _081C95F8 -_081C95F4: - movs r0, 0x1 - negs r0, r0 -_081C95F8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end c2_pre_battle_1 - - thumb_func_start sub_81C9600 -sub_81C9600: @ 81C9600 - push {r4,lr} - adds r4, r0, 0 - bl sub_81C9814 - cmp r0, 0 - beq _081C9616 - bl sub_81C93EC - str r0, [r4, 0xC] - movs r0, 0x1 - b _081C9634 -_081C9616: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _081C962C - movs r0, 0 - b _081C9634 - .pool -_081C962C: - bl sub_81C93EC - str r0, [r4, 0xC] - movs r0, 0x7 -_081C9634: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81C9600 - - thumb_func_start sub_81C963C -sub_81C963C: @ 81C963C - push {r4-r6,lr} - adds r4, r0, 0 - bl sub_81C9814 - adds r3, r0, 0 - cmp r3, 0 - beq _081C964E - movs r0, 0x1 - b _081C96F6 -_081C964E: - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - adds r6, r2, 0 - cmp r0, 0 - beq _081C96B8 - ldr r5, =gUnknown_0861FC59 - movs r1, 0x2 - ldrsh r0, [r4, r1] - ldrh r2, [r4] - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 1 - adds r0, r1 - adds r0, r5 - ldrb r0, [r0] - cmp r0, 0x6 - beq _081C968E - cmp r0, 0x6 - bgt _081C9688 - cmp r0, 0x5 - beq _081C96A4 - b _081C96B8 - .pool -_081C9688: - cmp r0, 0x7 - beq _081C96E4 - b _081C96B8 -_081C968E: - movs r0, 0x4 - strh r0, [r4] - strh r3, [r4, 0x2] - ldrb r0, [r5, 0x18] - strh r0, [r4, 0x4] - ldr r0, =sub_81C96FC - str r0, [r4, 0xC] - movs r0, 0x4 - b _081C96F6 - .pool -_081C96A4: - strh r3, [r4, 0x6] - ldr r1, =0x000186a7 - adds r0, r4, 0 - bl sub_81C97B0 - movs r0, 0x8 - b _081C96F6 - .pool -_081C96B8: - ldrh r1, [r6, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081C96F4 - movs r0, 0x2 - ldrsh r2, [r4, r0] - ldr r1, =gUnknown_0861FC54 - ldrh r0, [r4] - adds r0, r1 - ldrb r0, [r0] - cmp r2, r0 - beq _081C96E4 - strh r0, [r4, 0x2] - ldr r0, =sub_81C9798 - str r0, [r4, 0xC] - movs r0, 0x1 - b _081C96F6 - .pool -_081C96E4: - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_81C97C0 - movs r0, 0x3 - b _081C96F6 -_081C96F4: - movs r0, 0 -_081C96F6: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81C963C - - thumb_func_start sub_81C96FC -sub_81C96FC: @ 81C96FC - push {r4,lr} - adds r4, r0, 0 - bl sub_81C9814 - cmp r0, 0 - beq _081C970C - movs r0, 0x1 - b _081C9792 -_081C970C: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081C9754 - ldr r3, =gUnknown_0861FC59 - movs r0, 0x2 - ldrsh r1, [r4, r0] - ldrh r2, [r4] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 1 - adds r1, r0 - adds r1, r3 - ldrb r0, [r1] - cmp r0, 0xD - beq _081C9780 - subs r0, 0x8 - bl sub_81C7694 - ldr r1, =0x000186a8 - adds r0, r4, 0 - bl sub_81C97B0 - movs r0, 0x3 - strh r0, [r4, 0x6] - movs r0, 0x8 - b _081C9792 - .pool -_081C9754: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081C9790 - movs r0, 0x2 - ldrsh r2, [r4, r0] - ldr r1, =gUnknown_0861FC54 - ldrh r0, [r4] - adds r0, r1 - ldrb r0, [r0] - cmp r2, r0 - beq _081C9780 - strh r0, [r4, 0x2] - ldr r0, =sub_81C97A4 - str r0, [r4, 0xC] - movs r0, 0x1 - b _081C9792 - .pool -_081C9780: - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_81C97F8 - movs r0, 0x5 - b _081C9792 -_081C9790: - movs r0, 0 -_081C9792: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81C96FC - - thumb_func_start sub_81C9798 -sub_81C9798: @ 81C9798 - push {lr} - bl sub_81C97C0 - movs r0, 0x3 - pop {r1} - bx r1 - thumb_func_end sub_81C9798 - - thumb_func_start sub_81C97A4 -sub_81C97A4: @ 81C97A4 - push {lr} - bl sub_81C97F8 - movs r0, 0x5 - pop {r1} - bx r1 - thumb_func_end sub_81C97A4 - - thumb_func_start sub_81C97B0 -sub_81C97B0: @ 81C97B0 - str r1, [r0, 0x8] - ldr r1, =sub_81C97BC - str r1, [r0, 0xC] - bx lr - .pool - thumb_func_end sub_81C97B0 - - thumb_func_start sub_81C97BC -sub_81C97BC: @ 81C97BC - ldr r0, [r0, 0x8] - bx lr - thumb_func_end sub_81C97BC - - thumb_func_start sub_81C97C0 -sub_81C97C0: @ 81C97C0 - push {r4,lr} - adds r4, r0, 0 - bl sub_81C9268 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - movs r0, 0x1 - strh r0, [r4, 0x2] - ldr r2, =gUnknown_0861FC59 - ldrh r1, [r4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - adds r0, 0x1 - adds r0, r2 - ldrb r0, [r0] - strh r0, [r4, 0x4] - ldr r0, =sub_81C943C - str r0, [r4, 0xC] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C97C0 - - thumb_func_start sub_81C97F8 -sub_81C97F8: @ 81C97F8 - movs r1, 0x3 - strh r1, [r0] - movs r1, 0x1 - strh r1, [r0, 0x2] - ldr r1, =gUnknown_0861FC59 - ldrb r1, [r1, 0x13] - strh r1, [r0, 0x4] - ldr r1, =sub_81C963C - str r1, [r0, 0xC] - bx lr - .pool - thumb_func_end sub_81C97F8 - - thumb_func_start sub_81C9814 -sub_81C9814: @ 81C9814 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x40 - ands r0, r1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0 - beq _081C9848 - ldrh r0, [r4, 0x2] - subs r0, 0x1 - strh r0, [r4, 0x2] - lsls r0, 16 - ldrh r3, [r4] - cmp r0, 0 - bge _081C986A - ldr r0, =gUnknown_0861FC54 - adds r0, r3, r0 - ldrb r0, [r0] - strh r0, [r4, 0x2] - b _081C986A - .pool -_081C9848: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081C988C - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - movs r0, 0x2 - ldrsh r2, [r4, r0] - ldr r0, =gUnknown_0861FC54 - ldrh r1, [r4] - adds r0, r1, r0 - adds r3, r1, 0 - ldrb r0, [r0] - cmp r2, r0 - ble _081C986A - strh r5, [r4, 0x2] -_081C986A: - ldr r2, =gUnknown_0861FC59 - movs r0, 0x2 - ldrsh r1, [r4, r0] - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 1 - adds r1, r0 - adds r1, r2 - ldrb r0, [r1] - strh r0, [r4, 0x4] - movs r0, 0x1 - b _081C988E - .pool -_081C988C: - movs r0, 0 -_081C988E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81C9814 - - thumb_func_start sub_81C9894 -sub_81C9894: @ 81C9894 - push {lr} - movs r0, 0x1 - bl GetSubstructPtr - ldrh r0, [r0] - pop {r1} - bx r1 - thumb_func_end sub_81C9894 - - thumb_func_start sub_81C98A4 -sub_81C98A4: @ 81C98A4 - push {lr} - movs r0, 0x1 - bl GetSubstructPtr - movs r1, 0x2 - ldrsh r0, [r0, r1] - pop {r1} - bx r1 - thumb_func_end sub_81C98A4 - - thumb_func_start sub_81C98B4 -sub_81C98B4: @ 81C98B4 - push {lr} - movs r0, 0x1 - bl GetSubstructPtr - ldrh r0, [r0, 0x4] - pop {r1} - bx r1 - thumb_func_end sub_81C98B4 - - thumb_func_start sub_81C98C4 -sub_81C98C4: @ 81C98C4 - push {lr} - movs r0, 0x1 - bl GetSubstructPtr - ldrh r0, [r0, 0x6] - pop {r1} - bx r1 - thumb_func_end sub_81C98C4 - - thumb_func_start sub_81C98D4 -sub_81C98D4: @ 81C98D4 - push {r4,lr} - movs r4, 0 -_081C98D8: - adds r0, r4, 0 - bl sub_81CB0C8 - ldr r1, =gMapHeader - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1, 0x14] - cmp r0, r1 - bne _081C9914 - adds r0, r4, 0 - bl sub_81CAE08 - cmp r0, 0 - beq _081C9914 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x000009ca - adds r0, r1 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - beq _081C9914 - movs r0, 0x1 - b _081C991C - .pool -_081C9914: - adds r4, 0x1 - cmp r4, 0x4D - ble _081C98D8 - movs r0, 0 -_081C991C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81C98D4 - - thumb_func_start sub_81C9924 -sub_81C9924: @ 81C9924 - push {lr} - bl sub_81C9958 - adds r1, r0, 0 - cmp r1, 0 - beq _081C9938 - movs r0, 0 - strb r0, [r1, 0xD] - movs r0, 0x1 - b _081C993A -_081C9938: - movs r0, 0 -_081C993A: - pop {r1} - bx r1 - thumb_func_end sub_81C9924 - - thumb_func_start sub_81C9940 -sub_81C9940: @ 81C9940 - push {lr} - bl sub_81C9958 - adds r1, r0, 0 - cmp r1, 0 - beq _081C9952 - movs r0, 0x1 - strb r0, [r1, 0xD] - b _081C9954 -_081C9952: - movs r0, 0 -_081C9954: - pop {r1} - bx r1 - thumb_func_end sub_81C9940 - - thumb_func_start sub_81C9958 -sub_81C9958: @ 81C9958 - push {r4,lr} - ldr r1, =0x0000088c - movs r0, 0x2 - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081C997A - movs r0, 0 - strb r0, [r4, 0xC] - ldr r0, =sub_81C9A10 - movs r1, 0x1 - bl sub_81C7078 - str r0, [r4, 0x4] - ldr r0, =sub_81C99FC - str r0, [r4] -_081C997A: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81C9958 - - thumb_func_start sub_81C9990 -sub_81C9990: @ 81C9990 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x2 - bl GetSubstructPtr - adds r5, r0, 0 - ldr r0, =gUnknown_086201A0 - lsls r4, 2 - adds r4, r0 - ldr r0, [r4] - movs r1, 0x1 - bl sub_81C7078 - str r0, [r5, 0x4] - ldr r0, =sub_81C99FC - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C9990 - - thumb_func_start sub_81C99C0 -sub_81C99C0: @ 81C99C0 - push {lr} - movs r0, 0x2 - bl GetSubstructPtr - ldr r0, [r0] - bl _call_via_r0 - pop {r1} - bx r1 - thumb_func_end sub_81C99C0 - - thumb_func_start sub_81C99D4 -sub_81C99D4: @ 81C99D4 - push {r4,lr} - movs r0, 0x2 - bl GetSubstructPtr - adds r4, r0, 0 - bl sub_81CA7F4 - ldrb r0, [r4, 0x8] - bl RemoveWindow - bl sub_81C9FEC - bl sub_81CA994 - movs r0, 0x2 - bl FreeSubstruct - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81C99D4 - - thumb_func_start sub_81C99FC -sub_81C99FC: @ 81C99FC - push {lr} - movs r0, 0x2 - bl GetSubstructPtr - ldr r0, [r0, 0x4] - bl sub_81C70D8 - pop {r1} - bx r1 - thumb_func_end sub_81C99FC - - thumb_func_start sub_81C9A10 -sub_81C9A10: @ 81C9A10 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - movs r0, 0x2 - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x9 - bls _081C9A24 - b _081C9C60 -_081C9A24: - lsls r0, r4, 2 - ldr r1, =_081C9A34 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081C9A34: - .4byte _081C9A5C - .4byte _081C9AEC - .4byte _081C9B30 - .4byte _081C9B88 - .4byte _081C9B9E - .4byte _081C9BA4 - .4byte _081C9BB6 - .4byte _081C9BC0 - .4byte _081C9C0E - .4byte _081C9C4C -_081C9A5C: - ldr r0, =gUnknown_08620194 - movs r1, 0x3 - bl InitBgTemplates - ldr r1, =gPokenavMessageBox_Gfx - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - adds r1, r5, 0 - adds r1, 0x8C - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, =gPokenavMessageBox_Tilemap - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - ldr r0, =gPokenavMessageBox_Pal - movs r1, 0x10 - movs r2, 0x20 - bl CopyPaletteIntoBufferUnfaded - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY -_081C9AD6: - movs r0, 0 - b _081C9C62 - .pool -_081C9AEC: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _081C9AFA - b _081C9C5C -_081C9AFA: - ldr r1, =gUnknown_0861FD6C - str r0, [sp] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - ldr r1, =gUnknown_0861FFF4 - movs r0, 0x1 - str r0, [sp] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - ldr r0, =gUnknown_0861FD4C - movs r1, 0x20 - movs r2, 0x20 - bl CopyPaletteIntoBufferUnfaded - b _081C9AD6 - .pool -_081C9B30: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _081C9B3E - b _081C9C5C -_081C9B3E: - ldr r1, =gUnknown_0861FC98 - str r0, [sp] - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - ldr r1, =gUnknown_0861FCAC - movs r0, 0x1 - str r0, [sp] - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - ldr r0, =gUnknown_0861FC78 - movs r1, 0x30 - movs r2, 0x20 - bl CopyPaletteIntoBufferUnfaded - bl sub_81C9894 - cmp r0, 0x3 - beq _081C9B76 - bl sub_81C9894 - cmp r0, 0x4 - bne _081C9AD6 -_081C9B76: - bl sub_81CA850 - b _081C9AD6 - .pool -_081C9B88: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - bne _081C9C5C - bl sub_81CA6E0 - bl sub_81CA7D4 -_081C9B9A: - movs r0, 0x1 - b _081C9C62 -_081C9B9E: - bl sub_81C9FC4 - b _081C9B9A -_081C9BA4: - bl sub_81CA714 - bl sub_81CA02C - bl sub_81CA640 - bl sub_81CA0C8 - b _081C9AD6 -_081C9BB6: - bl sub_81CA7C4 - cmp r0, 0 - bne _081C9C5C - b _081C9B9A -_081C9BC0: - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg - ldrb r0, [r5, 0xD] - cmp r0, 0 - beq _081C9BE0 - movs r0, 0x1 - bl sub_81C7AC0 - b _081C9BEC -_081C9BE0: - movs r0, 0x6E - bl PlaySE - movs r0, 0x3 - bl sub_81C7AC0 -_081C9BEC: - bl sub_81C9894 - cmp r0, 0x3 - beq _081C9BFE - cmp r0, 0x4 - bne _081C9C06 - movs r0, 0x7 - bl sub_81C7DFC -_081C9BFE: - movs r0, 0x1 - bl sub_81C7DFC - b _081C9AD6 -_081C9C06: - movs r0, 0 - bl sub_81C7DFC - b _081C9AD6 -_081C9C0E: - bl IsPaletteFadeActive - cmp r0, 0 - bne _081C9C5C - bl sub_81C9894 - cmp r0, 0x3 - beq _081C9C2C - cmp r0, 0x4 - bne _081C9C38 - movs r0, 0x7 - movs r1, 0 - movs r2, 0 - bl sub_81C7FA0 -_081C9C2C: - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl sub_81C7FA0 - b _081C9C42 -_081C9C38: - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl sub_81C7FA0 -_081C9C42: - bl sub_81CA20C - bl titlescreen_0 - b _081C9B9A -_081C9C4C: - bl sub_81CA324 - cmp r0, 0 - bne _081C9C5C - bl sub_81C8010 - cmp r0, 0 - beq _081C9C60 -_081C9C5C: - movs r0, 0x2 - b _081C9C62 -_081C9C60: - movs r0, 0x4 -_081C9C62: - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81C9A10 - - thumb_func_start sub_81C9C6C -sub_81C9C6C: @ 81C9C6C - push {lr} - cmp r0, 0 - beq _081C9C78 - cmp r0, 0x1 - beq _081C9C8E - b _081C9CA2 -_081C9C78: - bl sub_81CAA3C - bl sub_81CA278 - bl sub_81CA714 - movs r0, 0x5 - bl PlaySE - movs r0, 0 - b _081C9CA4 -_081C9C8E: - bl sub_81CA324 - cmp r0, 0 - bne _081C9C9E - bl sub_81CA7C4 - cmp r0, 0 - beq _081C9CA2 -_081C9C9E: - movs r0, 0x2 - b _081C9CA4 -_081C9CA2: - movs r0, 0x4 -_081C9CA4: - pop {r1} - bx r1 - thumb_func_end sub_81C9C6C - - thumb_func_start sub_81C9CA8 -sub_81C9CA8: @ 81C9CA8 - push {lr} - cmp r0, 0x1 - beq _081C9CDC - cmp r0, 0x1 - bgt _081C9CB8 - cmp r0, 0 - beq _081C9CC2 - b _081C9D3C -_081C9CB8: - cmp r0, 0x2 - beq _081C9CFA - cmp r0, 0x3 - beq _081C9D14 - b _081C9D3C -_081C9CC2: - bl sub_81CA9C8 - bl sub_81CA2DC - movs r0, 0 - movs r1, 0 - bl sub_81C7FC4 - movs r0, 0x5 - bl PlaySE - movs r0, 0 - b _081C9D3E -_081C9CDC: - bl sub_81CA324 - cmp r0, 0 - bne _081C9D34 - bl sub_81C8010 - cmp r0, 0 - bne _081C9D34 - bl sub_81CA0C8 - movs r0, 0x1 - bl sub_81C7DFC - movs r0, 0 - b _081C9D3E -_081C9CFA: - bl sub_81CA20C - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl sub_81C7FA0 - bl sub_81CA818 - bl sub_81CA714 - movs r0, 0 - b _081C9D3E -_081C9D14: - bl sub_81CA324 - cmp r0, 0 - bne _081C9D34 - bl sub_81C8010 - cmp r0, 0 - bne _081C9D34 - bl sub_81CA89C - cmp r0, 0 - bne _081C9D34 - bl sub_81CA7C4 - cmp r0, 0 - beq _081C9D38 -_081C9D34: - movs r0, 0x2 - b _081C9D3E -_081C9D38: - bl sub_81CA9D8 -_081C9D3C: - movs r0, 0x4 -_081C9D3E: - pop {r1} - bx r1 - thumb_func_end sub_81C9CA8 - - thumb_func_start sub_81C9D44 -sub_81C9D44: @ 81C9D44 - push {lr} - cmp r0, 0x1 - beq _081C9D72 - cmp r0, 0x1 - bgt _081C9D54 - cmp r0, 0 - beq _081C9D5E - b _081C9DD2 -_081C9D54: - cmp r0, 0x2 - beq _081C9D90 - cmp r0, 0x3 - beq _081C9DAA - b _081C9DD2 -_081C9D5E: - bl sub_81CA9C8 - bl sub_81CA2DC - movs r0, 0x1 - movs r1, 0 - bl sub_81C7FC4 - movs r0, 0 - b _081C9DD4 -_081C9D72: - bl sub_81CA324 - cmp r0, 0 - bne _081C9DCA - bl sub_81C8010 - cmp r0, 0 - bne _081C9DCA - bl sub_81CA0C8 - movs r0, 0 - bl sub_81C7DFC - movs r0, 0 - b _081C9DD4 -_081C9D90: - bl sub_81CA20C - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl sub_81C7FA0 - bl sub_81CA864 - bl sub_81CA714 - movs r0, 0 - b _081C9DD4 -_081C9DAA: - bl sub_81CA324 - cmp r0, 0 - bne _081C9DCA - bl sub_81C8010 - cmp r0, 0 - bne _081C9DCA - bl sub_81CA89C - cmp r0, 0 - bne _081C9DCA - bl sub_81CA7C4 - cmp r0, 0 - beq _081C9DCE -_081C9DCA: - movs r0, 0x2 - b _081C9DD4 -_081C9DCE: - bl sub_81CA9D8 -_081C9DD2: - movs r0, 0x4 -_081C9DD4: - pop {r1} - bx r1 - thumb_func_end sub_81C9D44 - - thumb_func_start sub_81C9DD8 -sub_81C9DD8: @ 81C9DD8 - push {lr} - cmp r0, 0x1 - beq _081C9E04 - cmp r0, 0x1 - bgt _081C9DE8 - cmp r0, 0 - beq _081C9DF2 - b _081C9E50 -_081C9DE8: - cmp r0, 0x2 - beq _081C9E1A - cmp r0, 0x3 - beq _081C9E30 - b _081C9E50 -_081C9DF2: - bl sub_81CA9C8 - bl sub_81CA2DC - movs r0, 0x5 - bl PlaySE - movs r0, 0 - b _081C9E52 -_081C9E04: - bl sub_81CA324 - cmp r0, 0 - bne _081C9E48 - movs r0, 0x7 - bl sub_81C7DFC - bl sub_81CA0C8 - movs r0, 0 - b _081C9E52 -_081C9E1A: - bl sub_81CA20C - movs r0, 0x7 - movs r1, 0 - movs r2, 0 - bl sub_81C7FA0 - bl sub_81CA714 - movs r0, 0 - b _081C9E52 -_081C9E30: - bl sub_81CA324 - cmp r0, 0 - bne _081C9E48 - bl sub_81C8010 - cmp r0, 0 - bne _081C9E48 - bl sub_81CA89C - cmp r0, 0 - beq _081C9E4C -_081C9E48: - movs r0, 0x2 - b _081C9E52 -_081C9E4C: - bl sub_81CA9D8 -_081C9E50: - movs r0, 0x4 -_081C9E52: - pop {r1} - bx r1 - thumb_func_end sub_81C9DD8 - - thumb_func_start sub_81C9E58 -sub_81C9E58: @ 81C9E58 - push {lr} - cmp r0, 0x1 - beq _081C9E86 - cmp r0, 0x1 - bgt _081C9E68 - cmp r0, 0 - beq _081C9E72 - b _081C9EC2 -_081C9E68: - cmp r0, 0x2 - beq _081C9E9E - cmp r0, 0x3 - beq _081C9EAA - b _081C9EC2 -_081C9E72: - bl sub_81CA9C8 - bl sub_81CA2DC - movs r0, 0x7 - movs r1, 0 - bl sub_81C7FC4 - movs r0, 0 - b _081C9EC4 -_081C9E86: - bl sub_81CA324 - cmp r0, 0 - bne _081C9EBA - bl sub_81C8010 - cmp r0, 0 - bne _081C9EBA - bl sub_81CA0C8 - movs r0, 0 - b _081C9EC4 -_081C9E9E: - bl sub_81CA20C - bl sub_81CA714 - movs r0, 0 - b _081C9EC4 -_081C9EAA: - bl sub_81CA324 - cmp r0, 0 - bne _081C9EBA - bl sub_81CA89C - cmp r0, 0 - beq _081C9EBE -_081C9EBA: - movs r0, 0x2 - b _081C9EC4 -_081C9EBE: - bl sub_81CA9D8 -_081C9EC2: - movs r0, 0x4 -_081C9EC4: - pop {r1} - bx r1 - thumb_func_end sub_81C9E58 - - thumb_func_start sub_81C9EC8 -sub_81C9EC8: @ 81C9EC8 - push {lr} - cmp r0, 0 - beq _081C9ED4 - cmp r0, 0x1 - beq _081C9EE2 - b _081C9EF0 -_081C9ED4: - movs r0, 0x20 - bl PlaySE - bl sub_81CA770 - movs r0, 0 - b _081C9EF2 -_081C9EE2: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081C9EF0 - movs r0, 0x2 - b _081C9EF2 -_081C9EF0: - movs r0, 0x4 -_081C9EF2: - pop {r1} - bx r1 - thumb_func_end sub_81C9EC8 - - thumb_func_start sub_81C9EF8 -sub_81C9EF8: @ 81C9EF8 - push {lr} - cmp r0, 0 - beq _081C9F04 - cmp r0, 0x1 - beq _081C9F12 - b _081C9F20 -_081C9F04: - movs r0, 0x5 - bl PlaySE - bl sub_81CA714 - movs r0, 0 - b _081C9F22 -_081C9F12: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081C9F20 - movs r0, 0x2 - b _081C9F22 -_081C9F20: - movs r0, 0x4 -_081C9F22: - pop {r1} - bx r1 - thumb_func_end sub_81C9EF8 - - thumb_func_start sub_81C9F28 -sub_81C9F28: @ 81C9F28 - push {lr} - cmp r0, 0x1 - beq _081C9F52 - cmp r0, 0x1 - bgt _081C9F38 - cmp r0, 0 - beq _081C9F42 - b _081C9FBC -_081C9F38: - cmp r0, 0x2 - beq _081C9F96 - cmp r0, 0x3 - beq _081C9FB0 - b _081C9FBC -_081C9F42: - bl sub_81C98C4 - lsls r0, 16 - lsrs r0, 16 - bl sub_81C7BA4 - movs r0, 0 - b _081C9FBE -_081C9F52: - bl IsDma3ManagerBusyWithBgCopy_ - cmp r0, 0 - bne _081C9FB8 - bl sub_81C7880 - bl sub_81CA9C8 - bl sub_81CA2DC - bl sub_81C9894 - cmp r0, 0x3 - beq _081C9F7A - cmp r0, 0x4 - bne _081C9F84 - movs r0, 0x7 - movs r1, 0 - bl sub_81C7FC4 -_081C9F7A: - movs r0, 0x1 - movs r1, 0 - bl sub_81C7FC4 - b _081C9F8C -_081C9F84: - movs r0, 0 - movs r1, 0 - bl sub_81C7FC4 -_081C9F8C: - movs r0, 0x5 - bl PlaySE - movs r0, 0 - b _081C9FBE -_081C9F96: - bl sub_81CA324 - cmp r0, 0 - bne _081C9FB8 - bl sub_81C8010 - cmp r0, 0 - bne _081C9FB8 - movs r0, 0 - bl sub_81C7AC0 - movs r0, 0 - b _081C9FBE -_081C9FB0: - bl IsPaletteFadeActive - cmp r0, 0 - beq _081C9FBC -_081C9FB8: - movs r0, 0x2 - b _081C9FBE -_081C9FBC: - movs r0, 0x4 -_081C9FBE: - pop {r1} - bx r1 - thumb_func_end sub_81C9F28 - - thumb_func_start sub_81C9FC4 -sub_81C9FC4: @ 81C9FC4 - push {r4,r5,lr} - movs r5, 0 - ldr r4, =gUnknown_086201C4 -_081C9FCA: - adds r0, r4, 0 - bl LoadCompressedSpriteSheet - adds r4, 0x8 - adds r5, 0x1 - cmp r5, 0x1 - bls _081C9FCA - ldr r0, =gUnknown_086201D4 - bl sub_81C795C - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C9FC4 - - thumb_func_start sub_81C9FEC -sub_81C9FEC: @ 81C9FEC - push {lr} - movs r0, 0x3 - bl FreeSpriteTilesByTag - movs r0, 0x1 - bl FreeSpriteTilesByTag - movs r0, 0x4 - bl FreeSpritePaletteByTag - movs r0, 0x5 - bl FreeSpritePaletteByTag - movs r0, 0x6 - bl FreeSpritePaletteByTag - movs r0, 0x7 - bl FreeSpritePaletteByTag - movs r0, 0x8 - bl FreeSpritePaletteByTag - movs r0, 0x3 - bl FreeSpritePaletteByTag - bl sub_81CA094 - bl sub_81CA698 - pop {r0} - bx r0 - thumb_func_end sub_81C9FEC - - thumb_func_start sub_81CA02C -sub_81CA02C: @ 81CA02C - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r0, 0x2 - bl GetSubstructPtr - movs r2, 0 - adds r0, 0x2C - mov r8, r0 -_081CA03E: - movs r4, 0 - lsls r0, r2, 2 - lsls r1, r2, 4 - adds r7, r2, 0x1 - adds r0, r2 - lsls r0, 18 - movs r2, 0xA0 - lsls r2, 14 - adds r5, r0, r2 - mov r0, r8 - adds r6, r1, r0 -_081CA054: - ldr r0, =gUnknown_0862034C - movs r1, 0x8C - asrs r2, r5, 16 - movs r3, 0x3 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, =gSprites - adds r1, r0 - stm r6!, {r1} - lsls r0, r4, 5 - strh r0, [r1, 0x24] - adds r4, 0x1 - cmp r4, 0x3 - ble _081CA054 - adds r2, r7, 0 - cmp r2, 0x5 - ble _081CA03E - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CA02C - - thumb_func_start sub_81CA094 -sub_81CA094: @ 81CA094 - push {r4-r7,lr} - movs r0, 0x2 - bl GetSubstructPtr - movs r1, 0 - adds r7, r0, 0 - adds r7, 0x2C -_081CA0A2: - lsls r0, r1, 4 - adds r6, r1, 0x1 - adds r4, r0, r7 - movs r5, 0x3 -_081CA0AA: - ldr r0, [r4] - bl FreeSpriteOamMatrix - ldm r4!, {r0} - bl DestroySprite - subs r5, 0x1 - cmp r5, 0 - bge _081CA0AA - adds r1, r6, 0 - cmp r1, 0x5 - ble _081CA0A2 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81CA094 - - thumb_func_start sub_81CA0C8 -sub_81CA0C8: @ 81CA0C8 - push {lr} - bl sub_81C9894 - lsls r2, r0, 3 - subs r2, r0 - lsls r2, 2 - ldr r1, =gUnknown_08620244 - adds r0, r2, r1 - subs r1, 0x4 - adds r2, r1 - ldrh r1, [r2] - ldrh r2, [r2, 0x2] - bl sub_81CA0EC - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CA0C8 - - thumb_func_start sub_81CA0EC -sub_81CA0EC: @ 81CA0EC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - adds r6, r0, 0 - str r1, [sp, 0x14] - str r2, [sp] - movs r0, 0x2 - bl GetSubstructPtr - mov r10, r0 - movs r0, 0x3 - bl GetSpriteTileStartByTag - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x4] - movs r1, 0 -_081CA114: - ldr r0, [r6] - cmp r0, 0 - beq _081CA1B0 - movs r5, 0 - lsls r2, r1, 4 - mov r0, r10 - adds r0, 0x2C - lsls r3, r1, 2 - mov r9, r3 - movs r4, 0x10 - add r4, r10 - mov r8, r4 - adds r7, r6, 0x4 - str r7, [sp, 0xC] - ldr r3, [sp, 0x14] - ldr r4, [sp] - adds r3, r4 - str r3, [sp, 0x8] - adds r1, 0x1 - str r1, [sp, 0x10] - adds r4, r2, r0 -_081CA13E: - ldr r3, [r4] - ldr r0, [r6] - ldrh r2, [r0] - ldr r7, [sp, 0x4] - adds r2, r7 - lsls r0, r5, 3 - adds r2, r0 - ldr r1, =0x000003ff - adds r0, r1, 0 - ands r2, r0 - ldrh r0, [r3, 0x4] - ldr r7, =0xfffffc00 - adds r1, r7, 0 - ands r0, r1 - orrs r0, r2 - strh r0, [r3, 0x4] - ldr r0, [r6] - ldrh r0, [r0, 0x2] - adds r0, 0x4 - lsls r0, 16 - lsrs r0, 16 - bl IndexOfSpritePaletteTag - ldr r3, [r4] - lsls r0, 4 - ldrb r2, [r3, 0x5] - movs r1, 0xF - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x5] - ldr r2, [r4] - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, [r4] - mov r1, sp - ldrh r1, [r1, 0x14] - strh r1, [r0, 0x22] - ldr r1, [r4] - movs r0, 0x8C - strh r0, [r1, 0x20] - ldm r4!, {r1} - lsls r0, r5, 5 - strh r0, [r1, 0x24] - adds r5, 0x1 - cmp r5, 0x3 - ble _081CA13E - mov r1, r8 - add r1, r9 - movs r0, 0x1 - b _081CA1EC - .pool -_081CA1B0: - lsls r2, r1, 4 - mov r0, r10 - adds r0, 0x2C - lsls r3, r1, 2 - mov r9, r3 - movs r4, 0x10 - add r4, r10 - mov r8, r4 - adds r6, 0x4 - str r6, [sp, 0xC] - ldr r7, [sp, 0x14] - ldr r3, [sp] - adds r7, r3 - str r7, [sp, 0x8] - adds r1, 0x1 - str r1, [sp, 0x10] - movs r3, 0x4 - adds r2, r0 - movs r5, 0x3 -_081CA1D6: - ldm r2!, {r1} - adds r1, 0x3E - ldrb r0, [r1] - orrs r0, r3 - strb r0, [r1] - subs r5, 0x1 - cmp r5, 0 - bge _081CA1D6 - mov r1, r8 - add r1, r9 - movs r0, 0 -_081CA1EC: - str r0, [r1] - ldr r6, [sp, 0xC] - ldr r4, [sp, 0x8] - str r4, [sp, 0x14] - ldr r1, [sp, 0x10] - cmp r1, 0x5 - ble _081CA114 - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81CA0EC - - thumb_func_start sub_81CA20C -sub_81CA20C: @ 81CA20C - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r0, 0x2 - bl GetSubstructPtr - adds r6, r0, 0 - bl sub_81C98A4 - mov r8, r0 - movs r7, 0 - movs r5, 0 - adds r4, r6, 0 - adds r4, 0x2C -_081CA228: - lsls r0, r5, 2 - adds r1, r6, 0 - adds r1, 0x10 - adds r1, r0 - ldr r0, [r1] - cmp r0, 0 - beq _081CA25C - adds r0, r7, 0 - adds r7, 0x1 - cmp r0, r8 - bne _081CA244 - movs r2, 0x82 - strb r5, [r6, 0xB] - b _081CA246 -_081CA244: - movs r2, 0x8C -_081CA246: - adds r0, r4, 0 - movs r1, 0x80 - lsls r1, 1 - movs r3, 0xC - bl sub_81CA35C - adds r0, r4, 0 - movs r1, 0 - bl sub_81CA448 - b _081CA264 -_081CA25C: - adds r0, r4, 0 - movs r1, 0x1 - bl sub_81CA448 -_081CA264: - adds r4, 0x10 - adds r5, 0x1 - cmp r5, 0x5 - ble _081CA228 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81CA20C - - thumb_func_start sub_81CA278 -sub_81CA278: @ 81CA278 - push {r4,r5,lr} - movs r0, 0x2 - bl GetSubstructPtr - adds r4, r0, 0 - bl sub_81C98A4 - adds r3, r0, 0 - movs r2, 0 - movs r5, 0 - ldr r0, [r4, 0x10] - cmp r0, 0 - beq _081CA298 - cmp r5, r3 - beq _081CA2B2 -_081CA296: - adds r5, 0x1 -_081CA298: - adds r2, 0x1 - cmp r2, 0x5 - bgt _081CA2B2 - lsls r0, r2, 2 - adds r1, r4, 0 - adds r1, 0x10 - adds r1, r0 - ldr r0, [r1] - cmp r0, 0 - beq _081CA298 - cmp r5, r3 - bne _081CA296 - adds r5, r2, 0 -_081CA2B2: - ldrb r0, [r4, 0xB] - lsls r0, 4 - adds r0, 0x2C - adds r0, r4, r0 - movs r1, 0x82 - movs r2, 0x8C - movs r3, 0x4 - bl sub_81CA35C - lsls r0, r5, 4 - adds r0, 0x2C - adds r0, r4, r0 - movs r1, 0x8C - movs r2, 0x82 - movs r3, 0x4 - bl sub_81CA35C - strb r5, [r4, 0xB] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81CA278 - - thumb_func_start sub_81CA2DC -sub_81CA2DC: @ 81CA2DC - push {r4-r6,lr} - movs r0, 0x2 - bl GetSubstructPtr - adds r6, r0, 0 - movs r5, 0 - adds r4, r6, 0 - adds r4, 0x2C -_081CA2EC: - lsls r0, r5, 2 - adds r1, r6, 0 - adds r1, 0x10 - adds r1, r0 - ldr r0, [r1] - cmp r0, 0 - beq _081CA316 - ldrb r0, [r6, 0xB] - cmp r0, r5 - beq _081CA310 - adds r0, r4, 0 - movs r1, 0x8C - movs r2, 0x80 - lsls r2, 1 - movs r3, 0x8 - bl sub_81CA35C - b _081CA316 -_081CA310: - adds r0, r4, 0 - bl sub_81CA3B4 -_081CA316: - adds r4, 0x10 - adds r5, 0x1 - cmp r5, 0x5 - ble _081CA2EC - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81CA2DC - - thumb_func_start sub_81CA324 -sub_81CA324: @ 81CA324 - push {r4,lr} - movs r0, 0x2 - bl GetSubstructPtr - adds r3, r0, 0 - movs r2, 0 - ldr r4, =SpriteCallbackDummy - adds r1, r3, 0 - adds r1, 0x2C -_081CA336: - ldr r0, [r1] - ldr r0, [r0, 0x1C] - cmp r0, r4 - bne _081CA354 - adds r1, 0x10 - adds r2, 0x1 - cmp r2, 0x5 - ble _081CA336 - ldrb r0, [r3, 0xC] - cmp r0, 0 - bne _081CA354 - movs r0, 0 - b _081CA356 - .pool -_081CA354: - movs r0, 0x1 -_081CA356: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CA324 - - thumb_func_start sub_81CA35C -sub_81CA35C: @ 81CA35C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r4, r0, 0 - adds r5, r1, 0 - mov r9, r2 - adds r6, r3, 0 - ldr r0, =sub_81CA474 - mov r8, r0 - subs r0, r2, r5 - lsls r0, 4 - adds r1, r6, 0 - bl __divsi3 - adds r3, r0, 0 - movs r1, 0x3 - lsls r2, r5, 4 -_081CA380: - ldr r0, [r4] - strh r5, [r0, 0x20] - ldr r0, [r4] - strh r6, [r0, 0x2E] - ldr r0, [r4] - strh r3, [r0, 0x30] - ldr r0, [r4] - strh r2, [r0, 0x32] - ldr r0, [r4] - mov r7, r9 - strh r7, [r0, 0x3C] - ldm r4!, {r0} - mov r7, r8 - str r7, [r0, 0x1C] - subs r1, 0x1 - cmp r1, 0 - bge _081CA380 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CA35C - - thumb_func_start sub_81CA3B4 -sub_81CA3B4: @ 81CA3B4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - movs r0, 0x2 - bl GetSubstructPtr - adds r7, r0, 0 - movs r5, 0 - mov r8, r5 -_081CA3C8: - ldr r2, [r4] - ldrb r1, [r2, 0x1] - movs r3, 0xD - negs r3, r3 - adds r0, r3, 0 - ands r1, r0 - movs r0, 0x4 - orrs r1, r0 - strb r1, [r2, 0x1] - ldr r2, [r4] - ldrb r0, [r2, 0x1] - movs r1, 0x3 - orrs r0, r1 - strb r0, [r2, 0x1] - ldr r1, [r4] - ldr r0, =sub_81CA4AC - str r0, [r1, 0x1C] - movs r6, 0x8 - strh r6, [r1, 0x2E] - ldr r0, [r4] - mov r1, r8 - strh r1, [r0, 0x30] - ldr r0, [r4] - strh r5, [r0, 0x3C] - ldr r0, [r4] - bl InitSpriteAffineAnim - ldm r4!, {r0} - movs r1, 0 - bl StartSpriteAffineAnim - adds r5, 0x1 - cmp r5, 0x3 - ble _081CA3C8 - movs r0, 0x52 - movs r1, 0x10 - bl SetGpuReg - ldr r0, =sub_81CA580 - movs r1, 0x3 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r6, [r1, 0x8] - ldrb r0, [r7, 0xC] - adds r0, 0x1 - strb r0, [r7, 0xC] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CA3B4 - - thumb_func_start sub_81CA448 -sub_81CA448: @ 81CA448 - push {r4-r6,lr} - adds r5, r0, 0 - movs r0, 0x1 - ands r1, r0 - lsls r4, r1, 2 - movs r6, 0x5 - negs r6, r6 - movs r3, 0x3 -_081CA458: - ldm r5!, {r0} - adds r0, 0x3E - ldrb r2, [r0] - adds r1, r6, 0 - ands r1, r2 - orrs r1, r4 - strb r1, [r0] - subs r3, 0x1 - cmp r3, 0 - bge _081CA458 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81CA448 - - thumb_func_start sub_81CA474 -sub_81CA474: @ 81CA474 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x2E] - subs r0, 0x1 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - beq _081CA49A - ldrh r0, [r2, 0x30] - ldrh r1, [r2, 0x32] - adds r0, r1 - strh r0, [r2, 0x32] - lsls r0, 16 - asrs r0, 20 - strh r0, [r2, 0x20] - b _081CA4A2 -_081CA49A: - ldrh r0, [r2, 0x3C] - strh r0, [r2, 0x20] - ldr r0, =SpriteCallbackDummy - str r0, [r2, 0x1C] -_081CA4A2: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CA474 - - thumb_func_start sub_81CA4AC -sub_81CA4AC: @ 81CA4AC - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x2E] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _081CA574 - movs r0, 0x30 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _081CA4E2 - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - movs r0, 0x80 - lsls r0, 1 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] - strh r5, [r4, 0x24] - b _081CA578 -_081CA4E2: - ldrh r0, [r4, 0x32] - adds r0, 0x10 - strh r0, [r4, 0x32] - movs r2, 0x32 - ldrsh r0, [r4, r2] - asrs r1, r0, 3 - adds r0, r1, 0 - subs r0, 0x20 - lsrs r1, r0, 31 - adds r0, r1 - asrs r1, r0, 1 - movs r2, 0x3C - ldrsh r0, [r4, r2] - cmp r0, 0x1 - beq _081CA518 - cmp r0, 0x1 - bgt _081CA50A - cmp r0, 0 - beq _081CA514 - b _081CA526 -_081CA50A: - cmp r0, 0x2 - beq _081CA51C - cmp r0, 0x3 - beq _081CA520 - b _081CA526 -_081CA514: - negs r1, r1 - b _081CA520 -_081CA518: - negs r0, r1 - b _081CA524 -_081CA51C: - strh r1, [r4, 0x24] - b _081CA526 -_081CA520: - lsls r0, r1, 1 - adds r0, r1 -_081CA524: - strh r0, [r4, 0x24] -_081CA526: - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _081CA578 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldrb r1, [r4, 0x1] - lsrs r1, 6 - ldrb r2, [r4, 0x3] - lsrs r2, 6 - adds r0, r4, 0 - movs r3, 0 - bl CalcCenterToCornerVec - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0xD - negs r1, r1 - ands r0, r1 - strb r0, [r4, 0x1] - ldr r0, =SpriteCallbackDummy - str r0, [r4, 0x1C] - b _081CA578 - .pool -_081CA574: - subs r0, r1, 0x1 - strh r0, [r4, 0x2E] -_081CA578: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81CA4AC - - thumb_func_start sub_81CA580 -sub_81CA580: @ 81CA580 - 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 - ldrh r0, [r4] - movs r1, 0 - ldrsh r2, [r4, r1] - cmp r2, 0 - bne _081CA634 - movs r0, 0x2 - ldrsh r1, [r4, r0] - cmp r1, 0 - beq _081CA5AC - cmp r1, 0x1 - beq _081CA5CC - b _081CA638 - .pool -_081CA5AC: - movs r0, 0x10 - strh r0, [r4, 0x4] - strh r2, [r4, 0x6] - movs r1, 0xFC - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0x10 - bl SetGpuReg - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - b _081CA638 -_081CA5CC: - ldrh r0, [r4, 0x8] - ands r1, r0 - cmp r1, 0 - beq _081CA5E4 - ldrh r0, [r4, 0x4] - subs r0, 0x3 - strh r0, [r4, 0x4] - lsls r0, 16 - cmp r0, 0 - bge _081CA5F6 - strh r2, [r4, 0x4] - b _081CA5F6 -_081CA5E4: - ldrh r0, [r4, 0x6] - adds r0, 0x3 - strh r0, [r4, 0x6] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - ble _081CA5F6 - movs r0, 0x10 - strh r0, [r4, 0x6] -_081CA5F6: - ldrh r1, [r4, 0x6] - lsls r1, 8 - ldrh r0, [r4, 0x4] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xC - bne _081CA638 - movs r0, 0x2 - bl GetSubstructPtr - ldrb r1, [r0, 0xC] - subs r1, 0x1 - strb r1, [r0, 0xC] - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x52 - bl SetGpuReg - adds r0, r5, 0 - bl DestroyTask - b _081CA638 -_081CA634: - subs r0, 0x1 - strh r0, [r4] -_081CA638: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81CA580 - - thumb_func_start sub_81CA640 -sub_81CA640: @ 81CA640 - push {r4,lr} - movs r0, 0x2 - bl GetSubstructPtr - adds r4, r0, 0 - ldr r0, =gUnknown_0862036C - movs r1, 0x10 - movs r2, 0x60 - movs r3, 0x4 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, =gSprites - adds r1, r0 - str r1, [r4, 0x28] - bl sub_81C98D4 - cmp r0, 0 - beq _081CA684 - ldr r1, [r4, 0x28] - ldr r0, =sub_81CA6AC - str r0, [r1, 0x1C] - b _081CA690 - .pool -_081CA684: - ldr r0, [r4, 0x28] - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_081CA690: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81CA640 - - thumb_func_start sub_81CA698 -sub_81CA698: @ 81CA698 - push {lr} - movs r0, 0x2 - bl GetSubstructPtr - ldr r0, [r0, 0x28] - bl DestroySprite - pop {r0} - bx r0 - thumb_func_end sub_81CA698 - - thumb_func_start sub_81CA6AC -sub_81CA6AC: @ 81CA6AC - push {lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _081CA6DA - movs r0, 0 - strh r0, [r3, 0x2E] - adds r3, 0x3E - ldrb r2, [r3] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] -_081CA6DA: - pop {r0} - bx r0 - thumb_func_end sub_81CA6AC - - thumb_func_start sub_81CA6E0 -sub_81CA6E0: @ 81CA6E0 - push {r4,lr} - movs r0, 0x2 - bl GetSubstructPtr - adds r4, r0, 0 - ldr r0, =gUnknown_086202CC - bl AddWindow - strh r0, [r4, 0x8] - lsls r0, 24 - lsrs r0, 24 - bl PutWindowTilemap - ldrb r0, [r4, 0x8] - movs r1, 0x66 - bl FillWindowPixelBuffer - ldrb r0, [r4, 0x8] - movs r1, 0x3 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CA6E0 - - thumb_func_start sub_81CA714 -sub_81CA714: @ 81CA714 - push {r4-r6,lr} - sub sp, 0xC - movs r0, 0x2 - bl GetSubstructPtr - adds r5, r0, 0 - bl sub_81C98B4 - ldr r1, =gUnknown_086202D4 - lsls r0, 2 - adds r0, r1 - ldr r6, [r0] - movs r2, 0x1 - negs r2, r2 - movs r0, 0x1 - adds r1, r6, 0 - bl GetStringWidth - adds r4, r0, 0 - ldrb r0, [r5, 0x8] - movs r1, 0x66 - bl FillWindowPixelBuffer - ldrb r0, [r5, 0x8] - movs r2, 0xC0 - subs r2, r4 - lsrs r2, 1 - lsls r2, 24 - lsrs r2, 24 - ldr r1, =gUnknown_0862030C - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r6, [sp, 0x8] - movs r1, 0x1 - movs r3, 0x1 - bl AddTextPrinterParameterized3 - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CA714 - - thumb_func_start sub_81CA770 -sub_81CA770: @ 81CA770 - push {r4-r6,lr} - sub sp, 0xC - movs r0, 0x2 - bl GetSubstructPtr - adds r5, r0, 0 - ldr r6, =gText_NoRibbonWinners - movs r2, 0x1 - negs r2, r2 - movs r0, 0x1 - adds r1, r6, 0 - bl GetStringWidth - adds r4, r0, 0 - ldrb r0, [r5, 0x8] - movs r1, 0x66 - bl FillWindowPixelBuffer - ldrb r0, [r5, 0x8] - movs r2, 0xC0 - subs r2, r4 - lsrs r2, 1 - lsls r2, 24 - lsrs r2, 24 - ldr r1, =gUnknown_0862030F - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r6, [sp, 0x8] - movs r1, 0x1 - movs r3, 0x1 - bl AddTextPrinterParameterized3 - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CA770 - - thumb_func_start sub_81CA7C4 -sub_81CA7C4: @ 81CA7C4 - push {lr} - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_81CA7C4 - - thumb_func_start sub_81CA7D4 -sub_81CA7D4: @ 81CA7D4 - push {r4,lr} - movs r0, 0x2 - bl GetSubstructPtr - adds r4, r0, 0 - ldr r0, =sub_81CA808 - movs r1, 0x2 - bl CreateTask - strb r0, [r4, 0xA] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CA7D4 - - thumb_func_start sub_81CA7F4 -sub_81CA7F4: @ 81CA7F4 - push {lr} - movs r0, 0x2 - bl GetSubstructPtr - ldrb r0, [r0, 0xA] - bl DestroyTask - pop {r0} - bx r0 - thumb_func_end sub_81CA7F4 - - thumb_func_start sub_81CA808 -sub_81CA808: @ 81CA808 - push {lr} - movs r0, 0x3 - movs r1, 0x80 - movs r2, 0x1 - bl ChangeBgX - pop {r0} - bx r0 - thumb_func_end sub_81CA808 - - thumb_func_start sub_81CA818 -sub_81CA818: @ 81CA818 - push {r4,r5,lr} - ldr r0, =sub_81CA8B0 - movs r1, 0x3 - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, =gUnknown_0861FC78 + 2 - adds r0, r4, 0 - movs r1, 0x1 - adds r2, r5, 0 - bl SetWordTaskArg - adds r5, 0xC - adds r0, r4, 0 - movs r1, 0x3 - adds r2, r5, 0 - bl SetWordTaskArg - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CA818 - - thumb_func_start sub_81CA850 -sub_81CA850: @ 81CA850 - push {lr} - ldr r0, =gUnknown_0861FC78 + 0xE - movs r1, 0x31 - movs r2, 0x4 - bl CopyPaletteIntoBufferUnfaded - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CA850 - - thumb_func_start sub_81CA864 -sub_81CA864: @ 81CA864 - push {r4,r5,lr} - ldr r0, =sub_81CA8B0 - movs r1, 0x3 - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, =gUnknown_0861FC78 + 0xE - adds r0, r4, 0 - movs r1, 0x1 - adds r2, r5, 0 - bl SetWordTaskArg - subs r5, 0xC - adds r0, r4, 0 - movs r1, 0x3 - adds r2, r5, 0 - bl SetWordTaskArg - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CA864 - - thumb_func_start sub_81CA89C -sub_81CA89C: @ 81CA89C - push {lr} - ldr r0, =sub_81CA8B0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CA89C - - thumb_func_start sub_81CA8B0 -sub_81CA8B0: @ 81CA8B0 - push {r4-r6,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r6, r0, 24 - lsls r4, r6, 2 - adds r4, r6 - lsls r4, 3 - ldr r0, =gTasks + 0x8 - adds r4, r0 - adds r0, r6, 0 - movs r1, 0x1 - bl GetWordTaskArg - adds r5, r0, 0 - adds r0, r6, 0 - movs r1, 0x3 - bl GetWordTaskArg - adds r1, r0, 0 - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - lsls r0, 16 - asrs r0, 16 - str r0, [sp] - add r0, sp, 0x8 - str r0, [sp, 0x4] - adds r0, r5, 0 - movs r2, 0x2 - movs r3, 0xC - bl sub_81C79BC - add r0, sp, 0x8 - movs r1, 0x31 - movs r2, 0x4 - bl LoadPalette - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0xC - bne _081CA908 - adds r0, r6, 0 - bl DestroyTask -_081CA908: - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CA8B0 - - thumb_func_start sub_81CA914 -sub_81CA914: @ 81CA914 - push {lr} - bl TransferPlttBuffer - bl LoadOam - bl ProcessSpriteCopyRequests - bl ScanlineEffect_InitHBlankDmaTransfer - pop {r0} - bx r0 - thumb_func_end sub_81CA914 - - thumb_func_start titlescreen_0 -titlescreen_0: @ 81CA92C - push {lr} - movs r0, 0x50 - movs r1, 0x90 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl SetGpuRegBits - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuRegBits - movs r0, 0x4A - movs r1, 0x1F - bl SetGpuRegBits - movs r0, 0x44 - movs r1, 0xA0 - bl SetGpuRegBits - bl ScanlineEffect_Stop - bl sub_81CAA3C - ldr r2, =gUnknown_08620384 - ldr r0, [r2] - ldr r1, [r2, 0x4] - ldr r2, [r2, 0x8] - bl ScanlineEffect_SetParams - ldr r0, =sub_81CA914 - bl SetVBlankCallback_ - ldr r0, =sub_81CA9EC - movs r1, 0x3 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end titlescreen_0 - - thumb_func_start sub_81CA994 -sub_81CA994: @ 81CA994 - push {lr} - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl ClearGpuRegBits - bl ScanlineEffect_Stop - ldr r0, =sub_81CA9EC - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - bl SetPokenavVBlankCallback - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CA994 - - thumb_func_start sub_81CA9C8 -sub_81CA9C8: @ 81CA9C8 - push {lr} - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - pop {r0} - bx r0 - thumb_func_end sub_81CA9C8 - - thumb_func_start sub_81CA9D8 -sub_81CA9D8: @ 81CA9D8 - push {lr} - bl sub_81CAA3C - movs r0, 0x50 - movs r1, 0x90 - bl SetGpuReg - pop {r0} - bx r0 - thumb_func_end sub_81CA9D8 - - thumb_func_start sub_81CA9EC -sub_81CA9EC: @ 81CA9EC - push {lr} - 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 - cmp r0, 0 - ble _081CAA30 - movs r0, 0 - strh r0, [r2] - ldrh r0, [r2, 0x2] - adds r0, 0x3 - movs r1, 0x7F - ands r0, r1 - strh r0, [r2, 0x2] - ldr r1, =gSineTable - movs r3, 0x2 - ldrsh r0, [r2, r3] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - lsls r1, 16 - asrs r1, 21 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x54 - bl SetGpuReg -_081CAA30: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CA9EC - - thumb_func_start sub_81CAA3C -sub_81CAA3C: @ 81CAA3C - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x8 - bl sub_81C9894 - adds r4, r0, 0 - bl sub_81C98A4 - ldr r2, =gUnknown_08620240 - lsls r1, r4, 3 - subs r1, r4 - lsls r1, 2 - adds r1, r2 - ldrh r2, [r1, 0x2] - adds r4, r2, 0 - muls r4, r0 - ldrh r1, [r1] - adds r4, r1 - subs r4, 0x8 - mov r0, sp - movs r6, 0 - strh r6, [r0] - ldr r5, =gScanlineEffectRegBuffers - ldr r0, =0x010000a0 - mov r8, r0 - mov r0, sp - adds r1, r5, 0 - mov r2, r8 - bl CpuSet - mov r0, sp - adds r0, 0x2 - strh r6, [r0] - movs r1, 0xF0 - lsls r1, 3 - adds r1, r5 - mov r9, r1 - mov r2, r8 - bl CpuSet - add r0, sp, 0x4 - ldr r1, =0x000072f0 - adds r6, r1, 0 - strh r6, [r0] - lsls r4, 1 - adds r5, r4, r5 - ldr r1, =0x01000010 - mov r8, r1 - adds r1, r5, 0 - mov r2, r8 - bl CpuSet - mov r0, sp - adds r0, 0x6 - strh r6, [r0] - add r4, r9 - adds r1, r4, 0 - mov r2, r8 - bl CpuSet - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CAA3C - - thumb_func_start sub_81CAADC -sub_81CAADC: @ 81CAADC - push {lr} - bl sub_81CA9C8 - pop {r0} - bx r0 - thumb_func_end sub_81CAADC - - thumb_func_start sub_81CAAE8 -sub_81CAAE8: @ 81CAAE8 - push {r4,lr} - movs r1, 0xD4 - lsls r1, 1 - movs r0, 0x5 - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081CAB1C - ldr r0, =sub_81CAB44 - str r0, [r4, 0x18] - movs r0, 0 - strh r0, [r4, 0x8] - str r0, [r4, 0x10] - ldr r0, =sub_81CAD20 - movs r1, 0x1 - bl sub_81C7078 - str r0, [r4, 0x14] - movs r0, 0x1 - b _081CAB1E - .pool -_081CAB1C: - movs r0, 0 -_081CAB1E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CAAE8 - - thumb_func_start sub_81CAB24 -sub_81CAB24: @ 81CAB24 - push {lr} - movs r0, 0x5 - bl GetSubstructPtr - ldr r1, [r0, 0x18] - bl _call_via_r1 - pop {r1} - bx r1 - thumb_func_end sub_81CAB24 - - thumb_func_start sub_81CAB38 -sub_81CAB38: @ 81CAB38 - push {lr} - movs r0, 0x5 - bl FreeSubstruct - pop {r0} - bx r0 - thumb_func_end sub_81CAB38 - - thumb_func_start sub_81CAB44 -sub_81CAB44: @ 81CAB44 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r3, =gMain - ldrh r1, [r3, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _081CAB5C - movs r0, 0x2 - b _081CABF4 - .pool -_081CAB5C: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081CAB68 - movs r0, 0x1 - b _081CABF4 -_081CAB68: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _081CAB74 - movs r0, 0x4 - b _081CABF4 -_081CAB74: - movs r0, 0x10 - ands r0, r1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0 - beq _081CAB84 - movs r0, 0x3 - b _081CABF4 -_081CAB84: - ldrh r1, [r3, 0x2E] - movs r5, 0x1 - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - beq _081CABD0 - ldr r0, =sub_81CAC04 - str r0, [r4, 0x18] - strh r2, [r4] - bl sub_81C875C - lsls r0, 2 - adds r1, r4, r0 - ldrb r0, [r1, 0x1C] - cmp r0, 0 - beq _081CABAE - ldrh r0, [r1, 0x1E] - bl sub_81D17E8 - cmp r0, 0 - beq _081CABC0 -_081CABAE: - ldr r0, =gUnknown_0862250A - str r0, [r4, 0x4] - movs r0, 0x2 - strh r0, [r4, 0x2] - b _081CABC6 - .pool -_081CABC0: - ldr r0, =gUnknown_08622508 - str r0, [r4, 0x4] - strh r5, [r4, 0x2] -_081CABC6: - movs r0, 0x5 - b _081CABF4 - .pool -_081CABD0: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081CABF2 - bl GetPokenavMode - cmp r0, 0x1 - beq _081CABEC - ldr r0, =sub_81CABFC - str r0, [r4, 0x18] - movs r0, 0xF - b _081CABF4 - .pool -_081CABEC: - movs r0, 0x20 - bl PlaySE -_081CABF2: - movs r0, 0 -_081CABF4: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CAB44 - - thumb_func_start sub_81CABFC -sub_81CABFC: @ 81CABFC - ldr r0, =0x000186a4 - bx lr - .pool - thumb_func_end sub_81CABFC - - thumb_func_start sub_81CAC04 -sub_81CAC04: @ 81CAC04 - push {r4,lr} - adds r4, r0, 0 - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _081CAC24 - ldrh r0, [r4] - cmp r0, 0 - beq _081CAC24 - subs r0, 0x1 - b _081CAC38 - .pool -_081CAC24: - ldrh r1, [r2, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081CAC3E - ldrh r0, [r4] - ldrh r1, [r4, 0x2] - cmp r0, r1 - bcs _081CAC3E - adds r0, 0x1 -_081CAC38: - strh r0, [r4] - movs r0, 0x6 - b _081CACAC -_081CAC3E: - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081CAC98 - ldrh r1, [r4] - ldr r0, [r4, 0x4] - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - beq _081CAC8C - cmp r0, 0x1 - bgt _081CAC5E - cmp r0, 0 - beq _081CAC64 - b _081CAC98 -_081CAC5E: - cmp r0, 0x2 - bne _081CAC98 - b _081CACA6 -_081CAC64: - bl GetPokenavMode - cmp r0, 0x1 - bne _081CAC72 - movs r0, 0x2 - bl SetPokenavMode -_081CAC72: - ldr r0, =sub_81CACF8 - str r0, [r4, 0x18] - bl sub_81CB1D0 - cmp r0, 0 - beq _081CAC88 - movs r0, 0x9 - b _081CACAC - .pool -_081CAC88: - movs r0, 0x8 - b _081CACAC -_081CAC8C: - ldr r0, =sub_81CACB8 - str r0, [r4, 0x18] - movs r0, 0xB - b _081CACAC - .pool -_081CAC98: - ldrh r1, [r2, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _081CACA6 - movs r0, 0 - b _081CACAC -_081CACA6: - ldr r0, =sub_81CAB44 - str r0, [r4, 0x18] - movs r0, 0x7 -_081CACAC: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CAC04 - - thumb_func_start sub_81CACB8 -sub_81CACB8: @ 81CACB8 - push {lr} - adds r3, r0, 0 - ldr r2, =gMain - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _081CACD0 - movs r0, 0xC - b _081CACF0 - .pool -_081CACD0: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081CACDC - movs r0, 0xD - b _081CACF0 -_081CACDC: - ldrh r1, [r2, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _081CACEA - movs r0, 0 - b _081CACF0 -_081CACEA: - ldr r0, =sub_81CAB44 - str r0, [r3, 0x18] - movs r0, 0xE -_081CACF0: - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CACB8 - - thumb_func_start sub_81CACF8 -sub_81CACF8: @ 81CACF8 - push {lr} - adds r2, r0, 0 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _081CAD10 - movs r0, 0 - b _081CAD16 - .pool -_081CAD10: - ldr r0, =sub_81CAB44 - str r0, [r2, 0x18] - movs r0, 0xA -_081CAD16: - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CACF8 - - thumb_func_start sub_81CAD20 -sub_81CAD20: @ 81CAD20 - push {r4-r7,lr} - adds r5, r0, 0 - movs r0, 0x5 - bl GetSubstructPtr - adds r4, r0, 0 - cmp r5, 0x1 - beq _081CAD4C - cmp r5, 0x1 - bgt _081CAD3A - cmp r5, 0 - beq _081CAD44 - b _081CAE00 -_081CAD3A: - cmp r5, 0x2 - beq _081CAD9C - cmp r5, 0x3 - beq _081CADFC - b _081CAE00 -_081CAD44: - strh r5, [r4, 0x8] - strh r5, [r4, 0xA] -_081CAD48: - movs r0, 0x1 - b _081CAE02 -_081CAD4C: - movs r6, 0 - ldrh r5, [r4, 0x8] -_081CAD50: - adds r0, r5, 0 - bl MatchCallFlagGetByIndex - cmp r0, 0 - beq _081CAD80 - ldrh r0, [r4, 0xA] - lsls r0, 2 - adds r0, r4, r0 - strh r5, [r0, 0x1E] - ldrh r0, [r4, 0xA] - lsls r0, 2 - adds r0, r4, r0 - movs r1, 0x1 - strb r1, [r0, 0x1C] - adds r0, r5, 0 - bl sub_81D16DC - ldrh r1, [r4, 0xA] - lsls r1, 2 - adds r1, r4, r1 - strb r0, [r1, 0x1D] - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] -_081CAD80: - ldrh r0, [r4, 0x8] - adds r1, r0, 0x1 - movs r2, 0 - strh r1, [r4, 0x8] - lsls r0, r1, 16 - lsrs r0, 16 - cmp r0, 0x14 - bhi _081CADF6 - adds r6, 0x1 - adds r5, 0x1 - cmp r6, 0x1D - ble _081CAD50 - movs r0, 0x3 - b _081CAE02 -_081CAD9C: - movs r6, 0 - ldrh r5, [r4, 0x8] - movs r7, 0 -_081CADA2: - ldrh r0, [r4, 0x8] - bl sub_81D1BF8 - cmp r0, 0 - bne _081CADDC - ldrh r0, [r4, 0x8] - bl sub_81CAE08 - cmp r0, 0 - beq _081CADDC - ldrh r0, [r4, 0xA] - lsls r0, 2 - adds r0, r4, r0 - ldrh r1, [r4, 0x8] - strh r1, [r0, 0x1E] - ldrh r0, [r4, 0xA] - lsls r0, 2 - adds r0, r4, r0 - strb r7, [r0, 0x1C] - adds r0, r5, 0 - bl sub_81CB0C8 - ldrh r1, [r4, 0xA] - lsls r1, 2 - adds r1, r4, r1 - strb r0, [r1, 0x1D] - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] -_081CADDC: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x4D - bhi _081CAD48 - adds r6, 0x1 - adds r5, 0x1 - cmp r6, 0x1D - ble _081CADA2 - movs r0, 0x3 - b _081CAE02 -_081CADF6: - strh r1, [r4, 0xC] - strh r2, [r4, 0x8] - b _081CAD48 -_081CADFC: - movs r0, 0x1 - str r0, [r4, 0x10] -_081CAE00: - movs r0, 0x4 -_081CAE02: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81CAD20 - - thumb_func_start sub_81CAE08 -sub_81CAE08: @ 81CAE08 - push {lr} - cmp r0, 0x4D - ble _081CAE12 - movs r0, 0 - b _081CAE24 -_081CAE12: - movs r1, 0xAE - lsls r1, 1 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 -_081CAE24: - pop {r1} - bx r1 - thumb_func_end sub_81CAE08 - - thumb_func_start sub_81CAE28 -sub_81CAE28: @ 81CAE28 - push {lr} - movs r0, 0x5 - bl GetSubstructPtr - ldr r0, [r0, 0x10] - pop {r1} - bx r1 - thumb_func_end sub_81CAE28 - - thumb_func_start sub_81CAE38 -sub_81CAE38: @ 81CAE38 - push {lr} - movs r0, 0x5 - bl GetSubstructPtr - ldrh r0, [r0, 0xA] - pop {r1} - bx r1 - thumb_func_end sub_81CAE38 - - thumb_func_start sub_81CAE48 -sub_81CAE48: @ 81CAE48 - push {lr} - movs r0, 0x5 - bl GetSubstructPtr - ldrh r0, [r0, 0xC] - pop {r1} - bx r1 - thumb_func_end sub_81CAE48 - - thumb_func_start sub_81CAE58 -sub_81CAE58: @ 81CAE58 - push {lr} - movs r0, 0x5 - bl GetSubstructPtr - adds r1, r0, 0 - ldrh r0, [r1, 0xA] - ldrh r1, [r1, 0xC] - subs r0, r1 - pop {r1} - bx r1 - thumb_func_end sub_81CAE58 - - thumb_func_start sub_81CAE6C -sub_81CAE6C: @ 81CAE6C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x5 - bl GetSubstructPtr - adds r1, r0, 0 - ldrh r0, [r1, 0xC] - adds r4, r0 - ldrh r0, [r1, 0xA] - cmp r4, r0 - bge _081CAE8A - lsls r0, r4, 2 - adds r0, r1, r0 - ldrh r0, [r0, 0x1E] - b _081CAE8C -_081CAE8A: - movs r0, 0x4E -_081CAE8C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CAE6C - - thumb_func_start sub_81CAE94 -sub_81CAE94: @ 81CAE94 - push {lr} - movs r0, 0x5 - bl GetSubstructPtr - adds r0, 0x1C - pop {r1} - bx r1 - thumb_func_end sub_81CAE94 - - thumb_func_start sub_81CAEA4 -sub_81CAEA4: @ 81CAEA4 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x5 - bl GetSubstructPtr - lsls r4, 2 - adds r0, r4 - ldrb r0, [r0, 0x1D] - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CAEA4 - - thumb_func_start sub_81CAEBC -sub_81CAEBC: @ 81CAEBC - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x5 - bl GetSubstructPtr - lsls r1, r4, 2 - adds r1, r0, r1 - ldrb r0, [r1, 0x1C] - cmp r0, 0 - bne _081CAED4 - ldrh r4, [r1, 0x1E] - b _081CAEDC -_081CAED4: - ldrh r0, [r1, 0x1E] - bl MatchCall_GetRematchTableIdx - adds r4, r0, 0 -_081CAEDC: - cmp r4, 0x4E - beq _081CAEFC - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x000009ca - adds r0, r1 - adds r0, r4 - ldrb r1, [r0] - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - b _081CAEFE - .pool -_081CAEFC: - movs r0, 0 -_081CAEFE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CAEBC - - thumb_func_start sub_81CAF04 -sub_81CAF04: @ 81CAF04 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x5 - bl GetSubstructPtr - lsls r1, r4, 2 - adds r1, r0, r1 - ldrb r0, [r1, 0x1C] - cmp r0, 0 - bne _081CAF34 - ldrh r0, [r1, 0x1E] - bl GetTrainerIdxByRematchIdx - adds r4, r0, 0 - ldr r1, =gTrainers - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0, 0x3] - b _081CAF6C - .pool -_081CAF34: - ldrh r5, [r1, 0x1E] - adds r0, r5, 0 - bl MatchCall_GetRematchTableIdx - adds r4, r0, 0 - cmp r4, 0x4E - bne _081CAF58 - adds r0, r5, 0 - bl sub_81D1BD0 - adds r4, r0, 0 - ldr r0, =gFacilityClassToPicIndex - adds r0, r4, r0 - ldrb r0, [r0] - b _081CAF6C - .pool -_081CAF58: - adds r0, r4, 0 - bl GetTrainerIdxByRematchIdx - adds r4, r0, 0 - ldr r0, =gTrainers - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrb r0, [r1, 0x3] -_081CAF6C: - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CAF04 - - thumb_func_start sub_81CAF78 -sub_81CAF78: @ 81CAF78 - push {r4-r6,lr} - adds r5, r0, 0 - adds r6, r1, 0 - movs r0, 0x5 - bl GetSubstructPtr - adds r4, r0, 0 - movs r0, 0 - strb r0, [r6] - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - bl Overworld_MapTypeAllowsTeleportAndFly - lsls r0, 24 - cmp r0, 0 - bne _081CAFA4 - ldr r0, =gText_CallCantBeMadeHere - b _081CAFCE - .pool -_081CAFA4: - lsls r0, r5, 2 - adds r1, r4, r0 - ldrb r0, [r1, 0x1C] - cmp r0, 0 - bne _081CAFC4 - ldrh r0, [r1, 0x1E] - bl GetTrainerIdxByRematchIdx - ldr r1, =gStringVar4 - bl SelectMatchCallMessage - strb r0, [r6] - b _081CAFCC - .pool -_081CAFC4: - ldrh r0, [r1, 0x1E] - ldr r1, =gStringVar4 - bl MatchCall_GetMessage -_081CAFCC: - ldr r0, =gStringVar4 -_081CAFCE: - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CAF78 - - thumb_func_start sub_81CAFD8 -sub_81CAFD8: @ 81CAFD8 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x5 - bl GetSubstructPtr - lsls r4, 2 - adds r4, r0, r4 - ldrb r0, [r4, 0x1C] - cmp r0, 0 - beq _081CB004 - ldrh r0, [r4, 0x1E] - bl MatchCall_GetRematchTableIdx - adds r1, r0, 0 - cmp r1, 0x4E - bne _081CB006 - ldrh r0, [r4, 0x1E] - adds r1, r5, 0 - bl sub_81D1B40 - b _081CB012 -_081CB004: - ldrh r1, [r4, 0x1E] -_081CB006: - ldr r2, =gUnknown_08622028 - lsls r0, r5, 2 - lsls r1, 4 - adds r0, r1 - adds r0, r2 - ldr r0, [r0] -_081CB012: - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CAFD8 - - thumb_func_start sub_81CB01C -sub_81CB01C: @ 81CB01C - push {lr} - movs r0, 0x5 - bl GetSubstructPtr - ldrh r0, [r0] - pop {r1} - bx r1 - thumb_func_end sub_81CB01C - - thumb_func_start sub_81CB02C -sub_81CB02C: @ 81CB02C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x5 - bl GetSubstructPtr - adds r1, r0, 0 - ldrh r0, [r1, 0x2] - cmp r0, r4 - blt _081CB046 - ldr r0, [r1, 0x4] - adds r0, r4 - ldrb r0, [r0] - b _081CB048 -_081CB046: - movs r0, 0x3 -_081CB048: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CB02C - - thumb_func_start sub_81CB050 -sub_81CB050: @ 81CB050 - push {r4,lr} - sub sp, 0x8 - adds r2, r0, 0 - adds r4, r1, 0 - ldrb r0, [r2] - cmp r0, 0 - bne _081CB088 - ldrh r0, [r2, 0x2] - bl GetTrainerIdxByRematchIdx - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTrainers - adds r1, r0 - ldrb r2, [r1, 0x1] - movs r0, 0xD - muls r0, r2 - ldr r2, =gTrainerClassNames - adds r0, r2 - str r0, [sp] - adds r1, 0x4 - str r1, [sp, 0x4] - b _081CB092 - .pool -_081CB088: - ldrh r0, [r2, 0x2] - add r2, sp, 0x4 - mov r1, sp - bl sub_81D1A78 -_081CB092: - ldr r2, [sp] - cmp r2, 0 - beq _081CB0B4 - ldr r0, [sp, 0x4] - cmp r0, 0 - beq _081CB0B4 - adds r0, r4, 0 - movs r1, 0x7 - movs r3, 0x45 - bl sub_81DB494 - ldr r2, [sp, 0x4] - movs r1, 0x7 - movs r3, 0x33 - bl sub_81DB494 - b _081CB0C0 -_081CB0B4: - adds r0, r4, 0 - movs r1, 0x7 - movs r2, 0 - movs r3, 0x78 - bl sub_81DB494 -_081CB0C0: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81CB050 - - thumb_func_start sub_81CB0C8 -sub_81CB0C8: @ 81CB0C8 - 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_81CB0C8 - - thumb_func_start sub_81CB0E4 -sub_81CB0E4: @ 81CB0E4 - push {r4-r7,lr} - adds r5, r0, 0 - movs r0, 0x5 - bl GetSubstructPtr - adds r7, r0, 0 - movs r6, 0x1 - adds r5, 0x1 - ldrh r0, [r7, 0xA] - cmp r5, r0 - bge _081CB120 - lsls r0, r5, 2 - adds r0, 0x1C - adds r4, r0, r7 -_081CB100: - ldrb r0, [r4] - cmp r0, 0 - beq _081CB110 - ldrh r0, [r4, 0x2] - bl sub_81D17E8 - cmp r0, 0 - beq _081CB114 -_081CB110: - adds r0, r6, 0 - b _081CB122 -_081CB114: - adds r6, 0x1 - adds r4, 0x4 - adds r5, 0x1 - ldrh r0, [r7, 0xA] - cmp r5, r0 - blt _081CB100 -_081CB120: - movs r0, 0 -_081CB122: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81CB0E4 - - thumb_func_start sub_81CB128 -sub_81CB128: @ 81CB128 - push {r4-r6,lr} - adds r5, r0, 0 - movs r0, 0x5 - bl GetSubstructPtr - adds r1, r0, 0 - movs r6, 0x1 - negs r6, r6 - subs r5, 0x1 - cmp r5, 0 - blt _081CB162 - lsls r0, r5, 2 - adds r0, 0x1C - adds r4, r0, r1 -_081CB144: - ldrb r0, [r4] - cmp r0, 0 - beq _081CB154 - ldrh r0, [r4, 0x2] - bl sub_81D17E8 - cmp r0, 0 - beq _081CB158 -_081CB154: - adds r0, r6, 0 - b _081CB164 -_081CB158: - subs r6, 0x1 - subs r4, 0x4 - subs r5, 0x1 - cmp r5, 0 - bge _081CB144 -_081CB162: - movs r0, 0 -_081CB164: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81CB128 - - thumb_func_start sub_81CB16C -sub_81CB16C: @ 81CB16C - push {r4,lr} - movs r4, 0 -_081CB170: - adds r0, r4, 0 - bl sub_81CAE08 - cmp r0, 0 - beq _081CB18A - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x000009ca - adds r0, r1 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - bne _081CB1B2 -_081CB18A: - adds r4, 0x1 - cmp r4, 0x4D - ble _081CB170 - movs r4, 0 -_081CB192: - adds r0, r4, 0 - bl MatchCallFlagGetByIndex - cmp r0, 0 - beq _081CB1C0 - adds r0, r4, 0 - bl MatchCall_GetRematchTableIdx - ldr r1, =gSaveBlock1Ptr - ldr r1, [r1] - ldr r2, =0x000009ca - adds r1, r2 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0 - beq _081CB1C0 -_081CB1B2: - movs r0, 0x1 - b _081CB1C8 - .pool -_081CB1C0: - adds r4, 0x1 - cmp r4, 0x14 - ble _081CB192 - movs r0, 0 -_081CB1C8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CB16C - - thumb_func_start sub_81CB1D0 -sub_81CB1D0: @ 81CB1D0 - push {r4,lr} - movs r0, 0x5 - bl GetSubstructPtr - adds r4, r0, 0 - bl sub_81C875C - adds r1, r0, 0 - lsls r0, r1, 2 - adds r4, r0 - ldrb r0, [r4, 0x1C] - cmp r0, 0 - bne _081CB218 - adds r0, r1, 0 - bl sub_81CAEA4 - ldr r1, =gMapHeader - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r1, 0x14] - cmp r0, r1 - bne _081CB258 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x000009ca - adds r0, r1 - ldrh r4, [r4, 0x1E] - adds r0, r4 - ldrb r0, [r0] - b _081CB246 - .pool -_081CB218: - ldrh r0, [r4, 0x1E] - cmp r0, 0xB - bne _081CB258 - adds r0, r1, 0 - bl sub_81CAEA4 - ldr r1, =gMapHeader - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r1, 0x14] - cmp r0, r1 - bne _081CB258 - ldr r0, =0x0000086b - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081CB258 - movs r0, 0x5B - bl FlagGet - lsls r0, 24 -_081CB246: - cmp r0, 0 - bne _081CB258 - movs r0, 0x1 - b _081CB25A - .pool -_081CB258: - movs r0, 0 -_081CB25A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CB1D0 - - thumb_func_start sub_81CB260 -sub_81CB260: @ 81CB260 - push {r4,lr} - ldr r1, =0x00002048 - movs r0, 0x6 - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081CB294 - movs r0, 0 - strb r0, [r4, 0x19] - ldr r0, =sub_81CB324 - movs r1, 0x1 - bl sub_81C7078 - str r0, [r4, 0x4] - ldr r0, =sub_81CB310 - str r0, [r4] - movs r0, 0x1 - b _081CB296 - .pool -_081CB294: - movs r0, 0 -_081CB296: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CB260 - - thumb_func_start sub_81CB29C -sub_81CB29C: @ 81CB29C - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x6 - bl GetSubstructPtr - adds r5, r0, 0 - ldr r0, =gUnknown_08622798 - lsls r4, 2 - adds r4, r0 - ldr r0, [r4] - movs r1, 0x1 - bl sub_81C7078 - str r0, [r5, 0x4] - ldr r0, =sub_81CB310 - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CB29C - - thumb_func_start sub_81CB2CC -sub_81CB2CC: @ 81CB2CC - push {lr} - movs r0, 0x6 - bl GetSubstructPtr - ldr r0, [r0] - bl _call_via_r0 - pop {r1} - bx r1 - thumb_func_end sub_81CB2CC - - thumb_func_start sub_81CB2E0 -sub_81CB2E0: @ 81CB2E0 - push {r4,lr} - movs r0, 0x6 - bl GetSubstructPtr - adds r4, r0, 0 - bl sub_81CC2B4 - bl sub_81CBC1C - ldrb r0, [r4, 0x12] - bl RemoveWindow - ldrb r0, [r4, 0x10] - bl RemoveWindow - ldrb r0, [r4, 0x14] - bl RemoveWindow - movs r0, 0x6 - bl FreeSubstruct - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81CB2E0 - - thumb_func_start sub_81CB310 -sub_81CB310: @ 81CB310 - push {lr} - movs r0, 0x6 - bl GetSubstructPtr - ldr r0, [r0, 0x4] - bl sub_81C70D8 - pop {r1} - bx r1 - thumb_func_end sub_81CB310 - - thumb_func_start sub_81CB324 -sub_81CB324: @ 81CB324 - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - movs r0, 0x6 - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x7 - bls _081CB338 - b _081CB504 -_081CB338: - lsls r0, r4, 2 - ldr r1, =_081CB348 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081CB348: - .4byte _081CB368 - .4byte _081CB3D4 - .4byte _081CB424 - .4byte _081CB468 - .4byte _081CB482 - .4byte _081CB494 - .4byte _081CB4A6 - .4byte _081CB4EA -_081CB368: - ldr r0, =gUnknown_0862278C - movs r1, 0x3 - bl InitBgTemplates - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - ldr r1, =gUnknown_08622530 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - ldr r0, =0x00001024 - adds r1, r5, r0 - movs r0, 0x2 - bl SetBgTilemapBuffer - ldr r1, =gUnknown_086225D4 - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - ldr r0, =gUnknown_08622510 - movs r1, 0x20 - movs r2, 0x20 - bl CopyPaletteIntoBufferUnfaded - movs r0, 0x2 - b _081CB418 - .pool -_081CB3D4: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - beq _081CB3E0 - b _081CB4FA -_081CB3E0: - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0x1 - bl sub_8199DF0 - adds r1, r5, 0 - adds r1, 0x24 - movs r0, 0x1 - bl SetBgTilemapBuffer - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x20 - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - ldr r0, =gUnknown_086226E0 - movs r1, 0x10 - movs r2, 0x20 - bl CopyPaletteIntoBufferUnfaded - movs r0, 0x1 -_081CB418: - bl CopyBgTilemapBufferToVram - movs r0, 0 - b _081CB506 - .pool -_081CB424: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _081CB4FA - adds r0, r5, 0 - bl sub_81CC034 - ldr r1, =gUnknown_08622760 - str r4, [sp] - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - ldr r0, =gUnknown_08622700 - movs r1, 0x30 - movs r2, 0x20 - bl CopyPaletteIntoBufferUnfaded - ldr r0, =gUnknown_08622720 - movs r1, 0x50 - movs r2, 0x20 - bl CopyPaletteIntoBufferUnfaded - movs r0, 0 - b _081CB506 - .pool -_081CB468: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - bne _081CB4FA - bl sub_81CAE28 - cmp r0, 0 - beq _081CB4FA - bl sub_81CBBB8 - movs r0, 0 - b _081CB506 -_081CB482: - bl sub_81C8224 - cmp r0, 0 - bne _081CB4FA - adds r0, r5, 0 - bl sub_81CBD78 - movs r0, 0 - b _081CB506 -_081CB494: - adds r0, r5, 0 - bl sub_81CBDC0 - adds r0, r5, 0 - movs r1, 0 - bl sub_81CBEF8 - movs r0, 0 - b _081CB506 -_081CB4A6: - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg - movs r0, 0x1 - bl ShowBg - bl sub_81CC214 - movs r0, 0x3 - bl sub_81C7DFC - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0 - bl sub_81C7FA0 - movs r0, 0x1 - bl sub_81C7AC0 - movs r0, 0 - b _081CB506 -_081CB4EA: - bl IsPaletteFadeActive - cmp r0, 0 - bne _081CB4FA - bl sub_81C8010 - cmp r0, 0 - beq _081CB4FE -_081CB4FA: - movs r0, 0x2 - b _081CB506 -_081CB4FE: - movs r0, 0x1 - bl sub_81CBC38 -_081CB504: - movs r0, 0x4 -_081CB506: - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CB324 - - thumb_func_start sub_81CB510 -sub_81CB510: @ 81CB510 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x6 - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x1 - beq _081CB55E - cmp r4, 0x1 - bgt _081CB52A - cmp r4, 0 - beq _081CB534 - b _081CB580 -_081CB52A: - cmp r4, 0x2 - beq _081CB566 - cmp r4, 0x3 - beq _081CB572 - b _081CB580 -_081CB534: - bl sub_81C868C - cmp r0, 0x1 - beq _081CB54C - cmp r0, 0x1 - bgt _081CB546 - cmp r0, 0 - beq _081CB580 - b _081CB56E -_081CB546: - cmp r0, 0x2 - beq _081CB556 - b _081CB56E -_081CB54C: - movs r0, 0x5 - bl PlaySE - movs r0, 0x7 - b _081CB582 -_081CB556: - movs r0, 0x5 - bl PlaySE - b _081CB56E -_081CB55E: - bl sub_81C8630 - cmp r0, 0 - bne _081CB57C -_081CB566: - adds r0, r5, 0 - movs r1, 0 - bl sub_81CBEF8 -_081CB56E: - movs r0, 0 - b _081CB582 -_081CB572: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081CB580 -_081CB57C: - movs r0, 0x2 - b _081CB582 -_081CB580: - movs r0, 0x4 -_081CB582: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CB510 - - thumb_func_start sub_81CB588 -sub_81CB588: @ 81CB588 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x6 - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x1 - beq _081CB5D6 - cmp r4, 0x1 - bgt _081CB5A2 - cmp r4, 0 - beq _081CB5AC - b _081CB5F8 -_081CB5A2: - cmp r4, 0x2 - beq _081CB5DE - cmp r4, 0x3 - beq _081CB5EA - b _081CB5F8 -_081CB5AC: - bl sub_81C8658 - cmp r0, 0x1 - beq _081CB5C4 - cmp r0, 0x1 - bgt _081CB5BE - cmp r0, 0 - beq _081CB5F8 - b _081CB5E6 -_081CB5BE: - cmp r0, 0x2 - beq _081CB5CE - b _081CB5E6 -_081CB5C4: - movs r0, 0x5 - bl PlaySE - movs r0, 0x7 - b _081CB5FA -_081CB5CE: - movs r0, 0x5 - bl PlaySE - b _081CB5E6 -_081CB5D6: - bl sub_81C8630 - cmp r0, 0 - bne _081CB5F4 -_081CB5DE: - adds r0, r5, 0 - movs r1, 0 - bl sub_81CBEF8 -_081CB5E6: - movs r0, 0 - b _081CB5FA -_081CB5EA: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081CB5F8 -_081CB5F4: - movs r0, 0x2 - b _081CB5FA -_081CB5F8: - movs r0, 0x4 -_081CB5FA: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CB588 - - thumb_func_start sub_81CB600 -sub_81CB600: @ 81CB600 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x6 - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x1 - beq _081CB64E - cmp r4, 0x1 - bgt _081CB61A - cmp r4, 0 - beq _081CB624 - b _081CB670 -_081CB61A: - cmp r4, 0x2 - beq _081CB656 - cmp r4, 0x3 - beq _081CB662 - b _081CB670 -_081CB624: - bl sub_81C870C - cmp r0, 0x1 - beq _081CB63C - cmp r0, 0x1 - bgt _081CB636 - cmp r0, 0 - beq _081CB670 - b _081CB65E -_081CB636: - cmp r0, 0x2 - beq _081CB646 - b _081CB65E -_081CB63C: - movs r0, 0x5 - bl PlaySE - movs r0, 0x7 - b _081CB672 -_081CB646: - movs r0, 0x5 - bl PlaySE - b _081CB65E -_081CB64E: - bl sub_81C8630 - cmp r0, 0 - bne _081CB66C -_081CB656: - adds r0, r5, 0 - movs r1, 0 - bl sub_81CBEF8 -_081CB65E: - movs r0, 0 - b _081CB672 -_081CB662: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081CB670 -_081CB66C: - movs r0, 0x2 - b _081CB672 -_081CB670: - movs r0, 0x4 -_081CB672: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CB600 - - thumb_func_start sub_81CB678 -sub_81CB678: @ 81CB678 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x6 - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x1 - beq _081CB6C6 - cmp r4, 0x1 - bgt _081CB692 - cmp r4, 0 - beq _081CB69C - b _081CB6E8 -_081CB692: - cmp r4, 0x2 - beq _081CB6CE - cmp r4, 0x3 - beq _081CB6DA - b _081CB6E8 -_081CB69C: - bl sub_81C86CC - cmp r0, 0x1 - beq _081CB6B4 - cmp r0, 0x1 - bgt _081CB6AE - cmp r0, 0 - beq _081CB6E8 - b _081CB6D6 -_081CB6AE: - cmp r0, 0x2 - beq _081CB6BE - b _081CB6D6 -_081CB6B4: - movs r0, 0x5 - bl PlaySE - movs r0, 0x7 - b _081CB6EA -_081CB6BE: - movs r0, 0x5 - bl PlaySE - b _081CB6D6 -_081CB6C6: - bl sub_81C8630 - cmp r0, 0 - bne _081CB6E4 -_081CB6CE: - adds r0, r5, 0 - movs r1, 0 - bl sub_81CBEF8 -_081CB6D6: - movs r0, 0 - b _081CB6EA -_081CB6DA: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081CB6E8 -_081CB6E4: - movs r0, 0x2 - b _081CB6EA -_081CB6E8: - movs r0, 0x4 -_081CB6EA: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CB678 - - thumb_func_start sub_81CB6F0 -sub_81CB6F0: @ 81CB6F0 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x6 - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0 - beq _081CB706 - cmp r4, 0x1 - beq _081CB71C - b _081CB72A -_081CB706: - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - bl sub_81CBF60 - movs r0, 0x7 - bl sub_81C7BA4 - movs r0, 0 - b _081CB72C -_081CB71C: - adds r0, r5, 0 - bl sub_81CBFC4 - cmp r0, 0 - beq _081CB72A - movs r0, 0x2 - b _081CB72C -_081CB72A: - movs r0, 0x4 -_081CB72C: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CB6F0 - - thumb_func_start sub_81CB734 -sub_81CB734: @ 81CB734 - push {r4,lr} - movs r0, 0x5 - bl PlaySE - movs r0, 0x6 - bl GetSubstructPtr - adds r4, r0, 0 - bl sub_81CB01C - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl sub_81CC344 - movs r0, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CB734 - - thumb_func_start sub_81CB75C -sub_81CB75C: @ 81CB75C - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x6 - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0 - beq _081CB772 - cmp r4, 0x1 - beq _081CB788 - b _081CB796 -_081CB772: - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - bl sub_81CBFF0 - movs r0, 0x6 - bl sub_81C7BA4 - movs r0, 0 - b _081CB798 -_081CB788: - adds r0, r5, 0 - bl sub_81CC004 - cmp r0, 0 - beq _081CB796 - movs r0, 0x2 - b _081CB798 -_081CB796: - movs r0, 0x4 -_081CB798: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CB75C - - thumb_func_start sub_81CB7A0 -sub_81CB7A0: @ 81CB7A0 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x6 - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x1 - beq _081CB7D4 - cmp r4, 0x1 - bgt _081CB7BA - cmp r4, 0 - beq _081CB7C4 - b _081CB81A -_081CB7BA: - cmp r4, 0x2 - beq _081CB7F8 - cmp r4, 0x3 - beq _081CB80C - b _081CB81A -_081CB7C4: - movs r0, 0x1 - bl sub_81C9148 - adds r0, r5, 0 - bl sub_81CC058 - movs r0, 0 - b _081CB81C -_081CB7D4: - adds r0, r5, 0 - bl sub_81CC0D0 - adds r4, r0, 0 - cmp r4, 0 - bne _081CB816 - adds r0, r5, 0 - bl sub_81CC0E0 - ldr r0, =0x00000107 - bl PlaySE - strb r4, [r5, 0xE] - movs r0, 0 - b _081CB81C - .pool -_081CB7F8: - adds r0, r5, 0 - bl sub_81CC104 - cmp r0, 0 - bne _081CB816 - adds r0, r5, 0 - bl sub_81CC158 - movs r0, 0 - b _081CB81C -_081CB80C: - adds r0, r5, 0 - bl sub_81CC194 - cmp r0, 0 - beq _081CB81A -_081CB816: - movs r0, 0x2 - b _081CB81C -_081CB81A: - movs r0, 0x4 -_081CB81C: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CB7A0 - - thumb_func_start sub_81CB824 -sub_81CB824: @ 81CB824 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x6 - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x1 - beq _081CB85E - cmp r4, 0x1 - bgt _081CB83E - cmp r4, 0 - beq _081CB844 - b _081CB880 -_081CB83E: - cmp r4, 0x2 - beq _081CB872 - b _081CB880 -_081CB844: - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - bl sub_81CC09C - movs r0, 0x1 - bl sub_81C9148 - movs r0, 0x1 - strb r0, [r5, 0xE] - movs r0, 0 - b _081CB882 -_081CB85E: - adds r0, r5, 0 - bl sub_81CC0D0 - cmp r0, 0 - bne _081CB87C - adds r0, r5, 0 - bl sub_81CC11C - movs r0, 0 - b _081CB882 -_081CB872: - adds r0, r5, 0 - bl sub_81CC140 - cmp r0, 0 - beq _081CB880 -_081CB87C: - movs r0, 0x2 - b _081CB882 -_081CB880: - movs r0, 0x4 -_081CB882: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CB824 - - thumb_func_start sub_81CB888 -sub_81CB888: @ 81CB888 - push {r4-r6,lr} - adds r5, r0, 0 - movs r0, 0x6 - bl GetSubstructPtr - adds r4, r0, 0 - movs r6, 0 - cmp r5, 0x6 - bhi _081CB934 - lsls r0, r5, 2 - ldr r1, =_081CB8A8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081CB8A8: - .4byte _081CB8C4 - .4byte _081CB8DA - .4byte _081CB8E2 - .4byte _081CB8F0 - .4byte _081CB8F8 - .4byte _081CB90C - .4byte _081CB922 -_081CB8C4: - ldrb r0, [r4, 0xE] - cmp r0, 0 - bne _081CB8D2 - movs r0, 0x84 - lsls r0, 1 - bl PlaySE -_081CB8D2: - movs r0, 0x5 - bl PlaySE - b _081CB934 -_081CB8DA: - adds r0, r4, 0 - bl sub_81CC1DC - b _081CB934 -_081CB8E2: - adds r0, r4, 0 - bl sub_81CC204 - cmp r0, 0 - beq _081CB934 -_081CB8EC: - movs r6, 0x2 - b _081CB934 -_081CB8F0: - adds r0, r4, 0 - bl sub_81CBFF0 - b _081CB934 -_081CB8F8: - adds r0, r4, 0 - bl sub_81CC004 - cmp r0, 0 - beq _081CB904 - movs r6, 0x2 -_081CB904: - movs r0, 0x6 - bl sub_81C7BA4 - b _081CB934 -_081CB90C: - bl IsDma3ManagerBusyWithBgCopy_ - cmp r0, 0 - bne _081CB8EC - ldrb r0, [r4, 0xF] - cmp r0, 0 - beq _081CB92C - bl sub_81C8838 - movs r6, 0x1 - b _081CB934 -_081CB922: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _081CB8EC -_081CB92C: - movs r0, 0 - bl sub_81C9148 - movs r6, 0x4 -_081CB934: - adds r0, r6, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81CB888 - - thumb_func_start sub_81CB93C -sub_81CB93C: @ 81CB93C - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x6 - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x1 - beq _081CB974 - cmp r4, 0x1 - bgt _081CB956 - cmp r4, 0 - beq _081CB960 - b _081CB9BE -_081CB956: - cmp r4, 0x2 - beq _081CB990 - cmp r4, 0x3 - beq _081CB9A0 - b _081CB9BE -_081CB960: - movs r0, 0x5 - bl PlaySE - bl sub_81C877C - adds r0, r5, 0 - bl sub_81CC014 - movs r0, 0 - b _081CB9C0 -_081CB974: - bl sub_81C8820 - cmp r0, 0 - bne _081CB9BA - adds r0, r5, 0 - bl sub_81CC004 - cmp r0, 0 - bne _081CB9BA - movs r0, 0x8 - bl sub_81C7BA4 - movs r0, 0 - b _081CB9C0 -_081CB990: - movs r0, 0 - bl sub_81C87AC - adds r0, r5, 0 - bl sub_81CC39C - movs r0, 0 - b _081CB9C0 -_081CB9A0: - bl sub_81C8820 - cmp r0, 0 - bne _081CB9BA - adds r0, r5, 0 - bl sub_81CC42C - cmp r0, 0 - bne _081CB9BA - bl IsDma3ManagerBusyWithBgCopy_ - cmp r0, 0 - beq _081CB9BE -_081CB9BA: - movs r0, 0x2 - b _081CB9C0 -_081CB9BE: - movs r0, 0x4 -_081CB9C0: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CB93C - - thumb_func_start sub_81CB9C8 -sub_81CB9C8: @ 81CB9C8 - push {r4,r5,lr} - adds r5, r0, 0 - movs r0, 0x6 - bl GetSubstructPtr - adds r4, r0, 0 - cmp r5, 0x4 - bhi _081CBA60 - lsls r0, r5, 2 - ldr r1, =_081CB9E8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081CB9E8: - .4byte _081CB9FC - .4byte _081CBA1C - .4byte _081CBA34 - .4byte _081CBA40 - .4byte _081CBA4A -_081CB9FC: - bl sub_81C8770 - bl sub_81CB0E4 - adds r5, r0, 0 - cmp r5, 0 - beq _081CBA60 - movs r0, 0x5 - bl PlaySE - strh r5, [r4, 0x16] - adds r0, r4, 0 - bl sub_81CC420 - movs r0, 0 - b _081CBA62 -_081CBA1C: - adds r0, r4, 0 - bl sub_81CC42C - cmp r0, 0 - bne _081CBA5C - movs r0, 0x16 - ldrsh r1, [r4, r0] - adds r0, r4, 0 - bl sub_81CBEF8 - movs r0, 0 - b _081CBA62 -_081CBA34: - movs r1, 0x16 - ldrsh r0, [r4, r1] - bl sub_81C87AC - movs r0, 0 - b _081CBA62 -_081CBA40: - adds r0, r4, 0 - bl sub_81CC39C - movs r0, 0 - b _081CBA62 -_081CBA4A: - bl sub_81C8820 - cmp r0, 0 - bne _081CBA5C - adds r0, r4, 0 - bl sub_81CC42C - cmp r0, 0 - beq _081CBA60 -_081CBA5C: - movs r0, 0x2 - b _081CBA62 -_081CBA60: - movs r0, 0x4 -_081CBA62: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CB9C8 - - thumb_func_start sub_81CBA68 -sub_81CBA68: @ 81CBA68 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x6 - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x1 - beq _081CBA9C - cmp r4, 0x1 - bgt _081CBA82 - cmp r4, 0 - beq _081CBA88 - b _081CBACC -_081CBA82: - cmp r4, 0x2 - beq _081CBABE - b _081CBACC -_081CBA88: - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - bl sub_81CC420 - bl sub_81C87F0 - movs r0, 0 - b _081CBACE -_081CBA9C: - bl sub_81C8820 - cmp r0, 0 - bne _081CBAC8 - adds r0, r5, 0 - bl sub_81CC42C - cmp r0, 0 - bne _081CBAC8 - movs r0, 0x6 - bl sub_81C7BA4 - adds r0, r5, 0 - bl sub_81CBDC0 - movs r0, 0 - b _081CBACE -_081CBABE: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081CBACC -_081CBAC8: - movs r0, 0x2 - b _081CBACE -_081CBACC: - movs r0, 0x4 -_081CBACE: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CBA68 - - thumb_func_start sub_81CBAD4 -sub_81CBAD4: @ 81CBAD4 - push {r4,r5,lr} - adds r5, r0, 0 - movs r0, 0x6 - bl GetSubstructPtr - adds r4, r0, 0 - cmp r5, 0x4 - bhi _081CBB6C - lsls r0, r5, 2 - ldr r1, =_081CBAF4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081CBAF4: - .4byte _081CBB08 - .4byte _081CBB28 - .4byte _081CBB40 - .4byte _081CBB4C - .4byte _081CBB56 -_081CBB08: - bl sub_81C8770 - bl sub_81CB128 - adds r5, r0, 0 - cmp r5, 0 - beq _081CBB6C - movs r0, 0x5 - bl PlaySE - strh r5, [r4, 0x16] - adds r0, r4, 0 - bl sub_81CC420 - movs r0, 0 - b _081CBB6E -_081CBB28: - adds r0, r4, 0 - bl sub_81CC42C - cmp r0, 0 - bne _081CBB68 - movs r0, 0x16 - ldrsh r1, [r4, r0] - adds r0, r4, 0 - bl sub_81CBEF8 - movs r0, 0 - b _081CBB6E -_081CBB40: - movs r1, 0x16 - ldrsh r0, [r4, r1] - bl sub_81C87AC - movs r0, 0 - b _081CBB6E -_081CBB4C: - adds r0, r4, 0 - bl sub_81CC39C - movs r0, 0 - b _081CBB6E -_081CBB56: - bl sub_81C8820 - cmp r0, 0 - bne _081CBB68 - adds r0, r4, 0 - bl sub_81CC42C - cmp r0, 0 - beq _081CBB6C -_081CBB68: - movs r0, 0x2 - b _081CBB6E -_081CBB6C: - movs r0, 0x4 -_081CBB6E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CBAD4 - - thumb_func_start sub_81CBB74 -sub_81CBB74: @ 81CBB74 - push {lr} - cmp r0, 0 - beq _081CBB80 - cmp r0, 0x1 - beq _081CBB9A - b _081CBBB2 -_081CBB80: - movs r0, 0x5 - bl PlaySE - movs r0, 0 - bl sub_81CBC38 - movs r0, 0 - bl sub_81C7AC0 - bl sub_81C78A0 - movs r0, 0 - b _081CBBB4 -_081CBB9A: - bl IsPaletteFadeActive - cmp r0, 0 - bne _081CBBAA - bl sub_81C78C0 - cmp r0, 0 - beq _081CBBAE -_081CBBAA: - movs r0, 0x2 - b _081CBBB4 -_081CBBAE: - bl sub_81C7FDC -_081CBBB2: - movs r0, 0x4 -_081CBBB4: - pop {r1} - bx r1 - thumb_func_end sub_81CBB74 - - thumb_func_start sub_81CBBB8 -sub_81CBBB8: @ 81CBBB8 - push {lr} - sub sp, 0x18 - bl sub_81CAE94 - str r0, [sp] - bl sub_81CAE38 - mov r1, sp - movs r2, 0 - strh r0, [r1, 0x4] - movs r0, 0x4 - strb r0, [r1, 0x8] - mov r0, sp - strh r2, [r0, 0x6] - movs r0, 0xD - strb r0, [r1, 0x9] - movs r0, 0x10 - strb r0, [r1, 0xA] - movs r0, 0x1 - strb r0, [r1, 0xB] - movs r0, 0x8 - strb r0, [r1, 0xC] - movs r0, 0x3 - strb r0, [r1, 0xD] - movs r0, 0x7 - strb r0, [r1, 0xE] - ldr r0, =sub_81CB050 - str r0, [sp, 0x10] - ldr r0, =sub_81CBCEC - str r0, [sp, 0x14] - ldr r0, =gUnknown_08622794 - movs r2, 0x2 - bl sub_81C81D4 - ldr r0, =sub_81CBC64 - movs r1, 0x7 - bl CreateTask - add sp, 0x18 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CBBB8 - - thumb_func_start sub_81CBC1C -sub_81CBC1C: @ 81CBC1C - push {lr} - bl sub_81C8234 - ldr r0, =sub_81CBC64 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CBC1C - - thumb_func_start sub_81CBC38 -sub_81CBC38: @ 81CBC38 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =sub_81CBC64 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - beq _081CBC56 - ldr r1, =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - strh r4, [r0, 0x26] -_081CBC56: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CBC38 - - thumb_func_start sub_81CBC64 -sub_81CBC64: @ 81CBC64 - 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 r2, r1, r0 - movs r1, 0x1E - ldrsh r0, [r2, r1] - cmp r0, 0 - beq _081CBCC8 - ldrh r0, [r2] - adds r0, 0x4 - movs r1, 0x7F - ands r0, r1 - strh r0, [r2] - ldr r1, =gSineTable - movs r3, 0 - ldrsh r0, [r2, r3] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 20 - strh r0, [r2, 0x2] - ldr r0, =gUnknown_08622720 - adds r1, r0, 0 - adds r1, 0x20 - movs r3, 0x2 - ldrsh r2, [r2, r3] - str r2, [sp] - ldr r4, =gPlttBufferUnfaded + 0xA0 - str r4, [sp, 0x4] - movs r2, 0x10 - movs r3, 0x10 - bl sub_81C79BC - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081CBCC8 - ldr r1, =gPlttBufferFaded + 0xA0 - ldr r2, =0x04000008 - adds r0, r4, 0 - bl CpuSet -_081CBCC8: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CBC64 - - thumb_func_start sub_81CBCEC -sub_81CBCEC: @ 81CBCEC - push {r4-r6,lr} - adds r5, r1, 0 - adds r4, r2, 0 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl GetWindowAttribute - lsls r0, 24 - lsrs r0, 24 - bl GetBgTilemapBuffer - adds r6, r0, 0 - lsls r4, 7 - adds r4, 0x3A - adds r6, r4 - adds r0, r5, 0 - bl sub_81CAEBC - cmp r0, 0 - beq _081CBD30 - movs r1, 0xA0 - lsls r1, 7 - adds r0, r1, 0 - strh r0, [r6] - adds r1, r6, 0 - adds r1, 0x40 - ldr r2, =0x00005001 - adds r0, r2, 0 - strh r0, [r1] - b _081CBD3C - .pool -_081CBD30: - ldr r0, =0x00005002 - adds r1, r0, 0 - strh r1, [r6] - adds r0, r6, 0 - adds r0, 0x40 - strh r1, [r0] -_081CBD3C: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CBCEC - - thumb_func_start sub_81CBD48 -sub_81CBD48: @ 81CBD48 - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl GetWindowAttribute - lsls r0, 24 - lsrs r0, 24 - bl GetBgTilemapBuffer - lsls r4, 7 - adds r4, 0x3A - adds r0, r4 - ldr r2, =0x00005002 - adds r1, r2, 0 - strh r1, [r0] - adds r0, 0x40 - strh r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CBD48 - - thumb_func_start sub_81CBD78 -sub_81CBD78: @ 81CBD78 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gUnknown_086227D8 - bl AddWindow - strh r0, [r4, 0x10] - ldr r0, =gUnknown_086227E0 - bl AddWindow - strh r0, [r4, 0x12] - ldrb r0, [r4, 0x10] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldrb r0, [r4, 0x10] - bl PutWindowTilemap - ldrb r0, [r4, 0x12] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldrb r0, [r4, 0x12] - bl PutWindowTilemap - ldrb r0, [r4, 0x10] - movs r1, 0x1 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CBD78 - - thumb_func_start sub_81CBDC0 -sub_81CBDC0: @ 81CBDC0 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0x12] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldrh r0, [r4, 0x12] - bl sub_81CBDF4 - ldrh r0, [r4, 0x12] - bl sub_81CBE0C - ldrh r0, [r4, 0x12] - bl sub_81CBE38 - ldrh r0, [r4, 0x12] - bl sub_81CBE50 - ldrb r0, [r4, 0x12] - movs r1, 0x2 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81CBDC0 - - thumb_func_start sub_81CBDF4 -sub_81CBDF4: @ 81CBDF4 - push {lr} - lsls r0, 16 - lsrs r0, 16 - ldr r1, =gText_NumberRegistered - movs r2, 0 - bl sub_81CBE88 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CBDF4 - - thumb_func_start sub_81CBE0C -sub_81CBE0C: @ 81CBE0C - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - bl sub_81CAE38 - adds r1, r0, 0 - mov r0, sp - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r0, r4, 0 - mov r1, sp - movs r2, 0x1 - bl sub_81CBEB4 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81CBE0C - - thumb_func_start sub_81CBE38 -sub_81CBE38: @ 81CBE38 - push {lr} - lsls r0, 16 - lsrs r0, 16 - ldr r1, =gText_NumberOfBattles - movs r2, 0x2 - bl sub_81CBE88 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CBE38 - - thumb_func_start sub_81CBE50 -sub_81CBE50: @ 81CBE50 - push {r4,lr} - sub sp, 0x8 - lsls r0, 16 - lsrs r4, r0, 16 - movs r0, 0x9 - bl GetGameStat - adds r1, r0, 0 - ldr r0, =0x0001869f @ Note to decompiler: See UNKNOWN_OFFSET - cmp r1, r0 - ble _081CBE68 - adds r1, r0, 0 -_081CBE68: - mov r0, sp - movs r2, 0 - movs r3, 0x5 - bl ConvertIntToDecimalStringN - adds r0, r4, 0 - mov r1, sp - movs r2, 0x3 - bl sub_81CBEB4 - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CBE50 - - thumb_func_start sub_81CBE88 -sub_81CBE88: @ 81CBE88 - push {lr} - sub sp, 0xC - adds r3, r1, 0 - lsls r2, 4 - adds r2, 0x1 - lsls r0, 24 - lsrs r0, 24 - lsls r2, 24 - lsrs r2, 24 - str r2, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x7 - adds r2, r3, 0 - movs r3, 0x2 - bl AddTextPrinterParameterized - add sp, 0xC - pop {r0} - bx r0 - thumb_func_end sub_81CBE88 - - thumb_func_start sub_81CBEB4 -sub_81CBEB4: @ 81CBEB4 - push {r4-r6,lr} - sub sp, 0xC - adds r5, r0, 0 - adds r6, r1, 0 - adds r4, r2, 0 - lsls r5, 16 - lsrs r5, 16 - movs r0, 0x7 - movs r2, 0x56 - bl GetStringRightAlignXOffset - adds r3, r0, 0 - lsls r4, 4 - adds r4, 0x1 - lsls r5, 24 - lsrs r5, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r4, 24 - lsrs r4, 24 - str r4, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - adds r0, r5, 0 - movs r1, 0x7 - adds r2, r6, 0 - bl AddTextPrinterParameterized - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81CBEB4 - - thumb_func_start sub_81CBEF8 -sub_81CBEF8: @ 81CBEF8 - push {r4,r5,lr} - sub sp, 0x2C - adds r5, r0, 0 - adds r4, r1, 0 - bl sub_81C875C - adds r0, r4 - bl sub_81CAEA4 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0xD5 - beq _081CBF1C - add r0, sp, 0xC - movs r2, 0 - bl GetMapName - b _081CBF24 -_081CBF1C: - ldr r1, =gText_Unknown - add r0, sp, 0xC - bl StringCopy -_081CBF24: - movs r0, 0x7 - add r1, sp, 0xC - movs r2, 0x58 - bl GetStringCenterAlignXOffset - adds r4, r0, 0 - ldrb r0, [r5, 0x10] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldrb r0, [r5, 0x10] - lsls r4, 24 - lsrs r4, 24 - movs r1, 0x1 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x7 - add r2, sp, 0xC - adds r3, r4, 0 - bl AddTextPrinterParameterized - add sp, 0x2C - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CBEF8 - - thumb_func_start sub_81CBF60 -sub_81CBF60: @ 81CBF60 - push {r4-r6,lr} - sub sp, 0xC - adds r5, r0, 0 - ldrb r0, [r5, 0x12] - movs r1, 0x11 - bl FillWindowPixelBuffer - movs r4, 0 - movs r6, 0x80 - lsls r6, 17 - b _081CBF9C -_081CBF76: - ldrb r0, [r5, 0x12] - ldr r2, =gUnknown_086227E8 - lsls r1, 2 - adds r1, r2 - ldr r2, [r1] - lsrs r1, r6, 24 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x7 - movs r3, 0x10 - bl AddTextPrinterParameterized - movs r0, 0x80 - lsls r0, 21 - adds r6, r0 - adds r4, 0x1 -_081CBF9C: - cmp r4, 0x2 - bhi _081CBFAE - adds r0, r4, 0 - bl sub_81CB02C - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x3 - bne _081CBF76 -_081CBFAE: - ldrb r0, [r5, 0x12] - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CBF60 - - thumb_func_start sub_81CBFC4 -sub_81CBFC4: @ 81CBFC4 - push {r4,lr} - adds r4, r0, 0 - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081CBFD6 - movs r0, 0x1 - b _081CBFE8 -_081CBFD6: - bl sub_81CB01C - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl sub_81CC2F0 - movs r0, 0 -_081CBFE8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CBFC4 - - thumb_func_start sub_81CBFF0 -sub_81CBFF0: @ 81CBFF0 - push {r4,lr} - adds r4, r0, 0 - bl sub_81CC330 - adds r0, r4, 0 - bl sub_81CBDC0 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81CBFF0 - - thumb_func_start sub_81CC004 -sub_81CC004: @ 81CC004 - push {lr} - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_81CC004 - - thumb_func_start sub_81CC014 -sub_81CC014: @ 81CC014 - push {r4,lr} - adds r4, r0, 0 - bl sub_81CC330 - ldrb r0, [r4, 0x12] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldrb r0, [r4, 0x12] - movs r1, 0x2 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81CC014 - - thumb_func_start sub_81CC034 -sub_81CC034: @ 81CC034 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gUnknown_08622808 - bl AddWindow - strh r0, [r4, 0x14] - ldrh r0, [r4, 0x14] - movs r1, 0x1 - movs r2, 0x4 - bl sub_8197184 - bl sub_81C7B40 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CC034 - - thumb_func_start sub_81CC058 -sub_81CC058: @ 81CC058 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x14] - movs r1, 0x1 - movs r2, 0x4 - bl sub_8197184 - ldrh r0, [r4, 0x14] - movs r1, 0x1 - movs r2, 0x4 - bl sub_81971C4 - ldrb r0, [r4, 0x14] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldrb r0, [r4, 0x14] - bl PutWindowTilemap - ldrb r0, [r4, 0x14] - movs r1, 0x3 - bl CopyWindowToVram - bl sub_81C7CCC - movs r2, 0 - movs r1, 0x18 - strh r1, [r0, 0x20] - movs r1, 0x70 - strh r1, [r0, 0x22] - strh r2, [r0, 0x26] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81CC058 - - thumb_func_start sub_81CC09C -sub_81CC09C: @ 81CC09C - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0x14] - movs r1, 0x1 - movs r2, 0x40 - bl LoadUserWindowBorderGfx - ldrb r0, [r4, 0x14] - movs r1, 0x1 - movs r2, 0x4 - bl DrawTextBorderOuter - ldrb r0, [r4, 0x14] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldrb r0, [r4, 0x14] - bl PutWindowTilemap - ldrb r0, [r4, 0x14] - movs r1, 0x3 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81CC09C - - thumb_func_start sub_81CC0D0 -sub_81CC0D0: @ 81CC0D0 - push {lr} - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_81CC0D0 - - thumb_func_start sub_81CC0E0 -sub_81CC0E0: @ 81CC0E0 - push {lr} - sub sp, 0xC - ldrb r0, [r0, 0x14] - ldr r2, =gUnknown_086227F4 - movs r1, 0x1 - str r1, [sp] - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0x20 - bl AddTextPrinterParameterized - add sp, 0xC - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CC0E0 - - thumb_func_start sub_81CC104 -sub_81CC104: @ 81CC104 - push {r4,lr} - adds r4, r0, 0 - bl RunTextPrinters - ldrb r0, [r4, 0x14] - bl IsTextPrinterActive - lsls r0, 16 - lsrs r0, 16 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CC104 - - thumb_func_start sub_81CC11C -sub_81CC11C: @ 81CC11C - push {lr} - sub sp, 0xC - ldrb r0, [r0, 0x14] - ldr r2, =gText_TrainerCloseBy - movs r1, 0x1 - str r1, [sp] - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - add sp, 0xC - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CC11C - - thumb_func_start sub_81CC140 -sub_81CC140: @ 81CC140 - push {r4,lr} - adds r4, r0, 0 - bl RunTextPrinters - ldrb r0, [r4, 0x14] - bl IsTextPrinterActive - lsls r0, 16 - lsrs r0, 16 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CC140 - - thumb_func_start sub_81CC158 -sub_81CC158: @ 81CC158 - push {r4,r5,lr} - sub sp, 0xC - adds r4, r0, 0 - bl sub_81C875C - adds r1, r4, 0 - adds r1, 0xF - bl sub_81CAF78 - adds r5, r0, 0 - bl GetPlayerTextSpeedDelay - lsls r0, 24 - lsrs r0, 24 - ldrb r2, [r4, 0x14] - movs r1, 0x1 - str r1, [sp] - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - adds r0, r2, 0 - adds r2, r5, 0 - movs r3, 0x20 - bl AddTextPrinterParameterized - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81CC158 - - thumb_func_start sub_81CC194 -sub_81CC194: @ 81CC194 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gMain - ldrh r1, [r0, 0x2C] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081CC1B8 - ldr r0, =gTextFlags - ldrb r1, [r0] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0] - b _081CC1C4 - .pool -_081CC1B8: - ldr r2, =gTextFlags - ldrb r1, [r2] - movs r0, 0x2 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_081CC1C4: - bl RunTextPrinters - ldrb r0, [r4, 0x14] - bl IsTextPrinterActive - lsls r0, 16 - lsrs r0, 16 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CC194 - - thumb_func_start sub_81CC1DC -sub_81CC1DC: @ 81CC1DC - push {lr} - sub sp, 0x8 - bl sub_81C7CE4 - movs r0, 0x20 - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_81CC1DC - - thumb_func_start sub_81CC204 -sub_81CC204: @ 81CC204 - push {lr} - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_81CC204 - - thumb_func_start sub_81CC214 -sub_81CC214: @ 81CC214 - push {r4-r6,lr} - sub sp, 0x8 - movs r0, 0x6 - bl GetSubstructPtr - adds r6, r0, 0 - movs r5, 0 - ldr r4, =gUnknown_08622810 -_081CC224: - adds r0, r4, 0 - bl LoadCompressedSpriteSheet - adds r4, 0x8 - adds r5, 0x1 - cmp r5, 0 - beq _081CC224 - ldr r0, =gUnknown_08622818 - bl sub_81C795C - movs r0, 0 - str r0, [r6, 0x1C] - ldr r1, =0x00001828 - adds r0, r6, r1 - str r0, [sp] - ldr r1, =0xffff0000 - ldr r0, [sp, 0x4] - ands r0, r1 - movs r1, 0x80 - lsls r1, 4 - orrs r0, r1 - ldr r1, =0x0000ffff - ands r0, r1 - movs r1, 0x80 - lsls r1, 12 - orrs r0, r1 - str r0, [sp, 0x4] - mov r0, sp - bl LoadSpriteSheet - ldr r2, =0x00001824 - adds r1, r6, r2 - lsls r0, 16 - lsrs r0, 11 - ldr r2, =0x06010000 - adds r0, r2 - str r0, [r1] - movs r0, 0xD - bl AllocSpritePalette - lsls r0, 24 - lsrs r0, 20 - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - strh r0, [r6, 0x1A] - bl sub_81CC370 - str r0, [r6, 0x20] - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CC214 - - thumb_func_start sub_81CC2B4 -sub_81CC2B4: @ 81CC2B4 - push {r4,lr} - movs r0, 0x6 - bl GetSubstructPtr - adds r4, r0, 0 - ldr r0, [r4, 0x1C] - cmp r0, 0 - beq _081CC2C8 - bl DestroySprite -_081CC2C8: - ldr r0, [r4, 0x20] - cmp r0, 0 - beq _081CC2D2 - bl DestroySprite -_081CC2D2: - movs r0, 0x8 - bl FreeSpriteTilesByTag - movs r0, 0x7 - bl FreeSpriteTilesByTag - movs r0, 0xC - bl FreeSpritePaletteByTag - movs r0, 0xD - bl FreeSpritePaletteByTag - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81CC2B4 - - thumb_func_start sub_81CC2F0 -sub_81CC2F0: @ 81CC2F0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r0, [r4, 0x1C] - cmp r0, 0 - bne _081CC320 - ldr r0, =gUnknown_08622830 - movs r1, 0x4 - movs r2, 0x50 - movs r3, 0x5 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, =gSprites - adds r1, r0 - str r1, [r4, 0x1C] - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_81CC344 -_081CC320: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CC2F0 - - thumb_func_start sub_81CC330 -sub_81CC330: @ 81CC330 - push {r4,lr} - adds r4, r0, 0 - ldr r0, [r4, 0x1C] - bl DestroySprite - movs r0, 0 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81CC330 - - thumb_func_start sub_81CC344 -sub_81CC344: @ 81CC344 - ldr r0, [r0, 0x1C] - lsls r1, 4 - strh r1, [r0, 0x26] - bx lr - thumb_func_end sub_81CC344 - - thumb_func_start sub_81CC34C -sub_81CC34C: @ 81CC34C - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _081CC36C - movs r0, 0 - strh r0, [r2, 0x2E] - ldrh r0, [r2, 0x24] - adds r0, 0x1 - movs r1, 0x7 - ands r0, r1 - strh r0, [r2, 0x24] -_081CC36C: - pop {r0} - bx r0 - thumb_func_end sub_81CC34C - - thumb_func_start sub_81CC370 -sub_81CC370: @ 81CC370 - push {lr} - ldr r0, =gUnknown_08622850 - movs r1, 0x2C - movs r2, 0x68 - movs r3, 0x6 - bl CreateSprite - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CC370 - - thumb_func_start sub_81CC39C -sub_81CC39C: @ 81CC39C - push {r4-r7,lr} - adds r7, r0, 0 - bl sub_81C875C - bl sub_81CAF04 - cmp r0, 0 - blt _081CC400 - lsls r4, r0, 3 - ldr r0, =gTrainerFrontPicTable - adds r0, r4, r0 - ldr r1, =0x00001828 - adds r5, r7, r1 - adds r1, r5, 0 - movs r2, 0 - bl DecompressPicFromTable - ldr r0, =gTrainerFrontPicPaletteTable - adds r4, r0 - ldr r0, [r4] - ldr r1, =0x00002028 - adds r6, r7, r1 - adds r1, r6, 0 - bl LZ77UnCompWram - ldr r1, =0x00001824 - adds r0, r7, r1 - ldr r1, [r0] - movs r2, 0x80 - lsls r2, 4 - adds r0, r5, 0 - movs r3, 0x1 - bl RequestDma3Copy - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldrh r1, [r7, 0x1A] - adds r0, r6, 0 - movs r2, 0x20 - bl LoadPalette - ldr r1, [r7, 0x20] - movs r0, 0 - strh r0, [r1, 0x2E] - ldr r0, [r7, 0x20] - strh r4, [r0, 0x3C] - ldr r1, [r7, 0x20] - ldr r0, =sub_81CC440 - str r0, [r1, 0x1C] -_081CC400: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CC39C - - thumb_func_start sub_81CC420 -sub_81CC420: @ 81CC420 - ldr r1, [r0, 0x20] - ldr r0, =sub_81CC4A4 - str r0, [r1, 0x1C] - bx lr - .pool - thumb_func_end sub_81CC420 - - thumb_func_start sub_81CC42C -sub_81CC42C: @ 81CC42C - ldr r0, [r0, 0x20] - ldr r1, [r0, 0x1C] - ldr r0, =SpriteCallbackDummy - eors r1, r0 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - bx lr - .pool - thumb_func_end sub_81CC42C - - thumb_func_start sub_81CC440 -sub_81CC440: @ 81CC440 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _081CC452 - cmp r0, 0x1 - beq _081CC484 - b _081CC498 -_081CC452: - movs r1, 0x3C - ldrsh r0, [r4, r1] - bl CheckForSpaceForDma3Request - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - beq _081CC498 - ldr r0, =0x0000ffb0 - strh r0, [r4, 0x24] - 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, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _081CC498 - .pool -_081CC484: - ldrh r0, [r4, 0x24] - adds r0, 0x8 - strh r0, [r4, 0x24] - lsls r0, 16 - cmp r0, 0 - blt _081CC498 - movs r0, 0 - strh r0, [r4, 0x24] - ldr r0, =SpriteCallbackDummy - str r0, [r4, 0x1C] -_081CC498: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CC440 - - thumb_func_start sub_81CC4A4 -sub_81CC4A4: @ 81CC4A4 - push {lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x24] - subs r0, 0x8 - strh r0, [r3, 0x24] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x50 - negs r1, r1 - cmp r0, r1 - bgt _081CC4CA - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, =SpriteCallbackDummy - str r0, [r3, 0x1C] -_081CC4CA: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CC4A4 - - thumb_func_start sub_81CC4D4 -sub_81CC4D4: @ 81CC4D4 - push {r4,lr} - movs r0, 0x3 - movs r1, 0x14 - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081CC4F0 - ldr r1, =0x00000884 - movs r0, 0x10 - bl AllocSubstruct - cmp r0, 0 - bne _081CC4F8 -_081CC4F0: - movs r0, 0 - b _081CC51A - .pool -_081CC4F8: - ldr r0, =gMapHeader - ldrb r0, [r0, 0x14] - bl sub_8124668 - str r0, [r4, 0xC] - cmp r0, 0 - bne _081CC514 - ldr r0, =sub_81CC568 - b _081CC516 - .pool -_081CC514: - ldr r0, =sub_81CC5B4 -_081CC516: - str r0, [r4, 0x10] - movs r0, 0x1 -_081CC51A: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CC4D4 - - thumb_func_start sub_81CC524 -sub_81CC524: @ 81CC524 - push {lr} - bl sub_8124658 - ldr r1, =gSaveBlock2Ptr - ldr r3, [r1] - movs r1, 0x1 - ands r1, r0 - lsls r1, 3 - ldrb r2, [r3, 0x15] - movs r0, 0x9 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x15] - movs r0, 0x10 - bl FreeSubstruct - movs r0, 0x3 - bl FreeSubstruct - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CC524 - - thumb_func_start sub_81CC554 -sub_81CC554: @ 81CC554 - push {lr} - movs r0, 0x3 - bl GetSubstructPtr - ldr r1, [r0, 0x10] - bl _call_via_r1 - pop {r1} - bx r1 - thumb_func_end sub_81CC554 - - thumb_func_start sub_81CC568 -sub_81CC568: @ 81CC568 - push {r4,lr} - adds r4, r0, 0 - bl sub_81230AC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - beq _081CC58C - cmp r0, 0x4 - bgt _081CC582 - cmp r0, 0x3 - beq _081CC588 - b _081CC5AC -_081CC582: - cmp r0, 0x5 - beq _081CC59E - b _081CC5AC -_081CC588: - movs r0, 0x1 - b _081CC5AE -_081CC58C: - bl sub_8124658 - lsls r0, 24 - cmp r0, 0 - bne _081CC59A - movs r0, 0x3 - b _081CC5AE -_081CC59A: - movs r0, 0x2 - b _081CC5AE -_081CC59E: - ldr r0, =sub_81CC5DC - str r0, [r4, 0x10] - movs r0, 0x4 - b _081CC5AE - .pool -_081CC5AC: - movs r0, 0 -_081CC5AE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CC568 - - thumb_func_start sub_81CC5B4 -sub_81CC5B4: @ 81CC5B4 - push {lr} - adds r2, r0, 0 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _081CC5CC - movs r0, 0 - b _081CC5D2 - .pool -_081CC5CC: - ldr r0, =sub_81CC5DC - str r0, [r2, 0x10] - movs r0, 0x4 -_081CC5D2: - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CC5B4 - - thumb_func_start sub_81CC5DC -sub_81CC5DC: @ 81CC5DC - ldr r0, =0x000186a1 - bx lr - .pool - thumb_func_end sub_81CC5DC - - thumb_func_start sub_81CC5E4 -sub_81CC5E4: @ 81CC5E4 - push {lr} - movs r0, 0x3 - bl GetSubstructPtr - ldr r0, [r0, 0xC] - pop {r1} - bx r1 - thumb_func_end sub_81CC5E4 - - thumb_func_start sub_81CC5F4 -sub_81CC5F4: @ 81CC5F4 - push {r4,lr} - ldr r1, =0x00001948 - movs r0, 0x4 - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081CC624 - ldr r0, =sub_81CC6F4 - movs r1, 0x1 - bl sub_81C7078 - str r0, [r4, 0x4] - ldr r0, =sub_81CC6BC - str r0, [r4] - movs r0, 0x1 - b _081CC626 - .pool -_081CC624: - movs r0, 0 -_081CC626: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CC5F4 - - thumb_func_start sub_81CC62C -sub_81CC62C: @ 81CC62C - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x4 - bl GetSubstructPtr - adds r5, r0, 0 - ldr r0, =gUnknown_086230E4 - lsls r4, 2 - adds r4, r0 - ldr r0, [r4] - movs r1, 0x1 - bl sub_81C7078 - str r0, [r5, 0x4] - ldr r0, =sub_81CC6BC - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CC62C - - thumb_func_start sub_81CC65C -sub_81CC65C: @ 81CC65C - push {lr} - movs r0, 0x4 - bl GetSubstructPtr - ldr r0, [r0] - bl _call_via_r0 - pop {r1} - bx r1 - thumb_func_end sub_81CC65C - - thumb_func_start sub_81CC670 -sub_81CC670: @ 81CC670 - push {r4,lr} - movs r0, 0x4 - bl GetSubstructPtr - adds r4, r0, 0 - bl FreeRegionMapIconResources - bl sub_81CC9EC - ldrb r0, [r4, 0x8] - bl RemoveWindow - movs r0, 0x10 - bl FreeSubstruct - movs r0, 0x4 - bl FreeSubstruct - bl SetPokenavVBlankCallback - movs r0, 0 - bl SetBgMode - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81CC670 - - thumb_func_start sub_81CC6A4 -sub_81CC6A4: @ 81CC6A4 - push {lr} - bl TransferPlttBuffer - bl LoadOam - bl ProcessSpriteCopyRequests - bl UpdateRegionMapVideoRegs - pop {r0} - bx r0 - thumb_func_end sub_81CC6A4 - - thumb_func_start sub_81CC6BC -sub_81CC6BC: @ 81CC6BC - push {lr} - movs r0, 0x4 - bl GetSubstructPtr - ldr r0, [r0, 0x4] - bl sub_81C70D8 - pop {r1} - bx r1 - thumb_func_end sub_81CC6BC - - thumb_func_start sub_81CC6D0 -sub_81CC6D0: @ 81CC6D0 - push {lr} - bl sub_81CC5E4 - cmp r0, 0 - bne _081CC6EC - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x15] - lsrs r0, 3 - movs r1, 0x1 - ands r0, r1 - b _081CC6EE - .pool -_081CC6EC: - movs r0, 0 -_081CC6EE: - pop {r1} - bx r1 - thumb_func_end sub_81CC6D0 - - thumb_func_start sub_81CC6F4 -sub_81CC6F4: @ 81CC6F4 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x4 - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x7 - bls _081CC706 - b _081CC83E -_081CC706: - lsls r0, r4, 2 - ldr r1, =_081CC714 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081CC714: - .4byte _081CC734 - .4byte _081CC784 - .4byte _081CC7B6 - .4byte _081CC7BE - .4byte _081CC7CE - .4byte _081CC7E2 - .4byte _081CC804 - .4byte _081CC82A -_081CC734: - movs r0, 0 - bl SetVBlankCallback_ - movs r0, 0x1 - bl HideBg - movs r0, 0x2 - bl HideBg - movs r0, 0x3 - bl HideBg - movs r0, 0x1 - bl SetBgMode - ldr r4, =gUnknown_086230D8 - adds r0, r4, 0 - movs r1, 0x2 - bl InitBgTemplates - movs r0, 0x10 - bl GetSubstructPtr - adds r5, r0, 0 - adds r4, 0x4 - bl sub_81CC6D0 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8122CF8 - bl sub_81CC9C0 -_081CC77C: - movs r0, 0 - b _081CC840 - .pool -_081CC784: - bl sub_8122DB0 - lsls r0, 24 - cmp r0, 0 - bne _081CC83A - bl sub_81CC5E4 - cmp r0, 0 - bne _081CC7AC - movs r0, 0x4 - movs r1, 0x9 - bl CreateRegionMapPlayerIcon - movs r0, 0x5 - movs r1, 0xA - bl CreateRegionMapCursor - bl sub_812454C - b _081CC77C -_081CC7AC: - movs r0, 0 - movs r1, 0x6 - bl sub_8123030 - b _081CC77C -_081CC7B6: - bl sub_81CCD10 -_081CC7BA: - movs r0, 0x1 - b _081CC840 -_081CC7BE: - bl sub_81CCD24 - cmp r0, 0 - bne _081CC83A - adds r0, r5, 0 - bl sub_81CCA1C - b _081CC7BA -_081CC7CE: - bl sub_81CCAFC - cmp r0, 0 - bne _081CC83A - adds r0, r5, 0 - bl sub_81CCB0C - bl sub_81C7B40 - b _081CC77C -_081CC7E2: - adds r0, r5, 0 - bl sub_81CCC4C - cmp r0, 0 - bne _081CC83A - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - ldr r0, =sub_81CC6A4 - bl SetVBlankCallback_ - b _081CC77C - .pool -_081CC804: - bl sub_81CC6D0 - lsls r0, 24 - movs r4, 0x5 - cmp r0, 0 - bne _081CC812 - movs r4, 0x4 -_081CC812: - adds r0, r4, 0 - bl sub_81C7DFC - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_81C7FA0 - movs r0, 0x1 - bl sub_81C7AC0 - b _081CC77C -_081CC82A: - bl IsPaletteFadeActive - cmp r0, 0 - bne _081CC83A - bl sub_81C8010 - cmp r0, 0 - beq _081CC7BA -_081CC83A: - movs r0, 0x2 - b _081CC840 -_081CC83E: - movs r0, 0x4 -_081CC840: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CC6F4 - - thumb_func_start sub_81CC848 -sub_81CC848: @ 81CC848 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x4 - bl GetSubstructPtr - cmp r4, 0 - beq _081CC85C - cmp r4, 0x1 - beq _081CC864 - b _081CC870 -_081CC85C: - bl sub_81CCB0C - movs r0, 0 - b _081CC872 -_081CC864: - bl sub_81CCC4C - cmp r0, 0 - beq _081CC870 - movs r0, 0x2 - b _081CC872 -_081CC870: - movs r0, 0x4 -_081CC872: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CC848 - - thumb_func_start sub_81CC878 -sub_81CC878: @ 81CC878 - push {lr} - cmp r0, 0x1 - beq _081CC8A2 - cmp r0, 0x1 - bgt _081CC888 - cmp r0, 0 - beq _081CC88E - b _081CC8D0 -_081CC888: - cmp r0, 0x2 - beq _081CC8BE - b _081CC8D0 -_081CC88E: - movs r0, 0x5 - bl PlaySE - movs r0, 0 - bl sub_81CCC5C - bl sub_8123418 - movs r0, 0 - b _081CC8D2 -_081CC8A2: - bl sub_8123514 - lsls r0, 24 - cmp r0, 0 - bne _081CC8C6 - bl sub_81CCC88 - cmp r0, 0 - bne _081CC8C6 - movs r0, 0x1 - bl sub_81C7BA4 - movs r0, 0 - b _081CC8D2 -_081CC8BE: - bl IsDma3ManagerBusyWithBgCopy_ - cmp r0, 0 - beq _081CC8CA -_081CC8C6: - movs r0, 0x2 - b _081CC8D2 -_081CC8CA: - movs r0, 0x4 - bl sub_81C7E14 -_081CC8D0: - movs r0, 0x4 -_081CC8D2: - pop {r1} - bx r1 - thumb_func_end sub_81CC878 - - thumb_func_start sub_81CC8D8 -sub_81CC8D8: @ 81CC8D8 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x4 - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x1 - beq _081CC90C - cmp r4, 0x1 - bgt _081CC8F2 - cmp r4, 0 - beq _081CC8FC - b _081CC952 -_081CC8F2: - cmp r4, 0x2 - beq _081CC924 - cmp r4, 0x3 - beq _081CC940 - b _081CC952 -_081CC8FC: - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - bl sub_81CCB0C - movs r0, 0 - b _081CC954 -_081CC90C: - adds r0, r5, 0 - bl sub_81CCC4C - cmp r0, 0 - bne _081CC948 - movs r0, 0x1 - bl sub_81CCC5C - bl sub_8123418 - movs r0, 0 - b _081CC954 -_081CC924: - bl sub_8123514 - lsls r0, 24 - cmp r0, 0 - bne _081CC948 - bl sub_81CCC88 - cmp r0, 0 - bne _081CC948 - movs r0, 0x2 - bl sub_81C7BA4 - movs r0, 0 - b _081CC954 -_081CC940: - bl IsDma3ManagerBusyWithBgCopy_ - cmp r0, 0 - beq _081CC94C -_081CC948: - movs r0, 0x2 - b _081CC954 -_081CC94C: - movs r0, 0x5 - bl sub_81C7E14 -_081CC952: - movs r0, 0x4 -_081CC954: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CC8D8 - - thumb_func_start sub_81CC95C -sub_81CC95C: @ 81CC95C - push {lr} - cmp r0, 0x1 - beq _081CC982 - cmp r0, 0x1 - bgt _081CC96C - cmp r0, 0 - beq _081CC972 - b _081CC9B8 -_081CC96C: - cmp r0, 0x2 - beq _081CC996 - b _081CC9B8 -_081CC972: - movs r0, 0x5 - bl PlaySE - movs r0, 0 - bl sub_81C7AC0 - movs r0, 0 - b _081CC9BA -_081CC982: - bl IsPaletteFadeActive - cmp r0, 0 - bne _081CC99E - bl sub_81C7FDC - bl sub_81C78A0 - movs r0, 0 - b _081CC9BA -_081CC996: - bl sub_81C78C0 - cmp r0, 0 - beq _081CC9A2 -_081CC99E: - movs r0, 0x2 - b _081CC9BA -_081CC9A2: - movs r0, 0x1 - bl HideBg - movs r0, 0x2 - bl HideBg - movs r0, 0x3 - bl HideBg - movs r0, 0 - b _081CC9BA -_081CC9B8: - movs r0, 0x4 -_081CC9BA: - pop {r1} - bx r1 - thumb_func_end sub_81CC95C - - thumb_func_start sub_81CC9C0 -sub_81CC9C0: @ 81CC9C0 - push {r4,r5,lr} - movs r5, 0 - ldr r4, =gUnknown_086230F8 -_081CC9C6: - adds r0, r4, 0 - bl LoadCompressedSpriteSheet - adds r4, 0x8 - adds r5, 0x1 - cmp r5, 0 - beq _081CC9C6 - ldr r0, =gUnknown_08623100 - bl sub_81C795C - bl sub_81CCE58 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CC9C0 - - thumb_func_start sub_81CC9EC -sub_81CC9EC: @ 81CC9EC - push {r4,r5,lr} - movs r0, 0x4 - bl GetSubstructPtr - adds r4, r0, 0 - movs r0, 0x6 - bl FreeSpriteTilesByTag - movs r0, 0xB - bl FreeSpritePaletteByTag - adds r5, r4, 0 - adds r5, 0xC - movs r4, 0x2 -_081CCA08: - ldm r5!, {r0} - bl DestroySprite - subs r4, 0x1 - cmp r4, 0 - bge _081CCA08 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81CC9EC - - thumb_func_start sub_81CCA1C -sub_81CCA1C: @ 81CCA1C - push {r4,r5,lr} - sub sp, 0x8 - adds r5, r0, 0 - movs r0, 0x1 - movs r1, 0 - movs r2, 0x40 - movs r3, 0x1 - bl sub_8199DF0 - movs r0, 0x1 - movs r1, 0x11 - movs r2, 0x41 - movs r3, 0x1 - bl sub_8199DF0 - add r1, sp, 0x4 - movs r2, 0x82 - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - adds r4, r5, 0 - adds r4, 0x18 - ldr r2, =0x01000400 - adds r0, r1, 0 - adds r1, r4, 0 - bl CpuSet - movs r0, 0x1 - adds r1, r4, 0 - bl SetBgTilemapBuffer - ldr r0, =gUnknown_08623110 - bl AddWindow - movs r4, 0 - strh r0, [r5, 0x8] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x42 - movs r2, 0x40 - bl LoadUserWindowBorderGfx_ - ldrb r0, [r5, 0x8] - movs r1, 0x42 - movs r2, 0x4 - bl DrawTextBorderOuter - ldr r1, =gUnknown_08622888 - str r4, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - ldrb r0, [r5, 0x8] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldrb r0, [r5, 0x8] - bl PutWindowTilemap - ldrb r0, [r5, 0x8] - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, =gUnknown_08622868 - movs r1, 0x10 - movs r2, 0x20 - bl CopyPaletteIntoBufferUnfaded - ldr r0, =gHoennMapZoomIcons_Pal - movs r1, 0x30 - movs r2, 0x20 - bl CopyPaletteIntoBufferUnfaded - bl sub_8124658 - lsls r0, 24 - cmp r0, 0 - bne _081CCAE0 - ldr r1, =0xffffa000 - movs r0, 0x1 - movs r2, 0 - bl ChangeBgY - b _081CCAEA - .pool -_081CCAE0: - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY -_081CCAEA: - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81CCA1C - - thumb_func_start sub_81CCAFC -sub_81CCAFC: @ 81CCAFC - push {lr} - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_81CCAFC - - thumb_func_start sub_81CCB0C -sub_81CCB0C: @ 81CCB0C - push {r4,r5,lr} - sub sp, 0xC - adds r4, r0, 0 - movs r0, 0x10 - bl GetSubstructPtr - adds r5, r0, 0 - ldrb r0, [r5, 0x2] - cmp r0, 0x4 - bls _081CCB22 - b _081CCC40 -_081CCB22: - lsls r0, 2 - ldr r1, =_081CCB30 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081CCB30: - .4byte _081CCC1C - .4byte _081CCBDC - .4byte _081CCB44 - .4byte _081CCB8E - .4byte _081CCBDC -_081CCB44: - ldrb r0, [r4, 0x8] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldrb r0, [r4, 0x8] - movs r1, 0x2 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0xC - bl PutWindowRectTilemap - ldrb r0, [r4, 0x8] - adds r2, r5, 0x4 - movs r1, 0x1 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x7 - movs r3, 0 - bl AddTextPrinterParameterized - ldrh r1, [r5] - ldrb r2, [r5, 0x3] - adds r0, r4, 0 - bl sub_81CCD70 - ldrb r0, [r4, 0x8] - movs r1, 0x3 - bl CopyWindowToVram - movs r0, 0 - bl sub_81CCFA4 - b _081CCC40 -_081CCB8E: - ldrb r0, [r4, 0x8] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldrb r0, [r4, 0x8] - movs r1, 0x2 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0xC - bl PutWindowRectTilemap - ldrb r0, [r4, 0x8] - adds r2, r5, 0x4 - movs r1, 0x1 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x7 - movs r3, 0 - bl AddTextPrinterParameterized - ldr r1, =0x00001041 - movs r0, 0xC - str r0, [sp] - movs r0, 0xB - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0x1 - movs r2, 0x11 - movs r3, 0x6 - bl FillBgTilemapBufferRect - b _081CCC0C - .pool -_081CCBDC: - ldrb r0, [r4, 0x8] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldrb r0, [r4, 0x8] - bl PutWindowTilemap - ldrb r0, [r4, 0x8] - adds r2, r5, 0x4 - movs r1, 0x1 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x7 - movs r3, 0 - bl AddTextPrinterParameterized - ldrh r1, [r5] - ldrb r2, [r5, 0x3] - adds r0, r4, 0 - bl sub_81CCDE8 -_081CCC0C: - ldrb r0, [r4, 0x8] - movs r1, 0x3 - bl CopyWindowToVram - movs r0, 0x1 - bl sub_81CCFA4 - b _081CCC40 -_081CCC1C: - ldr r1, =0x00001041 - movs r0, 0xC - str r0, [sp] - movs r0, 0xD - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0x1 - movs r2, 0x11 - movs r3, 0x4 - bl FillBgTilemapBufferRect - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x1 - bl sub_81CCFA4 -_081CCC40: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CCB0C - - thumb_func_start sub_81CCC4C -sub_81CCC4C: @ 81CCC4C - push {lr} - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_81CCC4C - - thumb_func_start sub_81CCC5C -sub_81CCC5C: @ 81CCC5C - push {r4,lr} - adds r4, r0, 0 - ldr r0, =sub_81CCC9C - movs r1, 0x3 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x8] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CCC5C - - thumb_func_start sub_81CCC88 -sub_81CCC88: @ 81CCC88 - push {lr} - ldr r0, =sub_81CCC9C - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CCC88 - - thumb_func_start sub_81CCC9C -sub_81CCC9C: @ 81CCC9C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0x8 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _081CCCE0 - movs r1, 0x90 - lsls r1, 3 - movs r0, 0x1 - movs r2, 0x1 - bl ChangeBgY - cmp r0, 0 - blt _081CCCD6 - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - adds r0, r4, 0 - bl DestroyTask -_081CCCD6: - bl sub_81CCF78 - b _081CCD04 - .pool -_081CCCE0: - movs r1, 0x90 - lsls r1, 3 - movs r0, 0x1 - movs r2, 0x2 - bl ChangeBgY - ldr r1, =0xffffa000 - cmp r0, r1 - bgt _081CCD00 - movs r0, 0x1 - movs r2, 0 - bl ChangeBgY - adds r0, r5, 0 - bl DestroyTask -_081CCD00: - bl sub_81CCF78 -_081CCD04: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CCC9C - - thumb_func_start sub_81CCD10 -sub_81CCD10: @ 81CCD10 - push {lr} - ldr r0, =sub_81CCD34 - movs r1, 0x1 - bl sub_81C7078 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CCD10 - - thumb_func_start sub_81CCD24 -sub_81CCD24: @ 81CCD24 - push {lr} - ldr r0, =sub_81CCD34 - bl sub_81C7124 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CCD24 - - thumb_func_start sub_81CCD34 -sub_81CCD34: @ 81CCD34 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x4 - bl GetSubstructPtr - adds r2, r0, 0 - cmp r4, 0x15 - ble _081CCD48 - movs r0, 0x4 - b _081CCD62 -_081CCD48: - ldr r0, =gUnknown_08623118 - lsls r1, r4, 3 - adds r0, 0x4 - adds r1, r0 - ldr r0, [r1] - movs r1, 0xC8 - muls r1, r4 - ldr r3, =0x00000818 - adds r1, r3 - adds r1, r2, r1 - bl LZ77UnCompWram - movs r0, 0x1 -_081CCD62: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CCD34 - - thumb_func_start sub_81CCD70 -sub_81CCD70: @ 81CCD70 - push {r4-r6,lr} - sub sp, 0x8 - adds r6, r0, 0 - adds r3, r1, 0 - movs r4, 0 - ldr r0, =gUnknown_08623118 - ldrh r1, [r0] - adds r5, r0, 0 - cmp r1, r3 - bne _081CCD8A - ldrh r0, [r5, 0x2] - cmp r0, r2 - beq _081CCDA0 -_081CCD8A: - adds r4, 0x1 - cmp r4, 0x15 - bgt _081CCDA0 - lsls r0, r4, 3 - adds r1, r0, r5 - ldrh r0, [r1] - cmp r0, r3 - bne _081CCD8A - ldrh r0, [r1, 0x2] - cmp r0, r2 - bne _081CCD8A -_081CCDA0: - cmp r4, 0x16 - beq _081CCDD4 - ldr r1, =0x00001041 - movs r0, 0xC - str r0, [sp] - movs r0, 0xB - str r0, [sp, 0x4] - movs r0, 0x1 - movs r2, 0x11 - movs r3, 0x6 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0xC8 - adds r1, r4, 0 - muls r1, r0 - ldr r0, =0x00000818 - adds r1, r0 - adds r1, r6, r1 - movs r0, 0xA - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x1 - movs r2, 0x12 - movs r3, 0x6 - bl CopyToBgTilemapBufferRect -_081CCDD4: - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CCD70 - - thumb_func_start sub_81CCDE8 -sub_81CCDE8: @ 81CCDE8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0xC - mov r9, r0 - movs r5, 0 - ldr r6, =gStringVar1 - movs r4, 0x88 - lsls r4, 21 - lsls r1, 24 - mov r8, r1 - lsls r7, r2, 24 - b _081CCE34 - .pool -_081CCE08: - adds r0, r6, 0 - movs r2, 0 - movs r3, 0xC - bl StringCopyPadded - mov r1, r9 - ldrb r0, [r1, 0x8] - lsrs r1, r4, 24 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x7 - adds r2, r6, 0 - movs r3, 0 - bl AddTextPrinterParameterized - movs r0, 0x80 - lsls r0, 21 - adds r4, r0 - adds r5, 0x1 -_081CCE34: - lsls r2, r5, 24 - lsrs r2, 24 - mov r1, r8 - lsrs r0, r1, 24 - lsrs r1, r7, 24 - bl GetLandmarkName - adds r1, r0, 0 - cmp r1, 0 - bne _081CCE08 - add sp, 0xC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81CCDE8 - - thumb_func_start sub_81CCE58 -sub_81CCE58: @ 81CCE58 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r0, 0x4 - bl GetSubstructPtr - adds r4, r0, 0 - bl sub_8124658 - lsls r0, 24 - movs r2, 0x84 - cmp r0, 0 - bne _081CCE74 - movs r2, 0xE4 -_081CCE74: - movs r5, 0 - lsls r7, r2, 16 - adds r4, 0xC - mov r8, r4 - movs r6, 0x98 - lsls r6, 16 -_081CCE80: - asrs r1, r6, 16 - ldr r0, =gUnknown_086231D0 - asrs r2, r7, 16 - movs r3, 0x8 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, =gSprites - adds r2, r0 - movs r0, 0 - strh r0, [r2, 0x2E] - lsls r4, r5, 2 - strh r4, [r2, 0x30] - ldrh r3, [r2, 0x4] - lsls r1, r3, 22 - lsrs r0, r1, 22 - adds r1, r0, 0 - strh r0, [r2, 0x32] - movs r0, 0x96 - strh r0, [r2, 0x34] - strh r4, [r2, 0x36] - adds r1, r4 - ldr r4, =0x000003ff - adds r0, r4, 0 - ands r1, r0 - ldr r4, =0xfffffc00 - adds r0, r4, 0 - ands r3, r0 - orrs r3, r1 - strh r3, [r2, 0x4] - mov r0, r8 - adds r0, 0x4 - mov r8, r0 - subs r0, 0x4 - stm r0!, {r2} - movs r4, 0x80 - lsls r4, 14 - adds r6, r4 - adds r5, 0x1 - cmp r5, 0x2 - ble _081CCE80 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CCE58 - - thumb_func_start sub_81CCEF4 -sub_81CCEF4: @ 81CCEF4 - push {r4,r5,lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x34] - movs r1, 0x34 - ldrsh r4, [r3, r1] - cmp r4, 0 - beq _081CCF06 - subs r0, 0x1 - b _081CCF6E -_081CCF06: - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB - ble _081CCF16 - strh r4, [r3, 0x2E] -_081CCF16: - ldrh r0, [r3, 0x30] - adds r0, 0x1 - strh r0, [r3, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3C - ble _081CCF26 - strh r4, [r3, 0x30] -_081CCF26: - ldrh r5, [r3, 0x30] - ldrh r2, [r3, 0x32] - adds r1, r5, r2 - 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] - ldrh r1, [r3, 0x38] - movs r2, 0x38 - ldrsh r0, [r3, r2] - cmp r0, 0x3 - bgt _081CCF5C - movs r2, 0x2E - ldrsh r0, [r3, r2] - cmp r0, 0 - bne _081CCF70 - adds r0, r1, 0x1 - strh r0, [r3, 0x38] - b _081CCF6C - .pool -_081CCF5C: - lsls r0, r5, 16 - asrs r0, 16 - movs r2, 0x36 - ldrsh r1, [r3, r2] - cmp r0, r1 - bne _081CCF70 - strh r4, [r3, 0x38] - strh r4, [r3, 0x2E] -_081CCF6C: - movs r0, 0x78 -_081CCF6E: - strh r0, [r3, 0x34] -_081CCF70: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81CCEF4 - - thumb_func_start sub_81CCF78 -sub_81CCF78: @ 81CCF78 - push {r4,lr} - movs r0, 0x4 - bl GetSubstructPtr - adds r4, r0, 0 - movs r0, 0x1 - bl GetBgY - asrs r0, 8 - movs r1, 0x84 - subs r1, r0 - adds r4, 0xC - movs r2, 0x2 -_081CCF92: - ldm r4!, {r0} - strh r1, [r0, 0x22] - subs r2, 0x1 - cmp r2, 0 - bge _081CCF92 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81CCF78 - - thumb_func_start sub_81CCFA4 -sub_81CCFA4: @ 81CCFA4 - push {r4-r6,lr} - adds r4, r0, 0 - movs r0, 0x4 - bl GetSubstructPtr - movs r1, 0x1 - ands r4, r1 - lsls r5, r4, 2 - movs r6, 0x5 - negs r6, r6 - adds r4, r0, 0 - adds r4, 0xC - movs r3, 0x2 -_081CCFBE: - ldm r4!, {r0} - adds r0, 0x3E - ldrb r2, [r0] - adds r1, r6, 0 - ands r1, r2 - orrs r1, r5 - strb r1, [r0] - subs r3, 0x1 - cmp r3, 0 - bge _081CCFBE - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81CCFA4 - - thumb_func_start sub_81CCFD8 -sub_81CCFD8: @ 81CCFD8 - push {r4,lr} - ldr r1, =0x0000678c - movs r0, 0xB - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081CD01C - ldr r1, =0x00006428 - adds r0, r4, r1 - bl sub_81D1ED4 - bl sub_81CD970 - ldr r1, =gKeyRepeatStartDelay - movs r0, 0x14 - strh r0, [r1] - ldr r0, =0x00006304 - adds r1, r4, r0 - ldr r0, =sub_81CD08C - str r0, [r1] - movs r0, 0x1 - b _081CD01E - .pool -_081CD01C: - movs r0, 0 -_081CD01E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CCFD8 - - thumb_func_start sub_81CD024 -sub_81CD024: @ 81CD024 - push {r4,lr} - ldr r1, =0x0000678c - movs r0, 0xB - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081CD068 - ldr r1, =0x00006428 - adds r0, r4, r1 - bl sub_81D1ED4 - bl sub_81CD9F8 - ldr r1, =gKeyRepeatStartDelay - movs r0, 0x14 - strh r0, [r1] - ldr r0, =0x00006304 - adds r1, r4, r0 - ldr r0, =sub_81CD08C - str r0, [r1] - movs r0, 0x1 - b _081CD06A - .pool -_081CD068: - movs r0, 0 -_081CD06A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CD024 - - thumb_func_start sub_81CD070 -sub_81CD070: @ 81CD070 - push {lr} - movs r0, 0xB - bl GetSubstructPtr - ldr r2, =0x00006304 - adds r1, r0, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CD070 - - thumb_func_start sub_81CD08C -sub_81CD08C: @ 81CD08C - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x12 - bl GetSubstructPtr - adds r5, r0, 0 - adds r0, r4, 0 - bl sub_81CD1E4 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - bne _081CD100 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _081CD0D0 - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081CD100 - movs r1, 0xC6 - lsls r1, 7 - adds r0, r4, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _081CD0F0 - ldrh r1, [r5, 0x2] - ldrh r0, [r5] - subs r0, 0x1 - cmp r1, r0 - bne _081CD100 -_081CD0D0: - movs r0, 0x5 - bl PlaySE - ldr r0, =0x00006304 - adds r1, r4, r0 - ldr r0, =sub_81CD19C - str r0, [r1] - movs r2, 0x2 - b _081CD100 - .pool -_081CD0F0: - movs r0, 0x5 - bl PlaySE - movs r2, 0x5 - ldr r0, =0x00006304 - adds r1, r4, r0 - ldr r0, =sub_81CD110 - str r0, [r1] -_081CD100: - adds r0, r2, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CD08C - - thumb_func_start sub_81CD110 -sub_81CD110: @ 81CD110 - push {r4-r6,lr} - sub sp, 0x4 - adds r6, r0, 0 - movs r4, 0 - bl sub_811FBA4 - lsls r0, 24 - cmp r0, 0 - bne _081CD18A - bl sub_81CEF14 - ldr r1, =0x00006786 - adds r5, r6, r1 - movs r1, 0 - ldrsb r1, [r5, r1] - ldr r2, =0x00006783 - adds r4, r6, r2 - adds r1, r4, r1 - strb r0, [r1] - movs r0, 0x12 - bl GetSubstructPtr - ldrh r1, [r0, 0x2] - lsls r1, 2 - adds r0, r1 - ldrb r2, [r0, 0x4] - ldrb r3, [r0, 0x5] - movs r0, 0 - ldrsb r0, [r5, r0] - adds r4, r0 - ldrb r1, [r4] - mov r0, sp - strb r1, [r0] - cmp r2, 0xE - bne _081CD174 - movs r0, 0x64 - muls r0, r3 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x8 - mov r2, sp - bl SetMonData - b _081CD180 - .pool -_081CD174: - adds r0, r2, 0 - adds r1, r3, 0 - movs r2, 0x8 - mov r3, sp - bl SetBoxMonDataAt -_081CD180: - ldr r0, =0x00006304 - adds r1, r6, r0 - ldr r0, =sub_81CD08C - str r0, [r1] - movs r4, 0x6 -_081CD18A: - adds r0, r4, 0 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CD110 - - thumb_func_start sub_81CD19C -sub_81CD19C: @ 81CD19C - push {lr} - movs r1, 0xC6 - lsls r1, 7 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _081CD1B4 - ldr r0, =0x000186aa - b _081CD1B6 - .pool -_081CD1B4: - ldr r0, =0x000186a2 -_081CD1B6: - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CD19C - - thumb_func_start sub_81CD1C0 -sub_81CD1C0: @ 81CD1C0 - push {lr} - movs r0, 0xB - bl GetSubstructPtr - movs r1, 0xC6 - lsls r1, 7 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _081CD1DA - movs r0, 0x12 - bl FreeSubstruct -_081CD1DA: - movs r0, 0xB - bl FreeSubstruct - pop {r0} - bx r0 - thumb_func_end sub_81CD1C0 - - thumb_func_start sub_81CD1E4 -sub_81CD1E4: @ 81CD1E4 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x12 - bl GetSubstructPtr - adds r2, r0, 0 - movs r3, 0 - ldr r0, =gMain - ldrh r1, [r0, 0x2C] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _081CD220 - movs r1, 0xC6 - lsls r1, 7 - adds r0, r4, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _081CD210 - ldrh r0, [r2, 0x2] - cmp r0, 0 - beq _081CD24E -_081CD210: - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - b _081CD246 - .pool -_081CD220: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081CD24E - movs r1, 0xC6 - lsls r1, 7 - adds r0, r4, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _081CD23E - ldrh r1, [r2, 0x2] - ldrh r0, [r2] - subs r0, 0x1 - cmp r1, r0 - bge _081CD24E -_081CD23E: - movs r0, 0x5 - bl PlaySE - movs r0, 0 -_081CD246: - bl sub_81CD258 - lsls r0, 24 - lsrs r3, r0, 24 -_081CD24E: - adds r0, r3, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CD1E4 - - thumb_func_start sub_81CD258 -sub_81CD258: @ 81CD258 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r0, 0xB - bl GetSubstructPtr - adds r4, r0, 0 - movs r0, 0x12 - bl GetSubstructPtr - adds r5, r0, 0 - mov r0, r8 - cmp r0, 0 - beq _081CD284 - ldr r1, =0x00006788 - adds r0, r4, r1 - b _081CD288 - .pool -_081CD284: - ldr r2, =0x00006787 - adds r0, r4, r2 -_081CD288: - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 16 - lsrs r0, 16 - adds r7, r0, 0 - ldr r1, =0x00006428 - adds r0, r4, r1 - ldr r2, =0x00006786 - adds r1, r4, r2 - movs r2, 0 - ldrsb r2, [r1, r2] - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 2 - ldr r3, =0x0000643c - adds r1, r3 - adds r1, r4, r1 - lsls r2, r7, 2 - adds r2, r7 - lsls r2, 2 - adds r2, r3 - adds r2, r4, r2 - bl sub_81D1F84 - ldrh r6, [r5, 0x2] - bl sub_81CDD5C - cmp r0, 0 - beq _081CD2D8 - ldrh r1, [r5] - b _081CD2DC - .pool -_081CD2D8: - ldrh r1, [r5] - subs r1, 0x1 -_081CD2DC: - eors r1, r6 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - adds r6, r0, 0 - mov r0, r8 - cmp r0, 0 - beq _081CD332 - ldr r1, =0x00006787 - adds r2, r4, r1 - ldrb r0, [r2] - adds r1, 0x1 - adds r3, r4, r1 - strb r0, [r3] - ldr r0, =0x00006786 - adds r1, r4, r0 - ldrb r0, [r1] - strb r0, [r2] - strb r7, [r1] - ldrb r1, [r3] - ldr r2, =0x00006789 - adds r0, r4, r2 - strb r1, [r0] - ldrh r0, [r5, 0x2] - cmp r0, 0 - bne _081CD312 - ldrh r0, [r5] -_081CD312: - subs r1, r0, 0x1 - strh r1, [r5, 0x2] - lsls r0, r1, 16 - cmp r0, 0 - beq _081CD32C - subs r1, 0x1 - b _081CD384 - .pool -_081CD32C: - ldrh r0, [r5] - subs r1, r0, 0x1 - b _081CD384 -_081CD332: - ldr r0, =0x00006788 - adds r2, r4, r0 - ldrb r0, [r2] - ldr r1, =0x00006787 - adds r3, r4, r1 - strb r0, [r3] - ldr r0, =0x00006786 - adds r1, r4, r0 - ldrb r0, [r1] - strb r0, [r2] - strb r7, [r1] - ldrb r1, [r3] - ldr r2, =0x00006789 - adds r0, r4, r2 - strb r1, [r0] - ldrh r1, [r5, 0x2] - ldrh r0, [r5] - subs r0, 0x1 - cmp r1, r0 - bge _081CD370 - adds r0, r1, 0x1 - b _081CD372 - .pool -_081CD370: - movs r0, 0 -_081CD372: - strh r0, [r5, 0x2] - ldrh r1, [r5, 0x2] - ldrh r0, [r5] - subs r0, 0x1 - cmp r1, r0 - bge _081CD382 - adds r1, 0x1 - b _081CD384 -_081CD382: - movs r1, 0 -_081CD384: - ldr r2, =0x00006302 - adds r0, r4, r2 - strh r1, [r0] - ldrh r4, [r5, 0x2] - bl sub_81CDD5C - cmp r0, 0 - beq _081CD39C - ldrh r1, [r5] - b _081CD3A0 - .pool -_081CD39C: - ldrh r1, [r5] - subs r1, 0x1 -_081CD3A0: - eors r1, r4 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - cmp r6, 0 - bne _081CD3B0 - movs r0, 0x3 - b _081CD3BA -_081CD3B0: - cmp r0, 0 - beq _081CD3B8 - movs r0, 0x1 - b _081CD3BA -_081CD3B8: - movs r0, 0x4 -_081CD3BA: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81CD258 - - thumb_func_start sub_81CD3C4 -sub_81CD3C4: @ 81CD3C4 - push {r4,lr} - movs r0, 0xB - bl GetSubstructPtr - adds r4, r0, 0 - movs r0, 0x12 - bl GetSubstructPtr - adds r2, r0, 0 - ldr r1, =0x0000678a - adds r0, r4, r1 - ldrb r0, [r0] - cmp r0, 0x9 - bls _081CD3E2 - b _081CD530 -_081CD3E2: - lsls r0, 2 - ldr r1, =_081CD3F4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081CD3F4: - .4byte _081CD41C - .4byte _081CD428 - .4byte _081CD434 - .4byte _081CD440 - .4byte _081CD490 - .4byte _081CD4A8 - .4byte _081CD4C0 - .4byte _081CD4D8 - .4byte _081CD4F0 - .4byte _081CD508 -_081CD41C: - movs r1, 0x2 - ldrsh r0, [r2, r1] - movs r1, 0 - bl sub_81CD824 - b _081CD530 -_081CD428: - movs r1, 0x2 - ldrsh r0, [r2, r1] - movs r1, 0 - bl sub_81CDA1C - b _081CD530 -_081CD434: - movs r1, 0x2 - ldrsh r0, [r2, r1] - movs r1, 0 - bl sub_81CDB98 - b _081CD530 -_081CD440: - ldrh r0, [r2] - cmp r0, 0x1 - bne _081CD468 - ldr r2, =0x00006786 - adds r0, r4, r2 - movs r1, 0 - strb r1, [r0] - adds r2, 0x1 - adds r0, r4, r2 - strb r1, [r0] - adds r2, 0x1 - adds r0, r4, r2 - strb r1, [r0] - adds r2, 0x2 - adds r0, r4, r2 - strb r1, [r0] - movs r0, 0x1 - b _081CD53C - .pool -_081CD468: - ldr r0, =0x00006786 - adds r1, r4, r0 - movs r0, 0 - strb r0, [r1] - ldr r2, =0x00006787 - adds r1, r4, r2 - movs r0, 0x1 - strb r0, [r1] - ldr r0, =0x00006788 - adds r1, r4, r0 - movs r0, 0x2 - strb r0, [r1] - b _081CD530 - .pool -_081CD490: - ldrh r0, [r2, 0x2] - adds r0, 0x1 - ldrh r2, [r2] - cmp r0, r2 - blt _081CD49C - movs r0, 0 -_081CD49C: - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - bl sub_81CD824 - b _081CD530 -_081CD4A8: - ldrh r0, [r2, 0x2] - adds r0, 0x1 - ldrh r2, [r2] - cmp r0, r2 - blt _081CD4B4 - movs r0, 0 -_081CD4B4: - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - bl sub_81CDA1C - b _081CD530 -_081CD4C0: - ldrh r0, [r2, 0x2] - adds r0, 0x1 - ldrh r2, [r2] - cmp r0, r2 - blt _081CD4CC - movs r0, 0 -_081CD4CC: - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - bl sub_81CDB98 - b _081CD530 -_081CD4D8: - ldrh r0, [r2, 0x2] - subs r0, 0x1 - cmp r0, 0 - bge _081CD4E4 - ldrh r0, [r2] - subs r0, 0x1 -_081CD4E4: - lsls r0, 16 - asrs r0, 16 - movs r1, 0x2 - bl sub_81CD824 - b _081CD530 -_081CD4F0: - ldrh r0, [r2, 0x2] - subs r0, 0x1 - cmp r0, 0 - bge _081CD4FC - ldrh r0, [r2] - subs r0, 0x1 -_081CD4FC: - lsls r0, 16 - asrs r0, 16 - movs r1, 0x2 - bl sub_81CDA1C - b _081CD530 -_081CD508: - ldrh r0, [r2, 0x2] - subs r0, 0x1 - cmp r0, 0 - bge _081CD514 - ldrh r0, [r2] - subs r0, 0x1 -_081CD514: - lsls r0, 16 - asrs r0, 16 - movs r1, 0x2 - bl sub_81CDB98 - ldr r2, =0x0000678a - adds r1, r4, r2 - movs r0, 0 - strb r0, [r1] - movs r0, 0x1 - b _081CD53C - .pool -_081CD530: - ldr r0, =0x0000678a - adds r1, r4, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0 -_081CD53C: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CD3C4 - - thumb_func_start sub_81CD548 -sub_81CD548: @ 81CD548 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - movs r0, 0xB - bl GetSubstructPtr - adds r1, r0, 0 - cmp r4, 0x1 - beq _081CD588 - cmp r4, 0x1 - bgt _081CD566 - cmp r4, 0 - beq _081CD56C - b _081CD5C4 -_081CD566: - cmp r5, 0x2 - beq _081CD5A4 - b _081CD5C4 -_081CD56C: - ldr r2, =0x00006302 - adds r0, r1, r2 - movs r2, 0 - ldrsh r0, [r0, r2] - ldr r2, =0x00006789 - adds r1, r2 - ldrb r1, [r1] - bl sub_81CD824 - b _081CD5C4 - .pool -_081CD588: - ldr r2, =0x00006302 - adds r0, r1, r2 - movs r2, 0 - ldrsh r0, [r0, r2] - ldr r2, =0x00006789 - adds r1, r2 - ldrb r1, [r1] - bl sub_81CDA1C - b _081CD5C4 - .pool -_081CD5A4: - ldr r2, =0x00006302 - adds r0, r1, r2 - movs r2, 0 - ldrsh r0, [r0, r2] - ldr r2, =0x00006789 - adds r1, r2 - ldrb r1, [r1] - bl sub_81CDB98 - movs r0, 0x1 - b _081CD5C6 - .pool -_081CD5C4: - movs r0, 0 -_081CD5C6: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CD548 - - thumb_func_start sub_81CD5CC -sub_81CD5CC: @ 81CD5CC - push {r4,lr} - adds r4, r0, 0 - lsls r2, 16 - lsrs r2, 16 - b _081CD5E4 -_081CD5D6: - strb r3, [r4] - adds r1, 0x1 - adds r4, 0x1 - lsls r0, r2, 16 - ldr r2, =0xffff0000 - adds r0, r2 - lsrs r2, r0, 16 -_081CD5E4: - ldrb r3, [r1] - adds r0, r3, 0 - cmp r0, 0xFF - bne _081CD5D6 - adds r1, r2, 0 - lsls r0, r1, 16 - ldr r2, =0xffff0000 - adds r0, r2 - lsrs r2, r0, 16 - lsls r1, 16 - cmp r1, 0 - ble _081CD612 - movs r3, 0 -_081CD5FE: - strb r3, [r4] - adds r4, 0x1 - adds r1, r2, 0 - lsls r0, r1, 16 - ldr r2, =0xffff0000 - adds r0, r2 - lsrs r2, r0, 16 - lsls r1, 16 - cmp r1, 0 - bgt _081CD5FE -_081CD612: - movs r0, 0xFF - strb r0, [r4] - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CD5CC - - thumb_func_start sub_81CD624 -sub_81CD624: @ 81CD624 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r5, r0, 0 - adds r4, r1, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r2, 24 - lsrs r2, 24 - mov r10, r2 - movs r0, 0x12 - bl GetSubstructPtr - lsls r4, 2 - adds r0, r4 - ldrb r4, [r0, 0x4] - mov r8, r4 - ldrb r6, [r0, 0x5] - mov r9, r6 - movs r0, 0xFC - strb r0, [r5] - adds r5, 0x1 - movs r0, 0x4 - strb r0, [r5] - adds r5, 0x1 - movs r0, 0x8 - strb r0, [r5] - adds r5, 0x1 - movs r0, 0 - strb r0, [r5] - adds r5, 0x1 - movs r0, 0x9 - strb r0, [r5] - adds r5, 0x1 - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0x2D - movs r3, 0 - bl GetBoxOrPartyMonData - cmp r0, 0 - beq _081CD690 - ldr r1, =gText_EggNickname - adds r0, r5, 0 - movs r2, 0 - movs r3, 0xC - bl StringCopyPadded - b _081CD80E - .pool -_081CD690: - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0x2 - adds r3, r5, 0 - bl GetBoxOrPartyMonData - adds r0, r5, 0 - bl StringGetEnd10 - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0xB - movs r3, 0 - bl GetBoxOrPartyMonData - lsls r0, 16 - lsrs r7, r0, 16 - cmp r4, 0xE - bne _081CD6E0 - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - ldr r0, =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x38 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - adds r0, r4, 0 - bl GetMonGender - lsls r0, 24 - lsrs r6, r0, 24 - b _081CD6FE - .pool -_081CD6E0: - mov r0, r8 - mov r1, r9 - bl GetBoxedMonPtr - adds r4, r0, 0 - bl GetBoxMonGender - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r4, 0 - bl GetLevelFromBoxMonExp - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 -_081CD6FE: - cmp r7, 0x1D - beq _081CD706 - cmp r7, 0x20 - bne _081CD71C -_081CD706: - movs r0, 0xB - adds r1, r7, 0 - muls r1, r0 - ldr r0, =gSpeciesNames - adds r1, r0 - adds r0, r5, 0 - bl StringCompare - cmp r0, 0 - bne _081CD71C - movs r6, 0xFF -_081CD71C: - adds r3, r5, 0 - b _081CD726 - .pool -_081CD724: - adds r3, 0x1 -_081CD726: - ldrb r0, [r3] - cmp r0, 0xFF - bne _081CD724 - movs r1, 0xFC - strb r1, [r3] - adds r3, 0x1 - movs r0, 0x12 - strb r0, [r3] - adds r3, 0x1 - movs r0, 0x3C - strb r0, [r3] - adds r3, 0x1 - cmp r6, 0 - beq _081CD74A - cmp r6, 0xFE - beq _081CD76E - movs r0, 0x77 - b _081CD790 -_081CD74A: - strb r1, [r3] - adds r3, 0x1 - movs r0, 0x1 - strb r0, [r3] - adds r3, 0x1 - movs r0, 0x4 - strb r0, [r3] - adds r3, 0x1 - strb r1, [r3] - adds r3, 0x1 - movs r0, 0x3 - strb r0, [r3] - adds r3, 0x1 - movs r0, 0x5 - strb r0, [r3] - adds r3, 0x1 - movs r0, 0xB5 - b _081CD790 -_081CD76E: - strb r1, [r3] - adds r3, 0x1 - movs r0, 0x1 - strb r0, [r3] - adds r3, 0x1 - movs r0, 0x6 - strb r0, [r3] - adds r3, 0x1 - strb r1, [r3] - adds r3, 0x1 - movs r0, 0x3 - strb r0, [r3] - adds r3, 0x1 - movs r0, 0x7 - strb r0, [r3] - adds r3, 0x1 - movs r0, 0xB6 -_081CD790: - strb r0, [r3] - adds r3, 0x1 - movs r0, 0xFC - strb r0, [r3] - adds r3, 0x1 - movs r0, 0x4 - strb r0, [r3] - adds r3, 0x1 - movs r0, 0x8 - strb r0, [r3] - adds r3, 0x1 - movs r5, 0 - strb r5, [r3] - adds r3, 0x1 - movs r0, 0x9 - strb r0, [r3] - adds r3, 0x1 - movs r0, 0xBA - strb r0, [r3] - adds r3, 0x1 - movs r0, 0xF9 - strb r0, [r3] - adds r3, 0x1 - movs r0, 0x5 - strb r0, [r3] - adds r3, 0x1 - adds r4, r3, 0 - adds r0, r4, 0 - mov r1, r8 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r3, r0, 0 - subs r4, r3, r4 - lsls r4, 16 - lsrs r4, 16 - strb r5, [r3] - adds r3, 0x1 - mov r0, r10 - cmp r0, 0 - bne _081CD808 - movs r0, 0x3 - subs r0, r4 - lsls r0, 16 - ldr r1, =0xffff0000 - adds r0, r1 - lsrs r4, r0, 16 - ldr r0, =0x0000ffff - cmp r4, r0 - beq _081CD808 - movs r2, 0 - adds r1, r0, 0 -_081CD7FA: - strb r2, [r3] - adds r3, 0x1 - subs r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, r1 - bne _081CD7FA -_081CD808: - movs r0, 0xFF - strb r0, [r3] - adds r0, r3, 0 -_081CD80E: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CD624 - - thumb_func_start sub_81CD824 -sub_81CD824: @ 81CD824 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - lsls r1, 24 - lsrs r6, r1, 24 - movs r0, 0xB - bl GetSubstructPtr - adds r5, r0, 0 - movs r0, 0x12 - bl GetSubstructPtr - adds r7, r0, 0 - mov r1, r8 - lsls r0, r1, 16 - asrs r4, r0, 16 - bl sub_81CDD5C - cmp r0, 0 - beq _081CD85A - ldrh r2, [r7] - cmp r4, r2 - bne _081CD862 - b _081CD900 -_081CD85A: - ldrh r0, [r7] - subs r0, 0x1 - cmp r4, r0 - beq _081CD900 -_081CD862: - lsls r0, r6, 6 - ldr r1, =0x00006368 - adds r0, r1 - adds r0, r5, r0 - mov r2, r8 - lsls r4, r2, 16 - lsrs r1, r4, 16 - movs r2, 0 - bl sub_81CD624 - asrs r4, 14 - adds r4, r7, r4 - ldrb r3, [r4, 0x4] - lsls r0, r6, 1 - adds r0, r6 - lsls r4, r0, 3 - ldr r1, =0x00006320 - adds r0, r5, r1 - adds r0, r4 - movs r2, 0 - movs r1, 0xFC - strb r1, [r0] - ldr r1, =0x00006321 - adds r0, r5, r1 - adds r0, r4 - movs r1, 0x4 - strb r1, [r0] - ldr r1, =0x00006322 - adds r0, r5, r1 - adds r0, r4 - movs r1, 0x8 - strb r1, [r0] - ldr r1, =0x00006323 - adds r0, r5, r1 - adds r0, r4 - strb r2, [r0] - ldr r2, =0x00006324 - adds r0, r5, r2 - adds r0, r4 - movs r1, 0x9 - strb r1, [r0] - cmp r3, 0xE - bne _081CD8E4 - adds r0, r4, r5 - ldr r1, =0x00006325 - adds r0, r1 - ldr r1, =gText_InParty - b _081CD8F4 - .pool -_081CD8E4: - adds r4, r5 - ldr r2, =0x00006325 - adds r4, r2 - adds r0, r3, 0 - bl GetBoxNamePtr - adds r1, r0, 0 - adds r0, r4, 0 -_081CD8F4: - movs r2, 0x8 - bl sub_81CD5CC - b _081CD95C - .pool -_081CD900: - movs r1, 0 - lsls r4, r6, 6 - lsls r0, r6, 1 - mov r8, r0 - adds r3, r4, 0 - ldr r0, =0x00006368 - adds r2, r5, r0 - movs r7, 0 -_081CD910: - adds r0, r1, r3 - adds r0, r2, r0 - strb r7, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0xB - bls _081CD910 - adds r1, r4 - ldr r2, =0x00006368 - adds r0, r5, r2 - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] - movs r1, 0 - mov r2, r8 - adds r0, r2, r6 - lsls r3, r0, 3 - ldr r0, =0x00006320 - adds r2, r5, r0 - movs r4, 0 -_081CD93A: - adds r0, r1, r3 - adds r0, r2, r0 - strb r4, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x7 - bls _081CD93A - mov r2, r8 - adds r0, r2, r6 - lsls r0, 3 - adds r0, r1, r0 - ldr r2, =0x00006320 - adds r1, r5, r2 - adds r1, r0 - movs r0, 0xFF - strb r0, [r1] -_081CD95C: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CD824 - - thumb_func_start sub_81CD970 -sub_81CD970: @ 81CD970 - push {r4-r7,lr} - movs r0, 0xB - bl GetSubstructPtr - adds r7, r0, 0 - ldr r1, =0x000006ac - movs r0, 0x12 - bl AllocSubstruct - adds r6, r0, 0 - movs r0, 0xC6 - lsls r0, 7 - adds r1, r7, r0 - movs r0, 0 - strb r0, [r1] - movs r4, 0 - movs r5, 0 - b _081CD9C4 - .pool -_081CD998: - movs r0, 0x64 - muls r0, r4 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x2D - bl GetMonData - adds r2, r0, 0 - cmp r2, 0 - bne _081CD9BE - lsls r1, r5, 2 - adds r1, r6, r1 - movs r0, 0xE - strb r0, [r1, 0x4] - strb r4, [r1, 0x5] - strh r2, [r1, 0x6] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_081CD9BE: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 -_081CD9C4: - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bcc _081CD998 - lsls r0, r5, 2 - adds r0, r6, r0 - movs r1, 0 - strb r1, [r0, 0x4] - strb r1, [r0, 0x5] - movs r2, 0 - strh r1, [r0, 0x6] - strh r1, [r6, 0x2] - adds r0, r5, 0x1 - strh r0, [r6] - ldr r1, =0x0000678a - adds r0, r7, r1 - strb r2, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CD970 - - thumb_func_start sub_81CD9F8 -sub_81CD9F8: @ 81CD9F8 - push {lr} - movs r0, 0xB - bl GetSubstructPtr - movs r1, 0xC6 - lsls r1, 7 - adds r2, r0, r1 - movs r3, 0 - movs r1, 0x1 - strb r1, [r2] - ldr r1, =0x0000678a - adds r0, r1 - strb r3, [r0] - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CD9F8 - - thumb_func_start sub_81CDA1C -sub_81CDA1C: @ 81CDA1C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - movs r0, 0xB - bl GetSubstructPtr - mov r8, r0 - movs r0, 0x12 - bl GetSubstructPtr - adds r4, r0, 0 - lsls r0, r6, 16 - asrs r5, r0, 16 - bl sub_81CDD5C - cmp r0, 0 - beq _081CDA52 - ldrh r0, [r4] - cmp r5, r0 - bne _081CDA5A - b _081CDB48 -_081CDA52: - ldrh r0, [r4] - subs r0, 0x1 - cmp r5, r0 - beq _081CDB48 -_081CDA5A: - lsls r0, r6, 16 - asrs r0, 14 - adds r0, r4, r0 - ldrb r6, [r0, 0x4] - ldrb r7, [r0, 0x5] - adds r0, r6, 0 - adds r1, r7, 0 - movs r2, 0x16 - movs r3, 0 - bl GetBoxOrPartyMonData - mov r1, r9 - lsls r5, r1, 2 - adds r4, r5, r1 - ldr r1, =0x00006428 - add r1, r8 - adds r1, r4 - strb r0, [r1] - adds r0, r6, 0 - adds r1, r7, 0 - movs r2, 0x2F - movs r3, 0 - bl GetBoxOrPartyMonData - ldr r1, =0x00006429 - add r1, r8 - adds r1, r4 - strb r0, [r1] - adds r0, r6, 0 - adds r1, r7, 0 - movs r2, 0x21 - movs r3, 0 - bl GetBoxOrPartyMonData - ldr r1, =0x0000642a - add r1, r8 - adds r1, r4 - strb r0, [r1] - adds r0, r6, 0 - adds r1, r7, 0 - movs r2, 0x18 - movs r3, 0 - bl GetBoxOrPartyMonData - ldr r1, =0x0000642b - add r1, r8 - adds r1, r4 - strb r0, [r1] - adds r0, r6, 0 - adds r1, r7, 0 - movs r2, 0x17 - movs r3, 0 - bl GetBoxOrPartyMonData - ldr r1, =0x0000642c - add r1, r8 - adds r1, r4 - strb r0, [r1] - movs r0, 0xCF - lsls r0, 7 - add r0, r8 - mov r2, r9 - adds r4, r0, r2 - adds r0, r6, 0 - adds r1, r7, 0 - movs r2, 0x30 - movs r3, 0 - bl GetBoxOrPartyMonData - cmp r0, 0xFF - beq _081CDB10 - adds r0, r6, 0 - adds r1, r7, 0 - movs r2, 0x30 - movs r3, 0 - bl GetBoxOrPartyMonData - movs r1, 0x1D - bl __udivsi3 - b _081CDB12 - .pool -_081CDB10: - movs r0, 0x9 -_081CDB12: - strb r0, [r4] - adds r0, r6, 0 - adds r1, r7, 0 - movs r2, 0x8 - movs r3, 0 - bl GetBoxOrPartyMonData - ldr r1, =0x00006783 - add r1, r8 - add r1, r9 - strb r0, [r1] - mov r0, r9 - adds r1, r5, r0 - ldr r2, =0x00006428 - adds r0, r1, r2 - add r0, r8 - lsls r1, 2 - adds r2, 0x14 - adds r1, r2 - add r1, r8 - bl sub_81D2754 - b _081CDB80 - .pool -_081CDB48: - movs r2, 0 - mov r0, r9 - lsls r5, r0, 2 - add r5, r9 - ldr r4, =0x00006428 - add r4, r8 - lsls r3, r5, 2 - mov r9, r2 - ldr r7, =0x0000643c - movs r6, 0x9B -_081CDB5C: - adds r0, r2, r5 - adds r0, r4, r0 - mov r1, r9 - strb r1, [r0] - lsls r0, r2, 2 - adds r0, r3 - add r0, r8 - adds r1, r0, r7 - strh r6, [r1] - ldr r1, =0x0000643e - adds r0, r1 - movs r1, 0x5B - strh r1, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x4 - bls _081CDB5C -_081CDB80: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CDA1C - - thumb_func_start sub_81CDB98 -sub_81CDB98: @ 81CDB98 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - movs r0, 0xB - bl GetSubstructPtr - adds r7, r0, 0 - movs r0, 0x12 - bl GetSubstructPtr - adds r4, r0, 0 - lsls r0, r6, 16 - asrs r5, r0, 16 - bl sub_81CDD5C - cmp r0, 0 - beq _081CDBCC - ldrh r0, [r4] - b _081CDBD0 -_081CDBCC: - ldrh r0, [r4] - subs r0, 0x1 -_081CDBD0: - cmp r5, r0 - beq _081CDC3E - lsls r0, r6, 16 - asrs r0, 14 - adds r0, r4, r0 - ldrb r5, [r0, 0x4] - ldrb r6, [r0, 0x5] - adds r0, r5, 0 - adds r1, r6, 0 - movs r2, 0x41 - movs r3, 0 - bl GetBoxOrPartyMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - adds r1, r6, 0 - movs r2, 0x1 - movs r3, 0 - bl GetBoxOrPartyMonData - mov r8, r0 - adds r0, r5, 0 - adds r1, r6, 0 - movs r2, 0 - movs r3, 0 - bl GetBoxOrPartyMonData - adds r5, r0, 0 - lsls r0, r4, 3 - ldr r1, =gMonFrontPicTable - adds r0, r1 - mov r2, r9 - lsls r1, r2, 13 - movs r2, 0xC0 - lsls r2, 2 - adds r1, r2 - adds r1, r7, r1 - movs r2, 0x1 - str r2, [sp] - adds r2, r4, 0 - adds r3, r5, 0 - bl LoadSpecialPokePic - adds r0, r4, 0 - mov r1, r8 - adds r2, r5, 0 - bl GetFrontSpritePalFromSpeciesAndPersonality - mov r2, r9 - lsls r1, r2, 7 - adds r1, r7, r1 - bl LZ77UnCompWram -_081CDC3E: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CDB98 - - thumb_func_start sub_81CDC50 -sub_81CDC50: @ 81CDC50 - push {lr} - movs r0, 0x12 - bl GetSubstructPtr - ldrh r0, [r0] - pop {r1} - bx r1 - thumb_func_end sub_81CDC50 - - thumb_func_start sub_81CDC60 -sub_81CDC60: @ 81CDC60 - push {lr} - movs r0, 0x12 - bl GetSubstructPtr - ldrh r0, [r0, 0x2] - pop {r1} - bx r1 - thumb_func_end sub_81CDC60 - - thumb_func_start sub_81CDC70 -sub_81CDC70: @ 81CDC70 - push {lr} - movs r0, 0xB - bl GetSubstructPtr - ldr r1, =0x00006428 - adds r0, r1 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CDC70 - - thumb_func_start sub_81CDC84 -sub_81CDC84: @ 81CDC84 - push {lr} - movs r0, 0xB - bl GetSubstructPtr - ldr r1, =0x00006786 - adds r0, r1 - ldrb r0, [r0] - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CDC84 - - thumb_func_start sub_81CDC9C -sub_81CDC9C: @ 81CDC9C - push {lr} - movs r0, 0xB - bl GetSubstructPtr - ldr r1, =0x00006302 - adds r0, r1 - ldrb r0, [r0] - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CDC9C - - thumb_func_start sub_81CDCB4 -sub_81CDCB4: @ 81CDCB4 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0xB - bl GetSubstructPtr - lsls r4, 13 - movs r1, 0xC0 - lsls r1, 2 - adds r4, r1 - adds r0, r4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CDCB4 - - thumb_func_start sub_81CDCD4 -sub_81CDCD4: @ 81CDCD4 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0xB - bl GetSubstructPtr - lsls r4, 7 - adds r0, r4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CDCD4 - - thumb_func_start sub_81CDCEC -sub_81CDCEC: @ 81CDCEC - push {lr} - movs r0, 0xB - bl GetSubstructPtr - ldr r1, =0x00006789 - adds r0, r1 - ldrb r0, [r0] - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CDCEC - - thumb_func_start sub_81CDD04 -sub_81CDD04: @ 81CDD04 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0xB - bl GetSubstructPtr - lsls r4, 6 - ldr r1, =0x00006368 - adds r4, r1 - adds r0, r4 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CDD04 - - thumb_func_start sub_81CDD24 -sub_81CDD24: @ 81CDD24 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0xB - bl GetSubstructPtr - lsls r1, r4, 1 - adds r1, r4 - lsls r1, 3 - ldr r2, =0x00006320 - adds r1, r2 - adds r0, r1 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CDD24 - - thumb_func_start sub_81CDD48 -sub_81CDD48: @ 81CDD48 - push {lr} - movs r0, 0x12 - bl GetSubstructPtr - ldrh r1, [r0, 0x2] - lsls r1, 2 - adds r0, r1 - ldrh r0, [r0, 0x6] - pop {r1} - bx r1 - thumb_func_end sub_81CDD48 - - thumb_func_start sub_81CDD5C -sub_81CDD5C: @ 81CDD5C - push {lr} - movs r0, 0xB - bl GetSubstructPtr - movs r1, 0xC6 - lsls r1, 7 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - beq _081CDD74 - movs r0, 0 - b _081CDD76 -_081CDD74: - movs r0, 0x1 -_081CDD76: - pop {r1} - bx r1 - thumb_func_end sub_81CDD5C - - thumb_func_start sub_81CDD7C -sub_81CDD7C: @ 81CDD7C - push {lr} - movs r0, 0xB - bl GetSubstructPtr - adds r2, r0, 0 - movs r1, 0xC6 - lsls r1, 7 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x1 - beq _081CDD96 - movs r0, 0 - b _081CDDA6 -_081CDD96: - ldr r3, =0x00006786 - adds r0, r2, r3 - movs r1, 0 - ldrsb r1, [r0, r1] - subs r3, 0x3 - adds r0, r2, r3 - adds r0, r1 - ldrb r0, [r0] -_081CDDA6: - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CDD7C - - thumb_func_start sub_81CDDB0 -sub_81CDDB0: @ 81CDDB0 - push {lr} - movs r0, 0xB - bl GetSubstructPtr - ldr r2, =0x00006786 - adds r1, r0, r2 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - subs r2, 0x6 - adds r0, r2 - adds r0, r1 - ldrb r0, [r0] - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CDDB0 - - thumb_func_start sub_81CDDD4 -sub_81CDDD4: @ 81CDDD4 - push {r4,lr} - ldr r1, =0x000038ac - movs r0, 0xC - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081CDE24 - ldr r0, =0x00001816 - adds r1, r4, r0 - movs r0, 0xFF - strb r0, [r1] - ldr r0, =sub_81CDE94 - movs r1, 0x1 - bl sub_81C7078 - str r0, [r4] - ldr r0, =0x00001810 - adds r1, r4, r0 - ldr r0, =sub_81CDE80 - str r0, [r1] - ldr r0, =0x00002908 - adds r1, r4, r0 - movs r0, 0 - strb r0, [r1] - movs r0, 0x1 - b _081CDE26 - .pool -_081CDE24: - movs r0, 0 -_081CDE26: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CDDD4 - - thumb_func_start sub_81CDE2C -sub_81CDE2C: @ 81CDE2C - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0xC - bl GetSubstructPtr - adds r5, r0, 0 - ldr r0, =gUnknown_08623384 - lsls r4, 2 - adds r4, r0 - ldr r0, [r4] - movs r1, 0x1 - bl sub_81C7078 - str r0, [r5] - ldr r0, =0x00001810 - adds r5, r0 - ldr r0, =sub_81CDE80 - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CDE2C - - thumb_func_start sub_81CDE64 -sub_81CDE64: @ 81CDE64 - push {lr} - movs r0, 0xC - bl GetSubstructPtr - ldr r1, =0x00001810 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CDE64 - - thumb_func_start sub_81CDE80 -sub_81CDE80: @ 81CDE80 - push {lr} - movs r0, 0xC - bl GetSubstructPtr - ldr r0, [r0] - bl sub_81C70D8 - pop {r1} - bx r1 - thumb_func_end sub_81CDE80 - - thumb_func_start sub_81CDE94 -sub_81CDE94: @ 81CDE94 - push {r4-r6,lr} - sub sp, 0xC - adds r4, r0, 0 - movs r0, 0xC - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x14 - bls _081CDEA8 - b _081CE2C4 -_081CDEA8: - lsls r0, r4, 2 - ldr r1, =_081CDEB8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081CDEB8: - .4byte _081CDF0C - .4byte _081CDF18 - .4byte _081CDF94 - .4byte _081CDFB8 - .4byte _081CE030 - .4byte _081CE074 - .4byte _081CE0B0 - .4byte _081CE118 - .4byte _081CE120 - .4byte _081CE126 - .4byte _081CE136 - .4byte _081CE146 - .4byte _081CE156 - .4byte _081CE16C - .4byte _081CE1C8 - .4byte _081CE1EC - .4byte _081CE218 - .4byte _081CE23C - .4byte _081CE24A - .4byte _081CE25A - .4byte _081CE262 -_081CDF0C: - bl sub_81CD3C4 - cmp r0, 0x1 - beq _081CDF16 - b _081CE2C0 -_081CDF16: - b _081CDFB0 -_081CDF18: - ldr r0, =gUnknown_08623358 - movs r1, 0x3 - bl InitBgTemplates - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - ldr r1, =0x00007940 - movs r0, 0 - bl SetGpuReg - ldr r1, =0x00000844 - movs r0, 0x50 - bl SetGpuReg - ldr r1, =0x0000040b - movs r0, 0x52 - bl SetGpuReg - ldr r1, =gPokenavCondition_Gfx - movs r0, 0 - str r0, [sp] - movs r0, 0x3 - b _081CDFA8 - .pool -_081CDF94: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _081CDFA2 - b _081CE2C0 -_081CDFA2: - ldr r1, =gUnknown_08623228 - str r0, [sp] - movs r0, 0x2 -_081CDFA8: - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram -_081CDFB0: - movs r0, 0 - b _081CE2C6 - .pool -_081CDFB8: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - beq _081CDFC4 - b _081CE2C0 -_081CDFC4: - ldr r0, =gPokenavCondition_Tilemap - adds r4, r5, 0x4 - adds r1, r4, 0 - bl LZ77UnCompVram - movs r0, 0x3 - adds r1, r4, 0 - bl SetBgTilemapBuffer - bl sub_81CDD5C - cmp r0, 0x1 - bne _081CDFF2 - ldr r1, =gPokenavOptions_Tilemap - movs r0, 0x9 - str r0, [sp] - movs r0, 0x4 - str r0, [sp, 0x4] - movs r0, 0x3 - movs r2, 0 - movs r3, 0x5 - bl CopyToBgTilemapBufferRect -_081CDFF2: - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - ldr r0, =gPokenavCondition_Pal - movs r1, 0x10 - movs r2, 0x20 - bl CopyPaletteIntoBufferUnfaded - ldr r0, =gUnknown_08623208 - movs r1, 0xF0 - movs r2, 0x20 - bl CopyPaletteIntoBufferUnfaded - ldr r0, =0x00001814 - adds r1, r5, r0 - ldr r0, =0x0000ffb0 - strh r0, [r1] - b _081CDFB0 - .pool -_081CE030: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - beq _081CE03C - b _081CE2C0 -_081CE03C: - ldr r0, =gUnknown_0862323C - ldr r1, =0x00001004 - adds r4, r5, r1 - adds r1, r4, 0 - bl LZ77UnCompVram - movs r0, 0x2 - adds r1, r4, 0 - bl SetBgTilemapBuffer - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - ldr r0, =gUnknown_086231E8 - movs r1, 0x30 - movs r2, 0x20 - bl CopyPaletteIntoBufferUnfaded - movs r0, 0x2 - bl sub_81D21DC - b _081CDFB0 - .pool -_081CE074: - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0x1 - bl sub_8199DF0 - movs r0, 0x1 - movs r1, 0x11 - movs r2, 0x1 - movs r3, 0x1 - bl sub_8199DF0 - movs r0, 0 - str r0, [sp, 0x8] - ldr r2, =0x00000804 - adds r4, r5, r2 - ldr r2, =0x05000200 - add r0, sp, 0x8 - adds r1, r4, 0 - bl CpuSet - movs r0, 0x1 - adds r1, r4, 0 - bl SetBgTilemapBuffer - b _081CDFB0 - .pool -_081CE0B0: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - beq _081CE0BC - b _081CE2C0 -_081CE0BC: - ldr r0, =gUnknown_08623364 - bl AddWindow - movs r2, 0xC1 - lsls r2, 5 - adds r1, r5, r2 - strb r0, [r1] - bl sub_81CDD5C - cmp r0, 0x1 - bne _081CE0F6 - ldr r0, =gUnknown_0862336C - bl AddWindow - ldr r2, =0x00001821 - adds r1, r5, r2 - strb r0, [r1] - ldr r0, =gUnknown_08623374 - bl AddWindow - ldr r2, =0x00001822 - adds r1, r5, r2 - strb r0, [r1] - ldr r0, =gUnknown_0862337C - bl AddWindow - ldr r2, =0x00001823 - adds r1, r5, r2 - strb r0, [r1] -_081CE0F6: - bl DeactivateAllTextPrinters - b _081CDFB0 - .pool -_081CE118: - movs r0, 0 - bl sub_81CED30 - b _081CDFB0 -_081CE120: - bl sub_81CE9E4 - b _081CDFB0 -_081CE126: - bl sub_81CDD5C - cmp r0, 0x1 - beq _081CE130 - b _081CDFB0 -_081CE130: - bl sub_81CE934 - b _081CDFB0 -_081CE136: - bl sub_81CDC84 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 8 - lsrs r1, 16 - movs r0, 0 - b _081CE164 -_081CE146: - bl sub_81CDC84 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 8 - lsrs r1, 16 - movs r0, 0x1 - b _081CE164 -_081CE156: - bl sub_81CDC84 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 8 - lsrs r1, 16 - movs r0, 0x2 -_081CE164: - movs r2, 0x1 - bl sub_81CE754 - b _081CDFB0 -_081CE16C: - bl sub_81CDC84 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 8 - lsrs r1, 16 - movs r0, 0x3 - movs r2, 0x1 - bl sub_81CE754 - cmp r0, 0x1 - beq _081CE186 - b _081CE2C0 -_081CE186: - movs r1, 0xC1 - lsls r1, 5 - adds r0, r5, r1 - ldrb r0, [r0] - bl PutWindowTilemap - bl sub_81CDD5C - cmp r0, 0x1 - beq _081CE19C - b _081CDFB0 -_081CE19C: - ldr r2, =0x00001821 - adds r0, r5, r2 - ldrb r0, [r0] - bl PutWindowTilemap - ldr r1, =0x00001822 - adds r0, r5, r1 - ldrb r0, [r0] - bl PutWindowTilemap - ldr r2, =0x00001823 - adds r0, r5, r2 - ldrb r0, [r0] - bl PutWindowTilemap - b _081CDFB0 - .pool -_081CE1C8: - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl HideBg - movs r0, 0x3 - bl ShowBg - bl sub_81CDD5C - cmp r0, 0x1 - beq _081CE1E4 - b _081CDFB0 -_081CE1E4: - movs r0, 0x4 - bl sub_81C7BA4 - b _081CDFB0 -_081CE1EC: - movs r0, 0x1 - bl sub_81C7AC0 - bl sub_81CDD5C - cmp r0, 0 - beq _081CE1FC - b _081CDFB0 -_081CE1FC: - movs r0, 0x6 - bl sub_81C7DFC - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0 - bl sub_81C7FA0 - movs r0, 0x6 - movs r1, 0x1 - movs r2, 0 - bl sub_81C7FA0 - b _081CDFB0 -_081CE218: - bl IsPaletteFadeActive - cmp r0, 0 - bne _081CE2C0 - bl sub_81CDD5C - cmp r0, 0 - bne _081CE230 - bl sub_81C8010 - cmp r0, 0 - bne _081CE2C0 -_081CE230: - ldr r0, =sub_81CEE44 - bl SetVBlankCallback_ - b _081CDFB0 - .pool -_081CE23C: - bl sub_81CEE90 - bl sub_81CDC70 - bl sub_81D20AC - b _081CDFB0 -_081CE24A: - bl sub_81CDC70 - bl sub_81D20BC - lsls r0, 24 - cmp r0, 0 - bne _081CE2C0 - b _081CDFB0 -_081CE25A: - movs r0, 0x1 - bl sub_81CEE74 - b _081CDFB0 -_081CE262: - bl sub_81CDC70 - ldr r2, =0x00001814 - adds r1, r5, r2 - bl sub_81D3178 - lsls r0, 24 - cmp r0, 0 - bne _081CE2C0 - ldr r0, =0x000028e0 - adds r6, r5, r0 - adds r0, r6, 0 - bl sub_81D3464 - bl sub_81CDD5C - cmp r0, 0x1 - beq _081CE298 - bl sub_81CDC60 - adds r4, r0, 0 - bl sub_81CDC50 - lsls r4, 16 - lsls r0, 16 - cmp r4, r0 - beq _081CE2C4 -_081CE298: - ldr r1, =0x00001816 - adds r0, r5, r1 - ldrb r4, [r0] - bl sub_81CDDB0 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_81D3480 - b _081CE2C4 - .pool -_081CE2C0: - movs r0, 0x2 - b _081CE2C6 -_081CE2C4: - movs r0, 0x4 -_081CE2C6: - add sp, 0xC - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81CDE94 - - thumb_func_start sub_81CE2D0 -sub_81CE2D0: @ 81CE2D0 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0xC - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x1 - beq _081CE308 - cmp r4, 0x1 - bgt _081CE2EA - cmp r4, 0 - beq _081CE2F4 - b _081CE374 -_081CE2EA: - cmp r4, 0x2 - beq _081CE328 - cmp r4, 0x3 - beq _081CE33E - b _081CE374 -_081CE2F4: - bl sub_81CEEC8 - ldr r1, =0x000028e0 - adds r0, r5, r1 - bl sub_81D3520 - movs r0, 0x1 - b _081CE376 - .pool -_081CE308: - bl sub_81CDC70 - ldr r2, =0x00001814 - adds r1, r5, r2 - bl sub_81D31A4 - lsls r0, 24 - cmp r0, 0 - bne _081CE34E - movs r0, 0 - bl sub_81CEE74 - movs r0, 0x1 - b _081CE376 - .pool -_081CE328: - movs r0, 0 - bl sub_81C7AC0 - bl sub_81CDD5C - cmp r0, 0 - bne _081CE33A - bl sub_81C78A0 -_081CE33A: - movs r0, 0 - b _081CE376 -_081CE33E: - bl IsPaletteFadeActive - cmp r0, 0 - bne _081CE34E - bl sub_81C78C0 - cmp r0, 0 - beq _081CE352 -_081CE34E: - movs r0, 0x2 - b _081CE376 -_081CE352: - ldr r1, =0x000028e0 - adds r0, r5, r1 - bl sub_81D354C - movs r0, 0x1 - bl HideBg - movs r0, 0x2 - bl HideBg - movs r0, 0x3 - bl HideBg - movs r0, 0x1 - b _081CE376 - .pool -_081CE374: - movs r0, 0x4 -_081CE376: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CE2D0 - - thumb_func_start sub_81CE37C -sub_81CE37C: @ 81CE37C - push {r4-r6,lr} - adds r4, r0, 0 - movs r0, 0xC - bl GetSubstructPtr - adds r6, r0, 0 - bl sub_81CDC70 - adds r2, r0, 0 - cmp r4, 0x9 - bls _081CE394 - b _081CE4D0 -_081CE394: - lsls r0, r4, 2 - ldr r1, =_081CE3A4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081CE3A4: - .4byte _081CE3CC - .4byte _081CE3D0 - .4byte _081CE3DA - .4byte _081CE3F0 - .4byte _081CE3F8 - .4byte _081CE418 - .4byte _081CE428 - .4byte _081CE438 - .4byte _081CE44E - .4byte _081CE468 -_081CE3CC: - movs r0, 0 - b _081CE3D2 -_081CE3D0: - movs r0, 0x1 -_081CE3D2: - bl sub_81CD548 -_081CE3D6: - movs r0, 0x1 - b _081CE4D2 -_081CE3DA: - movs r0, 0x2 - bl sub_81CD548 - ldr r1, =0x000028e0 - adds r0, r6, r1 - bl sub_81D3520 - b _081CE3D6 - .pool -_081CE3F0: - adds r0, r2, 0 - bl sub_81D2074 - b _081CE3D6 -_081CE3F8: - ldr r1, =0x00001814 - adds r0, r6, r1 - bl sub_81D3150 - lsls r0, 24 - cmp r0, 0 - bne _081CE4CC - bl sub_81CDC84 - lsls r0, 24 - lsrs r0, 24 - bl sub_81CED30 - b _081CE3D6 - .pool -_081CE418: - bl sub_81CDC84 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 8 - lsrs r1, 16 - movs r0, 0 - b _081CE446 -_081CE428: - bl sub_81CDC84 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 8 - lsrs r1, 16 - movs r0, 0x1 - b _081CE446 -_081CE438: - bl sub_81CDC84 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 8 - lsrs r1, 16 - movs r0, 0x2 -_081CE446: - movs r2, 0 - bl sub_81CE754 - b _081CE3D6 -_081CE44E: - bl sub_81CDC84 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 8 - lsrs r1, 16 - movs r0, 0x3 - movs r2, 0 - bl sub_81CE754 - cmp r0, 0x1 - beq _081CE3D6 - b _081CE4CC -_081CE468: - bl sub_81CDC70 - adds r2, r0, 0 - ldr r0, =0x00001814 - adds r1, r6, r0 - adds r0, r2, 0 - bl sub_81D3178 - lsls r0, 24 - cmp r0, 0 - bne _081CE4CC - ldr r1, =0x000028e0 - adds r0, r6, r1 - bl sub_81D3464 - bl sub_81CDD5C - cmp r0, 0x1 - beq _081CE4A0 - bl sub_81CDC60 - adds r4, r0, 0 - bl sub_81CDC50 - lsls r4, 16 - lsls r0, 16 - cmp r4, r0 - beq _081CE3D6 -_081CE4A0: - ldr r0, =0x000028e0 - adds r5, r6, r0 - ldr r1, =0x00001816 - adds r0, r6, r1 - ldrb r4, [r0] - bl sub_81CDDB0 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_81D3480 - b _081CE3D6 - .pool -_081CE4CC: - movs r0, 0x2 - b _081CE4D2 -_081CE4D0: - movs r0, 0x4 -_081CE4D2: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81CE37C - - thumb_func_start sub_81CE4D8 -sub_81CE4D8: @ 81CE4D8 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0xC - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x8 - bhi _081CE5DC - lsls r0, r4, 2 - ldr r1, =_081CE4F8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081CE4F8: - .4byte _081CE51C - .4byte _081CE520 - .4byte _081CE524 - .4byte _081CE52E - .4byte _081CE53E - .4byte _081CE54E - .4byte _081CE55E - .4byte _081CE576 - .4byte _081CE592 -_081CE51C: - movs r0, 0 - b _081CE526 -_081CE520: - movs r0, 0x1 - b _081CE526 -_081CE524: - movs r0, 0x2 -_081CE526: - bl sub_81CD548 - movs r0, 0x1 - b _081CE5DE -_081CE52E: - bl sub_81CDC84 - lsls r0, 24 - lsrs r0, 24 - bl sub_81CED30 - movs r0, 0x1 - b _081CE5DE -_081CE53E: - bl sub_81CDC84 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 8 - lsrs r1, 16 - movs r0, 0 - b _081CE56C -_081CE54E: - bl sub_81CDC84 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 8 - lsrs r1, 16 - movs r0, 0x1 - b _081CE56C -_081CE55E: - bl sub_81CDC84 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 8 - lsrs r1, 16 - movs r0, 0x2 -_081CE56C: - movs r2, 0 - bl sub_81CE754 - movs r0, 0x1 - b _081CE5DE -_081CE576: - bl sub_81CDC84 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 8 - lsrs r1, 16 - movs r0, 0x3 - movs r2, 0 - bl sub_81CE754 - cmp r0, 0x1 - bne _081CE5D8 - movs r0, 0x1 - b _081CE5DE -_081CE592: - bl sub_81CDC70 - ldr r2, =0x00001814 - adds r1, r5, r2 - bl sub_81D3178 - lsls r0, 24 - cmp r0, 0 - bne _081CE5D8 - ldr r0, =0x000028e0 - adds r4, r5, r0 - adds r0, r4, 0 - bl sub_81D3464 - ldr r1, =0x00001816 - adds r0, r5, r1 - ldrb r5, [r0] - bl sub_81CDDB0 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_81D3480 - movs r0, 0x1 - b _081CE5DE - .pool -_081CE5D8: - movs r0, 0x2 - b _081CE5DE -_081CE5DC: - movs r0, 0x4 -_081CE5DE: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CE4D8 - - thumb_func_start sub_81CE5E4 -sub_81CE5E4: @ 81CE5E4 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0xC - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x7 - bhi _081CE6B2 - lsls r0, r4, 2 - ldr r1, =_081CE604 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081CE604: - .4byte _081CE624 - .4byte _081CE628 - .4byte _081CE632 - .4byte _081CE648 - .4byte _081CE660 - .4byte _081CE670 - .4byte _081CE680 - .4byte _081CE696 -_081CE624: - movs r0, 0 - b _081CE62A -_081CE628: - movs r0, 0x1 -_081CE62A: - bl sub_81CD548 -_081CE62E: - movs r0, 0x1 - b _081CE6B4 -_081CE632: - movs r0, 0x2 - bl sub_81CD548 - ldr r1, =0x000028e0 - adds r0, r5, r1 - bl sub_81D3520 - b _081CE62E - .pool -_081CE648: - bl sub_81CDC70 - ldr r2, =0x00001814 - adds r1, r5, r2 - bl sub_81D31A4 - lsls r0, 24 - cmp r0, 0 - beq _081CE62E - b _081CE6AE - .pool -_081CE660: - bl sub_81CDC84 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 8 - lsrs r1, 16 - movs r0, 0 - b _081CE68E -_081CE670: - bl sub_81CDC84 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 8 - lsrs r1, 16 - movs r0, 0x1 - b _081CE68E -_081CE680: - bl sub_81CDC84 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 8 - lsrs r1, 16 - movs r0, 0x2 -_081CE68E: - movs r2, 0 - bl sub_81CE754 - b _081CE62E -_081CE696: - bl sub_81CDC84 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 8 - lsrs r1, 16 - movs r0, 0x3 - movs r2, 0 - bl sub_81CE754 - cmp r0, 0x1 - beq _081CE62E -_081CE6AE: - movs r0, 0x2 - b _081CE6B4 -_081CE6B2: - movs r0, 0x4 -_081CE6B4: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CE5E4 - - thumb_func_start sub_81CE6BC -sub_81CE6BC: @ 81CE6BC - push {lr} - cmp r0, 0x1 - beq _081CE6E6 - cmp r0, 0x1 - bgt _081CE6CC - cmp r0, 0 - beq _081CE6D2 - b _081CE6FA -_081CE6CC: - cmp r0, 0x2 - beq _081CE6EE - b _081CE6FA -_081CE6D2: - bl sub_81CDD7C - lsls r0, 24 - lsrs r0, 24 - movs r1, 0xB0 - movs r2, 0x20 - bl sub_811FAA4 -_081CE6E2: - movs r0, 0x1 - b _081CE6FC -_081CE6E6: - movs r0, 0x5 - bl sub_81C7BA4 - b _081CE6E2 -_081CE6EE: - bl IsDma3ManagerBusyWithBgCopy_ - cmp r0, 0x1 - bne _081CE6E2 - movs r0, 0x2 - b _081CE6FC -_081CE6FA: - movs r0, 0x4 -_081CE6FC: - pop {r1} - bx r1 - thumb_func_end sub_81CE6BC - - thumb_func_start sub_81CE700 -sub_81CE700: @ 81CE700 - push {lr} - cmp r0, 0x1 - beq _081CE71E - cmp r0, 0x1 - bgt _081CE710 - cmp r0, 0 - beq _081CE716 - b _081CE732 -_081CE710: - cmp r0, 0x2 - beq _081CE726 - b _081CE732 -_081CE716: - bl sub_811FAF8 -_081CE71A: - movs r0, 0x1 - b _081CE734 -_081CE71E: - movs r0, 0x4 - bl sub_81C7BA4 - b _081CE71A -_081CE726: - bl IsDma3ManagerBusyWithBgCopy_ - cmp r0, 0x1 - bne _081CE71A - movs r0, 0x2 - b _081CE734 -_081CE732: - movs r0, 0x4 -_081CE734: - pop {r1} - bx r1 - thumb_func_end sub_81CE700 - - thumb_func_start sub_81CE738 -sub_81CE738: @ 81CE738 - push {lr} - lsls r1, 16 - lsrs r1, 16 - movs r2, 0x1 - movs r3, 0x4 - bl ConvertIntToDecimalStringN - ldr r1, =gText_Number2 - bl StringCopy - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CE738 - - thumb_func_start sub_81CE754 -sub_81CE754: @ 81CE754 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x2C - lsls r0, 24 - lsrs r4, r0, 24 - adds r7, r4, 0 - lsls r1, 16 - lsrs r1, 16 - mov r8, r1 - lsls r2, 24 - lsrs r5, r2, 24 - movs r0, 0xC - bl GetSubstructPtr - adds r6, r0, 0 - cmp r4, 0x1 - beq _081CE7B8 - cmp r4, 0x1 - bgt _081CE782 - cmp r4, 0 - beq _081CE78E - b _081CE924 -_081CE782: - cmp r4, 0x2 - beq _081CE800 - cmp r4, 0x3 - bne _081CE78C - b _081CE89C -_081CE78C: - b _081CE924 -_081CE78E: - movs r1, 0xC1 - lsls r1, 5 - adds r0, r6, r1 - ldrb r0, [r0] - movs r1, 0 - bl FillWindowPixelBuffer - bl sub_81CDD5C - cmp r0, 0x1 - beq _081CE7A6 - b _081CE924 -_081CE7A6: - ldr r1, =0x00001821 - adds r0, r6, r1 - ldrb r0, [r0] - movs r1, 0 - bl FillWindowPixelBuffer - b _081CE924 - .pool -_081CE7B8: - bl sub_81CDC60 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - bl sub_81CDC50 - lsls r0, 16 - lsrs r0, 16 - subs r0, 0x1 - cmp r4, r0 - bne _081CE7DA - bl sub_81CDD5C - cmp r0, 0x1 - beq _081CE7DA - b _081CE924 -_081CE7DA: - mov r1, r8 - lsls r0, r1, 24 - lsrs r0, 24 - bl sub_81CDD04 - adds r2, r0, 0 - movs r1, 0xC1 - lsls r1, 5 - adds r0, r6, r1 - ldrb r0, [r0] - str r7, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - b _081CE924 -_081CE800: - bl sub_81CDD5C - adds r7, r0, 0 - cmp r7, 0x1 - beq _081CE80C - b _081CE924 -_081CE80C: - mov r1, r8 - lsls r0, r1, 24 - lsrs r0, 24 - bl sub_81CDD24 - adds r2, r0, 0 - movs r1, 0xC1 - lsls r1, 5 - adds r0, r6, r1 - ldrb r0, [r0] - movs r1, 0x11 - str r1, [sp] - movs r4, 0 - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - add r1, sp, 0xC - movs r0, 0xFC - strb r0, [r1] - movs r0, 0x4 - strb r0, [r1, 0x1] - movs r0, 0x8 - strb r0, [r1, 0x2] - adds r0, r1, 0 - strb r4, [r0, 0x3] - movs r0, 0x9 - strb r0, [r1, 0x4] - mov r5, sp - adds r5, 0x11 - ldr r1, =gText_Number2 - adds r0, r5, 0 - bl StringCopy - ldr r0, =0x00001821 - adds r6, r0 - ldrb r0, [r6] - str r7, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x1 - add r2, sp, 0xC - movs r3, 0x4 - bl AddTextPrinterParameterized - bl sub_81CDD48 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r5, 0 - movs r2, 0x1 - movs r3, 0x4 - bl ConvertIntToDecimalStringN - ldrb r0, [r6] - str r7, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x1 - add r2, sp, 0xC - movs r3, 0x1C - bl AddTextPrinterParameterized - b _081CE924 - .pool -_081CE89C: - ldr r1, =0x00002908 - adds r0, r6, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _081CE8B0 - cmp r0, 0x1 - beq _081CE8EC - b _081CE924 - .pool -_081CE8B0: - cmp r5, 0 - beq _081CE8C4 - movs r1, 0xC1 - lsls r1, 5 - adds r0, r6, r1 - ldrb r0, [r0] - movs r1, 0x3 - bl CopyWindowToVram - b _081CE8D2 -_081CE8C4: - movs r1, 0xC1 - lsls r1, 5 - adds r0, r6, r1 - ldrb r0, [r0] - movs r1, 0x2 - bl CopyWindowToVram -_081CE8D2: - bl sub_81CDD5C - cmp r0, 0x1 - bne _081CE910 - ldr r0, =0x00002908 - adds r1, r6, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _081CE924 - .pool -_081CE8EC: - cmp r5, 0 - beq _081CE904 - ldr r1, =0x00001821 - adds r0, r6, r1 - ldrb r0, [r0] - movs r1, 0x3 - bl CopyWindowToVram - b _081CE910 - .pool -_081CE904: - ldr r1, =0x00001821 - adds r0, r6, r1 - ldrb r0, [r0] - movs r1, 0x2 - bl CopyWindowToVram -_081CE910: - ldr r0, =0x00002908 - adds r1, r6, r0 - movs r0, 0 - strb r0, [r1] - movs r0, 0x1 - b _081CE926 - .pool -_081CE924: - movs r0, 0 -_081CE926: - add sp, 0x2C - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81CE754 - - thumb_func_start sub_81CE934 -sub_81CE934: @ 81CE934 - push {r4,lr} - movs r0, 0xC - bl GetSubstructPtr - adds r4, r0, 0 - ldr r1, =0x00001822 - adds r0, r4, r1 - ldrb r0, [r0] - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, =0x00001823 - adds r4, r0 - ldrb r0, [r4] - movs r1, 0x3 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CE934 - - thumb_func_start sub_81CE964 -sub_81CE964: @ 81CE964 - push {r4,r5,lr} - adds r5, r0, 0 - movs r0, 0x2E - ldrsh r4, [r5, r0] - bl sub_81CDC60 - lsls r0, 16 - lsrs r0, 16 - cmp r4, r0 - bne _081CE982 - adds r0, r5, 0 - movs r1, 0 - bl StartSpriteAnim - b _081CE98A -_081CE982: - adds r0, r5, 0 - movs r1, 0x1 - bl StartSpriteAnim -_081CE98A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81CE964 - - thumb_func_start sub_81CE990 -sub_81CE990: @ 81CE990 - push {r4,r5,lr} - adds r5, r0, 0 - bl sub_81CDC60 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - bl sub_81CDC50 - lsls r0, 16 - lsrs r0, 16 - subs r0, 0x1 - cmp r4, r0 - bne _081CE9B0 - movs r0, 0x65 - b _081CE9B2 -_081CE9B0: - movs r0, 0x66 -_081CE9B2: - bl IndexOfSpritePaletteTag - lsls r0, 4 - ldrb r2, [r5, 0x5] - movs r1, 0xF - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0x5] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81CE990 - - thumb_func_start sub_81CE9C8 -sub_81CE9C8: @ 81CE9C8 - push {r4,lr} - adds r4, r0, 0 - bl sub_81CDD7C - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81CE9C8 - - thumb_func_start sub_81CE9E4 -sub_81CE9E4: @ 81CE9E4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x58 - movs r0, 0xC - bl GetSubstructPtr - adds r6, r0, 0 - add r4, sp, 0x20 - add r5, sp, 0x38 - mov r0, sp - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_81D321C - bl sub_81CDD5C - adds r7, r4, 0 - mov r10, r5 - cmp r0, 0x1 - bne _081CEA78 - ldr r1, =0x00001824 - adds r0, r6, r1 - movs r2, 0x6A - strh r2, [r0] - ldr r3, =0x00001826 - adds r1, r6, r3 - strh r2, [r1] - bl sub_811F90C - bl sub_811FA90 - ldr r2, =gUnknown_08623338 - movs r0, 0x69 - movs r1, 0x69 - bl sub_811FF94 - ldrb r1, [r0, 0x5] - movs r2, 0xC - orrs r1, r2 - strb r1, [r0, 0x5] - movs r1, 0xC0 - strh r1, [r0, 0x20] - movs r1, 0x20 - strh r1, [r0, 0x22] - ldr r1, =sub_81CE9C8 - str r1, [r0, 0x1C] - ldr r2, =0x000028dc - adds r1, r6, r2 - str r0, [r1] - movs r0, 0x69 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl sub_81C7990 - add r3, sp, 0x50 - mov r8, r3 - b _081CEBC6 - .pool -_081CEA78: - mov r0, sp - bl LoadSpriteSheets - mov r0, r10 - bl sub_81C795C - movs r4, 0 - add r0, sp, 0x50 - mov r8, r0 - b _081CEAE8 -_081CEA8C: - lsls r2, r4, 2 - adds r2, r4 - lsls r2, 18 - movs r1, 0x80 - lsls r1, 12 - adds r2, r1 - asrs r2, 16 - adds r0, r7, 0 - movs r1, 0xE2 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x40 - beq _081CEAD8 - ldr r2, =0x00001806 - adds r0, r6, r2 - adds r0, r4 - strb r3, [r0] - ldr r2, =gSprites - lsls r0, r3, 4 - adds r0, r3 - lsls r0, 2 - adds r1, r0, r2 - strh r4, [r1, 0x2E] - adds r2, 0x1C - adds r0, r2 - ldr r1, =sub_81CE964 - str r1, [r0] - b _081CEAE2 - .pool -_081CEAD8: - ldr r3, =0x00001806 - adds r0, r6, r3 - adds r0, r4 - movs r1, 0xFF - strb r1, [r0] -_081CEAE2: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 -_081CEAE8: - bl sub_81CDC50 - lsls r0, 16 - lsrs r0, 16 - subs r0, 0x1 - cmp r4, r0 - blt _081CEA8C - movs r0, 0x67 - strh r0, [r7] - ldr r0, =SpriteCallbackDummy - str r0, [r7, 0x14] - cmp r4, 0x5 - bhi _081CEB5C - ldr r0, =0x00001806 - adds r5, r6, r0 - ldr r1, =gSprites - mov r9, r1 -_081CEB0A: - lsls r2, r4, 2 - adds r2, r4 - lsls r2, 18 - movs r3, 0x80 - lsls r3, 12 - adds r2, r3 - asrs r2, 16 - adds r0, r7, 0 - movs r1, 0xE6 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x40 - beq _081CEB4C - adds r0, r5, r4 - strb r3, [r0] - lsls r1, r3, 4 - adds r1, r3 - lsls r1, 2 - add r1, r9 - ldrb r2, [r1, 0x3] - movs r0, 0x3F - ands r0, r2 - strb r0, [r1, 0x3] - b _081CEB52 - .pool -_081CEB4C: - adds r1, r5, r4 - movs r0, 0xFF - strb r0, [r1] -_081CEB52: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x5 - bls _081CEB0A -_081CEB5C: - movs r0, 0x66 - strh r0, [r7] - ldr r0, =sub_81CE990 - str r0, [r7, 0x14] - lsls r2, r4, 2 - adds r2, r4 - lsls r2, 18 - movs r0, 0x80 - lsls r0, 12 - adds r2, r0 - asrs r2, 16 - adds r0, r7, 0 - movs r1, 0xDE - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x40 - beq _081CEBBC - ldr r1, =0x00001806 - adds r0, r6, r1 - adds r0, r4 - strb r3, [r0] - ldr r0, =gSprites - lsls r2, r3, 4 - adds r2, r3 - lsls r2, 2 - adds r2, r0 - ldrb r3, [r2, 0x1] - movs r1, 0x3F - adds r0, r1, 0 - ands r0, r3 - movs r3, 0x40 - orrs r0, r3 - strb r0, [r2, 0x1] - ldrb r0, [r2, 0x3] - ands r1, r0 - movs r0, 0x80 - orrs r1, r0 - strb r1, [r2, 0x3] - b _081CEBC6 - .pool -_081CEBBC: - ldr r2, =0x00001806 - adds r0, r6, r2 - adds r0, r4 - movs r1, 0xFF - strb r1, [r0] -_081CEBC6: - mov r0, r8 - mov r1, r10 - bl sub_81D32B0 - mov r0, r8 - bl LoadSpriteSheet - movs r0, 0 - mov r3, r10 - str r0, [r3, 0x8] - mov r0, r10 - bl sub_81C795C - add sp, 0x58 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CE9E4 - - thumb_func_start sub_81CEBF4 -sub_81CEBF4: @ 81CEBF4 - push {r4,r5,lr} - adds r5, r0, 0 - bl sub_81CDD5C - cmp r0, 0x1 - bne _081CEC28 - ldr r1, =0x000028dc - adds r0, r5, r1 - ldr r0, [r0] - bl DestroySprite - movs r0, 0x6A - bl FreeSpriteTilesByTag - movs r0, 0x69 - bl FreeSpriteTilesByTag - movs r0, 0x6A - bl FreeSpritePaletteByTag - movs r0, 0x69 - bl FreeSpritePaletteByTag - b _081CEC68 - .pool -_081CEC28: - movs r4, 0 -_081CEC2A: - ldr r1, =0x00001806 - adds r0, r5, r1 - adds r0, r4 - 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, 0x6 - bls _081CEC2A - movs r0, 0x65 - bl FreeSpriteTilesByTag - movs r0, 0x66 - bl FreeSpriteTilesByTag - movs r0, 0x67 - bl FreeSpriteTilesByTag - movs r0, 0x65 - bl FreeSpritePaletteByTag - movs r0, 0x66 - bl FreeSpritePaletteByTag -_081CEC68: - ldr r0, =0x00001816 - adds r1, r5, r0 - ldrb r0, [r1] - cmp r0, 0xFF - beq _081CEC8E - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySprite - movs r0, 0x64 - bl FreeSpriteTilesByTag - movs r0, 0x64 - bl FreeSpritePaletteByTag -_081CEC8E: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CEBF4 - - thumb_func_start sub_81CECA0 -sub_81CECA0: @ 81CECA0 - push {r4,lr} - movs r0, 0xC - bl GetSubstructPtr - adds r4, r0, 0 - movs r1, 0xC1 - lsls r1, 5 - adds r0, r4, r1 - ldrb r0, [r0] - bl RemoveWindow - bl sub_81CDD5C - cmp r0, 0x1 - bne _081CECEC - ldr r1, =0x00001821 - adds r0, r4, r1 - ldrb r0, [r0] - bl RemoveWindow - ldr r1, =0x00001822 - adds r0, r4, r1 - ldrb r0, [r0] - bl RemoveWindow - ldr r1, =0x00001823 - adds r0, r4, r1 - ldrb r0, [r0] - bl RemoveWindow - b _081CECF0 - .pool -_081CECEC: - bl sub_81C7FDC -_081CECF0: - movs r1, 0x8A - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - adds r0, r4, 0 - bl sub_81CEBF4 - bl sub_81CEE68 - movs r0, 0xC - bl FreeSubstruct - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81CECA0 - - thumb_func_start sub_81CED10 -sub_81CED10: @ 81CED10 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0xC - bl GetSubstructPtr - ldr r1, =0x00001814 - adds r0, r1 - ldrh r0, [r0] - adds r0, 0x26 - strh r0, [r4, 0x20] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CED10 - - thumb_func_start sub_81CED30 -sub_81CED30: @ 81CED30 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x28 - lsls r0, 24 - lsrs r6, r0, 24 - movs r0, 0xC - bl GetSubstructPtr - mov r8, r0 - ldr r7, =0x00001816 - add r7, r8 - ldrb r0, [r7] - cmp r0, 0xFF - bne _081CEDFC - add r5, sp, 0x18 - add r4, sp, 0x20 - adds r0, r5, 0 - mov r1, sp - adds r2, r4, 0 - bl sub_81D31D0 - adds r0, r6, 0 - bl sub_81CDCB4 - str r0, [sp, 0x18] - adds r0, r6, 0 - bl sub_81CDCD4 - str r0, [sp, 0x20] - adds r0, r4, 0 - bl LoadSpritePalette - lsls r0, 24 - lsrs r0, 24 - ldr r4, =0x00001818 - add r4, r8 - strh r0, [r4] - adds r0, r5, 0 - bl LoadSpriteSheet - ldr r5, =0x0000181a - add r5, r8 - strh r0, [r5] - mov r0, sp - movs r1, 0x26 - movs r2, 0x68 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strb r0, [r7] - cmp r0, 0x40 - bne _081CEDBC - movs r0, 0x64 - bl FreeSpriteTilesByTag - movs r0, 0x64 - bl FreeSpritePaletteByTag - movs r0, 0xFF - strb r0, [r7] - b _081CEE26 - .pool -_081CEDBC: - strb r0, [r7] - ldr r2, =gSprites - ldrb r1, [r7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, =sub_81CED10 - str r1, [r0] - ldr r1, =0x0000181c - add r1, r8 - ldrh r0, [r5] - lsls r0, 5 - ldr r2, =0x06010000 - adds r0, r2 - str r0, [r1] - ldrh r0, [r4] - lsls r0, 4 - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - strh r0, [r4] - b _081CEE26 - .pool -_081CEDFC: - adds r0, r6, 0 - bl sub_81CDCB4 - ldr r1, =0x0000181c - add r1, r8 - ldr r2, [r1] - ldr r1, =0x040000d4 - str r0, [r1] - str r2, [r1, 0x4] - ldr r0, =0x80000400 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r0, r6, 0 - bl sub_81CDCD4 - ldr r1, =0x00001818 - add r1, r8 - ldrh r1, [r1] - movs r2, 0x20 - bl LoadPalette -_081CEE26: - add sp, 0x28 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CED30 - - thumb_func_start sub_81CEE44 -sub_81CEE44: @ 81CEE44 - push {r4,lr} - bl sub_81CDC70 - adds r4, r0, 0 - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - adds r0, r4, 0 - bl sub_81D2108 - bl ScanlineEffect_InitHBlankDmaTransfer - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81CEE44 - - thumb_func_start sub_81CEE68 -sub_81CEE68: @ 81CEE68 - push {lr} - bl SetPokenavVBlankCallback - pop {r0} - bx r0 - thumb_func_end sub_81CEE68 - - thumb_func_start sub_81CEE74 -sub_81CEE74: @ 81CEE74 - push {lr} - lsls r0, 24 - cmp r0, 0 - beq _081CEE84 - movs r0, 0x2 - bl ShowBg - b _081CEE8A -_081CEE84: - movs r0, 0x2 - bl HideBg -_081CEE8A: - pop {r0} - bx r0 - thumb_func_end sub_81CEE74 - - thumb_func_start sub_81CEE90 -sub_81CEE90: @ 81CEE90 - push {r4,lr} - bl sub_81CDC70 - adds r4, r0, 0 - bl sub_81CDC84 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_030012BC - strb r0, [r1] - adds r1, r4, 0 - adds r1, 0x50 - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 2 - adds r2, 0x14 - adds r2, r4, r2 - adds r0, r4, 0 - bl sub_81D1F84 - adds r0, r4, 0 - bl sub_81D2074 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CEE90 - - thumb_func_start sub_81CEEC8 -sub_81CEEC8: @ 81CEEC8 - push {r4,r5,lr} - bl sub_81CDC70 - adds r5, r0, 0 - bl sub_81CDD5C - cmp r0, 0 - bne _081CEEF0 - bl sub_81CDC60 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - bl sub_81CDC50 - lsls r0, 16 - lsrs r0, 16 - subs r0, 0x1 - cmp r4, r0 - beq _081CEF0C -_081CEEF0: - bl sub_81CDC84 - lsls r0, 24 - asrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, 0x14 - adds r1, r5, r1 - adds r2, r5, 0 - adds r2, 0x50 - adds r0, r5, 0 - bl sub_81D1F84 -_081CEF0C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81CEEC8 - - thumb_func_start sub_81CEF14 -sub_81CEF14: @ 81CEF14 - push {r4,lr} - movs r0, 0xC - bl GetSubstructPtr - adds r4, r0, 0 - bl sub_81CDD5C - cmp r0, 0x1 - beq _081CEF2A - movs r0, 0 - b _081CEF30 -_081CEF2A: - ldr r1, =0x00001828 - adds r0, r4, r1 - ldrb r0, [r0] -_081CEF30: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CEF14 - - thumb_func_start sub_81CEF3C -sub_81CEF3C: @ 81CEF3C - push {r4,lr} - movs r0, 0x7 - movs r1, 0x24 - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081CEF90 - ldr r1, =0x000006ac - movs r0, 0x12 - bl AllocSubstruct - str r0, [r4, 0x20] - cmp r0, 0 - beq _081CEF90 - ldr r0, =sub_81CF010 - str r0, [r4] - ldr r0, =sub_81CF11C - movs r1, 0x1 - bl sub_81C7078 - str r0, [r4, 0x4] - movs r0, 0 - str r0, [r4, 0x18] - bl sub_81C76AC - ldr r1, =gUnknown_086233A0 - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - str r0, [r4, 0x14] - movs r0, 0x1 - b _081CEF92 - .pool -_081CEF90: - movs r0, 0 -_081CEF92: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CEF3C - - thumb_func_start sub_81CEF98 -sub_81CEF98: @ 81CEF98 - push {r4,lr} - movs r0, 0x7 - movs r1, 0x24 - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081CEFD4 - movs r0, 0x12 - bl GetSubstructPtr - str r0, [r4, 0x20] - ldr r0, =sub_81CF030 - str r0, [r4] - movs r0, 0x1 - str r0, [r4, 0x18] - bl sub_81C76AC - ldr r1, =gUnknown_086233A0 - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - str r0, [r4, 0x14] - movs r0, 0x1 - b _081CEFD6 - .pool -_081CEFD4: - movs r0, 0 -_081CEFD6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CEF98 - - thumb_func_start sub_81CEFDC -sub_81CEFDC: @ 81CEFDC - push {lr} - movs r0, 0x7 - bl GetSubstructPtr - ldr r1, [r0] - bl _call_via_r1 - pop {r1} - bx r1 - thumb_func_end sub_81CEFDC - - thumb_func_start sub_81CEFF0 -sub_81CEFF0: @ 81CEFF0 - push {lr} - movs r0, 0x7 - bl GetSubstructPtr - ldr r0, [r0, 0x1C] - cmp r0, 0 - bne _081CF004 - movs r0, 0x12 - bl FreeSubstruct -_081CF004: - movs r0, 0x7 - bl FreeSubstruct - pop {r0} - bx r0 - thumb_func_end sub_81CEFF0 - - thumb_func_start sub_81CF010 -sub_81CF010: @ 81CF010 - push {r4,lr} - adds r4, r0, 0 - ldr r0, [r4, 0x4] - bl sub_81C70D8 - cmp r0, 0 - bne _081CF022 - ldr r0, =sub_81CF030 - str r0, [r4] -_081CF022: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CF010 - - thumb_func_start sub_81CF030 -sub_81CF030: @ 81CF030 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r2, =gMain - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _081CF048 - movs r0, 0x1 - b _081CF0A6 - .pool -_081CF048: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081CF054 - movs r0, 0x2 - b _081CF0A6 -_081CF054: - ldrh r1, [r2, 0x2E] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _081CF062 - movs r0, 0x3 - b _081CF0A6 -_081CF062: - movs r0, 0x10 - ands r0, r1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0 - beq _081CF072 - movs r0, 0x4 - b _081CF0A6 -_081CF072: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081CF088 - str r2, [r4, 0x1C] - ldr r0, =sub_81CF0B0 - str r0, [r4] - movs r0, 0x5 - b _081CF0A6 - .pool -_081CF088: - movs r5, 0x1 - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - bne _081CF096 - movs r0, 0 - b _081CF0A6 -_081CF096: - bl sub_81C875C - ldr r1, [r4, 0x20] - strh r0, [r1, 0x2] - str r5, [r4, 0x1C] - ldr r0, =sub_81CF0B8 - str r0, [r4] - movs r0, 0x6 -_081CF0A6: - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CF030 - - thumb_func_start sub_81CF0B0 -sub_81CF0B0: @ 81CF0B0 - ldr r0, =0x000186a3 - bx lr - .pool - thumb_func_end sub_81CF0B0 - - thumb_func_start sub_81CF0B8 -sub_81CF0B8: @ 81CF0B8 - ldr r0, =0x000186a9 - bx lr - .pool - thumb_func_end sub_81CF0B8 - - thumb_func_start sub_81CF0C0 -sub_81CF0C0: @ 81CF0C0 - push {lr} - movs r0, 0x7 - bl GetSubstructPtr - ldr r0, [r0, 0x18] - pop {r1} - bx r1 - thumb_func_end sub_81CF0C0 - - thumb_func_start sub_81CF0D0 -sub_81CF0D0: @ 81CF0D0 - push {lr} - movs r0, 0x7 - bl GetSubstructPtr - ldr r0, [r0, 0x20] - adds r0, 0x4 - pop {r1} - bx r1 - thumb_func_end sub_81CF0D0 - - thumb_func_start sub_81CF0E0 -sub_81CF0E0: @ 81CF0E0 - push {lr} - movs r0, 0x7 - bl GetSubstructPtr - ldr r0, [r0, 0x20] - ldrh r0, [r0] - pop {r1} - bx r1 - thumb_func_end sub_81CF0E0 - - thumb_func_start sub_81CF0F0 -sub_81CF0F0: @ 81CF0F0 - push {r4,lr} - movs r0, 0x7 - bl GetSubstructPtr - adds r4, r0, 0 - bl sub_81C875C - ldr r1, [r4, 0x20] - lsls r0, 2 - adds r1, r0 - ldrh r0, [r1, 0x6] - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CF0F0 - - thumb_func_start sub_81CF10C -sub_81CF10C: @ 81CF10C - push {lr} - movs r0, 0x7 - bl GetSubstructPtr - ldr r0, [r0, 0x20] - ldrh r0, [r0, 0x2] - pop {r1} - bx r1 - thumb_func_end sub_81CF10C - - thumb_func_start sub_81CF11C -sub_81CF11C: @ 81CF11C - push {lr} - ldr r2, =gUnknown_086233B4 - lsls r1, r0, 2 - adds r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CF11C - - thumb_func_start sub_81CF134 -sub_81CF134: @ 81CF134 - push {r4-r6,lr} - sub sp, 0x4 - movs r0, 0x7 - bl GetSubstructPtr - adds r6, r0, 0 - ldr r0, [r6, 0x20] - movs r1, 0 - strh r1, [r0] - ldr r0, [r6, 0x20] - strh r1, [r0, 0x2] - ldr r1, =0xffffff00 - ldr r0, [sp] - ands r0, r1 - movs r1, 0xE - orrs r0, r1 - str r0, [sp] - movs r5, 0 -_081CF158: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x5 - bl GetMonData - cmp r0, 0 - beq _081CF1AA - adds r0, r4, 0 - movs r1, 0x6 - bl GetMonData - cmp r0, 0 - bne _081CF1A4 - lsls r1, r5, 24 - lsrs r1, 16 - ldr r2, =0xffff00ff - ldr r0, [sp] - ands r0, r2 - orrs r0, r1 - str r0, [sp] - ldr r1, [r6, 0x14] - adds r0, r4, 0 - bl GetMonData - lsls r0, 16 - ldr r2, =0x0000ffff - ldr r1, [sp] - ands r1, r2 - orrs r1, r0 - str r1, [sp] - adds r0, r6, 0 - mov r1, sp - bl sub_81CF2C4 -_081CF1A4: - adds r5, 0x1 - cmp r5, 0x5 - ble _081CF158 -_081CF1AA: - movs r0, 0x1 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CF134 - - thumb_func_start sub_81CF1C4 -sub_81CF1C4: @ 81CF1C4 - push {lr} - movs r0, 0x7 - bl GetSubstructPtr - movs r1, 0 - str r1, [r0, 0x10] - str r1, [r0, 0xC] - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end sub_81CF1C4 - - thumb_func_start sub_81CF1D8 -sub_81CF1D8: @ 81CF1D8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - movs r0, 0x7 - bl GetSubstructPtr - adds r6, r0, 0 - ldr r5, [r6, 0xC] - ldr r4, [r6, 0x10] - movs r0, 0 - mov r8, r0 - cmp r5, 0xD - bgt _081CF268 -_081CF1F4: - cmp r4, 0x1D - bgt _081CF260 - lsls r0, r5, 24 - lsrs r7, r0, 24 -_081CF1FC: - adds r0, r5, 0 - adds r1, r4, 0 - bl CheckBoxMonSanityAt - cmp r0, 0 - beq _081CF23A - ldr r1, =0xffffff00 - ldr r0, [sp] - ands r0, r1 - orrs r0, r7 - lsls r1, r4, 24 - lsrs r1, 24 - lsls r3, r1, 8 - ldr r2, =0xffff00ff - ands r0, r2 - orrs r0, r3 - str r0, [sp] - ldr r2, [r6, 0x14] - adds r0, r7, 0 - bl GetBoxMonDataAt - lsls r0, 16 - ldr r2, =0x0000ffff - ldr r1, [sp] - ands r1, r2 - orrs r1, r0 - str r1, [sp] - adds r0, r6, 0 - mov r1, sp - bl sub_81CF2C4 -_081CF23A: - movs r0, 0x1 - add r8, r0 - adds r4, 0x1 - mov r0, r8 - cmp r0, 0xE - ble _081CF25C - str r5, [r6, 0xC] - str r4, [r6, 0x10] - movs r0, 0x3 - b _081CF26A - .pool -_081CF25C: - cmp r4, 0x1D - ble _081CF1FC -_081CF260: - movs r4, 0 - adds r5, 0x1 - cmp r5, 0xD - ble _081CF1F4 -_081CF268: - movs r0, 0x1 -_081CF26A: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81CF1D8 - - thumb_func_start sub_81CF278 -sub_81CF278: @ 81CF278 - push {r4-r6,lr} - movs r0, 0x7 - bl GetSubstructPtr - adds r5, r0, 0 - ldr r0, [r5, 0x20] - ldrh r6, [r0] - ldrh r4, [r0, 0x6] - movs r1, 0x1 - strh r1, [r0, 0x6] - movs r3, 0x1 - cmp r3, r6 - bge _081CF2B8 -_081CF292: - ldr r2, [r5, 0x20] - lsls r0, r3, 2 - adds r1, r2, r0 - ldrh r0, [r1, 0x6] - cmp r0, r4 - bne _081CF2AC - subs r0, r3, 0x1 - lsls r0, 2 - adds r0, r2, r0 - ldrh r0, [r0, 0x6] - strh r0, [r1, 0x6] - adds r0, r3, 0x1 - b _081CF2B2 -_081CF2AC: - adds r4, r0, 0 - adds r0, r3, 0x1 - strh r0, [r1, 0x6] -_081CF2B2: - adds r3, r0, 0 - cmp r3, r6 - blt _081CF292 -_081CF2B8: - movs r0, 0x1 - str r0, [r5, 0x18] - movs r0, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81CF278 - - thumb_func_start sub_81CF2C4 -sub_81CF2C4: @ 81CF2C4 - push {r4-r7,lr} - adds r5, r0, 0 - adds r7, r1, 0 - movs r1, 0 - ldr r0, [r5, 0x20] - ldrh r2, [r0] - lsrs r3, r2, 1 - cmp r2, r3 - beq _081CF2F4 - adds r6, r0, 0 - ldrh r4, [r7, 0x2] -_081CF2DA: - lsls r0, r3, 2 - adds r0, r6, r0 - ldrh r0, [r0, 0x6] - cmp r4, r0 - bls _081CF2E8 - adds r2, r3, 0 - b _081CF2EA -_081CF2E8: - adds r1, r3, 0x1 -_081CF2EA: - subs r0, r2, r1 - lsrs r0, 1 - adds r3, r1, r0 - cmp r2, r3 - bne _081CF2DA -_081CF2F4: - ldr r0, [r5, 0x20] - ldrh r2, [r0] - lsls r6, r3, 2 - cmp r2, r3 - bls _081CF318 - lsls r0, r2, 2 - subs r4, r0, 0x4 -_081CF302: - ldr r0, [r5, 0x20] - lsls r1, r2, 2 - adds r0, 0x4 - adds r1, r0, r1 - adds r0, r4 - ldr r0, [r0] - str r0, [r1] - subs r4, 0x4 - subs r2, 0x1 - cmp r2, r3 - bhi _081CF302 -_081CF318: - ldr r0, [r5, 0x20] - adds r0, 0x4 - adds r0, r6 - ldr r1, [r7] - str r1, [r0] - ldr r1, [r5, 0x20] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81CF2C4 - - thumb_func_start sub_81CF330 -sub_81CF330: @ 81CF330 - push {r4,lr} - movs r1, 0x81 - lsls r1, 4 - movs r0, 0x8 - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081CF360 - ldr r0, =sub_81CF418 - movs r1, 0x1 - bl sub_81C7078 - str r0, [r4, 0x4] - ldr r0, =sub_81CF3E4 - str r0, [r4] - movs r0, 0 - str r0, [r4, 0xC] - movs r0, 0x1 - b _081CF362 - .pool -_081CF360: - movs r0, 0 -_081CF362: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CF330 - - thumb_func_start sub_81CF368 -sub_81CF368: @ 81CF368 - push {r4,lr} - movs r1, 0x81 - lsls r1, 4 - movs r0, 0x8 - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081CF398 - ldr r0, =sub_81CF418 - movs r1, 0x1 - bl sub_81C7078 - str r0, [r4, 0x4] - ldr r0, =sub_81CF3E4 - str r0, [r4] - movs r0, 0x1 - str r0, [r4, 0xC] - b _081CF39A - .pool -_081CF398: - movs r0, 0 -_081CF39A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CF368 - - thumb_func_start sub_81CF3A0 -sub_81CF3A0: @ 81CF3A0 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x8 - bl GetSubstructPtr - adds r5, r0, 0 - ldr r0, =gUnknown_08623598 - lsls r4, 2 - adds r4, r0 - ldr r0, [r4] - movs r1, 0x1 - bl sub_81C7078 - str r0, [r5, 0x4] - ldr r0, =sub_81CF3E4 - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CF3A0 - - thumb_func_start sub_81CF3D0 -sub_81CF3D0: @ 81CF3D0 - push {lr} - movs r0, 0x8 - bl GetSubstructPtr - ldr r0, [r0] - bl _call_via_r0 - pop {r1} - bx r1 - thumb_func_end sub_81CF3D0 - - thumb_func_start sub_81CF3E4 -sub_81CF3E4: @ 81CF3E4 - push {lr} - movs r0, 0x8 - bl GetSubstructPtr - ldr r0, [r0, 0x4] - bl sub_81C70D8 - pop {r1} - bx r1 - thumb_func_end sub_81CF3E4 - - thumb_func_start sub_81CF3F8 -sub_81CF3F8: @ 81CF3F8 - push {r4,lr} - movs r0, 0x8 - bl GetSubstructPtr - adds r4, r0, 0 - bl sub_81C8234 - ldrb r0, [r4, 0x8] - bl RemoveWindow - movs r0, 0x8 - bl FreeSubstruct - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81CF3F8 - - thumb_func_start sub_81CF418 -sub_81CF418: @ 81CF418 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - movs r0, 0x8 - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x5 - bls _081CF42C - b _081CF56E -_081CF42C: - lsls r0, r4, 2 - ldr r1, =_081CF43C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081CF43C: - .4byte _081CF454 - .4byte _081CF4AC - .4byte _081CF4C0 - .4byte _081CF4E0 - .4byte _081CF4F6 - .4byte _081CF55A -_081CF454: - ldr r0, =gUnknown_08623590 - movs r1, 0x2 - bl InitBgTemplates - ldr r1, =gUnknown_086233E4 - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - adds r1, r5, 0 - adds r1, 0x10 - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, =gUnknown_086234AC - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - ldr r0, =gUnknown_086233C4 - movs r1, 0x10 - movs r2, 0x20 - bl CopyPaletteIntoBufferUnfaded - movs r0, 0x1 - bl CopyBgTilemapBufferToVram -_081CF498: - movs r0, 0 - b _081CF570 - .pool -_081CF4AC: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - bne _081CF56A - bl sub_81CF0C0 - cmp r0, 0 - beq _081CF56A - b _081CF498 -_081CF4C0: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - bne _081CF56A - ldr r0, =gUnknown_08623570 - movs r1, 0x20 - movs r2, 0x20 - bl CopyPaletteIntoBufferUnfaded - bl sub_81CF88C - b _081CF498 - .pool -_081CF4E0: - bl sub_81C8224 - cmp r0, 0 - bne _081CF56A - adds r0, r5, 0 - bl sub_81CF7C8 - movs r0, 0x3 - bl sub_81C7BA4 - b _081CF498 -_081CF4F6: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - bne _081CF56A - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl HideBg - ldr r0, [r5, 0xC] - cmp r0, 0 - bne _081CF552 - bl sub_81C76AC - adds r4, r0, 0 - adds r4, 0x8 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_81C7DFC - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0 - bl sub_81C7FA0 - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0 - bl sub_81C7FA0 -_081CF552: - movs r0, 0x1 - bl sub_81C7AC0 - b _081CF498 -_081CF55A: - bl IsPaletteFadeActive - cmp r0, 0 - bne _081CF56A - bl sub_81C8010 - cmp r0, 0 - beq _081CF56E -_081CF56A: - movs r0, 0x2 - b _081CF570 -_081CF56E: - movs r0, 0x4 -_081CF570: - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CF418 - - thumb_func_start sub_81CF578 -sub_81CF578: @ 81CF578 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x8 - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x1 - beq _081CF5C6 - cmp r4, 0x1 - bgt _081CF592 - cmp r4, 0 - beq _081CF59C - b _081CF5E6 -_081CF592: - cmp r4, 0x2 - beq _081CF5CE - cmp r4, 0x3 - beq _081CF5D8 - b _081CF5E6 -_081CF59C: - bl sub_81C8658 - cmp r0, 0x1 - beq _081CF5B4 - cmp r0, 0x1 - bgt _081CF5AE - cmp r0, 0 - beq _081CF5E6 - b _081CF5D4 -_081CF5AE: - cmp r0, 0x2 - beq _081CF5BE - b _081CF5D4 -_081CF5B4: - movs r0, 0x5 - bl PlaySE - movs r0, 0x7 - b _081CF5E8 -_081CF5BE: - movs r0, 0x5 - bl PlaySE - b _081CF5D4 -_081CF5C6: - bl sub_81C8630 - cmp r0, 0 - bne _081CF5E2 -_081CF5CE: - adds r0, r5, 0 - bl sub_81CF7F4 -_081CF5D4: - movs r0, 0 - b _081CF5E8 -_081CF5D8: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081CF5E6 -_081CF5E2: - movs r0, 0x2 - b _081CF5E8 -_081CF5E6: - movs r0, 0x4 -_081CF5E8: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CF578 - - thumb_func_start sub_81CF5F0 -sub_81CF5F0: @ 81CF5F0 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x8 - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x1 - beq _081CF63E - cmp r4, 0x1 - bgt _081CF60A - cmp r4, 0 - beq _081CF614 - b _081CF65E -_081CF60A: - cmp r4, 0x2 - beq _081CF646 - cmp r4, 0x3 - beq _081CF650 - b _081CF65E -_081CF614: - bl sub_81C868C - cmp r0, 0x1 - beq _081CF62C - cmp r0, 0x1 - bgt _081CF626 - cmp r0, 0 - beq _081CF65E - b _081CF64C -_081CF626: - cmp r0, 0x2 - beq _081CF636 - b _081CF64C -_081CF62C: - movs r0, 0x5 - bl PlaySE - movs r0, 0x7 - b _081CF660 -_081CF636: - movs r0, 0x5 - bl PlaySE - b _081CF64C -_081CF63E: - bl sub_81C8630 - cmp r0, 0 - bne _081CF65A -_081CF646: - adds r0, r5, 0 - bl sub_81CF7F4 -_081CF64C: - movs r0, 0 - b _081CF660 -_081CF650: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081CF65E -_081CF65A: - movs r0, 0x2 - b _081CF660 -_081CF65E: - movs r0, 0x4 -_081CF660: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CF5F0 - - thumb_func_start sub_81CF668 -sub_81CF668: @ 81CF668 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x8 - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x1 - beq _081CF6B6 - cmp r4, 0x1 - bgt _081CF682 - cmp r4, 0 - beq _081CF68C - b _081CF6D6 -_081CF682: - cmp r4, 0x2 - beq _081CF6BE - cmp r4, 0x3 - beq _081CF6C8 - b _081CF6D6 -_081CF68C: - bl sub_81C86CC - cmp r0, 0x1 - beq _081CF6A4 - cmp r0, 0x1 - bgt _081CF69E - cmp r0, 0 - beq _081CF6D6 - b _081CF6C4 -_081CF69E: - cmp r0, 0x2 - beq _081CF6AE - b _081CF6C4 -_081CF6A4: - movs r0, 0x5 - bl PlaySE - movs r0, 0x7 - b _081CF6D8 -_081CF6AE: - movs r0, 0x5 - bl PlaySE - b _081CF6C4 -_081CF6B6: - bl sub_81C8630 - cmp r0, 0 - bne _081CF6D2 -_081CF6BE: - adds r0, r5, 0 - bl sub_81CF7F4 -_081CF6C4: - movs r0, 0 - b _081CF6D8 -_081CF6C8: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081CF6D6 -_081CF6D2: - movs r0, 0x2 - b _081CF6D8 -_081CF6D6: - movs r0, 0x4 -_081CF6D8: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CF668 - - thumb_func_start sub_81CF6E0 -sub_81CF6E0: @ 81CF6E0 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x8 - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x1 - beq _081CF72E - cmp r4, 0x1 - bgt _081CF6FA - cmp r4, 0 - beq _081CF704 - b _081CF74E -_081CF6FA: - cmp r4, 0x2 - beq _081CF736 - cmp r4, 0x3 - beq _081CF740 - b _081CF74E -_081CF704: - bl sub_81C870C - cmp r0, 0x1 - beq _081CF71C - cmp r0, 0x1 - bgt _081CF716 - cmp r0, 0 - beq _081CF74E - b _081CF73C -_081CF716: - cmp r0, 0x2 - beq _081CF726 - b _081CF73C -_081CF71C: - movs r0, 0x5 - bl PlaySE - movs r0, 0x7 - b _081CF750 -_081CF726: - movs r0, 0x5 - bl PlaySE - b _081CF73C -_081CF72E: - bl sub_81C8630 - cmp r0, 0 - bne _081CF74A -_081CF736: - adds r0, r5, 0 - bl sub_81CF7F4 -_081CF73C: - movs r0, 0 - b _081CF750 -_081CF740: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081CF74E -_081CF74A: - movs r0, 0x2 - b _081CF750 -_081CF74E: - movs r0, 0x4 -_081CF750: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CF6E0 - - thumb_func_start sub_81CF758 -sub_81CF758: @ 81CF758 - push {lr} - cmp r0, 0 - beq _081CF764 - cmp r0, 0x1 - beq _081CF778 - b _081CF790 -_081CF764: - movs r0, 0x5 - bl PlaySE - movs r0, 0 - bl sub_81C7AC0 - bl sub_81C78A0 - movs r0, 0 - b _081CF792 -_081CF778: - bl IsPaletteFadeActive - cmp r0, 0 - bne _081CF788 - bl sub_81C78C0 - cmp r0, 0 - beq _081CF78C -_081CF788: - movs r0, 0x2 - b _081CF792 -_081CF78C: - bl sub_81C7FDC -_081CF790: - movs r0, 0x4 -_081CF792: - pop {r1} - bx r1 - thumb_func_end sub_81CF758 - - thumb_func_start sub_81CF798 -sub_81CF798: @ 81CF798 - push {lr} - cmp r0, 0 - beq _081CF7A4 - cmp r0, 0x1 - beq _081CF7B4 - b _081CF7C0 -_081CF7A4: - movs r0, 0x5 - bl PlaySE - movs r0, 0 - bl sub_81C7AC0 - movs r0, 0 - b _081CF7C2 -_081CF7B4: - bl IsPaletteFadeActive - cmp r0, 0 - beq _081CF7C0 - movs r0, 0x2 - b _081CF7C2 -_081CF7C0: - movs r0, 0x4 -_081CF7C2: - pop {r1} - bx r1 - thumb_func_end sub_81CF798 - - thumb_func_start sub_81CF7C8 -sub_81CF7C8: @ 81CF7C8 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gUnknown_086235B4 - bl AddWindow - strh r0, [r4, 0x8] - lsls r0, 24 - lsrs r0, 24 - bl PutWindowTilemap - ldrb r0, [r4, 0x8] - movs r1, 0x1 - bl CopyWindowToVram - adds r0, r4, 0 - bl sub_81CF7F4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CF7C8 - - thumb_func_start sub_81CF7F4 -sub_81CF7F4: @ 81CF7F4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - mov r8, r0 - bl sub_81CF0F0 - adds r7, r0, 0 - bl DynamicPlaceholderTextUtil_Reset - ldr r4, =gStringVar1 - movs r0, 0 - adds r1, r4, 0 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr - movs r0, 0xFF - strb r0, [r4] - ldr r5, =gStringVar2 - ldr r1, =gText_NumberF700 - adds r0, r5, 0 - bl DynamicPlaceholderTextUtil_ExpandPlaceholders - mov r1, r8 - ldrb r0, [r1, 0x8] - movs r1, 0x1 - mov r10, r1 - str r1, [sp] - movs r1, 0xFF - mov r9, r1 - str r1, [sp, 0x4] - movs r6, 0 - str r6, [sp, 0x8] - movs r1, 0x1 - adds r2, r5, 0 - movs r3, 0x4 - bl AddTextPrinterParameterized - adds r0, r4, 0 - adds r1, r7, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - mov r1, r8 - ldrb r0, [r1, 0x8] - mov r1, r10 - str r1, [sp] - mov r1, r9 - str r1, [sp, 0x4] - str r6, [sp, 0x8] - movs r1, 0x1 - adds r2, r4, 0 - movs r3, 0x22 - bl AddTextPrinterParameterized - mov r1, r8 - ldrb r0, [r1, 0x8] - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CF7F4 - - thumb_func_start sub_81CF88C -sub_81CF88C: @ 81CF88C - push {r4,lr} - sub sp, 0x18 - bl sub_81CF0D0 - str r0, [sp] - bl sub_81CF0E0 - mov r1, sp - movs r4, 0 - strh r0, [r1, 0x4] - movs r0, 0x4 - strb r0, [r1, 0x8] - bl sub_81CF10C - mov r1, sp - strh r0, [r1, 0x6] - movs r0, 0xD - strb r0, [r1, 0x9] - movs r0, 0x11 - strb r0, [r1, 0xA] - mov r0, sp - movs r2, 0x1 - strb r2, [r0, 0xB] - movs r0, 0x8 - strb r0, [r1, 0xC] - movs r0, 0x2 - strb r0, [r1, 0xD] - mov r0, sp - strb r2, [r0, 0xE] - ldr r0, =sub_81CF8E4 - str r0, [sp, 0x10] - str r4, [sp, 0x14] - ldr r0, =gUnknown_08623594 - movs r2, 0 - bl sub_81C81D4 - add sp, 0x18 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CF88C - - thumb_func_start sub_81CF8E4 -sub_81CF8E4: @ 81CF8E4 - push {r4-r7,lr} - adds r2, r0, 0 - adds r6, r1, 0 - ldrb r0, [r2] - cmp r0, 0xE - bne _081CF924 - ldrb r1, [r2, 0x1] - movs r0, 0x64 - adds r4, r1, 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 - bl GetLevelFromMonExp - lsls r0, 24 - lsrs r7, r0, 24 - ldr r2, =gStringVar3 - adds r0, r4, 0 - movs r1, 0x2 - bl GetMonData - b _081CF94A - .pool -_081CF924: - ldrb r0, [r2] - ldrb r1, [r2, 0x1] - bl GetBoxedMonPtr - adds r4, r0, 0 - bl GetBoxMonGender - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r4, 0 - bl GetLevelFromBoxMonExp - lsls r0, 24 - lsrs r7, r0, 24 - ldr r2, =gStringVar3 - adds r0, r4, 0 - movs r1, 0x2 - bl GetBoxMonData -_081CF94A: - ldr r4, =gStringVar3 - adds r0, r4, 0 - bl StringGetEnd10 - adds r0, r6, 0 - movs r1, 0x1 - adds r2, r4, 0 - movs r3, 0x3C - bl sub_81DB494 - adds r6, r0, 0 - cmp r5, 0 - beq _081CF974 - cmp r5, 0xFE - beq _081CF97C - ldr r1, =gUnknown_086235D4 - b _081CF97E - .pool -_081CF974: - ldr r1, =gUnknown_086235BC - b _081CF97E - .pool -_081CF97C: - ldr r1, =gUnknown_086235C8 -_081CF97E: - ldr r4, =gStringVar1 - adds r0, r4, 0 - bl StringCopy - movs r1, 0xBA - strb r1, [r0] - adds r0, 0x1 - movs r1, 0xF9 - strb r1, [r0] - adds r0, 0x1 - movs r1, 0x5 - strb r1, [r0] - adds r0, 0x1 - adds r1, r7, 0 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r0, r6, 0 - movs r1, 0x1 - adds r2, r4, 0 - movs r3, 0x28 - bl sub_81DB494 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CF8E4 - - thumb_func_start sub_81CF9BC -sub_81CF9BC: @ 81CF9BC - push {r4,lr} - movs r0, 0x9 - movs r1, 0x20 - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081CF9FC - ldr r1, =0x000006ac - movs r0, 0x12 - bl AllocSubstruct - str r0, [r4, 0x1C] - cmp r0, 0 - beq _081CF9FC - ldr r0, =sub_81CFA68 - str r0, [r4] - ldr r0, =sub_81CFB74 - movs r1, 0x1 - bl sub_81C7078 - str r0, [r4, 0x4] - movs r0, 0 - str r0, [r4, 0x14] - movs r0, 0x1 - b _081CF9FE - .pool -_081CF9FC: - movs r0, 0 -_081CF9FE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CF9BC - - thumb_func_start sub_81CFA04 -sub_81CFA04: @ 81CFA04 - push {r4,lr} - movs r0, 0x9 - movs r1, 0x20 - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081CFA2C - movs r0, 0x12 - bl GetSubstructPtr - str r0, [r4, 0x1C] - ldr r0, =sub_81CFA88 - str r0, [r4] - movs r0, 0x1 - str r0, [r4, 0x14] - b _081CFA2E - .pool -_081CFA2C: - movs r0, 0 -_081CFA2E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CFA04 - - thumb_func_start sub_81CFA34 -sub_81CFA34: @ 81CFA34 - push {lr} - movs r0, 0x9 - bl GetSubstructPtr - ldr r1, [r0] - bl _call_via_r1 - pop {r1} - bx r1 - thumb_func_end sub_81CFA34 - - thumb_func_start sub_81CFA48 -sub_81CFA48: @ 81CFA48 - push {lr} - movs r0, 0x9 - bl GetSubstructPtr - ldr r0, [r0, 0x18] - cmp r0, 0 - bne _081CFA5C - movs r0, 0x12 - bl FreeSubstruct -_081CFA5C: - movs r0, 0x9 - bl FreeSubstruct - pop {r0} - bx r0 - thumb_func_end sub_81CFA48 - - thumb_func_start sub_81CFA68 -sub_81CFA68: @ 81CFA68 - push {r4,lr} - adds r4, r0, 0 - ldr r0, [r4, 0x4] - bl sub_81C70D8 - cmp r0, 0 - bne _081CFA7A - ldr r0, =sub_81CFA88 - str r0, [r4] -_081CFA7A: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CFA68 - - thumb_func_start sub_81CFA88 -sub_81CFA88: @ 81CFA88 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r2, =gMain - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _081CFAA0 - movs r0, 0x1 - b _081CFAFE - .pool -_081CFAA0: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081CFAAC - movs r0, 0x2 - b _081CFAFE -_081CFAAC: - ldrh r1, [r2, 0x2E] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _081CFABA - movs r0, 0x3 - b _081CFAFE -_081CFABA: - movs r0, 0x10 - ands r0, r1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0 - beq _081CFACA - movs r0, 0x4 - b _081CFAFE -_081CFACA: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081CFAE0 - str r2, [r4, 0x18] - ldr r0, =sub_81CFB08 - str r0, [r4] - movs r0, 0x5 - b _081CFAFE - .pool -_081CFAE0: - movs r5, 0x1 - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - bne _081CFAEE - movs r0, 0 - b _081CFAFE -_081CFAEE: - bl sub_81C875C - ldr r1, [r4, 0x1C] - strh r0, [r1, 0x2] - str r5, [r4, 0x18] - ldr r0, =sub_81CFB10 - str r0, [r4] - movs r0, 0x6 -_081CFAFE: - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CFA88 - - thumb_func_start sub_81CFB08 -sub_81CFB08: @ 81CFB08 - ldr r0, =0x000186a5 - bx lr - .pool - thumb_func_end sub_81CFB08 - - thumb_func_start sub_81CFB10 -sub_81CFB10: @ 81CFB10 - ldr r0, =0x000186ad - bx lr - .pool - thumb_func_end sub_81CFB10 - - thumb_func_start sub_81CFB18 -sub_81CFB18: @ 81CFB18 - push {lr} - movs r0, 0x9 - bl GetSubstructPtr - ldr r0, [r0, 0x14] - pop {r1} - bx r1 - thumb_func_end sub_81CFB18 - - thumb_func_start sub_81CFB28 -sub_81CFB28: @ 81CFB28 - push {lr} - movs r0, 0x9 - bl GetSubstructPtr - ldr r0, [r0, 0x1C] - adds r0, 0x4 - pop {r1} - bx r1 - thumb_func_end sub_81CFB28 - - thumb_func_start sub_81CFB38 -sub_81CFB38: @ 81CFB38 - push {lr} - movs r0, 0x9 - bl GetSubstructPtr - ldr r0, [r0, 0x1C] - ldrh r0, [r0] - pop {r1} - bx r1 - thumb_func_end sub_81CFB38 - - thumb_func_start sub_81CFB48 -sub_81CFB48: @ 81CFB48 - push {r4,lr} - movs r0, 0x9 - bl GetSubstructPtr - adds r4, r0, 0 - bl sub_81C875C - ldr r1, [r4, 0x1C] - lsls r0, 2 - adds r1, r0 - ldrh r0, [r1, 0x6] - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CFB48 - - thumb_func_start sub_81CFB64 -sub_81CFB64: @ 81CFB64 - push {lr} - movs r0, 0x9 - bl GetSubstructPtr - ldr r0, [r0, 0x1C] - ldrh r0, [r0, 0x2] - pop {r1} - bx r1 - thumb_func_end sub_81CFB64 - - thumb_func_start sub_81CFB74 -sub_81CFB74: @ 81CFB74 - push {lr} - ldr r2, =gUnknown_086235D8 - lsls r1, r0, 2 - adds r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CFB74 - - thumb_func_start sub_81CFB8C -sub_81CFB8C: @ 81CFB8C - push {r4-r6,lr} - sub sp, 0x4 - movs r0, 0x9 - bl GetSubstructPtr - adds r6, r0, 0 - ldr r0, [r6, 0x1C] - movs r1, 0 - strh r1, [r0] - ldr r0, [r6, 0x1C] - strh r1, [r0, 0x2] - ldr r1, =0xffffff00 - ldr r0, [sp] - ands r0, r1 - movs r1, 0xE - orrs r0, r1 - str r0, [sp] - movs r5, 0 -_081CFBB0: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x5 - bl GetMonData - cmp r0, 0 - beq _081CFC10 - adds r0, r4, 0 - movs r1, 0x6 - bl GetMonData - cmp r0, 0 - bne _081CFC0A - adds r0, r4, 0 - movs r1, 0x4 - bl GetMonData - cmp r0, 0 - bne _081CFC0A - adds r0, r4, 0 - movs r1, 0x52 - bl GetMonData - adds r3, r0, 0 - cmp r3, 0 - beq _081CFC0A - lsls r1, r5, 24 - lsrs r1, 16 - ldr r2, =0xffff00ff - ldr r0, [sp] - ands r0, r2 - orrs r0, r1 - lsls r2, r3, 16 - ldr r1, =0x0000ffff - ands r0, r1 - orrs r0, r2 - str r0, [sp] - adds r0, r6, 0 - mov r1, sp - bl sub_81CFCEC -_081CFC0A: - adds r5, 0x1 - cmp r5, 0x5 - ble _081CFBB0 -_081CFC10: - movs r0, 0x1 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81CFB8C - - thumb_func_start sub_81CFC2C -sub_81CFC2C: @ 81CFC2C - push {lr} - movs r0, 0x9 - bl GetSubstructPtr - movs r1, 0 - str r1, [r0, 0x10] - str r1, [r0, 0xC] - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end sub_81CFC2C - - thumb_func_start sub_81CFC40 -sub_81CFC40: @ 81CFC40 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - movs r0, 0x9 - bl GetSubstructPtr - mov r8, r0 - ldr r7, [r0, 0xC] - ldr r6, [r0, 0x10] - movs r0, 0 - mov r9, r0 - cmp r7, 0xD - bgt _081CFCD4 - b _081CFCC8 -_081CFC60: - adds r0, r7, 0 - adds r1, r6, 0 - bl CheckBoxMonSanityAt - cmp r0, 0 - beq _081CFCA6 - lsls r0, r7, 24 - lsrs r5, r0, 24 - lsls r0, r6, 24 - lsrs r4, r0, 24 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x52 - bl GetBoxMonDataAt - adds r3, r0, 0 - cmp r3, 0 - beq _081CFCA6 - ldr r1, =0xffffff00 - ldr r0, [sp] - ands r0, r1 - orrs r0, r5 - lsls r2, r4, 8 - ldr r1, =0xffff00ff - ands r0, r1 - orrs r0, r2 - lsls r2, r3, 16 - ldr r1, =0x0000ffff - ands r0, r1 - orrs r0, r2 - str r0, [sp] - mov r0, r8 - mov r1, sp - bl sub_81CFCEC -_081CFCA6: - movs r1, 0x1 - add r9, r1 - adds r6, 0x1 - mov r0, r9 - cmp r0, 0xE - ble _081CFCC8 - mov r1, r8 - str r7, [r1, 0xC] - str r6, [r1, 0x10] - movs r0, 0x3 - b _081CFCDC - .pool -_081CFCC8: - cmp r6, 0x1D - ble _081CFC60 - movs r6, 0 - adds r7, 0x1 - cmp r7, 0xD - ble _081CFCC8 -_081CFCD4: - movs r0, 0x1 - mov r1, r8 - str r0, [r1, 0x14] - movs r0, 0x4 -_081CFCDC: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81CFC40 - - thumb_func_start sub_81CFCEC -sub_81CFCEC: @ 81CFCEC - push {r4-r7,lr} - adds r5, r0, 0 - adds r7, r1, 0 - movs r1, 0 - ldr r0, [r5, 0x1C] - ldrh r2, [r0] - lsrs r3, r2, 1 - cmp r2, r3 - beq _081CFD1C - adds r6, r0, 0 - ldrh r4, [r7, 0x2] -_081CFD02: - lsls r0, r3, 2 - adds r0, r6, r0 - ldrh r0, [r0, 0x6] - cmp r4, r0 - bls _081CFD10 - adds r2, r3, 0 - b _081CFD12 -_081CFD10: - adds r1, r3, 0x1 -_081CFD12: - subs r0, r2, r1 - lsrs r0, 1 - adds r3, r1, r0 - cmp r2, r3 - bne _081CFD02 -_081CFD1C: - ldr r0, [r5, 0x1C] - ldrh r2, [r0] - lsls r6, r3, 2 - cmp r2, r3 - bls _081CFD40 - lsls r0, r2, 2 - subs r4, r0, 0x4 -_081CFD2A: - ldr r0, [r5, 0x1C] - lsls r1, r2, 2 - adds r0, 0x4 - adds r1, r0, r1 - adds r0, r4 - ldr r0, [r0] - str r0, [r1] - subs r4, 0x4 - subs r2, 0x1 - cmp r2, r3 - bhi _081CFD2A -_081CFD40: - ldr r0, [r5, 0x1C] - adds r0, 0x4 - adds r0, r6 - ldr r1, [r7] - str r1, [r0] - ldr r1, [r5, 0x1C] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81CFCEC - - thumb_func_start sub_81CFD58 -sub_81CFD58: @ 81CFD58 - push {r4-r6,lr} - movs r5, 0 -_081CFD5C: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x5 - bl GetMonData - cmp r0, 0 - beq _081CFD8A - adds r0, r4, 0 - movs r1, 0x6 - bl GetMonData - cmp r0, 0 - bne _081CFD8A - adds r0, r4, 0 - movs r1, 0x53 - bl GetMonData - cmp r0, 0 - bne _081CFDB2 -_081CFD8A: - adds r5, 0x1 - cmp r5, 0x5 - ble _081CFD5C - movs r5, 0 -_081CFD92: - movs r4, 0 - lsls r6, r5, 24 -_081CFD96: - adds r0, r5, 0 - adds r1, r4, 0 - bl CheckBoxMonSanityAt - cmp r0, 0 - beq _081CFDBC - lsls r1, r4, 24 - lsrs r1, 24 - lsrs r0, r6, 24 - movs r2, 0x53 - bl GetBoxMonDataAt - cmp r0, 0 - beq _081CFDBC -_081CFDB2: - movs r0, 0x1 - b _081CFDCA - .pool -_081CFDBC: - adds r4, 0x1 - cmp r4, 0x1D - ble _081CFD96 - adds r5, 0x1 - cmp r5, 0xD - ble _081CFD92 - movs r0, 0 -_081CFDCA: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81CFD58 - - thumb_func_start sub_81CFDD0 -sub_81CFDD0: @ 81CFDD0 - push {r4,lr} - movs r1, 0x81 - lsls r1, 4 - movs r0, 0xA - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081CFE00 - ldr r0, =sub_81CFEB8 - movs r1, 0x1 - bl sub_81C7078 - str r0, [r4, 0x4] - ldr r0, =sub_81CFE84 - str r0, [r4] - movs r0, 0 - str r0, [r4, 0xC] - movs r0, 0x1 - b _081CFE02 - .pool -_081CFE00: - movs r0, 0 -_081CFE02: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CFDD0 - - thumb_func_start sub_81CFE08 -sub_81CFE08: @ 81CFE08 - push {r4,lr} - movs r1, 0x81 - lsls r1, 4 - movs r0, 0xA - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081CFE38 - ldr r0, =sub_81CFEB8 - movs r1, 0x1 - bl sub_81C7078 - str r0, [r4, 0x4] - ldr r0, =sub_81CFE84 - str r0, [r4] - movs r0, 0x1 - str r0, [r4, 0xC] - b _081CFE3A - .pool -_081CFE38: - movs r0, 0 -_081CFE3A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81CFE08 - - thumb_func_start sub_81CFE40 -sub_81CFE40: @ 81CFE40 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0xA - bl GetSubstructPtr - adds r5, r0, 0 - ldr r0, =gUnknown_086237B8 - lsls r4, 2 - adds r4, r0 - ldr r0, [r4] - movs r1, 0x1 - bl sub_81C7078 - str r0, [r5, 0x4] - ldr r0, =sub_81CFE84 - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81CFE40 - - thumb_func_start sub_81CFE70 -sub_81CFE70: @ 81CFE70 - push {lr} - movs r0, 0xA - bl GetSubstructPtr - ldr r0, [r0] - bl _call_via_r0 - pop {r1} - bx r1 - thumb_func_end sub_81CFE70 - - thumb_func_start sub_81CFE84 -sub_81CFE84: @ 81CFE84 - push {lr} - movs r0, 0xA - bl GetSubstructPtr - ldr r0, [r0, 0x4] - bl sub_81C70D8 - pop {r1} - bx r1 - thumb_func_end sub_81CFE84 - - thumb_func_start sub_81CFE98 -sub_81CFE98: @ 81CFE98 - push {r4,lr} - movs r0, 0xA - bl GetSubstructPtr - adds r4, r0, 0 - bl sub_81C8234 - ldrb r0, [r4, 0x8] - bl RemoveWindow - movs r0, 0xA - bl FreeSubstruct - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81CFE98 - - thumb_func_start sub_81CFEB8 -sub_81CFEB8: @ 81CFEB8 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - movs r0, 0xA - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x5 - bls _081CFECC - b _081CFFF2 -_081CFECC: - lsls r0, r4, 2 - ldr r1, =_081CFEDC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081CFEDC: - .4byte _081CFEF4 - .4byte _081CFF48 - .4byte _081CFF76 - .4byte _081CFF94 - .4byte _081CFFA4 - .4byte _081CFFDE -_081CFEF4: - ldr r0, =gUnknown_086237B0 - movs r1, 0x2 - bl InitBgTemplates - ldr r1, =gUnknown_08623604 - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - adds r1, r5, 0 - adds r1, 0x10 - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, =gUnknown_086236CC - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - ldr r0, =gUnknown_086235E4 - movs r1, 0x10 - movs r2, 0x20 - bl CopyPaletteIntoBufferUnfaded - movs r0, 0x1 - bl CopyBgTilemapBufferToVram -_081CFF32: - movs r0, 0 - b _081CFFF4 - .pool -_081CFF48: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - bne _081CFFEE - bl sub_81CFB18 - cmp r0, 0 - beq _081CFFEE - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - bl ShowBg - b _081CFF32 -_081CFF76: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - bne _081CFFEE - ldr r0, =gUnknown_08623790 - movs r1, 0x20 - movs r2, 0x20 - bl CopyPaletteIntoBufferUnfaded - bl sub_81D0304 - b _081CFF32 - .pool -_081CFF94: - bl sub_81C8224 - cmp r0, 0 - bne _081CFFEE - adds r0, r5, 0 - bl sub_81D024C - b _081CFF32 -_081CFFA4: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - bne _081CFFEE - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl HideBg - movs r0, 0x9 - bl sub_81C7BA4 - movs r0, 0x1 - bl sub_81C7AC0 - ldr r0, [r5, 0xC] - cmp r0, 0 - bne _081CFF32 - movs r0, 0x2 - bl sub_81C7DFC - movs r0, 0x2 - movs r1, 0x1 - movs r2, 0 - bl sub_81C7FA0 - b _081CFF32 -_081CFFDE: - bl IsPaletteFadeActive - cmp r0, 0 - bne _081CFFEE - bl sub_81C8010 - cmp r0, 0 - beq _081CFFF2 -_081CFFEE: - movs r0, 0x2 - b _081CFFF4 -_081CFFF2: - movs r0, 0x4 -_081CFFF4: - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CFEB8 - - thumb_func_start sub_81CFFFC -sub_81CFFFC: @ 81CFFFC - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0xA - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x1 - beq _081D004A - cmp r4, 0x1 - bgt _081D0016 - cmp r4, 0 - beq _081D0020 - b _081D006A -_081D0016: - cmp r4, 0x2 - beq _081D0052 - cmp r4, 0x3 - beq _081D005C - b _081D006A -_081D0020: - bl sub_81C8658 - cmp r0, 0x1 - beq _081D0038 - cmp r0, 0x1 - bgt _081D0032 - cmp r0, 0 - beq _081D006A - b _081D0058 -_081D0032: - cmp r0, 0x2 - beq _081D0042 - b _081D0058 -_081D0038: - movs r0, 0x5 - bl PlaySE - movs r0, 0x7 - b _081D006C -_081D0042: - movs r0, 0x5 - bl PlaySE - b _081D0058 -_081D004A: - bl sub_81C8630 - cmp r0, 0 - bne _081D0066 -_081D0052: - adds r0, r5, 0 - bl sub_81D0288 -_081D0058: - movs r0, 0 - b _081D006C -_081D005C: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081D006A -_081D0066: - movs r0, 0x2 - b _081D006C -_081D006A: - movs r0, 0x4 -_081D006C: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81CFFFC - - thumb_func_start sub_81D0074 -sub_81D0074: @ 81D0074 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0xA - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x1 - beq _081D00C2 - cmp r4, 0x1 - bgt _081D008E - cmp r4, 0 - beq _081D0098 - b _081D00E2 -_081D008E: - cmp r4, 0x2 - beq _081D00CA - cmp r4, 0x3 - beq _081D00D4 - b _081D00E2 -_081D0098: - bl sub_81C868C - cmp r0, 0x1 - beq _081D00B0 - cmp r0, 0x1 - bgt _081D00AA - cmp r0, 0 - beq _081D00E2 - b _081D00D0 -_081D00AA: - cmp r0, 0x2 - beq _081D00BA - b _081D00D0 -_081D00B0: - movs r0, 0x5 - bl PlaySE - movs r0, 0x7 - b _081D00E4 -_081D00BA: - movs r0, 0x5 - bl PlaySE - b _081D00D0 -_081D00C2: - bl sub_81C8630 - cmp r0, 0 - bne _081D00DE -_081D00CA: - adds r0, r5, 0 - bl sub_81D0288 -_081D00D0: - movs r0, 0 - b _081D00E4 -_081D00D4: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081D00E2 -_081D00DE: - movs r0, 0x2 - b _081D00E4 -_081D00E2: - movs r0, 0x4 -_081D00E4: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81D0074 - - thumb_func_start sub_81D00EC -sub_81D00EC: @ 81D00EC - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0xA - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x1 - beq _081D013A - cmp r4, 0x1 - bgt _081D0106 - cmp r4, 0 - beq _081D0110 - b _081D015A -_081D0106: - cmp r4, 0x2 - beq _081D0142 - cmp r4, 0x3 - beq _081D014C - b _081D015A -_081D0110: - bl sub_81C86CC - cmp r0, 0x1 - beq _081D0128 - cmp r0, 0x1 - bgt _081D0122 - cmp r0, 0 - beq _081D015A - b _081D0148 -_081D0122: - cmp r0, 0x2 - beq _081D0132 - b _081D0148 -_081D0128: - movs r0, 0x5 - bl PlaySE - movs r0, 0x7 - b _081D015C -_081D0132: - movs r0, 0x5 - bl PlaySE - b _081D0148 -_081D013A: - bl sub_81C8630 - cmp r0, 0 - bne _081D0156 -_081D0142: - adds r0, r5, 0 - bl sub_81D0288 -_081D0148: - movs r0, 0 - b _081D015C -_081D014C: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081D015A -_081D0156: - movs r0, 0x2 - b _081D015C -_081D015A: - movs r0, 0x4 -_081D015C: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81D00EC - - thumb_func_start sub_81D0164 -sub_81D0164: @ 81D0164 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0xA - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x1 - beq _081D01B2 - cmp r4, 0x1 - bgt _081D017E - cmp r4, 0 - beq _081D0188 - b _081D01D2 -_081D017E: - cmp r4, 0x2 - beq _081D01BA - cmp r4, 0x3 - beq _081D01C4 - b _081D01D2 -_081D0188: - bl sub_81C870C - cmp r0, 0x1 - beq _081D01A0 - cmp r0, 0x1 - bgt _081D019A - cmp r0, 0 - beq _081D01D2 - b _081D01C0 -_081D019A: - cmp r0, 0x2 - beq _081D01AA - b _081D01C0 -_081D01A0: - movs r0, 0x5 - bl PlaySE - movs r0, 0x7 - b _081D01D4 -_081D01AA: - movs r0, 0x5 - bl PlaySE - b _081D01C0 -_081D01B2: - bl sub_81C8630 - cmp r0, 0 - bne _081D01CE -_081D01BA: - adds r0, r5, 0 - bl sub_81D0288 -_081D01C0: - movs r0, 0 - b _081D01D4 -_081D01C4: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081D01D2 -_081D01CE: - movs r0, 0x2 - b _081D01D4 -_081D01D2: - movs r0, 0x4 -_081D01D4: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81D0164 - - thumb_func_start sub_81D01DC -sub_81D01DC: @ 81D01DC - push {lr} - cmp r0, 0 - beq _081D01E8 - cmp r0, 0x1 - beq _081D01FC - b _081D0214 -_081D01E8: - movs r0, 0x5 - bl PlaySE - movs r0, 0 - bl sub_81C7AC0 - bl sub_81C78A0 - movs r0, 0 - b _081D0216 -_081D01FC: - bl IsPaletteFadeActive - cmp r0, 0 - bne _081D020C - bl sub_81C78C0 - cmp r0, 0 - beq _081D0210 -_081D020C: - movs r0, 0x2 - b _081D0216 -_081D0210: - bl sub_81C7FDC -_081D0214: - movs r0, 0x4 -_081D0216: - pop {r1} - bx r1 - thumb_func_end sub_81D01DC - - thumb_func_start sub_81D021C -sub_81D021C: @ 81D021C - push {lr} - cmp r0, 0 - beq _081D0228 - cmp r0, 0x1 - beq _081D0238 - b _081D0244 -_081D0228: - movs r0, 0x5 - bl PlaySE - movs r0, 0 - bl sub_81C7AC0 - movs r0, 0 - b _081D0246 -_081D0238: - bl IsPaletteFadeActive - cmp r0, 0 - beq _081D0244 - movs r0, 0x2 - b _081D0246 -_081D0244: - movs r0, 0x4 -_081D0246: - pop {r1} - bx r1 - thumb_func_end sub_81D021C - - thumb_func_start sub_81D024C -sub_81D024C: @ 81D024C - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gUnknown_086237D4 - bl AddWindow - strh r0, [r4, 0x8] - lsls r0, 24 - lsrs r0, 24 - bl PutWindowTilemap - bl sub_81CFB38 - adds r2, r0, 0 - ldrh r0, [r4, 0x8] - movs r1, 0 - bl sub_81D02B0 - ldrb r0, [r4, 0x8] - movs r1, 0x1 - bl CopyWindowToVram - adds r0, r4, 0 - bl sub_81D0288 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D024C - - thumb_func_start sub_81D0288 -sub_81D0288: @ 81D0288 - push {r4,r5,lr} - adds r5, r0, 0 - bl sub_81C875C - adds r4, r0, 0 - bl sub_81CFB38 - adds r2, r0, 0 - ldrh r0, [r5, 0x8] - adds r4, 0x1 - adds r1, r4, 0 - bl sub_81D02B0 - ldrb r0, [r5, 0x8] - movs r1, 0x2 - bl CopyWindowToVram - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81D0288 - - thumb_func_start sub_81D02B0 -sub_81D02B0: @ 81D02B0 - push {r4,r5,lr} - sub sp, 0x1C - adds r4, r0, 0 - adds r5, r2, 0 - add r0, sp, 0xC - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - movs r1, 0xBA - strb r1, [r0] - adds r0, 0x1 - adds r1, r5, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - movs r0, 0x1 - add r1, sp, 0xC - movs r2, 0x38 - bl GetStringCenterAlignXOffset - adds r3, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x1 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - adds r0, r4, 0 - movs r1, 0x1 - add r2, sp, 0xC - bl AddTextPrinterParameterized - add sp, 0x1C - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81D02B0 - - thumb_func_start sub_81D0304 -sub_81D0304: @ 81D0304 - push {r4,lr} - sub sp, 0x18 - bl sub_81CFB28 - str r0, [sp] - bl sub_81CFB38 - mov r1, sp - movs r4, 0 - strh r0, [r1, 0x4] - movs r0, 0x4 - strb r0, [r1, 0x8] - bl sub_81CFB64 - mov r1, sp - strh r0, [r1, 0x6] - movs r0, 0xD - strb r0, [r1, 0x9] - movs r0, 0x11 - strb r0, [r1, 0xA] - mov r0, sp - movs r2, 0x1 - strb r2, [r0, 0xB] - movs r0, 0x8 - strb r0, [r1, 0xC] - movs r0, 0x2 - strb r0, [r1, 0xD] - mov r0, sp - strb r2, [r0, 0xE] - ldr r0, =sub_81D035C - str r0, [sp, 0x10] - str r4, [sp, 0x14] - ldr r0, =gUnknown_086237B4 - movs r2, 0 - bl sub_81C81D4 - add sp, 0x18 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D0304 - - thumb_func_start sub_81D035C -sub_81D035C: @ 81D035C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r1, 0 - adds r7, r0, 0 - ldrb r0, [r7] - cmp r0, 0xE - bne _081D03A4 - ldrb r1, [r7, 0x1] - movs r0, 0x64 - adds r4, r1, 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 - bl GetLevelFromMonExp - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r2, =gStringVar3 - adds r0, r4, 0 - movs r1, 0x2 - bl GetMonData - b _081D03CC - .pool -_081D03A4: - ldrb r0, [r7] - ldrb r1, [r7, 0x1] - bl GetBoxedMonPtr - adds r4, r0, 0 - bl GetBoxMonGender - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r4, 0 - bl GetLevelFromBoxMonExp - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r2, =gStringVar3 - adds r0, r4, 0 - movs r1, 0x2 - bl GetBoxMonData -_081D03CC: - ldr r4, =gStringVar3 - adds r0, r4, 0 - bl StringGetEnd10 - adds r0, r6, 0 - movs r1, 0x1 - adds r2, r4, 0 - movs r3, 0x3C - bl sub_81DB494 - adds r6, r0, 0 - cmp r5, 0 - beq _081D03F8 - cmp r5, 0xFE - beq _081D0400 - ldr r1, =gUnknown_086237F4 - b _081D0402 - .pool -_081D03F8: - ldr r1, =gUnknown_086237DC - b _081D0402 - .pool -_081D0400: - ldr r1, =gUnknown_086237E8 -_081D0402: - ldr r4, =gStringVar1 - adds r0, r4, 0 - bl StringCopy - movs r1, 0xBA - strb r1, [r0] - adds r0, 0x1 - movs r1, 0xF9 - strb r1, [r0] - adds r0, 0x1 - movs r1, 0x5 - strb r1, [r0] - adds r0, 0x1 - mov r1, r8 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r0, r6, 0 - movs r1, 0x1 - adds r2, r4, 0 - movs r3, 0x36 - bl sub_81DB494 - adds r6, r0, 0 - ldrh r1, [r7, 0x2] - movs r2, 0x1 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D035C - - thumb_func_start sub_81D0450 -sub_81D0450: @ 81D0450 - push {r4,lr} - movs r0, 0xD - movs r1, 0x9C - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081D0498 - movs r0, 0x12 - bl GetSubstructPtr - str r0, [r4, 0x8] - cmp r0, 0 - beq _081D0498 - adds r0, r4, 0 - bl sub_81D0814 - adds r1, r4, 0 - adds r1, 0x98 - ldr r0, =sub_81D04C4 - str r0, [r1] - ldr r1, =gKeyRepeatContinueDelay - movs r0, 0x3 - strh r0, [r1] - ldr r1, =gKeyRepeatStartDelay - movs r0, 0xA - strh r0, [r1] - movs r0, 0x1 - b _081D049A - .pool -_081D0498: - movs r0, 0 -_081D049A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81D0450 - - thumb_func_start sub_81D04A0 -sub_81D04A0: @ 81D04A0 - push {lr} - movs r0, 0xD - bl GetSubstructPtr - adds r1, r0, 0 - adds r1, 0x98 - ldr r1, [r1] - bl _call_via_r1 - pop {r1} - bx r1 - thumb_func_end sub_81D04A0 - - thumb_func_start sub_81D04B8 -sub_81D04B8: @ 81D04B8 - push {lr} - movs r0, 0xD - bl FreeSubstruct - pop {r0} - bx r0 - thumb_func_end sub_81D04B8 - - thumb_func_start sub_81D04C4 -sub_81D04C4: @ 81D04C4 - push {r4,lr} - adds r4, r0, 0 - ldr r2, =gMain - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _081D04E4 - ldr r3, [r4, 0x8] - ldrh r0, [r3, 0x2] - cmp r0, 0 - beq _081D04E4 - subs r0, 0x1 - b _081D04FC - .pool -_081D04E4: - ldrh r1, [r2, 0x30] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081D050C - ldr r3, [r4, 0x8] - ldrh r1, [r3, 0x2] - ldrh r0, [r3] - subs r0, 0x1 - cmp r1, r0 - bge _081D050C - adds r0, r1, 0x1 -_081D04FC: - movs r1, 0 - strh r0, [r3, 0x2] - strh r1, [r4, 0xC] - adds r0, r4, 0 - bl sub_81D0814 - movs r0, 0x1 - b _081D053E -_081D050C: - ldrh r2, [r2, 0x2E] - movs r0, 0x1 - ands r0, r2 - cmp r0, 0 - beq _081D0528 - adds r1, r4, 0 - adds r1, 0x98 - ldr r0, =sub_81D0548 - str r0, [r1] - movs r0, 0x2 - b _081D053E - .pool -_081D0528: - movs r0, 0x2 - ands r0, r2 - cmp r0, 0 - bne _081D0534 - movs r0, 0 - b _081D053E -_081D0534: - adds r1, r4, 0 - adds r1, 0x98 - ldr r0, =sub_81D05D4 - str r0, [r1] - movs r0, 0x5 -_081D053E: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81D04C4 - - thumb_func_start sub_81D0548 -sub_81D0548: @ 81D0548 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gMain - ldrh r1, [r0, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _081D0562 - adds r0, r4, 0 - bl sub_81D05DC - cmp r0, 0 - bne _081D05A4 -_081D0562: - ldr r0, =gMain - ldrh r1, [r0, 0x30] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081D0578 - adds r0, r4, 0 - bl sub_81D061C - cmp r0, 0 - bne _081D05A4 -_081D0578: - ldr r0, =gMain - ldrh r1, [r0, 0x30] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _081D058E - adds r0, r4, 0 - bl sub_81D0664 - cmp r0, 0 - bne _081D05A4 -_081D058E: - ldr r0, =gMain - ldrh r1, [r0, 0x30] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _081D05AC - adds r0, r4, 0 - bl sub_81D0688 - cmp r0, 0 - beq _081D05AC -_081D05A4: - movs r0, 0x3 - b _081D05CA - .pool -_081D05AC: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _081D05C0 - movs r0, 0 - b _081D05CA - .pool -_081D05C0: - adds r1, r4, 0 - adds r1, 0x98 - ldr r0, =sub_81D04C4 - str r0, [r1] - movs r0, 0x4 -_081D05CA: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81D0548 - - thumb_func_start sub_81D05D4 -sub_81D05D4: @ 81D05D4 - ldr r0, =0x000186ae - bx lr - .pool - thumb_func_end sub_81D05D4 - - thumb_func_start sub_81D05DC -sub_81D05DC: @ 81D05DC - push {r4,lr} - adds r1, r0, 0 - ldrh r0, [r1, 0xC] - adds r2, r0, 0 - cmp r2, 0x18 - bhi _081D05F0 - cmp r2, 0x8 - bls _081D0612 - subs r0, 0x9 - b _081D060C -_081D05F0: - ldrh r3, [r1, 0x10] - adds r2, r3, 0 - cmp r2, 0 - beq _081D0612 - ldrh r0, [r1, 0xC] - subs r0, 0x1B - ldrh r4, [r1, 0xE] - adds r0, r4 - strh r0, [r1, 0xC] - lsls r0, 16 - lsrs r0, 16 - cmp r0, r2 - bcc _081D060E - subs r0, r3, 0x1 -_081D060C: - strh r0, [r1, 0xC] -_081D060E: - movs r0, 0x1 - b _081D0614 -_081D0612: - movs r0, 0 -_081D0614: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81D05DC - - thumb_func_start sub_81D061C -sub_81D061C: @ 81D061C - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0xC] - adds r1, r0, 0 - cmp r1, 0x18 - bhi _081D065C - ldrh r3, [r2, 0xE] - cmp r1, r3 - bcs _081D0640 - adds r0, 0x9 - strh r0, [r2, 0xC] - ldrh r1, [r2, 0x10] - lsls r0, 16 - lsrs r0, 16 - cmp r0, r1 - bcc _081D0658 - subs r0, r1, 0x1 - b _081D0656 -_081D0640: - ldrh r0, [r2, 0x12] - cmp r0, 0 - beq _081D065C - ldrh r1, [r2, 0xC] - ldrh r0, [r2, 0xE] - subs r0, r1, r0 - ldrh r1, [r2, 0x12] - cmp r0, r1 - blt _081D0654 - subs r0, r1, 0x1 -_081D0654: - adds r0, 0x1B -_081D0656: - strh r0, [r2, 0xC] -_081D0658: - movs r0, 0x1 - b _081D065E -_081D065C: - movs r0, 0 -_081D065E: - pop {r1} - bx r1 - thumb_func_end sub_81D061C - - thumb_func_start sub_81D0664 -sub_81D0664: @ 81D0664 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r4, [r5, 0xC] - adds r0, r4, 0 - movs r1, 0x9 - bl __umodsi3 - lsls r0, 16 - cmp r0, 0 - bne _081D067C - movs r0, 0 - b _081D0682 -_081D067C: - subs r0, r4, 0x1 - strh r0, [r5, 0xC] - movs r0, 0x1 -_081D0682: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81D0664 - - thumb_func_start sub_81D0688 -sub_81D0688: @ 81D0688 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r4, [r5, 0xC] - adds r0, r4, 0 - movs r1, 0x9 - bl __umodsi3 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x7 - bgt _081D06BC - cmp r4, 0x1A - bhi _081D06AC - ldrh r0, [r5, 0x10] - subs r0, 0x1 - cmp r4, r0 - bge _081D06BC - b _081D06B4 -_081D06AC: - ldrh r0, [r5, 0x12] - subs r0, 0x1 - cmp r1, r0 - bge _081D06BC -_081D06B4: - adds r0, r4, 0x1 - strh r0, [r5, 0xC] - movs r0, 0x1 - b _081D06BE -_081D06BC: - movs r0, 0 -_081D06BE: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81D0688 - - thumb_func_start sub_81D06C4 -sub_81D06C4: @ 81D06C4 - push {lr} - movs r0, 0xD - bl GetSubstructPtr - ldr r0, [r0, 0x8] - ldrh r0, [r0, 0x2] - pop {r1} - bx r1 - thumb_func_end sub_81D06C4 - - thumb_func_start sub_81D06D4 -sub_81D06D4: @ 81D06D4 - push {lr} - movs r0, 0xD - bl GetSubstructPtr - ldr r0, [r0, 0x8] - ldrh r0, [r0] - pop {r1} - bx r1 - thumb_func_end sub_81D06D4 - - thumb_func_start sub_81D06E4 -sub_81D06E4: @ 81D06E4 - push {r4-r7,lr} - adds r5, r0, 0 - adds r7, r1, 0 - adds r6, r2, 0 - movs r0, 0xD - bl GetSubstructPtr - ldr r1, [r0, 0x8] - ldrh r0, [r1, 0x2] - lsls r0, 2 - adds r0, 0x4 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0xE - bne _081D0730 - ldrb r1, [r1, 0x1] - movs r0, 0x64 - adds r4, r1, 0 - muls r4, r0 - ldr r0, =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x2 - adds r2, r5, 0 - bl GetMonData - adds r0, r4, 0 - bl GetLevelFromMonExp - strb r0, [r7] - adds r0, r4, 0 - bl GetMonGender - strb r0, [r6] - b _081D0752 - .pool -_081D0730: - ldrb r0, [r1] - ldrb r1, [r1, 0x1] - bl GetBoxedMonPtr - adds r4, r0, 0 - bl GetBoxMonGender - strb r0, [r6] - adds r0, r4, 0 - bl GetLevelFromBoxMonExp - strb r0, [r7] - adds r0, r4, 0 - movs r1, 0x2 - adds r2, r5, 0 - bl GetBoxMonData -_081D0752: - adds r0, r5, 0 - bl StringGetEnd10 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81D06E4 - - thumb_func_start sub_81D0760 -sub_81D0760: @ 81D0760 - push {r4-r7,lr} - adds r5, r0, 0 - adds r6, r1, 0 - adds r7, r2, 0 - movs r0, 0xD - bl GetSubstructPtr - ldr r1, [r0, 0x8] - ldrh r0, [r1, 0x2] - lsls r0, 2 - adds r0, 0x4 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0xE - bne _081D07AC - ldrb r1, [r1, 0x1] - movs r0, 0x64 - adds r4, r1, 0 - muls r4, r0 - ldr r0, =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - strh r0, [r5] - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - str r0, [r6] - adds r0, r4, 0 - movs r1, 0x1 - bl GetMonData - b _081D07D0 - .pool -_081D07AC: - ldrb r0, [r1] - ldrb r1, [r1, 0x1] - bl GetBoxedMonPtr - adds r4, r0, 0 - movs r1, 0xB - bl GetBoxMonData - strh r0, [r5] - adds r0, r4, 0 - movs r1, 0 - bl GetBoxMonData - str r0, [r6] - adds r0, r4, 0 - movs r1, 0x1 - bl GetBoxMonData -_081D07D0: - str r0, [r7] - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81D0760 - - thumb_func_start sub_81D07D8 -sub_81D07D8: @ 81D07D8 - push {lr} - movs r0, 0xD - bl GetSubstructPtr - ldr r1, [r0, 0x8] - ldrh r0, [r1, 0x2] - lsls r0, 2 - adds r0, 0x4 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0xE - beq _081D07FA - ldrb r1, [r1, 0x1] - movs r2, 0x52 - bl GetBoxMonDataAt - b _081D080A -_081D07FA: - ldrb r1, [r1, 0x1] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x52 - bl GetMonData -_081D080A: - pop {r1} - bx r1 - .pool - thumb_func_end sub_81D07D8 - - thumb_func_start sub_81D0814 -sub_81D0814: @ 81D0814 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r5, r0, 0 - ldr r0, [r5, 0x8] - ldrh r1, [r0, 0x2] - lsls r1, 2 - adds r1, 0x4 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0xE - bne _081D0848 - ldrb r1, [r1, 0x1] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x53 - bl GetMonData - b _081D0852 - .pool -_081D0848: - ldrb r0, [r1] - ldrb r1, [r1, 0x1] - movs r2, 0x53 - bl GetBoxMonDataAt -_081D0852: - mov r12, r0 - movs r0, 0 - strh r0, [r5, 0x10] - strh r0, [r5, 0x12] - movs r6, 0 - ldr r0, =gUnknown_086237F8 - mov r9, r0 - mov r10, r9 -_081D0862: - lsls r2, r6, 2 - mov r3, r9 - adds r1, r2, r3 - movs r0, 0x1 - ldrb r3, [r1] - lsls r0, r3 - subs r4, r0, 0x1 - mov r0, r12 - ands r4, r0 - ldrb r0, [r1, 0x3] - adds r7, r2, 0 - cmp r0, 0 - bne _081D08AC - movs r3, 0 - adds r6, 0x1 - mov r8, r6 - cmp r3, r4 - bge _081D08D6 - adds r6, r5, 0 - adds r6, 0x14 - mov r1, r10 - adds r0, r7, r1 - ldrb r2, [r0, 0x2] -_081D0890: - ldrh r0, [r5, 0x10] - adds r1, r0, 0x1 - strh r1, [r5, 0x10] - lsls r0, 16 - lsrs r0, 14 - adds r0, r6, r0 - adds r1, r2, r3 - str r1, [r0] - adds r3, 0x1 - cmp r3, r4 - blt _081D0890 - b _081D08D6 - .pool -_081D08AC: - movs r3, 0 - adds r6, 0x1 - mov r8, r6 - cmp r3, r4 - bge _081D08D6 - adds r6, r5, 0 - adds r6, 0x78 - mov r1, r10 - adds r0, r7, r1 - ldrb r2, [r0, 0x2] -_081D08C0: - ldrh r0, [r5, 0x12] - adds r1, r0, 0x1 - strh r1, [r5, 0x12] - lsls r0, 16 - lsrs r0, 14 - adds r0, r6, r0 - adds r1, r2, r3 - str r1, [r0] - adds r3, 0x1 - cmp r3, r4 - blt _081D08C0 -_081D08D6: - mov r3, r9 - adds r0, r7, r3 - mov r1, r12 - ldrb r0, [r0] - lsrs r1, r0 - mov r12, r1 - mov r6, r8 - cmp r6, 0x10 - bls _081D0862 - ldrh r0, [r5, 0x10] - cmp r0, 0 - beq _081D0900 - subs r0, 0x1 - movs r1, 0x9 - bl __divsi3 - lsls r1, r0, 3 - adds r1, r0 - movs r0, 0 - strh r1, [r5, 0xE] - b _081D0904 -_081D0900: - strh r0, [r5, 0xE] - movs r0, 0x1B -_081D0904: - strh r0, [r5, 0xC] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81D0814 - - thumb_func_start sub_81D0914 -sub_81D0914: @ 81D0914 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0xD - bl GetSubstructPtr - ldrh r1, [r0, 0x10] - str r1, [r4] - adds r0, 0x14 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81D0914 - - thumb_func_start sub_81D092C -sub_81D092C: @ 81D092C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0xD - bl GetSubstructPtr - ldrh r1, [r0, 0x12] - str r1, [r4] - adds r0, 0x78 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81D092C - - thumb_func_start sub_81D0944 -sub_81D0944: @ 81D0944 - push {lr} - movs r0, 0xD - bl GetSubstructPtr - ldrh r0, [r0, 0xC] - pop {r1} - bx r1 - thumb_func_end sub_81D0944 - - thumb_func_start sub_81D0954 -sub_81D0954: @ 81D0954 - push {lr} - movs r0, 0xD - bl GetSubstructPtr - adds r1, r0, 0 - ldrh r0, [r1, 0xC] - cmp r0, 0x18 - ble _081D096C - subs r0, 0x1B - lsls r0, 2 - adds r1, 0x78 - b _081D0970 -_081D096C: - lsls r0, 2 - adds r1, 0x14 -_081D0970: - adds r1, r0 - ldr r0, [r1] - pop {r1} - bx r1 - thumb_func_end sub_81D0954 - - thumb_func_start sub_81D0978 -sub_81D0978: @ 81D0978 - push {r4,lr} - ldr r1, =0x0000101c - movs r0, 0xE - bl AllocSubstruct - adds r4, r0, 0 - cmp r4, 0 - beq _081D09A8 - ldr r0, =sub_81D0A6C - movs r1, 0x1 - bl sub_81C7078 - str r0, [r4, 0x4] - ldr r0, =sub_81D0A58 - str r0, [r4] - movs r0, 0x1 - b _081D09AA - .pool -_081D09A8: - movs r0, 0 -_081D09AA: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81D0978 - - thumb_func_start sub_81D09B0 -sub_81D09B0: @ 81D09B0 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0xE - bl GetSubstructPtr - adds r5, r0, 0 - ldr r0, =gUnknown_08624BA0 - lsls r4, 2 - adds r4, r0 - ldr r0, [r4] - movs r1, 0x1 - bl sub_81C7078 - str r0, [r5, 0x4] - ldr r0, =sub_81D0A58 - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D09B0 - - thumb_func_start sub_81D09E0 -sub_81D09E0: @ 81D09E0 - push {lr} - movs r0, 0xE - bl GetSubstructPtr - ldr r0, [r0] - bl _call_via_r0 - pop {r1} - bx r1 - thumb_func_end sub_81D09E0 - - thumb_func_start sub_81D09F4 -sub_81D09F4: @ 81D09F4 - push {r4,lr} - movs r0, 0xE - bl GetSubstructPtr - adds r4, r0, 0 - ldrb r0, [r4, 0xA] - bl RemoveWindow - ldrb r0, [r4, 0x8] - bl RemoveWindow - ldrb r0, [r4, 0xC] - bl RemoveWindow - ldrb r0, [r4, 0xE] - bl RemoveWindow - adds r0, r4, 0 - bl sub_81D1178 - movs r0, 0x9 - bl FreeSpriteTilesByTag - movs r0, 0xF - bl FreeSpritePaletteByTag - movs r0, 0x10 - bl FreeSpritePaletteByTag - movs r0, 0x11 - bl FreeSpritePaletteByTag - movs r0, 0x12 - bl FreeSpritePaletteByTag - movs r0, 0x13 - bl FreeSpritePaletteByTag - ldr r0, [r4, 0x14] - bl FreeSpriteOamMatrix - ldr r0, [r4, 0x14] - bl DestroySprite - movs r0, 0xE - bl FreeSubstruct - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81D09F4 - - thumb_func_start sub_81D0A58 -sub_81D0A58: @ 81D0A58 - push {lr} - movs r0, 0xE - bl GetSubstructPtr - ldr r0, [r0, 0x4] - bl sub_81C70D8 - pop {r1} - bx r1 - thumb_func_end sub_81D0A58 - - thumb_func_start sub_81D0A6C -sub_81D0A6C: @ 81D0A6C - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - movs r0, 0xE - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x9 - bls _081D0A80 - b _081D0C48 -_081D0A80: - lsls r0, r4, 2 - ldr r1, =_081D0A90 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081D0A90: - .4byte _081D0AB8 - .4byte _081D0B04 - .4byte _081D0B74 - .4byte _081D0B88 - .4byte _081D0B9C - .4byte _081D0BB0 - .4byte _081D0BC4 - .4byte _081D0BD8 - .4byte _081D0BE8 - .4byte _081D0C3C -_081D0AB8: - ldr r0, =gUnknown_08624B98 - movs r1, 0x2 - bl InitBgTemplates - ldr r1, =gUnknown_08DDE030 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - adds r1, r5, 0 - adds r1, 0x1C - movs r0, 0x2 - bl SetBgTilemapBuffer - ldr r1, =gUnknown_08DDE12C - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - ldr r0, =gUnknown_08DDE010 - movs r1, 0x10 - movs r2, 0x20 - bl CopyPaletteIntoBufferUnfaded - b _081D0BBA - .pool -_081D0B04: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _081D0B12 - b _081D0C44 -_081D0B12: - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0x1 - bl sub_8199DF0 - ldr r1, =gUnknown_086240B8 - str r4, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0x1 - bl decompress_and_copy_tile_data_to_vram - ldr r0, =0x0000081c - adds r1, r5, r0 - movs r0, 0x1 - bl SetBgTilemapBuffer - movs r0, 0x20 - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - ldr r0, =gUnknown_08623FF8 - movs r1, 0x20 - movs r2, 0xA0 - bl CopyPaletteIntoBufferUnfaded - ldr r0, =gUnknown_08624098 - movs r1, 0xA0 - movs r2, 0x20 - bl CopyPaletteIntoBufferUnfaded - movs r0, 0x1 - b _081D0BBC - .pool -_081D0B74: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - bne _081D0C44 - adds r0, r5, 0 - bl sub_81D0E60 - movs r0, 0 - b _081D0C4A -_081D0B88: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - bne _081D0C44 - adds r0, r5, 0 - bl sub_81D0FCC - movs r0, 0 - b _081D0C4A -_081D0B9C: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - bne _081D0C44 - adds r0, r5, 0 - bl sub_81D10A4 - movs r0, 0 - b _081D0C4A -_081D0BB0: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _081D0C44 -_081D0BBA: - movs r0, 0x2 -_081D0BBC: - bl CopyBgTilemapBufferToVram - movs r0, 0 - b _081D0C4A -_081D0BC4: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _081D0C44 - adds r0, r5, 0 - bl sub_81D1148 - movs r0, 0x1 - b _081D0C4A -_081D0BD8: - adds r0, r5, 0 - bl sub_81D12D8 - movs r0, 0xA - bl sub_81C7BA4 - movs r0, 0 - b _081D0C4A -_081D0BE8: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _081D0C44 - adds r0, r5, 0 - bl sub_81D13FC - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl HideBg - movs r0, 0x1 - bl sub_81C7AC0 - movs r0, 0 - b _081D0C4A -_081D0C3C: - bl IsPaletteFadeActive - cmp r0, 0 - beq _081D0C48 -_081D0C44: - movs r0, 0x2 - b _081D0C4A -_081D0C48: - movs r0, 0x4 -_081D0C4A: - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81D0A6C - - thumb_func_start sub_81D0C54 -sub_81D0C54: @ 81D0C54 - push {lr} - cmp r0, 0 - beq _081D0C60 - cmp r0, 0x1 - beq _081D0C70 - b _081D0C7C -_081D0C60: - movs r0, 0x5 - bl PlaySE - movs r0, 0 - bl sub_81C7AC0 - movs r0, 0 - b _081D0C7E -_081D0C70: - bl IsPaletteFadeActive - cmp r0, 0 - beq _081D0C7C - movs r0, 0x2 - b _081D0C7E -_081D0C7C: - movs r0, 0x4 -_081D0C7E: - pop {r1} - bx r1 - thumb_func_end sub_81D0C54 - - thumb_func_start sub_81D0C84 -sub_81D0C84: @ 81D0C84 - push {r4,r5,lr} - adds r5, r0, 0 - movs r0, 0xE - bl GetSubstructPtr - adds r4, r0, 0 - cmp r5, 0x6 - bhi _081D0D24 - lsls r0, r5, 2 - ldr r1, =_081D0CA4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081D0CA4: - .4byte _081D0CC0 - .4byte _081D0CD0 - .4byte _081D0CE4 - .4byte _081D0CEE - .4byte _081D0CF8 - .4byte _081D0D02 - .4byte _081D0D16 -_081D0CC0: - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_81D11D8 - movs r0, 0 - b _081D0D26 -_081D0CD0: - adds r0, r4, 0 - bl sub_81D1234 - cmp r0, 0 - bne _081D0D20 - adds r0, r4, 0 - bl sub_81D0FF0 - movs r0, 0x1 - b _081D0D26 -_081D0CE4: - adds r0, r4, 0 - bl sub_81D12D8 - movs r0, 0x1 - b _081D0D26 -_081D0CEE: - adds r0, r4, 0 - bl sub_81D10D0 - movs r0, 0x1 - b _081D0D26 -_081D0CF8: - adds r0, r4, 0 - bl sub_81D0E84 - movs r0, 0x1 - b _081D0D26 -_081D0D02: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _081D0D20 - adds r0, r4, 0 - bl sub_81D11FC - movs r0, 0 - b _081D0D26 -_081D0D16: - adds r0, r4, 0 - bl sub_81D1234 - cmp r0, 0 - beq _081D0D24 -_081D0D20: - movs r0, 0x2 - b _081D0D26 -_081D0D24: - movs r0, 0x4 -_081D0D26: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81D0C84 - - thumb_func_start sub_81D0D2C -sub_81D0D2C: @ 81D0D2C - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0xE - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x1 - beq _081D0D5C - cmp r4, 0x1 - bgt _081D0D46 - cmp r4, 0 - beq _081D0D4C - b _081D0D84 -_081D0D46: - cmp r4, 0x2 - beq _081D0D76 - b _081D0D84 -_081D0D4C: - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - bl sub_81D1448 - movs r0, 0 - b _081D0D86 -_081D0D5C: - adds r0, r5, 0 - bl sub_81D1524 - cmp r0, 0 - bne _081D0D80 - adds r0, r5, 0 - bl sub_81D0EFC - movs r0, 0xB - bl sub_81C7BA4 - movs r0, 0 - b _081D0D86 -_081D0D76: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081D0D84 -_081D0D80: - movs r0, 0x2 - b _081D0D86 -_081D0D84: - movs r0, 0x4 -_081D0D86: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81D0D2C - - thumb_func_start sub_81D0D8C -sub_81D0D8C: @ 81D0D8C - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0xE - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x1 - beq _081D0DC0 - cmp r4, 0x1 - bgt _081D0DA6 - cmp r4, 0 - beq _081D0DB0 - b _081D0DF6 -_081D0DA6: - cmp r4, 0x2 - beq _081D0DD4 - cmp r4, 0x3 - beq _081D0DE8 - b _081D0DF6 -_081D0DB0: - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - bl sub_81D1500 - movs r0, 0 - b _081D0DF8 -_081D0DC0: - adds r0, r5, 0 - bl sub_81D1524 - cmp r0, 0 - bne _081D0DF2 - adds r0, r5, 0 - bl sub_81D1448 - movs r0, 0 - b _081D0DF8 -_081D0DD4: - adds r0, r5, 0 - bl sub_81D1524 - cmp r0, 0 - bne _081D0DF2 - adds r0, r5, 0 - bl sub_81D0EFC - movs r0, 0 - b _081D0DF8 -_081D0DE8: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081D0DF6 -_081D0DF2: - movs r0, 0x2 - b _081D0DF8 -_081D0DF6: - movs r0, 0x4 -_081D0DF8: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81D0D8C - - thumb_func_start sub_81D0E00 -sub_81D0E00: @ 81D0E00 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0xE - bl GetSubstructPtr - adds r5, r0, 0 - cmp r4, 0x1 - beq _081D0E30 - cmp r4, 0x1 - bgt _081D0E1A - cmp r4, 0 - beq _081D0E20 - b _081D0E58 -_081D0E1A: - cmp r4, 0x2 - beq _081D0E4A - b _081D0E58 -_081D0E20: - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - bl sub_81D1500 - movs r0, 0 - b _081D0E5A -_081D0E30: - adds r0, r5, 0 - bl sub_81D1524 - cmp r0, 0 - bne _081D0E54 - adds r0, r5, 0 - bl sub_81D0E84 - movs r0, 0xA - bl sub_81C7BA4 - movs r0, 0 - b _081D0E5A -_081D0E4A: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081D0E58 -_081D0E54: - movs r0, 0x2 - b _081D0E5A -_081D0E58: - movs r0, 0x4 -_081D0E5A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81D0E00 - - thumb_func_start sub_81D0E60 -sub_81D0E60: @ 81D0E60 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gUnknown_08624BB8 - bl AddWindow - strh r0, [r4, 0xA] - lsls r0, 24 - lsrs r0, 24 - bl PutWindowTilemap - adds r0, r4, 0 - bl sub_81D0E84 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D0E60 - - thumb_func_start sub_81D0E84 -sub_81D0E84: @ 81D0E84 - push {r4,r5,lr} - sub sp, 0x10 - adds r5, r0, 0 - ldr r1, =gUnknown_08624BC0 - add r0, sp, 0xC - movs r2, 0x3 - bl memcpy - ldr r4, =gStringVar1 - bl sub_81D07D8 - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - bl DynamicPlaceholderTextUtil_Reset - movs r0, 0 - adds r1, r4, 0 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr - ldr r4, =gStringVar4 - ldr r1, =gText_RibbonsF700 - adds r0, r4, 0 - bl DynamicPlaceholderTextUtil_ExpandPlaceholders - ldrb r0, [r5, 0xA] - movs r1, 0x44 - bl FillWindowPixelBuffer - ldrb r0, [r5, 0xA] - add r1, sp, 0xC - str r1, [sp] - movs r1, 0x1 - negs r1, r1 - str r1, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x1 - movs r2, 0 - movs r3, 0x1 - bl AddTextPrinterParameterized3 - ldrb r0, [r5, 0xA] - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D0E84 - - thumb_func_start sub_81D0EFC -sub_81D0EFC: @ 81D0EFC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - adds r7, r0, 0 - bl sub_81D0954 - adds r5, r0, 0 - ldr r1, =gUnknown_08624BC0 - add r0, sp, 0xC - movs r2, 0x3 - bl memcpy - ldrb r0, [r7, 0xA] - movs r1, 0x44 - bl FillWindowPixelBuffer - cmp r5, 0x18 - bhi _081D0F60 - lsls r1, r5, 3 - ldr r0, =gRibbonDescriptionPointers - adds r6, r1, r0 - movs r5, 0x80 - lsls r5, 17 - movs r4, 0x1 -_081D0F2E: - ldrb r0, [r7, 0xA] - lsrs r3, r5, 24 - add r1, sp, 0xC - str r1, [sp] - movs r1, 0x1 - negs r1, r1 - str r1, [sp, 0x4] - ldm r6!, {r1} - str r1, [sp, 0x8] - movs r1, 0x1 - movs r2, 0 - bl AddTextPrinterParameterized3 - movs r0, 0x80 - lsls r0, 21 - adds r5, r0 - subs r4, 0x1 - cmp r4, 0 - bge _081D0F2E - b _081D0FAA - .pool -_081D0F60: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - adds r0, r5 - ldr r1, =0x0000318f - adds r0, r1 - ldrb r5, [r0] - cmp r5, 0 - beq _081D0FB2 - subs r5, 0x1 - movs r4, 0 - ldr r0, =gGiftRibbonDescriptionPointers - mov r8, r0 - movs r6, 0x80 - lsls r6, 17 -_081D0F7C: - ldrb r0, [r7, 0xA] - lsrs r3, r6, 24 - add r1, sp, 0xC - str r1, [sp] - movs r1, 0x1 - negs r1, r1 - str r1, [sp, 0x4] - lsls r1, r4, 2 - lsls r2, r5, 3 - adds r1, r2 - add r1, r8 - ldr r1, [r1] - str r1, [sp, 0x8] - movs r1, 0x1 - movs r2, 0 - bl AddTextPrinterParameterized3 - movs r0, 0x80 - lsls r0, 21 - adds r6, r0 - adds r4, 0x1 - cmp r4, 0x1 - ble _081D0F7C -_081D0FAA: - ldrb r0, [r7, 0xA] - movs r1, 0x2 - bl CopyWindowToVram -_081D0FB2: - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D0EFC - - thumb_func_start sub_81D0FCC -sub_81D0FCC: @ 81D0FCC - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gUnknown_08624BC4 - bl AddWindow - strh r0, [r4, 0x8] - lsls r0, 24 - lsrs r0, 24 - bl PutWindowTilemap - adds r0, r4, 0 - bl sub_81D0FF0 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D0FCC - - thumb_func_start sub_81D0FF0 -sub_81D0FF0: @ 81D0FF0 - push {r4-r7,lr} - sub sp, 0x10 - ldrh r7, [r0, 0x8] - ldrb r5, [r0, 0x8] - adds r0, r5, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r4, =gStringVar3 - mov r6, sp - adds r6, 0xD - adds r0, r4, 0 - add r1, sp, 0xC - adds r2, r6, 0 - bl sub_81D06E4 - movs r0, 0x1 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - adds r0, r5, 0 - movs r1, 0x1 - adds r2, r4, 0 - movs r3, 0 - bl AddTextPrinterParameterized - ldrb r0, [r6] - cmp r0, 0 - beq _081D1040 - cmp r0, 0xFE - beq _081D1048 - ldr r1, =gUnknown_08624BE4 - b _081D104A - .pool -_081D1040: - ldr r1, =gUnknown_08624BCC - b _081D104A - .pool -_081D1048: - ldr r1, =gUnknown_08624BD8 -_081D104A: - ldr r5, =gStringVar1 - adds r0, r5, 0 - bl StringCopy - movs r1, 0xBA - strb r1, [r0] - adds r0, 0x1 - movs r1, 0xF9 - strb r1, [r0] - adds r0, 0x1 - movs r1, 0x5 - strb r1, [r0] - adds r0, 0x1 - add r1, sp, 0xC - ldrb r1, [r1] - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - lsls r4, r7, 24 - lsrs r4, 24 - movs r0, 0x1 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - adds r0, r4, 0 - movs r1, 0x1 - adds r2, r5, 0 - movs r3, 0x3C - bl AddTextPrinterParameterized - adds r0, r4, 0 - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0x10 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D0FF0 - - thumb_func_start sub_81D10A4 -sub_81D10A4: @ 81D10A4 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gUnknown_08624BE8 - bl AddWindow - strh r0, [r4, 0xC] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldrb r0, [r4, 0xC] - bl PutWindowTilemap - adds r0, r4, 0 - bl sub_81D10D0 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D10A4 - - thumb_func_start sub_81D10D0 -sub_81D10D0: @ 81D10D0 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0xC - mov r8, r0 - bl sub_81D06C4 - adds r4, r0, 0 - adds r4, 0x1 - bl sub_81D06D4 - adds r6, r0, 0 - ldr r5, =gStringVar1 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - movs r1, 0xBA - strb r1, [r0] - adds r0, 0x1 - adds r1, r6, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - movs r0, 0x1 - adds r1, r5, 0 - movs r2, 0x38 - bl GetStringCenterAlignXOffset - adds r3, r0, 0 - mov r1, r8 - ldrb r0, [r1, 0xC] - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x1 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x1 - adds r2, r5, 0 - bl AddTextPrinterParameterized - mov r1, r8 - ldrb r0, [r1, 0xC] - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D10D0 - - thumb_func_start sub_81D1148 -sub_81D1148: @ 81D1148 - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - add r1, sp, 0x4 - add r2, sp, 0x8 - mov r0, sp - bl sub_81D0760 - bl ResetAllPicSprites - movs r0, 0x28 - movs r1, 0x68 - bl sub_81D1184 - strh r0, [r4, 0x10] - movs r0, 0xF - movs r1, 0 - bl sub_81C7990 - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81D1148 - - thumb_func_start sub_81D1178 -sub_81D1178: @ 81D1178 - push {lr} - ldrh r0, [r0, 0x10] - bl FreeAndDestroyMonPicSprite - pop {r0} - bx r0 - thumb_func_end sub_81D1178 - - thumb_func_start sub_81D1184 -sub_81D1184: @ 81D1184 - push {lr} - sub sp, 0x1C - add r1, sp, 0x14 - add r2, sp, 0x18 - add r0, sp, 0x10 - bl sub_81D0760 - add r0, sp, 0x10 - ldrh r0, [r0] - ldr r1, [sp, 0x18] - ldr r2, [sp, 0x14] - movs r3, 0x28 - str r3, [sp] - movs r3, 0x68 - str r3, [sp, 0x4] - movs r3, 0xF - str r3, [sp, 0x8] - ldr r3, =0x0000ffff - str r3, [sp, 0xC] - movs r3, 0x1 - bl CreateMonPicSprite_HandleDeoxys - lsls r0, 16 - lsrs r0, 16 - ldr r1, =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r1 - ldrb r3, [r2, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - strb r1, [r2, 0x5] - add sp, 0x1C - pop {r1} - bx r1 - .pool - thumb_func_end sub_81D1184 - - thumb_func_start sub_81D11D8 -sub_81D11D8: @ 81D11D8 - push {lr} - ldrh r1, [r0, 0x10] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r2, 0x20 - negs r2, r2 - movs r1, 0x28 - movs r3, 0x6 - bl sub_81D1258 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D11D8 - - thumb_func_start sub_81D11FC -sub_81D11FC: @ 81D11FC - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x10] - bl FreeAndDestroyMonPicSprite - movs r5, 0x20 - negs r5, r5 - adds r0, r5, 0 - movs r1, 0x68 - bl sub_81D1184 - strh r0, [r4, 0x10] - ldrh r1, [r4, 0x10] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - adds r1, r5, 0 - movs r2, 0x28 - movs r3, 0x6 - bl sub_81D1258 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D11FC - - thumb_func_start sub_81D1234 -sub_81D1234: @ 81D1234 - ldr r2, =gSprites - ldrh r1, [r0, 0x10] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, [r0] - ldr r0, =SpriteCallbackDummy - eors r1, r0 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - bx lr - .pool - thumb_func_end sub_81D1234 - - thumb_func_start sub_81D1258 -sub_81D1258: @ 81D1258 - push {r4-r6,lr} - adds r4, r0, 0 - adds r6, r2, 0 - adds r5, r3, 0 - subs r0, r6, r1 - strh r1, [r4, 0x20] - lsls r1, 4 - strh r1, [r4, 0x2E] - lsls r0, 4 - adds r1, r5, 0 - bl __udivsi3 - strh r0, [r4, 0x30] - strh r5, [r4, 0x32] - strh r6, [r4, 0x34] - ldr r0, =sub_81D1284 - str r0, [r4, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D1258 - - thumb_func_start sub_81D1284 -sub_81D1284: @ 81D1284 - push {lr} - adds r2, r0, 0 - ldrh r1, [r2, 0x32] - movs r3, 0x32 - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _081D12C8 - subs r0, r1, 0x1 - strh r0, [r2, 0x32] - ldrh r0, [r2, 0x30] - ldrh r1, [r2, 0x2E] - adds r0, r1 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r0, 20 - strh r0, [r2, 0x20] - movs r1, 0x20 - negs r1, r1 - cmp r0, r1 - bgt _081D12BA - adds r0, r2, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - b _081D12D0 -_081D12BA: - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - b _081D12D0 -_081D12C8: - ldrh r0, [r2, 0x34] - strh r0, [r2, 0x20] - ldr r0, =SpriteCallbackDummy - str r0, [r2, 0x1C] -_081D12D0: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D1284 - - thumb_func_start sub_81D12D8 -sub_81D12D8: @ 81D12D8 - push {r4-r6,lr} - bl sub_81D1350 - ldr r5, =gUnknown_030012C0 - adds r0, r5, 0 - bl sub_81D0914 - adds r6, r0, 0 - ldr r2, =gUnknown_030012C4 - movs r1, 0 - str r1, [r2] - ldr r0, [r5] - cmp r1, r0 - bcs _081D130A - adds r4, r2, 0 -_081D12F6: - ldr r0, [r4] - ldm r6!, {r1} - bl sub_81D1370 - ldr r1, [r4] - adds r1, 0x1 - str r1, [r4] - ldr r0, [r5] - cmp r1, r0 - bcc _081D12F6 -_081D130A: - ldr r4, =gUnknown_030012C0 - adds r0, r4, 0 - bl sub_81D092C - adds r6, r0, 0 - ldr r2, =gUnknown_030012C4 - movs r1, 0 - str r1, [r2] - ldr r0, [r4] - cmp r1, r0 - bcs _081D133A - adds r4, r2, 0 -_081D1322: - ldr r0, [r4] - adds r0, 0x1B - ldm r6!, {r1} - bl sub_81D1370 - ldr r1, [r4] - adds r1, 0x1 - str r1, [r4] - ldr r0, =gUnknown_030012C0 - ldr r0, [r0] - cmp r1, r0 - bcc _081D1322 -_081D133A: - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D12D8 - - thumb_func_start sub_81D1350 -sub_81D1350: @ 81D1350 - push {lr} - sub sp, 0x8 - movs r0, 0x20 - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_81D1350 - - thumb_func_start sub_81D1370 -sub_81D1370: @ 81D1370 - push {r4-r6,lr} - sub sp, 0x10 - adds r4, r0, 0 - adds r6, r1, 0 - movs r1, 0x9 - bl __umodsi3 - adds r5, r0, 0 - lsls r5, 1 - adds r5, 0xB - adds r0, r4, 0 - movs r1, 0x9 - bl __udivsi3 - adds r4, r0, 0 - lsls r4, 1 - adds r4, 0x4 - add r0, sp, 0x8 - adds r1, r6, 0 - bl sub_81D13BC - lsls r5, 24 - lsrs r5, 24 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x2 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x1 - add r1, sp, 0x8 - adds r2, r5, 0 - adds r3, r4, 0 - bl CopyToBgTilemapBufferRect - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81D1370 - - thumb_func_start sub_81D13BC -sub_81D13BC: @ 81D13BC - push {r4,r5,lr} - ldr r2, =gUnknown_08624BF8 - lsls r1, 2 - adds r1, r2 - ldrh r3, [r1, 0x2] - adds r3, 0x2 - lsls r3, 16 - ldrh r1, [r1] - lsls r1, 1 - adds r1, 0x1 - lsls r1, 16 - lsrs r1, 16 - lsrs r3, 4 - adds r2, r1, 0 - orrs r2, r3 - strh r2, [r0] - movs r5, 0x80 - lsls r5, 3 - adds r4, r5, 0 - orrs r2, r4 - strh r2, [r0, 0x2] - adds r1, 0x1 - orrs r1, r3 - strh r1, [r0, 0x4] - orrs r1, r4 - strh r1, [r0, 0x6] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D13BC - - thumb_func_start sub_81D13FC -sub_81D13FC: @ 81D13FC - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gUnknown_08624C78 - bl LoadCompressedSpriteSheet - ldr r0, =gUnknown_08624C80 - bl sub_81C795C - ldr r0, =gUnknown_08624D04 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, =gSprites - adds r1, r0 - str r1, [r4, 0x14] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D13FC - - thumb_func_start sub_81D1448 -sub_81D1448: @ 81D1448 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r6, r0, 0 - bl sub_81D0944 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r4, 0 - movs r1, 0x9 - bl __modsi3 - adds r5, r0, 0 - lsls r5, 4 - adds r5, 0x60 - adds r0, r4, 0 - movs r1, 0x9 - bl __divsi3 - lsls r0, 4 - adds r0, 0x28 - ldr r1, [r6, 0x14] - movs r2, 0 - mov r8, r2 - strh r5, [r1, 0x20] - ldr r1, [r6, 0x14] - strh r0, [r1, 0x22] - bl sub_81D0954 - adds r4, r0, 0 - movs r0, 0x9 - bl GetSpriteTileStartByTag - ldr r3, [r6, 0x14] - ldr r1, =gUnknown_08624BF8 - lsls r4, 2 - adds r4, r1 - ldrh r1, [r4] - lsls r1, 4 - adds r0, r1 - ldr r2, =0x000003ff - adds r1, r2, 0 - ands r0, r1 - ldrh r2, [r3, 0x4] - ldr r1, =0xfffffc00 - ands r1, r2 - orrs r1, r0 - strh r1, [r3, 0x4] - ldrh r0, [r4, 0x2] - adds r0, 0xF - lsls r0, 16 - lsrs r0, 16 - bl IndexOfSpritePaletteTag - ldr r3, [r6, 0x14] - lsls r0, 4 - ldrb r2, [r3, 0x5] - movs r1, 0xF - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x5] - ldr r0, [r6, 0x14] - movs r1, 0x1 - bl StartSpriteAffineAnim - ldr r1, [r6, 0x14] - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldr r0, [r6, 0x14] - mov r1, r8 - strh r1, [r0, 0x2E] - ldr r1, [r6, 0x14] - ldr r0, =sub_81D1538 - str r0, [r1, 0x1C] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D1448 - - thumb_func_start sub_81D1500 -sub_81D1500: @ 81D1500 - push {r4,lr} - adds r4, r0, 0 - ldr r1, [r4, 0x14] - movs r0, 0x1 - strh r0, [r1, 0x2E] - ldr r0, [r4, 0x14] - movs r1, 0x2 - bl StartSpriteAffineAnim - ldr r1, [r4, 0x14] - ldr r0, =sub_81D1538 - str r0, [r1, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D1500 - - thumb_func_start sub_81D1524 -sub_81D1524: @ 81D1524 - ldr r0, [r0, 0x14] - ldr r1, [r0, 0x1C] - ldr r0, =SpriteCallbackDummy - eors r1, r0 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - bx lr - .pool - thumb_func_end sub_81D1524 - - thumb_func_start sub_81D1538 -sub_81D1538: @ 81D1538 - push {lr} - adds r3, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _081D156A - movs r0, 0x3E - adds r0, r3 - mov r12, r0 - movs r0, 0x1 - ldrh r1, [r3, 0x2E] - ands r1, r0 - lsls r1, 2 - mov r0, r12 - ldrb r2, [r0] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - ldr r0, =SpriteCallbackDummy - str r0, [r3, 0x1C] -_081D156A: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D1538 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokenav_unk_10.s b/asm/pokenav_unk_10.s new file mode 100644 index 0000000000..b24f0b406c --- /dev/null +++ b/asm/pokenav_unk_10.s @@ -0,0 +1,2185 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + thumb_func_start sub_81D0450 +sub_81D0450: @ 81D0450 + push {r4,lr} + movs r0, 0xD + movs r1, 0x9C + bl AllocSubstruct + adds r4, r0, 0 + cmp r4, 0 + beq _081D0498 + movs r0, 0x12 + bl GetSubstructPtr + str r0, [r4, 0x8] + cmp r0, 0 + beq _081D0498 + adds r0, r4, 0 + bl sub_81D0814 + adds r1, r4, 0 + adds r1, 0x98 + ldr r0, =sub_81D04C4 + str r0, [r1] + ldr r1, =gKeyRepeatContinueDelay + movs r0, 0x3 + strh r0, [r1] + ldr r1, =gKeyRepeatStartDelay + movs r0, 0xA + strh r0, [r1] + movs r0, 0x1 + b _081D049A + .pool +_081D0498: + movs r0, 0 +_081D049A: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81D0450 + + thumb_func_start sub_81D04A0 +sub_81D04A0: @ 81D04A0 + push {lr} + movs r0, 0xD + bl GetSubstructPtr + adds r1, r0, 0 + adds r1, 0x98 + ldr r1, [r1] + bl _call_via_r1 + pop {r1} + bx r1 + thumb_func_end sub_81D04A0 + + thumb_func_start sub_81D04B8 +sub_81D04B8: @ 81D04B8 + push {lr} + movs r0, 0xD + bl FreePokenavSubstruct + pop {r0} + bx r0 + thumb_func_end sub_81D04B8 + + thumb_func_start sub_81D04C4 +sub_81D04C4: @ 81D04C4 + push {r4,lr} + adds r4, r0, 0 + ldr r2, =gMain + ldrh r1, [r2, 0x30] + movs r0, 0x40 + ands r0, r1 + cmp r0, 0 + beq _081D04E4 + ldr r3, [r4, 0x8] + ldrh r0, [r3, 0x2] + cmp r0, 0 + beq _081D04E4 + subs r0, 0x1 + b _081D04FC + .pool +_081D04E4: + ldrh r1, [r2, 0x30] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _081D050C + ldr r3, [r4, 0x8] + ldrh r1, [r3, 0x2] + ldrh r0, [r3] + subs r0, 0x1 + cmp r1, r0 + bge _081D050C + adds r0, r1, 0x1 +_081D04FC: + movs r1, 0 + strh r0, [r3, 0x2] + strh r1, [r4, 0xC] + adds r0, r4, 0 + bl sub_81D0814 + movs r0, 0x1 + b _081D053E +_081D050C: + ldrh r2, [r2, 0x2E] + movs r0, 0x1 + ands r0, r2 + cmp r0, 0 + beq _081D0528 + adds r1, r4, 0 + adds r1, 0x98 + ldr r0, =sub_81D0548 + str r0, [r1] + movs r0, 0x2 + b _081D053E + .pool +_081D0528: + movs r0, 0x2 + ands r0, r2 + cmp r0, 0 + bne _081D0534 + movs r0, 0 + b _081D053E +_081D0534: + adds r1, r4, 0 + adds r1, 0x98 + ldr r0, =sub_81D05D4 + str r0, [r1] + movs r0, 0x5 +_081D053E: + pop {r4} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81D04C4 + + thumb_func_start sub_81D0548 +sub_81D0548: @ 81D0548 + push {r4,lr} + adds r4, r0, 0 + ldr r0, =gMain + ldrh r1, [r0, 0x30] + movs r0, 0x40 + ands r0, r1 + cmp r0, 0 + beq _081D0562 + adds r0, r4, 0 + bl sub_81D05DC + cmp r0, 0 + bne _081D05A4 +_081D0562: + ldr r0, =gMain + ldrh r1, [r0, 0x30] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _081D0578 + adds r0, r4, 0 + bl sub_81D061C + cmp r0, 0 + bne _081D05A4 +_081D0578: + ldr r0, =gMain + ldrh r1, [r0, 0x30] + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + beq _081D058E + adds r0, r4, 0 + bl sub_81D0664 + cmp r0, 0 + bne _081D05A4 +_081D058E: + ldr r0, =gMain + ldrh r1, [r0, 0x30] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _081D05AC + adds r0, r4, 0 + bl sub_81D0688 + cmp r0, 0 + beq _081D05AC +_081D05A4: + movs r0, 0x3 + b _081D05CA + .pool +_081D05AC: + ldr r0, =gMain + ldrh r1, [r0, 0x2E] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + bne _081D05C0 + movs r0, 0 + b _081D05CA + .pool +_081D05C0: + adds r1, r4, 0 + adds r1, 0x98 + ldr r0, =sub_81D04C4 + str r0, [r1] + movs r0, 0x4 +_081D05CA: + pop {r4} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81D0548 + + thumb_func_start sub_81D05D4 +sub_81D05D4: @ 81D05D4 + ldr r0, =0x000186ae + bx lr + .pool + thumb_func_end sub_81D05D4 + + thumb_func_start sub_81D05DC +sub_81D05DC: @ 81D05DC + push {r4,lr} + adds r1, r0, 0 + ldrh r0, [r1, 0xC] + adds r2, r0, 0 + cmp r2, 0x18 + bhi _081D05F0 + cmp r2, 0x8 + bls _081D0612 + subs r0, 0x9 + b _081D060C +_081D05F0: + ldrh r3, [r1, 0x10] + adds r2, r3, 0 + cmp r2, 0 + beq _081D0612 + ldrh r0, [r1, 0xC] + subs r0, 0x1B + ldrh r4, [r1, 0xE] + adds r0, r4 + strh r0, [r1, 0xC] + lsls r0, 16 + lsrs r0, 16 + cmp r0, r2 + bcc _081D060E + subs r0, r3, 0x1 +_081D060C: + strh r0, [r1, 0xC] +_081D060E: + movs r0, 0x1 + b _081D0614 +_081D0612: + movs r0, 0 +_081D0614: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81D05DC + + thumb_func_start sub_81D061C +sub_81D061C: @ 81D061C + push {lr} + adds r2, r0, 0 + ldrh r0, [r2, 0xC] + adds r1, r0, 0 + cmp r1, 0x18 + bhi _081D065C + ldrh r3, [r2, 0xE] + cmp r1, r3 + bcs _081D0640 + adds r0, 0x9 + strh r0, [r2, 0xC] + ldrh r1, [r2, 0x10] + lsls r0, 16 + lsrs r0, 16 + cmp r0, r1 + bcc _081D0658 + subs r0, r1, 0x1 + b _081D0656 +_081D0640: + ldrh r0, [r2, 0x12] + cmp r0, 0 + beq _081D065C + ldrh r1, [r2, 0xC] + ldrh r0, [r2, 0xE] + subs r0, r1, r0 + ldrh r1, [r2, 0x12] + cmp r0, r1 + blt _081D0654 + subs r0, r1, 0x1 +_081D0654: + adds r0, 0x1B +_081D0656: + strh r0, [r2, 0xC] +_081D0658: + movs r0, 0x1 + b _081D065E +_081D065C: + movs r0, 0 +_081D065E: + pop {r1} + bx r1 + thumb_func_end sub_81D061C + + thumb_func_start sub_81D0664 +sub_81D0664: @ 81D0664 + push {r4,r5,lr} + adds r5, r0, 0 + ldrh r4, [r5, 0xC] + adds r0, r4, 0 + movs r1, 0x9 + bl __umodsi3 + lsls r0, 16 + cmp r0, 0 + bne _081D067C + movs r0, 0 + b _081D0682 +_081D067C: + subs r0, r4, 0x1 + strh r0, [r5, 0xC] + movs r0, 0x1 +_081D0682: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81D0664 + + thumb_func_start sub_81D0688 +sub_81D0688: @ 81D0688 + push {r4,r5,lr} + adds r5, r0, 0 + ldrh r4, [r5, 0xC] + adds r0, r4, 0 + movs r1, 0x9 + bl __umodsi3 + lsls r0, 16 + lsrs r1, r0, 16 + cmp r1, 0x7 + bgt _081D06BC + cmp r4, 0x1A + bhi _081D06AC + ldrh r0, [r5, 0x10] + subs r0, 0x1 + cmp r4, r0 + bge _081D06BC + b _081D06B4 +_081D06AC: + ldrh r0, [r5, 0x12] + subs r0, 0x1 + cmp r1, r0 + bge _081D06BC +_081D06B4: + adds r0, r4, 0x1 + strh r0, [r5, 0xC] + movs r0, 0x1 + b _081D06BE +_081D06BC: + movs r0, 0 +_081D06BE: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81D0688 + + thumb_func_start sub_81D06C4 +sub_81D06C4: @ 81D06C4 + push {lr} + movs r0, 0xD + bl GetSubstructPtr + ldr r0, [r0, 0x8] + ldrh r0, [r0, 0x2] + pop {r1} + bx r1 + thumb_func_end sub_81D06C4 + + thumb_func_start sub_81D06D4 +sub_81D06D4: @ 81D06D4 + push {lr} + movs r0, 0xD + bl GetSubstructPtr + ldr r0, [r0, 0x8] + ldrh r0, [r0] + pop {r1} + bx r1 + thumb_func_end sub_81D06D4 + + thumb_func_start sub_81D06E4 +sub_81D06E4: @ 81D06E4 + push {r4-r7,lr} + adds r5, r0, 0 + adds r7, r1, 0 + adds r6, r2, 0 + movs r0, 0xD + bl GetSubstructPtr + ldr r1, [r0, 0x8] + ldrh r0, [r1, 0x2] + lsls r0, 2 + adds r0, 0x4 + adds r1, r0 + ldrb r0, [r1] + cmp r0, 0xE + bne _081D0730 + ldrb r1, [r1, 0x1] + movs r0, 0x64 + adds r4, r1, 0 + muls r4, r0 + ldr r0, =gPlayerParty + adds r4, r0 + adds r0, r4, 0 + movs r1, 0x2 + adds r2, r5, 0 + bl GetMonData + adds r0, r4, 0 + bl GetLevelFromMonExp + strb r0, [r7] + adds r0, r4, 0 + bl GetMonGender + strb r0, [r6] + b _081D0752 + .pool +_081D0730: + ldrb r0, [r1] + ldrb r1, [r1, 0x1] + bl GetBoxedMonPtr + adds r4, r0, 0 + bl GetBoxMonGender + strb r0, [r6] + adds r0, r4, 0 + bl GetLevelFromBoxMonExp + strb r0, [r7] + adds r0, r4, 0 + movs r1, 0x2 + adds r2, r5, 0 + bl GetBoxMonData +_081D0752: + adds r0, r5, 0 + bl StringGetEnd10 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_81D06E4 + + thumb_func_start sub_81D0760 +sub_81D0760: @ 81D0760 + push {r4-r7,lr} + adds r5, r0, 0 + adds r6, r1, 0 + adds r7, r2, 0 + movs r0, 0xD + bl GetSubstructPtr + ldr r1, [r0, 0x8] + ldrh r0, [r1, 0x2] + lsls r0, 2 + adds r0, 0x4 + adds r1, r0 + ldrb r0, [r1] + cmp r0, 0xE + bne _081D07AC + ldrb r1, [r1, 0x1] + movs r0, 0x64 + adds r4, r1, 0 + muls r4, r0 + ldr r0, =gPlayerParty + adds r4, r0 + adds r0, r4, 0 + movs r1, 0xB + bl GetMonData + strh r0, [r5] + adds r0, r4, 0 + movs r1, 0 + bl GetMonData + str r0, [r6] + adds r0, r4, 0 + movs r1, 0x1 + bl GetMonData + b _081D07D0 + .pool +_081D07AC: + ldrb r0, [r1] + ldrb r1, [r1, 0x1] + bl GetBoxedMonPtr + adds r4, r0, 0 + movs r1, 0xB + bl GetBoxMonData + strh r0, [r5] + adds r0, r4, 0 + movs r1, 0 + bl GetBoxMonData + str r0, [r6] + adds r0, r4, 0 + movs r1, 0x1 + bl GetBoxMonData +_081D07D0: + str r0, [r7] + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_81D0760 + + thumb_func_start sub_81D07D8 +sub_81D07D8: @ 81D07D8 + push {lr} + movs r0, 0xD + bl GetSubstructPtr + ldr r1, [r0, 0x8] + ldrh r0, [r1, 0x2] + lsls r0, 2 + adds r0, 0x4 + adds r1, r0 + ldrb r0, [r1] + cmp r0, 0xE + beq _081D07FA + ldrb r1, [r1, 0x1] + movs r2, 0x52 + bl GetBoxMonDataAt + b _081D080A +_081D07FA: + ldrb r1, [r1, 0x1] + movs r0, 0x64 + muls r0, r1 + ldr r1, =gPlayerParty + adds r0, r1 + movs r1, 0x52 + bl GetMonData +_081D080A: + pop {r1} + bx r1 + .pool + thumb_func_end sub_81D07D8 + + thumb_func_start sub_81D0814 +sub_81D0814: @ 81D0814 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + adds r5, r0, 0 + ldr r0, [r5, 0x8] + ldrh r1, [r0, 0x2] + lsls r1, 2 + adds r1, 0x4 + adds r1, r0, r1 + ldrb r0, [r1] + cmp r0, 0xE + bne _081D0848 + ldrb r1, [r1, 0x1] + movs r0, 0x64 + muls r0, r1 + ldr r1, =gPlayerParty + adds r0, r1 + movs r1, 0x53 + bl GetMonData + b _081D0852 + .pool +_081D0848: + ldrb r0, [r1] + ldrb r1, [r1, 0x1] + movs r2, 0x53 + bl GetBoxMonDataAt +_081D0852: + mov r12, r0 + movs r0, 0 + strh r0, [r5, 0x10] + strh r0, [r5, 0x12] + movs r6, 0 + ldr r0, =gUnknown_086237F8 + mov r9, r0 + mov r10, r9 +_081D0862: + lsls r2, r6, 2 + mov r3, r9 + adds r1, r2, r3 + movs r0, 0x1 + ldrb r3, [r1] + lsls r0, r3 + subs r4, r0, 0x1 + mov r0, r12 + ands r4, r0 + ldrb r0, [r1, 0x3] + adds r7, r2, 0 + cmp r0, 0 + bne _081D08AC + movs r3, 0 + adds r6, 0x1 + mov r8, r6 + cmp r3, r4 + bge _081D08D6 + adds r6, r5, 0 + adds r6, 0x14 + mov r1, r10 + adds r0, r7, r1 + ldrb r2, [r0, 0x2] +_081D0890: + ldrh r0, [r5, 0x10] + adds r1, r0, 0x1 + strh r1, [r5, 0x10] + lsls r0, 16 + lsrs r0, 14 + adds r0, r6, r0 + adds r1, r2, r3 + str r1, [r0] + adds r3, 0x1 + cmp r3, r4 + blt _081D0890 + b _081D08D6 + .pool +_081D08AC: + movs r3, 0 + adds r6, 0x1 + mov r8, r6 + cmp r3, r4 + bge _081D08D6 + adds r6, r5, 0 + adds r6, 0x78 + mov r1, r10 + adds r0, r7, r1 + ldrb r2, [r0, 0x2] +_081D08C0: + ldrh r0, [r5, 0x12] + adds r1, r0, 0x1 + strh r1, [r5, 0x12] + lsls r0, 16 + lsrs r0, 14 + adds r0, r6, r0 + adds r1, r2, r3 + str r1, [r0] + adds r3, 0x1 + cmp r3, r4 + blt _081D08C0 +_081D08D6: + mov r3, r9 + adds r0, r7, r3 + mov r1, r12 + ldrb r0, [r0] + lsrs r1, r0 + mov r12, r1 + mov r6, r8 + cmp r6, 0x10 + bls _081D0862 + ldrh r0, [r5, 0x10] + cmp r0, 0 + beq _081D0900 + subs r0, 0x1 + movs r1, 0x9 + bl __divsi3 + lsls r1, r0, 3 + adds r1, r0 + movs r0, 0 + strh r1, [r5, 0xE] + b _081D0904 +_081D0900: + strh r0, [r5, 0xE] + movs r0, 0x1B +_081D0904: + strh r0, [r5, 0xC] + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_81D0814 + + thumb_func_start sub_81D0914 +sub_81D0914: @ 81D0914 + push {r4,lr} + adds r4, r0, 0 + movs r0, 0xD + bl GetSubstructPtr + ldrh r1, [r0, 0x10] + str r1, [r4] + adds r0, 0x14 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81D0914 + + thumb_func_start sub_81D092C +sub_81D092C: @ 81D092C + push {r4,lr} + adds r4, r0, 0 + movs r0, 0xD + bl GetSubstructPtr + ldrh r1, [r0, 0x12] + str r1, [r4] + adds r0, 0x78 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81D092C + + thumb_func_start sub_81D0944 +sub_81D0944: @ 81D0944 + push {lr} + movs r0, 0xD + bl GetSubstructPtr + ldrh r0, [r0, 0xC] + pop {r1} + bx r1 + thumb_func_end sub_81D0944 + + thumb_func_start sub_81D0954 +sub_81D0954: @ 81D0954 + push {lr} + movs r0, 0xD + bl GetSubstructPtr + adds r1, r0, 0 + ldrh r0, [r1, 0xC] + cmp r0, 0x18 + ble _081D096C + subs r0, 0x1B + lsls r0, 2 + adds r1, 0x78 + b _081D0970 +_081D096C: + lsls r0, 2 + adds r1, 0x14 +_081D0970: + adds r1, r0 + ldr r0, [r1] + pop {r1} + bx r1 + thumb_func_end sub_81D0954 + + thumb_func_start sub_81D0978 +sub_81D0978: @ 81D0978 + push {r4,lr} + ldr r1, =0x0000101c + movs r0, 0xE + bl AllocSubstruct + adds r4, r0, 0 + cmp r4, 0 + beq _081D09A8 + ldr r0, =sub_81D0A6C + movs r1, 0x1 + bl CreateLoopedTask + str r0, [r4, 0x4] + ldr r0, =sub_81D0A58 + str r0, [r4] + movs r0, 0x1 + b _081D09AA + .pool +_081D09A8: + movs r0, 0 +_081D09AA: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81D0978 + + thumb_func_start sub_81D09B0 +sub_81D09B0: @ 81D09B0 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0xE + bl GetSubstructPtr + adds r5, r0, 0 + ldr r0, =gUnknown_08624BA0 + lsls r4, 2 + adds r4, r0 + ldr r0, [r4] + movs r1, 0x1 + bl CreateLoopedTask + str r0, [r5, 0x4] + ldr r0, =sub_81D0A58 + str r0, [r5] + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D09B0 + + thumb_func_start sub_81D09E0 +sub_81D09E0: @ 81D09E0 + push {lr} + movs r0, 0xE + bl GetSubstructPtr + ldr r0, [r0] + bl _call_via_r0 + pop {r1} + bx r1 + thumb_func_end sub_81D09E0 + + thumb_func_start sub_81D09F4 +sub_81D09F4: @ 81D09F4 + push {r4,lr} + movs r0, 0xE + bl GetSubstructPtr + adds r4, r0, 0 + ldrb r0, [r4, 0xA] + bl RemoveWindow + ldrb r0, [r4, 0x8] + bl RemoveWindow + ldrb r0, [r4, 0xC] + bl RemoveWindow + ldrb r0, [r4, 0xE] + bl RemoveWindow + adds r0, r4, 0 + bl sub_81D1178 + movs r0, 0x9 + bl FreeSpriteTilesByTag + movs r0, 0xF + bl FreeSpritePaletteByTag + movs r0, 0x10 + bl FreeSpritePaletteByTag + movs r0, 0x11 + bl FreeSpritePaletteByTag + movs r0, 0x12 + bl FreeSpritePaletteByTag + movs r0, 0x13 + bl FreeSpritePaletteByTag + ldr r0, [r4, 0x14] + bl FreeSpriteOamMatrix + ldr r0, [r4, 0x14] + bl DestroySprite + movs r0, 0xE + bl FreePokenavSubstruct + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_81D09F4 + + thumb_func_start sub_81D0A58 +sub_81D0A58: @ 81D0A58 + push {lr} + movs r0, 0xE + bl GetSubstructPtr + ldr r0, [r0, 0x4] + bl IsLoopedTaskActive + pop {r1} + bx r1 + thumb_func_end sub_81D0A58 + + thumb_func_start sub_81D0A6C +sub_81D0A6C: @ 81D0A6C + push {r4,r5,lr} + sub sp, 0x8 + adds r4, r0, 0 + movs r0, 0xE + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x9 + bls _081D0A80 + b _081D0C48 +_081D0A80: + lsls r0, r4, 2 + ldr r1, =_081D0A90 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_081D0A90: + .4byte _081D0AB8 + .4byte _081D0B04 + .4byte _081D0B74 + .4byte _081D0B88 + .4byte _081D0B9C + .4byte _081D0BB0 + .4byte _081D0BC4 + .4byte _081D0BD8 + .4byte _081D0BE8 + .4byte _081D0C3C +_081D0AB8: + ldr r0, =gUnknown_08624B98 + movs r1, 0x2 + bl InitBgTemplates + ldr r1, =gUnknown_08DDE030 + movs r0, 0 + str r0, [sp] + movs r0, 0x2 + movs r2, 0 + movs r3, 0 + bl decompress_and_copy_tile_data_to_vram + adds r1, r5, 0 + adds r1, 0x1C + movs r0, 0x2 + bl SetBgTilemapBuffer + ldr r1, =gUnknown_08DDE12C + movs r0, 0x2 + movs r2, 0 + movs r3, 0 + bl CopyToBgTilemapBuffer + ldr r0, =gUnknown_08DDE010 + movs r1, 0x10 + movs r2, 0x20 + bl CopyPaletteIntoBufferUnfaded + b _081D0BBA + .pool +_081D0B04: + bl free_temp_tile_data_buffers_if_possible + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0 + beq _081D0B12 + b _081D0C44 +_081D0B12: + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + movs r3, 0x1 + bl sub_8199DF0 + ldr r1, =gUnknown_086240B8 + str r4, [sp] + movs r0, 0x1 + movs r2, 0 + movs r3, 0x1 + bl decompress_and_copy_tile_data_to_vram + ldr r0, =0x0000081c + adds r1, r5, r0 + movs r0, 0x1 + bl SetBgTilemapBuffer + movs r0, 0x20 + str r0, [sp] + movs r0, 0x14 + str r0, [sp, 0x4] + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + movs r3, 0 + bl FillBgTilemapBufferRect_Palette0 + ldr r0, =gUnknown_08623FF8 + movs r1, 0x20 + movs r2, 0xA0 + bl CopyPaletteIntoBufferUnfaded + ldr r0, =gUnknown_08624098 + movs r1, 0xA0 + movs r2, 0x20 + bl CopyPaletteIntoBufferUnfaded + movs r0, 0x1 + b _081D0BBC + .pool +_081D0B74: + bl free_temp_tile_data_buffers_if_possible + lsls r0, 24 + cmp r0, 0 + bne _081D0C44 + adds r0, r5, 0 + bl sub_81D0E60 + movs r0, 0 + b _081D0C4A +_081D0B88: + bl free_temp_tile_data_buffers_if_possible + lsls r0, 24 + cmp r0, 0 + bne _081D0C44 + adds r0, r5, 0 + bl sub_81D0FCC + movs r0, 0 + b _081D0C4A +_081D0B9C: + bl free_temp_tile_data_buffers_if_possible + lsls r0, 24 + cmp r0, 0 + bne _081D0C44 + adds r0, r5, 0 + bl sub_81D10A4 + movs r0, 0 + b _081D0C4A +_081D0BB0: + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + cmp r0, 0 + bne _081D0C44 +_081D0BBA: + movs r0, 0x2 +_081D0BBC: + bl CopyBgTilemapBufferToVram + movs r0, 0 + b _081D0C4A +_081D0BC4: + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + cmp r0, 0 + bne _081D0C44 + adds r0, r5, 0 + bl sub_81D1148 + movs r0, 0x1 + b _081D0C4A +_081D0BD8: + adds r0, r5, 0 + bl sub_81D12D8 + movs r0, 0xA + bl sub_81C7BA4 + movs r0, 0 + b _081D0C4A +_081D0BE8: + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + cmp r0, 0 + bne _081D0C44 + adds r0, r5, 0 + bl sub_81D13FC + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl ChangeBgX + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl ChangeBgY + movs r0, 0x2 + movs r1, 0 + movs r2, 0 + bl ChangeBgX + movs r0, 0x2 + movs r1, 0 + movs r2, 0 + bl ChangeBgY + movs r0, 0x1 + bl ShowBg + movs r0, 0x2 + bl ShowBg + movs r0, 0x3 + bl HideBg + movs r0, 0x1 + bl sub_81C7AC0 + movs r0, 0 + b _081D0C4A +_081D0C3C: + bl IsPaletteFadeActive + cmp r0, 0 + beq _081D0C48 +_081D0C44: + movs r0, 0x2 + b _081D0C4A +_081D0C48: + movs r0, 0x4 +_081D0C4A: + add sp, 0x8 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81D0A6C + + thumb_func_start sub_81D0C54 +sub_81D0C54: @ 81D0C54 + push {lr} + cmp r0, 0 + beq _081D0C60 + cmp r0, 0x1 + beq _081D0C70 + b _081D0C7C +_081D0C60: + movs r0, 0x5 + bl PlaySE + movs r0, 0 + bl sub_81C7AC0 + movs r0, 0 + b _081D0C7E +_081D0C70: + bl IsPaletteFadeActive + cmp r0, 0 + beq _081D0C7C + movs r0, 0x2 + b _081D0C7E +_081D0C7C: + movs r0, 0x4 +_081D0C7E: + pop {r1} + bx r1 + thumb_func_end sub_81D0C54 + + thumb_func_start sub_81D0C84 +sub_81D0C84: @ 81D0C84 + push {r4,r5,lr} + adds r5, r0, 0 + movs r0, 0xE + bl GetSubstructPtr + adds r4, r0, 0 + cmp r5, 0x6 + bhi _081D0D24 + lsls r0, r5, 2 + ldr r1, =_081D0CA4 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_081D0CA4: + .4byte _081D0CC0 + .4byte _081D0CD0 + .4byte _081D0CE4 + .4byte _081D0CEE + .4byte _081D0CF8 + .4byte _081D0D02 + .4byte _081D0D16 +_081D0CC0: + movs r0, 0x5 + bl PlaySE + adds r0, r4, 0 + bl sub_81D11D8 + movs r0, 0 + b _081D0D26 +_081D0CD0: + adds r0, r4, 0 + bl sub_81D1234 + cmp r0, 0 + bne _081D0D20 + adds r0, r4, 0 + bl sub_81D0FF0 + movs r0, 0x1 + b _081D0D26 +_081D0CE4: + adds r0, r4, 0 + bl sub_81D12D8 + movs r0, 0x1 + b _081D0D26 +_081D0CEE: + adds r0, r4, 0 + bl sub_81D10D0 + movs r0, 0x1 + b _081D0D26 +_081D0CF8: + adds r0, r4, 0 + bl sub_81D0E84 + movs r0, 0x1 + b _081D0D26 +_081D0D02: + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + cmp r0, 0 + bne _081D0D20 + adds r0, r4, 0 + bl sub_81D11FC + movs r0, 0 + b _081D0D26 +_081D0D16: + adds r0, r4, 0 + bl sub_81D1234 + cmp r0, 0 + beq _081D0D24 +_081D0D20: + movs r0, 0x2 + b _081D0D26 +_081D0D24: + movs r0, 0x4 +_081D0D26: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81D0C84 + + thumb_func_start sub_81D0D2C +sub_81D0D2C: @ 81D0D2C + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0xE + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x1 + beq _081D0D5C + cmp r4, 0x1 + bgt _081D0D46 + cmp r4, 0 + beq _081D0D4C + b _081D0D84 +_081D0D46: + cmp r4, 0x2 + beq _081D0D76 + b _081D0D84 +_081D0D4C: + movs r0, 0x5 + bl PlaySE + adds r0, r5, 0 + bl sub_81D1448 + movs r0, 0 + b _081D0D86 +_081D0D5C: + adds r0, r5, 0 + bl sub_81D1524 + cmp r0, 0 + bne _081D0D80 + adds r0, r5, 0 + bl sub_81D0EFC + movs r0, 0xB + bl sub_81C7BA4 + movs r0, 0 + b _081D0D86 +_081D0D76: + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + cmp r0, 0 + beq _081D0D84 +_081D0D80: + movs r0, 0x2 + b _081D0D86 +_081D0D84: + movs r0, 0x4 +_081D0D86: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81D0D2C + + thumb_func_start sub_81D0D8C +sub_81D0D8C: @ 81D0D8C + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0xE + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x1 + beq _081D0DC0 + cmp r4, 0x1 + bgt _081D0DA6 + cmp r4, 0 + beq _081D0DB0 + b _081D0DF6 +_081D0DA6: + cmp r4, 0x2 + beq _081D0DD4 + cmp r4, 0x3 + beq _081D0DE8 + b _081D0DF6 +_081D0DB0: + movs r0, 0x5 + bl PlaySE + adds r0, r5, 0 + bl sub_81D1500 + movs r0, 0 + b _081D0DF8 +_081D0DC0: + adds r0, r5, 0 + bl sub_81D1524 + cmp r0, 0 + bne _081D0DF2 + adds r0, r5, 0 + bl sub_81D1448 + movs r0, 0 + b _081D0DF8 +_081D0DD4: + adds r0, r5, 0 + bl sub_81D1524 + cmp r0, 0 + bne _081D0DF2 + adds r0, r5, 0 + bl sub_81D0EFC + movs r0, 0 + b _081D0DF8 +_081D0DE8: + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + cmp r0, 0 + beq _081D0DF6 +_081D0DF2: + movs r0, 0x2 + b _081D0DF8 +_081D0DF6: + movs r0, 0x4 +_081D0DF8: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81D0D8C + + thumb_func_start sub_81D0E00 +sub_81D0E00: @ 81D0E00 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0xE + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x1 + beq _081D0E30 + cmp r4, 0x1 + bgt _081D0E1A + cmp r4, 0 + beq _081D0E20 + b _081D0E58 +_081D0E1A: + cmp r4, 0x2 + beq _081D0E4A + b _081D0E58 +_081D0E20: + movs r0, 0x5 + bl PlaySE + adds r0, r5, 0 + bl sub_81D1500 + movs r0, 0 + b _081D0E5A +_081D0E30: + adds r0, r5, 0 + bl sub_81D1524 + cmp r0, 0 + bne _081D0E54 + adds r0, r5, 0 + bl sub_81D0E84 + movs r0, 0xA + bl sub_81C7BA4 + movs r0, 0 + b _081D0E5A +_081D0E4A: + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + cmp r0, 0 + beq _081D0E58 +_081D0E54: + movs r0, 0x2 + b _081D0E5A +_081D0E58: + movs r0, 0x4 +_081D0E5A: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81D0E00 + + thumb_func_start sub_81D0E60 +sub_81D0E60: @ 81D0E60 + push {r4,lr} + adds r4, r0, 0 + ldr r0, =gUnknown_08624BB8 + bl AddWindow + strh r0, [r4, 0xA] + lsls r0, 24 + lsrs r0, 24 + bl PutWindowTilemap + adds r0, r4, 0 + bl sub_81D0E84 + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D0E60 + + thumb_func_start sub_81D0E84 +sub_81D0E84: @ 81D0E84 + push {r4,r5,lr} + sub sp, 0x10 + adds r5, r0, 0 + ldr r1, =gUnknown_08624BC0 + add r0, sp, 0xC + movs r2, 0x3 + bl memcpy + ldr r4, =gStringVar1 + bl sub_81D07D8 + adds r1, r0, 0 + adds r0, r4, 0 + movs r2, 0 + movs r3, 0x2 + bl ConvertIntToDecimalStringN + bl DynamicPlaceholderTextUtil_Reset + movs r0, 0 + adds r1, r4, 0 + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr + ldr r4, =gStringVar4 + ldr r1, =gText_RibbonsF700 + adds r0, r4, 0 + bl DynamicPlaceholderTextUtil_ExpandPlaceholders + ldrb r0, [r5, 0xA] + movs r1, 0x44 + bl FillWindowPixelBuffer + ldrb r0, [r5, 0xA] + add r1, sp, 0xC + str r1, [sp] + movs r1, 0x1 + negs r1, r1 + str r1, [sp, 0x4] + str r4, [sp, 0x8] + movs r1, 0x1 + movs r2, 0 + movs r3, 0x1 + bl AddTextPrinterParameterized3 + ldrb r0, [r5, 0xA] + movs r1, 0x2 + bl CopyWindowToVram + add sp, 0x10 + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D0E84 + + thumb_func_start sub_81D0EFC +sub_81D0EFC: @ 81D0EFC + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x10 + adds r7, r0, 0 + bl sub_81D0954 + adds r5, r0, 0 + ldr r1, =gUnknown_08624BC0 + add r0, sp, 0xC + movs r2, 0x3 + bl memcpy + ldrb r0, [r7, 0xA] + movs r1, 0x44 + bl FillWindowPixelBuffer + cmp r5, 0x18 + bhi _081D0F60 + lsls r1, r5, 3 + ldr r0, =gRibbonDescriptionPointers + adds r6, r1, r0 + movs r5, 0x80 + lsls r5, 17 + movs r4, 0x1 +_081D0F2E: + ldrb r0, [r7, 0xA] + lsrs r3, r5, 24 + add r1, sp, 0xC + str r1, [sp] + movs r1, 0x1 + negs r1, r1 + str r1, [sp, 0x4] + ldm r6!, {r1} + str r1, [sp, 0x8] + movs r1, 0x1 + movs r2, 0 + bl AddTextPrinterParameterized3 + movs r0, 0x80 + lsls r0, 21 + adds r5, r0 + subs r4, 0x1 + cmp r4, 0 + bge _081D0F2E + b _081D0FAA + .pool +_081D0F60: + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + adds r0, r5 + ldr r1, =0x0000318f + adds r0, r1 + ldrb r5, [r0] + cmp r5, 0 + beq _081D0FB2 + subs r5, 0x1 + movs r4, 0 + ldr r0, =gGiftRibbonDescriptionPointers + mov r8, r0 + movs r6, 0x80 + lsls r6, 17 +_081D0F7C: + ldrb r0, [r7, 0xA] + lsrs r3, r6, 24 + add r1, sp, 0xC + str r1, [sp] + movs r1, 0x1 + negs r1, r1 + str r1, [sp, 0x4] + lsls r1, r4, 2 + lsls r2, r5, 3 + adds r1, r2 + add r1, r8 + ldr r1, [r1] + str r1, [sp, 0x8] + movs r1, 0x1 + movs r2, 0 + bl AddTextPrinterParameterized3 + movs r0, 0x80 + lsls r0, 21 + adds r6, r0 + adds r4, 0x1 + cmp r4, 0x1 + ble _081D0F7C +_081D0FAA: + ldrb r0, [r7, 0xA] + movs r1, 0x2 + bl CopyWindowToVram +_081D0FB2: + add sp, 0x10 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D0EFC + + thumb_func_start sub_81D0FCC +sub_81D0FCC: @ 81D0FCC + push {r4,lr} + adds r4, r0, 0 + ldr r0, =gUnknown_08624BC4 + bl AddWindow + strh r0, [r4, 0x8] + lsls r0, 24 + lsrs r0, 24 + bl PutWindowTilemap + adds r0, r4, 0 + bl sub_81D0FF0 + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D0FCC + + thumb_func_start sub_81D0FF0 +sub_81D0FF0: @ 81D0FF0 + push {r4-r7,lr} + sub sp, 0x10 + ldrh r7, [r0, 0x8] + ldrb r5, [r0, 0x8] + adds r0, r5, 0 + movs r1, 0x11 + bl FillWindowPixelBuffer + ldr r4, =gStringVar3 + mov r6, sp + adds r6, 0xD + adds r0, r4, 0 + add r1, sp, 0xC + adds r2, r6, 0 + bl sub_81D06E4 + movs r0, 0x1 + str r0, [sp] + movs r0, 0xFF + str r0, [sp, 0x4] + movs r0, 0 + str r0, [sp, 0x8] + adds r0, r5, 0 + movs r1, 0x1 + adds r2, r4, 0 + movs r3, 0 + bl AddTextPrinterParameterized + ldrb r0, [r6] + cmp r0, 0 + beq _081D1040 + cmp r0, 0xFE + beq _081D1048 + ldr r1, =gUnknown_08624BE4 + b _081D104A + .pool +_081D1040: + ldr r1, =gUnknown_08624BCC + b _081D104A + .pool +_081D1048: + ldr r1, =gUnknown_08624BD8 +_081D104A: + ldr r5, =gStringVar1 + adds r0, r5, 0 + bl StringCopy + movs r1, 0xBA + strb r1, [r0] + adds r0, 0x1 + movs r1, 0xF9 + strb r1, [r0] + adds r0, 0x1 + movs r1, 0x5 + strb r1, [r0] + adds r0, 0x1 + add r1, sp, 0xC + ldrb r1, [r1] + movs r2, 0 + movs r3, 0x3 + bl ConvertIntToDecimalStringN + lsls r4, r7, 24 + lsrs r4, 24 + movs r0, 0x1 + str r0, [sp] + movs r0, 0xFF + str r0, [sp, 0x4] + movs r0, 0 + str r0, [sp, 0x8] + adds r0, r4, 0 + movs r1, 0x1 + adds r2, r5, 0 + movs r3, 0x3C + bl AddTextPrinterParameterized + adds r0, r4, 0 + movs r1, 0x2 + bl CopyWindowToVram + add sp, 0x10 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D0FF0 + + thumb_func_start sub_81D10A4 +sub_81D10A4: @ 81D10A4 + push {r4,lr} + adds r4, r0, 0 + ldr r0, =gUnknown_08624BE8 + bl AddWindow + strh r0, [r4, 0xC] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x11 + bl FillWindowPixelBuffer + ldrb r0, [r4, 0xC] + bl PutWindowTilemap + adds r0, r4, 0 + bl sub_81D10D0 + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D10A4 + + thumb_func_start sub_81D10D0 +sub_81D10D0: @ 81D10D0 + push {r4-r6,lr} + mov r6, r8 + push {r6} + sub sp, 0xC + mov r8, r0 + bl sub_81D06C4 + adds r4, r0, 0 + adds r4, 0x1 + bl sub_81D06D4 + adds r6, r0, 0 + ldr r5, =gStringVar1 + adds r0, r5, 0 + adds r1, r4, 0 + movs r2, 0x1 + movs r3, 0x3 + bl ConvertIntToDecimalStringN + movs r1, 0xBA + strb r1, [r0] + adds r0, 0x1 + adds r1, r6, 0 + movs r2, 0x1 + movs r3, 0x3 + bl ConvertIntToDecimalStringN + movs r0, 0x1 + adds r1, r5, 0 + movs r2, 0x38 + bl GetStringCenterAlignXOffset + adds r3, r0, 0 + mov r1, r8 + ldrb r0, [r1, 0xC] + lsls r3, 24 + lsrs r3, 24 + movs r1, 0x1 + str r1, [sp] + movs r1, 0xFF + str r1, [sp, 0x4] + movs r1, 0 + str r1, [sp, 0x8] + movs r1, 0x1 + adds r2, r5, 0 + bl AddTextPrinterParameterized + mov r1, r8 + ldrb r0, [r1, 0xC] + movs r1, 0x2 + bl CopyWindowToVram + add sp, 0xC + pop {r3} + mov r8, r3 + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D10D0 + + thumb_func_start sub_81D1148 +sub_81D1148: @ 81D1148 + push {r4,lr} + sub sp, 0xC + adds r4, r0, 0 + add r1, sp, 0x4 + add r2, sp, 0x8 + mov r0, sp + bl sub_81D0760 + bl ResetAllPicSprites + movs r0, 0x28 + movs r1, 0x68 + bl sub_81D1184 + strh r0, [r4, 0x10] + movs r0, 0xF + movs r1, 0 + bl sub_81C7990 + add sp, 0xC + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_81D1148 + + thumb_func_start sub_81D1178 +sub_81D1178: @ 81D1178 + push {lr} + ldrh r0, [r0, 0x10] + bl FreeAndDestroyMonPicSprite + pop {r0} + bx r0 + thumb_func_end sub_81D1178 + + thumb_func_start sub_81D1184 +sub_81D1184: @ 81D1184 + push {lr} + sub sp, 0x1C + add r1, sp, 0x14 + add r2, sp, 0x18 + add r0, sp, 0x10 + bl sub_81D0760 + add r0, sp, 0x10 + ldrh r0, [r0] + ldr r1, [sp, 0x18] + ldr r2, [sp, 0x14] + movs r3, 0x28 + str r3, [sp] + movs r3, 0x68 + str r3, [sp, 0x4] + movs r3, 0xF + str r3, [sp, 0x8] + ldr r3, =0x0000ffff + str r3, [sp, 0xC] + movs r3, 0x1 + bl CreateMonPicSprite_HandleDeoxys + lsls r0, 16 + lsrs r0, 16 + ldr r1, =gSprites + lsls r2, r0, 4 + adds r2, r0 + lsls r2, 2 + adds r2, r1 + ldrb r3, [r2, 0x5] + movs r1, 0xD + negs r1, r1 + ands r1, r3 + strb r1, [r2, 0x5] + add sp, 0x1C + pop {r1} + bx r1 + .pool + thumb_func_end sub_81D1184 + + thumb_func_start sub_81D11D8 +sub_81D11D8: @ 81D11D8 + push {lr} + ldrh r1, [r0, 0x10] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, =gSprites + adds r0, r1 + movs r2, 0x20 + negs r2, r2 + movs r1, 0x28 + movs r3, 0x6 + bl sub_81D1258 + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D11D8 + + thumb_func_start sub_81D11FC +sub_81D11FC: @ 81D11FC + push {r4,r5,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x10] + bl FreeAndDestroyMonPicSprite + movs r5, 0x20 + negs r5, r5 + adds r0, r5, 0 + movs r1, 0x68 + bl sub_81D1184 + strh r0, [r4, 0x10] + ldrh r1, [r4, 0x10] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, =gSprites + adds r0, r1 + adds r1, r5, 0 + movs r2, 0x28 + movs r3, 0x6 + bl sub_81D1258 + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D11FC + + thumb_func_start sub_81D1234 +sub_81D1234: @ 81D1234 + ldr r2, =gSprites + ldrh r1, [r0, 0x10] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r2, 0x1C + adds r0, r2 + ldr r1, [r0] + ldr r0, =SpriteCallbackDummy + eors r1, r0 + negs r0, r1 + orrs r0, r1 + lsrs r0, 31 + bx lr + .pool + thumb_func_end sub_81D1234 + + thumb_func_start sub_81D1258 +sub_81D1258: @ 81D1258 + push {r4-r6,lr} + adds r4, r0, 0 + adds r6, r2, 0 + adds r5, r3, 0 + subs r0, r6, r1 + strh r1, [r4, 0x20] + lsls r1, 4 + strh r1, [r4, 0x2E] + lsls r0, 4 + adds r1, r5, 0 + bl __udivsi3 + strh r0, [r4, 0x30] + strh r5, [r4, 0x32] + strh r6, [r4, 0x34] + ldr r0, =sub_81D1284 + str r0, [r4, 0x1C] + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D1258 + + thumb_func_start sub_81D1284 +sub_81D1284: @ 81D1284 + push {lr} + adds r2, r0, 0 + ldrh r1, [r2, 0x32] + movs r3, 0x32 + ldrsh r0, [r2, r3] + cmp r0, 0 + beq _081D12C8 + subs r0, r1, 0x1 + strh r0, [r2, 0x32] + ldrh r0, [r2, 0x30] + ldrh r1, [r2, 0x2E] + adds r0, r1 + strh r0, [r2, 0x2E] + lsls r0, 16 + asrs r0, 20 + strh r0, [r2, 0x20] + movs r1, 0x20 + negs r1, r1 + cmp r0, r1 + bgt _081D12BA + adds r0, r2, 0 + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x4 + orrs r1, r2 + strb r1, [r0] + b _081D12D0 +_081D12BA: + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + b _081D12D0 +_081D12C8: + ldrh r0, [r2, 0x34] + strh r0, [r2, 0x20] + ldr r0, =SpriteCallbackDummy + str r0, [r2, 0x1C] +_081D12D0: + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D1284 + + thumb_func_start sub_81D12D8 +sub_81D12D8: @ 81D12D8 + push {r4-r6,lr} + bl sub_81D1350 + ldr r5, =gUnknown_030012C0 + adds r0, r5, 0 + bl sub_81D0914 + adds r6, r0, 0 + ldr r2, =gUnknown_030012C4 + movs r1, 0 + str r1, [r2] + ldr r0, [r5] + cmp r1, r0 + bcs _081D130A + adds r4, r2, 0 +_081D12F6: + ldr r0, [r4] + ldm r6!, {r1} + bl sub_81D1370 + ldr r1, [r4] + adds r1, 0x1 + str r1, [r4] + ldr r0, [r5] + cmp r1, r0 + bcc _081D12F6 +_081D130A: + ldr r4, =gUnknown_030012C0 + adds r0, r4, 0 + bl sub_81D092C + adds r6, r0, 0 + ldr r2, =gUnknown_030012C4 + movs r1, 0 + str r1, [r2] + ldr r0, [r4] + cmp r1, r0 + bcs _081D133A + adds r4, r2, 0 +_081D1322: + ldr r0, [r4] + adds r0, 0x1B + ldm r6!, {r1} + bl sub_81D1370 + ldr r1, [r4] + adds r1, 0x1 + str r1, [r4] + ldr r0, =gUnknown_030012C0 + ldr r0, [r0] + cmp r1, r0 + bcc _081D1322 +_081D133A: + movs r0, 0x1 + bl CopyBgTilemapBufferToVram + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D12D8 + + thumb_func_start sub_81D1350 +sub_81D1350: @ 81D1350 + push {lr} + sub sp, 0x8 + movs r0, 0x20 + str r0, [sp] + movs r0, 0x14 + str r0, [sp, 0x4] + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + movs r3, 0 + bl FillBgTilemapBufferRect_Palette0 + add sp, 0x8 + pop {r0} + bx r0 + thumb_func_end sub_81D1350 + + thumb_func_start sub_81D1370 +sub_81D1370: @ 81D1370 + push {r4-r6,lr} + sub sp, 0x10 + adds r4, r0, 0 + adds r6, r1, 0 + movs r1, 0x9 + bl __umodsi3 + adds r5, r0, 0 + lsls r5, 1 + adds r5, 0xB + adds r0, r4, 0 + movs r1, 0x9 + bl __udivsi3 + adds r4, r0, 0 + lsls r4, 1 + adds r4, 0x4 + add r0, sp, 0x8 + adds r1, r6, 0 + bl sub_81D13BC + lsls r5, 24 + lsrs r5, 24 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0x2 + str r0, [sp] + str r0, [sp, 0x4] + movs r0, 0x1 + add r1, sp, 0x8 + adds r2, r5, 0 + adds r3, r4, 0 + bl CopyToBgTilemapBufferRect + add sp, 0x10 + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_81D1370 + + thumb_func_start sub_81D13BC +sub_81D13BC: @ 81D13BC + push {r4,r5,lr} + ldr r2, =gUnknown_08624BF8 + lsls r1, 2 + adds r1, r2 + ldrh r3, [r1, 0x2] + adds r3, 0x2 + lsls r3, 16 + ldrh r1, [r1] + lsls r1, 1 + adds r1, 0x1 + lsls r1, 16 + lsrs r1, 16 + lsrs r3, 4 + adds r2, r1, 0 + orrs r2, r3 + strh r2, [r0] + movs r5, 0x80 + lsls r5, 3 + adds r4, r5, 0 + orrs r2, r4 + strh r2, [r0, 0x2] + adds r1, 0x1 + orrs r1, r3 + strh r1, [r0, 0x4] + orrs r1, r4 + strh r1, [r0, 0x6] + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D13BC + + thumb_func_start sub_81D13FC +sub_81D13FC: @ 81D13FC + push {r4,lr} + adds r4, r0, 0 + ldr r0, =gUnknown_08624C78 + bl LoadCompressedSpriteSheet + ldr r0, =gUnknown_08624C80 + bl Pokenav_AllocAndLoadPalettes + ldr r0, =gUnknown_08624D04 + movs r1, 0 + movs r2, 0 + movs r3, 0 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + ldr r0, =gSprites + adds r1, r0 + str r1, [r4, 0x14] + adds r1, 0x3E + ldrb r0, [r1] + movs r2, 0x4 + orrs r0, r2 + strb r0, [r1] + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D13FC + + thumb_func_start sub_81D1448 +sub_81D1448: @ 81D1448 + push {r4-r6,lr} + mov r6, r8 + push {r6} + adds r6, r0, 0 + bl sub_81D0944 + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r4, 0 + movs r1, 0x9 + bl __modsi3 + adds r5, r0, 0 + lsls r5, 4 + adds r5, 0x60 + adds r0, r4, 0 + movs r1, 0x9 + bl __divsi3 + lsls r0, 4 + adds r0, 0x28 + ldr r1, [r6, 0x14] + movs r2, 0 + mov r8, r2 + strh r5, [r1, 0x20] + ldr r1, [r6, 0x14] + strh r0, [r1, 0x22] + bl sub_81D0954 + adds r4, r0, 0 + movs r0, 0x9 + bl GetSpriteTileStartByTag + ldr r3, [r6, 0x14] + ldr r1, =gUnknown_08624BF8 + lsls r4, 2 + adds r4, r1 + ldrh r1, [r4] + lsls r1, 4 + adds r0, r1 + ldr r2, =0x000003ff + adds r1, r2, 0 + ands r0, r1 + ldrh r2, [r3, 0x4] + ldr r1, =0xfffffc00 + ands r1, r2 + orrs r1, r0 + strh r1, [r3, 0x4] + ldrh r0, [r4, 0x2] + adds r0, 0xF + lsls r0, 16 + lsrs r0, 16 + bl IndexOfSpritePaletteTag + ldr r3, [r6, 0x14] + lsls r0, 4 + ldrb r2, [r3, 0x5] + movs r1, 0xF + ands r1, r2 + orrs r1, r0 + strb r1, [r3, 0x5] + ldr r0, [r6, 0x14] + movs r1, 0x1 + bl StartSpriteAffineAnim + ldr r1, [r6, 0x14] + adds r1, 0x3E + ldrb r2, [r1] + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + strb r0, [r1] + ldr r0, [r6, 0x14] + mov r1, r8 + strh r1, [r0, 0x2E] + ldr r1, [r6, 0x14] + ldr r0, =sub_81D1538 + str r0, [r1, 0x1C] + pop {r3} + mov r8, r3 + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D1448 + + thumb_func_start sub_81D1500 +sub_81D1500: @ 81D1500 + push {r4,lr} + adds r4, r0, 0 + ldr r1, [r4, 0x14] + movs r0, 0x1 + strh r0, [r1, 0x2E] + ldr r0, [r4, 0x14] + movs r1, 0x2 + bl StartSpriteAffineAnim + ldr r1, [r4, 0x14] + ldr r0, =sub_81D1538 + str r0, [r1, 0x1C] + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D1500 + + thumb_func_start sub_81D1524 +sub_81D1524: @ 81D1524 + ldr r0, [r0, 0x14] + ldr r1, [r0, 0x1C] + ldr r0, =SpriteCallbackDummy + eors r1, r0 + negs r0, r1 + orrs r0, r1 + lsrs r0, 31 + bx lr + .pool + thumb_func_end sub_81D1524 + + thumb_func_start sub_81D1538 +sub_81D1538: @ 81D1538 + push {lr} + adds r3, r0, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + beq _081D156A + movs r0, 0x3E + adds r0, r3 + mov r12, r0 + movs r0, 0x1 + ldrh r1, [r3, 0x2E] + ands r1, r0 + lsls r1, 2 + mov r0, r12 + ldrb r2, [r0] + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + mov r1, r12 + strb r0, [r1] + ldr r0, =SpriteCallbackDummy + str r0, [r3, 0x1C] +_081D156A: + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D1538 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokenav_unk_2.s b/asm/pokenav_unk_2.s new file mode 100644 index 0000000000..fd076973c4 --- /dev/null +++ b/asm/pokenav_unk_2.s @@ -0,0 +1,2277 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + +@ File centered around AllocSubstruct(2) + + thumb_func_start sub_81C98D4 +sub_81C98D4: @ 81C98D4 + push {r4,lr} + movs r4, 0 +_081C98D8: + adds r0, r4, 0 + bl sub_81CB0C8 + ldr r1, =gMapHeader + lsls r0, 24 + lsrs r0, 24 + ldrb r1, [r1, 0x14] + cmp r0, r1 + bne _081C9914 + adds r0, r4, 0 + bl sub_81CAE08 + cmp r0, 0 + beq _081C9914 + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldr r1, =0x000009ca + adds r0, r1 + adds r0, r4 + ldrb r0, [r0] + cmp r0, 0 + beq _081C9914 + movs r0, 0x1 + b _081C991C + .pool +_081C9914: + adds r4, 0x1 + cmp r4, 0x4D + ble _081C98D8 + movs r0, 0 +_081C991C: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81C98D4 + + thumb_func_start sub_81C9924 +sub_81C9924: @ 81C9924 + push {lr} + bl sub_81C9958 + adds r1, r0, 0 + cmp r1, 0 + beq _081C9938 + movs r0, 0 + strb r0, [r1, 0xD] + movs r0, 0x1 + b _081C993A +_081C9938: + movs r0, 0 +_081C993A: + pop {r1} + bx r1 + thumb_func_end sub_81C9924 + + thumb_func_start sub_81C9940 +sub_81C9940: @ 81C9940 + push {lr} + bl sub_81C9958 + adds r1, r0, 0 + cmp r1, 0 + beq _081C9952 + movs r0, 0x1 + strb r0, [r1, 0xD] + b _081C9954 +_081C9952: + movs r0, 0 +_081C9954: + pop {r1} + bx r1 + thumb_func_end sub_81C9940 + + thumb_func_start sub_81C9958 +sub_81C9958: @ 81C9958 + push {r4,lr} + ldr r1, =0x0000088c + movs r0, 0x2 + bl AllocSubstruct + adds r4, r0, 0 + cmp r4, 0 + beq _081C997A + movs r0, 0 + strb r0, [r4, 0xC] + ldr r0, =sub_81C9A10 + movs r1, 0x1 + bl CreateLoopedTask + str r0, [r4, 0x4] + ldr r0, =sub_81C99FC + str r0, [r4] +_081C997A: + adds r0, r4, 0 + pop {r4} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81C9958 + + thumb_func_start sub_81C9990 +sub_81C9990: @ 81C9990 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0x2 + bl GetSubstructPtr + adds r5, r0, 0 + ldr r0, =gUnknown_086201A0 + lsls r4, 2 + adds r4, r0 + ldr r0, [r4] + movs r1, 0x1 + bl CreateLoopedTask + str r0, [r5, 0x4] + ldr r0, =sub_81C99FC + str r0, [r5] + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81C9990 + + thumb_func_start sub_81C99C0 +sub_81C99C0: @ 81C99C0 + push {lr} + movs r0, 0x2 + bl GetSubstructPtr + ldr r0, [r0] + bl _call_via_r0 + pop {r1} + bx r1 + thumb_func_end sub_81C99C0 + + thumb_func_start sub_81C99D4 +sub_81C99D4: @ 81C99D4 + push {r4,lr} + movs r0, 0x2 + bl GetSubstructPtr + adds r4, r0, 0 + bl sub_81CA7F4 + ldrb r0, [r4, 0x8] + bl RemoveWindow + bl sub_81C9FEC + bl sub_81CA994 + movs r0, 0x2 + bl FreePokenavSubstruct + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_81C99D4 + + thumb_func_start sub_81C99FC +sub_81C99FC: @ 81C99FC + push {lr} + movs r0, 0x2 + bl GetSubstructPtr + ldr r0, [r0, 0x4] + bl IsLoopedTaskActive + pop {r1} + bx r1 + thumb_func_end sub_81C99FC + + thumb_func_start sub_81C9A10 +sub_81C9A10: @ 81C9A10 + push {r4,r5,lr} + sub sp, 0x4 + adds r4, r0, 0 + movs r0, 0x2 + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x9 + bls _081C9A24 + b _081C9C60 +_081C9A24: + lsls r0, r4, 2 + ldr r1, =_081C9A34 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_081C9A34: + .4byte _081C9A5C + .4byte _081C9AEC + .4byte _081C9B30 + .4byte _081C9B88 + .4byte _081C9B9E + .4byte _081C9BA4 + .4byte _081C9BB6 + .4byte _081C9BC0 + .4byte _081C9C0E + .4byte _081C9C4C +_081C9A5C: + ldr r0, =gUnknown_08620194 + movs r1, 0x3 + bl InitBgTemplates + ldr r1, =gPokenavMessageBox_Gfx + movs r0, 0 + str r0, [sp] + movs r0, 0x1 + movs r2, 0 + movs r3, 0 + bl decompress_and_copy_tile_data_to_vram + adds r1, r5, 0 + adds r1, 0x8C + movs r0, 0x1 + bl SetBgTilemapBuffer + ldr r1, =gPokenavMessageBox_Tilemap + movs r0, 0x1 + movs r2, 0 + movs r3, 0 + bl CopyToBgTilemapBuffer + movs r0, 0x1 + bl CopyBgTilemapBufferToVram + ldr r0, =gPokenavMessageBox_Pal + movs r1, 0x10 + movs r2, 0x20 + bl CopyPaletteIntoBufferUnfaded + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl ChangeBgX + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl ChangeBgY + movs r0, 0x2 + movs r1, 0 + movs r2, 0 + bl ChangeBgX + movs r0, 0x2 + movs r1, 0 + movs r2, 0 + bl ChangeBgY + movs r0, 0x3 + movs r1, 0 + movs r2, 0 + bl ChangeBgX + movs r0, 0x3 + movs r1, 0 + movs r2, 0 + bl ChangeBgY +_081C9AD6: + movs r0, 0 + b _081C9C62 + .pool +_081C9AEC: + bl free_temp_tile_data_buffers_if_possible + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0 + beq _081C9AFA + b _081C9C5C +_081C9AFA: + ldr r1, =gUnknown_0861FD6C + str r0, [sp] + movs r0, 0x2 + movs r2, 0 + movs r3, 0 + bl decompress_and_copy_tile_data_to_vram + ldr r1, =gUnknown_0861FFF4 + movs r0, 0x1 + str r0, [sp] + movs r0, 0x2 + movs r2, 0 + movs r3, 0 + bl decompress_and_copy_tile_data_to_vram + ldr r0, =gUnknown_0861FD4C + movs r1, 0x20 + movs r2, 0x20 + bl CopyPaletteIntoBufferUnfaded + b _081C9AD6 + .pool +_081C9B30: + bl free_temp_tile_data_buffers_if_possible + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0 + beq _081C9B3E + b _081C9C5C +_081C9B3E: + ldr r1, =gUnknown_0861FC98 + str r0, [sp] + movs r0, 0x3 + movs r2, 0 + movs r3, 0 + bl decompress_and_copy_tile_data_to_vram + ldr r1, =gUnknown_0861FCAC + movs r0, 0x1 + str r0, [sp] + movs r0, 0x3 + movs r2, 0 + movs r3, 0 + bl decompress_and_copy_tile_data_to_vram + ldr r0, =gUnknown_0861FC78 + movs r1, 0x30 + movs r2, 0x20 + bl CopyPaletteIntoBufferUnfaded + bl sub_81C9894 + cmp r0, 0x3 + beq _081C9B76 + bl sub_81C9894 + cmp r0, 0x4 + bne _081C9AD6 +_081C9B76: + bl sub_81CA850 + b _081C9AD6 + .pool +_081C9B88: + bl free_temp_tile_data_buffers_if_possible + lsls r0, 24 + cmp r0, 0 + bne _081C9C5C + bl sub_81CA6E0 + bl sub_81CA7D4 +_081C9B9A: + movs r0, 0x1 + b _081C9C62 +_081C9B9E: + bl sub_81C9FC4 + b _081C9B9A +_081C9BA4: + bl sub_81CA714 + bl sub_81CA02C + bl sub_81CA640 + bl sub_81CA0C8 + b _081C9AD6 +_081C9BB6: + bl sub_81CA7C4 + cmp r0, 0 + bne _081C9C5C + b _081C9B9A +_081C9BC0: + movs r0, 0x1 + bl ShowBg + movs r0, 0x2 + bl ShowBg + movs r0, 0x3 + bl ShowBg + ldrb r0, [r5, 0xD] + cmp r0, 0 + beq _081C9BE0 + movs r0, 0x1 + bl sub_81C7AC0 + b _081C9BEC +_081C9BE0: + movs r0, 0x6E + bl PlaySE + movs r0, 0x3 + bl sub_81C7AC0 +_081C9BEC: + bl sub_81C9894 + cmp r0, 0x3 + beq _081C9BFE + cmp r0, 0x4 + bne _081C9C06 + movs r0, 0x7 + bl LoadLeftHeaderGfxForIndex +_081C9BFE: + movs r0, 0x1 + bl LoadLeftHeaderGfxForIndex + b _081C9AD6 +_081C9C06: + movs r0, 0 + bl LoadLeftHeaderGfxForIndex + b _081C9AD6 +_081C9C0E: + bl IsPaletteFadeActive + cmp r0, 0 + bne _081C9C5C + bl sub_81C9894 + cmp r0, 0x3 + beq _081C9C2C + cmp r0, 0x4 + bne _081C9C38 + movs r0, 0x7 + movs r1, 0 + movs r2, 0 + bl sub_81C7FA0 +_081C9C2C: + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl sub_81C7FA0 + b _081C9C42 +_081C9C38: + movs r0, 0 + movs r1, 0 + movs r2, 0 + bl sub_81C7FA0 +_081C9C42: + bl sub_81CA20C + bl titlescreen_0 + b _081C9B9A +_081C9C4C: + bl sub_81CA324 + cmp r0, 0 + bne _081C9C5C + bl sub_81C8010 + cmp r0, 0 + beq _081C9C60 +_081C9C5C: + movs r0, 0x2 + b _081C9C62 +_081C9C60: + movs r0, 0x4 +_081C9C62: + add sp, 0x4 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81C9A10 + + thumb_func_start sub_81C9C6C +sub_81C9C6C: @ 81C9C6C + push {lr} + cmp r0, 0 + beq _081C9C78 + cmp r0, 0x1 + beq _081C9C8E + b _081C9CA2 +_081C9C78: + bl sub_81CAA3C + bl sub_81CA278 + bl sub_81CA714 + movs r0, 0x5 + bl PlaySE + movs r0, 0 + b _081C9CA4 +_081C9C8E: + bl sub_81CA324 + cmp r0, 0 + bne _081C9C9E + bl sub_81CA7C4 + cmp r0, 0 + beq _081C9CA2 +_081C9C9E: + movs r0, 0x2 + b _081C9CA4 +_081C9CA2: + movs r0, 0x4 +_081C9CA4: + pop {r1} + bx r1 + thumb_func_end sub_81C9C6C + + thumb_func_start sub_81C9CA8 +sub_81C9CA8: @ 81C9CA8 + push {lr} + cmp r0, 0x1 + beq _081C9CDC + cmp r0, 0x1 + bgt _081C9CB8 + cmp r0, 0 + beq _081C9CC2 + b _081C9D3C +_081C9CB8: + cmp r0, 0x2 + beq _081C9CFA + cmp r0, 0x3 + beq _081C9D14 + b _081C9D3C +_081C9CC2: + bl sub_81CA9C8 + bl sub_81CA2DC + movs r0, 0 + movs r1, 0 + bl sub_81C7FC4 + movs r0, 0x5 + bl PlaySE + movs r0, 0 + b _081C9D3E +_081C9CDC: + bl sub_81CA324 + cmp r0, 0 + bne _081C9D34 + bl sub_81C8010 + cmp r0, 0 + bne _081C9D34 + bl sub_81CA0C8 + movs r0, 0x1 + bl LoadLeftHeaderGfxForIndex + movs r0, 0 + b _081C9D3E +_081C9CFA: + bl sub_81CA20C + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl sub_81C7FA0 + bl sub_81CA818 + bl sub_81CA714 + movs r0, 0 + b _081C9D3E +_081C9D14: + bl sub_81CA324 + cmp r0, 0 + bne _081C9D34 + bl sub_81C8010 + cmp r0, 0 + bne _081C9D34 + bl sub_81CA89C + cmp r0, 0 + bne _081C9D34 + bl sub_81CA7C4 + cmp r0, 0 + beq _081C9D38 +_081C9D34: + movs r0, 0x2 + b _081C9D3E +_081C9D38: + bl sub_81CA9D8 +_081C9D3C: + movs r0, 0x4 +_081C9D3E: + pop {r1} + bx r1 + thumb_func_end sub_81C9CA8 + + thumb_func_start sub_81C9D44 +sub_81C9D44: @ 81C9D44 + push {lr} + cmp r0, 0x1 + beq _081C9D72 + cmp r0, 0x1 + bgt _081C9D54 + cmp r0, 0 + beq _081C9D5E + b _081C9DD2 +_081C9D54: + cmp r0, 0x2 + beq _081C9D90 + cmp r0, 0x3 + beq _081C9DAA + b _081C9DD2 +_081C9D5E: + bl sub_81CA9C8 + bl sub_81CA2DC + movs r0, 0x1 + movs r1, 0 + bl sub_81C7FC4 + movs r0, 0 + b _081C9DD4 +_081C9D72: + bl sub_81CA324 + cmp r0, 0 + bne _081C9DCA + bl sub_81C8010 + cmp r0, 0 + bne _081C9DCA + bl sub_81CA0C8 + movs r0, 0 + bl LoadLeftHeaderGfxForIndex + movs r0, 0 + b _081C9DD4 +_081C9D90: + bl sub_81CA20C + movs r0, 0 + movs r1, 0 + movs r2, 0 + bl sub_81C7FA0 + bl sub_81CA864 + bl sub_81CA714 + movs r0, 0 + b _081C9DD4 +_081C9DAA: + bl sub_81CA324 + cmp r0, 0 + bne _081C9DCA + bl sub_81C8010 + cmp r0, 0 + bne _081C9DCA + bl sub_81CA89C + cmp r0, 0 + bne _081C9DCA + bl sub_81CA7C4 + cmp r0, 0 + beq _081C9DCE +_081C9DCA: + movs r0, 0x2 + b _081C9DD4 +_081C9DCE: + bl sub_81CA9D8 +_081C9DD2: + movs r0, 0x4 +_081C9DD4: + pop {r1} + bx r1 + thumb_func_end sub_81C9D44 + + thumb_func_start sub_81C9DD8 +sub_81C9DD8: @ 81C9DD8 + push {lr} + cmp r0, 0x1 + beq _081C9E04 + cmp r0, 0x1 + bgt _081C9DE8 + cmp r0, 0 + beq _081C9DF2 + b _081C9E50 +_081C9DE8: + cmp r0, 0x2 + beq _081C9E1A + cmp r0, 0x3 + beq _081C9E30 + b _081C9E50 +_081C9DF2: + bl sub_81CA9C8 + bl sub_81CA2DC + movs r0, 0x5 + bl PlaySE + movs r0, 0 + b _081C9E52 +_081C9E04: + bl sub_81CA324 + cmp r0, 0 + bne _081C9E48 + movs r0, 0x7 + bl LoadLeftHeaderGfxForIndex + bl sub_81CA0C8 + movs r0, 0 + b _081C9E52 +_081C9E1A: + bl sub_81CA20C + movs r0, 0x7 + movs r1, 0 + movs r2, 0 + bl sub_81C7FA0 + bl sub_81CA714 + movs r0, 0 + b _081C9E52 +_081C9E30: + bl sub_81CA324 + cmp r0, 0 + bne _081C9E48 + bl sub_81C8010 + cmp r0, 0 + bne _081C9E48 + bl sub_81CA89C + cmp r0, 0 + beq _081C9E4C +_081C9E48: + movs r0, 0x2 + b _081C9E52 +_081C9E4C: + bl sub_81CA9D8 +_081C9E50: + movs r0, 0x4 +_081C9E52: + pop {r1} + bx r1 + thumb_func_end sub_81C9DD8 + + thumb_func_start sub_81C9E58 +sub_81C9E58: @ 81C9E58 + push {lr} + cmp r0, 0x1 + beq _081C9E86 + cmp r0, 0x1 + bgt _081C9E68 + cmp r0, 0 + beq _081C9E72 + b _081C9EC2 +_081C9E68: + cmp r0, 0x2 + beq _081C9E9E + cmp r0, 0x3 + beq _081C9EAA + b _081C9EC2 +_081C9E72: + bl sub_81CA9C8 + bl sub_81CA2DC + movs r0, 0x7 + movs r1, 0 + bl sub_81C7FC4 + movs r0, 0 + b _081C9EC4 +_081C9E86: + bl sub_81CA324 + cmp r0, 0 + bne _081C9EBA + bl sub_81C8010 + cmp r0, 0 + bne _081C9EBA + bl sub_81CA0C8 + movs r0, 0 + b _081C9EC4 +_081C9E9E: + bl sub_81CA20C + bl sub_81CA714 + movs r0, 0 + b _081C9EC4 +_081C9EAA: + bl sub_81CA324 + cmp r0, 0 + bne _081C9EBA + bl sub_81CA89C + cmp r0, 0 + beq _081C9EBE +_081C9EBA: + movs r0, 0x2 + b _081C9EC4 +_081C9EBE: + bl sub_81CA9D8 +_081C9EC2: + movs r0, 0x4 +_081C9EC4: + pop {r1} + bx r1 + thumb_func_end sub_81C9E58 + + thumb_func_start sub_81C9EC8 +sub_81C9EC8: @ 81C9EC8 + push {lr} + cmp r0, 0 + beq _081C9ED4 + cmp r0, 0x1 + beq _081C9EE2 + b _081C9EF0 +_081C9ED4: + movs r0, 0x20 + bl PlaySE + bl sub_81CA770 + movs r0, 0 + b _081C9EF2 +_081C9EE2: + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + cmp r0, 0 + beq _081C9EF0 + movs r0, 0x2 + b _081C9EF2 +_081C9EF0: + movs r0, 0x4 +_081C9EF2: + pop {r1} + bx r1 + thumb_func_end sub_81C9EC8 + + thumb_func_start sub_81C9EF8 +sub_81C9EF8: @ 81C9EF8 + push {lr} + cmp r0, 0 + beq _081C9F04 + cmp r0, 0x1 + beq _081C9F12 + b _081C9F20 +_081C9F04: + movs r0, 0x5 + bl PlaySE + bl sub_81CA714 + movs r0, 0 + b _081C9F22 +_081C9F12: + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + cmp r0, 0 + beq _081C9F20 + movs r0, 0x2 + b _081C9F22 +_081C9F20: + movs r0, 0x4 +_081C9F22: + pop {r1} + bx r1 + thumb_func_end sub_81C9EF8 + + thumb_func_start sub_81C9F28 +sub_81C9F28: @ 81C9F28 + push {lr} + cmp r0, 0x1 + beq _081C9F52 + cmp r0, 0x1 + bgt _081C9F38 + cmp r0, 0 + beq _081C9F42 + b _081C9FBC +_081C9F38: + cmp r0, 0x2 + beq _081C9F96 + cmp r0, 0x3 + beq _081C9FB0 + b _081C9FBC +_081C9F42: + bl sub_81C98C4 + lsls r0, 16 + lsrs r0, 16 + bl sub_81C7BA4 + movs r0, 0 + b _081C9FBE +_081C9F52: + bl IsDma3ManagerBusyWithBgCopy_ + cmp r0, 0 + bne _081C9FB8 + bl sub_81C7880 + bl sub_81CA9C8 + bl sub_81CA2DC + bl sub_81C9894 + cmp r0, 0x3 + beq _081C9F7A + cmp r0, 0x4 + bne _081C9F84 + movs r0, 0x7 + movs r1, 0 + bl sub_81C7FC4 +_081C9F7A: + movs r0, 0x1 + movs r1, 0 + bl sub_81C7FC4 + b _081C9F8C +_081C9F84: + movs r0, 0 + movs r1, 0 + bl sub_81C7FC4 +_081C9F8C: + movs r0, 0x5 + bl PlaySE + movs r0, 0 + b _081C9FBE +_081C9F96: + bl sub_81CA324 + cmp r0, 0 + bne _081C9FB8 + bl sub_81C8010 + cmp r0, 0 + bne _081C9FB8 + movs r0, 0 + bl sub_81C7AC0 + movs r0, 0 + b _081C9FBE +_081C9FB0: + bl IsPaletteFadeActive + cmp r0, 0 + beq _081C9FBC +_081C9FB8: + movs r0, 0x2 + b _081C9FBE +_081C9FBC: + movs r0, 0x4 +_081C9FBE: + pop {r1} + bx r1 + thumb_func_end sub_81C9F28 + + thumb_func_start sub_81C9FC4 +sub_81C9FC4: @ 81C9FC4 + push {r4,r5,lr} + movs r5, 0 + ldr r4, =gUnknown_086201C4 +_081C9FCA: + adds r0, r4, 0 + bl LoadCompressedSpriteSheet + adds r4, 0x8 + adds r5, 0x1 + cmp r5, 0x1 + bls _081C9FCA + ldr r0, =gUnknown_086201D4 + bl Pokenav_AllocAndLoadPalettes + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81C9FC4 + + thumb_func_start sub_81C9FEC +sub_81C9FEC: @ 81C9FEC + push {lr} + movs r0, 0x3 + bl FreeSpriteTilesByTag + movs r0, 0x1 + bl FreeSpriteTilesByTag + movs r0, 0x4 + bl FreeSpritePaletteByTag + movs r0, 0x5 + bl FreeSpritePaletteByTag + movs r0, 0x6 + bl FreeSpritePaletteByTag + movs r0, 0x7 + bl FreeSpritePaletteByTag + movs r0, 0x8 + bl FreeSpritePaletteByTag + movs r0, 0x3 + bl FreeSpritePaletteByTag + bl sub_81CA094 + bl sub_81CA698 + pop {r0} + bx r0 + thumb_func_end sub_81C9FEC + + thumb_func_start sub_81CA02C +sub_81CA02C: @ 81CA02C + push {r4-r7,lr} + mov r7, r8 + push {r7} + movs r0, 0x2 + bl GetSubstructPtr + movs r2, 0 + adds r0, 0x2C + mov r8, r0 +_081CA03E: + movs r4, 0 + lsls r0, r2, 2 + lsls r1, r2, 4 + adds r7, r2, 0x1 + adds r0, r2 + lsls r0, 18 + movs r2, 0xA0 + lsls r2, 14 + adds r5, r0, r2 + mov r0, r8 + adds r6, r1, r0 +_081CA054: + ldr r0, =gUnknown_0862034C + movs r1, 0x8C + asrs r2, r5, 16 + movs r3, 0x3 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + ldr r0, =gSprites + adds r1, r0 + stm r6!, {r1} + lsls r0, r4, 5 + strh r0, [r1, 0x24] + adds r4, 0x1 + cmp r4, 0x3 + ble _081CA054 + adds r2, r7, 0 + cmp r2, 0x5 + ble _081CA03E + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CA02C + + thumb_func_start sub_81CA094 +sub_81CA094: @ 81CA094 + push {r4-r7,lr} + movs r0, 0x2 + bl GetSubstructPtr + movs r1, 0 + adds r7, r0, 0 + adds r7, 0x2C +_081CA0A2: + lsls r0, r1, 4 + adds r6, r1, 0x1 + adds r4, r0, r7 + movs r5, 0x3 +_081CA0AA: + ldr r0, [r4] + bl FreeSpriteOamMatrix + ldm r4!, {r0} + bl DestroySprite + subs r5, 0x1 + cmp r5, 0 + bge _081CA0AA + adds r1, r6, 0 + cmp r1, 0x5 + ble _081CA0A2 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_81CA094 + + thumb_func_start sub_81CA0C8 +sub_81CA0C8: @ 81CA0C8 + push {lr} + bl sub_81C9894 + lsls r2, r0, 3 + subs r2, r0 + lsls r2, 2 + ldr r1, =gUnknown_08620244 + adds r0, r2, r1 + subs r1, 0x4 + adds r2, r1 + ldrh r1, [r2] + ldrh r2, [r2, 0x2] + bl sub_81CA0EC + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CA0C8 + + thumb_func_start sub_81CA0EC +sub_81CA0EC: @ 81CA0EC + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x18 + adds r6, r0, 0 + str r1, [sp, 0x14] + str r2, [sp] + movs r0, 0x2 + bl GetSubstructPtr + mov r10, r0 + movs r0, 0x3 + bl GetSpriteTileStartByTag + lsls r0, 16 + lsrs r0, 16 + str r0, [sp, 0x4] + movs r1, 0 +_081CA114: + ldr r0, [r6] + cmp r0, 0 + beq _081CA1B0 + movs r5, 0 + lsls r2, r1, 4 + mov r0, r10 + adds r0, 0x2C + lsls r3, r1, 2 + mov r9, r3 + movs r4, 0x10 + add r4, r10 + mov r8, r4 + adds r7, r6, 0x4 + str r7, [sp, 0xC] + ldr r3, [sp, 0x14] + ldr r4, [sp] + adds r3, r4 + str r3, [sp, 0x8] + adds r1, 0x1 + str r1, [sp, 0x10] + adds r4, r2, r0 +_081CA13E: + ldr r3, [r4] + ldr r0, [r6] + ldrh r2, [r0] + ldr r7, [sp, 0x4] + adds r2, r7 + lsls r0, r5, 3 + adds r2, r0 + ldr r1, =0x000003ff + adds r0, r1, 0 + ands r2, r0 + ldrh r0, [r3, 0x4] + ldr r7, =0xfffffc00 + adds r1, r7, 0 + ands r0, r1 + orrs r0, r2 + strh r0, [r3, 0x4] + ldr r0, [r6] + ldrh r0, [r0, 0x2] + adds r0, 0x4 + lsls r0, 16 + lsrs r0, 16 + bl IndexOfSpritePaletteTag + ldr r3, [r4] + lsls r0, 4 + ldrb r2, [r3, 0x5] + movs r1, 0xF + ands r1, r2 + orrs r1, r0 + strb r1, [r3, 0x5] + ldr r2, [r4] + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + ldr r0, [r4] + mov r1, sp + ldrh r1, [r1, 0x14] + strh r1, [r0, 0x22] + ldr r1, [r4] + movs r0, 0x8C + strh r0, [r1, 0x20] + ldm r4!, {r1} + lsls r0, r5, 5 + strh r0, [r1, 0x24] + adds r5, 0x1 + cmp r5, 0x3 + ble _081CA13E + mov r1, r8 + add r1, r9 + movs r0, 0x1 + b _081CA1EC + .pool +_081CA1B0: + lsls r2, r1, 4 + mov r0, r10 + adds r0, 0x2C + lsls r3, r1, 2 + mov r9, r3 + movs r4, 0x10 + add r4, r10 + mov r8, r4 + adds r6, 0x4 + str r6, [sp, 0xC] + ldr r7, [sp, 0x14] + ldr r3, [sp] + adds r7, r3 + str r7, [sp, 0x8] + adds r1, 0x1 + str r1, [sp, 0x10] + movs r3, 0x4 + adds r2, r0 + movs r5, 0x3 +_081CA1D6: + ldm r2!, {r1} + adds r1, 0x3E + ldrb r0, [r1] + orrs r0, r3 + strb r0, [r1] + subs r5, 0x1 + cmp r5, 0 + bge _081CA1D6 + mov r1, r8 + add r1, r9 + movs r0, 0 +_081CA1EC: + str r0, [r1] + ldr r6, [sp, 0xC] + ldr r4, [sp, 0x8] + str r4, [sp, 0x14] + ldr r1, [sp, 0x10] + cmp r1, 0x5 + ble _081CA114 + add sp, 0x18 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_81CA0EC + + thumb_func_start sub_81CA20C +sub_81CA20C: @ 81CA20C + push {r4-r7,lr} + mov r7, r8 + push {r7} + movs r0, 0x2 + bl GetSubstructPtr + adds r6, r0, 0 + bl sub_81C98A4 + mov r8, r0 + movs r7, 0 + movs r5, 0 + adds r4, r6, 0 + adds r4, 0x2C +_081CA228: + lsls r0, r5, 2 + adds r1, r6, 0 + adds r1, 0x10 + adds r1, r0 + ldr r0, [r1] + cmp r0, 0 + beq _081CA25C + adds r0, r7, 0 + adds r7, 0x1 + cmp r0, r8 + bne _081CA244 + movs r2, 0x82 + strb r5, [r6, 0xB] + b _081CA246 +_081CA244: + movs r2, 0x8C +_081CA246: + adds r0, r4, 0 + movs r1, 0x80 + lsls r1, 1 + movs r3, 0xC + bl sub_81CA35C + adds r0, r4, 0 + movs r1, 0 + bl sub_81CA448 + b _081CA264 +_081CA25C: + adds r0, r4, 0 + movs r1, 0x1 + bl sub_81CA448 +_081CA264: + adds r4, 0x10 + adds r5, 0x1 + cmp r5, 0x5 + ble _081CA228 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_81CA20C + + thumb_func_start sub_81CA278 +sub_81CA278: @ 81CA278 + push {r4,r5,lr} + movs r0, 0x2 + bl GetSubstructPtr + adds r4, r0, 0 + bl sub_81C98A4 + adds r3, r0, 0 + movs r2, 0 + movs r5, 0 + ldr r0, [r4, 0x10] + cmp r0, 0 + beq _081CA298 + cmp r5, r3 + beq _081CA2B2 +_081CA296: + adds r5, 0x1 +_081CA298: + adds r2, 0x1 + cmp r2, 0x5 + bgt _081CA2B2 + lsls r0, r2, 2 + adds r1, r4, 0 + adds r1, 0x10 + adds r1, r0 + ldr r0, [r1] + cmp r0, 0 + beq _081CA298 + cmp r5, r3 + bne _081CA296 + adds r5, r2, 0 +_081CA2B2: + ldrb r0, [r4, 0xB] + lsls r0, 4 + adds r0, 0x2C + adds r0, r4, r0 + movs r1, 0x82 + movs r2, 0x8C + movs r3, 0x4 + bl sub_81CA35C + lsls r0, r5, 4 + adds r0, 0x2C + adds r0, r4, r0 + movs r1, 0x8C + movs r2, 0x82 + movs r3, 0x4 + bl sub_81CA35C + strb r5, [r4, 0xB] + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_81CA278 + + thumb_func_start sub_81CA2DC +sub_81CA2DC: @ 81CA2DC + push {r4-r6,lr} + movs r0, 0x2 + bl GetSubstructPtr + adds r6, r0, 0 + movs r5, 0 + adds r4, r6, 0 + adds r4, 0x2C +_081CA2EC: + lsls r0, r5, 2 + adds r1, r6, 0 + adds r1, 0x10 + adds r1, r0 + ldr r0, [r1] + cmp r0, 0 + beq _081CA316 + ldrb r0, [r6, 0xB] + cmp r0, r5 + beq _081CA310 + adds r0, r4, 0 + movs r1, 0x8C + movs r2, 0x80 + lsls r2, 1 + movs r3, 0x8 + bl sub_81CA35C + b _081CA316 +_081CA310: + adds r0, r4, 0 + bl sub_81CA3B4 +_081CA316: + adds r4, 0x10 + adds r5, 0x1 + cmp r5, 0x5 + ble _081CA2EC + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_81CA2DC + + thumb_func_start sub_81CA324 +sub_81CA324: @ 81CA324 + push {r4,lr} + movs r0, 0x2 + bl GetSubstructPtr + adds r3, r0, 0 + movs r2, 0 + ldr r4, =SpriteCallbackDummy + adds r1, r3, 0 + adds r1, 0x2C +_081CA336: + ldr r0, [r1] + ldr r0, [r0, 0x1C] + cmp r0, r4 + bne _081CA354 + adds r1, 0x10 + adds r2, 0x1 + cmp r2, 0x5 + ble _081CA336 + ldrb r0, [r3, 0xC] + cmp r0, 0 + bne _081CA354 + movs r0, 0 + b _081CA356 + .pool +_081CA354: + movs r0, 0x1 +_081CA356: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CA324 + + thumb_func_start sub_81CA35C +sub_81CA35C: @ 81CA35C + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + adds r4, r0, 0 + adds r5, r1, 0 + mov r9, r2 + adds r6, r3, 0 + ldr r0, =sub_81CA474 + mov r8, r0 + subs r0, r2, r5 + lsls r0, 4 + adds r1, r6, 0 + bl __divsi3 + adds r3, r0, 0 + movs r1, 0x3 + lsls r2, r5, 4 +_081CA380: + ldr r0, [r4] + strh r5, [r0, 0x20] + ldr r0, [r4] + strh r6, [r0, 0x2E] + ldr r0, [r4] + strh r3, [r0, 0x30] + ldr r0, [r4] + strh r2, [r0, 0x32] + ldr r0, [r4] + mov r7, r9 + strh r7, [r0, 0x3C] + ldm r4!, {r0} + mov r7, r8 + str r7, [r0, 0x1C] + subs r1, 0x1 + cmp r1, 0 + bge _081CA380 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CA35C + + thumb_func_start sub_81CA3B4 +sub_81CA3B4: @ 81CA3B4 + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r4, r0, 0 + movs r0, 0x2 + bl GetSubstructPtr + adds r7, r0, 0 + movs r5, 0 + mov r8, r5 +_081CA3C8: + ldr r2, [r4] + ldrb r1, [r2, 0x1] + movs r3, 0xD + negs r3, r3 + adds r0, r3, 0 + ands r1, r0 + movs r0, 0x4 + orrs r1, r0 + strb r1, [r2, 0x1] + ldr r2, [r4] + ldrb r0, [r2, 0x1] + movs r1, 0x3 + orrs r0, r1 + strb r0, [r2, 0x1] + ldr r1, [r4] + ldr r0, =sub_81CA4AC + str r0, [r1, 0x1C] + movs r6, 0x8 + strh r6, [r1, 0x2E] + ldr r0, [r4] + mov r1, r8 + strh r1, [r0, 0x30] + ldr r0, [r4] + strh r5, [r0, 0x3C] + ldr r0, [r4] + bl InitSpriteAffineAnim + ldm r4!, {r0} + movs r1, 0 + bl StartSpriteAffineAnim + adds r5, 0x1 + cmp r5, 0x3 + ble _081CA3C8 + movs r0, 0x52 + movs r1, 0x10 + bl SetGpuReg + ldr r0, =sub_81CA580 + movs r1, 0x3 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + strh r6, [r1, 0x8] + ldrb r0, [r7, 0xC] + adds r0, 0x1 + strb r0, [r7, 0xC] + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CA3B4 + + thumb_func_start sub_81CA448 +sub_81CA448: @ 81CA448 + push {r4-r6,lr} + adds r5, r0, 0 + movs r0, 0x1 + ands r1, r0 + lsls r4, r1, 2 + movs r6, 0x5 + negs r6, r6 + movs r3, 0x3 +_081CA458: + ldm r5!, {r0} + adds r0, 0x3E + ldrb r2, [r0] + adds r1, r6, 0 + ands r1, r2 + orrs r1, r4 + strb r1, [r0] + subs r3, 0x1 + cmp r3, 0 + bge _081CA458 + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_81CA448 + + thumb_func_start sub_81CA474 +sub_81CA474: @ 81CA474 + push {lr} + adds r2, r0, 0 + ldrh r0, [r2, 0x2E] + subs r0, 0x1 + strh r0, [r2, 0x2E] + lsls r0, 16 + asrs r0, 16 + movs r1, 0x1 + negs r1, r1 + cmp r0, r1 + beq _081CA49A + ldrh r0, [r2, 0x30] + ldrh r1, [r2, 0x32] + adds r0, r1 + strh r0, [r2, 0x32] + lsls r0, 16 + asrs r0, 20 + strh r0, [r2, 0x20] + b _081CA4A2 +_081CA49A: + ldrh r0, [r2, 0x3C] + strh r0, [r2, 0x20] + ldr r0, =SpriteCallbackDummy + str r0, [r2, 0x1C] +_081CA4A2: + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CA474 + + thumb_func_start sub_81CA4AC +sub_81CA4AC: @ 81CA4AC + push {r4,r5,lr} + adds r4, r0, 0 + ldrh r1, [r4, 0x2E] + movs r2, 0x2E + ldrsh r0, [r4, r2] + cmp r0, 0 + bne _081CA574 + movs r0, 0x30 + ldrsh r5, [r4, r0] + cmp r5, 0 + bne _081CA4E2 + adds r0, r4, 0 + movs r1, 0x1 + bl StartSpriteAffineAnim + ldrh r0, [r4, 0x30] + adds r0, 0x1 + strh r0, [r4, 0x30] + movs r0, 0x80 + lsls r0, 1 + strh r0, [r4, 0x32] + ldrh r0, [r4, 0x24] + ldrh r1, [r4, 0x20] + adds r0, r1 + strh r0, [r4, 0x20] + strh r5, [r4, 0x24] + b _081CA578 +_081CA4E2: + ldrh r0, [r4, 0x32] + adds r0, 0x10 + strh r0, [r4, 0x32] + movs r2, 0x32 + ldrsh r0, [r4, r2] + asrs r1, r0, 3 + adds r0, r1, 0 + subs r0, 0x20 + lsrs r1, r0, 31 + adds r0, r1 + asrs r1, r0, 1 + movs r2, 0x3C + ldrsh r0, [r4, r2] + cmp r0, 0x1 + beq _081CA518 + cmp r0, 0x1 + bgt _081CA50A + cmp r0, 0 + beq _081CA514 + b _081CA526 +_081CA50A: + cmp r0, 0x2 + beq _081CA51C + cmp r0, 0x3 + beq _081CA520 + b _081CA526 +_081CA514: + negs r1, r1 + b _081CA520 +_081CA518: + negs r0, r1 + b _081CA524 +_081CA51C: + strh r1, [r4, 0x24] + b _081CA526 +_081CA520: + lsls r0, r1, 1 + adds r0, r1 +_081CA524: + strh r0, [r4, 0x24] +_081CA526: + adds r0, r4, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + beq _081CA578 + adds r2, r4, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + ldrb r0, [r4, 0x3] + lsls r0, 26 + lsrs r0, 27 + bl FreeOamMatrix + ldrb r1, [r4, 0x1] + lsrs r1, 6 + ldrb r2, [r4, 0x3] + lsrs r2, 6 + adds r0, r4, 0 + movs r3, 0 + bl CalcCenterToCornerVec + ldrb r1, [r4, 0x1] + movs r0, 0x4 + negs r0, r0 + ands r0, r1 + movs r1, 0xD + negs r1, r1 + ands r0, r1 + strb r0, [r4, 0x1] + ldr r0, =SpriteCallbackDummy + str r0, [r4, 0x1C] + b _081CA578 + .pool +_081CA574: + subs r0, r1, 0x1 + strh r0, [r4, 0x2E] +_081CA578: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_81CA4AC + + thumb_func_start sub_81CA580 +sub_81CA580: @ 81CA580 + 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 + ldrh r0, [r4] + movs r1, 0 + ldrsh r2, [r4, r1] + cmp r2, 0 + bne _081CA634 + movs r0, 0x2 + ldrsh r1, [r4, r0] + cmp r1, 0 + beq _081CA5AC + cmp r1, 0x1 + beq _081CA5CC + b _081CA638 + .pool +_081CA5AC: + movs r0, 0x10 + strh r0, [r4, 0x4] + strh r2, [r4, 0x6] + movs r1, 0xFC + lsls r1, 6 + movs r0, 0x50 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0x10 + bl SetGpuReg + ldrh r0, [r4, 0x2] + adds r0, 0x1 + strh r0, [r4, 0x2] + b _081CA638 +_081CA5CC: + ldrh r0, [r4, 0x8] + ands r1, r0 + cmp r1, 0 + beq _081CA5E4 + ldrh r0, [r4, 0x4] + subs r0, 0x3 + strh r0, [r4, 0x4] + lsls r0, 16 + cmp r0, 0 + bge _081CA5F6 + strh r2, [r4, 0x4] + b _081CA5F6 +_081CA5E4: + ldrh r0, [r4, 0x6] + adds r0, 0x3 + strh r0, [r4, 0x6] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x10 + ble _081CA5F6 + movs r0, 0x10 + strh r0, [r4, 0x6] +_081CA5F6: + ldrh r1, [r4, 0x6] + lsls r1, 8 + ldrh r0, [r4, 0x4] + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xC + bne _081CA638 + movs r0, 0x2 + bl GetSubstructPtr + ldrb r1, [r0, 0xC] + subs r1, 0x1 + strb r1, [r0, 0xC] + movs r1, 0x80 + lsls r1, 5 + movs r0, 0x52 + bl SetGpuReg + adds r0, r5, 0 + bl DestroyTask + b _081CA638 +_081CA634: + subs r0, 0x1 + strh r0, [r4] +_081CA638: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_81CA580 + + thumb_func_start sub_81CA640 +sub_81CA640: @ 81CA640 + push {r4,lr} + movs r0, 0x2 + bl GetSubstructPtr + adds r4, r0, 0 + ldr r0, =gUnknown_0862036C + movs r1, 0x10 + movs r2, 0x60 + movs r3, 0x4 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + ldr r0, =gSprites + adds r1, r0 + str r1, [r4, 0x28] + bl sub_81C98D4 + cmp r0, 0 + beq _081CA684 + ldr r1, [r4, 0x28] + ldr r0, =sub_81CA6AC + str r0, [r1, 0x1C] + b _081CA690 + .pool +_081CA684: + ldr r0, [r4, 0x28] + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x4 + orrs r1, r2 + strb r1, [r0] +_081CA690: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_81CA640 + + thumb_func_start sub_81CA698 +sub_81CA698: @ 81CA698 + push {lr} + movs r0, 0x2 + bl GetSubstructPtr + ldr r0, [r0, 0x28] + bl DestroySprite + pop {r0} + bx r0 + thumb_func_end sub_81CA698 + + thumb_func_start sub_81CA6AC +sub_81CA6AC: @ 81CA6AC + push {lr} + adds r3, r0, 0 + ldrh r0, [r3, 0x2E] + adds r0, 0x1 + strh r0, [r3, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x8 + ble _081CA6DA + movs r0, 0 + strh r0, [r3, 0x2E] + adds r3, 0x3E + ldrb r2, [r3] + lsls r0, r2, 29 + lsrs r0, 31 + movs r1, 0x1 + eors r1, r0 + lsls r1, 2 + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r3] +_081CA6DA: + pop {r0} + bx r0 + thumb_func_end sub_81CA6AC + + thumb_func_start sub_81CA6E0 +sub_81CA6E0: @ 81CA6E0 + push {r4,lr} + movs r0, 0x2 + bl GetSubstructPtr + adds r4, r0, 0 + ldr r0, =gUnknown_086202CC + bl AddWindow + strh r0, [r4, 0x8] + lsls r0, 24 + lsrs r0, 24 + bl PutWindowTilemap + ldrb r0, [r4, 0x8] + movs r1, 0x66 + bl FillWindowPixelBuffer + ldrb r0, [r4, 0x8] + movs r1, 0x3 + bl CopyWindowToVram + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CA6E0 + + thumb_func_start sub_81CA714 +sub_81CA714: @ 81CA714 + push {r4-r6,lr} + sub sp, 0xC + movs r0, 0x2 + bl GetSubstructPtr + adds r5, r0, 0 + bl sub_81C98B4 + ldr r1, =gUnknown_086202D4 + lsls r0, 2 + adds r0, r1 + ldr r6, [r0] + movs r2, 0x1 + negs r2, r2 + movs r0, 0x1 + adds r1, r6, 0 + bl GetStringWidth + adds r4, r0, 0 + ldrb r0, [r5, 0x8] + movs r1, 0x66 + bl FillWindowPixelBuffer + ldrb r0, [r5, 0x8] + movs r2, 0xC0 + subs r2, r4 + lsrs r2, 1 + lsls r2, 24 + lsrs r2, 24 + ldr r1, =gUnknown_0862030C + str r1, [sp] + movs r1, 0 + str r1, [sp, 0x4] + str r6, [sp, 0x8] + movs r1, 0x1 + movs r3, 0x1 + bl AddTextPrinterParameterized3 + add sp, 0xC + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CA714 + + thumb_func_start sub_81CA770 +sub_81CA770: @ 81CA770 + push {r4-r6,lr} + sub sp, 0xC + movs r0, 0x2 + bl GetSubstructPtr + adds r5, r0, 0 + ldr r6, =gText_NoRibbonWinners + movs r2, 0x1 + negs r2, r2 + movs r0, 0x1 + adds r1, r6, 0 + bl GetStringWidth + adds r4, r0, 0 + ldrb r0, [r5, 0x8] + movs r1, 0x66 + bl FillWindowPixelBuffer + ldrb r0, [r5, 0x8] + movs r2, 0xC0 + subs r2, r4 + lsrs r2, 1 + lsls r2, 24 + lsrs r2, 24 + ldr r1, =gUnknown_0862030F + str r1, [sp] + movs r1, 0 + str r1, [sp, 0x4] + str r6, [sp, 0x8] + movs r1, 0x1 + movs r3, 0x1 + bl AddTextPrinterParameterized3 + add sp, 0xC + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CA770 + + thumb_func_start sub_81CA7C4 +sub_81CA7C4: @ 81CA7C4 + push {lr} + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + thumb_func_end sub_81CA7C4 + + thumb_func_start sub_81CA7D4 +sub_81CA7D4: @ 81CA7D4 + push {r4,lr} + movs r0, 0x2 + bl GetSubstructPtr + adds r4, r0, 0 + ldr r0, =sub_81CA808 + movs r1, 0x2 + bl CreateTask + strb r0, [r4, 0xA] + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CA7D4 + + thumb_func_start sub_81CA7F4 +sub_81CA7F4: @ 81CA7F4 + push {lr} + movs r0, 0x2 + bl GetSubstructPtr + ldrb r0, [r0, 0xA] + bl DestroyTask + pop {r0} + bx r0 + thumb_func_end sub_81CA7F4 + + thumb_func_start sub_81CA808 +sub_81CA808: @ 81CA808 + push {lr} + movs r0, 0x3 + movs r1, 0x80 + movs r2, 0x1 + bl ChangeBgX + pop {r0} + bx r0 + thumb_func_end sub_81CA808 + + thumb_func_start sub_81CA818 +sub_81CA818: @ 81CA818 + push {r4,r5,lr} + ldr r0, =sub_81CA8B0 + movs r1, 0x3 + bl CreateTask + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r5, =gUnknown_0861FC78 + 2 + adds r0, r4, 0 + movs r1, 0x1 + adds r2, r5, 0 + bl SetWordTaskArg + adds r5, 0xC + adds r0, r4, 0 + movs r1, 0x3 + adds r2, r5, 0 + bl SetWordTaskArg + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CA818 + + thumb_func_start sub_81CA850 +sub_81CA850: @ 81CA850 + push {lr} + ldr r0, =gUnknown_0861FC78 + 0xE + movs r1, 0x31 + movs r2, 0x4 + bl CopyPaletteIntoBufferUnfaded + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CA850 + + thumb_func_start sub_81CA864 +sub_81CA864: @ 81CA864 + push {r4,r5,lr} + ldr r0, =sub_81CA8B0 + movs r1, 0x3 + bl CreateTask + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r5, =gUnknown_0861FC78 + 0xE + adds r0, r4, 0 + movs r1, 0x1 + adds r2, r5, 0 + bl SetWordTaskArg + subs r5, 0xC + adds r0, r4, 0 + movs r1, 0x3 + adds r2, r5, 0 + bl SetWordTaskArg + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CA864 + + thumb_func_start sub_81CA89C +sub_81CA89C: @ 81CA89C + push {lr} + ldr r0, =sub_81CA8B0 + bl FuncIsActiveTask + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CA89C + + thumb_func_start sub_81CA8B0 +sub_81CA8B0: @ 81CA8B0 + push {r4-r6,lr} + sub sp, 0xC + lsls r0, 24 + lsrs r6, r0, 24 + lsls r4, r6, 2 + adds r4, r6 + lsls r4, 3 + ldr r0, =gTasks + 0x8 + adds r4, r0 + adds r0, r6, 0 + movs r1, 0x1 + bl GetWordTaskArg + adds r5, r0, 0 + adds r0, r6, 0 + movs r1, 0x3 + bl GetWordTaskArg + adds r1, r0, 0 + ldrh r0, [r4] + adds r0, 0x1 + strh r0, [r4] + lsls r0, 16 + asrs r0, 16 + str r0, [sp] + add r0, sp, 0x8 + str r0, [sp, 0x4] + adds r0, r5, 0 + movs r2, 0x2 + movs r3, 0xC + bl sub_81C79BC + add r0, sp, 0x8 + movs r1, 0x31 + movs r2, 0x4 + bl LoadPalette + movs r1, 0 + ldrsh r0, [r4, r1] + cmp r0, 0xC + bne _081CA908 + adds r0, r6, 0 + bl DestroyTask +_081CA908: + add sp, 0xC + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CA8B0 + + thumb_func_start sub_81CA914 +sub_81CA914: @ 81CA914 + push {lr} + bl TransferPlttBuffer + bl LoadOam + bl ProcessSpriteCopyRequests + bl ScanlineEffect_InitHBlankDmaTransfer + pop {r0} + bx r0 + thumb_func_end sub_81CA914 + + thumb_func_start titlescreen_0 +titlescreen_0: @ 81CA92C + push {lr} + movs r0, 0x50 + movs r1, 0x90 + bl SetGpuReg + movs r0, 0x54 + movs r1, 0 + bl SetGpuReg + movs r1, 0x80 + lsls r1, 6 + movs r0, 0 + bl SetGpuRegBits + movs r0, 0x48 + movs r1, 0x3F + bl SetGpuRegBits + movs r0, 0x4A + movs r1, 0x1F + bl SetGpuRegBits + movs r0, 0x44 + movs r1, 0xA0 + bl SetGpuRegBits + bl ScanlineEffect_Stop + bl sub_81CAA3C + ldr r2, =gUnknown_08620384 + ldr r0, [r2] + ldr r1, [r2, 0x4] + ldr r2, [r2, 0x8] + bl ScanlineEffect_SetParams + ldr r0, =sub_81CA914 + bl SetVBlankCallback_ + ldr r0, =sub_81CA9EC + movs r1, 0x3 + bl CreateTask + pop {r0} + bx r0 + .pool + thumb_func_end titlescreen_0 + + thumb_func_start sub_81CA994 +sub_81CA994: @ 81CA994 + push {lr} + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + movs r1, 0x80 + lsls r1, 6 + movs r0, 0 + bl ClearGpuRegBits + bl ScanlineEffect_Stop + ldr r0, =sub_81CA9EC + bl FindTaskIdByFunc + lsls r0, 24 + lsrs r0, 24 + bl DestroyTask + bl SetPokenavVBlankCallback + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CA994 + + thumb_func_start sub_81CA9C8 +sub_81CA9C8: @ 81CA9C8 + push {lr} + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + pop {r0} + bx r0 + thumb_func_end sub_81CA9C8 + + thumb_func_start sub_81CA9D8 +sub_81CA9D8: @ 81CA9D8 + push {lr} + bl sub_81CAA3C + movs r0, 0x50 + movs r1, 0x90 + bl SetGpuReg + pop {r0} + bx r0 + thumb_func_end sub_81CA9D8 + + thumb_func_start sub_81CA9EC +sub_81CA9EC: @ 81CA9EC + push {lr} + 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 + cmp r0, 0 + ble _081CAA30 + movs r0, 0 + strh r0, [r2] + ldrh r0, [r2, 0x2] + adds r0, 0x3 + movs r1, 0x7F + ands r0, r1 + strh r0, [r2, 0x2] + ldr r1, =gSineTable + movs r3, 0x2 + ldrsh r0, [r2, r3] + lsls r0, 1 + adds r0, r1 + ldrh r1, [r0] + lsls r1, 16 + asrs r1, 21 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x54 + bl SetGpuReg +_081CAA30: + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CA9EC + + thumb_func_start sub_81CAA3C +sub_81CAA3C: @ 81CAA3C + push {r4-r6,lr} + mov r6, r9 + mov r5, r8 + push {r5,r6} + sub sp, 0x8 + bl sub_81C9894 + adds r4, r0, 0 + bl sub_81C98A4 + ldr r2, =gUnknown_08620240 + lsls r1, r4, 3 + subs r1, r4 + lsls r1, 2 + adds r1, r2 + ldrh r2, [r1, 0x2] + adds r4, r2, 0 + muls r4, r0 + ldrh r1, [r1] + adds r4, r1 + subs r4, 0x8 + mov r0, sp + movs r6, 0 + strh r6, [r0] + ldr r5, =gScanlineEffectRegBuffers + ldr r0, =0x010000a0 + mov r8, r0 + mov r0, sp + adds r1, r5, 0 + mov r2, r8 + bl CpuSet + mov r0, sp + adds r0, 0x2 + strh r6, [r0] + movs r1, 0xF0 + lsls r1, 3 + adds r1, r5 + mov r9, r1 + mov r2, r8 + bl CpuSet + add r0, sp, 0x4 + ldr r1, =0x000072f0 + adds r6, r1, 0 + strh r6, [r0] + lsls r4, 1 + adds r5, r4, r5 + ldr r1, =0x01000010 + mov r8, r1 + adds r1, r5, 0 + mov r2, r8 + bl CpuSet + mov r0, sp + adds r0, 0x6 + strh r6, [r0] + add r4, r9 + adds r1, r4, 0 + mov r2, r8 + bl CpuSet + add sp, 0x8 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CAA3C + + thumb_func_start sub_81CAADC +sub_81CAADC: @ 81CAADC + push {lr} + bl sub_81CA9C8 + pop {r0} + bx r0 + thumb_func_end sub_81CAADC + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokenav_unk_6.s b/asm/pokenav_unk_6.s new file mode 100644 index 0000000000..f5e0178161 --- /dev/null +++ b/asm/pokenav_unk_6.s @@ -0,0 +1,1752 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + +@ File centered around AllocSubstruct(0xB) + + thumb_func_start sub_81CCFD8 +sub_81CCFD8: @ 81CCFD8 + push {r4,lr} + ldr r1, =0x0000678c + movs r0, 0xB + bl AllocSubstruct + adds r4, r0, 0 + cmp r4, 0 + beq _081CD01C + ldr r1, =0x00006428 + adds r0, r4, r1 + bl sub_81D1ED4 + bl sub_81CD970 + ldr r1, =gKeyRepeatStartDelay + movs r0, 0x14 + strh r0, [r1] + ldr r0, =0x00006304 + adds r1, r4, r0 + ldr r0, =sub_81CD08C + str r0, [r1] + movs r0, 0x1 + b _081CD01E + .pool +_081CD01C: + movs r0, 0 +_081CD01E: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CCFD8 + + thumb_func_start sub_81CD024 +sub_81CD024: @ 81CD024 + push {r4,lr} + ldr r1, =0x0000678c + movs r0, 0xB + bl AllocSubstruct + adds r4, r0, 0 + cmp r4, 0 + beq _081CD068 + ldr r1, =0x00006428 + adds r0, r4, r1 + bl sub_81D1ED4 + bl sub_81CD9F8 + ldr r1, =gKeyRepeatStartDelay + movs r0, 0x14 + strh r0, [r1] + ldr r0, =0x00006304 + adds r1, r4, r0 + ldr r0, =sub_81CD08C + str r0, [r1] + movs r0, 0x1 + b _081CD06A + .pool +_081CD068: + movs r0, 0 +_081CD06A: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CD024 + + thumb_func_start sub_81CD070 +sub_81CD070: @ 81CD070 + push {lr} + movs r0, 0xB + bl GetSubstructPtr + ldr r2, =0x00006304 + adds r1, r0, r2 + ldr r1, [r1] + bl _call_via_r1 + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CD070 + + thumb_func_start sub_81CD08C +sub_81CD08C: @ 81CD08C + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0x12 + bl GetSubstructPtr + adds r5, r0, 0 + adds r0, r4, 0 + bl sub_81CD1E4 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0 + bne _081CD100 + ldr r0, =gMain + ldrh r1, [r0, 0x2E] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + bne _081CD0D0 + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _081CD100 + movs r1, 0xC6 + lsls r1, 7 + adds r0, r4, r1 + ldrb r0, [r0] + cmp r0, 0 + bne _081CD0F0 + ldrh r1, [r5, 0x2] + ldrh r0, [r5] + subs r0, 0x1 + cmp r1, r0 + bne _081CD100 +_081CD0D0: + movs r0, 0x5 + bl PlaySE + ldr r0, =0x00006304 + adds r1, r4, r0 + ldr r0, =sub_81CD19C + str r0, [r1] + movs r2, 0x2 + b _081CD100 + .pool +_081CD0F0: + movs r0, 0x5 + bl PlaySE + movs r2, 0x5 + ldr r0, =0x00006304 + adds r1, r4, r0 + ldr r0, =sub_81CD110 + str r0, [r1] +_081CD100: + adds r0, r2, 0 + pop {r4,r5} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CD08C + + thumb_func_start sub_81CD110 +sub_81CD110: @ 81CD110 + push {r4-r6,lr} + sub sp, 0x4 + adds r6, r0, 0 + movs r4, 0 + bl sub_811FBA4 + lsls r0, 24 + cmp r0, 0 + bne _081CD18A + bl sub_81CEF14 + ldr r1, =0x00006786 + adds r5, r6, r1 + movs r1, 0 + ldrsb r1, [r5, r1] + ldr r2, =0x00006783 + adds r4, r6, r2 + adds r1, r4, r1 + strb r0, [r1] + movs r0, 0x12 + bl GetSubstructPtr + ldrh r1, [r0, 0x2] + lsls r1, 2 + adds r0, r1 + ldrb r2, [r0, 0x4] + ldrb r3, [r0, 0x5] + movs r0, 0 + ldrsb r0, [r5, r0] + adds r4, r0 + ldrb r1, [r4] + mov r0, sp + strb r1, [r0] + cmp r2, 0xE + bne _081CD174 + movs r0, 0x64 + muls r0, r3 + ldr r1, =gPlayerParty + adds r0, r1 + movs r1, 0x8 + mov r2, sp + bl SetMonData + b _081CD180 + .pool +_081CD174: + adds r0, r2, 0 + adds r1, r3, 0 + movs r2, 0x8 + mov r3, sp + bl SetBoxMonDataAt +_081CD180: + ldr r0, =0x00006304 + adds r1, r6, r0 + ldr r0, =sub_81CD08C + str r0, [r1] + movs r4, 0x6 +_081CD18A: + adds r0, r4, 0 + add sp, 0x4 + pop {r4-r6} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CD110 + + thumb_func_start sub_81CD19C +sub_81CD19C: @ 81CD19C + push {lr} + movs r1, 0xC6 + lsls r1, 7 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0 + beq _081CD1B4 + ldr r0, =0x000186aa + b _081CD1B6 + .pool +_081CD1B4: + ldr r0, =0x000186a2 +_081CD1B6: + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CD19C + + thumb_func_start sub_81CD1C0 +sub_81CD1C0: @ 81CD1C0 + push {lr} + movs r0, 0xB + bl GetSubstructPtr + movs r1, 0xC6 + lsls r1, 7 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0 + bne _081CD1DA + movs r0, 0x12 + bl FreePokenavSubstruct +_081CD1DA: + movs r0, 0xB + bl FreePokenavSubstruct + pop {r0} + bx r0 + thumb_func_end sub_81CD1C0 + + thumb_func_start sub_81CD1E4 +sub_81CD1E4: @ 81CD1E4 + push {r4,lr} + adds r4, r0, 0 + movs r0, 0x12 + bl GetSubstructPtr + adds r2, r0, 0 + movs r3, 0 + ldr r0, =gMain + ldrh r1, [r0, 0x2C] + movs r0, 0x40 + ands r0, r1 + cmp r0, 0 + beq _081CD220 + movs r1, 0xC6 + lsls r1, 7 + adds r0, r4, r1 + ldrb r0, [r0] + cmp r0, 0 + beq _081CD210 + ldrh r0, [r2, 0x2] + cmp r0, 0 + beq _081CD24E +_081CD210: + movs r0, 0x5 + bl PlaySE + movs r0, 0x1 + b _081CD246 + .pool +_081CD220: + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _081CD24E + movs r1, 0xC6 + lsls r1, 7 + adds r0, r4, r1 + ldrb r0, [r0] + cmp r0, 0 + beq _081CD23E + ldrh r1, [r2, 0x2] + ldrh r0, [r2] + subs r0, 0x1 + cmp r1, r0 + bge _081CD24E +_081CD23E: + movs r0, 0x5 + bl PlaySE + movs r0, 0 +_081CD246: + bl sub_81CD258 + lsls r0, 24 + lsrs r3, r0, 24 +_081CD24E: + adds r0, r3, 0 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CD1E4 + + thumb_func_start sub_81CD258 +sub_81CD258: @ 81CD258 + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + movs r0, 0xB + bl GetSubstructPtr + adds r4, r0, 0 + movs r0, 0x12 + bl GetSubstructPtr + adds r5, r0, 0 + mov r0, r8 + cmp r0, 0 + beq _081CD284 + ldr r1, =0x00006788 + adds r0, r4, r1 + b _081CD288 + .pool +_081CD284: + ldr r2, =0x00006787 + adds r0, r4, r2 +_081CD288: + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + lsls r0, 16 + lsrs r0, 16 + adds r7, r0, 0 + ldr r1, =0x00006428 + adds r0, r4, r1 + ldr r2, =0x00006786 + adds r1, r4, r2 + movs r2, 0 + ldrsb r2, [r1, r2] + lsls r1, r2, 2 + adds r1, r2 + lsls r1, 2 + ldr r3, =0x0000643c + adds r1, r3 + adds r1, r4, r1 + lsls r2, r7, 2 + adds r2, r7 + lsls r2, 2 + adds r2, r3 + adds r2, r4, r2 + bl sub_81D1F84 + ldrh r6, [r5, 0x2] + bl sub_81CDD5C + cmp r0, 0 + beq _081CD2D8 + ldrh r1, [r5] + b _081CD2DC + .pool +_081CD2D8: + ldrh r1, [r5] + subs r1, 0x1 +_081CD2DC: + eors r1, r6 + negs r0, r1 + orrs r0, r1 + lsrs r0, 31 + adds r6, r0, 0 + mov r0, r8 + cmp r0, 0 + beq _081CD332 + ldr r1, =0x00006787 + adds r2, r4, r1 + ldrb r0, [r2] + adds r1, 0x1 + adds r3, r4, r1 + strb r0, [r3] + ldr r0, =0x00006786 + adds r1, r4, r0 + ldrb r0, [r1] + strb r0, [r2] + strb r7, [r1] + ldrb r1, [r3] + ldr r2, =0x00006789 + adds r0, r4, r2 + strb r1, [r0] + ldrh r0, [r5, 0x2] + cmp r0, 0 + bne _081CD312 + ldrh r0, [r5] +_081CD312: + subs r1, r0, 0x1 + strh r1, [r5, 0x2] + lsls r0, r1, 16 + cmp r0, 0 + beq _081CD32C + subs r1, 0x1 + b _081CD384 + .pool +_081CD32C: + ldrh r0, [r5] + subs r1, r0, 0x1 + b _081CD384 +_081CD332: + ldr r0, =0x00006788 + adds r2, r4, r0 + ldrb r0, [r2] + ldr r1, =0x00006787 + adds r3, r4, r1 + strb r0, [r3] + ldr r0, =0x00006786 + adds r1, r4, r0 + ldrb r0, [r1] + strb r0, [r2] + strb r7, [r1] + ldrb r1, [r3] + ldr r2, =0x00006789 + adds r0, r4, r2 + strb r1, [r0] + ldrh r1, [r5, 0x2] + ldrh r0, [r5] + subs r0, 0x1 + cmp r1, r0 + bge _081CD370 + adds r0, r1, 0x1 + b _081CD372 + .pool +_081CD370: + movs r0, 0 +_081CD372: + strh r0, [r5, 0x2] + ldrh r1, [r5, 0x2] + ldrh r0, [r5] + subs r0, 0x1 + cmp r1, r0 + bge _081CD382 + adds r1, 0x1 + b _081CD384 +_081CD382: + movs r1, 0 +_081CD384: + ldr r2, =0x00006302 + adds r0, r4, r2 + strh r1, [r0] + ldrh r4, [r5, 0x2] + bl sub_81CDD5C + cmp r0, 0 + beq _081CD39C + ldrh r1, [r5] + b _081CD3A0 + .pool +_081CD39C: + ldrh r1, [r5] + subs r1, 0x1 +_081CD3A0: + eors r1, r4 + negs r0, r1 + orrs r0, r1 + lsrs r0, 31 + cmp r6, 0 + bne _081CD3B0 + movs r0, 0x3 + b _081CD3BA +_081CD3B0: + cmp r0, 0 + beq _081CD3B8 + movs r0, 0x1 + b _081CD3BA +_081CD3B8: + movs r0, 0x4 +_081CD3BA: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_81CD258 + + thumb_func_start sub_81CD3C4 +sub_81CD3C4: @ 81CD3C4 + push {r4,lr} + movs r0, 0xB + bl GetSubstructPtr + adds r4, r0, 0 + movs r0, 0x12 + bl GetSubstructPtr + adds r2, r0, 0 + ldr r1, =0x0000678a + adds r0, r4, r1 + ldrb r0, [r0] + cmp r0, 0x9 + bls _081CD3E2 + b _081CD530 +_081CD3E2: + lsls r0, 2 + ldr r1, =_081CD3F4 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_081CD3F4: + .4byte _081CD41C + .4byte _081CD428 + .4byte _081CD434 + .4byte _081CD440 + .4byte _081CD490 + .4byte _081CD4A8 + .4byte _081CD4C0 + .4byte _081CD4D8 + .4byte _081CD4F0 + .4byte _081CD508 +_081CD41C: + movs r1, 0x2 + ldrsh r0, [r2, r1] + movs r1, 0 + bl sub_81CD824 + b _081CD530 +_081CD428: + movs r1, 0x2 + ldrsh r0, [r2, r1] + movs r1, 0 + bl sub_81CDA1C + b _081CD530 +_081CD434: + movs r1, 0x2 + ldrsh r0, [r2, r1] + movs r1, 0 + bl sub_81CDB98 + b _081CD530 +_081CD440: + ldrh r0, [r2] + cmp r0, 0x1 + bne _081CD468 + ldr r2, =0x00006786 + adds r0, r4, r2 + movs r1, 0 + strb r1, [r0] + adds r2, 0x1 + adds r0, r4, r2 + strb r1, [r0] + adds r2, 0x1 + adds r0, r4, r2 + strb r1, [r0] + adds r2, 0x2 + adds r0, r4, r2 + strb r1, [r0] + movs r0, 0x1 + b _081CD53C + .pool +_081CD468: + ldr r0, =0x00006786 + adds r1, r4, r0 + movs r0, 0 + strb r0, [r1] + ldr r2, =0x00006787 + adds r1, r4, r2 + movs r0, 0x1 + strb r0, [r1] + ldr r0, =0x00006788 + adds r1, r4, r0 + movs r0, 0x2 + strb r0, [r1] + b _081CD530 + .pool +_081CD490: + ldrh r0, [r2, 0x2] + adds r0, 0x1 + ldrh r2, [r2] + cmp r0, r2 + blt _081CD49C + movs r0, 0 +_081CD49C: + lsls r0, 16 + asrs r0, 16 + movs r1, 0x1 + bl sub_81CD824 + b _081CD530 +_081CD4A8: + ldrh r0, [r2, 0x2] + adds r0, 0x1 + ldrh r2, [r2] + cmp r0, r2 + blt _081CD4B4 + movs r0, 0 +_081CD4B4: + lsls r0, 16 + asrs r0, 16 + movs r1, 0x1 + bl sub_81CDA1C + b _081CD530 +_081CD4C0: + ldrh r0, [r2, 0x2] + adds r0, 0x1 + ldrh r2, [r2] + cmp r0, r2 + blt _081CD4CC + movs r0, 0 +_081CD4CC: + lsls r0, 16 + asrs r0, 16 + movs r1, 0x1 + bl sub_81CDB98 + b _081CD530 +_081CD4D8: + ldrh r0, [r2, 0x2] + subs r0, 0x1 + cmp r0, 0 + bge _081CD4E4 + ldrh r0, [r2] + subs r0, 0x1 +_081CD4E4: + lsls r0, 16 + asrs r0, 16 + movs r1, 0x2 + bl sub_81CD824 + b _081CD530 +_081CD4F0: + ldrh r0, [r2, 0x2] + subs r0, 0x1 + cmp r0, 0 + bge _081CD4FC + ldrh r0, [r2] + subs r0, 0x1 +_081CD4FC: + lsls r0, 16 + asrs r0, 16 + movs r1, 0x2 + bl sub_81CDA1C + b _081CD530 +_081CD508: + ldrh r0, [r2, 0x2] + subs r0, 0x1 + cmp r0, 0 + bge _081CD514 + ldrh r0, [r2] + subs r0, 0x1 +_081CD514: + lsls r0, 16 + asrs r0, 16 + movs r1, 0x2 + bl sub_81CDB98 + ldr r2, =0x0000678a + adds r1, r4, r2 + movs r0, 0 + strb r0, [r1] + movs r0, 0x1 + b _081CD53C + .pool +_081CD530: + ldr r0, =0x0000678a + adds r1, r4, r0 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + movs r0, 0 +_081CD53C: + pop {r4} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CD3C4 + + thumb_func_start sub_81CD548 +sub_81CD548: @ 81CD548 + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 + adds r5, r4, 0 + movs r0, 0xB + bl GetSubstructPtr + adds r1, r0, 0 + cmp r4, 0x1 + beq _081CD588 + cmp r4, 0x1 + bgt _081CD566 + cmp r4, 0 + beq _081CD56C + b _081CD5C4 +_081CD566: + cmp r5, 0x2 + beq _081CD5A4 + b _081CD5C4 +_081CD56C: + ldr r2, =0x00006302 + adds r0, r1, r2 + movs r2, 0 + ldrsh r0, [r0, r2] + ldr r2, =0x00006789 + adds r1, r2 + ldrb r1, [r1] + bl sub_81CD824 + b _081CD5C4 + .pool +_081CD588: + ldr r2, =0x00006302 + adds r0, r1, r2 + movs r2, 0 + ldrsh r0, [r0, r2] + ldr r2, =0x00006789 + adds r1, r2 + ldrb r1, [r1] + bl sub_81CDA1C + b _081CD5C4 + .pool +_081CD5A4: + ldr r2, =0x00006302 + adds r0, r1, r2 + movs r2, 0 + ldrsh r0, [r0, r2] + ldr r2, =0x00006789 + adds r1, r2 + ldrb r1, [r1] + bl sub_81CDB98 + movs r0, 0x1 + b _081CD5C6 + .pool +_081CD5C4: + movs r0, 0 +_081CD5C6: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81CD548 + + thumb_func_start sub_81CD5CC +sub_81CD5CC: @ 81CD5CC + push {r4,lr} + adds r4, r0, 0 + lsls r2, 16 + lsrs r2, 16 + b _081CD5E4 +_081CD5D6: + strb r3, [r4] + adds r1, 0x1 + adds r4, 0x1 + lsls r0, r2, 16 + ldr r2, =0xffff0000 + adds r0, r2 + lsrs r2, r0, 16 +_081CD5E4: + ldrb r3, [r1] + adds r0, r3, 0 + cmp r0, 0xFF + bne _081CD5D6 + adds r1, r2, 0 + lsls r0, r1, 16 + ldr r2, =0xffff0000 + adds r0, r2 + lsrs r2, r0, 16 + lsls r1, 16 + cmp r1, 0 + ble _081CD612 + movs r3, 0 +_081CD5FE: + strb r3, [r4] + adds r4, 0x1 + adds r1, r2, 0 + lsls r0, r1, 16 + ldr r2, =0xffff0000 + adds r0, r2 + lsrs r2, r0, 16 + lsls r1, 16 + cmp r1, 0 + bgt _081CD5FE +_081CD612: + movs r0, 0xFF + strb r0, [r4] + adds r0, r4, 0 + pop {r4} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CD5CC + + thumb_func_start sub_81CD624 +sub_81CD624: @ 81CD624 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + adds r5, r0, 0 + adds r4, r1, 0 + lsls r4, 16 + lsrs r4, 16 + lsls r2, 24 + lsrs r2, 24 + mov r10, r2 + movs r0, 0x12 + bl GetSubstructPtr + lsls r4, 2 + adds r0, r4 + ldrb r4, [r0, 0x4] + mov r8, r4 + ldrb r6, [r0, 0x5] + mov r9, r6 + movs r0, 0xFC + strb r0, [r5] + adds r5, 0x1 + movs r0, 0x4 + strb r0, [r5] + adds r5, 0x1 + movs r0, 0x8 + strb r0, [r5] + adds r5, 0x1 + movs r0, 0 + strb r0, [r5] + adds r5, 0x1 + movs r0, 0x9 + strb r0, [r5] + adds r5, 0x1 + adds r0, r4, 0 + adds r1, r6, 0 + movs r2, 0x2D + movs r3, 0 + bl GetBoxOrPartyMonData + cmp r0, 0 + beq _081CD690 + ldr r1, =gText_EggNickname + adds r0, r5, 0 + movs r2, 0 + movs r3, 0xC + bl StringCopyPadded + b _081CD80E + .pool +_081CD690: + adds r0, r4, 0 + adds r1, r6, 0 + movs r2, 0x2 + adds r3, r5, 0 + bl GetBoxOrPartyMonData + adds r0, r5, 0 + bl StringGetEnd10 + adds r0, r4, 0 + adds r1, r6, 0 + movs r2, 0xB + movs r3, 0 + bl GetBoxOrPartyMonData + lsls r0, 16 + lsrs r7, r0, 16 + cmp r4, 0xE + bne _081CD6E0 + movs r0, 0x64 + adds r4, r6, 0 + muls r4, r0 + ldr r0, =gPlayerParty + adds r4, r0 + adds r0, r4, 0 + movs r1, 0x38 + bl GetMonData + lsls r0, 16 + lsrs r0, 16 + mov r8, r0 + adds r0, r4, 0 + bl GetMonGender + lsls r0, 24 + lsrs r6, r0, 24 + b _081CD6FE + .pool +_081CD6E0: + mov r0, r8 + mov r1, r9 + bl GetBoxedMonPtr + adds r4, r0, 0 + bl GetBoxMonGender + lsls r0, 24 + lsrs r6, r0, 24 + adds r0, r4, 0 + bl GetLevelFromBoxMonExp + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 +_081CD6FE: + cmp r7, 0x1D + beq _081CD706 + cmp r7, 0x20 + bne _081CD71C +_081CD706: + movs r0, 0xB + adds r1, r7, 0 + muls r1, r0 + ldr r0, =gSpeciesNames + adds r1, r0 + adds r0, r5, 0 + bl StringCompare + cmp r0, 0 + bne _081CD71C + movs r6, 0xFF +_081CD71C: + adds r3, r5, 0 + b _081CD726 + .pool +_081CD724: + adds r3, 0x1 +_081CD726: + ldrb r0, [r3] + cmp r0, 0xFF + bne _081CD724 + movs r1, 0xFC + strb r1, [r3] + adds r3, 0x1 + movs r0, 0x12 + strb r0, [r3] + adds r3, 0x1 + movs r0, 0x3C + strb r0, [r3] + adds r3, 0x1 + cmp r6, 0 + beq _081CD74A + cmp r6, 0xFE + beq _081CD76E + movs r0, 0x77 + b _081CD790 +_081CD74A: + strb r1, [r3] + adds r3, 0x1 + movs r0, 0x1 + strb r0, [r3] + adds r3, 0x1 + movs r0, 0x4 + strb r0, [r3] + adds r3, 0x1 + strb r1, [r3] + adds r3, 0x1 + movs r0, 0x3 + strb r0, [r3] + adds r3, 0x1 + movs r0, 0x5 + strb r0, [r3] + adds r3, 0x1 + movs r0, 0xB5 + b _081CD790 +_081CD76E: + strb r1, [r3] + adds r3, 0x1 + movs r0, 0x1 + strb r0, [r3] + adds r3, 0x1 + movs r0, 0x6 + strb r0, [r3] + adds r3, 0x1 + strb r1, [r3] + adds r3, 0x1 + movs r0, 0x3 + strb r0, [r3] + adds r3, 0x1 + movs r0, 0x7 + strb r0, [r3] + adds r3, 0x1 + movs r0, 0xB6 +_081CD790: + strb r0, [r3] + adds r3, 0x1 + movs r0, 0xFC + strb r0, [r3] + adds r3, 0x1 + movs r0, 0x4 + strb r0, [r3] + adds r3, 0x1 + movs r0, 0x8 + strb r0, [r3] + adds r3, 0x1 + movs r5, 0 + strb r5, [r3] + adds r3, 0x1 + movs r0, 0x9 + strb r0, [r3] + adds r3, 0x1 + movs r0, 0xBA + strb r0, [r3] + adds r3, 0x1 + movs r0, 0xF9 + strb r0, [r3] + adds r3, 0x1 + movs r0, 0x5 + strb r0, [r3] + adds r3, 0x1 + adds r4, r3, 0 + adds r0, r4, 0 + mov r1, r8 + movs r2, 0 + movs r3, 0x3 + bl ConvertIntToDecimalStringN + adds r3, r0, 0 + subs r4, r3, r4 + lsls r4, 16 + lsrs r4, 16 + strb r5, [r3] + adds r3, 0x1 + mov r0, r10 + cmp r0, 0 + bne _081CD808 + movs r0, 0x3 + subs r0, r4 + lsls r0, 16 + ldr r1, =0xffff0000 + adds r0, r1 + lsrs r4, r0, 16 + ldr r0, =0x0000ffff + cmp r4, r0 + beq _081CD808 + movs r2, 0 + adds r1, r0, 0 +_081CD7FA: + strb r2, [r3] + adds r3, 0x1 + subs r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 + cmp r4, r1 + bne _081CD7FA +_081CD808: + movs r0, 0xFF + strb r0, [r3] + adds r0, r3, 0 +_081CD80E: + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CD624 + + thumb_func_start sub_81CD824 +sub_81CD824: @ 81CD824 + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r0, 16 + lsrs r0, 16 + mov r8, r0 + lsls r1, 24 + lsrs r6, r1, 24 + movs r0, 0xB + bl GetSubstructPtr + adds r5, r0, 0 + movs r0, 0x12 + bl GetSubstructPtr + adds r7, r0, 0 + mov r1, r8 + lsls r0, r1, 16 + asrs r4, r0, 16 + bl sub_81CDD5C + cmp r0, 0 + beq _081CD85A + ldrh r2, [r7] + cmp r4, r2 + bne _081CD862 + b _081CD900 +_081CD85A: + ldrh r0, [r7] + subs r0, 0x1 + cmp r4, r0 + beq _081CD900 +_081CD862: + lsls r0, r6, 6 + ldr r1, =0x00006368 + adds r0, r1 + adds r0, r5, r0 + mov r2, r8 + lsls r4, r2, 16 + lsrs r1, r4, 16 + movs r2, 0 + bl sub_81CD624 + asrs r4, 14 + adds r4, r7, r4 + ldrb r3, [r4, 0x4] + lsls r0, r6, 1 + adds r0, r6 + lsls r4, r0, 3 + ldr r1, =0x00006320 + adds r0, r5, r1 + adds r0, r4 + movs r2, 0 + movs r1, 0xFC + strb r1, [r0] + ldr r1, =0x00006321 + adds r0, r5, r1 + adds r0, r4 + movs r1, 0x4 + strb r1, [r0] + ldr r1, =0x00006322 + adds r0, r5, r1 + adds r0, r4 + movs r1, 0x8 + strb r1, [r0] + ldr r1, =0x00006323 + adds r0, r5, r1 + adds r0, r4 + strb r2, [r0] + ldr r2, =0x00006324 + adds r0, r5, r2 + adds r0, r4 + movs r1, 0x9 + strb r1, [r0] + cmp r3, 0xE + bne _081CD8E4 + adds r0, r4, r5 + ldr r1, =0x00006325 + adds r0, r1 + ldr r1, =gText_InParty + b _081CD8F4 + .pool +_081CD8E4: + adds r4, r5 + ldr r2, =0x00006325 + adds r4, r2 + adds r0, r3, 0 + bl GetBoxNamePtr + adds r1, r0, 0 + adds r0, r4, 0 +_081CD8F4: + movs r2, 0x8 + bl sub_81CD5CC + b _081CD95C + .pool +_081CD900: + movs r1, 0 + lsls r4, r6, 6 + lsls r0, r6, 1 + mov r8, r0 + adds r3, r4, 0 + ldr r0, =0x00006368 + adds r2, r5, r0 + movs r7, 0 +_081CD910: + adds r0, r1, r3 + adds r0, r2, r0 + strb r7, [r0] + adds r0, r1, 0x1 + lsls r0, 16 + lsrs r1, r0, 16 + cmp r1, 0xB + bls _081CD910 + adds r1, r4 + ldr r2, =0x00006368 + adds r0, r5, r2 + adds r0, r1 + movs r1, 0xFF + strb r1, [r0] + movs r1, 0 + mov r2, r8 + adds r0, r2, r6 + lsls r3, r0, 3 + ldr r0, =0x00006320 + adds r2, r5, r0 + movs r4, 0 +_081CD93A: + adds r0, r1, r3 + adds r0, r2, r0 + strb r4, [r0] + adds r0, r1, 0x1 + lsls r0, 16 + lsrs r1, r0, 16 + cmp r1, 0x7 + bls _081CD93A + mov r2, r8 + adds r0, r2, r6 + lsls r0, 3 + adds r0, r1, r0 + ldr r2, =0x00006320 + adds r1, r5, r2 + adds r1, r0 + movs r0, 0xFF + strb r0, [r1] +_081CD95C: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CD824 + + thumb_func_start sub_81CD970 +sub_81CD970: @ 81CD970 + push {r4-r7,lr} + movs r0, 0xB + bl GetSubstructPtr + adds r7, r0, 0 + ldr r1, =0x000006ac + movs r0, 0x12 + bl AllocSubstruct + adds r6, r0, 0 + movs r0, 0xC6 + lsls r0, 7 + adds r1, r7, r0 + movs r0, 0 + strb r0, [r1] + movs r4, 0 + movs r5, 0 + b _081CD9C4 + .pool +_081CD998: + movs r0, 0x64 + muls r0, r4 + ldr r1, =gPlayerParty + adds r0, r1 + movs r1, 0x2D + bl GetMonData + adds r2, r0, 0 + cmp r2, 0 + bne _081CD9BE + lsls r1, r5, 2 + adds r1, r6, r1 + movs r0, 0xE + strb r0, [r1, 0x4] + strb r4, [r1, 0x5] + strh r2, [r1, 0x6] + adds r0, r5, 0x1 + lsls r0, 16 + lsrs r5, r0, 16 +_081CD9BE: + adds r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 +_081CD9C4: + bl CalculatePlayerPartyCount + lsls r0, 24 + lsrs r0, 24 + cmp r4, r0 + bcc _081CD998 + lsls r0, r5, 2 + adds r0, r6, r0 + movs r1, 0 + strb r1, [r0, 0x4] + strb r1, [r0, 0x5] + movs r2, 0 + strh r1, [r0, 0x6] + strh r1, [r6, 0x2] + adds r0, r5, 0x1 + strh r0, [r6] + ldr r1, =0x0000678a + adds r0, r7, r1 + strb r2, [r0] + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CD970 + + thumb_func_start sub_81CD9F8 +sub_81CD9F8: @ 81CD9F8 + push {lr} + movs r0, 0xB + bl GetSubstructPtr + movs r1, 0xC6 + lsls r1, 7 + adds r2, r0, r1 + movs r3, 0 + movs r1, 0x1 + strb r1, [r2] + ldr r1, =0x0000678a + adds r0, r1 + strb r3, [r0] + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CD9F8 + + thumb_func_start sub_81CDA1C +sub_81CDA1C: @ 81CDA1C + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + lsls r0, 16 + lsrs r6, r0, 16 + lsls r1, 24 + lsrs r1, 24 + mov r9, r1 + movs r0, 0xB + bl GetSubstructPtr + mov r8, r0 + movs r0, 0x12 + bl GetSubstructPtr + adds r4, r0, 0 + lsls r0, r6, 16 + asrs r5, r0, 16 + bl sub_81CDD5C + cmp r0, 0 + beq _081CDA52 + ldrh r0, [r4] + cmp r5, r0 + bne _081CDA5A + b _081CDB48 +_081CDA52: + ldrh r0, [r4] + subs r0, 0x1 + cmp r5, r0 + beq _081CDB48 +_081CDA5A: + lsls r0, r6, 16 + asrs r0, 14 + adds r0, r4, r0 + ldrb r6, [r0, 0x4] + ldrb r7, [r0, 0x5] + adds r0, r6, 0 + adds r1, r7, 0 + movs r2, 0x16 + movs r3, 0 + bl GetBoxOrPartyMonData + mov r1, r9 + lsls r5, r1, 2 + adds r4, r5, r1 + ldr r1, =0x00006428 + add r1, r8 + adds r1, r4 + strb r0, [r1] + adds r0, r6, 0 + adds r1, r7, 0 + movs r2, 0x2F + movs r3, 0 + bl GetBoxOrPartyMonData + ldr r1, =0x00006429 + add r1, r8 + adds r1, r4 + strb r0, [r1] + adds r0, r6, 0 + adds r1, r7, 0 + movs r2, 0x21 + movs r3, 0 + bl GetBoxOrPartyMonData + ldr r1, =0x0000642a + add r1, r8 + adds r1, r4 + strb r0, [r1] + adds r0, r6, 0 + adds r1, r7, 0 + movs r2, 0x18 + movs r3, 0 + bl GetBoxOrPartyMonData + ldr r1, =0x0000642b + add r1, r8 + adds r1, r4 + strb r0, [r1] + adds r0, r6, 0 + adds r1, r7, 0 + movs r2, 0x17 + movs r3, 0 + bl GetBoxOrPartyMonData + ldr r1, =0x0000642c + add r1, r8 + adds r1, r4 + strb r0, [r1] + movs r0, 0xCF + lsls r0, 7 + add r0, r8 + mov r2, r9 + adds r4, r0, r2 + adds r0, r6, 0 + adds r1, r7, 0 + movs r2, 0x30 + movs r3, 0 + bl GetBoxOrPartyMonData + cmp r0, 0xFF + beq _081CDB10 + adds r0, r6, 0 + adds r1, r7, 0 + movs r2, 0x30 + movs r3, 0 + bl GetBoxOrPartyMonData + movs r1, 0x1D + bl __udivsi3 + b _081CDB12 + .pool +_081CDB10: + movs r0, 0x9 +_081CDB12: + strb r0, [r4] + adds r0, r6, 0 + adds r1, r7, 0 + movs r2, 0x8 + movs r3, 0 + bl GetBoxOrPartyMonData + ldr r1, =0x00006783 + add r1, r8 + add r1, r9 + strb r0, [r1] + mov r0, r9 + adds r1, r5, r0 + ldr r2, =0x00006428 + adds r0, r1, r2 + add r0, r8 + lsls r1, 2 + adds r2, 0x14 + adds r1, r2 + add r1, r8 + bl sub_81D2754 + b _081CDB80 + .pool +_081CDB48: + movs r2, 0 + mov r0, r9 + lsls r5, r0, 2 + add r5, r9 + ldr r4, =0x00006428 + add r4, r8 + lsls r3, r5, 2 + mov r9, r2 + ldr r7, =0x0000643c + movs r6, 0x9B +_081CDB5C: + adds r0, r2, r5 + adds r0, r4, r0 + mov r1, r9 + strb r1, [r0] + lsls r0, r2, 2 + adds r0, r3 + add r0, r8 + adds r1, r0, r7 + strh r6, [r1] + ldr r1, =0x0000643e + adds r0, r1 + movs r1, 0x5B + strh r1, [r0] + adds r0, r2, 0x1 + lsls r0, 16 + lsrs r2, r0, 16 + cmp r2, 0x4 + bls _081CDB5C +_081CDB80: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CDA1C + + thumb_func_start sub_81CDB98 +sub_81CDB98: @ 81CDB98 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x4 + lsls r0, 16 + lsrs r6, r0, 16 + lsls r1, 24 + lsrs r1, 24 + mov r9, r1 + movs r0, 0xB + bl GetSubstructPtr + adds r7, r0, 0 + movs r0, 0x12 + bl GetSubstructPtr + adds r4, r0, 0 + lsls r0, r6, 16 + asrs r5, r0, 16 + bl sub_81CDD5C + cmp r0, 0 + beq _081CDBCC + ldrh r0, [r4] + b _081CDBD0 +_081CDBCC: + ldrh r0, [r4] + subs r0, 0x1 +_081CDBD0: + cmp r5, r0 + beq _081CDC3E + lsls r0, r6, 16 + asrs r0, 14 + adds r0, r4, r0 + ldrb r5, [r0, 0x4] + ldrb r6, [r0, 0x5] + adds r0, r5, 0 + adds r1, r6, 0 + movs r2, 0x41 + movs r3, 0 + bl GetBoxOrPartyMonData + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r5, 0 + adds r1, r6, 0 + movs r2, 0x1 + movs r3, 0 + bl GetBoxOrPartyMonData + mov r8, r0 + adds r0, r5, 0 + adds r1, r6, 0 + movs r2, 0 + movs r3, 0 + bl GetBoxOrPartyMonData + adds r5, r0, 0 + lsls r0, r4, 3 + ldr r1, =gMonFrontPicTable + adds r0, r1 + mov r2, r9 + lsls r1, r2, 13 + movs r2, 0xC0 + lsls r2, 2 + adds r1, r2 + adds r1, r7, r1 + movs r2, 0x1 + str r2, [sp] + adds r2, r4, 0 + adds r3, r5, 0 + bl LoadSpecialPokePic + adds r0, r4, 0 + mov r1, r8 + adds r2, r5, 0 + bl GetFrontSpritePalFromSpeciesAndPersonality + mov r2, r9 + lsls r1, r2, 7 + adds r1, r7, r1 + bl LZ77UnCompWram +_081CDC3E: + add sp, 0x4 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CDB98 + + thumb_func_start sub_81CDC50 +sub_81CDC50: @ 81CDC50 + push {lr} + movs r0, 0x12 + bl GetSubstructPtr + ldrh r0, [r0] + pop {r1} + bx r1 + thumb_func_end sub_81CDC50 + + thumb_func_start sub_81CDC60 +sub_81CDC60: @ 81CDC60 + push {lr} + movs r0, 0x12 + bl GetSubstructPtr + ldrh r0, [r0, 0x2] + pop {r1} + bx r1 + thumb_func_end sub_81CDC60 + + thumb_func_start sub_81CDC70 +sub_81CDC70: @ 81CDC70 + push {lr} + movs r0, 0xB + bl GetSubstructPtr + ldr r1, =0x00006428 + adds r0, r1 + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CDC70 + + thumb_func_start sub_81CDC84 +sub_81CDC84: @ 81CDC84 + push {lr} + movs r0, 0xB + bl GetSubstructPtr + ldr r1, =0x00006786 + adds r0, r1 + ldrb r0, [r0] + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CDC84 + + thumb_func_start sub_81CDC9C +sub_81CDC9C: @ 81CDC9C + push {lr} + movs r0, 0xB + bl GetSubstructPtr + ldr r1, =0x00006302 + adds r0, r1 + ldrb r0, [r0] + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CDC9C + + thumb_func_start sub_81CDCB4 +sub_81CDCB4: @ 81CDCB4 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0xB + bl GetSubstructPtr + lsls r4, 13 + movs r1, 0xC0 + lsls r1, 2 + adds r4, r1 + adds r0, r4 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CDCB4 + + thumb_func_start sub_81CDCD4 +sub_81CDCD4: @ 81CDCD4 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0xB + bl GetSubstructPtr + lsls r4, 7 + adds r0, r4 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CDCD4 + + thumb_func_start sub_81CDCEC +sub_81CDCEC: @ 81CDCEC + push {lr} + movs r0, 0xB + bl GetSubstructPtr + ldr r1, =0x00006789 + adds r0, r1 + ldrb r0, [r0] + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CDCEC + + thumb_func_start sub_81CDD04 +sub_81CDD04: @ 81CDD04 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0xB + bl GetSubstructPtr + lsls r4, 6 + ldr r1, =0x00006368 + adds r4, r1 + adds r0, r4 + pop {r4} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CDD04 + + thumb_func_start sub_81CDD24 +sub_81CDD24: @ 81CDD24 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0xB + bl GetSubstructPtr + lsls r1, r4, 1 + adds r1, r4 + lsls r1, 3 + ldr r2, =0x00006320 + adds r1, r2 + adds r0, r1 + pop {r4} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CDD24 + + thumb_func_start sub_81CDD48 +sub_81CDD48: @ 81CDD48 + push {lr} + movs r0, 0x12 + bl GetSubstructPtr + ldrh r1, [r0, 0x2] + lsls r1, 2 + adds r0, r1 + ldrh r0, [r0, 0x6] + pop {r1} + bx r1 + thumb_func_end sub_81CDD48 + + thumb_func_start sub_81CDD5C +sub_81CDD5C: @ 81CDD5C + push {lr} + movs r0, 0xB + bl GetSubstructPtr + movs r1, 0xC6 + lsls r1, 7 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0x1 + beq _081CDD74 + movs r0, 0 + b _081CDD76 +_081CDD74: + movs r0, 0x1 +_081CDD76: + pop {r1} + bx r1 + thumb_func_end sub_81CDD5C + + thumb_func_start sub_81CDD7C +sub_81CDD7C: @ 81CDD7C + push {lr} + movs r0, 0xB + bl GetSubstructPtr + adds r2, r0, 0 + movs r1, 0xC6 + lsls r1, 7 + adds r0, r2, r1 + ldrb r0, [r0] + cmp r0, 0x1 + beq _081CDD96 + movs r0, 0 + b _081CDDA6 +_081CDD96: + ldr r3, =0x00006786 + adds r0, r2, r3 + movs r1, 0 + ldrsb r1, [r0, r1] + subs r3, 0x3 + adds r0, r2, r3 + adds r0, r1 + ldrb r0, [r0] +_081CDDA6: + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CDD7C + + thumb_func_start sub_81CDDB0 +sub_81CDDB0: @ 81CDDB0 + push {lr} + movs r0, 0xB + bl GetSubstructPtr + ldr r2, =0x00006786 + adds r1, r0, r2 + ldrb r1, [r1] + lsls r1, 24 + asrs r1, 24 + subs r2, 0x6 + adds r0, r2 + adds r0, r1 + ldrb r0, [r0] + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CDDB0 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokenav_unk_7.s b/asm/pokenav_unk_7.s new file mode 100644 index 0000000000..6c363c01f3 --- /dev/null +++ b/asm/pokenav_unk_7.s @@ -0,0 +1,2001 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + +@ File centered around AllocSubstruct(0xC) + + thumb_func_start sub_81CDDD4 +sub_81CDDD4: @ 81CDDD4 + push {r4,lr} + ldr r1, =0x000038ac + movs r0, 0xC + bl AllocSubstruct + adds r4, r0, 0 + cmp r4, 0 + beq _081CDE24 + ldr r0, =0x00001816 + adds r1, r4, r0 + movs r0, 0xFF + strb r0, [r1] + ldr r0, =sub_81CDE94 + movs r1, 0x1 + bl CreateLoopedTask + str r0, [r4] + ldr r0, =0x00001810 + adds r1, r4, r0 + ldr r0, =sub_81CDE80 + str r0, [r1] + ldr r0, =0x00002908 + adds r1, r4, r0 + movs r0, 0 + strb r0, [r1] + movs r0, 0x1 + b _081CDE26 + .pool +_081CDE24: + movs r0, 0 +_081CDE26: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CDDD4 + + thumb_func_start sub_81CDE2C +sub_81CDE2C: @ 81CDE2C + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0xC + bl GetSubstructPtr + adds r5, r0, 0 + ldr r0, =gUnknown_08623384 + lsls r4, 2 + adds r4, r0 + ldr r0, [r4] + movs r1, 0x1 + bl CreateLoopedTask + str r0, [r5] + ldr r0, =0x00001810 + adds r5, r0 + ldr r0, =sub_81CDE80 + str r0, [r5] + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CDE2C + + thumb_func_start sub_81CDE64 +sub_81CDE64: @ 81CDE64 + push {lr} + movs r0, 0xC + bl GetSubstructPtr + ldr r1, =0x00001810 + adds r0, r1 + ldr r0, [r0] + bl _call_via_r0 + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CDE64 + + thumb_func_start sub_81CDE80 +sub_81CDE80: @ 81CDE80 + push {lr} + movs r0, 0xC + bl GetSubstructPtr + ldr r0, [r0] + bl IsLoopedTaskActive + pop {r1} + bx r1 + thumb_func_end sub_81CDE80 + + thumb_func_start sub_81CDE94 +sub_81CDE94: @ 81CDE94 + push {r4-r6,lr} + sub sp, 0xC + adds r4, r0, 0 + movs r0, 0xC + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x14 + bls _081CDEA8 + b _081CE2C4 +_081CDEA8: + lsls r0, r4, 2 + ldr r1, =_081CDEB8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_081CDEB8: + .4byte _081CDF0C + .4byte _081CDF18 + .4byte _081CDF94 + .4byte _081CDFB8 + .4byte _081CE030 + .4byte _081CE074 + .4byte _081CE0B0 + .4byte _081CE118 + .4byte _081CE120 + .4byte _081CE126 + .4byte _081CE136 + .4byte _081CE146 + .4byte _081CE156 + .4byte _081CE16C + .4byte _081CE1C8 + .4byte _081CE1EC + .4byte _081CE218 + .4byte _081CE23C + .4byte _081CE24A + .4byte _081CE25A + .4byte _081CE262 +_081CDF0C: + bl sub_81CD3C4 + cmp r0, 0x1 + beq _081CDF16 + b _081CE2C0 +_081CDF16: + b _081CDFB0 +_081CDF18: + ldr r0, =gUnknown_08623358 + movs r1, 0x3 + bl InitBgTemplates + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl ChangeBgX + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl ChangeBgY + movs r0, 0x2 + movs r1, 0 + movs r2, 0 + bl ChangeBgX + movs r0, 0x2 + movs r1, 0 + movs r2, 0 + bl ChangeBgY + movs r0, 0x3 + movs r1, 0 + movs r2, 0 + bl ChangeBgX + movs r0, 0x3 + movs r1, 0 + movs r2, 0 + bl ChangeBgY + ldr r1, =0x00007940 + movs r0, 0 + bl SetGpuReg + ldr r1, =0x00000844 + movs r0, 0x50 + bl SetGpuReg + ldr r1, =0x0000040b + movs r0, 0x52 + bl SetGpuReg + ldr r1, =gPokenavCondition_Gfx + movs r0, 0 + str r0, [sp] + movs r0, 0x3 + b _081CDFA8 + .pool +_081CDF94: + bl free_temp_tile_data_buffers_if_possible + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0 + beq _081CDFA2 + b _081CE2C0 +_081CDFA2: + ldr r1, =gUnknown_08623228 + str r0, [sp] + movs r0, 0x2 +_081CDFA8: + movs r2, 0 + movs r3, 0 + bl decompress_and_copy_tile_data_to_vram +_081CDFB0: + movs r0, 0 + b _081CE2C6 + .pool +_081CDFB8: + bl free_temp_tile_data_buffers_if_possible + lsls r0, 24 + cmp r0, 0 + beq _081CDFC4 + b _081CE2C0 +_081CDFC4: + ldr r0, =gPokenavCondition_Tilemap + adds r4, r5, 0x4 + adds r1, r4, 0 + bl LZ77UnCompVram + movs r0, 0x3 + adds r1, r4, 0 + bl SetBgTilemapBuffer + bl sub_81CDD5C + cmp r0, 0x1 + bne _081CDFF2 + ldr r1, =gPokenavOptions_Tilemap + movs r0, 0x9 + str r0, [sp] + movs r0, 0x4 + str r0, [sp, 0x4] + movs r0, 0x3 + movs r2, 0 + movs r3, 0x5 + bl CopyToBgTilemapBufferRect +_081CDFF2: + movs r0, 0x3 + bl CopyBgTilemapBufferToVram + ldr r0, =gPokenavCondition_Pal + movs r1, 0x10 + movs r2, 0x20 + bl CopyPaletteIntoBufferUnfaded + ldr r0, =gUnknown_08623208 + movs r1, 0xF0 + movs r2, 0x20 + bl CopyPaletteIntoBufferUnfaded + ldr r0, =0x00001814 + adds r1, r5, r0 + ldr r0, =0x0000ffb0 + strh r0, [r1] + b _081CDFB0 + .pool +_081CE030: + bl free_temp_tile_data_buffers_if_possible + lsls r0, 24 + cmp r0, 0 + beq _081CE03C + b _081CE2C0 +_081CE03C: + ldr r0, =gUnknown_0862323C + ldr r1, =0x00001004 + adds r4, r5, r1 + adds r1, r4, 0 + bl LZ77UnCompVram + movs r0, 0x2 + adds r1, r4, 0 + bl SetBgTilemapBuffer + movs r0, 0x2 + bl CopyBgTilemapBufferToVram + ldr r0, =gUnknown_086231E8 + movs r1, 0x30 + movs r2, 0x20 + bl CopyPaletteIntoBufferUnfaded + movs r0, 0x2 + bl sub_81D21DC + b _081CDFB0 + .pool +_081CE074: + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + movs r3, 0x1 + bl sub_8199DF0 + movs r0, 0x1 + movs r1, 0x11 + movs r2, 0x1 + movs r3, 0x1 + bl sub_8199DF0 + movs r0, 0 + str r0, [sp, 0x8] + ldr r2, =0x00000804 + adds r4, r5, r2 + ldr r2, =0x05000200 + add r0, sp, 0x8 + adds r1, r4, 0 + bl CpuSet + movs r0, 0x1 + adds r1, r4, 0 + bl SetBgTilemapBuffer + b _081CDFB0 + .pool +_081CE0B0: + bl free_temp_tile_data_buffers_if_possible + lsls r0, 24 + cmp r0, 0 + beq _081CE0BC + b _081CE2C0 +_081CE0BC: + ldr r0, =gUnknown_08623364 + bl AddWindow + movs r2, 0xC1 + lsls r2, 5 + adds r1, r5, r2 + strb r0, [r1] + bl sub_81CDD5C + cmp r0, 0x1 + bne _081CE0F6 + ldr r0, =gUnknown_0862336C + bl AddWindow + ldr r2, =0x00001821 + adds r1, r5, r2 + strb r0, [r1] + ldr r0, =gUnknown_08623374 + bl AddWindow + ldr r2, =0x00001822 + adds r1, r5, r2 + strb r0, [r1] + ldr r0, =gUnknown_0862337C + bl AddWindow + ldr r2, =0x00001823 + adds r1, r5, r2 + strb r0, [r1] +_081CE0F6: + bl DeactivateAllTextPrinters + b _081CDFB0 + .pool +_081CE118: + movs r0, 0 + bl sub_81CED30 + b _081CDFB0 +_081CE120: + bl sub_81CE9E4 + b _081CDFB0 +_081CE126: + bl sub_81CDD5C + cmp r0, 0x1 + beq _081CE130 + b _081CDFB0 +_081CE130: + bl sub_81CE934 + b _081CDFB0 +_081CE136: + bl sub_81CDC84 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 8 + lsrs r1, 16 + movs r0, 0 + b _081CE164 +_081CE146: + bl sub_81CDC84 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 8 + lsrs r1, 16 + movs r0, 0x1 + b _081CE164 +_081CE156: + bl sub_81CDC84 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 8 + lsrs r1, 16 + movs r0, 0x2 +_081CE164: + movs r2, 0x1 + bl sub_81CE754 + b _081CDFB0 +_081CE16C: + bl sub_81CDC84 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 8 + lsrs r1, 16 + movs r0, 0x3 + movs r2, 0x1 + bl sub_81CE754 + cmp r0, 0x1 + beq _081CE186 + b _081CE2C0 +_081CE186: + movs r1, 0xC1 + lsls r1, 5 + adds r0, r5, r1 + ldrb r0, [r0] + bl PutWindowTilemap + bl sub_81CDD5C + cmp r0, 0x1 + beq _081CE19C + b _081CDFB0 +_081CE19C: + ldr r2, =0x00001821 + adds r0, r5, r2 + ldrb r0, [r0] + bl PutWindowTilemap + ldr r1, =0x00001822 + adds r0, r5, r1 + ldrb r0, [r0] + bl PutWindowTilemap + ldr r2, =0x00001823 + adds r0, r5, r2 + ldrb r0, [r0] + bl PutWindowTilemap + b _081CDFB0 + .pool +_081CE1C8: + movs r0, 0x1 + bl ShowBg + movs r0, 0x2 + bl HideBg + movs r0, 0x3 + bl ShowBg + bl sub_81CDD5C + cmp r0, 0x1 + beq _081CE1E4 + b _081CDFB0 +_081CE1E4: + movs r0, 0x4 + bl sub_81C7BA4 + b _081CDFB0 +_081CE1EC: + movs r0, 0x1 + bl sub_81C7AC0 + bl sub_81CDD5C + cmp r0, 0 + beq _081CE1FC + b _081CDFB0 +_081CE1FC: + movs r0, 0x6 + bl LoadLeftHeaderGfxForIndex + movs r0, 0x1 + movs r1, 0x1 + movs r2, 0 + bl sub_81C7FA0 + movs r0, 0x6 + movs r1, 0x1 + movs r2, 0 + bl sub_81C7FA0 + b _081CDFB0 +_081CE218: + bl IsPaletteFadeActive + cmp r0, 0 + bne _081CE2C0 + bl sub_81CDD5C + cmp r0, 0 + bne _081CE230 + bl sub_81C8010 + cmp r0, 0 + bne _081CE2C0 +_081CE230: + ldr r0, =sub_81CEE44 + bl SetVBlankCallback_ + b _081CDFB0 + .pool +_081CE23C: + bl sub_81CEE90 + bl sub_81CDC70 + bl sub_81D20AC + b _081CDFB0 +_081CE24A: + bl sub_81CDC70 + bl sub_81D20BC + lsls r0, 24 + cmp r0, 0 + bne _081CE2C0 + b _081CDFB0 +_081CE25A: + movs r0, 0x1 + bl sub_81CEE74 + b _081CDFB0 +_081CE262: + bl sub_81CDC70 + ldr r2, =0x00001814 + adds r1, r5, r2 + bl sub_81D3178 + lsls r0, 24 + cmp r0, 0 + bne _081CE2C0 + ldr r0, =0x000028e0 + adds r6, r5, r0 + adds r0, r6, 0 + bl sub_81D3464 + bl sub_81CDD5C + cmp r0, 0x1 + beq _081CE298 + bl sub_81CDC60 + adds r4, r0, 0 + bl sub_81CDC50 + lsls r4, 16 + lsls r0, 16 + cmp r4, r0 + beq _081CE2C4 +_081CE298: + ldr r1, =0x00001816 + adds r0, r5, r1 + ldrb r4, [r0] + bl sub_81CDDB0 + adds r2, r0, 0 + lsls r2, 24 + lsrs r2, 24 + adds r0, r6, 0 + adds r1, r4, 0 + bl sub_81D3480 + b _081CE2C4 + .pool +_081CE2C0: + movs r0, 0x2 + b _081CE2C6 +_081CE2C4: + movs r0, 0x4 +_081CE2C6: + add sp, 0xC + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_81CDE94 + + thumb_func_start sub_81CE2D0 +sub_81CE2D0: @ 81CE2D0 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0xC + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x1 + beq _081CE308 + cmp r4, 0x1 + bgt _081CE2EA + cmp r4, 0 + beq _081CE2F4 + b _081CE374 +_081CE2EA: + cmp r4, 0x2 + beq _081CE328 + cmp r4, 0x3 + beq _081CE33E + b _081CE374 +_081CE2F4: + bl sub_81CEEC8 + ldr r1, =0x000028e0 + adds r0, r5, r1 + bl sub_81D3520 + movs r0, 0x1 + b _081CE376 + .pool +_081CE308: + bl sub_81CDC70 + ldr r2, =0x00001814 + adds r1, r5, r2 + bl sub_81D31A4 + lsls r0, 24 + cmp r0, 0 + bne _081CE34E + movs r0, 0 + bl sub_81CEE74 + movs r0, 0x1 + b _081CE376 + .pool +_081CE328: + movs r0, 0 + bl sub_81C7AC0 + bl sub_81CDD5C + cmp r0, 0 + bne _081CE33A + bl sub_81C78A0 +_081CE33A: + movs r0, 0 + b _081CE376 +_081CE33E: + bl IsPaletteFadeActive + cmp r0, 0 + bne _081CE34E + bl MainMenuLoopedTaskIsBusy + cmp r0, 0 + beq _081CE352 +_081CE34E: + movs r0, 0x2 + b _081CE376 +_081CE352: + ldr r1, =0x000028e0 + adds r0, r5, r1 + bl sub_81D354C + movs r0, 0x1 + bl HideBg + movs r0, 0x2 + bl HideBg + movs r0, 0x3 + bl HideBg + movs r0, 0x1 + b _081CE376 + .pool +_081CE374: + movs r0, 0x4 +_081CE376: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81CE2D0 + + thumb_func_start sub_81CE37C +sub_81CE37C: @ 81CE37C + push {r4-r6,lr} + adds r4, r0, 0 + movs r0, 0xC + bl GetSubstructPtr + adds r6, r0, 0 + bl sub_81CDC70 + adds r2, r0, 0 + cmp r4, 0x9 + bls _081CE394 + b _081CE4D0 +_081CE394: + lsls r0, r4, 2 + ldr r1, =_081CE3A4 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_081CE3A4: + .4byte _081CE3CC + .4byte _081CE3D0 + .4byte _081CE3DA + .4byte _081CE3F0 + .4byte _081CE3F8 + .4byte _081CE418 + .4byte _081CE428 + .4byte _081CE438 + .4byte _081CE44E + .4byte _081CE468 +_081CE3CC: + movs r0, 0 + b _081CE3D2 +_081CE3D0: + movs r0, 0x1 +_081CE3D2: + bl sub_81CD548 +_081CE3D6: + movs r0, 0x1 + b _081CE4D2 +_081CE3DA: + movs r0, 0x2 + bl sub_81CD548 + ldr r1, =0x000028e0 + adds r0, r6, r1 + bl sub_81D3520 + b _081CE3D6 + .pool +_081CE3F0: + adds r0, r2, 0 + bl sub_81D2074 + b _081CE3D6 +_081CE3F8: + ldr r1, =0x00001814 + adds r0, r6, r1 + bl sub_81D3150 + lsls r0, 24 + cmp r0, 0 + bne _081CE4CC + bl sub_81CDC84 + lsls r0, 24 + lsrs r0, 24 + bl sub_81CED30 + b _081CE3D6 + .pool +_081CE418: + bl sub_81CDC84 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 8 + lsrs r1, 16 + movs r0, 0 + b _081CE446 +_081CE428: + bl sub_81CDC84 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 8 + lsrs r1, 16 + movs r0, 0x1 + b _081CE446 +_081CE438: + bl sub_81CDC84 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 8 + lsrs r1, 16 + movs r0, 0x2 +_081CE446: + movs r2, 0 + bl sub_81CE754 + b _081CE3D6 +_081CE44E: + bl sub_81CDC84 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 8 + lsrs r1, 16 + movs r0, 0x3 + movs r2, 0 + bl sub_81CE754 + cmp r0, 0x1 + beq _081CE3D6 + b _081CE4CC +_081CE468: + bl sub_81CDC70 + adds r2, r0, 0 + ldr r0, =0x00001814 + adds r1, r6, r0 + adds r0, r2, 0 + bl sub_81D3178 + lsls r0, 24 + cmp r0, 0 + bne _081CE4CC + ldr r1, =0x000028e0 + adds r0, r6, r1 + bl sub_81D3464 + bl sub_81CDD5C + cmp r0, 0x1 + beq _081CE4A0 + bl sub_81CDC60 + adds r4, r0, 0 + bl sub_81CDC50 + lsls r4, 16 + lsls r0, 16 + cmp r4, r0 + beq _081CE3D6 +_081CE4A0: + ldr r0, =0x000028e0 + adds r5, r6, r0 + ldr r1, =0x00001816 + adds r0, r6, r1 + ldrb r4, [r0] + bl sub_81CDDB0 + adds r2, r0, 0 + lsls r2, 24 + lsrs r2, 24 + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_81D3480 + b _081CE3D6 + .pool +_081CE4CC: + movs r0, 0x2 + b _081CE4D2 +_081CE4D0: + movs r0, 0x4 +_081CE4D2: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_81CE37C + + thumb_func_start sub_81CE4D8 +sub_81CE4D8: @ 81CE4D8 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0xC + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x8 + bhi _081CE5DC + lsls r0, r4, 2 + ldr r1, =_081CE4F8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_081CE4F8: + .4byte _081CE51C + .4byte _081CE520 + .4byte _081CE524 + .4byte _081CE52E + .4byte _081CE53E + .4byte _081CE54E + .4byte _081CE55E + .4byte _081CE576 + .4byte _081CE592 +_081CE51C: + movs r0, 0 + b _081CE526 +_081CE520: + movs r0, 0x1 + b _081CE526 +_081CE524: + movs r0, 0x2 +_081CE526: + bl sub_81CD548 + movs r0, 0x1 + b _081CE5DE +_081CE52E: + bl sub_81CDC84 + lsls r0, 24 + lsrs r0, 24 + bl sub_81CED30 + movs r0, 0x1 + b _081CE5DE +_081CE53E: + bl sub_81CDC84 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 8 + lsrs r1, 16 + movs r0, 0 + b _081CE56C +_081CE54E: + bl sub_81CDC84 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 8 + lsrs r1, 16 + movs r0, 0x1 + b _081CE56C +_081CE55E: + bl sub_81CDC84 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 8 + lsrs r1, 16 + movs r0, 0x2 +_081CE56C: + movs r2, 0 + bl sub_81CE754 + movs r0, 0x1 + b _081CE5DE +_081CE576: + bl sub_81CDC84 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 8 + lsrs r1, 16 + movs r0, 0x3 + movs r2, 0 + bl sub_81CE754 + cmp r0, 0x1 + bne _081CE5D8 + movs r0, 0x1 + b _081CE5DE +_081CE592: + bl sub_81CDC70 + ldr r2, =0x00001814 + adds r1, r5, r2 + bl sub_81D3178 + lsls r0, 24 + cmp r0, 0 + bne _081CE5D8 + ldr r0, =0x000028e0 + adds r4, r5, r0 + adds r0, r4, 0 + bl sub_81D3464 + ldr r1, =0x00001816 + adds r0, r5, r1 + ldrb r5, [r0] + bl sub_81CDDB0 + adds r2, r0, 0 + lsls r2, 24 + lsrs r2, 24 + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_81D3480 + movs r0, 0x1 + b _081CE5DE + .pool +_081CE5D8: + movs r0, 0x2 + b _081CE5DE +_081CE5DC: + movs r0, 0x4 +_081CE5DE: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81CE4D8 + + thumb_func_start sub_81CE5E4 +sub_81CE5E4: @ 81CE5E4 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0xC + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x7 + bhi _081CE6B2 + lsls r0, r4, 2 + ldr r1, =_081CE604 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_081CE604: + .4byte _081CE624 + .4byte _081CE628 + .4byte _081CE632 + .4byte _081CE648 + .4byte _081CE660 + .4byte _081CE670 + .4byte _081CE680 + .4byte _081CE696 +_081CE624: + movs r0, 0 + b _081CE62A +_081CE628: + movs r0, 0x1 +_081CE62A: + bl sub_81CD548 +_081CE62E: + movs r0, 0x1 + b _081CE6B4 +_081CE632: + movs r0, 0x2 + bl sub_81CD548 + ldr r1, =0x000028e0 + adds r0, r5, r1 + bl sub_81D3520 + b _081CE62E + .pool +_081CE648: + bl sub_81CDC70 + ldr r2, =0x00001814 + adds r1, r5, r2 + bl sub_81D31A4 + lsls r0, 24 + cmp r0, 0 + beq _081CE62E + b _081CE6AE + .pool +_081CE660: + bl sub_81CDC84 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 8 + lsrs r1, 16 + movs r0, 0 + b _081CE68E +_081CE670: + bl sub_81CDC84 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 8 + lsrs r1, 16 + movs r0, 0x1 + b _081CE68E +_081CE680: + bl sub_81CDC84 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 8 + lsrs r1, 16 + movs r0, 0x2 +_081CE68E: + movs r2, 0 + bl sub_81CE754 + b _081CE62E +_081CE696: + bl sub_81CDC84 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 8 + lsrs r1, 16 + movs r0, 0x3 + movs r2, 0 + bl sub_81CE754 + cmp r0, 0x1 + beq _081CE62E +_081CE6AE: + movs r0, 0x2 + b _081CE6B4 +_081CE6B2: + movs r0, 0x4 +_081CE6B4: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81CE5E4 + + thumb_func_start sub_81CE6BC +sub_81CE6BC: @ 81CE6BC + push {lr} + cmp r0, 0x1 + beq _081CE6E6 + cmp r0, 0x1 + bgt _081CE6CC + cmp r0, 0 + beq _081CE6D2 + b _081CE6FA +_081CE6CC: + cmp r0, 0x2 + beq _081CE6EE + b _081CE6FA +_081CE6D2: + bl sub_81CDD7C + lsls r0, 24 + lsrs r0, 24 + movs r1, 0xB0 + movs r2, 0x20 + bl sub_811FAA4 +_081CE6E2: + movs r0, 0x1 + b _081CE6FC +_081CE6E6: + movs r0, 0x5 + bl sub_81C7BA4 + b _081CE6E2 +_081CE6EE: + bl IsDma3ManagerBusyWithBgCopy_ + cmp r0, 0x1 + bne _081CE6E2 + movs r0, 0x2 + b _081CE6FC +_081CE6FA: + movs r0, 0x4 +_081CE6FC: + pop {r1} + bx r1 + thumb_func_end sub_81CE6BC + + thumb_func_start sub_81CE700 +sub_81CE700: @ 81CE700 + push {lr} + cmp r0, 0x1 + beq _081CE71E + cmp r0, 0x1 + bgt _081CE710 + cmp r0, 0 + beq _081CE716 + b _081CE732 +_081CE710: + cmp r0, 0x2 + beq _081CE726 + b _081CE732 +_081CE716: + bl sub_811FAF8 +_081CE71A: + movs r0, 0x1 + b _081CE734 +_081CE71E: + movs r0, 0x4 + bl sub_81C7BA4 + b _081CE71A +_081CE726: + bl IsDma3ManagerBusyWithBgCopy_ + cmp r0, 0x1 + bne _081CE71A + movs r0, 0x2 + b _081CE734 +_081CE732: + movs r0, 0x4 +_081CE734: + pop {r1} + bx r1 + thumb_func_end sub_81CE700 + + thumb_func_start sub_81CE738 +sub_81CE738: @ 81CE738 + push {lr} + lsls r1, 16 + lsrs r1, 16 + movs r2, 0x1 + movs r3, 0x4 + bl ConvertIntToDecimalStringN + ldr r1, =gText_Number2 + bl StringCopy + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CE738 + + thumb_func_start sub_81CE754 +sub_81CE754: @ 81CE754 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x2C + lsls r0, 24 + lsrs r4, r0, 24 + adds r7, r4, 0 + lsls r1, 16 + lsrs r1, 16 + mov r8, r1 + lsls r2, 24 + lsrs r5, r2, 24 + movs r0, 0xC + bl GetSubstructPtr + adds r6, r0, 0 + cmp r4, 0x1 + beq _081CE7B8 + cmp r4, 0x1 + bgt _081CE782 + cmp r4, 0 + beq _081CE78E + b _081CE924 +_081CE782: + cmp r4, 0x2 + beq _081CE800 + cmp r4, 0x3 + bne _081CE78C + b _081CE89C +_081CE78C: + b _081CE924 +_081CE78E: + movs r1, 0xC1 + lsls r1, 5 + adds r0, r6, r1 + ldrb r0, [r0] + movs r1, 0 + bl FillWindowPixelBuffer + bl sub_81CDD5C + cmp r0, 0x1 + beq _081CE7A6 + b _081CE924 +_081CE7A6: + ldr r1, =0x00001821 + adds r0, r6, r1 + ldrb r0, [r0] + movs r1, 0 + bl FillWindowPixelBuffer + b _081CE924 + .pool +_081CE7B8: + bl sub_81CDC60 + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + bl sub_81CDC50 + lsls r0, 16 + lsrs r0, 16 + subs r0, 0x1 + cmp r4, r0 + bne _081CE7DA + bl sub_81CDD5C + cmp r0, 0x1 + beq _081CE7DA + b _081CE924 +_081CE7DA: + mov r1, r8 + lsls r0, r1, 24 + lsrs r0, 24 + bl sub_81CDD04 + adds r2, r0, 0 + movs r1, 0xC1 + lsls r1, 5 + adds r0, r6, r1 + ldrb r0, [r0] + str r7, [sp] + movs r1, 0 + str r1, [sp, 0x4] + str r1, [sp, 0x8] + movs r1, 0x1 + movs r3, 0 + bl AddTextPrinterParameterized + b _081CE924 +_081CE800: + bl sub_81CDD5C + adds r7, r0, 0 + cmp r7, 0x1 + beq _081CE80C + b _081CE924 +_081CE80C: + mov r1, r8 + lsls r0, r1, 24 + lsrs r0, 24 + bl sub_81CDD24 + adds r2, r0, 0 + movs r1, 0xC1 + lsls r1, 5 + adds r0, r6, r1 + ldrb r0, [r0] + movs r1, 0x11 + str r1, [sp] + movs r4, 0 + str r4, [sp, 0x4] + str r4, [sp, 0x8] + movs r1, 0x1 + movs r3, 0 + bl AddTextPrinterParameterized + add r1, sp, 0xC + movs r0, 0xFC + strb r0, [r1] + movs r0, 0x4 + strb r0, [r1, 0x1] + movs r0, 0x8 + strb r0, [r1, 0x2] + adds r0, r1, 0 + strb r4, [r0, 0x3] + movs r0, 0x9 + strb r0, [r1, 0x4] + mov r5, sp + adds r5, 0x11 + ldr r1, =gText_Number2 + adds r0, r5, 0 + bl StringCopy + ldr r0, =0x00001821 + adds r6, r0 + ldrb r0, [r6] + str r7, [sp] + str r4, [sp, 0x4] + str r4, [sp, 0x8] + movs r1, 0x1 + add r2, sp, 0xC + movs r3, 0x4 + bl AddTextPrinterParameterized + bl sub_81CDD48 + adds r1, r0, 0 + lsls r1, 16 + lsrs r1, 16 + adds r0, r5, 0 + movs r2, 0x1 + movs r3, 0x4 + bl ConvertIntToDecimalStringN + ldrb r0, [r6] + str r7, [sp] + str r4, [sp, 0x4] + str r4, [sp, 0x8] + movs r1, 0x1 + add r2, sp, 0xC + movs r3, 0x1C + bl AddTextPrinterParameterized + b _081CE924 + .pool +_081CE89C: + ldr r1, =0x00002908 + adds r0, r6, r1 + ldrb r0, [r0] + cmp r0, 0 + beq _081CE8B0 + cmp r0, 0x1 + beq _081CE8EC + b _081CE924 + .pool +_081CE8B0: + cmp r5, 0 + beq _081CE8C4 + movs r1, 0xC1 + lsls r1, 5 + adds r0, r6, r1 + ldrb r0, [r0] + movs r1, 0x3 + bl CopyWindowToVram + b _081CE8D2 +_081CE8C4: + movs r1, 0xC1 + lsls r1, 5 + adds r0, r6, r1 + ldrb r0, [r0] + movs r1, 0x2 + bl CopyWindowToVram +_081CE8D2: + bl sub_81CDD5C + cmp r0, 0x1 + bne _081CE910 + ldr r0, =0x00002908 + adds r1, r6, r0 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + b _081CE924 + .pool +_081CE8EC: + cmp r5, 0 + beq _081CE904 + ldr r1, =0x00001821 + adds r0, r6, r1 + ldrb r0, [r0] + movs r1, 0x3 + bl CopyWindowToVram + b _081CE910 + .pool +_081CE904: + ldr r1, =0x00001821 + adds r0, r6, r1 + ldrb r0, [r0] + movs r1, 0x2 + bl CopyWindowToVram +_081CE910: + ldr r0, =0x00002908 + adds r1, r6, r0 + movs r0, 0 + strb r0, [r1] + movs r0, 0x1 + b _081CE926 + .pool +_081CE924: + movs r0, 0 +_081CE926: + add sp, 0x2C + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_81CE754 + + thumb_func_start sub_81CE934 +sub_81CE934: @ 81CE934 + push {r4,lr} + movs r0, 0xC + bl GetSubstructPtr + adds r4, r0, 0 + ldr r1, =0x00001822 + adds r0, r4, r1 + ldrb r0, [r0] + movs r1, 0x3 + bl CopyWindowToVram + ldr r0, =0x00001823 + adds r4, r0 + ldrb r0, [r4] + movs r1, 0x3 + bl CopyWindowToVram + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CE934 + + thumb_func_start sub_81CE964 +sub_81CE964: @ 81CE964 + push {r4,r5,lr} + adds r5, r0, 0 + movs r0, 0x2E + ldrsh r4, [r5, r0] + bl sub_81CDC60 + lsls r0, 16 + lsrs r0, 16 + cmp r4, r0 + bne _081CE982 + adds r0, r5, 0 + movs r1, 0 + bl StartSpriteAnim + b _081CE98A +_081CE982: + adds r0, r5, 0 + movs r1, 0x1 + bl StartSpriteAnim +_081CE98A: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_81CE964 + + thumb_func_start sub_81CE990 +sub_81CE990: @ 81CE990 + push {r4,r5,lr} + adds r5, r0, 0 + bl sub_81CDC60 + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + bl sub_81CDC50 + lsls r0, 16 + lsrs r0, 16 + subs r0, 0x1 + cmp r4, r0 + bne _081CE9B0 + movs r0, 0x65 + b _081CE9B2 +_081CE9B0: + movs r0, 0x66 +_081CE9B2: + bl IndexOfSpritePaletteTag + lsls r0, 4 + ldrb r2, [r5, 0x5] + movs r1, 0xF + ands r1, r2 + orrs r1, r0 + strb r1, [r5, 0x5] + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_81CE990 + + thumb_func_start sub_81CE9C8 +sub_81CE9C8: @ 81CE9C8 + push {r4,lr} + adds r4, r0, 0 + bl sub_81CDD7C + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + adds r0, r4, 0 + bl StartSpriteAnim + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_81CE9C8 + + thumb_func_start sub_81CE9E4 +sub_81CE9E4: @ 81CE9E4 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x58 + movs r0, 0xC + bl GetSubstructPtr + adds r6, r0, 0 + add r4, sp, 0x20 + add r5, sp, 0x38 + mov r0, sp + adds r1, r4, 0 + adds r2, r5, 0 + bl sub_81D321C + bl sub_81CDD5C + adds r7, r4, 0 + mov r10, r5 + cmp r0, 0x1 + bne _081CEA78 + ldr r1, =0x00001824 + adds r0, r6, r1 + movs r2, 0x6A + strh r2, [r0] + ldr r3, =0x00001826 + adds r1, r6, r3 + strh r2, [r1] + bl sub_811F90C + bl sub_811FA90 + ldr r2, =gUnknown_08623338 + movs r0, 0x69 + movs r1, 0x69 + bl sub_811FF94 + ldrb r1, [r0, 0x5] + movs r2, 0xC + orrs r1, r2 + strb r1, [r0, 0x5] + movs r1, 0xC0 + strh r1, [r0, 0x20] + movs r1, 0x20 + strh r1, [r0, 0x22] + ldr r1, =sub_81CE9C8 + str r1, [r0, 0x1C] + ldr r2, =0x000028dc + adds r1, r6, r2 + str r0, [r1] + movs r0, 0x69 + bl IndexOfSpritePaletteTag + lsls r0, 24 + lsrs r0, 24 + movs r1, 0 + bl sub_81C7990 + add r3, sp, 0x50 + mov r8, r3 + b _081CEBC6 + .pool +_081CEA78: + mov r0, sp + bl LoadSpriteSheets + mov r0, r10 + bl Pokenav_AllocAndLoadPalettes + movs r4, 0 + add r0, sp, 0x50 + mov r8, r0 + b _081CEAE8 +_081CEA8C: + lsls r2, r4, 2 + adds r2, r4 + lsls r2, 18 + movs r1, 0x80 + lsls r1, 12 + adds r2, r1 + asrs r2, 16 + adds r0, r7, 0 + movs r1, 0xE2 + movs r3, 0 + bl CreateSprite + lsls r0, 24 + lsrs r3, r0, 24 + cmp r3, 0x40 + beq _081CEAD8 + ldr r2, =0x00001806 + adds r0, r6, r2 + adds r0, r4 + strb r3, [r0] + ldr r2, =gSprites + lsls r0, r3, 4 + adds r0, r3 + lsls r0, 2 + adds r1, r0, r2 + strh r4, [r1, 0x2E] + adds r2, 0x1C + adds r0, r2 + ldr r1, =sub_81CE964 + str r1, [r0] + b _081CEAE2 + .pool +_081CEAD8: + ldr r3, =0x00001806 + adds r0, r6, r3 + adds r0, r4 + movs r1, 0xFF + strb r1, [r0] +_081CEAE2: + adds r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 +_081CEAE8: + bl sub_81CDC50 + lsls r0, 16 + lsrs r0, 16 + subs r0, 0x1 + cmp r4, r0 + blt _081CEA8C + movs r0, 0x67 + strh r0, [r7] + ldr r0, =SpriteCallbackDummy + str r0, [r7, 0x14] + cmp r4, 0x5 + bhi _081CEB5C + ldr r0, =0x00001806 + adds r5, r6, r0 + ldr r1, =gSprites + mov r9, r1 +_081CEB0A: + lsls r2, r4, 2 + adds r2, r4 + lsls r2, 18 + movs r3, 0x80 + lsls r3, 12 + adds r2, r3 + asrs r2, 16 + adds r0, r7, 0 + movs r1, 0xE6 + movs r3, 0 + bl CreateSprite + lsls r0, 24 + lsrs r3, r0, 24 + cmp r3, 0x40 + beq _081CEB4C + adds r0, r5, r4 + strb r3, [r0] + lsls r1, r3, 4 + adds r1, r3 + lsls r1, 2 + add r1, r9 + ldrb r2, [r1, 0x3] + movs r0, 0x3F + ands r0, r2 + strb r0, [r1, 0x3] + b _081CEB52 + .pool +_081CEB4C: + adds r1, r5, r4 + movs r0, 0xFF + strb r0, [r1] +_081CEB52: + adds r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 + cmp r4, 0x5 + bls _081CEB0A +_081CEB5C: + movs r0, 0x66 + strh r0, [r7] + ldr r0, =sub_81CE990 + str r0, [r7, 0x14] + lsls r2, r4, 2 + adds r2, r4 + lsls r2, 18 + movs r0, 0x80 + lsls r0, 12 + adds r2, r0 + asrs r2, 16 + adds r0, r7, 0 + movs r1, 0xDE + movs r3, 0 + bl CreateSprite + lsls r0, 24 + lsrs r3, r0, 24 + cmp r3, 0x40 + beq _081CEBBC + ldr r1, =0x00001806 + adds r0, r6, r1 + adds r0, r4 + strb r3, [r0] + ldr r0, =gSprites + lsls r2, r3, 4 + adds r2, r3 + lsls r2, 2 + adds r2, r0 + ldrb r3, [r2, 0x1] + movs r1, 0x3F + adds r0, r1, 0 + ands r0, r3 + movs r3, 0x40 + orrs r0, r3 + strb r0, [r2, 0x1] + ldrb r0, [r2, 0x3] + ands r1, r0 + movs r0, 0x80 + orrs r1, r0 + strb r1, [r2, 0x3] + b _081CEBC6 + .pool +_081CEBBC: + ldr r2, =0x00001806 + adds r0, r6, r2 + adds r0, r4 + movs r1, 0xFF + strb r1, [r0] +_081CEBC6: + mov r0, r8 + mov r1, r10 + bl sub_81D32B0 + mov r0, r8 + bl LoadSpriteSheet + movs r0, 0 + mov r3, r10 + str r0, [r3, 0x8] + mov r0, r10 + bl Pokenav_AllocAndLoadPalettes + add sp, 0x58 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CE9E4 + + thumb_func_start sub_81CEBF4 +sub_81CEBF4: @ 81CEBF4 + push {r4,r5,lr} + adds r5, r0, 0 + bl sub_81CDD5C + cmp r0, 0x1 + bne _081CEC28 + ldr r1, =0x000028dc + adds r0, r5, r1 + ldr r0, [r0] + bl DestroySprite + movs r0, 0x6A + bl FreeSpriteTilesByTag + movs r0, 0x69 + bl FreeSpriteTilesByTag + movs r0, 0x6A + bl FreeSpritePaletteByTag + movs r0, 0x69 + bl FreeSpritePaletteByTag + b _081CEC68 + .pool +_081CEC28: + movs r4, 0 +_081CEC2A: + ldr r1, =0x00001806 + adds r0, r5, r1 + adds r0, r4 + 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, 0x6 + bls _081CEC2A + movs r0, 0x65 + bl FreeSpriteTilesByTag + movs r0, 0x66 + bl FreeSpriteTilesByTag + movs r0, 0x67 + bl FreeSpriteTilesByTag + movs r0, 0x65 + bl FreeSpritePaletteByTag + movs r0, 0x66 + bl FreeSpritePaletteByTag +_081CEC68: + ldr r0, =0x00001816 + adds r1, r5, r0 + ldrb r0, [r1] + cmp r0, 0xFF + beq _081CEC8E + adds r1, r0, 0 + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, =gSprites + adds r0, r1 + bl DestroySprite + movs r0, 0x64 + bl FreeSpriteTilesByTag + movs r0, 0x64 + bl FreeSpritePaletteByTag +_081CEC8E: + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CEBF4 + + thumb_func_start sub_81CECA0 +sub_81CECA0: @ 81CECA0 + push {r4,lr} + movs r0, 0xC + bl GetSubstructPtr + adds r4, r0, 0 + movs r1, 0xC1 + lsls r1, 5 + adds r0, r4, r1 + ldrb r0, [r0] + bl RemoveWindow + bl sub_81CDD5C + cmp r0, 0x1 + bne _081CECEC + ldr r1, =0x00001821 + adds r0, r4, r1 + ldrb r0, [r0] + bl RemoveWindow + ldr r1, =0x00001822 + adds r0, r4, r1 + ldrb r0, [r0] + bl RemoveWindow + ldr r1, =0x00001823 + adds r0, r4, r1 + ldrb r0, [r0] + bl RemoveWindow + b _081CECF0 + .pool +_081CECEC: + bl sub_81C7FDC +_081CECF0: + movs r1, 0x8A + lsls r1, 5 + movs r0, 0 + bl SetGpuReg + adds r0, r4, 0 + bl sub_81CEBF4 + bl sub_81CEE68 + movs r0, 0xC + bl FreePokenavSubstruct + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_81CECA0 + + thumb_func_start sub_81CED10 +sub_81CED10: @ 81CED10 + push {r4,lr} + adds r4, r0, 0 + movs r0, 0xC + bl GetSubstructPtr + ldr r1, =0x00001814 + adds r0, r1 + ldrh r0, [r0] + adds r0, 0x26 + strh r0, [r4, 0x20] + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CED10 + + thumb_func_start sub_81CED30 +sub_81CED30: @ 81CED30 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x28 + lsls r0, 24 + lsrs r6, r0, 24 + movs r0, 0xC + bl GetSubstructPtr + mov r8, r0 + ldr r7, =0x00001816 + add r7, r8 + ldrb r0, [r7] + cmp r0, 0xFF + bne _081CEDFC + add r5, sp, 0x18 + add r4, sp, 0x20 + adds r0, r5, 0 + mov r1, sp + adds r2, r4, 0 + bl sub_81D31D0 + adds r0, r6, 0 + bl sub_81CDCB4 + str r0, [sp, 0x18] + adds r0, r6, 0 + bl sub_81CDCD4 + str r0, [sp, 0x20] + adds r0, r4, 0 + bl LoadSpritePalette + lsls r0, 24 + lsrs r0, 24 + ldr r4, =0x00001818 + add r4, r8 + strh r0, [r4] + adds r0, r5, 0 + bl LoadSpriteSheet + ldr r5, =0x0000181a + add r5, r8 + strh r0, [r5] + mov r0, sp + movs r1, 0x26 + movs r2, 0x68 + movs r3, 0 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + strb r0, [r7] + cmp r0, 0x40 + bne _081CEDBC + movs r0, 0x64 + bl FreeSpriteTilesByTag + movs r0, 0x64 + bl FreeSpritePaletteByTag + movs r0, 0xFF + strb r0, [r7] + b _081CEE26 + .pool +_081CEDBC: + strb r0, [r7] + ldr r2, =gSprites + ldrb r1, [r7] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r2, 0x1C + adds r0, r2 + ldr r1, =sub_81CED10 + str r1, [r0] + ldr r1, =0x0000181c + add r1, r8 + ldrh r0, [r5] + lsls r0, 5 + ldr r2, =0x06010000 + adds r0, r2 + str r0, [r1] + ldrh r0, [r4] + lsls r0, 4 + movs r1, 0x80 + lsls r1, 1 + adds r0, r1 + strh r0, [r4] + b _081CEE26 + .pool +_081CEDFC: + adds r0, r6, 0 + bl sub_81CDCB4 + ldr r1, =0x0000181c + add r1, r8 + ldr r2, [r1] + ldr r1, =0x040000d4 + str r0, [r1] + str r2, [r1, 0x4] + ldr r0, =0x80000400 + str r0, [r1, 0x8] + ldr r0, [r1, 0x8] + adds r0, r6, 0 + bl sub_81CDCD4 + ldr r1, =0x00001818 + add r1, r8 + ldrh r1, [r1] + movs r2, 0x20 + bl LoadPalette +_081CEE26: + add sp, 0x28 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CED30 + + thumb_func_start sub_81CEE44 +sub_81CEE44: @ 81CEE44 + push {r4,lr} + bl sub_81CDC70 + adds r4, r0, 0 + bl LoadOam + bl ProcessSpriteCopyRequests + bl TransferPlttBuffer + adds r0, r4, 0 + bl sub_81D2108 + bl ScanlineEffect_InitHBlankDmaTransfer + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_81CEE44 + + thumb_func_start sub_81CEE68 +sub_81CEE68: @ 81CEE68 + push {lr} + bl SetPokenavVBlankCallback + pop {r0} + bx r0 + thumb_func_end sub_81CEE68 + + thumb_func_start sub_81CEE74 +sub_81CEE74: @ 81CEE74 + push {lr} + lsls r0, 24 + cmp r0, 0 + beq _081CEE84 + movs r0, 0x2 + bl ShowBg + b _081CEE8A +_081CEE84: + movs r0, 0x2 + bl HideBg +_081CEE8A: + pop {r0} + bx r0 + thumb_func_end sub_81CEE74 + + thumb_func_start sub_81CEE90 +sub_81CEE90: @ 81CEE90 + push {r4,lr} + bl sub_81CDC70 + adds r4, r0, 0 + bl sub_81CDC84 + lsls r0, 24 + lsrs r0, 24 + ldr r1, =gUnknown_030012BC + strb r0, [r1] + adds r1, r4, 0 + adds r1, 0x50 + lsls r2, r0, 2 + adds r2, r0 + lsls r2, 2 + adds r2, 0x14 + adds r2, r4, r2 + adds r0, r4, 0 + bl sub_81D1F84 + adds r0, r4, 0 + bl sub_81D2074 + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CEE90 + + thumb_func_start sub_81CEEC8 +sub_81CEEC8: @ 81CEEC8 + push {r4,r5,lr} + bl sub_81CDC70 + adds r5, r0, 0 + bl sub_81CDD5C + cmp r0, 0 + bne _081CEEF0 + bl sub_81CDC60 + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + bl sub_81CDC50 + lsls r0, 16 + lsrs r0, 16 + subs r0, 0x1 + cmp r4, r0 + beq _081CEF0C +_081CEEF0: + bl sub_81CDC84 + lsls r0, 24 + asrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 2 + adds r1, 0x14 + adds r1, r5, r1 + adds r2, r5, 0 + adds r2, 0x50 + adds r0, r5, 0 + bl sub_81D1F84 +_081CEF0C: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_81CEEC8 + + thumb_func_start sub_81CEF14 +sub_81CEF14: @ 81CEF14 + push {r4,lr} + movs r0, 0xC + bl GetSubstructPtr + adds r4, r0, 0 + bl sub_81CDD5C + cmp r0, 0x1 + beq _081CEF2A + movs r0, 0 + b _081CEF30 +_081CEF2A: + ldr r1, =0x00001828 + adds r0, r4, r1 + ldrb r0, [r0] +_081CEF30: + pop {r4} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CEF14 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokenav_unk_8.s b/asm/pokenav_unk_8.s new file mode 100644 index 0000000000..5bba161bb8 --- /dev/null +++ b/asm/pokenav_unk_8.s @@ -0,0 +1,1377 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + +@ File centered around AllocSubstruct(7) + + thumb_func_start sub_81CEF3C +sub_81CEF3C: @ 81CEF3C + push {r4,lr} + movs r0, 0x7 + movs r1, 0x24 + bl AllocSubstruct + adds r4, r0, 0 + cmp r4, 0 + beq _081CEF90 + ldr r1, =0x000006ac + movs r0, 0x12 + bl AllocSubstruct + str r0, [r4, 0x20] + cmp r0, 0 + beq _081CEF90 + ldr r0, =sub_81CF010 + str r0, [r4] + ldr r0, =sub_81CF11C + movs r1, 0x1 + bl CreateLoopedTask + str r0, [r4, 0x4] + movs r0, 0 + str r0, [r4, 0x18] + bl sub_81C76AC + ldr r1, =gUnknown_086233A0 + lsls r0, 2 + adds r0, r1 + ldr r0, [r0] + str r0, [r4, 0x14] + movs r0, 0x1 + b _081CEF92 + .pool +_081CEF90: + movs r0, 0 +_081CEF92: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CEF3C + + thumb_func_start sub_81CEF98 +sub_81CEF98: @ 81CEF98 + push {r4,lr} + movs r0, 0x7 + movs r1, 0x24 + bl AllocSubstruct + adds r4, r0, 0 + cmp r4, 0 + beq _081CEFD4 + movs r0, 0x12 + bl GetSubstructPtr + str r0, [r4, 0x20] + ldr r0, =sub_81CF030 + str r0, [r4] + movs r0, 0x1 + str r0, [r4, 0x18] + bl sub_81C76AC + ldr r1, =gUnknown_086233A0 + lsls r0, 2 + adds r0, r1 + ldr r0, [r0] + str r0, [r4, 0x14] + movs r0, 0x1 + b _081CEFD6 + .pool +_081CEFD4: + movs r0, 0 +_081CEFD6: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CEF98 + + thumb_func_start sub_81CEFDC +sub_81CEFDC: @ 81CEFDC + push {lr} + movs r0, 0x7 + bl GetSubstructPtr + ldr r1, [r0] + bl _call_via_r1 + pop {r1} + bx r1 + thumb_func_end sub_81CEFDC + + thumb_func_start sub_81CEFF0 +sub_81CEFF0: @ 81CEFF0 + push {lr} + movs r0, 0x7 + bl GetSubstructPtr + ldr r0, [r0, 0x1C] + cmp r0, 0 + bne _081CF004 + movs r0, 0x12 + bl FreePokenavSubstruct +_081CF004: + movs r0, 0x7 + bl FreePokenavSubstruct + pop {r0} + bx r0 + thumb_func_end sub_81CEFF0 + + thumb_func_start sub_81CF010 +sub_81CF010: @ 81CF010 + push {r4,lr} + adds r4, r0, 0 + ldr r0, [r4, 0x4] + bl IsLoopedTaskActive + cmp r0, 0 + bne _081CF022 + ldr r0, =sub_81CF030 + str r0, [r4] +_081CF022: + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CF010 + + thumb_func_start sub_81CF030 +sub_81CF030: @ 81CF030 + push {r4,r5,lr} + adds r4, r0, 0 + ldr r2, =gMain + ldrh r1, [r2, 0x30] + movs r0, 0x40 + ands r0, r1 + cmp r0, 0 + beq _081CF048 + movs r0, 0x1 + b _081CF0A6 + .pool +_081CF048: + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _081CF054 + movs r0, 0x2 + b _081CF0A6 +_081CF054: + ldrh r1, [r2, 0x2E] + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + beq _081CF062 + movs r0, 0x3 + b _081CF0A6 +_081CF062: + movs r0, 0x10 + ands r0, r1 + lsls r0, 16 + lsrs r2, r0, 16 + cmp r2, 0 + beq _081CF072 + movs r0, 0x4 + b _081CF0A6 +_081CF072: + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _081CF088 + str r2, [r4, 0x1C] + ldr r0, =sub_81CF0B0 + str r0, [r4] + movs r0, 0x5 + b _081CF0A6 + .pool +_081CF088: + movs r5, 0x1 + adds r0, r5, 0 + ands r0, r1 + cmp r0, 0 + bne _081CF096 + movs r0, 0 + b _081CF0A6 +_081CF096: + bl GetSelectedMatchCall + ldr r1, [r4, 0x20] + strh r0, [r1, 0x2] + str r5, [r4, 0x1C] + ldr r0, =sub_81CF0B8 + str r0, [r4] + movs r0, 0x6 +_081CF0A6: + pop {r4,r5} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CF030 + + thumb_func_start sub_81CF0B0 +sub_81CF0B0: @ 81CF0B0 + ldr r0, =0x000186a3 + bx lr + .pool + thumb_func_end sub_81CF0B0 + + thumb_func_start sub_81CF0B8 +sub_81CF0B8: @ 81CF0B8 + ldr r0, =0x000186a9 + bx lr + .pool + thumb_func_end sub_81CF0B8 + + thumb_func_start sub_81CF0C0 +sub_81CF0C0: @ 81CF0C0 + push {lr} + movs r0, 0x7 + bl GetSubstructPtr + ldr r0, [r0, 0x18] + pop {r1} + bx r1 + thumb_func_end sub_81CF0C0 + + thumb_func_start sub_81CF0D0 +sub_81CF0D0: @ 81CF0D0 + push {lr} + movs r0, 0x7 + bl GetSubstructPtr + ldr r0, [r0, 0x20] + adds r0, 0x4 + pop {r1} + bx r1 + thumb_func_end sub_81CF0D0 + + thumb_func_start sub_81CF0E0 +sub_81CF0E0: @ 81CF0E0 + push {lr} + movs r0, 0x7 + bl GetSubstructPtr + ldr r0, [r0, 0x20] + ldrh r0, [r0] + pop {r1} + bx r1 + thumb_func_end sub_81CF0E0 + + thumb_func_start sub_81CF0F0 +sub_81CF0F0: @ 81CF0F0 + push {r4,lr} + movs r0, 0x7 + bl GetSubstructPtr + adds r4, r0, 0 + bl GetSelectedMatchCall + ldr r1, [r4, 0x20] + lsls r0, 2 + adds r1, r0 + ldrh r0, [r1, 0x6] + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CF0F0 + + thumb_func_start sub_81CF10C +sub_81CF10C: @ 81CF10C + push {lr} + movs r0, 0x7 + bl GetSubstructPtr + ldr r0, [r0, 0x20] + ldrh r0, [r0, 0x2] + pop {r1} + bx r1 + thumb_func_end sub_81CF10C + + thumb_func_start sub_81CF11C +sub_81CF11C: @ 81CF11C + push {lr} + ldr r2, =gUnknown_086233B4 + lsls r1, r0, 2 + adds r1, r2 + ldr r1, [r1] + bl _call_via_r1 + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CF11C + + thumb_func_start sub_81CF134 +sub_81CF134: @ 81CF134 + push {r4-r6,lr} + sub sp, 0x4 + movs r0, 0x7 + bl GetSubstructPtr + adds r6, r0, 0 + ldr r0, [r6, 0x20] + movs r1, 0 + strh r1, [r0] + ldr r0, [r6, 0x20] + strh r1, [r0, 0x2] + ldr r1, =0xffffff00 + ldr r0, [sp] + ands r0, r1 + movs r1, 0xE + orrs r0, r1 + str r0, [sp] + movs r5, 0 +_081CF158: + movs r0, 0x64 + adds r1, r5, 0 + muls r1, r0 + ldr r0, =gPlayerParty + adds r4, r1, r0 + adds r0, r4, 0 + movs r1, 0x5 + bl GetMonData + cmp r0, 0 + beq _081CF1AA + adds r0, r4, 0 + movs r1, 0x6 + bl GetMonData + cmp r0, 0 + bne _081CF1A4 + lsls r1, r5, 24 + lsrs r1, 16 + ldr r2, =0xffff00ff + ldr r0, [sp] + ands r0, r2 + orrs r0, r1 + str r0, [sp] + ldr r1, [r6, 0x14] + adds r0, r4, 0 + bl GetMonData + lsls r0, 16 + ldr r2, =0x0000ffff + ldr r1, [sp] + ands r1, r2 + orrs r1, r0 + str r1, [sp] + adds r0, r6, 0 + mov r1, sp + bl sub_81CF2C4 +_081CF1A4: + adds r5, 0x1 + cmp r5, 0x5 + ble _081CF158 +_081CF1AA: + movs r0, 0x1 + add sp, 0x4 + pop {r4-r6} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CF134 + + thumb_func_start sub_81CF1C4 +sub_81CF1C4: @ 81CF1C4 + push {lr} + movs r0, 0x7 + bl GetSubstructPtr + movs r1, 0 + str r1, [r0, 0x10] + str r1, [r0, 0xC] + movs r0, 0x1 + pop {r1} + bx r1 + thumb_func_end sub_81CF1C4 + + thumb_func_start sub_81CF1D8 +sub_81CF1D8: @ 81CF1D8 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x4 + movs r0, 0x7 + bl GetSubstructPtr + adds r6, r0, 0 + ldr r5, [r6, 0xC] + ldr r4, [r6, 0x10] + movs r0, 0 + mov r8, r0 + cmp r5, 0xD + bgt _081CF268 +_081CF1F4: + cmp r4, 0x1D + bgt _081CF260 + lsls r0, r5, 24 + lsrs r7, r0, 24 +_081CF1FC: + adds r0, r5, 0 + adds r1, r4, 0 + bl CheckBoxMonSanityAt + cmp r0, 0 + beq _081CF23A + ldr r1, =0xffffff00 + ldr r0, [sp] + ands r0, r1 + orrs r0, r7 + lsls r1, r4, 24 + lsrs r1, 24 + lsls r3, r1, 8 + ldr r2, =0xffff00ff + ands r0, r2 + orrs r0, r3 + str r0, [sp] + ldr r2, [r6, 0x14] + adds r0, r7, 0 + bl GetBoxMonDataAt + lsls r0, 16 + ldr r2, =0x0000ffff + ldr r1, [sp] + ands r1, r2 + orrs r1, r0 + str r1, [sp] + adds r0, r6, 0 + mov r1, sp + bl sub_81CF2C4 +_081CF23A: + movs r0, 0x1 + add r8, r0 + adds r4, 0x1 + mov r0, r8 + cmp r0, 0xE + ble _081CF25C + str r5, [r6, 0xC] + str r4, [r6, 0x10] + movs r0, 0x3 + b _081CF26A + .pool +_081CF25C: + cmp r4, 0x1D + ble _081CF1FC +_081CF260: + movs r4, 0 + adds r5, 0x1 + cmp r5, 0xD + ble _081CF1F4 +_081CF268: + movs r0, 0x1 +_081CF26A: + add sp, 0x4 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_81CF1D8 + + thumb_func_start sub_81CF278 +sub_81CF278: @ 81CF278 + push {r4-r6,lr} + movs r0, 0x7 + bl GetSubstructPtr + adds r5, r0, 0 + ldr r0, [r5, 0x20] + ldrh r6, [r0] + ldrh r4, [r0, 0x6] + movs r1, 0x1 + strh r1, [r0, 0x6] + movs r3, 0x1 + cmp r3, r6 + bge _081CF2B8 +_081CF292: + ldr r2, [r5, 0x20] + lsls r0, r3, 2 + adds r1, r2, r0 + ldrh r0, [r1, 0x6] + cmp r0, r4 + bne _081CF2AC + subs r0, r3, 0x1 + lsls r0, 2 + adds r0, r2, r0 + ldrh r0, [r0, 0x6] + strh r0, [r1, 0x6] + adds r0, r3, 0x1 + b _081CF2B2 +_081CF2AC: + adds r4, r0, 0 + adds r0, r3, 0x1 + strh r0, [r1, 0x6] +_081CF2B2: + adds r3, r0, 0 + cmp r3, r6 + blt _081CF292 +_081CF2B8: + movs r0, 0x1 + str r0, [r5, 0x18] + movs r0, 0x4 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_81CF278 + + thumb_func_start sub_81CF2C4 +sub_81CF2C4: @ 81CF2C4 + push {r4-r7,lr} + adds r5, r0, 0 + adds r7, r1, 0 + movs r1, 0 + ldr r0, [r5, 0x20] + ldrh r2, [r0] + lsrs r3, r2, 1 + cmp r2, r3 + beq _081CF2F4 + adds r6, r0, 0 + ldrh r4, [r7, 0x2] +_081CF2DA: + lsls r0, r3, 2 + adds r0, r6, r0 + ldrh r0, [r0, 0x6] + cmp r4, r0 + bls _081CF2E8 + adds r2, r3, 0 + b _081CF2EA +_081CF2E8: + adds r1, r3, 0x1 +_081CF2EA: + subs r0, r2, r1 + lsrs r0, 1 + adds r3, r1, r0 + cmp r2, r3 + bne _081CF2DA +_081CF2F4: + ldr r0, [r5, 0x20] + ldrh r2, [r0] + lsls r6, r3, 2 + cmp r2, r3 + bls _081CF318 + lsls r0, r2, 2 + subs r4, r0, 0x4 +_081CF302: + ldr r0, [r5, 0x20] + lsls r1, r2, 2 + adds r0, 0x4 + adds r1, r0, r1 + adds r0, r4 + ldr r0, [r0] + str r0, [r1] + subs r4, 0x4 + subs r2, 0x1 + cmp r2, r3 + bhi _081CF302 +_081CF318: + ldr r0, [r5, 0x20] + adds r0, 0x4 + adds r0, r6 + ldr r1, [r7] + str r1, [r0] + ldr r1, [r5, 0x20] + ldrh r0, [r1] + adds r0, 0x1 + strh r0, [r1] + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_81CF2C4 + + thumb_func_start sub_81CF330 +sub_81CF330: @ 81CF330 + push {r4,lr} + movs r1, 0x81 + lsls r1, 4 + movs r0, 0x8 + bl AllocSubstruct + adds r4, r0, 0 + cmp r4, 0 + beq _081CF360 + ldr r0, =sub_81CF418 + movs r1, 0x1 + bl CreateLoopedTask + str r0, [r4, 0x4] + ldr r0, =sub_81CF3E4 + str r0, [r4] + movs r0, 0 + str r0, [r4, 0xC] + movs r0, 0x1 + b _081CF362 + .pool +_081CF360: + movs r0, 0 +_081CF362: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CF330 + + thumb_func_start sub_81CF368 +sub_81CF368: @ 81CF368 + push {r4,lr} + movs r1, 0x81 + lsls r1, 4 + movs r0, 0x8 + bl AllocSubstruct + adds r4, r0, 0 + cmp r4, 0 + beq _081CF398 + ldr r0, =sub_81CF418 + movs r1, 0x1 + bl CreateLoopedTask + str r0, [r4, 0x4] + ldr r0, =sub_81CF3E4 + str r0, [r4] + movs r0, 0x1 + str r0, [r4, 0xC] + b _081CF39A + .pool +_081CF398: + movs r0, 0 +_081CF39A: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CF368 + + thumb_func_start sub_81CF3A0 +sub_81CF3A0: @ 81CF3A0 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0x8 + bl GetSubstructPtr + adds r5, r0, 0 + ldr r0, =gUnknown_08623598 + lsls r4, 2 + adds r4, r0 + ldr r0, [r4] + movs r1, 0x1 + bl CreateLoopedTask + str r0, [r5, 0x4] + ldr r0, =sub_81CF3E4 + str r0, [r5] + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CF3A0 + + thumb_func_start sub_81CF3D0 +sub_81CF3D0: @ 81CF3D0 + push {lr} + movs r0, 0x8 + bl GetSubstructPtr + ldr r0, [r0] + bl _call_via_r0 + pop {r1} + bx r1 + thumb_func_end sub_81CF3D0 + + thumb_func_start sub_81CF3E4 +sub_81CF3E4: @ 81CF3E4 + push {lr} + movs r0, 0x8 + bl GetSubstructPtr + ldr r0, [r0, 0x4] + bl IsLoopedTaskActive + pop {r1} + bx r1 + thumb_func_end sub_81CF3E4 + + thumb_func_start sub_81CF3F8 +sub_81CF3F8: @ 81CF3F8 + push {r4,lr} + movs r0, 0x8 + bl GetSubstructPtr + adds r4, r0, 0 + bl sub_81C8234 + ldrb r0, [r4, 0x8] + bl RemoveWindow + movs r0, 0x8 + bl FreePokenavSubstruct + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_81CF3F8 + + thumb_func_start sub_81CF418 +sub_81CF418: @ 81CF418 + push {r4,r5,lr} + sub sp, 0x4 + adds r4, r0, 0 + movs r0, 0x8 + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x5 + bls _081CF42C + b _081CF56E +_081CF42C: + lsls r0, r4, 2 + ldr r1, =_081CF43C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_081CF43C: + .4byte _081CF454 + .4byte _081CF4AC + .4byte _081CF4C0 + .4byte _081CF4E0 + .4byte _081CF4F6 + .4byte _081CF55A +_081CF454: + ldr r0, =gUnknown_08623590 + movs r1, 0x2 + bl InitBgTemplates + ldr r1, =gUnknown_086233E4 + movs r0, 0 + str r0, [sp] + movs r0, 0x1 + movs r2, 0 + movs r3, 0 + bl decompress_and_copy_tile_data_to_vram + adds r1, r5, 0 + adds r1, 0x10 + movs r0, 0x1 + bl SetBgTilemapBuffer + ldr r1, =gUnknown_086234AC + movs r0, 0x1 + movs r2, 0 + movs r3, 0 + bl CopyToBgTilemapBuffer + movs r0, 0x1 + bl CopyBgTilemapBufferToVram + ldr r0, =gUnknown_086233C4 + movs r1, 0x10 + movs r2, 0x20 + bl CopyPaletteIntoBufferUnfaded + movs r0, 0x1 + bl CopyBgTilemapBufferToVram +_081CF498: + movs r0, 0 + b _081CF570 + .pool +_081CF4AC: + bl free_temp_tile_data_buffers_if_possible + lsls r0, 24 + cmp r0, 0 + bne _081CF56A + bl sub_81CF0C0 + cmp r0, 0 + beq _081CF56A + b _081CF498 +_081CF4C0: + bl free_temp_tile_data_buffers_if_possible + lsls r0, 24 + cmp r0, 0 + bne _081CF56A + ldr r0, =gUnknown_08623570 + movs r1, 0x20 + movs r2, 0x20 + bl CopyPaletteIntoBufferUnfaded + bl sub_81CF88C + b _081CF498 + .pool +_081CF4E0: + bl sub_81C8224 + cmp r0, 0 + bne _081CF56A + adds r0, r5, 0 + bl sub_81CF7C8 + movs r0, 0x3 + bl sub_81C7BA4 + b _081CF498 +_081CF4F6: + bl free_temp_tile_data_buffers_if_possible + lsls r0, 24 + cmp r0, 0 + bne _081CF56A + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl ChangeBgX + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl ChangeBgY + movs r0, 0x1 + bl ShowBg + movs r0, 0x2 + bl ShowBg + movs r0, 0x3 + bl HideBg + ldr r0, [r5, 0xC] + cmp r0, 0 + bne _081CF552 + bl sub_81C76AC + adds r4, r0, 0 + adds r4, 0x8 + lsls r4, 24 + lsrs r4, 24 + adds r0, r4, 0 + bl LoadLeftHeaderGfxForIndex + adds r0, r4, 0 + movs r1, 0x1 + movs r2, 0 + bl sub_81C7FA0 + movs r0, 0x1 + movs r1, 0x1 + movs r2, 0 + bl sub_81C7FA0 +_081CF552: + movs r0, 0x1 + bl sub_81C7AC0 + b _081CF498 +_081CF55A: + bl IsPaletteFadeActive + cmp r0, 0 + bne _081CF56A + bl sub_81C8010 + cmp r0, 0 + beq _081CF56E +_081CF56A: + movs r0, 0x2 + b _081CF570 +_081CF56E: + movs r0, 0x4 +_081CF570: + add sp, 0x4 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81CF418 + + thumb_func_start sub_81CF578 +sub_81CF578: @ 81CF578 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0x8 + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x1 + beq _081CF5C6 + cmp r4, 0x1 + bgt _081CF592 + cmp r4, 0 + beq _081CF59C + b _081CF5E6 +_081CF592: + cmp r4, 0x2 + beq _081CF5CE + cmp r4, 0x3 + beq _081CF5D8 + b _081CF5E6 +_081CF59C: + bl MatchCall_MoveCursorUp + cmp r0, 0x1 + beq _081CF5B4 + cmp r0, 0x1 + bgt _081CF5AE + cmp r0, 0 + beq _081CF5E6 + b _081CF5D4 +_081CF5AE: + cmp r0, 0x2 + beq _081CF5BE + b _081CF5D4 +_081CF5B4: + movs r0, 0x5 + bl PlaySE + movs r0, 0x7 + b _081CF5E8 +_081CF5BE: + movs r0, 0x5 + bl PlaySE + b _081CF5D4 +_081CF5C6: + bl sub_81C8630 + cmp r0, 0 + bne _081CF5E2 +_081CF5CE: + adds r0, r5, 0 + bl sub_81CF7F4 +_081CF5D4: + movs r0, 0 + b _081CF5E8 +_081CF5D8: + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + cmp r0, 0 + beq _081CF5E6 +_081CF5E2: + movs r0, 0x2 + b _081CF5E8 +_081CF5E6: + movs r0, 0x4 +_081CF5E8: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81CF578 + + thumb_func_start sub_81CF5F0 +sub_81CF5F0: @ 81CF5F0 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0x8 + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x1 + beq _081CF63E + cmp r4, 0x1 + bgt _081CF60A + cmp r4, 0 + beq _081CF614 + b _081CF65E +_081CF60A: + cmp r4, 0x2 + beq _081CF646 + cmp r4, 0x3 + beq _081CF650 + b _081CF65E +_081CF614: + bl MatchCall_MoveCursorDown + cmp r0, 0x1 + beq _081CF62C + cmp r0, 0x1 + bgt _081CF626 + cmp r0, 0 + beq _081CF65E + b _081CF64C +_081CF626: + cmp r0, 0x2 + beq _081CF636 + b _081CF64C +_081CF62C: + movs r0, 0x5 + bl PlaySE + movs r0, 0x7 + b _081CF660 +_081CF636: + movs r0, 0x5 + bl PlaySE + b _081CF64C +_081CF63E: + bl sub_81C8630 + cmp r0, 0 + bne _081CF65A +_081CF646: + adds r0, r5, 0 + bl sub_81CF7F4 +_081CF64C: + movs r0, 0 + b _081CF660 +_081CF650: + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + cmp r0, 0 + beq _081CF65E +_081CF65A: + movs r0, 0x2 + b _081CF660 +_081CF65E: + movs r0, 0x4 +_081CF660: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81CF5F0 + + thumb_func_start sub_81CF668 +sub_81CF668: @ 81CF668 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0x8 + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x1 + beq _081CF6B6 + cmp r4, 0x1 + bgt _081CF682 + cmp r4, 0 + beq _081CF68C + b _081CF6D6 +_081CF682: + cmp r4, 0x2 + beq _081CF6BE + cmp r4, 0x3 + beq _081CF6C8 + b _081CF6D6 +_081CF68C: + bl MatchCall_PageUp + cmp r0, 0x1 + beq _081CF6A4 + cmp r0, 0x1 + bgt _081CF69E + cmp r0, 0 + beq _081CF6D6 + b _081CF6C4 +_081CF69E: + cmp r0, 0x2 + beq _081CF6AE + b _081CF6C4 +_081CF6A4: + movs r0, 0x5 + bl PlaySE + movs r0, 0x7 + b _081CF6D8 +_081CF6AE: + movs r0, 0x5 + bl PlaySE + b _081CF6C4 +_081CF6B6: + bl sub_81C8630 + cmp r0, 0 + bne _081CF6D2 +_081CF6BE: + adds r0, r5, 0 + bl sub_81CF7F4 +_081CF6C4: + movs r0, 0 + b _081CF6D8 +_081CF6C8: + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + cmp r0, 0 + beq _081CF6D6 +_081CF6D2: + movs r0, 0x2 + b _081CF6D8 +_081CF6D6: + movs r0, 0x4 +_081CF6D8: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81CF668 + + thumb_func_start sub_81CF6E0 +sub_81CF6E0: @ 81CF6E0 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0x8 + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x1 + beq _081CF72E + cmp r4, 0x1 + bgt _081CF6FA + cmp r4, 0 + beq _081CF704 + b _081CF74E +_081CF6FA: + cmp r4, 0x2 + beq _081CF736 + cmp r4, 0x3 + beq _081CF740 + b _081CF74E +_081CF704: + bl MatchCall_PageDown + cmp r0, 0x1 + beq _081CF71C + cmp r0, 0x1 + bgt _081CF716 + cmp r0, 0 + beq _081CF74E + b _081CF73C +_081CF716: + cmp r0, 0x2 + beq _081CF726 + b _081CF73C +_081CF71C: + movs r0, 0x5 + bl PlaySE + movs r0, 0x7 + b _081CF750 +_081CF726: + movs r0, 0x5 + bl PlaySE + b _081CF73C +_081CF72E: + bl sub_81C8630 + cmp r0, 0 + bne _081CF74A +_081CF736: + adds r0, r5, 0 + bl sub_81CF7F4 +_081CF73C: + movs r0, 0 + b _081CF750 +_081CF740: + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + cmp r0, 0 + beq _081CF74E +_081CF74A: + movs r0, 0x2 + b _081CF750 +_081CF74E: + movs r0, 0x4 +_081CF750: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81CF6E0 + + thumb_func_start sub_81CF758 +sub_81CF758: @ 81CF758 + push {lr} + cmp r0, 0 + beq _081CF764 + cmp r0, 0x1 + beq _081CF778 + b _081CF790 +_081CF764: + movs r0, 0x5 + bl PlaySE + movs r0, 0 + bl sub_81C7AC0 + bl sub_81C78A0 + movs r0, 0 + b _081CF792 +_081CF778: + bl IsPaletteFadeActive + cmp r0, 0 + bne _081CF788 + bl MainMenuLoopedTaskIsBusy + cmp r0, 0 + beq _081CF78C +_081CF788: + movs r0, 0x2 + b _081CF792 +_081CF78C: + bl sub_81C7FDC +_081CF790: + movs r0, 0x4 +_081CF792: + pop {r1} + bx r1 + thumb_func_end sub_81CF758 + + thumb_func_start sub_81CF798 +sub_81CF798: @ 81CF798 + push {lr} + cmp r0, 0 + beq _081CF7A4 + cmp r0, 0x1 + beq _081CF7B4 + b _081CF7C0 +_081CF7A4: + movs r0, 0x5 + bl PlaySE + movs r0, 0 + bl sub_81C7AC0 + movs r0, 0 + b _081CF7C2 +_081CF7B4: + bl IsPaletteFadeActive + cmp r0, 0 + beq _081CF7C0 + movs r0, 0x2 + b _081CF7C2 +_081CF7C0: + movs r0, 0x4 +_081CF7C2: + pop {r1} + bx r1 + thumb_func_end sub_81CF798 + + thumb_func_start sub_81CF7C8 +sub_81CF7C8: @ 81CF7C8 + push {r4,lr} + adds r4, r0, 0 + ldr r0, =gUnknown_086235B4 + bl AddWindow + strh r0, [r4, 0x8] + lsls r0, 24 + lsrs r0, 24 + bl PutWindowTilemap + ldrb r0, [r4, 0x8] + movs r1, 0x1 + bl CopyWindowToVram + adds r0, r4, 0 + bl sub_81CF7F4 + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CF7C8 + + thumb_func_start sub_81CF7F4 +sub_81CF7F4: @ 81CF7F4 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0xC + mov r8, r0 + bl sub_81CF0F0 + adds r7, r0, 0 + bl DynamicPlaceholderTextUtil_Reset + ldr r4, =gStringVar1 + movs r0, 0 + adds r1, r4, 0 + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr + movs r0, 0xFF + strb r0, [r4] + ldr r5, =gStringVar2 + ldr r1, =gText_NumberF700 + adds r0, r5, 0 + bl DynamicPlaceholderTextUtil_ExpandPlaceholders + mov r1, r8 + ldrb r0, [r1, 0x8] + movs r1, 0x1 + mov r10, r1 + str r1, [sp] + movs r1, 0xFF + mov r9, r1 + str r1, [sp, 0x4] + movs r6, 0 + str r6, [sp, 0x8] + movs r1, 0x1 + adds r2, r5, 0 + movs r3, 0x4 + bl AddTextPrinterParameterized + adds r0, r4, 0 + adds r1, r7, 0 + movs r2, 0x1 + movs r3, 0x3 + bl ConvertIntToDecimalStringN + mov r1, r8 + ldrb r0, [r1, 0x8] + mov r1, r10 + str r1, [sp] + mov r1, r9 + str r1, [sp, 0x4] + str r6, [sp, 0x8] + movs r1, 0x1 + adds r2, r4, 0 + movs r3, 0x22 + bl AddTextPrinterParameterized + mov r1, r8 + ldrb r0, [r1, 0x8] + movs r1, 0x2 + bl CopyWindowToVram + add sp, 0xC + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CF7F4 + + thumb_func_start sub_81CF88C +sub_81CF88C: @ 81CF88C + push {r4,lr} + sub sp, 0x18 + bl sub_81CF0D0 + str r0, [sp] + bl sub_81CF0E0 + mov r1, sp + movs r4, 0 + strh r0, [r1, 0x4] + movs r0, 0x4 + strb r0, [r1, 0x8] + bl sub_81CF10C + mov r1, sp + strh r0, [r1, 0x6] + movs r0, 0xD + strb r0, [r1, 0x9] + movs r0, 0x11 + strb r0, [r1, 0xA] + mov r0, sp + movs r2, 0x1 + strb r2, [r0, 0xB] + movs r0, 0x8 + strb r0, [r1, 0xC] + movs r0, 0x2 + strb r0, [r1, 0xD] + mov r0, sp + strb r2, [r0, 0xE] + ldr r0, =sub_81CF8E4 + str r0, [sp, 0x10] + str r4, [sp, 0x14] + ldr r0, =gUnknown_08623594 + movs r2, 0 + bl sub_81C81D4 + add sp, 0x18 + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CF88C + + thumb_func_start sub_81CF8E4 +sub_81CF8E4: @ 81CF8E4 + push {r4-r7,lr} + adds r2, r0, 0 + adds r6, r1, 0 + ldrb r0, [r2] + cmp r0, 0xE + bne _081CF924 + ldrb r1, [r2, 0x1] + movs r0, 0x64 + adds r4, r1, 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 + bl GetLevelFromMonExp + lsls r0, 24 + lsrs r7, r0, 24 + ldr r2, =gStringVar3 + adds r0, r4, 0 + movs r1, 0x2 + bl GetMonData + b _081CF94A + .pool +_081CF924: + ldrb r0, [r2] + ldrb r1, [r2, 0x1] + bl GetBoxedMonPtr + adds r4, r0, 0 + bl GetBoxMonGender + lsls r0, 24 + lsrs r5, r0, 24 + adds r0, r4, 0 + bl GetLevelFromBoxMonExp + lsls r0, 24 + lsrs r7, r0, 24 + ldr r2, =gStringVar3 + adds r0, r4, 0 + movs r1, 0x2 + bl GetBoxMonData +_081CF94A: + ldr r4, =gStringVar3 + adds r0, r4, 0 + bl StringGetEnd10 + adds r0, r6, 0 + movs r1, 0x1 + adds r2, r4, 0 + movs r3, 0x3C + bl sub_81DB494 + adds r6, r0, 0 + cmp r5, 0 + beq _081CF974 + cmp r5, 0xFE + beq _081CF97C + ldr r1, =gUnknown_086235D4 + b _081CF97E + .pool +_081CF974: + ldr r1, =gUnknown_086235BC + b _081CF97E + .pool +_081CF97C: + ldr r1, =gUnknown_086235C8 +_081CF97E: + ldr r4, =gStringVar1 + adds r0, r4, 0 + bl StringCopy + movs r1, 0xBA + strb r1, [r0] + adds r0, 0x1 + movs r1, 0xF9 + strb r1, [r0] + adds r0, 0x1 + movs r1, 0x5 + strb r1, [r0] + adds r0, 0x1 + adds r1, r7, 0 + movs r2, 0 + movs r3, 0x3 + bl ConvertIntToDecimalStringN + adds r0, r6, 0 + movs r1, 0x1 + adds r2, r4, 0 + movs r3, 0x28 + bl sub_81DB494 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CF8E4 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokenav_unk_9.s b/asm/pokenav_unk_9.s new file mode 100644 index 0000000000..7f9d5d15be --- /dev/null +++ b/asm/pokenav_unk_9.s @@ -0,0 +1,1393 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + +@ File centered around AllocSubstruct(9) + + thumb_func_start sub_81CF9BC +sub_81CF9BC: @ 81CF9BC + push {r4,lr} + movs r0, 0x9 + movs r1, 0x20 + bl AllocSubstruct + adds r4, r0, 0 + cmp r4, 0 + beq _081CF9FC + ldr r1, =0x000006ac + movs r0, 0x12 + bl AllocSubstruct + str r0, [r4, 0x1C] + cmp r0, 0 + beq _081CF9FC + ldr r0, =sub_81CFA68 + str r0, [r4] + ldr r0, =sub_81CFB74 + movs r1, 0x1 + bl CreateLoopedTask + str r0, [r4, 0x4] + movs r0, 0 + str r0, [r4, 0x14] + movs r0, 0x1 + b _081CF9FE + .pool +_081CF9FC: + movs r0, 0 +_081CF9FE: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CF9BC + + thumb_func_start sub_81CFA04 +sub_81CFA04: @ 81CFA04 + push {r4,lr} + movs r0, 0x9 + movs r1, 0x20 + bl AllocSubstruct + adds r4, r0, 0 + cmp r4, 0 + beq _081CFA2C + movs r0, 0x12 + bl GetSubstructPtr + str r0, [r4, 0x1C] + ldr r0, =sub_81CFA88 + str r0, [r4] + movs r0, 0x1 + str r0, [r4, 0x14] + b _081CFA2E + .pool +_081CFA2C: + movs r0, 0 +_081CFA2E: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CFA04 + + thumb_func_start sub_81CFA34 +sub_81CFA34: @ 81CFA34 + push {lr} + movs r0, 0x9 + bl GetSubstructPtr + ldr r1, [r0] + bl _call_via_r1 + pop {r1} + bx r1 + thumb_func_end sub_81CFA34 + + thumb_func_start sub_81CFA48 +sub_81CFA48: @ 81CFA48 + push {lr} + movs r0, 0x9 + bl GetSubstructPtr + ldr r0, [r0, 0x18] + cmp r0, 0 + bne _081CFA5C + movs r0, 0x12 + bl FreePokenavSubstruct +_081CFA5C: + movs r0, 0x9 + bl FreePokenavSubstruct + pop {r0} + bx r0 + thumb_func_end sub_81CFA48 + + thumb_func_start sub_81CFA68 +sub_81CFA68: @ 81CFA68 + push {r4,lr} + adds r4, r0, 0 + ldr r0, [r4, 0x4] + bl IsLoopedTaskActive + cmp r0, 0 + bne _081CFA7A + ldr r0, =sub_81CFA88 + str r0, [r4] +_081CFA7A: + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CFA68 + + thumb_func_start sub_81CFA88 +sub_81CFA88: @ 81CFA88 + push {r4,r5,lr} + adds r4, r0, 0 + ldr r2, =gMain + ldrh r1, [r2, 0x30] + movs r0, 0x40 + ands r0, r1 + cmp r0, 0 + beq _081CFAA0 + movs r0, 0x1 + b _081CFAFE + .pool +_081CFAA0: + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _081CFAAC + movs r0, 0x2 + b _081CFAFE +_081CFAAC: + ldrh r1, [r2, 0x2E] + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + beq _081CFABA + movs r0, 0x3 + b _081CFAFE +_081CFABA: + movs r0, 0x10 + ands r0, r1 + lsls r0, 16 + lsrs r2, r0, 16 + cmp r2, 0 + beq _081CFACA + movs r0, 0x4 + b _081CFAFE +_081CFACA: + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _081CFAE0 + str r2, [r4, 0x18] + ldr r0, =sub_81CFB08 + str r0, [r4] + movs r0, 0x5 + b _081CFAFE + .pool +_081CFAE0: + movs r5, 0x1 + adds r0, r5, 0 + ands r0, r1 + cmp r0, 0 + bne _081CFAEE + movs r0, 0 + b _081CFAFE +_081CFAEE: + bl GetSelectedMatchCall + ldr r1, [r4, 0x1C] + strh r0, [r1, 0x2] + str r5, [r4, 0x18] + ldr r0, =sub_81CFB10 + str r0, [r4] + movs r0, 0x6 +_081CFAFE: + pop {r4,r5} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CFA88 + + thumb_func_start sub_81CFB08 +sub_81CFB08: @ 81CFB08 + ldr r0, =0x000186a5 + bx lr + .pool + thumb_func_end sub_81CFB08 + + thumb_func_start sub_81CFB10 +sub_81CFB10: @ 81CFB10 + ldr r0, =0x000186ad + bx lr + .pool + thumb_func_end sub_81CFB10 + + thumb_func_start sub_81CFB18 +sub_81CFB18: @ 81CFB18 + push {lr} + movs r0, 0x9 + bl GetSubstructPtr + ldr r0, [r0, 0x14] + pop {r1} + bx r1 + thumb_func_end sub_81CFB18 + + thumb_func_start sub_81CFB28 +sub_81CFB28: @ 81CFB28 + push {lr} + movs r0, 0x9 + bl GetSubstructPtr + ldr r0, [r0, 0x1C] + adds r0, 0x4 + pop {r1} + bx r1 + thumb_func_end sub_81CFB28 + + thumb_func_start sub_81CFB38 +sub_81CFB38: @ 81CFB38 + push {lr} + movs r0, 0x9 + bl GetSubstructPtr + ldr r0, [r0, 0x1C] + ldrh r0, [r0] + pop {r1} + bx r1 + thumb_func_end sub_81CFB38 + + thumb_func_start sub_81CFB48 +sub_81CFB48: @ 81CFB48 + push {r4,lr} + movs r0, 0x9 + bl GetSubstructPtr + adds r4, r0, 0 + bl GetSelectedMatchCall + ldr r1, [r4, 0x1C] + lsls r0, 2 + adds r1, r0 + ldrh r0, [r1, 0x6] + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CFB48 + + thumb_func_start sub_81CFB64 +sub_81CFB64: @ 81CFB64 + push {lr} + movs r0, 0x9 + bl GetSubstructPtr + ldr r0, [r0, 0x1C] + ldrh r0, [r0, 0x2] + pop {r1} + bx r1 + thumb_func_end sub_81CFB64 + + thumb_func_start sub_81CFB74 +sub_81CFB74: @ 81CFB74 + push {lr} + ldr r2, =gUnknown_086235D8 + lsls r1, r0, 2 + adds r1, r2 + ldr r1, [r1] + bl _call_via_r1 + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CFB74 + + thumb_func_start sub_81CFB8C +sub_81CFB8C: @ 81CFB8C + push {r4-r6,lr} + sub sp, 0x4 + movs r0, 0x9 + bl GetSubstructPtr + adds r6, r0, 0 + ldr r0, [r6, 0x1C] + movs r1, 0 + strh r1, [r0] + ldr r0, [r6, 0x1C] + strh r1, [r0, 0x2] + ldr r1, =0xffffff00 + ldr r0, [sp] + ands r0, r1 + movs r1, 0xE + orrs r0, r1 + str r0, [sp] + movs r5, 0 +_081CFBB0: + movs r0, 0x64 + adds r1, r5, 0 + muls r1, r0 + ldr r0, =gPlayerParty + adds r4, r1, r0 + adds r0, r4, 0 + movs r1, 0x5 + bl GetMonData + cmp r0, 0 + beq _081CFC10 + adds r0, r4, 0 + movs r1, 0x6 + bl GetMonData + cmp r0, 0 + bne _081CFC0A + adds r0, r4, 0 + movs r1, 0x4 + bl GetMonData + cmp r0, 0 + bne _081CFC0A + adds r0, r4, 0 + movs r1, 0x52 + bl GetMonData + adds r3, r0, 0 + cmp r3, 0 + beq _081CFC0A + lsls r1, r5, 24 + lsrs r1, 16 + ldr r2, =0xffff00ff + ldr r0, [sp] + ands r0, r2 + orrs r0, r1 + lsls r2, r3, 16 + ldr r1, =0x0000ffff + ands r0, r1 + orrs r0, r2 + str r0, [sp] + adds r0, r6, 0 + mov r1, sp + bl sub_81CFCEC +_081CFC0A: + adds r5, 0x1 + cmp r5, 0x5 + ble _081CFBB0 +_081CFC10: + movs r0, 0x1 + add sp, 0x4 + pop {r4-r6} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81CFB8C + + thumb_func_start sub_81CFC2C +sub_81CFC2C: @ 81CFC2C + push {lr} + movs r0, 0x9 + bl GetSubstructPtr + movs r1, 0 + str r1, [r0, 0x10] + str r1, [r0, 0xC] + movs r0, 0x1 + pop {r1} + bx r1 + thumb_func_end sub_81CFC2C + + thumb_func_start sub_81CFC40 +sub_81CFC40: @ 81CFC40 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x4 + movs r0, 0x9 + bl GetSubstructPtr + mov r8, r0 + ldr r7, [r0, 0xC] + ldr r6, [r0, 0x10] + movs r0, 0 + mov r9, r0 + cmp r7, 0xD + bgt _081CFCD4 + b _081CFCC8 +_081CFC60: + adds r0, r7, 0 + adds r1, r6, 0 + bl CheckBoxMonSanityAt + cmp r0, 0 + beq _081CFCA6 + lsls r0, r7, 24 + lsrs r5, r0, 24 + lsls r0, r6, 24 + lsrs r4, r0, 24 + adds r0, r5, 0 + adds r1, r4, 0 + movs r2, 0x52 + bl GetBoxMonDataAt + adds r3, r0, 0 + cmp r3, 0 + beq _081CFCA6 + ldr r1, =0xffffff00 + ldr r0, [sp] + ands r0, r1 + orrs r0, r5 + lsls r2, r4, 8 + ldr r1, =0xffff00ff + ands r0, r1 + orrs r0, r2 + lsls r2, r3, 16 + ldr r1, =0x0000ffff + ands r0, r1 + orrs r0, r2 + str r0, [sp] + mov r0, r8 + mov r1, sp + bl sub_81CFCEC +_081CFCA6: + movs r1, 0x1 + add r9, r1 + adds r6, 0x1 + mov r0, r9 + cmp r0, 0xE + ble _081CFCC8 + mov r1, r8 + str r7, [r1, 0xC] + str r6, [r1, 0x10] + movs r0, 0x3 + b _081CFCDC + .pool +_081CFCC8: + cmp r6, 0x1D + ble _081CFC60 + movs r6, 0 + adds r7, 0x1 + cmp r7, 0xD + ble _081CFCC8 +_081CFCD4: + movs r0, 0x1 + mov r1, r8 + str r0, [r1, 0x14] + movs r0, 0x4 +_081CFCDC: + add sp, 0x4 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_81CFC40 + + thumb_func_start sub_81CFCEC +sub_81CFCEC: @ 81CFCEC + push {r4-r7,lr} + adds r5, r0, 0 + adds r7, r1, 0 + movs r1, 0 + ldr r0, [r5, 0x1C] + ldrh r2, [r0] + lsrs r3, r2, 1 + cmp r2, r3 + beq _081CFD1C + adds r6, r0, 0 + ldrh r4, [r7, 0x2] +_081CFD02: + lsls r0, r3, 2 + adds r0, r6, r0 + ldrh r0, [r0, 0x6] + cmp r4, r0 + bls _081CFD10 + adds r2, r3, 0 + b _081CFD12 +_081CFD10: + adds r1, r3, 0x1 +_081CFD12: + subs r0, r2, r1 + lsrs r0, 1 + adds r3, r1, r0 + cmp r2, r3 + bne _081CFD02 +_081CFD1C: + ldr r0, [r5, 0x1C] + ldrh r2, [r0] + lsls r6, r3, 2 + cmp r2, r3 + bls _081CFD40 + lsls r0, r2, 2 + subs r4, r0, 0x4 +_081CFD2A: + ldr r0, [r5, 0x1C] + lsls r1, r2, 2 + adds r0, 0x4 + adds r1, r0, r1 + adds r0, r4 + ldr r0, [r0] + str r0, [r1] + subs r4, 0x4 + subs r2, 0x1 + cmp r2, r3 + bhi _081CFD2A +_081CFD40: + ldr r0, [r5, 0x1C] + adds r0, 0x4 + adds r0, r6 + ldr r1, [r7] + str r1, [r0] + ldr r1, [r5, 0x1C] + ldrh r0, [r1] + adds r0, 0x1 + strh r0, [r1] + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_81CFCEC + + thumb_func_start sub_81CFD58 +sub_81CFD58: @ 81CFD58 + push {r4-r6,lr} + movs r5, 0 +_081CFD5C: + movs r0, 0x64 + adds r1, r5, 0 + muls r1, r0 + ldr r0, =gPlayerParty + adds r4, r1, r0 + adds r0, r4, 0 + movs r1, 0x5 + bl GetMonData + cmp r0, 0 + beq _081CFD8A + adds r0, r4, 0 + movs r1, 0x6 + bl GetMonData + cmp r0, 0 + bne _081CFD8A + adds r0, r4, 0 + movs r1, 0x53 + bl GetMonData + cmp r0, 0 + bne _081CFDB2 +_081CFD8A: + adds r5, 0x1 + cmp r5, 0x5 + ble _081CFD5C + movs r5, 0 +_081CFD92: + movs r4, 0 + lsls r6, r5, 24 +_081CFD96: + adds r0, r5, 0 + adds r1, r4, 0 + bl CheckBoxMonSanityAt + cmp r0, 0 + beq _081CFDBC + lsls r1, r4, 24 + lsrs r1, 24 + lsrs r0, r6, 24 + movs r2, 0x53 + bl GetBoxMonDataAt + cmp r0, 0 + beq _081CFDBC +_081CFDB2: + movs r0, 0x1 + b _081CFDCA + .pool +_081CFDBC: + adds r4, 0x1 + cmp r4, 0x1D + ble _081CFD96 + adds r5, 0x1 + cmp r5, 0xD + ble _081CFD92 + movs r0, 0 +_081CFDCA: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_81CFD58 + + thumb_func_start sub_81CFDD0 +sub_81CFDD0: @ 81CFDD0 + push {r4,lr} + movs r1, 0x81 + lsls r1, 4 + movs r0, 0xA + bl AllocSubstruct + adds r4, r0, 0 + cmp r4, 0 + beq _081CFE00 + ldr r0, =sub_81CFEB8 + movs r1, 0x1 + bl CreateLoopedTask + str r0, [r4, 0x4] + ldr r0, =sub_81CFE84 + str r0, [r4] + movs r0, 0 + str r0, [r4, 0xC] + movs r0, 0x1 + b _081CFE02 + .pool +_081CFE00: + movs r0, 0 +_081CFE02: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CFDD0 + + thumb_func_start sub_81CFE08 +sub_81CFE08: @ 81CFE08 + push {r4,lr} + movs r1, 0x81 + lsls r1, 4 + movs r0, 0xA + bl AllocSubstruct + adds r4, r0, 0 + cmp r4, 0 + beq _081CFE38 + ldr r0, =sub_81CFEB8 + movs r1, 0x1 + bl CreateLoopedTask + str r0, [r4, 0x4] + ldr r0, =sub_81CFE84 + str r0, [r4] + movs r0, 0x1 + str r0, [r4, 0xC] + b _081CFE3A + .pool +_081CFE38: + movs r0, 0 +_081CFE3A: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81CFE08 + + thumb_func_start sub_81CFE40 +sub_81CFE40: @ 81CFE40 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0xA + bl GetSubstructPtr + adds r5, r0, 0 + ldr r0, =gUnknown_086237B8 + lsls r4, 2 + adds r4, r0 + ldr r0, [r4] + movs r1, 0x1 + bl CreateLoopedTask + str r0, [r5, 0x4] + ldr r0, =sub_81CFE84 + str r0, [r5] + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81CFE40 + + thumb_func_start sub_81CFE70 +sub_81CFE70: @ 81CFE70 + push {lr} + movs r0, 0xA + bl GetSubstructPtr + ldr r0, [r0] + bl _call_via_r0 + pop {r1} + bx r1 + thumb_func_end sub_81CFE70 + + thumb_func_start sub_81CFE84 +sub_81CFE84: @ 81CFE84 + push {lr} + movs r0, 0xA + bl GetSubstructPtr + ldr r0, [r0, 0x4] + bl IsLoopedTaskActive + pop {r1} + bx r1 + thumb_func_end sub_81CFE84 + + thumb_func_start sub_81CFE98 +sub_81CFE98: @ 81CFE98 + push {r4,lr} + movs r0, 0xA + bl GetSubstructPtr + adds r4, r0, 0 + bl sub_81C8234 + ldrb r0, [r4, 0x8] + bl RemoveWindow + movs r0, 0xA + bl FreePokenavSubstruct + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_81CFE98 + + thumb_func_start sub_81CFEB8 +sub_81CFEB8: @ 81CFEB8 + push {r4,r5,lr} + sub sp, 0x4 + adds r4, r0, 0 + movs r0, 0xA + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x5 + bls _081CFECC + b _081CFFF2 +_081CFECC: + lsls r0, r4, 2 + ldr r1, =_081CFEDC + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_081CFEDC: + .4byte _081CFEF4 + .4byte _081CFF48 + .4byte _081CFF76 + .4byte _081CFF94 + .4byte _081CFFA4 + .4byte _081CFFDE +_081CFEF4: + ldr r0, =gUnknown_086237B0 + movs r1, 0x2 + bl InitBgTemplates + ldr r1, =gUnknown_08623604 + movs r0, 0 + str r0, [sp] + movs r0, 0x1 + movs r2, 0 + movs r3, 0 + bl decompress_and_copy_tile_data_to_vram + adds r1, r5, 0 + adds r1, 0x10 + movs r0, 0x1 + bl SetBgTilemapBuffer + ldr r1, =gUnknown_086236CC + movs r0, 0x1 + movs r2, 0 + movs r3, 0 + bl CopyToBgTilemapBuffer + ldr r0, =gUnknown_086235E4 + movs r1, 0x10 + movs r2, 0x20 + bl CopyPaletteIntoBufferUnfaded + movs r0, 0x1 + bl CopyBgTilemapBufferToVram +_081CFF32: + movs r0, 0 + b _081CFFF4 + .pool +_081CFF48: + bl free_temp_tile_data_buffers_if_possible + lsls r0, 24 + cmp r0, 0 + bne _081CFFEE + bl sub_81CFB18 + cmp r0, 0 + beq _081CFFEE + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl ChangeBgX + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl ChangeBgY + movs r0, 0x1 + bl ShowBg + b _081CFF32 +_081CFF76: + bl free_temp_tile_data_buffers_if_possible + lsls r0, 24 + cmp r0, 0 + bne _081CFFEE + ldr r0, =gUnknown_08623790 + movs r1, 0x20 + movs r2, 0x20 + bl CopyPaletteIntoBufferUnfaded + bl sub_81D0304 + b _081CFF32 + .pool +_081CFF94: + bl sub_81C8224 + cmp r0, 0 + bne _081CFFEE + adds r0, r5, 0 + bl sub_81D024C + b _081CFF32 +_081CFFA4: + bl free_temp_tile_data_buffers_if_possible + lsls r0, 24 + cmp r0, 0 + bne _081CFFEE + movs r0, 0x2 + bl ShowBg + movs r0, 0x3 + bl HideBg + movs r0, 0x9 + bl sub_81C7BA4 + movs r0, 0x1 + bl sub_81C7AC0 + ldr r0, [r5, 0xC] + cmp r0, 0 + bne _081CFF32 + movs r0, 0x2 + bl LoadLeftHeaderGfxForIndex + movs r0, 0x2 + movs r1, 0x1 + movs r2, 0 + bl sub_81C7FA0 + b _081CFF32 +_081CFFDE: + bl IsPaletteFadeActive + cmp r0, 0 + bne _081CFFEE + bl sub_81C8010 + cmp r0, 0 + beq _081CFFF2 +_081CFFEE: + movs r0, 0x2 + b _081CFFF4 +_081CFFF2: + movs r0, 0x4 +_081CFFF4: + add sp, 0x4 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81CFEB8 + + thumb_func_start sub_81CFFFC +sub_81CFFFC: @ 81CFFFC + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0xA + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x1 + beq _081D004A + cmp r4, 0x1 + bgt _081D0016 + cmp r4, 0 + beq _081D0020 + b _081D006A +_081D0016: + cmp r4, 0x2 + beq _081D0052 + cmp r4, 0x3 + beq _081D005C + b _081D006A +_081D0020: + bl MatchCall_MoveCursorUp + cmp r0, 0x1 + beq _081D0038 + cmp r0, 0x1 + bgt _081D0032 + cmp r0, 0 + beq _081D006A + b _081D0058 +_081D0032: + cmp r0, 0x2 + beq _081D0042 + b _081D0058 +_081D0038: + movs r0, 0x5 + bl PlaySE + movs r0, 0x7 + b _081D006C +_081D0042: + movs r0, 0x5 + bl PlaySE + b _081D0058 +_081D004A: + bl sub_81C8630 + cmp r0, 0 + bne _081D0066 +_081D0052: + adds r0, r5, 0 + bl sub_81D0288 +_081D0058: + movs r0, 0 + b _081D006C +_081D005C: + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + cmp r0, 0 + beq _081D006A +_081D0066: + movs r0, 0x2 + b _081D006C +_081D006A: + movs r0, 0x4 +_081D006C: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81CFFFC + + thumb_func_start sub_81D0074 +sub_81D0074: @ 81D0074 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0xA + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x1 + beq _081D00C2 + cmp r4, 0x1 + bgt _081D008E + cmp r4, 0 + beq _081D0098 + b _081D00E2 +_081D008E: + cmp r4, 0x2 + beq _081D00CA + cmp r4, 0x3 + beq _081D00D4 + b _081D00E2 +_081D0098: + bl MatchCall_MoveCursorDown + cmp r0, 0x1 + beq _081D00B0 + cmp r0, 0x1 + bgt _081D00AA + cmp r0, 0 + beq _081D00E2 + b _081D00D0 +_081D00AA: + cmp r0, 0x2 + beq _081D00BA + b _081D00D0 +_081D00B0: + movs r0, 0x5 + bl PlaySE + movs r0, 0x7 + b _081D00E4 +_081D00BA: + movs r0, 0x5 + bl PlaySE + b _081D00D0 +_081D00C2: + bl sub_81C8630 + cmp r0, 0 + bne _081D00DE +_081D00CA: + adds r0, r5, 0 + bl sub_81D0288 +_081D00D0: + movs r0, 0 + b _081D00E4 +_081D00D4: + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + cmp r0, 0 + beq _081D00E2 +_081D00DE: + movs r0, 0x2 + b _081D00E4 +_081D00E2: + movs r0, 0x4 +_081D00E4: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81D0074 + + thumb_func_start sub_81D00EC +sub_81D00EC: @ 81D00EC + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0xA + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x1 + beq _081D013A + cmp r4, 0x1 + bgt _081D0106 + cmp r4, 0 + beq _081D0110 + b _081D015A +_081D0106: + cmp r4, 0x2 + beq _081D0142 + cmp r4, 0x3 + beq _081D014C + b _081D015A +_081D0110: + bl MatchCall_PageUp + cmp r0, 0x1 + beq _081D0128 + cmp r0, 0x1 + bgt _081D0122 + cmp r0, 0 + beq _081D015A + b _081D0148 +_081D0122: + cmp r0, 0x2 + beq _081D0132 + b _081D0148 +_081D0128: + movs r0, 0x5 + bl PlaySE + movs r0, 0x7 + b _081D015C +_081D0132: + movs r0, 0x5 + bl PlaySE + b _081D0148 +_081D013A: + bl sub_81C8630 + cmp r0, 0 + bne _081D0156 +_081D0142: + adds r0, r5, 0 + bl sub_81D0288 +_081D0148: + movs r0, 0 + b _081D015C +_081D014C: + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + cmp r0, 0 + beq _081D015A +_081D0156: + movs r0, 0x2 + b _081D015C +_081D015A: + movs r0, 0x4 +_081D015C: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81D00EC + + thumb_func_start sub_81D0164 +sub_81D0164: @ 81D0164 + push {r4,r5,lr} + adds r4, r0, 0 + movs r0, 0xA + bl GetSubstructPtr + adds r5, r0, 0 + cmp r4, 0x1 + beq _081D01B2 + cmp r4, 0x1 + bgt _081D017E + cmp r4, 0 + beq _081D0188 + b _081D01D2 +_081D017E: + cmp r4, 0x2 + beq _081D01BA + cmp r4, 0x3 + beq _081D01C4 + b _081D01D2 +_081D0188: + bl MatchCall_PageDown + cmp r0, 0x1 + beq _081D01A0 + cmp r0, 0x1 + bgt _081D019A + cmp r0, 0 + beq _081D01D2 + b _081D01C0 +_081D019A: + cmp r0, 0x2 + beq _081D01AA + b _081D01C0 +_081D01A0: + movs r0, 0x5 + bl PlaySE + movs r0, 0x7 + b _081D01D4 +_081D01AA: + movs r0, 0x5 + bl PlaySE + b _081D01C0 +_081D01B2: + bl sub_81C8630 + cmp r0, 0 + bne _081D01CE +_081D01BA: + adds r0, r5, 0 + bl sub_81D0288 +_081D01C0: + movs r0, 0 + b _081D01D4 +_081D01C4: + bl IsDma3ManagerBusyWithBgCopy + lsls r0, 24 + cmp r0, 0 + beq _081D01D2 +_081D01CE: + movs r0, 0x2 + b _081D01D4 +_081D01D2: + movs r0, 0x4 +_081D01D4: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81D0164 + + thumb_func_start sub_81D01DC +sub_81D01DC: @ 81D01DC + push {lr} + cmp r0, 0 + beq _081D01E8 + cmp r0, 0x1 + beq _081D01FC + b _081D0214 +_081D01E8: + movs r0, 0x5 + bl PlaySE + movs r0, 0 + bl sub_81C7AC0 + bl sub_81C78A0 + movs r0, 0 + b _081D0216 +_081D01FC: + bl IsPaletteFadeActive + cmp r0, 0 + bne _081D020C + bl MainMenuLoopedTaskIsBusy + cmp r0, 0 + beq _081D0210 +_081D020C: + movs r0, 0x2 + b _081D0216 +_081D0210: + bl sub_81C7FDC +_081D0214: + movs r0, 0x4 +_081D0216: + pop {r1} + bx r1 + thumb_func_end sub_81D01DC + + thumb_func_start sub_81D021C +sub_81D021C: @ 81D021C + push {lr} + cmp r0, 0 + beq _081D0228 + cmp r0, 0x1 + beq _081D0238 + b _081D0244 +_081D0228: + movs r0, 0x5 + bl PlaySE + movs r0, 0 + bl sub_81C7AC0 + movs r0, 0 + b _081D0246 +_081D0238: + bl IsPaletteFadeActive + cmp r0, 0 + beq _081D0244 + movs r0, 0x2 + b _081D0246 +_081D0244: + movs r0, 0x4 +_081D0246: + pop {r1} + bx r1 + thumb_func_end sub_81D021C + + thumb_func_start sub_81D024C +sub_81D024C: @ 81D024C + push {r4,lr} + adds r4, r0, 0 + ldr r0, =gUnknown_086237D4 + bl AddWindow + strh r0, [r4, 0x8] + lsls r0, 24 + lsrs r0, 24 + bl PutWindowTilemap + bl sub_81CFB38 + adds r2, r0, 0 + ldrh r0, [r4, 0x8] + movs r1, 0 + bl sub_81D02B0 + ldrb r0, [r4, 0x8] + movs r1, 0x1 + bl CopyWindowToVram + adds r0, r4, 0 + bl sub_81D0288 + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D024C + + thumb_func_start sub_81D0288 +sub_81D0288: @ 81D0288 + push {r4,r5,lr} + adds r5, r0, 0 + bl GetSelectedMatchCall + adds r4, r0, 0 + bl sub_81CFB38 + adds r2, r0, 0 + ldrh r0, [r5, 0x8] + adds r4, 0x1 + adds r1, r4, 0 + bl sub_81D02B0 + ldrb r0, [r5, 0x8] + movs r1, 0x2 + bl CopyWindowToVram + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_81D0288 + + thumb_func_start sub_81D02B0 +sub_81D02B0: @ 81D02B0 + push {r4,r5,lr} + sub sp, 0x1C + adds r4, r0, 0 + adds r5, r2, 0 + add r0, sp, 0xC + movs r2, 0x1 + movs r3, 0x3 + bl ConvertIntToDecimalStringN + movs r1, 0xBA + strb r1, [r0] + adds r0, 0x1 + adds r1, r5, 0 + movs r2, 0x1 + movs r3, 0x3 + bl ConvertIntToDecimalStringN + movs r0, 0x1 + add r1, sp, 0xC + movs r2, 0x38 + bl GetStringCenterAlignXOffset + adds r3, r0, 0 + lsls r4, 24 + lsrs r4, 24 + lsls r3, 24 + lsrs r3, 24 + movs r0, 0x1 + str r0, [sp] + movs r0, 0xFF + str r0, [sp, 0x4] + movs r0, 0 + str r0, [sp, 0x8] + adds r0, r4, 0 + movs r1, 0x1 + add r2, sp, 0xC + bl AddTextPrinterParameterized + add sp, 0x1C + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_81D02B0 + + thumb_func_start sub_81D0304 +sub_81D0304: @ 81D0304 + push {r4,lr} + sub sp, 0x18 + bl sub_81CFB28 + str r0, [sp] + bl sub_81CFB38 + mov r1, sp + movs r4, 0 + strh r0, [r1, 0x4] + movs r0, 0x4 + strb r0, [r1, 0x8] + bl sub_81CFB64 + mov r1, sp + strh r0, [r1, 0x6] + movs r0, 0xD + strb r0, [r1, 0x9] + movs r0, 0x11 + strb r0, [r1, 0xA] + mov r0, sp + movs r2, 0x1 + strb r2, [r0, 0xB] + movs r0, 0x8 + strb r0, [r1, 0xC] + movs r0, 0x2 + strb r0, [r1, 0xD] + mov r0, sp + strb r2, [r0, 0xE] + ldr r0, =sub_81D035C + str r0, [sp, 0x10] + str r4, [sp, 0x14] + ldr r0, =gUnknown_086237B4 + movs r2, 0 + bl sub_81C81D4 + add sp, 0x18 + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D0304 + + thumb_func_start sub_81D035C +sub_81D035C: @ 81D035C + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r6, r1, 0 + adds r7, r0, 0 + ldrb r0, [r7] + cmp r0, 0xE + bne _081D03A4 + ldrb r1, [r7, 0x1] + movs r0, 0x64 + adds r4, r1, 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 + bl GetLevelFromMonExp + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + ldr r2, =gStringVar3 + adds r0, r4, 0 + movs r1, 0x2 + bl GetMonData + b _081D03CC + .pool +_081D03A4: + ldrb r0, [r7] + ldrb r1, [r7, 0x1] + bl GetBoxedMonPtr + adds r4, r0, 0 + bl GetBoxMonGender + lsls r0, 24 + lsrs r5, r0, 24 + adds r0, r4, 0 + bl GetLevelFromBoxMonExp + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + ldr r2, =gStringVar3 + adds r0, r4, 0 + movs r1, 0x2 + bl GetBoxMonData +_081D03CC: + ldr r4, =gStringVar3 + adds r0, r4, 0 + bl StringGetEnd10 + adds r0, r6, 0 + movs r1, 0x1 + adds r2, r4, 0 + movs r3, 0x3C + bl sub_81DB494 + adds r6, r0, 0 + cmp r5, 0 + beq _081D03F8 + cmp r5, 0xFE + beq _081D0400 + ldr r1, =gUnknown_086237F4 + b _081D0402 + .pool +_081D03F8: + ldr r1, =gUnknown_086237DC + b _081D0402 + .pool +_081D0400: + ldr r1, =gUnknown_086237E8 +_081D0402: + ldr r4, =gStringVar1 + adds r0, r4, 0 + bl StringCopy + movs r1, 0xBA + strb r1, [r0] + adds r0, 0x1 + movs r1, 0xF9 + strb r1, [r0] + adds r0, 0x1 + movs r1, 0x5 + strb r1, [r0] + adds r0, 0x1 + mov r1, r8 + movs r2, 0 + movs r3, 0x3 + bl ConvertIntToDecimalStringN + adds r0, r6, 0 + movs r1, 0x1 + adds r2, r4, 0 + movs r3, 0x36 + bl sub_81DB494 + adds r6, r0, 0 + ldrh r1, [r7, 0x2] + movs r2, 0x1 + movs r3, 0x2 + bl ConvertIntToDecimalStringN + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D035C + + .align 2, 0 @ Don't pad with nop. diff --git a/asmdiff.ps1 b/asmdiff.ps1 index 169f14776b..9d6657301a 100644 --- a/asmdiff.ps1 +++ b/asmdiff.ps1 @@ -107,8 +107,10 @@ if ($start_num -gt 0x1000000) $end_str = [System.Convert]::ToString($start_num + $offset_num, 16) $end_str = "0x$end_str" -Write-Host "$Start - $end_str" +$start_str = "0x$Start" + +Write-Host "$start_str - $end_str" $objdump = Join-Path -Path $env:DEVKITARM -ChildPath "arm-none-eabi\bin\objdump.exe" -&$objdump -D -bbinary -marmv4t -Mforce-thumb --start-address="$Start" --stop-address="$end_str" .\baserom.gba > .\baserom.dump -&$objdump -D -bbinary -marmv4t -Mforce-thumb --start-address="$Start" --stop-address="$end_str" .\pokeemerald.gba > .\pokeemerald.dump +&$objdump -D -bbinary -marmv4t -Mforce-thumb --start-address="$start_str" --stop-address="$end_str" .\baserom.gba > .\baserom.dump +&$objdump -D -bbinary -marmv4t -Mforce-thumb --start-address="$start_str" --stop-address="$end_str" .\pokeemerald.gba > .\pokeemerald.dump Invoke-Expression "$DiffTool .\baserom.dump .\pokeemerald.dump" diff --git a/build_tools.sh b/build_tools.sh index 429a9cef00..b11a9a1b2c 100755 --- a/build_tools.sh +++ b/build_tools.sh @@ -9,3 +9,4 @@ make -C tools/ramscrgen CXX=${1:-g++} make -C tools/gbafix CXX=${1:-g++} make -C tools/mid2agb CXX=${1:-g++} make -C tools/mapjson CXX=${1:-g++} +make -C tools/jsonproc CXX=${1:-g++} diff --git a/charmap.txt b/charmap.txt index 26d48e1015..43ff737a0f 100644 --- a/charmap.txt +++ b/charmap.txt @@ -61,6 +61,10 @@ UP_ARROW = 79 DOWN_ARROW = 7A LEFT_ARROW = 7B RIGHT_ARROW = 7C +SUPER_E = 84 +'<' = 85 +'>' = 86 +SUPER_RE = A0 '0' = A1 '1' = A2 '2' = A3 diff --git a/data/battle_ai_scripts.s b/data/battle_ai_scripts.s index 8f3cfb6571..03f76fe291 100644 --- a/data/battle_ai_scripts.s +++ b/data/battle_ai_scripts.s @@ -3307,7 +3307,7 @@ AI_HPAware_DiscouragedEffectsWhenTargetLowHP: @ 82DE2B1 .byte EFFECT_TOXIC .byte EFFECT_LIGHT_SCREEN .byte EFFECT_OHKO - .byte EFFECT_SUPER_FANG + .byte EFFECT_SUPER_FANG //Maybe supposed to be EFFECT_RAZOR_WIND .byte EFFECT_SUPER_FANG .byte EFFECT_MIST .byte EFFECT_FOCUS_ENERGY diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 8655d9bc3e..f366d44261 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -2960,7 +2960,7 @@ SkyAttackSetUpAgainstPartner: SkyAttackUnleash: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_BIRD - call SetFlyingBg + call SetSkyBg monbg ANIM_ATTACKER createvisualtask sub_8116620, 10, 2, 0, 0, 16, RGB_WHITE delay 4 @@ -2977,7 +2977,7 @@ SkyAttackUnleash: createvisualtask sub_8116620, 10, 2, 0, 15, 0, RGB_WHITE waitforvisualfinish clearmonbg ANIM_ATTACKER - call UnsetFlyingBg + call UnsetSkyBg goto SkyAttackEnd Move_FLASH: @@ -5392,7 +5392,7 @@ Move_WITHDRAW: Move_AURORA_BEAM: loadspritegfx ANIM_TAG_RAINBOW_RINGS - fadetobg BG_AURORABEAM + fadetobg BG_AURORA waitbgfadein playsewithpan SE_W062, SOUND_PAN_ATTACKER setarg 7, 0 @@ -6195,7 +6195,7 @@ Move_AEROBLAST: loadspritegfx ANIM_TAG_AIR_WAVE_2 loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER - call SetFlyingBg + call SetSkyBg monbgprio_28 ANIM_TARGET setalpha 12, 8 call Aeroblast1 @@ -6211,7 +6211,7 @@ Move_AEROBLAST: clearmonbg ANIM_DEF_PARTNER blendoff delay 0 - call UnsetFlyingBg + call UnsetSkyBg end Aeroblast1: playsewithpan SE_W026, SOUND_PAN_ATTACKER @@ -6568,7 +6568,7 @@ Move_DYNAMIC_PUNCH: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_EXPLOSION - loadspritegfx ANIM_TAG_UNUSED_EXPLOSION + loadspritegfx ANIM_TAG_EXPLOSION_6 delay 1 monbg ANIM_DEF_PARTNER setalpha 12, 8 @@ -9419,7 +9419,7 @@ Move_SEISMIC_TOSS: waitforvisualfinish createvisualtask AnimTask_GetSeismicTossDamageLevel, 3 delay 1 - fadetobg BG_SEISMICTOSS_SKUUPPERCUT + fadetobg BG_IN_AIR waitbgfadeout createvisualtask sub_811152C, 3 playsewithpan SE_W327, 0 @@ -9589,7 +9589,7 @@ Move_SKY_UPPERCUT: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER monbgprio_28 ANIM_TARGET - fadetobg BG_SEISMICTOSS_SKUUPPERCUT + fadetobg BG_IN_AIR waitbgfadeout playsewithpan SE_W327, SOUND_PAN_ATTACKER createvisualtask sub_810DABC, 5, 55 @@ -10165,21 +10165,21 @@ UnsetPsychicBackground: waitbgfadein return -SetFlyingBg: - jumpifcontest SetBgFlyingContest - fadetobg BG_FLYING +SetSkyBg: + jumpifcontest SetSkyBgContest + fadetobg BG_SKY waitbgfadeout createvisualtask sub_8117660, 5, -2304, 768, 1, -1 -SetBgFlyingContinue: +SetSkyBgContinue: waitbgfadein return -SetBgFlyingContest: - fadetobg BG_FLYING_CONTESTS +SetSkyBgContest: + fadetobg BG_SKY_CONTESTS waitbgfadeout createvisualtask sub_8117660, 5, 2304, 768, 0, -1 - goto SetBgFlyingContinue + goto SetSkyBgContinue -UnsetFlyingBg: +UnsetSkyBg: restorebg waitbgfadeout setarg 7, -1 @@ -10331,15 +10331,15 @@ General_SubstituteAppear: General_PokeblockThrow: createvisualtask sub_817345C, 2, 0 - createvisualtask sub_81732B0, 2 + createvisualtask AnimTask_LoadPokeblockGfx, 2 delay 0 waitplaysewithpan SE_W026, SOUND_PAN_ATTACKER, 22 - createsprite gBattleAnimSpriteTemplate_85E5338, ANIM_TARGET, 3, -18, 12, 0, 32 + createsprite gPokeblockSpriteTemplate, ANIM_TARGET, 3, -18, 12, 0, 32 delay 50 loopsewithpan SE_W039, SOUND_PAN_TARGET, 19, 2 createvisualtask AnimTask_SwayMon, 5, 1, 8, 1536, 2, ANIM_TARGET waitforvisualfinish - createvisualtask sub_81732E4, 2 + createvisualtask AnimTask_FreePokeblockGfx, 2 end General_ItemKnockoff: @@ -10516,7 +10516,7 @@ General_Hail: goto Move_HAIL General_LeechSeedDrain: - createvisualtask sub_817351C, 5 + createvisualtask AnimTask_GetBattlersFromArg, 5 delay 0 goto Move_ABSORB @@ -10535,7 +10535,7 @@ General_MonHit: General_ItemSteal: loadspritegfx ANIM_TAG_ITEM_BAG createvisualtask sub_8117F30, 2 - createvisualtask sub_8172ED0, 2 + createvisualtask AnimTask_TargetToEffectBattler, 2 delay 1 createsprite gItemStealSpriteTemplate, ANIM_ATTACKER, 2, 0, -5, 10, 2, -1 end @@ -10664,8 +10664,8 @@ General_WishHeal: end AnimScript_82D85A3: - createvisualtask sub_8172E9C, 2 - jumpreteq 1, AnimScript_82D85B4 + createvisualtask AnimTask_IsAttackerBehindSubstitute, 2 + jumprettrue AnimScript_82D85B4 AnimScript_82D85B2: waitforvisualfinish return @@ -10675,8 +10675,8 @@ AnimScript_82D85B4: goto AnimScript_82D85B2 AnimScript_82D85C3: - createvisualtask sub_8172E9C, 2 - jumpreteq 1, AnimScript_82D85D4 + createvisualtask AnimTask_IsAttackerBehindSubstitute, 2 + jumprettrue AnimScript_82D85D4 AnimScript_82D85D2: waitforvisualfinish return diff --git a/data/contest_ai_scripts.s b/data/contest_ai_scripts.s index 6eb254dae9..7346876d7e 100644 --- a/data/contest_ai_scripts.s +++ b/data/contest_ai_scripts.s @@ -11,39 +11,40 @@ enum MON_4 .align 2 -gContestAIs:: @ 82DE350 - .4byte AI_CheckForBadMove - .4byte AI_CheckForCombo - .4byte AI_CheckBoring - .4byte AI_CheckExcitement - .4byte AI_CheckOrder - .4byte AI_CheckForGoodMove - .4byte AI_Erratic - .4byte AI_Nothing - .4byte AI_Nothing - .4byte AI_Nothing - .4byte AI_Nothing - .4byte AI_Nothing - .4byte AI_Nothing - .4byte AI_Nothing - .4byte AI_Nothing - .4byte AI_Nothing - .4byte AI_Nothing - .4byte AI_Nothing - .4byte AI_Nothing - .4byte AI_Nothing - .4byte AI_Nothing - .4byte AI_Nothing - .4byte AI_Nothing - .4byte AI_Nothing - .4byte AI_Nothing - .4byte AI_Nothing - .4byte AI_Nothing - .4byte AI_Nothing - .4byte AI_Nothing - .4byte AI_Nothing - .4byte AI_Nothing - .4byte AI_Nothing +gContestAIChecks:: @ 82DE350 + .4byte AI_CheckForBadMove // 0x00000001 + .4byte AI_CheckForCombo // 0x00000002 + .4byte AI_CheckBoring // 0x00000004 + .4byte AI_CheckExcitement // 0x00000008 + .4byte AI_CheckOrder // 0x00000010 + .4byte AI_CheckForGoodMove // 0x00000020 + .4byte AI_Erratic // 0x00000040 + .4byte AI_Nothing // 0x00000080 + .4byte AI_Nothing // 0x00000100 + .4byte AI_Nothing // 0x00000200 + .4byte AI_Nothing // 0x00000400 + .4byte AI_Nothing // 0x00000800 + .4byte AI_Nothing // 0x00001000 + .4byte AI_Nothing // 0x00002000 + .4byte AI_Nothing // 0x00004000 + .4byte AI_Nothing // 0x00008000 + .4byte AI_Nothing // 0x00010000 + .4byte AI_Nothing // 0x00020000 + .4byte AI_Nothing // 0x00040000 + .4byte AI_Nothing // 0x00080000 + .4byte AI_Nothing // 0x00100000 + .4byte AI_Nothing // 0x00200000 + .4byte AI_Nothing // 0x00400000 + .4byte AI_Nothing // 0x00800000 + .4byte AI_Nothing // 0x01000000 + .4byte AI_Nothing // 0x02000000 + .4byte AI_Nothing // 0x04000000 + .4byte AI_Nothing // 0x08000000 + .4byte AI_Nothing // 0x10000000 + .4byte AI_Nothing // 0x20000000 + .4byte AI_Nothing // 0x40000000 + .4byte AI_Nothing // 0x80000000 + @ Unreferenced AI routine to encourage moves that improve condition on the first @ turn. Additionally, it checks the appeal order of the user and the effect diff --git a/data/event_scripts.s b/data/event_scripts.s index 5c3c408aa7..bf32eae837 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -6,6 +6,7 @@ #include "constants/event_object_movement_constants.h" #include "constants/field_effects.h" #include "constants/flags.h" +#include "constants/decorations.h" #include "constants/items.h" #include "constants/heal_locations.h" #include "constants/layouts.h" @@ -454,7 +455,7 @@ EventScript_SecretBasePC:: @ 823B4BB EventScript_SecretBasePCShowMainMenu:: @ 823B4D3 message Text_SecretBasePCStartMenu waitmessage - goto_if_set FLAG_DECORATION_16, EventScript_SecretBasePCMainMenuChoice + goto_if_set FLAG_SECRET_BASE_REGISTRY_ENABLED, EventScript_SecretBasePCMainMenuChoice goto EventScript_23B531 end @@ -487,16 +488,16 @@ EventScript_23B568:: @ 823B568 compare VAR_RESULT, 0 goto_if_eq EventScript_SecretBasePCShowMainMenu closemessage - special sub_80E9AC0 + special MoveOutOfSecretBase releaseall end EventScript_23B581:: @ 823B581 - special sub_80E9C74 + special ShowSecretBaseDecorationMenu end EventScript_23B585:: @ 823B585 - special sub_80E9C88 + special ShowSecretBaseRegistryMenu end EventScript_RecordMixingSecretBasePC:: @ 823B589 @@ -529,17 +530,17 @@ gUnknown_0823B5E9:: @ 823B5E9 end EventScript_23B5F0:: @ 823B5F0 - special sub_80E9BDC + special GetCurSecretBaseRegistrationValidity compare VAR_RESULT, 1 goto_if_eq EventScript_23B62F compare VAR_RESULT, 2 goto_if_eq EventScript_CantRegisterTooManyBases - special sub_80E980C - msgbox Text_276707, MSGBOX_YESNO + special CopyCurSecretBaseOwnerName_StrVar1 + msgbox Text_WantToRegisterSecretBase, MSGBOX_YESNO compare VAR_RESULT, 0 goto_if_eq EventScript_23B5A1 msgbox Text_2767D1, MSGBOX_SIGN - special sub_80E9C2C + special ToggleCurSecretBaseRegistry special DoSecretBasePCTurnOffEffect releaseall end @@ -549,7 +550,7 @@ EventScript_23B62F:: @ 823B62F compare VAR_RESULT, 0 goto_if_eq EventScript_23B5A1 msgbox Text_2767E9, MSGBOX_SIGN - special sub_80E9C2C + special ToggleCurSecretBaseRegistry special DoSecretBasePCTurnOffEffect releaseall end @@ -573,23 +574,23 @@ EventScript_23B66E:: @ 823B66E end EventScript_23B674:: @ 823B674 - special sub_80EB498 + special SetSecretBaseSecretsTvFlags_Poster end EventScript_23B678:: @ 823B678 - special sub_80EB56C + special SetSecretBaseSecretsTvFlags_MiscFurnature end EventScript_23B67C:: @ 823B67C - special sub_80EB9E0 + special SetSecretBaseSecretsTvFlags_LargeDecorationSpot end EventScript_23B680:: @ 823B680 - special sub_80EBB28 + special SetSecretBaseSecretsTvFlags_SmallDecorationSpot end EventScript_SecretBaseSandOrnament:: @ 823B684 - special sub_80EBE7C + special SetSecretBaseSecretsTvFlags_SandOrnament dofieldeffect FLDEFF_SAND_PILLAR waitstate end @@ -825,7 +826,7 @@ Std_10: @ 8271347 waitmessage return -EventScript_27134E: @ 827134E +EventScript_UnusedReturn: @ 827134E return Common_EventScript_SaveGame:: @ 827134F @@ -846,7 +847,7 @@ Std_MsgboxAutoclose:: @ 8271494 release return -EventScript_27149D:: @ 827149D +EventScript_ResetAllBerries:: @ 827149D setberrytree 2, 7, 5 setberrytree 1, 3, 5 setberrytree 11, 7, 5 @@ -1089,13 +1090,13 @@ EventScript_ResetAllMapFlags:: @ 82715DE setflag FLAG_HIDE_EVER_GRANDE_POKEMON_CENTER_1F_SCOTT setflag FLAG_HIDE_SKY_PILLAR_WALLACE setflag FLAG_RAYQUAZA_ON_SKY_TOWER_SUMMIT - call EventScript_27149D + call EventScript_ResetAllBerries end EverGrandeCity_HallOfFame_EventScript_2717C1:: @ 82717C1 special sub_81AFDD0 setflag FLAG_IS_CHAMPION - call EverGrandeCity_HallOfFame_EventScript_271829 + call EverGrandeCity_HallOfFame_EventScript_ResetDefeatedEventLegendaries compare VAR_FOSSIL_MANIAC_STATE, 0 call_if_eq EverGrandeCity_HallOfFame_EventScript_271839 clearflag FLAG_HIDE_LILCOVE_MOTEL_GAME_DESIGNERS @@ -1120,7 +1121,7 @@ EverGrandeCity_HallOfFame_EventScript_2717C1:: @ 82717C1 call_if_eq EverGrandeCity_HallOfFame_EventScript_271851 return -EverGrandeCity_HallOfFame_EventScript_271829:: @ 8271829 +EverGrandeCity_HallOfFame_EventScript_ResetDefeatedEventLegendaries:: @ 8271829 clearflag FLAG_DEFEATED_MEW clearflag FLAG_DEFEATED_LATIAS_OR_LATIOS clearflag FLAG_DEFEATED_DEOXYS @@ -1193,7 +1194,7 @@ EventScript_MoveMrBrineyToRoute108:: @ 82718B3 end EverGrandeCity_HallOfFame_EventScript_ResetEliteFour:: @ 82718CC - clearflag FLAG_DEFEATED_ELITE_4_SYDNEY + clearflag FLAG_DEFEATED_ELITE_4_SIDNEY clearflag FLAG_DEFEATED_ELITE_4_PHOEBE clearflag FLAG_DEFEATED_ELITE_4_GLACIA clearflag FLAG_DEFEATED_ELITE_4_DRAKE @@ -2766,7 +2767,7 @@ EventScript_2736F8:: @ 82736F8 Common_EventScript_NopReturn:: @ 827374E return -EventScript_27374F:: @ 827374F +EventScript_UnusedSetVarResult1:: @ 827374F setvar VAR_RESULT, 1 return @@ -3460,7 +3461,7 @@ EventScript_GotoTrainerScript:: @ 82742F6 gUnknown_0827E8CE:: @ 827E8CE .string "Missed turn$" -gUnknown_0827E8DA:: @ 827E8DA +gText_LinkStandby4:: @ 827E8DA .string "Link standby!$" gUnknown_0827E8E8:: @ 827E8E8 diff --git a/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc b/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc index 1c517735ee..2d6f7ee77d 100644 --- a/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc +++ b/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc @@ -42,11 +42,11 @@ AbandonedShip_HiddenFloorRooms_EventScript_238CE3:: @ 8238CE3 setfieldeffectargument 0, 10 setfieldeffectargument 1, 10 setfieldeffectargument 2, 0 - dofieldeffect 54 + dofieldeffect FLDEFF_SPARKLE specialvar VAR_RESULT, FoundAbandonedShipRoom4Key compare VAR_RESULT, 0 call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238DD3 - waitfieldeffect 54 + waitfieldeffect FLDEFF_SPARKLE delay 10 end @@ -60,7 +60,7 @@ AbandonedShip_HiddenFloorRooms_EventScript_238D0D:: @ 8238D0D delay 20 compare VAR_RESULT, 0 call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238DB3 - waitfieldeffect 54 + waitfieldeffect FLDEFF_SPARKLE delay 10 end @@ -72,15 +72,15 @@ AbandonedShip_HiddenFloorRooms_EventScript_238D33:: @ 8238D33 setfieldeffectargument 0, 8 setfieldeffectargument 1, 5 setfieldeffectargument 2, 0 - dofieldeffect 54 + dofieldeffect FLDEFF_SPARKLE setfieldeffectargument 0, 11 setfieldeffectargument 1, 3 setfieldeffectargument 2, 0 - dofieldeffect 54 + dofieldeffect FLDEFF_SPARKLE specialvar VAR_RESULT, FoundAbandonedShipRoom6Key compare VAR_RESULT, 0 call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238DE3 - waitfieldeffect 54 + waitfieldeffect FLDEFF_SPARKLE delay 10 end @@ -89,19 +89,19 @@ AbandonedShip_HiddenFloorRooms_EventScript_238D6B:: @ 8238D6B setfieldeffectargument 0, 16 setfieldeffectargument 1, 3 setfieldeffectargument 2, 0 - dofieldeffect 54 + dofieldeffect FLDEFF_SPARKLE setfieldeffectargument 0, 25 setfieldeffectargument 1, 2 setfieldeffectargument 2, 0 - dofieldeffect 54 + dofieldeffect FLDEFF_SPARKLE setfieldeffectargument 0, 24 setfieldeffectargument 1, 6 setfieldeffectargument 2, 0 - dofieldeffect 54 + dofieldeffect FLDEFF_SPARKLE specialvar VAR_RESULT, FoundAbandonedShipRoom2Key compare VAR_RESULT, 0 call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238DC3 - waitfieldeffect 54 + waitfieldeffect FLDEFF_SPARKLE delay 10 end @@ -112,28 +112,28 @@ AbandonedShip_HiddenFloorRooms_EventScript_238DB3:: @ 8238DB3 setfieldeffectargument 0, 42 setfieldeffectargument 1, 10 setfieldeffectargument 2, 0 - dofieldeffect 54 + dofieldeffect FLDEFF_SPARKLE return AbandonedShip_HiddenFloorRooms_EventScript_238DC3:: @ 8238DC3 setfieldeffectargument 0, 20 setfieldeffectargument 1, 5 setfieldeffectargument 2, 0 - dofieldeffect 54 + dofieldeffect FLDEFF_SPARKLE return AbandonedShip_HiddenFloorRooms_EventScript_238DD3:: @ 8238DD3 setfieldeffectargument 0, 1 setfieldeffectargument 1, 12 setfieldeffectargument 2, 0 - dofieldeffect 54 + dofieldeffect FLDEFF_SPARKLE return AbandonedShip_HiddenFloorRooms_EventScript_238DE3:: @ 8238DE3 setfieldeffectargument 0, 1 setfieldeffectargument 1, 2 setfieldeffectargument 2, 0 - dofieldeffect 54 + dofieldeffect FLDEFF_SPARKLE return AbandonedShip_HiddenFloorRooms_EventScript_238DF3:: @ 8238DF3 diff --git a/data/maps/AquaHideout_B1F/scripts.inc b/data/maps/AquaHideout_B1F/scripts.inc index 2995f48dc5..589e416125 100644 --- a/data/maps/AquaHideout_B1F/scripts.inc +++ b/data/maps/AquaHideout_B1F/scripts.inc @@ -1,6 +1,6 @@ AquaHideout_B1F_MapScripts:: @ 82339A7 map_script MAP_SCRIPT_ON_RESUME, AquaHideout_B1F_MapScript1_2339B2 - map_script MAP_SCRIPT_ON_TRANSITION, AquaHideout_B1F_MapScript1_2339D0 + map_script MAP_SCRIPT_ON_TRANSITION, AquaHideout_B1F_OnTransition .byte 0 AquaHideout_B1F_MapScript1_2339B2: @ 82339B2 @@ -14,7 +14,7 @@ AquaHideout_B1F_EventScript_2339BC:: @ 82339BC removeobject VAR_LAST_TALKED return -AquaHideout_B1F_MapScript1_2339D0: @ 82339D0 +AquaHideout_B1F_OnTransition: @ 82339D0 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 diff --git a/data/maps/AquaHideout_B2F/scripts.inc b/data/maps/AquaHideout_B2F/scripts.inc index cdfe3f58ef..975715fc22 100644 --- a/data/maps/AquaHideout_B2F/scripts.inc +++ b/data/maps/AquaHideout_B2F/scripts.inc @@ -1,8 +1,8 @@ AquaHideout_B2F_MapScripts:: @ 8233DCF - map_script MAP_SCRIPT_ON_TRANSITION, AquaHideout_B2F_MapScript1_233DD5 + map_script MAP_SCRIPT_ON_TRANSITION, AquaHideout_B2F_OnTransition .byte 0 -AquaHideout_B2F_MapScript1_233DD5: @ 8233DD5 +AquaHideout_B2F_OnTransition: @ 8233DD5 call_if_set FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, AquaHideout_B2F_EventScript_233DDF end diff --git a/data/maps/BattleFrontier_PokemonCenter_2F/scripts.inc b/data/maps/BattleFrontier_PokemonCenter_2F/scripts.inc index c6ae8da2a5..59ede7f6a5 100644 --- a/data/maps/BattleFrontier_PokemonCenter_2F/scripts.inc +++ b/data/maps/BattleFrontier_PokemonCenter_2F/scripts.inc @@ -2,7 +2,7 @@ BattleFrontier_PokemonCenter_2F_MapScripts:: @ 8267AA4 map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_PokemonCenter_2F_MapScript2_276C3B map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_PokemonCenter_2F_MapScript2_276B6C map_script MAP_SCRIPT_ON_LOAD, BattleFrontier_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_PokemonCenter_2F_MapScript1_276ACF + map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition .byte 0 BattleFrontier_PokemonCenter_2F_EventScript_267AB9:: @ 8267AB9 diff --git a/data/maps/BirthIsland_Exterior/scripts.inc b/data/maps/BirthIsland_Exterior/scripts.inc index 594790ff3f..3eb491e0f7 100644 --- a/data/maps/BirthIsland_Exterior/scripts.inc +++ b/data/maps/BirthIsland_Exterior/scripts.inc @@ -1,5 +1,5 @@ BirthIsland_Exterior_MapScripts:: @ 8267F15 - map_script MAP_SCRIPT_ON_TRANSITION, BirthIsland_Exterior_MapScript1_267F29 + map_script MAP_SCRIPT_ON_TRANSITION, BirthIsland_Exterior_OnTransition map_script MAP_SCRIPT_ON_RESUME, BirthIsland_Exterior_MapScript1_267F65 map_script MAP_SCRIPT_ON_RETURN_TO_FIELD, BirthIsland_Exterior_MapScript1_267F25 .byte 0 @@ -8,7 +8,7 @@ BirthIsland_Exterior_MapScript1_267F25: @ 8267F25 special sub_813B1D0 end -BirthIsland_Exterior_MapScript1_267F29: @ 8267F29 +BirthIsland_Exterior_OnTransition: @ 8267F29 setflag FLAG_MAP_SCRIPT_CHECKED_DEOXYS setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL setvar VAR_DEOXYS_ROCK_STEP_COUNT, 0 @@ -68,9 +68,9 @@ BirthIsland_Exterior_EventScript_267FC1:: @ 8267FC1 setfieldeffectargument 0, 1 setfieldeffectargument 1, 58 setfieldeffectargument 2, 26 - dofieldeffect 65 + dofieldeffect FLDEFF_65 playbgm MUS_RG_DEOEYE, 0 - waitfieldeffect 65 + waitfieldeffect FLDEFF_65 addobject 2 applymovement 2, BirthIsland_Exterior_Movement_268054 waitmovement 0 diff --git a/data/maps/CaveOfOrigin_1F/scripts.inc b/data/maps/CaveOfOrigin_1F/scripts.inc index e8d722dee9..8c72ec4b8d 100644 --- a/data/maps/CaveOfOrigin_1F/scripts.inc +++ b/data/maps/CaveOfOrigin_1F/scripts.inc @@ -1,7 +1,7 @@ CaveOfOrigin_1F_MapScripts:: @ 8235768 - map_script MAP_SCRIPT_ON_TRANSITION, CaveOfOrigin_1F_MapScript1_23576E + map_script MAP_SCRIPT_ON_TRANSITION, CaveOfOrigin_1F_OnTransition .byte 0 -CaveOfOrigin_1F_MapScript1_23576E: @ 823576E +CaveOfOrigin_1F_OnTransition: @ 823576E call_if_set FLAG_UNUSED_RS_LEGENDARY_BATTLE_DONE, CaveOfOrigin_1F_EventScript_2722C1 end diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/scripts.inc b/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/scripts.inc index e3e2969453..bc574be2d8 100644 --- a/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/scripts.inc +++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/scripts.inc @@ -1,7 +1,7 @@ CaveOfOrigin_UnusedRubySapphireMap1_MapScripts:: @ 8235778 - map_script MAP_SCRIPT_ON_TRANSITION, CaveOfOrigin_UnusedRubySapphireMap1_MapScript1_23577E + map_script MAP_SCRIPT_ON_TRANSITION, CaveOfOrigin_UnusedRubySapphireMap1_OnTransition .byte 0 -CaveOfOrigin_UnusedRubySapphireMap1_MapScript1_23577E: @ 823577E +CaveOfOrigin_UnusedRubySapphireMap1_OnTransition: @ 823577E 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 417a7369a1..340e4a5859 100644 --- a/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/scripts.inc +++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/scripts.inc @@ -1,8 +1,8 @@ CaveOfOrigin_UnusedRubySapphireMap2_MapScripts:: @ 8235788 - map_script MAP_SCRIPT_ON_TRANSITION, CaveOfOrigin_UnusedRubySapphireMap2_MapScript1_23578E + map_script MAP_SCRIPT_ON_TRANSITION, CaveOfOrigin_UnusedRubySapphireMap2_OnTransition .byte 0 -CaveOfOrigin_UnusedRubySapphireMap2_MapScript1_23578E: @ 823578E +CaveOfOrigin_UnusedRubySapphireMap2_OnTransition: @ 823578E 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 51d9b86546..f2e1189070 100644 --- a/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/scripts.inc +++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/scripts.inc @@ -1,8 +1,8 @@ CaveOfOrigin_UnusedRubySapphireMap3_MapScripts:: @ 8235798 - map_script MAP_SCRIPT_ON_TRANSITION, CaveOfOrigin_UnusedRubySapphireMap3_MapScript1_23579E + map_script MAP_SCRIPT_ON_TRANSITION, CaveOfOrigin_UnusedRubySapphireMap3_OnTransition .byte 0 -CaveOfOrigin_UnusedRubySapphireMap3_MapScript1_23579E: @ 823579E +CaveOfOrigin_UnusedRubySapphireMap3_OnTransition: @ 823579E call_if_set FLAG_UNUSED_RS_LEGENDARY_BATTLE_DONE, CaveOfOrigin_UnusedRubySapphireMap3_EventScript_2722C1 end diff --git a/data/maps/DewfordTown/scripts.inc b/data/maps/DewfordTown/scripts.inc index ed8acea17c..1fcaab8d6a 100644 --- a/data/maps/DewfordTown/scripts.inc +++ b/data/maps/DewfordTown/scripts.inc @@ -1,8 +1,8 @@ DewfordTown_MapScripts:: @ 81E9507 - map_script MAP_SCRIPT_ON_TRANSITION, DewfordTown_MapScript1_1E950D + map_script MAP_SCRIPT_ON_TRANSITION, DewfordTown_OnTransition .byte 0 -DewfordTown_MapScript1_1E950D: @ 81E950D +DewfordTown_OnTransition: @ 81E950D setflag FLAG_VISITED_DEWFORD_TOWN end diff --git a/data/maps/DewfordTown_Gym/scripts.inc b/data/maps/DewfordTown_Gym/scripts.inc index eb81835856..5601c7477c 100644 --- a/data/maps/DewfordTown_Gym/scripts.inc +++ b/data/maps/DewfordTown_Gym/scripts.inc @@ -1,8 +1,8 @@ DewfordTown_Gym_MapScripts:: @ 81FC63C - map_script MAP_SCRIPT_ON_TRANSITION, DewfordTown_Gym_MapScript1_1FC642 + map_script MAP_SCRIPT_ON_TRANSITION, DewfordTown_Gym_OnTransition .byte 0 -DewfordTown_Gym_MapScript1_1FC642: @ 81FC642 +DewfordTown_Gym_OnTransition: @ 81FC642 call DewfordTown_Gym_EventScript_1FC648 end diff --git a/data/maps/DewfordTown_PokemonCenter_1F/scripts.inc b/data/maps/DewfordTown_PokemonCenter_1F/scripts.inc index b4f5fc4c67..be9005d7d1 100644 --- a/data/maps/DewfordTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/DewfordTown_PokemonCenter_1F/scripts.inc @@ -1,9 +1,9 @@ DewfordTown_PokemonCenter_1F_MapScripts:: @ 81FC523 - map_script MAP_SCRIPT_ON_TRANSITION, DewfordTown_PokemonCenter_1F_MapScript1_1FC52E + map_script MAP_SCRIPT_ON_TRANSITION, DewfordTown_PokemonCenter_1F_OnTransition map_script MAP_SCRIPT_ON_RESUME, DewfordTown_PokemonCenter_1F_MapScript1_277C30 .byte 0 -DewfordTown_PokemonCenter_1F_MapScript1_1FC52E: @ 81FC52E +DewfordTown_PokemonCenter_1F_OnTransition: @ 81FC52E setrespawn HEAL_LOCATION_DEWFORD_TOWN call DewfordTown_PokemonCenter_1F_EventScript_2718DE end diff --git a/data/maps/DewfordTown_PokemonCenter_2F/scripts.inc b/data/maps/DewfordTown_PokemonCenter_2F/scripts.inc index 58b0b63a1a..f49560d8ca 100644 --- a/data/maps/DewfordTown_PokemonCenter_2F/scripts.inc +++ b/data/maps/DewfordTown_PokemonCenter_2F/scripts.inc @@ -2,7 +2,7 @@ DewfordTown_PokemonCenter_2F_MapScripts:: @ 81FC615 map_script MAP_SCRIPT_ON_FRAME_TABLE, DewfordTown_PokemonCenter_2F_MapScript2_276C3B map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, DewfordTown_PokemonCenter_2F_MapScript2_276B6C map_script MAP_SCRIPT_ON_LOAD, DewfordTown_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, DewfordTown_PokemonCenter_2F_MapScript1_276ACF + map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition .byte 0 DewfordTown_PokemonCenter_2F_EventScript_1FC62A:: @ 81FC62A diff --git a/data/maps/EverGrandeCity/scripts.inc b/data/maps/EverGrandeCity/scripts.inc index ffbf5a6cda..39e57f5639 100644 --- a/data/maps/EverGrandeCity/scripts.inc +++ b/data/maps/EverGrandeCity/scripts.inc @@ -1,8 +1,8 @@ EverGrandeCity_MapScripts:: @ 81E7D1B - map_script MAP_SCRIPT_ON_TRANSITION, EverGrandeCity_MapScript1_1E7D21 + map_script MAP_SCRIPT_ON_TRANSITION, EverGrandeCity_OnTransition .byte 0 -EverGrandeCity_MapScript1_1E7D21: @ 81E7D21 +EverGrandeCity_OnTransition: @ 81E7D21 call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetWeather15 end diff --git a/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc b/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc index 49411aeb46..72c5cc916e 100644 --- a/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc +++ b/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc @@ -1,10 +1,10 @@ EverGrandeCity_ChampionsRoom_MapScripts:: @ 82289EF - map_script MAP_SCRIPT_ON_TRANSITION, EverGrandeCity_ChampionsRoom_MapScript1_2289FF + map_script MAP_SCRIPT_ON_TRANSITION, EverGrandeCity_ChampionsRoom_OnTransition map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_ChampionsRoom_MapScript2_228A05 map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_ChampionsRoom_MapScript2_228A14 .byte 0 -EverGrandeCity_ChampionsRoom_MapScript1_2289FF: @ 82289FF +EverGrandeCity_ChampionsRoom_OnTransition: @ 82289FF call Common_EventScript_SetupRivalGender end diff --git a/data/maps/EverGrandeCity_HallOfFame/scripts.inc b/data/maps/EverGrandeCity_HallOfFame/scripts.inc index f61547c148..343614d852 100644 --- a/data/maps/EverGrandeCity_HallOfFame/scripts.inc +++ b/data/maps/EverGrandeCity_HallOfFame/scripts.inc @@ -38,8 +38,8 @@ EverGrandeCity_HallOfFame_EventScript_229850:: @ 8229850 applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp waitmovement 0 delay 20 - dofieldeffect 62 - waitfieldeffect 62 + dofieldeffect FLDEFF_HALL_OF_FAME_RECORD + waitfieldeffect FLDEFF_HALL_OF_FAME_RECORD delay 40 setvar VAR_TEMP_1, 1 call EverGrandeCity_HallOfFame_EventScript_2717C1 diff --git a/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc b/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc index 12c6bbb77a..0b292530eb 100644 --- a/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc @@ -1,9 +1,9 @@ EverGrandeCity_PokemonCenter_1F_MapScripts:: @ 8229A34 - map_script MAP_SCRIPT_ON_TRANSITION, EverGrandeCity_PokemonCenter_1F_MapScript1_229A3F + map_script MAP_SCRIPT_ON_TRANSITION, EverGrandeCity_PokemonCenter_1F_OnTransition map_script MAP_SCRIPT_ON_RESUME, EverGrandeCity_PokemonCenter_1F_MapScript1_277C30 .byte 0 -EverGrandeCity_PokemonCenter_1F_MapScript1_229A3F: @ 8229A3F +EverGrandeCity_PokemonCenter_1F_OnTransition: @ 8229A3F setrespawn HEAL_LOCATION_EVER_GRANDE_CITY_1 call_if_unset FLAG_MET_SCOTT_IN_EVERGRANDE, EverGrandeCity_PokemonCenter_1F_EventScript_229A4C end diff --git a/data/maps/EverGrandeCity_PokemonCenter_2F/scripts.inc b/data/maps/EverGrandeCity_PokemonCenter_2F/scripts.inc index 40408c1f84..690032b8a4 100644 --- a/data/maps/EverGrandeCity_PokemonCenter_2F/scripts.inc +++ b/data/maps/EverGrandeCity_PokemonCenter_2F/scripts.inc @@ -2,7 +2,7 @@ EverGrandeCity_PokemonCenter_2F_MapScripts:: @ 8229CE0 map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_PokemonCenter_2F_MapScript2_276C3B map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_PokemonCenter_2F_MapScript2_276B6C map_script MAP_SCRIPT_ON_LOAD, EverGrandeCity_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, EverGrandeCity_PokemonCenter_2F_MapScript1_276ACF + map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition .byte 0 EverGrandeCity_PokemonCenter_2F_EventScript_229CF5:: @ 8229CF5 diff --git a/data/maps/EverGrandeCity_PokemonLeague_2F/scripts.inc b/data/maps/EverGrandeCity_PokemonLeague_2F/scripts.inc index 2d2d916a3b..2a2652938d 100644 --- a/data/maps/EverGrandeCity_PokemonLeague_2F/scripts.inc +++ b/data/maps/EverGrandeCity_PokemonLeague_2F/scripts.inc @@ -2,7 +2,7 @@ EverGrandeCity_PokemonLeague_2F_MapScripts:: @ 8229D07 map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_PokemonLeague_2F_MapScript2_276C3B map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_PokemonLeague_2F_MapScript2_276B6C map_script MAP_SCRIPT_ON_LOAD, EverGrandeCity_PokemonLeague_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, EverGrandeCity_PokemonLeague_2F_MapScript1_276ACF + map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition .byte 0 EverGrandeCity_PokemonLeague_2F_EventScript_229D1C:: @ 8229D1C diff --git a/data/maps/EverGrandeCity_SidneysRoom/scripts.inc b/data/maps/EverGrandeCity_SidneysRoom/scripts.inc index 1713a6d3e6..380b3aaf76 100644 --- a/data/maps/EverGrandeCity_SidneysRoom/scripts.inc +++ b/data/maps/EverGrandeCity_SidneysRoom/scripts.inc @@ -1,17 +1,17 @@ EverGrandeCity_SidneysRoom_MapScripts:: @ 8227F01 map_script MAP_SCRIPT_ON_LOAD, EverGrandeCity_SidneysRoom_MapScript1_227F1D map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_SidneysRoom_MapScript2_227F3E - map_script MAP_SCRIPT_ON_TRANSITION, EverGrandeCity_SidneysRoom_MapScript1_227F16 + map_script MAP_SCRIPT_ON_TRANSITION, EverGrandeCity_SidneysRoom_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_SidneysRoom_MapScript2_227F4D .byte 0 -EverGrandeCity_SidneysRoom_MapScript1_227F16: @ 8227F16 +EverGrandeCity_SidneysRoom_OnTransition: @ 8227F16 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_DEFEATED_ELITE_4_SYDNEY, EverGrandeCity_SidneysRoom_EventScript_227F32 + call_if_set FLAG_DEFEATED_ELITE_4_SIDNEY, EverGrandeCity_SidneysRoom_EventScript_227F32 compare VAR_ELITE_4_STATE, 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_DEFEATED_ELITE_4_SYDNEY, EverGrandeCity_SidneysRoom_EventScript_227F8B + goto_if_set FLAG_DEFEATED_ELITE_4_SIDNEY, 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_DEFEATED_ELITE_4_SYDNEY + setflag FLAG_DEFEATED_ELITE_4_SIDNEY 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 50e19cfe54..15942007b7 100644 --- a/data/maps/FallarborTown/scripts.inc +++ b/data/maps/FallarborTown/scripts.inc @@ -1,8 +1,8 @@ FallarborTown_MapScripts:: @ 81EB1FA - map_script MAP_SCRIPT_ON_TRANSITION, FallarborTown_MapScript1_1EB200 + map_script MAP_SCRIPT_ON_TRANSITION, FallarborTown_OnTransition .byte 0 -FallarborTown_MapScript1_1EB200: @ 81EB200 +FallarborTown_OnTransition: @ 81EB200 setflag FLAG_VISITED_FALLARBOR_TOWN setvar VAR_LINK_CONTEST_ROOM_STATE, 0 clearflag FLAG_CONTEST_SKETCH_CREATED diff --git a/data/maps/FallarborTown_BattleTentBattleRoom/scripts.inc b/data/maps/FallarborTown_BattleTentBattleRoom/scripts.inc index b376f72e4d..7501f6e8d9 100644 --- a/data/maps/FallarborTown_BattleTentBattleRoom/scripts.inc +++ b/data/maps/FallarborTown_BattleTentBattleRoom/scripts.inc @@ -1,10 +1,10 @@ FallarborTown_BattleTentBattleRoom_MapScripts:: @ 8200899 - map_script MAP_SCRIPT_ON_TRANSITION, FallarborTown_BattleTentBattleRoom_MapScript1_2008A9 + map_script MAP_SCRIPT_ON_TRANSITION, FallarborTown_BattleTentBattleRoom_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, FallarborTown_BattleTentBattleRoom_MapScript2_2008DD map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, FallarborTown_BattleTentBattleRoom_MapScript2_200BB0 .byte 0 -FallarborTown_BattleTentBattleRoom_MapScript1_2008A9: @ 82008A9 +FallarborTown_BattleTentBattleRoom_OnTransition: @ 82008A9 call FallarborTown_BattleTentBattleRoom_EventScript_2008AF end diff --git a/data/maps/FallarborTown_PokemonCenter_1F/scripts.inc b/data/maps/FallarborTown_PokemonCenter_1F/scripts.inc index d34e139eb3..5dbd35b485 100644 --- a/data/maps/FallarborTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/FallarborTown_PokemonCenter_1F/scripts.inc @@ -1,9 +1,9 @@ FallarborTown_PokemonCenter_1F_MapScripts:: @ 8200BCD - map_script MAP_SCRIPT_ON_TRANSITION, FallarborTown_PokemonCenter_1F_MapScript1_200BD8 + map_script MAP_SCRIPT_ON_TRANSITION, FallarborTown_PokemonCenter_1F_OnTransition map_script MAP_SCRIPT_ON_RESUME, FallarborTown_PokemonCenter_1F_MapScript1_277C30 .byte 0 -FallarborTown_PokemonCenter_1F_MapScript1_200BD8: @ 8200BD8 +FallarborTown_PokemonCenter_1F_OnTransition: @ 8200BD8 setrespawn HEAL_LOCATION_FALLARBOR_TOWN call FallarborTown_PokemonCenter_1F_EventScript_2718DE end diff --git a/data/maps/FallarborTown_PokemonCenter_2F/scripts.inc b/data/maps/FallarborTown_PokemonCenter_2F/scripts.inc index 8fce8e7297..0d53326474 100644 --- a/data/maps/FallarborTown_PokemonCenter_2F/scripts.inc +++ b/data/maps/FallarborTown_PokemonCenter_2F/scripts.inc @@ -2,7 +2,7 @@ FallarborTown_PokemonCenter_2F_MapScripts:: @ 8200EEB map_script MAP_SCRIPT_ON_FRAME_TABLE, FallarborTown_PokemonCenter_2F_MapScript2_276C3B map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, FallarborTown_PokemonCenter_2F_MapScript2_276B6C map_script MAP_SCRIPT_ON_LOAD, FallarborTown_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, FallarborTown_PokemonCenter_2F_MapScript1_276ACF + map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition .byte 0 FallarborTown_PokemonCenter_2F_EventScript_200F00:: @ 8200F00 diff --git a/data/maps/FarawayIsland_Entrance/scripts.inc b/data/maps/FarawayIsland_Entrance/scripts.inc index 347c89aa0f..bd91918c3c 100644 --- a/data/maps/FarawayIsland_Entrance/scripts.inc +++ b/data/maps/FarawayIsland_Entrance/scripts.inc @@ -1,8 +1,8 @@ FarawayIsland_Entrance_MapScripts:: @ 8267C8E - map_script MAP_SCRIPT_ON_TRANSITION, FarawayIsland_Entrance_MapScript1_267C94 + map_script MAP_SCRIPT_ON_TRANSITION, FarawayIsland_Entrance_OnTransition .byte 0 -FarawayIsland_Entrance_MapScript1_267C94: @ 8267C94 +FarawayIsland_Entrance_OnTransition: @ 8267C94 setflag FLAG_ARRIVED_ON_FARAWAY_ISLAND end diff --git a/data/maps/FarawayIsland_Interior/scripts.inc b/data/maps/FarawayIsland_Interior/scripts.inc index fe180184b4..b6a278b033 100644 --- a/data/maps/FarawayIsland_Interior/scripts.inc +++ b/data/maps/FarawayIsland_Interior/scripts.inc @@ -1,6 +1,6 @@ FarawayIsland_Interior_MapScripts:: @ 8267CFA map_script MAP_SCRIPT_ON_RESUME, FarawayIsland_Interior_MapScript1_267D54 - map_script MAP_SCRIPT_ON_TRANSITION, FarawayIsland_Interior_MapScript1_267D72 + map_script MAP_SCRIPT_ON_TRANSITION, FarawayIsland_Interior_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, FarawayIsland_Interior_MapScript2_267D98 map_script MAP_SCRIPT_ON_RETURN_TO_FIELD, FarawayIsland_Interior_MapScript1_267D0F .byte 0 @@ -37,7 +37,7 @@ FarawayIsland_Interior_EventScript_267D5E:: @ 8267D5E removeobject VAR_LAST_TALKED return -FarawayIsland_Interior_MapScript1_267D72: @ 8267D72 +FarawayIsland_Interior_OnTransition: @ 8267D72 setvar VAR_FARAWAY_ISLAND_STEP_COUNTER, 0 setvar VAR_TEMP_1, 1 call_if_unset FLAG_CAUGHT_MEW, FarawayIsland_Interior_EventScript_267D86 diff --git a/data/maps/FieryPath/map.json b/data/maps/FieryPath/map.json index 9bb09fe5ac..70d1a2cfdb 100644 --- a/data/maps/FieryPath/map.json +++ b/data/maps/FieryPath/map.json @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FieryPath_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_11" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FieryPath_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_12" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FieryPath_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_13" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FieryPath_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_14" }, { @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FieryPath_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_15" }, { @@ -102,7 +102,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FieryPath_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_16" }, { diff --git a/data/maps/FortreeCity/scripts.inc b/data/maps/FortreeCity/scripts.inc index 1c464df9d3..30f617f78a 100644 --- a/data/maps/FortreeCity/scripts.inc +++ b/data/maps/FortreeCity/scripts.inc @@ -1,9 +1,9 @@ FortreeCity_MapScripts:: @ 81E25A4 - map_script MAP_SCRIPT_ON_TRANSITION, FortreeCity_MapScript1_1E25AF + map_script MAP_SCRIPT_ON_TRANSITION, FortreeCity_OnTransition map_script MAP_SCRIPT_ON_RESUME, FortreeCity_MapScript1_1E25B3 .byte 0 -FortreeCity_MapScript1_1E25AF: @ 81E25AF +FortreeCity_OnTransition: @ 81E25AF setflag FLAG_VISITED_FORTREE_CITY end diff --git a/data/maps/FortreeCity_DecorationShop/scripts.inc b/data/maps/FortreeCity_DecorationShop/scripts.inc index 5274daedaf..3b0021cf39 100644 --- a/data/maps/FortreeCity_DecorationShop/scripts.inc +++ b/data/maps/FortreeCity_DecorationShop/scripts.inc @@ -14,22 +14,22 @@ FortreeCity_DecorationShop_EventScript_218020:: @ 8218020 faceplayer message gUnknown_08272A21 waitmessage - pokemartdecoration FortreeCity_DecorationShop_PokemartDecor_218038 + pokemartdecoration FortreeCity_DecorationShop_PokemartDecor_Desks msgbox gUnknown_08272A3F, MSGBOX_DEFAULT release end .align 2 -FortreeCity_DecorationShop_PokemartDecor_218038: @ 8218038 - .2byte 1 - .2byte 2 - .2byte 3 - .2byte 4 - .2byte 5 - .2byte 7 - .2byte 8 - .2byte 9 - .2byte 0 +FortreeCity_DecorationShop_PokemartDecor_Desks: @ 8218038 + .2byte DECOR_SMALL_DESK + .2byte DECOR_POKEMON_DESK + .2byte DECOR_HEAVY_DESK + .2byte DECOR_RAGGED_DESK + .2byte DECOR_COMFORT_DESK + .2byte DECOR_BRICK_DESK + .2byte DECOR_CAMP_DESK + .2byte DECOR_HARD_DESK + .2byte DECOR_NONE release end @@ -38,22 +38,22 @@ FortreeCity_DecorationShop_EventScript_21804C:: @ 821804C faceplayer message gUnknown_08272A21 waitmessage - pokemartdecoration FortreeCity_DecorationShop_PokemartDecor_218064 + pokemartdecoration FortreeCity_DecorationShop_PokemartDecor_Chairs msgbox gUnknown_08272A3F, MSGBOX_DEFAULT release end .align 2 -FortreeCity_DecorationShop_PokemartDecor_218064: @ 8218064 - .2byte 10 - .2byte 11 - .2byte 12 - .2byte 15 - .2byte 14 - .2byte 16 - .2byte 17 - .2byte 18 - .2byte 0 +FortreeCity_DecorationShop_PokemartDecor_Chairs: @ 8218064 + .2byte DECOR_SMALL_CHAIR + .2byte DECOR_POKEMON_CHAIR + .2byte DECOR_HEAVY_CHAIR + .2byte DECOR_RAGGED_CHAIR + .2byte DECOR_COMFORT_CHAIR + .2byte DECOR_BRICK_CHAIR + .2byte DECOR_CAMP_CHAIR + .2byte DECOR_HARD_CHAIR + .2byte DECOR_NONE release end diff --git a/data/maps/FortreeCity_Gym/scripts.inc b/data/maps/FortreeCity_Gym/scripts.inc index 8192e20393..1b3cf29e9c 100644 --- a/data/maps/FortreeCity_Gym/scripts.inc +++ b/data/maps/FortreeCity_Gym/scripts.inc @@ -1,9 +1,9 @@ FortreeCity_Gym_MapScripts:: @ 82165AB - map_script MAP_SCRIPT_ON_TRANSITION, FortreeCity_Gym_MapScript1_2165B6 + map_script MAP_SCRIPT_ON_TRANSITION, FortreeCity_Gym_OnTransition map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, FortreeCity_Gym_MapScript2_2165BA .byte 0 -FortreeCity_Gym_MapScript1_2165B6: @ 82165B6 +FortreeCity_Gym_OnTransition: @ 82165B6 special RotatingGate_InitPuzzle end diff --git a/data/maps/FortreeCity_PokemonCenter_1F/scripts.inc b/data/maps/FortreeCity_PokemonCenter_1F/scripts.inc index 0709565909..0c62f97e2f 100644 --- a/data/maps/FortreeCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/FortreeCity_PokemonCenter_1F/scripts.inc @@ -1,9 +1,9 @@ FortreeCity_PokemonCenter_1F_MapScripts:: @ 82173D8 - map_script MAP_SCRIPT_ON_TRANSITION, FortreeCity_PokemonCenter_1F_MapScript1_2173E3 + map_script MAP_SCRIPT_ON_TRANSITION, FortreeCity_PokemonCenter_1F_OnTransition map_script MAP_SCRIPT_ON_RESUME, FortreeCity_PokemonCenter_1F_MapScript1_277C30 .byte 0 -FortreeCity_PokemonCenter_1F_MapScript1_2173E3: @ 82173E3 +FortreeCity_PokemonCenter_1F_OnTransition: @ 82173E3 setrespawn HEAL_LOCATION_FORTREE_CITY end diff --git a/data/maps/FortreeCity_PokemonCenter_2F/scripts.inc b/data/maps/FortreeCity_PokemonCenter_2F/scripts.inc index dbe2e31ecf..2ab9510f3c 100644 --- a/data/maps/FortreeCity_PokemonCenter_2F/scripts.inc +++ b/data/maps/FortreeCity_PokemonCenter_2F/scripts.inc @@ -2,7 +2,7 @@ FortreeCity_PokemonCenter_2F_MapScripts:: @ 821763E map_script MAP_SCRIPT_ON_FRAME_TABLE, FortreeCity_PokemonCenter_2F_MapScript2_276C3B map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, FortreeCity_PokemonCenter_2F_MapScript2_276B6C map_script MAP_SCRIPT_ON_LOAD, FortreeCity_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, FortreeCity_PokemonCenter_2F_MapScript1_276ACF + map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition .byte 0 FortreeCity_PokemonCenter_2F_EventScript_217653:: @ 8217653 diff --git a/data/maps/GraniteCave_B2F/map.json b/data/maps/GraniteCave_B2F/map.json index 73a13d6d23..72e4030465 100644 --- a/data/maps/GraniteCave_B2F/map.json +++ b/data/maps/GraniteCave_B2F/map.json @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "GraniteCave_B2F_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_11" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "GraniteCave_B2F_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_12" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "GraniteCave_B2F_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_13" }, { @@ -89,7 +89,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "GraniteCave_B2F_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_14" }, { @@ -102,7 +102,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "GraniteCave_B2F_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_15" }, { @@ -115,7 +115,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "GraniteCave_B2F_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_16" }, { @@ -128,7 +128,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "GraniteCave_B2F_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_17" } ], diff --git a/data/maps/JaggedPass/scripts.inc b/data/maps/JaggedPass/scripts.inc index c51a5ec261..34ff367ae9 100644 --- a/data/maps/JaggedPass/scripts.inc +++ b/data/maps/JaggedPass/scripts.inc @@ -1,6 +1,6 @@ JaggedPass_MapScripts:: @ 8230656 map_script MAP_SCRIPT_ON_RESUME, JaggedPass_MapScript1_230666 - map_script MAP_SCRIPT_ON_TRANSITION, JaggedPass_MapScript1_23068B + map_script MAP_SCRIPT_ON_TRANSITION, JaggedPass_OnTransition map_script MAP_SCRIPT_ON_LOAD, JaggedPass_MapScript1_23069C .byte 0 @@ -20,7 +20,7 @@ JaggedPass_EventScript_230685:: @ 8230685 setvar VAR_JAGGED_PASS_STATE, 1 return -JaggedPass_MapScript1_23068B: @ 823068B +JaggedPass_OnTransition: @ 823068B compare VAR_JAGGED_PASS_ASH_WEATHER, 1 call_if_eq JaggedPass_EventScript_230697 end diff --git a/data/maps/LavaridgeTown/scripts.inc b/data/maps/LavaridgeTown/scripts.inc index acbb3fcd26..9e20673b7d 100644 --- a/data/maps/LavaridgeTown/scripts.inc +++ b/data/maps/LavaridgeTown/scripts.inc @@ -1,9 +1,9 @@ LavaridgeTown_MapScripts:: @ 81EA4D3 - map_script MAP_SCRIPT_ON_TRANSITION, LavaridgeTown_MapScript1_1EA4DE + map_script MAP_SCRIPT_ON_TRANSITION, LavaridgeTown_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, LavaridgeTown_MapScript2_1EA547 .byte 0 -LavaridgeTown_MapScript1_1EA4DE: @ 81EA4DE +LavaridgeTown_OnTransition: @ 81EA4DE setflag FLAG_VISITED_LAVARIDGE_TOWN call_if_set FLAG_FLANNERY_GIVES_BADGE_INFO, LavaridgeTown_EventScript_1EA514 call_if_set FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, LavaridgeTown_EventScript_1EA53F diff --git a/data/maps/LavaridgeTown_Gym_1F/scripts.inc b/data/maps/LavaridgeTown_Gym_1F/scripts.inc index bccd1dfef9..bdc1da32fd 100644 --- a/data/maps/LavaridgeTown_Gym_1F/scripts.inc +++ b/data/maps/LavaridgeTown_Gym_1F/scripts.inc @@ -1,8 +1,8 @@ LavaridgeTown_Gym_1F_MapScripts:: @ 81FE6F4 - map_script MAP_SCRIPT_ON_TRANSITION, LavaridgeTown_Gym_1F_MapScript1_1FE6FA + map_script MAP_SCRIPT_ON_TRANSITION, LavaridgeTown_Gym_1F_OnTransition .byte 0 -LavaridgeTown_Gym_1F_MapScript1_1FE6FA: @ 81FE6FA +LavaridgeTown_Gym_1F_OnTransition: @ 81FE6FA call LavaridgeTown_Gym_1F_EventScript_1FE705 call LavaridgeTown_Gym_1F_EventScript_1FE757 end diff --git a/data/maps/LavaridgeTown_Gym_B1F/scripts.inc b/data/maps/LavaridgeTown_Gym_B1F/scripts.inc index d2e8d90b54..4f3bb062da 100644 --- a/data/maps/LavaridgeTown_Gym_B1F/scripts.inc +++ b/data/maps/LavaridgeTown_Gym_B1F/scripts.inc @@ -1,8 +1,8 @@ LavaridgeTown_Gym_B1F_MapScripts:: @ 81FF87E - map_script MAP_SCRIPT_ON_TRANSITION, LavaridgeTown_Gym_B1F_MapScript1_1FF884 + map_script MAP_SCRIPT_ON_TRANSITION, LavaridgeTown_Gym_B1F_OnTransition .byte 0 -LavaridgeTown_Gym_B1F_MapScript1_1FF884: @ 81FF884 +LavaridgeTown_Gym_B1F_OnTransition: @ 81FF884 call LavaridgeTown_Gym_B1F_EventScript_1FF88F call LavaridgeTown_Gym_B1F_EventScript_1FF8DC end diff --git a/data/maps/LavaridgeTown_PokemonCenter_1F/scripts.inc b/data/maps/LavaridgeTown_PokemonCenter_1F/scripts.inc index 2a0cb4a1ef..4905a5bcee 100644 --- a/data/maps/LavaridgeTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/LavaridgeTown_PokemonCenter_1F/scripts.inc @@ -1,9 +1,9 @@ LavaridgeTown_PokemonCenter_1F_MapScripts:: @ 81FFAFA - map_script MAP_SCRIPT_ON_TRANSITION, LavaridgeTown_PokemonCenter_1F_MapScript1_1FFB05 + map_script MAP_SCRIPT_ON_TRANSITION, LavaridgeTown_PokemonCenter_1F_OnTransition map_script MAP_SCRIPT_ON_RESUME, LavaridgeTown_PokemonCenter_1F_MapScript1_277C30 .byte 0 -LavaridgeTown_PokemonCenter_1F_MapScript1_1FFB05: @ 81FFB05 +LavaridgeTown_PokemonCenter_1F_OnTransition: @ 81FFB05 setrespawn HEAL_LOCATION_LAVARIDGE_TOWN call LavaridgeTown_PokemonCenter_1F_EventScript_2718DE end diff --git a/data/maps/LavaridgeTown_PokemonCenter_2F/scripts.inc b/data/maps/LavaridgeTown_PokemonCenter_2F/scripts.inc index b022df141e..c8e52468fc 100644 --- a/data/maps/LavaridgeTown_PokemonCenter_2F/scripts.inc +++ b/data/maps/LavaridgeTown_PokemonCenter_2F/scripts.inc @@ -2,7 +2,7 @@ LavaridgeTown_PokemonCenter_2F_MapScripts:: @ 81FFC97 map_script MAP_SCRIPT_ON_FRAME_TABLE, LavaridgeTown_PokemonCenter_2F_MapScript2_276C3B map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, LavaridgeTown_PokemonCenter_2F_MapScript2_276B6C map_script MAP_SCRIPT_ON_LOAD, LavaridgeTown_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, LavaridgeTown_PokemonCenter_2F_MapScript1_276ACF + map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition .byte 0 LavaridgeTown_PokemonCenter_2F_EventScript_1FFCAC:: @ 81FFCAC diff --git a/data/maps/LilycoveCity/scripts.inc b/data/maps/LilycoveCity/scripts.inc index 7f4c9e3fdb..68ffd5f99a 100644 --- a/data/maps/LilycoveCity/scripts.inc +++ b/data/maps/LilycoveCity/scripts.inc @@ -1,9 +1,9 @@ LilycoveCity_MapScripts:: @ 81E2B3C - map_script MAP_SCRIPT_ON_TRANSITION, LilycoveCity_MapScript1_1E2B47 + map_script MAP_SCRIPT_ON_TRANSITION, LilycoveCity_OnTransition map_script MAP_SCRIPT_ON_LOAD, LilycoveCity_MapScript1_1E2B61 .byte 0 -LilycoveCity_MapScript1_1E2B47: @ 81E2B47 +LilycoveCity_OnTransition: @ 81E2B47 setflag FLAG_VISITED_LILYCOVE_CITY setvar VAR_LINK_CONTEST_ROOM_STATE, 0 setflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_REPORTER @@ -391,10 +391,10 @@ LilycoveCity_EventScript_1E3006:: @ 81E3006 waitmovement 0 delay 50 setfieldeffectargument 0, 1 - dofieldeffect 30 + dofieldeffect FLDEFF_NPCFLY_OUT delay 15 removeobject VAR_LAST_TALKED - waitfieldeffect 30 + waitfieldeffect FLDEFF_NPCFLY_OUT savebgm MUS_DUMMY fadedefaultbgm setflag FLAG_MET_RIVAL_LILYCOVE diff --git a/data/maps/LilycoveCity_ContestLobby/scripts.inc b/data/maps/LilycoveCity_ContestLobby/scripts.inc index d5dac8bfd2..34afac0a5f 100644 --- a/data/maps/LilycoveCity_ContestLobby/scripts.inc +++ b/data/maps/LilycoveCity_ContestLobby/scripts.inc @@ -1,9 +1,9 @@ LilycoveCity_ContestLobby_MapScripts:: @ 821A211 - map_script MAP_SCRIPT_ON_TRANSITION, LilycoveCity_ContestLobby_MapScript1_21A21C + map_script MAP_SCRIPT_ON_TRANSITION, LilycoveCity_ContestLobby_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, LilycoveCity_ContestLobby_MapScript2_21A243 .byte 0 -LilycoveCity_ContestLobby_MapScript1_21A21C: @ 821A21C +LilycoveCity_ContestLobby_OnTransition: @ 821A21C call LilycoveCity_ContestLobby_EventScript_28CB2B call LilycoveCity_ContestLobby_EventScript_21A227 end diff --git a/data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc b/data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc index 4e292a1f9e..42ced50b94 100644 --- a/data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc +++ b/data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc @@ -1,8 +1,8 @@ LilycoveCity_DepartmentStoreRooftop_MapScripts:: @ 8220207 - map_script MAP_SCRIPT_ON_TRANSITION, LilycoveCity_DepartmentStoreRooftop_MapScript1_22020D + map_script MAP_SCRIPT_ON_TRANSITION, LilycoveCity_DepartmentStoreRooftop_OnTransition .byte 0 -LilycoveCity_DepartmentStoreRooftop_MapScript1_22020D: @ 822020D +LilycoveCity_DepartmentStoreRooftop_OnTransition: @ 822020D getpricereduction 3 compare VAR_RESULT, 1 call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220227 @@ -30,20 +30,20 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_22022F:: @ 822022F .align 2 LilycoveCity_DepartmentStoreRooftop_PokemartDecor_220248: @ 8220248 - .2byte 39 - .2byte 35 - .2byte 36 - .2byte 37 - .2byte 40 - .2byte 33 - .2byte 41 - .2byte 38 - .2byte 34 - .2byte 45 - .2byte 46 - .2byte 47 - .2byte 117 - .2byte 112 + .2byte DECOR_MUD_BALL + .2byte DECOR_FENCE_LENGTH + .2byte DECOR_FENCE_WIDTH + .2byte DECOR_TIRE + .2byte DECOR_BREAKABLE_DOOR + .2byte DECOR_SOLID_BOARD + .2byte DECOR_SAND_ORNAMENT + .2byte DECOR_STAND + .2byte DECOR_SLIDE + .2byte DECOR_TV + .2byte DECOR_ROUND_TV + .2byte DECOR_CUTE_TV + .2byte DECOR_WAILMER_DOLL + .2byte DECOR_RHYDON_DOLL .2byte 0 release end @@ -235,4 +235,3 @@ LilycoveCity_DepartmentStoreRooftop_Text_2205F1: @ 82205F1 LilycoveCity_DepartmentStoreRooftop_Text_220603: @ 8220603 .string "Decided against buying a drink.$" - diff --git a/data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc b/data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc index 7cab0f1fa0..8dd40f4b3d 100644 --- a/data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc +++ b/data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc @@ -18,26 +18,26 @@ LilycoveCity_DepartmentStore_5F_EventScript_21FFA6:: @ 821FFA6 faceplayer message gUnknown_08272A21 waitmessage - pokemartdecoration2 LilycoveCity_DepartmentStore_5F_Pokemart_21FFC0 + pokemartdecoration2 LilycoveCity_DepartmentStore_5F_Pokemart_Dolls msgbox gUnknown_08272A3F, MSGBOX_DEFAULT release end .align 2 -LilycoveCity_DepartmentStore_5F_Pokemart_21FFC0: @ 821FFC0 - .2byte ITEM_X_DEFEND - .2byte ITEM_X_SPEED - .2byte ITEM_X_ACCURACY - .2byte ITEM_SUPER_REPEL - .2byte 91 - .2byte 92 - .2byte ITEM_SUN_STONE - .2byte ITEM_MOON_STONE - .2byte ITEM_FIRE_STONE - .2byte ITEM_THUNDER_STONE - .2byte ITEM_WATER_STONE - .2byte ITEM_LEAF_STONE - .2byte ITEM_NONE +LilycoveCity_DepartmentStore_5F_Pokemart_Dolls: @ 821FFC0 + .2byte DECOR_PICHU_DOLL + .2byte DECOR_PIKACHU_DOLL + .2byte DECOR_MARILL_DOLL + .2byte DECOR_JIGGLYPUFF_DOLL + .2byte DECOR_DUSKULL_DOLL + .2byte DECOR_WYNAUT_DOLL + .2byte DECOR_BALTOY_DOLL + .2byte DECOR_KECLEON_DOLL + .2byte DECOR_AZURILL_DOLL + .2byte DECOR_SKITTY_DOLL + .2byte DECOR_SWABLU_DOLL + .2byte DECOR_GULPIN_DOLL + .2byte DECOR_NONE release end @@ -46,23 +46,23 @@ LilycoveCity_DepartmentStore_5F_EventScript_21FFDC:: @ 821FFDC faceplayer message gUnknown_08272A21 waitmessage - pokemartdecoration2 LilycoveCity_DepartmentStore_5F_Pokemart_21FFF4 + pokemartdecoration2 LilycoveCity_DepartmentStore_5F_Pokemart_Cushions msgbox gUnknown_08272A3F, MSGBOX_DEFAULT release end .align 2 -LilycoveCity_DepartmentStore_5F_Pokemart_21FFF4: @ 821FFF4 - .2byte 101 - .2byte 102 - .2byte ITEM_BIG_MUSHROOM - .2byte 105 - .2byte ITEM_PEARL - .2byte ITEM_BIG_PEARL - .2byte ITEM_STARDUST - .2byte ITEM_STAR_PIECE - .2byte ITEM_NUGGET - .2byte ITEM_NONE +LilycoveCity_DepartmentStore_5F_Pokemart_Cushions: @ 821FFF4 + .2byte DECOR_PIKA_CUSHION + .2byte DECOR_ROUND_CUSHION + .2byte DECOR_ZIGZAG_CUSHION + .2byte DECOR_SPIN_CUSHION + .2byte DECOR_DIAMOND_CUSHION + .2byte DECOR_BALL_CUSHION + .2byte DECOR_GRASS_CUSHION + .2byte DECOR_FIRE_CUSHION + .2byte DECOR_WATER_CUSHION + .2byte DECOR_NONE release end @@ -71,23 +71,23 @@ LilycoveCity_DepartmentStore_5F_EventScript_22000A:: @ 822000A faceplayer message gUnknown_08272A21 waitmessage - pokemartdecoration2 LilycoveCity_DepartmentStore_5F_Pokemart_220024 + pokemartdecoration2 LilycoveCity_DepartmentStore_5F_Pokemart_Posters msgbox gUnknown_08272A3F, MSGBOX_DEFAULT release end .align 2 -LilycoveCity_DepartmentStore_5F_Pokemart_220024: @ 8220024 - .2byte ITEM_CARBOS - .2byte ITEM_CALCIUM - .2byte ITEM_RARE_CANDY - .2byte ITEM_PP_UP - .2byte ITEM_ZINC - .2byte ITEM_PP_MAX - .2byte 72 - .2byte ITEM_GUARD_SPEC - .2byte ITEM_DIRE_HIT - .2byte ITEM_NONE +LilycoveCity_DepartmentStore_5F_Pokemart_Posters: @ 8220024 + .2byte DECOR_BALL_POSTER + .2byte DECOR_GREEN_POSTER + .2byte DECOR_RED_POSTER + .2byte DECOR_BLUE_POSTER + .2byte DECOR_CUTE_POSTER + .2byte DECOR_PIKA_POSTER + .2byte DECOR_LONG_POSTER + .2byte DECOR_SEA_POSTER + .2byte DECOR_SKY_POSTER + .2byte DECOR_NONE release end @@ -96,24 +96,24 @@ LilycoveCity_DepartmentStore_5F_EventScript_22003A:: @ 822003A faceplayer message gUnknown_08272A21 waitmessage - pokemartdecoration2 LilycoveCity_DepartmentStore_5F_Pokemart_220054 + pokemartdecoration2 LilycoveCity_DepartmentStore_5F_Pokemart_Mats msgbox gUnknown_08272A3F, MSGBOX_DEFAULT release end .align 2 -LilycoveCity_DepartmentStore_5F_Pokemart_220054: @ 8220054 - .2byte 59 - .2byte 60 - .2byte 61 - .2byte 62 - .2byte ITEM_HP_UP - .2byte ITEM_PROTEIN - .2byte ITEM_IRON - .2byte ITEM_RED_SHARD - .2byte ITEM_BLUE_SHARD - .2byte ITEM_YELLOW_SHARD - .2byte ITEM_NONE +LilycoveCity_DepartmentStore_5F_Pokemart_Mats: @ 8220054 + .2byte DECOR_SURF_MAT + .2byte DECOR_THUNDER_MAT + .2byte DECOR_FIRE_BLAST_MAT + .2byte DECOR_POWDER_SNOW_MAT + .2byte DECOR_ATTRACT_MAT + .2byte DECOR_FISSURE_MAT + .2byte DECOR_SPIKES_MAT + .2byte DECOR_GLITTER_MAT + .2byte DECOR_JUMP_MAT + .2byte DECOR_SPIN_MAT + .2byte DECOR_NONE release end @@ -167,4 +167,3 @@ LilycoveCity_DepartmentStore_5F_Text_22016B: @ 822016B LilycoveCity_DepartmentStore_5F_Text_2201C4: @ 82201C4 .string "I think they closed the rooftop\n" .string "because the weather is wild today.$" - diff --git a/data/maps/LilycoveCity_Harbor/scripts.inc b/data/maps/LilycoveCity_Harbor/scripts.inc index 67b05c692b..4b446c39be 100644 --- a/data/maps/LilycoveCity_Harbor/scripts.inc +++ b/data/maps/LilycoveCity_Harbor/scripts.inc @@ -1,8 +1,8 @@ LilycoveCity_Harbor_MapScripts:: @ 821E000 - map_script MAP_SCRIPT_ON_TRANSITION, LilycoveCity_Harbor_MapScript1_21E006 + map_script MAP_SCRIPT_ON_TRANSITION, LilycoveCity_Harbor_OnTransition .byte 0 -LilycoveCity_Harbor_MapScript1_21E006: @ 821E006 +LilycoveCity_Harbor_OnTransition: @ 821E006 setescapewarp MAP_LILYCOVE_CITY, 255, 12, 33 end diff --git a/data/maps/LilycoveCity_House3/scripts.inc b/data/maps/LilycoveCity_House3/scripts.inc index ad8989b4cc..7d949fd8b7 100644 --- a/data/maps/LilycoveCity_House3/scripts.inc +++ b/data/maps/LilycoveCity_House3/scripts.inc @@ -1,8 +1,8 @@ LilycoveCity_House3_MapScripts:: @ 821EE3C - map_script MAP_SCRIPT_ON_TRANSITION, LilycoveCity_House3_MapScript1_21EE42 + map_script MAP_SCRIPT_ON_TRANSITION, LilycoveCity_House3_OnTransition .byte 0 -LilycoveCity_House3_MapScript1_21EE42: @ 821EE42 +LilycoveCity_House3_OnTransition: @ 821EE42 random 4 copyvar VAR_TEMP_1, VAR_RESULT end diff --git a/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc b/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc index 0d8da38d5c..236eb3d234 100644 --- a/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc @@ -1,9 +1,9 @@ LilycoveCity_PokemonCenter_1F_MapScripts:: @ 821C5B2 - map_script MAP_SCRIPT_ON_TRANSITION, LilycoveCity_PokemonCenter_1F_MapScript1_21C5BD + map_script MAP_SCRIPT_ON_TRANSITION, LilycoveCity_PokemonCenter_1F_OnTransition map_script MAP_SCRIPT_ON_RESUME, LilycoveCity_PokemonCenter_1F_MapScript1_277C30 .byte 0 -LilycoveCity_PokemonCenter_1F_MapScript1_21C5BD: @ 821C5BD +LilycoveCity_PokemonCenter_1F_OnTransition: @ 821C5BD setrespawn HEAL_LOCATION_LILYCOVE_CITY goto LilycoveCity_PokemonCenter_1F_EventScript_21C5C6 end diff --git a/data/maps/LilycoveCity_PokemonCenter_2F/scripts.inc b/data/maps/LilycoveCity_PokemonCenter_2F/scripts.inc index 1e80354837..9bbf4f3497 100644 --- a/data/maps/LilycoveCity_PokemonCenter_2F/scripts.inc +++ b/data/maps/LilycoveCity_PokemonCenter_2F/scripts.inc @@ -2,7 +2,7 @@ LilycoveCity_PokemonCenter_2F_MapScripts:: @ 821C75D map_script MAP_SCRIPT_ON_FRAME_TABLE, LilycoveCity_PokemonCenter_2F_MapScript2_276C3B map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, LilycoveCity_PokemonCenter_2F_MapScript2_276B6C map_script MAP_SCRIPT_ON_LOAD, LilycoveCity_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, LilycoveCity_PokemonCenter_2F_MapScript1_276ACF + map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition .byte 0 LilycoveCity_PokemonCenter_2F_EventScript_21C772:: @ 821C772 diff --git a/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc b/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc index f83be42b9c..62fdd34276 100644 --- a/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc +++ b/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc @@ -1,6 +1,6 @@ LilycoveCity_PokemonTrainerFanClub_MapScripts:: @ 821C785 map_script MAP_SCRIPT_ON_FRAME_TABLE, LilycoveCity_PokemonTrainerFanClub_MapScript2_21C790 - map_script MAP_SCRIPT_ON_TRANSITION, LilycoveCity_PokemonTrainerFanClub_MapScript1_21C80D + map_script MAP_SCRIPT_ON_TRANSITION, LilycoveCity_PokemonTrainerFanClub_OnTransition .byte 0 LilycoveCity_PokemonTrainerFanClub_MapScript2_21C790: @ 821C790 @@ -60,7 +60,7 @@ LilycoveCity_PokemonTrainerFanClub_Movement_21C807: @ 821C807 walk_in_place_fastest_down step_end -LilycoveCity_PokemonTrainerFanClub_MapScript1_21C80D: @ 821C80D +LilycoveCity_PokemonTrainerFanClub_OnTransition: @ 821C80D call LilycoveCity_PokemonTrainerFanClub_EventScript_21C8DA compare VAR_LILYCOVE_FAN_CLUB_STATE, 1 goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9F8 diff --git a/data/maps/LinkContestRoom1/scripts.inc b/data/maps/LinkContestRoom1/scripts.inc index b81f358348..8b753471a1 100644 --- a/data/maps/LinkContestRoom1/scripts.inc +++ b/data/maps/LinkContestRoom1/scripts.inc @@ -1,7 +1,7 @@ LinkContestRoom1_MapScripts:: @ 823B781 map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, LinkContestRoom1_MapScript2_23B81F map_script MAP_SCRIPT_ON_FRAME_TABLE, LinkContestRoom1_MapScript2_23B815 - map_script MAP_SCRIPT_ON_TRANSITION, LinkContestRoom1_MapScript1_23B79F + map_script MAP_SCRIPT_ON_TRANSITION, LinkContestRoom1_OnTransition map_script MAP_SCRIPT_ON_RESUME, LinkContestRoom1_MapScript1_23B803 map_script MAP_SCRIPT_ON_RETURN_TO_FIELD, LinkContestRoom1_MapScript1_23B79B .byte 0 @@ -10,7 +10,7 @@ LinkContestRoom1_MapScript1_23B79B: @ 823B79B special sub_80F8B94 end -LinkContestRoom1_MapScript1_23B79F: @ 823B79F +LinkContestRoom1_OnTransition: @ 823B79F call LinkContestRoom1_EventScript_23B7AF setvar VAR_TEMP_0, 1 call LinkContestRoom1_EventScript_23B842 diff --git a/data/maps/MagmaHideout_1F/map.json b/data/maps/MagmaHideout_1F/map.json index 2bbcf77a0d..350c52b4f4 100644 --- a/data/maps/MagmaHideout_1F/map.json +++ b/data/maps/MagmaHideout_1F/map.json @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MagmaHideout_1F_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_11" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MagmaHideout_1F_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_12" }, { @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MagmaHideout_1F_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_13" } ], diff --git a/data/maps/MagmaHideout_1F/scripts.inc b/data/maps/MagmaHideout_1F/scripts.inc index 0e0360990f..2fe4ad581a 100644 --- a/data/maps/MagmaHideout_1F/scripts.inc +++ b/data/maps/MagmaHideout_1F/scripts.inc @@ -1,8 +1,8 @@ MagmaHideout_1F_MapScripts:: @ 8239880 - map_script MAP_SCRIPT_ON_TRANSITION, MagmaHideout_1F_MapScript1_239886 + map_script MAP_SCRIPT_ON_TRANSITION, MagmaHideout_1F_OnTransition .byte 0 -MagmaHideout_1F_MapScript1_239886: @ 8239886 +MagmaHideout_1F_OnTransition: @ 8239886 setvar VAR_JAGGED_PASS_ASH_WEATHER, 0 end diff --git a/data/maps/MagmaHideout_4F/scripts.inc b/data/maps/MagmaHideout_4F/scripts.inc index 77c339b116..e6464a7f94 100644 --- a/data/maps/MagmaHideout_4F/scripts.inc +++ b/data/maps/MagmaHideout_4F/scripts.inc @@ -12,8 +12,8 @@ MagmaHideout_4F_EventScript_23A560:: @ 823A560 setfieldeffectargument 0, 18 setfieldeffectargument 1, 42 setfieldeffectargument 2, 0 - dofieldeffect 54 - waitfieldeffect 54 + dofieldeffect FLDEFF_SPARKLE + waitfieldeffect FLDEFF_SPARKLE setvar VAR_RESULT, 1 playfanfare MUS_ME_TAMA playse SE_TAMA diff --git a/data/maps/MarineCave_End/scripts.inc b/data/maps/MarineCave_End/scripts.inc index 028075648f..be3a6a57bb 100644 --- a/data/maps/MarineCave_End/scripts.inc +++ b/data/maps/MarineCave_End/scripts.inc @@ -1,6 +1,6 @@ MarineCave_End_MapScripts:: @ 823AFDF map_script MAP_SCRIPT_ON_RESUME, MarineCave_End_MapScript1_23AFEA - map_script MAP_SCRIPT_ON_TRANSITION, MarineCave_End_MapScript1_23B008 + map_script MAP_SCRIPT_ON_TRANSITION, MarineCave_End_OnTransition .byte 0 MarineCave_End_MapScript1_23AFEA: @ 823AFEA @@ -14,7 +14,7 @@ MarineCave_End_EventScript_23AFF4:: @ 823AFF4 removeobject 1 return -MarineCave_End_MapScript1_23B008: @ 823B008 +MarineCave_End_OnTransition: @ 823B008 call_if_unset FLAG_DEFEATED_KYOGRE, MarineCave_End_EventScript_23B012 end diff --git a/data/maps/MauvilleCity/scripts.inc b/data/maps/MauvilleCity/scripts.inc index 61839d1082..445930e70f 100644 --- a/data/maps/MauvilleCity/scripts.inc +++ b/data/maps/MauvilleCity/scripts.inc @@ -1,8 +1,8 @@ MauvilleCity_MapScripts:: @ 81DF385 - map_script MAP_SCRIPT_ON_TRANSITION, MauvilleCity_MapScript1_1DF38B + map_script MAP_SCRIPT_ON_TRANSITION, MauvilleCity_OnTransition .byte 0 -MauvilleCity_MapScript1_1DF38B: @ 81DF38B +MauvilleCity_OnTransition: @ 81DF38B setflag FLAG_VISITED_MAUVILLE_CITY clearflag FLAG_FORCE_MIRAGE_TOWER_VISIBLE clearflag FLAG_HIDE_SLATEPORT_MUSEUM_POPULATION diff --git a/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc b/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc index a866e6aa4f..50250de8e6 100644 --- a/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc @@ -1,9 +1,9 @@ MauvilleCity_PokemonCenter_1F_MapScripts:: @ 8210E5B - map_script MAP_SCRIPT_ON_TRANSITION, MauvilleCity_PokemonCenter_1F_MapScript1_210E66 + map_script MAP_SCRIPT_ON_TRANSITION, MauvilleCity_PokemonCenter_1F_OnTransition map_script MAP_SCRIPT_ON_RESUME, MauvilleCity_PokemonCenter_1F_MapScript1_277C30 .byte 0 -MauvilleCity_PokemonCenter_1F_MapScript1_210E66: @ 8210E66 +MauvilleCity_PokemonCenter_1F_OnTransition: @ 8210E66 setrespawn HEAL_LOCATION_MAUVILLE_CITY call MauvilleCity_PokemonCenter_1F_EventScript_2718DE goto MauvilleCity_PokemonCenter_1F_EventScript_210E74 diff --git a/data/maps/MauvilleCity_PokemonCenter_2F/scripts.inc b/data/maps/MauvilleCity_PokemonCenter_2F/scripts.inc index a289886a33..c0200ea1f5 100644 --- a/data/maps/MauvilleCity_PokemonCenter_2F/scripts.inc +++ b/data/maps/MauvilleCity_PokemonCenter_2F/scripts.inc @@ -2,7 +2,7 @@ MauvilleCity_PokemonCenter_2F_MapScripts:: @ 8211008 map_script MAP_SCRIPT_ON_FRAME_TABLE, MauvilleCity_PokemonCenter_2F_MapScript2_276C3B map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, MauvilleCity_PokemonCenter_2F_MapScript2_276B6C map_script MAP_SCRIPT_ON_LOAD, MauvilleCity_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, MauvilleCity_PokemonCenter_2F_MapScript1_276ACF + map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition .byte 0 MauvilleCity_PokemonCenter_2F_EventScript_21101D:: @ 821101D diff --git a/data/maps/MirageTower_3F/map.json b/data/maps/MirageTower_3F/map.json index a653c6e525..c24e2a006d 100644 --- a/data/maps/MirageTower_3F/map.json +++ b/data/maps/MirageTower_3F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MirageTower_3F_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_11" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MirageTower_3F_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_12" } ], diff --git a/data/maps/MirageTower_4F/map.json b/data/maps/MirageTower_4F/map.json index d6b69a14c0..45e5fa62bd 100644 --- a/data/maps/MirageTower_4F/map.json +++ b/data/maps/MirageTower_4F/map.json @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MirageTower_4F_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_11" } ], diff --git a/data/maps/MossdeepCity/scripts.inc b/data/maps/MossdeepCity/scripts.inc index 493cded0a8..2da9f1f194 100644 --- a/data/maps/MossdeepCity/scripts.inc +++ b/data/maps/MossdeepCity/scripts.inc @@ -1,8 +1,8 @@ MossdeepCity_MapScripts:: @ 81E4A96 - map_script MAP_SCRIPT_ON_TRANSITION, MossdeepCity_MapScript1_1E4A9C + map_script MAP_SCRIPT_ON_TRANSITION, MossdeepCity_OnTransition .byte 0 -MossdeepCity_MapScript1_1E4A9C: @ 81E4A9C +MossdeepCity_OnTransition: @ 81E4A9C clearflag FLAG_MOSSDEEP_GYM_SWITCH_1 clearflag FLAG_MOSSDEEP_GYM_SWITCH_2 clearflag FLAG_MOSSDEEP_GYM_SWITCH_3 diff --git a/data/maps/MossdeepCity_House4/scripts.inc b/data/maps/MossdeepCity_House4/scripts.inc index 1763a9c467..4505b1f03f 100644 --- a/data/maps/MossdeepCity_House4/scripts.inc +++ b/data/maps/MossdeepCity_House4/scripts.inc @@ -17,7 +17,7 @@ MossdeepCity_House4_EventScript_222DED:: @ 8222DED MossdeepCity_House4_EventScript_222DF7:: @ 8222DF7 lock faceplayer - special sub_80E8BC8 + special CheckPlayerHasSecretBase compare VAR_RESULT, 0 goto_if_eq MossdeepCity_House4_EventScript_222E14 special GetSecretBaseNearbyMapName diff --git a/data/maps/MossdeepCity_PokemonCenter_1F/scripts.inc b/data/maps/MossdeepCity_PokemonCenter_1F/scripts.inc index 9dbead25e7..3806bfc5ab 100644 --- a/data/maps/MossdeepCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/MossdeepCity_PokemonCenter_1F/scripts.inc @@ -1,9 +1,9 @@ MossdeepCity_PokemonCenter_1F_MapScripts:: @ 822223F - map_script MAP_SCRIPT_ON_TRANSITION, MossdeepCity_PokemonCenter_1F_MapScript1_22224A + map_script MAP_SCRIPT_ON_TRANSITION, MossdeepCity_PokemonCenter_1F_OnTransition map_script MAP_SCRIPT_ON_RESUME, MossdeepCity_PokemonCenter_1F_MapScript1_277C30 .byte 0 -MossdeepCity_PokemonCenter_1F_MapScript1_22224A: @ 822224A +MossdeepCity_PokemonCenter_1F_OnTransition: @ 822224A setrespawn HEAL_LOCATION_MOSSDEEP_CITY end diff --git a/data/maps/MossdeepCity_PokemonCenter_2F/scripts.inc b/data/maps/MossdeepCity_PokemonCenter_2F/scripts.inc index 922c9a064e..1c9c89fefe 100644 --- a/data/maps/MossdeepCity_PokemonCenter_2F/scripts.inc +++ b/data/maps/MossdeepCity_PokemonCenter_2F/scripts.inc @@ -2,7 +2,7 @@ MossdeepCity_PokemonCenter_2F_MapScripts:: @ 8222334 map_script MAP_SCRIPT_ON_FRAME_TABLE, MossdeepCity_PokemonCenter_2F_MapScript2_276C3B map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, MossdeepCity_PokemonCenter_2F_MapScript2_276B6C map_script MAP_SCRIPT_ON_LOAD, MossdeepCity_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, MossdeepCity_PokemonCenter_2F_MapScript1_276ACF + map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition .byte 0 MossdeepCity_PokemonCenter_2F_EventScript_222349:: @ 8222349 diff --git a/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc b/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc index 13bf111baf..bb60fc2f62 100644 --- a/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc +++ b/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc @@ -1,9 +1,9 @@ MossdeepCity_SpaceCenter_1F_MapScripts:: @ 8222F41 map_script MAP_SCRIPT_ON_LOAD, MossdeepCity_SpaceCenter_1F_MapScript1_222FC2 - map_script MAP_SCRIPT_ON_TRANSITION, MossdeepCity_SpaceCenter_1F_MapScript1_222F4C + map_script MAP_SCRIPT_ON_TRANSITION, MossdeepCity_SpaceCenter_1F_OnTransition .byte 0 -MossdeepCity_SpaceCenter_1F_MapScript1_222F4C: @ 8222F4C +MossdeepCity_SpaceCenter_1F_OnTransition: @ 8222F4C compare VAR_MOSSDEEP_STATE, 2 goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_222F58 end diff --git a/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc b/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc index 41f8af97cb..b258740aca 100644 --- a/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc +++ b/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc @@ -1,9 +1,9 @@ MossdeepCity_SpaceCenter_2F_MapScripts:: @ 8223D58 - map_script MAP_SCRIPT_ON_TRANSITION, MossdeepCity_SpaceCenter_2F_MapScript1_223D63 + map_script MAP_SCRIPT_ON_TRANSITION, MossdeepCity_SpaceCenter_2F_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, MossdeepCity_SpaceCenter_2F_MapScript2_223DB5 .byte 0 -MossdeepCity_SpaceCenter_2F_MapScript1_223D63: @ 8223D63 +MossdeepCity_SpaceCenter_2F_OnTransition: @ 8223D63 compare VAR_MOSSDEEP_STATE, 2 call_if_eq MossdeepCity_SpaceCenter_2F_EventScript_223D7A compare VAR_MOSSDEEP_SPACE_CENTER_STATE_2, 2 diff --git a/data/maps/MossdeepCity_StevensHouse/scripts.inc b/data/maps/MossdeepCity_StevensHouse/scripts.inc index b3a704443e..55c32653a3 100644 --- a/data/maps/MossdeepCity_StevensHouse/scripts.inc +++ b/data/maps/MossdeepCity_StevensHouse/scripts.inc @@ -1,6 +1,6 @@ MossdeepCity_StevensHouse_MapScripts:: @ 8222784 map_script MAP_SCRIPT_ON_LOAD, MossdeepCity_StevensHouse_MapScript1_222794 - map_script MAP_SCRIPT_ON_TRANSITION, MossdeepCity_StevensHouse_MapScript1_2227A8 + map_script MAP_SCRIPT_ON_TRANSITION, MossdeepCity_StevensHouse_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, MossdeepCity_StevensHouse_MapScript2_2227C0 .byte 0 @@ -12,7 +12,7 @@ MossdeepCity_StevensHouse_EventScript_22279E:: @ 822279E setmetatile 6, 4, 753, 1 return -MossdeepCity_StevensHouse_MapScript1_2227A8: @ 82227A8 +MossdeepCity_StevensHouse_OnTransition: @ 82227A8 compare VAR_STEVENS_HOUSE_STATE, 2 call_if_eq MossdeepCity_StevensHouse_EventScript_2227B4 end diff --git a/data/maps/MtChimney/scripts.inc b/data/maps/MtChimney/scripts.inc index db1fd59efb..d770f095c7 100644 --- a/data/maps/MtChimney/scripts.inc +++ b/data/maps/MtChimney/scripts.inc @@ -1,9 +1,9 @@ MtChimney_MapScripts:: @ 822EDC1 map_script MAP_SCRIPT_ON_RESUME, MtChimney_MapScript1_22EDD2 - map_script MAP_SCRIPT_ON_TRANSITION, MtChimney_MapScript1_22EDCC + map_script MAP_SCRIPT_ON_TRANSITION, MtChimney_OnTransition .byte 0 -MtChimney_MapScript1_22EDCC: @ 822EDCC +MtChimney_OnTransition: @ 822EDCC setvar VAR_JAGGED_PASS_ASH_WEATHER, 1 end diff --git a/data/maps/MtChimney_CableCarStation/scripts.inc b/data/maps/MtChimney_CableCarStation/scripts.inc index 057001111d..444f62d9fa 100644 --- a/data/maps/MtChimney_CableCarStation/scripts.inc +++ b/data/maps/MtChimney_CableCarStation/scripts.inc @@ -1,9 +1,9 @@ MtChimney_CableCarStation_MapScripts:: @ 822ABFA - map_script MAP_SCRIPT_ON_TRANSITION, MtChimney_CableCarStation_MapScript1_22AC05 + map_script MAP_SCRIPT_ON_TRANSITION, MtChimney_CableCarStation_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, MtChimney_CableCarStation_MapScript2_22AC1D .byte 0 -MtChimney_CableCarStation_MapScript1_22AC05: @ 822AC05 +MtChimney_CableCarStation_OnTransition: @ 822AC05 compare VAR_CABLE_CAR_STATION_STATE, 1 call_if_eq MtChimney_CableCarStation_EventScript_22AC11 end diff --git a/data/maps/MtPyre_Exterior/scripts.inc b/data/maps/MtPyre_Exterior/scripts.inc index e24f8ea682..b66c503741 100644 --- a/data/maps/MtPyre_Exterior/scripts.inc +++ b/data/maps/MtPyre_Exterior/scripts.inc @@ -1,8 +1,8 @@ MtPyre_Exterior_MapScripts:: @ 8231FCC - map_script MAP_SCRIPT_ON_TRANSITION, MtPyre_Exterior_MapScript1_231FD2 + map_script MAP_SCRIPT_ON_TRANSITION, MtPyre_Exterior_OnTransition .byte 0 -MtPyre_Exterior_MapScript1_231FD2: @ 8231FD2 +MtPyre_Exterior_OnTransition: @ 8231FD2 call MtPyre_Exterior_EventScript_231FD8 end diff --git a/data/maps/MtPyre_Summit/scripts.inc b/data/maps/MtPyre_Summit/scripts.inc index a0da7e907d..eb61c4c2dd 100644 --- a/data/maps/MtPyre_Summit/scripts.inc +++ b/data/maps/MtPyre_Summit/scripts.inc @@ -1,8 +1,8 @@ MtPyre_Summit_MapScripts:: @ 8231FF7 - map_script MAP_SCRIPT_ON_TRANSITION, MtPyre_Summit_MapScript1_231FFD + map_script MAP_SCRIPT_ON_TRANSITION, MtPyre_Summit_OnTransition .byte 0 -MtPyre_Summit_MapScript1_231FFD: @ 8231FFD +MtPyre_Summit_OnTransition: @ 8231FFD compare VAR_MT_PYRE_STATE, 2 call_if_eq MtPyre_Summit_EventScript_232009 end diff --git a/data/maps/NavelRock_Bottom/scripts.inc b/data/maps/NavelRock_Bottom/scripts.inc index 8a617236c5..f3c244e3d7 100644 --- a/data/maps/NavelRock_Bottom/scripts.inc +++ b/data/maps/NavelRock_Bottom/scripts.inc @@ -1,9 +1,9 @@ NavelRock_Bottom_MapScripts:: @ 8269255 - map_script MAP_SCRIPT_ON_TRANSITION, NavelRock_Bottom_MapScript1_269260 + map_script MAP_SCRIPT_ON_TRANSITION, NavelRock_Bottom_OnTransition map_script MAP_SCRIPT_ON_RESUME, NavelRock_Bottom_MapScript1_269284 .byte 0 -NavelRock_Bottom_MapScript1_269260: @ 8269260 +NavelRock_Bottom_OnTransition: @ 8269260 call_if_set FLAG_CAUGHT_LUGIA, NavelRock_Bottom_EventScript_269273 call_if_unset FLAG_CAUGHT_LUGIA, NavelRock_Bottom_EventScript_269277 end diff --git a/data/maps/NavelRock_Exterior/scripts.inc b/data/maps/NavelRock_Exterior/scripts.inc index 33bbb63915..827408068c 100644 --- a/data/maps/NavelRock_Exterior/scripts.inc +++ b/data/maps/NavelRock_Exterior/scripts.inc @@ -1,8 +1,8 @@ NavelRock_Exterior_MapScripts:: @ 82690B2 - map_script MAP_SCRIPT_ON_TRANSITION, NavelRock_Exterior_MapScript1_2690B8 + map_script MAP_SCRIPT_ON_TRANSITION, NavelRock_Exterior_OnTransition .byte 0 -NavelRock_Exterior_MapScript1_2690B8: @ 82690B8 +NavelRock_Exterior_OnTransition: @ 82690B8 setflag FLAG_ARRIVED_AT_NAVEL_ROCK end diff --git a/data/maps/NavelRock_Top/scripts.inc b/data/maps/NavelRock_Top/scripts.inc index af011e0589..816e202064 100644 --- a/data/maps/NavelRock_Top/scripts.inc +++ b/data/maps/NavelRock_Top/scripts.inc @@ -1,9 +1,9 @@ NavelRock_Top_MapScripts:: @ 8269113 - map_script MAP_SCRIPT_ON_TRANSITION, NavelRock_Top_MapScript1_26911E + map_script MAP_SCRIPT_ON_TRANSITION, NavelRock_Top_OnTransition map_script MAP_SCRIPT_ON_RESUME, NavelRock_Top_MapScript1_269151 .byte 0 -NavelRock_Top_MapScript1_26911E: @ 826911E +NavelRock_Top_OnTransition: @ 826911E call_if_set FLAG_CAUGHT_HO_OH, NavelRock_Top_EventScript_269131 call_if_unset FLAG_CAUGHT_HO_OH, NavelRock_Top_EventScript_26913A end diff --git a/data/maps/NewMauville_Inside/scripts.inc b/data/maps/NewMauville_Inside/scripts.inc index 15d2cb02ae..0582e2a32d 100644 --- a/data/maps/NewMauville_Inside/scripts.inc +++ b/data/maps/NewMauville_Inside/scripts.inc @@ -1,6 +1,6 @@ NewMauville_Inside_MapScripts:: @ 82373D7 map_script MAP_SCRIPT_ON_RESUME, NewMauville_Inside_MapScript1_2373E7 - map_script MAP_SCRIPT_ON_TRANSITION, NewMauville_Inside_MapScript1_23741B + map_script MAP_SCRIPT_ON_TRANSITION, NewMauville_Inside_OnTransition map_script MAP_SCRIPT_ON_LOAD, NewMauville_Inside_MapScript1_23744D .byte 0 @@ -19,7 +19,7 @@ NewMauville_Inside_EventScript_237407:: @ 8237407 removeobject VAR_LAST_TALKED return -NewMauville_Inside_MapScript1_23741B: @ 823741B +NewMauville_Inside_OnTransition: @ 823741B setvar VAR_TEMP_1, 0 setvar VAR_TEMP_2, 0 call_if_unset FLAG_DEFEATED_VOLTORB_1_NEW_MAUVILLE, NewMauville_Inside_EventScript_237441 diff --git a/data/maps/OldaleTown/scripts.inc b/data/maps/OldaleTown/scripts.inc index c68ecbd082..3a8b8046b7 100644 --- a/data/maps/OldaleTown/scripts.inc +++ b/data/maps/OldaleTown/scripts.inc @@ -1,8 +1,8 @@ OldaleTown_MapScripts:: @ 81E8EA2 - map_script MAP_SCRIPT_ON_TRANSITION, OldaleTown_MapScript1_1E8EA8 + map_script MAP_SCRIPT_ON_TRANSITION, OldaleTown_OnTransition .byte 0 -OldaleTown_MapScript1_1E8EA8: @ 81E8EA8 +OldaleTown_OnTransition: @ 81E8EA8 call Common_EventScript_SetupRivalGender setflag FLAG_VISITED_OLDALE_TOWN call_if_unset FLAG_ADVENTURE_STARTED, OldaleTown_EventScript_1E8ED2 diff --git a/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc b/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc index 49452da71c..2396573dce 100644 --- a/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc @@ -1,9 +1,9 @@ OldaleTown_PokemonCenter_1F_MapScripts:: @ 81FC006 - map_script MAP_SCRIPT_ON_TRANSITION, OldaleTown_PokemonCenter_1F_MapScript1_1FC011 + map_script MAP_SCRIPT_ON_TRANSITION, OldaleTown_PokemonCenter_1F_OnTransition map_script MAP_SCRIPT_ON_RESUME, OldaleTown_PokemonCenter_1F_MapScript1_277C30 .byte 0 -OldaleTown_PokemonCenter_1F_MapScript1_1FC011: @ 81FC011 +OldaleTown_PokemonCenter_1F_OnTransition: @ 81FC011 setrespawn HEAL_LOCATION_OLDALE_TOWN call OldaleTown_PokemonCenter_1F_EventScript_2718DE end diff --git a/data/maps/OldaleTown_PokemonCenter_2F/scripts.inc b/data/maps/OldaleTown_PokemonCenter_2F/scripts.inc index b6795876b8..aead0bd65c 100644 --- a/data/maps/OldaleTown_PokemonCenter_2F/scripts.inc +++ b/data/maps/OldaleTown_PokemonCenter_2F/scripts.inc @@ -2,7 +2,7 @@ OldaleTown_PokemonCenter_2F_MapScripts:: @ 81FC218 map_script MAP_SCRIPT_ON_FRAME_TABLE, OldaleTown_PokemonCenter_2F_MapScript2_276C3B map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, OldaleTown_PokemonCenter_2F_MapScript2_276B6C map_script MAP_SCRIPT_ON_LOAD, OldaleTown_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, OldaleTown_PokemonCenter_2F_MapScript1_276ACF + map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition .byte 0 OldaleTown_PokemonCenter_2F_EventScript_1FC22D:: @ 81FC22D diff --git a/data/maps/PacifidlogTown/scripts.inc b/data/maps/PacifidlogTown/scripts.inc index 0ae0a53a81..1d1518c0a7 100644 --- a/data/maps/PacifidlogTown/scripts.inc +++ b/data/maps/PacifidlogTown/scripts.inc @@ -1,9 +1,9 @@ PacifidlogTown_MapScripts:: @ 81EBAB1 - map_script MAP_SCRIPT_ON_TRANSITION, PacifidlogTown_MapScript1_1EBABC + map_script MAP_SCRIPT_ON_TRANSITION, PacifidlogTown_OnTransition map_script MAP_SCRIPT_ON_RESUME, PacifidlogTown_MapScript1_1EBAC0 .byte 0 -PacifidlogTown_MapScript1_1EBABC: @ 81EBABC +PacifidlogTown_OnTransition: @ 81EBABC setflag FLAG_VISITED_PACIFIDLOG_TOWN end diff --git a/data/maps/PacifidlogTown_PokemonCenter_1F/scripts.inc b/data/maps/PacifidlogTown_PokemonCenter_1F/scripts.inc index 89fec7f6bf..f4fe115e5a 100644 --- a/data/maps/PacifidlogTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/PacifidlogTown_PokemonCenter_1F/scripts.inc @@ -1,9 +1,9 @@ PacifidlogTown_PokemonCenter_1F_MapScripts:: @ 82034A7 - map_script MAP_SCRIPT_ON_TRANSITION, PacifidlogTown_PokemonCenter_1F_MapScript1_2034B2 + map_script MAP_SCRIPT_ON_TRANSITION, PacifidlogTown_PokemonCenter_1F_OnTransition map_script MAP_SCRIPT_ON_RESUME, PacifidlogTown_PokemonCenter_1F_MapScript1_277C30 .byte 0 -PacifidlogTown_PokemonCenter_1F_MapScript1_2034B2: @ 82034B2 +PacifidlogTown_PokemonCenter_1F_OnTransition: @ 82034B2 setrespawn HEAL_LOCATION_PACIFIDLOG_TOWN end diff --git a/data/maps/PacifidlogTown_PokemonCenter_2F/scripts.inc b/data/maps/PacifidlogTown_PokemonCenter_2F/scripts.inc index cb28d577ee..fcb4f1ab48 100644 --- a/data/maps/PacifidlogTown_PokemonCenter_2F/scripts.inc +++ b/data/maps/PacifidlogTown_PokemonCenter_2F/scripts.inc @@ -2,7 +2,7 @@ PacifidlogTown_PokemonCenter_2F_MapScripts:: @ 8203635 map_script MAP_SCRIPT_ON_FRAME_TABLE, PacifidlogTown_PokemonCenter_2F_MapScript2_276C3B map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, PacifidlogTown_PokemonCenter_2F_MapScript2_276B6C map_script MAP_SCRIPT_ON_LOAD, PacifidlogTown_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, PacifidlogTown_PokemonCenter_2F_MapScript1_276ACF + map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition .byte 0 PacifidlogTown_PokemonCenter_2F_EventScript_20364A:: @ 820364A diff --git a/data/maps/PetalburgCity/scripts.inc b/data/maps/PetalburgCity/scripts.inc index c8b723383d..59e28734d8 100644 --- a/data/maps/PetalburgCity/scripts.inc +++ b/data/maps/PetalburgCity/scripts.inc @@ -1,9 +1,9 @@ PetalburgCity_MapScripts:: - map_script MAP_SCRIPT_ON_TRANSITION, PetalburgCity_MapScript1_1DC2D7 + map_script MAP_SCRIPT_ON_TRANSITION, PetalburgCity_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, PetalburgCity_MapScript2_1DC31C .byte 0 -PetalburgCity_MapScript1_1DC2D7: @ 81DC2D7 +PetalburgCity_OnTransition: @ 81DC2D7 setflag FLAG_VISITED_PETALBURG_CITY compare VAR_PETALBURG_STATE, 0 call_if_eq PetalburgCity_EventScript_1DC307 diff --git a/data/maps/PetalburgCity_Gym/scripts.inc b/data/maps/PetalburgCity_Gym/scripts.inc index a256a6547b..f5d1f3ff6a 100644 --- a/data/maps/PetalburgCity_Gym/scripts.inc +++ b/data/maps/PetalburgCity_Gym/scripts.inc @@ -1,11 +1,11 @@ PetalburgCity_Gym_MapScripts:: @ 8204889 - map_script MAP_SCRIPT_ON_LOAD, PetalburgCity_Gym_MapScript1_20489E + map_script MAP_SCRIPT_ON_LOAD, PetalburgCity_Gym_OnTransition map_script MAP_SCRIPT_ON_TRANSITION, PetalburgCity_Gym_MapScript1_20492D map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, PetalburgCity_Gym_MapScript2_20498B map_script MAP_SCRIPT_ON_FRAME_TABLE, PetalburgCity_Gym_MapScript2_20499A .byte 0 -PetalburgCity_Gym_MapScript1_20489E: @ 820489E +PetalburgCity_Gym_OnTransition: @ 820489E compare VAR_PETALBURG_GYM_STATE, 6 goto_if_eq PetalburgCity_Gym_EventScript_2048B5 compare VAR_PETALBURG_GYM_STATE, 7 diff --git a/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc b/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc index 382847bc7d..286b9f7d95 100644 --- a/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc @@ -1,9 +1,9 @@ PetalburgCity_PokemonCenter_1F_MapScripts:: @ 82079E8 - map_script MAP_SCRIPT_ON_TRANSITION, PetalburgCity_PokemonCenter_1F_MapScript1_2079F3 + map_script MAP_SCRIPT_ON_TRANSITION, PetalburgCity_PokemonCenter_1F_OnTransition map_script MAP_SCRIPT_ON_RESUME, PetalburgCity_PokemonCenter_1F_MapScript1_277C30 .byte 0 -PetalburgCity_PokemonCenter_1F_MapScript1_2079F3: @ 82079F3 +PetalburgCity_PokemonCenter_1F_OnTransition: @ 82079F3 setrespawn HEAL_LOCATION_PETALBURG_CITY call PetalburgCity_PokemonCenter_1F_EventScript_2718DE end diff --git a/data/maps/PetalburgCity_PokemonCenter_2F/scripts.inc b/data/maps/PetalburgCity_PokemonCenter_2F/scripts.inc index 7b5f5af558..d2370c6b1a 100644 --- a/data/maps/PetalburgCity_PokemonCenter_2F/scripts.inc +++ b/data/maps/PetalburgCity_PokemonCenter_2F/scripts.inc @@ -2,7 +2,7 @@ PetalburgCity_PokemonCenter_2F_MapScripts:: @ 8207D41 map_script MAP_SCRIPT_ON_FRAME_TABLE, PetalburgCity_PokemonCenter_2F_MapScript2_276C3B map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, PetalburgCity_PokemonCenter_2F_MapScript2_276B6C map_script MAP_SCRIPT_ON_LOAD, PetalburgCity_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, PetalburgCity_PokemonCenter_2F_MapScript1_276ACF + map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition .byte 0 PetalburgCity_PokemonCenter_2F_EventScript_207D56:: @ 8207D56 diff --git a/data/maps/PetalburgWoods/map.json b/data/maps/PetalburgWoods/map.json index 6d1bc22a57..7e7de784ac 100644 --- a/data/maps/PetalburgWoods/map.json +++ b/data/maps/PetalburgWoods/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgWoods_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_11" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgWoods_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_12" }, { diff --git a/data/maps/Route101/scripts.inc b/data/maps/Route101/scripts.inc index 47663e1ddf..73bfe570c8 100644 --- a/data/maps/Route101/scripts.inc +++ b/data/maps/Route101/scripts.inc @@ -1,9 +1,9 @@ Route101_MapScripts:: @ 81EBCBA - map_script MAP_SCRIPT_ON_TRANSITION, Route101_MapScript1_1EBCC5 + map_script MAP_SCRIPT_ON_TRANSITION, Route101_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, Route101_MapScript2_1EBCCB .byte 0 -Route101_MapScript1_1EBCC5: @ 81EBCC5 +Route101_OnTransition: @ 81EBCC5 call Route101_EventScript_2720AD end diff --git a/data/maps/Route103/map.json b/data/maps/Route103/map.json index 91004d1abc..bf207ec2fb 100644 --- a/data/maps/Route103/map.json +++ b/data/maps/Route103/map.json @@ -204,7 +204,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route103_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_12" }, { @@ -217,7 +217,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route103_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_13" }, { diff --git a/data/maps/Route103/scripts.inc b/data/maps/Route103/scripts.inc index f711416fda..710f26e7c4 100644 --- a/data/maps/Route103/scripts.inc +++ b/data/maps/Route103/scripts.inc @@ -1,9 +1,9 @@ Route103_MapScripts:: @ 81EC38E - map_script MAP_SCRIPT_ON_TRANSITION, Route103_MapScript1_1EC399 + map_script MAP_SCRIPT_ON_TRANSITION, Route103_OnTransition map_script MAP_SCRIPT_ON_LOAD, Route103_MapScript1_1EC3A4 .byte 0 -Route103_MapScript1_1EC399: @ 81EC399 +Route103_OnTransition: @ 81EC399 call Common_EventScript_SetupRivalGender call Route103_EventScript_2720AD end diff --git a/data/maps/Route104/map.json b/data/maps/Route104/map.json index 7bfe6e1642..d2c7cc1463 100644 --- a/data/maps/Route104/map.json +++ b/data/maps/Route104/map.json @@ -417,7 +417,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route104_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_11" }, { diff --git a/data/maps/Route104/scripts.inc b/data/maps/Route104/scripts.inc index 1daa9e52ca..33200b800d 100644 --- a/data/maps/Route104/scripts.inc +++ b/data/maps/Route104/scripts.inc @@ -1,6 +1,6 @@ Route104_MapScripts:: @ 81ECC32 map_script MAP_SCRIPT_ON_FRAME_TABLE, Route104_MapScript2_1ECC3D - map_script MAP_SCRIPT_ON_TRANSITION, Route104_MapScript1_1ECC4E + map_script MAP_SCRIPT_ON_TRANSITION, Route104_OnTransition .byte 0 Route104_MapScript2_1ECC3D: @ 81ECC3D @@ -12,7 +12,7 @@ Route104_EventScript_1ECC47:: @ 81ECC47 goto Route104_EventScript_1ED099 end -Route104_MapScript1_1ECC4E: @ 81ECC4E +Route104_OnTransition: @ 81ECC4E call Common_EventScript_SetupRivalGender call Route104_EventScript_1ECC78 call Route104_EventScript_1ECC5E diff --git a/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc b/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc index 2a8a8b88e0..b4d10cf0f1 100644 --- a/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc +++ b/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc @@ -48,20 +48,20 @@ Route104_PrettyPetalFlowerShop_EventScript_22A3DB:: @ 822A3DB Route104_PrettyPetalFlowerShop_EventScript_22A3E4:: @ 822A3E4 message gUnknown_08272A52 waitmessage - pokemartdecoration2 Route104_PrettyPetalFlowerShop_Pokemart_22A3FC + pokemartdecoration2 Route104_PrettyPetalFlowerShop_Pokemart_Plants msgbox gUnknown_08272A3F, MSGBOX_DEFAULT release end .align 2 -Route104_PrettyPetalFlowerShop_Pokemart_22A3FC: @ 822A3FC - .2byte ITEM_FULL_RESTORE - .2byte ITEM_MAX_POTION - .2byte ITEM_HYPER_POTION - .2byte ITEM_SUPER_POTION - .2byte ITEM_FULL_HEAL - .2byte ITEM_REVIVE - .2byte ITEM_NONE +Route104_PrettyPetalFlowerShop_Pokemart_Plants: @ 822A3FC + .2byte DECOR_RED_PLANT + .2byte DECOR_TROPICAL_PLANT + .2byte DECOR_PRETTY_FLOWERS + .2byte DECOR_COLORFUL_PLANT + .2byte DECOR_BIG_PLANT + .2byte DECOR_GORGEOUS_PLANT + .2byte DECOR_NONE release end @@ -101,4 +101,3 @@ Route104_PrettyPetalFlowerShop_EventScript_22A482:: @ 822A482 msgbox Route104_PrettyPetalFlowerShop_Text_2A7AF3, MSGBOX_DEFAULT release end - diff --git a/data/maps/Route105/scripts.inc b/data/maps/Route105/scripts.inc index 2b8ebe3052..041a647099 100644 --- a/data/maps/Route105/scripts.inc +++ b/data/maps/Route105/scripts.inc @@ -1,6 +1,6 @@ Route105_MapScripts:: @ 81EE1DB map_script MAP_SCRIPT_ON_LOAD, Route105_MapScript1_1EE1EB - map_script MAP_SCRIPT_ON_TRANSITION, Route105_MapScript1_1EE21E + map_script MAP_SCRIPT_ON_TRANSITION, Route105_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, Route105_MapScript2_1EE240 .byte 0 @@ -17,7 +17,7 @@ Route105_EventScript_1EE20B:: @ 81EE20B setmetatile 9, 20, 145, 1 return -Route105_MapScript1_1EE21E: @ 81EE21E +Route105_OnTransition: @ 81EE21E compare VAR_SHOULD_END_UNUSUAL_WEATHER, 1 call_if_eq Route105_EventScript_273D13 compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_105_NORTH diff --git a/data/maps/Route110/scripts.inc b/data/maps/Route110/scripts.inc index cddfbebcc2..bc47682074 100644 --- a/data/maps/Route110/scripts.inc +++ b/data/maps/Route110/scripts.inc @@ -1,6 +1,6 @@ Route110_MapScripts:: @ 81EF269 map_script MAP_SCRIPT_ON_RESUME, Route110_MapScript1_1EF279 - map_script MAP_SCRIPT_ON_TRANSITION, Route110_MapScript1_1EF27D + map_script MAP_SCRIPT_ON_TRANSITION, Route110_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, Route110_MapScript2_1EF297 .byte 0 @@ -8,7 +8,7 @@ Route110_MapScript1_1EF279: @ 81EF279 special UpdateCyclingRoadState end -Route110_MapScript1_1EF27D: @ 81EF27D +Route110_OnTransition: @ 81EF27D call Common_EventScript_SetupRivalGender call Common_EventScript_SetupRivalOnBikeGender compare VAR_CYCLING_CHALLENGE_STATE, 1 diff --git a/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc b/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc index 1d353dcdd1..1d0ca55bba 100644 --- a/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc +++ b/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc @@ -1,8 +1,8 @@ Route110_SeasideCyclingRoadSouthEntrance_MapScripts:: @ 826EBA1 - map_script MAP_SCRIPT_ON_TRANSITION, Route110_SeasideCyclingRoadSouthEntrance_MapScript1_26EBA7 + map_script MAP_SCRIPT_ON_TRANSITION, Route110_SeasideCyclingRoadSouthEntrance_OnTransition .byte 0 -Route110_SeasideCyclingRoadSouthEntrance_MapScript1_26EBA7: @ 826EBA7 +Route110_SeasideCyclingRoadSouthEntrance_OnTransition: @ 826EBA7 compare VAR_CYCLING_CHALLENGE_STATE, 3 call_if_eq Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBBE compare VAR_CYCLING_CHALLENGE_STATE, 2 diff --git a/data/maps/Route110_TrickHouseCorridor/scripts.inc b/data/maps/Route110_TrickHouseCorridor/scripts.inc index 996f9d605d..80a6ac3dd4 100644 --- a/data/maps/Route110_TrickHouseCorridor/scripts.inc +++ b/data/maps/Route110_TrickHouseCorridor/scripts.inc @@ -1,8 +1,8 @@ Route110_TrickHouseCorridor_MapScripts:: @ 826B903 - map_script MAP_SCRIPT_ON_TRANSITION, Route110_TrickHouseCorridor_MapScript1_26B909 + map_script MAP_SCRIPT_ON_TRANSITION, Route110_TrickHouseCorridor_OnTransition .byte 0 -Route110_TrickHouseCorridor_MapScript1_26B909: @ 826B909 +Route110_TrickHouseCorridor_OnTransition: @ 826B909 setvar VAR_TRICK_HOUSE_STATE, 1 end diff --git a/data/maps/Route110_TrickHouseEnd/scripts.inc b/data/maps/Route110_TrickHouseEnd/scripts.inc index 3ce8cfd5ed..1c1aa76b4e 100644 --- a/data/maps/Route110_TrickHouseEnd/scripts.inc +++ b/data/maps/Route110_TrickHouseEnd/scripts.inc @@ -1,6 +1,6 @@ Route110_TrickHouseEnd_MapScripts:: @ 826ACAF map_script MAP_SCRIPT_ON_RESUME, Route110_TrickHouseEnd_MapScript1_26ACC4 - map_script MAP_SCRIPT_ON_TRANSITION, Route110_TrickHouseEnd_MapScript1_26ACD0 + map_script MAP_SCRIPT_ON_TRANSITION, Route110_TrickHouseEnd_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, Route110_TrickHouseEnd_MapScript2_26ACF5 map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, Route110_TrickHouseEnd_MapScript2_26ACDE .byte 0 @@ -10,7 +10,7 @@ Route110_TrickHouseEnd_MapScript1_26ACC4: @ 826ACC4 call_if_eq Route110_TrickHouseEnd_EventScript_26AD0D end -Route110_TrickHouseEnd_MapScript1_26ACD0: @ 826ACD0 +Route110_TrickHouseEnd_OnTransition: @ 826ACD0 setvar VAR_TEMP_1, 0 setvar VAR_TEMP_2, 0 special SetTrickHouseEndRoomFlag diff --git a/data/maps/Route110_TrickHouseEntrance/scripts.inc b/data/maps/Route110_TrickHouseEntrance/scripts.inc index 46610937e7..aae615a62d 100644 --- a/data/maps/Route110_TrickHouseEntrance/scripts.inc +++ b/data/maps/Route110_TrickHouseEntrance/scripts.inc @@ -759,8 +759,8 @@ Route110_TrickHouseEntrance_EventScript_26A459:: @ 826A459 setfieldeffectargument 0, VAR_0x8004 setfieldeffectargument 1, VAR_0x8005 setfieldeffectargument 2, VAR_0x8006 - dofieldeffect 54 - waitfieldeffect 54 + dofieldeffect FLDEFF_SPARKLE + waitfieldeffect FLDEFF_SPARKLE delay 10 return diff --git a/data/maps/Route110_TrickHousePuzzle1/map.json b/data/maps/Route110_TrickHousePuzzle1/map.json index c6609d103e..18dc100272 100644 --- a/data/maps/Route110_TrickHousePuzzle1/map.json +++ b/data/maps/Route110_TrickHousePuzzle1/map.json @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle1_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_13" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle1_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_12" }, { @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle1_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_14" }, { @@ -102,7 +102,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle1_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_17" }, { @@ -115,7 +115,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle1_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_16" }, { @@ -128,7 +128,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle1_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_15" }, { @@ -141,7 +141,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle1_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_19" }, { @@ -154,7 +154,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle1_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_18" }, { @@ -167,7 +167,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle1_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_1B" }, { @@ -193,7 +193,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle1_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_1C" }, { @@ -206,7 +206,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle1_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_1E" } ], diff --git a/data/maps/Route110_TrickHousePuzzle2/scripts.inc b/data/maps/Route110_TrickHousePuzzle2/scripts.inc index 2c8ef8cb0f..057f6ea322 100644 --- a/data/maps/Route110_TrickHousePuzzle2/scripts.inc +++ b/data/maps/Route110_TrickHousePuzzle2/scripts.inc @@ -1,6 +1,6 @@ Route110_TrickHousePuzzle2_MapScripts:: @ 826BB73 map_script MAP_SCRIPT_ON_RESUME, Route110_TrickHousePuzzle2_MapScript1_26BB7E - map_script MAP_SCRIPT_ON_TRANSITION, Route110_TrickHousePuzzle2_MapScript1_26BBAB + map_script MAP_SCRIPT_ON_TRANSITION, Route110_TrickHousePuzzle2_OnTransition .byte 0 Route110_TrickHousePuzzle2_MapScript1_26BB7E: @ 826BB7E @@ -14,7 +14,7 @@ Route110_TrickHousePuzzle2_MapScript1_26BB7E: @ 826BB7E call_if_eq Route110_TrickHousePuzzle2_EventScript_26BC62 end -Route110_TrickHousePuzzle2_MapScript1_26BBAB: @ 826BBAB +Route110_TrickHousePuzzle2_OnTransition: @ 826BBAB setvar VAR_TEMP_1, 0 setvar VAR_TEMP_2, 0 setvar VAR_TEMP_3, 0 diff --git a/data/maps/Route110_TrickHousePuzzle3/map.json b/data/maps/Route110_TrickHousePuzzle3/map.json index e695807936..a37498fd29 100644 --- a/data/maps/Route110_TrickHousePuzzle3/map.json +++ b/data/maps/Route110_TrickHousePuzzle3/map.json @@ -89,7 +89,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle3_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_15" }, { @@ -102,7 +102,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle3_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_16" } ], diff --git a/data/maps/Route110_TrickHousePuzzle3/scripts.inc b/data/maps/Route110_TrickHousePuzzle3/scripts.inc index d93ef95e86..48b81e0ccc 100644 --- a/data/maps/Route110_TrickHousePuzzle3/scripts.inc +++ b/data/maps/Route110_TrickHousePuzzle3/scripts.inc @@ -1,6 +1,6 @@ Route110_TrickHousePuzzle3_MapScripts:: @ 826BED8 map_script MAP_SCRIPT_ON_RESUME, Route110_TrickHousePuzzle3_MapScript1_26BEE3 - map_script MAP_SCRIPT_ON_TRANSITION, Route110_TrickHousePuzzle3_MapScript1_26BEFF + map_script MAP_SCRIPT_ON_TRANSITION, Route110_TrickHousePuzzle3_OnTransition .byte 0 Route110_TrickHousePuzzle3_MapScript1_26BEE3: @ 826BEE3 @@ -11,7 +11,7 @@ Route110_TrickHousePuzzle3_MapScript1_26BEE3: @ 826BEE3 call_if_eq Route110_TrickHousePuzzle3_EventScript_26C232 end -Route110_TrickHousePuzzle3_MapScript1_26BEFF: @ 826BEFF +Route110_TrickHousePuzzle3_OnTransition: @ 826BEFF setvar VAR_TEMP_1, 0 setvar VAR_TEMP_2, 0 setvar VAR_TEMP_3, 0 diff --git a/data/maps/Route110_TrickHousePuzzle4/map.json b/data/maps/Route110_TrickHousePuzzle4/map.json index 47238a559e..f77fa9b22d 100644 --- a/data/maps/Route110_TrickHousePuzzle4/map.json +++ b/data/maps/Route110_TrickHousePuzzle4/map.json @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle4_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_11" }, { @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle4_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_12" }, { @@ -102,7 +102,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle4_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_13" }, { @@ -115,7 +115,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle4_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_14" }, { @@ -128,7 +128,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle4_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_15" }, { @@ -141,7 +141,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle4_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_16" }, { @@ -154,7 +154,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle4_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_17" }, { @@ -167,7 +167,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle4_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_18" }, { @@ -180,7 +180,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle4_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_19" }, { @@ -193,7 +193,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle4_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_1A" } ], diff --git a/data/maps/Route110_TrickHousePuzzle5/scripts.inc b/data/maps/Route110_TrickHousePuzzle5/scripts.inc index 86b950e8a4..9ae8dc7599 100644 --- a/data/maps/Route110_TrickHousePuzzle5/scripts.inc +++ b/data/maps/Route110_TrickHousePuzzle5/scripts.inc @@ -1,8 +1,8 @@ Route110_TrickHousePuzzle5_MapScripts:: @ 826CAF0 - map_script MAP_SCRIPT_ON_TRANSITION, Route110_TrickHousePuzzle5_MapScript1_26CAF6 + map_script MAP_SCRIPT_ON_TRANSITION, Route110_TrickHousePuzzle5_OnTransition .byte 0 -Route110_TrickHousePuzzle5_MapScript1_26CAF6: @ 826CAF6 +Route110_TrickHousePuzzle5_OnTransition: @ 826CAF6 setvar VAR_TEMP_1, 0 setvar VAR_TEMP_2, 0 setvar VAR_TEMP_3, 0 diff --git a/data/maps/Route110_TrickHousePuzzle6/scripts.inc b/data/maps/Route110_TrickHousePuzzle6/scripts.inc index a5b433d133..685a0170b1 100644 --- a/data/maps/Route110_TrickHousePuzzle6/scripts.inc +++ b/data/maps/Route110_TrickHousePuzzle6/scripts.inc @@ -1,9 +1,9 @@ Route110_TrickHousePuzzle6_MapScripts:: @ 826DDA7 - map_script MAP_SCRIPT_ON_TRANSITION, Route110_TrickHousePuzzle6_MapScript1_26DDB2 + map_script MAP_SCRIPT_ON_TRANSITION, Route110_TrickHousePuzzle6_OnTransition map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, Route110_TrickHousePuzzle6_MapScript2_26DDB6 .byte 0 -Route110_TrickHousePuzzle6_MapScript1_26DDB2: @ 826DDB2 +Route110_TrickHousePuzzle6_OnTransition: @ 826DDB2 special RotatingGate_InitPuzzle end diff --git a/data/maps/Route110_TrickHousePuzzle7/scripts.inc b/data/maps/Route110_TrickHousePuzzle7/scripts.inc index b4bd782cf2..27177ed22b 100644 --- a/data/maps/Route110_TrickHousePuzzle7/scripts.inc +++ b/data/maps/Route110_TrickHousePuzzle7/scripts.inc @@ -1,6 +1,6 @@ Route110_TrickHousePuzzle7_MapScripts:: @ 826E091 map_script MAP_SCRIPT_ON_RESUME, Route110_TrickHousePuzzle7_MapScript1_26E0A6 - map_script MAP_SCRIPT_ON_TRANSITION, Route110_TrickHousePuzzle7_MapScript1_26E198 + map_script MAP_SCRIPT_ON_TRANSITION, Route110_TrickHousePuzzle7_OnTransition map_script MAP_SCRIPT_ON_LOAD, Route110_TrickHousePuzzle7_MapScript1_26E1B4 map_script MAP_SCRIPT_ON_FRAME_TABLE, Route110_TrickHousePuzzle7_MapScript2_26E1C0 .byte 0 @@ -67,7 +67,7 @@ Route110_TrickHousePuzzle7_EventScript_26E185:: @ 826E185 setmetatile 7, 5, 574, 1 return -Route110_TrickHousePuzzle7_MapScript1_26E198: @ 826E198 +Route110_TrickHousePuzzle7_OnTransition: @ 826E198 compare VAR_TRICK_HOUSE_PUZZLE_7_STATE_2, 1 goto_if_eq Route110_TrickHousePuzzle7_EventScript_26E1B3 clearflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1 diff --git a/data/maps/Route111/map.json b/data/maps/Route111/map.json index d3428f8c60..ef7e29999a 100644 --- a/data/maps/Route111/map.json +++ b/data/maps/Route111/map.json @@ -222,7 +222,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route111_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_11" }, { @@ -235,7 +235,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route111_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_12" }, { @@ -378,7 +378,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route111_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_13" }, { diff --git a/data/maps/Route111/scripts.inc b/data/maps/Route111/scripts.inc index 3755ee5e48..8371071da8 100644 --- a/data/maps/Route111/scripts.inc +++ b/data/maps/Route111/scripts.inc @@ -1,6 +1,6 @@ Route111_MapScripts:: @ 81F0CA7 map_script MAP_SCRIPT_ON_LOAD, Route111_MapScript1_1F0CBC - map_script MAP_SCRIPT_ON_TRANSITION, Route111_MapScript1_1F0D87 + map_script MAP_SCRIPT_ON_TRANSITION, Route111_OnTransition map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, Route111_MapScript2_1F0E46 map_script MAP_SCRIPT_ON_FRAME_TABLE, Route111_MapScript2_1F0E56 .byte 0 @@ -37,7 +37,7 @@ Route111_EventScript_1F0CE4:: @ 81F0CE4 setmetatile 20, 58, 997, 0 return -Route111_MapScript1_1F0D87: @ 81F0D87 +Route111_OnTransition: @ 81F0D87 setvar VAR_TRAINER_HILL_IS_ACTIVE, 0 special SetMirageTowerVisibility call_if_unset FLAG_MIRAGE_TOWER_VISIBLE, Route111_EventScript_1F0E3C diff --git a/data/maps/Route112/scripts.inc b/data/maps/Route112/scripts.inc index abc3ca4cda..58109bd408 100644 --- a/data/maps/Route112/scripts.inc +++ b/data/maps/Route112/scripts.inc @@ -1,8 +1,8 @@ Route112_MapScripts:: @ 81F1DA8 - map_script MAP_SCRIPT_ON_TRANSITION, Route112_MapScript1_1F1DAE + map_script MAP_SCRIPT_ON_TRANSITION, Route112_OnTransition .byte 0 -Route112_MapScript1_1F1DAE: @ 81F1DAE +Route112_OnTransition: @ 81F1DAE clearflag FLAG_FORCE_MIRAGE_TOWER_VISIBLE setvar VAR_JAGGED_PASS_ASH_WEATHER, 0 end diff --git a/data/maps/Route112_CableCarStation/scripts.inc b/data/maps/Route112_CableCarStation/scripts.inc index f3cdae8f9c..d9eec8efd5 100644 --- a/data/maps/Route112_CableCarStation/scripts.inc +++ b/data/maps/Route112_CableCarStation/scripts.inc @@ -1,9 +1,9 @@ Route112_CableCarStation_MapScripts:: @ 822AABE - map_script MAP_SCRIPT_ON_TRANSITION, Route112_CableCarStation_MapScript1_22AAC9 + map_script MAP_SCRIPT_ON_TRANSITION, Route112_CableCarStation_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, Route112_CableCarStation_MapScript2_22AAE9 .byte 0 -Route112_CableCarStation_MapScript1_22AAC9: @ 822AAC9 +Route112_CableCarStation_OnTransition: @ 822AAC9 setescapewarp MAP_ROUTE112, 255, 28, 28 compare VAR_CABLE_CAR_STATION_STATE, 2 call_if_eq Route112_CableCarStation_EventScript_22AADD diff --git a/data/maps/Route113/scripts.inc b/data/maps/Route113/scripts.inc index 6efd05d6ec..e8fb08ee4d 100644 --- a/data/maps/Route113/scripts.inc +++ b/data/maps/Route113/scripts.inc @@ -1,13 +1,13 @@ Route113_MapScripts:: @ 81F2153 map_script MAP_SCRIPT_ON_RESUME, Route113_MapScript1_1F215E - map_script MAP_SCRIPT_ON_TRANSITION, Route113_MapScript1_1F2161 + map_script MAP_SCRIPT_ON_TRANSITION, Route113_OnTransition .byte 0 Route113_MapScript1_1F215E: @ 81F215E setstepcallback 1 end -Route113_MapScript1_1F2161: @ 81F2161 +Route113_OnTransition: @ 81F2161 clearflag FLAG_FORCE_MIRAGE_TOWER_VISIBLE call Route113_EventScript_1F216A end diff --git a/data/maps/Route114/map.json b/data/maps/Route114/map.json index 08f2996d2c..1aee2d422c 100644 --- a/data/maps/Route114/map.json +++ b/data/maps/Route114/map.json @@ -165,7 +165,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route114_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_11" }, { @@ -256,7 +256,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route114_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_12" }, { @@ -269,7 +269,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route114_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_13" }, { @@ -282,7 +282,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route114_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_14" }, { @@ -295,7 +295,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route114_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_15" }, { diff --git a/data/maps/Route114/scripts.inc b/data/maps/Route114/scripts.inc index b03a2f2281..925f693fa6 100644 --- a/data/maps/Route114/scripts.inc +++ b/data/maps/Route114/scripts.inc @@ -1,10 +1,10 @@ Route114_MapScripts:: @ 81F252F - map_script MAP_SCRIPT_ON_TRANSITION, Route114_MapScript1_1F253F + map_script MAP_SCRIPT_ON_TRANSITION, Route114_OnTransition map_script MAP_SCRIPT_ON_LOAD, Route114_MapScript1_1F2561 map_script MAP_SCRIPT_ON_FRAME_TABLE, Route114_MapScript2_1F2578 .byte 0 -Route114_MapScript1_1F253F: @ 81F253F +Route114_OnTransition: @ 81F253F compare VAR_SHOULD_END_UNUSUAL_WEATHER, 1 call_if_eq Route114_EventScript_273D13 compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_114_NORTH diff --git a/data/maps/Route114_FossilManiacsTunnel/scripts.inc b/data/maps/Route114_FossilManiacsTunnel/scripts.inc index 8ab83a4418..8cfd754a38 100644 --- a/data/maps/Route114_FossilManiacsTunnel/scripts.inc +++ b/data/maps/Route114_FossilManiacsTunnel/scripts.inc @@ -1,9 +1,9 @@ Route114_FossilManiacsTunnel_MapScripts:: @ 822AF28 - map_script MAP_SCRIPT_ON_TRANSITION, Route114_FossilManiacsTunnel_MapScript1_22AF33 + map_script MAP_SCRIPT_ON_TRANSITION, Route114_FossilManiacsTunnel_OnTransition map_script MAP_SCRIPT_ON_LOAD, Route114_FossilManiacsTunnel_MapScript1_22AF49 .byte 0 -Route114_FossilManiacsTunnel_MapScript1_22AF33: @ 822AF33 +Route114_FossilManiacsTunnel_OnTransition: @ 822AF33 call_if_set FLAG_SYS_GAME_CLEAR, Route114_FossilManiacsTunnel_EventScript_22AF3D end diff --git a/data/maps/Route115/map.json b/data/maps/Route115/map.json index 484699ec63..53ce80ce75 100644 --- a/data/maps/Route115/map.json +++ b/data/maps/Route115/map.json @@ -217,7 +217,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route115_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_11" }, { diff --git a/data/maps/Route115/scripts.inc b/data/maps/Route115/scripts.inc index 259cd5904a..7c5b63bcd4 100644 --- a/data/maps/Route115/scripts.inc +++ b/data/maps/Route115/scripts.inc @@ -1,6 +1,6 @@ Route115_MapScripts:: @ 81F2920 map_script MAP_SCRIPT_ON_LOAD, Route115_MapScript1_1F2930 - map_script MAP_SCRIPT_ON_TRANSITION, Route115_MapScript1_1F2947 + map_script MAP_SCRIPT_ON_TRANSITION, Route115_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, Route115_MapScript2_1F2969 .byte 0 @@ -11,7 +11,7 @@ Route115_MapScript1_1F2930: @ 81F2930 call_if_eq UnusualWeather_EventScript_PlaceTilesRoute115East end -Route115_MapScript1_1F2947: @ 81F2947 +Route115_OnTransition: @ 81F2947 compare VAR_SHOULD_END_UNUSUAL_WEATHER, 1 call_if_eq Route115_EventScript_273D13 compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_115_WEST diff --git a/data/maps/Route116/map.json b/data/maps/Route116/map.json index 0745af08c2..8a369e4079 100644 --- a/data/maps/Route116/map.json +++ b/data/maps/Route116/map.json @@ -74,7 +74,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route116_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_11" }, { @@ -87,7 +87,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route116_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_12" }, { @@ -178,7 +178,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route116_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_13" }, { @@ -204,7 +204,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route116_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_14" }, { @@ -360,7 +360,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route116_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_15" }, { diff --git a/data/maps/Route116/scripts.inc b/data/maps/Route116/scripts.inc index 4542013079..161e9be51f 100644 --- a/data/maps/Route116/scripts.inc +++ b/data/maps/Route116/scripts.inc @@ -1,10 +1,10 @@ Route116_MapScripts:: @ 81F2C0C - map_script MAP_SCRIPT_ON_TRANSITION, Route116_MapScript1_1F2C1C + map_script MAP_SCRIPT_ON_TRANSITION, Route116_OnTransition map_script MAP_SCRIPT_ON_LOAD, Route116_MapScript1_1F2C4F map_script MAP_SCRIPT_ON_FRAME_TABLE, Route116_MapScript2_1F2C66 .byte 0 -Route116_MapScript1_1F2C1C: @ 81F2C1C +Route116_OnTransition: @ 81F2C1C call_if_set FLAG_RECOVERED_DEVON_GOODS, Route116_EventScript_1F2C47 compare VAR_SHOULD_END_UNUSUAL_WEATHER, 1 call_if_eq Route116_EventScript_273D13 diff --git a/data/maps/Route117/map.json b/data/maps/Route117/map.json index efaad28022..b29b586393 100644 --- a/data/maps/Route117/map.json +++ b/data/maps/Route117/map.json @@ -217,7 +217,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route117_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_11" }, { diff --git a/data/maps/Route117/scripts.inc b/data/maps/Route117/scripts.inc index 08571690fe..5435595ee4 100644 --- a/data/maps/Route117/scripts.inc +++ b/data/maps/Route117/scripts.inc @@ -1,8 +1,8 @@ Route117_MapScripts:: @ 81F397D - map_script MAP_SCRIPT_ON_TRANSITION, Route117_MapScript1_1F3983 + map_script MAP_SCRIPT_ON_TRANSITION, Route117_OnTransition .byte 0 -Route117_MapScript1_1F3983: @ 81F3983 +Route117_OnTransition: @ 81F3983 call Route117_EventScript_1F3989 end diff --git a/data/maps/Route118/map.json b/data/maps/Route118/map.json index 0a3fee2101..e7737bf1e0 100644 --- a/data/maps/Route118/map.json +++ b/data/maps/Route118/map.json @@ -183,7 +183,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route118_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_11" }, { diff --git a/data/maps/Route118/scripts.inc b/data/maps/Route118/scripts.inc index 9c1ec46cac..858f0d5981 100644 --- a/data/maps/Route118/scripts.inc +++ b/data/maps/Route118/scripts.inc @@ -1,10 +1,10 @@ Route118_MapScripts:: @ 81F3DBC - map_script MAP_SCRIPT_ON_TRANSITION, Route118_MapScript1_1F3DCC + map_script MAP_SCRIPT_ON_TRANSITION, Route118_OnTransition map_script MAP_SCRIPT_ON_LOAD, Route118_MapScript1_1F3DF3 map_script MAP_SCRIPT_ON_FRAME_TABLE, Route118_MapScript2_1F3E0A .byte 0 -Route118_MapScript1_1F3DCC: @ 81F3DCC +Route118_OnTransition: @ 81F3DCC call Route118_EventScript_28CCC7 compare VAR_SHOULD_END_UNUSUAL_WEATHER, 1 call_if_eq Route118_EventScript_273D13 diff --git a/data/maps/Route119/scripts.inc b/data/maps/Route119/scripts.inc index 22a73b74b1..1902333edb 100644 --- a/data/maps/Route119/scripts.inc +++ b/data/maps/Route119/scripts.inc @@ -1,6 +1,6 @@ Route119_MapScripts:: @ 81F4424 map_script MAP_SCRIPT_ON_RESUME, Route119_MapScript1_1F442F - map_script MAP_SCRIPT_ON_TRANSITION, Route119_MapScript1_1F444D + map_script MAP_SCRIPT_ON_TRANSITION, Route119_OnTransition .byte 0 Route119_MapScript1_1F442F: @ 81F442F @@ -14,7 +14,7 @@ Route119_EventScript_1F4439:: @ 81F4439 removeobject VAR_LAST_TALKED return -Route119_MapScript1_1F444D: @ 81F444D +Route119_OnTransition: @ 81F444D call Common_EventScript_SetupRivalGender call Common_EventScript_SetupRivalOnBikeGender compare VAR_WEATHER_INSTITUTE_STATE, 1 diff --git a/data/maps/Route119_WeatherInstitute_1F/scripts.inc b/data/maps/Route119_WeatherInstitute_1F/scripts.inc index 09ed3c4f5c..b4b309d80d 100644 --- a/data/maps/Route119_WeatherInstitute_1F/scripts.inc +++ b/data/maps/Route119_WeatherInstitute_1F/scripts.inc @@ -1,8 +1,8 @@ Route119_WeatherInstitute_1F_MapScripts:: @ 826FA86 - map_script MAP_SCRIPT_ON_TRANSITION, Route119_WeatherInstitute_1F_MapScript1_26FA8C + map_script MAP_SCRIPT_ON_TRANSITION, Route119_WeatherInstitute_1F_OnTransition .byte 0 -Route119_WeatherInstitute_1F_MapScript1_26FA8C: @ 826FA8C +Route119_WeatherInstitute_1F_OnTransition: @ 826FA8C compare VAR_WEATHER_INSTITUTE_STATE, 0 call_if_eq Route119_WeatherInstitute_1F_EventScript_26FA98 end diff --git a/data/maps/Route119_WeatherInstitute_2F/scripts.inc b/data/maps/Route119_WeatherInstitute_2F/scripts.inc index e41960fde2..1a9ccfa7ee 100644 --- a/data/maps/Route119_WeatherInstitute_2F/scripts.inc +++ b/data/maps/Route119_WeatherInstitute_2F/scripts.inc @@ -1,8 +1,8 @@ Route119_WeatherInstitute_2F_MapScripts:: @ 826FF1E - map_script MAP_SCRIPT_ON_TRANSITION, Route119_WeatherInstitute_2F_MapScript1_26FF24 + map_script MAP_SCRIPT_ON_TRANSITION, Route119_WeatherInstitute_2F_OnTransition .byte 0 -Route119_WeatherInstitute_2F_MapScript1_26FF24: @ 826FF24 +Route119_WeatherInstitute_2F_OnTransition: @ 826FF24 compare VAR_WEATHER_INSTITUTE_STATE, 0 call_if_eq Route119_WeatherInstitute_2F_EventScript_26FF44 compare VAR_WEATHER_INSTITUTE_STATE, 1 diff --git a/data/maps/Route120/map.json b/data/maps/Route120/map.json index 1bdbd0bca3..fccf5c88ed 100644 --- a/data/maps/Route120/map.json +++ b/data/maps/Route120/map.json @@ -295,7 +295,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route120_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_11" }, { @@ -438,7 +438,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route120_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_14" }, { @@ -451,7 +451,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route120_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_12" }, { diff --git a/data/maps/Route120/scripts.inc b/data/maps/Route120/scripts.inc index 40c9ee09ad..1268b99651 100644 --- a/data/maps/Route120/scripts.inc +++ b/data/maps/Route120/scripts.inc @@ -1,6 +1,6 @@ Route120_MapScripts:: @ 81F53EC map_script MAP_SCRIPT_ON_RESUME, Route120_MapScript1_1F53FC - map_script MAP_SCRIPT_ON_TRANSITION, Route120_MapScript1_1F54CD + map_script MAP_SCRIPT_ON_TRANSITION, Route120_OnTransition map_script MAP_SCRIPT_ON_LOAD, Route120_MapScript1_1F5474 .byte 0 @@ -60,7 +60,7 @@ Route120_EventScript_1F54C8:: @ 81F54C8 setobjectmovementtype 36, MOVEMENT_TYPE_FACE_RIGHT return -Route120_MapScript1_1F54CD: @ 81F54CD +Route120_OnTransition: @ 81F54CD call Route120_EventScript_28CCC7 call Route120_EventScript_1F54D8 end @@ -245,10 +245,10 @@ Route120_EventScript_1F572C:: @ 81F572C waitmovement 0 delay 50 setfieldeffectargument 0, 1 - dofieldeffect 30 + dofieldeffect FLDEFF_NPCFLY_OUT delay 15 removeobject 31 - waitfieldeffect 30 + waitfieldeffect FLDEFF_NPCFLY_OUT setmetatile 13, 15, 663, 0 setmetatile 12, 16, 671, 0 setmetatile 12, 17, 161, 0 diff --git a/data/maps/Route121/map.json b/data/maps/Route121/map.json index f1152b4653..9382ab3751 100644 --- a/data/maps/Route121/map.json +++ b/data/maps/Route121/map.json @@ -222,7 +222,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route121_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_11" }, { @@ -235,7 +235,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route121_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_12" }, { @@ -313,7 +313,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route121_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_13" }, { diff --git a/data/maps/Route123/map.json b/data/maps/Route123/map.json index 1e562420d2..c13d17a0ce 100644 --- a/data/maps/Route123/map.json +++ b/data/maps/Route123/map.json @@ -256,7 +256,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route123_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_11" }, { @@ -269,7 +269,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route123_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_12" }, { @@ -282,7 +282,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route123_EventScript_2906BB", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_13" }, { diff --git a/data/maps/Route123/scripts.inc b/data/maps/Route123/scripts.inc index 8e1692114b..ce74cbadcb 100644 --- a/data/maps/Route123/scripts.inc +++ b/data/maps/Route123/scripts.inc @@ -1,8 +1,8 @@ Route123_MapScripts:: @ 81F6147 - map_script MAP_SCRIPT_ON_TRANSITION, Route123_MapScript1_1F614D + map_script MAP_SCRIPT_ON_TRANSITION, Route123_OnTransition .byte 0 -Route123_MapScript1_1F614D: @ 81F614D +Route123_OnTransition: @ 81F614D special SetRoute123Weather end diff --git a/data/maps/Route124/scripts.inc b/data/maps/Route124/scripts.inc index 34e3157928..9a11cec2c6 100644 --- a/data/maps/Route124/scripts.inc +++ b/data/maps/Route124/scripts.inc @@ -1,8 +1,8 @@ Route124_MapScripts:: @ 81F656C - map_script MAP_SCRIPT_ON_TRANSITION, Route124_MapScript1_1F6572 + map_script MAP_SCRIPT_ON_TRANSITION, Route124_OnTransition .byte 0 -Route124_MapScript1_1F6572: @ 81F6572 +Route124_OnTransition: @ 81F6572 call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetWeather15 end diff --git a/data/maps/Route125/scripts.inc b/data/maps/Route125/scripts.inc index 8abcbe7875..2c15eee3df 100644 --- a/data/maps/Route125/scripts.inc +++ b/data/maps/Route125/scripts.inc @@ -1,10 +1,10 @@ Route125_MapScripts:: @ 81F6748 - map_script MAP_SCRIPT_ON_TRANSITION, Route125_MapScript1_1F6758 + map_script MAP_SCRIPT_ON_TRANSITION, Route125_OnTransition map_script MAP_SCRIPT_ON_LOAD, Route125_MapScript1_1F6783 map_script MAP_SCRIPT_ON_FRAME_TABLE, Route125_MapScript2_1F679A .byte 0 -Route125_MapScript1_1F6758: @ 81F6758 +Route125_OnTransition: @ 81F6758 call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetWeather15 compare VAR_SHOULD_END_UNUSUAL_WEATHER, 1 call_if_eq Route125_EventScript_273D13 diff --git a/data/maps/Route126/scripts.inc b/data/maps/Route126/scripts.inc index 71bc77b28f..7a606e0203 100644 --- a/data/maps/Route126/scripts.inc +++ b/data/maps/Route126/scripts.inc @@ -1,8 +1,8 @@ Route126_MapScripts:: @ 81F68C6 - map_script MAP_SCRIPT_ON_TRANSITION, Route126_MapScript1_1F68CC + map_script MAP_SCRIPT_ON_TRANSITION, Route126_OnTransition .byte 0 -Route126_MapScript1_1F68CC: @ 81F68CC +Route126_OnTransition: @ 81F68CC call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetWeather15 end diff --git a/data/maps/Route127/scripts.inc b/data/maps/Route127/scripts.inc index 91fab2b617..1829dbcfdd 100644 --- a/data/maps/Route127/scripts.inc +++ b/data/maps/Route127/scripts.inc @@ -1,10 +1,10 @@ Route127_MapScripts:: @ 81F69D9 - map_script MAP_SCRIPT_ON_TRANSITION, Route127_MapScript1_1F69E9 + map_script MAP_SCRIPT_ON_TRANSITION, Route127_OnTransition map_script MAP_SCRIPT_ON_LOAD, Route127_MapScript1_1F6A14 map_script MAP_SCRIPT_ON_FRAME_TABLE, Route127_MapScript2_1F6A2B .byte 0 -Route127_MapScript1_1F69E9: @ 81F69E9 +Route127_OnTransition: @ 81F69E9 call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetWeather15 compare VAR_SHOULD_END_UNUSUAL_WEATHER, 1 call_if_eq Route127_EventScript_273D13 diff --git a/data/maps/Route128/scripts.inc b/data/maps/Route128/scripts.inc index 84091ac3ad..bad74f4513 100644 --- a/data/maps/Route128/scripts.inc +++ b/data/maps/Route128/scripts.inc @@ -1,9 +1,9 @@ Route128_MapScripts:: @ 81F6B38 - map_script MAP_SCRIPT_ON_TRANSITION, Route128_MapScript1_1F6B43 + map_script MAP_SCRIPT_ON_TRANSITION, Route128_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, Route128_MapScript2_1F6B4D .byte 0 -Route128_MapScript1_1F6B43: @ 81F6B43 +Route128_OnTransition: @ 81F6B43 call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetWeather15 end @@ -48,8 +48,8 @@ Route128_EventScript_1F6B57:: @ 81F6B57 removeobject 4 delay 100 setfieldeffectargument 0, 1 - dofieldeffect 30 - waitfieldeffect 30 + dofieldeffect FLDEFF_NPCFLY_OUT + waitfieldeffect FLDEFF_NPCFLY_OUT addobject 3 applymovement 3, Route128_Movement_1F6C87 waitmovement 0 @@ -69,10 +69,10 @@ Route128_EventScript_1F6B57:: @ 81F6B57 waitmovement 0 delay 50 setfieldeffectargument 0, 1 - dofieldeffect 30 + dofieldeffect FLDEFF_NPCFLY_OUT delay 15 removeobject 3 - waitfieldeffect 30 + waitfieldeffect FLDEFF_NPCFLY_OUT clearflag FLAG_HIDE_MAP_NAME_POPUP setvar VAR_ROUTE128_STATE, 2 releaseall diff --git a/data/maps/Route129/scripts.inc b/data/maps/Route129/scripts.inc index 25aa675a6c..49b26011ae 100644 --- a/data/maps/Route129/scripts.inc +++ b/data/maps/Route129/scripts.inc @@ -1,5 +1,5 @@ Route129_MapScripts:: @ 81F7284 - map_script MAP_SCRIPT_ON_TRANSITION, Route129_MapScript1_1F72AB + map_script MAP_SCRIPT_ON_TRANSITION, Route129_OnTransition map_script MAP_SCRIPT_ON_LOAD, Route129_MapScript1_1F7294 map_script MAP_SCRIPT_ON_FRAME_TABLE, Route129_MapScript2_1F72E2 .byte 0 @@ -11,7 +11,7 @@ Route129_MapScript1_1F7294: @ 81F7294 call_if_eq UnusualWeather_EventScript_PlaceTilesRoute129East end -Route129_MapScript1_1F72AB: @ 81F72AB +Route129_OnTransition: @ 81F72AB compare VAR_SHOULD_END_UNUSUAL_WEATHER, 1 call_if_eq Route129_EventScript_273D13 compare VAR_RAYQUAZA_STATE, 4 diff --git a/data/maps/Route130/scripts.inc b/data/maps/Route130/scripts.inc index cdcc615506..2132872378 100644 --- a/data/maps/Route130/scripts.inc +++ b/data/maps/Route130/scripts.inc @@ -1,8 +1,8 @@ Route130_MapScripts:: @ 81F735F - map_script MAP_SCRIPT_ON_TRANSITION, Route130_MapScript1_1F7365 + map_script MAP_SCRIPT_ON_TRANSITION, Route130_OnTransition .byte 0 -Route130_MapScript1_1F7365: @ 81F7365 +Route130_OnTransition: @ 81F7365 compare VAR_RAYQUAZA_STATE, 4 call_if_ge Route130_EventScript_1F73B5 specialvar VAR_RESULT, IsMirageIslandPresent diff --git a/data/maps/Route131/scripts.inc b/data/maps/Route131/scripts.inc index 0d178e9699..17ac3f52f7 100644 --- a/data/maps/Route131/scripts.inc +++ b/data/maps/Route131/scripts.inc @@ -1,8 +1,8 @@ Route131_MapScripts:: @ 81F7404 - map_script MAP_SCRIPT_ON_TRANSITION, Route131_MapScript1_1F740A + map_script MAP_SCRIPT_ON_TRANSITION, Route131_OnTransition .byte 0 -Route131_MapScript1_1F740A: @ 81F740A +Route131_OnTransition: @ 81F740A compare VAR_RAYQUAZA_STATE, 4 call_if_ge Route131_EventScript_1F741F call Route131_EventScript_1F741B diff --git a/data/maps/RustboroCity/scripts.inc b/data/maps/RustboroCity/scripts.inc index 1ba63c9599..e72496ff30 100644 --- a/data/maps/RustboroCity/scripts.inc +++ b/data/maps/RustboroCity/scripts.inc @@ -1,9 +1,9 @@ RustboroCity_MapScripts:: @ 81E06BD - map_script MAP_SCRIPT_ON_TRANSITION, RustboroCity_MapScript1_1E06C8 + map_script MAP_SCRIPT_ON_TRANSITION, RustboroCity_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, RustboroCity_MapScript2_1E070B .byte 0 -RustboroCity_MapScript1_1E06C8: @ 81E06C8 +RustboroCity_OnTransition: @ 81E06C8 setflag FLAG_VISITED_RUSTBORO_CITY call Common_EventScript_SetupRivalGender compare VAR_RUSTBORO_STATE, 6 diff --git a/data/maps/RustboroCity_DevonCorp_1F/scripts.inc b/data/maps/RustboroCity_DevonCorp_1F/scripts.inc index 4f1971c80b..788a403f2f 100644 --- a/data/maps/RustboroCity_DevonCorp_1F/scripts.inc +++ b/data/maps/RustboroCity_DevonCorp_1F/scripts.inc @@ -1,8 +1,8 @@ RustboroCity_DevonCorp_1F_MapScripts:: @ 8211245 - map_script MAP_SCRIPT_ON_TRANSITION, RustboroCity_DevonCorp_1F_MapScript1_21124B + map_script MAP_SCRIPT_ON_TRANSITION, RustboroCity_DevonCorp_1F_OnTransition .byte 0 -RustboroCity_DevonCorp_1F_MapScript1_21124B: @ 821124B +RustboroCity_DevonCorp_1F_OnTransition: @ 821124B call_if_unset FLAG_RETURNED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_211255 end diff --git a/data/maps/RustboroCity_DevonCorp_2F/scripts.inc b/data/maps/RustboroCity_DevonCorp_2F/scripts.inc index fab587fb7d..dfcd03dc6d 100644 --- a/data/maps/RustboroCity_DevonCorp_2F/scripts.inc +++ b/data/maps/RustboroCity_DevonCorp_2F/scripts.inc @@ -1,8 +1,8 @@ RustboroCity_DevonCorp_2F_MapScripts:: @ 8211857 - map_script MAP_SCRIPT_ON_TRANSITION, RustboroCity_DevonCorp_2F_MapScript1_21185D + map_script MAP_SCRIPT_ON_TRANSITION, RustboroCity_DevonCorp_2F_OnTransition .byte 0 -RustboroCity_DevonCorp_2F_MapScript1_21185D: @ 821185D +RustboroCity_DevonCorp_2F_OnTransition: @ 821185D compare VAR_FOSSIL_RESURRECTION_STATE, 1 call_if_eq RustboroCity_DevonCorp_2F_EventScript_211869 end diff --git a/data/maps/RustboroCity_DevonCorp_3F/scripts.inc b/data/maps/RustboroCity_DevonCorp_3F/scripts.inc index 6d0a78a42e..6be85a0b04 100644 --- a/data/maps/RustboroCity_DevonCorp_3F/scripts.inc +++ b/data/maps/RustboroCity_DevonCorp_3F/scripts.inc @@ -1,10 +1,10 @@ RustboroCity_DevonCorp_3F_MapScripts:: @ 821242D - map_script MAP_SCRIPT_ON_TRANSITION, RustboroCity_DevonCorp_3F_MapScript1_21243D + map_script MAP_SCRIPT_ON_TRANSITION, RustboroCity_DevonCorp_3F_OnTransition map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, RustboroCity_DevonCorp_3F_MapScript2_212455 map_script MAP_SCRIPT_ON_FRAME_TABLE, RustboroCity_DevonCorp_3F_MapScript2_212464 .byte 0 -RustboroCity_DevonCorp_3F_MapScript1_21243D: @ 821243D +RustboroCity_DevonCorp_3F_OnTransition: @ 821243D compare VAR_DEVON_CORP_3F_STATE, 0 call_if_eq RustboroCity_DevonCorp_3F_EventScript_212449 end diff --git a/data/maps/RustboroCity_PokemonCenter_1F/scripts.inc b/data/maps/RustboroCity_PokemonCenter_1F/scripts.inc index e7bea0f0df..4d50ca89ce 100644 --- a/data/maps/RustboroCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/RustboroCity_PokemonCenter_1F/scripts.inc @@ -1,9 +1,9 @@ RustboroCity_PokemonCenter_1F_MapScripts:: @ 8214D62 - map_script MAP_SCRIPT_ON_TRANSITION, RustboroCity_PokemonCenter_1F_MapScript1_214D6D + map_script MAP_SCRIPT_ON_TRANSITION, RustboroCity_PokemonCenter_1F_OnTransition map_script MAP_SCRIPT_ON_RESUME, RustboroCity_PokemonCenter_1F_MapScript1_277C30 .byte 0 -RustboroCity_PokemonCenter_1F_MapScript1_214D6D: @ 8214D6D +RustboroCity_PokemonCenter_1F_OnTransition: @ 8214D6D setrespawn HEAL_LOCATION_RUSTBORO_CITY call RustboroCity_PokemonCenter_1F_EventScript_2718DE end diff --git a/data/maps/RustboroCity_PokemonCenter_2F/scripts.inc b/data/maps/RustboroCity_PokemonCenter_2F/scripts.inc index fac3cb0590..3c62abc4ad 100644 --- a/data/maps/RustboroCity_PokemonCenter_2F/scripts.inc +++ b/data/maps/RustboroCity_PokemonCenter_2F/scripts.inc @@ -2,7 +2,7 @@ RustboroCity_PokemonCenter_2F_MapScripts:: @ 8214EDE map_script MAP_SCRIPT_ON_FRAME_TABLE, RustboroCity_PokemonCenter_2F_MapScript2_276C3B map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, RustboroCity_PokemonCenter_2F_MapScript2_276B6C map_script MAP_SCRIPT_ON_LOAD, RustboroCity_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, RustboroCity_PokemonCenter_2F_MapScript1_276ACF + map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition .byte 0 RustboroCity_PokemonCenter_2F_EventScript_214EF3:: @ 8214EF3 diff --git a/data/maps/RusturfTunnel/map.json b/data/maps/RusturfTunnel/map.json index 9fc3787292..bd5c8206d5 100644 --- a/data/maps/RusturfTunnel/map.json +++ b/data/maps/RusturfTunnel/map.json @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RusturfTunnel_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_HIDE_RUSTURF_TUNNEL_ROCK_1" }, { @@ -115,7 +115,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RusturfTunnel_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_HIDE_RUSTURF_TUNNEL_ROCK_2" }, { diff --git a/data/maps/RusturfTunnel/scripts.inc b/data/maps/RusturfTunnel/scripts.inc index 8e7e2342e5..e489580c9f 100644 --- a/data/maps/RusturfTunnel/scripts.inc +++ b/data/maps/RusturfTunnel/scripts.inc @@ -1,5 +1,5 @@ RusturfTunnel_MapScripts:: @ 822CE27 - map_script MAP_SCRIPT_ON_TRANSITION, RusturfTunnel_MapScript1_22CE44 + map_script MAP_SCRIPT_ON_TRANSITION, RusturfTunnel_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, RusturfTunnel_MapScript2_22CE32 .byte 0 @@ -8,7 +8,7 @@ RusturfTunnel_MapScript2_22CE32: @ 822CE32 map_script_2 VAR_RUSTURF_TUNNEL_STATE, 5, RusturfTunnel_EventScript_22CEAE .2byte 0 -RusturfTunnel_MapScript1_22CE44: @ 822CE44 +RusturfTunnel_OnTransition: @ 822CE44 compare VAR_RUSTURF_TUNNEL_STATE, 2 call_if_eq RusturfTunnel_EventScript_22CE50 end diff --git a/data/maps/SafariZone_North/map.json b/data/maps/SafariZone_North/map.json index 967e55f3ec..0dafeb1801 100644 --- a/data/maps/SafariZone_North/map.json +++ b/data/maps/SafariZone_North/map.json @@ -66,7 +66,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_North_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_11" }, { @@ -79,7 +79,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_North_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_12" }, { @@ -92,7 +92,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_North_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_13" }, { @@ -105,7 +105,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_North_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_14" }, { @@ -118,7 +118,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_North_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_15" }, { @@ -131,7 +131,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_North_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_16" }, { diff --git a/data/maps/SafariZone_Northeast/map.json b/data/maps/SafariZone_Northeast/map.json index 94c2c268f4..798563263a 100644 --- a/data/maps/SafariZone_Northeast/map.json +++ b/data/maps/SafariZone_Northeast/map.json @@ -61,7 +61,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_Northeast_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_15" }, { @@ -87,7 +87,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_Northeast_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_13" }, { @@ -100,7 +100,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_Northeast_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_11" }, { @@ -113,7 +113,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_Northeast_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_14" }, { @@ -126,7 +126,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_Northeast_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_12" }, { diff --git a/data/maps/SafariZone_South/scripts.inc b/data/maps/SafariZone_South/scripts.inc index 75ec95d339..45273de12e 100644 --- a/data/maps/SafariZone_South/scripts.inc +++ b/data/maps/SafariZone_South/scripts.inc @@ -1,5 +1,5 @@ SafariZone_South_MapScripts:: @ 823D279 - map_script MAP_SCRIPT_ON_TRANSITION, SafariZone_South_MapScript1_23D2B1 + map_script MAP_SCRIPT_ON_TRANSITION, SafariZone_South_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, SafariZone_South_MapScript2_23D284 .byte 0 @@ -18,7 +18,7 @@ SafariZone_South_EventScript_23D28E:: @ 823D28E releaseall end -SafariZone_South_MapScript1_23D2B1: @ 823D2B1 +SafariZone_South_OnTransition: @ 823D2B1 compare VAR_SAFARI_ZONE_STATE, 2 call_if_eq SafariZone_South_EventScript_23D2BD end diff --git a/data/maps/SeafloorCavern_Room1/map.json b/data/maps/SeafloorCavern_Room1/map.json index bcac092567..88db72b4ab 100644 --- a/data/maps/SeafloorCavern_Room1/map.json +++ b/data/maps/SeafloorCavern_Room1/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room1_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_11" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room1_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_12" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room1_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_13" }, { diff --git a/data/maps/SeafloorCavern_Room2/map.json b/data/maps/SeafloorCavern_Room2/map.json index 3e5d6b1271..f402b50d08 100644 --- a/data/maps/SeafloorCavern_Room2/map.json +++ b/data/maps/SeafloorCavern_Room2/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room2_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_12" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room2_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_13" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room2_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_11" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room2_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_15" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room2_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_16" }, { @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room2_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_18" }, { @@ -102,7 +102,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room2_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_19" }, { @@ -115,7 +115,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room2_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_17" } ], diff --git a/data/maps/SeafloorCavern_Room3/map.json b/data/maps/SeafloorCavern_Room3/map.json index c7a90b42dc..2a33c44cf3 100644 --- a/data/maps/SeafloorCavern_Room3/map.json +++ b/data/maps/SeafloorCavern_Room3/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room3_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_12" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room3_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_14" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room3_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_15" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room3_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_16" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room3_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_17" }, { @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room3_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_18" }, { @@ -102,7 +102,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room3_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_19" }, { diff --git a/data/maps/SeafloorCavern_Room5/map.json b/data/maps/SeafloorCavern_Room5/map.json index 975fc6a988..b9c85c9bf1 100644 --- a/data/maps/SeafloorCavern_Room5/map.json +++ b/data/maps/SeafloorCavern_Room5/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room5_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_11" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room5_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_12" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room5_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_13" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room5_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_15" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room5_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_16" }, { @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room5_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_14" } ], diff --git a/data/maps/SeafloorCavern_Room8/map.json b/data/maps/SeafloorCavern_Room8/map.json index 88ea40e3af..c1d3b6cc24 100644 --- a/data/maps/SeafloorCavern_Room8/map.json +++ b/data/maps/SeafloorCavern_Room8/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room8_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_11" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room8_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_12" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room8_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_13" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room8_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_14" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room8_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_15" }, { @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room8_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_16" }, { @@ -102,7 +102,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room8_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_17" }, { @@ -115,7 +115,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room8_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_18" }, { @@ -128,7 +128,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room8_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_19" }, { @@ -141,7 +141,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room8_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_1A" }, { @@ -154,7 +154,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room8_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_1B" }, { @@ -167,7 +167,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room8_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_1C" } ], diff --git a/data/maps/SeafloorCavern_Room9/scripts.inc b/data/maps/SeafloorCavern_Room9/scripts.inc index 4c630a1d4a..b5e5034e72 100644 --- a/data/maps/SeafloorCavern_Room9/scripts.inc +++ b/data/maps/SeafloorCavern_Room9/scripts.inc @@ -40,8 +40,8 @@ SeafloorCavern_Room9_EventScript_234DC9:: @ 8234DC9 setfieldeffectargument 0, 16 setfieldeffectargument 1, 42 setfieldeffectargument 2, 0 - dofieldeffect 54 - waitfieldeffect 54 + dofieldeffect FLDEFF_SPARKLE + waitfieldeffect FLDEFF_SPARKLE closemessage setvar VAR_RESULT, 0 playfanfare MUS_ME_TAMA diff --git a/data/maps/SecretBase_YellowCave4/scripts.inc b/data/maps/SecretBase_YellowCave4/scripts.inc index 805d7e299b..c05ea13c04 100644 --- a/data/maps/SecretBase_YellowCave4/scripts.inc +++ b/data/maps/SecretBase_YellowCave4/scripts.inc @@ -1,6 +1,6 @@ SecretBase_YellowCave4_MapScripts:: @ 823B483 map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SecretBase_RedCave1_MapScript2_23B498 - map_script MAP_SCRIPT_ON_TRANSITION, SecretBase_RedCave1_MapScript1_23B4A2 + map_script MAP_SCRIPT_ON_TRANSITION, SecretBase_RedCave1_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, SecretBase_RedCave1_MapScript2_23B4AE map_script MAP_SCRIPT_ON_RESUME, SecretBase_RedCave1_MapScript1_23B4B8 .byte 0 @@ -9,9 +9,9 @@ SecretBase_RedCave1_MapScript2_23B498: @ 823B498 map_script_2 VAR_SECRET_BASE_INITIALIZED, 0, EventScript_275D0C .2byte 0 -SecretBase_RedCave1_MapScript1_23B4A2: @ 823B4A2 +SecretBase_RedCave1_OnTransition: @ 823B4A2 call SecretBase_RedCave1_EventScript_275CE1 - special sub_80E95D4 + special SetSecretBaseOwnerGfxId special sub_80EB1AC end diff --git a/data/maps/ShoalCave_LowTideEntranceRoom/scripts.inc b/data/maps/ShoalCave_LowTideEntranceRoom/scripts.inc index 218cabc677..13d8f92d90 100644 --- a/data/maps/ShoalCave_LowTideEntranceRoom/scripts.inc +++ b/data/maps/ShoalCave_LowTideEntranceRoom/scripts.inc @@ -1,8 +1,8 @@ ShoalCave_LowTideEntranceRoom_MapScripts:: @ 8236DBA - map_script MAP_SCRIPT_ON_TRANSITION, ShoalCave_LowTideEntranceRoom_MapScript1_236DC0 + map_script MAP_SCRIPT_ON_TRANSITION, ShoalCave_LowTideEntranceRoom_OnTransition .byte 0 -ShoalCave_LowTideEntranceRoom_MapScript1_236DC0: @ 8236DC0 +ShoalCave_LowTideEntranceRoom_OnTransition: @ 8236DC0 special UpdateShoalTideFlag goto_if_set FLAG_SYS_SHOAL_TIDE, ShoalCave_LowTideEntranceRoom_EventScript_236DD1 goto ShoalCave_LowTideEntranceRoom_EventScript_236DD5 diff --git a/data/maps/ShoalCave_LowTideInnerRoom/scripts.inc b/data/maps/ShoalCave_LowTideInnerRoom/scripts.inc index f1a29b28a5..300d063178 100644 --- a/data/maps/ShoalCave_LowTideInnerRoom/scripts.inc +++ b/data/maps/ShoalCave_LowTideInnerRoom/scripts.inc @@ -1,9 +1,9 @@ ShoalCave_LowTideInnerRoom_MapScripts:: @ 8236EF5 map_script MAP_SCRIPT_ON_LOAD, ShoalCave_LowTideInnerRoom_MapScript1_236F16 - map_script MAP_SCRIPT_ON_TRANSITION, ShoalCave_LowTideInnerRoom_MapScript1_236F00 + map_script MAP_SCRIPT_ON_TRANSITION, ShoalCave_LowTideInnerRoom_OnTransition .byte 0 -ShoalCave_LowTideInnerRoom_MapScript1_236F00: @ 8236F00 +ShoalCave_LowTideInnerRoom_OnTransition: @ 8236F00 goto_if_set FLAG_SYS_SHOAL_TIDE, ShoalCave_LowTideInnerRoom_EventScript_236F0E goto ShoalCave_LowTideInnerRoom_EventScript_236F12 diff --git a/data/maps/ShoalCave_LowTideLowerRoom/map.json b/data/maps/ShoalCave_LowTideLowerRoom/map.json index 92f0fd11a0..fad5ddc003 100644 --- a/data/maps/ShoalCave_LowTideLowerRoom/map.json +++ b/data/maps/ShoalCave_LowTideLowerRoom/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "ShoalCave_LowTideLowerRoom_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_11" }, { diff --git a/data/maps/SkyPillar_1F/scripts.inc b/data/maps/SkyPillar_1F/scripts.inc index 18ec43ad65..d60feb1557 100644 --- a/data/maps/SkyPillar_1F/scripts.inc +++ b/data/maps/SkyPillar_1F/scripts.inc @@ -1,13 +1,13 @@ SkyPillar_1F_MapScripts:: @ 8239615 - map_script MAP_SCRIPT_ON_TRANSITION, SkyPillar_1F_MapScript1_23961B + map_script MAP_SCRIPT_ON_TRANSITION, SkyPillar_1F_OnTransition .byte 0 -SkyPillar_1F_MapScript1_23961B: @ 823961B +SkyPillar_1F_OnTransition: @ 823961B compare VAR_SKY_PILLAR_STATE, 2 - call_if_lt SkyPillar_1F_EventScript_239627 + call_if_lt SkyPillar_1F_EventScript_CleanFloor end -SkyPillar_1F_EventScript_239627:: @ 8239627 +SkyPillar_1F_EventScript_CleanFloor:: @ 8239627 setmaplayoutindex LAYOUT_SKY_PILLAR_1F_CLEAN return diff --git a/data/maps/SkyPillar_2F/scripts.inc b/data/maps/SkyPillar_2F/scripts.inc index 9059bd246c..dcbff3642f 100644 --- a/data/maps/SkyPillar_2F/scripts.inc +++ b/data/maps/SkyPillar_2F/scripts.inc @@ -1,16 +1,16 @@ SkyPillar_2F_MapScripts:: @ 823962B map_script MAP_SCRIPT_ON_FRAME_TABLE, SkyPillar_2F_MapScript2_2A8327 - map_script MAP_SCRIPT_ON_TRANSITION, SkyPillar_2F_MapScript1_23963B + map_script MAP_SCRIPT_ON_TRANSITION, SkyPillar_2F_OnTransition map_script MAP_SCRIPT_ON_RESUME, SkyPillar_2F_MapScript1_239650 .byte 0 -SkyPillar_2F_MapScript1_23963B: @ 823963B +SkyPillar_2F_OnTransition: @ 823963B compare VAR_SKY_PILLAR_STATE, 2 - call_if_lt SkyPillar_2F_EventScript_23964C + call_if_lt SkyPillar_2F_EventScript_CleanFloor copyvar VAR_ICE_STEP_COUNT, 0x1 end -SkyPillar_2F_EventScript_23964C:: @ 823964C +SkyPillar_2F_EventScript_CleanFloor:: @ 823964C setmaplayoutindex LAYOUT_SKY_PILLAR_2F_CLEAN return diff --git a/data/maps/SkyPillar_3F/scripts.inc b/data/maps/SkyPillar_3F/scripts.inc index ba6a5128dd..d55ac27afb 100644 --- a/data/maps/SkyPillar_3F/scripts.inc +++ b/data/maps/SkyPillar_3F/scripts.inc @@ -1,13 +1,13 @@ SkyPillar_3F_MapScripts:: @ 823965B - map_script MAP_SCRIPT_ON_TRANSITION, SkyPillar_3F_MapScript1_239661 + map_script MAP_SCRIPT_ON_TRANSITION, SkyPillar_3F_OnTransition .byte 0 -SkyPillar_3F_MapScript1_239661: @ 8239661 +SkyPillar_3F_OnTransition: @ 8239661 compare VAR_SKY_PILLAR_STATE, 2 - call_if_lt SkyPillar_3F_EventScript_23966D + call_if_lt SkyPillar_3F_EventScript_CleanFloor end -SkyPillar_3F_EventScript_23966D:: @ 823966D +SkyPillar_3F_EventScript_CleanFloor:: @ 823966D setmaplayoutindex LAYOUT_SKY_PILLAR_3F_CLEAN return diff --git a/data/maps/SkyPillar_4F/scripts.inc b/data/maps/SkyPillar_4F/scripts.inc index 355530fdce..413f56521a 100644 --- a/data/maps/SkyPillar_4F/scripts.inc +++ b/data/maps/SkyPillar_4F/scripts.inc @@ -1,16 +1,16 @@ SkyPillar_4F_MapScripts:: @ 8239671 map_script MAP_SCRIPT_ON_FRAME_TABLE, SkyPillar_4F_MapScript2_2A8327 - map_script MAP_SCRIPT_ON_TRANSITION, SkyPillar_4F_MapScript1_239681 + map_script MAP_SCRIPT_ON_TRANSITION, SkyPillar_4F_OnTransition map_script MAP_SCRIPT_ON_RESUME, SkyPillar_4F_MapScript1_239696 .byte 0 -SkyPillar_4F_MapScript1_239681: @ 8239681 +SkyPillar_4F_OnTransition: @ 8239681 compare VAR_SKY_PILLAR_STATE, 2 - call_if_lt SkyPillar_4F_EventScript_239692 + call_if_lt SkyPillar_4F_EventScript_CleanFloor copyvar VAR_ICE_STEP_COUNT, 0x1 end -SkyPillar_4F_EventScript_239692:: @ 8239692 +SkyPillar_4F_EventScript_CleanFloor:: @ 8239692 setmaplayoutindex LAYOUT_SKY_PILLAR_4F_CLEAN return diff --git a/data/maps/SkyPillar_5F/scripts.inc b/data/maps/SkyPillar_5F/scripts.inc index ba35e16f2b..2ba0c0db8b 100644 --- a/data/maps/SkyPillar_5F/scripts.inc +++ b/data/maps/SkyPillar_5F/scripts.inc @@ -1,13 +1,13 @@ SkyPillar_5F_MapScripts:: @ 82396A2 - map_script MAP_SCRIPT_ON_TRANSITION, SkyPillar_5F_MapScript1_2396A8 + map_script MAP_SCRIPT_ON_TRANSITION, SkyPillar_5F_OnTransition .byte 0 -SkyPillar_5F_MapScript1_2396A8: @ 82396A8 +SkyPillar_5F_OnTransition: @ 82396A8 compare VAR_SKY_PILLAR_STATE, 2 - call_if_lt SkyPillar_5F_EventScript_2396B4 + call_if_lt SkyPillar_5F_EventScript_CleanFloor return -SkyPillar_5F_EventScript_2396B4:: @ 82396B4 +SkyPillar_5F_EventScript_CleanFloor:: @ 82396B4 setmaplayoutindex LAYOUT_SKY_PILLAR_5F_CLEAN return diff --git a/data/maps/SkyPillar_Outside/scripts.inc b/data/maps/SkyPillar_Outside/scripts.inc index c4769c9901..ffc581fd4c 100644 --- a/data/maps/SkyPillar_Outside/scripts.inc +++ b/data/maps/SkyPillar_Outside/scripts.inc @@ -1,10 +1,10 @@ SkyPillar_Outside_MapScripts:: @ 82392A8 - map_script MAP_SCRIPT_ON_TRANSITION, SkyPillar_Outside_MapScript1_2392B8 + map_script MAP_SCRIPT_ON_TRANSITION, SkyPillar_Outside_OnTransition map_script MAP_SCRIPT_ON_LOAD, SkyPillar_Outside_MapScript1_2392DD map_script MAP_SCRIPT_ON_FRAME_TABLE, SkyPillar_Outside_MapScript2_2392FA .byte 0 -SkyPillar_Outside_MapScript1_2392B8: @ 82392B8 +SkyPillar_Outside_OnTransition: @ 82392B8 compare VAR_RAYQUAZA_STATE, 3 call_if_eq SkyPillar_Outside_EventScript_2392CF compare VAR_RAYQUAZA_STATE, 4 diff --git a/data/maps/SkyPillar_Top/scripts.inc b/data/maps/SkyPillar_Top/scripts.inc index dccdac1b4f..6afbbd58c4 100644 --- a/data/maps/SkyPillar_Top/scripts.inc +++ b/data/maps/SkyPillar_Top/scripts.inc @@ -1,6 +1,6 @@ SkyPillar_Top_MapScripts:: @ 82396B8 map_script MAP_SCRIPT_ON_RESUME, SkyPillar_Top_MapScript1_2396C8 - map_script MAP_SCRIPT_ON_TRANSITION, SkyPillar_Top_MapScript1_2396E6 + map_script MAP_SCRIPT_ON_TRANSITION, SkyPillar_Top_OnTransition map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SkyPillar_Top_MapScript2_239713 .byte 0 @@ -15,7 +15,7 @@ SkyPillar_Top_EventScript_2396D2:: @ 82396D2 removeobject VAR_LAST_TALKED return -SkyPillar_Top_MapScript1_2396E6: @ 82396E6 +SkyPillar_Top_OnTransition: @ 82396E6 compare VAR_SKY_PILLAR_STATE, 2 call_if_lt SkyPillar_Top_EventScript_2396FD compare VAR_SKY_PILLAR_STATE, 2 diff --git a/data/maps/SlateportCity/scripts.inc b/data/maps/SlateportCity/scripts.inc index 88bcb2e6cb..f537694dd1 100644 --- a/data/maps/SlateportCity/scripts.inc +++ b/data/maps/SlateportCity/scripts.inc @@ -1,9 +1,9 @@ SlateportCity_MapScripts:: @ 81DCC61 - map_script MAP_SCRIPT_ON_TRANSITION, SlateportCity_MapScript1_1DCC6C + map_script MAP_SCRIPT_ON_TRANSITION, SlateportCity_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, SlateportCity_MapScript2_1DCD12 .byte 0 -SlateportCity_MapScript1_1DCC6C: @ 81DCC6C +SlateportCity_OnTransition: @ 81DCC6C setvar VAR_SLATEPORT_MUSEUM_1F_STATE, 0 call SlateportCity_EventScript_1DCC8D compare VAR_SLATEPORT_STATE, 1 @@ -491,17 +491,17 @@ SlateportCity_EventScript_1DD16A:: @ 81DD16A faceplayer message gUnknown_08272A21 waitmessage - pokemartdecoration SlateportCity_PokemartDecor_1DD184 + pokemartdecoration SlateportCity_PokemartDecor_Dolls msgbox gUnknown_08272A3F, MSGBOX_DEFAULT release end .align 2 -SlateportCity_PokemartDecor_1DD184: @ 81DD184 - .2byte 95 - .2byte 78 - .2byte 96 - .2byte 0 +SlateportCity_PokemartDecor_Dolls: @ 81DD184 + .2byte DECOR_AZURILL_DOLL + .2byte DECOR_MARILL_DOLL + .2byte DECOR_SKITTY_DOLL + .2byte DECOR_NONE release end @@ -522,21 +522,21 @@ SlateportCity_EventScript_1DD198:: @ 81DD198 end SlateportCity_PokemartDecor_1DD1B8: @ 81DD1B8 - .2byte 25 - .2byte 27 - .2byte 26 - .2byte 28 - .2byte 29 - .2byte 30 - .2byte 51 - .2byte 52 - .2byte 53 - .2byte 54 - .2byte 55 - .2byte 56 - .2byte 57 - .2byte 58 - .2byte 0 + .2byte DECOR_RED_BRICK + .2byte DECOR_BLUE_BRICK + .2byte DECOR_YELLOW_BRICK + .2byte DECOR_RED_BALLOON + .2byte DECOR_BLUE_BALLOON + .2byte DECOR_YELLOW_BALLOON + .2byte DECOR_C_LOW_NOTE_MAT + .2byte DECOR_D_NOTE_MAT + .2byte DECOR_E_NOTE_MAT + .2byte DECOR_F_NOTE_MAT + .2byte DECOR_G_NOTE_MAT + .2byte DECOR_A_NOTE_MAT + .2byte DECOR_B_NOTE_MAT + .2byte DECOR_C_HIGH_NOTE_MAT + .2byte DECOR_NONE release end @@ -1372,4 +1372,4 @@ SlateportCity_Text_1DF28C: @ 81DF28C .string "That's a really great idea!\p" .string "After all, a tough TRAINER is\n" .string "the perfect fit for the BATTLE TENT!\p" - .string "Give it your best effort!$" + .string "Give it your best effort!$" \ No newline at end of file diff --git a/data/maps/SlateportCity_BattleTentBattleRoom/scripts.inc b/data/maps/SlateportCity_BattleTentBattleRoom/scripts.inc index a5e2a493c4..e178155a9c 100644 --- a/data/maps/SlateportCity_BattleTentBattleRoom/scripts.inc +++ b/data/maps/SlateportCity_BattleTentBattleRoom/scripts.inc @@ -1,10 +1,10 @@ SlateportCity_BattleTentBattleRoom_MapScripts:: @ 8209960 - map_script MAP_SCRIPT_ON_TRANSITION, SlateportCity_BattleTentBattleRoom_MapScript1_209970 + map_script MAP_SCRIPT_ON_TRANSITION, SlateportCity_BattleTentBattleRoom_OnTransition map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SlateportCity_BattleTentBattleRoom_MapScript2_20999A map_script MAP_SCRIPT_ON_FRAME_TABLE, SlateportCity_BattleTentBattleRoom_MapScript2_2099B4 .byte 0 -SlateportCity_BattleTentBattleRoom_MapScript1_209970: @ 8209970 +SlateportCity_BattleTentBattleRoom_OnTransition: @ 8209970 call SlateportCity_BattleTentBattleRoom_EventScript_209976 end diff --git a/data/maps/SlateportCity_Harbor/scripts.inc b/data/maps/SlateportCity_Harbor/scripts.inc index 8f9f77e975..32fa9fa5dc 100644 --- a/data/maps/SlateportCity_Harbor/scripts.inc +++ b/data/maps/SlateportCity_Harbor/scripts.inc @@ -1,8 +1,8 @@ SlateportCity_Harbor_MapScripts:: @ 820C97D - map_script MAP_SCRIPT_ON_TRANSITION, SlateportCity_Harbor_MapScript1_20C983 + map_script MAP_SCRIPT_ON_TRANSITION, SlateportCity_Harbor_OnTransition .byte 0 -SlateportCity_Harbor_MapScript1_20C983: @ 820C983 +SlateportCity_Harbor_OnTransition: @ 820C983 setescapewarp MAP_SLATEPORT_CITY, 255, 28, 13 setvar VAR_TEMP_1, 0 compare VAR_SLATEPORT_HARBOR_STATE, 1 diff --git a/data/maps/SlateportCity_PokemonCenter_1F/scripts.inc b/data/maps/SlateportCity_PokemonCenter_1F/scripts.inc index 8c1f87e636..4c6b3ec7f4 100644 --- a/data/maps/SlateportCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/SlateportCity_PokemonCenter_1F/scripts.inc @@ -1,9 +1,9 @@ SlateportCity_PokemonCenter_1F_MapScripts:: @ 820DABF - map_script MAP_SCRIPT_ON_TRANSITION, SlateportCity_PokemonCenter_1F_MapScript1_20DACA + map_script MAP_SCRIPT_ON_TRANSITION, SlateportCity_PokemonCenter_1F_OnTransition map_script MAP_SCRIPT_ON_RESUME, SlateportCity_PokemonCenter_1F_MapScript1_277C30 .byte 0 -SlateportCity_PokemonCenter_1F_MapScript1_20DACA: @ 820DACA +SlateportCity_PokemonCenter_1F_OnTransition: @ 820DACA setrespawn HEAL_LOCATION_SLATEPORT_CITY call SlateportCity_PokemonCenter_1F_EventScript_2718DE end diff --git a/data/maps/SlateportCity_PokemonCenter_2F/scripts.inc b/data/maps/SlateportCity_PokemonCenter_2F/scripts.inc index 1ddbcc0bed..a9d48f43d8 100644 --- a/data/maps/SlateportCity_PokemonCenter_2F/scripts.inc +++ b/data/maps/SlateportCity_PokemonCenter_2F/scripts.inc @@ -2,7 +2,7 @@ SlateportCity_PokemonCenter_2F_MapScripts:: @ 820DC21 map_script MAP_SCRIPT_ON_FRAME_TABLE, SlateportCity_PokemonCenter_2F_MapScript2_276C3B map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SlateportCity_PokemonCenter_2F_MapScript2_276B6C map_script MAP_SCRIPT_ON_LOAD, SlateportCity_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, SlateportCity_PokemonCenter_2F_MapScript1_276ACF + map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition .byte 0 SlateportCity_PokemonCenter_2F_EventScript_20DC36:: @ 820DC36 diff --git a/data/maps/SootopolisCity/scripts.inc b/data/maps/SootopolisCity/scripts.inc index ad72120f9c..afad445367 100644 --- a/data/maps/SootopolisCity/scripts.inc +++ b/data/maps/SootopolisCity/scripts.inc @@ -1,6 +1,6 @@ SootopolisCity_MapScripts:: @ 81E565C map_script MAP_SCRIPT_ON_LOAD, SootopolisCity_MapScript1_1E5676 - map_script MAP_SCRIPT_ON_TRANSITION, SootopolisCity_MapScript1_1E56EF + map_script MAP_SCRIPT_ON_TRANSITION, SootopolisCity_OnTransition map_script MAP_SCRIPT_ON_RESUME, SootopolisCity_MapScript1_1E590B map_script MAP_SCRIPT_ON_FRAME_TABLE, SootopolisCity_MapScript2_1E5914 map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SootopolisCity_MapScript2_1E58DB @@ -31,7 +31,7 @@ SootopolisCity_EventScript_1E56E5:: @ 81E56E5 setmetatile 31, 32, 592, 1 return -SootopolisCity_MapScript1_1E56EF: @ 81E56EF +SootopolisCity_OnTransition: @ 81E56EF setflag FLAG_VISITED_SOOTOPOLIS_CITY compare VAR_RAYQUAZA_STATE, 1 call_if_eq SootopolisCity_EventScript_1E5781 diff --git a/data/maps/SootopolisCity_Gym_1F/scripts.inc b/data/maps/SootopolisCity_Gym_1F/scripts.inc index b9abdf6569..e9b5d327f1 100644 --- a/data/maps/SootopolisCity_Gym_1F/scripts.inc +++ b/data/maps/SootopolisCity_Gym_1F/scripts.inc @@ -2,10 +2,10 @@ SootopolisCity_Gym_1F_MapScripts:: @ 8224E4C map_script MAP_SCRIPT_ON_FRAME_TABLE, SootopolisCity_Gym_1F_MapScript2_224ECB map_script MAP_SCRIPT_ON_RESUME, SootopolisCity_Gym_1F_MapScript1_224E67 map_script MAP_SCRIPT_ON_LOAD, SootopolisCity_Gym_1F_MapScript1_224E6A - map_script MAP_SCRIPT_ON_TRANSITION, SootopolisCity_Gym_1F_MapScript1_224E61 + map_script MAP_SCRIPT_ON_TRANSITION, SootopolisCity_Gym_1F_OnTransition .byte 0 -SootopolisCity_Gym_1F_MapScript1_224E61: @ 8224E61 +SootopolisCity_Gym_1F_OnTransition: @ 8224E61 setvar VAR_ICE_STEP_COUNT, 1 end diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc b/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc index c7ceb0a4f2..5f2352645f 100644 --- a/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc +++ b/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc @@ -1,9 +1,9 @@ SootopolisCity_MysteryEventsHouse_1F_MapScripts:: @ 8227953 - map_script MAP_SCRIPT_ON_TRANSITION, SootopolisCity_MysteryEventsHouse_1F_MapScript1_22795E + map_script MAP_SCRIPT_ON_TRANSITION, SootopolisCity_MysteryEventsHouse_1F_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, SootopolisCity_MysteryEventsHouse_1F_MapScript2_22799D .byte 0 -SootopolisCity_MysteryEventsHouse_1F_MapScript1_22795E: @ 822795E +SootopolisCity_MysteryEventsHouse_1F_OnTransition: @ 822795E setvar VAR_0x8004, 16 special CallFrontierUtilFunc compare VAR_RESULT, 0 diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_B1F/scripts.inc b/data/maps/SootopolisCity_MysteryEventsHouse_B1F/scripts.inc index 374aa6270b..16533649cc 100644 --- a/data/maps/SootopolisCity_MysteryEventsHouse_B1F/scripts.inc +++ b/data/maps/SootopolisCity_MysteryEventsHouse_B1F/scripts.inc @@ -1,9 +1,9 @@ SootopolisCity_MysteryEventsHouse_B1F_MapScripts:: @ 8227E4F - map_script MAP_SCRIPT_ON_TRANSITION, SootopolisCity_MysteryEventsHouse_B1F_MapScript1_227E5A + map_script MAP_SCRIPT_ON_TRANSITION, SootopolisCity_MysteryEventsHouse_B1F_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, SootopolisCity_MysteryEventsHouse_B1F_MapScript2_227E5E .byte 0 -SootopolisCity_MysteryEventsHouse_B1F_MapScript1_227E5A: @ 8227E5A +SootopolisCity_MysteryEventsHouse_B1F_OnTransition: @ 8227E5A special SetEReaderTrainerGfxId end diff --git a/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc b/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc index 97cb2d4d70..d3dfb91b04 100644 --- a/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc @@ -1,9 +1,9 @@ SootopolisCity_PokemonCenter_1F_MapScripts:: @ 82264F1 - map_script MAP_SCRIPT_ON_TRANSITION, SootopolisCity_PokemonCenter_1F_MapScript1_2264FC + map_script MAP_SCRIPT_ON_TRANSITION, SootopolisCity_PokemonCenter_1F_OnTransition map_script MAP_SCRIPT_ON_RESUME, SootopolisCity_PokemonCenter_1F_MapScript1_277C30 .byte 0 -SootopolisCity_PokemonCenter_1F_MapScript1_2264FC: @ 82264FC +SootopolisCity_PokemonCenter_1F_OnTransition: @ 82264FC setrespawn HEAL_LOCATION_SOOTOPOLIS_CITY end diff --git a/data/maps/SootopolisCity_PokemonCenter_2F/scripts.inc b/data/maps/SootopolisCity_PokemonCenter_2F/scripts.inc index 275fe30467..4c9fce9123 100644 --- a/data/maps/SootopolisCity_PokemonCenter_2F/scripts.inc +++ b/data/maps/SootopolisCity_PokemonCenter_2F/scripts.inc @@ -2,7 +2,7 @@ SootopolisCity_PokemonCenter_2F_MapScripts:: @ 822676D map_script MAP_SCRIPT_ON_FRAME_TABLE, SootopolisCity_PokemonCenter_2F_MapScript2_276C3B map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SootopolisCity_PokemonCenter_2F_MapScript2_276B6C map_script MAP_SCRIPT_ON_LOAD, SootopolisCity_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, SootopolisCity_PokemonCenter_2F_MapScript1_276ACF + map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition .byte 0 SootopolisCity_PokemonCenter_2F_EventScript_226782:: @ 8226782 diff --git a/data/maps/SouthernIsland_Interior/scripts.inc b/data/maps/SouthernIsland_Interior/scripts.inc index 958c5f5463..a87b59079d 100644 --- a/data/maps/SouthernIsland_Interior/scripts.inc +++ b/data/maps/SouthernIsland_Interior/scripts.inc @@ -1,6 +1,6 @@ SouthernIsland_Interior_MapScripts:: @ 8242A45 map_script MAP_SCRIPT_ON_RESUME, SouthernIsland_Interior_MapScript1_242A50 - map_script MAP_SCRIPT_ON_TRANSITION, SouthernIsland_Interior_MapScript1_242A6E + map_script MAP_SCRIPT_ON_TRANSITION, SouthernIsland_Interior_OnTransition .byte 0 SouthernIsland_Interior_MapScript1_242A50: @ 8242A50 @@ -14,7 +14,7 @@ SouthernIsland_Interior_EventScript_242A5A:: @ 8242A5A removeobject 2 return -SouthernIsland_Interior_MapScript1_242A6E: @ 8242A6E +SouthernIsland_Interior_OnTransition: @ 8242A6E compare VAR_ROAMER_POKEMON, 0 call_if_eq SouthernIsland_Interior_EventScript_242A8A compare VAR_ROAMER_POKEMON, 0 diff --git a/data/maps/TerraCave_End/scripts.inc b/data/maps/TerraCave_End/scripts.inc index b5a664a760..79b209e8ad 100644 --- a/data/maps/TerraCave_End/scripts.inc +++ b/data/maps/TerraCave_End/scripts.inc @@ -1,6 +1,6 @@ TerraCave_End_MapScripts:: @ 823B0B0 map_script MAP_SCRIPT_ON_RESUME, TerraCave_End_MapScript1_23B0BB - map_script MAP_SCRIPT_ON_TRANSITION, TerraCave_End_MapScript1_23B0D9 + map_script MAP_SCRIPT_ON_TRANSITION, TerraCave_End_OnTransition .byte 0 TerraCave_End_MapScript1_23B0BB: @ 823B0BB @@ -14,7 +14,7 @@ TerraCave_End_EventScript_23B0C5:: @ 823B0C5 removeobject 1 return -TerraCave_End_MapScript1_23B0D9: @ 823B0D9 +TerraCave_End_OnTransition: @ 823B0D9 call_if_unset FLAG_DEFEATED_GROUDON, TerraCave_End_EventScript_23B0E3 end diff --git a/data/maps/TerraCave_Entrance/scripts.inc b/data/maps/TerraCave_Entrance/scripts.inc index b9e3e59104..70aa9cdfaa 100644 --- a/data/maps/TerraCave_Entrance/scripts.inc +++ b/data/maps/TerraCave_Entrance/scripts.inc @@ -1,8 +1,8 @@ TerraCave_Entrance_MapScripts:: @ 823B0A6 - map_script MAP_SCRIPT_ON_TRANSITION, TerraCave_Entrance_MapScript1_23B0AC + map_script MAP_SCRIPT_ON_TRANSITION, TerraCave_Entrance_OnTransition .byte 0 -TerraCave_Entrance_MapScript1_23B0AC: @ 823B0AC +TerraCave_Entrance_OnTransition: @ 823B0AC 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 9309d51f45..248854dd74 100644 --- a/data/maps/Underwater_MarineCave/scripts.inc +++ b/data/maps/Underwater_MarineCave/scripts.inc @@ -1,13 +1,13 @@ Underwater_MarineCave_MapScripts:: @ 823AFB8 - map_script MAP_SCRIPT_ON_RESUME, Underwater_MarineCave_MapScript1_23AFC7 - map_script MAP_SCRIPT_ON_TRANSITION, Underwater_MarineCave_MapScript1_23AFC3 + map_script MAP_SCRIPT_ON_RESUME, Underwater_MarineCave_MapScript1_OnResume + map_script MAP_SCRIPT_ON_TRANSITION, Underwater_MarineCave_OnTransition .byte 0 -Underwater_MarineCave_MapScript1_23AFC3: @ 823AFC3 +Underwater_MarineCave_OnTransition: @ 823AFC3 setflag FLAG_ARRIVED_AT_MARINE_CAVE_EMERGE_SPOT end -Underwater_MarineCave_MapScript1_23AFC7: @ 823AFC7 +Underwater_MarineCave_MapScript1_OnResume: @ 823AFC7 setdivewarp MAP_MARINE_CAVE_ENTRANCE, 255, 10, 17 end diff --git a/data/maps/UnionRoom/scripts.inc b/data/maps/UnionRoom/scripts.inc index 0871ae0335..c2f375e0f1 100644 --- a/data/maps/UnionRoom/scripts.inc +++ b/data/maps/UnionRoom/scripts.inc @@ -1,6 +1,6 @@ UnionRoom_MapScripts:: @ 823D1A6 map_script MAP_SCRIPT_ON_RESUME, UnionRoom_MapScript1_23D1B1 - map_script MAP_SCRIPT_ON_TRANSITION, UnionRoom_MapScript1_23D1E5 + map_script MAP_SCRIPT_ON_TRANSITION, UnionRoom_OnTransition .byte 0 UnionRoom_MapScript1_23D1B1: @ 823D1B1 @@ -23,7 +23,7 @@ UnionRoom_MapScript1_23D1B1: @ 823D1B1 special UnionRoomSpecial end -UnionRoom_MapScript1_23D1E5: @ 823D1E5 +UnionRoom_OnTransition: @ 823D1E5 end UnionRoom_EventScript_23D1E6:: @ 823D1E6 diff --git a/data/maps/VerdanturfTown/scripts.inc b/data/maps/VerdanturfTown/scripts.inc index bd2bce048d..bd8328db8b 100644 --- a/data/maps/VerdanturfTown/scripts.inc +++ b/data/maps/VerdanturfTown/scripts.inc @@ -1,8 +1,8 @@ VerdanturfTown_MapScripts:: @ 81EB566 - map_script MAP_SCRIPT_ON_TRANSITION, VerdanturfTown_MapScript1_1EB56C + map_script MAP_SCRIPT_ON_TRANSITION, VerdanturfTown_OnTransition .byte 0 -VerdanturfTown_MapScript1_1EB56C: @ 81EB56C +VerdanturfTown_OnTransition: @ 81EB56C setflag FLAG_VISITED_VERDANTURF_TOWN setvar VAR_LINK_CONTEST_ROOM_STATE, 0 end diff --git a/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc b/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc index 9d98e790c3..b43bc6077e 100644 --- a/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc +++ b/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc @@ -1,10 +1,10 @@ VerdanturfTown_BattleTentBattleRoom_MapScripts:: @ 82022FA - map_script MAP_SCRIPT_ON_TRANSITION, VerdanturfTown_BattleTentBattleRoom_MapScript1_20230A + map_script MAP_SCRIPT_ON_TRANSITION, VerdanturfTown_BattleTentBattleRoom_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, VerdanturfTown_BattleTentBattleRoom_MapScript2_20233E map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, VerdanturfTown_BattleTentBattleRoom_MapScript2_202541 .byte 0 -VerdanturfTown_BattleTentBattleRoom_MapScript1_20230A: @ 820230A +VerdanturfTown_BattleTentBattleRoom_OnTransition: @ 820230A call VerdanturfTown_BattleTentBattleRoom_EventScript_202310 end diff --git a/data/maps/VerdanturfTown_PokemonCenter_1F/scripts.inc b/data/maps/VerdanturfTown_PokemonCenter_1F/scripts.inc index 474448132a..5eb738e734 100644 --- a/data/maps/VerdanturfTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/VerdanturfTown_PokemonCenter_1F/scripts.inc @@ -1,9 +1,9 @@ VerdanturfTown_PokemonCenter_1F_MapScripts:: @ 8202726 - map_script MAP_SCRIPT_ON_TRANSITION, VerdanturfTown_PokemonCenter_1F_MapScript1_202731 + map_script MAP_SCRIPT_ON_TRANSITION, VerdanturfTown_PokemonCenter_1F_OnTransition map_script MAP_SCRIPT_ON_RESUME, VerdanturfTown_PokemonCenter_1F_MapScript1_277C30 .byte 0 -VerdanturfTown_PokemonCenter_1F_MapScript1_202731: @ 8202731 +VerdanturfTown_PokemonCenter_1F_OnTransition: @ 8202731 setrespawn HEAL_LOCATION_VERDANTURF_TOWN call VerdanturfTown_PokemonCenter_1F_EventScript_2718DE end diff --git a/data/maps/VerdanturfTown_PokemonCenter_2F/scripts.inc b/data/maps/VerdanturfTown_PokemonCenter_2F/scripts.inc index b09335fb26..0964fa96f1 100644 --- a/data/maps/VerdanturfTown_PokemonCenter_2F/scripts.inc +++ b/data/maps/VerdanturfTown_PokemonCenter_2F/scripts.inc @@ -2,7 +2,7 @@ VerdanturfTown_PokemonCenter_2F_MapScripts:: @ 8202897 map_script MAP_SCRIPT_ON_FRAME_TABLE, VerdanturfTown_PokemonCenter_2F_MapScript2_276C3B map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, VerdanturfTown_PokemonCenter_2F_MapScript2_276B6C map_script MAP_SCRIPT_ON_LOAD, VerdanturfTown_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, VerdanturfTown_PokemonCenter_2F_MapScript1_276ACF + map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition .byte 0 VerdanturfTown_PokemonCenter_2F_EventScript_2028AC:: @ 82028AC diff --git a/data/maps/VictoryRoad_1F/scripts.inc b/data/maps/VictoryRoad_1F/scripts.inc index 96f3c6f42d..5214edc44f 100644 --- a/data/maps/VictoryRoad_1F/scripts.inc +++ b/data/maps/VictoryRoad_1F/scripts.inc @@ -1,8 +1,8 @@ VictoryRoad_1F_MapScripts:: @ 8235D7A - map_script MAP_SCRIPT_ON_TRANSITION, VictoryRoad_1F_MapScript1_235D80 + map_script MAP_SCRIPT_ON_TRANSITION, VictoryRoad_1F_OnTransition .byte 0 -VictoryRoad_1F_MapScript1_235D80: @ 8235D80 +VictoryRoad_1F_OnTransition: @ 8235D80 compare VAR_VICTORY_ROAD_1F_STATE, 1 call_if_eq VictoryRoad_1F_EventScript_235D97 compare VAR_VICTORY_ROAD_1F_STATE, 2 diff --git a/data/maps/VictoryRoad_B1F/map.json b/data/maps/VictoryRoad_B1F/map.json index 74bd3dbf8e..b8f00f4fbd 100644 --- a/data/maps/VictoryRoad_B1F/map.json +++ b/data/maps/VictoryRoad_B1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VictoryRoad_B1F_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_13" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VictoryRoad_B1F_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_14" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VictoryRoad_B1F_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_11" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VictoryRoad_B1F_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_12" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VictoryRoad_B1F_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_17" }, { @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VictoryRoad_B1F_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_16" }, { @@ -102,7 +102,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VictoryRoad_B1F_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_1E" }, { @@ -115,7 +115,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VictoryRoad_B1F_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_19" }, { @@ -128,7 +128,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VictoryRoad_B1F_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_1A" }, { @@ -141,7 +141,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VictoryRoad_B1F_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_1B" }, { @@ -154,7 +154,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VictoryRoad_B1F_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_1C" }, { @@ -167,7 +167,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VictoryRoad_B1F_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_1D" }, { @@ -180,7 +180,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VictoryRoad_B1F_EventScript_2908BA", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_TEMP_1F" }, { @@ -232,7 +232,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VictoryRoad_B1F_EventScript_2907A6", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_15" }, { diff --git a/data/menu_specialized.s b/data/menu_specialized.s deleted file mode 100644 index 2005d5bf60..0000000000 --- a/data/menu_specialized.s +++ /dev/null @@ -1,72 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - - -gUnknown_08625AD0:: @ 8625AD0 - .2byte 0 - .2byte 0x4000 - .2byte 0 - .2byte 0 - -gUnknown_08625AD8:: @ 8625AD8 - .2byte 0 - .2byte 5 - .2byte 4 - .2byte 5 - -gUnknown_08625AE0:: @ 8625AE0 - .2byte 8 - .2byte 5 - .2byte 12 - .2byte 5 - -gUnknown_08625AE8:: @ 8625AE8 - .2byte 16 - .2byte 5 - .2byte 20 - .2byte 5 - -gUnknown_08625AF0:: @ 8625AF0 - .2byte 24 - .2byte 5 - .2byte 0xFFFF - .2byte 0 - -gUnknown_08625AF8:: @ 8625AF8 - .4byte gUnknown_08625AD8 - .4byte gUnknown_08625AE0 - -gUnknown_08625B00:: @ 8625B00 - .4byte gUnknown_08625AE8 - .4byte gUnknown_08625AF0 - -gUnknown_08625B08:: @ 8625B08 - .4byte gUnknown_08625AF8 - .4byte gUnknown_08625B00 - .4byte gUnknown_08625B08 - -gUnknown_08625B14:: @ 8625B14 - spr_template 0x68, 0x68, gUnknown_08625AD0, gUnknown_08625AF8, NULL gDummySpriteAffineAnimTable, sub_81D3564 - -gUnknown_08625B2C:: @ 8625B2C - .2byte 0, 0xFFDD - .2byte 20, 0xFFE4 - .2byte 33, 0xFFF6 - .2byte 33, 10 - .2byte 20, 28 - .2byte 0, 35 - .2byte 0xFFEC, 28 - .2byte 0xFFDF, 10 - .2byte 0xFFDF, 0xFFF6 - .2byte 0xFFEC, 0xFFE4 - -gUnknown_08625B54:: @ 8625B54 - .4byte gUnknown_085EEA46 - .4byte gUnknown_085EEA4E - .4byte gUnknown_085EEA55 - .4byte gUnknown_085EEA63 - .4byte gUnknown_085EEA6B - .4byte gUnknown_085EEA5D diff --git a/data/pokemon_jump.s b/data/pokemon_jump.s index 8ef0201e45..b10c37600e 100755 --- a/data/pokemon_jump.s +++ b/data/pokemon_jump.s @@ -4,133 +4,6 @@ .section .rodata - .align 2 -gPkmnJumpSpecies:: @ 82FB464 - .2byte SPECIES_BULBASAUR, 0x0002 - .2byte SPECIES_CHARMANDER, 0x0001 - .2byte SPECIES_SQUIRTLE, 0x0000 - .2byte SPECIES_CATERPIE, 0x0001 - .2byte SPECIES_METAPOD, 0x0001 - .2byte SPECIES_WEEDLE, 0x0001 - .2byte SPECIES_KAKUNA, 0x0001 - .2byte SPECIES_RATTATA, 0x0001 - .2byte SPECIES_RATICATE, 0x0001 - .2byte SPECIES_PIKACHU, 0x0000 - .2byte SPECIES_SANDSHREW, 0x0000 - .2byte SPECIES_NIDORAN_F, 0x0000 - .2byte SPECIES_NIDORAN_M, 0x0000 - .2byte SPECIES_CLEFAIRY, 0x0000 - .2byte SPECIES_VULPIX, 0x0000 - .2byte SPECIES_JIGGLYPUFF, 0x0002 - .2byte SPECIES_ODDISH, 0x0002 - .2byte SPECIES_PARAS, 0x0001 - .2byte SPECIES_MEOWTH, 0x0000 - .2byte SPECIES_PSYDUCK, 0x0002 - .2byte SPECIES_MANKEY, 0x0001 - .2byte SPECIES_GROWLITHE, 0x0001 - .2byte SPECIES_POLIWAG, 0x0002 - .2byte SPECIES_BELLSPROUT, 0x0002 - .2byte SPECIES_SHELLDER, 0x0001 - .2byte SPECIES_KRABBY, 0x0001 - .2byte SPECIES_EXEGGCUTE, 0x0002 - .2byte SPECIES_CUBONE, 0x0000 - .2byte SPECIES_DITTO, 0x0002 - .2byte SPECIES_EEVEE, 0x0000 - .2byte SPECIES_OMANYTE, 0x0001 - .2byte SPECIES_KABUTO, 0x0001 - .2byte SPECIES_CHIKORITA, 0x0002 - .2byte SPECIES_CYNDAQUIL, 0x0001 - .2byte SPECIES_TOTODILE, 0x0000 - .2byte SPECIES_SPINARAK, 0x0001 - .2byte SPECIES_PICHU, 0x0000 - .2byte SPECIES_CLEFFA, 0x0000 - .2byte SPECIES_IGGLYBUFF, 0x0002 - .2byte SPECIES_TOGEPI, 0x0002 - .2byte SPECIES_MAREEP, 0x0000 - .2byte SPECIES_BELLOSSOM, 0x0002 - .2byte SPECIES_MARILL, 0x0002 - .2byte SPECIES_SUNKERN, 0x0002 - .2byte SPECIES_WOOPER, 0x0002 - .2byte SPECIES_PINECO, 0x0002 - .2byte SPECIES_SNUBBULL, 0x0000 - .2byte SPECIES_SHUCKLE, 0x0002 - .2byte SPECIES_TEDDIURSA, 0x0000 - .2byte SPECIES_SLUGMA, 0x0002 - .2byte SPECIES_SWINUB, 0x0000 - .2byte SPECIES_HOUNDOUR, 0x0001 - .2byte SPECIES_PHANPY, 0x0000 - .2byte SPECIES_PORYGON2, 0x0000 - .2byte SPECIES_TYROGUE, 0x0001 - .2byte SPECIES_SMOOCHUM, 0x0002 - .2byte SPECIES_ELEKID, 0x0001 - .2byte SPECIES_MAGBY, 0x0001 - .2byte SPECIES_LARVITAR, 0x0001 - .2byte SPECIES_TREECKO, 0x0001 - .2byte SPECIES_TORCHIC, 0x0002 - .2byte SPECIES_MUDKIP, 0x0000 - .2byte SPECIES_MARSHTOMP, 0x0000 - .2byte SPECIES_POOCHYENA, 0x0001 - .2byte SPECIES_ZIGZAGOON, 0x0000 - .2byte SPECIES_LINOONE, 0x0000 - .2byte SPECIES_WURMPLE, 0x0001 - .2byte SPECIES_SILCOON, 0x0002 - .2byte SPECIES_CASCOON, 0x0002 - .2byte SPECIES_LOTAD, 0x0002 - .2byte SPECIES_SEEDOT, 0x0001 - .2byte SPECIES_RALTS, 0x0000 - .2byte SPECIES_KIRLIA, 0x0000 - .2byte SPECIES_SURSKIT, 0x0002 - .2byte SPECIES_SHROOMISH, 0x0002 - .2byte SPECIES_NINCADA, 0x0001 - .2byte SPECIES_WHISMUR, 0x0000 - .2byte SPECIES_AZURILL, 0x0002 - .2byte SPECIES_SKITTY, 0x0000 - .2byte SPECIES_SABLEYE, 0x0000 - .2byte SPECIES_MAWILE, 0x0000 - .2byte SPECIES_ARON, 0x0001 - .2byte SPECIES_MEDITITE, 0x0002 - .2byte SPECIES_ELECTRIKE, 0x0001 - .2byte SPECIES_PLUSLE, 0x0001 - .2byte SPECIES_MINUN, 0x0001 - .2byte SPECIES_VOLBEAT, 0x0000 - .2byte SPECIES_ILLUMISE, 0x0000 - .2byte SPECIES_ROSELIA, 0x0002 - .2byte SPECIES_GULPIN, 0x0002 - .2byte SPECIES_NUMEL, 0x0002 - .2byte SPECIES_TORKOAL, 0x0002 - .2byte SPECIES_SPOINK, 0x0000 - .2byte SPECIES_TRAPINCH, 0x0002 - .2byte SPECIES_CACNEA, 0x0002 - .2byte SPECIES_ANORITH, 0x0001 - .2byte SPECIES_WYNAUT, 0x0000 - .2byte SPECIES_SNORUNT, 0x0000 - .2byte SPECIES_CLAMPERL, 0x0001 - .2byte SPECIES_BAGON, 0x0001 - - .align 2 -gUnknown_082FB5F4:: @ 82FB5F4 - .4byte sub_802B248 - .4byte sub_802B2D4 - .4byte sub_802B368 - .4byte sub_802B3D4 - .4byte sub_802B4CC - .4byte sub_802B5C8 - .4byte sub_802B664 - .4byte sub_802B6B8 - .4byte sub_802B720 - - .align 2 -gUnknown_082FB618:: @ 82FB618 - .4byte sub_802B29C - .4byte sub_802B31C - .4byte sub_802B3B4 - .4byte sub_802B470 - .4byte sub_802B568 - .4byte sub_802B628 - .4byte sub_802B664 - .4byte sub_802B704 - .4byte sub_802B720 - .align 2 gUnknown_082FB63C:: @ 82FB63C .2byte 0x001a, 0x001f, 0x0024, 0x0029, 0x002e, 0x0033, 0x0038, 0x003d @@ -151,12 +24,14 @@ gUnknown_082FB65C:: @ 82FB65C .byte 0xee, 0xef, 0xf1, 0xf3, 0xf5, 0xf8, 0xfa, 0xfc .byte 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0xfd, 0xfa, 0xf7, 0xf5, 0xf2, 0xf0, 0xee, 0xec .byte 0xea, 0xe8, 0xe6, 0xe4, 0xe3, 0xe2, 0xe2, 0xe4 .byte 0xe6, 0xe8, 0xea, 0xec, 0xee, 0xf0, 0xf2, 0xf5 .byte 0xf7, 0xfa, 0xfc, 0xff, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0xfd, 0xfa, 0xf7, 0xf5, 0xf3, 0xf1, 0xef, 0xed .byte 0xeb, 0xe9, 0xe7, 0xe5, 0xe4, 0xe3, 0xe2, 0xe2 .byte 0xe2, 0xe2, 0xe3, 0xe3, 0xe4, 0xe4, 0xe5, 0xe5 diff --git a/data/pokenav.s b/data/pokenav.s index cb5030b4ba..81ee9024d6 100644 --- a/data/pokenav.s +++ b/data/pokenav.s @@ -3,128 +3,7 @@ .section .rodata -gUnknown_0861FA6C:: @ 861FA6C - obj_tiles gPokenavLeftHeaderMainMenu_Gfx, 0x20, 3 - obj_tiles gPokenavLeftHeaderCondition_Gfx, 0x20, 1 - obj_tiles gPokenavLeftHeaderRibbons_Gfx, 0x20, 2 - obj_tiles gPokenavLeftHeaderMatchCall_Gfx, 0x20, 4 - obj_tiles gPokenavLeftHeaderHoennMap_Gfx, 0x20, 0 - obj_tiles gPokenavLeftHeaderHoennMap_Gfx, 0x40, 0 - -gUnknown_0861FA9C:: @ 861FA9C - .4byte gPokenavLeftHeaderParty_Gfx, 1 - .4byte gPokenavLeftHeaderSearch_Gfx, 1 - .4byte gPokenavLeftHeaderCool_Gfx, 4 - .4byte gPokenavLeftHeaderBeauty_Gfx, 1 - .4byte gPokenavLeftHeaderCute_Gfx, 2 - .4byte gPokenavLeftHeaderSmart_Gfx, 0 - .4byte gPokenavLeftHeaderTough_Gfx, 0 - -gUnknown_0861FAD4:: @ 861FAD4 - .2byte 0x0 - .2byte 0x8000 - .2byte 0x0 - .2byte 0x0 - -gUnknown_0861FADC:: - obj_image_anim_frame 0, 8 - obj_image_anim_frame 16, 8 - obj_image_anim_frame 32, 8 - obj_image_anim_frame 48, 8 - obj_image_anim_frame 64, 8 - obj_image_anim_frame 80, 8 - obj_image_anim_frame 96, 8 - obj_image_anim_frame 112, 8 - obj_image_anim_jump 0 - -gUnknown_0861FB00:: - .4byte gUnknown_0861FADC - -gUnknown_0861FB04:: @ 861FB04 - spr_template 0, 0, gUnknown_0861FAD4, gUnknown_0861FB00, NULL, gDummySpriteAffineAnimTable, sub_81C7CB4 - -gUnknown_0861FB1C:: - .2byte 0x4000 - .2byte 0xC000 - .2byte 0x400 - .2byte 0x0 - -gUnknown_0861FB24:: - .2byte 0x4000 - .2byte 0x8000 - .2byte 0x400 - .2byte 0x0 - -gUnknown_0861FB2C:: @ 861FB2C - spr_template 2, 1, gUnknown_0861FB1C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_0861FB44:: @ 861FB44 - spr_template 2, 2, gUnknown_0861FB24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_0861FB5C:: @ 861FB5C - .incbin "graphics/pokenav/arrows_matchcall.gbapal" - -gUnknown_0861FB7C:: @ 861FB7C - .incbin "graphics/pokenav/arrows_matchcall.4bpp.lz" - -gUnknown_0861FBE4:: @ 861FBE4 - .byte 0x0 - .byte 0x2 - .byte 0x5 - .byte 0x0 - -gUnknown_0861FBE8:: @ 861FBE8 - .4byte gUnknown_085EBEA8 - .4byte gUnknown_085EBEB1 - .4byte gUnknown_085EBEC3 - -gUnknown_0861FBF4:: @ 861FBF4 - .byte 0x1 - .byte 0x4 - .byte 0x5 - -gUnknown_0861FBF7:: @ 861FBF7 - .byte 0x2 - .byte 0x4 - .byte 0x6 - .byte 0x7 - .byte 0x0 - -gUnknown_0861FBFC:: @ 861FBFC - .4byte gUnknown_0861FB7C - .2byte 0xC0 - .2byte 0xA - -gUnknown_0861FC04:: @ 861FC04 - .4byte gUnknown_0861FB5C - .4byte 0x14 - .4byte 0x0 - .4byte 0x0 - -gUnknown_0861FC14:: @ 861FC14 - .4byte 0x8000 - .4byte 0x800 - -gUnknown_0861FC1C:: @ 861FC1C - spr_template 10, 20, gUnknown_0861FC14, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81C9080 - -gUnknown_0861FC34:: @ 861FC34 - .4byte 0x4000 - .4byte 0x800 - -gUnknown_0861FC3C:: @ 861FC3C - spr_template 10, 20, gUnknown_0861FC34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_0861FC54:: @ 861FC54 - .byte 2 - .byte 3 - .byte 4 - .byte 2 - .byte 5 - -gUnknown_0861FC59:: @ 861FC59 - .byte 0, 1, 4, 4, 4, 4, 0, 1, 2, 4, 4, 4, 0, 1, 2, 3, 4, 4, 5, 6, 7, 4, 4, 4, 8, 9, 10, 11, 12, 13, 0 - +// pokenav_unk_2.s gUnknown_0861FC78:: @ 861FC78 .incbin "graphics/pokenav/bg.gbapal" @@ -313,7 +192,8 @@ gUnknown_08620384:: @ 8620384 .4byte 0x4000040 .4byte 0xa2600001 .byte 1, 0, 0, 0 - + +// pokenav_unk_3.s gUnknown_08620390:: @ 8620390 .string "Becalm fighting emotions.$" @@ -1339,6 +1219,7 @@ gUnknown_08622508:: @ 8622508 gUnknown_0862250A:: @ 862250A .byte 0, 1, 2, 0, 0, 0 +// pokenav_unk_4.s gUnknown_08622510:: @ 8622510 .incbin "graphics/pokenav/ui_matchcall.gbapal" @@ -1371,7 +1252,7 @@ gUnknown_0862278C:: @ 862278C .4byte 0x20206A gUnknown_08622794:: @ 8622794 - .4byte 0x3077 + .4byte 0x00003077 gUnknown_08622798:: @ 8622798 .4byte NULL @@ -1435,6 +1316,7 @@ gUnknown_08622848:: @ 8622848 gUnknown_08622850:: @ 8622850 spr_template 8, 13, gUnknown_08622848, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy +// pokenav_unk_5.s gUnknown_08622868:: @ 8622868 .incbin "graphics/pokenav/8622868.gbapal" @@ -1568,6 +1450,10 @@ gUnknown_086231C8:: @ 86231C8 gUnknown_086231D0:: @ 86231D0 spr_template 6, 11, gUnknown_086231C8, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81CCEF4 +// pokenav_unk_6.s +// + +// pokenav_unk_7.s gUnknown_086231E8:: @ 86231E8 .incbin "graphics/pokenav/86231E8.gbapal" @@ -1600,6 +1486,7 @@ gUnknown_08623374:: @ 8623374 gUnknown_0862337C:: @ 862337C window_template 1, 13, 0x1C, 3, 2, 15, 0x44 +// pokenav_unk_8.s gUnknown_08623384:: @ 8623384 .4byte NULL .4byte sub_81CE37C @@ -1660,6 +1547,7 @@ gUnknown_086235D4:: @ 86235D4 .string "{UNK_SPACER}$" .align 2 +// pokenav_unk_9.s gUnknown_086235D8:: @ 86235D8 .4byte sub_81CFB8C .4byte sub_81CFC2C @@ -1707,6 +1595,7 @@ gUnknown_086237F4:: @ 86237F4 .string "{UNK_SPACER}$" .align 2 +// pokenav_unk_10.s gUnknown_086237F8:: @ 86237F8 .byte 1, 1, 0, 0 .byte 3, 4, 1, 0 diff --git a/data/scripts/cable_club.inc b/data/scripts/cable_club.inc index c755493dcf..fe3fa9fae4 100644 --- a/data/scripts/cable_club.inc +++ b/data/scripts/cable_club.inc @@ -1,24 +1,8 @@ -BattleFrontier_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF -DewfordTown_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF -EverGrandeCity_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF -EverGrandeCity_PokemonLeague_2F_MapScript1_276ACF: @ 8276ACF -FallarborTown_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF -FortreeCity_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF -LavaridgeTown_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF -LilycoveCity_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF -MauvilleCity_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF -MossdeepCity_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF -OldaleTown_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF -PacifidlogTown_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF -PetalburgCity_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF -RustboroCity_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF -SlateportCity_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF -SootopolisCity_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF -VerdanturfTown_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF - call OldaleTown_PokemonCenter_2F_EventScript_276AD5 +PokemonCenter_2F_OnTransition: @ 8276ACF + call OldaleTown_PokemonCenter_2F_EventScript_OnTransitionCheckMysteryGift end -OldaleTown_PokemonCenter_2F_EventScript_276AD5:: @ 8276AD5 +OldaleTown_PokemonCenter_2F_EventScript_OnTransitionCheckMysteryGift:: @ 8276AD5 specialvar VAR_RESULT, sub_813B514 compare VAR_RESULT, 1 goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276AFB diff --git a/data/scripts/field_move_scripts.inc b/data/scripts/field_move_scripts.inc index 024ffbf850..6eae552948 100644 --- a/data/scripts/field_move_scripts.inc +++ b/data/scripts/field_move_scripts.inc @@ -1,221 +1,189 @@ -PetalburgWoods_EventScript_2906BB:: @ 82906BB -Route103_EventScript_2906BB:: @ 82906BB -Route104_EventScript_2906BB:: @ 82906BB -Route110_TrickHousePuzzle1_EventScript_2906BB:: @ 82906BB -Route111_EventScript_2906BB:: @ 82906BB -Route116_EventScript_2906BB:: @ 82906BB -Route117_EventScript_2906BB:: @ 82906BB -Route118_EventScript_2906BB:: @ 82906BB -Route120_EventScript_2906BB:: @ 82906BB -Route121_EventScript_2906BB:: @ 82906BB -Route123_EventScript_2906BB:: @ 82906BB + +EventScript_CutTree:: @ 82906BB lockall - goto_if_unset FLAG_BADGE01_GET, Route103_EventScript_290721 + goto_if_unset FLAG_BADGE01_GET, EventScript_CheckTreeCantCut checkpartymove MOVE_CUT compare VAR_RESULT, 6 - goto_if_eq Route103_EventScript_290721 + goto_if_eq EventScript_CheckTreeCantCut setfieldeffectargument 0, VAR_RESULT bufferpartymonnick 0, VAR_RESULT buffermovename 1, MOVE_CUT - msgbox Route103_Text_29072E, MSGBOX_YESNO + msgbox Text_WantToCut, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_if_eq Route103_EventScript_29072B - msgbox Route103_Text_290771, MSGBOX_DEFAULT + goto_if_eq EventScript_CancelCut + msgbox Text_MonUsedHM, MSGBOX_DEFAULT closemessage - dofieldeffect 2 + dofieldeffect FLDEFF_USE_CUT_ON_TREE waitstate - goto Route103_EventScript_290710 + goto EventScript_CutTreeDown end -Route103_EventScript_290705:: @ 8290705 +EventScript_FldEffCut:: @ 8290705 lockall - dofieldeffect 2 + dofieldeffect FLDEFF_USE_CUT_ON_TREE waitstate - goto Route103_EventScript_290710 + goto EventScript_CutTreeDown end -Route103_EventScript_290710:: @ 8290710 - applymovement VAR_LAST_TALKED, Route103_Movement_29071F +EventScript_CutTreeDown:: @ 8290710 + applymovement VAR_LAST_TALKED, Movement_CutTreeDown waitmovement 0 removeobject VAR_LAST_TALKED releaseall end -Route103_Movement_29071F: @ 829071F +Movement_CutTreeDown: @ 829071F cut_tree step_end -Route103_EventScript_290721:: @ 8290721 - msgbox Route103_Text_29077D, MSGBOX_DEFAULT +EventScript_CheckTreeCantCut:: @ 8290721 + msgbox Text_CantCut, MSGBOX_DEFAULT releaseall end -Route103_EventScript_29072B:: @ 829072B +EventScript_CancelCut:: @ 829072B closemessage releaseall end -Route103_Text_29072E: @ 829072E +Text_WantToCut: @ 829072E .string "This tree looks like it can be\n" .string "CUT down!\p" .string "Would you like to CUT it?$" -Route103_Text_290771: @ 8290771 -Route111_Text_290771: @ 8290771 +Text_MonUsedHM: @ 8290771 .string "{STR_VAR_1} used {STR_VAR_2}!$" -Route103_Text_29077D: @ 829077D +Text_CantCut: @ 829077D .string "This tree looks like it can be\n" .string "CUT down!$" -GraniteCave_B2F_EventScript_2907A6:: @ 82907A6 -MirageTower_3F_EventScript_2907A6:: @ 82907A6 -MirageTower_4F_EventScript_2907A6:: @ 82907A6 -Route110_TrickHousePuzzle3_EventScript_2907A6:: @ 82907A6 -Route111_EventScript_2907A6:: @ 82907A6 -Route114_EventScript_2907A6:: @ 82907A6 -Route115_EventScript_2907A6:: @ 82907A6 -RusturfTunnel_EventScript_2907A6:: @ 82907A6 -SafariZone_North_EventScript_2907A6:: @ 82907A6 -SafariZone_Northeast_EventScript_2907A6:: @ 82907A6 -SeafloorCavern_Room1_EventScript_2907A6:: @ 82907A6 -SeafloorCavern_Room2_EventScript_2907A6:: @ 82907A6 -SeafloorCavern_Room5_EventScript_2907A6:: @ 82907A6 -VictoryRoad_B1F_EventScript_2907A6:: @ 82907A6 +EventScript_RockSmash:: @ 82907A6 lockall - goto_if_unset FLAG_BADGE03_GET, Route111_EventScript_29082D + goto_if_unset FLAG_BADGE03_GET, EventScript_CantSmashRock checkpartymove MOVE_ROCK_SMASH compare VAR_RESULT, 6 - goto_if_eq Route111_EventScript_29082D + goto_if_eq EventScript_CantSmashRock setfieldeffectargument 0, VAR_RESULT bufferpartymonnick 0, VAR_RESULT buffermovename 1, MOVE_ROCK_SMASH - msgbox Route111_Text_29083A, MSGBOX_YESNO + msgbox Text_WantToSmash, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_if_eq Route111_EventScript_290837 - msgbox Route111_Text_290771, MSGBOX_DEFAULT + goto_if_eq EventScript_CancelSmash + msgbox Text_MonUsedHM, MSGBOX_DEFAULT closemessage - dofieldeffect 37 + dofieldeffect FLDEFF_USE_ROCK_SMASH waitstate - goto Route111_EventScript_2907FB + goto EventScript_SmashRock end -Route111_EventScript_2907F0:: @ 82907F0 +EventScript_FldEffRockSmash:: @ 82907F0 lockall - dofieldeffect 37 + dofieldeffect FLDEFF_USE_ROCK_SMASH waitstate - goto Route111_EventScript_2907FB + goto EventScript_SmashRock end -Route111_EventScript_2907FB:: @ 82907FB - applymovement VAR_LAST_TALKED, Route111_Movement_29082B +EventScript_SmashRock:: @ 82907FB + applymovement VAR_LAST_TALKED, Movement_SmashRock waitmovement 0 removeobject VAR_LAST_TALKED specialvar VAR_RESULT, TryUpdateRusturfTunnelState compare VAR_RESULT, 1 - goto_if_eq Route111_EventScript_290829 + goto_if_eq EventScript_EndSmash special RockSmashWildEncounter compare VAR_RESULT, 0 - goto_if_eq Route111_EventScript_290829 + goto_if_eq EventScript_EndSmash waitstate releaseall end -Route111_EventScript_290829:: @ 8290829 +EventScript_EndSmash:: @ 8290829 releaseall end -Route111_Movement_29082B: @ 829082B +Movement_SmashRock: @ 829082B rock_smash_break step_end -Route111_EventScript_29082D:: @ 829082D - msgbox Route111_Text_29087F, MSGBOX_DEFAULT +EventScript_CantSmashRock:: @ 829082D + msgbox Text_CantSmash, MSGBOX_DEFAULT releaseall end -Route111_EventScript_290837:: @ 8290837 +EventScript_CancelSmash:: @ 8290837 closemessage releaseall end -Route111_Text_29083A: @ 829083A +Text_WantToSmash: @ 829083A .string "This rock appears to be breakable.\n" .string "Would you like to use ROCK SMASH?$" -Route111_Text_29087F: @ 829087F +Text_CantSmash: @ 829087F .string "It's a rugged rock, but a POKéMON\n" .string "may be able to smash it.$" -FieryPath_EventScript_2908BA:: @ 82908BA -MagmaHideout_1F_EventScript_2908BA:: @ 82908BA -Route110_TrickHousePuzzle4_EventScript_2908BA:: @ 82908BA -SeafloorCavern_Room1_EventScript_2908BA:: @ 82908BA -SeafloorCavern_Room2_EventScript_2908BA:: @ 82908BA -SeafloorCavern_Room3_EventScript_2908BA:: @ 82908BA -SeafloorCavern_Room5_EventScript_2908BA:: @ 82908BA -SeafloorCavern_Room8_EventScript_2908BA:: @ 82908BA -ShoalCave_LowTideLowerRoom_EventScript_2908BA:: @ 82908BA -VictoryRoad_B1F_EventScript_2908BA:: @ 82908BA +EventScript_StrengthBoulder:: @ 82908BA lockall - goto_if_unset FLAG_BADGE04_GET, FieryPath_EventScript_290915 - goto_if_set FLAG_SYS_USE_STRENGTH, FieryPath_EventScript_29091F + goto_if_unset FLAG_BADGE04_GET, EventScript_CantStrength + goto_if_set FLAG_SYS_USE_STRENGTH, EventScript_CheckActivatedBoulder checkpartymove MOVE_STRENGTH compare VAR_RESULT, 6 - goto_if_eq FieryPath_EventScript_290915 + goto_if_eq EventScript_CantStrength setfieldeffectargument 0, VAR_RESULT - msgbox FieryPath_Text_29092C, MSGBOX_YESNO + msgbox Text_WantToStrength, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_if_eq FieryPath_EventScript_290929 + goto_if_eq EventScript_CancelStrength closemessage - dofieldeffect 40 + dofieldeffect FLDEFF_USE_STRENGTH waitstate - goto FieryPath_EventScript_290908 + goto EventScript_ActivateStrength end -FieryPath_EventScript_2908FD:: @ 82908FD +EventScript_FldEffStrength:: @ 82908FD lockall - dofieldeffect 40 + dofieldeffect FLDEFF_USE_STRENGTH waitstate - goto FieryPath_EventScript_290908 + goto EventScript_ActivateStrength end -FieryPath_EventScript_290908:: @ 8290908 +EventScript_ActivateStrength:: @ 8290908 setflag FLAG_SYS_USE_STRENGTH - msgbox FieryPath_Text_29098C, MSGBOX_DEFAULT + msgbox Text_MonUsedStrength, MSGBOX_DEFAULT releaseall end -FieryPath_EventScript_290915:: @ 8290915 - msgbox FieryPath_Text_2909D6, MSGBOX_DEFAULT +EventScript_CantStrength:: @ 8290915 + msgbox Text_CantStrength, MSGBOX_DEFAULT releaseall end -FieryPath_EventScript_29091F:: @ 829091F - msgbox FieryPath_Text_290A16, MSGBOX_DEFAULT +EventScript_CheckActivatedBoulder:: @ 829091F + msgbox Text_StrengthActivated, MSGBOX_DEFAULT releaseall end -FieryPath_EventScript_290929:: @ 8290929 +EventScript_CancelStrength:: @ 8290929 closemessage releaseall end -FieryPath_Text_29092C: @ 829092C +Text_WantToStrength: @ 829092C .string "It's a big boulder, but a POKéMON\n" .string "may be able to push it aside.\p" .string "Would you like to use STRENGTH?$" -FieryPath_Text_29098C: @ 829098C +Text_MonUsedStrength: @ 829098C .string "{STR_VAR_1} used STRENGTH!\p" .string "{STR_VAR_1}'s STRENGTH made it\n" .string "possible to move boulders around!$" -FieryPath_Text_2909D6: @ 82909D6 +Text_CantStrength: @ 82909D6 .string "It's a big boulder, but a POKéMON\n" .string "may be able to push it aside.$" -FieryPath_Text_290A16: @ 8290A16 +Text_StrengthActivated: @ 8290A16 .string "STRENGTH made it possible to move\n" .string "boulders around.$" @@ -223,59 +191,59 @@ EventScript_UseWaterfall:: @ 8290A49 lockall checkpartymove MOVE_WATERFALL compare VAR_RESULT, 6 - goto_if_eq EventScript_290A84 + goto_if_eq EventScript_CantWaterfall bufferpartymonnick 0, VAR_RESULT setfieldeffectargument 0, VAR_RESULT - msgbox Text_290AC3, MSGBOX_YESNO + msgbox Text_WantToWaterfall, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_if_eq EventScript_290A8C - msgbox Text_290AFC, MSGBOX_DEFAULT - dofieldeffect 43 - goto EventScript_290A8C + goto_if_eq EventScript_EndWaterfall + msgbox Text_MonUsedWaterfall, MSGBOX_DEFAULT + dofieldeffect FLDEFF_USE_WATERFALL + goto EventScript_EndWaterfall EventScript_CannotUseWaterfall:: @ 8290A83 lockall -EventScript_290A84:: @ 8290A84 - msgbox Text_290A8E, MSGBOX_DEFAULT +EventScript_CantWaterfall:: @ 8290A84 + msgbox Text_CantWaterfall, MSGBOX_DEFAULT -EventScript_290A8C:: @ 8290A8C +EventScript_EndWaterfall:: @ 8290A8C releaseall end -Text_290A8E: @ 8290A8E +Text_CantWaterfall: @ 8290A8E .string "A wall of water is crashing down with\n" .string "a mighty roar.$" -Text_290AC3: @ 8290AC3 +Text_WantToWaterfall: @ 8290AC3 .string "It's a large waterfall.\n" .string "Would you like to use WATERFALL?$" -Text_290AFC: @ 8290AFC +Text_MonUsedWaterfall: @ 8290AFC .string "{STR_VAR_1} used WATERFALL.$" EventScript_UseDive:: @ 8290B0F lockall checkpartymove MOVE_DIVE compare VAR_RESULT, 6 - goto_if_eq EventScript_290B4E + goto_if_eq EventScript_CantDive bufferpartymonnick 0, VAR_RESULT setfieldeffectargument 0, VAR_RESULT setfieldeffectargument 1, 1 - msgbox Text_290BE8, MSGBOX_YESNO + msgbox Text_WantToDive, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_if_eq EventScript_290B58 - msgbox Text_290C1A, MSGBOX_DEFAULT - dofieldeffect 44 - goto EventScript_290B58 + goto_if_eq EventScript_EndDive + msgbox Text_MonUsedDive, MSGBOX_DEFAULT + dofieldeffect FLDEFF_USE_DIVE + goto EventScript_EndDive end -EventScript_290B4E:: @ 8290B4E - msgbox Text_290BAA, MSGBOX_DEFAULT +EventScript_CantDive:: @ 8290B4E + msgbox Text_CantDive, MSGBOX_DEFAULT releaseall end -EventScript_290B58:: @ 8290B58 +EventScript_EndDive:: @ 8290B58 releaseall end @@ -283,50 +251,50 @@ EventScript_UseDiveUnderwater:: @ 8290B5A lockall checkpartymove MOVE_DIVE compare VAR_RESULT, 6 - goto_if_eq EventScript_290B99 + goto_if_eq EventScript_CantSurface bufferpartymonnick 0, VAR_RESULT setfieldeffectargument 0, VAR_RESULT setfieldeffectargument 1, 1 - msgbox Text_290C6E, MSGBOX_YESNO + msgbox Text_WantToSurface, MSGBOX_YESNO compare VAR_RESULT, 0 - goto_if_eq EventScript_290BA8 - msgbox Text_290C1A, MSGBOX_DEFAULT - dofieldeffect 44 - goto EventScript_290BA8 + goto_if_eq EventScript_EndSurface + msgbox Text_MonUsedDive, MSGBOX_DEFAULT + dofieldeffect FLDEFF_USE_DIVE + goto EventScript_EndSurface end -EventScript_290B99:: @ 8290B99 +EventScript_CantSurface:: @ 8290B99 lockall - msgbox Text_290C28, MSGBOX_DEFAULT - goto EventScript_290BA8 + msgbox Text_CantSurface, MSGBOX_DEFAULT + goto EventScript_EndSurface end -EventScript_290BA8:: @ 8290BA8 +EventScript_EndSurface:: @ 8290BA8 releaseall end -Text_290BAA: @ 8290BAA +Text_CantDive: @ 8290BAA .string "The sea is deep here. A POKéMON\n" .string "may be able to go underwater.$" -Text_290BE8: @ 8290BE8 +Text_WantToDive: @ 8290BE8 .string "The sea is deep here.\n" .string "Would you like to use DIVE?$" -Text_290C1A: @ 8290C1A +Text_MonUsedDive: @ 8290C1A .string "{STR_VAR_1} used DIVE.$" -Text_290C28: @ 8290C28 +Text_CantSurface: @ 8290C28 .string "Light is filtering down from above.\n" .string "A POKéMON may be able to surface.$" -Text_290C6E: @ 8290C6E +Text_WantToSurface: @ 8290C6E .string "Light is filtering down from above.\n" .string "Would you like to use DIVE?$" -EventScript_290CAE:: @ 8290CAE - msgbox Text_290CB7, MSGBOX_SIGN +EventScript_FailSweetScent:: @ 8290CAE + msgbox Text_FailSweetScent, MSGBOX_SIGN end -Text_290CB7: @ 8290CB7 +Text_FailSweetScent: @ 8290CB7 .string "Looks like there's nothing here…$" diff --git a/data/scripts/secret_base.inc b/data/scripts/secret_base.inc index 3475136362..81bd388f87 100644 --- a/data/scripts/secret_base.inc +++ b/data/scripts/secret_base.inc @@ -310,8 +310,8 @@ SecretBase_RedCave1_Text_275944: @ 8275944 .string "Are you speechless?$" EventScript_2759F1:: @ 82759F1 - special sub_80E8C98 - special sub_80E8BC8 + special GetSecretBaseTypeInFrontOfPlayer + special CheckPlayerHasSecretBase compare VAR_RESULT, 1 goto_if_eq EventScript_275BE8 checkpartymove MOVE_SECRET_POWER @@ -339,7 +339,7 @@ EventScript_275A50:: @ 8275A50 msgbox gText_23B704, MSGBOX_YESNO compare VAR_RESULT, 0 goto_if_eq EventScript_275CDE - msgbox Route103_Text_290771, MSGBOX_DEFAULT + msgbox Text_MonUsedHM, MSGBOX_DEFAULT closemessage dofieldeffect FLDEFF_USE_SECRET_POWER_CAVE waitstate @@ -371,7 +371,7 @@ EventScript_275AA9:: @ 8275AA9 msgbox Text_274779, MSGBOX_YESNO compare VAR_RESULT, 0 goto_if_eq EventScript_275CDE - msgbox Route103_Text_290771, MSGBOX_DEFAULT + msgbox Text_MonUsedHM, MSGBOX_DEFAULT closemessage dofieldeffect FLDEFF_USE_SECRET_POWER_TREE waitstate @@ -403,7 +403,7 @@ EventScript_275B02:: @ 8275B02 msgbox Text_274825, MSGBOX_YESNO compare VAR_RESULT, 0 goto_if_eq EventScript_275CDE - msgbox Route103_Text_290771, MSGBOX_DEFAULT + msgbox Text_MonUsedHM, MSGBOX_DEFAULT closemessage dofieldeffect FLDEFF_USE_SECRET_POWER_SHRUB waitstate @@ -432,11 +432,11 @@ EventScript_275B5B:: @ 8275B5B playse SE_KAIDAN setvar VAR_INIT_SECRET_BASE, 0 setflag FLAG_DECORATION_0 - special sub_80E8E18 - special sub_80E9068 + special SetPlayerSecretBase + special EnterSecretBase setvar VAR_0x8004, 0 setvar VAR_0x8005, 0 - special sub_80E933C + special InitSecretBaseDecorationSprites setvar VAR_SECRET_BASE_INITIALIZED, 1 waitstate end @@ -450,13 +450,13 @@ SecretBase_RedCave1_EventScript_275B81:: @ 8275B81 goto_if_eq SecretBase_RedCave1_EventScript_275BAB closemessage playse SE_KAIDAN - special sub_80E9A90 + special ClearAndLeaveSecretBase end SecretBase_RedCave1_EventScript_275BAB:: @ 8275BAB closemessage setflag FLAG_RECEIVED_SECRET_POWER - special sub_80E91F8 + special EnterNewlyCreatedSecretBase waitstate end @@ -469,18 +469,18 @@ EventScript_275BB7:: @ 8275BB7 lockall setvar VAR_INIT_SECRET_BASE, 1 playse SE_KAIDAN - special sub_80E9744 + special IsCurSecretBaseOwnedByAnotherPlayer compare VAR_RESULT, 0 goto_if_eq EventScript_275BDB clearflag FLAG_DECORATION_0 - special sub_80E9068 + special EnterSecretBase setvar VAR_SECRET_BASE_INITIALIZED, 0 waitstate end EventScript_275BDB:: @ 8275BDB setflag FLAG_DECORATION_0 - special sub_80E9068 + special EnterSecretBase setvar VAR_SECRET_BASE_INITIALIZED, 0 waitstate end @@ -500,7 +500,7 @@ EventScript_275BE8:: @ 8275BE8 compare VAR_RESULT, 0 goto_if_eq EventScript_275CDE fadescreenswapbuffers 1 - special sub_80E9B70 + special MoveOutOfSecretBaseFromOutside closemessage fadescreenswapbuffers 0 msgbox Text_276A95, MSGBOX_YESNO @@ -508,7 +508,7 @@ EventScript_275BE8:: @ 8275BE8 goto_if_eq EventScript_275CDE bufferpartymonnick 0, VAR_0x8004 buffermovename 1, MOVE_SECRET_POWER - msgbox Route103_Text_290771, MSGBOX_DEFAULT + msgbox Text_MonUsedHM, MSGBOX_DEFAULT closemessage closemessage compare VAR_0x8007, 1 @@ -569,7 +569,7 @@ SecretBase_RedCave1_EventScript_275CE1:: @ 8275CE1 EventScript_275D0C:: @ 8275D0C setvar VAR_0x8004, 0 setvar VAR_0x8005, 0 - special sub_80E933C + special InitSecretBaseDecorationSprites setvar VAR_SECRET_BASE_INITIALIZED, 1 end @@ -626,7 +626,7 @@ SecretBase_YellowCave1_EventScript_275D64:: @ 8275D64 SecretBase_YellowCave2_EventScript_275D64:: @ 8275D64 SecretBase_YellowCave3_EventScript_275D64:: @ 8275D64 SecretBase_YellowCave4_EventScript_275D64:: @ 8275D64 - special sub_80EA354 + special GetSecretBaseOwnerInteractionState compare VAR_0x8004, 0 goto_if_eq SecretBase_RedCave1_EventScript_275DD6 compare VAR_0x8004, 1 @@ -1010,7 +1010,7 @@ SecretBase_RedCave1_EventScript_27627C:: @ 827627C end SecretBase_RedCave1_EventScript_276286:: @ 8276286 - special sub_80EA2E4 + special PrepSecretBaseBattleFlags setvar VAR_0x8004, SPECIAL_BATTLE_SECRET_BASE setvar VAR_0x8005, 0 special DoSpecialTrainerBattle @@ -1039,12 +1039,20 @@ SecretBase_RedCave1_EventScript_2762C5:: @ 82762C5 .include "data/scripts/secret_power_tm.inc" +SecretBase_EventScript_DollInteract:: @ 82766A2 + special sub_80EB290 + end + +SecretBase_EventScript_CushionInteract:: @ 82766A6 + special sub_80EB2C8 + end + Text_2766AA: @ 82766AA .string "All decorations and furniture in your\n" .string "SECRET BASE will be returned to your PC.\p" .string "Is that okay?$" -Text_276707: @ 8276707 +Text_WantToRegisterSecretBase: @ 8276707 .string "Do you want to register\n" .string "{STR_VAR_1}'s SECRET BASE?$" diff --git a/data/scripts/secret_power_tm.inc b/data/scripts/secret_power_tm.inc index ed7216357c..647064829e 100644 --- a/data/scripts/secret_power_tm.inc +++ b/data/scripts/secret_power_tm.inc @@ -103,11 +103,3 @@ Route111_Movement_276696: @ 8276696 walk_down walk_down step_end - -EventScript_SecretPower1:: @ 82766A2 - special sub_80EB290 - end - -EventScript_SecretPower2:: @ 82766A6 - special sub_80EB2C8 - end diff --git a/data/specials.inc b/data/specials.inc index e16b2753dc..7a2b0f975f 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -14,25 +14,25 @@ gSpecials:: @ 81DBA64 def_special sub_80AF9F8 def_special CleanupLinkRoomState def_special ExitLinkRoom - def_special sub_80E8E18 - def_special sub_80E8BC8 - def_special sub_80E9068 - def_special sub_80E9A90 - def_special sub_80E9AC0 - def_special sub_80E9744 - def_special sub_80E9BDC - def_special sub_80E9C2C - def_special sub_80E9C74 - def_special sub_80E9C88 - def_special sub_80EA2E4 - def_special sub_80EA354 - def_special sub_80E933C + def_special SetPlayerSecretBase + def_special CheckPlayerHasSecretBase + def_special EnterSecretBase + def_special ClearAndLeaveSecretBase + def_special MoveOutOfSecretBase + def_special IsCurSecretBaseOwnedByAnotherPlayer + def_special GetCurSecretBaseRegistrationValidity + def_special ToggleCurSecretBaseRegistry + def_special ShowSecretBaseDecorationMenu + def_special ShowSecretBaseRegistryMenu + def_special PrepSecretBaseBattleFlags + def_special GetSecretBaseOwnerInteractionState + def_special InitSecretBaseDecorationSprites def_special sub_8127E18 def_special sub_81297AC - def_special sub_80E8C98 - def_special sub_80E95D4 + def_special GetSecretBaseTypeInFrontOfPlayer + def_special SetSecretBaseOwnerGfxId def_special sub_8129708 - def_special sub_80E91F8 + def_special EnterNewlyCreatedSecretBase def_special sub_80EA30C def_special DoSecretBasePCTurnOffEffect def_special RecordMixingPlayerSpotTriggered @@ -313,7 +313,7 @@ gSpecials:: @ 81DBA64 def_special sub_80AFC60 def_special PutZigzagoonInPlayerParty def_special IsStarterInParty - def_special sub_80E980C + def_special CopyCurSecretBaseOwnerName_StrVar1 def_special ScriptCheckFreePokemonStorageSpace def_special DoSealedChamberShakingEffect1 def_special sub_8139B60 @@ -340,7 +340,7 @@ gSpecials:: @ 81DBA64 def_special ScriptGetPartyMonSpecies def_special sub_81B98DC def_special nullsub_54 - def_special sub_80E9B70 + def_special MoveOutOfSecretBaseFromOutside def_special LoadPlayerBag def_special sub_80B05B4 def_special SetPacifidlogTMReceivedDay @@ -361,17 +361,17 @@ gSpecials:: @ 81DBA64 def_special sub_80EED10 def_special sub_80EED34 def_special sub_80EB1AC - def_special sub_80EBE7C + def_special SetSecretBaseSecretsTvFlags_SandOrnament def_special sub_80EB300 def_special sub_80EB438 def_special sub_80EB368 def_special sub_80EB3D0 def_special sub_80EB290 def_special sub_80EB2C8 - def_special sub_80EB56C - def_special sub_80EB9E0 - def_special sub_80EBB28 - def_special sub_80EB498 + def_special SetSecretBaseSecretsTvFlags_MiscFurnature + def_special SetSecretBaseSecretsTvFlags_LargeDecorationSpot + def_special SetSecretBaseSecretsTvFlags_SmallDecorationSpot + def_special SetSecretBaseSecretsTvFlags_Poster def_special sub_818D9C0 def_special sub_818DAEC def_special sub_818DBE8 diff --git a/data/text/contest_strings.inc b/data/text/contest_strings.inc index 1406ba3cbf..e332e16bbe 100644 --- a/data/text/contest_strings.inc +++ b/data/text/contest_strings.inc @@ -633,7 +633,7 @@ gText_0827E6C4:: @ 827E6C4 .string "{STR_VAR_1} was\n" .string "unaffected.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" -gText_0827E6E3:: @ 827E6E3 +gText_RepeatedAppeal:: @ 827E6E3 .string "{STR_VAR_1} disappointed\n" .string "by repeating an appeal.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" diff --git a/graphics/battle_anims/backgrounds/20.bin b/graphics/battle_anims/backgrounds/aurora.bin similarity index 100% rename from graphics/battle_anims/backgrounds/20.bin rename to graphics/battle_anims/backgrounds/aurora.bin diff --git a/graphics/battle_anims/backgrounds/20.png b/graphics/battle_anims/backgrounds/aurora.png similarity index 100% rename from graphics/battle_anims/backgrounds/20.png rename to graphics/battle_anims/backgrounds/aurora.png diff --git a/graphics/battle_anims/backgrounds/22.pal b/graphics/battle_anims/backgrounds/bug.pal similarity index 100% rename from graphics/battle_anims/backgrounds/22.pal rename to graphics/battle_anims/backgrounds/bug.pal diff --git a/graphics/battle_anims/backgrounds/16.bin b/graphics/battle_anims/backgrounds/cosmic.bin similarity index 100% rename from graphics/battle_anims/backgrounds/16.bin rename to graphics/battle_anims/backgrounds/cosmic.bin diff --git a/graphics/battle_anims/backgrounds/16.png b/graphics/battle_anims/backgrounds/cosmic.png similarity index 100% rename from graphics/battle_anims/backgrounds/16.png rename to graphics/battle_anims/backgrounds/cosmic.png diff --git a/graphics/battle_anims/backgrounds/00.bin b/graphics/battle_anims/backgrounds/dark.bin similarity index 100% rename from graphics/battle_anims/backgrounds/00.bin rename to graphics/battle_anims/backgrounds/dark.bin diff --git a/graphics/battle_anims/backgrounds/00.png b/graphics/battle_anims/backgrounds/dark.png similarity index 100% rename from graphics/battle_anims/backgrounds/00.png rename to graphics/battle_anims/backgrounds/dark.png diff --git a/graphics/battle_anims/backgrounds/07.bin b/graphics/battle_anims/backgrounds/drill.bin similarity index 100% rename from graphics/battle_anims/backgrounds/07.bin rename to graphics/battle_anims/backgrounds/drill.bin diff --git a/graphics/battle_anims/backgrounds/07.png b/graphics/battle_anims/backgrounds/drill.png similarity index 100% rename from graphics/battle_anims/backgrounds/07.png rename to graphics/battle_anims/backgrounds/drill.png diff --git a/graphics/battle_anims/backgrounds/08.bin b/graphics/battle_anims/backgrounds/drill_contests.bin similarity index 100% rename from graphics/battle_anims/backgrounds/08.bin rename to graphics/battle_anims/backgrounds/drill_contests.bin diff --git a/graphics/battle_anims/backgrounds/21.bin b/graphics/battle_anims/backgrounds/fissure.bin similarity index 100% rename from graphics/battle_anims/backgrounds/21.bin rename to graphics/battle_anims/backgrounds/fissure.bin diff --git a/graphics/battle_anims/backgrounds/21.png b/graphics/battle_anims/backgrounds/fissure.png similarity index 100% rename from graphics/battle_anims/backgrounds/21.png rename to graphics/battle_anims/backgrounds/fissure.png diff --git a/graphics/battle_anims/backgrounds/02.bin b/graphics/battle_anims/backgrounds/ghost.bin similarity index 100% rename from graphics/battle_anims/backgrounds/02.bin rename to graphics/battle_anims/backgrounds/ghost.bin diff --git a/graphics/battle_anims/backgrounds/02.png b/graphics/battle_anims/backgrounds/ghost.png similarity index 100% rename from graphics/battle_anims/backgrounds/02.png rename to graphics/battle_anims/backgrounds/ghost.png diff --git a/graphics/battle_anims/backgrounds/12.png b/graphics/battle_anims/backgrounds/guillotine.png similarity index 100% rename from graphics/battle_anims/backgrounds/12.png rename to graphics/battle_anims/backgrounds/guillotine.png diff --git a/graphics/battle_anims/backgrounds/14.bin b/graphics/battle_anims/backgrounds/guillotine_contests.bin similarity index 100% rename from graphics/battle_anims/backgrounds/14.bin rename to graphics/battle_anims/backgrounds/guillotine_contests.bin diff --git a/graphics/battle_anims/backgrounds/12.bin b/graphics/battle_anims/backgrounds/guillotine_opponent.bin similarity index 100% rename from graphics/battle_anims/backgrounds/12.bin rename to graphics/battle_anims/backgrounds/guillotine_opponent.bin diff --git a/graphics/battle_anims/backgrounds/13.bin b/graphics/battle_anims/backgrounds/guillotine_player.bin similarity index 100% rename from graphics/battle_anims/backgrounds/13.bin rename to graphics/battle_anims/backgrounds/guillotine_player.bin diff --git a/graphics/battle_anims/backgrounds/09.png b/graphics/battle_anims/backgrounds/highspeed.png similarity index 100% rename from graphics/battle_anims/backgrounds/09.png rename to graphics/battle_anims/backgrounds/highspeed.png diff --git a/graphics/battle_anims/backgrounds/09.bin b/graphics/battle_anims/backgrounds/highspeed_opponent.bin similarity index 100% rename from graphics/battle_anims/backgrounds/09.bin rename to graphics/battle_anims/backgrounds/highspeed_opponent.bin diff --git a/graphics/battle_anims/backgrounds/10.bin b/graphics/battle_anims/backgrounds/highspeed_player.bin similarity index 100% rename from graphics/battle_anims/backgrounds/10.bin rename to graphics/battle_anims/backgrounds/highspeed_player.bin diff --git a/graphics/battle_anims/backgrounds/15.bin b/graphics/battle_anims/backgrounds/ice.bin similarity index 100% rename from graphics/battle_anims/backgrounds/15.bin rename to graphics/battle_anims/backgrounds/ice.bin diff --git a/graphics/battle_anims/backgrounds/15.png b/graphics/battle_anims/backgrounds/ice.png similarity index 100% rename from graphics/battle_anims/backgrounds/15.png rename to graphics/battle_anims/backgrounds/ice.png diff --git a/graphics/battle_anims/backgrounds/04.png b/graphics/battle_anims/backgrounds/impact.png similarity index 100% rename from graphics/battle_anims/backgrounds/04.png rename to graphics/battle_anims/backgrounds/impact.png diff --git a/graphics/battle_anims/backgrounds/06.bin b/graphics/battle_anims/backgrounds/impact_contests.bin similarity index 100% rename from graphics/battle_anims/backgrounds/06.bin rename to graphics/battle_anims/backgrounds/impact_contests.bin diff --git a/graphics/battle_anims/backgrounds/04.bin b/graphics/battle_anims/backgrounds/impact_opponent.bin similarity index 100% rename from graphics/battle_anims/backgrounds/04.bin rename to graphics/battle_anims/backgrounds/impact_opponent.bin diff --git a/graphics/battle_anims/backgrounds/05.bin b/graphics/battle_anims/backgrounds/impact_player.bin similarity index 100% rename from graphics/battle_anims/backgrounds/05.bin rename to graphics/battle_anims/backgrounds/impact_player.bin diff --git a/graphics/battle_anims/backgrounds/17.bin b/graphics/battle_anims/backgrounds/in_air.bin similarity index 100% rename from graphics/battle_anims/backgrounds/17.bin rename to graphics/battle_anims/backgrounds/in_air.bin diff --git a/graphics/battle_anims/backgrounds/17.png b/graphics/battle_anims/backgrounds/in_air.png similarity index 100% rename from graphics/battle_anims/backgrounds/17.png rename to graphics/battle_anims/backgrounds/in_air.png diff --git a/graphics/battle_anims/backgrounds/03.bin b/graphics/battle_anims/backgrounds/psychic.bin similarity index 100% rename from graphics/battle_anims/backgrounds/03.bin rename to graphics/battle_anims/backgrounds/psychic.bin diff --git a/graphics/battle_anims/backgrounds/03.png b/graphics/battle_anims/backgrounds/psychic.png similarity index 100% rename from graphics/battle_anims/backgrounds/03.png rename to graphics/battle_anims/backgrounds/psychic.png diff --git a/graphics/battle_anims/backgrounds/18.pal b/graphics/battle_anims/backgrounds/sky.pal similarity index 100% rename from graphics/battle_anims/backgrounds/18.pal rename to graphics/battle_anims/backgrounds/sky.pal diff --git a/graphics/battle_anims/backgrounds/24.pal b/graphics/battle_anims/backgrounds/solarbeam.pal similarity index 100% rename from graphics/battle_anims/backgrounds/24.pal rename to graphics/battle_anims/backgrounds/solarbeam.pal diff --git a/graphics/battle_anims/backgrounds/11.bin b/graphics/battle_anims/backgrounds/thunder.bin similarity index 100% rename from graphics/battle_anims/backgrounds/11.bin rename to graphics/battle_anims/backgrounds/thunder.bin diff --git a/graphics/battle_anims/backgrounds/11.png b/graphics/battle_anims/backgrounds/thunder.png similarity index 100% rename from graphics/battle_anims/backgrounds/11.png rename to graphics/battle_anims/backgrounds/thunder.png diff --git a/graphics/battle_anims/sprites/061.png b/graphics/battle_anims/sprites/air_slash.png similarity index 100% rename from graphics/battle_anims/sprites/061.png rename to graphics/battle_anims/sprites/air_slash.png diff --git a/graphics/battle_anims/sprites/003.png b/graphics/battle_anims/sprites/air_wave.png similarity index 100% rename from graphics/battle_anims/sprites/003.png rename to graphics/battle_anims/sprites/air_wave.png diff --git a/graphics/battle_anims/sprites/154.png b/graphics/battle_anims/sprites/air_wave_2.png similarity index 100% rename from graphics/battle_anims/sprites/154.png rename to graphics/battle_anims/sprites/air_wave_2.png diff --git a/graphics/battle_anims/sprites/075.png b/graphics/battle_anims/sprites/alert.png similarity index 100% rename from graphics/battle_anims/sprites/075.png rename to graphics/battle_anims/sprites/alert.png diff --git a/graphics/battle_anims/sprites/093.png b/graphics/battle_anims/sprites/amnesia.png similarity index 100% rename from graphics/battle_anims/sprites/093.png rename to graphics/battle_anims/sprites/amnesia.png diff --git a/graphics/battle_anims/sprites/220.png b/graphics/battle_anims/sprites/angel.png similarity index 100% rename from graphics/battle_anims/sprites/220.png rename to graphics/battle_anims/sprites/angel.png diff --git a/graphics/battle_anims/sprites/087.png b/graphics/battle_anims/sprites/anger.png similarity index 100% rename from graphics/battle_anims/sprites/087.png rename to graphics/battle_anims/sprites/anger.png diff --git a/graphics/battle_anims/sprites/205.png b/graphics/battle_anims/sprites/bell.png similarity index 100% rename from graphics/battle_anims/sprites/205.png rename to graphics/battle_anims/sprites/bell.png diff --git a/graphics/battle_anims/sprites/080.png b/graphics/battle_anims/sprites/bell_2.png similarity index 100% rename from graphics/battle_anims/sprites/080.png rename to graphics/battle_anims/sprites/bell_2.png diff --git a/graphics/battle_anims/sprites/097.png b/graphics/battle_anims/sprites/bent_spoon.png similarity index 100% rename from graphics/battle_anims/sprites/097.png rename to graphics/battle_anims/sprites/bent_spoon.png diff --git a/graphics/battle_anims/sprites/284.png b/graphics/battle_anims/sprites/bird.png similarity index 100% rename from graphics/battle_anims/sprites/284.png rename to graphics/battle_anims/sprites/bird.png diff --git a/graphics/battle_anims/sprites/017.png b/graphics/battle_anims/sprites/black_ball.png similarity index 100% rename from graphics/battle_anims/sprites/017.png rename to graphics/battle_anims/sprites/black_ball.png diff --git a/graphics/battle_anims/sprites/171.png b/graphics/battle_anims/sprites/black_ball_2.png similarity index 100% rename from graphics/battle_anims/sprites/171.png rename to graphics/battle_anims/sprites/black_ball_2.png diff --git a/graphics/battle_anims/sprites/016.png b/graphics/battle_anims/sprites/black_smoke.png similarity index 100% rename from graphics/battle_anims/sprites/016.png rename to graphics/battle_anims/sprites/black_smoke.png diff --git a/graphics/battle_anims/sprites/028.png b/graphics/battle_anims/sprites/blue_burst.png similarity index 100% rename from graphics/battle_anims/sprites/028.png rename to graphics/battle_anims/sprites/blue_burst.png diff --git a/graphics/battle_anims/sprites/076.png b/graphics/battle_anims/sprites/blue_flames.png similarity index 100% rename from graphics/battle_anims/sprites/076.png rename to graphics/battle_anims/sprites/blue_flames.png diff --git a/graphics/battle_anims/sprites/077.png b/graphics/battle_anims/sprites/blue_flames_2.png similarity index 100% rename from graphics/battle_anims/sprites/077.png rename to graphics/battle_anims/sprites/blue_flames_2.png diff --git a/graphics/battle_anims/sprites/167.pal b/graphics/battle_anims/sprites/blue_light_wall.pal similarity index 100% rename from graphics/battle_anims/sprites/167.pal rename to graphics/battle_anims/sprites/blue_light_wall.pal diff --git a/graphics/battle_anims/sprites/082.png b/graphics/battle_anims/sprites/blue_lines.png similarity index 100% rename from graphics/battle_anims/sprites/082.png rename to graphics/battle_anims/sprites/blue_lines.png diff --git a/graphics/battle_anims/sprites/236.pal b/graphics/battle_anims/sprites/blue_orb.pal similarity index 100% rename from graphics/battle_anims/sprites/236.pal rename to graphics/battle_anims/sprites/blue_orb.pal diff --git a/graphics/battle_anims/sprites/165.pal b/graphics/battle_anims/sprites/blue_ring.pal similarity index 100% rename from graphics/battle_anims/sprites/165.pal rename to graphics/battle_anims/sprites/blue_ring.pal diff --git a/graphics/battle_anims/sprites/288.pal b/graphics/battle_anims/sprites/blue_ring_2.pal similarity index 100% rename from graphics/battle_anims/sprites/288.pal rename to graphics/battle_anims/sprites/blue_ring_2.pal diff --git a/graphics/battle_anims/sprites/023.png b/graphics/battle_anims/sprites/blue_shards.png similarity index 100% rename from graphics/battle_anims/sprites/023.png rename to graphics/battle_anims/sprites/blue_shards.png diff --git a/graphics/battle_anims/sprites/031.png b/graphics/battle_anims/sprites/blue_star.png similarity index 100% rename from graphics/battle_anims/sprites/031.png rename to graphics/battle_anims/sprites/blue_star.png diff --git a/graphics/battle_anims/sprites/251.png b/graphics/battle_anims/sprites/bluegreen_orb.png similarity index 100% rename from graphics/battle_anims/sprites/251.png rename to graphics/battle_anims/sprites/bluegreen_orb.png diff --git a/graphics/battle_anims/sprites/000.png b/graphics/battle_anims/sprites/bone.png similarity index 100% rename from graphics/battle_anims/sprites/000.png rename to graphics/battle_anims/sprites/bone.png diff --git a/graphics/battle_anims/sprites/119.png b/graphics/battle_anims/sprites/bone_2.png similarity index 100% rename from graphics/battle_anims/sprites/119.png rename to graphics/battle_anims/sprites/bone_2.png diff --git a/graphics/battle_anims/sprites/202.png b/graphics/battle_anims/sprites/breaking_egg.png similarity index 100% rename from graphics/battle_anims/sprites/202.png rename to graphics/battle_anims/sprites/breaking_egg.png diff --git a/graphics/battle_anims/sprites/086.png b/graphics/battle_anims/sprites/breath.png similarity index 100% rename from graphics/battle_anims/sprites/086.png rename to graphics/battle_anims/sprites/breath.png diff --git a/graphics/battle_anims/sprites/259.pal b/graphics/battle_anims/sprites/brown_orb.pal similarity index 100% rename from graphics/battle_anims/sprites/259.pal rename to graphics/battle_anims/sprites/brown_orb.pal diff --git a/graphics/battle_anims/sprites/066.png b/graphics/battle_anims/sprites/brown_triangle.png similarity index 100% rename from graphics/battle_anims/sprites/066.png rename to graphics/battle_anims/sprites/brown_triangle.png diff --git a/graphics/battle_anims/sprites/146.png b/graphics/battle_anims/sprites/bubble.png similarity index 100% rename from graphics/battle_anims/sprites/146.png rename to graphics/battle_anims/sprites/bubble.png diff --git a/graphics/battle_anims/sprites/032.png b/graphics/battle_anims/sprites/bubble_burst.png similarity index 100% rename from graphics/battle_anims/sprites/032.png rename to graphics/battle_anims/sprites/bubble_burst.png diff --git a/graphics/battle_anims/sprites/042.png b/graphics/battle_anims/sprites/bubble_burst_2.png similarity index 100% rename from graphics/battle_anims/sprites/042.png rename to graphics/battle_anims/sprites/bubble_burst_2.png diff --git a/graphics/battle_anims/sprites/136.png b/graphics/battle_anims/sprites/circle_impact.png similarity index 100% rename from graphics/battle_anims/sprites/136.png rename to graphics/battle_anims/sprites/circle_impact.png diff --git a/graphics/battle_anims/sprites/212.png b/graphics/battle_anims/sprites/circle_of_light.png similarity index 100% rename from graphics/battle_anims/sprites/212.png rename to graphics/battle_anims/sprites/circle_of_light.png diff --git a/graphics/battle_anims/sprites/145.png b/graphics/battle_anims/sprites/clamp.png similarity index 100% rename from graphics/battle_anims/sprites/145.png rename to graphics/battle_anims/sprites/clamp.png diff --git a/graphics/battle_anims/sprites/091.png b/graphics/battle_anims/sprites/clapping.png similarity index 100% rename from graphics/battle_anims/sprites/091.png rename to graphics/battle_anims/sprites/clapping.png diff --git a/graphics/battle_anims/sprites/039.png b/graphics/battle_anims/sprites/claw_slash.png similarity index 100% rename from graphics/battle_anims/sprites/039.png rename to graphics/battle_anims/sprites/claw_slash.png diff --git a/graphics/battle_anims/sprites/038.png b/graphics/battle_anims/sprites/claw_slash_2.png similarity index 100% rename from graphics/battle_anims/sprites/038.png rename to graphics/battle_anims/sprites/claw_slash_2.png diff --git a/graphics/battle_anims/sprites/024.png b/graphics/battle_anims/sprites/closing_eye.png similarity index 100% rename from graphics/battle_anims/sprites/024.png rename to graphics/battle_anims/sprites/closing_eye.png diff --git a/graphics/battle_anims/sprites/125.png b/graphics/battle_anims/sprites/closing_eye_2.png similarity index 100% rename from graphics/battle_anims/sprites/125.png rename to graphics/battle_anims/sprites/closing_eye_2.png diff --git a/graphics/battle_anims/sprites/100.png b/graphics/battle_anims/sprites/coin.png similarity index 100% rename from graphics/battle_anims/sprites/100.png rename to graphics/battle_anims/sprites/coin.png diff --git a/graphics/battle_anims/sprites/240.png b/graphics/battle_anims/sprites/confetti.png similarity index 100% rename from graphics/battle_anims/sprites/240.png rename to graphics/battle_anims/sprites/confetti.png diff --git a/graphics/battle_anims/sprites/018.png b/graphics/battle_anims/sprites/conversion.png similarity index 100% rename from graphics/battle_anims/sprites/018.png rename to graphics/battle_anims/sprites/conversion.png diff --git a/graphics/battle_anims/sprites/101.png b/graphics/battle_anims/sprites/cracked_egg.png similarity index 100% rename from graphics/battle_anims/sprites/101.png rename to graphics/battle_anims/sprites/cracked_egg.png diff --git a/graphics/battle_anims/sprites/285.png b/graphics/battle_anims/sprites/cross_impact.png similarity index 100% rename from graphics/battle_anims/sprites/285.png rename to graphics/battle_anims/sprites/cross_impact.png diff --git a/graphics/battle_anims/sprites/138.png b/graphics/battle_anims/sprites/cut.png similarity index 100% rename from graphics/battle_anims/sprites/138.png rename to graphics/battle_anims/sprites/cut.png diff --git a/graphics/battle_anims/sprites/221.png b/graphics/battle_anims/sprites/devil.png similarity index 100% rename from graphics/battle_anims/sprites/221.png rename to graphics/battle_anims/sprites/devil.png diff --git a/graphics/battle_anims/sprites/281.png b/graphics/battle_anims/sprites/dirt_mound.png similarity index 100% rename from graphics/battle_anims/sprites/281.png rename to graphics/battle_anims/sprites/dirt_mound.png diff --git a/graphics/battle_anims/sprites/073.png b/graphics/battle_anims/sprites/duck.png similarity index 100% rename from graphics/battle_anims/sprites/073.png rename to graphics/battle_anims/sprites/duck.png diff --git a/graphics/battle_anims/sprites/234.png b/graphics/battle_anims/sprites/eclipsing_orb.png similarity index 100% rename from graphics/battle_anims/sprites/234.png rename to graphics/battle_anims/sprites/eclipsing_orb.png diff --git a/graphics/battle_anims/sprites/211.png b/graphics/battle_anims/sprites/electric_orbs.png similarity index 100% rename from graphics/battle_anims/sprites/211.png rename to graphics/battle_anims/sprites/electric_orbs.png diff --git a/graphics/battle_anims/sprites/213.png b/graphics/battle_anims/sprites/electricity.png similarity index 100% rename from graphics/battle_anims/sprites/213.png rename to graphics/battle_anims/sprites/electricity.png diff --git a/graphics/battle_anims/sprites/198.png b/graphics/battle_anims/sprites/explosion.png similarity index 100% rename from graphics/battle_anims/sprites/198.png rename to graphics/battle_anims/sprites/explosion.png diff --git a/graphics/battle_anims/sprites/105.png b/graphics/battle_anims/sprites/explosion_2.png similarity index 100% rename from graphics/battle_anims/sprites/105.png rename to graphics/battle_anims/sprites/explosion_2.png diff --git a/graphics/battle_anims/sprites/106.png b/graphics/battle_anims/sprites/explosion_3.png similarity index 100% rename from graphics/battle_anims/sprites/106.png rename to graphics/battle_anims/sprites/explosion_3.png diff --git a/graphics/battle_anims/sprites/130.png b/graphics/battle_anims/sprites/explosion_4.png similarity index 100% rename from graphics/battle_anims/sprites/130.png rename to graphics/battle_anims/sprites/explosion_4.png diff --git a/graphics/battle_anims/sprites/131.png b/graphics/battle_anims/sprites/explosion_5.png similarity index 100% rename from graphics/battle_anims/sprites/131.png rename to graphics/battle_anims/sprites/explosion_5.png diff --git a/graphics/battle_anims/sprites/007.png b/graphics/battle_anims/sprites/explosion_6.png similarity index 100% rename from graphics/battle_anims/sprites/007.png rename to graphics/battle_anims/sprites/explosion_6.png diff --git a/graphics/battle_anims/sprites/187.png b/graphics/battle_anims/sprites/eye.png similarity index 100% rename from graphics/battle_anims/sprites/187.png rename to graphics/battle_anims/sprites/eye.png diff --git a/graphics/battle_anims/sprites/218.png b/graphics/battle_anims/sprites/eye_sparkle.png similarity index 100% rename from graphics/battle_anims/sprites/218.png rename to graphics/battle_anims/sprites/eye_sparkle.png diff --git a/graphics/battle_anims/sprites/192.png b/graphics/battle_anims/sprites/fang_attack.png similarity index 100% rename from graphics/battle_anims/sprites/192.png rename to graphics/battle_anims/sprites/fang_attack.png diff --git a/graphics/battle_anims/sprites/104.png b/graphics/battle_anims/sprites/fangs.png similarity index 100% rename from graphics/battle_anims/sprites/104.png rename to graphics/battle_anims/sprites/fangs.png diff --git a/graphics/battle_anims/sprites/064.png b/graphics/battle_anims/sprites/finger.png similarity index 100% rename from graphics/battle_anims/sprites/064.png rename to graphics/battle_anims/sprites/finger.png diff --git a/graphics/battle_anims/sprites/214.png b/graphics/battle_anims/sprites/finger_2.png similarity index 100% rename from graphics/battle_anims/sprites/214.png rename to graphics/battle_anims/sprites/finger_2.png diff --git a/graphics/battle_anims/sprites/033.png b/graphics/battle_anims/sprites/fire.png similarity index 100% rename from graphics/battle_anims/sprites/033.png rename to graphics/battle_anims/sprites/fire.png diff --git a/graphics/battle_anims/sprites/035.png b/graphics/battle_anims/sprites/fire_plume.png similarity index 100% rename from graphics/battle_anims/sprites/035.png rename to graphics/battle_anims/sprites/fire_plume.png diff --git a/graphics/battle_anims/sprites/257.png b/graphics/battle_anims/sprites/flat_rock.png similarity index 100% rename from graphics/battle_anims/sprites/257.png rename to graphics/battle_anims/sprites/flat_rock.png diff --git a/graphics/battle_anims/sprites/001.pal b/graphics/battle_anims/sprites/flower.pal similarity index 100% rename from graphics/battle_anims/sprites/001.pal rename to graphics/battle_anims/sprites/flower.pal diff --git a/graphics/battle_anims/sprites/159_0.png b/graphics/battle_anims/sprites/flower_0.png similarity index 100% rename from graphics/battle_anims/sprites/159_0.png rename to graphics/battle_anims/sprites/flower_0.png diff --git a/graphics/battle_anims/sprites/159_1.png b/graphics/battle_anims/sprites/flower_1.png similarity index 100% rename from graphics/battle_anims/sprites/159_1.png rename to graphics/battle_anims/sprites/flower_1.png diff --git a/graphics/battle_anims/sprites/261.png b/graphics/battle_anims/sprites/flying_dirt.png similarity index 100% rename from graphics/battle_anims/sprites/261.png rename to graphics/battle_anims/sprites/flying_dirt.png diff --git a/graphics/battle_anims/sprites/184.png b/graphics/battle_anims/sprites/focus_energy.png similarity index 100% rename from graphics/battle_anims/sprites/184.png rename to graphics/battle_anims/sprites/focus_energy.png diff --git a/graphics/battle_anims/sprites/103.png b/graphics/battle_anims/sprites/fresh_egg.png similarity index 100% rename from graphics/battle_anims/sprites/103.png rename to graphics/battle_anims/sprites/fresh_egg.png diff --git a/graphics/battle_anims/sprites/116.png b/graphics/battle_anims/sprites/fury_swipes.png similarity index 100% rename from graphics/battle_anims/sprites/116.png rename to graphics/battle_anims/sprites/fury_swipes.png diff --git a/graphics/battle_anims/sprites/274.png b/graphics/battle_anims/sprites/gem_1.png similarity index 100% rename from graphics/battle_anims/sprites/274.png rename to graphics/battle_anims/sprites/gem_1.png diff --git a/graphics/battle_anims/sprites/275.png b/graphics/battle_anims/sprites/gem_2.png similarity index 100% rename from graphics/battle_anims/sprites/275.png rename to graphics/battle_anims/sprites/gem_2.png diff --git a/graphics/battle_anims/sprites/276.png b/graphics/battle_anims/sprites/gem_3.png similarity index 100% rename from graphics/battle_anims/sprites/276.png rename to graphics/battle_anims/sprites/gem_3.png diff --git a/graphics/battle_anims/sprites/200.png b/graphics/battle_anims/sprites/ghostly_spirit.png similarity index 100% rename from graphics/battle_anims/sprites/200.png rename to graphics/battle_anims/sprites/ghostly_spirit.png diff --git a/graphics/battle_anims/sprites/019.png b/graphics/battle_anims/sprites/glass.png similarity index 100% rename from graphics/battle_anims/sprites/019.png rename to graphics/battle_anims/sprites/glass.png diff --git a/graphics/battle_anims/sprites/044.png b/graphics/battle_anims/sprites/glass_2.png similarity index 100% rename from graphics/battle_anims/sprites/044.png rename to graphics/battle_anims/sprites/glass_2.png diff --git a/graphics/battle_anims/sprites/268.pal b/graphics/battle_anims/sprites/glowy_blue_orb.pal similarity index 100% rename from graphics/battle_anims/sprites/268.pal rename to graphics/battle_anims/sprites/glowy_blue_orb.pal diff --git a/graphics/battle_anims/sprites/265.pal b/graphics/battle_anims/sprites/glowy_green_orb.pal similarity index 100% rename from graphics/battle_anims/sprites/265.pal rename to graphics/battle_anims/sprites/glowy_green_orb.pal diff --git a/graphics/battle_anims/sprites/264.png b/graphics/battle_anims/sprites/glowy_red_orb.png similarity index 100% rename from graphics/battle_anims/sprites/264.png rename to graphics/battle_anims/sprites/glowy_red_orb.png diff --git a/graphics/battle_anims/sprites/163.png b/graphics/battle_anims/sprites/gold_ring.png similarity index 100% rename from graphics/battle_anims/sprites/163.png rename to graphics/battle_anims/sprites/gold_ring.png diff --git a/graphics/battle_anims/sprites/233.png b/graphics/battle_anims/sprites/gold_stars.png similarity index 100% rename from graphics/battle_anims/sprites/233.png rename to graphics/battle_anims/sprites/gold_stars.png diff --git a/graphics/battle_anims/sprites/169.pal b/graphics/battle_anims/sprites/gray_light_wall.pal similarity index 100% rename from graphics/battle_anims/sprites/169.pal rename to graphics/battle_anims/sprites/gray_light_wall.pal diff --git a/graphics/battle_anims/sprites/235.png b/graphics/battle_anims/sprites/gray_orb.png similarity index 100% rename from graphics/battle_anims/sprites/235.png rename to graphics/battle_anims/sprites/gray_orb.png diff --git a/graphics/battle_anims/sprites/030.png b/graphics/battle_anims/sprites/gray_smoke.png similarity index 100% rename from graphics/battle_anims/sprites/030.png rename to graphics/battle_anims/sprites/gray_smoke.png diff --git a/graphics/battle_anims/sprites/166.png b/graphics/battle_anims/sprites/green_light_wall.png similarity index 100% rename from graphics/battle_anims/sprites/166.png rename to graphics/battle_anims/sprites/green_light_wall.png diff --git a/graphics/battle_anims/sprites/195.png b/graphics/battle_anims/sprites/green_sparkle.png similarity index 100% rename from graphics/battle_anims/sprites/195.png rename to graphics/battle_anims/sprites/green_sparkle.png diff --git a/graphics/battle_anims/sprites/266.png b/graphics/battle_anims/sprites/green_spike.png similarity index 100% rename from graphics/battle_anims/sprites/266.png rename to graphics/battle_anims/sprites/green_spike.png diff --git a/graphics/battle_anims/sprites/241.png b/graphics/battle_anims/sprites/green_star.png similarity index 100% rename from graphics/battle_anims/sprites/241.png rename to graphics/battle_anims/sprites/green_star.png diff --git a/graphics/battle_anims/sprites/244.png b/graphics/battle_anims/sprites/guard_ring.png similarity index 100% rename from graphics/battle_anims/sprites/244.png rename to graphics/battle_anims/sprites/guard_ring.png diff --git a/graphics/battle_anims/sprites/009.png b/graphics/battle_anims/sprites/gust.png similarity index 100% rename from graphics/battle_anims/sprites/009.png rename to graphics/battle_anims/sprites/gust.png diff --git a/graphics/battle_anims/sprites/263.png b/graphics/battle_anims/sprites/hail.png similarity index 100% rename from graphics/battle_anims/sprites/263.png rename to graphics/battle_anims/sprites/hail.png diff --git a/graphics/battle_anims/sprites/143.png b/graphics/battle_anims/sprites/hands_and_feet.png similarity index 100% rename from graphics/battle_anims/sprites/143.png rename to graphics/battle_anims/sprites/hands_and_feet.png diff --git a/graphics/battle_anims/sprites/102.png b/graphics/battle_anims/sprites/hatched_egg.png similarity index 100% rename from graphics/battle_anims/sprites/102.png rename to graphics/battle_anims/sprites/hatched_egg.png diff --git a/graphics/battle_anims/sprites/021.png b/graphics/battle_anims/sprites/hit.png similarity index 100% rename from graphics/battle_anims/sprites/021.png rename to graphics/battle_anims/sprites/hit.png diff --git a/graphics/battle_anims/sprites/022.pal b/graphics/battle_anims/sprites/hit_2.pal similarity index 100% rename from graphics/battle_anims/sprites/022.pal rename to graphics/battle_anims/sprites/hit_2.pal diff --git a/graphics/battle_anims/sprites/026.png b/graphics/battle_anims/sprites/hit_duplicate.png similarity index 100% rename from graphics/battle_anims/sprites/026.png rename to graphics/battle_anims/sprites/hit_duplicate.png diff --git a/graphics/battle_anims/sprites/249.png b/graphics/battle_anims/sprites/hollow_orb.png similarity index 100% rename from graphics/battle_anims/sprites/249.png rename to graphics/battle_anims/sprites/hollow_orb.png diff --git a/graphics/battle_anims/sprites/020.png b/graphics/battle_anims/sprites/horn_hit.png similarity index 100% rename from graphics/battle_anims/sprites/020.png rename to graphics/battle_anims/sprites/horn_hit.png diff --git a/graphics/battle_anims/sprites/153.png b/graphics/battle_anims/sprites/horn_hit_2.png similarity index 100% rename from graphics/battle_anims/sprites/153.png rename to graphics/battle_anims/sprites/horn_hit_2.png diff --git a/graphics/battle_anims/sprites/050.png b/graphics/battle_anims/sprites/humanoid_foot.png similarity index 100% rename from graphics/battle_anims/sprites/050.png rename to graphics/battle_anims/sprites/humanoid_foot.png diff --git a/graphics/battle_anims/sprites/052.png b/graphics/battle_anims/sprites/humanoid_hand.png similarity index 100% rename from graphics/battle_anims/sprites/052.png rename to graphics/battle_anims/sprites/humanoid_hand.png diff --git a/graphics/battle_anims/sprites/043.png b/graphics/battle_anims/sprites/ice_chunk.png similarity index 100% rename from graphics/battle_anims/sprites/043.png rename to graphics/battle_anims/sprites/ice_chunk.png diff --git a/graphics/battle_anims/sprites/010.pal b/graphics/battle_anims/sprites/ice_crystals.pal similarity index 100% rename from graphics/battle_anims/sprites/010.pal rename to graphics/battle_anims/sprites/ice_crystals.pal diff --git a/graphics/battle_anims/sprites/141_0.png b/graphics/battle_anims/sprites/ice_crystals_0.png similarity index 100% rename from graphics/battle_anims/sprites/141_0.png rename to graphics/battle_anims/sprites/ice_crystals_0.png diff --git a/graphics/battle_anims/sprites/141_1.png b/graphics/battle_anims/sprites/ice_crystals_1.png similarity index 100% rename from graphics/battle_anims/sprites/141_1.png rename to graphics/battle_anims/sprites/ice_crystals_1.png diff --git a/graphics/battle_anims/sprites/141_2.png b/graphics/battle_anims/sprites/ice_crystals_2.png similarity index 100% rename from graphics/battle_anims/sprites/141_2.png rename to graphics/battle_anims/sprites/ice_crystals_2.png diff --git a/graphics/battle_anims/sprites/141_3.png b/graphics/battle_anims/sprites/ice_crystals_3.png similarity index 100% rename from graphics/battle_anims/sprites/141_3.png rename to graphics/battle_anims/sprites/ice_crystals_3.png diff --git a/graphics/battle_anims/sprites/141_4.png b/graphics/battle_anims/sprites/ice_crystals_4.png similarity index 100% rename from graphics/battle_anims/sprites/141_4.png rename to graphics/battle_anims/sprites/ice_crystals_4.png diff --git a/graphics/battle_anims/sprites/141.pal b/graphics/battle_anims/sprites/ice_cube.pal similarity index 100% rename from graphics/battle_anims/sprites/141.pal rename to graphics/battle_anims/sprites/ice_cube.pal diff --git a/graphics/battle_anims/sprites/010_0.png b/graphics/battle_anims/sprites/ice_cube_0.png similarity index 100% rename from graphics/battle_anims/sprites/010_0.png rename to graphics/battle_anims/sprites/ice_cube_0.png diff --git a/graphics/battle_anims/sprites/010_1.png b/graphics/battle_anims/sprites/ice_cube_1.png similarity index 100% rename from graphics/battle_anims/sprites/010_1.png rename to graphics/battle_anims/sprites/ice_cube_1.png diff --git a/graphics/battle_anims/sprites/010_2.png b/graphics/battle_anims/sprites/ice_cube_2.png similarity index 100% rename from graphics/battle_anims/sprites/010_2.png rename to graphics/battle_anims/sprites/ice_cube_2.png diff --git a/graphics/battle_anims/sprites/010_3.png b/graphics/battle_anims/sprites/ice_cube_3.png similarity index 100% rename from graphics/battle_anims/sprites/010_3.png rename to graphics/battle_anims/sprites/ice_cube_3.png diff --git a/graphics/battle_anims/sprites/142.png b/graphics/battle_anims/sprites/ice_spikes.png similarity index 100% rename from graphics/battle_anims/sprites/142.png rename to graphics/battle_anims/sprites/ice_spikes.png diff --git a/graphics/battle_anims/sprites/262.png b/graphics/battle_anims/sprites/icicle_spear.png similarity index 100% rename from graphics/battle_anims/sprites/262.png rename to graphics/battle_anims/sprites/icicle_spear.png diff --git a/graphics/battle_anims/sprites/135.png b/graphics/battle_anims/sprites/impact.png similarity index 100% rename from graphics/battle_anims/sprites/135.png rename to graphics/battle_anims/sprites/impact.png diff --git a/graphics/battle_anims/sprites/084.png b/graphics/battle_anims/sprites/impact_2.png similarity index 100% rename from graphics/battle_anims/sprites/084.png rename to graphics/battle_anims/sprites/impact_2.png diff --git a/graphics/battle_anims/sprites/083.png b/graphics/battle_anims/sprites/impact_3.png similarity index 100% rename from graphics/battle_anims/sprites/083.png rename to graphics/battle_anims/sprites/impact_3.png diff --git a/graphics/battle_anims/sprites/224.png b/graphics/battle_anims/sprites/item_bag.png similarity index 100% rename from graphics/battle_anims/sprites/224.png rename to graphics/battle_anims/sprites/item_bag.png diff --git a/graphics/battle_anims/sprites/225.png b/graphics/battle_anims/sprites/jagged_music_note.png similarity index 100% rename from graphics/battle_anims/sprites/225.png rename to graphics/battle_anims/sprites/jagged_music_note.png diff --git a/graphics/battle_anims/sprites/175.png b/graphics/battle_anims/sprites/large_fresh_egg.png similarity index 100% rename from graphics/battle_anims/sprites/175.png rename to graphics/battle_anims/sprites/large_fresh_egg.png diff --git a/graphics/battle_anims/sprites/063.png b/graphics/battle_anims/sprites/leaf.png similarity index 100% rename from graphics/battle_anims/sprites/063.png rename to graphics/battle_anims/sprites/leaf.png diff --git a/graphics/battle_anims/sprites/027.png b/graphics/battle_anims/sprites/leer.png similarity index 100% rename from graphics/battle_anims/sprites/027.png rename to graphics/battle_anims/sprites/leer.png diff --git a/graphics/battle_anims/sprites/228.png b/graphics/battle_anims/sprites/letter_z.png similarity index 100% rename from graphics/battle_anims/sprites/228.png rename to graphics/battle_anims/sprites/letter_z.png diff --git a/graphics/battle_anims/sprites/177.png b/graphics/battle_anims/sprites/lick.png similarity index 100% rename from graphics/battle_anims/sprites/177.png rename to graphics/battle_anims/sprites/lick.png diff --git a/graphics/battle_anims/sprites/182.png b/graphics/battle_anims/sprites/lightbulb.png similarity index 100% rename from graphics/battle_anims/sprites/182.png rename to graphics/battle_anims/sprites/lightbulb.png diff --git a/graphics/battle_anims/sprites/037.png b/graphics/battle_anims/sprites/lightning.png similarity index 100% rename from graphics/battle_anims/sprites/037.png rename to graphics/battle_anims/sprites/lightning.png diff --git a/graphics/battle_anims/sprites/036.png b/graphics/battle_anims/sprites/lightning_2.png similarity index 100% rename from graphics/battle_anims/sprites/036.png rename to graphics/battle_anims/sprites/lightning_2.png diff --git a/graphics/battle_anims/sprites/014.png b/graphics/battle_anims/sprites/lock_on.png similarity index 100% rename from graphics/battle_anims/sprites/014.png rename to graphics/battle_anims/sprites/lock_on.png diff --git a/graphics/battle_anims/sprites/210.png b/graphics/battle_anims/sprites/magenta_heart.png similarity index 100% rename from graphics/battle_anims/sprites/210.png rename to graphics/battle_anims/sprites/magenta_heart.png diff --git a/graphics/battle_anims/sprites/258.png b/graphics/battle_anims/sprites/magnifying_glass.png similarity index 100% rename from graphics/battle_anims/sprites/258.png rename to graphics/battle_anims/sprites/magnifying_glass.png diff --git a/graphics/battle_anims/sprites/126.png b/graphics/battle_anims/sprites/metal_ball.png similarity index 100% rename from graphics/battle_anims/sprites/126.png rename to graphics/battle_anims/sprites/metal_ball.png diff --git a/graphics/battle_anims/sprites/260.png b/graphics/battle_anims/sprites/metal_sound_waves.png similarity index 100% rename from graphics/battle_anims/sprites/260.png rename to graphics/battle_anims/sprites/metal_sound_waves.png diff --git a/graphics/battle_anims/sprites/256.png b/graphics/battle_anims/sprites/meteor.png similarity index 100% rename from graphics/battle_anims/sprites/256.png rename to graphics/battle_anims/sprites/meteor.png diff --git a/graphics/battle_anims/sprites/099.png b/graphics/battle_anims/sprites/milk_bottle.png similarity index 100% rename from graphics/battle_anims/sprites/099.png rename to graphics/battle_anims/sprites/milk_bottle.png diff --git a/graphics/battle_anims/sprites/144.png b/graphics/battle_anims/sprites/mist_cloud.png similarity index 100% rename from graphics/battle_anims/sprites/144.png rename to graphics/battle_anims/sprites/mist_cloud.png diff --git a/graphics/battle_anims/sprites/127.png b/graphics/battle_anims/sprites/monster_doll.png similarity index 100% rename from graphics/battle_anims/sprites/127.png rename to graphics/battle_anims/sprites/monster_doll.png diff --git a/graphics/battle_anims/sprites/051.png b/graphics/battle_anims/sprites/monster_foot.png similarity index 100% rename from graphics/battle_anims/sprites/051.png rename to graphics/battle_anims/sprites/monster_foot.png diff --git a/graphics/battle_anims/sprites/194.png b/graphics/battle_anims/sprites/moon.png similarity index 100% rename from graphics/battle_anims/sprites/194.png rename to graphics/battle_anims/sprites/moon.png diff --git a/graphics/battle_anims/sprites/215.png b/graphics/battle_anims/sprites/movement_waves.png similarity index 100% rename from graphics/battle_anims/sprites/215.png rename to graphics/battle_anims/sprites/movement_waves.png diff --git a/graphics/battle_anims/sprites/074.pal b/graphics/battle_anims/sprites/mud_sand.pal similarity index 100% rename from graphics/battle_anims/sprites/074.pal rename to graphics/battle_anims/sprites/mud_sand.pal diff --git a/graphics/battle_anims/sprites/074_0.png b/graphics/battle_anims/sprites/mud_sand_0.png similarity index 100% rename from graphics/battle_anims/sprites/074_0.png rename to graphics/battle_anims/sprites/mud_sand_0.png diff --git a/graphics/battle_anims/sprites/074_1.png b/graphics/battle_anims/sprites/mud_sand_1.png similarity index 100% rename from graphics/battle_anims/sprites/074_1.png rename to graphics/battle_anims/sprites/mud_sand_1.png diff --git a/graphics/battle_anims/sprites/114.png b/graphics/battle_anims/sprites/mud_unk.png similarity index 100% rename from graphics/battle_anims/sprites/114.png rename to graphics/battle_anims/sprites/mud_unk.png diff --git a/graphics/battle_anims/sprites/072.png b/graphics/battle_anims/sprites/music_notes.png similarity index 100% rename from graphics/battle_anims/sprites/072.png rename to graphics/battle_anims/sprites/music_notes.png diff --git a/graphics/battle_anims/sprites/206.pal b/graphics/battle_anims/sprites/music_notes_2.pal similarity index 100% rename from graphics/battle_anims/sprites/206.pal rename to graphics/battle_anims/sprites/music_notes_2.pal diff --git a/graphics/battle_anims/sprites/206.png b/graphics/battle_anims/sprites/music_notes_2.png similarity index 100% rename from graphics/battle_anims/sprites/206.png rename to graphics/battle_anims/sprites/music_notes_2.png diff --git a/graphics/battle_anims/sprites/199.png b/graphics/battle_anims/sprites/nail.png similarity index 100% rename from graphics/battle_anims/sprites/199.png rename to graphics/battle_anims/sprites/nail.png diff --git a/graphics/battle_anims/sprites/161.png b/graphics/battle_anims/sprites/needle.png similarity index 100% rename from graphics/battle_anims/sprites/161.png rename to graphics/battle_anims/sprites/needle.png diff --git a/graphics/battle_anims/sprites/053.png b/graphics/battle_anims/sprites/noise_line.png similarity index 100% rename from graphics/battle_anims/sprites/053.png rename to graphics/battle_anims/sprites/noise_line.png diff --git a/graphics/battle_anims/sprites/190.png b/graphics/battle_anims/sprites/opening_eye.png similarity index 100% rename from graphics/battle_anims/sprites/190.png rename to graphics/battle_anims/sprites/opening_eye.png diff --git a/graphics/battle_anims/sprites/012.png b/graphics/battle_anims/sprites/orange.png similarity index 100% rename from graphics/battle_anims/sprites/012.png rename to graphics/battle_anims/sprites/orange.png diff --git a/graphics/battle_anims/sprites/170.pal b/graphics/battle_anims/sprites/orange_light_wall.pal similarity index 100% rename from graphics/battle_anims/sprites/170.pal rename to graphics/battle_anims/sprites/orange_light_wall.pal diff --git a/graphics/battle_anims/sprites/004.png b/graphics/battle_anims/sprites/orb.png similarity index 100% rename from graphics/battle_anims/sprites/004.png rename to graphics/battle_anims/sprites/orb.png diff --git a/graphics/battle_anims/sprites/147.png b/graphics/battle_anims/sprites/orbs.png similarity index 100% rename from graphics/battle_anims/sprites/147.png rename to graphics/battle_anims/sprites/orbs.png diff --git a/graphics/battle_anims/sprites/239.png b/graphics/battle_anims/sprites/pain_split.png similarity index 100% rename from graphics/battle_anims/sprites/239.png rename to graphics/battle_anims/sprites/pain_split.png diff --git a/graphics/battle_anims/sprites/252.png b/graphics/battle_anims/sprites/paw_print.png similarity index 100% rename from graphics/battle_anims/sprites/252.png rename to graphics/battle_anims/sprites/paw_print.png diff --git a/graphics/battle_anims/sprites/002.png b/graphics/battle_anims/sprites/pencil.png similarity index 100% rename from graphics/battle_anims/sprites/002.png rename to graphics/battle_anims/sprites/pencil.png diff --git a/graphics/battle_anims/sprites/095.png b/graphics/battle_anims/sprites/pencil_2.png similarity index 100% rename from graphics/battle_anims/sprites/095.png rename to graphics/battle_anims/sprites/pencil_2.png diff --git a/graphics/battle_anims/sprites/096.png b/graphics/battle_anims/sprites/petal.png similarity index 100% rename from graphics/battle_anims/sprites/096.png rename to graphics/battle_anims/sprites/petal.png diff --git a/graphics/battle_anims/sprites/242.png b/graphics/battle_anims/sprites/pink_cloud.png similarity index 100% rename from graphics/battle_anims/sprites/242.png rename to graphics/battle_anims/sprites/pink_cloud.png diff --git a/graphics/battle_anims/sprites/081.png b/graphics/battle_anims/sprites/pink_glove.png similarity index 100% rename from graphics/battle_anims/sprites/081.png rename to graphics/battle_anims/sprites/pink_glove.png diff --git a/graphics/battle_anims/sprites/219.pal b/graphics/battle_anims/sprites/pink_heart.pal similarity index 100% rename from graphics/battle_anims/sprites/219.pal rename to graphics/battle_anims/sprites/pink_heart.pal diff --git a/graphics/battle_anims/sprites/045.png b/graphics/battle_anims/sprites/pink_heart_2.png similarity index 100% rename from graphics/battle_anims/sprites/045.png rename to graphics/battle_anims/sprites/pink_heart_2.png diff --git a/graphics/battle_anims/sprites/008.png b/graphics/battle_anims/sprites/pink_orb.png similarity index 100% rename from graphics/battle_anims/sprites/008.png rename to graphics/battle_anims/sprites/pink_orb.png diff --git a/graphics/battle_anims/sprites/238.png b/graphics/battle_anims/sprites/pink_petal.png similarity index 100% rename from graphics/battle_anims/sprites/238.png rename to graphics/battle_anims/sprites/pink_petal.png diff --git a/graphics/battle_anims/sprites/150.png b/graphics/battle_anims/sprites/poison_bubble.png similarity index 100% rename from graphics/battle_anims/sprites/150.png rename to graphics/battle_anims/sprites/poison_bubble.png diff --git a/graphics/battle_anims/sprites/065.png b/graphics/battle_anims/sprites/poison_powder.png similarity index 100% rename from graphics/battle_anims/sprites/065.png rename to graphics/battle_anims/sprites/poison_powder.png diff --git a/graphics/battle_anims/sprites/226.png b/graphics/battle_anims/sprites/pokeball.png similarity index 100% rename from graphics/battle_anims/sprites/226.png rename to graphics/battle_anims/sprites/pokeball.png diff --git a/graphics/battle_anims/sprites/269.png b/graphics/battle_anims/sprites/pokeblock.png similarity index 100% rename from graphics/battle_anims/sprites/269.png rename to graphics/battle_anims/sprites/pokeblock.png diff --git a/graphics/battle_anims/sprites/280.png b/graphics/battle_anims/sprites/protect.png similarity index 100% rename from graphics/battle_anims/sprites/280.png rename to graphics/battle_anims/sprites/protect.png diff --git a/graphics/battle_anims/sprites/204.png b/graphics/battle_anims/sprites/punch_impact.png similarity index 100% rename from graphics/battle_anims/sprites/204.png rename to graphics/battle_anims/sprites/punch_impact.png diff --git a/graphics/battle_anims/sprites/122.png b/graphics/battle_anims/sprites/purple_coral.png similarity index 100% rename from graphics/battle_anims/sprites/122.png rename to graphics/battle_anims/sprites/purple_coral.png diff --git a/graphics/battle_anims/sprites/123.png b/graphics/battle_anims/sprites/purple_droplet.png similarity index 100% rename from graphics/battle_anims/sprites/123.png rename to graphics/battle_anims/sprites/purple_droplet.png diff --git a/graphics/battle_anims/sprites/253.png b/graphics/battle_anims/sprites/purple_flame.png similarity index 100% rename from graphics/battle_anims/sprites/253.png rename to graphics/battle_anims/sprites/purple_flame.png diff --git a/graphics/battle_anims/sprites/172.pal b/graphics/battle_anims/sprites/purple_gas_cloud.pal similarity index 100% rename from graphics/battle_anims/sprites/172.pal rename to graphics/battle_anims/sprites/purple_gas_cloud.pal diff --git a/graphics/battle_anims/sprites/112.png b/graphics/battle_anims/sprites/purple_green_unk.png similarity index 100% rename from graphics/battle_anims/sprites/112.png rename to graphics/battle_anims/sprites/purple_green_unk.png diff --git a/graphics/battle_anims/sprites/193.png b/graphics/battle_anims/sprites/purple_hand_outline.png similarity index 100% rename from graphics/battle_anims/sprites/193.png rename to graphics/battle_anims/sprites/purple_hand_outline.png diff --git a/graphics/battle_anims/sprites/164.pal b/graphics/battle_anims/sprites/purple_ring.pal similarity index 100% rename from graphics/battle_anims/sprites/164.pal rename to graphics/battle_anims/sprites/purple_ring.pal diff --git a/graphics/battle_anims/sprites/245.png b/graphics/battle_anims/sprites/purple_scratch.png similarity index 100% rename from graphics/battle_anims/sprites/245.png rename to graphics/battle_anims/sprites/purple_scratch.png diff --git a/graphics/battle_anims/sprites/246.png b/graphics/battle_anims/sprites/purple_swipe.png similarity index 100% rename from graphics/battle_anims/sprites/246.png rename to graphics/battle_anims/sprites/purple_swipe.png diff --git a/graphics/battle_anims/sprites/115.png b/graphics/battle_anims/sprites/rain_drops.png similarity index 100% rename from graphics/battle_anims/sprites/115.png rename to graphics/battle_anims/sprites/rain_drops.png diff --git a/graphics/battle_anims/sprites/140.png b/graphics/battle_anims/sprites/rainbow_rings.png similarity index 100% rename from graphics/battle_anims/sprites/140.png rename to graphics/battle_anims/sprites/rainbow_rings.png diff --git a/graphics/battle_anims/sprites/229.png b/graphics/battle_anims/sprites/rapid_spin.png similarity index 100% rename from graphics/battle_anims/sprites/229.png rename to graphics/battle_anims/sprites/rapid_spin.png diff --git a/graphics/battle_anims/sprites/160.png b/graphics/battle_anims/sprites/razor_leaf.png similarity index 100% rename from graphics/battle_anims/sprites/160.png rename to graphics/battle_anims/sprites/razor_leaf.png diff --git a/graphics/battle_anims/sprites/278.png b/graphics/battle_anims/sprites/recycle.png similarity index 100% rename from graphics/battle_anims/sprites/278.png rename to graphics/battle_anims/sprites/recycle.png diff --git a/graphics/battle_anims/sprites/254.png b/graphics/battle_anims/sprites/red_ball.png similarity index 100% rename from graphics/battle_anims/sprites/254.png rename to graphics/battle_anims/sprites/red_ball.png diff --git a/graphics/battle_anims/sprites/055.png b/graphics/battle_anims/sprites/red_fist.png similarity index 100% rename from graphics/battle_anims/sprites/055.png rename to graphics/battle_anims/sprites/red_fist.png diff --git a/graphics/battle_anims/sprites/216.pal b/graphics/battle_anims/sprites/red_heart.pal similarity index 100% rename from graphics/battle_anims/sprites/216.pal rename to graphics/battle_anims/sprites/red_heart.pal diff --git a/graphics/battle_anims/sprites/168.pal b/graphics/battle_anims/sprites/red_light_wall.pal similarity index 100% rename from graphics/battle_anims/sprites/168.pal rename to graphics/battle_anims/sprites/red_light_wall.pal diff --git a/graphics/battle_anims/sprites/217.png b/graphics/battle_anims/sprites/red_orb.png similarity index 100% rename from graphics/battle_anims/sprites/217.png rename to graphics/battle_anims/sprites/red_orb.png diff --git a/graphics/battle_anims/sprites/237.pal b/graphics/battle_anims/sprites/red_orb_2.pal similarity index 100% rename from graphics/battle_anims/sprites/237.pal rename to graphics/battle_anims/sprites/red_orb_2.pal diff --git a/graphics/battle_anims/sprites/279.png b/graphics/battle_anims/sprites/red_particles.png similarity index 100% rename from graphics/battle_anims/sprites/279.png rename to graphics/battle_anims/sprites/red_particles.png diff --git a/graphics/battle_anims/sprites/092.png b/graphics/battle_anims/sprites/red_tube.png similarity index 100% rename from graphics/battle_anims/sprites/092.png rename to graphics/battle_anims/sprites/red_tube.png diff --git a/graphics/battle_anims/sprites/111.png b/graphics/battle_anims/sprites/red_wand.png similarity index 100% rename from graphics/battle_anims/sprites/111.png rename to graphics/battle_anims/sprites/red_wand.png diff --git a/graphics/battle_anims/sprites/085.png b/graphics/battle_anims/sprites/reticle.png similarity index 100% rename from graphics/battle_anims/sprites/085.png rename to graphics/battle_anims/sprites/reticle.png diff --git a/graphics/battle_anims/sprites/057.png b/graphics/battle_anims/sprites/ring.png similarity index 100% rename from graphics/battle_anims/sprites/057.png rename to graphics/battle_anims/sprites/ring.png diff --git a/graphics/battle_anims/sprites/058.png b/graphics/battle_anims/sprites/rocks.png similarity index 100% rename from graphics/battle_anims/sprites/058.png rename to graphics/battle_anims/sprites/rocks.png diff --git a/graphics/battle_anims/sprites/223.png b/graphics/battle_anims/sprites/roots.png similarity index 100% rename from graphics/battle_anims/sprites/223.png rename to graphics/battle_anims/sprites/roots.png diff --git a/graphics/battle_anims/sprites/156.png b/graphics/battle_anims/sprites/round_shadow.png similarity index 100% rename from graphics/battle_anims/sprites/156.png rename to graphics/battle_anims/sprites/round_shadow.png diff --git a/graphics/battle_anims/sprites/191.png b/graphics/battle_anims/sprites/round_white_halo.png similarity index 100% rename from graphics/battle_anims/sprites/191.png rename to graphics/battle_anims/sprites/round_white_halo.png diff --git a/graphics/battle_anims/sprites/046.png b/graphics/battle_anims/sprites/sap_drip.png similarity index 100% rename from graphics/battle_anims/sprites/046.png rename to graphics/battle_anims/sprites/sap_drip.png diff --git a/graphics/battle_anims/sprites/047.pal b/graphics/battle_anims/sprites/sap_drip_2.pal similarity index 100% rename from graphics/battle_anims/sprites/047.pal rename to graphics/battle_anims/sprites/sap_drip_2.pal diff --git a/graphics/battle_anims/sprites/137.png b/graphics/battle_anims/sprites/scratch.png similarity index 100% rename from graphics/battle_anims/sprites/137.png rename to graphics/battle_anims/sprites/scratch.png diff --git a/graphics/battle_anims/sprites/041.png b/graphics/battle_anims/sprites/scratch_2.png similarity index 100% rename from graphics/battle_anims/sprites/041.png rename to graphics/battle_anims/sprites/scratch_2.png diff --git a/graphics/battle_anims/sprites/040.png b/graphics/battle_anims/sprites/scratch_3.png similarity index 100% rename from graphics/battle_anims/sprites/040.png rename to graphics/battle_anims/sprites/scratch_3.png diff --git a/graphics/battle_anims/sprites/006.png b/graphics/battle_anims/sprites/seed.png similarity index 100% rename from graphics/battle_anims/sprites/006.png rename to graphics/battle_anims/sprites/seed.png diff --git a/graphics/battle_anims/sprites/109.png b/graphics/battle_anims/sprites/seed_2.png similarity index 100% rename from graphics/battle_anims/sprites/109.png rename to graphics/battle_anims/sprites/seed_2.png diff --git a/graphics/battle_anims/sprites/176.png b/graphics/battle_anims/sprites/shadow_ball.png similarity index 100% rename from graphics/battle_anims/sprites/176.png rename to graphics/battle_anims/sprites/shadow_ball.png diff --git a/graphics/battle_anims/sprites/139.png b/graphics/battle_anims/sprites/sharp_teeth.png similarity index 100% rename from graphics/battle_anims/sprites/139.png rename to graphics/battle_anims/sprites/sharp_teeth.png diff --git a/graphics/battle_anims/sprites/079.png b/graphics/battle_anims/sprites/shock.png similarity index 100% rename from graphics/battle_anims/sprites/079.png rename to graphics/battle_anims/sprites/shock.png diff --git a/graphics/battle_anims/sprites/124.png b/graphics/battle_anims/sprites/shock_2.png similarity index 100% rename from graphics/battle_anims/sprites/124.png rename to graphics/battle_anims/sprites/shock_2.png diff --git a/graphics/battle_anims/sprites/282.png b/graphics/battle_anims/sprites/shock_3.png similarity index 100% rename from graphics/battle_anims/sprites/282.png rename to graphics/battle_anims/sprites/shock_3.png diff --git a/graphics/battle_anims/sprites/078.png b/graphics/battle_anims/sprites/shock_4.png similarity index 100% rename from graphics/battle_anims/sprites/078.png rename to graphics/battle_anims/sprites/shock_4.png diff --git a/graphics/battle_anims/sprites/056.png b/graphics/battle_anims/sprites/slam_hit.png similarity index 100% rename from graphics/battle_anims/sprites/056.png rename to graphics/battle_anims/sprites/slam_hit.png diff --git a/graphics/battle_anims/sprites/277.png b/graphics/battle_anims/sprites/slam_hit_2.png similarity index 100% rename from graphics/battle_anims/sprites/277.png rename to graphics/battle_anims/sprites/slam_hit_2.png diff --git a/graphics/battle_anims/sprites/183.png b/graphics/battle_anims/sprites/slash.png similarity index 100% rename from graphics/battle_anims/sprites/183.png rename to graphics/battle_anims/sprites/slash.png diff --git a/graphics/battle_anims/sprites/286.pal b/graphics/battle_anims/sprites/slash_2.pal similarity index 100% rename from graphics/battle_anims/sprites/286.pal rename to graphics/battle_anims/sprites/slash_2.pal diff --git a/graphics/battle_anims/sprites/067.pal b/graphics/battle_anims/sprites/sleep_powder.pal similarity index 100% rename from graphics/battle_anims/sprites/067.pal rename to graphics/battle_anims/sprites/sleep_powder.pal diff --git a/graphics/battle_anims/sprites/155.png b/graphics/battle_anims/sprites/small_bubbles.png similarity index 100% rename from graphics/battle_anims/sprites/155.png rename to graphics/battle_anims/sprites/small_bubbles.png diff --git a/graphics/battle_anims/sprites/029.png b/graphics/battle_anims/sprites/small_ember.png similarity index 100% rename from graphics/battle_anims/sprites/029.png rename to graphics/battle_anims/sprites/small_ember.png diff --git a/graphics/battle_anims/sprites/248.png b/graphics/battle_anims/sprites/small_red_eye.png similarity index 100% rename from graphics/battle_anims/sprites/248.png rename to graphics/battle_anims/sprites/small_red_eye.png diff --git a/graphics/battle_anims/sprites/255.png b/graphics/battle_anims/sprites/smellingsalt_effect.png similarity index 100% rename from graphics/battle_anims/sprites/255.png rename to graphics/battle_anims/sprites/smellingsalt_effect.png diff --git a/graphics/battle_anims/sprites/133.png b/graphics/battle_anims/sprites/smoke.png similarity index 100% rename from graphics/battle_anims/sprites/133.png rename to graphics/battle_anims/sprites/smoke.png diff --git a/graphics/battle_anims/sprites/134.png b/graphics/battle_anims/sprites/smoke_2.png similarity index 100% rename from graphics/battle_anims/sprites/134.png rename to graphics/battle_anims/sprites/smoke_2.png diff --git a/graphics/battle_anims/sprites/197.png b/graphics/battle_anims/sprites/snore_z.png similarity index 100% rename from graphics/battle_anims/sprites/197.png rename to graphics/battle_anims/sprites/snore_z.png diff --git a/graphics/battle_anims/sprites/088.png b/graphics/battle_anims/sprites/snowball.png similarity index 100% rename from graphics/battle_anims/sprites/088.png rename to graphics/battle_anims/sprites/snowball.png diff --git a/graphics/battle_anims/sprites/159.pal b/graphics/battle_anims/sprites/spark.pal similarity index 100% rename from graphics/battle_anims/sprites/159.pal rename to graphics/battle_anims/sprites/spark.pal diff --git a/graphics/battle_anims/sprites/001_0.png b/graphics/battle_anims/sprites/spark_0.png similarity index 100% rename from graphics/battle_anims/sprites/001_0.png rename to graphics/battle_anims/sprites/spark_0.png diff --git a/graphics/battle_anims/sprites/001_1.png b/graphics/battle_anims/sprites/spark_1.png similarity index 100% rename from graphics/battle_anims/sprites/001_1.png rename to graphics/battle_anims/sprites/spark_1.png diff --git a/graphics/battle_anims/sprites/011.png b/graphics/battle_anims/sprites/spark_2.png similarity index 100% rename from graphics/battle_anims/sprites/011.png rename to graphics/battle_anims/sprites/spark_2.png diff --git a/graphics/battle_anims/sprites/173.png b/graphics/battle_anims/sprites/spark_h.png similarity index 100% rename from graphics/battle_anims/sprites/173.png rename to graphics/battle_anims/sprites/spark_h.png diff --git a/graphics/battle_anims/sprites/048.png b/graphics/battle_anims/sprites/sparkle_1.png similarity index 100% rename from graphics/battle_anims/sprites/048.png rename to graphics/battle_anims/sprites/sparkle_1.png diff --git a/graphics/battle_anims/sprites/049.pal b/graphics/battle_anims/sprites/sparkle_2.pal similarity index 100% rename from graphics/battle_anims/sprites/049.pal rename to graphics/battle_anims/sprites/sparkle_2.pal diff --git a/graphics/battle_anims/sprites/070.png b/graphics/battle_anims/sprites/sparkle_3.png similarity index 100% rename from graphics/battle_anims/sprites/070.png rename to graphics/battle_anims/sprites/sparkle_3.png diff --git a/graphics/battle_anims/sprites/071.png b/graphics/battle_anims/sprites/sparkle_4.png similarity index 100% rename from graphics/battle_anims/sprites/071.png rename to graphics/battle_anims/sprites/sparkle_4.png diff --git a/graphics/battle_anims/sprites/271.png b/graphics/battle_anims/sprites/sparkle_6.png similarity index 100% rename from graphics/battle_anims/sprites/271.png rename to graphics/battle_anims/sprites/sparkle_6.png diff --git a/graphics/battle_anims/sprites/207.png b/graphics/battle_anims/sprites/speed_dust.png similarity index 100% rename from graphics/battle_anims/sprites/207.png rename to graphics/battle_anims/sprites/speed_dust.png diff --git a/graphics/battle_anims/sprites/185.png b/graphics/battle_anims/sprites/sphere_to_cube.png similarity index 100% rename from graphics/battle_anims/sprites/185.png rename to graphics/battle_anims/sprites/sphere_to_cube.png diff --git a/graphics/battle_anims/sprites/181.png b/graphics/battle_anims/sprites/spider_web.png similarity index 100% rename from graphics/battle_anims/sprites/181.png rename to graphics/battle_anims/sprites/spider_web.png diff --git a/graphics/battle_anims/sprites/152.png b/graphics/battle_anims/sprites/spikes.png similarity index 100% rename from graphics/battle_anims/sprites/152.png rename to graphics/battle_anims/sprites/spikes.png diff --git a/graphics/battle_anims/sprites/034.png b/graphics/battle_anims/sprites/spinning_fire.png similarity index 100% rename from graphics/battle_anims/sprites/034.png rename to graphics/battle_anims/sprites/spinning_fire.png diff --git a/graphics/battle_anims/sprites/062.png b/graphics/battle_anims/sprites/spinning_green_orbs.png similarity index 100% rename from graphics/battle_anims/sprites/062.png rename to graphics/battle_anims/sprites/spinning_green_orbs.png diff --git a/graphics/battle_anims/sprites/196.png b/graphics/battle_anims/sprites/spiral.png similarity index 100% rename from graphics/battle_anims/sprites/196.png rename to graphics/battle_anims/sprites/spiral.png diff --git a/graphics/battle_anims/sprites/272.png b/graphics/battle_anims/sprites/splash.png similarity index 100% rename from graphics/battle_anims/sprites/272.png rename to graphics/battle_anims/sprites/splash.png diff --git a/graphics/battle_anims/sprites/158.png b/graphics/battle_anims/sprites/spore.png similarity index 100% rename from graphics/battle_anims/sprites/158.png rename to graphics/battle_anims/sprites/spore.png diff --git a/graphics/battle_anims/sprites/227.png b/graphics/battle_anims/sprites/spotlight.png similarity index 100% rename from graphics/battle_anims/sprites/227.png rename to graphics/battle_anims/sprites/spotlight.png diff --git a/graphics/battle_anims/sprites/110.png b/graphics/battle_anims/sprites/sprout.png similarity index 100% rename from graphics/battle_anims/sprites/110.png rename to graphics/battle_anims/sprites/sprout.png diff --git a/graphics/battle_anims/sprites/179.png b/graphics/battle_anims/sprites/string.png similarity index 100% rename from graphics/battle_anims/sprites/179.png rename to graphics/battle_anims/sprites/string.png diff --git a/graphics/battle_anims/sprites/094.png b/graphics/battle_anims/sprites/string_2.png similarity index 100% rename from graphics/battle_anims/sprites/094.png rename to graphics/battle_anims/sprites/string_2.png diff --git a/graphics/battle_anims/sprites/068.pal b/graphics/battle_anims/sprites/stun_spore.pal similarity index 100% rename from graphics/battle_anims/sprites/068.pal rename to graphics/battle_anims/sprites/stun_spore.pal diff --git a/graphics/battle_anims/sprites/157.png b/graphics/battle_anims/sprites/sunlight.png similarity index 100% rename from graphics/battle_anims/sprites/157.png rename to graphics/battle_anims/sprites/sunlight.png diff --git a/graphics/battle_anims/sprites/273.png b/graphics/battle_anims/sprites/sweat_bead.png similarity index 100% rename from graphics/battle_anims/sprites/273.png rename to graphics/battle_anims/sprites/sweat_bead.png diff --git a/graphics/battle_anims/sprites/243.png b/graphics/battle_anims/sprites/sweat_drop.png similarity index 100% rename from graphics/battle_anims/sprites/243.png rename to graphics/battle_anims/sprites/sweat_drop.png diff --git a/graphics/battle_anims/sprites/222.png b/graphics/battle_anims/sprites/swipe.png similarity index 100% rename from graphics/battle_anims/sprites/222.png rename to graphics/battle_anims/sprites/swipe.png diff --git a/graphics/battle_anims/sprites/005.png b/graphics/battle_anims/sprites/sword.png similarity index 100% rename from graphics/battle_anims/sprites/005.png rename to graphics/battle_anims/sprites/sword.png diff --git a/graphics/battle_anims/sprites/090.png b/graphics/battle_anims/sprites/sword_2.png similarity index 100% rename from graphics/battle_anims/sprites/090.png rename to graphics/battle_anims/sprites/sword_2.png diff --git a/graphics/battle_anims/sprites/247.png b/graphics/battle_anims/sprites/tag_hand.png similarity index 100% rename from graphics/battle_anims/sprites/247.png rename to graphics/battle_anims/sprites/tag_hand.png diff --git a/graphics/battle_anims/sprites/189.png b/graphics/battle_anims/sprites/teal_alert.png similarity index 100% rename from graphics/battle_anims/sprites/189.png rename to graphics/battle_anims/sprites/teal_alert.png diff --git a/graphics/battle_anims/sprites/118.png b/graphics/battle_anims/sprites/teeth.png similarity index 100% rename from graphics/battle_anims/sprites/118.png rename to graphics/battle_anims/sprites/teeth.png diff --git a/graphics/battle_anims/sprites/186.png b/graphics/battle_anims/sprites/tendrils.png similarity index 100% rename from graphics/battle_anims/sprites/186.png rename to graphics/battle_anims/sprites/tendrils.png diff --git a/graphics/battle_anims/sprites/203.png b/graphics/battle_anims/sprites/thin_ring.png similarity index 100% rename from graphics/battle_anims/sprites/203.png rename to graphics/battle_anims/sprites/thin_ring.png diff --git a/graphics/battle_anims/sprites/209.png b/graphics/battle_anims/sprites/thought_bubble.png similarity index 100% rename from graphics/battle_anims/sprites/209.png rename to graphics/battle_anims/sprites/thought_bubble.png diff --git a/graphics/battle_anims/sprites/015.png b/graphics/battle_anims/sprites/tied_bag.png similarity index 100% rename from graphics/battle_anims/sprites/015.png rename to graphics/battle_anims/sprites/tied_bag.png diff --git a/graphics/battle_anims/sprites/132.png b/graphics/battle_anims/sprites/tongue.png similarity index 100% rename from graphics/battle_anims/sprites/132.png rename to graphics/battle_anims/sprites/tongue.png diff --git a/graphics/battle_anims/sprites/208.png b/graphics/battle_anims/sprites/torn_metal.png similarity index 100% rename from graphics/battle_anims/sprites/208.png rename to graphics/battle_anims/sprites/torn_metal.png diff --git a/graphics/battle_anims/sprites/151.png b/graphics/battle_anims/sprites/toxic_bubble.png similarity index 100% rename from graphics/battle_anims/sprites/151.png rename to graphics/battle_anims/sprites/toxic_bubble.png diff --git a/graphics/battle_anims/sprites/230.png b/graphics/battle_anims/sprites/tri_force_triangle.png similarity index 100% rename from graphics/battle_anims/sprites/230.png rename to graphics/battle_anims/sprites/tri_force_triangle.png diff --git a/graphics/battle_anims/sprites/121.png b/graphics/battle_anims/sprites/unknown.png similarity index 100% rename from graphics/battle_anims/sprites/121.png rename to graphics/battle_anims/sprites/unknown.png diff --git a/graphics/battle_anims/sprites/089.png b/graphics/battle_anims/sprites/vine.png similarity index 100% rename from graphics/battle_anims/sprites/089.png rename to graphics/battle_anims/sprites/vine.png diff --git a/graphics/battle_anims/sprites/117.png b/graphics/battle_anims/sprites/vine_2.png similarity index 100% rename from graphics/battle_anims/sprites/117.png rename to graphics/battle_anims/sprites/vine_2.png diff --git a/graphics/battle_anims/sprites/178.png b/graphics/battle_anims/sprites/void_lines.png similarity index 100% rename from graphics/battle_anims/sprites/178.png rename to graphics/battle_anims/sprites/void_lines.png diff --git a/graphics/battle_anims/sprites/201.png b/graphics/battle_anims/sprites/warm_rock.png similarity index 100% rename from graphics/battle_anims/sprites/201.png rename to graphics/battle_anims/sprites/warm_rock.png diff --git a/graphics/battle_anims/sprites/113.png b/graphics/battle_anims/sprites/water_column.png similarity index 100% rename from graphics/battle_anims/sprites/113.png rename to graphics/battle_anims/sprites/water_column.png diff --git a/graphics/battle_anims/sprites/107.png b/graphics/battle_anims/sprites/water_droplet.png similarity index 100% rename from graphics/battle_anims/sprites/107.png rename to graphics/battle_anims/sprites/water_droplet.png diff --git a/graphics/battle_anims/sprites/108.png b/graphics/battle_anims/sprites/water_droplet_2.png similarity index 100% rename from graphics/battle_anims/sprites/108.png rename to graphics/battle_anims/sprites/water_droplet_2.png diff --git a/graphics/battle_anims/sprites/148.png b/graphics/battle_anims/sprites/water_impact.png similarity index 100% rename from graphics/battle_anims/sprites/148.png rename to graphics/battle_anims/sprites/water_impact.png diff --git a/graphics/battle_anims/sprites/149.png b/graphics/battle_anims/sprites/water_orb.png similarity index 100% rename from graphics/battle_anims/sprites/149.png rename to graphics/battle_anims/sprites/water_orb.png diff --git a/graphics/battle_anims/sprites/025.png b/graphics/battle_anims/sprites/waving_hand.png similarity index 100% rename from graphics/battle_anims/sprites/025.png rename to graphics/battle_anims/sprites/waving_hand.png diff --git a/graphics/battle_anims/sprites/283.png b/graphics/battle_anims/sprites/weather_ball.png similarity index 100% rename from graphics/battle_anims/sprites/283.png rename to graphics/battle_anims/sprites/weather_ball.png diff --git a/graphics/battle_anims/sprites/098.png b/graphics/battle_anims/sprites/web.png similarity index 100% rename from graphics/battle_anims/sprites/098.png rename to graphics/battle_anims/sprites/web.png diff --git a/graphics/battle_anims/sprites/180.png b/graphics/battle_anims/sprites/web_thread.png similarity index 100% rename from graphics/battle_anims/sprites/180.png rename to graphics/battle_anims/sprites/web_thread.png diff --git a/graphics/battle_anims/sprites/287.pal b/graphics/battle_anims/sprites/whip_hit.pal similarity index 100% rename from graphics/battle_anims/sprites/287.pal rename to graphics/battle_anims/sprites/whip_hit.pal diff --git a/graphics/battle_anims/sprites/128.png b/graphics/battle_anims/sprites/whirlwind.png similarity index 100% rename from graphics/battle_anims/sprites/128.png rename to graphics/battle_anims/sprites/whirlwind.png diff --git a/graphics/battle_anims/sprites/129.png b/graphics/battle_anims/sprites/whirlwind_2.png similarity index 100% rename from graphics/battle_anims/sprites/129.png rename to graphics/battle_anims/sprites/whirlwind_2.png diff --git a/graphics/battle_anims/sprites/162.png b/graphics/battle_anims/sprites/whirlwind_lines.png similarity index 100% rename from graphics/battle_anims/sprites/162.png rename to graphics/battle_anims/sprites/whirlwind_lines.png diff --git a/graphics/battle_anims/sprites/120.png b/graphics/battle_anims/sprites/white_bag.png similarity index 100% rename from graphics/battle_anims/sprites/120.png rename to graphics/battle_anims/sprites/white_bag.png diff --git a/graphics/battle_anims/sprites/267.pal b/graphics/battle_anims/sprites/white_circle_of_light.pal similarity index 100% rename from graphics/battle_anims/sprites/267.pal rename to graphics/battle_anims/sprites/white_circle_of_light.pal diff --git a/graphics/battle_anims/sprites/270.png b/graphics/battle_anims/sprites/white_feather.png similarity index 100% rename from graphics/battle_anims/sprites/270.png rename to graphics/battle_anims/sprites/white_feather.png diff --git a/graphics/battle_anims/sprites/188.png b/graphics/battle_anims/sprites/white_shadow.png similarity index 100% rename from graphics/battle_anims/sprites/188.png rename to graphics/battle_anims/sprites/white_shadow.png diff --git a/graphics/battle_anims/sprites/232.png b/graphics/battle_anims/sprites/wisp_fire.png similarity index 100% rename from graphics/battle_anims/sprites/232.png rename to graphics/battle_anims/sprites/wisp_fire.png diff --git a/graphics/battle_anims/sprites/231.png b/graphics/battle_anims/sprites/wisp_orb.png similarity index 100% rename from graphics/battle_anims/sprites/231.png rename to graphics/battle_anims/sprites/wisp_orb.png diff --git a/graphics/battle_anims/sprites/250.png b/graphics/battle_anims/sprites/x_sign.png similarity index 100% rename from graphics/battle_anims/sprites/250.png rename to graphics/battle_anims/sprites/x_sign.png diff --git a/graphics/battle_anims/sprites/013.png b/graphics/battle_anims/sprites/yellow_ball.png similarity index 100% rename from graphics/battle_anims/sprites/013.png rename to graphics/battle_anims/sprites/yellow_ball.png diff --git a/graphics/battle_anims/sprites/174.png b/graphics/battle_anims/sprites/yellow_star.png similarity index 100% rename from graphics/battle_anims/sprites/174.png rename to graphics/battle_anims/sprites/yellow_star.png diff --git a/graphics/battle_anims/sprites/054.png b/graphics/battle_anims/sprites/yellow_unk.png similarity index 100% rename from graphics/battle_anims/sprites/054.png rename to graphics/battle_anims/sprites/yellow_unk.png diff --git a/graphics/battle_anims/sprites/060.png b/graphics/battle_anims/sprites/yellow_unk_2.png similarity index 100% rename from graphics/battle_anims/sprites/060.png rename to graphics/battle_anims/sprites/yellow_unk_2.png diff --git a/graphics/battle_anims/sprites/059.png b/graphics/battle_anims/sprites/z.png similarity index 100% rename from graphics/battle_anims/sprites/059.png rename to graphics/battle_anims/sprites/z.png diff --git a/graphics/decorations/unk_85a6bb0.pal b/graphics/decorations/decoration_menu.pal similarity index 100% rename from graphics/decorations/unk_85a6bb0.pal rename to graphics/decorations/decoration_menu.pal diff --git a/graphics_file_rules.mk b/graphics_file_rules.mk index 0516a8a4dc..bc51b1e1fb 100644 --- a/graphics_file_rules.mk +++ b/graphics_file_rules.mk @@ -325,10 +325,10 @@ $(BATINTGFXDIR)/textbox.gbapal: $(BATINTGFXDIR)/textbox_0.gbapal \ $(BATINTGFXDIR)/textbox_1.gbapal @cat $^ >$@ -$(BTLANMSPRGFXDIR)/010.4bpp: $(BTLANMSPRGFXDIR)/010_0.4bpp \ - $(BTLANMSPRGFXDIR)/010_1.4bpp \ - $(BTLANMSPRGFXDIR)/010_2.4bpp \ - $(BTLANMSPRGFXDIR)/010_3.4bpp +$(BTLANMSPRGFXDIR)/ice_cube.4bpp: $(BTLANMSPRGFXDIR)/ice_cube_0.4bpp \ + $(BTLANMSPRGFXDIR)/ice_cube_1.4bpp \ + $(BTLANMSPRGFXDIR)/ice_cube_2.4bpp \ + $(BTLANMSPRGFXDIR)/ice_cube_3.4bpp @cat $^ >$@ $(UNUSEDGFXDIR)/obi_palpak1.gbapal: $(UNUSEDGFXDIR)/old_pal1.gbapal \ @@ -384,23 +384,23 @@ $(UNUSEDGFXDIR)/old_contest_2.4bpp: $(UNUSEDGFXDIR)/old_contest_2_1.4bpp \ $(UNKNOWNGFXDIR)/unknown_C19470.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 36 -$(BTLANMSPRGFXDIR)/141.4bpp: $(BTLANMSPRGFXDIR)/141_0.4bpp \ - $(BTLANMSPRGFXDIR)/141_1.4bpp \ - $(BTLANMSPRGFXDIR)/141_2.4bpp \ - $(BTLANMSPRGFXDIR)/141_3.4bpp \ - $(BTLANMSPRGFXDIR)/141_4.4bpp +$(BTLANMSPRGFXDIR)/ice_crystals.4bpp: $(BTLANMSPRGFXDIR)/ice_crystals_0.4bpp \ + $(BTLANMSPRGFXDIR)/ice_crystals_1.4bpp \ + $(BTLANMSPRGFXDIR)/ice_crystals_2.4bpp \ + $(BTLANMSPRGFXDIR)/ice_crystals_3.4bpp \ + $(BTLANMSPRGFXDIR)/ice_crystals_4.4bpp @cat $^ >$@ -$(BTLANMSPRGFXDIR)/074.4bpp: $(BTLANMSPRGFXDIR)/074_0.4bpp \ - $(BTLANMSPRGFXDIR)/074_1.4bpp +$(BTLANMSPRGFXDIR)/mud_sand.4bpp: $(BTLANMSPRGFXDIR)/mud_sand_0.4bpp \ + $(BTLANMSPRGFXDIR)/mud_sand_1.4bpp @cat $^ >$@ -$(BTLANMSPRGFXDIR)/159.4bpp: $(BTLANMSPRGFXDIR)/159_0.4bpp \ - $(BTLANMSPRGFXDIR)/159_1.4bpp +$(BTLANMSPRGFXDIR)/flower.4bpp: $(BTLANMSPRGFXDIR)/flower_0.4bpp \ + $(BTLANMSPRGFXDIR)/flower_1.4bpp @cat $^ >$@ -$(BTLANMSPRGFXDIR)/001.4bpp: $(BTLANMSPRGFXDIR)/001_0.4bpp \ - $(BTLANMSPRGFXDIR)/001_1.4bpp +$(BTLANMSPRGFXDIR)/spark.4bpp: $(BTLANMSPRGFXDIR)/spark_0.4bpp \ + $(BTLANMSPRGFXDIR)/spark_1.4bpp @cat $^ >$@ $(MASKSGFXDIR)/unknown_C2EA50.4bpp: %.4bpp: %.png diff --git a/include/battle.h b/include/battle.h index 13c1851cfc..0f4087c90b 100644 --- a/include/battle.h +++ b/include/battle.h @@ -62,70 +62,12 @@ #define BATTLE_BUFFER_LINK_SIZE 0x1000 -struct TrainerMonNoItemDefaultMoves -{ - u16 iv; - u8 lvl; - u16 species; -}; - -struct TrainerMonItemDefaultMoves -{ - u16 iv; - u8 lvl; - u16 species; - u16 heldItem; -}; - -struct TrainerMonNoItemCustomMoves -{ - u16 iv; - u8 lvl; - u16 species; - u16 moves[4]; -}; - -struct TrainerMonItemCustomMoves -{ - u16 iv; - u8 lvl; - u16 species; - u16 heldItem; - u16 moves[4]; -}; - -union TrainerMonPtr -{ - const struct TrainerMonNoItemDefaultMoves *NoItemDefaultMoves; - const struct TrainerMonNoItemCustomMoves *NoItemCustomMoves; - const struct TrainerMonItemDefaultMoves *ItemDefaultMoves; - const struct TrainerMonItemCustomMoves *ItemCustomMoves; -}; - -struct Trainer -{ - /*0x00*/ u8 partyFlags; - /*0x01*/ u8 trainerClass; - /*0x02*/ u8 encounterMusic_gender; // last bit is gender - /*0x03*/ u8 trainerPic; - /*0x04*/ u8 trainerName[12]; - /*0x10*/ u16 items[4]; - /*0x18*/ bool8 doubleBattle; - /*0x1C*/ u32 aiFlags; - /*0x20*/ u8 partySize; - /*0x24*/ union TrainerMonPtr party; -}; - -extern const struct Trainer gTrainers[]; - -#define TRAINER_ENCOUNTER_MUSIC(trainer)((gTrainers[trainer].encounterMusic_gender & 0x7F)) - -struct UnknownFlags +struct ResourceFlags { u32 flags[4]; }; -#define UNKNOWN_FLAG_FLASH_FIRE 1 +#define RESOURCE_FLAG_FLASH_FIRE 1 struct DisableStruct { @@ -276,21 +218,16 @@ struct BattleCallbacksStack struct StatsArray { - u16 hp; - u16 atk; - u16 def; - u16 spd; - u16 spAtk; - u16 spDef; + u16 stats[NUM_STATS]; }; struct BattleResources { - struct SecretBaseRecord* secretBase; - struct UnknownFlags *flags; + struct SecretBase* secretBase; + struct ResourceFlags *flags; struct BattleScriptsStack* battleScriptsStack; struct BattleCallbacksStack* battleCallbackStack; - struct StatsArray* statsBeforeLvlUp; + struct StatsArray* beforeLvlUp; struct AI_ThinkingStruct *ai; struct BattleHistory *battleHistory; struct BattleScriptsStack *AI_ScriptsStack; @@ -774,6 +711,5 @@ extern u8 gHealthboxSpriteIds[MAX_BATTLERS_COUNT]; extern u8 gMultiUsePlayerCursor; extern u8 gNumberOfMovesToChoose; extern u8 gUnknown_03005D7C[MAX_BATTLERS_COUNT]; -extern const u8 gTrainerClassNames[][13]; #endif // GUARD_BATTLE_H diff --git a/include/battle_anim.h b/include/battle_anim.h index 949bc236bc..a7b71bd856 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -62,7 +62,7 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible) bool8 IsContest(void); s8 BattleAnimAdjustPanning(s8 pan); s8 BattleAnimAdjustPanning2(s8 pan); -s16 KeepPanInRange(s16 a); +s16 KeepPanInRange(s16 a, int oldPan); s16 CalculatePanIncrement(s16 sourcePan, s16 targetPan, s16 incrementPan); void sub_80A4720(u16 a, u16 *b, u32 c, u8 d); void sub_80A477C(bool8); diff --git a/include/battle_transition.h b/include/battle_transition.h index 0d6ef3c83e..db06a56386 100644 --- a/include/battle_transition.h +++ b/include/battle_transition.h @@ -13,7 +13,7 @@ extern const struct SpritePalette gFieldEffectObjectPaletteInfo10; enum // TRANSITION_MUGSHOT { - MUGSHOT_SYDNEY, + MUGSHOT_SIDNEY, MUGSHOT_PHOEBE, MUGSHOT_GLACIA, MUGSHOT_DRAKE, @@ -36,7 +36,7 @@ enum // TRANSITION_MUGSHOT #define B_TRANSITION_WHITEFADE 9 #define B_TRANSITION_GRID_SQUARES 10 #define B_TRANSITION_SHARDS 11 -#define B_TRANSITION_SYDNEY 12 +#define B_TRANSITION_SIDNEY 12 #define B_TRANSITION_PHOEBE 13 #define B_TRANSITION_GLACIA 14 #define B_TRANSITION_DRAKE 15 diff --git a/include/berry.h b/include/berry.h index ee581b9c18..9ff18e1983 100644 --- a/include/berry.h +++ b/include/berry.h @@ -34,12 +34,6 @@ enum BERRY_STAGE_SPARKLING = 0xFF, }; -#define NUM_BERRIES 44 - -extern const u8 *const gBerryTreeEventObjectGraphicsIdTablePointers[]; -extern const struct SpriteFrameImage *const gBerryTreePicTablePointers[]; -extern const u8 *const gBerryTreePaletteSlotTablePointers[]; - void ClearEnigmaBerries(void); void SetEnigmaBerry(u8 *src); bool32 IsEnigmaBerryValid(void); diff --git a/include/constants/battle_anim.h b/include/constants/battle_anim.h index 34a45395ce..0a023f0c24 100644 --- a/include/constants/battle_anim.h +++ b/include/constants/battle_anim.h @@ -11,137 +11,137 @@ #define ANIM_TAG_SPARK (ANIM_SPRITES_START + 1) #define ANIM_TAG_PENCIL (ANIM_SPRITES_START + 2) #define ANIM_TAG_AIR_WAVE (ANIM_SPRITES_START + 3) -#define ANIM_TAG_UNUSED_ORB (ANIM_SPRITES_START + 4) +#define ANIM_TAG_ORB (ANIM_SPRITES_START + 4) #define ANIM_TAG_SWORD (ANIM_SPRITES_START + 5) #define ANIM_TAG_SEED (ANIM_SPRITES_START + 6) -#define ANIM_TAG_UNUSED_EXPLOSION (ANIM_SPRITES_START + 7) -#define ANIM_TAG_UNUSED_PINK_ORB (ANIM_SPRITES_START + 8) +#define ANIM_TAG_EXPLOSION_6 (ANIM_SPRITES_START + 7) +#define ANIM_TAG_PINK_ORB (ANIM_SPRITES_START + 8) // unused #define ANIM_TAG_GUST (ANIM_SPRITES_START + 9) #define ANIM_TAG_ICE_CUBE (ANIM_SPRITES_START + 10) #define ANIM_TAG_SPARK_2 (ANIM_SPRITES_START + 11) -#define ANIM_TAG_UNUSED_ORANGE (ANIM_SPRITES_START + 12) +#define ANIM_TAG_ORANGE (ANIM_SPRITES_START + 12) // unused #define ANIM_TAG_YELLOW_BALL (ANIM_SPRITES_START + 13) #define ANIM_TAG_LOCK_ON (ANIM_SPRITES_START + 14) #define ANIM_TAG_TIED_BAG (ANIM_SPRITES_START + 15) #define ANIM_TAG_BLACK_SMOKE (ANIM_SPRITES_START + 16) #define ANIM_TAG_BLACK_BALL (ANIM_SPRITES_START + 17) #define ANIM_TAG_CONVERSION (ANIM_SPRITES_START + 18) -#define ANIM_TAG_UNUSED_GLASS (ANIM_SPRITES_START + 19) +#define ANIM_TAG_GLASS (ANIM_SPRITES_START + 19) // unused #define ANIM_TAG_HORN_HIT (ANIM_SPRITES_START + 20) -#define ANIM_TAG_UNUSED_HIT (ANIM_SPRITES_START + 21) -#define ANIM_TAG_UNUSED_HIT_2 (ANIM_SPRITES_START + 22) -#define ANIM_TAG_UNUSED_BLUE_SHARDS (ANIM_SPRITES_START + 23) -#define ANIM_TAG_UNUSED_CLOSING_EYE (ANIM_SPRITES_START + 24) -#define ANIM_TAG_UNUSED_WAVING_HAND (ANIM_SPRITES_START + 25) -#define ANIM_TAG_UNUSED_HIT_DUPLICATE (ANIM_SPRITES_START + 26) +#define ANIM_TAG_HIT (ANIM_SPRITES_START + 21) +#define ANIM_TAG_HIT_2 (ANIM_SPRITES_START + 22) +#define ANIM_TAG_BLUE_SHARDS (ANIM_SPRITES_START + 23) // unused +#define ANIM_TAG_CLOSING_EYE (ANIM_SPRITES_START + 24) // unused +#define ANIM_TAG_WAVING_HAND (ANIM_SPRITES_START + 25) // unused +#define ANIM_TAG_HIT_DUPLICATE (ANIM_SPRITES_START + 26) // unused #define ANIM_TAG_LEER (ANIM_SPRITES_START + 27) -#define ANIM_TAG_UNUSED_BLUE_BURST (ANIM_SPRITES_START + 28) +#define ANIM_TAG_BLUE_BURST (ANIM_SPRITES_START + 28) // unused #define ANIM_TAG_SMALL_EMBER (ANIM_SPRITES_START + 29) #define ANIM_TAG_GRAY_SMOKE (ANIM_SPRITES_START + 30) #define ANIM_TAG_BLUE_STAR (ANIM_SPRITES_START + 31) -#define ANIM_TAG_UNUSED_BUBBLE_BURST (ANIM_SPRITES_START + 32) +#define ANIM_TAG_BUBBLE_BURST (ANIM_SPRITES_START + 32) #define ANIM_TAG_FIRE (ANIM_SPRITES_START + 33) -#define ANIM_TAG_UNUSED_SPINNING_FIRE (ANIM_SPRITES_START + 34) +#define ANIM_TAG_SPINNING_FIRE (ANIM_SPRITES_START + 34) // unused #define ANIM_TAG_FIRE_PLUME (ANIM_SPRITES_START + 35) -#define ANIM_TAG_UNUSED_LIGHTNING (ANIM_SPRITES_START + 36) +#define ANIM_TAG_LIGHTNING_2 (ANIM_SPRITES_START + 36) // unused #define ANIM_TAG_LIGHTNING (ANIM_SPRITES_START + 37) -#define ANIM_TAG_UNUSED_CLAW_SLASH (ANIM_SPRITES_START + 38) +#define ANIM_TAG_CLAW_SLASH_2 (ANIM_SPRITES_START + 38) // unused #define ANIM_TAG_CLAW_SLASH (ANIM_SPRITES_START + 39) -#define ANIM_TAG_UNUSED_SCRATCH (ANIM_SPRITES_START + 40) -#define ANIM_TAG_UNUSED_SCRATCH_2 (ANIM_SPRITES_START + 41) -#define ANIM_TAG_UNUSED_BUBBLE_BURST_2 (ANIM_SPRITES_START + 42) +#define ANIM_TAG_SCRATCH_3 (ANIM_SPRITES_START + 40) // unused +#define ANIM_TAG_SCRATCH_2 (ANIM_SPRITES_START + 41) // unused +#define ANIM_TAG_BUBBLE_BURST_2 (ANIM_SPRITES_START + 42) // unused #define ANIM_TAG_ICE_CHUNK (ANIM_SPRITES_START + 43) -#define ANIM_TAG_UNUSED_GLASS_2 (ANIM_SPRITES_START + 44) -#define ANIM_TAG_UNUSED_PINK_HEART (ANIM_SPRITES_START + 45) -#define ANIM_TAG_UNUSED_SAP_DRIP (ANIM_SPRITES_START + 46) -#define ANIM_TAG_UNUSED_SAP_DRIP_2 (ANIM_SPRITES_START + 47) +#define ANIM_TAG_GLASS_2 (ANIM_SPRITES_START + 44) // unused +#define ANIM_TAG_PINK_HEART_2 (ANIM_SPRITES_START + 45) // unused +#define ANIM_TAG_SAP_DRIP (ANIM_SPRITES_START + 46) // unused +#define ANIM_TAG_SAP_DRIP_2 (ANIM_SPRITES_START + 47) // unused #define ANIM_TAG_SPARKLE_1 (ANIM_SPRITES_START + 48) #define ANIM_TAG_SPARKLE_2 (ANIM_SPRITES_START + 49) #define ANIM_TAG_HUMANOID_FOOT (ANIM_SPRITES_START + 50) -#define ANIM_TAG_UNUSED_MONSTER_FOOT (ANIM_SPRITES_START + 51) -#define ANIM_TAG_UNUSED_HUMANOID_HAND (ANIM_SPRITES_START + 52) +#define ANIM_TAG_MONSTER_FOOT (ANIM_SPRITES_START + 51) +#define ANIM_TAG_HUMANOID_HAND (ANIM_SPRITES_START + 52) // unused #define ANIM_TAG_NOISE_LINE (ANIM_SPRITES_START + 53) -#define ANIM_TAG_UNUSED_YELLOW_UNK (ANIM_SPRITES_START + 54) -#define ANIM_TAG_UNUSED_RED_FIST (ANIM_SPRITES_START + 55) +#define ANIM_TAG_YELLOW_UNK (ANIM_SPRITES_START + 54) // unused +#define ANIM_TAG_RED_FIST (ANIM_SPRITES_START + 55) // unused #define ANIM_TAG_SLAM_HIT (ANIM_SPRITES_START + 56) -#define ANIM_TAG_UNUSED_RING (ANIM_SPRITES_START + 57) +#define ANIM_TAG_RING (ANIM_SPRITES_START + 57) // unused #define ANIM_TAG_ROCKS (ANIM_SPRITES_START + 58) -#define ANIM_TAG_UNUSED_Z (ANIM_SPRITES_START + 59) -#define ANIM_TAG_UNUSED_YELLOW_UNK_2 (ANIM_SPRITES_START + 60) -#define ANIM_TAG_UNUSED_AIR_SLASH (ANIM_SPRITES_START + 61) -#define ANIM_TAG_UNUSED_SPINNING_GREEN_ORBS (ANIM_SPRITES_START + 62) +#define ANIM_TAG_Z (ANIM_SPRITES_START + 59) // unused +#define ANIM_TAG_YELLOW_UNK_2 (ANIM_SPRITES_START + 60) // unused +#define ANIM_TAG_AIR_SLASH (ANIM_SPRITES_START + 61) // unused +#define ANIM_TAG_SPINNING_GREEN_ORBS (ANIM_SPRITES_START + 62) // unused #define ANIM_TAG_LEAF (ANIM_SPRITES_START + 63) #define ANIM_TAG_FINGER (ANIM_SPRITES_START + 64) #define ANIM_TAG_POISON_POWDER (ANIM_SPRITES_START + 65) -#define ANIM_TAG_UNUSED_BROWN_TRIANGLE (ANIM_SPRITES_START + 66) +#define ANIM_TAG_BROWN_TRIANGLE (ANIM_SPRITES_START + 66) // unused #define ANIM_TAG_SLEEP_POWDER (ANIM_SPRITES_START + 67) #define ANIM_TAG_STUN_SPORE (ANIM_SPRITES_START + 68) -#define ANIM_TAG_UNUSED_POWDER (ANIM_SPRITES_START + 69) +#define ANIM_TAG_POWDER (ANIM_SPRITES_START + 69) // unused #define ANIM_TAG_SPARKLE_3 (ANIM_SPRITES_START + 70) #define ANIM_TAG_SPARKLE_4 (ANIM_SPRITES_START + 71) #define ANIM_TAG_MUSIC_NOTES (ANIM_SPRITES_START + 72) #define ANIM_TAG_DUCK (ANIM_SPRITES_START + 73) #define ANIM_TAG_MUD_SAND (ANIM_SPRITES_START + 74) #define ANIM_TAG_ALERT (ANIM_SPRITES_START + 75) -#define ANIM_TAG_UNUSED_BLUE_FLAMES (ANIM_SPRITES_START + 76) -#define ANIM_TAG_UNUSED_BLUE_FLAMES_2 (ANIM_SPRITES_START + 77) -#define ANIM_TAG_UNUSED_SHOCK (ANIM_SPRITES_START + 78) +#define ANIM_TAG_BLUE_FLAMES (ANIM_SPRITES_START + 76) // unused +#define ANIM_TAG_BLUE_FLAMES_2 (ANIM_SPRITES_START + 77) // unused +#define ANIM_TAG_SHOCK_4 (ANIM_SPRITES_START + 78) // unused #define ANIM_TAG_SHOCK (ANIM_SPRITES_START + 79) -#define ANIM_TAG_UNUSED_BELL (ANIM_SPRITES_START + 80) -#define ANIM_TAG_UNUSED_PINK_GLOVE (ANIM_SPRITES_START + 81) -#define ANIM_TAG_UNUSED_BLUE_LINES (ANIM_SPRITES_START + 82) -#define ANIM_TAG_UNUSED_IMPACT (ANIM_SPRITES_START + 83) -#define ANIM_TAG_UNUSED_IMPACT_2 (ANIM_SPRITES_START + 84) -#define ANIM_TAG_UNUSED_RETICLE (ANIM_SPRITES_START + 85) +#define ANIM_TAG_BELL_2 (ANIM_SPRITES_START + 80) // unused +#define ANIM_TAG_PINK_GLOVE (ANIM_SPRITES_START + 81) // unused +#define ANIM_TAG_BLUE_LINES (ANIM_SPRITES_START + 82) // unused +#define ANIM_TAG_IMPACT_3 (ANIM_SPRITES_START + 83) // unused +#define ANIM_TAG_IMPACT_2 (ANIM_SPRITES_START + 84) // unused +#define ANIM_TAG_RETICLE (ANIM_SPRITES_START + 85) // unused #define ANIM_TAG_BREATH (ANIM_SPRITES_START + 86) #define ANIM_TAG_ANGER (ANIM_SPRITES_START + 87) -#define ANIM_TAG_UNUSED_SNOWBALL (ANIM_SPRITES_START + 88) -#define ANIM_TAG_UNUSED_VINE (ANIM_SPRITES_START + 89) -#define ANIM_TAG_UNUSED_SWORD (ANIM_SPRITES_START + 90) -#define ANIM_TAG_UNUSED_CLAPPING (ANIM_SPRITES_START + 91) -#define ANIM_TAG_UNUSED_RED_TUBE (ANIM_SPRITES_START + 92) +#define ANIM_TAG_SNOWBALL (ANIM_SPRITES_START + 88) // unused +#define ANIM_TAG_VINE (ANIM_SPRITES_START + 89) // unused +#define ANIM_TAG_SWORD_2 (ANIM_SPRITES_START + 90) // unused +#define ANIM_TAG_CLAPPING (ANIM_SPRITES_START + 91) // unused +#define ANIM_TAG_RED_TUBE (ANIM_SPRITES_START + 92) // unused #define ANIM_TAG_AMNESIA (ANIM_SPRITES_START + 93) -#define ANIM_TAG_UNUSED_STRING (ANIM_SPRITES_START + 94) -#define ANIM_TAG_UNUSED_PENCIL (ANIM_SPRITES_START + 95) -#define ANIM_TAG_UNUSED_PETAL (ANIM_SPRITES_START + 96) +#define ANIM_TAG_STRING_2 (ANIM_SPRITES_START + 94) // unused +#define ANIM_TAG_PENCIL_2 (ANIM_SPRITES_START + 95) // unused +#define ANIM_TAG_PETAL (ANIM_SPRITES_START + 96) // unused #define ANIM_TAG_BENT_SPOON (ANIM_SPRITES_START + 97) -#define ANIM_TAG_UNUSED_WEB (ANIM_SPRITES_START + 98) +#define ANIM_TAG_WEB (ANIM_SPRITES_START + 98) // unused #define ANIM_TAG_MILK_BOTTLE (ANIM_SPRITES_START + 99) #define ANIM_TAG_COIN (ANIM_SPRITES_START + 100) -#define ANIM_TAG_UNUSED_CRACKED_EGG (ANIM_SPRITES_START + 101) -#define ANIM_TAG_UNUSED_HATCHED_EGG (ANIM_SPRITES_START + 102) -#define ANIM_TAG_UNUSED_FRESH_EGG (ANIM_SPRITES_START + 103) -#define ANIM_TAG_UNUSED_FANGS (ANIM_SPRITES_START + 104) -#define ANIM_TAG_UNUSED_EXPLOSION_2 (ANIM_SPRITES_START + 105) -#define ANIM_TAG_UNUSED_EXPLOSION_3 (ANIM_SPRITES_START + 106) -#define ANIM_TAG_UNUSED_WATER_DROPLET (ANIM_SPRITES_START + 107) -#define ANIM_TAG_UNUSED_WATER_DROPLET_2 (ANIM_SPRITES_START + 108) -#define ANIM_TAG_UNUSED_SEED (ANIM_SPRITES_START + 109) -#define ANIM_TAG_UNUSED_SPROUT (ANIM_SPRITES_START + 110) -#define ANIM_TAG_UNUSED_RED_WAND (ANIM_SPRITES_START + 111) -#define ANIM_TAG_UNUSED_PURPLE_GREEN_UNK (ANIM_SPRITES_START + 112) -#define ANIM_TAG_UNUSED_WATER_COLUMN (ANIM_SPRITES_START + 113) -#define ANIM_TAG_UNUSED_MUD_UNK (ANIM_SPRITES_START + 114) +#define ANIM_TAG_CRACKED_EGG (ANIM_SPRITES_START + 101) // unused +#define ANIM_TAG_HATCHED_EGG (ANIM_SPRITES_START + 102) // unused +#define ANIM_TAG_FRESH_EGG (ANIM_SPRITES_START + 103) // unused +#define ANIM_TAG_FANGS (ANIM_SPRITES_START + 104) // unused +#define ANIM_TAG_EXPLOSION_2 (ANIM_SPRITES_START + 105) // unused +#define ANIM_TAG_EXPLOSION_3 (ANIM_SPRITES_START + 106) // unused +#define ANIM_TAG_WATER_DROPLET (ANIM_SPRITES_START + 107) // unused +#define ANIM_TAG_WATER_DROPLET_2 (ANIM_SPRITES_START + 108) // unused +#define ANIM_TAG_SEED_2 (ANIM_SPRITES_START + 109) // unused +#define ANIM_TAG_SPROUT (ANIM_SPRITES_START + 110) // unused +#define ANIM_TAG_RED_WAND (ANIM_SPRITES_START + 111) // unused +#define ANIM_TAG_PURPLE_GREEN_UNK (ANIM_SPRITES_START + 112) // unused +#define ANIM_TAG_WATER_COLUMN (ANIM_SPRITES_START + 113) // unused +#define ANIM_TAG_MUD_UNK (ANIM_SPRITES_START + 114) // unused #define ANIM_TAG_RAIN_DROPS (ANIM_SPRITES_START + 115) -#define ANIM_TAG_UNUSED_FURY_SWIPES (ANIM_SPRITES_START + 116) -#define ANIM_TAG_UNUSED_VINE_2 (ANIM_SPRITES_START + 117) -#define ANIM_TAG_UNUSED_TEETH (ANIM_SPRITES_START + 118) -#define ANIM_TAG_UNUSED_BONE (ANIM_SPRITES_START + 119) -#define ANIM_TAG_UNUSED_WHITE_BAG (ANIM_SPRITES_START + 120) -#define ANIM_TAG_UNUSED_UNKNOWN (ANIM_SPRITES_START + 121) -#define ANIM_TAG_UNUSED_PURPLE_CORAL (ANIM_SPRITES_START + 122) -#define ANIM_TAG_UNUSED_PURPLE_DROPLET (ANIM_SPRITES_START + 123) -#define ANIM_TAG_UNUSED_SHOCK_2 (ANIM_SPRITES_START + 124) -#define ANIM_TAG_UNUSED_CLOSING_EYE_2 (ANIM_SPRITES_START + 125) -#define ANIM_TAG_UNUSED_METAL_BALL (ANIM_SPRITES_START + 126) -#define ANIM_TAG_UNUSED_MONSTER_DOLL (ANIM_SPRITES_START + 127) -#define ANIM_TAG_UNUSED_WHIRLWIND (ANIM_SPRITES_START + 128) -#define ANIM_TAG_UNUSED_WHIRLWIND_2 (ANIM_SPRITES_START + 129) -#define ANIM_TAG_UNUSED_EXPLOSION_4 (ANIM_SPRITES_START + 130) -#define ANIM_TAG_UNUSED_EXPLOSION_5 (ANIM_SPRITES_START + 131) -#define ANIM_TAG_UNUSED_TONGUE (ANIM_SPRITES_START + 132) -#define ANIM_TAG_UNUSED_SMOKE (ANIM_SPRITES_START + 133) -#define ANIM_TAG_UNUSED_SMOKE_2 (ANIM_SPRITES_START + 134) +#define ANIM_TAG_FURY_SWIPES (ANIM_SPRITES_START + 116) // unused +#define ANIM_TAG_VINE_2 (ANIM_SPRITES_START + 117) // unused +#define ANIM_TAG_TEETH (ANIM_SPRITES_START + 118) // unused +#define ANIM_TAG_BONE_2 (ANIM_SPRITES_START + 119) // unused +#define ANIM_TAG_WHITE_BAG (ANIM_SPRITES_START + 120) // unused +#define ANIM_TAG_UNKNOWN (ANIM_SPRITES_START + 121) // unused +#define ANIM_TAG_PURPLE_CORAL (ANIM_SPRITES_START + 122) // unused +#define ANIM_TAG_PURPLE_DROPLET (ANIM_SPRITES_START + 123) // unused +#define ANIM_TAG_SHOCK_2 (ANIM_SPRITES_START + 124) // unused +#define ANIM_TAG_CLOSING_EYE_2 (ANIM_SPRITES_START + 125) // unused +#define ANIM_TAG_METAL_BALL (ANIM_SPRITES_START + 126) // unused +#define ANIM_TAG_MONSTER_DOLL (ANIM_SPRITES_START + 127) // unused +#define ANIM_TAG_WHIRLWIND (ANIM_SPRITES_START + 128) // unused +#define ANIM_TAG_WHIRLWIND_2 (ANIM_SPRITES_START + 129) // unused +#define ANIM_TAG_EXPLOSION_4 (ANIM_SPRITES_START + 130) // unused +#define ANIM_TAG_EXPLOSION_5 (ANIM_SPRITES_START + 131) // unused +#define ANIM_TAG_TONGUE (ANIM_SPRITES_START + 132) // unused +#define ANIM_TAG_SMOKE (ANIM_SPRITES_START + 133) // unused +#define ANIM_TAG_SMOKE_2 (ANIM_SPRITES_START + 134) // unused #define ANIM_TAG_IMPACT (ANIM_SPRITES_START + 135) #define ANIM_TAG_CIRCLE_IMPACT (ANIM_SPRITES_START + 136) #define ANIM_TAG_SCRATCH (ANIM_SPRITES_START + 137) @@ -185,11 +185,11 @@ #define ANIM_TAG_LARGE_FRESH_EGG (ANIM_SPRITES_START + 175) #define ANIM_TAG_SHADOW_BALL (ANIM_SPRITES_START + 176) #define ANIM_TAG_LICK (ANIM_SPRITES_START + 177) -#define ANIM_TAG_UNUSED_VOID_LINES (ANIM_SPRITES_START + 178) +#define ANIM_TAG_VOID_LINES (ANIM_SPRITES_START + 178) #define ANIM_TAG_STRING (ANIM_SPRITES_START + 179) #define ANIM_TAG_WEB_THREAD (ANIM_SPRITES_START + 180) #define ANIM_TAG_SPIDER_WEB (ANIM_SPRITES_START + 181) -#define ANIM_TAG_UNUSED_LIGHTBULB (ANIM_SPRITES_START + 182) +#define ANIM_TAG_LIGHTBULB (ANIM_SPRITES_START + 182) // unused #define ANIM_TAG_SLASH (ANIM_SPRITES_START + 183) #define ANIM_TAG_FOCUS_ENERGY (ANIM_SPRITES_START + 184) #define ANIM_TAG_SPHERE_TO_CUBE (ANIM_SPRITES_START + 185) @@ -211,7 +211,7 @@ #define ANIM_TAG_WARM_ROCK (ANIM_SPRITES_START + 201) #define ANIM_TAG_BREAKING_EGG (ANIM_SPRITES_START + 202) #define ANIM_TAG_THIN_RING (ANIM_SPRITES_START + 203) -#define ANIM_TAG_UNUSED_PUNCH_IMPACT (ANIM_SPRITES_START + 204) +#define ANIM_TAG_PUNCH_IMPACT (ANIM_SPRITES_START + 204) // unused #define ANIM_TAG_BELL (ANIM_SPRITES_START + 205) #define ANIM_TAG_MUSIC_NOTES_2 (ANIM_SPRITES_START + 206) #define ANIM_TAG_SPEED_DUST (ANIM_SPRITES_START + 207) @@ -276,17 +276,17 @@ #define ANIM_TAG_GREEN_SPIKE (ANIM_SPRITES_START + 266) #define ANIM_TAG_WHITE_CIRCLE_OF_LIGHT (ANIM_SPRITES_START + 267) #define ANIM_TAG_GLOWY_BLUE_ORB (ANIM_SPRITES_START + 268) -#define ANIM_TAG_UNUSED_RED_BRICK (ANIM_SPRITES_START + 269) +#define ANIM_TAG_POKEBLOCK (ANIM_SPRITES_START + 269) #define ANIM_TAG_WHITE_FEATHER (ANIM_SPRITES_START + 270) #define ANIM_TAG_SPARKLE_6 (ANIM_SPRITES_START + 271) #define ANIM_TAG_SPLASH (ANIM_SPRITES_START + 272) #define ANIM_TAG_SWEAT_BEAD (ANIM_SPRITES_START + 273) -#define ANIM_TAG_UNUSED_GEM_1 (ANIM_SPRITES_START + 274) -#define ANIM_TAG_UNUSED_GEM_2 (ANIM_SPRITES_START + 275) -#define ANIM_TAG_UNUSED_GEM_3 (ANIM_SPRITES_START + 276) +#define ANIM_TAG_GEM_1 (ANIM_SPRITES_START + 274) // unused +#define ANIM_TAG_GEM_2 (ANIM_SPRITES_START + 275) // unused +#define ANIM_TAG_GEM_3 (ANIM_SPRITES_START + 276) // unused #define ANIM_TAG_SLAM_HIT_2 (ANIM_SPRITES_START + 277) #define ANIM_TAG_RECYCLE (ANIM_SPRITES_START + 278) -#define ANIM_TAG_UNUSED_RED_PARTICLES (ANIM_SPRITES_START + 279) +#define ANIM_TAG_RED_PARTICLES (ANIM_SPRITES_START + 279) // unused #define ANIM_TAG_PROTECT (ANIM_SPRITES_START + 280) #define ANIM_TAG_DIRT_MOUND (ANIM_SPRITES_START + 281) #define ANIM_TAG_SHOCK_3 (ANIM_SPRITES_START + 282) @@ -313,7 +313,7 @@ // . . // . . // 127 -// +// #define SOUND_PAN_ATTACKER -64 #define SOUND_PAN_TARGET 63 @@ -335,10 +335,10 @@ #define BG_GUILLOTINE_CONTESTS 14 #define BG_ICE 15 #define BG_COSMIC 16 -#define BG_SEISMICTOSS_SKUUPPERCUT 17 -#define BG_FLYING 18 -#define BG_FLYING_CONTESTS 19 -#define BG_AURORABEAM 20 +#define BG_IN_AIR 17 +#define BG_SKY 18 +#define BG_SKY_CONTESTS 19 +#define BG_AURORA 20 #define BG_FISSURE 21 #define BG_BUG_OPPONENT 22 #define BG_BUG_PLAYER 23 @@ -411,32 +411,32 @@ #define ANIM_WEATHER_HAIL 4 // Battle mon back animations. -#define BACK_ANIM_NONE 0x00 -#define BACK_ANIM_H_SLIDE_QUICK 0x01 -#define BACK_ANIM_H_SLIDE 0x02 -#define BACK_ANIM_H_SLIDE_WITH_V_COMPRESS_1 0x03 -#define BACK_ANIM_H_SLIDE_WITH_V_COMPRESS_2 0x04 -#define BACK_ANIM_SHRINK_GROW_1 0x05 -#define BACK_ANIM_GROW_1 0x06 -#define BACK_ANIM_CIRCLE_MOVE_COUNTERCLOCKWISE 0x07 -#define BACK_ANIM_HORIZONTAL_SHAKE 0x08 -#define BACK_ANIM_VERTICAL_SHAKE 0x09 -#define BACK_ANIM_V_SHAKE_WITH_H_SLIDE 0x0a -#define BACK_ANIM_VERTICAL_STRETCH 0x0b -#define BACK_ANIM_HORIZONTAL_STRETCH 0x0c -#define BACK_ANIM_GROW_2 0x0d -#define BACK_ANIM_V_SHAKE_WITH_PAUSE 0x0e -#define BACK_ANIM_CIRCLE_MOVE_CLOCKWISE 0x0f -#define BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_SMALL 0x10 -#define BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_LARGE 0x11 -#define BACK_ANIM_CONCAVE_UP_ARC_SWAY_LARGE 0x12 -#define BACK_ANIM_DIP_RIGHT_SIDE 0x13 -#define BACK_ANIM_SHRINK_GROW_2 0x14 -#define BACK_ANIM_JOLT_RIGHT 0x15 -#define BACK_ANIM_FLASH_YELLOW_WITH_SHAKE 0x16 -#define BACK_ANIM_FADE_RED_WITH_SHAKE 0x17 -#define BACK_ANIM_FADE_GREEN_WITH_SHAKE 0x18 -#define BACK_ANIM_FADE_BLUE_WITH_SHAKE 0x19 +#define BACK_ANIM_NONE 0x00 +#define BACK_ANIM_H_SLIDE_QUICK 0x01 +#define BACK_ANIM_H_SLIDE 0x02 +#define BACK_ANIM_H_SLIDE_WITH_V_COMPRESS_1 0x03 +#define BACK_ANIM_H_SLIDE_WITH_V_COMPRESS_2 0x04 +#define BACK_ANIM_SHRINK_GROW_1 0x05 +#define BACK_ANIM_GROW_1 0x06 +#define BACK_ANIM_CIRCLE_MOVE_COUNTERCLOCKWISE 0x07 +#define BACK_ANIM_HORIZONTAL_SHAKE 0x08 +#define BACK_ANIM_VERTICAL_SHAKE 0x09 +#define BACK_ANIM_V_SHAKE_WITH_H_SLIDE 0x0a +#define BACK_ANIM_VERTICAL_STRETCH 0x0b +#define BACK_ANIM_HORIZONTAL_STRETCH 0x0c +#define BACK_ANIM_GROW_2 0x0d +#define BACK_ANIM_V_SHAKE_WITH_PAUSE 0x0e +#define BACK_ANIM_CIRCLE_MOVE_CLOCKWISE 0x0f +#define BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_SMALL 0x10 +#define BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_LARGE 0x11 +#define BACK_ANIM_CONCAVE_UP_ARC_SWAY_LARGE 0x12 +#define BACK_ANIM_DIP_RIGHT_SIDE 0x13 +#define BACK_ANIM_SHRINK_GROW_2 0x14 +#define BACK_ANIM_JOLT_RIGHT 0x15 +#define BACK_ANIM_FLASH_YELLOW_WITH_SHAKE 0x16 +#define BACK_ANIM_FADE_RED_WITH_SHAKE 0x17 +#define BACK_ANIM_FADE_GREEN_WITH_SHAKE 0x18 +#define BACK_ANIM_FADE_BLUE_WITH_SHAKE 0x19 #endif // GUARD_CONSTANTS_BATTLE_ANIM_H diff --git a/include/constants/event_objects.h b/include/constants/event_objects.h index 9973477da2..07ed2d40c0 100644 --- a/include/constants/event_objects.h +++ b/include/constants/event_objects.h @@ -274,6 +274,8 @@ #define TRACKS_FOOT 1 #define TRACKS_BIKE_TIRE 2 +#define FIRST_DECORATION_SPRITE_GFX EVENT_OBJ_GFX_PICHU_DOLL + #define EVENT_OBJ_ID_PLAYER 0xFF #define EVENT_OBJ_ID_CAMERA 0x7F diff --git a/include/constants/flags.h b/include/constants/flags.h index 0450e988dd..732c68764a 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -287,7 +287,7 @@ #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_SECRET_BASE_REGISTRY_ENABLED 0x10C #define FLAG_RECEIVED_TM46 0x10D #define FLAG_CONTEST_SKETCH_CREATED 0x10E #define FLAG_EVIL_TEAM_ESCAPED_STERN_SPOKE 0x10F @@ -1248,7 +1248,7 @@ #define FLAG_UNUSED_0x4F9 0x4F9 // Unused Flag #define FLAG_UNUSED_0x4FA 0x4FA // Unused Flag -#define FLAG_DEFEATED_ELITE_4_SYDNEY 0x4FB +#define FLAG_DEFEATED_ELITE_4_SIDNEY 0x4FB #define FLAG_DEFEATED_ELITE_4_PHOEBE 0x4FC #define FLAG_DEFEATED_ELITE_4_GLACIA 0x4FD #define FLAG_DEFEATED_ELITE_4_DRAKE 0x4FE diff --git a/include/constants/item_effects.h b/include/constants/item_effects.h new file mode 100644 index 0000000000..a5bb770355 --- /dev/null +++ b/include/constants/item_effects.h @@ -0,0 +1,79 @@ +#ifndef GUARD_CONSTANTS_ITEM_EFFECTS_H +#define GUARD_CONSTANTS_ITEM_EFFECTS_H + +// field 0 masks +#define ITEM0_X_ATTACK 0x0F +#define ITEM0_HIGH_CRIT 0x30 // For Dire Hit, works the same way as move Focus Energy. +#define ITEM0_SACRED_ASH 0x40 +#define ITEM0_INFATUATION 0x80 + +// field 1 masks +#define ITEM1_X_SPEED 0x0F +#define ITEM1_X_DEFEND 0xF0 + +// field 2 masks +#define ITEM2_X_SPATK 0x0F +#define ITEM2_X_ACCURACY 0xF0 + +// field 3 masks +#define ITEM3_CONFUSION 0x1 +#define ITEM3_PARALYSIS 0x2 +#define ITEM3_FREEZE 0x4 +#define ITEM3_BURN 0x8 +#define ITEM3_POISON 0x10 +#define ITEM3_SLEEP 0x20 +#define ITEM3_LEVEL_UP 0x40 +#define ITEM3_MIST 0x80 // For Guard Specs, works the same way as move Mist. + +#define ITEM3_STATUS_ALL (ITEM3_CONFUSION | ITEM3_PARALYSIS | ITEM3_FREEZE | ITEM3_BURN | ITEM3_POISON | ITEM3_SLEEP) + +// field 4 masks +#define ITEM4_EV_HP 0x1 +#define ITEM4_EV_ATK 0x2 +#define ITEM4_HEAL_HP 0x4 +#define ITEM4_HEAL_PP_ALL 0x8 +#define ITEM4_HEAL_PP_ONE 0x10 +#define ITEM4_PP_UP 0x20 +#define ITEM4_REVIVE 0x40 +#define ITEM4_EVO_STONE 0x80 + +// field 5 masks +#define ITEM5_EV_DEF 0x1 +#define ITEM5_EV_SPEED 0x2 +#define ITEM5_EV_SPDEF 0x4 +#define ITEM5_EV_SPATK 0x8 +#define ITEM5_PP_MAX 0x10 +#define ITEM5_FRIENDSHIP_LOW 0x20 +#define ITEM5_FRIENDSHIP_MID 0x40 +#define ITEM5_FRIENDSHIP_HIGH 0x80 + +#define ITEM5_FRIENDSHIP_ALL (ITEM5_FRIENDSHIP_LOW | ITEM5_FRIENDSHIP_MID | ITEM5_FRIENDSHIP_HIGH) + +// fields 6 and onwards are item-specific arguments + +// Used for GetItemEffectType. +#define ITEM_EFFECT_X_ITEM 0 +#define ITEM_EFFECT_RAISE_LEVEL 1 +#define ITEM_EFFECT_HEAL_HP 2 +#define ITEM_EFFECT_CURE_POISON 3 +#define ITEM_EFFECT_CURE_SLEEP 4 +#define ITEM_EFFECT_CURE_BURN 5 +#define ITEM_EFFECT_CURE_FREEZE 6 +#define ITEM_EFFECT_CURE_PARALYSIS 7 +#define ITEM_EFFECT_CURE_CONFUSION 8 +#define ITEM_EFFECT_CURE_INFATUATION 9 +#define ITEM_EFFECT_SACRED_ASH 10 +#define ITEM_EFFECT_CURE_ALL_STATUS 11 +#define ITEM_EFFECT_ATK_EV 12 +#define ITEM_EFFECT_HP_EV 13 +#define ITEM_EFFECT_SPATK_EV 14 +#define ITEM_EFFECT_SPDEF_EV 15 +#define ITEM_EFFECT_SPEED_EV 16 +#define ITEM_EFFECT_DEF_EV 17 +#define ITEM_EFFECT_EVO_STONE 18 +#define ITEM_EFFECT_PP_UP 19 +#define ITEM_EFFECT_PP_MAX 20 +#define ITEM_EFFECT_HEAL_PP 21 +#define ITEM_EFFECT_NONE 22 + +#endif // GUARD_CONSTANTS_ITEM_EFFECTS_H diff --git a/include/constants/items.h b/include/constants/items.h index 294499c8bc..3a894f8ff6 100644 --- a/include/constants/items.h +++ b/include/constants/items.h @@ -473,6 +473,6 @@ #define NUM_HIDDEN_MACHINES 8 // Check if the item is one that can be used on a Pokemon. -#define IS_POKEMON_ITEM(item) ((item) >= ITEM_POTION && (item) <= ITEM_0B2) +#define ITEM_HAS_EFFECT(item) ((item) >= ITEM_POTION && (item) <= ITEM_0B2) #endif // GUARD_CONSTANTS_ITEMS_H diff --git a/include/constants/metatile_behaviors.h b/include/constants/metatile_behaviors.h index d8d75066ca..44bbd97291 100755 --- a/include/constants/metatile_behaviors.h +++ b/include/constants/metatile_behaviors.h @@ -182,7 +182,7 @@ #define MB_SECRET_BASE_UNUSED 0xB2 #define MB_BLOCK_DECORATION 0xB3 #define MB_SECRET_BASE_DECORATION 0xB4 -#define MB_SECRET_BASE_LARGE_MAT_EDGE 0xB5 +#define MB_HOLDS_SMALL_DECORATION 0xB5 #define MB_UNUSED_B6 0xB6 #define MB_SECRET_BASE_NORTH_WALL 0xB7 #define MB_SECRET_BASE_BALLOON 0xB8 @@ -196,7 +196,7 @@ #define MB_IMPASSABLE_SOUTH_AND_NORTH 0xC0 #define MB_IMPASSABLE_WEST_AND_EAST 0xC1 #define MB_SECRET_BASE_HOLE 0xC2 -#define MB_LARGE_MAT_CENTER 0xC3 +#define MB_HOLDS_LARGE_DECORATION 0xC3 #define MB_SECRET_BASE_TV_SHIELD 0xC4 #define MB_PLAYER_ROOM_PC_ON 0xC5 #define MB_C6 0xC6 diff --git a/include/constants/songs.h b/include/constants/songs.h index 3778d5f08d..b44c9f7a8b 100644 --- a/include/constants/songs.h +++ b/include/constants/songs.h @@ -463,7 +463,7 @@ #define MUS_RG_SOUSA 535 // Starting Tutorial #define MUS_RG_SEKAIKAN 536 // Starting Tutorial 2 #define MUS_RG_SEIBETU 537 // Starting Tutorial 3 -#define MUS_RG_JUMP 538 // Jumping Minigame +#define MUS_RG_JUMP 538 // Pokemon Jump Minigame #define MUS_RG_UNION 539 // Union Room #define MUS_RG_NETWORK 540 // Network Center #define MUS_RG_OKURIMONO 541 // Mystery Gift diff --git a/include/constants/vars.h b/include/constants/vars.h index 20524611b1..6fd1c16dd0 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -1,8 +1,6 @@ #ifndef GUARD_CONSTANTS_VARS_H #define GUARD_CONSTANTS_VARS_H -#define UNKNOWN_VAR_OFFSET_3F20 0x3F20 - #define VARS_START 0x4000 // temporary vars diff --git a/include/contest.h b/include/contest.h index a0b1a6b34b..a4e209bcb9 100644 --- a/include/contest.h +++ b/include/contest.h @@ -1,6 +1,27 @@ #ifndef GUARD_CONTEST_H #define GUARD_CONTEST_H +#include "palette.h" + +#define CONTESTANT_COUNT 4 +#define APPLAUSE_METER_SIZE 5 +#define CONTEST_TURN_COUNT 5 + +enum +{ + CONTEST_DEBUG_MODE_OFF, + // Prints the totalPoints value for each contestant. + CONTEST_DEBUG_MODE_PRINT_POINT_TOTAL, + // Prints the ContestResourcesField1C::unk_C value as a bitstring for each contestant. + CONTEST_DEBUG_MODE_PRINT_UNK_C, + // Prints the ContestResourcesField1C::unk_D value as a bitstring for each contestant. + CONTEST_DEBUG_MODE_PRINT_UNK_D +}; + +#define LINK_CONTEST_FLAG_IS_LINK (1 << 0) +#define LINK_CONTEST_FLAG_IS_WIRELESS (1 << 1) +#define LINK_CONTEST_FLAG_HAS_RS_PLAYER (1 << 2) + enum { CONTEST_CATEGORY_COOL, @@ -216,7 +237,7 @@ struct ContestPokemon /*0x02*/ u8 nickname[POKEMON_NAME_LENGTH + 1]; /*0x0D*/ u8 trainerName[PLAYER_NAME_LENGTH + 1]; /*0x15*/ u8 trainerGfxId; - /*0x18*/ u32 flags; + /*0x18*/ u32 aiChecks; /*0x1C*/ u8 whichRank:2; // 0x1 0x2 u8 aiPool_Cool:1; // 0x4 u8 aiPool_Beauty:1; // 0x8 @@ -235,14 +256,12 @@ struct ContestPokemon /*0x3C*/ u32 otId; // otId }; -struct Shared18000 +struct Shared1A004 { - /*0x18000*/ u8 unk18000; - /*0x18001*/ u8 filler18001[3]; - /*0x18004*/ u16 unk18004[16][16]; - /*0x18204*/ u16 unk18204[0x200]; - /*0x18604*/ u16 unk18604[0x200]; - /*0x18A04*/ u8 unk18A04[0x800]; + u16 cachedWindowPalettes[16][16]; // Saved palette data before a move happens? + u16 unk18204[PLTT_BUFFER_SIZE]; // Saved copy of gPlttBufferUnfaded + u16 unk18604[PLTT_BUFFER_SIZE]; // Saved copy of gPlttBufferFaded + u8 savedJunk[0x800]; }; struct ContestStruct_field_18 @@ -260,14 +279,14 @@ struct Contest { /*0x0*/ u8 playerMoveChoice; /*0x1*/ u8 turnNumber; - /*0x2*/ u8 unk19206[4]; // seems to only be used by an unref function + /*0x2*/ u8 unused2[CONTESTANT_COUNT]; /*0x6*/ u16 unk1920A_0:1; // Task active flags? u16 unk1920A_1:1; u16 unk1920A_2:1; u16 unk1920A_3:1; u16 unk1920A_4:1; - u16 unk1920A_5:1; - u16 unk1920A_6:1; + u16 isShowingApplauseMeter:1; + u16 applauseMeterIsMoving:1; u16 unk1920A_7:1; /*0x7*/ u16 unk1920B_0:1; u16 unk1920B_1:1; @@ -281,12 +300,12 @@ struct Contest /*0x11*/ u8 unk19215; /*0x12*/ u8 unk19216; // sprite ID /*0x13*/ s8 applauseLevel; - /*0x19218*/ u8 unk19218[4]; + /*0x19218*/ u8 prevTurnOrder[CONTESTANT_COUNT]; /*0x1921C*/ u32 unk1921C; // saved RNG value? - u16 unk19220[5][4]; // move history? - u8 unk19248[5][4]; // excitement history - u8 applauseMeterSpriteId; // sprite ID - /*0x1925D*/ u8 unk1925D; + u16 moveHistory[CONTEST_TURN_COUNT][CONTESTANT_COUNT]; + u8 excitementHistory[CONTEST_TURN_COUNT][CONTESTANT_COUNT]; + u8 applauseMeterSpriteId; + /*0x1925D*/ u8 contestSetupState; /*0x1925E*/ u8 unk1925E; }; @@ -294,11 +313,11 @@ struct ContestantStatus { /*0x00*/ s16 appeal1; // move appeal? /*0x02*/ s16 appeal2; // final appeal after end of turn, maybe? - /*0x04*/ s16 unk4; + /*0x04*/ s16 pointTotal; /*0x06*/ u16 currMove; /*0x08*/ u16 prevMove; /*0x0A*/ u8 moveCategory; - /*0x0B*/ u8 unkB_0:2; + /*0x0B*/ u8 ranking:2; u8 unkB_2:2; u8 moveRepeatCount:3; u8 noMoreTurns:1; // used a one-time move? @@ -341,24 +360,24 @@ struct ContestantStatus struct UnknownContestStruct7 { - u8 turnOrder[4]; + u8 turnOrder[CONTESTANT_COUNT]; s16 jam; s16 jam2; u8 jamQueue[5]; - u8 unnervedPokes[4]; + u8 unnervedPokes[CONTESTANT_COUNT]; u8 contestant; }; struct ContestAIInfo { /*0x00*/ u8 aiState; - /*0x02*/ u16 unk2; - /*0x04*/ u8 unk4; + /*0x02*/ u16 nextMove; + /*0x04*/ u8 nextMoveIndex; /*0x05*/ u8 unk5[4]; /*0x09*/ u8 aiAction; /*0x0A*/ u8 fillerA[0x6]; // TODO: don't know what's here - /*0x10*/ u8 unk10; - /*0x14*/ u32 flags; + /*0x10*/ u8 currentAICheck; + /*0x14*/ u32 aiChecks; /*0x18*/ s16 scriptResult; /*0x1A*/ s16 scriptArr[3]; /*0x20*/ const u8 *stack[8]; @@ -408,30 +427,31 @@ struct ContestResourcesField20 struct ContestResources { - struct Contest *field_0; - struct ContestantStatus *field_4; + struct Contest *contest; + struct ContestantStatus *status; struct UnknownContestStruct7 *field_8; - struct ContestAIInfo *field_C; + struct ContestAIInfo *aiData; struct UnknownContestStruct5 *field_10; struct UnknownContestStruct4 *field_14; struct ContestStruct_field_18 *field_18; struct ContestResourcesField1C * field_1c; struct ContestResourcesField20 * field_20; - u8 * field_24[4]; + u8 * contestBgTilemaps[CONTESTANT_COUNT]; void * field_34; void * field_38; void * field_3c; }; -#define sContest (*gContestResources->field_0) -#define sContestantStatus (gContestResources->field_4) -#define shared192D0 (*gContestResources->field_8) -#define eContestAI (gContestResources->field_C) -#define shared19328 (*gContestResources->field_10) -#define shared19338 (*gContestResources->field_14) -#define shared15800 (gHeap + 0x18000) -#define shared16800 (gHeap + 0x19000) -#define shared18000 (*(struct Shared18000 *)(gHeap + 0x1a000)) +#define eContest (*gContestResources->contest) +#define eContestantStatus (gContestResources->status) +#define eContestResources8 (*gContestResources->field_8) +#define eContestAI (*gContestResources->aiData) +#define eContestResources10 (*gContestResources->field_10) +#define eContestResources14 (*gContestResources->field_14) +#define eUnzippedContestAudienceGfx (gHeap + 0x18000) +#define eUnknownHeap19000 (gHeap + 0x19000) +#define eContestDebugMode (gHeap[0x1a000]) +#define eUnknownHeap1A004 (*(struct Shared1A004 *)(gHeap + 0x1a004)) extern struct ContestPokemon gContestMons[4]; extern s16 gContestMonConditions[4]; @@ -441,8 +461,8 @@ extern s16 gUnknown_02039F18[4]; extern u8 gContestFinalStandings[4]; extern u8 gContestMonPartyIndex; extern u8 gContestPlayerMonIndex; -extern u8 gUnknown_02039F26[4]; -extern u8 gIsLinkContest; +extern u8 gContestantTurnOrder[4]; +extern u8 gLinkContestFlags; extern u8 gUnknown_02039F2B; extern u16 gSpecialVar_ContestCategory; extern u16 gSpecialVar_ContestRank; @@ -459,7 +479,7 @@ extern u32 gContestRngValue; // contest.c void ResetLinkContestBoolean(void); void LoadContestBgAfterMoveAnim(void); -void sub_80D7B24(void); +void CB2_StartContest(void); void sub_80DA8C8(u8 partyIndex); void sub_80DAB8C(u8 contestType, u8 rank); void sub_80DACBC(u8 contestType, u8 rank, bool32 isPostgame); @@ -467,8 +487,8 @@ u8 sub_80DAE0C(struct Pokemon *pkmn); void sub_80DB09C(u8 contestCategory); bool8 IsSpeciesNotUnown(u16 species); bool8 Contest_IsMonsTurnDisabled(u8 a); -void sub_80DBED4(void); -void sub_80DCE58(u8 a); +void SaveLinkContestResults(void); +void SortContestants(bool8 a); void SetContestantEffectStringID(u8 a, u8 b); void SetContestantEffectStringID2(u8 a, u8 b); void SetStartledString(u8 contestant, u8 jam); diff --git a/include/data.h b/include/data.h new file mode 100644 index 0000000000..f1a4caa6a9 --- /dev/null +++ b/include/data.h @@ -0,0 +1,119 @@ +#ifndef GUARD_DATA_H +#define GUARD_DATA_H + +#include "constants/moves.h" +#include "constants/species.h" + +#define SPECIES_SHINY_TAG 500 + +struct MonCoords +{ + // This would use a bitfield, but some function + // uses it as a u8 and casting won't match. + u8 size; // u8 width:4, height:4; + u8 y_offset; +}; + +struct TrainerMonNoItemDefaultMoves +{ + u16 iv; + u8 lvl; + u16 species; +}; + +struct TrainerMonItemDefaultMoves +{ + u16 iv; + u8 lvl; + u16 species; + u16 heldItem; +}; + +struct TrainerMonNoItemCustomMoves +{ + u16 iv; + u8 lvl; + u16 species; + u16 moves[4]; +}; + +struct TrainerMonItemCustomMoves +{ + u16 iv; + u8 lvl; + u16 species; + u16 heldItem; + u16 moves[4]; +}; + +union TrainerMonPtr +{ + const struct TrainerMonNoItemDefaultMoves *NoItemDefaultMoves; + const struct TrainerMonNoItemCustomMoves *NoItemCustomMoves; + const struct TrainerMonItemDefaultMoves *ItemDefaultMoves; + const struct TrainerMonItemCustomMoves *ItemCustomMoves; +}; + +struct Trainer +{ + /*0x00*/ u8 partyFlags; + /*0x01*/ u8 trainerClass; + /*0x02*/ u8 encounterMusic_gender; // last bit is gender + /*0x03*/ u8 trainerPic; + /*0x04*/ u8 trainerName[12]; + /*0x10*/ u16 items[4]; + /*0x18*/ bool8 doubleBattle; + /*0x1C*/ u32 aiFlags; + /*0x20*/ u8 partySize; + /*0x24*/ union TrainerMonPtr party; +}; + +#define TRAINER_ENCOUNTER_MUSIC(trainer)((gTrainers[trainer].encounterMusic_gender & 0x7F)) + +extern const u16 gUnknown_082FF1D8[]; +extern const u32 gUnknown_082FF1F8[]; + +extern const struct SpriteFrameImage gUnknown_082FF3A8[]; +extern const struct SpriteFrameImage gUnknown_082FF3C8[]; +extern const struct SpriteFrameImage gUnknown_082FF3E8[]; +extern const struct SpriteFrameImage gUnknown_082FF408[]; +extern const struct SpriteFrameImage gTrainerBackPicTable_Brendan[]; +extern const struct SpriteFrameImage gTrainerBackPicTable_May[]; +extern const struct SpriteFrameImage gTrainerBackPicTable_Red[]; +extern const struct SpriteFrameImage gTrainerBackPicTable_Leaf[]; +extern const struct SpriteFrameImage gTrainerBackPicTable_RubySapphireBrendan[]; +extern const struct SpriteFrameImage gTrainerBackPicTable_RubySapphireMay[]; +extern const struct SpriteFrameImage gTrainerBackPicTable_Wally[]; +extern const struct SpriteFrameImage gTrainerBackPicTable_Steven[]; + +extern const union AffineAnimCmd *const gUnknown_082FF618[]; +extern const union AffineAnimCmd *const gUnknown_082FF694[]; +extern const union AffineAnimCmd *const gUnknown_082FF6C0[]; + +extern const union AnimCmd *const gUnknown_082FF70C[]; +extern const struct MonCoords gMonFrontPicCoords[]; +extern const struct CompressedSpriteSheet gMonStillFrontPicTable[]; +extern const struct MonCoords gMonBackPicCoords[]; +extern const struct CompressedSpriteSheet gMonBackPicTable[]; +extern const struct CompressedSpritePalette gMonPaletteTable[]; +extern const struct CompressedSpritePalette gMonShinyPaletteTable[]; +extern const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[]; +extern const struct MonCoords gTrainerFrontPicCoords[]; +extern const struct CompressedSpriteSheet gTrainerFrontPicTable[]; +extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; +extern const union AnimCmd *const *const gTrainerBackAnimsPtrTable[]; +extern const struct MonCoords gTrainerBackPicCoords[]; +extern const struct CompressedSpriteSheet gTrainerBackPicTable[]; // functionally unused +extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; + +extern const u8 gEnemyMonElevation[NUM_SPECIES]; + +extern const union AnimCmd *const *const gMonFrontAnimsPtrTable[]; +extern const struct CompressedSpriteSheet gMonFrontPicTable[]; + +extern const struct Trainer gTrainers[]; +extern const u8 gTrainerClassNames[][13]; +extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1]; +extern const u8 gMoveNames[MOVES_COUNT][MOVE_NAME_LENGTH + 1]; + +#endif // GUARD_DATA_H diff --git a/include/data2.h b/include/data2.h deleted file mode 100644 index c1a2608ae8..0000000000 --- a/include/data2.h +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef GUARD_DATA2_H -#define GUARD_DATA2_H - -struct MonCoords -{ - // This would use a bitfield, but some function - // uses it as a u8 and casting won't match. - u8 size; // u8 width:4, height:4; - u8 y_offset; -}; - -extern const struct MonCoords gTrainerBackPicCoords[]; -extern const struct MonCoords gTrainerFrontPicCoords[]; - -extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1]; -extern const u8 gMoveNames[][MOVE_NAME_LENGTH + 1]; -extern struct CompressedSpriteSheet gUnknown_0831C620; -extern struct CompressedSpritePalette gUnknown_0831C628; -extern const struct SpriteTemplate gUnknown_0831C688; -extern const struct CompressedSpriteSheet gMonBackPicTable[]; - -#endif // GUARD_DATA2_H diff --git a/include/decoration.h b/include/decoration.h index f613c25d2e..eed930356b 100644 --- a/include/decoration.h +++ b/include/decoration.h @@ -1,7 +1,8 @@ #ifndef GUARD_DECORATION_H #define GUARD_DECORATION_H -enum DecorPerm { +enum DecorationPermission +{ /* * The nomenclature here describes collision and placement permissions, in that order. */ @@ -9,13 +10,11 @@ enum DecorPerm { DECORPERM_PASS_FLOOR, DECORPERM_BEHIND_FLOOR, DECORPERM_NA_WALL, - DECORPERM_SOLID_MAT + DECORPERM_SPRITE, }; -enum DecorShape { - /* - * Width-x-height - */ +enum DecorationShape +{ DECORSHAPE_1x1, DECORSHAPE_2x1, DECORSHAPE_3x1, // unused @@ -25,53 +24,52 @@ enum DecorShape { DECORSHAPE_1x3, // unused DECORSHAPE_2x4, DECORSHAPE_3x3, - DECORSHAPE_3x2 + DECORSHAPE_3x2, }; -enum DecorCat { - /* - * In which category you can find the decoration in the PC. - */ - /*0*/ DECORCAT_DESK, - /*1*/ DECORCAT_CHAIR, - /*2*/ DECORCAT_PLANT, - /*3*/ DECORCAT_ORNAMENT, - /*4*/ DECORCAT_MAT, - /*5*/ DECORCAT_POSTER, - /*6*/ DECORCAT_DOLL, - /*7*/ DECORCAT_CUSHION +enum DecorationCategory +{ + DECORCAT_DESK, + DECORCAT_CHAIR, + DECORCAT_PLANT, + DECORCAT_ORNAMENT, + DECORCAT_MAT, + DECORCAT_POSTER, + DECORCAT_DOLL, + DECORCAT_CUSHION, + DECORCAT_COUNT, }; struct Decoration { - /*0x00*/ u8 id; - /*0x01*/ u8 name[16]; - /*0x11*/ u8 permission; - /*0x12*/ u8 shape; - /*0x13*/ u8 category; - /*0x14*/ u16 price; - /*0x18*/ const u8 *description; - /*0x1c*/ const u16 *tiles; + u8 id; + u8 name[16]; + u8 permission; + u8 shape; + u8 category; + u16 price; + const u8 *description; + const u16 *tiles; }; -struct DecorPCPointers +struct DecorationPCContext { - /* 0x00 */ u8 *items; - /* 0x04 */ u8 *pos; - /* 0x08 */ u8 size; - /* 0x09 */ u8 isPlayerRoom; + u8 *items; + u8 *pos; + u8 size; + u8 isPlayerRoom; }; extern const struct Decoration gDecorations[]; -extern EWRAM_DATA u8 *gCurDecorInventoryItems; +extern EWRAM_DATA u8 *gCurDecorationItems; extern EWRAM_DATA u8 gCurDecorationIndex; -void sub_8126968(void); -void sub_8126AD8(u8 taskId); -void sub_8127D38(u16 mapX, u16 mapY, u16 decor); -void sub_8126B2C(u8 taskId); -void sub_8127208(u8 taskId); -void sub_8127250(u8 *dest, u8 decorCat); +void InitDecorationContextItems(void); +void DoSecretBaseDecorationMenu(u8 taskId); +void ShowDecorationOnMap(u16 mapX, u16 mapY, u16 decor); +void DoPlayerRoomDecorationMenu(u8 taskId); +void ShowDecorationCategoriesWindow(u8 taskId); +void CopyDecorationCategoryName(u8 *dest, u8 decorCat); bool8 IsSelectedDecorInThePC(void); u8 AddDecorationIconObject(u8 decor, s16 x, s16 y, u8 priority, u16 tilesTag, u16 paletteTag); diff --git a/include/decoration_inventory.h b/include/decoration_inventory.h index 7539f72405..7362c2da20 100644 --- a/include/decoration_inventory.h +++ b/include/decoration_inventory.h @@ -11,13 +11,13 @@ extern struct DecorationInventory gDecorationInventories[]; void SetDecorationInventoriesPointers(void); void ClearDecorationInventories(void); -s8 GetFirstEmptyDecorSlot(u8 idx); +s8 GetFirstEmptyDecorSlot(u8 category); u8 CheckHasDecoration(u8); u8 DecorationAdd(u8); u8 DecorationCheckSpace(u8); s8 DecorationRemove(u8); -void CondenseDecorationCategoryN(u8); -u8 CountDecorationCategoryN(u8 idx); -u8 CountDecorations(void); +void CondenseDecorationsInCategory(u8 category); +u8 GetNumOwnedDecorationsInCategory(u8 category); +u8 GetNumOwnedDecorations(void); #endif // GUARD_DECORATION_INVENTORY_H diff --git a/include/event_object_movement.h b/include/event_object_movement.h index ab555fda05..93f73e6357 100644 --- a/include/event_object_movement.h +++ b/include/event_object_movement.h @@ -64,6 +64,10 @@ extern const struct OamData gEventObjectBaseOam_32x32; extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[]; extern const u8 gReflectionEffectPaletteMap[]; +extern const u8 *const gBerryTreeEventObjectGraphicsIdTablePointers[]; +extern const struct SpriteFrameImage *const gBerryTreePicTablePointers[]; +extern const u8 *const gBerryTreePaletteSlotTablePointers[]; + void ResetEventObjects(void); u8 GetMoveDirectionAnimNum(u8); u8 GetEventObjectIdByLocalIdAndMap(u8, u8, u8); @@ -74,10 +78,10 @@ u8 GetFirstInactiveEventObjectId(void); void RemoveEventObjectByLocalIdAndMap(u8, u8, u8); void LoadPlayerObjectReflectionPalette(u16, u8); void LoadSpecialObjectReflectionPalette(u16, u8); -void sub_808EBA8(u8, u8, u8, s16, s16); +void TryMoveEventObjectToMapCoords(u8, u8, u8, s16, s16); void PatchObjectPalette(u16, u8); void sub_808E16C(s16, s16); -void sub_808F28C(u8 localId, u8 mapNum, u8 mapGroup, u8 decorCat); +void OverrideSecretBaseDecorationSpriteScript(u8 localId, u8 mapNum, u8 mapGroup, u8 decorCat); void sub_8092FF0(s16, s16, s16 *, s16 *); u8 GetFaceDirectionAnimNum(u8); void sub_80930E0(s16 *, s16 *, s16, s16); @@ -86,7 +90,7 @@ void EventObjectClearHeldMovementIfActive(struct EventObject *); void TrySpawnEventObjects(s16, s16); u8 sprite_new(u8 graphicsId, u8 a1, s16 x, s16 y, u8 z, u8 direction); u8 AddPseudoEventObject(u16, void (*)(struct Sprite *), s16 x, s16 y, u8 subpriority); -u8 show_sprite(u8, u8, u8); +u8 TrySpawnEventObject(u8, u8, u8); u8 SpawnSpecialEventObjectParameterized(u8 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 z); u8 SpawnSpecialEventObject(struct EventObjectTemplate *); void SetSpritePosToMapCoords(s16, s16, s16 *, s16 *); @@ -103,8 +107,8 @@ void sub_808E78C(u8, u8, u8, u8); void sub_808E75C(s16, s16); void EventObjectGetLocalIdAndMap(struct EventObject *eventObject, void *localId, void *mapNum, void *mapGroup); void ShiftEventObjectCoords(struct EventObject *, s16, s16); -void sub_808EB08(struct EventObject *, s16, s16); -void sub_808F254(u8, u8, u8); +void MoveEventObjectToMapCoords(struct EventObject *, s16, s16); +void TryOverrideEventObjectTemplateCoords(u8, u8, u8); void InitEventObjectPalettes(u8 palSlot); void UpdateEventObjectCurrentMovement(struct EventObject *, struct Sprite *, bool8(struct EventObject *, struct Sprite *)); u8 EventObjectFaceOppositeDirection(struct EventObject *, u8); diff --git a/include/event_scripts.h b/include/event_scripts.h index bf7084326d..fc0b3cde0d 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -15,9 +15,10 @@ extern const u8 EventScript_TryDoDoubleTrainerBattle[]; extern const u8 EventScript_TryDoNormalTrainerBattle[]; extern const u8 EventScript_TryDoDoubleRematchBattle[]; extern const u8 EventScript_TryDoRematchBattle[]; -extern const u8 EventScript_SecretPower1[]; -extern const u8 EventScript_SecretPower2[]; +extern const u8 SecretBase_EventScript_DollInteract[]; +extern const u8 SecretBase_EventScript_CushionInteract[]; +extern const u8 BerryTreeScript[]; extern const u8 gTVBravoTrainerText00[]; extern const u8 gTVBravoTrainerText01[]; @@ -381,10 +382,10 @@ extern const u8 SecretBase_RedCave1_Text_2758CC[]; extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88[]; //field effects -extern const u8 FieryPath_EventScript_2908FD[]; -extern const u8 EventScript_290CAE[]; +extern const u8 EventScript_FldEffStrength[]; +extern const u8 EventScript_FailSweetScent[]; extern const u8 EventScript_2926F8[]; -extern const u8 Route111_EventScript_2907F0[]; +extern const u8 EventScript_FldEffRockSmash[]; //player pc extern const u8 LittlerootTown_BrendansHouse_2F_EventScript_1F863F[]; @@ -528,8 +529,6 @@ extern const u8 EventScript_PlayerPCMale[]; extern const u8 EventScript_PlayerPCFemale[]; extern const u8 EventScript_SecretBasePC[]; extern const u8 EventScript_RecordMixingSecretBasePC[]; -extern const u8 EventScript_SecretPower1[]; -extern const u8 EventScript_SecretPower2[]; extern const u8 EventScript_PC[]; extern const u8 EventScript_TestSignpostMsg[]; extern const u8 EventScript_HiddenItemScript[]; diff --git a/include/field_effect.h b/include/field_effect.h index 1f5f4ee297..0dbe600d34 100644 --- a/include/field_effect.h +++ b/include/field_effect.h @@ -1,9 +1,7 @@ #ifndef GUARD_FIELD_EFFECTS_H #define GUARD_FIELD_EFFECTS_H -extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[2]; extern const struct SpritePalette gNewGameBirchObjectPaletteInfo; -extern const struct CompressedSpriteSheet gTrainerFrontPicTable[2]; extern const struct SpriteTemplate gNewGameBirchObjectTemplate; extern const struct OamData gNewGameBirchOamAttributes; @@ -53,4 +51,4 @@ void FreeResourcesAndDestroySprite(struct Sprite *sprite, u8 spriteId); u8 CreateMonSprite_PicBox(u16 species, s16 x, s16 y, u8 subpriority); void StartEscapeRopeFieldEffect(void); -#endif //GUARD_FIELD_EFFECTS_H +#endif // GUARD_FIELD_EFFECTS_H diff --git a/include/field_specials.h b/include/field_specials.h index 68b2330745..b1a50c811f 100644 --- a/include/field_specials.h +++ b/include/field_specials.h @@ -1,6 +1,9 @@ #ifndef GUARD_FIELD_SPECIALS_H #define GUARD_FIELD_SPECIALS_H +extern bool8 gBikeCyclingChallenge; +extern u8 gBikeCollisions; + u8 GetLeadMonIndex(void); u8 sub_813B260(void); u16 get_unknown_box_id(void); diff --git a/include/gba/types.h b/include/gba/types.h index cb370c7854..9f25947037 100644 --- a/include/gba/types.h +++ b/include/gba/types.h @@ -107,8 +107,8 @@ struct OamData #define SPRITE_SIZE_16x32 ((ST_OAM_SIZE_2 << 2) | (ST_OAM_V_RECTANGLE)) #define SPRITE_SIZE_32x64 ((ST_OAM_SIZE_3 << 2) | (ST_OAM_V_RECTANGLE)) -#define SPRITE_SIZE(dim) (SPRITE_SIZE_##dim >> 2) -#define SPRITE_SHAPE(dim) (SPRITE_SIZE_##dim & 0xFF) +#define SPRITE_SIZE(dim) ((SPRITE_SIZE_##dim >> 2) & 0x03) +#define SPRITE_SHAPE(dim) (SPRITE_SIZE_##dim & 0x03) struct BgAffineSrcData { diff --git a/include/global.h b/include/global.h index 0a44ed3a9b..8b61164f6e 100644 --- a/include/global.h +++ b/include/global.h @@ -476,21 +476,21 @@ struct SecretBaseParty u8 EVs[PARTY_SIZE]; }; -struct SecretBaseRecord +struct SecretBase { /*0x1A9C*/ u8 secretBaseId; /*0x1A9D*/ u8 sbr_field_1_0:4; /*0x1A9D*/ u8 gender:1; - /*0x1A9D*/ u8 sbr_field_1_5:1; - /*0x1A9D*/ u8 sbr_field_1_6:2; + /*0x1A9D*/ u8 battledOwnerToday:1; + /*0x1A9D*/ u8 registryStatus:2; /*0x1A9E*/ u8 trainerName[PLAYER_NAME_LENGTH]; /*0x1AA5*/ u8 trainerId[4]; // byte 0 is used for determining trainer class /*0x1AA9*/ u8 language; - /*0x1AAA*/ u16 sbr_field_e; - /*0x1AAC*/ u8 sbr_field_10; + /*0x1AAA*/ u16 numSecretBasesReceived; + /*0x1AAC*/ u8 numTimesEntered; /*0x1AAD*/ u8 sbr_field_11; /*0x1AAE*/ u8 decorations[16]; - /*0x1ABE*/ u8 decorationPos[16]; + /*0x1ABE*/ u8 decorationPositions[16]; /*0x1AD0*/ struct SecretBaseParty party; }; @@ -920,7 +920,7 @@ struct SaveBlock1 /*0x139C*/ u16 vars[VARS_COUNT]; /*0x159C*/ u32 gameStats[NUM_GAME_STATS]; /*0x169C*/ struct BerryTree berryTrees[BERRY_TREES_COUNT]; - /*0x1A9C*/ struct SecretBaseRecord secretBases[SECRET_BASES_COUNT]; + /*0x1A9C*/ struct SecretBase secretBases[SECRET_BASES_COUNT]; /*0x271C*/ u8 playerRoomDecor[12]; /*0x2728*/ u8 playerRoomDecorPos[12]; /*0x2734*/ u8 decorDesk[10]; diff --git a/include/graphics.h b/include/graphics.h index 30ca2af824..4e558b5088 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -4019,6 +4019,13 @@ extern const u32 gPokenavLeftHeaderMainMenu_Gfx[]; extern const u32 gPokenavLeftHeaderCondition_Gfx[]; extern const u32 gPokenavLeftHeaderRibbons_Gfx[]; extern const u32 gPokenavLeftHeaderMatchCall_Gfx[]; +extern const u32 gPokenavLeftHeaderParty_Gfx[]; +extern const u32 gPokenavLeftHeaderSearch_Gfx[]; +extern const u32 gPokenavLeftHeaderCool_Gfx[]; +extern const u32 gPokenavLeftHeaderBeauty_Gfx[]; +extern const u32 gPokenavLeftHeaderCute_Gfx[]; +extern const u32 gPokenavLeftHeaderSmart_Gfx[]; +extern const u32 gPokenavLeftHeaderTough_Gfx[]; extern const u32 gPageInfoTilemap[]; extern const u32 gUnknown_08D98CC8[]; @@ -4122,620 +4129,620 @@ extern const u32 gBattleArenaJudgementSymbolsGfx[]; extern const u32 gBattleArenaJudgementSymbolsPalette[]; extern const u32 gContest2Pal[]; -extern const u32 gBattleAnimSpriteSheet_000[]; -extern const u32 gBattleAnimSpriteSheet_001[]; -extern const u32 gBattleAnimSpriteSheet_002[]; -extern const u32 gBattleAnimSpriteSheet_003[]; -extern const u32 gBattleAnimSpriteSheet_004[]; -extern const u32 gBattleAnimSpriteSheet_005[]; -extern const u32 gBattleAnimSpriteSheet_006[]; -extern const u32 gBattleAnimSpriteSheet_007[]; -extern const u32 gBattleAnimSpriteSheet_008[]; -extern const u32 gBattleAnimSpriteSheet_009[]; -extern const u32 gBattleAnimSpriteSheet_010[]; -extern const u32 gBattleAnimSpriteSheet_011[]; -extern const u32 gBattleAnimSpriteSheet_012[]; -extern const u32 gBattleAnimSpriteSheet_013[]; -extern const u32 gBattleAnimSpriteSheet_014[]; -extern const u32 gBattleAnimSpriteSheet_015[]; -extern const u32 gBattleAnimSpriteSheet_016[]; -extern const u32 gBattleAnimSpriteSheet_017[]; -extern const u32 gBattleAnimSpriteSheet_018[]; -extern const u32 gBattleAnimSpriteSheet_019[]; -extern const u32 gBattleAnimSpriteSheet_020[]; -extern const u32 gBattleAnimSpriteSheet_021[]; -extern const u32 gBattleAnimSpriteSheet_021[]; -extern const u32 gBattleAnimSpriteSheet_023[]; -extern const u32 gBattleAnimSpriteSheet_024[]; -extern const u32 gBattleAnimSpriteSheet_025[]; -extern const u32 gBattleAnimSpriteSheet_026[]; -extern const u32 gBattleAnimSpriteSheet_027[]; -extern const u32 gBattleAnimSpriteSheet_028[]; -extern const u32 gBattleAnimSpriteSheet_029[]; -extern const u32 gBattleAnimSpriteSheet_030[]; -extern const u32 gBattleAnimSpriteSheet_031[]; -extern const u32 gBattleAnimSpriteSheet_032[]; -extern const u32 gBattleAnimSpriteSheet_033[]; -extern const u32 gBattleAnimSpriteSheet_034[]; -extern const u32 gBattleAnimSpriteSheet_035[]; -extern const u32 gBattleAnimSpriteSheet_036[]; -extern const u32 gBattleAnimSpriteSheet_037[]; -extern const u32 gBattleAnimSpriteSheet_038[]; -extern const u32 gBattleAnimSpriteSheet_039[]; -extern const u32 gBattleAnimSpriteSheet_040[]; -extern const u32 gBattleAnimSpriteSheet_041[]; -extern const u32 gBattleAnimSpriteSheet_042[]; -extern const u32 gBattleAnimSpriteSheet_043[]; -extern const u32 gBattleAnimSpriteSheet_044[]; -extern const u32 gBattleAnimSpriteSheet_045[]; -extern const u32 gBattleAnimSpriteSheet_046[]; -extern const u32 gBattleAnimSpriteSheet_046[]; -extern const u32 gBattleAnimSpriteSheet_048[]; -extern const u32 gBattleAnimSpriteSheet_048[]; -extern const u32 gBattleAnimSpriteSheet_050[]; -extern const u32 gBattleAnimSpriteSheet_051[]; -extern const u32 gBattleAnimSpriteSheet_052[]; -extern const u32 gBattleAnimSpriteSheet_053[]; +extern const u32 gBattleAnimSpriteGfx_Bone[]; +extern const u32 gBattleAnimSpriteGfx_Spark[]; +extern const u32 gBattleAnimSpriteGfx_Pencil[]; +extern const u32 gBattleAnimSpriteGfx_AirWave[]; +extern const u32 gBattleAnimSpriteGfx_Orb[]; +extern const u32 gBattleAnimSpriteGfx_Sword[]; +extern const u32 gBattleAnimSpriteGfx_Seed[]; +extern const u32 gBattleAnimSpriteGfx_Explosion6[]; +extern const u32 gBattleAnimSpriteGfx_PinkOrb[]; +extern const u32 gBattleAnimSpriteGfx_Gust[]; +extern const u32 gBattleAnimSpriteGfx_IceCube[]; +extern const u32 gBattleAnimSpriteGfx_Spark2[]; +extern const u32 gBattleAnimSpriteGfx_Orange[]; +extern const u32 gBattleAnimSpriteGfx_YellowBall[]; +extern const u32 gBattleAnimSpriteGfx_LockOn[]; +extern const u32 gBattleAnimSpriteGfx_TiedBag[]; +extern const u32 gBattleAnimSpriteGfx_BlackSmoke[]; +extern const u32 gBattleAnimSpriteGfx_BlackBall[]; +extern const u32 gBattleAnimSpriteGfx_Conversion[]; +extern const u32 gBattleAnimSpriteGfx_Glass[]; +extern const u32 gBattleAnimSpriteGfx_HornHit[]; +extern const u32 gBattleAnimSpriteGfx_Hit[]; +extern const u32 gBattleAnimSpriteGfx_Hit[]; +extern const u32 gBattleAnimSpriteGfx_BlueShards[]; +extern const u32 gBattleAnimSpriteGfx_ClosingEye[]; +extern const u32 gBattleAnimSpriteGfx_WavingHand[]; +extern const u32 gBattleAnimSpriteGfx_HitDuplicate[]; +extern const u32 gBattleAnimSpriteGfx_Leer[]; +extern const u32 gBattleAnimSpriteGfx_BlueBurst[]; +extern const u32 gBattleAnimSpriteGfx_SmallEmber[]; +extern const u32 gBattleAnimSpriteGfx_GraySmoke[]; +extern const u32 gBattleAnimSpriteGfx_BlueStar[]; +extern const u32 gBattleAnimSpriteGfx_BubbleBurst[]; +extern const u32 gBattleAnimSpriteGfx_Fire[]; +extern const u32 gBattleAnimSpriteGfx_SpinningFire[]; +extern const u32 gBattleAnimSpriteGfx_FirePlume[]; +extern const u32 gBattleAnimSpriteGfx_Lightning2[]; +extern const u32 gBattleAnimSpriteGfx_Lightning[]; +extern const u32 gBattleAnimSpriteGfx_ClawSlash2[]; +extern const u32 gBattleAnimSpriteGfx_ClawSlash[]; +extern const u32 gBattleAnimSpriteGfx_Scratch3[]; +extern const u32 gBattleAnimSpriteGfx_Scratch2[]; +extern const u32 gBattleAnimSpriteGfx_BubbleBurst2[]; +extern const u32 gBattleAnimSpriteGfx_IceChunk[]; +extern const u32 gBattleAnimSpriteGfx_Glass2[]; +extern const u32 gBattleAnimSpriteGfx_PinkHeart2[]; +extern const u32 gBattleAnimSpriteGfx_SapDrip[]; +extern const u32 gBattleAnimSpriteGfx_SapDrip[]; +extern const u32 gBattleAnimSpriteGfx_Sparkle1[]; +extern const u32 gBattleAnimSpriteGfx_Sparkle1[]; +extern const u32 gBattleAnimSpriteGfx_HumanoidFoot[]; +extern const u32 gBattleAnimSpriteGfx_MonsterFoot[]; +extern const u32 gBattleAnimSpriteGfx_HumanoidHand[]; +extern const u32 gBattleAnimSpriteGfx_NoiseLine[]; extern const u32 gUnknown_08C2EA50[]; extern const u32 gUnknown_08C2EA9C[]; -extern const u32 gBattleAnimSpriteSheet_054[]; -extern const u32 gBattleAnimSpriteSheet_055[]; -extern const u32 gBattleAnimSpriteSheet_056[]; -extern const u32 gBattleAnimSpriteSheet_057[]; -extern const u32 gBattleAnimSpriteSheet_058[]; -extern const u32 gBattleAnimSpriteSheet_059[]; -extern const u32 gBattleAnimSpriteSheet_060[]; -extern const u32 gBattleAnimSpriteSheet_061[]; -extern const u32 gBattleAnimSpriteSheet_062[]; -extern const u32 gBattleAnimSpriteSheet_063[]; -extern const u32 gBattleAnimSpriteSheet_064[]; -extern const u32 gBattleAnimSpriteSheet_065[]; -extern const u32 gBattleAnimSpriteSheet_066[]; -extern const u32 gBattleAnimSpriteSheet_070[]; -extern const u32 gBattleAnimSpriteSheet_071[]; -extern const u32 gBattleAnimSpriteSheet_072[]; -extern const u32 gBattleAnimSpriteSheet_073[]; -extern const u32 gBattleAnimSpriteSheet_074[]; -extern const u32 gBattleAnimSpriteSheet_075[]; -extern const u32 gBattleAnimSpriteSheet_076[]; -extern const u32 gBattleAnimSpriteSheet_077[]; -extern const u32 gBattleAnimSpriteSheet_078[]; -extern const u32 gBattleAnimSpriteSheet_079[]; -extern const u32 gBattleAnimSpriteSheet_080[]; -extern const u32 gBattleAnimSpriteSheet_081[]; -extern const u32 gBattleAnimSpriteSheet_082[]; -extern const u32 gBattleAnimSpriteSheet_083[]; -extern const u32 gBattleAnimSpriteSheet_084[]; -extern const u32 gBattleAnimSpriteSheet_085[]; -extern const u32 gBattleAnimSpriteSheet_086[]; -extern const u32 gBattleAnimSpriteSheet_087[]; -extern const u32 gBattleAnimSpriteSheet_088[]; -extern const u32 gBattleAnimSpriteSheet_089[]; -extern const u32 gBattleAnimSpriteSheet_090[]; -extern const u32 gBattleAnimSpriteSheet_091[]; -extern const u32 gBattleAnimSpriteSheet_092[]; -extern const u32 gBattleAnimSpriteSheet_093[]; -extern const u32 gBattleAnimSpriteSheet_094[]; -extern const u32 gBattleAnimSpriteSheet_095[]; -extern const u32 gBattleAnimSpriteSheet_096[]; -extern const u32 gBattleAnimSpriteSheet_097[]; -extern const u32 gBattleAnimSpriteSheet_098[]; -extern const u32 gBattleAnimSpriteSheet_099[]; -extern const u32 gBattleAnimSpriteSheet_100[]; -extern const u32 gBattleAnimSpriteSheet_101[]; -extern const u32 gBattleAnimSpriteSheet_102[]; -extern const u32 gBattleAnimSpriteSheet_103[]; -extern const u32 gBattleAnimSpriteSheet_104[]; -extern const u32 gBattleAnimSpriteSheet_105[]; -extern const u32 gBattleAnimSpriteSheet_106[]; -extern const u32 gBattleAnimSpriteSheet_107[]; -extern const u32 gBattleAnimSpriteSheet_108[]; -extern const u32 gBattleAnimSpriteSheet_109[]; -extern const u32 gBattleAnimSpriteSheet_110[]; -extern const u32 gBattleAnimSpriteSheet_111[]; -extern const u32 gBattleAnimSpriteSheet_112[]; -extern const u32 gBattleAnimSpriteSheet_113[]; -extern const u32 gBattleAnimSpriteSheet_114[]; -extern const u32 gBattleAnimSpriteSheet_115[]; -extern const u32 gBattleAnimSpriteSheet_116[]; -extern const u32 gBattleAnimSpriteSheet_117[]; -extern const u32 gBattleAnimSpriteSheet_118[]; -extern const u32 gBattleAnimSpriteSheet_119[]; -extern const u32 gBattleAnimSpriteSheet_120[]; -extern const u32 gBattleAnimSpriteSheet_121[]; -extern const u32 gBattleAnimSpriteSheet_122[]; -extern const u32 gBattleAnimSpriteSheet_123[]; -extern const u32 gBattleAnimSpriteSheet_124[]; -extern const u32 gBattleAnimSpriteSheet_125[]; -extern const u32 gBattleAnimSpriteSheet_126[]; -extern const u32 gBattleAnimSpriteSheet_127[]; -extern const u32 gBattleAnimSpriteSheet_128[]; -extern const u32 gBattleAnimSpriteSheet_129[]; -extern const u32 gBattleAnimSpriteSheet_130[]; -extern const u32 gBattleAnimSpriteSheet_131[]; -extern const u32 gBattleAnimSpriteSheet_132[]; -extern const u32 gBattleAnimSpriteSheet_133[]; -extern const u32 gBattleAnimSpriteSheet_134[]; -extern const u32 gBattleAnimSpriteSheet_135[]; -extern const u32 gBattleAnimSpriteSheet_Particles[]; -extern const u32 gBattleAnimSpriteSheet_136[]; -extern const u32 gBattleAnimSpriteSheet_137[]; -extern const u32 gBattleAnimSpriteSheet_138[]; -extern const u32 gBattleAnimSpriteSheet_139[]; -extern const u32 gBattleAnimSpriteSheet_140[]; -extern const u32 gBattleAnimSpriteSheet_141[]; -extern const u32 gBattleAnimSpriteSheet_142[]; -extern const u32 gBattleAnimSpriteSheet_143[]; -extern const u32 gBattleAnimSpriteSheet_144[]; -extern const u32 gBattleAnimSpriteSheet_145[]; -//extern const struct CompressedSpriteSheet gBattleAnimSpriteSheet_146[]; -extern const u32 gBattleAnimSpriteSheet_146[]; -extern const u32 gBattleAnimSpriteSheet_147[]; -extern const u32 gBattleAnimSpriteSheet_148[]; -extern const u32 gBattleAnimSpriteSheet_149[]; -extern const u32 gBattleAnimSpriteSheet_150[]; -extern const u32 gBattleAnimSpriteSheet_151[]; -extern const u32 gBattleAnimSpriteSheet_152[]; -extern const u32 gBattleAnimSpriteSheet_153[]; -extern const u32 gBattleAnimSpriteSheet_154[]; -extern const u32 gBattleAnimSpriteSheet_155[]; -extern const u32 gBattleAnimSpriteSheet_156[]; -extern const u32 gBattleAnimSpriteSheet_157[]; -extern const u32 gBattleAnimSpriteSheet_158[]; -extern const u32 gBattleAnimSpriteSheet_159[]; -extern const u32 gBattleAnimSpriteSheet_160[]; -extern const u32 gBattleAnimSpriteSheet_161[]; -extern const u32 gBattleAnimSpriteSheet_162[]; -extern const u32 gBattleAnimSpriteSheet_163[]; -extern const u32 gBattleAnimSpriteSheet_166[]; -extern const u32 gBattleAnimSpriteSheet_171[]; -extern const u32 gBattleAnimSpriteSheet_173[]; -extern const u32 gBattleAnimSpriteSheet_174[]; -extern const u32 gBattleAnimSpriteSheet_175[]; -extern const u32 gBattleAnimSpriteSheet_176[]; -extern const u32 gBattleAnimSpriteSheet_177[]; -extern const u32 gBattleAnimSpriteSheet_178[]; -extern const u32 gBattleAnimSpriteSheet_179[]; -extern const u32 gBattleAnimSpriteSheet_180[]; -extern const u32 gBattleAnimSpriteSheet_181[]; -extern const u32 gBattleAnimSpriteSheet_182[]; -extern const u32 gBattleAnimSpriteSheet_183[]; -extern const u32 gBattleAnimSpriteSheet_184[]; -extern const u32 gBattleAnimSpriteSheet_185[]; -extern const u32 gBattleAnimSpriteSheet_186[]; -extern const u32 gBattleAnimSpriteSheet_187[]; -extern const u32 gBattleAnimSpriteSheet_188[]; -extern const u32 gBattleAnimSpriteSheet_189[]; -extern const u32 gBattleAnimSpriteSheet_190[]; -extern const u32 gBattleAnimSpriteSheet_191[]; -extern const u32 gBattleAnimSpriteSheet_192[]; -extern const u32 gBattleAnimSpriteSheet_193[]; -extern const u32 gBattleAnimSpriteSheet_194[]; -extern const u32 gBattleAnimSpriteSheet_195[]; -extern const u32 gBattleAnimSpriteSheet_196[]; -extern const u32 gBattleAnimSpriteSheet_197[]; -extern const u32 gBattleAnimSpriteSheet_198[]; -extern const u32 gBattleAnimSpriteSheet_199[]; -extern const u32 gBattleAnimSpriteSheet_200[]; -extern const u32 gBattleAnimSpriteSheet_201[]; -extern const u32 gBattleAnimSpriteSheet_202[]; -extern const u32 gBattleAnimSpriteSheet_203[]; -extern const u32 gBattleAnimSpriteSheet_204[]; -extern const u32 gBattleAnimSpriteSheet_205[]; -extern const u32 gBattleAnimSpriteSheet_206[]; -extern const u32 gBattleAnimSpriteSheet_207[]; -extern const u32 gBattleAnimSpriteSheet_208[]; -extern const u32 gBattleAnimSpriteSheet_209[]; -extern const u32 gBattleAnimSpriteSheet_210[]; -extern const u32 gBattleAnimSpriteSheet_211[]; -extern const u32 gBattleAnimSpriteSheet_212[]; -extern const u32 gBattleAnimSpriteSheet_213[]; -extern const u32 gBattleAnimSpriteSheet_214[]; -extern const u32 gBattleAnimSpriteSheet_215[]; -extern const u32 gBattleAnimSpriteSheet_210[]; -extern const u32 gBattleAnimSpriteSheet_217[]; -extern const u32 gBattleAnimSpriteSheet_218[]; -extern const u32 gBattleAnimSpriteSheet_210[]; -extern const u32 gBattleAnimSpriteSheet_220[]; -extern const u32 gBattleAnimSpriteSheet_221[]; -extern const u32 gBattleAnimSpriteSheet_222[]; -extern const u32 gBattleAnimSpriteSheet_223[]; -extern const u32 gBattleAnimSpriteSheet_224[]; -extern const u32 gBattleAnimSpriteSheet_225[]; -extern const u32 gBattleAnimSpriteSheet_226[]; -extern const u32 gBattleAnimSpriteSheet_227[]; -extern const u32 gBattleAnimSpriteSheet_228[]; -extern const u32 gBattleAnimSpriteSheet_229[]; -extern const u32 gBattleAnimSpriteSheet_230[]; -extern const u32 gBattleAnimSpriteSheet_231[]; -extern const u32 gBattleAnimSpriteSheet_232[]; -extern const u32 gBattleAnimSpriteSheet_233[]; -extern const u32 gBattleAnimSpriteSheet_234[]; -extern const u32 gBattleAnimSpriteSheet_235[]; -extern const u32 gBattleAnimSpriteSheet_235[]; -extern const u32 gBattleAnimSpriteSheet_235[]; -extern const u32 gBattleAnimSpriteSheet_238[]; -extern const u32 gBattleAnimSpriteSheet_239[]; -extern const u32 gBattleAnimSpriteSheet_240[]; -extern const u32 gBattleAnimSpriteSheet_241[]; -extern const u32 gBattleAnimSpriteSheet_242[]; -extern const u32 gBattleAnimSpriteSheet_243[]; -extern const u32 gBattleAnimSpriteSheet_244[]; -extern const u32 gBattleAnimSpriteSheet_245[]; -extern const u32 gBattleAnimSpriteSheet_246[]; -extern const u32 gBattleAnimSpriteSheet_247[]; -extern const u32 gBattleAnimSpriteSheet_248[]; -extern const u32 gBattleAnimSpriteSheet_249[]; -extern const u32 gBattleAnimSpriteSheet_250[]; -extern const u32 gBattleAnimSpriteSheet_251[]; -extern const u32 gBattleAnimSpriteSheet_252[]; -extern const u32 gBattleAnimSpriteSheet_253[]; -extern const u32 gBattleAnimSpriteSheet_254[]; -extern const u32 gBattleAnimSpriteSheet_255[]; -extern const u32 gBattleAnimSpriteSheet_256[]; -extern const u32 gBattleAnimSpriteSheet_257[]; -extern const u32 gBattleAnimSpriteSheet_258[]; -extern const u32 gBattleAnimSpriteSheet_260[]; -extern const u32 gBattleAnimSpriteSheet_261[]; -extern const u32 gBattleAnimSpriteSheet_262[]; -extern const u32 gBattleAnimSpriteSheet_263[]; -extern const u32 gBattleAnimSpriteSheet_264[]; -extern const u32 gBattleAnimSpriteSheet_266[]; -extern const u32 gBattleAnimSpriteSheet_269[]; -extern const u32 gBattleAnimSpriteSheet_270[]; -extern const u32 gBattleAnimSpriteSheet_271[]; -extern const u32 gBattleAnimSpriteSheet_272[]; -extern const u32 gBattleAnimSpriteSheet_273[]; -extern const u32 gBattleAnimSpriteSheet_274[]; -extern const u32 gBattleAnimSpriteSheet_275[]; -extern const u32 gBattleAnimSpriteSheet_276[]; -extern const u32 gBattleAnimSpriteSheet_277[]; -extern const u32 gBattleAnimSpriteSheet_278[]; -extern const u32 gBattleAnimSpriteSheet_279[]; -extern const u32 gBattleAnimSpriteSheet_280[]; -extern const u32 gBattleAnimSpriteSheet_281[]; -extern const u32 gBattleAnimSpriteSheet_282[]; -extern const u32 gBattleAnimSpriteSheet_283[]; -extern const u32 gBattleAnimBackgroundTilemap_ScaryFacePlayer[]; -extern const u32 gBattleAnimBackgroundTilemap_ScaryFaceOpponent[]; -extern const u32 gBattleAnimBackgroundTilemap_ScaryFaceContest[]; -extern const u32 gBattleAnimSpriteSheet_284[]; -extern const u32 gBattleAnimSpriteSheet_285[]; +extern const u32 gBattleAnimSpriteGfx_YellowUnk[]; +extern const u32 gBattleAnimSpriteGfx_RedFist[]; +extern const u32 gBattleAnimSpriteGfx_SlamHit[]; +extern const u32 gBattleAnimSpriteGfx_Ring[]; +extern const u32 gBattleAnimSpriteGfx_Rocks[]; +extern const u32 gBattleAnimSpriteGfx_Z[]; +extern const u32 gBattleAnimSpriteGfx_YellowUnk2[]; +extern const u32 gBattleAnimSpriteGfx_AirSlash[]; +extern const u32 gBattleAnimSpriteGfx_SpinningGreenOrbs[]; +extern const u32 gBattleAnimSpriteGfx_Leaf[]; +extern const u32 gBattleAnimSpriteGfx_Finger[]; +extern const u32 gBattleAnimSpriteGfx_PoisonPowder[]; +extern const u32 gBattleAnimSpriteGfx_BrownTriangle[]; +extern const u32 gBattleAnimSpriteGfx_Sparkle3[]; +extern const u32 gBattleAnimSpriteGfx_Sparkle4[]; +extern const u32 gBattleAnimSpriteGfx_MusicNotes[]; +extern const u32 gBattleAnimSpriteGfx_Duck[]; +extern const u32 gBattleAnimSpriteGfx_MudSand[]; +extern const u32 gBattleAnimSpriteGfx_Alert[]; +extern const u32 gBattleAnimSpriteGfx_BlueFlames[]; +extern const u32 gBattleAnimSpriteGfx_BlueFlames2[]; +extern const u32 gBattleAnimSpriteGfx_Shock4[]; +extern const u32 gBattleAnimSpriteGfx_Shock[]; +extern const u32 gBattleAnimSpriteGfx_Bell2[]; +extern const u32 gBattleAnimSpriteGfx_PinkGlove[]; +extern const u32 gBattleAnimSpriteGfx_BlueLines[]; +extern const u32 gBattleAnimSpriteGfx_Impact3[]; +extern const u32 gBattleAnimSpriteGfx_Impact2[]; +extern const u32 gBattleAnimSpriteGfx_Reticle[]; +extern const u32 gBattleAnimSpriteGfx_Breath[]; +extern const u32 gBattleAnimSpriteGfx_Anger[]; +extern const u32 gBattleAnimSpriteGfx_Snowball[]; +extern const u32 gBattleAnimSpriteGfx_Vine[]; +extern const u32 gBattleAnimSpriteGfx_Sword2[]; +extern const u32 gBattleAnimSpriteGfx_Clapping[]; +extern const u32 gBattleAnimSpriteGfx_RedTube[]; +extern const u32 gBattleAnimSpriteGfx_Amnesia[]; +extern const u32 gBattleAnimSpriteGfx_String2[]; +extern const u32 gBattleAnimSpriteGfx_Pencil2[]; +extern const u32 gBattleAnimSpriteGfx_Petal[]; +extern const u32 gBattleAnimSpriteGfx_BentSpoon[]; +extern const u32 gBattleAnimSpriteGfx_Web[]; +extern const u32 gBattleAnimSpriteGfx_MilkBottle[]; +extern const u32 gBattleAnimSpriteGfx_Coin[]; +extern const u32 gBattleAnimSpriteGfx_CrackedEgg[]; +extern const u32 gBattleAnimSpriteGfx_HatchedEgg[]; +extern const u32 gBattleAnimSpriteGfx_FreshEgg[]; +extern const u32 gBattleAnimSpriteGfx_Fangs[]; +extern const u32 gBattleAnimSpriteGfx_Explosion2[]; +extern const u32 gBattleAnimSpriteGfx_Explosion3[]; +extern const u32 gBattleAnimSpriteGfx_WaterDroplet[]; +extern const u32 gBattleAnimSpriteGfx_WaterDroplet2[]; +extern const u32 gBattleAnimSpriteGfx_Seed2[]; +extern const u32 gBattleAnimSpriteGfx_Sprout[]; +extern const u32 gBattleAnimSpriteGfx_RedWand[]; +extern const u32 gBattleAnimSpriteGfx_PurpleGreenUnk[]; +extern const u32 gBattleAnimSpriteGfx_WaterColumn[]; +extern const u32 gBattleAnimSpriteGfx_MudUnk[]; +extern const u32 gBattleAnimSpriteGfx_RainDrops[]; +extern const u32 gBattleAnimSpriteGfx_FurySwipes[]; +extern const u32 gBattleAnimSpriteGfx_Vine2[]; +extern const u32 gBattleAnimSpriteGfx_Teeth[]; +extern const u32 gBattleAnimSpriteGfx_Bone2[]; +extern const u32 gBattleAnimSpriteGfx_WhiteBag[]; +extern const u32 gBattleAnimSpriteGfx_Unknown[]; +extern const u32 gBattleAnimSpriteGfx_PurpleCoral[]; +extern const u32 gBattleAnimSpriteGfx_PurpleDroplet[]; +extern const u32 gBattleAnimSpriteGfx_Shock2[]; +extern const u32 gBattleAnimSpriteGfx_ClosingEye2[]; +extern const u32 gBattleAnimSpriteGfx_MetalBall[]; +extern const u32 gBattleAnimSpriteGfx_MonsterDoll[]; +extern const u32 gBattleAnimSpriteGfx_Whirlwind[]; +extern const u32 gBattleAnimSpriteGfx_Whirlwind2[]; +extern const u32 gBattleAnimSpriteGfx_Explosion4[]; +extern const u32 gBattleAnimSpriteGfx_Explosion5[]; +extern const u32 gBattleAnimSpriteGfx_Tongue[]; +extern const u32 gBattleAnimSpriteGfx_Smoke[]; +extern const u32 gBattleAnimSpriteGfx_Smoke2[]; +extern const u32 gBattleAnimSpriteGfx_Impact[]; +extern const u32 gBattleAnimSpriteGfx_Particles[]; +extern const u32 gBattleAnimSpriteGfx_CircleImpact[]; +extern const u32 gBattleAnimSpriteGfx_Scratch[]; +extern const u32 gBattleAnimSpriteGfx_Cut[]; +extern const u32 gBattleAnimSpriteGfx_SharpTeeth[]; +extern const u32 gBattleAnimSpriteGfx_RainbowRings[]; +extern const u32 gBattleAnimSpriteGfx_IceCrystals[]; +extern const u32 gBattleAnimSpriteGfx_IceSpikes[]; +extern const u32 gBattleAnimSpriteGfx_HandsAndFeet[]; +extern const u32 gBattleAnimSpriteGfx_MistCloud[]; +extern const u32 gBattleAnimSpriteGfx_Clamp[]; +//extern const struct CompressedSpriteSheet gBattleAnimSpriteGfx_146[]; +extern const u32 gBattleAnimSpriteGfx_Bubble[]; +extern const u32 gBattleAnimSpriteGfx_Orbs[]; +extern const u32 gBattleAnimSpriteGfx_WaterImpact[]; +extern const u32 gBattleAnimSpriteGfx_WaterOrb[]; +extern const u32 gBattleAnimSpriteGfx_PoisonBubble[]; +extern const u32 gBattleAnimSpriteGfx_ToxicBubble[]; +extern const u32 gBattleAnimSpriteGfx_Spikes[]; +extern const u32 gBattleAnimSpriteGfx_HornHit2[]; +extern const u32 gBattleAnimSpriteGfx_AirWave2[]; +extern const u32 gBattleAnimSpriteGfx_SmallBubbles[]; +extern const u32 gBattleAnimSpriteGfx_RoundShadow[]; +extern const u32 gBattleAnimSpriteGfx_Sunlight[]; +extern const u32 gBattleAnimSpriteGfx_Spore[]; +extern const u32 gBattleAnimSpriteGfx_Flower[]; +extern const u32 gBattleAnimSpriteGfx_RazorLeaf[]; +extern const u32 gBattleAnimSpriteGfx_Needle[]; +extern const u32 gBattleAnimSpriteGfx_WhirlwindLines[]; +extern const u32 gBattleAnimSpriteGfx_GoldRing[]; +extern const u32 gBattleAnimSpriteGfx_GreenLightWall[]; +extern const u32 gBattleAnimSpriteGfx_BlackBall2[]; +extern const u32 gBattleAnimSpriteGfx_SparkH[]; +extern const u32 gBattleAnimSpriteGfx_YellowStar[]; +extern const u32 gBattleAnimSpriteGfx_LargeFreshEgg[]; +extern const u32 gBattleAnimSpriteGfx_ShadowBall[]; +extern const u32 gBattleAnimSpriteGfx_Lick[]; +extern const u32 gBattleAnimSpriteGfx_VoidLines[]; +extern const u32 gBattleAnimSpriteGfx_String[]; +extern const u32 gBattleAnimSpriteGfx_WebThread[]; +extern const u32 gBattleAnimSpriteGfx_SpiderWeb[]; +extern const u32 gBattleAnimSpriteGfx_Lightbulb[]; +extern const u32 gBattleAnimSpriteGfx_Slash[]; +extern const u32 gBattleAnimSpriteGfx_FocusEnergy[]; +extern const u32 gBattleAnimSpriteGfx_SphereToCube[]; +extern const u32 gBattleAnimSpriteGfx_Tendrils[]; +extern const u32 gBattleAnimSpriteGfx_Eye[]; +extern const u32 gBattleAnimSpriteGfx_WhiteShadow[]; +extern const u32 gBattleAnimSpriteGfx_TealAlert[]; +extern const u32 gBattleAnimSpriteGfx_OpeningEye[]; +extern const u32 gBattleAnimSpriteGfx_RoundWhiteHalo[]; +extern const u32 gBattleAnimSpriteGfx_FangAttack[]; +extern const u32 gBattleAnimSpriteGfx_PurpleHandOutline[]; +extern const u32 gBattleAnimSpriteGfx_Moon[]; +extern const u32 gBattleAnimSpriteGfx_GreenSparkle[]; +extern const u32 gBattleAnimSpriteGfx_Spiral[]; +extern const u32 gBattleAnimSpriteGfx_SnoreZ[]; +extern const u32 gBattleAnimSpriteGfx_Explosion[]; +extern const u32 gBattleAnimSpriteGfx_Nail[]; +extern const u32 gBattleAnimSpriteGfx_GhostlySpirit[]; +extern const u32 gBattleAnimSpriteGfx_WarmRock[]; +extern const u32 gBattleAnimSpriteGfx_BreakingEgg[]; +extern const u32 gBattleAnimSpriteGfx_ThinRing[]; +extern const u32 gBattleAnimSpriteGfx_PunchImpact[]; +extern const u32 gBattleAnimSpriteGfx_Bell[]; +extern const u32 gBattleAnimSpriteGfx_MusicNotes2[]; +extern const u32 gBattleAnimSpriteGfx_SpeedDust[]; +extern const u32 gBattleAnimSpriteGfx_TornMetal[]; +extern const u32 gBattleAnimSpriteGfx_ThoughtBubble[]; +extern const u32 gBattleAnimSpriteGfx_MagentaHeart[]; +extern const u32 gBattleAnimSpriteGfx_ElectricOrbs[]; +extern const u32 gBattleAnimSpriteGfx_CircleOfLight[]; +extern const u32 gBattleAnimSpriteGfx_Electricity[]; +extern const u32 gBattleAnimSpriteGfx_Finger2[]; +extern const u32 gBattleAnimSpriteGfx_MovementWaves[]; +extern const u32 gBattleAnimSpriteGfx_MagentaHeart[]; +extern const u32 gBattleAnimSpriteGfx_RedOrb[]; +extern const u32 gBattleAnimSpriteGfx_EyeSparkle[]; +extern const u32 gBattleAnimSpriteGfx_MagentaHeart[]; +extern const u32 gBattleAnimSpriteGfx_Angel[]; +extern const u32 gBattleAnimSpriteGfx_Devil[]; +extern const u32 gBattleAnimSpriteGfx_Swipe[]; +extern const u32 gBattleAnimSpriteGfx_Roots[]; +extern const u32 gBattleAnimSpriteGfx_ItemBag[]; +extern const u32 gBattleAnimSpriteGfx_JaggedMusicNote[]; +extern const u32 gBattleAnimSpriteGfx_Pokeball[]; +extern const u32 gBattleAnimSpriteGfx_Spotlight[]; +extern const u32 gBattleAnimSpriteGfx_LetterZ[]; +extern const u32 gBattleAnimSpriteGfx_RapidSpin[]; +extern const u32 gBattleAnimSpriteGfx_TriForceTriangle[]; +extern const u32 gBattleAnimSpriteGfx_WispOrb[]; +extern const u32 gBattleAnimSpriteGfx_WispFire[]; +extern const u32 gBattleAnimSpriteGfx_GoldStars[]; +extern const u32 gBattleAnimSpriteGfx_EclipsingOrb[]; +extern const u32 gBattleAnimSpriteGfx_GrayOrb[]; +extern const u32 gBattleAnimSpriteGfx_GrayOrb[]; +extern const u32 gBattleAnimSpriteGfx_GrayOrb[]; +extern const u32 gBattleAnimSpriteGfx_PinkPetal[]; +extern const u32 gBattleAnimSpriteGfx_PainSplit[]; +extern const u32 gBattleAnimSpriteGfx_Confetti[]; +extern const u32 gBattleAnimSpriteGfx_GreenStar[]; +extern const u32 gBattleAnimSpriteGfx_PinkCloud[]; +extern const u32 gBattleAnimSpriteGfx_SweatDrop[]; +extern const u32 gBattleAnimSpriteGfx_GuardRing[]; +extern const u32 gBattleAnimSpriteGfx_PurpleScratch[]; +extern const u32 gBattleAnimSpriteGfx_PurpleSwipe[]; +extern const u32 gBattleAnimSpriteGfx_TagHand[]; +extern const u32 gBattleAnimSpriteGfx_SmallRedEye[]; +extern const u32 gBattleAnimSpriteGfx_HollowOrb[]; +extern const u32 gBattleAnimSpriteGfx_XSign[]; +extern const u32 gBattleAnimSpriteGfx_BluegreenOrb[]; +extern const u32 gBattleAnimSpriteGfx_PawPrint[]; +extern const u32 gBattleAnimSpriteGfx_PurpleFlame[]; +extern const u32 gBattleAnimSpriteGfx_RedBall[]; +extern const u32 gBattleAnimSpriteGfx_SmellingsaltEffect[]; +extern const u32 gBattleAnimSpriteGfx_Meteor[]; +extern const u32 gBattleAnimSpriteGfx_FlatRock[]; +extern const u32 gBattleAnimSpriteGfx_MagnifyingGlass[]; +extern const u32 gBattleAnimSpriteGfx_MetalSoundWaves[]; +extern const u32 gBattleAnimSpriteGfx_FlyingDirt[]; +extern const u32 gBattleAnimSpriteGfx_IcicleSpear[]; +extern const u32 gBattleAnimSpriteGfx_Hail[]; +extern const u32 gBattleAnimSpriteGfx_GlowyRedOrb[]; +extern const u32 gBattleAnimSpriteGfx_GreenSpike[]; +extern const u32 gBattleAnimSpriteGfx_Pokeblock[]; +extern const u32 gBattleAnimSpriteGfx_WhiteFeather[]; +extern const u32 gBattleAnimSpriteGfx_Sparkle6[]; +extern const u32 gBattleAnimSpriteGfx_Splash[]; +extern const u32 gBattleAnimSpriteGfx_SweatBead[]; +extern const u32 gBattleAnimSpriteGfx_Gem1[]; +extern const u32 gBattleAnimSpriteGfx_Gem2[]; +extern const u32 gBattleAnimSpriteGfx_Gem3[]; +extern const u32 gBattleAnimSpriteGfx_SlamHit2[]; +extern const u32 gBattleAnimSpriteGfx_Recycle[]; +extern const u32 gBattleAnimSpriteGfx_RedParticles[]; +extern const u32 gBattleAnimSpriteGfx_Protect[]; +extern const u32 gBattleAnimSpriteGfx_DirtMound[]; +extern const u32 gBattleAnimSpriteGfx_Shock3[]; +extern const u32 gBattleAnimSpriteGfx_WeatherBall[]; +extern const u32 gBattleAnimBgTilemap_ScaryFacePlayer[]; +extern const u32 gBattleAnimBgTilemap_ScaryFaceOpponent[]; +extern const u32 gBattleAnimBgTilemap_ScaryFaceContest[]; +extern const u32 gBattleAnimSpriteGfx_Bird[]; +extern const u32 gBattleAnimSpriteGfx_CrossImpact[]; -extern const u32 gBattleAnimSpritePalette_000[]; -extern const u32 gBattleAnimSpritePalette_001[]; -extern const u32 gBattleAnimSpritePalette_002[]; -extern const u32 gBattleAnimSpritePalette_003[]; -extern const u32 gBattleAnimSpritePalette_004[]; -extern const u32 gBattleAnimSpritePalette_005[]; -extern const u32 gBattleAnimSpritePalette_006[]; -extern const u32 gBattleAnimSpritePalette_007[]; -extern const u32 gBattleAnimSpritePalette_008[]; -extern const u32 gBattleAnimSpritePalette_009[]; -extern const u32 gBattleAnimSpritePalette_010[]; -extern const u32 gBattleAnimSpritePalette_011[]; -extern const u32 gBattleAnimSpritePalette_012[]; -extern const u32 gBattleAnimSpritePalette_013[]; -extern const u32 gBattleAnimSpritePalette_014[]; -extern const u32 gBattleAnimSpritePalette_015[]; -extern const u32 gBattleAnimSpritePalette_016[]; -extern const u32 gBattleAnimSpritePalette_016[]; -extern const u32 gBattleAnimSpritePalette_018[]; -extern const u32 gBattleAnimSpritePalette_019[]; -extern const u32 gBattleAnimSpritePalette_020[]; -extern const u32 gBattleAnimSpritePalette_021[]; -extern const u32 gBattleAnimSpritePalette_022[]; -extern const u32 gBattleAnimSpritePalette_023[]; -extern const u32 gBattleAnimSpritePalette_024[]; -extern const u32 gBattleAnimSpritePalette_025[]; -extern const u32 gBattleAnimSpritePalette_026[]; -extern const u32 gBattleAnimSpritePalette_027[]; -extern const u32 gBattleAnimSpritePalette_028[]; -extern const u32 gBattleAnimSpritePalette_029[]; -extern const u32 gBattleAnimSpritePalette_030[]; -extern const u32 gBattleAnimSpritePalette_031[]; -extern const u32 gBattleAnimSpritePalette_032[]; -extern const u32 gBattleAnimSpritePalette_033[]; -extern const u32 gBattleAnimSpritePalette_033[]; -extern const u32 gBattleAnimSpritePalette_033[]; -extern const u32 gBattleAnimSpritePalette_036[]; -extern const u32 gBattleAnimSpritePalette_036[]; -extern const u32 gBattleAnimSpritePalette_038[]; -extern const u32 gBattleAnimSpritePalette_039[]; -extern const u32 gBattleAnimSpritePalette_038[]; -extern const u32 gBattleAnimSpritePalette_038[]; -extern const u32 gBattleAnimSpritePalette_042[]; -extern const u32 gBattleAnimSpritePalette_043[]; -extern const u32 gBattleAnimSpritePalette_044[]; -extern const u32 gBattleAnimSpritePalette_045[]; -extern const u32 gBattleAnimSpritePalette_046[]; -extern const u32 gBattleAnimSpritePalette_047[]; -extern const u32 gBattleAnimSpritePalette_048[]; -extern const u32 gBattleAnimSpritePalette_049[]; -extern const u32 gBattleAnimSpritePalette_050[]; -extern const u32 gBattleAnimSpritePalette_050[]; -extern const u32 gBattleAnimSpritePalette_050[]; -extern const u32 gBattleAnimSpritePalette_026[]; -extern const u32 gBattleAnimSpritePalette_054[]; -extern const u32 gBattleAnimSpritePalette_050[]; -extern const u32 gBattleAnimSpritePalette_056[]; -extern const u32 gBattleAnimSpritePalette_057[]; -extern const u32 gBattleAnimSpritePalette_058[]; -extern const u32 gBattleAnimSpritePalette_059[]; -extern const u32 gBattleAnimSpritePalette_060[]; -extern const u32 gBattleAnimSpritePalette_061[]; -extern const u32 gBattleAnimSpritePalette_062[]; -extern const u32 gBattleAnimSpritePalette_063[]; -extern const u32 gBattleAnimSpritePalette_064[]; -extern const u32 gBattleAnimSpritePalette_065[]; -extern const u32 gBattleAnimSpritePalette_066[]; -extern const u32 gBattleAnimSpritePalette_067[]; -extern const u32 gBattleAnimSpritePalette_068[]; -extern const u32 gBattleAnimSpritePalette_065[]; -extern const u32 gBattleAnimSpritePalette_070[]; -extern const u32 gBattleAnimSpritePalette_070[]; -extern const u32 gBattleAnimSpritePalette_072[]; -extern const u32 gBattleAnimSpritePalette_073[]; -extern const u32 gBattleAnimSpritePalette_074[]; -extern const u32 gBattleAnimSpritePalette_075[]; -extern const u32 gBattleAnimSpritePalette_076[]; -extern const u32 gBattleAnimSpritePalette_076[]; -extern const u32 gBattleAnimSpritePalette_078[]; -extern const u32 gBattleAnimSpritePalette_078[]; -extern const u32 gBattleAnimSpritePalette_080[]; -extern const u32 gBattleAnimSpritePalette_081[]; -extern const u32 gBattleAnimSpritePalette_082[]; -extern const u32 gBattleAnimSpritePalette_083[]; -extern const u32 gBattleAnimSpritePalette_084[]; -extern const u32 gBattleAnimSpritePalette_085[]; -extern const u32 gBattleAnimSpritePalette_086[]; -extern const u32 gBattleAnimSpritePalette_087[]; -extern const u32 gBattleAnimSpritePalette_088[]; -extern const u32 gBattleAnimSpritePalette_089[]; -extern const u32 gBattleAnimSpritePalette_090[]; -extern const u32 gBattleAnimSpritePalette_091[]; -extern const u32 gBattleAnimSpritePalette_092[]; -extern const u32 gBattleAnimSpritePalette_093[]; -extern const u32 gBattleAnimSpritePalette_094[]; -extern const u32 gBattleAnimSpritePalette_095[]; -extern const u32 gBattleAnimSpritePalette_096[]; -extern const u32 gBattleAnimSpritePalette_097[]; -extern const u32 gBattleAnimSpritePalette_094[]; -extern const u32 gBattleAnimSpritePalette_099[]; -extern const u32 gBattleAnimSpritePalette_100[]; -extern const u32 gBattleAnimSpritePalette_101[]; -extern const u32 gBattleAnimSpritePalette_101[]; -extern const u32 gBattleAnimSpritePalette_103[]; -extern const u32 gBattleAnimSpritePalette_104[]; -extern const u32 gBattleAnimSpritePalette_105[]; -extern const u32 gBattleAnimSpritePalette_105[]; -extern const u32 gBattleAnimSpritePalette_107[]; -extern const u32 gBattleAnimSpritePalette_107[]; -extern const u32 gBattleAnimSpritePalette_109[]; -extern const u32 gBattleAnimSpritePalette_109[]; -extern const u32 gBattleAnimSpritePalette_111[]; -extern const u32 gBattleAnimSpritePalette_112[]; -extern const u32 gBattleAnimSpritePalette_113[]; -extern const u32 gBattleAnimSpritePalette_114[]; -extern const u32 gBattleAnimSpritePalette_115[]; -extern const u32 gBattleAnimSpritePalette_116[]; -extern const u32 gBattleAnimSpritePalette_117[]; -extern const u32 gBattleAnimSpritePalette_118[]; -extern const u32 gBattleAnimSpritePalette_119[]; -extern const u32 gBattleAnimSpritePalette_120[]; -extern const u32 gBattleAnimSpritePalette_121[]; -extern const u32 gBattleAnimSpritePalette_122[]; -extern const u32 gBattleAnimSpritePalette_122[]; -extern const u32 gBattleAnimSpritePalette_124[]; -extern const u32 gBattleAnimSpritePalette_125[]; -extern const u32 gBattleAnimSpritePalette_126[]; -extern const u32 gBattleAnimSpritePalette_127[]; -extern const u32 gBattleAnimSpritePalette_128[]; -extern const u32 gBattleAnimSpritePalette_128[]; -extern const u32 gBattleAnimSpritePalette_130[]; -extern const u32 gBattleAnimSpritePalette_130[]; -extern const u32 gBattleAnimSpritePalette_132[]; -extern const u32 gBattleAnimSpritePalette_133[]; -extern const u32 gBattleAnimSpritePalette_133[]; -extern const u32 gBattleAnimSpritePalette_135[]; -extern const u32 gBattleAnimSpritePalette_136[]; -extern const u32 gBattleAnimSpritePalette_135[]; -extern const u32 gBattleAnimSpritePalette_135[]; -extern const u32 gBattleAnimSpritePalette_139[]; -extern const u32 gBattleAnimSpritePalette_140[]; -extern const u32 gBattleAnimSpritePalette_141[]; -extern const u32 gBattleAnimSpritePalette_141[]; -extern const u32 gBattleAnimSpritePalette_143[]; -extern const u32 gBattleAnimSpritePalette_144[]; -extern const u32 gBattleAnimSpritePalette_139[]; -extern const u32 gBattleAnimSpritePalette_115[]; -extern const u32 gBattleAnimSpritePalette_147[]; -extern const u32 gBattleAnimSpritePalette_148[]; -extern const u32 gBattleAnimSpritePalette_148[]; -extern const u32 gBattleAnimSpritePalette_150[]; -extern const u32 gBattleAnimSpritePalette_150[]; -extern const u32 gBattleAnimSpritePalette_152[]; -extern const u32 gBattleAnimSpritePalette_153[]; -extern const u32 gBattleAnimSpritePalette_154[]; -extern const u32 gBattleAnimSpritePalette_155[]; -extern const u32 gBattleAnimSpritePalette_156[]; -extern const u32 gBattleAnimSpritePalette_157[]; -extern const u32 gBattleAnimSpritePalette_158[]; -extern const u32 gBattleAnimSpritePalette_159[]; -extern const u32 gBattleAnimSpritePalette_160[]; -extern const u32 gBattleAnimSpritePalette_161[]; -extern const u32 gBattleAnimSpritePalette_162[]; -extern const u32 gBattleAnimSpritePalette_163[]; -extern const u32 gBattleAnimSpritePalette_164[]; -extern const u32 gBattleAnimSpritePalette_165[]; -extern const u32 gBattleAnimSpritePalette_166[]; -extern const u32 gBattleAnimSpritePalette_167[]; -extern const u32 gBattleAnimSpritePalette_168[]; -extern const u32 gBattleAnimSpritePalette_169[]; -extern const u32 gBattleAnimSpritePalette_170[]; -extern const u32 gBattleAnimSpritePalette_171[]; -extern const u32 gBattleAnimSpritePalette_172[]; -extern const u32 gBattleAnimSpritePalette_174[]; -extern const u32 gBattleAnimSpritePalette_175[]; -extern const u32 gBattleAnimSpritePalette_176[]; -extern const u32 gBattleAnimSpritePalette_177[]; -extern const u32 gBattleAnimSpritePalette_178[]; -extern const u32 gBattleAnimSpritePalette_179[]; -extern const u32 gBattleAnimSpritePalette_182[]; -extern const u32 gBattleAnimSpritePalette_183[]; -extern const u32 gBattleAnimSpritePalette_184[]; -extern const u32 gBattleAnimSpritePalette_185[]; -extern const u32 gBattleAnimSpritePalette_186[]; -extern const u32 gBattleAnimSpritePalette_187[]; -extern const u32 gBattleAnimSpritePalette_188[]; -extern const u32 gBattleAnimSpritePalette_189[]; -extern const u32 gBattleAnimSpritePalette_190[]; -extern const u32 gBattleAnimSpritePalette_191[]; -extern const u32 gBattleAnimSpritePalette_192[]; -extern const u32 gBattleAnimSpritePalette_193[]; -extern const u32 gBattleAnimSpritePalette_194[]; -extern const u32 gBattleAnimSpritePalette_195[]; -extern const u32 gBattleAnimSpritePalette_196[]; -extern const u32 gBattleAnimSpritePalette_197[]; -extern const u32 gBattleAnimSpritePalette_198[]; -extern const u32 gBattleAnimSpritePalette_199[]; -extern const u32 gBattleAnimSpritePalette_200[]; -extern const u32 gBattleAnimSpritePalette_201[]; -extern const u32 gBattleAnimSpritePalette_202[]; -extern const u32 gBattleAnimSpritePalette_203[]; -extern const u32 gBattleAnimSpritePalette_204[]; -extern const u32 gBattleAnimSpritePalette_205[]; -extern const u32 gBattleAnimSpritePalette_206[]; -extern const u32 gBattleAnimSpritePalette_207[]; -extern const u32 gBattleAnimSpritePalette_209[]; -extern const u32 gBattleAnimSpritePalette_210[]; -extern const u32 gBattleAnimSpritePalette_211[]; -extern const u32 gBattleAnimSpritePalette_215[]; +extern const u32 gBattleAnimSpritePal_Bone[]; +extern const u32 gBattleAnimSpritePal_Spark[]; +extern const u32 gBattleAnimSpritePal_Pencil[]; +extern const u32 gBattleAnimSpritePal_AirWave[]; +extern const u32 gBattleAnimSpritePal_Orb[]; +extern const u32 gBattleAnimSpritePal_Sword[]; +extern const u32 gBattleAnimSpritePal_Seed[]; +extern const u32 gBattleAnimSpritePal_Explosion6[]; +extern const u32 gBattleAnimSpritePal_PinkOrb[]; +extern const u32 gBattleAnimSpritePal_Gust[]; +extern const u32 gBattleAnimSpritePal_IceCube[]; +extern const u32 gBattleAnimSpritePal_Spark2[]; +extern const u32 gBattleAnimSpritePal_Orange[]; +extern const u32 gBattleAnimSpritePal_YellowBall[]; +extern const u32 gBattleAnimSpritePal_LockOn[]; +extern const u32 gBattleAnimSpritePal_TiedBag[]; +extern const u32 gBattleAnimSpritePal_BlackSmoke[]; +extern const u32 gBattleAnimSpritePal_BlackSmoke[]; +extern const u32 gBattleAnimSpritePal_Conversion[]; +extern const u32 gBattleAnimSpritePal_Glass[]; +extern const u32 gBattleAnimSpritePal_HornHit[]; +extern const u32 gBattleAnimSpritePal_Hit[]; +extern const u32 gBattleAnimSpritePal_Hit2[]; +extern const u32 gBattleAnimSpritePal_BlueShards[]; +extern const u32 gBattleAnimSpritePal_ClosingEye[]; +extern const u32 gBattleAnimSpritePal_WavingHand[]; +extern const u32 gBattleAnimSpritePal_HitDuplicate[]; +extern const u32 gBattleAnimSpritePal_Leer[]; +extern const u32 gBattleAnimSpritePal_BlueBurst[]; +extern const u32 gBattleAnimSpritePal_SmallEmber[]; +extern const u32 gBattleAnimSpritePal_GraySmoke[]; +extern const u32 gBattleAnimSpritePal_BlueStar[]; +extern const u32 gBattleAnimSpritePal_BubbleBurst[]; +extern const u32 gBattleAnimSpritePal_Fire[]; +extern const u32 gBattleAnimSpritePal_Fire[]; +extern const u32 gBattleAnimSpritePal_Fire[]; +extern const u32 gBattleAnimSpritePal_Lightning2[]; +extern const u32 gBattleAnimSpritePal_Lightning2[]; +extern const u32 gBattleAnimSpritePal_ClawSlash2[]; +extern const u32 gBattleAnimSpritePal_ClawSlash[]; +extern const u32 gBattleAnimSpritePal_ClawSlash2[]; +extern const u32 gBattleAnimSpritePal_ClawSlash2[]; +extern const u32 gBattleAnimSpritePal_BubbleBurst2[]; +extern const u32 gBattleAnimSpritePal_IceChunk[]; +extern const u32 gBattleAnimSpritePal_Glass2[]; +extern const u32 gBattleAnimSpritePal_PinkHeart2[]; +extern const u32 gBattleAnimSpritePal_SapDrip[]; +extern const u32 gBattleAnimSpritePal_SapDrip2[]; +extern const u32 gBattleAnimSpritePal_Sparkle1[]; +extern const u32 gBattleAnimSpritePal_Sparkle2[]; +extern const u32 gBattleAnimSpritePal_HumanoidFoot[]; +extern const u32 gBattleAnimSpritePal_HumanoidFoot[]; +extern const u32 gBattleAnimSpritePal_HumanoidFoot[]; +extern const u32 gBattleAnimSpritePal_HitDuplicate[]; +extern const u32 gBattleAnimSpritePal_YellowUnk[]; +extern const u32 gBattleAnimSpritePal_HumanoidFoot[]; +extern const u32 gBattleAnimSpritePal_SlamHit[]; +extern const u32 gBattleAnimSpritePal_Ring[]; +extern const u32 gBattleAnimSpritePal_Rocks[]; +extern const u32 gBattleAnimSpritePal_Z[]; +extern const u32 gBattleAnimSpritePal_YellowUnk2[]; +extern const u32 gBattleAnimSpritePal_AirSlash[]; +extern const u32 gBattleAnimSpritePal_SpinningGreenOrbs[]; +extern const u32 gBattleAnimSpritePal_Leaf[]; +extern const u32 gBattleAnimSpritePal_Finger[]; +extern const u32 gBattleAnimSpritePal_PoisonPowder[]; +extern const u32 gBattleAnimSpritePal_BrownTriangle[]; +extern const u32 gBattleAnimSpritePal_SleepPowder[]; +extern const u32 gBattleAnimSpritePal_StunSpore[]; +extern const u32 gBattleAnimSpritePal_PoisonPowder[]; +extern const u32 gBattleAnimSpritePal_Sparkle3[]; +extern const u32 gBattleAnimSpritePal_Sparkle3[]; +extern const u32 gBattleAnimSpritePal_MusicNotes[]; +extern const u32 gBattleAnimSpritePal_Duck[]; +extern const u32 gBattleAnimSpritePal_MudSand[]; +extern const u32 gBattleAnimSpritePal_Alert[]; +extern const u32 gBattleAnimSpritePal_BlueFlames[]; +extern const u32 gBattleAnimSpritePal_BlueFlames[]; +extern const u32 gBattleAnimSpritePal_Shock4[]; +extern const u32 gBattleAnimSpritePal_Shock4[]; +extern const u32 gBattleAnimSpritePal_Bell2[]; +extern const u32 gBattleAnimSpritePal_PinkGlove[]; +extern const u32 gBattleAnimSpritePal_BlueLines[]; +extern const u32 gBattleAnimSpritePal_Impact3[]; +extern const u32 gBattleAnimSpritePal_Impact2[]; +extern const u32 gBattleAnimSpritePal_Reticle[]; +extern const u32 gBattleAnimSpritePal_Breath[]; +extern const u32 gBattleAnimSpritePal_Anger[]; +extern const u32 gBattleAnimSpritePal_Snowball[]; +extern const u32 gBattleAnimSpritePal_Vine[]; +extern const u32 gBattleAnimSpritePal_Sword2[]; +extern const u32 gBattleAnimSpritePal_Clapping[]; +extern const u32 gBattleAnimSpritePal_RedTube[]; +extern const u32 gBattleAnimSpritePal_Amnesia[]; +extern const u32 gBattleAnimSpritePal_String2[]; +extern const u32 gBattleAnimSpritePal_Pencil2[]; +extern const u32 gBattleAnimSpritePal_Petal[]; +extern const u32 gBattleAnimSpritePal_BentSpoon[]; +extern const u32 gBattleAnimSpritePal_String2[]; +extern const u32 gBattleAnimSpritePal_MilkBottle[]; +extern const u32 gBattleAnimSpritePal_Coin[]; +extern const u32 gBattleAnimSpritePal_CrackedEgg[]; +extern const u32 gBattleAnimSpritePal_CrackedEgg[]; +extern const u32 gBattleAnimSpritePal_FreshEgg[]; +extern const u32 gBattleAnimSpritePal_Fangs[]; +extern const u32 gBattleAnimSpritePal_Explosion2[]; +extern const u32 gBattleAnimSpritePal_Explosion2[]; +extern const u32 gBattleAnimSpritePal_WaterDroplet[]; +extern const u32 gBattleAnimSpritePal_WaterDroplet[]; +extern const u32 gBattleAnimSpritePal_Seed2[]; +extern const u32 gBattleAnimSpritePal_Seed2[]; +extern const u32 gBattleAnimSpritePal_RedWand[]; +extern const u32 gBattleAnimSpritePal_PurpleGreenUnk[]; +extern const u32 gBattleAnimSpritePal_WaterColumn[]; +extern const u32 gBattleAnimSpritePal_MudUnk[]; +extern const u32 gBattleAnimSpritePal_RainDrops[]; +extern const u32 gBattleAnimSpritePal_FurySwipes[]; +extern const u32 gBattleAnimSpritePal_Vine2[]; +extern const u32 gBattleAnimSpritePal_Teeth[]; +extern const u32 gBattleAnimSpritePal_Bone2[]; +extern const u32 gBattleAnimSpritePal_WhiteBag[]; +extern const u32 gBattleAnimSpritePal_Unknown[]; +extern const u32 gBattleAnimSpritePal_PurpleCoral[]; +extern const u32 gBattleAnimSpritePal_PurpleCoral[]; +extern const u32 gBattleAnimSpritePal_Shock2[]; +extern const u32 gBattleAnimSpritePal_ClosingEye2[]; +extern const u32 gBattleAnimSpritePal_MetalBall[]; +extern const u32 gBattleAnimSpritePal_MonsterDoll[]; +extern const u32 gBattleAnimSpritePal_Whirlwind[]; +extern const u32 gBattleAnimSpritePal_Whirlwind[]; +extern const u32 gBattleAnimSpritePal_Explosion4[]; +extern const u32 gBattleAnimSpritePal_Explosion4[]; +extern const u32 gBattleAnimSpritePal_Tongue[]; +extern const u32 gBattleAnimSpritePal_Smoke[]; +extern const u32 gBattleAnimSpritePal_Smoke[]; +extern const u32 gBattleAnimSpritePal_Impact[]; +extern const u32 gBattleAnimSpritePal_CircleImpact[]; +extern const u32 gBattleAnimSpritePal_Impact[]; +extern const u32 gBattleAnimSpritePal_Impact[]; +extern const u32 gBattleAnimSpritePal_SharpTeeth[]; +extern const u32 gBattleAnimSpritePal_RainbowRings[]; +extern const u32 gBattleAnimSpritePal_IceCrystals[]; +extern const u32 gBattleAnimSpritePal_IceCrystals[]; +extern const u32 gBattleAnimSpritePal_HandsAndFeet[]; +extern const u32 gBattleAnimSpritePal_MistCloud[]; +extern const u32 gBattleAnimSpritePal_SharpTeeth[]; +extern const u32 gBattleAnimSpritePal_RainDrops[]; +extern const u32 gBattleAnimSpritePal_Orbs[]; +extern const u32 gBattleAnimSpritePal_WaterImpact[]; +extern const u32 gBattleAnimSpritePal_WaterImpact[]; +extern const u32 gBattleAnimSpritePal_PoisonBubble[]; +extern const u32 gBattleAnimSpritePal_PoisonBubble[]; +extern const u32 gBattleAnimSpritePal_Spikes[]; +extern const u32 gBattleAnimSpritePal_HornHit2[]; +extern const u32 gBattleAnimSpritePal_AirWave2[]; +extern const u32 gBattleAnimSpritePal_SmallBubbles[]; +extern const u32 gBattleAnimSpritePal_RoundShadow[]; +extern const u32 gBattleAnimSpritePal_Sunlight[]; +extern const u32 gBattleAnimSpritePal_Spore[]; +extern const u32 gBattleAnimSpritePal_Flower[]; +extern const u32 gBattleAnimSpritePal_RazorLeaf[]; +extern const u32 gBattleAnimSpritePal_Needle[]; +extern const u32 gBattleAnimSpritePal_WhirlwindLines[]; +extern const u32 gBattleAnimSpritePal_GoldRing[]; +extern const u32 gBattleAnimSpritePal_PurpleRing[]; +extern const u32 gBattleAnimSpritePal_BlueRing[]; +extern const u32 gBattleAnimSpritePal_GreenLightWall[]; +extern const u32 gBattleAnimSpritePal_BlueLightWall[]; +extern const u32 gBattleAnimSpritePal_RedLightWall[]; +extern const u32 gBattleAnimSpritePal_GrayLightWall[]; +extern const u32 gBattleAnimSpritePal_OrangeLightWall[]; +extern const u32 gBattleAnimSpritePal_BlackBall2[]; +extern const u32 gBattleAnimSpritePal_PurpleGasCloud[]; +extern const u32 gBattleAnimSpritePal_YellowStar[]; +extern const u32 gBattleAnimSpritePal_LargeFreshEgg[]; +extern const u32 gBattleAnimSpritePal_ShadowBall[]; +extern const u32 gBattleAnimSpritePal_Lick[]; +extern const u32 gBattleAnimSpritePal_VoidLines[]; +extern const u32 gBattleAnimSpritePal_String[]; +extern const u32 gBattleAnimSpritePal_Lightbulb[]; +extern const u32 gBattleAnimSpritePal_Slash[]; +extern const u32 gBattleAnimSpritePal_FocusEnergy[]; +extern const u32 gBattleAnimSpritePal_SphereToCube[]; +extern const u32 gBattleAnimSpritePal_Tendrils[]; +extern const u32 gBattleAnimSpritePal_Eye[]; +extern const u32 gBattleAnimSpritePal_WhiteShadow[]; +extern const u32 gBattleAnimSpritePal_TealAlert[]; +extern const u32 gBattleAnimSpritePal_OpeningEye[]; +extern const u32 gBattleAnimSpritePal_RoundWhiteHalo[]; +extern const u32 gBattleAnimSpritePal_FangAttack[]; +extern const u32 gBattleAnimSpritePal_PurpleHandOutline[]; +extern const u32 gBattleAnimSpritePal_Moon[]; +extern const u32 gBattleAnimSpritePal_GreenSparkle[]; +extern const u32 gBattleAnimSpritePal_Spiral[]; +extern const u32 gBattleAnimSpritePal_SnoreZ[]; +extern const u32 gBattleAnimSpritePal_Explosion[]; +extern const u32 gBattleAnimSpritePal_Nail[]; +extern const u32 gBattleAnimSpritePal_GhostlySpirit[]; +extern const u32 gBattleAnimSpritePal_WarmRock[]; +extern const u32 gBattleAnimSpritePal_BreakingEgg[]; +extern const u32 gBattleAnimSpritePal_ThinRing[]; +extern const u32 gBattleAnimSpritePal_PunchImpact[]; +extern const u32 gBattleAnimSpritePal_Bell[]; +extern const u32 gBattleAnimSpritePal_MusicNotes2[]; +extern const u32 gBattleAnimSpritePal_SpeedDust[]; +extern const u32 gBattleAnimSpritePal_ThoughtBubble[]; +extern const u32 gBattleAnimSpritePal_MagentaHeart[]; +extern const u32 gBattleAnimSpritePal_ElectricOrbs[]; +extern const u32 gBattleAnimSpritePal_MovementWaves[]; extern const u32 gUnknown_08C249D0[]; extern const u32 gUnknown_08C249F8[]; -extern const u32 gBattleAnimSpritePalette_216[]; -extern const u32 gBattleAnimSpritePalette_217[]; -extern const u32 gBattleAnimSpritePalette_218[]; -extern const u32 gBattleAnimSpritePalette_219[]; +extern const u32 gBattleAnimSpritePal_RedHeart[]; +extern const u32 gBattleAnimSpritePal_RedOrb[]; +extern const u32 gBattleAnimSpritePal_EyeSparkle[]; +extern const u32 gBattleAnimSpritePal_PinkHeart[]; extern const u32 gUnknown_08C232E0; extern const u32 gUnknown_08C23D50; extern const u32 gUnknown_08C23D78; -extern const u32 gBattleAnimSpritePalette_220[]; -extern const u32 gBattleAnimSpritePalette_221[]; -extern const u32 gBattleAnimSpritePalette_222[]; -extern const u32 gBattleAnimSpritePalette_223[]; -extern const u32 gBattleAnimSpritePalette_224[]; -extern const u32 gBattleAnimSpritePalette_225[]; -extern const u32 gBattleAnimSpritePalette_226[]; -extern const u32 gBattleAnimSpritePalette_228[]; -extern const u32 gBattleAnimSpritePalette_229[]; -extern const u32 gBattleAnimSpritePalette_230[]; -extern const u32 gBattleAnimSpritePalette_231[]; -extern const u32 gBattleAnimSpritePalette_233[]; -extern const u32 gBattleAnimSpritePalette_234[]; -extern const u32 gBattleAnimSpritePalette_235[]; -extern const u32 gBattleAnimSpritePalette_236[]; -extern const u32 gBattleAnimSpritePalette_237[]; -extern const u32 gBattleAnimSpritePalette_238[]; -extern const u32 gBattleAnimSpritePalette_239[]; -extern const u32 gBattleAnimSpritePalette_240[]; -extern const u32 gBattleAnimSpritePalette_241[]; -extern const u32 gBattleAnimSpritePalette_242[]; -extern const u32 gBattleAnimSpritePalette_243[]; -extern const u32 gBattleAnimSpritePalette_244[]; +extern const u32 gBattleAnimSpritePal_Angel[]; +extern const u32 gBattleAnimSpritePal_Devil[]; +extern const u32 gBattleAnimSpritePal_Swipe[]; +extern const u32 gBattleAnimSpritePal_Roots[]; +extern const u32 gBattleAnimSpritePal_ItemBag[]; +extern const u32 gBattleAnimSpritePal_JaggedMusicNote[]; +extern const u32 gBattleAnimSpritePal_Pokeball[]; +extern const u32 gBattleAnimSpritePal_LetterZ[]; +extern const u32 gBattleAnimSpritePal_RapidSpin[]; +extern const u32 gBattleAnimSpritePal_TriForceTriangle[]; +extern const u32 gBattleAnimSpritePal_WispOrb[]; +extern const u32 gBattleAnimSpritePal_GoldStars[]; +extern const u32 gBattleAnimSpritePal_EclipsingOrb[]; +extern const u32 gBattleAnimSpritePal_GrayOrb[]; +extern const u32 gBattleAnimSpritePal_BlueOrb[]; +extern const u32 gBattleAnimSpritePal_RedOrb2[]; +extern const u32 gBattleAnimSpritePal_PinkPetal[]; +extern const u32 gBattleAnimSpritePal_PainSplit[]; +extern const u32 gBattleAnimSpritePal_Confetti[]; +extern const u32 gBattleAnimSpritePal_GreenStar[]; +extern const u32 gBattleAnimSpritePal_PinkCloud[]; +extern const u32 gBattleAnimSpritePal_SweatDrop[]; +extern const u32 gBattleAnimSpritePal_GuardRing[]; 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[]; -extern const u32 gBattleAnimSpritePalette_251[]; -extern const u32 gBattleAnimSpritePalette_252[]; -extern const u32 gBattleAnimSpritePalette_253[]; -extern const u32 gBattleAnimSpritePalette_254[]; -extern const u32 gBattleAnimSpritePalette_255[]; -extern const u32 gBattleAnimSpritePalette_256[]; -extern const u32 gBattleAnimSpritePalette_257[]; -extern const u32 gBattleAnimSpritePalette_258[]; -extern const u32 gBattleAnimSpritePalette_259[]; -extern const u32 gBattleAnimSpritePalette_260[]; -extern const u32 gBattleAnimSpritePalette_261[]; -extern const u32 gBattleAnimSpritePalette_262[]; -extern const u32 gBattleAnimSpritePalette_263[]; -extern const u32 gBattleAnimSpritePalette_264[]; -extern const u32 gBattleAnimSpritePalette_265[]; -extern const u32 gBattleAnimSpritePalette_266[]; -extern const u32 gBattleAnimSpritePalette_267[]; -extern const u32 gBattleAnimSpritePalette_268[]; -extern const u32 gBattleAnimSpritePalette_269[]; -extern const u32 gBattleAnimSpritePalette_270[]; -extern const u32 gBattleAnimSpritePalette_271[]; -extern const u32 gBattleAnimSpritePalette_272[]; -extern const u32 gBattleAnimSpritePalette_274[]; -extern const u32 gBattleAnimSpritePalette_277[]; -extern const u32 gBattleAnimSpritePalette_278[]; -extern const u32 gBattleAnimSpritePalette_279[]; -extern const u32 gBattleAnimSpritePalette_280[]; -extern const u32 gBattleAnimSpritePalette_281[]; -extern const u32 gBattleAnimSpritePalette_282[]; -extern const u32 gBattleAnimSpritePalette_283[]; -extern const u32 gBattleAnimSpritePalette_284[]; -extern const u32 gBattleAnimSpritePalette_285[]; -extern const u32 gBattleAnimSpritePalette_286[]; -extern const u32 gBattleAnimSpritePalette_287[]; -extern const u32 gBattleAnimSpritePalette_288[]; +extern const u32 gBattleAnimSpritePal_PurpleScratch[]; +extern const u32 gBattleAnimSpritePal_SmallRedEye[]; +extern const u32 gBattleAnimSpritePal_HollowOrb[]; +extern const u32 gBattleAnimSpritePal_BluegreenOrb[]; +extern const u32 gBattleAnimSpritePal_PawPrint[]; +extern const u32 gBattleAnimSpritePal_PurpleFlame[]; +extern const u32 gBattleAnimSpritePal_RedBall[]; +extern const u32 gBattleAnimSpritePal_SmellingsaltEffect[]; +extern const u32 gBattleAnimSpritePal_Meteor[]; +extern const u32 gBattleAnimSpritePal_FlatRock[]; +extern const u32 gBattleAnimSpritePal_MagnifyingGlass[]; +extern const u32 gBattleAnimSpritePal_BrownOrb[]; +extern const u32 gBattleAnimSpritePal_MetalSoundWaves[]; +extern const u32 gBattleAnimSpritePal_FlyingDirt[]; +extern const u32 gBattleAnimSpritePal_IcicleSpear[]; +extern const u32 gBattleAnimSpritePal_Hail[]; +extern const u32 gBattleAnimSpritePal_GlowyRedOrb[]; +extern const u32 gBattleAnimSpritePal_GlowyGreenOrb[]; +extern const u32 gBattleAnimSpritePal_GreenSpike[]; +extern const u32 gBattleAnimSpritePal_WhiteCircleOfLight[]; +extern const u32 gBattleAnimSpritePal_GlowyBlueOrb[]; +extern const u32 gBattleAnimSpritePal_Pokeblock[]; +extern const u32 gBattleAnimSpritePal_WhiteFeather[]; +extern const u32 gBattleAnimSpritePal_Sparkle6[]; +extern const u32 gBattleAnimSpritePal_Splash[]; +extern const u32 gBattleAnimSpritePal_Gem1[]; +extern const u32 gBattleAnimSpritePal_SlamHit2[]; +extern const u32 gBattleAnimSpritePal_Recycle[]; +extern const u32 gBattleAnimSpritePal_RedParticles[]; +extern const u32 gBattleAnimSpritePal_Protect[]; +extern const u32 gBattleAnimSpritePal_DirtMound[]; +extern const u32 gBattleAnimSpritePal_Shock3[]; +extern const u32 gBattleAnimSpritePal_WeatherBall[]; +extern const u32 gBattleAnimSpritePal_Bird[]; +extern const u32 gBattleAnimSpritePal_CrossImpact[]; +extern const u32 gBattleAnimSpritePal_Slash2[]; +extern const u32 gBattleAnimSpritePal_WhipHit[]; +extern const u32 gBattleAnimSpritePal_BlueRing2[]; -extern const u32 gBattleAnimBackgroundImage_00[]; -extern const u32 gBattleAnimBackgroundImage_02[]; -extern const u32 gBattleAnimBackgroundImage_03[]; -extern const u32 gBattleAnimBackgroundImage_04[]; -extern const u32 gBattleAnimBackgroundImage_07[]; -extern const u32 gBattleAnimBackgroundImage_09[]; -extern const u32 gBattleAnimBackgroundImage_11[]; -extern const u32 gBattleAnimBackgroundImage_12[]; -extern const u32 gBattleAnimBackgroundImage_15[]; -extern const u32 gBattleAnimBackgroundImage_16[]; -extern const u32 gBattleAnimBackgroundImage_17[]; -extern const u32 gBattleAnimBackgroundImage_20[]; -extern const u32 gBattleAnimBackgroundImage_21[]; -extern const u32 gBattleAnimBackgroundPalette_00[]; -extern const u32 gBattleAnimBackgroundPalette_02[]; -extern const u32 gBattleAnimBackgroundPalette_03[]; -extern const u32 gBattleAnimBackgroundPalette_04[]; -extern const u32 gBattleAnimBackgroundPalette_07[]; -extern const u32 gBattleAnimBackgroundPalette_09[]; -extern const u32 gBattleAnimBackgroundPalette_11[]; -extern const u32 gBattleAnimBackgroundPalette_12[]; -extern const u32 gBattleAnimBackgroundPalette_15[]; -extern const u32 gBattleAnimBackgroundPalette_16[]; -extern const u32 gBattleAnimBackgroundPalette_17[]; -extern const u32 gBattleAnimBackgroundPalette_18[]; -extern const u32 gBattleAnimBackgroundPalette_20[]; -extern const u32 gBattleAnimBackgroundPalette_21[]; -extern const u32 gBattleAnimBackgroundPalette_22[]; -extern const u32 gBattleAnimBackgroundPalette_24[]; -extern const u32 gBattleAnimBackgroundTilemap_00[]; -extern const u32 gBattleAnimBackgroundTilemap_02[]; -extern const u32 gBattleAnimBackgroundTilemap_03[]; -extern const u32 gBattleAnimBackgroundTilemap_04[]; -extern const u32 gBattleAnimBackgroundTilemap_05[]; -extern const u32 gBattleAnimBackgroundTilemap_06[]; -extern const u32 gBattleAnimBackgroundTilemap_07[]; -extern const u32 gBattleAnimBackgroundTilemap_08[]; -extern const u32 gBattleAnimBackgroundTilemap_09[]; -extern const u32 gBattleAnimBackgroundTilemap_10[]; +extern const u32 gBattleAnimBgImage_Dark[]; +extern const u32 gBattleAnimBgImage_Ghost[]; +extern const u32 gBattleAnimBgImage_Psychic[]; +extern const u32 gBattleAnimBgImage_Impact[]; +extern const u32 gBattleAnimBgImage_Drill[]; +extern const u32 gBattleAnimBgImage_Highspeed[]; +extern const u32 gBattleAnimBgImage_Thunder[]; +extern const u32 gBattleAnimBgImage_Guillotine[]; +extern const u32 gBattleAnimBgImage_Ice[]; +extern const u32 gBattleAnimBgImage_Cosmic[]; +extern const u32 gBattleAnimBgImage_InAir[]; +extern const u32 gBattleAnimBgImage_Aurora[]; +extern const u32 gBattleAnimBgImage_Fissure[]; +extern const u32 gBattleAnimBgPalette_Dark[]; +extern const u32 gBattleAnimBgPalette_Ghost[]; +extern const u32 gBattleAnimBgPalette_Psychic[]; +extern const u32 gBattleAnimBgPalette_Impact[]; +extern const u32 gBattleAnimBgPalette_Drill[]; +extern const u32 gBattleAnimBgPalette_Highspeed[]; +extern const u32 gBattleAnimBgPalette_Thunder[]; +extern const u32 gBattleAnimBgPalette_Guillotine[]; +extern const u32 gBattleAnimBgPalette_Ice[]; +extern const u32 gBattleAnimBgPalette_Cosmic[]; +extern const u32 gBattleAnimBgPalette_InAir[]; +extern const u32 gBattleAnimBgPalette_Sky[]; +extern const u32 gBattleAnimBgPalette_Aurora[]; +extern const u32 gBattleAnimBgPalette_Fissure[]; +extern const u32 gBattleAnimBgPalette_Bug[]; +extern const u32 gBattleAnimBgPalette_Solarbeam[]; +extern const u32 gBattleAnimBgTilemap_Dark[]; +extern const u32 gBattleAnimBgTilemap_Ghost[]; +extern const u32 gBattleAnimBgTilemap_Psychic[]; +extern const u32 gBattleAnimBgTilemap_ImpactOpponent[]; +extern const u32 gBattleAnimBgTilemap_ImpactPlayer[]; +extern const u32 gBattleAnimBgTilemap_ImpactContests[]; +extern const u32 gBattleAnimBgTilemap_Drill[]; +extern const u32 gBattleAnimBgTilemap_DrillContests[]; +extern const u32 gBattleAnimBgTilemap_HighspeedOpponent[]; +extern const u32 gBattleAnimBgTilemap_HighspeedPlayer[]; extern const u32 gUnknown_08C2A634[]; extern const u32 gUnknown_08C2A6D4[]; extern const u32 gUnknown_08C2A6EC[]; -extern const u32 gBattleAnimBackgroundTilemap_11[]; -extern const u32 gBattleAnimBackgroundTilemap_12[]; -extern const u32 gBattleAnimBackgroundTilemap_13[]; -extern const u32 gBattleAnimBackgroundTilemap_14[]; -extern const u32 gBattleAnimBackgroundTilemap_15[]; -extern const u32 gBattleAnimBackgroundTilemap_16[]; -extern const u32 gBattleAnimBackgroundTilemap_17[]; -extern const u32 gBattleAnimBackgroundTilemap_20[]; -extern const u32 gBattleAnimBackgroundTilemap_21[]; +extern const u32 gBattleAnimBgTilemap_Thunder[]; +extern const u32 gBattleAnimBgTilemap_GuillotineOpponent[]; +extern const u32 gBattleAnimBgTilemap_GuillotinePlayer[]; +extern const u32 gBattleAnimBgTilemap_GuillotineContests[]; +extern const u32 gBattleAnimBgTilemap_Ice[]; +extern const u32 gBattleAnimBgTilemap_Cosmic[]; +extern const u32 gBattleAnimBgTilemap_InAir[]; +extern const u32 gBattleAnimBgTilemap_Aurora[]; +extern const u32 gBattleAnimBgTilemap_Fissure[]; extern const u32 gMetalShineGfx[]; extern const u32 gMetalShinePalette[]; @@ -4761,8 +4768,8 @@ extern const u32 gContestAudienceGfx[]; extern const u8 gContestApplauseMeterGfx[]; extern const u8 gContestNextTurnNumbersGfx[]; extern const u8 gContestNextTurnRandomGfx[]; -extern const u32 gUnknown_08C16FA8[]; -extern const u32 gUnknown_08C16E90[]; +extern const u32 gOldContestGfx[]; +extern const u32 gOldContestPalette[]; extern const u32 gUnknown_08C17170[]; extern const u32 gUnknown_08C17980[]; extern const u32 gTiles_8C19450[]; @@ -4777,8 +4784,8 @@ extern const u32 gContest3Pal[]; extern const u32 gUnknown_08D95E00[]; extern const u32 gUnknown_08D960D0[]; extern const u32 gUnknown_08D963A4[]; -extern const u32 gBattleAnimBackgroundImage_Surf[]; -extern const u32 gBattleAnimBackgroundPalette_Surf[]; +extern const u32 gBattleAnimBgImage_Surf[]; +extern const u32 gBattleAnimBgPalette_Surf[]; extern const u32 gBattleAnimBackgroundImageMuddyWater_Pal[]; extern const u32 gBattleAnimFogTilemap[]; diff --git a/include/international_string_util.h b/include/international_string_util.h index 911cd69358..cf3c5f7239 100644 --- a/include/international_string_util.h +++ b/include/international_string_util.h @@ -14,7 +14,7 @@ int GetMaxWidthInMenuTable(const struct MenuAction *str, int arg1); int sub_81DB3D8(const struct MenuAction *str, const u8* arg1, int arg2); int Intl_GetListMenuWidth(const struct ListMenuTemplate *listMenu); void CopyMonCategoryText(int dexNum, u8 *dest); -u8 *sub_81DB494(u8 *str, int fontId, u8 *str2, int totalStringWidth); +u8 *sub_81DB494(u8 *str, int fontId, const u8 *str2, int totalStringWidth); void PadNameString(u8 *dest, u8 padChar); void sub_81DB554(u8 *, u8); void sub_81DB5AC(u8 *); diff --git a/include/link.h b/include/link.h index 62ae7761cb..c140840666 100644 --- a/include/link.h +++ b/include/link.h @@ -235,7 +235,7 @@ void LinkVSync(void); void Timer3Intr(void); void SerialCB(void); bool32 InUnionRoom(void); -void sub_800E0E8(void); +void LoadWirelessStatusIndicatorSpriteGfx(void); bool8 IsLinkTaskFinished(void); void CreateWirelessStatusIndicatorSprite(u8, u8); void sub_800ADF8(void); diff --git a/include/match_call.h b/include/match_call.h index 6803d2f260..52eab63ec0 100644 --- a/include/match_call.h +++ b/include/match_call.h @@ -14,7 +14,10 @@ s32 GetRematchIdxByTrainerIdx(s32 trainerIdx); void InitMatchCallCounters(void); bool32 TryStartMatchCall(void); bool32 IsMatchCallTaskActive(void); -void StartMatchCallFromScript(u8* script); +void StartMatchCallFromScript(u8 *message); void sub_8197080(u8 *destStr); +bool32 SelectMatchCallMessage(int, u8 *); +void sub_8197184(u32 windowId, u32 destOffset, u32 paletteId); +void sub_81971C4(u32 windowId, u32 tileOffset, u32 paletteId); #endif //GUARD_MATCH_CALL_H diff --git a/include/menu.h b/include/menu.h index 4d55fc9552..08cad40bd1 100644 --- a/include/menu.h +++ b/include/menu.h @@ -99,6 +99,7 @@ void sub_8199CBC(u8 bgId, u16 *dest, u8 left, u8 top, u8 width, u8 height); u8 sub_81980F0(u8 bg, u8 xPos, u8 yPos, u8 palette, u16 baseTile); void sub_8198314(void); void sub_8198180(const u8 *string, u8 a2, bool8 copyToVram); +void ResetBgPositions(void); void AddTextPrinterWithCustomSpeedForMessage(bool8 allowSkippingDelayWithButtonPress, u8 speed); void sub_8198C78(void); void PrintTextArray(u8 windowId, u8 fontId, u8 left, u8 top, u8 lineHeight, u8 itemCount, const struct MenuAction *strs); diff --git a/include/menu_helpers.h b/include/menu_helpers.h index 63af4c731c..3b6c13172c 100644 --- a/include/menu_helpers.h +++ b/include/menu_helpers.h @@ -30,7 +30,7 @@ bool8 itemid_80BF6D8_mail_related(u16 itemId); bool8 sub_81221AC(void); bool8 sub_81221EC(void); void sub_812220C(struct ItemSlot *slots, u8 count, u8 *arg2, u8 *usedSlotsCount, u8 maxUsedSlotsCount); -void sub_812225C(u16 *arg0, u16 *arg1, u8 arg2, u8 arg3); +void sub_812225C(u16 *scrollOffset, u16 *cursorPos, u8 maxShownItems, u8 numItems); void sub_8122298(u16 *arg0, u16 *arg1, u8 arg2, u8 arg3, u8 arg4); void LoadListMenuArrowsGfx(void); void sub_8122344(u8 *spriteIds, u8 count); diff --git a/include/menu_specialized.h b/include/menu_specialized.h index 405d788300..014ee25853 100644 --- a/include/menu_specialized.h +++ b/include/menu_specialized.h @@ -32,8 +32,6 @@ u8 sub_81D1DC0(struct PlayerPCItemPageStruct *page); void sub_81D1E90(struct PlayerPCItemPageStruct *page); void sub_81D1EC0(void); void sub_81D1D04(u8 a0); -void DrawLevelUpWindowPg1(u16 arg0, u16 *statStoreLocation1, u16 *statStoreLocation2, u8 arg3, u8 arg4, u8 arg5); -void DrawLevelUpWindowPg2(u16 arg0, u16 *statStoreLocation1, u8 arg2, u8 arg3, u8 arg4); void sub_81D1ED4(struct UnknownStruct_81D1ED4 *a0); void sub_81D2108(struct UnknownStruct_81D1ED4 *arg0); void sub_81D20AC(struct UnknownStruct_81D1ED4 *arg0); @@ -47,7 +45,6 @@ bool16 MoveRelearnerRunTextPrinters(void); void MoveRelearnerCreateYesNoMenu(void); u8 LoadMoveRelearnerMovesList(const struct ListMenuItem *items, u16 numChoices); void InitMoveRelearnerWindows(bool8 useContextWindow); -void GetMonLevelUpWindowStats(struct Pokemon *mon, u16 *statStoreLocation); s32 GetBoxOrPartyMonData(u16 boxId, u16 monId, s32 request, u8 *dst); void sub_81D2ED4(u8 *dst, u8 *nameDst, u16 boxId, u16 monId, u16 arg5, u16 arg6, bool8 arg7); void sub_81D2F78(struct UnknownStruct_81D1ED4 *arg0, u8 *sheen, u16 boxId, u16 monId, u16 arg5, u16 id, u16 arg7, bool8 arg8); @@ -63,5 +60,8 @@ void sub_81D3464(struct Sprite **sprites); void sub_81D3480(struct Sprite **sprites, u8 arg1, u8 arg2); void sub_81D3520(struct Sprite **sprites); void sub_81D354C(struct Sprite **sprites); +void DrawLevelUpWindowPg1(u16 windowId, u16 *statsBefore, u16 *statsAfter, u8 bgClr, u8 fgClr, u8 shadowClr); +void DrawLevelUpWindowPg2(u16 windowId, u16 *currStats, u8 bgClr, u8 fgClr, u8 shadowClr); +void GetMonLevelUpWindowStats(struct Pokemon *mon, u16 *currStats); #endif // GUARD_MENU_SPECIALIZED_H diff --git a/include/metatile_behavior.h b/include/metatile_behavior.h index e18639faf3..7fd1d13018 100644 --- a/include/metatile_behavior.h +++ b/include/metatile_behavior.h @@ -59,8 +59,8 @@ bool8 MetatileBehavior_IsSecretBasePoster(u8); bool8 MetatileBehavior_IsNormal(u8); bool8 MetatileBehavior_IsSecretBaseNorthWall(u8); bool8 MetatileBehavior_IsMB_B2_Duplicate(u8); -bool8 MetatileBehavior_IsSecretBaseLargeMatEdge(u8); -bool8 MetatileBehavior_IsLargeMatCenter(u8); +bool8 MetatileBehavior_HoldsSmallDecoration(u8); +bool8 MetatileBehavior_HoldsLargeDecoration(u8); bool8 MetatileBehavior_IsSecretBaseHole(u8); bool8 MetatileBehavior_IsSecretBaseBalloon(u8); bool8 MetatileBehavior_IsSecretBaseBreakableDoor(u8); diff --git a/include/new_game.h b/include/new_game.h index 8fab054837..9b96ba4781 100644 --- a/include/new_game.h +++ b/include/new_game.h @@ -2,7 +2,9 @@ #define GUARD_NEW_GAME_H extern bool8 gDifferentSaveFile; -extern bool8 gUnknown_020322D5; // The purpose of this variable is unknown as it's read only 3 times(2 times in contest.c and 1 time in berry_blender.c), never written to. +// Shortcuts some randomness in berry_blender.c, and enables debug printing +// in contest.c. +extern bool8 gEnableContestDebugging; void SetTrainerId(u32 trainerId, u8 *dst); u32 GetTrainerId(u8 *trainerId); diff --git a/include/pokemon.h b/include/pokemon.h index 60ccb27f41..c5fea6df78 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -14,7 +14,7 @@ #define MON_DATA_OT_NAME 7 #define MON_DATA_MARKINGS 8 #define MON_DATA_CHECKSUM 9 -#define MON_DATA_10 10 +#define MON_DATA_ENCRYPT_SEPARATOR 10 #define MON_DATA_SPECIES 11 #define MON_DATA_HELD_ITEM 12 #define MON_DATA_MOVE1 13 @@ -487,7 +487,7 @@ u8 GetDefaultMoveTarget(u8 battlerId); u8 GetMonGender(struct Pokemon *mon); u8 GetBoxMonGender(struct BoxPokemon *boxMon); u8 GetGenderFromSpeciesAndPersonality(u16 species, u32 personality); -void SetMultiuseSpriteTemplateToPokemon(u16 species, u8 battlerPosition); +void SetMultiuseSpriteTemplateToPokemon(u16 speciesTag, u8 battlerPosition); void SetMultiuseSpriteTemplateToTrainerBack(u16 trainerSpriteId, u8 battlerPosition); void SetMultiuseSpriteTemplateToTrainerFront(u16 arg0, u8 battlerPosition); @@ -509,7 +509,7 @@ u8 GetMonsStateToDoubles(void); u8 GetMonsStateToDoubles_2(void); u8 GetAbilityBySpecies(u16 species, bool8 altAbility); u8 GetMonAbility(struct Pokemon *mon); -void CreateSecretBaseEnemyParty(struct SecretBaseRecord *secretBaseRecord); +void CreateSecretBaseEnemyParty(struct SecretBase *secretBaseRecord); u8 GetSecretBaseTrainerPicIndex(void); u8 GetSecretBaseTrainerClass(void); bool8 IsPlayerPartyAndPokemonStorageFull(void); diff --git a/include/pokemon_jump.h b/include/pokemon_jump.h index f54e0d4605..9dbf194d06 100644 --- a/include/pokemon_jump.h +++ b/include/pokemon_jump.h @@ -1,7 +1,11 @@ #ifndef GUARD_POKEMON_JUMP_H #define GUARD_POKEMON_JUMP_H +#include "main.h" + void sub_802EB24(u8, u8, u8, u8, u8); bool32 sub_802EB84(void); +void sub_802A9A8(u16 monId, MainCallback callback); +bool32 sub_802C908(u16 species); #endif //GUARD_POKEMON_JUMP_H diff --git a/include/pokemon_summary_screen.h b/include/pokemon_summary_screen.h index 19994b77fd..20d881702a 100755 --- a/include/pokemon_summary_screen.h +++ b/include/pokemon_summary_screen.h @@ -4,7 +4,9 @@ #include "main.h" extern u8 gLastViewedMonIndex; + extern const u8 *const gMoveDescriptionPointers[]; +extern const u8 *const gNatureNamePointers[]; void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)); void sub_81C4F98(u8, void(*)(void)); diff --git a/include/pokenav.h b/include/pokenav.h index 4e1648c934..0d46f04f39 100644 --- a/include/pokenav.h +++ b/include/pokenav.h @@ -1,6 +1,186 @@ #ifndef GUARD_POKENAV_H #define GUARD_POKENAV_H +#include "bg.h" +#include "main.h" + +typedef u32 (*LoopedTask)(int state); + +// Return values of LoopedTask functions. +#define LT_INC_AND_PAUSE 0 +#define LT_INC_AND_CONTINUE 1 +#define LT_PAUSE 2 +#define LT_CONTINUE 3 +#define LT_FINISH 4 +#define LT_SET_STATE(newState) (newState + 5) + +enum +{ + POKENAV_MODE_NORMAL, // Chosen from Start menu. + POKENAV_MODE_FORCE_CALL_1, // Used for the script's special. Has to choose Match Call and make a call. + POKENAV_MODE_FORCE_CALL_2, // Set after making a call, has to exit Pokenav. +}; + +#define POKENAV_MENU_IDS_START 100000 +enum +{ + POKENAV_MENU_0 = POKENAV_MENU_IDS_START, + POKENAV_MENU_1, + POKENAV_MENU_2, + POKENAV_MENU_3, + POKENAV_MENU_4, + POKENAV_MENU_5, + POKENAV_MENU_6, + POKENAV_MENU_7, + POKENAV_MENU_8, + POKENAV_MENU_9, + POKENAV_MENU_A, + POKENAV_MENU_B, + POKENAV_MENU_C, + POKENAV_MENU_D, + POKENAV_MENU_E, +}; + +// pokenav.c +void sub_81C7694(u32); +u16 sub_81C76AC(void); + void CB2_InitPokeNav(void); +u32 CreateLoopedTask(LoopedTask loopedTask, u32 priority); +bool32 FuncIsActiveLoopedTask(LoopedTask func); +void *GetSubstructPtr(u32 index); +void FreePokenavSubstruct(u32 index); +void *AllocSubstruct(u32 index, u32 size); +void Pokenav_AllocAndLoadPalettes(const struct SpritePalette *palettes); +bool32 IsLoopedTaskActive(u32 taskId); +void SetPokenavMode(u16 mode); +u32 GetPokenavMode(void); +bool32 CanViewRibbonsMenu(void); +void SetPokenavVBlankCallback(void); +void SetVBlankCallback_(IntrCallback callback); + +// pokenav_match_call_ui.c +struct MatchCallListTemplate +{ + u32 unk0; + u16 unk4; + u16 unk6; + u8 unk8; + u8 unk9; + u8 unkA; + u8 unkB; + u8 unkC; + u8 unkD; + u8 unkE; + void (*unk10)(u32, u8 *a1); + void (*unk14)(u16 a0, u32 a1, u32 a2); +}; +u32 GetSelectedMatchCall(void); +bool32 sub_81C8224(void); +int MatchCall_MoveCursorUp(void); +int MatchCall_MoveCursorDown(void); +int MatchCall_PageDown(void); +int MatchCall_PageUp(void); +bool32 sub_81C8630(void); +void ToggleMatchCallVerticalArrows(bool32 shouldHide); +void sub_81C8838(void); +void sub_81C877C(void); +bool32 sub_81C8820(void); +void sub_81C87AC(s16 a0); +u32 GetMatchCallListTopIndex(void); +void sub_81C87F0(void); +bool32 sub_81C81D4(const struct BgTemplate *arg0, struct MatchCallListTemplate *arg1, s32 arg2); +void sub_81C8234(void); + +// pokenav_match_call_data.c +bool32 sub_81D17E8(u32 idx); +u8 sub_81D16DC(u32 idx); +bool32 sub_81D1BF8(u32 idx); +bool32 MatchCallFlagGetByIndex(u32 idx); +u32 MatchCall_GetRematchTableIdx(u32 idx); +u32 GetTrainerIdxByRematchIdx(u32 rematchIdx); +int sub_81D1BD0(u32 idx); +void MatchCall_GetMessage(u32 idx, u8 *dest); +const u8 *sub_81D1B40(u32 idx, u32 offset); +void sub_81D1A78(u32 idx, const u8 **desc, const u8 **name); + +// pokenav_main_menu.c +bool32 InitPokenavMainMenu(void); +void CopyPaletteIntoBufferUnfaded(const u16 *palette, u32 bufferOffset, u32 size); +void sub_81C7850(u32 a0); +u32 sub_81C786C(void); +void LoadLeftHeaderGfxForIndex(u32 arg0); +void sub_81C7FA0(u32 arg0, bool32 arg1, bool32 arg2); +void sub_81C7AC0(int a0); +bool32 sub_81C8010(void); +void InitBgTemplates(const struct BgTemplate *templates, int count); +bool32 IsPaletteFadeActive(void); +void sub_81C7BA4(u32 helpBarIndex); +bool32 IsDma3ManagerBusyWithBgCopy_(void); +void sub_81C78A0(void); +bool32 MainMenuLoopedTaskIsBusy(void); +void sub_81C7FDC(void); +void sub_81C79BC(const u16 *a0, const u16 *a1, u32 a2, u32 a3, u32 a4, u16 *a5); +void sub_81C7B40(void); +struct Sprite *PauseSpinningPokenavSprite(void); +void ResumeSpinningPokenavSprite(void); +void sub_81C7E14(u32 arg0); + +// pokenav_unk_1.c +bool32 sub_81C9298(void); +bool32 sub_81C92CC(void); +bool32 sub_81C9304(void); +bool32 sub_81C9338(void); +bool32 sub_81C9368(void); +u32 sub_81C941C(void); +void sub_81C9430(void); +int sub_81C9894(void); +const u8 *sub_81CAF78(int index, u8 *arg1); + +// pokenav_unk_2.c +void sub_81C99D4(void); +void sub_81CAADC(void); + +// pokenav_unk_3.c +struct Pokenav3Struct_Unk1C +{ + u8 unk0; + u8 unk1; + u16 unk2; +}; +bool32 sub_81CAAE8(void); +u32 sub_81CAB24(void); +void sub_81CAB38(void); +int sub_81CAE28(void); +int sub_81CAE38(void); +int sub_81CAE48(void); +struct Pokenav3Struct_Unk1C *sub_81CAE94(void); +u16 sub_81CAEA4(int); +bool32 sub_81CAEBC(int index); +int sub_81CAF04(int index); +const u8 *sub_81CAFD8(int index, int textType); +u16 sub_81CB01C(void); +u16 sub_81CB02C(int arg0); +void sub_81CB050(u32 arg0, u8 *str); +int sub_81CB0C8(int rematchIndex); +int sub_81CB0E4(int index); +bool32 sub_81CAE08(int); +int sub_81CB128(int index); + +// pokenav_unk_4.c +bool32 sub_81CB260(void); +void sub_81CB29C(int index); +u32 sub_81CB2CC(void); +void sub_81CB2E0(void); +void sub_81CBD48(u16 windowId, u32 a1); + +// pokenav_unk_5.c +u32 sub_81CC4D4(void); +void sub_81CC524(void); +u32 sub_81CC554(void); +bool32 sub_81CC5F4(void); +void sub_81CC62C(int); +u32 sub_81CC65C(void); +void sub_81CC670(void); #endif //GUARD_POKENAV_H diff --git a/include/region_map.h b/include/region_map.h index ed1c1a2011..798e6f56d0 100644 --- a/include/region_map.h +++ b/include/region_map.h @@ -90,7 +90,7 @@ struct RegionMapLocation // Exported RAM declarations // Exported ROM declarations -void sub_8122CF8(struct RegionMap *regionMap, struct BgTemplate *template, bool8 zoomed); +void sub_8122CF8(struct RegionMap *regionMap, const struct BgTemplate *template, bool8 zoomed); bool8 sub_8122DB0(void); void UpdateRegionMapVideoRegs(void); void InitRegionMap(struct RegionMap *regionMap, u8 argument); @@ -108,6 +108,10 @@ u16 CorrectSpecialMapSecId(u16 mapSecId); void sub_8122D88(struct RegionMap *regionMap); void PokedexAreaScreen_UpdateRegionMapVariablesAndVideoRegs(s16 x, s16 y); void MCB2_FlyMap(void); +bool8 sub_8124658(void); +void sub_812454C(void); +void sub_8123030(u16 a0, u32 a1); +void sub_8123418(void); extern const struct RegionMapLocation gRegionMapEntries[]; diff --git a/include/secret_base.h b/include/secret_base.h index 17efc314d3..4e323b0c6d 100644 --- a/include/secret_base.h +++ b/include/secret_base.h @@ -1,40 +1,30 @@ #ifndef GUARD_SECRET_BASE_H #define GUARD_SECRET_BASE_H -// Exported type declarations - -// Exported RAM declarations - -// Exported ROM declarations -void sub_80E9578(void); -void sub_80E980C(void); -void sub_80EB18C(struct SecretBaseRecord *dest); -void sub_80E9914(void); +void HideSecretBaseDecorationSprites(void); +void CopyCurSecretBaseOwnerName_StrVar1(void); +void ClearJapaneseSecretBases(struct SecretBase *dest); +void SetPlayerSecretBaseParty(void); u8 *GetSecretBaseMapName(u8 *dest); const u8 *GetSecretBaseTrainerLoseText(void); -void sub_80E8EE0(struct MapEvents const *events); -void sub_80E9238(u8 flagIn); -bool8 CurrentMapIsSecretBase(void); +void SetOccupiedSecretBaseEntranceMetatiles(struct MapEvents const *events); +void InitSecretBaseAppearance(bool8 hidePC); +bool8 CurMapIsSecretBase(void); void SecretBasePerStepCallback(u8 taskId); -bool8 sub_80E9680(void); -void sub_80EB498(void); -void sub_80EB56C(void); -void sub_80EB9E0(void); -void sub_80EBB28(void); +bool8 TrySetCurSecretBase(void); +void SetSecretBaseSecretsTvFlags_Poster(void); +void SetSecretBaseSecretsTvFlags_MiscFurnature(void); +void SetSecretBaseSecretsTvFlags_LargeDecorationSpot(void); +void SetSecretBaseSecretsTvFlags_SmallDecorationSpot(void); void WarpIntoSecretBase(const struct MapPosition *position, const struct MapEvents *events); -bool8 sub_80E909C(void); +bool8 SecretBaseMapPopupEnabled(void); void sub_80EB218(void); -void ResetSecretBases(void); - -// SetCurrentSecretBaseFromPosition -void sub_80E9608(const struct MapPosition *position, const struct MapEvents *events); -// SetCurrentSecretBaseVar -void sub_80E8B6C(void); -void sub_80E8BC8(void); -void sub_80E8D4C(void); +void ClearSecretBases(void); +void SetCurSecretBaseIdFromPosition(const struct MapPosition *position, const struct MapEvents *events); +void TrySetCurSecretBaseIndex(void); +void CheckPlayerHasSecretBase(void); +void ToggleSecretBaseEntranceMetatile(void); void EnableBothScriptContexts(void); void ReceiveSecretBasesData(void *records, size_t recordSize, u8 linkIdx); - - #endif //GUARD_SECRET_BASE_H diff --git a/include/shop.h b/include/shop.h index 1e4ffdb5ca..9a5f8eb14a 100644 --- a/include/shop.h +++ b/include/shop.h @@ -5,9 +5,9 @@ extern EWRAM_DATA struct ItemSlot gMartPurchaseHistory[3]; enum { - MART_TYPE_0, // normal mart - MART_TYPE_1, - MART_TYPE_2, + MART_TYPE_NORMAL, // normal mart + MART_TYPE_DECOR, + MART_TYPE_DECOR2, }; // shop view window NPC info enum @@ -49,4 +49,4 @@ void CreateDecorationShop1Menu(const u16 *); void CreateDecorationShop2Menu(const u16 *); void CB2_ExitSellMenu(void); -#endif // GUARD_SHOP_H +#endif // GUARD_SHOP_H \ No newline at end of file diff --git a/include/strings.h b/include/strings.h index cb54afb135..964c46ef26 100644 --- a/include/strings.h +++ b/include/strings.h @@ -132,7 +132,7 @@ extern const u8 gText_ApostropheSBase[]; extern const u8 gText_NoRegistry[]; extern const u8 gText_OkayToDeleteFromRegistry[]; extern const u8 gText_RegisteredDataDeleted[]; -extern const u8 gUnknown_085EA79D[]; +extern const u8 gText_DelRegist[]; extern const u8 gText_CommErrorEllipsis[]; extern const u8 gText_MoveCloserToLinkPartner[]; extern const u8 gText_CommErrorCheckConnections[]; @@ -471,6 +471,12 @@ extern const u8 gText_EggCantBattle[]; extern const u8 gText_PkmnAlreadySelected[]; extern const u8 gText_PkmnAlreadyInBattle[]; extern const u8 gText_PkmnCantSwitchOut[]; +extern const u8 gUnknown_085EEA46[]; +extern const u8 gUnknown_085EEA4E[]; +extern const u8 gUnknown_085EEA55[]; +extern const u8 gUnknown_085EEA63[]; +extern const u8 gUnknown_085EEA6B[]; +extern const u8 gUnknown_085EEA5D[]; extern const u8 gText_Dash[]; extern const u8 gText_UnkCtrlF904[]; @@ -1002,18 +1008,21 @@ extern const u8 gText_SomeonesPC[]; extern const u8 gText_PlayersPC[]; extern const u8 gText_WhichPCShouldBeAccessed[]; -extern const u8 gText_Navgear_ClearButtonList[]; -extern const u8 gText_NavgearMap_ZoomedOutButtons[]; -extern const u8 gText_NavgearMap_ZoomedInButtons[]; -extern const u8 gText_NavgearCondition_MonListButtons[]; -extern const u8 gText_NavgearCondition_MonStatusButtons[]; -extern const u8 gText_NavgearCondition_MarkingButtons[]; -extern const u8 gText_NavgearMatchCall_TrainerListButtons[]; -extern const u8 gText_NavgearMatchCall_CallMenuButtons[]; -extern const u8 gText_NavgearMatchCall_CheckTrainerButtons[]; -extern const u8 gText_NavgearRibbons_MonListButtons[]; -extern const u8 gText_NavgearRibbons_RibbonListButtons[]; -extern const u8 gText_NavgearRibbons_RibbonCheckButtons[]; +extern const u8 gText_PokenavMatchCall_Strategy[]; +extern const u8 gText_PokenavMatchCall_TrainerPokemon[]; +extern const u8 gText_PokenavMatchCall_SelfIntroduction[]; +extern const u8 gText_Pokenav_ClearButtonList[]; +extern const u8 gText_PokenavMap_ZoomedOutButtons[]; +extern const u8 gText_PokenavMap_ZoomedInButtons[]; +extern const u8 gText_PokenavCondition_MonListButtons[]; +extern const u8 gText_PokenavCondition_MonStatusButtons[]; +extern const u8 gText_PokenavCondition_MarkingButtons[]; +extern const u8 gText_PokenavMatchCall_TrainerListButtons[]; +extern const u8 gText_PokenavMatchCall_CallMenuButtons[]; +extern const u8 gText_PokenavMatchCall_CheckTrainerButtons[]; +extern const u8 gText_PokenavRibbons_MonListButtons[]; +extern const u8 gText_PokenavRibbons_RibbonListButtons[]; +extern const u8 gText_PokenavRibbons_RibbonCheckButtons[]; extern const u8 gUnknown_085EAD37[]; extern const u8 gUnknown_085EAD41[]; @@ -2699,4 +2708,11 @@ extern const u8 gText_Symbols[]; extern const u8 gText_Register2[]; extern const u8 gText_Exit2[]; +// Pokenav Match Call +extern const u8 gText_CallCantBeMadeHere[]; +extern const u8 gText_NumberRegistered[]; +extern const u8 gText_NumberOfBattles[]; +extern const u8 gText_Unknown[]; +extern const u8 gText_TrainerCloseBy[]; + #endif // GUARD_STRINGS_H diff --git a/include/trader.h b/include/trader.h index c07ea81bd9..25d72bd3b4 100644 --- a/include/trader.h +++ b/include/trader.h @@ -6,7 +6,7 @@ #define GUARD_TRADER_H void sub_8133DA0(u8 taskId); -void sub_8133E1C(u8 taskId); +void ExitTraderMenu(u8 taskId); void TraderSetup(void); void Trader_ResetFlag(void); diff --git a/include/union_room.h b/include/union_room.h index 538d37716d..facc63986d 100644 --- a/include/union_room.h +++ b/include/union_room.h @@ -162,7 +162,6 @@ extern u8 gUnknown_02022C3E; // Exported ROM declarations u8 sub_8013F78(void); -bool32 sub_802C908(u16); void nullsub_89(u8 taskId); void var_800D_set_xB(void); void MEvent_CreateTask_CardOrNewsWithFriend(u32 arg0); diff --git a/json_data_rules.mk b/json_data_rules.mk new file mode 100755 index 0000000000..1de3c79f31 --- /dev/null +++ b/json_data_rules.mk @@ -0,0 +1,8 @@ +# JSON files are run through jsonproc, which is a tool that converts JSON data to an output file +# based on an Inja template. https://github.com/pantor/inja + +AUTO_GEN_TARGETS += $(DATA_SRC_SUBDIR)/wild_encounters.h +$(DATA_SRC_SUBDIR)/wild_encounters.h: $(DATA_SRC_SUBDIR)/wild_encounters.json $(DATA_SRC_SUBDIR)/wild_encounters.json.txt + $(JSONPROC) $^ $@ + +$(C_BUILDDIR)/wild_encounter.o: c_dep += $(DATA_SRC_SUBDIR)/wild_encounters.h diff --git a/ld_script.txt b/ld_script.txt index 386bde8b0b..af07090569 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -70,6 +70,7 @@ SECTIONS { src/berry_powder.o(.text); src/dodrio_berry_picking.o(.text); asm/dodrio_berry_picking.o(.text); + src/pokemon_jump.o(.text); asm/pokemon_jump.o(.text); src/rtc.o(.text); src/main_menu.o(.text); @@ -301,8 +302,19 @@ SECTIONS { src/unk_pokedex_area_screen_helper.o(.text); src/battle_pyramid_bag.o(.text); src/pokenav.o(.text); - asm/pokenav.o(.text); - src/pokenav_match_call.o(.text); + src/pokenav_main_menu.o(.text); + src/pokenav_match_call_ui.o(.text); + src/pokenav_unk_1.o(.text); + asm/pokenav_unk_2.o(.text); + src/pokenav_unk_3.o(.text); + src/pokenav_unk_4.o(.text); + src/pokenav_unk_5.o(.text); + asm/pokenav_unk_6.o(.text); + asm/pokenav_unk_7.o(.text); + asm/pokenav_unk_8.o(.text); + asm/pokenav_unk_9.o(.text); + asm/pokenav_unk_10.o(.text); + src/pokenav_match_call_data.o(.text); src/menu_specialized.o(.text); src/ereader_helpers.o(.text); src/faraway_island.o(.text); @@ -424,12 +436,12 @@ SECTIONS { data/berry_powder.o(.rodata); src/dodrio_berry_picking.o(.rodata); data/dodrio_berry_picking.o(.rodata); + src/pokemon_jump.o(.rodata); data/pokemon_jump.o(.rodata); src/rtc.o(.rodata); src/main_menu.o(.rodata); src/rom_8034C54.o(.rodata); - src/data2b.o(.rodata); - src/battle_data.o(.rodata); + src/data.o(.rodata); src/battle_bg.o(.rodata); src/battle_main.o(.rodata); src/battle_util.o(.rodata); @@ -620,10 +632,12 @@ SECTIONS { src/unk_pokedex_area_screen_helper.o(.rodata); src/battle_pyramid_bag.o(.rodata); src/pokenav.o(.rodata); + src/pokenav_main_menu.o(.rodata); + src/pokenav_match_call_ui.o(.rodata); + src/pokenav_unk_1.o(.rodata); data/pokenav.o(.rodata); - src/pokenav_match_call.o(.rodata); + src/pokenav_match_call_data.o(.rodata); src/menu_specialized.o(.rodata); - data/menu_specialized.o(.rodata); data/ereader_helpers.o(.rodata); src/faraway_island.o(.rodata); data/ereader_screen.o(.rodata); diff --git a/porymap.project.cfg b/porymap.project.cfg deleted file mode 100755 index c6ba8781eb..0000000000 --- a/porymap.project.cfg +++ /dev/null @@ -1 +0,0 @@ -base_game_version=pokeemerald diff --git a/src/alloc.c b/src/alloc.c index 2944bc1c6b..4d1a9fe5cb 100644 --- a/src/alloc.c +++ b/src/alloc.c @@ -178,12 +178,12 @@ void InitHeap(void *heapStart, u32 heapSize) void *Alloc(u32 size) { - AllocInternal(sHeapStart, size); + return AllocInternal(sHeapStart, size); } void *AllocZeroed(u32 size) { - AllocZeroedInternal(sHeapStart, size); + return AllocZeroedInternal(sHeapStart, size); } void Free(void *pointer) diff --git a/src/apprentice.c b/src/apprentice.c index 27ff8e36e7..4ad295e1aa 100644 --- a/src/apprentice.c +++ b/src/apprentice.c @@ -2,7 +2,7 @@ #include "apprentice.h" #include "battle.h" #include "battle_tower.h" -#include "data2.h" +#include "data.h" #include "event_data.h" #include "event_object_movement.h" #include "field_player_avatar.h" @@ -2013,28 +2013,27 @@ static void sub_81A1218(void) sub_81AAC28(); } -#ifdef NONMATCHING static void sub_81A1224(void) { - u8 count; u8 i, j; + u8 count; if (PLAYER_APPRENTICE.field_B1_1 < 3) return; - count = 0; - for (j = 0; j < 9 && PLAYER_APPRENTICE.field_B8[j].unk0_0; count++, j++) + for (count = 0, j = 0; j < 9 && PLAYER_APPRENTICE.field_B8[j].unk0_0; count++, j++) ; for (i = 0; i < count && i < PLAYER_APPRENTICE.field_B1_1 - 3; i++) { + do {} while(0); if (PLAYER_APPRENTICE.field_B8[i].unk0_0 == 1 && PLAYER_APPRENTICE.field_B8[i].unk0_3 && PLAYER_APPRENTICE.field_B8[i].unk2 == gSpecialVar_0x8005) { PLAYER_APPRENTICE.field_B8[PLAYER_APPRENTICE.field_B1_1 - 3].unk0_3 = 0; PLAYER_APPRENTICE.field_B8[PLAYER_APPRENTICE.field_B1_1 - 3].unk2 = gSpecialVar_0x8005; - gSpecialVar_Result = i; + gSpecialVar_Result = 0; return; } } @@ -2043,180 +2042,6 @@ static void sub_81A1224(void) PLAYER_APPRENTICE.field_B8[PLAYER_APPRENTICE.field_B1_1 - 3].unk2 = gSpecialVar_0x8005; gSpecialVar_Result = 1; } -#else -NAKED -static void sub_81A1224(void) -{ - asm_unified("\n\ - push {r4-r7,lr}\n\ - mov r7, r9\n\ - mov r6, r8\n\ - push {r6,r7}\n\ - ldr r1, =gSaveBlock2Ptr\n\ - ldr r3, [r1]\n\ - adds r0, r3, 0\n\ - adds r0, 0xB1\n\ - ldrb r0, [r0]\n\ - lsls r0, 26\n\ - lsrs r0, 28\n\ - adds r7, r1, 0\n\ - cmp r0, 0x2\n\ - bhi _081A1242\n\ - b _081A1362\n\ -_081A1242:\n\ - movs r5, 0\n\ - movs r2, 0\n\ - adds r0, r3, 0\n\ - adds r0, 0xB8\n\ - ldrb r0, [r0]\n\ - lsls r0, 30\n\ - ldr r1, =gSpecialVar_0x8005\n\ - mov r12, r1\n\ - ldr r1, =gSpecialVar_Result\n\ - mov r8, r1\n\ - cmp r0, 0\n\ - beq _081A127C\n\ - adds r3, r7, 0\n\ -_081A125C:\n\ - adds r0, r5, 0x1\n\ - lsls r0, 24\n\ - lsrs r5, r0, 24\n\ - adds r0, r2, 0x1\n\ - lsls r0, 24\n\ - lsrs r2, r0, 24\n\ - cmp r2, 0x8\n\ - bhi _081A127C\n\ - ldr r0, [r3]\n\ - lsls r1, r2, 2\n\ - adds r0, r1\n\ - adds r0, 0xB8\n\ - ldrb r0, [r0]\n\ - lsls r0, 30\n\ - cmp r0, 0\n\ - bne _081A125C\n\ -_081A127C:\n\ - movs r4, 0\n\ - cmp r4, r5\n\ - bcs _081A1322\n\ - ldr r0, [r7]\n\ - adds r0, 0xB1\n\ - ldrb r0, [r0]\n\ - lsls r0, 26\n\ - lsrs r0, 28\n\ - subs r0, 0x3\n\ - cmp r4, r0\n\ - bge _081A1322\n\ - adds r6, r7, 0\n\ - mov r9, r4\n\ -_081A1296:\n\ - ldr r3, [r6]\n\ - lsls r0, r4, 2\n\ - adds r2, r3, r0\n\ - adds r0, r2, 0\n\ - adds r0, 0xB8\n\ - ldrb r1, [r0]\n\ - lsls r0, r1, 30\n\ - lsrs r0, 30\n\ - cmp r0, 0x1\n\ - bne _081A1308\n\ - lsrs r0, r1, 6\n\ - cmp r0, 0\n\ - beq _081A1308\n\ - adds r0, r2, 0\n\ - adds r0, 0xBA\n\ - ldrh r0, [r0]\n\ - mov r2, r12\n\ - ldrh r2, [r2]\n\ - cmp r0, r2\n\ - bne _081A1308\n\ - adds r0, r3, 0\n\ - adds r0, 0xB1\n\ - ldrb r0, [r0]\n\ - lsls r0, 26\n\ - lsrs r0, 28\n\ - subs r0, 0x3\n\ - lsls r0, 2\n\ - adds r0, r3, r0\n\ - adds r0, 0xB8\n\ - ldrb r2, [r0]\n\ - movs r1, 0x3F\n\ - ands r1, r2\n\ - strb r1, [r0]\n\ - ldr r1, [r6]\n\ - adds r0, r1, 0\n\ - adds r0, 0xB1\n\ - ldrb r0, [r0]\n\ - lsls r0, 26\n\ - lsrs r0, 28\n\ - subs r0, 0x3\n\ - lsls r0, 2\n\ - adds r1, r0\n\ - mov r2, r12\n\ - ldrh r0, [r2]\n\ - adds r1, 0xBA\n\ - strh r0, [r1]\n\ - mov r1, r9\n\ - mov r0, r8\n\ - strh r1, [r0]\n\ - b _081A1362\n\ - .pool\n\ -_081A1308:\n\ - adds r0, r4, 0x1\n\ - lsls r0, 24\n\ - lsrs r4, r0, 24\n\ - cmp r4, r5\n\ - bcs _081A1322\n\ - ldr r0, [r6]\n\ - adds r0, 0xB1\n\ - ldrb r0, [r0]\n\ - lsls r0, 26\n\ - lsrs r0, 28\n\ - subs r0, 0x3\n\ - cmp r4, r0\n\ - blt _081A1296\n\ -_081A1322:\n\ - ldr r2, [r7]\n\ - adds r0, r2, 0\n\ - adds r0, 0xB1\n\ - ldrb r0, [r0]\n\ - lsls r0, 26\n\ - lsrs r0, 28\n\ - subs r0, 0x3\n\ - lsls r0, 2\n\ - adds r2, r0\n\ - adds r2, 0xB8\n\ - ldrb r1, [r2]\n\ - movs r0, 0x3F\n\ - ands r0, r1\n\ - movs r1, 0x40\n\ - orrs r0, r1\n\ - strb r0, [r2]\n\ - ldr r1, [r7]\n\ - adds r0, r1, 0\n\ - adds r0, 0xB1\n\ - ldrb r0, [r0]\n\ - lsls r0, 26\n\ - lsrs r0, 28\n\ - subs r0, 0x3\n\ - lsls r0, 2\n\ - adds r1, r0\n\ - mov r2, r12\n\ - ldrh r0, [r2]\n\ - adds r1, 0xBA\n\ - strh r0, [r1]\n\ - movs r0, 0x1\n\ - mov r1, r8\n\ - strh r0, [r1]\n\ -_081A1362:\n\ - pop {r3,r4}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ -"); -} -#endif // NONMATCHING static void sub_81A1370(void) { diff --git a/src/battle_ai_script_commands.c b/src/battle_ai_script_commands.c index 61876e0de3..5e832aba01 100644 --- a/src/battle_ai_script_commands.c +++ b/src/battle_ai_script_commands.c @@ -4,6 +4,7 @@ #include "battle_ai_script_commands.h" #include "battle_factory.h" #include "battle_setup.h" +#include "data.h" #include "item.h" #include "pokemon.h" #include "random.h" @@ -2217,7 +2218,7 @@ static void BattleAICmd_if_flash_fired(void) { u8 battlerId = BattleAI_GetWantedBattler(gAIScriptPtr[1]); - if (gBattleResources->flags->flags[battlerId] & UNKNOWN_FLAG_FLASH_FIRE) + if (gBattleResources->flags->flags[battlerId] & RESOURCE_FLAG_FLASH_FIRE) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 2d67fda991..de798eee3b 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -6,6 +6,7 @@ #include "random.h" #include "util.h" #include "constants/abilities.h" +#include "constants/item_effects.h" #include "constants/items.h" #include "constants/moves.h" #include "constants/species.h" @@ -778,18 +779,17 @@ u8 GetMostSuitableMonToSwitchInto(void) return bestMonId; } -// TODO: use PokemonItemEffect struct instead of u8 once it's documented. static u8 GetAI_ItemType(u8 itemId, const u8 *itemEffect) // NOTE: should take u16 as item Id argument { if (itemId == ITEM_FULL_RESTORE) return AI_ITEM_FULL_RESTORE; - else if (itemEffect[4] & 4) + else if (itemEffect[4] & ITEM4_HEAL_HP) return AI_ITEM_HEAL_HP; - else if (itemEffect[3] & 0x3F) + else if (itemEffect[3] & ITEM3_STATUS_ALL) return AI_ITEM_CURE_CONDITION; - else if (itemEffect[0] & 0x3F || itemEffect[1] != 0 || itemEffect[2] != 0) + else if (itemEffect[0] & (ITEM0_HIGH_CRIT | ITEM0_X_ATTACK) || itemEffect[1] != 0 || itemEffect[2] != 0) return AI_ITEM_X_STAT; - else if (itemEffect[3] & 0x80) + else if (itemEffect[3] & ITEM3_MIST) return AI_ITEM_GUARD_SPECS; else return AI_ITEM_NOT_RECOGNIZABLE; @@ -832,13 +832,13 @@ static bool8 ShouldUseItem(void) item = gBattleResources->battleHistory->trainerItems[i]; if (item == ITEM_NONE) continue; - if (gItemEffectTable[item - 13] == NULL) + if (gItemEffectTable[item - ITEM_POTION] == NULL) continue; if (item == ITEM_ENIGMA_BERRY) itemEffects = gSaveBlock1Ptr->enigmaBerry.itemEffect; else - itemEffects = gItemEffectTable[item - 13]; + itemEffects = gItemEffectTable[item - ITEM_POTION]; *(gBattleStruct->AI_itemType + gActiveBattler / 2) = GetAI_ItemType(item, itemEffects); @@ -862,32 +862,32 @@ static bool8 ShouldUseItem(void) break; case AI_ITEM_CURE_CONDITION: *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) = 0; - if (itemEffects[3] & 0x20 && gBattleMons[gActiveBattler].status1 & STATUS1_SLEEP) + if (itemEffects[3] & ITEM3_SLEEP && gBattleMons[gActiveBattler].status1 & STATUS1_SLEEP) { *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x20; shouldUse = TRUE; } - if (itemEffects[3] & 0x10 && (gBattleMons[gActiveBattler].status1 & STATUS1_POISON || gBattleMons[gActiveBattler].status1 & STATUS1_TOXIC_POISON)) + if (itemEffects[3] & ITEM3_POISON && (gBattleMons[gActiveBattler].status1 & STATUS1_POISON || gBattleMons[gActiveBattler].status1 & STATUS1_TOXIC_POISON)) { *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x10; shouldUse = TRUE; } - if (itemEffects[3] & 0x8 && gBattleMons[gActiveBattler].status1 & STATUS1_BURN) + if (itemEffects[3] & ITEM3_BURN && gBattleMons[gActiveBattler].status1 & STATUS1_BURN) { *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x8; shouldUse = TRUE; } - if (itemEffects[3] & 0x4 && gBattleMons[gActiveBattler].status1 & STATUS1_FREEZE) + if (itemEffects[3] & ITEM3_FREEZE && gBattleMons[gActiveBattler].status1 & STATUS1_FREEZE) { *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x4; shouldUse = TRUE; } - if (itemEffects[3] & 0x2 && gBattleMons[gActiveBattler].status1 & STATUS1_PARALYSIS) + if (itemEffects[3] & ITEM3_PARALYSIS && gBattleMons[gActiveBattler].status1 & STATUS1_PARALYSIS) { *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x2; shouldUse = TRUE; } - if (itemEffects[3] & 0x1 && gBattleMons[gActiveBattler].status2 & STATUS2_CONFUSION) + if (itemEffects[3] & ITEM3_CONFUSION && gBattleMons[gActiveBattler].status2 & STATUS2_CONFUSION) { *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x1; shouldUse = TRUE; @@ -897,17 +897,17 @@ static bool8 ShouldUseItem(void) *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) = 0; if (gDisableStructs[gActiveBattler].isFirstTurn == 0) break; - if (itemEffects[0] & 0xF) + if (itemEffects[0] & ITEM0_X_ATTACK) *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x1; - if (itemEffects[1] & 0xF0) + if (itemEffects[1] & ITEM1_X_DEFEND) *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x2; - if (itemEffects[1] & 0xF) + if (itemEffects[1] & ITEM1_X_SPEED) *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x4; - if (itemEffects[2] & 0xF) + if (itemEffects[2] & ITEM2_X_SPATK) *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x8; - if (itemEffects[2] & 0xF0) + if (itemEffects[2] & ITEM2_X_ACCURACY) *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x20; - if (itemEffects[0] & 0x30) + if (itemEffects[0] & ITEM0_HIGH_CRIT) *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x80; shouldUse = TRUE; break; diff --git a/src/battle_anim.c b/src/battle_anim.c index 88de3ee881..3cac9f33e5 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -26,7 +26,6 @@ extern struct MusicPlayerInfo gMPlayInfo_SE2; extern const u16 gMovesWithQuietBGM[]; extern const u8 *const gBattleAnims_Moves[]; -extern const struct BattleAnimBackground gBattleAnimBackgroundTable[]; // this file's functions static void ScriptCmd_loadspritegfx(void); @@ -1126,620 +1125,619 @@ const struct OamData gUnknown_08524B3C = const struct CompressedSpriteSheet gBattleAnimPicTable[] = { - {gBattleAnimSpriteSheet_000, 0x0200, ANIM_TAG_BONE}, - {gBattleAnimSpriteSheet_001, 0x0300, ANIM_TAG_SPARK}, - {gBattleAnimSpriteSheet_002, 0x0200, ANIM_TAG_PENCIL}, - {gBattleAnimSpriteSheet_003, 0x0100, ANIM_TAG_AIR_WAVE}, - {gBattleAnimSpriteSheet_004, 0x0200, ANIM_TAG_UNUSED_ORB}, - {gBattleAnimSpriteSheet_005, 0x0400, ANIM_TAG_SWORD}, - {gBattleAnimSpriteSheet_006, 0x0180, ANIM_TAG_SEED}, - {gBattleAnimSpriteSheet_007, 0x0800, ANIM_TAG_UNUSED_EXPLOSION}, - {gBattleAnimSpriteSheet_008, 0x0020, ANIM_TAG_UNUSED_PINK_ORB}, - {gBattleAnimSpriteSheet_009, 0x0400, ANIM_TAG_GUST}, - {gBattleAnimSpriteSheet_010, 0x1200, ANIM_TAG_ICE_CUBE}, - {gBattleAnimSpriteSheet_011, 0x0180, ANIM_TAG_SPARK_2}, - {gBattleAnimSpriteSheet_012, 0x0080, ANIM_TAG_UNUSED_ORANGE}, - {gBattleAnimSpriteSheet_013, 0x0080, ANIM_TAG_YELLOW_BALL}, - {gBattleAnimSpriteSheet_014, 0x0280, ANIM_TAG_LOCK_ON}, - {gBattleAnimSpriteSheet_015, 0x0080, ANIM_TAG_TIED_BAG}, - {gBattleAnimSpriteSheet_016, 0x0100, ANIM_TAG_BLACK_SMOKE}, - {gBattleAnimSpriteSheet_017, 0x0020, ANIM_TAG_BLACK_BALL}, - {gBattleAnimSpriteSheet_018, 0x0080, ANIM_TAG_CONVERSION}, - {gBattleAnimSpriteSheet_019, 0x0400, ANIM_TAG_UNUSED_GLASS}, - {gBattleAnimSpriteSheet_020, 0x0200, ANIM_TAG_HORN_HIT}, - {gBattleAnimSpriteSheet_021, 0x0A00, ANIM_TAG_UNUSED_HIT}, - {gBattleAnimSpriteSheet_021, 0x0A00, ANIM_TAG_UNUSED_HIT_2}, - {gBattleAnimSpriteSheet_023, 0x0380, ANIM_TAG_UNUSED_BLUE_SHARDS}, - {gBattleAnimSpriteSheet_024, 0x0300, ANIM_TAG_UNUSED_CLOSING_EYE}, - {gBattleAnimSpriteSheet_025, 0x0A00, ANIM_TAG_UNUSED_WAVING_HAND}, - {gBattleAnimSpriteSheet_026, 0x0A00, ANIM_TAG_UNUSED_HIT_DUPLICATE}, - {gBattleAnimSpriteSheet_027, 0x0A00, ANIM_TAG_LEER}, - {gBattleAnimSpriteSheet_028, 0x0A00, ANIM_TAG_UNUSED_BLUE_BURST}, - {gBattleAnimSpriteSheet_029, 0x0A00, ANIM_TAG_SMALL_EMBER}, - {gBattleAnimSpriteSheet_030, 0x0A00, ANIM_TAG_GRAY_SMOKE}, - {gBattleAnimSpriteSheet_031, 0x0E00, ANIM_TAG_BLUE_STAR}, - {gBattleAnimSpriteSheet_032, 0x0380, ANIM_TAG_UNUSED_BUBBLE_BURST}, - {gBattleAnimSpriteSheet_033, 0x1000, ANIM_TAG_FIRE}, - {gBattleAnimSpriteSheet_034, 0x0800, ANIM_TAG_UNUSED_SPINNING_FIRE}, - {gBattleAnimSpriteSheet_035, 0x0A00, ANIM_TAG_FIRE_PLUME}, - {gBattleAnimSpriteSheet_036, 0x0800, ANIM_TAG_UNUSED_LIGHTNING}, - {gBattleAnimSpriteSheet_037, 0x0A00, ANIM_TAG_LIGHTNING}, - {gBattleAnimSpriteSheet_038, 0x0A00, ANIM_TAG_UNUSED_CLAW_SLASH}, - {gBattleAnimSpriteSheet_039, 0x0A00, ANIM_TAG_CLAW_SLASH}, - {gBattleAnimSpriteSheet_040, 0x0A00, ANIM_TAG_UNUSED_SCRATCH}, - {gBattleAnimSpriteSheet_041, 0x0A00, ANIM_TAG_UNUSED_SCRATCH_2}, - {gBattleAnimSpriteSheet_042, 0x0A00, ANIM_TAG_UNUSED_BUBBLE_BURST_2}, - {gBattleAnimSpriteSheet_043, 0x0A00, ANIM_TAG_ICE_CHUNK}, - {gBattleAnimSpriteSheet_044, 0x0A00, ANIM_TAG_UNUSED_GLASS_2}, - {gBattleAnimSpriteSheet_045, 0x0A00, ANIM_TAG_UNUSED_PINK_HEART}, - {gBattleAnimSpriteSheet_046, 0x1000, ANIM_TAG_UNUSED_SAP_DRIP}, - {gBattleAnimSpriteSheet_046, 0x1000, ANIM_TAG_UNUSED_SAP_DRIP_2}, - {gBattleAnimSpriteSheet_048, 0x1000, ANIM_TAG_SPARKLE_1}, - {gBattleAnimSpriteSheet_048, 0x1000, ANIM_TAG_SPARKLE_2}, - {gBattleAnimSpriteSheet_050, 0x0200, ANIM_TAG_HUMANOID_FOOT}, - {gBattleAnimSpriteSheet_051, 0x0200, ANIM_TAG_UNUSED_MONSTER_FOOT}, - {gBattleAnimSpriteSheet_052, 0x0200, ANIM_TAG_UNUSED_HUMANOID_HAND}, - {gBattleAnimSpriteSheet_053, 0x0800, ANIM_TAG_NOISE_LINE}, - {gBattleAnimSpriteSheet_054, 0x0080, ANIM_TAG_UNUSED_YELLOW_UNK}, - {gBattleAnimSpriteSheet_055, 0x0200, ANIM_TAG_UNUSED_RED_FIST}, - {gBattleAnimSpriteSheet_056, 0x1000, ANIM_TAG_SLAM_HIT}, - {gBattleAnimSpriteSheet_057, 0x0180, ANIM_TAG_UNUSED_RING}, - {gBattleAnimSpriteSheet_058, 0x0C00, ANIM_TAG_ROCKS}, - {gBattleAnimSpriteSheet_059, 0x0100, ANIM_TAG_UNUSED_Z}, - {gBattleAnimSpriteSheet_060, 0x0040, ANIM_TAG_UNUSED_YELLOW_UNK_2}, - {gBattleAnimSpriteSheet_061, 0x0180, ANIM_TAG_UNUSED_AIR_SLASH}, - {gBattleAnimSpriteSheet_062, 0x0800, ANIM_TAG_UNUSED_SPINNING_GREEN_ORBS}, - {gBattleAnimSpriteSheet_063, 0x0480, ANIM_TAG_LEAF}, - {gBattleAnimSpriteSheet_064, 0x0200, ANIM_TAG_FINGER}, - {gBattleAnimSpriteSheet_065, 0x0200, ANIM_TAG_POISON_POWDER}, - {gBattleAnimSpriteSheet_066, 0x0100, ANIM_TAG_UNUSED_BROWN_TRIANGLE}, - {gBattleAnimSpriteSheet_065, 0x0200, ANIM_TAG_SLEEP_POWDER}, - {gBattleAnimSpriteSheet_065, 0x0200, ANIM_TAG_STUN_SPORE}, - {gBattleAnimSpriteSheet_065, 0x0200, ANIM_TAG_UNUSED_POWDER}, - {gBattleAnimSpriteSheet_070, 0x0200, ANIM_TAG_SPARKLE_3}, - {gBattleAnimSpriteSheet_071, 0x0A00, ANIM_TAG_SPARKLE_4}, - {gBattleAnimSpriteSheet_072, 0x0300, ANIM_TAG_MUSIC_NOTES}, - {gBattleAnimSpriteSheet_073, 0x0180, ANIM_TAG_DUCK}, - {gBattleAnimSpriteSheet_074, 0x00A0, ANIM_TAG_MUD_SAND}, - {gBattleAnimSpriteSheet_075, 0x0700, ANIM_TAG_ALERT}, - {gBattleAnimSpriteSheet_076, 0x0400, ANIM_TAG_UNUSED_BLUE_FLAMES}, - {gBattleAnimSpriteSheet_077, 0x0200, ANIM_TAG_UNUSED_BLUE_FLAMES_2}, - {gBattleAnimSpriteSheet_078, 0x0300, ANIM_TAG_UNUSED_SHOCK}, - {gBattleAnimSpriteSheet_079, 0x0C00, ANIM_TAG_SHOCK}, - {gBattleAnimSpriteSheet_080, 0x0A00, ANIM_TAG_UNUSED_BELL}, - {gBattleAnimSpriteSheet_081, 0x0080, ANIM_TAG_UNUSED_PINK_GLOVE}, - {gBattleAnimSpriteSheet_082, 0x0040, ANIM_TAG_UNUSED_BLUE_LINES}, - {gBattleAnimSpriteSheet_083, 0x0E00, ANIM_TAG_UNUSED_IMPACT}, - {gBattleAnimSpriteSheet_084, 0x0E00, ANIM_TAG_UNUSED_IMPACT_2}, - {gBattleAnimSpriteSheet_085, 0x0280, ANIM_TAG_UNUSED_RETICLE}, - {gBattleAnimSpriteSheet_086, 0x0200, ANIM_TAG_BREATH}, - {gBattleAnimSpriteSheet_087, 0x0080, ANIM_TAG_ANGER}, - {gBattleAnimSpriteSheet_088, 0x00C0, ANIM_TAG_UNUSED_SNOWBALL}, - {gBattleAnimSpriteSheet_089, 0x0A00, ANIM_TAG_UNUSED_VINE}, - {gBattleAnimSpriteSheet_090, 0x0200, ANIM_TAG_UNUSED_SWORD}, - {gBattleAnimSpriteSheet_091, 0x0180, ANIM_TAG_UNUSED_CLAPPING}, - {gBattleAnimSpriteSheet_092, 0x0080, ANIM_TAG_UNUSED_RED_TUBE}, - {gBattleAnimSpriteSheet_093, 0x1000, ANIM_TAG_AMNESIA}, - {gBattleAnimSpriteSheet_094, 0x0A00, ANIM_TAG_UNUSED_STRING}, - {gBattleAnimSpriteSheet_095, 0x0180, ANIM_TAG_UNUSED_PENCIL}, - {gBattleAnimSpriteSheet_096, 0x0380, ANIM_TAG_UNUSED_PETAL}, - {gBattleAnimSpriteSheet_097, 0x0C00, ANIM_TAG_BENT_SPOON}, - {gBattleAnimSpriteSheet_098, 0x0200, ANIM_TAG_UNUSED_WEB}, - {gBattleAnimSpriteSheet_099, 0x0200, ANIM_TAG_MILK_BOTTLE}, - {gBattleAnimSpriteSheet_100, 0x0200, ANIM_TAG_COIN}, - {gBattleAnimSpriteSheet_101, 0x0200, ANIM_TAG_UNUSED_CRACKED_EGG}, - {gBattleAnimSpriteSheet_102, 0x0400, ANIM_TAG_UNUSED_HATCHED_EGG}, - {gBattleAnimSpriteSheet_103, 0x0080, ANIM_TAG_UNUSED_FRESH_EGG}, - {gBattleAnimSpriteSheet_104, 0x0400, ANIM_TAG_UNUSED_FANGS}, - {gBattleAnimSpriteSheet_105, 0x0c00, ANIM_TAG_UNUSED_EXPLOSION_2}, - {gBattleAnimSpriteSheet_106, 0x0200, ANIM_TAG_UNUSED_EXPLOSION_3}, - {gBattleAnimSpriteSheet_107, 0x1000, ANIM_TAG_UNUSED_WATER_DROPLET}, - {gBattleAnimSpriteSheet_108, 0x0a00, ANIM_TAG_UNUSED_WATER_DROPLET_2}, - {gBattleAnimSpriteSheet_109, 0x0020, ANIM_TAG_UNUSED_SEED}, - {gBattleAnimSpriteSheet_110, 0x0e00, ANIM_TAG_UNUSED_SPROUT}, - {gBattleAnimSpriteSheet_111, 0x0080, ANIM_TAG_UNUSED_RED_WAND}, - {gBattleAnimSpriteSheet_112, 0x0a00, ANIM_TAG_UNUSED_PURPLE_GREEN_UNK}, - {gBattleAnimSpriteSheet_113, 0x0400, ANIM_TAG_UNUSED_WATER_COLUMN}, - {gBattleAnimSpriteSheet_114, 0x0200, ANIM_TAG_UNUSED_MUD_UNK}, - {gBattleAnimSpriteSheet_115, 0x0700, ANIM_TAG_RAIN_DROPS}, - {gBattleAnimSpriteSheet_116, 0x0800, ANIM_TAG_UNUSED_FURY_SWIPES}, - {gBattleAnimSpriteSheet_117, 0x0a00, ANIM_TAG_UNUSED_VINE_2}, - {gBattleAnimSpriteSheet_118, 0x0600, ANIM_TAG_UNUSED_TEETH}, - {gBattleAnimSpriteSheet_119, 0x0800, ANIM_TAG_UNUSED_BONE}, - {gBattleAnimSpriteSheet_120, 0x0200, ANIM_TAG_UNUSED_WHITE_BAG}, - {gBattleAnimSpriteSheet_121, 0x0040, ANIM_TAG_UNUSED_UNKNOWN}, - {gBattleAnimSpriteSheet_122, 0x0180, ANIM_TAG_UNUSED_PURPLE_CORAL}, - {gBattleAnimSpriteSheet_123, 0x0600, ANIM_TAG_UNUSED_PURPLE_DROPLET}, - {gBattleAnimSpriteSheet_124, 0x0600, ANIM_TAG_UNUSED_SHOCK_2}, - {gBattleAnimSpriteSheet_125, 0x0200, ANIM_TAG_UNUSED_CLOSING_EYE_2}, - {gBattleAnimSpriteSheet_126, 0x0080, ANIM_TAG_UNUSED_METAL_BALL}, - {gBattleAnimSpriteSheet_127, 0x0200, ANIM_TAG_UNUSED_MONSTER_DOLL}, - {gBattleAnimSpriteSheet_128, 0x0800, ANIM_TAG_UNUSED_WHIRLWIND}, - {gBattleAnimSpriteSheet_129, 0x0080, ANIM_TAG_UNUSED_WHIRLWIND_2}, - {gBattleAnimSpriteSheet_130, 0x0a00, ANIM_TAG_UNUSED_EXPLOSION_4}, - {gBattleAnimSpriteSheet_131, 0x0280, ANIM_TAG_UNUSED_EXPLOSION_5}, - {gBattleAnimSpriteSheet_132, 0x0280, ANIM_TAG_UNUSED_TONGUE}, - {gBattleAnimSpriteSheet_133, 0x0100, ANIM_TAG_UNUSED_SMOKE}, - {gBattleAnimSpriteSheet_134, 0x0200, ANIM_TAG_UNUSED_SMOKE_2}, - {gBattleAnimSpriteSheet_135, 0x0200, ANIM_TAG_IMPACT}, - {gBattleAnimSpriteSheet_136, 0x0020, ANIM_TAG_CIRCLE_IMPACT}, - {gBattleAnimSpriteSheet_137, 0x0a00, ANIM_TAG_SCRATCH}, - {gBattleAnimSpriteSheet_138, 0x0800, ANIM_TAG_CUT}, - {gBattleAnimSpriteSheet_139, 0x0800, ANIM_TAG_SHARP_TEETH}, - {gBattleAnimSpriteSheet_140, 0x00c0, ANIM_TAG_RAINBOW_RINGS}, - {gBattleAnimSpriteSheet_141, 0x01c0, ANIM_TAG_ICE_CRYSTALS}, - {gBattleAnimSpriteSheet_142, 0x0100, ANIM_TAG_ICE_SPIKES}, - {gBattleAnimSpriteSheet_143, 0x0800, ANIM_TAG_HANDS_AND_FEET}, - {gBattleAnimSpriteSheet_144, 0x0200, ANIM_TAG_MIST_CLOUD}, - {gBattleAnimSpriteSheet_145, 0x0800, ANIM_TAG_CLAMP}, - {gBattleAnimSpriteSheet_146, 0x0180, ANIM_TAG_BUBBLE}, - {gBattleAnimSpriteSheet_147, 0x0180, ANIM_TAG_ORBS}, - {gBattleAnimSpriteSheet_148, 0x0200, ANIM_TAG_WATER_IMPACT}, - {gBattleAnimSpriteSheet_149, 0x0200, ANIM_TAG_WATER_ORB}, - {gBattleAnimSpriteSheet_150, 0x0180, ANIM_TAG_POISON_BUBBLE}, - {gBattleAnimSpriteSheet_151, 0x0400, ANIM_TAG_TOXIC_BUBBLE}, - {gBattleAnimSpriteSheet_152, 0x0080, ANIM_TAG_SPIKES}, - {gBattleAnimSpriteSheet_153, 0x0100, ANIM_TAG_HORN_HIT_2}, - {gBattleAnimSpriteSheet_154, 0x0100, ANIM_TAG_AIR_WAVE_2}, - {gBattleAnimSpriteSheet_155, 0x0140, ANIM_TAG_SMALL_BUBBLES}, - {gBattleAnimSpriteSheet_156, 0x0800, ANIM_TAG_ROUND_SHADOW}, - {gBattleAnimSpriteSheet_157, 0x0200, ANIM_TAG_SUNLIGHT}, - {gBattleAnimSpriteSheet_158, 0x0100, ANIM_TAG_SPORE}, - {gBattleAnimSpriteSheet_159, 0x00a0, ANIM_TAG_FLOWER}, - {gBattleAnimSpriteSheet_160, 0x0100, ANIM_TAG_RAZOR_LEAF}, - {gBattleAnimSpriteSheet_161, 0x0080, ANIM_TAG_NEEDLE}, - {gBattleAnimSpriteSheet_162, 0x0300, ANIM_TAG_WHIRLWIND_LINES}, - {gBattleAnimSpriteSheet_163, 0x0100, ANIM_TAG_GOLD_RING}, - {gBattleAnimSpriteSheet_163, 0x0100, ANIM_TAG_PURPLE_RING}, - {gBattleAnimSpriteSheet_163, 0x0100, ANIM_TAG_BLUE_RING}, - {gBattleAnimSpriteSheet_166, 0x0800, ANIM_TAG_GREEN_LIGHT_WALL}, - {gBattleAnimSpriteSheet_166, 0x0800, ANIM_TAG_BLUE_LIGHT_WALL}, - {gBattleAnimSpriteSheet_166, 0x0800, ANIM_TAG_RED_LIGHT_WALL}, - {gBattleAnimSpriteSheet_166, 0x0800, ANIM_TAG_GRAY_LIGHT_WALL}, - {gBattleAnimSpriteSheet_166, 0x0800, ANIM_TAG_ORANGE_LIGHT_WALL}, - {gBattleAnimSpriteSheet_171, 0x0080, ANIM_TAG_BLACK_BALL_2}, - {gBattleAnimSpriteSheet_144, 0x0200, ANIM_TAG_PURPLE_GAS_CLOUD}, - {gBattleAnimSpriteSheet_173, 0x0200, ANIM_TAG_SPARK_H}, - {gBattleAnimSpriteSheet_174, 0x0200, ANIM_TAG_YELLOW_STAR}, - {gBattleAnimSpriteSheet_175, 0x0080, ANIM_TAG_LARGE_FRESH_EGG}, - {gBattleAnimSpriteSheet_176, 0x0200, ANIM_TAG_SHADOW_BALL}, - {gBattleAnimSpriteSheet_177, 0x0500, ANIM_TAG_LICK}, - {gBattleAnimSpriteSheet_178, 0x0800, ANIM_TAG_UNUSED_VOID_LINES}, - {gBattleAnimSpriteSheet_179, 0x0400, ANIM_TAG_STRING}, - {gBattleAnimSpriteSheet_180, 0x0020, ANIM_TAG_WEB_THREAD}, - {gBattleAnimSpriteSheet_181, 0x0800, ANIM_TAG_SPIDER_WEB}, - {gBattleAnimSpriteSheet_182, 0x0100, ANIM_TAG_UNUSED_LIGHTBULB}, - {gBattleAnimSpriteSheet_183, 0x0800, ANIM_TAG_SLASH}, - {gBattleAnimSpriteSheet_184, 0x0400, ANIM_TAG_FOCUS_ENERGY}, - {gBattleAnimSpriteSheet_185, 0x0a00, ANIM_TAG_SPHERE_TO_CUBE}, - {gBattleAnimSpriteSheet_186, 0x1000, ANIM_TAG_TENDRILS}, - {gBattleAnimSpriteSheet_187, 0x0800, ANIM_TAG_EYE}, - {gBattleAnimSpriteSheet_188, 0x0400, ANIM_TAG_WHITE_SHADOW}, - {gBattleAnimSpriteSheet_189, 0x0200, ANIM_TAG_TEAL_ALERT}, - {gBattleAnimSpriteSheet_190, 0x0800, ANIM_TAG_OPENING_EYE}, - {gBattleAnimSpriteSheet_191, 0x0800, ANIM_TAG_ROUND_WHITE_HALO}, - {gBattleAnimSpriteSheet_192, 0x0800, ANIM_TAG_FANG_ATTACK}, - {gBattleAnimSpriteSheet_193, 0x0200, ANIM_TAG_PURPLE_HAND_OUTLINE}, - {gBattleAnimSpriteSheet_194, 0x0800, ANIM_TAG_MOON}, - {gBattleAnimSpriteSheet_195, 0x0200, ANIM_TAG_GREEN_SPARKLE}, - {gBattleAnimSpriteSheet_196, 0x0800, ANIM_TAG_SPIRAL}, - {gBattleAnimSpriteSheet_197, 0x0200, ANIM_TAG_SNORE_Z}, - {gBattleAnimSpriteSheet_198, 0x0800, ANIM_TAG_EXPLOSION}, - {gBattleAnimSpriteSheet_199, 0x0400, ANIM_TAG_NAIL}, - {gBattleAnimSpriteSheet_200, 0x0200, ANIM_TAG_GHOSTLY_SPIRIT}, - {gBattleAnimSpriteSheet_201, 0x0a80, ANIM_TAG_WARM_ROCK}, - {gBattleAnimSpriteSheet_202, 0x0600, ANIM_TAG_BREAKING_EGG}, - {gBattleAnimSpriteSheet_203, 0x0800, ANIM_TAG_THIN_RING}, - {gBattleAnimSpriteSheet_204, 0x0200, ANIM_TAG_UNUSED_PUNCH_IMPACT}, - {gBattleAnimSpriteSheet_205, 0x0600, ANIM_TAG_BELL}, - {gBattleAnimSpriteSheet_206, 0x0800, ANIM_TAG_MUSIC_NOTES_2}, - {gBattleAnimSpriteSheet_207, 0x0180, ANIM_TAG_SPEED_DUST}, - {gBattleAnimSpriteSheet_208, 0x0800, ANIM_TAG_TORN_METAL}, - {gBattleAnimSpriteSheet_209, 0x0800, ANIM_TAG_THOUGHT_BUBBLE}, - {gBattleAnimSpriteSheet_210, 0x0080, ANIM_TAG_MAGENTA_HEART}, - {gBattleAnimSpriteSheet_211, 0x0080, ANIM_TAG_ELECTRIC_ORBS}, - {gBattleAnimSpriteSheet_212, 0x0800, ANIM_TAG_CIRCLE_OF_LIGHT}, - {gBattleAnimSpriteSheet_213, 0x0800, ANIM_TAG_ELECTRICITY}, - {gBattleAnimSpriteSheet_214, 0x0600, ANIM_TAG_FINGER_2}, - {gBattleAnimSpriteSheet_215, 0x0600, ANIM_TAG_MOVEMENT_WAVES}, - {gBattleAnimSpriteSheet_210, 0x0080, ANIM_TAG_RED_HEART}, - {gBattleAnimSpriteSheet_217, 0x0080, ANIM_TAG_RED_ORB}, - {gBattleAnimSpriteSheet_218, 0x0180, ANIM_TAG_EYE_SPARKLE}, - {gBattleAnimSpriteSheet_210, 0x0080, ANIM_TAG_PINK_HEART}, - {gBattleAnimSpriteSheet_220, 0x0200, ANIM_TAG_ANGEL}, - {gBattleAnimSpriteSheet_221, 0x0400, ANIM_TAG_DEVIL}, - {gBattleAnimSpriteSheet_222, 0x0a00, ANIM_TAG_SWIPE}, - {gBattleAnimSpriteSheet_223, 0x0800, ANIM_TAG_ROOTS}, - {gBattleAnimSpriteSheet_224, 0x0200, ANIM_TAG_ITEM_BAG}, - {gBattleAnimSpriteSheet_225, 0x0400, ANIM_TAG_JAGGED_MUSIC_NOTE}, - {gBattleAnimSpriteSheet_226, 0x0080, ANIM_TAG_POKEBALL}, - {gBattleAnimSpriteSheet_227, 0x0800, ANIM_TAG_SPOTLIGHT}, - {gBattleAnimSpriteSheet_228, 0x0200, ANIM_TAG_LETTER_Z}, - {gBattleAnimSpriteSheet_229, 0x0300, ANIM_TAG_RAPID_SPIN}, - {gBattleAnimSpriteSheet_230, 0x0800, ANIM_TAG_TRI_FORCE_TRIANGLE}, - {gBattleAnimSpriteSheet_231, 0x0380, ANIM_TAG_WISP_ORB}, - {gBattleAnimSpriteSheet_232, 0x0800, ANIM_TAG_WISP_FIRE}, - {gBattleAnimSpriteSheet_233, 0x00c0, ANIM_TAG_GOLD_STARS}, - {gBattleAnimSpriteSheet_234, 0x0800, ANIM_TAG_ECLIPSING_ORB}, - {gBattleAnimSpriteSheet_235, 0x0060, ANIM_TAG_GRAY_ORB}, - {gBattleAnimSpriteSheet_235, 0x0060, ANIM_TAG_BLUE_ORB}, - {gBattleAnimSpriteSheet_235, 0x0060, ANIM_TAG_RED_ORB_2}, - {gBattleAnimSpriteSheet_238, 0x0080, ANIM_TAG_PINK_PETAL}, - {gBattleAnimSpriteSheet_239, 0x0180, ANIM_TAG_PAIN_SPLIT}, - {gBattleAnimSpriteSheet_240, 0x0180, ANIM_TAG_CONFETTI}, - {gBattleAnimSpriteSheet_241, 0x0200, ANIM_TAG_GREEN_STAR}, - {gBattleAnimSpriteSheet_242, 0x0200, ANIM_TAG_PINK_CLOUD}, - {gBattleAnimSpriteSheet_243, 0x0020, ANIM_TAG_SWEAT_DROP}, - {gBattleAnimSpriteSheet_244, 0x0400, ANIM_TAG_GUARD_RING}, - {gBattleAnimSpriteSheet_245, 0x0600, ANIM_TAG_PURPLE_SCRATCH}, - {gBattleAnimSpriteSheet_246, 0x1000, ANIM_TAG_PURPLE_SWIPE}, - {gBattleAnimSpriteSheet_247, 0x0400, ANIM_TAG_TAG_HAND}, - {gBattleAnimSpriteSheet_248, 0x0020, ANIM_TAG_SMALL_RED_EYE}, - {gBattleAnimSpriteSheet_249, 0x0080, ANIM_TAG_HOLLOW_ORB}, - {gBattleAnimSpriteSheet_250, 0x0800, ANIM_TAG_X_SIGN}, - {gBattleAnimSpriteSheet_251, 0x0080, ANIM_TAG_BLUEGREEN_ORB}, - {gBattleAnimSpriteSheet_252, 0x0200, ANIM_TAG_PAW_PRINT}, - {gBattleAnimSpriteSheet_253, 0x0400, ANIM_TAG_PURPLE_FLAME}, - {gBattleAnimSpriteSheet_254, 0x0200, ANIM_TAG_RED_BALL}, - {gBattleAnimSpriteSheet_255, 0x0200, ANIM_TAG_SMELLINGSALT_EFFECT}, - {gBattleAnimSpriteSheet_256, 0x0800, ANIM_TAG_METEOR}, - {gBattleAnimSpriteSheet_257, 0x0280, ANIM_TAG_FLAT_ROCK}, - {gBattleAnimSpriteSheet_258, 0x0200, ANIM_TAG_MAGNIFYING_GLASS}, - {gBattleAnimSpriteSheet_149, 0x0200, ANIM_TAG_BROWN_ORB}, - {gBattleAnimSpriteSheet_260, 0x0400, ANIM_TAG_METAL_SOUND_WAVES}, - {gBattleAnimSpriteSheet_261, 0x0200, ANIM_TAG_FLYING_DIRT}, - {gBattleAnimSpriteSheet_262, 0x0200, ANIM_TAG_ICICLE_SPEAR}, - {gBattleAnimSpriteSheet_263, 0x0080, ANIM_TAG_HAIL}, - {gBattleAnimSpriteSheet_264, 0x0020, ANIM_TAG_GLOWY_RED_ORB}, - {gBattleAnimSpriteSheet_264, 0x0020, ANIM_TAG_GLOWY_GREEN_ORB}, - {gBattleAnimSpriteSheet_266, 0x0080, ANIM_TAG_GREEN_SPIKE}, - {gBattleAnimSpriteSheet_212, 0x0800, ANIM_TAG_WHITE_CIRCLE_OF_LIGHT}, - {gBattleAnimSpriteSheet_264, 0x0020, ANIM_TAG_GLOWY_BLUE_ORB}, - {gBattleAnimSpriteSheet_269, 0x0080, ANIM_TAG_UNUSED_RED_BRICK}, - {gBattleAnimSpriteSheet_270, 0x0400, ANIM_TAG_WHITE_FEATHER}, - {gBattleAnimSpriteSheet_271, 0x0080, ANIM_TAG_SPARKLE_6}, - {gBattleAnimSpriteSheet_272, 0x0800, ANIM_TAG_SPLASH}, - {gBattleAnimSpriteSheet_273, 0x0020, ANIM_TAG_SWEAT_BEAD}, - {gBattleAnimSpriteSheet_274, 0x0800, ANIM_TAG_UNUSED_GEM_1}, - {gBattleAnimSpriteSheet_275, 0x0800, ANIM_TAG_UNUSED_GEM_2}, - {gBattleAnimSpriteSheet_276, 0x0800, ANIM_TAG_UNUSED_GEM_3}, - {gBattleAnimSpriteSheet_277, 0x1000, ANIM_TAG_SLAM_HIT_2}, - {gBattleAnimSpriteSheet_278, 0x0800, ANIM_TAG_RECYCLE}, - {gBattleAnimSpriteSheet_279, 0x00a0, ANIM_TAG_UNUSED_RED_PARTICLES}, - {gBattleAnimSpriteSheet_280, 0x0800, ANIM_TAG_PROTECT}, - {gBattleAnimSpriteSheet_281, 0x0200, ANIM_TAG_DIRT_MOUND}, - {gBattleAnimSpriteSheet_282, 0x0600, ANIM_TAG_SHOCK_3}, - {gBattleAnimSpriteSheet_283, 0x0200, ANIM_TAG_WEATHER_BALL}, - {gBattleAnimSpriteSheet_284, 0x0800, ANIM_TAG_BIRD}, - {gBattleAnimSpriteSheet_285, 0x0200, ANIM_TAG_CROSS_IMPACT}, - {gBattleAnimSpriteSheet_183, 0x0800, ANIM_TAG_SLASH_2}, - {gBattleAnimSpriteSheet_056, 0x1000, ANIM_TAG_WHIP_HIT}, - {gBattleAnimSpriteSheet_163, 0x0100, ANIM_TAG_BLUE_RING_2}, + {gBattleAnimSpriteGfx_Bone, 0x0200, ANIM_TAG_BONE}, + {gBattleAnimSpriteGfx_Spark, 0x0300, ANIM_TAG_SPARK}, + {gBattleAnimSpriteGfx_Pencil, 0x0200, ANIM_TAG_PENCIL}, + {gBattleAnimSpriteGfx_AirWave, 0x0100, ANIM_TAG_AIR_WAVE}, + {gBattleAnimSpriteGfx_Orb, 0x0200, ANIM_TAG_ORB}, + {gBattleAnimSpriteGfx_Sword, 0x0400, ANIM_TAG_SWORD}, + {gBattleAnimSpriteGfx_Seed, 0x0180, ANIM_TAG_SEED}, + {gBattleAnimSpriteGfx_Explosion6, 0x0800, ANIM_TAG_EXPLOSION_6}, + {gBattleAnimSpriteGfx_PinkOrb, 0x0020, ANIM_TAG_PINK_ORB}, + {gBattleAnimSpriteGfx_Gust, 0x0400, ANIM_TAG_GUST}, + {gBattleAnimSpriteGfx_IceCube, 0x1200, ANIM_TAG_ICE_CUBE}, + {gBattleAnimSpriteGfx_Spark2, 0x0180, ANIM_TAG_SPARK_2}, + {gBattleAnimSpriteGfx_Orange, 0x0080, ANIM_TAG_ORANGE}, + {gBattleAnimSpriteGfx_YellowBall, 0x0080, ANIM_TAG_YELLOW_BALL}, + {gBattleAnimSpriteGfx_LockOn, 0x0280, ANIM_TAG_LOCK_ON}, + {gBattleAnimSpriteGfx_TiedBag, 0x0080, ANIM_TAG_TIED_BAG}, + {gBattleAnimSpriteGfx_BlackSmoke, 0x0100, ANIM_TAG_BLACK_SMOKE}, + {gBattleAnimSpriteGfx_BlackBall, 0x0020, ANIM_TAG_BLACK_BALL}, + {gBattleAnimSpriteGfx_Conversion, 0x0080, ANIM_TAG_CONVERSION}, + {gBattleAnimSpriteGfx_Glass, 0x0400, ANIM_TAG_GLASS}, + {gBattleAnimSpriteGfx_HornHit, 0x0200, ANIM_TAG_HORN_HIT}, + {gBattleAnimSpriteGfx_Hit, 0x0A00, ANIM_TAG_HIT}, + {gBattleAnimSpriteGfx_Hit, 0x0A00, ANIM_TAG_HIT_2}, + {gBattleAnimSpriteGfx_BlueShards, 0x0380, ANIM_TAG_BLUE_SHARDS}, + {gBattleAnimSpriteGfx_ClosingEye, 0x0300, ANIM_TAG_CLOSING_EYE}, + {gBattleAnimSpriteGfx_WavingHand, 0x0A00, ANIM_TAG_WAVING_HAND}, + {gBattleAnimSpriteGfx_HitDuplicate, 0x0A00, ANIM_TAG_HIT_DUPLICATE}, + {gBattleAnimSpriteGfx_Leer, 0x0A00, ANIM_TAG_LEER}, + {gBattleAnimSpriteGfx_BlueBurst, 0x0A00, ANIM_TAG_BLUE_BURST}, + {gBattleAnimSpriteGfx_SmallEmber, 0x0A00, ANIM_TAG_SMALL_EMBER}, + {gBattleAnimSpriteGfx_GraySmoke, 0x0A00, ANIM_TAG_GRAY_SMOKE}, + {gBattleAnimSpriteGfx_BlueStar, 0x0E00, ANIM_TAG_BLUE_STAR}, + {gBattleAnimSpriteGfx_BubbleBurst, 0x0380, ANIM_TAG_BUBBLE_BURST}, + {gBattleAnimSpriteGfx_Fire, 0x1000, ANIM_TAG_FIRE}, + {gBattleAnimSpriteGfx_SpinningFire, 0x0800, ANIM_TAG_SPINNING_FIRE}, + {gBattleAnimSpriteGfx_FirePlume, 0x0A00, ANIM_TAG_FIRE_PLUME}, + {gBattleAnimSpriteGfx_Lightning2, 0x0800, ANIM_TAG_LIGHTNING_2}, + {gBattleAnimSpriteGfx_Lightning, 0x0A00, ANIM_TAG_LIGHTNING}, + {gBattleAnimSpriteGfx_ClawSlash2, 0x0A00, ANIM_TAG_CLAW_SLASH_2}, + {gBattleAnimSpriteGfx_ClawSlash, 0x0A00, ANIM_TAG_CLAW_SLASH}, + {gBattleAnimSpriteGfx_Scratch3, 0x0A00, ANIM_TAG_SCRATCH_3}, + {gBattleAnimSpriteGfx_Scratch2, 0x0A00, ANIM_TAG_SCRATCH_2}, + {gBattleAnimSpriteGfx_BubbleBurst2, 0x0A00, ANIM_TAG_BUBBLE_BURST_2}, + {gBattleAnimSpriteGfx_IceChunk, 0x0A00, ANIM_TAG_ICE_CHUNK}, + {gBattleAnimSpriteGfx_Glass2, 0x0A00, ANIM_TAG_GLASS_2}, + {gBattleAnimSpriteGfx_PinkHeart2, 0x0A00, ANIM_TAG_PINK_HEART_2}, + {gBattleAnimSpriteGfx_SapDrip, 0x1000, ANIM_TAG_SAP_DRIP}, + {gBattleAnimSpriteGfx_SapDrip, 0x1000, ANIM_TAG_SAP_DRIP_2}, + {gBattleAnimSpriteGfx_Sparkle1, 0x1000, ANIM_TAG_SPARKLE_1}, + {gBattleAnimSpriteGfx_Sparkle1, 0x1000, ANIM_TAG_SPARKLE_2}, + {gBattleAnimSpriteGfx_HumanoidFoot, 0x0200, ANIM_TAG_HUMANOID_FOOT}, + {gBattleAnimSpriteGfx_MonsterFoot, 0x0200, ANIM_TAG_MONSTER_FOOT}, + {gBattleAnimSpriteGfx_HumanoidHand, 0x0200, ANIM_TAG_HUMANOID_HAND}, + {gBattleAnimSpriteGfx_NoiseLine, 0x0800, ANIM_TAG_NOISE_LINE}, + {gBattleAnimSpriteGfx_YellowUnk, 0x0080, ANIM_TAG_YELLOW_UNK}, + {gBattleAnimSpriteGfx_RedFist, 0x0200, ANIM_TAG_RED_FIST}, + {gBattleAnimSpriteGfx_SlamHit, 0x1000, ANIM_TAG_SLAM_HIT}, + {gBattleAnimSpriteGfx_Ring, 0x0180, ANIM_TAG_RING}, + {gBattleAnimSpriteGfx_Rocks, 0x0C00, ANIM_TAG_ROCKS}, + {gBattleAnimSpriteGfx_Z, 0x0100, ANIM_TAG_Z}, + {gBattleAnimSpriteGfx_YellowUnk2, 0x0040, ANIM_TAG_YELLOW_UNK_2}, + {gBattleAnimSpriteGfx_AirSlash, 0x0180, ANIM_TAG_AIR_SLASH}, + {gBattleAnimSpriteGfx_SpinningGreenOrbs, 0x0800, ANIM_TAG_SPINNING_GREEN_ORBS}, + {gBattleAnimSpriteGfx_Leaf, 0x0480, ANIM_TAG_LEAF}, + {gBattleAnimSpriteGfx_Finger, 0x0200, ANIM_TAG_FINGER}, + {gBattleAnimSpriteGfx_PoisonPowder, 0x0200, ANIM_TAG_POISON_POWDER}, + {gBattleAnimSpriteGfx_BrownTriangle, 0x0100, ANIM_TAG_BROWN_TRIANGLE}, + {gBattleAnimSpriteGfx_PoisonPowder, 0x0200, ANIM_TAG_SLEEP_POWDER}, + {gBattleAnimSpriteGfx_PoisonPowder, 0x0200, ANIM_TAG_STUN_SPORE}, + {gBattleAnimSpriteGfx_PoisonPowder, 0x0200, ANIM_TAG_POWDER}, + {gBattleAnimSpriteGfx_Sparkle3, 0x0200, ANIM_TAG_SPARKLE_3}, + {gBattleAnimSpriteGfx_Sparkle4, 0x0A00, ANIM_TAG_SPARKLE_4}, + {gBattleAnimSpriteGfx_MusicNotes, 0x0300, ANIM_TAG_MUSIC_NOTES}, + {gBattleAnimSpriteGfx_Duck, 0x0180, ANIM_TAG_DUCK}, + {gBattleAnimSpriteGfx_MudSand, 0x00A0, ANIM_TAG_MUD_SAND}, + {gBattleAnimSpriteGfx_Alert, 0x0700, ANIM_TAG_ALERT}, + {gBattleAnimSpriteGfx_BlueFlames, 0x0400, ANIM_TAG_BLUE_FLAMES}, + {gBattleAnimSpriteGfx_BlueFlames2, 0x0200, ANIM_TAG_BLUE_FLAMES_2}, + {gBattleAnimSpriteGfx_Shock4, 0x0300, ANIM_TAG_SHOCK_4}, + {gBattleAnimSpriteGfx_Shock, 0x0C00, ANIM_TAG_SHOCK}, + {gBattleAnimSpriteGfx_Bell2, 0x0A00, ANIM_TAG_BELL_2}, + {gBattleAnimSpriteGfx_PinkGlove, 0x0080, ANIM_TAG_PINK_GLOVE}, + {gBattleAnimSpriteGfx_BlueLines, 0x0040, ANIM_TAG_BLUE_LINES}, + {gBattleAnimSpriteGfx_Impact3, 0x0E00, ANIM_TAG_IMPACT_3}, + {gBattleAnimSpriteGfx_Impact2, 0x0E00, ANIM_TAG_IMPACT_2}, + {gBattleAnimSpriteGfx_Reticle, 0x0280, ANIM_TAG_RETICLE}, + {gBattleAnimSpriteGfx_Breath, 0x0200, ANIM_TAG_BREATH}, + {gBattleAnimSpriteGfx_Anger, 0x0080, ANIM_TAG_ANGER}, + {gBattleAnimSpriteGfx_Snowball, 0x00C0, ANIM_TAG_SNOWBALL}, + {gBattleAnimSpriteGfx_Vine, 0x0A00, ANIM_TAG_VINE}, + {gBattleAnimSpriteGfx_Sword2, 0x0200, ANIM_TAG_SWORD_2}, + {gBattleAnimSpriteGfx_Clapping, 0x0180, ANIM_TAG_CLAPPING}, + {gBattleAnimSpriteGfx_RedTube, 0x0080, ANIM_TAG_RED_TUBE}, + {gBattleAnimSpriteGfx_Amnesia, 0x1000, ANIM_TAG_AMNESIA}, + {gBattleAnimSpriteGfx_String2, 0x0A00, ANIM_TAG_STRING_2}, + {gBattleAnimSpriteGfx_Pencil2, 0x0180, ANIM_TAG_PENCIL_2}, + {gBattleAnimSpriteGfx_Petal, 0x0380, ANIM_TAG_PETAL}, + {gBattleAnimSpriteGfx_BentSpoon, 0x0C00, ANIM_TAG_BENT_SPOON}, + {gBattleAnimSpriteGfx_Web, 0x0200, ANIM_TAG_WEB}, + {gBattleAnimSpriteGfx_MilkBottle, 0x0200, ANIM_TAG_MILK_BOTTLE}, + {gBattleAnimSpriteGfx_Coin, 0x0200, ANIM_TAG_COIN}, + {gBattleAnimSpriteGfx_CrackedEgg, 0x0200, ANIM_TAG_CRACKED_EGG}, + {gBattleAnimSpriteGfx_HatchedEgg, 0x0400, ANIM_TAG_HATCHED_EGG}, + {gBattleAnimSpriteGfx_FreshEgg, 0x0080, ANIM_TAG_FRESH_EGG}, + {gBattleAnimSpriteGfx_Fangs, 0x0400, ANIM_TAG_FANGS}, + {gBattleAnimSpriteGfx_Explosion2, 0x0c00, ANIM_TAG_EXPLOSION_2}, + {gBattleAnimSpriteGfx_Explosion3, 0x0200, ANIM_TAG_EXPLOSION_3}, + {gBattleAnimSpriteGfx_WaterDroplet, 0x1000, ANIM_TAG_WATER_DROPLET}, + {gBattleAnimSpriteGfx_WaterDroplet2, 0x0a00, ANIM_TAG_WATER_DROPLET_2}, + {gBattleAnimSpriteGfx_Seed2, 0x0020, ANIM_TAG_SEED_2}, + {gBattleAnimSpriteGfx_Sprout, 0x0e00, ANIM_TAG_SPROUT}, + {gBattleAnimSpriteGfx_RedWand, 0x0080, ANIM_TAG_RED_WAND}, + {gBattleAnimSpriteGfx_PurpleGreenUnk, 0x0a00, ANIM_TAG_PURPLE_GREEN_UNK}, + {gBattleAnimSpriteGfx_WaterColumn, 0x0400, ANIM_TAG_WATER_COLUMN}, + {gBattleAnimSpriteGfx_MudUnk, 0x0200, ANIM_TAG_MUD_UNK}, + {gBattleAnimSpriteGfx_RainDrops, 0x0700, ANIM_TAG_RAIN_DROPS}, + {gBattleAnimSpriteGfx_FurySwipes, 0x0800, ANIM_TAG_FURY_SWIPES}, + {gBattleAnimSpriteGfx_Vine2, 0x0a00, ANIM_TAG_VINE_2}, + {gBattleAnimSpriteGfx_Teeth, 0x0600, ANIM_TAG_TEETH}, + {gBattleAnimSpriteGfx_Bone2, 0x0800, ANIM_TAG_BONE_2}, + {gBattleAnimSpriteGfx_WhiteBag, 0x0200, ANIM_TAG_WHITE_BAG}, + {gBattleAnimSpriteGfx_Unknown, 0x0040, ANIM_TAG_UNKNOWN}, + {gBattleAnimSpriteGfx_PurpleCoral, 0x0180, ANIM_TAG_PURPLE_CORAL}, + {gBattleAnimSpriteGfx_PurpleDroplet, 0x0600, ANIM_TAG_PURPLE_DROPLET}, + {gBattleAnimSpriteGfx_Shock2, 0x0600, ANIM_TAG_SHOCK_2}, + {gBattleAnimSpriteGfx_ClosingEye2, 0x0200, ANIM_TAG_CLOSING_EYE_2}, + {gBattleAnimSpriteGfx_MetalBall, 0x0080, ANIM_TAG_METAL_BALL}, + {gBattleAnimSpriteGfx_MonsterDoll, 0x0200, ANIM_TAG_MONSTER_DOLL}, + {gBattleAnimSpriteGfx_Whirlwind, 0x0800, ANIM_TAG_WHIRLWIND}, + {gBattleAnimSpriteGfx_Whirlwind2, 0x0080, ANIM_TAG_WHIRLWIND_2}, + {gBattleAnimSpriteGfx_Explosion4, 0x0a00, ANIM_TAG_EXPLOSION_4}, + {gBattleAnimSpriteGfx_Explosion5, 0x0280, ANIM_TAG_EXPLOSION_5}, + {gBattleAnimSpriteGfx_Tongue, 0x0280, ANIM_TAG_TONGUE}, + {gBattleAnimSpriteGfx_Smoke, 0x0100, ANIM_TAG_SMOKE}, + {gBattleAnimSpriteGfx_Smoke2, 0x0200, ANIM_TAG_SMOKE_2}, + {gBattleAnimSpriteGfx_Impact, 0x0200, ANIM_TAG_IMPACT}, + {gBattleAnimSpriteGfx_CircleImpact, 0x0020, ANIM_TAG_CIRCLE_IMPACT}, + {gBattleAnimSpriteGfx_Scratch, 0x0a00, ANIM_TAG_SCRATCH}, + {gBattleAnimSpriteGfx_Cut, 0x0800, ANIM_TAG_CUT}, + {gBattleAnimSpriteGfx_SharpTeeth, 0x0800, ANIM_TAG_SHARP_TEETH}, + {gBattleAnimSpriteGfx_RainbowRings, 0x00c0, ANIM_TAG_RAINBOW_RINGS}, + {gBattleAnimSpriteGfx_IceCrystals, 0x01c0, ANIM_TAG_ICE_CRYSTALS}, + {gBattleAnimSpriteGfx_IceSpikes, 0x0100, ANIM_TAG_ICE_SPIKES}, + {gBattleAnimSpriteGfx_HandsAndFeet, 0x0800, ANIM_TAG_HANDS_AND_FEET}, + {gBattleAnimSpriteGfx_MistCloud, 0x0200, ANIM_TAG_MIST_CLOUD}, + {gBattleAnimSpriteGfx_Clamp, 0x0800, ANIM_TAG_CLAMP}, + {gBattleAnimSpriteGfx_Bubble, 0x0180, ANIM_TAG_BUBBLE}, + {gBattleAnimSpriteGfx_Orbs, 0x0180, ANIM_TAG_ORBS}, + {gBattleAnimSpriteGfx_WaterImpact, 0x0200, ANIM_TAG_WATER_IMPACT}, + {gBattleAnimSpriteGfx_WaterOrb, 0x0200, ANIM_TAG_WATER_ORB}, + {gBattleAnimSpriteGfx_PoisonBubble, 0x0180, ANIM_TAG_POISON_BUBBLE}, + {gBattleAnimSpriteGfx_ToxicBubble, 0x0400, ANIM_TAG_TOXIC_BUBBLE}, + {gBattleAnimSpriteGfx_Spikes, 0x0080, ANIM_TAG_SPIKES}, + {gBattleAnimSpriteGfx_HornHit2, 0x0100, ANIM_TAG_HORN_HIT_2}, + {gBattleAnimSpriteGfx_AirWave2, 0x0100, ANIM_TAG_AIR_WAVE_2}, + {gBattleAnimSpriteGfx_SmallBubbles, 0x0140, ANIM_TAG_SMALL_BUBBLES}, + {gBattleAnimSpriteGfx_RoundShadow, 0x0800, ANIM_TAG_ROUND_SHADOW}, + {gBattleAnimSpriteGfx_Sunlight, 0x0200, ANIM_TAG_SUNLIGHT}, + {gBattleAnimSpriteGfx_Spore, 0x0100, ANIM_TAG_SPORE}, + {gBattleAnimSpriteGfx_Flower, 0x00a0, ANIM_TAG_FLOWER}, + {gBattleAnimSpriteGfx_RazorLeaf, 0x0100, ANIM_TAG_RAZOR_LEAF}, + {gBattleAnimSpriteGfx_Needle, 0x0080, ANIM_TAG_NEEDLE}, + {gBattleAnimSpriteGfx_WhirlwindLines, 0x0300, ANIM_TAG_WHIRLWIND_LINES}, + {gBattleAnimSpriteGfx_GoldRing, 0x0100, ANIM_TAG_GOLD_RING}, + {gBattleAnimSpriteGfx_GoldRing, 0x0100, ANIM_TAG_PURPLE_RING}, + {gBattleAnimSpriteGfx_GoldRing, 0x0100, ANIM_TAG_BLUE_RING}, + {gBattleAnimSpriteGfx_GreenLightWall, 0x0800, ANIM_TAG_GREEN_LIGHT_WALL}, + {gBattleAnimSpriteGfx_GreenLightWall, 0x0800, ANIM_TAG_BLUE_LIGHT_WALL}, + {gBattleAnimSpriteGfx_GreenLightWall, 0x0800, ANIM_TAG_RED_LIGHT_WALL}, + {gBattleAnimSpriteGfx_GreenLightWall, 0x0800, ANIM_TAG_GRAY_LIGHT_WALL}, + {gBattleAnimSpriteGfx_GreenLightWall, 0x0800, ANIM_TAG_ORANGE_LIGHT_WALL}, + {gBattleAnimSpriteGfx_BlackBall2, 0x0080, ANIM_TAG_BLACK_BALL_2}, + {gBattleAnimSpriteGfx_MistCloud, 0x0200, ANIM_TAG_PURPLE_GAS_CLOUD}, + {gBattleAnimSpriteGfx_SparkH, 0x0200, ANIM_TAG_SPARK_H}, + {gBattleAnimSpriteGfx_YellowStar, 0x0200, ANIM_TAG_YELLOW_STAR}, + {gBattleAnimSpriteGfx_LargeFreshEgg, 0x0080, ANIM_TAG_LARGE_FRESH_EGG}, + {gBattleAnimSpriteGfx_ShadowBall, 0x0200, ANIM_TAG_SHADOW_BALL}, + {gBattleAnimSpriteGfx_Lick, 0x0500, ANIM_TAG_LICK}, + {gBattleAnimSpriteGfx_VoidLines, 0x0800, ANIM_TAG_VOID_LINES}, + {gBattleAnimSpriteGfx_String, 0x0400, ANIM_TAG_STRING}, + {gBattleAnimSpriteGfx_WebThread, 0x0020, ANIM_TAG_WEB_THREAD}, + {gBattleAnimSpriteGfx_SpiderWeb, 0x0800, ANIM_TAG_SPIDER_WEB}, + {gBattleAnimSpriteGfx_Lightbulb, 0x0100, ANIM_TAG_LIGHTBULB}, + {gBattleAnimSpriteGfx_Slash, 0x0800, ANIM_TAG_SLASH}, + {gBattleAnimSpriteGfx_FocusEnergy, 0x0400, ANIM_TAG_FOCUS_ENERGY}, + {gBattleAnimSpriteGfx_SphereToCube, 0x0a00, ANIM_TAG_SPHERE_TO_CUBE}, + {gBattleAnimSpriteGfx_Tendrils, 0x1000, ANIM_TAG_TENDRILS}, + {gBattleAnimSpriteGfx_Eye, 0x0800, ANIM_TAG_EYE}, + {gBattleAnimSpriteGfx_WhiteShadow, 0x0400, ANIM_TAG_WHITE_SHADOW}, + {gBattleAnimSpriteGfx_TealAlert, 0x0200, ANIM_TAG_TEAL_ALERT}, + {gBattleAnimSpriteGfx_OpeningEye, 0x0800, ANIM_TAG_OPENING_EYE}, + {gBattleAnimSpriteGfx_RoundWhiteHalo, 0x0800, ANIM_TAG_ROUND_WHITE_HALO}, + {gBattleAnimSpriteGfx_FangAttack, 0x0800, ANIM_TAG_FANG_ATTACK}, + {gBattleAnimSpriteGfx_PurpleHandOutline, 0x0200, ANIM_TAG_PURPLE_HAND_OUTLINE}, + {gBattleAnimSpriteGfx_Moon, 0x0800, ANIM_TAG_MOON}, + {gBattleAnimSpriteGfx_GreenSparkle, 0x0200, ANIM_TAG_GREEN_SPARKLE}, + {gBattleAnimSpriteGfx_Spiral, 0x0800, ANIM_TAG_SPIRAL}, + {gBattleAnimSpriteGfx_SnoreZ, 0x0200, ANIM_TAG_SNORE_Z}, + {gBattleAnimSpriteGfx_Explosion, 0x0800, ANIM_TAG_EXPLOSION}, + {gBattleAnimSpriteGfx_Nail, 0x0400, ANIM_TAG_NAIL}, + {gBattleAnimSpriteGfx_GhostlySpirit, 0x0200, ANIM_TAG_GHOSTLY_SPIRIT}, + {gBattleAnimSpriteGfx_WarmRock, 0x0a80, ANIM_TAG_WARM_ROCK}, + {gBattleAnimSpriteGfx_BreakingEgg, 0x0600, ANIM_TAG_BREAKING_EGG}, + {gBattleAnimSpriteGfx_ThinRing, 0x0800, ANIM_TAG_THIN_RING}, + {gBattleAnimSpriteGfx_PunchImpact, 0x0200, ANIM_TAG_PUNCH_IMPACT}, + {gBattleAnimSpriteGfx_Bell, 0x0600, ANIM_TAG_BELL}, + {gBattleAnimSpriteGfx_MusicNotes2, 0x0800, ANIM_TAG_MUSIC_NOTES_2}, + {gBattleAnimSpriteGfx_SpeedDust, 0x0180, ANIM_TAG_SPEED_DUST}, + {gBattleAnimSpriteGfx_TornMetal, 0x0800, ANIM_TAG_TORN_METAL}, + {gBattleAnimSpriteGfx_ThoughtBubble, 0x0800, ANIM_TAG_THOUGHT_BUBBLE}, + {gBattleAnimSpriteGfx_MagentaHeart, 0x0080, ANIM_TAG_MAGENTA_HEART}, + {gBattleAnimSpriteGfx_ElectricOrbs, 0x0080, ANIM_TAG_ELECTRIC_ORBS}, + {gBattleAnimSpriteGfx_CircleOfLight, 0x0800, ANIM_TAG_CIRCLE_OF_LIGHT}, + {gBattleAnimSpriteGfx_Electricity, 0x0800, ANIM_TAG_ELECTRICITY}, + {gBattleAnimSpriteGfx_Finger2, 0x0600, ANIM_TAG_FINGER_2}, + {gBattleAnimSpriteGfx_MovementWaves, 0x0600, ANIM_TAG_MOVEMENT_WAVES}, + {gBattleAnimSpriteGfx_MagentaHeart, 0x0080, ANIM_TAG_RED_HEART}, + {gBattleAnimSpriteGfx_RedOrb, 0x0080, ANIM_TAG_RED_ORB}, + {gBattleAnimSpriteGfx_EyeSparkle, 0x0180, ANIM_TAG_EYE_SPARKLE}, + {gBattleAnimSpriteGfx_MagentaHeart, 0x0080, ANIM_TAG_PINK_HEART}, + {gBattleAnimSpriteGfx_Angel, 0x0200, ANIM_TAG_ANGEL}, + {gBattleAnimSpriteGfx_Devil, 0x0400, ANIM_TAG_DEVIL}, + {gBattleAnimSpriteGfx_Swipe, 0x0a00, ANIM_TAG_SWIPE}, + {gBattleAnimSpriteGfx_Roots, 0x0800, ANIM_TAG_ROOTS}, + {gBattleAnimSpriteGfx_ItemBag, 0x0200, ANIM_TAG_ITEM_BAG}, + {gBattleAnimSpriteGfx_JaggedMusicNote, 0x0400, ANIM_TAG_JAGGED_MUSIC_NOTE}, + {gBattleAnimSpriteGfx_Pokeball, 0x0080, ANIM_TAG_POKEBALL}, + {gBattleAnimSpriteGfx_Spotlight, 0x0800, ANIM_TAG_SPOTLIGHT}, + {gBattleAnimSpriteGfx_LetterZ, 0x0200, ANIM_TAG_LETTER_Z}, + {gBattleAnimSpriteGfx_RapidSpin, 0x0300, ANIM_TAG_RAPID_SPIN}, + {gBattleAnimSpriteGfx_TriForceTriangle, 0x0800, ANIM_TAG_TRI_FORCE_TRIANGLE}, + {gBattleAnimSpriteGfx_WispOrb, 0x0380, ANIM_TAG_WISP_ORB}, + {gBattleAnimSpriteGfx_WispFire, 0x0800, ANIM_TAG_WISP_FIRE}, + {gBattleAnimSpriteGfx_GoldStars, 0x00c0, ANIM_TAG_GOLD_STARS}, + {gBattleAnimSpriteGfx_EclipsingOrb, 0x0800, ANIM_TAG_ECLIPSING_ORB}, + {gBattleAnimSpriteGfx_GrayOrb, 0x0060, ANIM_TAG_GRAY_ORB}, + {gBattleAnimSpriteGfx_GrayOrb, 0x0060, ANIM_TAG_BLUE_ORB}, + {gBattleAnimSpriteGfx_GrayOrb, 0x0060, ANIM_TAG_RED_ORB_2}, + {gBattleAnimSpriteGfx_PinkPetal, 0x0080, ANIM_TAG_PINK_PETAL}, + {gBattleAnimSpriteGfx_PainSplit, 0x0180, ANIM_TAG_PAIN_SPLIT}, + {gBattleAnimSpriteGfx_Confetti, 0x0180, ANIM_TAG_CONFETTI}, + {gBattleAnimSpriteGfx_GreenStar, 0x0200, ANIM_TAG_GREEN_STAR}, + {gBattleAnimSpriteGfx_PinkCloud, 0x0200, ANIM_TAG_PINK_CLOUD}, + {gBattleAnimSpriteGfx_SweatDrop, 0x0020, ANIM_TAG_SWEAT_DROP}, + {gBattleAnimSpriteGfx_GuardRing, 0x0400, ANIM_TAG_GUARD_RING}, + {gBattleAnimSpriteGfx_PurpleScratch, 0x0600, ANIM_TAG_PURPLE_SCRATCH}, + {gBattleAnimSpriteGfx_PurpleSwipe, 0x1000, ANIM_TAG_PURPLE_SWIPE}, + {gBattleAnimSpriteGfx_TagHand, 0x0400, ANIM_TAG_TAG_HAND}, + {gBattleAnimSpriteGfx_SmallRedEye, 0x0020, ANIM_TAG_SMALL_RED_EYE}, + {gBattleAnimSpriteGfx_HollowOrb, 0x0080, ANIM_TAG_HOLLOW_ORB}, + {gBattleAnimSpriteGfx_XSign, 0x0800, ANIM_TAG_X_SIGN}, + {gBattleAnimSpriteGfx_BluegreenOrb, 0x0080, ANIM_TAG_BLUEGREEN_ORB}, + {gBattleAnimSpriteGfx_PawPrint, 0x0200, ANIM_TAG_PAW_PRINT}, + {gBattleAnimSpriteGfx_PurpleFlame, 0x0400, ANIM_TAG_PURPLE_FLAME}, + {gBattleAnimSpriteGfx_RedBall, 0x0200, ANIM_TAG_RED_BALL}, + {gBattleAnimSpriteGfx_SmellingsaltEffect, 0x0200, ANIM_TAG_SMELLINGSALT_EFFECT}, + {gBattleAnimSpriteGfx_Meteor, 0x0800, ANIM_TAG_METEOR}, + {gBattleAnimSpriteGfx_FlatRock, 0x0280, ANIM_TAG_FLAT_ROCK}, + {gBattleAnimSpriteGfx_MagnifyingGlass, 0x0200, ANIM_TAG_MAGNIFYING_GLASS}, + {gBattleAnimSpriteGfx_WaterOrb, 0x0200, ANIM_TAG_BROWN_ORB}, + {gBattleAnimSpriteGfx_MetalSoundWaves, 0x0400, ANIM_TAG_METAL_SOUND_WAVES}, + {gBattleAnimSpriteGfx_FlyingDirt, 0x0200, ANIM_TAG_FLYING_DIRT}, + {gBattleAnimSpriteGfx_IcicleSpear, 0x0200, ANIM_TAG_ICICLE_SPEAR}, + {gBattleAnimSpriteGfx_Hail, 0x0080, ANIM_TAG_HAIL}, + {gBattleAnimSpriteGfx_GlowyRedOrb, 0x0020, ANIM_TAG_GLOWY_RED_ORB}, + {gBattleAnimSpriteGfx_GlowyRedOrb, 0x0020, ANIM_TAG_GLOWY_GREEN_ORB}, + {gBattleAnimSpriteGfx_GreenSpike, 0x0080, ANIM_TAG_GREEN_SPIKE}, + {gBattleAnimSpriteGfx_CircleOfLight, 0x0800, ANIM_TAG_WHITE_CIRCLE_OF_LIGHT}, + {gBattleAnimSpriteGfx_GlowyRedOrb, 0x0020, ANIM_TAG_GLOWY_BLUE_ORB}, + {gBattleAnimSpriteGfx_Pokeblock, 0x0080, ANIM_TAG_POKEBLOCK}, + {gBattleAnimSpriteGfx_WhiteFeather, 0x0400, ANIM_TAG_WHITE_FEATHER}, + {gBattleAnimSpriteGfx_Sparkle6, 0x0080, ANIM_TAG_SPARKLE_6}, + {gBattleAnimSpriteGfx_Splash, 0x0800, ANIM_TAG_SPLASH}, + {gBattleAnimSpriteGfx_SweatBead, 0x0020, ANIM_TAG_SWEAT_BEAD}, + {gBattleAnimSpriteGfx_Gem1, 0x0800, ANIM_TAG_GEM_1}, + {gBattleAnimSpriteGfx_Gem2, 0x0800, ANIM_TAG_GEM_2}, + {gBattleAnimSpriteGfx_Gem3, 0x0800, ANIM_TAG_GEM_3}, + {gBattleAnimSpriteGfx_SlamHit2, 0x1000, ANIM_TAG_SLAM_HIT_2}, + {gBattleAnimSpriteGfx_Recycle, 0x0800, ANIM_TAG_RECYCLE}, + {gBattleAnimSpriteGfx_RedParticles, 0x00a0, ANIM_TAG_RED_PARTICLES}, + {gBattleAnimSpriteGfx_Protect, 0x0800, ANIM_TAG_PROTECT}, + {gBattleAnimSpriteGfx_DirtMound, 0x0200, ANIM_TAG_DIRT_MOUND}, + {gBattleAnimSpriteGfx_Shock3, 0x0600, ANIM_TAG_SHOCK_3}, + {gBattleAnimSpriteGfx_WeatherBall, 0x0200, ANIM_TAG_WEATHER_BALL}, + {gBattleAnimSpriteGfx_Bird, 0x0800, ANIM_TAG_BIRD}, + {gBattleAnimSpriteGfx_CrossImpact, 0x0200, ANIM_TAG_CROSS_IMPACT}, + {gBattleAnimSpriteGfx_Slash, 0x0800, ANIM_TAG_SLASH_2}, + {gBattleAnimSpriteGfx_SlamHit, 0x1000, ANIM_TAG_WHIP_HIT}, + {gBattleAnimSpriteGfx_GoldRing, 0x0100, ANIM_TAG_BLUE_RING_2}, }; - const struct CompressedSpritePalette gBattleAnimPaletteTable[] = { - {gBattleAnimSpritePalette_000, ANIM_TAG_BONE}, - {gBattleAnimSpritePalette_001, ANIM_TAG_SPARK}, - {gBattleAnimSpritePalette_002, ANIM_TAG_PENCIL}, - {gBattleAnimSpritePalette_003, ANIM_TAG_AIR_WAVE}, - {gBattleAnimSpritePalette_004, ANIM_TAG_UNUSED_ORB}, - {gBattleAnimSpritePalette_005, ANIM_TAG_SWORD}, - {gBattleAnimSpritePalette_006, ANIM_TAG_SEED}, - {gBattleAnimSpritePalette_007, ANIM_TAG_UNUSED_EXPLOSION}, - {gBattleAnimSpritePalette_008, ANIM_TAG_UNUSED_PINK_ORB}, - {gBattleAnimSpritePalette_009, ANIM_TAG_GUST}, - {gBattleAnimSpritePalette_010, ANIM_TAG_ICE_CUBE}, - {gBattleAnimSpritePalette_011, ANIM_TAG_SPARK_2}, - {gBattleAnimSpritePalette_012, ANIM_TAG_UNUSED_ORANGE}, - {gBattleAnimSpritePalette_013, ANIM_TAG_YELLOW_BALL}, - {gBattleAnimSpritePalette_014, ANIM_TAG_LOCK_ON}, - {gBattleAnimSpritePalette_015, ANIM_TAG_TIED_BAG}, - {gBattleAnimSpritePalette_016, ANIM_TAG_BLACK_SMOKE}, - {gBattleAnimSpritePalette_016, ANIM_TAG_BLACK_BALL}, - {gBattleAnimSpritePalette_018, ANIM_TAG_CONVERSION}, - {gBattleAnimSpritePalette_019, ANIM_TAG_UNUSED_GLASS}, - {gBattleAnimSpritePalette_020, ANIM_TAG_HORN_HIT}, - {gBattleAnimSpritePalette_021, ANIM_TAG_UNUSED_HIT}, - {gBattleAnimSpritePalette_022, ANIM_TAG_UNUSED_HIT_2}, - {gBattleAnimSpritePalette_023, ANIM_TAG_UNUSED_BLUE_SHARDS}, - {gBattleAnimSpritePalette_024, ANIM_TAG_UNUSED_CLOSING_EYE}, - {gBattleAnimSpritePalette_025, ANIM_TAG_UNUSED_WAVING_HAND}, - {gBattleAnimSpritePalette_026, ANIM_TAG_UNUSED_HIT_DUPLICATE}, - {gBattleAnimSpritePalette_027, ANIM_TAG_LEER}, - {gBattleAnimSpritePalette_028, ANIM_TAG_UNUSED_BLUE_BURST}, - {gBattleAnimSpritePalette_029, ANIM_TAG_SMALL_EMBER}, - {gBattleAnimSpritePalette_030, ANIM_TAG_GRAY_SMOKE}, - {gBattleAnimSpritePalette_031, ANIM_TAG_BLUE_STAR}, - {gBattleAnimSpritePalette_032, ANIM_TAG_UNUSED_BUBBLE_BURST}, - {gBattleAnimSpritePalette_033, ANIM_TAG_FIRE}, - {gBattleAnimSpritePalette_033, ANIM_TAG_UNUSED_SPINNING_FIRE}, - {gBattleAnimSpritePalette_033, ANIM_TAG_FIRE_PLUME}, - {gBattleAnimSpritePalette_036, ANIM_TAG_UNUSED_LIGHTNING}, - {gBattleAnimSpritePalette_036, ANIM_TAG_LIGHTNING}, - {gBattleAnimSpritePalette_038, ANIM_TAG_UNUSED_CLAW_SLASH}, - {gBattleAnimSpritePalette_039, ANIM_TAG_CLAW_SLASH}, - {gBattleAnimSpritePalette_038, ANIM_TAG_UNUSED_SCRATCH}, - {gBattleAnimSpritePalette_038, ANIM_TAG_UNUSED_SCRATCH_2}, - {gBattleAnimSpritePalette_042, ANIM_TAG_UNUSED_BUBBLE_BURST_2}, - {gBattleAnimSpritePalette_043, ANIM_TAG_ICE_CHUNK}, - {gBattleAnimSpritePalette_044, ANIM_TAG_UNUSED_GLASS_2}, - {gBattleAnimSpritePalette_045, ANIM_TAG_UNUSED_PINK_HEART}, - {gBattleAnimSpritePalette_046, ANIM_TAG_UNUSED_SAP_DRIP}, - {gBattleAnimSpritePalette_047, ANIM_TAG_UNUSED_SAP_DRIP}, - {gBattleAnimSpritePalette_048, ANIM_TAG_SPARKLE_1}, - {gBattleAnimSpritePalette_049, ANIM_TAG_SPARKLE_2}, - {gBattleAnimSpritePalette_050, ANIM_TAG_HUMANOID_FOOT}, - {gBattleAnimSpritePalette_050, ANIM_TAG_UNUSED_MONSTER_FOOT}, - {gBattleAnimSpritePalette_050, ANIM_TAG_UNUSED_HUMANOID_HAND}, - {gBattleAnimSpritePalette_026, ANIM_TAG_NOISE_LINE}, - {gBattleAnimSpritePalette_054, ANIM_TAG_UNUSED_YELLOW_UNK}, - {gBattleAnimSpritePalette_050, ANIM_TAG_UNUSED_RED_FIST}, - {gBattleAnimSpritePalette_056, ANIM_TAG_SLAM_HIT}, - {gBattleAnimSpritePalette_057, ANIM_TAG_UNUSED_RING}, - {gBattleAnimSpritePalette_058, ANIM_TAG_ROCKS}, - {gBattleAnimSpritePalette_059, ANIM_TAG_UNUSED_Z}, - {gBattleAnimSpritePalette_060, ANIM_TAG_UNUSED_YELLOW_UNK_2}, - {gBattleAnimSpritePalette_061, ANIM_TAG_UNUSED_AIR_SLASH}, - {gBattleAnimSpritePalette_062, ANIM_TAG_UNUSED_SPINNING_GREEN_ORBS}, - {gBattleAnimSpritePalette_063, ANIM_TAG_LEAF}, - {gBattleAnimSpritePalette_064, ANIM_TAG_FINGER}, - {gBattleAnimSpritePalette_065, ANIM_TAG_POISON_POWDER}, - {gBattleAnimSpritePalette_066, ANIM_TAG_UNUSED_BROWN_TRIANGLE}, - {gBattleAnimSpritePalette_067, ANIM_TAG_SLEEP_POWDER}, - {gBattleAnimSpritePalette_068, ANIM_TAG_STUN_SPORE}, - {gBattleAnimSpritePalette_065, ANIM_TAG_UNUSED_POWDER}, - {gBattleAnimSpritePalette_070, ANIM_TAG_SPARKLE_3}, - {gBattleAnimSpritePalette_070, ANIM_TAG_SPARKLE_4}, - {gBattleAnimSpritePalette_072, ANIM_TAG_MUSIC_NOTES}, - {gBattleAnimSpritePalette_073, ANIM_TAG_DUCK}, - {gBattleAnimSpritePalette_074, ANIM_TAG_MUD_SAND}, - {gBattleAnimSpritePalette_075, ANIM_TAG_ALERT}, - {gBattleAnimSpritePalette_076, ANIM_TAG_UNUSED_BLUE_FLAMES}, - {gBattleAnimSpritePalette_076, ANIM_TAG_UNUSED_BLUE_FLAMES_2}, - {gBattleAnimSpritePalette_078, ANIM_TAG_UNUSED_SHOCK}, - {gBattleAnimSpritePalette_078, ANIM_TAG_SHOCK}, - {gBattleAnimSpritePalette_080, ANIM_TAG_UNUSED_BELL}, - {gBattleAnimSpritePalette_081, ANIM_TAG_UNUSED_PINK_GLOVE}, - {gBattleAnimSpritePalette_082, ANIM_TAG_UNUSED_BLUE_LINES}, - {gBattleAnimSpritePalette_083, ANIM_TAG_UNUSED_IMPACT}, - {gBattleAnimSpritePalette_084, ANIM_TAG_UNUSED_IMPACT_2}, - {gBattleAnimSpritePalette_085, ANIM_TAG_UNUSED_RETICLE}, - {gBattleAnimSpritePalette_086, ANIM_TAG_BREATH}, - {gBattleAnimSpritePalette_087, ANIM_TAG_ANGER}, - {gBattleAnimSpritePalette_088, ANIM_TAG_UNUSED_SNOWBALL}, - {gBattleAnimSpritePalette_089, ANIM_TAG_UNUSED_VINE}, - {gBattleAnimSpritePalette_090, ANIM_TAG_UNUSED_SWORD}, - {gBattleAnimSpritePalette_091, ANIM_TAG_UNUSED_CLAPPING}, - {gBattleAnimSpritePalette_092, ANIM_TAG_UNUSED_RED_TUBE}, - {gBattleAnimSpritePalette_093, ANIM_TAG_AMNESIA}, - {gBattleAnimSpritePalette_094, ANIM_TAG_UNUSED_STRING}, - {gBattleAnimSpritePalette_095, ANIM_TAG_UNUSED_PENCIL}, - {gBattleAnimSpritePalette_096, ANIM_TAG_UNUSED_PETAL}, - {gBattleAnimSpritePalette_097, ANIM_TAG_BENT_SPOON}, - {gBattleAnimSpritePalette_094, ANIM_TAG_UNUSED_WEB}, - {gBattleAnimSpritePalette_099, ANIM_TAG_MILK_BOTTLE}, - {gBattleAnimSpritePalette_100, ANIM_TAG_COIN}, - {gBattleAnimSpritePalette_101, ANIM_TAG_UNUSED_CRACKED_EGG}, - {gBattleAnimSpritePalette_101, ANIM_TAG_UNUSED_HATCHED_EGG}, - {gBattleAnimSpritePalette_103, ANIM_TAG_UNUSED_FRESH_EGG}, - {gBattleAnimSpritePalette_104, ANIM_TAG_UNUSED_FANGS}, - {gBattleAnimSpritePalette_105, ANIM_TAG_UNUSED_EXPLOSION_2}, - {gBattleAnimSpritePalette_105, ANIM_TAG_UNUSED_EXPLOSION_3}, - {gBattleAnimSpritePalette_107, ANIM_TAG_UNUSED_WATER_DROPLET}, - {gBattleAnimSpritePalette_107, ANIM_TAG_UNUSED_WATER_DROPLET_2}, - {gBattleAnimSpritePalette_109, ANIM_TAG_UNUSED_SEED}, - {gBattleAnimSpritePalette_109, ANIM_TAG_UNUSED_SPROUT}, - {gBattleAnimSpritePalette_111, ANIM_TAG_UNUSED_RED_WAND}, - {gBattleAnimSpritePalette_112, ANIM_TAG_UNUSED_PURPLE_GREEN_UNK}, - {gBattleAnimSpritePalette_113, ANIM_TAG_UNUSED_WATER_COLUMN}, - {gBattleAnimSpritePalette_114, ANIM_TAG_UNUSED_MUD_UNK}, - {gBattleAnimSpritePalette_115, ANIM_TAG_RAIN_DROPS}, - {gBattleAnimSpritePalette_116, ANIM_TAG_UNUSED_FURY_SWIPES}, - {gBattleAnimSpritePalette_117, ANIM_TAG_UNUSED_VINE_2}, - {gBattleAnimSpritePalette_118, ANIM_TAG_UNUSED_TEETH}, - {gBattleAnimSpritePalette_119, ANIM_TAG_UNUSED_BONE}, - {gBattleAnimSpritePalette_120, ANIM_TAG_UNUSED_WHITE_BAG}, - {gBattleAnimSpritePalette_121, ANIM_TAG_UNUSED_UNKNOWN}, - {gBattleAnimSpritePalette_122, ANIM_TAG_UNUSED_PURPLE_CORAL}, - {gBattleAnimSpritePalette_122, ANIM_TAG_UNUSED_PURPLE_DROPLET}, - {gBattleAnimSpritePalette_124, ANIM_TAG_UNUSED_SHOCK_2}, - {gBattleAnimSpritePalette_125, ANIM_TAG_UNUSED_CLOSING_EYE_2}, - {gBattleAnimSpritePalette_126, ANIM_TAG_UNUSED_METAL_BALL}, - {gBattleAnimSpritePalette_127, ANIM_TAG_UNUSED_MONSTER_DOLL}, - {gBattleAnimSpritePalette_128, ANIM_TAG_UNUSED_WHIRLWIND}, - {gBattleAnimSpritePalette_128, ANIM_TAG_UNUSED_WHIRLWIND_2}, - {gBattleAnimSpritePalette_130, ANIM_TAG_UNUSED_EXPLOSION_4}, - {gBattleAnimSpritePalette_130, ANIM_TAG_UNUSED_EXPLOSION_5}, - {gBattleAnimSpritePalette_132, ANIM_TAG_UNUSED_TONGUE}, - {gBattleAnimSpritePalette_133, ANIM_TAG_UNUSED_SMOKE}, - {gBattleAnimSpritePalette_133, ANIM_TAG_UNUSED_SMOKE_2}, - {gBattleAnimSpritePalette_135, ANIM_TAG_IMPACT}, - {gBattleAnimSpritePalette_136, ANIM_TAG_CIRCLE_IMPACT}, - {gBattleAnimSpritePalette_135, ANIM_TAG_SCRATCH}, - {gBattleAnimSpritePalette_135, ANIM_TAG_CUT}, - {gBattleAnimSpritePalette_139, ANIM_TAG_SHARP_TEETH}, - {gBattleAnimSpritePalette_140, ANIM_TAG_RAINBOW_RINGS}, - {gBattleAnimSpritePalette_141, ANIM_TAG_ICE_CRYSTALS}, - {gBattleAnimSpritePalette_141, ANIM_TAG_ICE_SPIKES}, - {gBattleAnimSpritePalette_143, ANIM_TAG_HANDS_AND_FEET}, - {gBattleAnimSpritePalette_144, ANIM_TAG_MIST_CLOUD}, - {gBattleAnimSpritePalette_139, ANIM_TAG_CLAMP}, - {gBattleAnimSpritePalette_115, ANIM_TAG_BUBBLE}, - {gBattleAnimSpritePalette_147, ANIM_TAG_ORBS}, - {gBattleAnimSpritePalette_148, ANIM_TAG_WATER_IMPACT}, - {gBattleAnimSpritePalette_148, ANIM_TAG_WATER_ORB}, - {gBattleAnimSpritePalette_150, ANIM_TAG_POISON_BUBBLE}, - {gBattleAnimSpritePalette_150, ANIM_TAG_TOXIC_BUBBLE}, - {gBattleAnimSpritePalette_152, ANIM_TAG_SPIKES}, - {gBattleAnimSpritePalette_153, ANIM_TAG_HORN_HIT_2}, - {gBattleAnimSpritePalette_154, ANIM_TAG_AIR_WAVE_2}, - {gBattleAnimSpritePalette_155, ANIM_TAG_SMALL_BUBBLES}, - {gBattleAnimSpritePalette_156, ANIM_TAG_ROUND_SHADOW}, - {gBattleAnimSpritePalette_157, ANIM_TAG_SUNLIGHT}, - {gBattleAnimSpritePalette_158, ANIM_TAG_SPORE}, - {gBattleAnimSpritePalette_159, ANIM_TAG_FLOWER}, - {gBattleAnimSpritePalette_160, ANIM_TAG_RAZOR_LEAF}, - {gBattleAnimSpritePalette_161, ANIM_TAG_NEEDLE}, - {gBattleAnimSpritePalette_162, ANIM_TAG_WHIRLWIND_LINES}, - {gBattleAnimSpritePalette_163, ANIM_TAG_GOLD_RING}, - {gBattleAnimSpritePalette_164, ANIM_TAG_PURPLE_RING}, - {gBattleAnimSpritePalette_165, ANIM_TAG_BLUE_RING}, - {gBattleAnimSpritePalette_166, ANIM_TAG_GREEN_LIGHT_WALL}, - {gBattleAnimSpritePalette_167, ANIM_TAG_BLUE_LIGHT_WALL}, - {gBattleAnimSpritePalette_168, ANIM_TAG_RED_LIGHT_WALL}, - {gBattleAnimSpritePalette_169, ANIM_TAG_GRAY_LIGHT_WALL}, - {gBattleAnimSpritePalette_170, ANIM_TAG_ORANGE_LIGHT_WALL}, - {gBattleAnimSpritePalette_171, ANIM_TAG_BLACK_BALL_2}, - {gBattleAnimSpritePalette_172, ANIM_TAG_PURPLE_GAS_CLOUD}, - {gBattleAnimSpritePalette_001, ANIM_TAG_SPARK_H}, - {gBattleAnimSpritePalette_174, ANIM_TAG_YELLOW_STAR}, - {gBattleAnimSpritePalette_175, ANIM_TAG_LARGE_FRESH_EGG}, - {gBattleAnimSpritePalette_176, ANIM_TAG_SHADOW_BALL}, - {gBattleAnimSpritePalette_177, ANIM_TAG_LICK}, - {gBattleAnimSpritePalette_178, ANIM_TAG_UNUSED_VOID_LINES}, - {gBattleAnimSpritePalette_179, ANIM_TAG_STRING}, - {gBattleAnimSpritePalette_179, ANIM_TAG_WEB_THREAD}, - {gBattleAnimSpritePalette_179, ANIM_TAG_SPIDER_WEB}, - {gBattleAnimSpritePalette_182, ANIM_TAG_UNUSED_LIGHTBULB}, - {gBattleAnimSpritePalette_183, ANIM_TAG_SLASH}, - {gBattleAnimSpritePalette_184, ANIM_TAG_FOCUS_ENERGY}, - {gBattleAnimSpritePalette_185, ANIM_TAG_SPHERE_TO_CUBE}, - {gBattleAnimSpritePalette_186, ANIM_TAG_TENDRILS}, - {gBattleAnimSpritePalette_187, ANIM_TAG_EYE}, - {gBattleAnimSpritePalette_188, ANIM_TAG_WHITE_SHADOW}, - {gBattleAnimSpritePalette_189, ANIM_TAG_TEAL_ALERT}, - {gBattleAnimSpritePalette_190, ANIM_TAG_OPENING_EYE}, - {gBattleAnimSpritePalette_191, ANIM_TAG_ROUND_WHITE_HALO}, - {gBattleAnimSpritePalette_192, ANIM_TAG_FANG_ATTACK}, - {gBattleAnimSpritePalette_193, ANIM_TAG_PURPLE_HAND_OUTLINE}, - {gBattleAnimSpritePalette_194, ANIM_TAG_MOON}, - {gBattleAnimSpritePalette_195, ANIM_TAG_GREEN_SPARKLE}, - {gBattleAnimSpritePalette_196, ANIM_TAG_SPIRAL}, - {gBattleAnimSpritePalette_197, ANIM_TAG_SNORE_Z}, - {gBattleAnimSpritePalette_198, ANIM_TAG_EXPLOSION}, - {gBattleAnimSpritePalette_199, ANIM_TAG_NAIL}, - {gBattleAnimSpritePalette_200, ANIM_TAG_GHOSTLY_SPIRIT}, - {gBattleAnimSpritePalette_201, ANIM_TAG_WARM_ROCK}, - {gBattleAnimSpritePalette_202, ANIM_TAG_BREAKING_EGG}, - {gBattleAnimSpritePalette_203, ANIM_TAG_THIN_RING}, - {gBattleAnimSpritePalette_204, ANIM_TAG_UNUSED_PUNCH_IMPACT}, - {gBattleAnimSpritePalette_205, ANIM_TAG_BELL}, - {gBattleAnimSpritePalette_206, ANIM_TAG_MUSIC_NOTES_2}, - {gBattleAnimSpritePalette_207, ANIM_TAG_SPEED_DUST}, - {gBattleAnimSpritePalette_167, ANIM_TAG_TORN_METAL}, - {gBattleAnimSpritePalette_209, ANIM_TAG_THOUGHT_BUBBLE}, - {gBattleAnimSpritePalette_210, ANIM_TAG_MAGENTA_HEART}, - {gBattleAnimSpritePalette_211, ANIM_TAG_ELECTRIC_ORBS}, - {gBattleAnimSpritePalette_211, ANIM_TAG_CIRCLE_OF_LIGHT}, - {gBattleAnimSpritePalette_211, ANIM_TAG_ELECTRICITY}, - {gBattleAnimSpritePalette_064, ANIM_TAG_FINGER_2}, - {gBattleAnimSpritePalette_215, ANIM_TAG_MOVEMENT_WAVES}, - {gBattleAnimSpritePalette_216, ANIM_TAG_RED_HEART}, - {gBattleAnimSpritePalette_217, ANIM_TAG_RED_ORB}, - {gBattleAnimSpritePalette_218, ANIM_TAG_EYE_SPARKLE}, - {gBattleAnimSpritePalette_219, ANIM_TAG_PINK_HEART}, - {gBattleAnimSpritePalette_220, ANIM_TAG_ANGEL}, - {gBattleAnimSpritePalette_221, ANIM_TAG_DEVIL}, - {gBattleAnimSpritePalette_222, ANIM_TAG_SWIPE}, - {gBattleAnimSpritePalette_223, ANIM_TAG_ROOTS}, - {gBattleAnimSpritePalette_224, ANIM_TAG_ITEM_BAG}, - {gBattleAnimSpritePalette_225, ANIM_TAG_JAGGED_MUSIC_NOTE}, - {gBattleAnimSpritePalette_226, ANIM_TAG_POKEBALL}, - {gBattleAnimSpritePalette_226, ANIM_TAG_SPOTLIGHT}, - {gBattleAnimSpritePalette_228, ANIM_TAG_LETTER_Z}, - {gBattleAnimSpritePalette_229, ANIM_TAG_RAPID_SPIN}, - {gBattleAnimSpritePalette_230, ANIM_TAG_TRI_FORCE_TRIANGLE}, - {gBattleAnimSpritePalette_231, ANIM_TAG_WISP_ORB}, - {gBattleAnimSpritePalette_231, ANIM_TAG_WISP_FIRE}, - {gBattleAnimSpritePalette_233, ANIM_TAG_GOLD_STARS}, - {gBattleAnimSpritePalette_234, ANIM_TAG_ECLIPSING_ORB}, - {gBattleAnimSpritePalette_235, ANIM_TAG_GRAY_ORB}, - {gBattleAnimSpritePalette_236, ANIM_TAG_BLUE_ORB}, - {gBattleAnimSpritePalette_237, ANIM_TAG_RED_ORB_2}, - {gBattleAnimSpritePalette_238, ANIM_TAG_PINK_PETAL}, - {gBattleAnimSpritePalette_239, ANIM_TAG_PAIN_SPLIT}, - {gBattleAnimSpritePalette_240, ANIM_TAG_CONFETTI}, - {gBattleAnimSpritePalette_241, ANIM_TAG_GREEN_STAR}, - {gBattleAnimSpritePalette_242, ANIM_TAG_PINK_CLOUD}, - {gBattleAnimSpritePalette_243, ANIM_TAG_SWEAT_DROP}, - {gBattleAnimSpritePalette_244, ANIM_TAG_GUARD_RING}, - {gBattleAnimSpritePalette_245, ANIM_TAG_PURPLE_SCRATCH}, - {gBattleAnimSpritePalette_245, ANIM_TAG_PURPLE_SWIPE}, - {gBattleAnimSpritePalette_064, ANIM_TAG_TAG_HAND}, - {gBattleAnimSpritePalette_248, ANIM_TAG_SMALL_RED_EYE}, - {gBattleAnimSpritePalette_249, ANIM_TAG_HOLLOW_ORB}, - {gBattleAnimSpritePalette_249, ANIM_TAG_X_SIGN}, - {gBattleAnimSpritePalette_251, ANIM_TAG_BLUEGREEN_ORB}, - {gBattleAnimSpritePalette_252, ANIM_TAG_PAW_PRINT}, - {gBattleAnimSpritePalette_253, ANIM_TAG_PURPLE_FLAME}, - {gBattleAnimSpritePalette_254, ANIM_TAG_RED_BALL}, - {gBattleAnimSpritePalette_255, ANIM_TAG_SMELLINGSALT_EFFECT}, - {gBattleAnimSpritePalette_256, ANIM_TAG_METEOR}, - {gBattleAnimSpritePalette_257, ANIM_TAG_FLAT_ROCK}, - {gBattleAnimSpritePalette_258, ANIM_TAG_MAGNIFYING_GLASS}, - {gBattleAnimSpritePalette_259, ANIM_TAG_BROWN_ORB}, - {gBattleAnimSpritePalette_260, ANIM_TAG_METAL_SOUND_WAVES}, - {gBattleAnimSpritePalette_261, ANIM_TAG_FLYING_DIRT}, - {gBattleAnimSpritePalette_262, ANIM_TAG_ICICLE_SPEAR}, - {gBattleAnimSpritePalette_263, ANIM_TAG_HAIL}, - {gBattleAnimSpritePalette_264, ANIM_TAG_GLOWY_RED_ORB}, - {gBattleAnimSpritePalette_265, ANIM_TAG_GLOWY_GREEN_ORB}, - {gBattleAnimSpritePalette_266, ANIM_TAG_GREEN_SPIKE}, - {gBattleAnimSpritePalette_267, ANIM_TAG_WHITE_CIRCLE_OF_LIGHT}, - {gBattleAnimSpritePalette_268, ANIM_TAG_GLOWY_BLUE_ORB}, - {gBattleAnimSpritePalette_269, ANIM_TAG_UNUSED_RED_BRICK}, - {gBattleAnimSpritePalette_270, ANIM_TAG_WHITE_FEATHER}, - {gBattleAnimSpritePalette_271, ANIM_TAG_SPARKLE_6}, - {gBattleAnimSpritePalette_272, ANIM_TAG_SPLASH}, - {gBattleAnimSpritePalette_272, ANIM_TAG_SWEAT_BEAD}, - {gBattleAnimSpritePalette_274, ANIM_TAG_UNUSED_GEM_1}, - {gBattleAnimSpritePalette_274, ANIM_TAG_UNUSED_GEM_2}, - {gBattleAnimSpritePalette_274, ANIM_TAG_UNUSED_GEM_3}, - {gBattleAnimSpritePalette_277, ANIM_TAG_SLAM_HIT_2}, - {gBattleAnimSpritePalette_278, ANIM_TAG_RECYCLE}, - {gBattleAnimSpritePalette_279, ANIM_TAG_UNUSED_RED_PARTICLES}, - {gBattleAnimSpritePalette_280, ANIM_TAG_PROTECT}, - {gBattleAnimSpritePalette_281, ANIM_TAG_DIRT_MOUND}, - {gBattleAnimSpritePalette_282, ANIM_TAG_SHOCK_3}, - {gBattleAnimSpritePalette_283, ANIM_TAG_WEATHER_BALL}, - {gBattleAnimSpritePalette_284, ANIM_TAG_BIRD}, - {gBattleAnimSpritePalette_285, ANIM_TAG_CROSS_IMPACT}, - {gBattleAnimSpritePalette_286, ANIM_TAG_SLASH_2}, - {gBattleAnimSpritePalette_287, ANIM_TAG_WHIP_HIT}, - {gBattleAnimSpritePalette_288, ANIM_TAG_BLUE_RING_2}, + {gBattleAnimSpritePal_Bone, ANIM_TAG_BONE}, + {gBattleAnimSpritePal_Spark, ANIM_TAG_SPARK}, + {gBattleAnimSpritePal_Pencil, ANIM_TAG_PENCIL}, + {gBattleAnimSpritePal_AirWave, ANIM_TAG_AIR_WAVE}, + {gBattleAnimSpritePal_Orb, ANIM_TAG_ORB}, + {gBattleAnimSpritePal_Sword, ANIM_TAG_SWORD}, + {gBattleAnimSpritePal_Seed, ANIM_TAG_SEED}, + {gBattleAnimSpritePal_Explosion6, ANIM_TAG_EXPLOSION_6}, + {gBattleAnimSpritePal_PinkOrb, ANIM_TAG_PINK_ORB}, + {gBattleAnimSpritePal_Gust, ANIM_TAG_GUST}, + {gBattleAnimSpritePal_IceCube, ANIM_TAG_ICE_CUBE}, + {gBattleAnimSpritePal_Spark2, ANIM_TAG_SPARK_2}, + {gBattleAnimSpritePal_Orange, ANIM_TAG_ORANGE}, + {gBattleAnimSpritePal_YellowBall, ANIM_TAG_YELLOW_BALL}, + {gBattleAnimSpritePal_LockOn, ANIM_TAG_LOCK_ON}, + {gBattleAnimSpritePal_TiedBag, ANIM_TAG_TIED_BAG}, + {gBattleAnimSpritePal_BlackSmoke, ANIM_TAG_BLACK_SMOKE}, + {gBattleAnimSpritePal_BlackSmoke, ANIM_TAG_BLACK_BALL}, + {gBattleAnimSpritePal_Conversion, ANIM_TAG_CONVERSION}, + {gBattleAnimSpritePal_Glass, ANIM_TAG_GLASS}, + {gBattleAnimSpritePal_HornHit, ANIM_TAG_HORN_HIT}, + {gBattleAnimSpritePal_Hit, ANIM_TAG_HIT}, + {gBattleAnimSpritePal_Hit2, ANIM_TAG_HIT_2}, + {gBattleAnimSpritePal_BlueShards, ANIM_TAG_BLUE_SHARDS}, + {gBattleAnimSpritePal_ClosingEye, ANIM_TAG_CLOSING_EYE}, + {gBattleAnimSpritePal_WavingHand, ANIM_TAG_WAVING_HAND}, + {gBattleAnimSpritePal_HitDuplicate, ANIM_TAG_HIT_DUPLICATE}, + {gBattleAnimSpritePal_Leer, ANIM_TAG_LEER}, + {gBattleAnimSpritePal_BlueBurst, ANIM_TAG_BLUE_BURST}, + {gBattleAnimSpritePal_SmallEmber, ANIM_TAG_SMALL_EMBER}, + {gBattleAnimSpritePal_GraySmoke, ANIM_TAG_GRAY_SMOKE}, + {gBattleAnimSpritePal_BlueStar, ANIM_TAG_BLUE_STAR}, + {gBattleAnimSpritePal_BubbleBurst, ANIM_TAG_BUBBLE_BURST}, + {gBattleAnimSpritePal_Fire, ANIM_TAG_FIRE}, + {gBattleAnimSpritePal_Fire, ANIM_TAG_SPINNING_FIRE}, + {gBattleAnimSpritePal_Fire, ANIM_TAG_FIRE_PLUME}, + {gBattleAnimSpritePal_Lightning2, ANIM_TAG_LIGHTNING_2}, + {gBattleAnimSpritePal_Lightning2, ANIM_TAG_LIGHTNING}, + {gBattleAnimSpritePal_ClawSlash2, ANIM_TAG_CLAW_SLASH_2}, + {gBattleAnimSpritePal_ClawSlash, ANIM_TAG_CLAW_SLASH}, + {gBattleAnimSpritePal_ClawSlash2, ANIM_TAG_SCRATCH_3}, + {gBattleAnimSpritePal_ClawSlash2, ANIM_TAG_SCRATCH_2}, + {gBattleAnimSpritePal_BubbleBurst2, ANIM_TAG_BUBBLE_BURST_2}, + {gBattleAnimSpritePal_IceChunk, ANIM_TAG_ICE_CHUNK}, + {gBattleAnimSpritePal_Glass2, ANIM_TAG_GLASS_2}, + {gBattleAnimSpritePal_PinkHeart2, ANIM_TAG_PINK_HEART_2}, + {gBattleAnimSpritePal_SapDrip, ANIM_TAG_SAP_DRIP}, + {gBattleAnimSpritePal_SapDrip2, ANIM_TAG_SAP_DRIP}, + {gBattleAnimSpritePal_Sparkle1, ANIM_TAG_SPARKLE_1}, + {gBattleAnimSpritePal_Sparkle2, ANIM_TAG_SPARKLE_2}, + {gBattleAnimSpritePal_HumanoidFoot, ANIM_TAG_HUMANOID_FOOT}, + {gBattleAnimSpritePal_HumanoidFoot, ANIM_TAG_MONSTER_FOOT}, + {gBattleAnimSpritePal_HumanoidFoot, ANIM_TAG_HUMANOID_HAND}, + {gBattleAnimSpritePal_HitDuplicate, ANIM_TAG_NOISE_LINE}, + {gBattleAnimSpritePal_YellowUnk, ANIM_TAG_YELLOW_UNK}, + {gBattleAnimSpritePal_HumanoidFoot, ANIM_TAG_RED_FIST}, + {gBattleAnimSpritePal_SlamHit, ANIM_TAG_SLAM_HIT}, + {gBattleAnimSpritePal_Ring, ANIM_TAG_RING}, + {gBattleAnimSpritePal_Rocks, ANIM_TAG_ROCKS}, + {gBattleAnimSpritePal_Z, ANIM_TAG_Z}, + {gBattleAnimSpritePal_YellowUnk2, ANIM_TAG_YELLOW_UNK_2}, + {gBattleAnimSpritePal_AirSlash, ANIM_TAG_AIR_SLASH}, + {gBattleAnimSpritePal_SpinningGreenOrbs, ANIM_TAG_SPINNING_GREEN_ORBS}, + {gBattleAnimSpritePal_Leaf, ANIM_TAG_LEAF}, + {gBattleAnimSpritePal_Finger, ANIM_TAG_FINGER}, + {gBattleAnimSpritePal_PoisonPowder, ANIM_TAG_POISON_POWDER}, + {gBattleAnimSpritePal_BrownTriangle, ANIM_TAG_BROWN_TRIANGLE}, + {gBattleAnimSpritePal_SleepPowder, ANIM_TAG_SLEEP_POWDER}, + {gBattleAnimSpritePal_StunSpore, ANIM_TAG_STUN_SPORE}, + {gBattleAnimSpritePal_PoisonPowder, ANIM_TAG_POWDER}, + {gBattleAnimSpritePal_Sparkle3, ANIM_TAG_SPARKLE_3}, + {gBattleAnimSpritePal_Sparkle3, ANIM_TAG_SPARKLE_4}, + {gBattleAnimSpritePal_MusicNotes, ANIM_TAG_MUSIC_NOTES}, + {gBattleAnimSpritePal_Duck, ANIM_TAG_DUCK}, + {gBattleAnimSpritePal_MudSand, ANIM_TAG_MUD_SAND}, + {gBattleAnimSpritePal_Alert, ANIM_TAG_ALERT}, + {gBattleAnimSpritePal_BlueFlames, ANIM_TAG_BLUE_FLAMES}, + {gBattleAnimSpritePal_BlueFlames, ANIM_TAG_BLUE_FLAMES_2}, + {gBattleAnimSpritePal_Shock4, ANIM_TAG_SHOCK_4}, + {gBattleAnimSpritePal_Shock4, ANIM_TAG_SHOCK}, + {gBattleAnimSpritePal_Bell2, ANIM_TAG_BELL_2}, + {gBattleAnimSpritePal_PinkGlove, ANIM_TAG_PINK_GLOVE}, + {gBattleAnimSpritePal_BlueLines, ANIM_TAG_BLUE_LINES}, + {gBattleAnimSpritePal_Impact3, ANIM_TAG_IMPACT_3}, + {gBattleAnimSpritePal_Impact2, ANIM_TAG_IMPACT_2}, + {gBattleAnimSpritePal_Reticle, ANIM_TAG_RETICLE}, + {gBattleAnimSpritePal_Breath, ANIM_TAG_BREATH}, + {gBattleAnimSpritePal_Anger, ANIM_TAG_ANGER}, + {gBattleAnimSpritePal_Snowball, ANIM_TAG_SNOWBALL}, + {gBattleAnimSpritePal_Vine, ANIM_TAG_VINE}, + {gBattleAnimSpritePal_Sword2, ANIM_TAG_SWORD_2}, + {gBattleAnimSpritePal_Clapping, ANIM_TAG_CLAPPING}, + {gBattleAnimSpritePal_RedTube, ANIM_TAG_RED_TUBE}, + {gBattleAnimSpritePal_Amnesia, ANIM_TAG_AMNESIA}, + {gBattleAnimSpritePal_String2, ANIM_TAG_STRING_2}, + {gBattleAnimSpritePal_Pencil2, ANIM_TAG_PENCIL_2}, + {gBattleAnimSpritePal_Petal, ANIM_TAG_PETAL}, + {gBattleAnimSpritePal_BentSpoon, ANIM_TAG_BENT_SPOON}, + {gBattleAnimSpritePal_String2, ANIM_TAG_WEB}, + {gBattleAnimSpritePal_MilkBottle, ANIM_TAG_MILK_BOTTLE}, + {gBattleAnimSpritePal_Coin, ANIM_TAG_COIN}, + {gBattleAnimSpritePal_CrackedEgg, ANIM_TAG_CRACKED_EGG}, + {gBattleAnimSpritePal_CrackedEgg, ANIM_TAG_HATCHED_EGG}, + {gBattleAnimSpritePal_FreshEgg, ANIM_TAG_FRESH_EGG}, + {gBattleAnimSpritePal_Fangs, ANIM_TAG_FANGS}, + {gBattleAnimSpritePal_Explosion2, ANIM_TAG_EXPLOSION_2}, + {gBattleAnimSpritePal_Explosion2, ANIM_TAG_EXPLOSION_3}, + {gBattleAnimSpritePal_WaterDroplet, ANIM_TAG_WATER_DROPLET}, + {gBattleAnimSpritePal_WaterDroplet, ANIM_TAG_WATER_DROPLET_2}, + {gBattleAnimSpritePal_Seed2, ANIM_TAG_SEED_2}, + {gBattleAnimSpritePal_Seed2, ANIM_TAG_SPROUT}, + {gBattleAnimSpritePal_RedWand, ANIM_TAG_RED_WAND}, + {gBattleAnimSpritePal_PurpleGreenUnk, ANIM_TAG_PURPLE_GREEN_UNK}, + {gBattleAnimSpritePal_WaterColumn, ANIM_TAG_WATER_COLUMN}, + {gBattleAnimSpritePal_MudUnk, ANIM_TAG_MUD_UNK}, + {gBattleAnimSpritePal_RainDrops, ANIM_TAG_RAIN_DROPS}, + {gBattleAnimSpritePal_FurySwipes, ANIM_TAG_FURY_SWIPES}, + {gBattleAnimSpritePal_Vine2, ANIM_TAG_VINE_2}, + {gBattleAnimSpritePal_Teeth, ANIM_TAG_TEETH}, + {gBattleAnimSpritePal_Bone2, ANIM_TAG_BONE_2}, + {gBattleAnimSpritePal_WhiteBag, ANIM_TAG_WHITE_BAG}, + {gBattleAnimSpritePal_Unknown, ANIM_TAG_UNKNOWN}, + {gBattleAnimSpritePal_PurpleCoral, ANIM_TAG_PURPLE_CORAL}, + {gBattleAnimSpritePal_PurpleCoral, ANIM_TAG_PURPLE_DROPLET}, + {gBattleAnimSpritePal_Shock2, ANIM_TAG_SHOCK_2}, + {gBattleAnimSpritePal_ClosingEye2, ANIM_TAG_CLOSING_EYE_2}, + {gBattleAnimSpritePal_MetalBall, ANIM_TAG_METAL_BALL}, + {gBattleAnimSpritePal_MonsterDoll, ANIM_TAG_MONSTER_DOLL}, + {gBattleAnimSpritePal_Whirlwind, ANIM_TAG_WHIRLWIND}, + {gBattleAnimSpritePal_Whirlwind, ANIM_TAG_WHIRLWIND_2}, + {gBattleAnimSpritePal_Explosion4, ANIM_TAG_EXPLOSION_4}, + {gBattleAnimSpritePal_Explosion4, ANIM_TAG_EXPLOSION_5}, + {gBattleAnimSpritePal_Tongue, ANIM_TAG_TONGUE}, + {gBattleAnimSpritePal_Smoke, ANIM_TAG_SMOKE}, + {gBattleAnimSpritePal_Smoke, ANIM_TAG_SMOKE_2}, + {gBattleAnimSpritePal_Impact, ANIM_TAG_IMPACT}, + {gBattleAnimSpritePal_CircleImpact, ANIM_TAG_CIRCLE_IMPACT}, + {gBattleAnimSpritePal_Impact, ANIM_TAG_SCRATCH}, + {gBattleAnimSpritePal_Impact, ANIM_TAG_CUT}, + {gBattleAnimSpritePal_SharpTeeth, ANIM_TAG_SHARP_TEETH}, + {gBattleAnimSpritePal_RainbowRings, ANIM_TAG_RAINBOW_RINGS}, + {gBattleAnimSpritePal_IceCrystals, ANIM_TAG_ICE_CRYSTALS}, + {gBattleAnimSpritePal_IceCrystals, ANIM_TAG_ICE_SPIKES}, + {gBattleAnimSpritePal_HandsAndFeet, ANIM_TAG_HANDS_AND_FEET}, + {gBattleAnimSpritePal_MistCloud, ANIM_TAG_MIST_CLOUD}, + {gBattleAnimSpritePal_SharpTeeth, ANIM_TAG_CLAMP}, + {gBattleAnimSpritePal_RainDrops, ANIM_TAG_BUBBLE}, + {gBattleAnimSpritePal_Orbs, ANIM_TAG_ORBS}, + {gBattleAnimSpritePal_WaterImpact, ANIM_TAG_WATER_IMPACT}, + {gBattleAnimSpritePal_WaterImpact, ANIM_TAG_WATER_ORB}, + {gBattleAnimSpritePal_PoisonBubble, ANIM_TAG_POISON_BUBBLE}, + {gBattleAnimSpritePal_PoisonBubble, ANIM_TAG_TOXIC_BUBBLE}, + {gBattleAnimSpritePal_Spikes, ANIM_TAG_SPIKES}, + {gBattleAnimSpritePal_HornHit2, ANIM_TAG_HORN_HIT_2}, + {gBattleAnimSpritePal_AirWave2, ANIM_TAG_AIR_WAVE_2}, + {gBattleAnimSpritePal_SmallBubbles, ANIM_TAG_SMALL_BUBBLES}, + {gBattleAnimSpritePal_RoundShadow, ANIM_TAG_ROUND_SHADOW}, + {gBattleAnimSpritePal_Sunlight, ANIM_TAG_SUNLIGHT}, + {gBattleAnimSpritePal_Spore, ANIM_TAG_SPORE}, + {gBattleAnimSpritePal_Flower, ANIM_TAG_FLOWER}, + {gBattleAnimSpritePal_RazorLeaf, ANIM_TAG_RAZOR_LEAF}, + {gBattleAnimSpritePal_Needle, ANIM_TAG_NEEDLE}, + {gBattleAnimSpritePal_WhirlwindLines, ANIM_TAG_WHIRLWIND_LINES}, + {gBattleAnimSpritePal_GoldRing, ANIM_TAG_GOLD_RING}, + {gBattleAnimSpritePal_PurpleRing, ANIM_TAG_PURPLE_RING}, + {gBattleAnimSpritePal_BlueRing, ANIM_TAG_BLUE_RING}, + {gBattleAnimSpritePal_GreenLightWall, ANIM_TAG_GREEN_LIGHT_WALL}, + {gBattleAnimSpritePal_BlueLightWall, ANIM_TAG_BLUE_LIGHT_WALL}, + {gBattleAnimSpritePal_RedLightWall, ANIM_TAG_RED_LIGHT_WALL}, + {gBattleAnimSpritePal_GrayLightWall, ANIM_TAG_GRAY_LIGHT_WALL}, + {gBattleAnimSpritePal_OrangeLightWall, ANIM_TAG_ORANGE_LIGHT_WALL}, + {gBattleAnimSpritePal_BlackBall2, ANIM_TAG_BLACK_BALL_2}, + {gBattleAnimSpritePal_PurpleGasCloud, ANIM_TAG_PURPLE_GAS_CLOUD}, + {gBattleAnimSpritePal_Spark, ANIM_TAG_SPARK_H}, + {gBattleAnimSpritePal_YellowStar, ANIM_TAG_YELLOW_STAR}, + {gBattleAnimSpritePal_LargeFreshEgg, ANIM_TAG_LARGE_FRESH_EGG}, + {gBattleAnimSpritePal_ShadowBall, ANIM_TAG_SHADOW_BALL}, + {gBattleAnimSpritePal_Lick, ANIM_TAG_LICK}, + {gBattleAnimSpritePal_VoidLines, ANIM_TAG_VOID_LINES}, + {gBattleAnimSpritePal_String, ANIM_TAG_STRING}, + {gBattleAnimSpritePal_String, ANIM_TAG_WEB_THREAD}, + {gBattleAnimSpritePal_String, ANIM_TAG_SPIDER_WEB}, + {gBattleAnimSpritePal_Lightbulb, ANIM_TAG_LIGHTBULB}, + {gBattleAnimSpritePal_Slash, ANIM_TAG_SLASH}, + {gBattleAnimSpritePal_FocusEnergy, ANIM_TAG_FOCUS_ENERGY}, + {gBattleAnimSpritePal_SphereToCube, ANIM_TAG_SPHERE_TO_CUBE}, + {gBattleAnimSpritePal_Tendrils, ANIM_TAG_TENDRILS}, + {gBattleAnimSpritePal_Eye, ANIM_TAG_EYE}, + {gBattleAnimSpritePal_WhiteShadow, ANIM_TAG_WHITE_SHADOW}, + {gBattleAnimSpritePal_TealAlert, ANIM_TAG_TEAL_ALERT}, + {gBattleAnimSpritePal_OpeningEye, ANIM_TAG_OPENING_EYE}, + {gBattleAnimSpritePal_RoundWhiteHalo, ANIM_TAG_ROUND_WHITE_HALO}, + {gBattleAnimSpritePal_FangAttack, ANIM_TAG_FANG_ATTACK}, + {gBattleAnimSpritePal_PurpleHandOutline, ANIM_TAG_PURPLE_HAND_OUTLINE}, + {gBattleAnimSpritePal_Moon, ANIM_TAG_MOON}, + {gBattleAnimSpritePal_GreenSparkle, ANIM_TAG_GREEN_SPARKLE}, + {gBattleAnimSpritePal_Spiral, ANIM_TAG_SPIRAL}, + {gBattleAnimSpritePal_SnoreZ, ANIM_TAG_SNORE_Z}, + {gBattleAnimSpritePal_Explosion, ANIM_TAG_EXPLOSION}, + {gBattleAnimSpritePal_Nail, ANIM_TAG_NAIL}, + {gBattleAnimSpritePal_GhostlySpirit, ANIM_TAG_GHOSTLY_SPIRIT}, + {gBattleAnimSpritePal_WarmRock, ANIM_TAG_WARM_ROCK}, + {gBattleAnimSpritePal_BreakingEgg, ANIM_TAG_BREAKING_EGG}, + {gBattleAnimSpritePal_ThinRing, ANIM_TAG_THIN_RING}, + {gBattleAnimSpritePal_PunchImpact, ANIM_TAG_PUNCH_IMPACT}, + {gBattleAnimSpritePal_Bell, ANIM_TAG_BELL}, + {gBattleAnimSpritePal_MusicNotes2, ANIM_TAG_MUSIC_NOTES_2}, + {gBattleAnimSpritePal_SpeedDust, ANIM_TAG_SPEED_DUST}, + {gBattleAnimSpritePal_BlueLightWall, ANIM_TAG_TORN_METAL}, + {gBattleAnimSpritePal_ThoughtBubble, ANIM_TAG_THOUGHT_BUBBLE}, + {gBattleAnimSpritePal_MagentaHeart, ANIM_TAG_MAGENTA_HEART}, + {gBattleAnimSpritePal_ElectricOrbs, ANIM_TAG_ELECTRIC_ORBS}, + {gBattleAnimSpritePal_ElectricOrbs, ANIM_TAG_CIRCLE_OF_LIGHT}, + {gBattleAnimSpritePal_ElectricOrbs, ANIM_TAG_ELECTRICITY}, + {gBattleAnimSpritePal_Finger, ANIM_TAG_FINGER_2}, + {gBattleAnimSpritePal_MovementWaves, ANIM_TAG_MOVEMENT_WAVES}, + {gBattleAnimSpritePal_RedHeart, ANIM_TAG_RED_HEART}, + {gBattleAnimSpritePal_RedOrb, ANIM_TAG_RED_ORB}, + {gBattleAnimSpritePal_EyeSparkle, ANIM_TAG_EYE_SPARKLE}, + {gBattleAnimSpritePal_PinkHeart, ANIM_TAG_PINK_HEART}, + {gBattleAnimSpritePal_Angel, ANIM_TAG_ANGEL}, + {gBattleAnimSpritePal_Devil, ANIM_TAG_DEVIL}, + {gBattleAnimSpritePal_Swipe, ANIM_TAG_SWIPE}, + {gBattleAnimSpritePal_Roots, ANIM_TAG_ROOTS}, + {gBattleAnimSpritePal_ItemBag, ANIM_TAG_ITEM_BAG}, + {gBattleAnimSpritePal_JaggedMusicNote, ANIM_TAG_JAGGED_MUSIC_NOTE}, + {gBattleAnimSpritePal_Pokeball, ANIM_TAG_POKEBALL}, + {gBattleAnimSpritePal_Pokeball, ANIM_TAG_SPOTLIGHT}, + {gBattleAnimSpritePal_LetterZ, ANIM_TAG_LETTER_Z}, + {gBattleAnimSpritePal_RapidSpin, ANIM_TAG_RAPID_SPIN}, + {gBattleAnimSpritePal_TriForceTriangle, ANIM_TAG_TRI_FORCE_TRIANGLE}, + {gBattleAnimSpritePal_WispOrb, ANIM_TAG_WISP_ORB}, + {gBattleAnimSpritePal_WispOrb, ANIM_TAG_WISP_FIRE}, + {gBattleAnimSpritePal_GoldStars, ANIM_TAG_GOLD_STARS}, + {gBattleAnimSpritePal_EclipsingOrb, ANIM_TAG_ECLIPSING_ORB}, + {gBattleAnimSpritePal_GrayOrb, ANIM_TAG_GRAY_ORB}, + {gBattleAnimSpritePal_BlueOrb, ANIM_TAG_BLUE_ORB}, + {gBattleAnimSpritePal_RedOrb2, ANIM_TAG_RED_ORB_2}, + {gBattleAnimSpritePal_PinkPetal, ANIM_TAG_PINK_PETAL}, + {gBattleAnimSpritePal_PainSplit, ANIM_TAG_PAIN_SPLIT}, + {gBattleAnimSpritePal_Confetti, ANIM_TAG_CONFETTI}, + {gBattleAnimSpritePal_GreenStar, ANIM_TAG_GREEN_STAR}, + {gBattleAnimSpritePal_PinkCloud, ANIM_TAG_PINK_CLOUD}, + {gBattleAnimSpritePal_SweatDrop, ANIM_TAG_SWEAT_DROP}, + {gBattleAnimSpritePal_GuardRing, ANIM_TAG_GUARD_RING}, + {gBattleAnimSpritePal_PurpleScratch, ANIM_TAG_PURPLE_SCRATCH}, + {gBattleAnimSpritePal_PurpleScratch, ANIM_TAG_PURPLE_SWIPE}, + {gBattleAnimSpritePal_Finger, ANIM_TAG_TAG_HAND}, + {gBattleAnimSpritePal_SmallRedEye, ANIM_TAG_SMALL_RED_EYE}, + {gBattleAnimSpritePal_HollowOrb, ANIM_TAG_HOLLOW_ORB}, + {gBattleAnimSpritePal_HollowOrb, ANIM_TAG_X_SIGN}, + {gBattleAnimSpritePal_BluegreenOrb, ANIM_TAG_BLUEGREEN_ORB}, + {gBattleAnimSpritePal_PawPrint, ANIM_TAG_PAW_PRINT}, + {gBattleAnimSpritePal_PurpleFlame, ANIM_TAG_PURPLE_FLAME}, + {gBattleAnimSpritePal_RedBall, ANIM_TAG_RED_BALL}, + {gBattleAnimSpritePal_SmellingsaltEffect, ANIM_TAG_SMELLINGSALT_EFFECT}, + {gBattleAnimSpritePal_Meteor, ANIM_TAG_METEOR}, + {gBattleAnimSpritePal_FlatRock, ANIM_TAG_FLAT_ROCK}, + {gBattleAnimSpritePal_MagnifyingGlass, ANIM_TAG_MAGNIFYING_GLASS}, + {gBattleAnimSpritePal_BrownOrb, ANIM_TAG_BROWN_ORB}, + {gBattleAnimSpritePal_MetalSoundWaves, ANIM_TAG_METAL_SOUND_WAVES}, + {gBattleAnimSpritePal_FlyingDirt, ANIM_TAG_FLYING_DIRT}, + {gBattleAnimSpritePal_IcicleSpear, ANIM_TAG_ICICLE_SPEAR}, + {gBattleAnimSpritePal_Hail, ANIM_TAG_HAIL}, + {gBattleAnimSpritePal_GlowyRedOrb, ANIM_TAG_GLOWY_RED_ORB}, + {gBattleAnimSpritePal_GlowyGreenOrb, ANIM_TAG_GLOWY_GREEN_ORB}, + {gBattleAnimSpritePal_GreenSpike, ANIM_TAG_GREEN_SPIKE}, + {gBattleAnimSpritePal_WhiteCircleOfLight, ANIM_TAG_WHITE_CIRCLE_OF_LIGHT}, + {gBattleAnimSpritePal_GlowyBlueOrb, ANIM_TAG_GLOWY_BLUE_ORB}, + {gBattleAnimSpritePal_Pokeblock, ANIM_TAG_POKEBLOCK}, + {gBattleAnimSpritePal_WhiteFeather, ANIM_TAG_WHITE_FEATHER}, + {gBattleAnimSpritePal_Sparkle6, ANIM_TAG_SPARKLE_6}, + {gBattleAnimSpritePal_Splash, ANIM_TAG_SPLASH}, + {gBattleAnimSpritePal_Splash, ANIM_TAG_SWEAT_BEAD}, + {gBattleAnimSpritePal_Gem1, ANIM_TAG_GEM_1}, + {gBattleAnimSpritePal_Gem1, ANIM_TAG_GEM_2}, + {gBattleAnimSpritePal_Gem1, ANIM_TAG_GEM_3}, + {gBattleAnimSpritePal_SlamHit2, ANIM_TAG_SLAM_HIT_2}, + {gBattleAnimSpritePal_Recycle, ANIM_TAG_RECYCLE}, + {gBattleAnimSpritePal_RedParticles, ANIM_TAG_RED_PARTICLES}, + {gBattleAnimSpritePal_Protect, ANIM_TAG_PROTECT}, + {gBattleAnimSpritePal_DirtMound, ANIM_TAG_DIRT_MOUND}, + {gBattleAnimSpritePal_Shock3, ANIM_TAG_SHOCK_3}, + {gBattleAnimSpritePal_WeatherBall, ANIM_TAG_WEATHER_BALL}, + {gBattleAnimSpritePal_Bird, ANIM_TAG_BIRD}, + {gBattleAnimSpritePal_CrossImpact, ANIM_TAG_CROSS_IMPACT}, + {gBattleAnimSpritePal_Slash2, ANIM_TAG_SLASH_2}, + {gBattleAnimSpritePal_WhipHit, ANIM_TAG_WHIP_HIT}, + {gBattleAnimSpritePal_BlueRing2, ANIM_TAG_BLUE_RING_2}, }; const struct BattleAnimBackground gBattleAnimBackgroundTable[] = { - {gBattleAnimBackgroundImage_00, gBattleAnimBackgroundPalette_00, gBattleAnimBackgroundTilemap_00}, - {gBattleAnimBackgroundImage_00, gBattleAnimBackgroundPalette_00, gBattleAnimBackgroundTilemap_00}, - {gBattleAnimBackgroundImage_02, gBattleAnimBackgroundPalette_02, gBattleAnimBackgroundTilemap_02}, - {gBattleAnimBackgroundImage_03, gBattleAnimBackgroundPalette_03, gBattleAnimBackgroundTilemap_03}, - {gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_04, gBattleAnimBackgroundTilemap_04}, - {gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_04, gBattleAnimBackgroundTilemap_05}, - {gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_04, gBattleAnimBackgroundTilemap_06}, - {gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_07, gBattleAnimBackgroundTilemap_07}, - {gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_07, gBattleAnimBackgroundTilemap_08}, - {gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_09, gBattleAnimBackgroundTilemap_09}, - {gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_09, gBattleAnimBackgroundTilemap_10}, - {gBattleAnimBackgroundImage_11, gBattleAnimBackgroundPalette_11, gBattleAnimBackgroundTilemap_11}, - {gBattleAnimBackgroundImage_12, gBattleAnimBackgroundPalette_12, gBattleAnimBackgroundTilemap_12}, - {gBattleAnimBackgroundImage_12, gBattleAnimBackgroundPalette_12, gBattleAnimBackgroundTilemap_13}, - {gBattleAnimBackgroundImage_12, gBattleAnimBackgroundPalette_12, gBattleAnimBackgroundTilemap_14}, - {gBattleAnimBackgroundImage_15, gBattleAnimBackgroundPalette_15, gBattleAnimBackgroundTilemap_15}, - {gBattleAnimBackgroundImage_16, gBattleAnimBackgroundPalette_16, gBattleAnimBackgroundTilemap_16}, - {gBattleAnimBackgroundImage_17, gBattleAnimBackgroundPalette_17, gBattleAnimBackgroundTilemap_17}, - {gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_18, gBattleAnimBackgroundTilemap_07}, - {gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_18, gBattleAnimBackgroundTilemap_08}, - {gBattleAnimBackgroundImage_20, gBattleAnimBackgroundPalette_20, gBattleAnimBackgroundTilemap_20}, - {gBattleAnimBackgroundImage_21, gBattleAnimBackgroundPalette_21, gBattleAnimBackgroundTilemap_21}, - {gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_22, gBattleAnimBackgroundTilemap_09}, - {gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_22, gBattleAnimBackgroundTilemap_10}, - {gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_24, gBattleAnimBackgroundTilemap_04}, - {gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_24, gBattleAnimBackgroundTilemap_05}, - {gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_24, gBattleAnimBackgroundTilemap_06}, + [BG_DARK_] = {gBattleAnimBgImage_Dark, gBattleAnimBgPalette_Dark, gBattleAnimBgTilemap_Dark}, + [BG_DARK] = {gBattleAnimBgImage_Dark, gBattleAnimBgPalette_Dark, gBattleAnimBgTilemap_Dark}, + [BG_GHOST] = {gBattleAnimBgImage_Ghost, gBattleAnimBgPalette_Ghost, gBattleAnimBgTilemap_Ghost}, + [BG_PSYCHIC] = {gBattleAnimBgImage_Psychic, gBattleAnimBgPalette_Psychic, gBattleAnimBgTilemap_Psychic}, + [BG_IMPACT_OPPONENT] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Impact, gBattleAnimBgTilemap_ImpactOpponent}, + [BG_IMPACT_PLAYER] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Impact, gBattleAnimBgTilemap_ImpactPlayer}, + [BG_IMPACT_CONTESTS] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Impact, gBattleAnimBgTilemap_ImpactContests}, + [BG_DRILL] = {gBattleAnimBgImage_Drill, gBattleAnimBgPalette_Drill, gBattleAnimBgTilemap_Drill}, + [BG_DRILL_CONTESTS] = {gBattleAnimBgImage_Drill, gBattleAnimBgPalette_Drill, gBattleAnimBgTilemap_DrillContests}, + [BG_HIGHSPEED_OPPONENT] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_Highspeed, gBattleAnimBgTilemap_HighspeedOpponent}, + [BG_HIGHSPEED_PLAYER] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_Highspeed, gBattleAnimBgTilemap_HighspeedPlayer}, + [BG_THUNDER] = {gBattleAnimBgImage_Thunder, gBattleAnimBgPalette_Thunder, gBattleAnimBgTilemap_Thunder}, + [BG_GUILLOTINE_OPPONENT] = {gBattleAnimBgImage_Guillotine, gBattleAnimBgPalette_Guillotine, gBattleAnimBgTilemap_GuillotineOpponent}, + [BG_GUILLOTINE_PLAYER] = {gBattleAnimBgImage_Guillotine, gBattleAnimBgPalette_Guillotine, gBattleAnimBgTilemap_GuillotinePlayer}, + [BG_GUILLOTINE_CONTESTS] = {gBattleAnimBgImage_Guillotine, gBattleAnimBgPalette_Guillotine, gBattleAnimBgTilemap_GuillotineContests}, + [BG_ICE] = {gBattleAnimBgImage_Ice, gBattleAnimBgPalette_Ice, gBattleAnimBgTilemap_Ice}, + [BG_COSMIC] = {gBattleAnimBgImage_Cosmic, gBattleAnimBgPalette_Cosmic, gBattleAnimBgTilemap_Cosmic}, + [BG_IN_AIR] = {gBattleAnimBgImage_InAir, gBattleAnimBgPalette_InAir, gBattleAnimBgTilemap_InAir}, + [BG_SKY] = {gBattleAnimBgImage_Drill, gBattleAnimBgPalette_Sky, gBattleAnimBgTilemap_Drill}, + [BG_SKY_CONTESTS] = {gBattleAnimBgImage_Drill, gBattleAnimBgPalette_Sky, gBattleAnimBgTilemap_DrillContests}, + [BG_AURORA] = {gBattleAnimBgImage_Aurora, gBattleAnimBgPalette_Aurora, gBattleAnimBgTilemap_Aurora}, + [BG_FISSURE] = {gBattleAnimBgImage_Fissure, gBattleAnimBgPalette_Fissure, gBattleAnimBgTilemap_Fissure}, + [BG_BUG_OPPONENT] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_Bug, gBattleAnimBgTilemap_HighspeedOpponent}, + [BG_BUG_PLAYER] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_Bug, gBattleAnimBgTilemap_HighspeedPlayer}, + [BG_SOLARBEAM_OPPONENT] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Solarbeam, gBattleAnimBgTilemap_ImpactOpponent}, + [BG_SOLARBEAM_PLAYER] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Solarbeam, gBattleAnimBgTilemap_ImpactPlayer}, + [BG_SOLARBEAM_CONTESTS] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Solarbeam, gBattleAnimBgTilemap_ImpactContests}, }; static void (* const sScriptCmdTable[])(void) = @@ -2938,7 +2936,7 @@ s8 BattleAnimAdjustPanning2(s8 pan) return pan; } -s16 KeepPanInRange(s16 panArg) +s16 KeepPanInRange(s16 panArg, int oldPan) { s16 pan = panArg; @@ -3448,5 +3446,3 @@ static void ScriptCmd_stopsound(void) m4aMPlayStop(&gMPlayInfo_SE2); sBattleAnimScriptPtr++; } - - diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c index af4bc19ec0..49bb0216bc 100644 --- a/src/battle_anim_effects_1.c +++ b/src/battle_anim_effects_1.c @@ -1121,8 +1121,8 @@ const union AnimCmd *const gUnknown_08592918[] = const struct SpriteTemplate gUnknown_0859291C = { - .tileTag = ANIM_TAG_UNUSED_HIT, - .paletteTag = ANIM_TAG_UNUSED_HIT, + .tileTag = ANIM_TAG_HIT, + .paletteTag = ANIM_TAG_HIT, .oam = &gUnknown_08524914, .anims = gUnknown_08592918, .images = NULL, @@ -1132,8 +1132,8 @@ const struct SpriteTemplate gUnknown_0859291C = const struct SpriteTemplate gUnknown_08592934 = { - .tileTag = ANIM_TAG_UNUSED_HIT_2, - .paletteTag = ANIM_TAG_UNUSED_HIT_2, + .tileTag = ANIM_TAG_HIT_2, + .paletteTag = ANIM_TAG_HIT_2, .oam = &gUnknown_08524914, .anims = gUnknown_08592918, .images = NULL, @@ -1442,8 +1442,8 @@ const union AnimCmd *const gUnknown_08592BF4[] = const struct SpriteTemplate gUnknown_08592BFC = { - .tileTag = ANIM_TAG_UNUSED_BUBBLE_BURST, - .paletteTag = ANIM_TAG_UNUSED_BUBBLE_BURST, + .tileTag = ANIM_TAG_BUBBLE_BURST, + .paletteTag = ANIM_TAG_BUBBLE_BURST, .oam = &gUnknown_0852490C, .anims = gUnknown_08592BF4, .images = NULL, diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c index e3295acb87..65cc556048 100755 --- a/src/battle_anim_effects_2.c +++ b/src/battle_anim_effects_2.c @@ -189,8 +189,8 @@ const union AffineAnimCmd *const gUnknown_08593300[] = const struct SpriteTemplate gUnknown_08593304 = { - .tileTag = ANIM_TAG_UNUSED_EXPLOSION, - .paletteTag = ANIM_TAG_UNUSED_EXPLOSION, + .tileTag = ANIM_TAG_EXPLOSION_6, + .paletteTag = ANIM_TAG_EXPLOSION_6, .oam = &gUnknown_08524974, .anims = gUnknown_085932E4, .images = NULL, @@ -359,8 +359,8 @@ const struct SpriteTemplate gUnknown_08593488 = const struct SpriteTemplate gUnknown_085934A0 = { - .tileTag = ANIM_TAG_UNUSED_VOID_LINES, - .paletteTag = ANIM_TAG_UNUSED_VOID_LINES, + .tileTag = ANIM_TAG_VOID_LINES, + .paletteTag = ANIM_TAG_VOID_LINES, .oam = &gUnknown_08524A3C, .anims = gDummySpriteAnimTable, .images = NULL, @@ -1734,90 +1734,25 @@ void sub_8103FE8(struct Sprite *sprite) sprite->callback = sub_8104018; } -#ifdef NONMATCHING static void sub_8104018(struct Sprite *sprite) { - u16 r7; - u16 r5; + u16 id, val; int i; + if (++sprite->data[1] == 2) { sprite->data[1] = 0; - r5 = sprite->data[0]; - r7 = gPlttBufferFaded[8 + r5]; - for (i = 0; i < 8; i++) - { - gPlttBufferFaded[i + r5 + 8] = gPlttBufferFaded[i + r5 + 9]; - } - gPlttBufferFaded[r5 + 15] = r7; + id = sprite->data[0]; + val = gPlttBufferFaded[8 + id]; + for (i = 8; i < 16; i++) + gPlttBufferFaded[i + id] = gPlttBufferFaded[i + id + 1]; + + gPlttBufferFaded[id + 15] = val; if (++sprite->data[2] == 24) DestroyAnimSprite(sprite); } } -#else -NAKED -static void sub_8104018(struct Sprite *sprite) -{ - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - adds r4, r0, 0\n\ - ldrh r0, [r4, 0x30]\n\ - adds r0, 0x1\n\ - strh r0, [r4, 0x30]\n\ - lsls r0, 16\n\ - asrs r0, 16\n\ - cmp r0, 0x2\n\ - bne _0810407C\n\ - movs r0, 0\n\ - strh r0, [r4, 0x30]\n\ - ldrh r5, [r4, 0x2E]\n\ - ldr r1, =gPlttBufferFaded\n\ - adds r0, r5, 0\n\ - adds r0, 0x8\n\ - lsls r0, 1\n\ - adds r0, r1 \n\ - ldrh r7, [r0]\n\ - adds r6, r1, 0\n\ - adds r1, r5, 0\n\ - adds r1, 0x9\n\ - lsls r0, r5, 1\n\ - adds r0, r6\n\ - adds r2, r0, 0\n\ - adds r2, 0x10\n\ - movs r3, 0x7\n\ - lsls r1, 1\n\ - adds r1, r6\n\ -_08104050:\n\ - ldrh r0, [r1]\n\ - strh r0, [r2]\n\ - adds r1, 0x2\n\ - adds r2, 0x2\n\ - subs r3, 0x1\n\ - cmp r3, 0\n\ - bge _08104050\n\ - adds r0, r5, 0\n\ - adds r0, 0xF\n\ - lsls r0, 1\n\ - adds r0, r6\n\ - strh r7, [r0]\n\ - ldrh r0, [r4, 0x32]\n\ - adds r0, 0x1\n\ - strh r0, [r4, 0x32]\n\ - lsls r0, 16\n\ - asrs r0, 16\n\ - cmp r0, 0x18\n\ - bne _0810407C\n\ - adds r0, r4, 0\n\ - bl DestroyAnimSprite\n\ -_0810407C:\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .pool\n\ -.syntax divided\n"); -} -#endif void sub_8104088(struct Sprite *sprite) { @@ -3067,7 +3002,7 @@ void sub_8105CB4(u8 taskId) paletteNums[i] = AllocSpritePalette(ANIM_SPRITES_START - i); gMonSpritesGfxPtr->field_17C = AllocZeroed(0x2000); - LZDecompressWram(gBattleAnimSpritePalette_206, gMonSpritesGfxPtr->field_17C); + LZDecompressWram(gBattleAnimSpritePal_MusicNotes2, gMonSpritesGfxPtr->field_17C); for (i = 0; i < 3; i++) LoadPalette(&gMonSpritesGfxPtr->field_17C[i * 32], (u16)((paletteNums[i] << 4) + 0x100), 32); @@ -3381,11 +3316,11 @@ void sub_81064F8(u8 taskId) SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y); sub_80A6B30(&animBg); if (IsContest()) - sub_80A6D60(&animBg, &gBattleAnimBackgroundTilemap_ScaryFaceContest, 0); + sub_80A6D60(&animBg, &gBattleAnimBgTilemap_ScaryFaceContest, 0); else if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_OPPONENT) - sub_80A6D60(&animBg, &gBattleAnimBackgroundTilemap_ScaryFacePlayer, 0); + sub_80A6D60(&animBg, &gBattleAnimBgTilemap_ScaryFacePlayer, 0); else - sub_80A6D60(&animBg, &gBattleAnimBackgroundTilemap_ScaryFaceOpponent, 0); + sub_80A6D60(&animBg, &gBattleAnimBgTilemap_ScaryFaceOpponent, 0); AnimLoadCompressedBgGfx(animBg.bgId, gUnknown_08C249F8, animBg.tilesOffset); LoadCompressedPalette(gUnknown_08C249D0, animBg.paletteId * 16, 32); diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c index efa2620fd5..ab765b8c1e 100755 --- a/src/battle_anim_effects_3.c +++ b/src/battle_anim_effects_3.c @@ -4,7 +4,7 @@ #include "battle_anim.h" #include "bg.h" #include "contest.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "dma3.h" #include "gpu_regs.h" @@ -25,8 +25,6 @@ #include "constants/weather.h" extern const struct SpriteTemplate gUnknown_08593114; -extern const union AffineAnimCmd *const gUnknown_082FF6C0[]; -extern const union AffineAnimCmd *const gUnknown_082FF694[]; void sub_815A0D4(struct Sprite *); void sub_815A1B0(struct Sprite *); diff --git a/src/battle_anim_mons.c b/src/battle_anim_mons.c index 372377a0cf..c6058204d1 100644 --- a/src/battle_anim_mons.c +++ b/src/battle_anim_mons.c @@ -3,7 +3,7 @@ #include "battle_anim.h" #include "bg.h" #include "contest.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "dma3.h" #include "gpu_regs.h" @@ -27,11 +27,6 @@ #define IS_DOUBLE_BATTLE() ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) extern const struct OamData gUnknown_0852497C; -extern const struct MonCoords gMonFrontPicCoords[]; -extern const struct MonCoords gMonBackPicCoords[]; -extern const u8 gEnemyMonElevation[]; -extern const struct CompressedSpriteSheet gMonFrontPicTable[]; -extern const union AffineAnimCmd *gUnknown_082FF6C0[]; static void sub_80A6FB4(struct Sprite *sprite); static void sub_80A7144(struct Sprite *sprite); diff --git a/src/battle_anim_sound_tasks.c b/src/battle_anim_sound_tasks.c index e5f0cd1652..573feb41c4 100644 --- a/src/battle_anim_sound_tasks.c +++ b/src/battle_anim_sound_tasks.c @@ -53,7 +53,7 @@ static void sub_8158B98(u8 taskId) PlaySE12WithPanning(gTasks[taskId].data[0], pan); } pan += panIncrement; - gTasks[taskId].data[2] = KeepPanInRange(pan); + gTasks[taskId].data[2] = KeepPanInRange(pan, panIncrement); } } @@ -116,9 +116,12 @@ static void sub_8158D08(u8 taskId) if (gTasks[taskId].data[10]++ == gTasks[taskId].data[5]) { + u16 dPan, oldPan; gTasks[taskId].data[10] = 0; - gTasks[taskId].data[11] += gTasks[taskId].data[3]; - gTasks[taskId].data[11] = KeepPanInRange(gTasks[taskId].data[11]); + dPan = gTasks[taskId].data[3]; + oldPan = gTasks[taskId].data[11] ; + gTasks[taskId].data[11] = dPan + oldPan; + gTasks[taskId].data[11] = KeepPanInRange(gTasks[taskId].data[11], oldPan); } } // task end @@ -368,71 +371,21 @@ void sub_8159278(u8 taskId) sub_8159308(taskId); } -#ifdef NONMATCHING void sub_8159308(u8 taskId) { - s16 panIncrement = gTasks[taskId].data[3]; + u16 panIncrement = gTasks[taskId].data[3]; if (gTasks[taskId].data[10]++ == gTasks[taskId].data[5]) { + u16 oldPan; gTasks[taskId].data[10] = 0; - - gTasks[taskId].data[11] += panIncrement; - gTasks[taskId].data[11] = KeepPanInRange(gTasks[taskId].data[11]); + oldPan = gTasks[taskId].data[11]; + gTasks[taskId].data[11] = panIncrement + oldPan; + gTasks[taskId].data[11] = KeepPanInRange(gTasks[taskId].data[11], oldPan); } gUnknown_02038440 = gTasks[taskId].data[11]; if (gTasks[taskId].data[11] == gTasks[taskId].data[2]) DestroyAnimVisualTask(taskId); } -#else -NAKED -void sub_8159308(u8 taskId) -{ - asm_unified(" push {r4,r5,lr}\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - adds r5, r0, 0\n\ - ldr r1, =gTasks\n\ - lsls r0, r5, 2\n\ - adds r0, r5\n\ - lsls r0, 3\n\ - adds r4, r0, r1\n\ - ldrh r2, [r4, 0xE]\n\ - ldrh r0, [r4, 0x1C]\n\ - adds r1, r0, 0x1\n\ - strh r1, [r4, 0x1C]\n\ - lsls r0, 16\n\ - asrs r0, 16\n\ - movs r3, 0x12\n\ - ldrsh r1, [r4, r3]\n\ - cmp r0, r1\n\ - bne _08159342\n\ - movs r0, 0\n\ - strh r0, [r4, 0x1C]\n\ - ldrh r1, [r4, 0x1E]\n\ - adds r0, r2, r1\n\ - strh r0, [r4, 0x1E]\n\ - movs r2, 0x1E\n\ - ldrsh r0, [r4, r2]\n\ - bl KeepPanInRange\n\ - strh r0, [r4, 0x1E]\n\ -_08159342:\n\ - ldr r1, =gUnknown_02038440\n\ - ldrh r0, [r4, 0x1E]\n\ - strb r0, [r1]\n\ - movs r3, 0x1E\n\ - ldrsh r1, [r4, r3]\n\ - movs r2, 0xC\n\ - ldrsh r0, [r4, r2]\n\ - cmp r1, r0\n\ - bne _0815935A\n\ - adds r0, r5, 0\n\ - bl DestroyAnimVisualTask\n\ -_0815935A:\n\ - pop {r4,r5}\n\ - pop {r0}\n\ - bx r0\n\ - .pool"); -} -#endif + diff --git a/src/battle_anim_special.c b/src/battle_anim_special.c index 92874fe092..740340d141 100755 --- a/src/battle_anim_special.c +++ b/src/battle_anim_special.c @@ -16,9 +16,10 @@ #include "task.h" #include "trig.h" #include "util.h" -#include "constants/rgb.h" #include "constants/items.h" +#include "constants/moves.h" #include "constants/songs.h" +#include "constants/rgb.h" // iwram int gUnknown_030062DC; @@ -103,39 +104,52 @@ static const struct BallCaptureSuccessStarData sBallCaptureSuccessStarData[] = }, }; -const struct CompressedSpriteSheet gBallOpenParticleSpritesheets[] = +#define TAG_PARTICLES_POKEBALL 55020 +#define TAG_PARTICLES_GREATBALL 55021 +#define TAG_PARTICLES_SAFARIBALL 55022 +#define TAG_PARTICLES_ULTRABALL 55023 +#define TAG_PARTICLES_MASTERBALL 55024 +#define TAG_PARTICLES_NETBALL 55025 +#define TAG_PARTICLES_DIVEBALL 55026 +#define TAG_PARTICLES_NESTBALL 55027 +#define TAG_PARTICLES_REPEATBALL 55028 +#define TAG_PARTICLES_TIMERBALL 55029 +#define TAG_PARTICLES_LUXURYBALL 55030 +#define TAG_PARTICLES_PREMIERBALL 55031 + +const struct CompressedSpriteSheet gBallParticleSpritesheets[] = { - {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6EC}, - {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6ED}, - {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6EE}, - {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6EF}, - {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F0}, - {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F1}, - {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F2}, - {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F3}, - {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F4}, - {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F5}, - {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F6}, - {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F7}, + {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_POKEBALL}, + {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_GREATBALL}, + {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_SAFARIBALL}, + {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_ULTRABALL}, + {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_MASTERBALL}, + {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_NETBALL}, + {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_DIVEBALL}, + {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_NESTBALL}, + {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_REPEATBALL}, + {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_TIMERBALL}, + {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_LUXURYBALL}, + {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_PREMIERBALL}, }; -const struct CompressedSpritePalette gBallOpenParticlePalettes[] = +const struct CompressedSpritePalette gBallParticlePalettes[] = { - {gBattleAnimSpritePalette_136, 0xD6EC}, - {gBattleAnimSpritePalette_136, 0xD6ED}, - {gBattleAnimSpritePalette_136, 0xD6EE}, - {gBattleAnimSpritePalette_136, 0xD6EF}, - {gBattleAnimSpritePalette_136, 0xD6F0}, - {gBattleAnimSpritePalette_136, 0xD6F1}, - {gBattleAnimSpritePalette_136, 0xD6F2}, - {gBattleAnimSpritePalette_136, 0xD6F3}, - {gBattleAnimSpritePalette_136, 0xD6F4}, - {gBattleAnimSpritePalette_136, 0xD6F5}, - {gBattleAnimSpritePalette_136, 0xD6F6}, - {gBattleAnimSpritePalette_136, 0xD6F7}, + {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_POKEBALL}, + {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_GREATBALL}, + {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_SAFARIBALL}, + {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_ULTRABALL}, + {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_MASTERBALL}, + {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_NETBALL}, + {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_DIVEBALL}, + {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_NESTBALL}, + {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_REPEATBALL}, + {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_TIMERBALL}, + {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_LUXURYBALL}, + {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_PREMIERBALL}, }; -const union AnimCmd gUnknown_085E5154[] = +const union AnimCmd gAnim_RegularBall[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 1), @@ -146,64 +160,64 @@ const union AnimCmd gUnknown_085E5154[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gUnknown_085E5170[] = +const union AnimCmd gAnim_MasterBall[] = { ANIMCMD_FRAME(3, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_085E5178[] = +const union AnimCmd gAnim_NetDiveBall[] = { ANIMCMD_FRAME(4, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_085E5180[] = +const union AnimCmd gAnim_NestBall[] = { ANIMCMD_FRAME(5, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_085E5188[] = +const union AnimCmd gAnim_LuxuryPremierBall[] = { ANIMCMD_FRAME(6, 4), ANIMCMD_FRAME(7, 4), ANIMCMD_JUMP(0), }; -const union AnimCmd gUnknown_085E5194[] = +const union AnimCmd gAnim_UltraRepeatTimerBall[] = { ANIMCMD_FRAME(7, 4), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_085E519C[] = +const union AnimCmd *const gAnims_BallParticles[] = { - gUnknown_085E5154, - gUnknown_085E5170, - gUnknown_085E5178, - gUnknown_085E5180, - gUnknown_085E5188, - gUnknown_085E5194, + gAnim_RegularBall, + gAnim_MasterBall, + gAnim_NetDiveBall, + gAnim_NestBall, + gAnim_LuxuryPremierBall, + gAnim_UltraRepeatTimerBall, }; -const u8 gBallOpenParticleAnimNums[] = +const u8 gBallParticleAnimNums[] = { - 0, - 0, - 0, - 5, - 1, - 2, - 2, - 3, - 5, - 5, - 4, - 4, + [BALL_POKE] = 0, + [BALL_GREAT] = 0, + [BALL_SAFARI] = 0, + [BALL_ULTRA] = 5, + [BALL_MASTER] = 1, + [BALL_NET] = 2, + [BALL_DIVE] = 2, + [BALL_NEST] = 3, + [BALL_REPEAT] = 5, + [BALL_TIMER] = 5, + [BALL_LUXURY] = 4, + [BALL_PREMIER] = 4, }; -const TaskFunc gBallOpenParticleAnimationFuncs[] = +const TaskFunc gBallParticleAnimationFuncs[] = { PokeBallOpenParticleAnimation, GreatBallOpenParticleAnimation, @@ -219,132 +233,134 @@ const TaskFunc gBallOpenParticleAnimationFuncs[] = PremierBallOpenParticleAnimation, }; -const struct SpriteTemplate gUnknown_085E51F0[] = +const struct SpriteTemplate gBallParticlesSpriteTemplates[] = { { - .tileTag = 55020, - .paletteTag = 55020, + .tileTag = TAG_PARTICLES_POKEBALL, + .paletteTag = TAG_PARTICLES_POKEBALL, .oam = &gUnknown_08524904, - .anims = gUnknown_085E519C, + .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }, { - .tileTag = 55021, - .paletteTag = 55021, + .tileTag = TAG_PARTICLES_GREATBALL, + .paletteTag = TAG_PARTICLES_GREATBALL, .oam = &gUnknown_08524904, - .anims = gUnknown_085E519C, + .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }, { - .tileTag = 55022, - .paletteTag = 55022, + .tileTag = TAG_PARTICLES_SAFARIBALL, + .paletteTag = TAG_PARTICLES_SAFARIBALL, .oam = &gUnknown_08524904, - .anims = gUnknown_085E519C, + .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }, { - .tileTag = 55023, - .paletteTag = 55023, + .tileTag = TAG_PARTICLES_ULTRABALL, + .paletteTag = TAG_PARTICLES_ULTRABALL, .oam = &gUnknown_08524904, - .anims = gUnknown_085E519C, + .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }, { - .tileTag = 55024, - .paletteTag = 55024, + .tileTag = TAG_PARTICLES_MASTERBALL, + .paletteTag = TAG_PARTICLES_MASTERBALL, .oam = &gUnknown_08524904, - .anims = gUnknown_085E519C, + .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }, { - .tileTag = 55025, - .paletteTag = 55025, + .tileTag = TAG_PARTICLES_NETBALL, + .paletteTag = TAG_PARTICLES_NETBALL, .oam = &gUnknown_08524904, - .anims = gUnknown_085E519C, + .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }, { - .tileTag = 55026, - .paletteTag = 55026, + .tileTag = TAG_PARTICLES_DIVEBALL, + .paletteTag = TAG_PARTICLES_DIVEBALL, .oam = &gUnknown_08524904, - .anims = gUnknown_085E519C, + .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }, { - .tileTag = 55027, - .paletteTag = 55027, + .tileTag = TAG_PARTICLES_NESTBALL, + .paletteTag = TAG_PARTICLES_NESTBALL, .oam = &gUnknown_08524904, - .anims = gUnknown_085E519C, + .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }, { - .tileTag = 55028, - .paletteTag = 55028, + .tileTag = TAG_PARTICLES_REPEATBALL, + .paletteTag = TAG_PARTICLES_REPEATBALL, .oam = &gUnknown_08524904, - .anims = gUnknown_085E519C, + .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }, { - .tileTag = 55029, - .paletteTag = 55029, + .tileTag = TAG_PARTICLES_TIMERBALL, + .paletteTag = TAG_PARTICLES_TIMERBALL, .oam = &gUnknown_08524904, - .anims = gUnknown_085E519C, + .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }, { - .tileTag = 55030, - .paletteTag = 55030, + .tileTag = TAG_PARTICLES_LUXURYBALL, + .paletteTag = TAG_PARTICLES_LUXURYBALL, .oam = &gUnknown_08524904, - .anims = gUnknown_085E519C, + .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }, { - .tileTag = 55031, - .paletteTag = 55031, + .tileTag = TAG_PARTICLES_PREMIERBALL, + .paletteTag = TAG_PARTICLES_PREMIERBALL, .oam = &gUnknown_08524904, - .anims = gUnknown_085E519C, + .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }, }; -const u16 gUnknown_085E5310[] = +const u16 gBallOpenFadeColors[] = { - RGB(31, 22, 30), - RGB(16, 23, 30), - RGB(23, 30, 20), - RGB(31, 31, 15), - RGB(23, 20, 28), - RGB(21, 31, 25), - RGB(12, 25, 30), - RGB(30, 27, 10), - RGB(31, 24, 16), - RGB(29, 30, 30), - RGB(31, 17, 10), - RGB(31, 9, 10), + [BALL_POKE] = RGB(31, 22, 30), + [BALL_GREAT] = RGB(16, 23, 30), + [BALL_SAFARI] = RGB(23, 30, 20), + [BALL_ULTRA] = RGB(31, 31, 15), + [BALL_MASTER] = RGB(23, 20, 28), + [BALL_NET] = RGB(21, 31, 25), + [BALL_DIVE] = RGB(12, 25, 30), + [BALL_NEST] = RGB(30, 27, 10), + [BALL_REPEAT] = RGB(31, 24, 16), + [BALL_TIMER] = RGB(29, 30, 30), + [BALL_LUXURY] = RGB(31, 17, 10), + [BALL_PREMIER] = RGB(31, 9, 10), + + // Garbage data RGB(0, 0, 0), RGB(1, 16, 0), RGB(3, 0, 1), @@ -355,10 +371,10 @@ const u16 gUnknown_085E5310[] = RGB(4, 0, 0), }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_85E5338 = +const struct SpriteTemplate gPokeblockSpriteTemplate = { - .tileTag = ANIM_TAG_UNUSED_RED_BRICK, - .paletteTag = ANIM_TAG_UNUSED_RED_BRICK, + .tileTag = ANIM_TAG_POKEBLOCK, + .paletteTag = ANIM_TAG_POKEBLOCK, .oam = &gUnknown_0852490C, .anims = gDummySpriteAnimTable, .images = NULL, @@ -675,9 +691,9 @@ void sub_8170D24(u8 taskId) void AnimTask_IsBallBlockedByTrainer(u8 taskId) { if (gBattleSpritesDataPtr->animationData->ballThrowCaseId == BALL_TRAINER_BLOCK) - gBattleAnimArgs[7] = -1; + gBattleAnimArgs[ARG_RET_ID] = -1; else - gBattleAnimArgs[7] = 0; + gBattleAnimArgs[ARG_RET_ID] = 0; DestroyAnimVisualTask(taskId); } @@ -687,30 +703,30 @@ u8 ItemIdToBallId(u16 ballItem) switch (ballItem) { case ITEM_MASTER_BALL: - return 4; + return BALL_MASTER; case ITEM_ULTRA_BALL: - return 3; + return BALL_ULTRA; case ITEM_GREAT_BALL: - return 1; + return BALL_GREAT; case ITEM_SAFARI_BALL: - return 2; + return BALL_SAFARI; case ITEM_NET_BALL: - return 5; + return BALL_NET; case ITEM_DIVE_BALL: - return 6; + return BALL_DIVE; case ITEM_NEST_BALL: - return 7; + return BALL_NEST; case ITEM_REPEAT_BALL: - return 8; + return BALL_REPEAT; case ITEM_TIMER_BALL: - return 9; + return BALL_TIMER; case ITEM_LUXURY_BALL: - return 10; + return BALL_LUXURY; case ITEM_PREMIER_BALL: - return 11; + return BALL_PREMIER; case ITEM_POKE_BALL: default: - return 0; + return BALL_POKE; } } @@ -804,7 +820,6 @@ static void sub_8171134(struct Sprite *sprite) { int i; u8 ballId; - int ballId2; // extra var needed to match if (TranslateAnimHorizontalArc(sprite)) { @@ -825,15 +840,15 @@ static void sub_8171134(struct Sprite *sprite) sprite->data[5] = 0; sprite->callback = sub_81711E8; - ballId = ItemIdToBallId(gLastUsedItem); - ballId2 = ballId; - if (ballId2 > 11) - return; - if (ballId2 < 0) - return; - AnimateBallOpenParticles(sprite->pos1.x, sprite->pos1.y - 5, 1, 28, ballId); - LaunchBallFadeMonTask(0, gBattleAnimTarget, 14, ballId); + ballId = ItemIdToBallId(gLastUsedItem); + switch (ballId) + { + case 0 ... POKEBALL_COUNT - 1: + AnimateBallOpenParticles(sprite->pos1.x, sprite->pos1.y - 5, 1, 28, ballId); + LaunchBallFadeMonTask(0, gBattleAnimTarget, 14, ballId); + break; + } } } } @@ -1259,7 +1274,7 @@ static void sub_81719EC(struct Sprite *sprite) sub_8171D60(4); for (i = 0; i < 3; i++) { - u8 spriteId = CreateSprite(&gUnknown_085E51F0[4], sprite->pos1.x, sprite->pos1.y, subpriority); + u8 spriteId = CreateSprite(&gBallParticlesSpriteTemplates[4], sprite->pos1.x, sprite->pos1.y, subpriority); if (spriteId != MAX_SPRITES) { gSprites[spriteId].data[0] = 24; @@ -1268,7 +1283,7 @@ static void sub_81719EC(struct Sprite *sprite) gSprites[spriteId].data[5] = sBallCaptureSuccessStarData[i].unk2; InitAnimArcTranslation(&gSprites[spriteId]); gSprites[spriteId].callback = sub_8171AAC; - StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[4]); + StartSpriteAnim(&gSprites[spriteId], gBallParticleAnimNums[4]); } } } @@ -1280,28 +1295,23 @@ static void sub_8171AAC(struct Sprite *sprite) DestroySprite(sprite); } -// fakematching. I think the return type of ItemIdToBallId() -// is wrong because of the weird required casting. static void sub_8171AE4(struct Sprite *sprite) { u8 ballId; - int ballId2; // extra var needed to match StartSpriteAnim(sprite, 1); StartSpriteAffineAnim(sprite, 0); sprite->callback = sub_8171BAC; ballId = ItemIdToBallId(gLastUsedItem); - ballId2 = ballId; - if (ballId2 > 11) - goto LABEL; - if (ballId2 < 0) - goto LABEL; + switch (ballId) + { + case 0 ... POKEBALL_COUNT - 1: + AnimateBallOpenParticles(sprite->pos1.x, sprite->pos1.y - 5, 1, 28, ballId); + LaunchBallFadeMonTask(1, gBattleAnimTarget, 14, ballId); + break; + } - AnimateBallOpenParticles(sprite->pos1.x, sprite->pos1.y - 5, 1, 28, ballId); - LaunchBallFadeMonTask(1, gBattleAnimTarget, 14, ballId); - - LABEL: gSprites[gBattlerSpriteIds[gBattleAnimTarget]].invisible = 0; StartSpriteAffineAnim(&gSprites[gBattlerSpriteIds[gBattleAnimTarget]], 1); AnimateSprite(&gSprites[gBattlerSpriteIds[gBattleAnimTarget]]); @@ -1314,7 +1324,7 @@ static void sub_8171BAC(struct Sprite *sprite) if (sprite->animEnded) sprite->invisible = 1; - + if (gSprites[gBattlerSpriteIds[gBattleAnimTarget]].affineAnimEnded) { StartSpriteAffineAnim(&gSprites[gBattlerSpriteIds[gBattleAnimTarget]], 0); @@ -1323,7 +1333,7 @@ static void sub_8171BAC(struct Sprite *sprite) else { gSprites[gBattlerSpriteIds[gBattleAnimTarget]].data[1] -= 288; - gSprites[gBattlerSpriteIds[gBattleAnimTarget]].pos2.y = gSprites[gBattlerSpriteIds[gBattleAnimTarget]].data[1] >> 8; + gSprites[gBattlerSpriteIds[gBattleAnimTarget]].pos2.y = gSprites[gBattlerSpriteIds[gBattleAnimTarget]].data[1] >> 8; } if (sprite->animEnded && next) @@ -1374,10 +1384,10 @@ static void sub_8171D60(u8 ballId) { u8 taskId; - if (GetSpriteTileStartByTag(gBallOpenParticleSpritesheets[ballId].tag) == 0xFFFF) + if (GetSpriteTileStartByTag(gBallParticleSpritesheets[ballId].tag) == 0xFFFF) { - LoadCompressedSpriteSheetUsingHeap(&gBallOpenParticleSpritesheets[ballId]); - LoadCompressedSpritePaletteUsingHeap(&gBallOpenParticlePalettes[ballId]); + LoadCompressedSpriteSheetUsingHeap(&gBallParticleSpritesheets[ballId]); + LoadCompressedSpritePaletteUsingHeap(&gBallParticlePalettes[ballId]); } } @@ -1386,7 +1396,7 @@ u8 AnimateBallOpenParticles(u8 x, u8 y, u8 priority, u8 subpriority, u8 ballId) u8 taskId; sub_8171D60(ballId); - taskId = CreateTask(gBallOpenParticleAnimationFuncs[ballId], 5); + taskId = CreateTask(gBallParticleAnimationFuncs[ballId], 5); gTasks[taskId].data[1] = x; gTasks[taskId].data[2] = y; gTasks[taskId].data[3] = priority; @@ -1419,11 +1429,11 @@ static void PokeBallOpenParticleAnimation(u8 taskId) priority = gTasks[taskId].data[3]; subpriority = gTasks[taskId].data[4]; - spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority); + spriteId = CreateSprite(&gBallParticlesSpriteTemplates[ballId], x, y, subpriority); if (spriteId != MAX_SPRITES) { sub_8171E20(); - StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]); + StartSpriteAnim(&gSprites[spriteId], gBallParticleAnimNums[ballId]); gSprites[spriteId].callback = PokeBallOpenParticleAnimation_Step1; gSprites[spriteId].oam.priority = priority; @@ -1478,11 +1488,11 @@ static void TimerBallOpenParticleAnimation(u8 taskId) for (i = 0; i < 8; i++) { - spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority); + spriteId = CreateSprite(&gBallParticlesSpriteTemplates[ballId], x, y, subpriority); if (spriteId != MAX_SPRITES) { sub_8171E20(); - StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]); + StartSpriteAnim(&gSprites[spriteId], gBallParticleAnimNums[ballId]); gSprites[spriteId].callback = FanOutBallOpenParticles_Step1; gSprites[spriteId].oam.priority = priority; gSprites[spriteId].data[0] = i * 32; @@ -1512,11 +1522,11 @@ static void DiveBallOpenParticleAnimation(u8 taskId) for (i = 0; i < 8; i++) { - spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority); + spriteId = CreateSprite(&gBallParticlesSpriteTemplates[ballId], x, y, subpriority); if (spriteId != MAX_SPRITES) { sub_8171E20(); - StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]); + StartSpriteAnim(&gSprites[spriteId], gBallParticleAnimNums[ballId]); gSprites[spriteId].callback = FanOutBallOpenParticles_Step1; gSprites[spriteId].oam.priority = priority; gSprites[spriteId].data[0] = i * 32; @@ -1547,11 +1557,11 @@ static void SafariBallOpenParticleAnimation(u8 taskId) for (i = 0; i < 8; i++) { - spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority); + spriteId = CreateSprite(&gBallParticlesSpriteTemplates[ballId], x, y, subpriority); if (spriteId != MAX_SPRITES) { sub_8171E20(); - StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]); + StartSpriteAnim(&gSprites[spriteId], gBallParticleAnimNums[ballId]); gSprites[spriteId].callback = FanOutBallOpenParticles_Step1; gSprites[spriteId].oam.priority = priority; gSprites[spriteId].data[0] = i * 32; @@ -1582,11 +1592,11 @@ static void UltraBallOpenParticleAnimation(u8 taskId) for (i = 0; i < 10; i++) { - spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority); + spriteId = CreateSprite(&gBallParticlesSpriteTemplates[ballId], x, y, subpriority); if (spriteId != MAX_SPRITES) { sub_8171E20(); - StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]); + StartSpriteAnim(&gSprites[spriteId], gBallParticleAnimNums[ballId]); gSprites[spriteId].callback = FanOutBallOpenParticles_Step1; gSprites[spriteId].oam.priority = priority; gSprites[spriteId].data[0] = i * 25; @@ -1623,11 +1633,11 @@ static void GreatBallOpenParticleAnimation(u8 taskId) for (i = 0; i < 8; i++) { - spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority); + spriteId = CreateSprite(&gBallParticlesSpriteTemplates[ballId], x, y, subpriority); if (spriteId != MAX_SPRITES) { sub_8171E20(); - StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]); + StartSpriteAnim(&gSprites[spriteId], gBallParticleAnimNums[ballId]); gSprites[spriteId].callback = FanOutBallOpenParticles_Step1; gSprites[spriteId].oam.priority = priority; gSprites[spriteId].data[0] = i * 32; @@ -1671,13 +1681,13 @@ static void RepeatBallOpenParticleAnimation(u8 taskId) priority = gTasks[taskId].data[3]; subpriority = gTasks[taskId].data[4]; - for (i = 0; i < 12; i++) + for (i = 0; i < POKEBALL_COUNT; i++) { - spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority); + spriteId = CreateSprite(&gBallParticlesSpriteTemplates[ballId], x, y, subpriority); if (spriteId != MAX_SPRITES) { sub_8171E20(); - StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]); + StartSpriteAnim(&gSprites[spriteId], gBallParticleAnimNums[ballId]); gSprites[spriteId].callback = RepeatBallOpenParticleAnimation_Step1; gSprites[spriteId].oam.priority = priority; gSprites[spriteId].data[0] = i * 21; @@ -1717,11 +1727,11 @@ static void MasterBallOpenParticleAnimation(u8 taskId) { for (i = 0; i < 8; i++) { - spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority); + spriteId = CreateSprite(&gBallParticlesSpriteTemplates[ballId], x, y, subpriority); if (spriteId != MAX_SPRITES) { sub_8171E20(); - StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]); + StartSpriteAnim(&gSprites[spriteId], gBallParticleAnimNums[ballId]); gSprites[spriteId].callback = FanOutBallOpenParticles_Step1; gSprites[spriteId].oam.priority = priority; gSprites[spriteId].data[0] = i * 32; @@ -1761,11 +1771,11 @@ static void PremierBallOpenParticleAnimation(u8 taskId) for (i = 0; i < 8; i++) { - spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority); + spriteId = CreateSprite(&gBallParticlesSpriteTemplates[ballId], x, y, subpriority); if (spriteId != MAX_SPRITES) { sub_8171E20(); - StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]); + StartSpriteAnim(&gSprites[spriteId], gBallParticleAnimNums[ballId]); gSprites[spriteId].callback = PremierBallOpenParticleAnimation_Step1; gSprites[spriteId].oam.priority = priority; gSprites[spriteId].data[0] = i * 32; @@ -1792,12 +1802,10 @@ static void PremierBallOpenParticleAnimation_Step1(struct Sprite *sprite) static void DestroyBallOpenAnimationParticle(struct Sprite *sprite) { int i, j; - int temp; if (!gMain.inBattle) { - temp = sprite->data[7]; // temp var needed to match - if (temp == 1) + if (sprite->data[7] == 1) DestroySpriteAndFreeResources(sprite); else DestroySprite(sprite); @@ -1807,18 +1815,18 @@ static void DestroyBallOpenAnimationParticle(struct Sprite *sprite) gBattleSpritesDataPtr->animationData->field_A--; if (gBattleSpritesDataPtr->animationData->field_A == 0) { - for (i = 0; i < 12; i++) + for (i = 0; i < POKEBALL_COUNT; i++) { - if (FuncIsActiveTask(gBallOpenParticleAnimationFuncs[i]) == TRUE) + if (FuncIsActiveTask(gBallParticleAnimationFuncs[i]) == TRUE) break; } - if (i == 12) + if (i == POKEBALL_COUNT) { - for (j = 0; j < 12; j++) + for (j = 0; j < POKEBALL_COUNT; j++) { - FreeSpriteTilesByTag(gBallOpenParticleSpritesheets[j].tag); - FreeSpritePaletteByTag(gBallOpenParticlePalettes[j].tag); + FreeSpriteTilesByTag(gBallParticleSpritesheets[j].tag); + FreeSpritePaletteByTag(gBallParticlePalettes[j].tag); } } @@ -1843,12 +1851,12 @@ u8 LaunchBallFadeMonTask(u8 unfadeLater, u8 battler, u32 selectedPalettes, u8 ba if (!unfadeLater) { - BlendPalette(battler * 16 + 0x100, 16, 0, gUnknown_085E5310[ballId]); + BlendPalette(battler * 16 + 0x100, 16, 0, gBallOpenFadeColors[ballId]); gTasks[taskId].data[1] = 1; } else { - BlendPalette(battler * 16 + 0x100, 16, 16, gUnknown_085E5310[ballId]); + BlendPalette(battler * 16 + 0x100, 16, 16, gBallOpenFadeColors[ballId]); gTasks[taskId].data[0] = 16; gTasks[taskId].data[1] = -1; gTasks[taskId].func = sub_8172B40; @@ -1864,7 +1872,7 @@ static void sub_8172AB0(u8 taskId) if (gTasks[taskId].data[2] <= 16) { - BlendPalette(gTasks[taskId].data[3] * 16 + 0x100, 16, gTasks[taskId].data[0], gUnknown_085E5310[ballId]); + BlendPalette(gTasks[taskId].data[3] * 16 + 0x100, 16, gTasks[taskId].data[0], gBallOpenFadeColors[ballId]); gTasks[taskId].data[0] += gTasks[taskId].data[1]; gTasks[taskId].data[2]++; } @@ -1892,7 +1900,7 @@ static void sub_8172B90(u8 taskId) if (gTasks[taskId].data[2] <= 16) { - BlendPalette(gTasks[taskId].data[3] * 16 + 0x100, 16, gTasks[taskId].data[0], gUnknown_085E5310[ballId]); + BlendPalette(gTasks[taskId].data[3] * 16 + 0x100, 16, gTasks[taskId].data[0], gBallOpenFadeColors[ballId]); gTasks[taskId].data[0] += gTasks[taskId].data[1]; gTasks[taskId].data[2]++; } @@ -1906,9 +1914,8 @@ void sub_8172BF0(u8 taskId) { u8 spriteId; u32 x; - u32 done; - - done = FALSE; + u32 done = FALSE; + spriteId = gBattlerSpriteIds[gBattleAnimAttacker]; switch (gTasks[taskId].data[10]) { @@ -1942,8 +1949,7 @@ void sub_8172BF0(u8 taskId) if (gSprites[spriteId].pos2.x <= 0) { gSprites[spriteId].pos2.x = 0; - // done = FALSE; // fakematching--can't get the tail merge correct - goto DONE; + done = TRUE; } } else @@ -1956,10 +1962,8 @@ void sub_8172BF0(u8 taskId) } if (done) - { - DONE: DestroyAnimVisualTask(taskId); - } + break; } } @@ -1998,13 +2002,13 @@ void sub_8172D98(u8 taskId) } } -void sub_8172E9C(u8 taskId) +void AnimTask_IsAttackerBehindSubstitute(u8 taskId) { - gBattleAnimArgs[7] = gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].behindSubstitute; + gBattleAnimArgs[ARG_RET_ID] = gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].behindSubstitute; DestroyAnimVisualTask(taskId); } -void sub_8172ED0(u8 taskId) +void AnimTask_TargetToEffectBattler(u8 taskId) { gBattleAnimTarget = gEffectBattler; DestroyAnimVisualTask(taskId); @@ -2030,10 +2034,10 @@ void sub_8172EF0(u8 battler, struct Pokemon *mon) if (isShiny) { - if (GetSpriteTileStartByTag(0x27F9) == 0xFFFF) + if (GetSpriteTileStartByTag(ANIM_TAG_GOLD_STARS) == 0xFFFF) { - LoadCompressedSpriteSheetUsingHeap(&gBattleAnimPicTable[233]); - LoadCompressedSpritePaletteUsingHeap(&gBattleAnimPaletteTable[233]); + LoadCompressedSpriteSheetUsingHeap(&gBattleAnimPicTable[ANIM_TAG_GOLD_STARS - ANIM_SPRITES_START]); + LoadCompressedSpritePaletteUsingHeap(&gBattleAnimPaletteTable[ANIM_TAG_GOLD_STARS - ANIM_SPRITES_START]); } taskId1 = CreateTask(sub_8172FEC, 10); @@ -2063,7 +2067,7 @@ static void sub_8172FEC(u8 taskId) gTasks[taskId].data[13]++; return; } - + if (gBattleSpritesDataPtr->animationData->field_A) return; @@ -2103,7 +2107,7 @@ static void sub_8172FEC(u8 taskId) if (gTasks[taskId].data[11] == 0) { if (GetBattlerSide(battler) == B_SIDE_PLAYER) - pan = 192; + pan = -64; else pan = 63; @@ -2169,20 +2173,20 @@ static void sub_8173250(struct Sprite *sprite) } } -void sub_81732B0(u8 taskId) +void AnimTask_LoadPokeblockGfx(u8 taskId) { u8 paletteIndex; - LoadCompressedSpriteSheetUsingHeap(&gBattleAnimPicTable[269]); - LoadCompressedSpritePaletteUsingHeap(&gBattleAnimPaletteTable[269]); - paletteIndex = IndexOfSpritePaletteTag(0x281D); // unused + LoadCompressedSpriteSheetUsingHeap(&gBattleAnimPicTable[ANIM_TAG_POKEBLOCK - ANIM_SPRITES_START]); + LoadCompressedSpritePaletteUsingHeap(&gBattleAnimPaletteTable[ANIM_TAG_POKEBLOCK - ANIM_SPRITES_START]); + paletteIndex = IndexOfSpritePaletteTag(ANIM_TAG_POKEBLOCK); // unused DestroyAnimVisualTask(taskId); } -void sub_81732E4(u8 taskId) +void AnimTask_FreePokeblockGfx(u8 taskId) { - FreeSpriteTilesByTag(0x281D); - FreeSpritePaletteByTag(0x281D); + FreeSpriteTilesByTag(ANIM_TAG_POKEBLOCK); + FreeSpritePaletteByTag(ANIM_TAG_POKEBLOCK); DestroyAnimVisualTask(taskId); } @@ -2245,21 +2249,21 @@ void sub_817345C(u8 taskId) void AnimTask_GetTrappedMoveAnimId(u8 taskId) { - if (gBattleSpritesDataPtr->animationData->animArg == 83) - gBattleAnimArgs[0] = 1; - else if (gBattleSpritesDataPtr->animationData->animArg == 250) - gBattleAnimArgs[0] = 2; - else if (gBattleSpritesDataPtr->animationData->animArg == 128) - gBattleAnimArgs[0] = 3; - else if (gBattleSpritesDataPtr->animationData->animArg == 328) - gBattleAnimArgs[0] = 4; + if (gBattleSpritesDataPtr->animationData->animArg == MOVE_FIRE_SPIN) + gBattleAnimArgs[0] = TRAP_ANIM_FIRE_SPIN; + else if (gBattleSpritesDataPtr->animationData->animArg == MOVE_WHIRLPOOL) + gBattleAnimArgs[0] = TRAP_ANIM_WHIRLPOOL; + else if (gBattleSpritesDataPtr->animationData->animArg == MOVE_CLAMP) + gBattleAnimArgs[0] = TRAP_ANIM_CLAMP; + else if (gBattleSpritesDataPtr->animationData->animArg == MOVE_SAND_TOMB) + gBattleAnimArgs[0] = TRAP_ANIM_SAND_TOMB; else - gBattleAnimArgs[0] = 0; + gBattleAnimArgs[0] = TRAP_ANIM_BIND; DestroyAnimVisualTask(taskId); } -void sub_817351C(u8 taskId) +void AnimTask_GetBattlersFromArg(u8 taskId) { gBattleAnimAttacker = gBattleSpritesDataPtr->animationData->animArg; gBattleAnimTarget = gBattleSpritesDataPtr->animationData->animArg >> 8; diff --git a/src/battle_anim_status_effects.c b/src/battle_anim_status_effects.c index 1271680e02..7ed78ea9a0 100644 --- a/src/battle_anim_status_effects.c +++ b/src/battle_anim_status_effects.c @@ -44,8 +44,8 @@ static const union AnimCmd *const sSpriteAnimTable_853EDF8[] = const struct SpriteTemplate gUnknown_0853EDFC = { - .tileTag = ANIM_TAG_UNUSED_ORB, - .paletteTag = ANIM_TAG_UNUSED_ORB, + .tileTag = ANIM_TAG_ORB, + .paletteTag = ANIM_TAG_ORB, .oam = &gUnknown_0852490C, .anims = sSpriteAnimTable_853EDF8, .images = NULL, @@ -55,8 +55,8 @@ const struct SpriteTemplate gUnknown_0853EDFC = const struct SpriteTemplate gUnknown_0853EE14 = { - .tileTag = ANIM_TAG_UNUSED_ORB, - .paletteTag = ANIM_TAG_UNUSED_ORB, + .tileTag = ANIM_TAG_ORB, + .paletteTag = ANIM_TAG_ORB, .oam = &gUnknown_0852490C, .anims = sSpriteAnimTable_853EDF8, .images = NULL, @@ -125,8 +125,8 @@ const struct SpriteTemplate gUnknown_0853EE84 = const struct SpriteTemplate gUnknown_0853EE9C = { - .tileTag = ANIM_TAG_UNUSED_MONSTER_FOOT, - .paletteTag = ANIM_TAG_UNUSED_MONSTER_FOOT, + .tileTag = ANIM_TAG_MONSTER_FOOT, + .paletteTag = ANIM_TAG_MONSTER_FOOT, .oam = &gUnknown_08524914, .anims = gDummySpriteAnimTable, .images = NULL, @@ -195,8 +195,8 @@ static const union AffineAnimCmd *const sSpriteAffineAnimTable_853EEF8[] = const struct SpriteTemplate gUnknown_0853EF18 = { - .tileTag = ANIM_TAG_UNUSED_ORB, - .paletteTag = ANIM_TAG_UNUSED_ORB, + .tileTag = ANIM_TAG_ORB, + .paletteTag = ANIM_TAG_ORB, .oam = &gUnknown_085249CC, .anims = sSpriteAnimTable_853EEF8, .images = NULL, diff --git a/src/battle_bg.c b/src/battle_bg.c index 814e8dad9b..a08873857a 100644 --- a/src/battle_bg.c +++ b/src/battle_bg.c @@ -5,6 +5,7 @@ #include "battle_message.h" #include "battle_setup.h" #include "bg.h" +#include "data.h" #include "decompress.h" #include "gpu_regs.h" #include "graphics.h" @@ -597,6 +598,7 @@ const struct WindowTemplate * const gBattleWindowTemplates[] = static const struct BattleBackground gBattleTerrainTable[] = { + [BATTLE_TERRAIN_GRASS] = { .tileset = gBattleTerrainTiles_TallGrass, .tilemap = gBattleTerrainTilemap_TallGrass, @@ -604,6 +606,8 @@ static const struct BattleBackground gBattleTerrainTable[] = .entryTilemap = gBattleTerrainAnimTilemap_TallGrass, .palette = gBattleTerrainPalette_TallGrass, }, + + [BATTLE_TERRAIN_LONG_GRASS] = { .tileset = gBattleTerrainTiles_LongGrass, .tilemap = gBattleTerrainTilemap_LongGrass, @@ -611,6 +615,8 @@ static const struct BattleBackground gBattleTerrainTable[] = .entryTilemap = gBattleTerrainAnimTilemap_LongGrass, .palette = gBattleTerrainPalette_LongGrass, }, + + [BATTLE_TERRAIN_SAND] = { .tileset = gBattleTerrainTiles_Sand, .tilemap = gBattleTerrainTilemap_Sand, @@ -618,6 +624,8 @@ static const struct BattleBackground gBattleTerrainTable[] = .entryTilemap = gBattleTerrainAnimTilemap_Sand, .palette = gBattleTerrainPalette_Sand, }, + + [BATTLE_TERRAIN_UNDERWATER] = { .tileset = gBattleTerrainTiles_Underwater, .tilemap = gBattleTerrainTilemap_Underwater, @@ -625,6 +633,8 @@ static const struct BattleBackground gBattleTerrainTable[] = .entryTilemap = gBattleTerrainAnimTilemap_Underwater, .palette = gBattleTerrainPalette_Underwater, }, + + [BATTLE_TERRAIN_WATER] = { .tileset = gBattleTerrainTiles_Water, .tilemap = gBattleTerrainTilemap_Water, @@ -632,6 +642,8 @@ static const struct BattleBackground gBattleTerrainTable[] = .entryTilemap = gBattleTerrainAnimTilemap_Water, .palette = gBattleTerrainPalette_Water, }, + + [BATTLE_TERRAIN_POND] = { .tileset = gBattleTerrainTiles_PondWater, .tilemap = gBattleTerrainTilemap_PondWater, @@ -639,6 +651,8 @@ static const struct BattleBackground gBattleTerrainTable[] = .entryTilemap = gBattleTerrainAnimTilemap_PondWater, .palette = gBattleTerrainPalette_PondWater, }, + + [BATTLE_TERRAIN_MOUNTAIN] = { .tileset = gBattleTerrainTiles_Rock, .tilemap = gBattleTerrainTilemap_Rock, @@ -646,6 +660,8 @@ static const struct BattleBackground gBattleTerrainTable[] = .entryTilemap = gBattleTerrainAnimTilemap_Rock, .palette = gBattleTerrainPalette_Rock, }, + + [BATTLE_TERRAIN_CAVE] = { .tileset = gBattleTerrainTiles_Cave, .tilemap = gBattleTerrainTilemap_Cave, @@ -653,6 +669,8 @@ static const struct BattleBackground gBattleTerrainTable[] = .entryTilemap = gBattleTerrainAnimTilemap_Cave, .palette = gBattleTerrainPalette_Cave, }, + + [BATTLE_TERRAIN_BUILDING] = { .tileset = gBattleTerrainTiles_Building, .tilemap = gBattleTerrainTilemap_Building, @@ -660,7 +678,9 @@ static const struct BattleBackground gBattleTerrainTable[] = .entryTilemap = gBattleTerrainAnimTilemap_Building, .palette = gBattleTerrainPalette_Building, }, - {// plain + + [BATTLE_TERRAIN_PLAIN] = + { .tileset = gBattleTerrainTiles_Building, .tilemap = gBattleTerrainTilemap_Building, .entryTileset = gBattleTerrainAnimTiles_Building, diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index 23d469c271..3fb5da9dc6 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -9,7 +9,7 @@ #include "battle_tower.h" #include "battle_tv.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "link.h" #include "main.h" #include "m4a.h" @@ -31,8 +31,6 @@ extern struct MusicPlayerInfo gMPlayInfo_BGM; -extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; - // this file's functions static void LinkOpponentHandleGetMonData(void); static void LinkOpponentHandleGetRawMonData(void); diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index 22633c5bc3..6fc73a6047 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -9,7 +9,7 @@ #include "battle_tower.h" #include "battle_tv.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "link.h" #include "main.h" #include "m4a.h" @@ -29,9 +29,6 @@ #include "constants/trainers.h" #include "recorded_battle.h" -extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; -extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; - // this file's functions static void LinkPartnerHandleGetMonData(void); static void LinkPartnerHandleGetRawMonData(void); diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 7d940cb897..3928113275 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -10,7 +10,7 @@ #include "battle_tower.h" #include "battle_tv.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "frontier_util.h" #include "item.h" #include "link.h" @@ -36,8 +36,6 @@ extern struct MusicPlayerInfo gMPlayInfo_BGM; -extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; - // this file's functions static void OpponentHandleGetMonData(void); static void OpponentHandleGetRawMonData(void); diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index b377ecf64d..e4b5b5c182 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -9,7 +9,7 @@ #include "battle_setup.h" #include "battle_tv.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "item.h" #include "item_menu.h" #include "link.h" @@ -33,12 +33,10 @@ #include "constants/moves.h" #include "constants/songs.h" #include "constants/trainers.h" +#include "constants/rgb.h" extern struct MusicPlayerInfo gMPlayInfo_BGM; -extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; -extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; - // this file's functions static void PlayerHandleGetMonData(void); static void PlayerHandleSetMonData(void); @@ -2408,7 +2406,7 @@ static void PlayerHandleFaintAnimation(void) static void PlayerHandlePaletteFade(void) { - BeginNormalPaletteFade(0xFFFFFFFF, 2, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 2, 0, 16, RGB_BLACK); PlayerBufferExecCompleted(); } @@ -2630,7 +2628,7 @@ static void PlayerHandleChooseItem(void) { s32 i; - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gBattlerControllerFuncs[gActiveBattler] = OpenBagAndChooseItem; gBattlerInMenuId = gActiveBattler; @@ -2657,7 +2655,7 @@ static void PlayerHandleChoosePokemon(void) *(&gBattleStruct->battlerPreventingSwitchout) = gBattleBufferA[gActiveBattler][1] >> 4; *(&gBattleStruct->field_8B) = gBattleBufferA[gActiveBattler][2]; *(&gBattleStruct->abilityPreventingSwitchout) = gBattleBufferA[gActiveBattler][3]; - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gBattlerControllerFuncs[gActiveBattler] = OpenPartyMenuToChooseMon; gBattlerInMenuId = gActiveBattler; } @@ -2666,7 +2664,7 @@ static void PlayerHandleChoosePokemon(void) static void PlayerHandleCmd23(void) { BattleStopLowHpSound(); - BeginNormalPaletteFade(0xFFFFFFFF, 2, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 2, 0, 16, RGB_BLACK); PlayerBufferExecCompleted(); } diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 2c53938c13..0ec21fd22d 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -8,7 +8,7 @@ #include "battle_setup.h" #include "battle_tower.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "item_use.h" #include "link.h" #include "main.h" @@ -27,9 +27,6 @@ #include "constants/songs.h" #include "constants/trainers.h" -extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; -extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; - // this file's functions static void PlayerPartnerHandleGetMonData(void); static void PlayerPartnerHandleGetRawMonData(void); diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index e43c5f8ae2..69d8400209 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -9,7 +9,7 @@ #include "battle_tower.h" #include "battle_tv.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "item_use.h" #include "link.h" #include "main.h" @@ -31,8 +31,6 @@ extern struct MusicPlayerInfo gMPlayInfo_BGM; -extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; - // this file's functions static void RecordedOpponentHandleGetMonData(void); static void RecordedOpponentHandleGetRawMonData(void); diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index 412c49f179..95683225e7 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -6,7 +6,7 @@ #include "battle_message.h" #include "battle_interface.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "item_use.h" #include "link.h" #include "main.h" @@ -27,9 +27,6 @@ extern struct MusicPlayerInfo gMPlayInfo_BGM; -extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; -extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; - // this file's functions static void RecordedPlayerHandleGetMonData(void); static void RecordedPlayerHandleGetRawMonData(void); diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c index e9da16252c..c39b904c97 100644 --- a/src/battle_controller_safari.c +++ b/src/battle_controller_safari.c @@ -5,7 +5,7 @@ #include "battle_interface.h" #include "battle_message.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "item_menu.h" #include "link.h" #include "main.h" @@ -22,8 +22,7 @@ #include "window.h" #include "constants/battle_anim.h" #include "constants/songs.h" - -extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; +#include "constants/rgb.h" // this file's functions static void SafariHandleGetMonData(void); @@ -473,7 +472,7 @@ static void SafariHandleChooseItem(void) { s32 i; - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gBattlerControllerFuncs[gActiveBattler] = SafariOpenPokeblockCase; gBattlerInMenuId = gActiveBattler; } diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index f1b783b215..6a5b23e594 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -7,7 +7,7 @@ #include "battle_setup.h" #include "battle_tv.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "item.h" #include "item_menu.h" #include "link.h" @@ -30,8 +30,7 @@ #include "constants/moves.h" #include "constants/songs.h" #include "constants/trainers.h" - -extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; +#include "constants/rgb.h" // this file's functions static void WallyHandleGetMonData(void); @@ -1244,7 +1243,7 @@ static void WallyHandleChooseMove(void) static void WallyHandleChooseItem(void) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gBattlerControllerFuncs[gActiveBattler] = OpenBagAfterPaletteFade; gBattlerInMenuId = gActiveBattler; } diff --git a/src/battle_data.c b/src/battle_data.c deleted file mode 100644 index 7f86385aab..0000000000 --- a/src/battle_data.c +++ /dev/null @@ -1,14 +0,0 @@ -#include "global.h" -#include "battle.h" -#include "data2.h" -#include "constants/items.h" -#include "constants/moves.h" -#include "constants/species.h" -#include "constants/trainers.h" -#include "constants/battle_ai.h" - -#include "data/trainer_parties.h" -#include "data/text/trainer_class_names.h" -#include "data/trainers.h" -#include "data/text/species_names.h" -#include "data/text/move_names.h" diff --git a/src/battle_dome.c b/src/battle_dome.c index 1b79531804..95fce49a3d 100644 --- a/src/battle_dome.c +++ b/src/battle_dome.c @@ -24,7 +24,7 @@ #include "menu.h" #include "sound.h" #include "pokemon_icon.h" -#include "data2.h" +#include "data.h" #include "international_string_util.h" #include "trainer_pokemon_sprites.h" #include "scanline_effect.h" @@ -59,9 +59,6 @@ struct UnkStruct_860DD10 u16 src; }; -// text -extern const u8 gTrainerClassNames[][13]; - // This file's functions. static u8 GetDomeTrainerMonIvs(u16 trainerId); static void SwapDomeTrainers(int id1, int id2, u16 *statsArray); diff --git a/src/battle_factory_screen.c b/src/battle_factory_screen.c index 367c1401fc..02804ba0bd 100644 --- a/src/battle_factory_screen.c +++ b/src/battle_factory_screen.c @@ -17,7 +17,7 @@ #include "string_util.h" #include "international_string_util.h" #include "window.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "pokemon_summary_screen.h" #include "sound.h" @@ -1166,7 +1166,7 @@ static void CB2_InitSelectScreen(void) ShowBg(0); ShowBg(1); SetVBlankCallback(Select_VblankCb); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_BG0_ON | DISPCNT_BG1_ON | DISPCNT_OBJ_1D_MAP); if (sFactorySelectScreen->fromSummaryScreen == TRUE) { @@ -1405,7 +1405,7 @@ static void Task_FromSelectScreenToSummaryScreen(u8 taskId) { case 6: gPlttBufferUnfaded[228] = gPlttBufferFaded[228]; - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gTasks[taskId].data[0] = 7; break; case 7: @@ -1442,7 +1442,7 @@ static void Task_CloseSelectionScreen(u8 taskId) switch (gTasks[taskId].data[0]) { case 0: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gTasks[taskId].data[0]++; break; case 1: @@ -2274,7 +2274,7 @@ static void Task_FromSwapScreenToSummaryScreen(u8 taskId) switch (gTasks[taskId].data[0]) { case 6: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gTasks[taskId].data[0] = 7; break; case 7: @@ -2327,7 +2327,7 @@ static void Task_CloseSwapScreen(u8 taskId) gTasks[taskId].data[0]++; break; case 2: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gTasks[taskId].data[0]++; break; case 3: @@ -3218,7 +3218,7 @@ static void CB2_InitSwapScreen(void) gMain.state++; break; case 14: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); ShowBg(0); ShowBg(1); diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index 7c6b743042..d6b1b6deea 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -19,7 +19,7 @@ #include "m4a.h" #include "constants/species.h" #include "decompress.h" -#include "data2.h" +#include "data.h" #include "palette.h" #include "contest.h" #include "constants/songs.h" @@ -32,16 +32,8 @@ extern struct MusicPlayerInfo gMPlayInfo_BGM; extern const u8 gUnknown_0831C604[]; extern const u8 * const gBattleAnims_General[]; extern const u8 * const gBattleAnims_Special[]; -extern const struct CompressedSpriteSheet gMonFrontPicTable[]; -extern const struct CompressedSpriteSheet gMonBackPicTable[]; -extern const struct CompressedSpriteSheet gTrainerFrontPicTable[]; -extern const struct CompressedSpriteSheet gTrainerBackPicTable[]; -extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; -extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; -extern const union AnimCmd* const * const gMonAnimationsSpriteAnimsPtrTable[]; extern const struct CompressedSpriteSheet gSpriteSheet_EnemyShadow; extern const struct SpriteTemplate gSpriteTemplate_EnemyShadow; -extern const u8 gEnemyMonElevation[]; // this file's functions static u8 sub_805D4A8(u16 move); @@ -932,7 +924,7 @@ void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, bool8 notTransform if (targetSpecies == SPECIES_CASTFORM) { - gSprites[gBattlerSpriteIds[battlerAtk]].anims = gMonAnimationsSpriteAnimsPtrTable[targetSpecies]; + gSprites[gBattlerSpriteIds[battlerAtk]].anims = gMonFrontAnimsPtrTable[targetSpecies]; LZDecompressWram(lzPaletteData, gBattleStruct->castformPalette[0]); LoadPalette(gBattleStruct->castformPalette[0] + gBattleMonForms[battlerDef] * 16, paletteOffset, 32); } diff --git a/src/battle_interface.c b/src/battle_interface.c index a8651f6cf6..9224375976 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -23,7 +23,8 @@ #include "battle_anim.h" #include "constants/battle_anim.h" #include "constants/rgb.h" -#include "data2.h" +#include "data.h" +#include "pokemon_summary_screen.h" struct TestingBar { @@ -157,8 +158,6 @@ enum HEALTHBOX_GFX_117, //unknown_D1300C }; -extern const u8 *const gNatureNamePointers[]; - // strings extern const u8 gText_Slash[]; extern const u8 gText_HighlightDarkGrey[]; diff --git a/src/battle_main.c b/src/battle_main.c index 92f12636d2..76bd6d8774 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -13,7 +13,7 @@ #include "battle_tower.h" #include "berry.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "dma3.h" #include "event_data.h" @@ -977,7 +977,7 @@ static void CB2_HandleStartBattle(void) gBattleCommunication[MULTIUSE_STATE] = 1; } if (gWirelessCommType) - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); break; case 1: if (gBattleTypeFlags & BATTLE_TYPE_LINK) @@ -1172,7 +1172,7 @@ static void CB2_HandleStartMultiPartnerBattle(void) gBattleCommunication[MULTIUSE_STATE] = 1; } if (gWirelessCommType) - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); // fall through case 1: if (gBattleTypeFlags & BATTLE_TYPE_LINK) @@ -1572,7 +1572,7 @@ static void CB2_HandleStartMultiBattle(void) gBattleCommunication[MULTIUSE_STATE] = 1; } if (gWirelessCommType) - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); break; case 1: if (gBattleTypeFlags & BATTLE_TYPE_LINK) diff --git a/src/battle_message.c b/src/battle_message.c index f93765b896..3fec571f45 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -5,7 +5,7 @@ #include "battle_message.h" #include "battle_setup.h" #include "battle_tower.h" -#include "data2.h" +#include "data.h" #include "event_data.h" #include "frontier_util.h" #include "international_string_util.h" @@ -38,7 +38,6 @@ struct BattleWindowText u8 shadowColor; }; -extern const u8 gTrainerClassNames[][13]; extern const u16 gUnknown_08D85620[]; // this file's functions diff --git a/src/battle_records.c b/src/battle_records.c index fdd915d075..3d4cabcb06 100644 --- a/src/battle_records.c +++ b/src/battle_records.c @@ -22,6 +22,7 @@ #include "gpu_regs.h" #include "constants/game_stat.h" #include "trainer_hill.h" +#include "constants/rgb.h" // this file's functions static void Task_CloseTrainerHillRecordsOnButton(u8 taskId); @@ -364,7 +365,7 @@ static void Task_CloseTrainerHillRecordsOnButton(u8 taskId) static void Task_BeginPaletteFade(u8 taskId) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gTasks[taskId].func = Task_ExitTrainerHillRecords; } @@ -511,7 +512,7 @@ static void CB2_ShowTrainerHillRecords(void) gMain.state++; break; case 6: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); gMain.state++; break; case 7: diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 2e78e1ca05..837fb5baca 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -50,6 +50,8 @@ #include "pokemon_summary_screen.h" #include "pokenav.h" #include "menu_specialized.h" +#include "constants/rgb.h" +#include "data.h" extern struct MusicPlayerInfo gMPlayInfo_BGM; @@ -66,8 +68,8 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8, const u8* BS_ptr); static bool32 IsMonGettingExpSentOut(void); static void sub_804F17C(void); static bool8 sub_804F1CC(void); -static void sub_804F100(void); -static void sub_804F144(void); +static void DrawLevelUpWindow1(void); +static void DrawLevelUpWindow2(void); static bool8 sub_804F344(void); static void PutMonIconOnLvlUpBox(void); static void PutLevelAndGenderOnLvlUpBox(void); @@ -1274,8 +1276,8 @@ static void atk04_critcalc(void) + 2 * (holdEffect == HOLD_EFFECT_LUCKY_PUNCH && gBattleMons[gBattlerAttacker].species == SPECIES_CHANSEY) + 2 * (holdEffect == HOLD_EFFECT_STICK && gBattleMons[gBattlerAttacker].species == SPECIES_FARFETCHD); - if (critChance > 4) - critChance = 4; + if (critChance >= ARRAY_COUNT(sCriticalHitChance)) + critChance = ARRAY_COUNT(sCriticalHitChance) - 1; if ((gBattleMons[gBattlerTarget].ability != ABILITY_BATTLE_ARMOR && gBattleMons[gBattlerTarget].ability != ABILITY_SHELL_ARMOR) && !(gStatuses3[gBattlerAttacker] & STATUS3_CANT_SCORE_A_CRIT) @@ -3238,9 +3240,8 @@ static void atk23_getexp(void) s32 i; // also used as stringId u8 holdEffect; s32 sentIn; - s32 viaExpShare = 0; - u16* exp = &gBattleStruct->expValue; + u16 *exp = &gBattleStruct->expValue; gBattlerFainted = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); sentIn = gSentPokesToOpponent[(gBattlerFainted & 2) >> 1]; @@ -3391,14 +3392,14 @@ static void atk23_getexp(void) } } else + { gBattleStruct->expGetterBattlerId = 0; + } - PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gBattleStruct->expGetterBattlerId, gBattleStruct->expGetterMonId) - + PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gBattleStruct->expGetterBattlerId, gBattleStruct->expGetterMonId); // buffer 'gained' or 'gained a boosted' - PREPARE_STRING_BUFFER(gBattleTextBuff2, i) - - PREPARE_WORD_NUMBER_BUFFER(gBattleTextBuff3, 5, gBattleMoveDamage) + PREPARE_STRING_BUFFER(gBattleTextBuff2, i); + PREPARE_WORD_NUMBER_BUFFER(gBattleTextBuff3, 5, gBattleMoveDamage); PrepareStringBattle(STRINGID_PKMNGAINEDEXP, gBattleStruct->expGetterBattlerId); MonGainEVs(&gPlayerParty[gBattleStruct->expGetterMonId], gBattleMons[gBattlerFainted].species); @@ -3414,12 +3415,12 @@ static void atk23_getexp(void) gBattleBufferB[gBattleStruct->expGetterBattlerId][0] = 0; if (GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_HP) && GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_LEVEL) != MAX_LEVEL) { - gBattleResources->statsBeforeLvlUp->hp = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_MAX_HP); - gBattleResources->statsBeforeLvlUp->atk = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_ATK); - gBattleResources->statsBeforeLvlUp->def = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_DEF); - gBattleResources->statsBeforeLvlUp->spd = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPEED); - gBattleResources->statsBeforeLvlUp->spAtk = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPATK); - gBattleResources->statsBeforeLvlUp->spDef = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPDEF); + gBattleResources->beforeLvlUp->stats[STAT_HP] = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_MAX_HP); + gBattleResources->beforeLvlUp->stats[STAT_ATK] = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_ATK); + gBattleResources->beforeLvlUp->stats[STAT_DEF] = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_DEF); + gBattleResources->beforeLvlUp->stats[STAT_SPEED] = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPEED); + gBattleResources->beforeLvlUp->stats[STAT_SPATK] = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPATK); + gBattleResources->beforeLvlUp->stats[STAT_SPDEF] = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPDEF); gActiveBattler = gBattleStruct->expGetterBattlerId; BtlController_EmitExpUpdate(0, gBattleStruct->expGetterMonId, gBattleMoveDamage); @@ -3437,9 +3438,8 @@ static void atk23_getexp(void) if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && gBattlerPartyIndexes[gActiveBattler] == gBattleStruct->expGetterMonId) HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); - PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gActiveBattler, gBattleStruct->expGetterMonId) - - PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff2, 3, GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_LEVEL)) + PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gActiveBattler, gBattleStruct->expGetterMonId); + PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff2, 3, GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_LEVEL)); BattleScriptPushCursor(); gLeveledUpInBattle |= gBitTable[gBattleStruct->expGetterMonId]; @@ -3487,7 +3487,9 @@ static void atk23_getexp(void) break; case 5: // looper increment if (gBattleMoveDamage) // there is exp to give, goto case 3 that gives exp + { gBattleScripting.atk23_state = 3; + } else { gBattleStruct->expGetterMonId++; @@ -5695,7 +5697,7 @@ static void atk5A_yesnoboxlearnmove(void) if (gBattleCommunication[1] == 0) { HandleBattleWindow(0x18, 0x8, 0x1D, 0xD, WINDOW_CLEAR); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gBattleScripting.learnMoveState++; } else @@ -5911,8 +5913,7 @@ static void atk5D_getmoneyreward(void) moneyReward += GetTrainerMoneyToGive(gTrainerBattleOpponent_B); AddMoney(&gSaveBlock1Ptr->money, moneyReward); - - PREPARE_WORD_NUMBER_BUFFER(gBattleTextBuff1, 5, moneyReward) + PREPARE_WORD_NUMBER_BUFFER(gBattleTextBuff1, 5, moneyReward); gBattlescriptCurrInstr++; } @@ -6233,7 +6234,7 @@ static void atk6C_drawlvlupbox(void) gBattleScripting.atk6C_state = 4; break; case 4: - sub_804F100(); + DrawLevelUpWindow1(); PutWindowTilemap(13); CopyWindowToVram(13, 3); gBattleScripting.atk6C_state++; @@ -6250,7 +6251,7 @@ static void atk6C_drawlvlupbox(void) if (gMain.newKeys != 0) { PlaySE(SE_SELECT); - sub_804F144(); + DrawLevelUpWindow2(); CopyWindowToVram(13, 2); gBattleScripting.atk6C_state++; } @@ -6291,20 +6292,20 @@ static void atk6C_drawlvlupbox(void) } } -static void sub_804F100(void) +static void DrawLevelUpWindow1(void) { - struct StatsArray currentStats; + u16 currStats[NUM_STATS]; - GetMonLevelUpWindowStats(&gPlayerParty[gBattleStruct->expGetterMonId], (u16*) ¤tStats); - DrawLevelUpWindowPg1(0xD, (u16*) gBattleResources->statsBeforeLvlUp,(u16*) ¤tStats, 0xE, 0xD, 0xF); + GetMonLevelUpWindowStats(&gPlayerParty[gBattleStruct->expGetterMonId], currStats); + DrawLevelUpWindowPg1(0xD, gBattleResources->beforeLvlUp->stats, currStats, 0xE, 0xD, 0xF); } -static void sub_804F144(void) +static void DrawLevelUpWindow2(void) { - struct StatsArray currentStats; + u16 currStats[NUM_STATS]; - GetMonLevelUpWindowStats(&gPlayerParty[gBattleStruct->expGetterMonId], (u16*) ¤tStats); - DrawLevelUpWindowPg2(0xD, (u16*) ¤tStats, 0xE, 0xD, 0xF); + GetMonLevelUpWindowStats(&gPlayerParty[gBattleStruct->expGetterMonId], currStats); + DrawLevelUpWindowPg2(0xD, currStats, 0xE, 0xD, 0xF); } static void sub_804F17C(void) @@ -10274,7 +10275,7 @@ static void atkF2_displaydexinfo(void) switch (gBattleCommunication[0]) { case 0: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gBattleCommunication[0]++; break; case 1: @@ -10305,7 +10306,7 @@ static void atkF2_displaydexinfo(void) case 4: if (!IsDma3ManagerBusyWithBgCopy()) { - BeginNormalPaletteFade(0xFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFF, 0, 0x10, 0, RGB_BLACK); ShowBg(0); ShowBg(3); gBattleCommunication[0]++; diff --git a/src/battle_setup.c b/src/battle_setup.c index 7395c175b7..288fdb3e9e 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -45,6 +45,7 @@ #include "constants/map_types.h" #include "constants/battle_frontier.h" #include "field_screen_effect.h" +#include "data.h" enum { @@ -792,7 +793,7 @@ static u8 GetTrainerBattleTransition(void) if (gTrainers[gTrainerBattleOpponent_A].trainerClass == TRAINER_CLASS_ELITE_FOUR) { if (gTrainerBattleOpponent_A == TRAINER_SIDNEY) - return B_TRANSITION_SYDNEY; + return B_TRANSITION_SIDNEY; if (gTrainerBattleOpponent_A == TRAINER_PHOEBE) return B_TRANSITION_PHOEBE; if (gTrainerBattleOpponent_A == TRAINER_GLACIA) diff --git a/src/battle_tower.c b/src/battle_tower.c index 46aab4bac2..6f8e3e25f2 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -18,7 +18,7 @@ #include "trainer_see.h" #include "new_game.h" #include "string_util.h" -#include "data2.h" +#include "data.h" #include "link.h" #include "field_message_box.h" #include "tv.h" diff --git a/src/battle_transition.c b/src/battle_transition.c index df6180d19b..7edb1bd936 100644 --- a/src/battle_transition.c +++ b/src/battle_transition.c @@ -23,6 +23,7 @@ #include "constants/field_effects.h" #include "constants/songs.h" #include "constants/trainers.h" +#include "constants/rgb.h" struct TransitionData { @@ -75,7 +76,7 @@ static void Phase2Task_Slice(u8 taskId); static void Phase2Task_WhiteFade(u8 taskId); static void Phase2Task_GridSquares(u8 taskId); static void Phase2Task_Shards(u8 taskId); -static void Phase2Task_Sydney(u8 taskId); +static void Phase2Task_Sidney(u8 taskId); static void Phase2Task_Phoebe(u8 taskId); static void Phase2Task_Glacia(u8 taskId); static void Phase2Task_Drake(u8 taskId); @@ -330,7 +331,7 @@ static const TaskFunc sPhase2_Tasks[B_TRANSITION_COUNT] = Phase2Task_WhiteFade, // 9 Phase2Task_GridSquares, // 10 Phase2Task_Shards, // 11 - Phase2Task_Sydney, // 12 + Phase2Task_Sidney, // 12 Phase2Task_Phoebe, // 13 Phase2Task_Glacia, // 14 Phase2Task_Drake, // 15 @@ -823,7 +824,7 @@ const struct SpritePalette gFieldEffectObjectPaletteInfo10 = gFieldEffectObjectPalette10, 0x1009 }; -static const u16 sMugshotPal_Sydney[] = INCBIN_U16("graphics/battle_transitions/sidney_bg.gbapal"); +static const u16 sMugshotPal_Sidney[] = INCBIN_U16("graphics/battle_transitions/sidney_bg.gbapal"); static const u16 sMugshotPal_Phoebe[] = INCBIN_U16("graphics/battle_transitions/phoebe_bg.gbapal"); static const u16 sMugshotPal_Glacia[] = INCBIN_U16("graphics/battle_transitions/glacia_bg.gbapal"); static const u16 sMugshotPal_Drake[] = INCBIN_U16("graphics/battle_transitions/drake_bg.gbapal"); @@ -833,7 +834,7 @@ static const u16 sMugshotPal_May[] = INCBIN_U16("graphics/battle_transitions/may static const u16 *const sOpponentMugshotsPals[MUGSHOTS_COUNT] = { - sMugshotPal_Sydney, + sMugshotPal_Sidney, sMugshotPal_Phoebe, sMugshotPal_Glacia, sMugshotPal_Drake, @@ -1076,7 +1077,7 @@ static bool8 Phase2_Blur_Func2(struct Task *task) { task->tData1 = 4; if (++task->tData2 == 10) - BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 0x10, RGB_BLACK); SetGpuReg(REG_OFFSET_MOSAIC, (task->tData2 & 15) * 17); if (task->tData2 > 14) task->tState++; @@ -1103,7 +1104,7 @@ static bool8 Phase2_Swirl_Func1(struct Task *task) { sub_8149F08(); ScanlineEffect_Clear(); - BeginNormalPaletteFade(0xFFFFFFFF, 4, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 4, 0, 0x10, RGB_BLACK); sub_8149F98(gScanlineEffectRegBuffers[1], sTransitionStructPtr->field_14, 0, 2, 0, 160); SetVBlankCallback(VBlankCB_Phase2_Swirl); @@ -1158,7 +1159,7 @@ static bool8 Phase2_Shuffle_Func1(struct Task *task) sub_8149F08(); ScanlineEffect_Clear(); - BeginNormalPaletteFade(0xFFFFFFFF, 4, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 4, 0, 0x10, RGB_BLACK); memset(gScanlineEffectRegBuffers[1], sTransitionStructPtr->field_16, 0x140); SetVBlankCallback(VBlankCB_Phase2_Shuffle); @@ -1461,7 +1462,7 @@ static bool8 Phase2_Kyogre_Func5(struct Task *task) static bool8 Phase2_WeatherDuo_Func6(struct Task *task) { - BeginNormalPaletteFade(0xFFFF8000, 1, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFF8000, 1, 0, 0x10, RGB_BLACK); task->tState++; return FALSE; } @@ -1546,7 +1547,7 @@ static bool8 Phase2_FramesCountdown(struct Task *task) static bool8 Phase2_WeatherTrio_Func1(struct Task *task) { - BeginNormalPaletteFade(0x0000FFFF, 1, 0, 0x10, 0); + BeginNormalPaletteFade(0x0000FFFF, 1, 0, 0x10, RGB_BLACK); task->tState++; return FALSE; } @@ -1969,7 +1970,7 @@ static bool8 Phase2_Ripple_Func2(struct Task *task) if (++task->tData3 == 81) { task->tData4++; - BeginNormalPaletteFade(0xFFFFFFFF, -2, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, -2, 0, 0x10, RGB_BLACK); } if (task->tData4 != 0 && !gPaletteFade.active) @@ -2072,9 +2073,9 @@ static void VBlankCB_Phase2_Wave(void) DmaSet(0, gScanlineEffectRegBuffers[1], ®_WIN0H, 0xA2400001); } -static void Phase2Task_Sydney(u8 taskId) +static void Phase2Task_Sidney(u8 taskId) { - gTasks[taskId].tMugshotId = MUGSHOT_SYDNEY; + gTasks[taskId].tMugshotId = MUGSHOT_SIDNEY; Phase2Task_MugShotTransition(taskId); } @@ -3159,7 +3160,7 @@ static bool8 Phase2_Rayquaza_Func6(struct Task *task) { task->tState++; task->tData1 = 0; - BeginNormalPaletteFade(0xFFFF8000, 2, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFF8000, 2, 0, 0x10, RGB_BLACK); } return FALSE; @@ -3978,7 +3979,7 @@ static bool8 Phase2_30_Func4(struct Task *task) if (++task->tData3 == 101) { task->tData4++; - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); } if (task->tData4 != 0 && !gPaletteFade.active) diff --git a/src/battle_util.c b/src/battle_util.c index a7962b7f7d..03f1482da4 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -2041,7 +2041,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA case ABILITY_FLASH_FIRE: if (moveType == TYPE_FIRE && !(gBattleMons[battler].status1 & STATUS1_FREEZE)) { - if (!(gBattleResources->flags->flags[battler] & UNKNOWN_FLAG_FLASH_FIRE)) + if (!(gBattleResources->flags->flags[battler] & RESOURCE_FLAG_FLASH_FIRE)) { gBattleCommunication[MULTISTRING_CHOOSER] = 0; if (gProtectStructs[gBattlerAttacker].notFirstStrike) @@ -2049,7 +2049,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA else gBattlescriptCurrInstr = BattleScript_FlashFireBoost_PPLoss; - gBattleResources->flags->flags[battler] |= UNKNOWN_FLAG_FLASH_FIRE; + gBattleResources->flags->flags[battler] |= RESOURCE_FLAG_FLASH_FIRE; effect = 2; } else diff --git a/src/battle_util2.c b/src/battle_util2.c index 5ef969fd53..f840cd58b9 100644 --- a/src/battle_util2.c +++ b/src/battle_util2.c @@ -25,7 +25,7 @@ void AllocateBattleResources(void) gBattleResources->flags = AllocZeroed(sizeof(*gBattleResources->flags)); gBattleResources->battleScriptsStack = AllocZeroed(sizeof(*gBattleResources->battleScriptsStack)); gBattleResources->battleCallbackStack = AllocZeroed(sizeof(*gBattleResources->battleCallbackStack)); - gBattleResources->statsBeforeLvlUp = AllocZeroed(sizeof(*gBattleResources->statsBeforeLvlUp)); + gBattleResources->beforeLvlUp = AllocZeroed(sizeof(*gBattleResources->beforeLvlUp)); gBattleResources->ai = AllocZeroed(sizeof(*gBattleResources->ai)); gBattleResources->battleHistory = AllocZeroed(sizeof(*gBattleResources->battleHistory)); gBattleResources->AI_ScriptsStack = AllocZeroed(sizeof(*gBattleResources->AI_ScriptsStack)); @@ -56,7 +56,7 @@ void FreeBattleResources(void) FREE_AND_SET_NULL(gBattleResources->flags); FREE_AND_SET_NULL(gBattleResources->battleScriptsStack); FREE_AND_SET_NULL(gBattleResources->battleCallbackStack); - FREE_AND_SET_NULL(gBattleResources->statsBeforeLvlUp); + FREE_AND_SET_NULL(gBattleResources->beforeLvlUp); FREE_AND_SET_NULL(gBattleResources->ai); FREE_AND_SET_NULL(gBattleResources->battleHistory); FREE_AND_SET_NULL(gBattleResources->AI_ScriptsStack); diff --git a/src/berry.c b/src/berry.c index cbac06a3dd..49acb7d101 100644 --- a/src/berry.c +++ b/src/berry.c @@ -1,6 +1,8 @@ #include "global.h" #include "berry.h" #include "event_data.h" +#include "event_object_movement.h" +#include "event_scripts.h" #include "field_control_avatar.h" #include "fieldmap.h" #include "item.h" @@ -11,11 +13,6 @@ #include "text.h" #include "constants/event_object_movement_constants.h" #include "constants/items.h" -#include "event_object_movement.h" - - - -extern const u8 BerryTreeScript[]; static u32 GetEnigmaBerryChecksum(struct EnigmaBerry *enigmaBerry); static bool32 BerryTreeGrow(struct BerryTree *tree); @@ -117,6 +114,7 @@ static const u8 sBerryDescriptionPart2_Enigma[] = _("Appears to have the power o const struct Berry gBerries[] = { + [ITEM_CHERI_BERRY - FIRST_BERRY_INDEX] = { .name = _("CHERI"), .firmness = BERRY_FIRMNESS_SOFT, @@ -133,6 +131,8 @@ const struct Berry gBerries[] = .sour = 0, .smoothness = 25, }, + + [ITEM_CHESTO_BERRY - FIRST_BERRY_INDEX] = { .name = _("CHESTO"), .firmness = BERRY_FIRMNESS_SUPER_HARD, @@ -149,6 +149,8 @@ const struct Berry gBerries[] = .sour = 0, .smoothness = 25, }, + + [ITEM_PECHA_BERRY - FIRST_BERRY_INDEX] = { .name = _("PECHA"), .firmness = BERRY_FIRMNESS_VERY_SOFT, @@ -165,6 +167,8 @@ const struct Berry gBerries[] = .sour = 0, .smoothness = 25, }, + + [ITEM_RAWST_BERRY - FIRST_BERRY_INDEX] = { .name = _("RAWST"), .firmness = BERRY_FIRMNESS_HARD, @@ -181,6 +185,8 @@ const struct Berry gBerries[] = .sour = 0, .smoothness = 25, }, + + [ITEM_ASPEAR_BERRY - FIRST_BERRY_INDEX] = { .name = _("ASPEAR"), .firmness = BERRY_FIRMNESS_SUPER_HARD, @@ -197,6 +203,8 @@ const struct Berry gBerries[] = .sour = 10, .smoothness = 25, }, + + [ITEM_LEPPA_BERRY - FIRST_BERRY_INDEX] = { .name = _("LEPPA"), .firmness = BERRY_FIRMNESS_VERY_HARD, @@ -213,6 +221,8 @@ const struct Berry gBerries[] = .sour = 10, .smoothness = 20, }, + + [ITEM_ORAN_BERRY - FIRST_BERRY_INDEX] = { .name = _("ORAN"), .firmness = BERRY_FIRMNESS_SUPER_HARD, @@ -229,6 +239,8 @@ const struct Berry gBerries[] = .sour = 10, .smoothness = 20, }, + + [ITEM_PERSIM_BERRY - FIRST_BERRY_INDEX] = { .name = _("PERSIM"), .firmness = BERRY_FIRMNESS_HARD, @@ -245,6 +257,8 @@ const struct Berry gBerries[] = .sour = 10, .smoothness = 20, }, + + [ITEM_LUM_BERRY - FIRST_BERRY_INDEX] = { .name = _("LUM"), .firmness = BERRY_FIRMNESS_SUPER_HARD, @@ -261,6 +275,8 @@ const struct Berry gBerries[] = .sour = 10, .smoothness = 20, }, + + [ITEM_SITRUS_BERRY - FIRST_BERRY_INDEX] = { .name = _("SITRUS"), .firmness = BERRY_FIRMNESS_VERY_HARD, @@ -277,6 +293,8 @@ const struct Berry gBerries[] = .sour = 10, .smoothness = 20, }, + + [ITEM_FIGY_BERRY - FIRST_BERRY_INDEX] = { .name = _("FIGY"), .firmness = BERRY_FIRMNESS_SOFT, @@ -293,6 +311,8 @@ const struct Berry gBerries[] = .sour = 0, .smoothness = 25, }, + + [ITEM_WIKI_BERRY - FIRST_BERRY_INDEX] = { .name = _("WIKI"), .firmness = BERRY_FIRMNESS_HARD, @@ -309,6 +329,8 @@ const struct Berry gBerries[] = .sour = 0, .smoothness = 25, }, + + [ITEM_MAGO_BERRY - FIRST_BERRY_INDEX] = { .name = _("MAGO"), .firmness = BERRY_FIRMNESS_HARD, @@ -325,6 +347,8 @@ const struct Berry gBerries[] = .sour = 0, .smoothness = 25, }, + + [ITEM_AGUAV_BERRY - FIRST_BERRY_INDEX] = { .name = _("AGUAV"), .firmness = BERRY_FIRMNESS_SUPER_HARD, @@ -341,6 +365,8 @@ const struct Berry gBerries[] = .sour = 0, .smoothness = 25, }, + + [ITEM_IAPAPA_BERRY - FIRST_BERRY_INDEX] = { .name = _("IAPAPA"), .firmness = BERRY_FIRMNESS_SOFT, @@ -357,6 +383,8 @@ const struct Berry gBerries[] = .sour = 10, .smoothness = 25, }, + + [ITEM_RAZZ_BERRY - FIRST_BERRY_INDEX] = { .name = _("RAZZ"), .firmness = BERRY_FIRMNESS_VERY_HARD, @@ -373,6 +401,8 @@ const struct Berry gBerries[] = .sour = 0, .smoothness = 20, }, + + [ITEM_BLUK_BERRY - FIRST_BERRY_INDEX] = { .name = _("BLUK"), .firmness = BERRY_FIRMNESS_SOFT, @@ -389,6 +419,8 @@ const struct Berry gBerries[] = .sour = 0, .smoothness = 20, }, + + [ITEM_NANAB_BERRY - FIRST_BERRY_INDEX] = { .name = _("NANAB"), .firmness = BERRY_FIRMNESS_VERY_HARD, @@ -405,6 +437,8 @@ const struct Berry gBerries[] = .sour = 0, .smoothness = 20, }, + + [ITEM_WEPEAR_BERRY - FIRST_BERRY_INDEX] = { .name = _("WEPEAR"), .firmness = BERRY_FIRMNESS_SUPER_HARD, @@ -421,6 +455,8 @@ const struct Berry gBerries[] = .sour = 10, .smoothness = 20, }, + + [ITEM_PINAP_BERRY - FIRST_BERRY_INDEX] = { .name = _("PINAP"), .firmness = BERRY_FIRMNESS_HARD, @@ -437,6 +473,8 @@ const struct Berry gBerries[] = .sour = 10, .smoothness = 20, }, + + [ITEM_POMEG_BERRY - FIRST_BERRY_INDEX] = { .name = _("POMEG"), .firmness = BERRY_FIRMNESS_VERY_HARD, @@ -453,6 +491,8 @@ const struct Berry gBerries[] = .sour = 0, .smoothness = 20, }, + + [ITEM_KELPSY_BERRY - FIRST_BERRY_INDEX] = { .name = _("KELPSY"), .firmness = BERRY_FIRMNESS_HARD, @@ -469,6 +509,8 @@ const struct Berry gBerries[] = .sour = 10, .smoothness = 20, }, + + [ITEM_QUALOT_BERRY - FIRST_BERRY_INDEX] = { .name = _("QUALOT"), .firmness = BERRY_FIRMNESS_HARD, @@ -485,6 +527,8 @@ const struct Berry gBerries[] = .sour = 10, .smoothness = 20, }, + + [ITEM_HONDEW_BERRY - FIRST_BERRY_INDEX] = { .name = _("HONDEW"), .firmness = BERRY_FIRMNESS_HARD, @@ -501,6 +545,8 @@ const struct Berry gBerries[] = .sour = 0, .smoothness = 20, }, + + [ITEM_GREPA_BERRY - FIRST_BERRY_INDEX] = { .name = _("GREPA"), .firmness = BERRY_FIRMNESS_SOFT, @@ -517,6 +563,8 @@ const struct Berry gBerries[] = .sour = 10, .smoothness = 20, }, + + [ITEM_TAMATO_BERRY - FIRST_BERRY_INDEX] = { .name = _("TAMATO"), .firmness = BERRY_FIRMNESS_SOFT, @@ -533,6 +581,8 @@ const struct Berry gBerries[] = .sour = 0, .smoothness = 30, }, + + [ITEM_CORNN_BERRY - FIRST_BERRY_INDEX] = { .name = _("CORNN"), .firmness = BERRY_FIRMNESS_HARD, @@ -549,6 +599,8 @@ const struct Berry gBerries[] = .sour = 0, .smoothness = 30, }, + + [ITEM_MAGOST_BERRY - FIRST_BERRY_INDEX] = { .name = _("MAGOST"), .firmness = BERRY_FIRMNESS_HARD, @@ -565,6 +617,8 @@ const struct Berry gBerries[] = .sour = 0, .smoothness = 30, }, + + [ITEM_RABUTA_BERRY - FIRST_BERRY_INDEX] = { .name = _("RABUTA"), .firmness = BERRY_FIRMNESS_SOFT, @@ -581,6 +635,8 @@ const struct Berry gBerries[] = .sour = 10, .smoothness = 30, }, + + [ITEM_NOMEL_BERRY - FIRST_BERRY_INDEX] = { .name = _("NOMEL"), .firmness = BERRY_FIRMNESS_SUPER_HARD, @@ -597,6 +653,8 @@ const struct Berry gBerries[] = .sour = 20, .smoothness = 30, }, + + [ITEM_SPELON_BERRY - FIRST_BERRY_INDEX] = { .name = _("SPELON"), .firmness = BERRY_FIRMNESS_SOFT, @@ -613,6 +671,8 @@ const struct Berry gBerries[] = .sour = 0, .smoothness = 70, }, + + [ITEM_PAMTRE_BERRY - FIRST_BERRY_INDEX] = { .name = _("PAMTRE"), .firmness = BERRY_FIRMNESS_VERY_SOFT, @@ -629,6 +689,8 @@ const struct Berry gBerries[] = .sour = 0, .smoothness = 70, }, + + [ITEM_WATMEL_BERRY - FIRST_BERRY_INDEX] = { .name = _("WATMEL"), .firmness = BERRY_FIRMNESS_SOFT, @@ -645,6 +707,8 @@ const struct Berry gBerries[] = .sour = 0, .smoothness = 70, }, + + [ITEM_DURIN_BERRY - FIRST_BERRY_INDEX] = { .name = _("DURIN"), .firmness = BERRY_FIRMNESS_HARD, @@ -661,6 +725,8 @@ const struct Berry gBerries[] = .sour = 10, .smoothness = 70, }, + + [ITEM_BELUE_BERRY - FIRST_BERRY_INDEX] = { .name = _("BELUE"), .firmness = BERRY_FIRMNESS_VERY_SOFT, @@ -677,6 +743,8 @@ const struct Berry gBerries[] = .sour = 40, .smoothness = 70, }, + + [ITEM_LIECHI_BERRY - FIRST_BERRY_INDEX] = { .name = _("LIECHI"), .firmness = BERRY_FIRMNESS_VERY_HARD, @@ -693,6 +761,8 @@ const struct Berry gBerries[] = .sour = 10, .smoothness = 80, }, + + [ITEM_GANLON_BERRY - FIRST_BERRY_INDEX] = { .name = _("GANLON"), .firmness = BERRY_FIRMNESS_VERY_HARD, @@ -709,6 +779,8 @@ const struct Berry gBerries[] = .sour = 0, .smoothness = 80, }, + + [ITEM_SALAC_BERRY - FIRST_BERRY_INDEX] = { .name = _("SALAC"), .firmness = BERRY_FIRMNESS_VERY_HARD, @@ -725,6 +797,8 @@ const struct Berry gBerries[] = .sour = 40, .smoothness = 80, }, + + [ITEM_PETAYA_BERRY - FIRST_BERRY_INDEX] = { .name = _("PETAYA"), .firmness = BERRY_FIRMNESS_VERY_HARD, @@ -741,6 +815,8 @@ const struct Berry gBerries[] = .sour = 0, .smoothness = 80, }, + + [ITEM_APICOT_BERRY - FIRST_BERRY_INDEX] = { .name = _("APICOT"), .firmness = BERRY_FIRMNESS_HARD, @@ -757,6 +833,8 @@ const struct Berry gBerries[] = .sour = 40, .smoothness = 80, }, + + [ITEM_LANSAT_BERRY - FIRST_BERRY_INDEX] = { .name = _("LANSAT"), .firmness = BERRY_FIRMNESS_SOFT, @@ -773,6 +851,8 @@ const struct Berry gBerries[] = .sour = 10, .smoothness = 30, }, + + [ITEM_STARF_BERRY - FIRST_BERRY_INDEX] = { .name = _("STARF"), .firmness = BERRY_FIRMNESS_SUPER_HARD, @@ -789,6 +869,8 @@ const struct Berry gBerries[] = .sour = 10, .smoothness = 30, }, + + [ITEM_ENIGMA_BERRY - FIRST_BERRY_INDEX] = { .name = _("ENIGMA"), .firmness = BERRY_FIRMNESS_UNKNOWN, diff --git a/src/berry_blender.c b/src/berry_blender.c index 26327a634a..c1c664c1ac 100644 --- a/src/berry_blender.c +++ b/src/berry_blender.c @@ -36,6 +36,7 @@ #include "new_game.h" #include "save.h" #include "link.h" +#include "constants/rgb.h" #define BLENDER_SCORE_BEST 0 #define BLENDER_SCORE_GOOD 1 @@ -996,7 +997,7 @@ static void sub_807FAC8(void) } if (gReceivedRemoteLinkPlayers != 0 && gWirelessCommType) { - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(0, 0); } SetVBlankCallback(VBlankCB0_BerryBlender); @@ -1004,7 +1005,7 @@ static void sub_807FAC8(void) } break; case 2: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); sub_8082D28(); sBerryBlenderData->mainState++; break; @@ -1018,7 +1019,7 @@ static void sub_807FAC8(void) sBerryBlenderData->mainState++; break; case 5: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); sBerryBlenderData->mainState++; break; case 6: @@ -1202,13 +1203,13 @@ static void sub_8080018(void) } if (gReceivedRemoteLinkPlayers != 0 && gWirelessCommType) { - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(0, 0); } sBerryBlenderData->mainState++; break; case 3: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); sBerryBlenderData->mainState++; break; case 4: @@ -1534,7 +1535,7 @@ static void sub_80808D4(void) sBerryBlenderData->mainState++; break; case 3: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); sBerryBlenderData->mainState++; sBerryBlenderData->framesToWait = 0; break; @@ -2037,7 +2038,7 @@ static void sub_8081744(void) sBerryBlenderData->field_4C--; sBerryBlenderData->field_72 = 0; } - if (gUnknown_020322D5 && gMain.newKeys & L_BUTTON) + if (gEnableContestDebugging && gMain.newKeys & L_BUTTON) sBerryBlenderData->field_123 ^= 1; } @@ -2700,7 +2701,7 @@ static void CB2_HandlePlayerLinkPlayAgainChoice(void) case 9: if (IsLinkTaskFinished()) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); sBerryBlenderData->gameEndState++; } break; diff --git a/src/berry_crush.c b/src/berry_crush.c index 307bd49a74..a5d964cc9e 100755 --- a/src/berry_crush.c +++ b/src/berry_crush.c @@ -337,7 +337,7 @@ void sub_8020FC4(struct BerryCrushGame *arg0) for (i = 0; i < arg0->unk9; i++) StringCopy(arg0->unk84.players[i].unk14, gLinkPlayers[i].name); - + for (; i < 5; i++) { memset(arg0->unk84.players[i].unk14, 1, PLAYER_NAME_LENGTH); @@ -511,7 +511,7 @@ int sub_802104C(void) CopyBgTilemapBufferToVram(3); break; case 8: - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(0, 0); sub_8022730(var0); SetGpuReg(REG_OFFSET_BG1VOFS, -gSpriteCoordOffsetY); diff --git a/src/berry_tag_screen.c b/src/berry_tag_screen.c index a7cf4daf21..d0f89ab8a6 100644 --- a/src/berry_tag_screen.c +++ b/src/berry_tag_screen.c @@ -28,6 +28,7 @@ #include "item_menu_icons.h" #include "decompress.h" #include "international_string_util.h" +#include "constants/rgb.h" // There are 4 windows used in berry tag screen. enum @@ -279,7 +280,7 @@ static bool8 InitBerryTagScreen(void) gMain.state++; break; case 15: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); gPaletteFade.bufferTransferDisabled = 0; gMain.state++; break; @@ -513,7 +514,7 @@ static void DestroyFlavorCircleSprites(void) static void PrepareToCloseBerryTagScreen(u8 taskId) { PlaySE(SE_SELECT); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gTasks[taskId].func = Task_CloseBerryTagScreen; } diff --git a/src/bike.c b/src/bike.c index 530742bdf6..7f84f350b7 100644 --- a/src/bike.c +++ b/src/bike.c @@ -3,7 +3,7 @@ #include "event_object_movement.h" #include "field_player_avatar.h" #include "fieldmap.h" -#include "global.fieldmap.h" +#include "field_specials.h" #include "metatile_behavior.h" #include "overworld.h" #include "sound.h" @@ -11,9 +11,6 @@ #include "constants/map_types.h" #include "constants/songs.h" -extern bool8 gBikeCyclingChallenge; -extern u8 gBikeCollisions; - // this file's functions static void MovePlayerOnMachBike(u8, u16, u16); static u8 GetMachBikeTransition(u8 *); diff --git a/src/cable_club.c b/src/cable_club.c index fab187b071..303cc76d1e 100644 --- a/src/cable_club.c +++ b/src/cable_club.c @@ -4,7 +4,7 @@ #include "battle_records.h" #include "battle_setup.h" #include "cable_club.h" -#include "data2.h" +#include "data.h" #include "event_data.h" #include "field_message_box.h" #include "field_specials.h" diff --git a/src/clear_save_data_screen.c b/src/clear_save_data_screen.c index c1d6930c70..b91506352d 100644 --- a/src/clear_save_data_screen.c +++ b/src/clear_save_data_screen.c @@ -163,7 +163,7 @@ static bool8 SetupClearSaveDataScreen(void) ShowBg(3); SetGpuReg(REG_OFFSET_BLDCNT, 0); InitClearSaveDataScreenWindows(); - BeginNormalPaletteFade(0x0000FFFF, 0, 0x10, 0, 0xFFFF); + BeginNormalPaletteFade(0x0000FFFF, 0, 0x10, 0, RGB_WHITEALPHA); EnableInterrupts(INTR_FLAG_VBLANK); SetVBlankCallback(VBlankCB); gMain.state = 1; diff --git a/src/contest.c b/src/contest.c index 02d7038cfa..eb3252f729 100644 --- a/src/contest.c +++ b/src/contest.c @@ -11,7 +11,7 @@ #include "battle.h" #include "battle_anim.h" #include "contest.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "graphics.h" #include "link.h" @@ -41,10 +41,37 @@ #include "contest_link_80FC4F4.h" #include "script_pokemon_util_80F87D8.h" #include "international_string_util.h" -#include "data2.h" +#include "data.h" #include "constants/rgb.h" #include "contest_ai.h" +#define APPLAUSE_METER_GFX_TAG 0xABE2 + +// An index into a palette where the text color for each contestant is stored. +// Contestant 0 will use palette color 10, contestant 1 will use color 11, etc. +#define CONTESTANT_TEXT_COLOR_START 10 + +enum +{ +// The "{Pokemon Name} / {Trainer Name}" windows. + CONTEST_WINDOW_CONTESTANT0_NAME, + CONTEST_WINDOW_CONTESTANT1_NAME, + CONTEST_WINDOW_CONTESTANT2_NAME, + CONTEST_WINDOW_CONTESTANT3_NAME, + CONTEST_WINDOW_GENERAL_TEXT, + // The available moves, from top to bottom + CONTEST_WINDOW_MOVE0, + CONTEST_WINDOW_MOVE1, + CONTEST_WINDOW_MOVE2, + CONTEST_WINDOW_MOVE3, + // The small "/" character between the move category and the + // appeal/jam display + CONTEST_WINDOW_SLASH, + CONTEST_WINDOW_MOVE_DESCRIPTION +}; + +#define MOVE_WINDOWS_START CONTEST_WINDOW_MOVE0 + // This file's functions. static void sub_80D782C(void); static void sub_80D7C7C(u8 taskId); @@ -52,11 +79,11 @@ static void sub_80D7CB4(u8 taskId); static void sub_80D7DAC(u8 taskId); static void sub_80D7DC8(u8 taskId); static void sub_80D7DE8(u8 taskId); -static bool8 sub_80D7E44(u8 *); +static bool8 SetupContestGraphics(u8 *stateVar); static void sub_80D80C8(u8 taskId); static void sub_80D8108(u8 taskId); static void vblank_cb_battle(void); -static void sub_80D823C(void); +static void CB2_ContestMain(void); static void sub_80D833C(u8 taskId); static void sub_80D8424(u8 taskId); static void sub_80D8610(u8 taskId); @@ -94,31 +121,31 @@ static void sub_80DA7EC(u8); static void sub_80DA830(u8); static void sub_80DA874(void); static bool8 sub_80DA8A4(void); -static void sub_80DAF04(u8); -static void sub_80DAF1C(u8 a0, u8 a1); -static void sub_80DAF88(u8); -static void sub_80DAFA0(u8, u8); +static void PrintContestantTrainerName(u8); +static void PrintContestantTrainerNameWithColor(u8 a0, u8 a1); +static void PrintContestantMonName(u8); +static void PrintContestantMonNameWithColor(u8, u8); static u8 sub_80DB0C4(void); static u8 sub_80DB120(void); static u8 sub_80DB174(u16, u32, u32, u32); -static void prints_contest_move_description(u16); +static void PrintContestMoveDescription(u16); static u16 SanitizeSpecies(u16); -static void sub_80DB89C(void); +static void ContestClearGeneralTextWindow(void); static u16 GetChosenMove(u8); -static void sub_80DB918(void); -static void sub_80DBF68(void); -static void sub_80DBF90(void); +static void GetAllChosenMoves(void); +static void ContestPrintLinkStandby(void); +static void FillContestantWindowBgs(void); static void sub_80DC2BC(void); static void sub_80DC490(bool8); static void sub_80DC4F0(void); static void CreateApplauseMeterSprite(void); static void sub_80DC5E8(void); static void sub_80DC7EC(void); -static void sub_80DCD48(void); -static void sub_80DD04C(void); -static void sub_80DD590(void); -static void sub_80DDB0C(void); -static void sub_80DDBE8(void); +static void ContestDebugDoPrint(void); +static void DrawContestantWindows(void); +static void ApplyNextTurnOrder(void); +static void StartMoveApplauseMeterOnscreen(void); +static void TryMoveApplauseMeterOffscreen(void); static void sub_80DE224(void); static void sub_80DE350(void); static void sub_80DE424(u8); @@ -127,7 +154,7 @@ static void sub_80DEA20(void); static void Contest_StartTextPrinter(const u8 *, u32); static void ContestBG_FillBoxWithIncrementingTile(u8, u16, u8, u8, u8, u8, u8, s16); static bool32 Contest_RunTextPrinters(void); -static void Contest_SetBgCopyFlags(u32); +static void Contest_SetBgCopyFlags(u32 flagIndex); static void sub_80DBD18(void); static void sub_80DD080(u8); static void sub_80DE9DC(u8); @@ -148,10 +175,10 @@ static bool8 sub_80DB798(u8); static void sub_80DB884(void); static void sub_80DC9B4(u8); static void sub_80DDED0(s8, s8); -static void sub_80DDCDC(s8); +static void ShowAndUpdateApplauseMeter(s8 unused); static void sub_80DDE0C(void); -static void sub_80DD940(void); -static void sub_80DB944(void); +static void UpdateApplauseMeter(void); +static void RankContestants(void); static void sub_80DBA18(void); static void sub_80DC3AC(void); static bool8 sub_80DC3C4(void); @@ -169,11 +196,11 @@ static void sub_80DC81C(u8); static void sub_80DC87C(u8); static void sub_80DCC84(struct Sprite *); static void sub_80DCCD8(struct Sprite *sprite); -static u8 sub_80DDA20(void); -static void c3_08130B10(u8); -static void sub_80DDB6C(u8); -static void task08_080CD1CC(u8); -static void sub_80DDD20(u8); +static u8 StartApplauseOverflowAnimation(void); +static void Task_ApplauseOverflowAnimation(u8); +static void Task_MoveApplauseMeterOnscreen(u8); +static void Task_MoveApplauseMeterOffscreen(u8); +static void Task_ShowAndUpdateApplauseMeter(u8); static void sub_80DDE30(u8); static void sub_80DDF80(u8); static const u8 *GetTurnOrderNumberGfx(u8); @@ -186,10 +213,10 @@ static void sub_80DEA5C(void); static void sub_80DF250(void); static void sub_80DF4F8(void); static void sub_80DF080(u8); -static void sub_80DF750(void); +static void ContestDebugPrintBitStrings(void); static void sub_80DF9D4(u8 *); static void sub_80DF9E0(u8 *, s32); -static void sub_80DB2BC(void); +static void SwapMoveDescAndContestTilemaps(void); // EWRAM vars. EWRAM_DATA struct ContestPokemon gContestMons[4] = {0}; @@ -200,8 +227,8 @@ EWRAM_DATA s16 gUnknown_02039F18[4] = {0}; EWRAM_DATA u8 gContestFinalStandings[4] = {0}; EWRAM_DATA u8 gContestMonPartyIndex = 0; EWRAM_DATA u8 gContestPlayerMonIndex = 0; -EWRAM_DATA u8 gUnknown_02039F26[4] = {0}; -EWRAM_DATA u8 gIsLinkContest = 0; +EWRAM_DATA u8 gContestantTurnOrder[4] = {0}; +EWRAM_DATA u8 gLinkContestFlags = 0; // Bit 0: Is a link contest // Bit 1: Link contest uses wireless adapter EWRAM_DATA u8 gUnknown_02039F2B = 0; @@ -218,14 +245,14 @@ EWRAM_DATA u8 gUnknown_02039F5D = 0; // IWRAM common vars. u32 gContestRngValue; -extern const u8 *const gUnknown_0827E8DA[]; +extern const u8 gText_LinkStandby4[]; extern const u8 gText_0827D55A[]; extern const u8 gText_0827E793[]; extern const u8 gText_0827E32E[]; extern const u8 gText_0827E35B[]; extern const u8 gText_0827E38D[]; extern const u8 gText_0827E2FE[]; -extern const u8 gText_0827E6E3[]; +extern const u8 gText_RepeatedAppeal[]; extern const u8 gText_0827E73C[]; extern const u8 gText_0827E717[]; extern const u8 gText_0827E76A[]; @@ -242,8 +269,6 @@ extern const u8 gText_Contest_Fear[]; extern const u8 gText_BDot[]; extern const u8 gText_CDot[]; extern const u8 *const gUnknown_08587E10[]; -extern const union AffineAnimCmd *const gUnknown_082FF6C0[]; -extern const union AffineAnimCmd *const gUnknown_082FF694[]; extern const struct SpriteTemplate gSpriteTemplate_8587AD0; extern const struct SpriteTemplate gSpriteTemplate_8587B18[]; extern void (*const gContestEffectFuncs[])(void); @@ -467,20 +492,20 @@ const struct SpriteTemplate gSpriteTemplate_8587B98 = .callback = SpriteCallbackDummy }; -const struct CompressedSpriteSheet gUnknown_08587BB0 = +static const struct CompressedSpriteSheet sApplauseMeterSpriteSheet = { .data = gContestApplauseGfx, .size = 0x400, - .tag = 0xABE2 + .tag = APPLAUSE_METER_GFX_TAG }; -const struct SpritePalette gUnknown_08587BB8 = +static const struct SpritePalette sApplauseMeterPalette = { .data = gContestPal, - .tag = 0xABE2 + .tag = APPLAUSE_METER_GFX_TAG }; -const struct OamData gOamData_8587BC0 = +static const struct OamData sApplauseMeterOamData = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -494,11 +519,11 @@ const struct OamData gOamData_8587BC0 = .paletteNum = 0, }; -const struct SpriteTemplate gSpriteTemplate_8587BC8 = +static const struct SpriteTemplate sApplauseMeterSpriteTemplate = { - .tileTag = 0xABE2, - .paletteTag = 0xABE2, - .oam = &gOamData_8587BC0, + .tileTag = APPLAUSE_METER_GFX_TAG, + .paletteTag = APPLAUSE_METER_GFX_TAG, + .oam = &sApplauseMeterOamData, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -565,7 +590,7 @@ const u16 gUnknown_08587C30[] = INCBIN_U16("graphics/unknown/unknown_587C30.gbap #include "data/contest_text_tables.h" -const struct BgTemplate gUnknown_08587F34[] = +static const struct BgTemplate sContestBgTemplates[] = { { .bg = 0, @@ -605,9 +630,9 @@ const struct BgTemplate gUnknown_08587F34[] = } }; -const struct WindowTemplate gUnknown_08587F44[] = +static const struct WindowTemplate sContestWindowTemplates[] = { - { + [CONTEST_WINDOW_CONTESTANT0_NAME] = { .bg = 0, .tilemapLeft = 18, .tilemapTop = 0, @@ -616,7 +641,7 @@ const struct WindowTemplate gUnknown_08587F44[] = .paletteNum = 0xF, .baseBlock = 0x200 }, - { + [CONTEST_WINDOW_CONTESTANT1_NAME] = { .bg = 0, .tilemapLeft = 18, .tilemapTop = 5, @@ -625,7 +650,7 @@ const struct WindowTemplate gUnknown_08587F44[] = .paletteNum = 0xF, .baseBlock = 0x218 }, - { + [CONTEST_WINDOW_CONTESTANT2_NAME] = { .bg = 0, .tilemapLeft = 18, .tilemapTop = 10, @@ -634,7 +659,7 @@ const struct WindowTemplate gUnknown_08587F44[] = .paletteNum = 0xF, .baseBlock = 0x230 }, - { + [CONTEST_WINDOW_CONTESTANT3_NAME] = { .bg = 0, .tilemapLeft = 18, .tilemapTop = 15, @@ -643,7 +668,7 @@ const struct WindowTemplate gUnknown_08587F44[] = .paletteNum = 0xF, .baseBlock = 0x248 }, - { + [CONTEST_WINDOW_GENERAL_TEXT] = { .bg = 0, .tilemapLeft = 1, .tilemapTop = 15, @@ -652,55 +677,55 @@ const struct WindowTemplate gUnknown_08587F44[] = .paletteNum = 0xF, .baseBlock = 0x260 }, - { + [CONTEST_WINDOW_MOVE0] = { .bg = 0, .tilemapLeft = 1, - .tilemapTop = 0x1F, + .tilemapTop = 31, .width = 9, .height = 2, .paletteNum = 0xF, .baseBlock = 0x2A4 }, - { + [CONTEST_WINDOW_MOVE1] = { .bg = 0, .tilemapLeft = 1, - .tilemapTop = 0x21, + .tilemapTop = 33, .width = 9, .height = 2, .paletteNum = 0xF, .baseBlock = 0x2B6 }, - { + [CONTEST_WINDOW_MOVE2] = { .bg = 0, .tilemapLeft = 1, - .tilemapTop = 0x23, + .tilemapTop = 35, .width = 9, .height = 2, .paletteNum = 0xF, .baseBlock = 0x2C8 }, - { + [CONTEST_WINDOW_MOVE3] = { .bg = 0, .tilemapLeft = 1, - .tilemapTop = 0x25, + .tilemapTop = 37, .width = 9, .height = 2, .paletteNum = 0xF, .baseBlock = 0x2DA }, - { + [CONTEST_WINDOW_SLASH] = { .bg = 0, .tilemapLeft = 16, - .tilemapTop = 0x1F, + .tilemapTop = 31, .width = 1, .height = 2, .paletteNum = 0xF, .baseBlock = 0x2EC }, - { + [CONTEST_WINDOW_MOVE_DESCRIPTION] = { .bg = 0, .tilemapLeft = 11, - .tilemapTop = 0x23, + .tilemapTop = 35, .width = 18, .height = 4, .paletteNum = 0xF, @@ -847,10 +872,10 @@ static void TaskDummy1(u8 taskId) void ResetLinkContestBoolean(void) { - gIsLinkContest = 0; + gLinkContestFlags = 0; } -static void sub_80D7678(void) +static void SetupContestGpuRegs(void) { u16 savedIme; @@ -882,36 +907,36 @@ void LoadContestBgAfterMoveAnim(void) LZDecompressVram(gContestMiscGfx, (void *)VRAM); LZDecompressVram(gContestAudienceGfx, (void *)(BG_SCREEN_ADDR(4))); - CopyToBgTilemapBuffer(3, gUnknown_08C16FA8, 0, 0); + CopyToBgTilemapBuffer(3, gOldContestGfx, 0, 0); CopyBgTilemapBufferToVram(3); - LoadCompressedPalette(gUnknown_08C16E90, 0, 0x200); + LoadCompressedPalette(gOldContestPalette, 0, 0x200); sub_80D782C(); - for (i = 0; i < MAX_MON_MOVES; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { - u32 var = 5 + i; + u32 contestantWindowId = MOVE_WINDOWS_START + i; - LoadPalette(shared18000.unk18004[var], 16 * (5 + gUnknown_02039F26[i]), 16 * sizeof(u16)); + LoadPalette(eUnknownHeap1A004.cachedWindowPalettes[contestantWindowId], 16 * (MOVE_WINDOWS_START + gContestantTurnOrder[i]), sizeof((eUnknownHeap1A004.cachedWindowPalettes[contestantWindowId]))); } } -static void sub_80D779C(void) +static void InitContestInfoBgs(void) { s32 i; ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, gUnknown_08587F34, ARRAY_COUNT(gUnknown_08587F34)); + InitBgsFromTemplates(0, sContestBgTemplates, ARRAY_COUNT(sContestBgTemplates)); SetBgAttribute(3, BG_ATTR_WRAPAROUND, 1); - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { - SetBgTilemapBuffer(i, gContestResources->field_24[i]); + SetBgTilemapBuffer(i, gContestResources->contestBgTilemaps[i]); } } -static void sub_80D77E4(void) +static void InitContestWindows(void) { - InitWindows(gUnknown_08587F44); + InitWindows(sContestWindowTemplates); DeactivateAllTextPrinters(); - if (gIsLinkContest & 1) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) { gTextFlags.canABSpeedUpPrint = FALSE; } @@ -932,78 +957,82 @@ static void sub_80D782C(void) FillPalette(RGB(31, 17, 31), 0xF3, 2); } -static void sub_80D787C(void) +static void InitContestResources(void) { s32 i; - *gContestResources->field_0 = (struct Contest){}; - for (i = 0; i < 4; i++) + eContest = (struct Contest){}; + for (i = 0; i < CONTESTANT_COUNT; i++) { - gContestResources->field_0->unk19206[i] = 0xFF; + eContest.unused2[i] = 0xFF; } - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { - gContestResources->field_4[i] = (struct ContestantStatus){}; + eContestantStatus[i] = (struct ContestantStatus){}; } - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { - gContestResources->field_4[i].unkB_0 = 0; - gContestResources->field_4[i].effectStringId = CONTEST_STRING_NONE; - gContestResources->field_4[i].effectStringId2 = CONTEST_STRING_NONE; + eContestantStatus[i].ranking = 0; + eContestantStatus[i].effectStringId = CONTEST_STRING_NONE; + eContestantStatus[i].effectStringId2 = CONTEST_STRING_NONE; } - *gContestResources->field_8 = (struct UnknownContestStruct7){}; - *gContestResources->field_C = (struct ContestAIInfo){}; + eContestResources8 = (struct UnknownContestStruct7){}; + eContestAI = (struct ContestAIInfo){}; *gContestResources->field_10 = (struct UnknownContestStruct5){}; - memset(gContestResources->field_14, 0, 4 * sizeof(struct UnknownContestStruct4)); - if (!(gIsLinkContest & 1)) - sub_80DCE58(0); - for (i = 0; i < 4; i++) + memset(gContestResources->field_14, 0, CONTESTANT_COUNT * sizeof(struct UnknownContestStruct4)); + + if (!(gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)) + SortContestants(FALSE); + + for (i = 0; i < CONTESTANT_COUNT; i++) { - gContestResources->field_4[i].nextTurnOrder = 0xFF; - gContestResources->field_0->unk19218[i] = gUnknown_02039F26[i]; + eContestantStatus[i].nextTurnOrder = 0xFF; + eContest.prevTurnOrder[i] = gContestantTurnOrder[i]; } - sub_80DD590(); - memset(gContestResources->field_1c, 0, sizeof(*gContestResources->field_1c) * 4); + // Calling this here while all the nextTurnOrder values are 0xFF will actually + // just reverse the turn order. + ApplyNextTurnOrder(); + memset(gContestResources->field_1c, 0, sizeof(*gContestResources->field_1c) * CONTESTANT_COUNT); } -static void sub_80D7988(void) +static void AllocContestResources(void) { gContestResources = AllocZeroed(sizeof(struct ContestResources)); - gContestResources->field_0 = AllocZeroed(sizeof(struct Contest)); - gContestResources->field_4 = AllocZeroed(sizeof(struct ContestantStatus) * 4); + gContestResources->contest = AllocZeroed(sizeof(struct Contest)); + gContestResources->status = AllocZeroed(sizeof(struct ContestantStatus) * CONTESTANT_COUNT); gContestResources->field_8 = AllocZeroed(sizeof(struct UnknownContestStruct7)); - gContestResources->field_C = AllocZeroed(sizeof(struct ContestAIInfo)); - gContestResources->field_10 = AllocZeroed(sizeof(struct UnknownContestStruct5) * 4); - gContestResources->field_14 = AllocZeroed(sizeof(struct UnknownContestStruct4) * 4); + gContestResources->aiData = AllocZeroed(sizeof(struct ContestAIInfo)); + gContestResources->field_10 = AllocZeroed(sizeof(struct UnknownContestStruct5) * CONTESTANT_COUNT); + gContestResources->field_14 = AllocZeroed(sizeof(struct UnknownContestStruct4) * CONTESTANT_COUNT); gContestResources->field_18 = AllocZeroed(sizeof(struct ContestStruct_field_18)); - gContestResources->field_1c = AllocZeroed(sizeof(struct ContestResourcesField1C) * 4); + gContestResources->field_1c = AllocZeroed(sizeof(struct ContestResourcesField1C) * CONTESTANT_COUNT); gContestResources->field_20 = AllocZeroed(sizeof(struct ContestResourcesField20)); - gContestResources->field_24[0] = AllocZeroed(0x1000); - gContestResources->field_24[1] = AllocZeroed(0x1000); - gContestResources->field_24[2] = AllocZeroed(0x1000); - gContestResources->field_24[3] = AllocZeroed(0x1000); + gContestResources->contestBgTilemaps[0] = AllocZeroed(0x1000); + gContestResources->contestBgTilemaps[1] = AllocZeroed(0x1000); + gContestResources->contestBgTilemaps[2] = AllocZeroed(0x1000); + gContestResources->contestBgTilemaps[3] = AllocZeroed(0x1000); gContestResources->field_34 = AllocZeroed(0x800); gContestResources->field_38 = AllocZeroed(0x800); gContestResources->field_3c = AllocZeroed(0x2000); gUnknown_0202305C = gContestResources->field_3c; - gUnknown_02023060 = gContestResources->field_24[1]; + gUnknown_02023060 = gContestResources->contestBgTilemaps[1]; } -static void sub_80D7A5C(void) +static void FreeContestResources(void) { - FREE_AND_SET_NULL(gContestResources->field_0); - FREE_AND_SET_NULL(gContestResources->field_4); + FREE_AND_SET_NULL(gContestResources->contest); + FREE_AND_SET_NULL(gContestResources->status); FREE_AND_SET_NULL(gContestResources->field_8); - FREE_AND_SET_NULL(gContestResources->field_C); + FREE_AND_SET_NULL(gContestResources->aiData); FREE_AND_SET_NULL(gContestResources->field_10); FREE_AND_SET_NULL(gContestResources->field_14); FREE_AND_SET_NULL(gContestResources->field_18); FREE_AND_SET_NULL(gContestResources->field_1c); FREE_AND_SET_NULL(gContestResources->field_20); - FREE_AND_SET_NULL(gContestResources->field_24[0]); - FREE_AND_SET_NULL(gContestResources->field_24[1]); - FREE_AND_SET_NULL(gContestResources->field_24[2]); - FREE_AND_SET_NULL(gContestResources->field_24[3]); + FREE_AND_SET_NULL(gContestResources->contestBgTilemaps[0]); + FREE_AND_SET_NULL(gContestResources->contestBgTilemaps[1]); + FREE_AND_SET_NULL(gContestResources->contestBgTilemaps[2]); + FREE_AND_SET_NULL(gContestResources->contestBgTilemaps[3]); FREE_AND_SET_NULL(gContestResources->field_34); FREE_AND_SET_NULL(gContestResources->field_38); FREE_AND_SET_NULL(gContestResources->field_3c); @@ -1012,20 +1041,20 @@ static void sub_80D7A5C(void) gUnknown_02023060 = NULL; } -void sub_80D7B24(void) +void CB2_StartContest(void) { switch (gMain.state) { case 0: sContestBgCopyFlags = 0; - sub_80D7988(); + AllocContestResources(); AllocateMonSpritesGfx(); FREE_AND_SET_NULL(gMonSpritesGfxPtr->firstDecompressed); gMonSpritesGfxPtr->firstDecompressed = AllocZeroed(0x4000); SetVBlankCallback(NULL); - sub_80D779C(); - sub_80D77E4(); - sub_80D7678(); + InitContestInfoBgs(); + InitContestWindows(); + SetupContestGpuRegs(); ScanlineEffect_Clear(); ResetPaletteFade(); gPaletteFade.bufferTransferDisabled = TRUE; @@ -1033,19 +1062,18 @@ void sub_80D7B24(void) ResetTasks(); FreeAllSpritePalettes(); gReservedSpritePaletteCount = 4; - //shared18000.unk18000 = 0; - gHeap[0x1a000] = 0; + eContestDebugMode = CONTEST_DEBUG_MODE_OFF; ClearBattleMonForms(); - sub_80D787C(); + InitContestResources(); gMain.state++; break; case 1: gMain.state++; break; case 2: - if (sub_80D7E44(&gContestResources->field_0->unk1925D)) + if (SetupContestGraphics(&eContest.contestSetupState)) { - gContestResources->field_0->unk1925D = 0; + eContest.contestSetupState = 0; gMain.state++; } break; @@ -1056,11 +1084,11 @@ void sub_80D7B24(void) BeginFastPaletteFade(2); gPaletteFade.bufferTransferDisabled = FALSE; SetVBlankCallback(vblank_cb_battle); - gContestResources->field_0->mainTaskId = CreateTask(sub_80D7C7C, 10); - SetMainCallback2(sub_80D823C); - if (gIsLinkContest & 2) + eContest.mainTaskId = CreateTask(sub_80D7C7C, 10); + SetMainCallback2(CB2_ContestMain); + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS) { - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(8, 8); } break; @@ -1078,14 +1106,14 @@ static void sub_80D7C7C(u8 taskId) static void sub_80D7CB4(u8 taskId) { - if (gIsLinkContest & 1) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) { - if (gIsLinkContest & 2) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS) { switch (gTasks[taskId].data[0]) { case 0: - sub_80DBF68(); + ContestPrintLinkStandby(); gTasks[taskId].data[0]++; // fallthrough case 1: @@ -1106,8 +1134,8 @@ static void sub_80D7CB4(u8 taskId) if (!gPaletteFade.active) { gPaletteFade.bufferTransferDisabled = FALSE; - if (!(gIsLinkContest & 2)) - sub_80DBF68(); + if (!(gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS)) + ContestPrintLinkStandby(); CreateTask(sub_80D7DAC, 0); gTasks[taskId].data[0] = 0; gTasks[taskId].func = TaskDummy1; @@ -1137,17 +1165,17 @@ static void sub_80D7DE8(u8 taskId) { GetMultiplayerId(); // unused return value DestroyTask(taskId); - gTasks[gContestResources->field_0->mainTaskId].func = sub_80D80C8; + gTasks[eContest.mainTaskId].func = sub_80D80C8; gRngValue = gContestRngValue; } } -static u8 sub_80D7E44(u8 *a) +static bool8 SetupContestGraphics(u8 *stateVar) { - u16 sp0[16]; - u16 sp20[16]; + u16 tempPalette1[16]; + u16 tempPalette2[16]; - switch (*a) + switch (*stateVar) { case 0: gPaletteFade.bufferTransferDisabled = TRUE; @@ -1160,31 +1188,32 @@ static u8 sub_80D7E44(u8 *a) break; case 2: LZDecompressVram(gContestAudienceGfx, (void *)(BG_SCREEN_ADDR(4))); - DmaCopyLarge32(3, (void *)(BG_SCREEN_ADDR(4)), shared15800, 0x2000, 0x1000); + DmaCopyLarge32(3, (void *)(BG_SCREEN_ADDR(4)), eUnzippedContestAudienceGfx, 0x2000, 0x1000); break; case 3: - CopyToBgTilemapBuffer(3, gUnknown_08C16FA8, 0, 0); + CopyToBgTilemapBuffer(3, gOldContestGfx, 0, 0); CopyBgTilemapBufferToVram(3); break; case 4: CopyToBgTilemapBuffer(2, gUnknown_08C17170, 0, 0); CopyBgTilemapBufferToVram(2); - DmaCopy32Defvars(3, gContestResources->field_24[2], shared18000.unk18A04, 0x800); + // This is a bug, and copies random junk. savedJunk is never read. + DmaCopy32Defvars(3, gContestResources->contestBgTilemaps[2], eUnknownHeap1A004.savedJunk, sizeof(eUnknownHeap1A004.savedJunk)); break; case 5: - LoadCompressedPalette(gUnknown_08C16E90, 0, 0x200); - CpuCopy32(gPlttBufferUnfaded + 128, sp0, 16 * sizeof(u16)); - CpuCopy32(gPlttBufferUnfaded + (5 + gContestPlayerMonIndex) * 16, sp20, 16 * sizeof(u16)); - CpuCopy32(sp20, gPlttBufferUnfaded + 128, 16 * sizeof(u16)); - CpuCopy32(sp0, gPlttBufferUnfaded + (5 + gContestPlayerMonIndex) * 16, 16 * sizeof(u16)); - DmaCopy32Defvars(3, gPlttBufferUnfaded, shared18000.unk18004, 0x200); + LoadCompressedPalette(gOldContestPalette, 0, 0x200); + CpuCopy32(gPlttBufferUnfaded + 128, tempPalette1, 16 * sizeof(u16)); + CpuCopy32(gPlttBufferUnfaded + (MOVE_WINDOWS_START + gContestPlayerMonIndex) * 16, tempPalette2, 16 * sizeof(u16)); + CpuCopy32(tempPalette2, gPlttBufferUnfaded + 128, 16 * sizeof(u16)); + CpuCopy32(tempPalette1, gPlttBufferUnfaded + (MOVE_WINDOWS_START + gContestPlayerMonIndex) * 16, 16 * sizeof(u16)); + DmaCopy32Defvars(3, gPlttBufferUnfaded, eUnknownHeap1A004.cachedWindowPalettes, sizeof(eUnknownHeap1A004.cachedWindowPalettes)); sub_80D782C(); break; case 6: - sub_80DD04C(); - sub_80DBF90(); - sub_80DB2BC(); - gContestResources->field_0->unk19216 = sub_80DB120(); + DrawContestantWindows(); + FillContestantWindowBgs(); + SwapMoveDescAndContestTilemaps(); + eContest.unk19216 = sub_80DB120(); sub_80DC2BC(); sub_80DC4F0(); CreateApplauseMeterSprite(); @@ -1208,12 +1237,12 @@ static u8 sub_80D7E44(u8 *a) ShowBg(1); break; default: - *a = 0; - return 1; + *stateVar = 0; + return TRUE; } - (*a)++; - return 0; + (*stateVar)++; + return FALSE; } static void sub_80D80C8(u8 taskId) @@ -1256,13 +1285,13 @@ static void sub_80D8108(u8 taskId) ((struct BgCnt *)&bg2Cnt)->priority = 0; SetGpuReg(REG_OFFSET_BG0CNT, bg0Cnt); SetGpuReg(REG_OFFSET_BG2CNT, bg2Cnt); - sub_80DDB0C(); + StartMoveApplauseMeterOnscreen(); gTasks[taskId].data[0]++; break; } case 4: default: - if (gContestResources->field_0->unk1920A_6) + if (eContest.applauseMeterIsMoving) break; gTasks[taskId].data[0] = 0; gTasks[taskId].data[1] = 0; @@ -1271,7 +1300,7 @@ static void sub_80D8108(u8 taskId) } } -static void sub_80D823C(void) +static void CB2_ContestMain(void) { s32 i; @@ -1314,16 +1343,16 @@ static void sub_80D833C(u8 taskId) { gBattle_BG0_Y = 0; gBattle_BG2_Y = 0; - sub_80DCD48(); - DmaCopy32Defvars(3, gPlttBufferUnfaded, shared18000.unk18204, 0x400); - ConvertIntToDecimalStringN(gStringVar1, gContestResources->field_0->turnNumber + 1, STR_CONV_MODE_LEFT_ALIGN, 1); + ContestDebugDoPrint(); + DmaCopy32Defvars(3, gPlttBufferUnfaded, eUnknownHeap1A004.unk18204, PLTT_BUFFER_SIZE * 2); + ConvertIntToDecimalStringN(gStringVar1, eContest.turnNumber + 1, STR_CONV_MODE_LEFT_ALIGN, 1); if (!Contest_IsMonsTurnDisabled(gContestPlayerMonIndex)) StringCopy(gDisplayedStringBattle, gText_0827D507); else StringCopy(gDisplayedStringBattle, gText_0827D531); - sub_80DB89C(); + ContestClearGeneralTextWindow(); StringExpandPlaceholders(gStringVar4, gDisplayedStringBattle); - Contest_StartTextPrinter(gStringVar4, 1); + Contest_StartTextPrinter(gStringVar4, TRUE); gTasks[taskId].data[0]++; } else @@ -1366,15 +1395,15 @@ static void sub_80D8490(u8 taskId) u16 move = gContestMons[gContestPlayerMonIndex].moves[i]; u8 *r5 = sp8; - if (gContestResources->field_4[gContestPlayerMonIndex].prevMove != MOVE_NONE + if (eContestantStatus[gContestPlayerMonIndex].prevMove != MOVE_NONE && sub_80DE1E8(gContestPlayerMonIndex) - && AreMovesContestCombo(gContestResources->field_4[gContestPlayerMonIndex].prevMove, move) != 0 - && gContestResources->field_4[gContestPlayerMonIndex].hasJudgesAttention) + && AreMovesContestCombo(eContestantStatus[gContestPlayerMonIndex].prevMove, move) != 0 + && eContestantStatus[gContestPlayerMonIndex].hasJudgesAttention) { r5 = StringCopy(sp8, gText_ColorLightShadowDarkGrey); } else if (move != 0 - && gContestResources->field_4[gContestPlayerMonIndex].prevMove == move + && eContestantStatus[gContestPlayerMonIndex].prevMove == move && gContestMoves[move].effect != CONTEST_EFFECT_REPETITION_NOT_BORING) { // Gray the text because it is a repeated move @@ -1382,12 +1411,12 @@ static void sub_80D8490(u8 taskId) } r5 = StringCopy(r5, gMoveNames[move]); - FillWindowPixelBuffer(i + 5, PIXEL_FILL(0)); - Contest_PrintTextToBg0WindowAt(i + 5, sp8, 5, 1, 7); + FillWindowPixelBuffer(i + MOVE_WINDOWS_START, PIXEL_FILL(0)); + Contest_PrintTextToBg0WindowAt(i + MOVE_WINDOWS_START, sp8, 5, 1, 7); } - sub_80D880C(gContestResources->field_0->playerMoveChoice); - prints_contest_move_description(gContestMons[gContestPlayerMonIndex].moves[gContestResources->field_0->playerMoveChoice]); + sub_80D880C(eContest.playerMoveChoice); + PrintContestMoveDescription(gContestMons[gContestPlayerMonIndex].moves[eContest.playerMoveChoice]); gTasks[taskId].func = sub_80D8610; } @@ -1414,12 +1443,12 @@ static void sub_80D8610(u8 taskId) case B_BUTTON: PlaySE(SE_SELECT); sub_80DC490(FALSE); - ConvertIntToDecimalStringN(gStringVar1, gContestResources->field_0->turnNumber + 1, STR_CONV_MODE_LEFT_ALIGN, 1); + ConvertIntToDecimalStringN(gStringVar1, eContest.turnNumber + 1, STR_CONV_MODE_LEFT_ALIGN, 1); if (!Contest_IsMonsTurnDisabled(gContestPlayerMonIndex)) StringCopy(gDisplayedStringBattle, gText_0827D507); else StringCopy(gDisplayedStringBattle, gText_0827D531); - sub_80DB89C(); + ContestClearGeneralTextWindow(); StringExpandPlaceholders(gStringVar4, gDisplayedStringBattle); Contest_StartTextPrinter(gStringVar4, 0); gBattle_BG0_Y = 0; @@ -1430,24 +1459,24 @@ static void sub_80D8610(u8 taskId) case DPAD_RIGHT: break; case DPAD_UP: - sub_80D883C(gContestResources->field_0->playerMoveChoice); - if (gContestResources->field_0->playerMoveChoice == 0) - gContestResources->field_0->playerMoveChoice = numMoves - 1; + sub_80D883C(eContest.playerMoveChoice); + if (eContest.playerMoveChoice == 0) + eContest.playerMoveChoice = numMoves - 1; else - gContestResources->field_0->playerMoveChoice--; - sub_80D880C(gContestResources->field_0->playerMoveChoice); - prints_contest_move_description(gContestMons[gContestPlayerMonIndex].moves[gContestResources->field_0->playerMoveChoice]); + eContest.playerMoveChoice--; + sub_80D880C(eContest.playerMoveChoice); + PrintContestMoveDescription(gContestMons[gContestPlayerMonIndex].moves[eContest.playerMoveChoice]); if (numMoves > 1) PlaySE(SE_SELECT); break; case DPAD_DOWN: - sub_80D883C(gContestResources->field_0->playerMoveChoice); - if (gContestResources->field_0->playerMoveChoice == numMoves - 1) - gContestResources->field_0->playerMoveChoice = 0; + sub_80D883C(eContest.playerMoveChoice); + if (eContest.playerMoveChoice == numMoves - 1) + eContest.playerMoveChoice = 0; else - gContestResources->field_0->playerMoveChoice++; - sub_80D880C(gContestResources->field_0->playerMoveChoice); - prints_contest_move_description(gContestMons[gContestPlayerMonIndex].moves[gContestResources->field_0->playerMoveChoice]); + eContest.playerMoveChoice++; + sub_80D880C(eContest.playerMoveChoice); + PrintContestMoveDescription(gContestMons[gContestPlayerMonIndex].moves[eContest.playerMoveChoice]); if (numMoves > 1) PlaySE(SE_SELECT); break; @@ -1468,21 +1497,21 @@ static void sub_80D883C(s8 a0) static void sub_80D8894(u8 taskId) { - if (gIsLinkContest & 1) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) { - u16 var = GetChosenMove(gContestPlayerMonIndex); + u16 move = GetChosenMove(gContestPlayerMonIndex); u8 taskId2; - gContestResources->field_4[gContestPlayerMonIndex].currMove = var; + eContestantStatus[gContestPlayerMonIndex].currMove = move; taskId2 = CreateTask(sub_80FC9F8, 0); SetTaskFuncWithFollowupFunc(taskId2, sub_80FC9F8, sub_80D892C); gTasks[taskId].func = TaskDummy1; - sub_80DBF68(); + ContestPrintLinkStandby(); sub_80DC490(FALSE); } else { - sub_80DB918(); + GetAllChosenMoves(); gTasks[taskId].func = sub_80D895C; } } @@ -1490,28 +1519,28 @@ static void sub_80D8894(u8 taskId) static void sub_80D892C(u8 taskId) { DestroyTask(taskId); - gTasks[gContestResources->field_0->mainTaskId].func = sub_80D895C; + gTasks[eContest.mainTaskId].func = sub_80D895C; } static void sub_80D895C(u8 taskId) { s32 i; - sub_80DB89C(); + ContestClearGeneralTextWindow(); gBattle_BG0_Y = 0; gBattle_BG2_Y = 0; sub_80DC490(FALSE); - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { - FillWindowPixelBuffer(5 + i, PIXEL_FILL(0)); - PutWindowTilemap(5 + i); - CopyWindowToVram(5 + i, 2); + FillWindowPixelBuffer(MOVE_WINDOWS_START + i, PIXEL_FILL(0)); + PutWindowTilemap(MOVE_WINDOWS_START + i); + CopyWindowToVram(MOVE_WINDOWS_START + i, 2); } Contest_SetBgCopyFlags(0); - - DmaCopy32Defvars(3, gPlttBufferFaded, shared18000.unk18604, 0x400); - LoadPalette(shared18000.unk18204, 0, 0x400); + // This seems to be a bug; it should have just copied PLTT_BUFFER_SIZE. + DmaCopy32Defvars(3, gPlttBufferFaded, eUnknownHeap1A004.unk18604, PLTT_BUFFER_SIZE * 2); + LoadPalette(eUnknownHeap1A004.unk18204, 0, PLTT_BUFFER_SIZE * 2); gTasks[taskId].data[0] = 0; gTasks[taskId].data[1] = 0; gTasks[taskId].func = sub_80D8A04; @@ -1524,7 +1553,7 @@ static void sub_80D8A04(u8 taskId) gTasks[taskId].data[0] = 0; if (++gTasks[taskId].data[1] == 2) { - sub_80DDBE8(); + TryMoveApplauseMeterOffscreen(); sub_80DE69C(1); gTasks[taskId].func = sub_80D8A50; } @@ -1533,7 +1562,7 @@ static void sub_80D8A04(u8 taskId) static void sub_80D8A50(u8 taskId) { - if (!gContestResources->field_0->unk1920A_6 && !gContestResources->field_0->unk1920B_1) + if (!eContest.applauseMeterIsMoving && !eContest.unk1920B_1) gTasks[taskId].func = sub_80D8A88; } @@ -1541,15 +1570,15 @@ static void sub_80D8A88(u8 taskId) { if (++gTasks[taskId].data[0] > 19) { - gContestResources->field_0->unk19214 = 0; - gContestResources->field_0->unk1921C = gRngValue; - if ((gIsLinkContest & 1) && sub_80DA8A4()) + eContest.unk19214 = 0; + eContest.unk1921C = gRngValue; + if ((gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) && sub_80DA8A4()) { s32 i; for (i = 0; i + gNumLinkContestPlayers < 4; i++) { - gContestResources->field_4[gNumLinkContestPlayers + i].currMove = GetChosenMove(gNumLinkContestPlayers + i); + eContestantStatus[gNumLinkContestPlayers + i].currMove = GetChosenMove(gNumLinkContestPlayers + i); } } gTasks[taskId].data[0] = 0; @@ -1561,50 +1590,50 @@ static void sub_80D8B38(u8 taskId) { u8 spriteId; s32 i; - u8 r6 = gContestResources->field_0->unk19215; + u8 r6 = eContest.unk19215; s8 r3; switch (gTasks[taskId].data[0]) { case 0: - sub_80DCD48(); - for (i = 0; gContestResources->field_0->unk19214 != gContestResources->field_8->turnOrder[i]; i++) + ContestDebugDoPrint(); + for (i = 0; eContest.unk19214 != gContestResources->field_8->turnOrder[i]; i++) ; - gContestResources->field_0->unk19215 = i; - r6 = gContestResources->field_0->unk19215; - if (gIsLinkContest & 1) + eContest.unk19215 = i; + r6 = eContest.unk19215; + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) { u8 taskId2; - gContestResources->field_0->unk1920B_2 = 1; + eContest.unk1920B_2 = 1; if (sub_80DA8A4()) - sub_80DD080(gContestResources->field_0->unk19215); + sub_80DD080(eContest.unk19215); taskId2 = CreateTask(sub_80FCC88, 0); SetTaskFuncWithFollowupFunc(taskId2, sub_80FCC88, sub_80DA110); - sub_80DBF68(); + ContestPrintLinkStandby(); gTasks[taskId].data[0] = 1; } else { - sub_80DD080(gContestResources->field_0->unk19215); + sub_80DD080(eContest.unk19215); gTasks[taskId].data[0] = 2; } return; case 1: - if (!gContestResources->field_0->unk1920B_2) + if (!eContest.unk1920B_2) gTasks[taskId].data[0] = 2; return; case 2: sub_80DF080(r6); - sub_80DF750(); - if (gContestResources->field_4[r6].numTurnsSkipped != 0 - || gContestResources->field_4[r6].noMoreTurns) + ContestDebugPrintBitStrings(); + if (eContestantStatus[r6].numTurnsSkipped != 0 + || eContestantStatus[r6].noMoreTurns) { gTasks[taskId].data[0] = 31; } else { - sub_80DB89C(); + ContestClearGeneralTextWindow(); gTasks[taskId].data[10] = 0; gTasks[taskId].data[0] = 3; } @@ -1613,17 +1642,17 @@ static void sub_80D8B38(u8 taskId) for (i = 0; i < 4; i++) gBattleMonForms[i] = 0; memset(gContestResources->field_18, 0, sizeof(*gContestResources->field_18)); - sub_80DE9DC(gContestResources->field_0->unk19215); + sub_80DE9DC(eContest.unk19215); spriteId = sub_80DB174( - gContestMons[gContestResources->field_0->unk19215].species, - gContestMons[gContestResources->field_0->unk19215].otId, - gContestMons[gContestResources->field_0->unk19215].personality, - gContestResources->field_0->unk19215); + gContestMons[eContest.unk19215].species, + gContestMons[eContest.unk19215].otId, + gContestMons[eContest.unk19215].personality, + eContest.unk19215); gSprites[spriteId].pos2.x = 120; gSprites[spriteId].callback = sub_80DA134; gTasks[taskId].data[2] = spriteId; gBattlerSpriteIds[gBattlerAttacker] = spriteId; - sub_80DCBE8(sub_80DC9EC(gContestResources->field_0->unk19215), FALSE); + sub_80DCBE8(sub_80DC9EC(eContest.unk19215), FALSE); gTasks[taskId].data[0] = 4; return; case 4: @@ -1635,18 +1664,18 @@ static void sub_80D8B38(u8 taskId) } return; case 5: - if (gContestResources->field_4[r6].nervous) + if (eContestantStatus[r6].nervous) { gTasks[taskId].data[0] = 33; } else { - sub_80DB89C(); + ContestClearGeneralTextWindow(); StringCopy(gStringVar1, gContestMons[r6].nickname); - if (gContestResources->field_4[r6].currMove < MOVES_COUNT) - StringCopy(gStringVar2, gMoveNames[gContestResources->field_4[r6].currMove]); + if (eContestantStatus[r6].currMove < MOVES_COUNT) + StringCopy(gStringVar2, gMoveNames[eContestantStatus[r6].currMove]); else - StringCopy(gStringVar2, gUnknown_08587F1C[gContestResources->field_4[r6].moveCategory]); + StringCopy(gStringVar2, gUnknown_08587F1C[eContestantStatus[r6].moveCategory]); StringExpandPlaceholders(gStringVar4, gText_0827D55A); Contest_StartTextPrinter(gStringVar4, 1); gTasks[taskId].data[0] = 6; @@ -1655,16 +1684,16 @@ static void sub_80D8B38(u8 taskId) case 6: if (!Contest_RunTextPrinters()) { - gContestResources->field_0->unk1925E = 0; + eContest.unk1925E = 0; gTasks[taskId].data[0] = 7; } return; case 7: { - u16 move = SanitizeMove(gContestResources->field_4[gContestResources->field_0->unk19215].currMove); + u16 move = SanitizeMove(eContestantStatus[eContest.unk19215].currMove); - sub_80DE864(gContestResources->field_0->unk19215); - sub_80DE9DC(gContestResources->field_0->unk19215); + sub_80DE864(eContest.unk19215); + sub_80DE9DC(eContest.unk19215); SelectContestMoveBankTarget(move); DoMoveAnim(move); gTasks[taskId].data[0] = 8; @@ -1675,14 +1704,14 @@ static void sub_80D8B38(u8 taskId) if (!gAnimScriptActive) { sub_80DE9B0(r6); - if (gContestResources->field_0->unk1925E != 0) + if (eContest.unk1925E != 0) { gTasks[taskId].data[10] = 0; gTasks[taskId].data[0] = 9; } else { - if (!gContestResources->field_4[r6].hasJudgesAttention) + if (!eContestantStatus[r6].hasJudgesAttention) sub_80DC674(r6); sub_80DE12C(); gTasks[taskId].data[0] = 23; @@ -1698,25 +1727,25 @@ static void sub_80D8B38(u8 taskId) return; case 23: gTasks[taskId].data[1] = 0; - if (gContestResources->field_4[r6].effectStringId != CONTEST_STRING_NONE) + if (eContestantStatus[r6].effectStringId != CONTEST_STRING_NONE) { - sub_80DD45C(r6, gContestResources->field_4[r6].effectStringId); - gContestResources->field_4[r6].effectStringId = CONTEST_STRING_NONE; + sub_80DD45C(r6, eContestantStatus[r6].effectStringId); + eContestantStatus[r6].effectStringId = CONTEST_STRING_NONE; gTasks[taskId].data[0] = 24; } else { - if (gContestResources->field_4[r6].effectStringId2 != CONTEST_STRING_NONE) + if (eContestantStatus[r6].effectStringId2 != CONTEST_STRING_NONE) { for (i = 0; i < 4; i++) { - if (i != r6 && gContestResources->field_4[i].effectStringId != CONTEST_STRING_NONE) + if (i != r6 && eContestantStatus[i].effectStringId != CONTEST_STRING_NONE) break; } if (i == 4) { - sub_80DD45C(r6, gContestResources->field_4[r6].effectStringId2); - gContestResources->field_4[r6].effectStringId2 = CONTEST_STRING_NONE; + sub_80DD45C(r6, eContestantStatus[r6].effectStringId2); + eContestantStatus[r6].effectStringId2 = CONTEST_STRING_NONE; gTasks[taskId].data[0] = 24; } else @@ -1735,15 +1764,15 @@ static void sub_80D8B38(u8 taskId) gTasks[taskId].data[0] = 23; return; case 48: - if (gContestResources->field_4[r6].turnOrderModAction == 1) + if (eContestantStatus[r6].turnOrderModAction == 1) { sub_80DD720(5); } - else if (gContestResources->field_4[r6].turnOrderModAction == 2) + else if (eContestantStatus[r6].turnOrderModAction == 2) { sub_80DD720(6); } - else if (gContestResources->field_4[r6].turnOrderModAction == 3) + else if (eContestantStatus[r6].turnOrderModAction == 3) { sub_80DD720(7); } @@ -1755,7 +1784,7 @@ static void sub_80D8B38(u8 taskId) gTasks[taskId].data[0] = 49; return; case 49: - if (!gContestResources->field_0->unk1920A_4) + if (!eContest.unk1920A_4) gTasks[taskId].data[0] = 47; return; case 47: @@ -1763,20 +1792,20 @@ static void sub_80D8B38(u8 taskId) gTasks[taskId].data[0] = 12; return; case 12: - sub_80DC028(0, gContestResources->field_4[r6].appeal2, r6); + sub_80DC028(0, eContestantStatus[r6].appeal2, r6); gTasks[taskId].data[0] = 13; return; case 13: - if (!gContestResources->field_14[gContestResources->field_0->unk19215].unk2_2) + if (!gContestResources->field_14[eContest.unk19215].unk2_2) gTasks[taskId].data[0] = 35; return; case 35: - if (gContestResources->field_4[r6].conditionMod == 1) + if (eContestantStatus[r6].conditionMod == 1) sub_80DD720(8); gTasks[taskId].data[0] = 36; return; case 36: - if (!gContestResources->field_0->unk1920A_4) + if (!eContest.unk1920A_4) gTasks[taskId].data[0] = 37; return; case 37: @@ -1816,8 +1845,8 @@ static void sub_80D8B38(u8 taskId) r3 = 0; for (r2 = 0; r2 < 4; r2++) { - if (r2 != r6 && gUnknown_02039F26[r2] == i - && gContestResources->field_4[r2].effectStringId != CONTEST_STRING_NONE) + if (r2 != r6 && gContestantTurnOrder[r2] == i + && eContestantStatus[r2].effectStringId != CONTEST_STRING_NONE) { r3 = 1; break; @@ -1828,9 +1857,9 @@ static void sub_80D8B38(u8 taskId) } if (r3) { - gTasks[taskId].data[1] = gUnknown_02039F26[r2]; - sub_80DD45C(r2, gContestResources->field_4[r2].effectStringId); - gContestResources->field_4[r2].effectStringId = CONTEST_STRING_NONE; + gTasks[taskId].data[1] = gContestantTurnOrder[r2]; + sub_80DD45C(r2, eContestantStatus[r2].effectStringId); + eContestantStatus[r2].effectStringId = CONTEST_STRING_NONE; gTasks[taskId].data[0] = 27; } else @@ -1847,19 +1876,19 @@ static void sub_80D8B38(u8 taskId) gTasks[taskId].data[0] = 28; return; case 28: - for (i = 0; gTasks[taskId].data[1] != gUnknown_02039F26[i]; i++) + for (i = 0; gTasks[taskId].data[1] != gContestantTurnOrder[i]; i++) ; - sub_80DC028(gContestResources->field_4[i].appeal2 + gContestResources->field_4[i].jam, -gContestResources->field_4[i].jam, i); + sub_80DC028(eContestantStatus[i].appeal2 + eContestantStatus[i].jam, -eContestantStatus[i].jam, i); gTasks[taskId].data[0] = 29; return; case 29: - for (i = 0; gTasks[taskId].data[1] != gUnknown_02039F26[i]; i++) + for (i = 0; gTasks[taskId].data[1] != gContestantTurnOrder[i]; i++) ; if (!gContestResources->field_14[i].unk2_2) gTasks[taskId].data[0] = 39; return; case 39: - for (i = 0; gTasks[taskId].data[1] != gUnknown_02039F26[i]; i++) + for (i = 0; gTasks[taskId].data[1] != gContestantTurnOrder[i]; i++) ; if (sub_80DB5B8(i, 1)) { @@ -1881,17 +1910,17 @@ static void sub_80D8B38(u8 taskId) case 30: for (i = 0; i < 4; i++) { - if (gUnknown_02039F26[i] == gTasks[taskId].data[1]) + if (gContestantTurnOrder[i] == gTasks[taskId].data[1]) break; } if (sub_80DB798(i)) PlaySE(SE_C_PASI); else PlaySE(SE_C_SYU); - if (gContestResources->field_4[i].judgesAttentionWasRemoved) + if (eContestantStatus[i].judgesAttentionWasRemoved) { sub_80DC674(i); - gContestResources->field_4[i].judgesAttentionWasRemoved = 0; + eContestantStatus[i].judgesAttentionWasRemoved = 0; } gTasks[taskId].data[1]++; gTasks[taskId].data[0] = 26; @@ -1900,10 +1929,10 @@ static void sub_80D8B38(u8 taskId) if (gTasks[taskId].data[10]++ > 9) { gTasks[taskId].data[10] = 0; - if (gContestResources->field_4[r6].numTurnsSkipped != 0 - || gContestResources->field_4[r6].turnSkipped) + if (eContestantStatus[r6].numTurnsSkipped != 0 + || eContestantStatus[r6].turnSkipped) { - sub_80DB89C(); + ContestClearGeneralTextWindow(); StringCopy(gStringVar1, gContestMons[r6].nickname); StringExpandPlaceholders(gStringVar4, gText_0827E793); Contest_StartTextPrinter(gStringVar4, 1); @@ -1914,30 +1943,30 @@ static void sub_80D8B38(u8 taskId) case 52: if (!Contest_RunTextPrinters()) { - if (!gContestResources->field_4[r6].unk15_6) + if (!eContestantStatus[r6].unk15_6) gTasks[taskId].data[0] = 17; else gTasks[taskId].data[0] = 14; } return; case 14: - r3 = gContestResources->field_4[r6].unk16; - if (gContestResources->field_4[r6].unk16 != 0) + r3 = eContestantStatus[r6].unk16; + if (eContestantStatus[r6].unk16 != 0) { - sub_80DB89C(); + ContestClearGeneralTextWindow(); if (r3 == 1) - Contest_StartTextPrinter(gText_0827E32E, 1); + Contest_StartTextPrinter(gText_0827E32E, TRUE); else if (r3 == 2) - Contest_StartTextPrinter(gText_0827E35B, 1); + Contest_StartTextPrinter(gText_0827E35B, TRUE); else - Contest_StartTextPrinter(gText_0827E38D, 1); + Contest_StartTextPrinter(gText_0827E38D, TRUE); sub_80DD720(3); gTasks[taskId].data[10] = 0; gTasks[taskId].data[0] = 45; } else { - sub_80DB89C(); + ContestClearGeneralTextWindow(); StringCopy(gStringVar1, gContestMons[r6].nickname); StringExpandPlaceholders(gStringVar4, gText_0827E2FE); Contest_StartTextPrinter(gStringVar4, 1); @@ -1947,9 +1976,9 @@ static void sub_80D8B38(u8 taskId) } return; case 45: - if (!gContestResources->field_0->unk1920A_4) + if (!eContest.unk1920A_4) { - sub_80DC9B4(gContestResources->field_0->unk19215); + sub_80DC9B4(eContest.unk19215); gTasks[taskId].data[0] = 15; } return; @@ -1958,13 +1987,13 @@ static void sub_80D8B38(u8 taskId) { if (++gTasks[taskId].data[10] > 50) { - if (!gContestResources->field_4[r6].hasJudgesAttention) + if (!eContestantStatus[r6].hasJudgesAttention) { sub_80DC028( - gContestResources->field_4[r6].appeal2, - gContestResources->field_4[r6].unk17, + eContestantStatus[r6].appeal2, + eContestantStatus[r6].unk17, r6); - gContestResources->field_4[r6].appeal2 += gContestResources->field_4[r6].unk17; + eContestantStatus[r6].appeal2 += eContestantStatus[r6].unk17; } gTasks[taskId].data[0] = 16; } @@ -1978,12 +2007,12 @@ static void sub_80D8B38(u8 taskId) } return; case 17: - if (gContestResources->field_4[r6].disappointedRepeat) + if (eContestantStatus[r6].disappointedRepeat) { - sub_80DB89C(); + ContestClearGeneralTextWindow(); StringCopy(gStringVar1, gContestMons[r6].nickname); - StringExpandPlaceholders(gStringVar4, gText_0827E6E3); - Contest_StartTextPrinter(gStringVar4, 1); + StringExpandPlaceholders(gStringVar4, gText_RepeatedAppeal); + Contest_StartTextPrinter(gStringVar4, TRUE); gTasks[taskId].data[10] = 0; sub_80DD720(0); gTasks[taskId].data[0] = 46; @@ -1994,23 +2023,23 @@ static void sub_80D8B38(u8 taskId) } return; case 46: - if (!gContestResources->field_0->unk1920A_4) + if (!eContest.unk1920A_4) gTasks[taskId].data[0] = 19; return; case 19: if (!Contest_RunTextPrinters()) { - sub_80DC028(gContestResources->field_4[r6].appeal2, -gContestResources->field_4[r6].unk18, r6); - gContestResources->field_4[r6].appeal2 -= gContestResources->field_4[r6].unk18; + sub_80DC028(eContestantStatus[r6].appeal2, -eContestantStatus[r6].unk18, r6); + eContestantStatus[r6].appeal2 -= eContestantStatus[r6].unk18; gTasks[taskId].data[0] = 18; } return; case 18: - sub_80DCD48(); + ContestDebugDoPrint(); if (!gContestResources->field_14[r6].unk2_2) { gTasks[taskId].data[10] = 0; - sub_80DB89C(); + ContestClearGeneralTextWindow(); gTasks[taskId].data[0] = 41; } return; @@ -2022,25 +2051,25 @@ static void sub_80D8B38(u8 taskId) else { r3 = gContestResources->field_10->bits_0; - if (gContestResources->field_4[r6].overrideCategoryExcitementMod) + if (eContestantStatus[r6].overrideCategoryExcitementMod) { r3 = 1; - StringCopy(gStringVar3, gMoveNames[gContestResources->field_4[r6].currMove]); + StringCopy(gStringVar3, gMoveNames[eContestantStatus[r6].currMove]); } else { - StringCopy(gStringVar3, gUnknown_08587F08[gContestMoves[gContestResources->field_4[r6].currMove].contestCategory]); + StringCopy(gStringVar3, gUnknown_08587F08[gContestMoves[eContestantStatus[r6].currMove].contestCategory]); } if (r3 > 0) { - if (gContestResources->field_4[r6].disappointedRepeat) + if (eContestantStatus[r6].disappointedRepeat) r3 = 0; } - sub_80DB89C(); + ContestClearGeneralTextWindow(); StringCopy(gStringVar1, gContestMons[r6].nickname); - gContestResources->field_0->applauseLevel += r3; - if (gContestResources->field_0->applauseLevel < 0) - gContestResources->field_0->applauseLevel = 0; + eContest.applauseLevel += r3; + if (eContest.applauseLevel < 0) + eContest.applauseLevel = 0; if (r3 == 0) { gTasks[taskId].data[0] = 55; @@ -2049,7 +2078,7 @@ static void sub_80D8B38(u8 taskId) { if (r3 < 0) StringExpandPlaceholders(gStringVar4, gText_0827E73C); - else if (r3 > 0 && gContestResources->field_0->applauseLevel <= 4) + else if (r3 > 0 && eContest.applauseLevel <= 4) StringExpandPlaceholders(gStringVar4, gText_0827E717); else StringExpandPlaceholders(gStringVar4, gText_0827E76A); @@ -2072,14 +2101,14 @@ static void sub_80D8B38(u8 taskId) gTasks[taskId].data[10]++; break; case 1: - if (!gContestResources->field_0->unk1920B_0 && !Contest_RunTextPrinters()) + if (!eContest.unk1920B_0 && !Contest_RunTextPrinters()) { - sub_80DDCDC(-1); + ShowAndUpdateApplauseMeter(-1); gTasks[taskId].data[10]++; } break; case 2: - if (!gContestResources->field_0->unk1920A_5) + if (!eContest.isShowingApplauseMeter) { if (gTasks[taskId].data[11]++ > 29) { @@ -2110,22 +2139,22 @@ static void sub_80D8B38(u8 taskId) } break; case 1: - if (!gContestResources->field_0->unk1920B_0) + if (!eContest.unk1920B_0) { sub_80DDE0C(); PlaySE(SE_W227B); - sub_80DDCDC(1); + ShowAndUpdateApplauseMeter(1); gTasks[taskId].data[10]++; } break; case 2: - if (!gContestResources->field_0->unk1920A_5) + if (!eContest.isShowingApplauseMeter) { if (gTasks[taskId].data[11]++ > 29) { gTasks[taskId].data[11] = 0; - sub_80DC028(gContestResources->field_4[r6].appeal2, gContestResources->field_10->unk2, r6); - gContestResources->field_4[r6].appeal2 += gContestResources->field_10->unk2; + sub_80DC028(eContestantStatus[r6].appeal2, gContestResources->field_10->unk2, r6); + eContestantStatus[r6].appeal2 += gContestResources->field_10->unk2; gTasks[taskId].data[10]++; } } @@ -2133,7 +2162,7 @@ static void sub_80D8B38(u8 taskId) case 3: if (!gContestResources->field_14[r6].unk2_2) { - if (!gContestResources->field_0->unk1920A_7) + if (!eContest.unk1920A_7) { sub_80DDED0(1, -1); gTasks[taskId].data[10]++; @@ -2153,43 +2182,43 @@ static void sub_80D8B38(u8 taskId) case 43: if (!gContestResources->field_14[r6].unk2_2) { - sub_80DB89C(); + ContestClearGeneralTextWindow(); gTasks[taskId].data[0] = 55; } return; case 57: - sub_80DB89C(); + ContestClearGeneralTextWindow(); StringCopy(gStringVar3, gContestMons[gContestResources->field_10->excitementFreezer].nickname); StringCopy(gStringVar1, gContestMons[r6].nickname); - StringCopy(gStringVar2, gMoveNames[gContestResources->field_4[r6].currMove]); + StringCopy(gStringVar2, gMoveNames[eContestantStatus[r6].currMove]); StringExpandPlaceholders(gStringVar4, gText_0827E7EA); - Contest_StartTextPrinter(gStringVar4, 1); + Contest_StartTextPrinter(gStringVar4, TRUE); gTasks[taskId].data[0] = 58; return; case 58: if (!Contest_RunTextPrinters()) { - sub_80DB89C(); + ContestClearGeneralTextWindow(); StringExpandPlaceholders(gStringVar4, gText_0827E817); - Contest_StartTextPrinter(gStringVar4, 1); + Contest_StartTextPrinter(gStringVar4, TRUE); gTasks[taskId].data[0] = 59; } return; case 59: if (!Contest_RunTextPrinters()) { - sub_80DB89C(); + ContestClearGeneralTextWindow(); gTasks[taskId].data[0] = 55; } return; case 33: - if (gContestResources->field_4[r6].hasJudgesAttention) - gContestResources->field_4[r6].hasJudgesAttention = 0; + if (eContestantStatus[r6].hasJudgesAttention) + eContestantStatus[r6].hasJudgesAttention = 0; sub_80DC9B4(r6); StringCopy(gStringVar1, gContestMons[r6].nickname); - StringCopy(gStringVar2, gMoveNames[gContestResources->field_4[r6].currMove]); + StringCopy(gStringVar2, gMoveNames[eContestantStatus[r6].currMove]); StringExpandPlaceholders(gStringVar4, gText_0827E58A); - Contest_StartTextPrinter(gStringVar4, 1); + Contest_StartTextPrinter(gStringVar4, TRUE); gTasks[taskId].data[0] = 34; return; case 34: @@ -2197,16 +2226,16 @@ static void sub_80D8B38(u8 taskId) gTasks[taskId].data[0] = 55; return; case 55: - sub_80DDBE8(); + TryMoveApplauseMeterOffscreen(); gTasks[taskId].data[0] = 56; return; case 56: - if (!gContestResources->field_0->unk1920A_6) + if (!eContest.applauseMeterIsMoving) { - if (gContestResources->field_0->applauseLevel > 4) + if (eContest.applauseLevel > 4) { - gContestResources->field_0->applauseLevel = 0; - sub_80DD940(); + eContest.applauseLevel = 0; + UpdateApplauseMeter(); } gTasks[taskId].data[0] = 10; } @@ -2230,10 +2259,10 @@ static void sub_80D8B38(u8 taskId) gTasks[taskId].data[0] = 21; return; case 31: - sub_80DB89C(); + ContestClearGeneralTextWindow(); StringCopy(gStringVar1, gContestMons[r6].nickname); StringExpandPlaceholders(gStringVar4, gText_0827D56F); - Contest_StartTextPrinter(gStringVar4, 1); + Contest_StartTextPrinter(gStringVar4, TRUE); gTasks[taskId].data[0] = 32; return; case 32: @@ -2248,7 +2277,7 @@ static void sub_80D8B38(u8 taskId) } return; case 22: - if (++gContestResources->field_0->unk19214 == 4) + if (++eContest.unk19214 == 4) { gTasks[taskId].data[0] = 0; gTasks[taskId].data[1] = 0; @@ -2265,7 +2294,7 @@ static void sub_80D8B38(u8 taskId) static void sub_80DA110(u8 taskId) { - sContest.unk1920B_2 = 0; + eContest.unk1920B_2 = 0; DestroyTask(taskId); } @@ -2300,30 +2329,30 @@ static void sub_80DA198(u8 taskId) switch (gTasks[taskId].data[0]) { case 0: - if (gIsLinkContest & 1) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) { u8 taskId2; - sContest.unk1920B_2 = 1; + eContest.unk1920B_2 = 1; if (sub_80DA8A4()) { - sub_80DB944(); + RankContestants(); sub_80DBA18(); } taskId2 = CreateTask(sub_80FCC88, 0); SetTaskFuncWithFollowupFunc(taskId2, sub_80FCC88, sub_80DA110); - sub_80DBF68(); + ContestPrintLinkStandby(); gTasks[taskId].data[0] = 1; } else { - sub_80DB944(); + RankContestants(); sub_80DBA18(); gTasks[taskId].data[0] = 2; } break; case 1: - if (!sContest.unk1920B_2) + if (!eContest.unk1920B_2) gTasks[taskId].data[0] = 2; break; case 2: @@ -2354,7 +2383,7 @@ static void sub_80DA28C(u8 taskId) } break; case 1: - if (!sContest.unk1920B_1) + if (!eContest.unk1920B_1) { if (++gTasks[taskId].data[1] > 20) { @@ -2380,7 +2409,7 @@ static void sub_80DA31C(u8 taskId) static void sub_80DA348(u8 taskId) { - DmaCopy32Defvars(3, shared18000.unk18204, gPlttBufferUnfaded, 0x400); + DmaCopy32Defvars(3, eUnknownHeap1A004.unk18204, gPlttBufferUnfaded, PLTT_BUFFER_SIZE * 2); gTasks[taskId].data[0] = 0; gTasks[taskId].data[1] = 2; gTasks[taskId].func = sub_80DA38C; @@ -2400,12 +2429,12 @@ static void sub_80DA3CC(u8 taskId) { if (gTasks[taskId].data[0] == 0) { - u8 r4 = sContestantStatus[gContestPlayerMonIndex].attentionLevel; + u8 r4 = eContestantStatus[gContestPlayerMonIndex].attentionLevel; - sub_80DB89C(); + ContestClearGeneralTextWindow(); StringCopy(gStringVar1, gContestMons[gContestPlayerMonIndex].nickname); StringExpandPlaceholders(gStringVar4, gUnknown_08587D90[r4]); - Contest_StartTextPrinter(gStringVar4, 1); + Contest_StartTextPrinter(gStringVar4, TRUE); gTasks[taskId].data[0]++; } else @@ -2414,7 +2443,7 @@ static void sub_80DA3CC(u8 taskId) { gTasks[taskId].data[0] = 0; gTasks[taskId].func = sub_80DA464; - sub_80DCD48(); + ContestDebugDoPrint(); } } } @@ -2458,21 +2487,21 @@ static void sub_80DA51C(u8 taskId) ((vBgCnt *)&sp2)->priority = 0; SetGpuReg(REG_OFFSET_BG0CNT, sp0); SetGpuReg(REG_OFFSET_BG2CNT, sp2); - sContest.turnNumber++; - if (sContest.turnNumber == 5) + eContest.turnNumber++; + if (eContest.turnNumber == 5) { gTasks[taskId].func = sub_80DA5E8; } else { - sub_80DDB0C(); + StartMoveApplauseMeterOnscreen(); gTasks[taskId].func = sub_80DA5B4; } } static void sub_80DA5B4(u8 taskId) { - if (!sContest.unk1920A_6) + if (!eContest.applauseMeterIsMoving) gTasks[taskId].func = sub_80D833C; } @@ -2483,20 +2512,20 @@ static void sub_80DA5E8(u8 taskId) gBattle_BG0_Y = 0; gBattle_BG2_Y = 0; for (i = 0; i < 4; i++) - gUnknown_02039F10[i] = sContestantStatus[i].unk4; + gUnknown_02039F10[i] = eContestantStatus[i].pointTotal; sub_80DBD18(); - sub_80DB89C(); - if (!(gIsLinkContest & 1)) - BravoTrainerPokemonProfile_BeforeInterview1(sContestantStatus[gContestPlayerMonIndex].prevMove); + ContestClearGeneralTextWindow(); + if (!(gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)) + BravoTrainerPokemonProfile_BeforeInterview1(eContestantStatus[gContestPlayerMonIndex].prevMove); else { sub_80DF250(); sub_80DF4F8(); - sub_80DF750(); + ContestDebugPrintBitStrings(); } gContestRngValue = gRngValue; StringExpandPlaceholders(gStringVar4, gText_0827D597); - Contest_StartTextPrinter(gStringVar4, 1); + Contest_StartTextPrinter(gStringVar4, TRUE); gTasks[taskId].data[2] = 0; gTasks[taskId].func = sub_80DA6B4; } @@ -2519,7 +2548,7 @@ static void sub_80DA700(u8 taskId) gBattle_BG1_Y -= 7; if ((s16)gBattle_BG1_Y < 0) gBattle_BG1_Y = 0; - if (gBattle_BG1_Y == 0) // Why cast? + if (gBattle_BG1_Y == 0) { gTasks[taskId].func = sub_80DA740; gTasks[taskId].data[0] = 0; @@ -2531,13 +2560,13 @@ static void sub_80DA740(u8 taskId) if (gTasks[taskId].data[0]++ >= 50) { gTasks[taskId].data[0] = 0; - if (gIsLinkContest & 1) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) { gTasks[taskId].func = sub_80DA7A0; } else { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); gTasks[taskId].func = sub_80DA830; } } @@ -2549,15 +2578,15 @@ static void sub_80DA7A0(u8 taskId) SetTaskFuncWithFollowupFunc(taskId2, sub_80FCACC, sub_80DA7EC); gTasks[taskId].func = TaskDummy1; - sub_80DBF68(); + ContestPrintLinkStandby(); sub_80DC490(FALSE); } static void sub_80DA7EC(u8 taskId) { DestroyTask(taskId); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); - gTasks[sContest.mainTaskId].func = sub_80DA830; + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gTasks[eContest.mainTaskId].func = sub_80DA830; } static void sub_80DA830(u8 taskId) @@ -2567,7 +2596,7 @@ static void sub_80DA830(u8 taskId) DestroyTask(taskId); gFieldCallback = sub_80DA874; FreeAllWindowBuffers(); - sub_80D7A5C(); + FreeContestResources(); FreeMonSpritesGfx(); SetMainCallback2(CB2_ReturnToField); } @@ -2579,9 +2608,9 @@ static void sub_80DA874(void) EnableBothScriptContexts(); } -static void sub_80DA884(void) +static void TryPutPlayerLast(void) { - if (!(gIsLinkContest & 1)) + if (!(gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)) gContestPlayerMonIndex = 3; } @@ -2603,7 +2632,7 @@ void sub_80DA8C8(u8 partyIndex) s16 tough; StringCopy(name, gSaveBlock2Ptr->playerName); - if (gIsLinkContest & 1) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) { sub_80DF9D4(name); } @@ -2612,12 +2641,12 @@ void sub_80DA8C8(u8 partyIndex) gContestMons[gContestPlayerMonIndex].trainerGfxId = EVENT_OBJ_GFX_LINK_BRENDAN; else gContestMons[gContestPlayerMonIndex].trainerGfxId = EVENT_OBJ_GFX_LINK_MAY; - gContestMons[gContestPlayerMonIndex].flags = 0; + gContestMons[gContestPlayerMonIndex].aiChecks = 0; gContestMons[gContestPlayerMonIndex].unk2C[0] = 0; gContestMons[gContestPlayerMonIndex].species = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPECIES); GetMonData(&gPlayerParty[partyIndex], MON_DATA_NICKNAME, name); StringGetEnd10(name); - if (gIsLinkContest & 1) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) { sub_80DF9E0(name, GetMonData(&gPlayerParty[partyIndex], MON_DATA_LANGUAGE)); } @@ -2677,9 +2706,9 @@ void sub_80DAB8C(u8 contestType, u8 rank) bool8 r7 = FALSE; const u8 * r3; - sub_80DA884(); + TryPutPlayerLast(); - if (FlagGet(FLAG_SYS_GAME_CLEAR) && !(gIsLinkContest & 1)) + if (FlagGet(FLAG_SYS_GAME_CLEAR) && !(gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)) r7 = TRUE; // Find all suitable opponents @@ -2815,55 +2844,55 @@ u8 sub_80DAE0C(struct Pokemon *pkmn) return retVal; } -static void sub_80DAEA4(void) +static void DrawContestantWindowText(void) { s32 i; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { - FillWindowPixelBuffer(gUnknown_02039F26[i], PIXEL_FILL(0)); - sub_80DAF04(i); - sub_80DAF88(i); + FillWindowPixelBuffer(gContestantTurnOrder[i], PIXEL_FILL(0)); + PrintContestantTrainerName(i); + PrintContestantMonName(i); } } -static u8 *sub_80DAED4(const u8 *src, u8 color) +static u8 *Contest_CopyStringWithColor(const u8 *string, u8 color) { u8 * ptr = StringCopy(gDisplayedStringBattle, gText_ColorTransparent); - ptr[-1] = color; - ptr = StringCopy(ptr, src); + ptr[-1] = color; // Overwrites the "{COLOR TRANSPARENT}" part of the string. + ptr = StringCopy(ptr, string); return ptr; } -static void sub_80DAF04(u8 a0) +static void PrintContestantTrainerName(u8 contestant) { - sub_80DAF1C(a0, a0 + 10); + PrintContestantTrainerNameWithColor(contestant, contestant + CONTESTANT_TEXT_COLOR_START); } -static void sub_80DAF1C(u8 a0, u8 a1) +static void PrintContestantTrainerNameWithColor(u8 contestant, u8 color) { u8 buffer[32]; s32 offset; StringCopy(buffer, gText_Slash); - StringAppend(buffer, gContestMons[a0].trainerName); - sub_80DAED4(buffer, a1); + StringAppend(buffer, gContestMons[contestant].trainerName); + Contest_CopyStringWithColor(buffer, color); offset = GetStringRightAlignXOffset(7, gDisplayedStringBattle, 0x60); if (offset > 55) offset = 55; - Contest_PrintTextToBg0WindowAt(gUnknown_02039F26[a0], gDisplayedStringBattle, offset, 1, 7); + Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[contestant], gDisplayedStringBattle, offset, 1, 7); } -static void sub_80DAF88(u8 a0) +static void PrintContestantMonName(u8 contestant) { - sub_80DAFA0(a0, a0 + 10); + PrintContestantMonNameWithColor(contestant, contestant + CONTESTANT_TEXT_COLOR_START); } -static void sub_80DAFA0(u8 a0, u8 a1) +static void PrintContestantMonNameWithColor(u8 contestant, u8 color) { - sub_80DAED4(gContestMons[a0].nickname, a1); - Contest_PrintTextToBg0WindowAt(gUnknown_02039F26[a0], gDisplayedStringBattle, 5, 1, 7); + Contest_CopyStringWithColor(gContestMons[contestant].nickname, color); + Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[contestant], gDisplayedStringBattle, 5, 1, 7); } static u16 sub_80DAFE0(u8 who, u8 contestCategory) @@ -2973,10 +3002,13 @@ bool8 IsSpeciesNotUnown(u16 species) return TRUE; } -static void sub_80DB2BC(void) +// The contestant info windows and general-purpose text box are drawn on one half, while +// the moves and move description windows are drawn on another screen. Only the first 32 * 20 +// tiles are actually drawn on screen. +static void SwapMoveDescAndContestTilemaps(void) { - CpuCopy16(gContestResources->field_24[0], gContestResources->field_24[0] + 0x500, 0x280); - CpuCopy16(gContestResources->field_24[2], gContestResources->field_24[2] + 0x500, 0x280); + CpuCopy16(gContestResources->contestBgTilemaps[0], gContestResources->contestBgTilemaps[0] + 0x500, 32 * 20); + CpuCopy16(gContestResources->contestBgTilemaps[2], gContestResources->contestBgTilemaps[2] + 0x500, 32 * 20); } static u16 sub_80DB2EC(u16 a0, u8 a1) @@ -3002,12 +3034,13 @@ static u16 sub_80DB2EC(u16 a0, u8 a1) return var; } -static void prints_contest_move_description(u16 a) +static void PrintContestMoveDescription(u16 a) { u8 category; u16 categoryTile; u8 numHearts; + // The contest category icon is implemented as a 5x2 group of tiles. category = gContestMoves[a].contestCategory; if (category == CONTEST_CATEGORY_COOL) categoryTile = 0x4040; @@ -3029,7 +3062,9 @@ static void prints_contest_move_description(u16 a) numHearts = gContestEffects[gContestMoves[a].effect].appeal / 10; if (numHearts > 8) numHearts = 8; + // Filled-in hearts ContestBG_FillBoxWithTile(0, 0x5035, 0x15, 0x1f, 0x08, 0x01, 0x11); + // Empty hearts ContestBG_FillBoxWithTile(0, 0x5012, 0x15, 0x1f, numHearts, 0x01, 0x11); if (gContestEffects[gContestMoves[a].effect].jam == 0xFF) @@ -3038,17 +3073,19 @@ static void prints_contest_move_description(u16 a) numHearts = gContestEffects[gContestMoves[a].effect].jam / 10; if (numHearts > 8) numHearts = 8; + // Filled-in hearts ContestBG_FillBoxWithTile(0, 0x5036, 0x15, 0x20, 0x08, 0x01, 0x11); + // Empty hearts ContestBG_FillBoxWithTile(0, 0x5014, 0x15, 0x20, numHearts, 0x01, 0x11); - FillWindowPixelBuffer(10, PIXEL_FILL(0)); - Contest_PrintTextToBg0WindowStd(10, gContestEffectDescriptionPointers[gContestMoves[a].effect]); - Contest_PrintTextToBg0WindowStd(9, gText_Slash); + FillWindowPixelBuffer(CONTEST_WINDOW_MOVE_DESCRIPTION, PIXEL_FILL(0)); + Contest_PrintTextToBg0WindowStd(CONTEST_WINDOW_MOVE_DESCRIPTION, gContestEffectDescriptionPointers[gContestMoves[a].effect]); + Contest_PrintTextToBg0WindowStd(CONTEST_WINDOW_SLASH, gText_Slash); } static void sub_80DB4E0(u16 move, u8 b) { - u8 r7 = gUnknown_02039F26[b] * 5 + 2; + u8 r7 = gContestantTurnOrder[b] * 5 + 2; if (!Contest_IsMonsTurnDisabled(b) && move != MOVE_NONE) { @@ -3068,7 +3105,7 @@ static void sub_80DB584(void) s32 i; for (i = 0; i < 4; i++) - sub_80DB4E0(gContestResources->field_4[i].currMove, i); + sub_80DB4E0(eContestantStatus[i].currMove, i); } static u16 sub_80DB5B0(void) @@ -3081,17 +3118,17 @@ static bool8 sub_80DB5B8(u8 contestantIdx, bool8 resetMod) u8 r6; s32 r4; - if (sContestantStatus[contestantIdx].conditionMod == 0) + if (eContestantStatus[contestantIdx].conditionMod == 0) return FALSE; - r6 = gUnknown_02039F26[contestantIdx] * 5 + 2; - r4 = sContestantStatus[contestantIdx].condition / 10; - if (sContestantStatus[contestantIdx].conditionMod == 1) + r6 = gContestantTurnOrder[contestantIdx] * 5 + 2; + r4 = eContestantStatus[contestantIdx].condition / 10; + if (eContestantStatus[contestantIdx].conditionMod == 1) { ContestBG_FillBoxWithTile(0, sub_80DB5B0(), 19, r6, 1, r4, 17); if (resetMod) { PlaySE(SE_EXPMAX); - sContestantStatus[contestantIdx].conditionMod = 0; + eContestantStatus[contestantIdx].conditionMod = 0; } } else @@ -3100,7 +3137,7 @@ static bool8 sub_80DB5B8(u8 contestantIdx, bool8 resetMod) if (resetMod) { PlaySE(SE_FU_ZAKU2); - sContestantStatus[contestantIdx].conditionMod = 0; + eContestantStatus[contestantIdx].conditionMod = 0; } } return TRUE; @@ -3111,12 +3148,12 @@ static void sub_80DB69C(void) s32 i; s32 r6; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { - u8 r4 = gUnknown_02039F26[i] * 5 + 2; + u8 r4 = gContestantTurnOrder[i] * 5 + 2; u16 r5 = sub_80DB5B0(); - r6 = sContestantStatus[i].condition / 10; + r6 = eContestantStatus[i].condition / 10; ContestBG_FillBoxWithTile(0, r5, 19, r4, 1, r6, 17); ContestBG_FillBoxWithTile(0, 0, 19, r4 + r6, 1, 3 - r6, 17); } @@ -3152,13 +3189,13 @@ static bool8 sub_80DB798(u8 a) { bool8 r9 = TRUE; u16 r8 = 0; - u8 r7 = gUnknown_02039F26[a] * 5 + 2; + u8 r7 = gContestantTurnOrder[a] * 5 + 2; - if (sContestantStatus[a].resistant != 0 || sContestantStatus[a].immune != 0 || sContestantStatus[a].jamSafetyCount != 0 || sContestantStatus[a].jamReduction != 0) + if (eContestantStatus[a].resistant != 0 || eContestantStatus[a].immune != 0 || eContestantStatus[a].jamSafetyCount != 0 || eContestantStatus[a].jamReduction != 0) r8 = sub_80DB748(0); - else if (sContestantStatus[a].nervous) + else if (eContestantStatus[a].nervous) r8 = sub_80DB748(1); - else if (sContestantStatus[a].numTurnsSkipped != 0 || sContestantStatus[a].noMoreTurns) + else if (eContestantStatus[a].numTurnsSkipped != 0 || eContestantStatus[a].noMoreTurns) r8 = sub_80DB748(2); else r9 = FALSE; @@ -3182,50 +3219,52 @@ static void sub_80DB884(void) sub_80DB798(i); } -static void sub_80DB89C(void) +static void ContestClearGeneralTextWindow(void) { - FillWindowPixelBuffer(4, PIXEL_FILL(0)); - CopyWindowToVram(4, 2); + FillWindowPixelBuffer(CONTEST_WINDOW_GENERAL_TEXT, PIXEL_FILL(0)); + CopyWindowToVram(CONTEST_WINDOW_GENERAL_TEXT, 2); Contest_SetBgCopyFlags(0); } -static u16 GetChosenMove(u8 a) +static u16 GetChosenMove(u8 contestant) { - if (Contest_IsMonsTurnDisabled(a)) + if (Contest_IsMonsTurnDisabled(contestant)) return 0; - if (a == gContestPlayerMonIndex) + if (contestant == gContestPlayerMonIndex) { - return gContestMons[a].moves[sContest.playerMoveChoice]; + return gContestMons[contestant].moves[eContest.playerMoveChoice]; } else { u8 moveChoice; - ContestAI_ResetAI(a); + ContestAI_ResetAI(contestant); moveChoice = ContestAI_GetActionToUse(); - return gContestMons[a].moves[moveChoice]; + return gContestMons[contestant].moves[moveChoice]; } } -static void sub_80DB918(void) +static void GetAllChosenMoves(void) { s32 i; - for (i = 0; i < 4; i++) - sContestantStatus[i].currMove = GetChosenMove(i); + for (i = 0; i < CONTESTANT_COUNT; i++) + eContestantStatus[i].currMove = GetChosenMove(i); } -static void sub_80DB944(void) +static void RankContestants(void) { s32 i; s32 j; - s16 arr[4]; + s16 arr[CONTESTANT_COUNT]; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { - sContestantStatus[i].unk4 += sContestantStatus[i].appeal2; - arr[i] = sContestantStatus[i].unk4; + eContestantStatus[i].pointTotal += eContestantStatus[i].appeal2; + arr[i] = eContestantStatus[i].pointTotal; } + + // Sort the point totals using bubble-sort. for (i = 0; i < 3; i++) { for (j = 3; j > i; j--) @@ -3239,49 +3278,59 @@ static void sub_80DB944(void) } } } - for (i = 0; i < 4; i++) + + // For each contestant, find the best rank with their point total. + // Normally, each point total is different, and this will output the + // rankings as expected. However, if two pokemon are tied, then they + // both get the best rank for that point total. + // + // For example if the point totals are [100, 80, 80, 50], the ranks will + // be [1, 2, 2, 4]. The pokemon with a point total of 80 stop looking + // when they see the first 80 in the array, so they both share the '2' + // rank. + for (i = 0; i < CONTESTANT_COUNT; i++) { - for (j = 0; j < 4; j++) + for (j = 0; j < CONTESTANT_COUNT; j++) { - if (sContestantStatus[i].unk4 == arr[j]) + if (eContestantStatus[i].pointTotal == arr[j]) { - sContestantStatus[i].unkB_0 = j; + eContestantStatus[i].ranking = j; break; } } } - sub_80DCE58(1); - sub_80DD590(); + SortContestants(TRUE); + ApplyNextTurnOrder(); } static void sub_80DBA18(void) { s32 i; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { u8 attentionLevel; - if (sContestantStatus[i].currMove == MOVE_NONE) + if (eContestantStatus[i].currMove == MOVE_NONE) attentionLevel = 5; - else if (sContestantStatus[i].appeal2 <= 0) + else if (eContestantStatus[i].appeal2 <= 0) attentionLevel = 0; - else if (sContestantStatus[i].appeal2 < 30) + else if (eContestantStatus[i].appeal2 < 30) attentionLevel = 1; - else if (sContestantStatus[i].appeal2 < 60) + else if (eContestantStatus[i].appeal2 < 60) attentionLevel = 2; - else if (sContestantStatus[i].appeal2 < 80) + else if (eContestantStatus[i].appeal2 < 80) attentionLevel = 3; else attentionLevel = 4; - sContestantStatus[i].attentionLevel = attentionLevel; + eContestantStatus[i].attentionLevel = attentionLevel; } } -static bool8 sub_80DBA68(u8 a) +static bool8 ContestantCanUseTurn(u8 contestant) { - if (sContestantStatus[a].numTurnsSkipped != 0 || sContestantStatus[a].noMoreTurns) + if (eContestantStatus[contestant].numTurnsSkipped != 0 || eContestantStatus[contestant].noMoreTurns) return FALSE; else return TRUE; @@ -3291,92 +3340,92 @@ static void sub_80DBAA0(void) { s32 i; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { - sContestantStatus[i].appeal2 = 0; - sContestantStatus[i].appeal1 = 0; - sContestantStatus[i].jamSafetyCount = 0; - if (sContestantStatus[i].numTurnsSkipped > 0) - sContestantStatus[i].numTurnsSkipped--; - sContestantStatus[i].jam = 0; - sContestantStatus[i].resistant = 0; - sContestantStatus[i].jamReduction = 0; - sContestantStatus[i].immune = 0; - sContestantStatus[i].moreEasilyStartled = 0; - sContestantStatus[i].usedRepeatableMove = 0; - sContestantStatus[i].nervous = 0; - sContestantStatus[i].effectStringId = CONTEST_STRING_NONE; - sContestantStatus[i].effectStringId2 = CONTEST_STRING_NONE; - sContestantStatus[i].conditionMod = 0; - sContestantStatus[i].unk15_2 = sContestantStatus[i].disappointedRepeat; - sContestantStatus[i].disappointedRepeat = FALSE; - sContestantStatus[i].turnOrderModAction = 0; - sContestantStatus[i].appealTripleCondition = 0; - if (sContestantStatus[i].turnSkipped) + eContestantStatus[i].appeal2 = 0; + eContestantStatus[i].appeal1 = 0; + eContestantStatus[i].jamSafetyCount = 0; + if (eContestantStatus[i].numTurnsSkipped > 0) + eContestantStatus[i].numTurnsSkipped--; + eContestantStatus[i].jam = 0; + eContestantStatus[i].resistant = 0; + eContestantStatus[i].jamReduction = 0; + eContestantStatus[i].immune = 0; + eContestantStatus[i].moreEasilyStartled = 0; + eContestantStatus[i].usedRepeatableMove = 0; + eContestantStatus[i].nervous = FALSE; + eContestantStatus[i].effectStringId = CONTEST_STRING_NONE; + eContestantStatus[i].effectStringId2 = CONTEST_STRING_NONE; + eContestantStatus[i].conditionMod = 0; + eContestantStatus[i].unk15_2 = eContestantStatus[i].disappointedRepeat; + eContestantStatus[i].disappointedRepeat = FALSE; + eContestantStatus[i].turnOrderModAction = 0; + eContestantStatus[i].appealTripleCondition = 0; + if (eContestantStatus[i].turnSkipped) { - sContestantStatus[i].numTurnsSkipped = 1; - sContestantStatus[i].turnSkipped = 0; + eContestantStatus[i].numTurnsSkipped = 1; + eContestantStatus[i].turnSkipped = 0; } - if (sContestantStatus[i].exploded) + if (eContestantStatus[i].exploded) { - sContestantStatus[i].noMoreTurns = 1; - sContestantStatus[i].exploded = 0; + eContestantStatus[i].noMoreTurns = 1; + eContestantStatus[i].exploded = 0; } - sContestantStatus[i].overrideCategoryExcitementMod = 0; + eContestantStatus[i].overrideCategoryExcitementMod = 0; } - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { - sContestantStatus[i].prevMove = sContestantStatus[i].currMove; - sContest.unk19220[sContest.turnNumber][i] = sContestantStatus[i].currMove; - sContest.unk19248[sContest.turnNumber][i] = Contest_GetMoveExcitement(sContestantStatus[i].currMove); - sContestantStatus[i].currMove = MOVE_NONE; + eContestantStatus[i].prevMove = eContestantStatus[i].currMove; + eContest.moveHistory[eContest.turnNumber][i] = eContestantStatus[i].currMove; + eContest.excitementHistory[eContest.turnNumber][i] = Contest_GetMoveExcitement(eContestantStatus[i].currMove); + eContestantStatus[i].currMove = MOVE_NONE; } - shared19328.excitementFrozen = 0; + eContestResources10.excitementFrozen = 0; } bool8 Contest_IsMonsTurnDisabled(u8 a) { - if (sContestantStatus[a].numTurnsSkipped != 0 || sContestantStatus[a].noMoreTurns) + if (eContestantStatus[a].numTurnsSkipped != 0 || eContestantStatus[a].noMoreTurns) return TRUE; else return FALSE; } -static void sub_80DBCE0(u8 a) +static void sub_80DBCE0(u8 contestant) { - gUnknown_02039F18[a] = sub_80DBD34(a); - gUnknown_02039F08[a] = gContestMonConditions[a] + gUnknown_02039F18[a]; + gUnknown_02039F18[contestant] = sub_80DBD34(contestant); + gUnknown_02039F08[contestant] = gContestMonConditions[contestant] + gUnknown_02039F18[contestant]; } static void sub_80DBD18(void) { s32 i; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) sub_80DBCE0(i); DetermineFinalStandings(); } -static s16 sub_80DBD34(u8 a) +static s16 sub_80DBD34(u8 contestant) { - return gUnknown_02039F10[a] * 2; + return gUnknown_02039F10[contestant] * 2; } static void DetermineFinalStandings(void) { - u16 sp0[4] = {0}; - struct UnknownContestStruct6 sp8[4]; + u16 randomOrdering[CONTESTANT_COUNT] = {0}; + struct UnknownContestStruct6 sp8[CONTESTANT_COUNT]; s32 i; s32 j; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { s32 r2; - sp0[i] = Random(); + randomOrdering[i] = Random(); for (r2 = 0; r2 < i; r2++) { - if (sp0[i] == sp0[r2]) + if (randomOrdering[i] == randomOrdering[r2]) { i--; break; @@ -3384,11 +3433,11 @@ static void DetermineFinalStandings(void) } } - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { sp8[i].unk0 = gUnknown_02039F08[i]; sp8[i].unk4 = gContestMonConditions[i]; - sp8[i].unk8 = sp0[i]; + sp8[i].unk8 = randomOrdering[i]; sp8[i].unkC = i; } @@ -3418,13 +3467,13 @@ static void DetermineFinalStandings(void) } } - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) gContestFinalStandings[sp8[i].unkC] = i; } -void sub_80DBED4(void) +void SaveLinkContestResults(void) { - if ((gIsLinkContest & 1)) + if ((gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)) { gSaveBlock2Ptr->contestLinkResults[gSpecialVar_ContestCategory][gContestFinalStandings[gContestPlayerMonIndex]] = ((gSaveBlock2Ptr->contestLinkResults[gSpecialVar_ContestCategory][gContestFinalStandings[gContestPlayerMonIndex]] + 1) > 9999) ? 9999 : @@ -3452,19 +3501,19 @@ static bool8 sub_80DBF30(s32 a, s32 b, struct UnknownContestStruct6 *c) return retVal; } -static void sub_80DBF68(void) +static void ContestPrintLinkStandby(void) { gBattle_BG0_Y = 0; gBattle_BG2_Y = 0; - sub_80DB89C(); - Contest_StartTextPrinter((u8*) &gUnknown_0827E8DA, 0); + ContestClearGeneralTextWindow(); + Contest_StartTextPrinter(gText_LinkStandby4, 0); } -static void sub_80DBF90(void) +static void FillContestantWindowBgs(void) { int i; - for(i = 0; i < 4; i++) + for(i = 0; i < CONTESTANT_COUNT; i++) { ContestBG_FillBoxWithTile(0, 0, 0x16, 2 + i * 5, 8, 2, 0x11); } @@ -3592,7 +3641,7 @@ static void sub_80DC0F4(u8 taskId) r11 = 1; r5-= 8; } - ContestBG_FillBoxWithTile(0, r6, r5 + 22, gUnknown_02039F26[r7] * 5 + 2 + r11, 1, 1, 17); + ContestBG_FillBoxWithTile(0, r6, r5 + 22, gContestantTurnOrder[r7] * 5 + 2 + r11, 1, 1, 17); if (r1 > 0) { PlaySE(SE_C_GAJI); @@ -3614,28 +3663,28 @@ static void sub_80DC2BC(void) s32 i; LoadSpriteSheet(&gUnknown_08587A74); - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { - u8 y = gUnknown_08587A6C[gUnknown_02039F26[i]]; + u8 y = gUnknown_08587A6C[gContestantTurnOrder[i]]; gContestResources->field_14[i].unk0 = CreateSprite(&gSpriteTemplate_8587AD0, 180, y, 1); } } -static void sub_80DC308(u8 a) +static void sub_80DC308(u8 contestant) { u8 spriteId; s16 r5; - gContestResources->field_14[a].unk2_0 = 1; - spriteId = gContestResources->field_14[a].unk0; - r5 = sContestantStatus[a].unk4 / 10 * 2; + gContestResources->field_14[contestant].unk2_0 = 1; + spriteId = gContestResources->field_14[contestant].unk0; + r5 = eContestantStatus[contestant].pointTotal / 10 * 2; if (r5 > 56) r5 = 56; else if (r5 < 0) r5 = 0; gSprites[spriteId].invisible = FALSE; - gSprites[spriteId].data[0] = a; + gSprites[spriteId].data[0] = contestant; gSprites[spriteId].data[1] = r5; if (gSprites[spriteId].data[1] > gSprites[spriteId].pos2.x) gSprites[spriteId].data[2] = 1; @@ -3648,7 +3697,7 @@ static void sub_80DC3AC(void) { s32 i; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) sub_80DC308(i); } @@ -3656,12 +3705,12 @@ static bool8 sub_80DC3C4(void) { s32 i; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { if (gContestResources->field_14[i].unk2_0) break; } - if (i == 4) + if (i == CONTESTANT_COUNT) return TRUE; else return FALSE; @@ -3684,17 +3733,17 @@ static void sub_80DC44C(void) { s32 i; - for (i = 0; i < 4; i++) - gSprites[gContestResources->field_14[i].unk0].pos1.y = gUnknown_08587A6C[gUnknown_02039F26[i]]; + for (i = 0; i < CONTESTANT_COUNT; i++) + gSprites[gContestResources->field_14[i].unk0].pos1.y = gUnknown_08587A6C[gContestantTurnOrder[i]]; } static void sub_80DC490(bool8 a) { s32 i; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { - if (gUnknown_02039F26[i] > 1) + if (gContestantTurnOrder[i] > 1) { if (!a) gSprites[gContestResources->field_14[i].unk0].pos1.x = 180; @@ -3709,12 +3758,12 @@ static void sub_80DC4F0(void) s32 i; LoadSpritePalette(&gUnknown_08587B08); - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { LoadCompressedSpriteSheet(&gUnknown_08587AE8[i]); gContestResources->field_14[i].unk1 = CreateSprite(&gSpriteTemplate_8587B18[i], 204, - gUnknown_08587A70[gUnknown_02039F26[i]], + gUnknown_08587A70[gContestantTurnOrder[i]], 0); SetSubspriteTables(&gSprites[gContestResources->field_14[i].unk1], gSubspriteTables_8587B80); gSprites[gContestResources->field_14[i].unk1].invisible = TRUE; @@ -3725,11 +3774,11 @@ static void CreateApplauseMeterSprite(void) { u8 spriteId; - LoadCompressedSpriteSheet(&gUnknown_08587BB0); - LoadSpritePalette(&gUnknown_08587BB8); - spriteId = CreateSprite(&gSpriteTemplate_8587BC8, 30, 44, 1); + LoadCompressedSpriteSheet(&sApplauseMeterSpriteSheet); + LoadSpritePalette(&sApplauseMeterPalette); + spriteId = CreateSprite(&sApplauseMeterSpriteTemplate, 30, 44, 1); gSprites[spriteId].invisible = TRUE; - sContest.applauseMeterSpriteId = spriteId; + eContest.applauseMeterSpriteId = spriteId; } static void sub_80DC5E8(void) @@ -3737,15 +3786,15 @@ static void sub_80DC5E8(void) u8 i; u8 taskId = CreateTask(sub_80DC728, 30); - sContest.unk19211 = taskId; - for (i = 0; i < 4; i++) + eContest.unk19211 = taskId; + for (i = 0; i < CONTESTANT_COUNT; i++) gTasks[taskId].data[i * 4] = 0xFF; } static void sub_80DC630(u8 a) { - gTasks[sContest.unk19211].data[a * 4 + 0] = 0; - gTasks[sContest.unk19211].data[a * 4 + 1] = 0; + gTasks[eContest.unk19211].data[a * 4 + 0] = 0; + gTasks[eContest.unk19211].data[a * 4 + 1] = 0; } static void sub_80DC674(u8 a) @@ -3759,12 +3808,12 @@ static void sub_80DC6A4(u8 taskId) { u8 r4 = gTasks[taskId].data[0]; - if (gTasks[sContest.unk19211].data[r4 * 4 + 0] == 0 - || gTasks[sContest.unk19211].data[r4 * 4 + 0] == 0xFF) + if (gTasks[eContest.unk19211].data[r4 * 4 + 0] == 0 + || gTasks[eContest.unk19211].data[r4 * 4 + 0] == 0xFF) { - gTasks[sContest.unk19211].data[r4 * 4 + 0] = 0xFF; - gTasks[sContest.unk19211].data[r4 * 4 + 1] = 0; - BlendPalette((sContest.unk19218[r4] + 5) * 16 + 6, 2, 0, RGB(31, 31, 18)); + gTasks[eContest.unk19211].data[r4 * 4 + 0] = 0xFF; + gTasks[eContest.unk19211].data[r4 * 4 + 1] = 0; + BlendPalette((eContest.prevTurnOrder[r4] + MOVE_WINDOWS_START) * 16 + 6, 2, 0, RGB(31, 31, 18)); DestroyTask(taskId); } } @@ -3773,7 +3822,7 @@ static void sub_80DC728(u8 taskId) { u8 i; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { u8 r3 = i * 4; @@ -3789,7 +3838,7 @@ static void sub_80DC728(u8 taskId) gTasks[taskId].data[r3 + 1] ^= 1; BlendPalette( - (sContest.unk19218[i] + 5) * 16 + 6, + (eContest.prevTurnOrder[i] + MOVE_WINDOWS_START) * 16 + 6, 2, gTasks[taskId].data[r3 + 0], RGB(31, 31, 18)); @@ -3801,15 +3850,15 @@ static void sub_80DC7EC(void) { s32 i; - sContest.unk19212 = CreateTask(sub_80DC8D0, 30); - for (i = 0; i < 4; i++) + eContest.unk19212 = CreateTask(sub_80DC8D0, 30); + for (i = 0; i < CONTESTANT_COUNT; i++) sub_80DC81C(i); } -static void sub_80DC81C(u8 a) +static void sub_80DC81C(u8 contestant) { - gTasks[sContest.unk19212].data[a * 4 + 0] = 0xFF; - gTasks[sContest.unk19212].data[a * 4 + 1] = 0; + gTasks[eContest.unk19212].data[contestant * 4 + 0] = 0xFF; + gTasks[eContest.unk19212].data[contestant * 4 + 1] = 0; } static void sub_80DC864(void) @@ -3820,22 +3869,22 @@ static void sub_80DC864(void) sub_80DC87C(i); } -static void sub_80DC87C(u8 a) +static void sub_80DC87C(u8 contestant) { - u32 var; - u32 r0; + u32 windowId1; + u32 windowId2; - sub_80DC81C(a); + sub_80DC81C(contestant); - r0 = a + 5; + windowId1 = contestant + MOVE_WINDOWS_START; DmaCopy16Defvars(3, - gPlttBufferUnfaded + r0 * 16 + 10, - gPlttBufferFaded + r0 * 16 + 10, + gPlttBufferUnfaded + windowId1 * 16 + 10, + gPlttBufferFaded + windowId1 * 16 + 10, 2); - var = (a + 5) * 16 + 12 + a; + windowId2 = (contestant + MOVE_WINDOWS_START) * 16 + 12 + contestant; DmaCopy16Defvars(3, - gPlttBufferUnfaded + var, - gPlttBufferFaded + var, + gPlttBufferUnfaded + windowId2, + gPlttBufferFaded + windowId2, 2); } @@ -3843,7 +3892,7 @@ static void sub_80DC8D0(u8 taskId) { u8 i; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { u8 r3 = i * 4; @@ -3862,41 +3911,41 @@ static void sub_80DC8D0(u8 taskId) || gTasks[taskId].data[r3 + 0] == 0) gTasks[taskId].data[r3 + 1] ^= 1; - BlendPalette((i + 5) * 16 + 10, 1, gTasks[taskId].data[r3 + 0], RGB(31, 31, 18)); - BlendPalette((i + 5) * 16 + 12 + i, 1, gTasks[taskId].data[r3 + 0], RGB(31, 31, 18)); + BlendPalette((i + MOVE_WINDOWS_START) * 16 + 10, 1, gTasks[taskId].data[r3 + 0], RGB(31, 31, 18)); + BlendPalette((i + MOVE_WINDOWS_START) * 16 + 12 + i, 1, gTasks[taskId].data[r3 + 0], RGB(31, 31, 18)); } } } } -static void sub_80DC9B4(u8 a) +static void sub_80DC9B4(u8 contestant) { - if (sContestantStatus[a].hasJudgesAttention) - sub_80DC630(a); + if (eContestantStatus[contestant].hasJudgesAttention) + sub_80DC630(contestant); else - sub_80DC674(a); + sub_80DC674(contestant); } -static u8 sub_80DC9EC(u8 a) +static u8 sub_80DC9EC(u8 contestant) { u8 spriteId1, spriteId2; - u8 x = gUnknown_02039F26[a] * 40 + 32; + u8 x = gContestantTurnOrder[contestant] * 40 + 32; - LoadCompressedSpriteSheet(&sUnknown_08589904[a]); - LoadSpritePalette(&sUnknown_08589924[a]); - spriteId1 = CreateSprite(&gSpriteTemplate_858998C[a], 184, x, 29); - spriteId2 = CreateSprite(&gSpriteTemplate_858998C[a], 248, x, 29); + LoadCompressedSpriteSheet(&sUnknown_08589904[contestant]); + LoadSpritePalette(&sUnknown_08589924[contestant]); + spriteId1 = CreateSprite(&gSpriteTemplate_858998C[contestant], 184, x, 29); + spriteId2 = CreateSprite(&gSpriteTemplate_858998C[contestant], 248, x, 29); gSprites[spriteId2].oam.tileNum += 64; CopySpriteTiles(0, 3, (void *)VRAM, - (u16 *)(BG_SCREEN_ADDR(28) + gUnknown_02039F26[a] * 5 * 64 + 0x26), + (u16 *)(BG_SCREEN_ADDR(28) + gContestantTurnOrder[contestant] * 5 * 64 + 0x26), gContestResources->field_34); CopySpriteTiles(0, 3, (void *)VRAM, - (u16 *)(BG_SCREEN_ADDR(28) + gUnknown_02039F26[a] * 5 * 64 + 0x36), + (u16 *)(BG_SCREEN_ADDR(28) + gContestantTurnOrder[contestant] * 5 * 64 + 0x36), gContestResources->field_38); CpuFill32(0, gContestResources->field_34 + 0x500, 0x300); @@ -3915,8 +3964,8 @@ static u8 sub_80DC9EC(u8 a) gSprites[spriteId1].data[0] = spriteId2; gSprites[spriteId2].data[0] = spriteId1; - gSprites[spriteId1].data[1] = a; - gSprites[spriteId2].data[1] = a; + gSprites[spriteId1].data[1] = contestant; + gSprites[spriteId2].data[1] = contestant; return spriteId1; } @@ -3981,164 +4030,203 @@ static void sub_80DCCD8(struct Sprite *sprite) sub_80DCBD0(); } -static void sub_80DCD08(void) +// Unused. +static void ContestDebugTogglePointTotal(void) { - if(gHeap[0x1A000] == 1) - gHeap[0x1A000] = 0; + if(eContestDebugMode == CONTEST_DEBUG_MODE_PRINT_POINT_TOTAL) + eContestDebugMode = CONTEST_DEBUG_MODE_OFF; else - gHeap[0x1A000] = 1; + eContestDebugMode = CONTEST_DEBUG_MODE_PRINT_POINT_TOTAL; - if(gHeap[0x1A000] == 0) + if(eContestDebugMode == CONTEST_DEBUG_MODE_OFF) { - sub_80DAEA4(); - sub_80DB2BC(); + DrawContestantWindowText(); + SwapMoveDescAndContestTilemaps(); } else { - sub_80DCD48(); + ContestDebugDoPrint(); } } -static void sub_80DCD48(void) +static void ContestDebugDoPrint(void) { u8 i; s16 value; u8 *txtPtr; u8 text[8]; - if (gUnknown_020322D5 == 0) + if (!gEnableContestDebugging) return; - switch (gHeap[0x1A000]) + switch (eContestDebugMode) { - case 0: + case CONTEST_DEBUG_MODE_OFF: break; - case 2: - case 3: - sub_80DF750(); + case CONTEST_DEBUG_MODE_PRINT_UNK_C: + case CONTEST_DEBUG_MODE_PRINT_UNK_D: + ContestDebugPrintBitStrings(); break; + // The only other possible value is 1, which is only set by ContestDebugTogglePointTotal. + // + // case CONTEST_DEBUG_MODE_PRINT_POINT_TOTAL: default: - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) FillWindowPixelBuffer(i, PIXEL_FILL(0)); - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { - value = sContestantStatus[i].unk4; + value = eContestantStatus[i].pointTotal; txtPtr = text; - if (sContestantStatus[i].unk4 < 0) + if (eContestantStatus[i].pointTotal < 0) { value *= -1; txtPtr = StringCopy(txtPtr, gText_OneDash); } ConvertIntToDecimalStringN(txtPtr, value, STR_CONV_MODE_LEFT_ALIGN, 4); - Contest_PrintTextToBg0WindowAt(gUnknown_02039F26[i], text, 55, 1, 7); + Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[i], text, 55, 1, 7); } - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { - value = sContestantStatus[i].appeal2; + value = eContestantStatus[i].appeal2; txtPtr = text; - if (sContestantStatus[i].appeal2 < 0) + if (eContestantStatus[i].appeal2 < 0) { value *= -1; txtPtr = StringCopy(txtPtr, gText_OneDash); } ConvertIntToDecimalStringN(txtPtr, value, STR_CONV_MODE_LEFT_ALIGN, 4); - Contest_PrintTextToBg0WindowAt(gUnknown_02039F26[i], text, 5, 1, 7); + Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[i], text, 5, 1, 7); } - sub_80DB2BC(); + SwapMoveDescAndContestTilemaps(); break; } } -void sub_80DCE58(u8 a) +void SortContestants(bool8 useRanking) { - u8 sp0[4]; - u16 sp4[4] = {0}; + u8 scratch[CONTESTANT_COUNT]; + u16 randomOrdering[CONTESTANT_COUNT] = {0}; s32 i; - s32 r2; - s32 r4; + s32 v3; - for (i = 0; i < 4; i++) + // Generate a unique random number for each contestant. + for (i = 0; i < CONTESTANT_COUNT; i++) { - sp4[i] = Random(); - for (r2 = 0; r2 < i; r2++) + s32 j; + randomOrdering[i] = Random(); + + // Loop through all the numbers generated so far. + for (j = 0; j < i; j++) { - if (sp4[i] == sp4[r2]) + if (randomOrdering[i] == randomOrdering[j]) { + // This number isn't unique; try generating again. i--; break; } } } - if (a == 0) + if (!useRanking) { - for (i = 0; i < 4; i++) + // Order based on the results of the Conditions round using Insertion Sort. + // Use the randomOrdering to break ties. + for (i = 0; i < CONTESTANT_COUNT; i++) { - gUnknown_02039F26[i] = i; - for (r4 = 0; r4 < i; r4++) + // Append this contestant to the list. + gContestantTurnOrder[i] = i; + + // Determine where the contestant should be ordered. + for (v3 = 0; v3 < i; v3++) { - if (gContestMonConditions[gUnknown_02039F26[r4]] < gContestMonConditions[i] - || (gContestMonConditions[gUnknown_02039F26[r4]] == gContestMonConditions[i] && sp4[gUnknown_02039F26[r4]] < sp4[i])) + if (gContestMonConditions[gContestantTurnOrder[v3]] < gContestMonConditions[i] + || (gContestMonConditions[gContestantTurnOrder[v3]] == gContestMonConditions[i] && randomOrdering[gContestantTurnOrder[v3]] < randomOrdering[i])) { - for (r2 = i; r2 > r4; r2--) - gUnknown_02039F26[r2] = gUnknown_02039F26[r2 - 1]; - gUnknown_02039F26[r4] = i; + // Shift everything larger up to make room. + s32 j; + for (j = i; j > v3; j--) + gContestantTurnOrder[j] = gContestantTurnOrder[j - 1]; + + // Insert into the new spot. + gContestantTurnOrder[v3] = i; break; } } - if (r4 == i) - gUnknown_02039F26[i] = i; + + // This is redundant. + // Perhaps GF switched from true insertion sort to in-place insertion sort, and forgot to + // remove this check? + if (v3 == i) + gContestantTurnOrder[i] = i; } - memcpy(sp0, gUnknown_02039F26, sizeof(sp0)); - for (i = 0; i < 4; i++) - gUnknown_02039F26[sp0[i]] = i; + + // Invert gContestantTurnOrder; above, it was a list of contestant IDs. Now it's a list of turn orderings. + // + // For example, if contestant 3 had the first turn, then `gContestantTurnOrder[1] = 3`. The turn is the index, + // the contestant is the data. After inverting the list, `gContestantTurnOrder[3] = 1`. The contestant is the index, + // and the turn is the data. + memcpy(scratch, gContestantTurnOrder, sizeof(scratch)); + for (i = 0; i < CONTESTANT_COUNT; i++) + gContestantTurnOrder[scratch[i]] = i; } else { - memset(sp0, 0xFF, sizeof(sp0)); - for (i = 0; i < 4; i++) + // Order contestants based on their ranking. + // If contestants have tied ranking, fill in the next available slot. + // + // Note that ranking is calculated so that shared places still take up a ranking + // space. A ranking like [1, 2, 2, 3] is not possible; it would be [1, 2, 2, 4] + // instead. + memset(scratch, 0xFF, sizeof(scratch)); + for (i = 0; i < CONTESTANT_COUNT; i++) { - u8 r2 = sContestantStatus[i].unkB_0; + u8 j = eContestantStatus[i].ranking; while (1) { - u8 *ptr = &sp0[r2]; + u8 *ptr = &scratch[j]; if (*ptr == 0xFF) { *ptr = i; - gUnknown_02039F26[i] = r2; + gContestantTurnOrder[i] = j; break; } - r2++; + j++; } } - for (i = 0; i < 3; i++) - { - for (r4 = 3; r4 > i; r4--) - { - if (sContestantStatus[r4 - 1].unkB_0 == sContestantStatus[r4].unkB_0 - && gUnknown_02039F26[r4 - 1] < gUnknown_02039F26[r4] - && sp4[r4 - 1] < sp4[r4]) - { - u8 temp = gUnknown_02039F26[r4]; - gUnknown_02039F26[r4] = gUnknown_02039F26[r4 - 1]; - gUnknown_02039F26[r4 - 1] = temp; + // Randomize the order of contestants with tied rankings using Selection Sort. + // + // Look through the array for tied ranks, and use randomOrdering to break the tie. + // This ensures that contestants with the same rank will be randomly ordered. This + // uses an in-place slection sort, which involves a lot of extra swapping. + for (i = 0; i < CONTESTANT_COUNT - 1; i++) + { + for (v3 = CONTESTANT_COUNT - 1; v3 > i; v3--) + { + if (eContestantStatus[v3 - 1].ranking == eContestantStatus[v3].ranking + && gContestantTurnOrder[v3 - 1] < gContestantTurnOrder[v3] + && randomOrdering[v3 - 1] < randomOrdering[v3]) + { + u8 temp = gContestantTurnOrder[v3]; + gContestantTurnOrder[v3] = gContestantTurnOrder[v3 - 1]; + gContestantTurnOrder[v3 - 1] = temp; } } } } } -static void sub_80DD04C(void) +static void DrawContestantWindows(void) { s32 i; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { - LoadPalette(&gHeap[0x1A004] + (i + 5) * 32, (gUnknown_02039F26[i] + 5) * 16, 32); + s32 windowId = i + MOVE_WINDOWS_START; + LoadPalette(eUnknownHeap1A004.cachedWindowPalettes[windowId], (gContestantTurnOrder[i] + MOVE_WINDOWS_START) * 16, sizeof(eUnknownHeap1A004.cachedWindowPalettes[0])); } - sub_80DAEA4(); + DrawContestantWindowText(); } static void sub_80DD080(u8 contestant) @@ -4149,104 +4237,104 @@ static void sub_80DD080(u8 contestant) bool8 r8; s32 i; - sContestantStatus[contestant].appeal2 = 0; - sContestantStatus[contestant].appeal1 = 0; - r8 = sub_80DBA68(contestant); + eContestantStatus[contestant].appeal2 = 0; + eContestantStatus[contestant].appeal1 = 0; + r8 = ContestantCanUseTurn(contestant); if (!r8) return; - move = sContestantStatus[contestant].currMove; + move = eContestantStatus[contestant].currMove; effect = gContestMoves[move].effect; - sContestantStatus[contestant].moveCategory = gContestMoves[sContestantStatus[contestant].currMove].contestCategory; - if (sContestantStatus[contestant].currMove == sContestantStatus[contestant].prevMove && sContestantStatus[contestant].currMove != MOVE_NONE) + eContestantStatus[contestant].moveCategory = gContestMoves[eContestantStatus[contestant].currMove].contestCategory; + if (eContestantStatus[contestant].currMove == eContestantStatus[contestant].prevMove && eContestantStatus[contestant].currMove != MOVE_NONE) { - sContestantStatus[contestant].disappointedRepeat = TRUE; - sContestantStatus[contestant].moveRepeatCount++; + eContestantStatus[contestant].disappointedRepeat = TRUE; + eContestantStatus[contestant].moveRepeatCount++; } else { - sContestantStatus[contestant].moveRepeatCount = 0; + eContestantStatus[contestant].moveRepeatCount = 0; } - sContestantStatus[contestant].appeal1 = gContestEffects[effect].appeal; - sContestantStatus[contestant].appeal2 = sContestantStatus[contestant].appeal1; - shared192D0.jam = gContestEffects[effect].jam; - shared192D0.jam2 = shared192D0.jam; + eContestantStatus[contestant].appeal1 = gContestEffects[effect].appeal; + eContestantStatus[contestant].appeal2 = eContestantStatus[contestant].appeal1; + eContestResources8.jam = gContestEffects[effect].jam; + eContestResources8.jam2 = eContestResources8.jam; - shared192D0.contestant = contestant; + eContestResources8.contestant = contestant; for (i = 0; i < 4; i++) { - sContestantStatus[i].jam = 0; - shared192D0.unnervedPokes[i] = 0; + eContestantStatus[i].jam = 0; + eContestResources8.unnervedPokes[i] = 0; } - if (sContestantStatus[contestant].hasJudgesAttention - && !AreMovesContestCombo(sContestantStatus[contestant].prevMove, sContestantStatus[contestant].currMove)) - sContestantStatus[contestant].hasJudgesAttention = 0; + if (eContestantStatus[contestant].hasJudgesAttention + && !AreMovesContestCombo(eContestantStatus[contestant].prevMove, eContestantStatus[contestant].currMove)) + eContestantStatus[contestant].hasJudgesAttention = 0; gContestEffectFuncs[effect](); - if (sContestantStatus[contestant].conditionMod == 1) - sContestantStatus[contestant].appeal2 += sContestantStatus[contestant].condition - 10; - else if (sContestantStatus[contestant].appealTripleCondition) - sContestantStatus[contestant].appeal2 += sContestantStatus[contestant].condition * 3; + if (eContestantStatus[contestant].conditionMod == 1) + eContestantStatus[contestant].appeal2 += eContestantStatus[contestant].condition - 10; + else if (eContestantStatus[contestant].appealTripleCondition) + eContestantStatus[contestant].appeal2 += eContestantStatus[contestant].condition * 3; else - sContestantStatus[contestant].appeal2 += sContestantStatus[contestant].condition; + eContestantStatus[contestant].appeal2 += eContestantStatus[contestant].condition; - sContestantStatus[contestant].unk16 = 0; - sContestantStatus[contestant].unk15_6 = 0; + eContestantStatus[contestant].unk16 = 0; + eContestantStatus[contestant].unk15_6 = 0; if (sub_80DE1E8(contestant)) { - u8 r2 = AreMovesContestCombo(sContestantStatus[contestant].prevMove, sContestantStatus[contestant].currMove); + u8 r2 = AreMovesContestCombo(eContestantStatus[contestant].prevMove, eContestantStatus[contestant].currMove); - if (r2 != 0 && sContestantStatus[contestant].hasJudgesAttention) + if (r2 != 0 && eContestantStatus[contestant].hasJudgesAttention) { - sContestantStatus[contestant].unk16 = r2; - sContestantStatus[contestant].unk15_6 = 1; - sContestantStatus[contestant].hasJudgesAttention = 0; - sContestantStatus[contestant].unk17 = sContestantStatus[contestant].appeal1 * sContestantStatus[contestant].unk16; - sContestantStatus[contestant].unk15_3 = 1; + eContestantStatus[contestant].unk16 = r2; + eContestantStatus[contestant].unk15_6 = 1; + eContestantStatus[contestant].hasJudgesAttention = 0; + eContestantStatus[contestant].unk17 = eContestantStatus[contestant].appeal1 * eContestantStatus[contestant].unk16; + eContestantStatus[contestant].unk15_3 = 1; } else { - if (gContestMoves[sContestantStatus[contestant].currMove].comboStarterId != 0) + if (gContestMoves[eContestantStatus[contestant].currMove].comboStarterId != 0) { - sContestantStatus[contestant].hasJudgesAttention = 1; - sContestantStatus[contestant].unk15_6 = 1; + eContestantStatus[contestant].hasJudgesAttention = 1; + eContestantStatus[contestant].unk15_6 = 1; } else { - sContestantStatus[contestant].hasJudgesAttention = 0; + eContestantStatus[contestant].hasJudgesAttention = 0; } } } - if (sContestantStatus[contestant].disappointedRepeat) - sContestantStatus[contestant].unk18 = (sContestantStatus[contestant].moveRepeatCount + 1) * 10; + if (eContestantStatus[contestant].disappointedRepeat) + eContestantStatus[contestant].unk18 = (eContestantStatus[contestant].moveRepeatCount + 1) * 10; - if (sContestantStatus[contestant].nervous) + if (eContestantStatus[contestant].nervous) { - sContestantStatus[contestant].hasJudgesAttention = 0; - sContestantStatus[contestant].appeal2 = 0; - sContestantStatus[contestant].appeal1 = 0; + eContestantStatus[contestant].hasJudgesAttention = 0; + eContestantStatus[contestant].appeal2 = 0; + eContestantStatus[contestant].appeal1 = 0; } - shared19328.bits_0 = Contest_GetMoveExcitement(sContestantStatus[contestant].currMove); - if (sContestantStatus[contestant].overrideCategoryExcitementMod) - shared19328.bits_0 = 1; + eContestResources10.bits_0 = Contest_GetMoveExcitement(eContestantStatus[contestant].currMove); + if (eContestantStatus[contestant].overrideCategoryExcitementMod) + eContestResources10.bits_0 = 1; - if (shared19328.bits_0 > 0) + if (eContestResources10.bits_0 > 0) { - if (sContest.applauseLevel + shared19328.bits_0 > 4) - shared19328.unk2 = 60; + if (eContest.applauseLevel + eContestResources10.bits_0 > 4) + eContestResources10.unk2 = 60; else - shared19328.unk2 = 10; + eContestResources10.unk2 = 10; } else { - shared19328.unk2 = 0; + eContestResources10.unk2 = 0; } rnd = Random() % 3; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { if (i != contestant) { @@ -4255,17 +4343,17 @@ static void sub_80DD080(u8 contestant) rnd--; } } - sContestantStatus[contestant].unk1B = i; + eContestantStatus[contestant].unk1B = i; } void SetContestantEffectStringID(u8 a, u8 b) { - sContestantStatus[a].effectStringId = b; + eContestantStatus[a].effectStringId = b; } void SetContestantEffectStringID2(u8 a, u8 b) { - sContestantStatus[a].effectStringId2 = b; + eContestantStatus[a].effectStringId2 = b; } void SetStartledString(u8 contestant, u8 jam) @@ -4285,81 +4373,103 @@ void SetStartledString(u8 contestant, u8 jam) static void sub_80DD45C(u8 contestant, u8 stringId) { StringCopy(gStringVar1, gContestMons[contestant].nickname); - StringCopy(gStringVar2, gMoveNames[sContestantStatus[contestant].currMove]); - if (gContestMoves[sContestantStatus[shared192D0.contestant].currMove].contestCategory == CONTEST_CATEGORY_COOL) + StringCopy(gStringVar2, gMoveNames[eContestantStatus[contestant].currMove]); + if (gContestMoves[eContestantStatus[eContestResources8.contestant].currMove].contestCategory == CONTEST_CATEGORY_COOL) StringCopy(gStringVar3, gText_Contest_Shyness); - else if (gContestMoves[sContestantStatus[shared192D0.contestant].currMove].contestCategory == CONTEST_CATEGORY_BEAUTY) + else if (gContestMoves[eContestantStatus[eContestResources8.contestant].currMove].contestCategory == CONTEST_CATEGORY_BEAUTY) StringCopy(gStringVar3, gText_Contest_Anxiety); - else if (gContestMoves[sContestantStatus[shared192D0.contestant].currMove].contestCategory == CONTEST_CATEGORY_CUTE) + else if (gContestMoves[eContestantStatus[eContestResources8.contestant].currMove].contestCategory == CONTEST_CATEGORY_CUTE) StringCopy(gStringVar3, gText_Contest_Laziness); - else if (gContestMoves[sContestantStatus[shared192D0.contestant].currMove].contestCategory == CONTEST_CATEGORY_SMART) + else if (gContestMoves[eContestantStatus[eContestResources8.contestant].currMove].contestCategory == CONTEST_CATEGORY_SMART) StringCopy(gStringVar3, gText_Contest_Hesitancy); else StringCopy(gStringVar3, gText_Contest_Fear); StringExpandPlaceholders(gStringVar4, gUnknown_08587E10[stringId]); - sub_80DB89C(); + ContestClearGeneralTextWindow(); Contest_StartTextPrinter(gStringVar4, 1); } void MakeContestantNervous(u8 p) { - sContestantStatus[p].nervous = 1; - sContestantStatus[p].currMove = MOVE_NONE; + eContestantStatus[p].nervous = TRUE; + eContestantStatus[p].currMove = MOVE_NONE; } -static void sub_80DD590(void) +// This function calculates the new turn order for the next round. The +// algorithm first checks for explicit turn assignments in the +// ContestantStatus::nextTurnOrder field of each contestant. The remaining +// turns are assigned such that the turn order will reverse. +// +// For example, if no pokemon have a defined nextTurnOrder, then the 4th +// will become 1st, the 3rd will become 2nd, etc. +// +// Note: This function assumes that multiple pokemon cannot have the same +// nextTurnOrder value. +static void ApplyNextTurnOrder(void) { - u8 r12 = 0; + u8 nextContestant = 0; s32 i; s32 j; - u8 sp0[4]; - u8 sp4[4]; + u8 newTurnOrder[CONTESTANT_COUNT]; + bool8 isContestantOrdered[CONTESTANT_COUNT]; - for (i = 0; i < 4; i++) + // Copy the current turn order. + for (i = 0; i < CONTESTANT_COUNT; i++) { - sp0[i] = gUnknown_02039F26[i]; - sp4[i] = 0; + newTurnOrder[i] = gContestantTurnOrder[i]; + isContestantOrdered[i] = FALSE; } - for (i = 0; i < 4; i++) + // For each turn, assign a contestant to that turn. + for (i = 0; i < CONTESTANT_COUNT; i++) { - for (j = 0; j < 4; j++) + // Look for explicit turn assignments. + for (j = 0; j < CONTESTANT_COUNT; j++) { - if (sContestantStatus[j].nextTurnOrder == i) + if (eContestantStatus[j].nextTurnOrder == i) { - sp0[j] = i; - sp4[j] = 1; + newTurnOrder[j] = i; + isContestantOrdered[j] = TRUE; break; } } - if (j == 4) + + if (j == CONTESTANT_COUNT) { - for (j = 0; j < 4; j++) + // No contestant was assigned to this turn. Look for the unassigned contestant + // with the highest turn order. + // + // First, look for the first unassigned contestant. + for (j = 0; j < CONTESTANT_COUNT; j++) { - if (sp4[j] == 0 && sContestantStatus[j].nextTurnOrder == 0xFF) + if (!isContestantOrdered[j] && eContestantStatus[j].nextTurnOrder == 0xFF) { - r12 = j; + nextContestant = j; j++; break; } } - for (; j < 4; j++) + + // Then, look for a better candidate, with a higher turn order. + for (; j < CONTESTANT_COUNT; j++) { - if (sp4[j] == 0 && sContestantStatus[j].nextTurnOrder == 0xFF - && gUnknown_02039F26[r12] > gUnknown_02039F26[j]) - r12 = j; + if (!isContestantOrdered[j] && eContestantStatus[j].nextTurnOrder == 0xFF + && gContestantTurnOrder[nextContestant] > gContestantTurnOrder[j]) + nextContestant = j; } - sp0[r12] = i; - sp4[r12] = 1; + + // Assign the contestant to this turn. + newTurnOrder[nextContestant] = i; + isContestantOrdered[nextContestant] = TRUE; } } - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { - shared192D0.turnOrder[i] = sp0[i]; - sContestantStatus[i].nextTurnOrder = 0xFF; - sContestantStatus[i].turnOrderMod = 0; - gUnknown_02039F26[i] = sp0[i]; + eContestResources8.turnOrder[i] = newTurnOrder[i]; + eContestantStatus[i].nextTurnOrder = 0xFF; + eContestantStatus[i].turnOrderMod = 0; + gContestantTurnOrder[i] = newTurnOrder[i]; } } @@ -4370,13 +4480,13 @@ static void sub_80DD6DC(struct Sprite *sprite) sprite->data[1] = 0; sprite->invisible = TRUE; sprite->callback = SpriteCallbackDummy; - sContest.unk1920A_4 = 0; + eContest.unk1920A_4 = 0; } } static void sub_80DD720(u8 a) { - u8 spriteId = sContest.unk19216; + u8 spriteId = eContest.unk19216; switch (a) { @@ -4418,26 +4528,26 @@ static void sub_80DD720(u8 a) gSprites[spriteId].data[1] = 0; gSprites[spriteId].invisible = FALSE; gSprites[spriteId].callback = sub_80DD6DC; - sContest.unk1920A_4 = 1; + eContest.unk1920A_4 = 1; } -static void sub_80DD940(void) +static void UpdateApplauseMeter(void) { s32 i; - for (i = 0; i < 5; i++) + for (i = 0; i < APPLAUSE_METER_SIZE; i++) { const u8 *src; - if (i < sContest.applauseLevel) - src = gContestApplauseMeterGfx + 64; + if (i < eContest.applauseLevel) + src = &gContestApplauseMeterGfx[64]; else src = gContestApplauseMeterGfx; - CpuCopy32(src, (void *)(VRAM + 0x10000 + (gSprites[sContest.applauseMeterSpriteId].oam.tileNum + 17 + i) * 32), 32); - CpuCopy32(src + 32, (void *)(VRAM + 0x10000 + (gSprites[sContest.applauseMeterSpriteId].oam.tileNum + 25 + i) * 32), 32); + CpuCopy32(src, (void *)(VRAM + 0x10000 + (gSprites[eContest.applauseMeterSpriteId].oam.tileNum + 17 + i) * 32), 32); + CpuCopy32(src + 32, (void *)(VRAM + 0x10000 + (gSprites[eContest.applauseMeterSpriteId].oam.tileNum + 25 + i) * 32), 32); - if (sContest.applauseLevel > 4) - sub_80DDA20(); + if (eContest.applauseLevel > 4) + StartApplauseOverflowAnimation(); } } @@ -4446,48 +4556,56 @@ s8 Contest_GetMoveExcitement(u16 move) return gContestExcitementTable[gSpecialVar_ContestCategory][gContestMoves[move].contestCategory]; } -static u8 sub_80DDA20(void) +static u8 StartApplauseOverflowAnimation(void) { - u8 taskId = CreateTask(c3_08130B10, 10); + u8 taskId = CreateTask(Task_ApplauseOverflowAnimation, 10); gTasks[taskId].data[1] = 1; - gTasks[taskId].data[2] = IndexOfSpritePaletteTag(0x0ABE2); + gTasks[taskId].data[2] = IndexOfSpritePaletteTag(APPLAUSE_METER_GFX_TAG); return taskId; } -static void c3_08130B10(u8 taskId) +static void Task_ApplauseOverflowAnimation(u8 taskId) { + // Skip every other frame. if (++gTasks[taskId].data[0] == 1) { gTasks[taskId].data[0] = 0; + + // Alternate between normal colors and white. if (gTasks[taskId].data[3] == 0) gTasks[taskId].data[4]++; else gTasks[taskId].data[4]--; - BlendPalette(264 + gTasks[taskId].data[2] * 16, 1, gTasks[taskId].data[4], RGB(31, 31, 31)); + + BlendPalette(264 + gTasks[taskId].data[2] * 16, 1, gTasks[taskId].data[4], RGB_WHITE); + + // At the maximum or minimum blending, switch directions. if (gTasks[taskId].data[4] == 0 || gTasks[taskId].data[4] == 16) { gTasks[taskId].data[3] ^= 1; - if (sContest.applauseLevel < 5) + + // Continue the animation until the applause meter is cleared. + if (eContest.applauseLevel < 5) { - BlendPalette(264 + gTasks[taskId].data[2] * 16, 1, 0, RGB(31, 0, 0)); + BlendPalette(264 + gTasks[taskId].data[2] * 16, 1, 0, RGB_RED); DestroyTask(taskId); } } } } -static void sub_80DDB0C(void) +static void StartMoveApplauseMeterOnscreen(void) { - CreateTask(sub_80DDB6C, 10); - gSprites[sContest.applauseMeterSpriteId].pos2.x = -70; - gSprites[sContest.applauseMeterSpriteId].invisible = FALSE; - sContest.unk1920A_6 = 1; + CreateTask(Task_MoveApplauseMeterOnscreen, 10); + gSprites[eContest.applauseMeterSpriteId].pos2.x = -70; + gSprites[eContest.applauseMeterSpriteId].invisible = FALSE; + eContest.applauseMeterIsMoving = TRUE; } -static void sub_80DDB6C(u8 taskId) +static void Task_MoveApplauseMeterOnscreen(u8 taskId) { - struct Sprite *sprite = &gSprites[sContest.applauseMeterSpriteId]; + struct Sprite *sprite = &gSprites[eContest.applauseMeterSpriteId]; gTasks[taskId].data[10] += 1664; sprite->pos2.x += gTasks[taskId].data[10] >> 8; @@ -4496,28 +4614,28 @@ static void sub_80DDB6C(u8 taskId) sprite->pos2.x = 0; if (sprite->pos2.x == 0) { - sContest.unk1920A_6 = 0; + eContest.applauseMeterIsMoving = FALSE; DestroyTask(taskId); } } -static void sub_80DDBE8(void) +static void TryMoveApplauseMeterOffscreen(void) { - if (gSprites[sContest.applauseMeterSpriteId].invisible == TRUE) + if (gSprites[eContest.applauseMeterSpriteId].invisible == TRUE) { - sContest.unk1920A_6 = 0; + eContest.applauseMeterIsMoving = FALSE; } else { - CreateTask(task08_080CD1CC, 10); - gSprites[sContest.applauseMeterSpriteId].pos2.x = 0; - sContest.unk1920A_6 = 1; + CreateTask(Task_MoveApplauseMeterOffscreen, 10); + gSprites[eContest.applauseMeterSpriteId].pos2.x = 0; + eContest.applauseMeterIsMoving = TRUE; } } -static void task08_080CD1CC(u8 taskId) +static void Task_MoveApplauseMeterOffscreen(u8 taskId) { - struct Sprite *sprite = &gSprites[sContest.applauseMeterSpriteId]; + struct Sprite *sprite = &gSprites[eContest.applauseMeterSpriteId]; gTasks[taskId].data[10] += 1664; sprite->pos2.x -= gTasks[taskId].data[10] >> 8; @@ -4527,29 +4645,29 @@ static void task08_080CD1CC(u8 taskId) if (sprite->pos2.x == -70) { sprite->invisible = TRUE; - sContest.unk1920A_6 = 0; + eContest.applauseMeterIsMoving = FALSE; DestroyTask(taskId); } } -static void sub_80DDCDC(s8 a) +static void ShowAndUpdateApplauseMeter(s8 unused) { - u8 taskId = CreateTask(sub_80DDD20, 5); + u8 taskId = CreateTask(Task_ShowAndUpdateApplauseMeter, 5); - gTasks[taskId].data[0] = a; - sContest.unk1920A_5 = 1; + gTasks[taskId].data[0] = unused; + eContest.isShowingApplauseMeter = TRUE; } -static void sub_80DDD20(u8 taskId) +static void Task_ShowAndUpdateApplauseMeter(u8 taskId) { switch (gTasks[taskId].data[10]) { case 0: - sub_80DDB0C(); + StartMoveApplauseMeterOnscreen(); gTasks[taskId].data[10]++; break; case 1: - if (!sContest.unk1920A_6) + if (!eContest.applauseMeterIsMoving) { gTasks[taskId].data[10]++; } @@ -4558,29 +4676,31 @@ static void sub_80DDD20(u8 taskId) if (gTasks[taskId].data[11]++ > 20) { gTasks[taskId].data[11] = 0; - sub_80DD940(); - sContest.unk1920A_5 = 0; + UpdateApplauseMeter(); + eContest.isShowingApplauseMeter = FALSE; DestroyTask(taskId); } break; } } -void unref_sub_80DDDA8(void) +// Unused. +void HideApplauseMeterNoAnim(void) { - gSprites[sContest.applauseMeterSpriteId].pos2.x = 0; - gSprites[sContest.applauseMeterSpriteId].invisible = FALSE; + gSprites[eContest.applauseMeterSpriteId].pos2.x = 0; + gSprites[eContest.applauseMeterSpriteId].invisible = FALSE; } -void unref_sub_80DDDE4(void) +// Unused. +void ShowApplauseMeterNoAnim(void) { - gSprites[sContest.applauseMeterSpriteId].invisible = TRUE; + gSprites[eContest.applauseMeterSpriteId].invisible = TRUE; } static void sub_80DDE0C(void) { CreateTask(sub_80DDE30, 15); - sContest.unk1920A_7 = 1; + eContest.unk1920A_7 = 1; } static void sub_80DDE30(u8 taskId) @@ -4590,11 +4710,11 @@ static void sub_80DDE30(u8 taskId) gTasks[taskId].data[10] = 0; if (gTasks[taskId].data[11] == 0) { - RequestDma3Copy(shared16800, (void *)(BG_SCREEN_ADDR(4)), 0x1000, 1); + RequestDma3Copy(eUnknownHeap19000, (void *)(BG_SCREEN_ADDR(4)), 0x1000, 1); } else { - RequestDma3Copy(shared15800, (void *)(BG_SCREEN_ADDR(4)), 0x1000, 1); + RequestDma3Copy(eUnzippedContestAudienceGfx, (void *)(BG_SCREEN_ADDR(4)), 0x1000, 1); gTasks[taskId].data[12]++; } @@ -4602,7 +4722,7 @@ static void sub_80DDE30(u8 taskId) if (gTasks[taskId].data[12] == 9) { - sContest.unk1920A_7 = 0; + eContest.unk1920A_7 = 0; DestroyTask(taskId); } } @@ -4624,11 +4744,11 @@ static void sub_80DDED0(s8 a, s8 b) if (b > 0) { blendCoeff = 0; - r3 = sContest.applauseLevel * 3; + r3 = eContest.applauseLevel * 3; } else { - blendCoeff = sContest.applauseLevel * 3; + blendCoeff = eContest.applauseLevel * 3; r3 = 0; } } @@ -4650,7 +4770,7 @@ static void sub_80DDED0(s8 a, s8 b) gTasks[taskId].tBlendCoeff = blendCoeff; gTasks[taskId].data[2] = b; gTasks[taskId].data[3] = r3; - sContest.unk1920B_0 = 0; + eContest.unk1920B_0 = 0; } static void sub_80DDF80(u8 taskId) @@ -4667,7 +4787,7 @@ static void sub_80DDF80(u8 taskId) if (gTasks[taskId].tBlendCoeff == gTasks[taskId].data[3]) { DestroyTask(taskId); - sContest.unk1920B_0 = 0; + eContest.unk1920B_0 = 0; } } } @@ -4681,10 +4801,10 @@ static void sub_80DE008(bool8 a) for (i = 0; i < 4; i++) { - if (sContestantStatus[i].turnOrderMod != 0 && a) + if (eContestantStatus[i].turnOrderMod != 0 && a) { CpuCopy32(GetTurnOrderNumberGfx(i), (void *)(VRAM + 0x10000 + (gSprites[gContestResources->field_14[i].unk1].oam.tileNum + 6) * 32), 32); - gSprites[gContestResources->field_14[i].unk1].pos1.y = gUnknown_08587A70[gUnknown_02039F26[i]]; + gSprites[gContestResources->field_14[i].unk1].pos1.y = gUnknown_08587A70[gContestantTurnOrder[i]]; gSprites[gContestResources->field_14[i].unk1].invisible = FALSE; } else @@ -4696,10 +4816,10 @@ static void sub_80DE008(bool8 a) static const u8 *GetTurnOrderNumberGfx(u8 contestant) { - if (sContestantStatus[contestant].turnOrderMod != 1) + if (eContestantStatus[contestant].turnOrderMod != 1) return gContestNextTurnRandomGfx; else - return gContestNextTurnNumbersGfx + sContestantStatus[contestant].nextTurnOrder * 32; + return gContestNextTurnNumbersGfx + eContestantStatus[contestant].nextTurnOrder * 32; } static void sub_80DE12C(void) @@ -4709,11 +4829,11 @@ static void sub_80DE12C(void) u8 r8 = 1; u8 r9 = 0x11; - for (r7 = 0; r7 < 4; r7++) + for (r7 = 0; r7 < CONTESTANT_COUNT; r7++) { - if (shared192D0.unnervedPokes[r7] != 0 && !Contest_IsMonsTurnDisabled(r7)) + if (eContestResources8.unnervedPokes[r7] != 0 && !Contest_IsMonsTurnDisabled(r7)) { - u32 r6 = gUnknown_02039F26[r7] * 5 + 2; + u32 r6 = gContestantTurnOrder[r7] * 5 + 2; u16 var = sub_80DB748(3); ContestBG_FillBoxWithIncrementingTile(0, var, 0x14, r6, r10, r8, r9, r8); @@ -4724,9 +4844,9 @@ static void sub_80DE12C(void) } } -bool8 sub_80DE1E8(u8 a) +bool8 sub_80DE1E8(u8 contestant) { - if (sContestantStatus[a].disappointedRepeat || sContestantStatus[a].nervous) + if (eContestantStatus[contestant].disappointedRepeat || eContestantStatus[contestant].nervous) return FALSE; else return TRUE; @@ -4758,7 +4878,7 @@ static void sub_80DE224(void) SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X); SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y); - CpuFill32(0, gContestResources->field_24[1], 0x1000); + CpuFill32(0, gContestResources->contestBgTilemaps[1], 0x1000); CopyToBgTilemapBuffer(1, gUnknown_08C17980, 0, 0); Contest_SetBgCopyFlags(1); @@ -4775,8 +4895,8 @@ static void sub_80DE350(void) s32 i; u16 bg1Cnt; - RequestDma3Fill(0,(void *)(BG_CHAR_ADDR(2)), 0x2000, 0x1); - CpuFill32(0, gContestResources->field_24[1], 0x1000); + RequestDma3Fill(0,(void *)(BG_CHAR_ADDR(2)), 0x2000, 1); + CpuFill32(0, gContestResources->contestBgTilemaps[1], 0x1000); Contest_SetBgCopyFlags(1); bg1Cnt = GetGpuReg(REG_OFFSET_BG1CNT); ((vBgCnt *) &bg1Cnt)->priority = 1; @@ -4789,7 +4909,7 @@ static void sub_80DE350(void) gBattle_BG1_X = 0; gBattle_BG1_Y = 0; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { gSprites[gContestResources->field_14[i].unk0].oam.priority = 0; gSprites[gContestResources->field_14[i].unk1].oam.priority = 0; @@ -4824,27 +4944,27 @@ static void sub_80DE4A8(u8 taskId) switch (gTasks[taskId].data[0]) { case 0: - for (i = 0; i < 4; i++) - sContest.unk19218[i] = gUnknown_02039F26[i]; - sub_80DBF90(); + for (i = 0; i < CONTESTANT_COUNT; i++) + eContest.prevTurnOrder[i] = gContestantTurnOrder[i]; + FillContestantWindowBgs(); sub_80DC864(); sub_80DB69C(); - sub_80DD04C(); + DrawContestantWindows(); sub_80DE008(TRUE); sub_80DC44C(); gTasks[taskId].data[0] = 1; break; case 1: - if (gIsLinkContest & 1) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) { u8 taskId2; - sContest.unk1920B_2 = 1; + eContest.unk1920B_2 = 1; if (sub_80DA8A4()) sub_80DBAA0(); taskId2 = CreateTask(sub_80FCC88, 0); SetTaskFuncWithFollowupFunc(taskId2, sub_80FCC88, sub_80DA110); - sub_80DBF68(); + ContestPrintLinkStandby(); gTasks[taskId].data[0] = 2; } else @@ -4854,12 +4974,12 @@ static void sub_80DE4A8(u8 taskId) } break; case 2: - if (!sContest.unk1920B_2) + if (!eContest.unk1920B_2) gTasks[taskId].data[0] = 3; break; case 3: sub_80DB884(); - sub_80DB2BC(); + SwapMoveDescAndContestTilemaps(); gTasks[taskId].data[0] = 0; gTasks[taskId].func = sub_80DE5F4; break; @@ -4922,7 +5042,7 @@ static void sub_80DE69C(u8 a) s32 i; u8 taskId; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { gSprites[gContestResources->field_14[i].unk0].oam.matrixNum = AllocOamMatrix(); gSprites[gContestResources->field_14[i].unk0].oam.affineMode = 1; @@ -4935,7 +5055,7 @@ static void sub_80DE69C(u8 a) } taskId = CreateTask(sub_80DE794, 5); gTasks[taskId].data[0] = a; - sContest.unk1920B_1 = 1; + eContest.unk1920B_1 = 1; } static void sub_80DE794(u8 taskId) @@ -4946,12 +5066,12 @@ static void sub_80DE794(u8 taskId) { if ((u8)gTasks[taskId].data[0] == 1) { - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) gSprites[gContestResources->field_14[i].unk0].invisible = TRUE; } - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) FreeSpriteOamMatrix(&gSprites[gContestResources->field_14[i].unk0]); - sContest.unk1920B_1 = 0; + eContest.unk1920B_1 = 0; DestroyTask(taskId); } } @@ -4973,13 +5093,13 @@ static u16 SanitizeSpecies(u16 species) static void sub_80DE864(u8 a) { s32 i; - u16 move = SanitizeMove(sContestantStatus[a].currMove); + u16 move = SanitizeMove(eContestantStatus[a].currMove); u16 species = SanitizeSpecies(gContestMons[a].species); u8 r5_2; memset(&gContestResources->field_18->species, 0, 0x14); ClearBattleAnimationVars(); - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) gBattleMonForms[i] = 0; switch (move) { @@ -4991,7 +5111,7 @@ static void sub_80DE864(u8 a) break; case MOVE_TRANSFORM: case MOVE_ROLE_PLAY: - r5_2 = sContestantStatus[a].unk1B; + r5_2 = eContestantStatus[a].unk1B; gContestResources->field_18->unk2 = SanitizeSpecies(gContestMons[r5_2].species); gContestResources->field_18->unk10 = gContestMons[r5_2].personality; gContestResources->field_18->unk4_0 = 1; @@ -5006,9 +5126,9 @@ static void sub_80DE864(u8 a) case MOVE_RAZOR_WIND: case MOVE_SKULL_BASH: case MOVE_SKY_ATTACK: - if (sContest.unk1925E == 0) + if (eContest.unk1925E == 0) { - sContest.unk1925E = 2; + eContest.unk1925E = 2; gAnimMoveTurn = 0; } else @@ -5022,17 +5142,17 @@ static void sub_80DE864(u8 a) static void sub_80DE9B0(u8 unused) { - memset(&gContestResources->field_18->species, 0, 0x14); - if (sContest.unk1925E != 0) - sContest.unk1925E--; + memset(gContestResources->field_18, 0, sizeof(struct ContestStruct_field_18)); + if (eContest.unk1925E != 0) + eContest.unk1925E--; } -static void sub_80DE9DC(u8 a) +static void sub_80DE9DC(u8 contestant) { - gContestResources->field_18->unk5 = a; - gContestResources->field_18->species = SanitizeSpecies(gContestMons[a].species); - gContestResources->field_18->unk8 = gContestMons[a].personality; - gContestResources->field_18->unkC = gContestMons[a].otId; + gContestResources->field_18->unk5 = contestant; + gContestResources->field_18->species = SanitizeSpecies(gContestMons[contestant].species); + gContestResources->field_18->unk8 = gContestMons[contestant].personality; + gContestResources->field_18->unkC = gContestMons[contestant].otId; } static void sub_80DEA20(void) @@ -5142,7 +5262,7 @@ static void Contest_StartTextPrinter(const u8 *currChar, bool32 b) } else { - if (gIsLinkContest & 1) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) speed = 4; else speed = GetPlayerTextSpeedDelay(); @@ -5153,15 +5273,15 @@ static void Contest_StartTextPrinter(const u8 *currChar, bool32 b) Contest_SetBgCopyFlags(0); } -static void ContestBG_FillBoxWithIncrementingTile(u8 a, u16 b, u8 c, u8 d, u8 e, u8 f, u8 g, s16 h) +static void ContestBG_FillBoxWithIncrementingTile(u8 bg, u16 firstTileNum, u8 x, u8 y, u8 width, u8 height, u8 paletteSlot, s16 tileNumData) { - WriteSequenceToBgTilemapBuffer(a, b, c, d, e, f, g, h); - Contest_SetBgCopyFlags(a); + WriteSequenceToBgTilemapBuffer(bg, firstTileNum, x, y, width, height, paletteSlot, tileNumData); + Contest_SetBgCopyFlags(bg); } -static void ContestBG_FillBoxWithTile(u8 a, u16 b, u8 c, u8 d, u8 e, u8 f, u8 g) +static void ContestBG_FillBoxWithTile(u8 bg, u16 firstTileNum, u8 x, u8 y, u8 width, u8 height, u8 paletteSlot) { - ContestBG_FillBoxWithIncrementingTile(a, b, c, d, e, f, g, 0); + ContestBG_FillBoxWithIncrementingTile(bg, firstTileNum, x, y, width, height, paletteSlot, 0); } static bool32 Contest_RunTextPrinters(void) @@ -5170,9 +5290,9 @@ static bool32 Contest_RunTextPrinters(void) return IsTextPrinterActive(4); } -static void Contest_SetBgCopyFlags(u32 var) +static void Contest_SetBgCopyFlags(u32 flagIndex) { - sContestBgCopyFlags |= 1 << var; + sContestBgCopyFlags |= 1 << flagIndex; } void ResetContestLinkResults(void) @@ -5180,7 +5300,7 @@ void ResetContestLinkResults(void) s32 i; s32 j; - for(i = 0; i < 5; i++) + for(i = 0; i < CONTEST_CATEGORIES_COUNT; i++) for(j = 0; j < 4; j++) gSaveBlock2Ptr->contestLinkResults[i][j] = 0; } @@ -5190,7 +5310,7 @@ bool8 sub_80DEDA8(u8 a) s32 i; u8 r7 = Random() % 3; - for (i = 0; i < 3; i++) + for (i = 0; i < CONTESTANT_COUNT - 1; i++) { if (gContestFinalStandings[i] == 0) break; @@ -5224,7 +5344,7 @@ bool8 sub_80DEDA8(u8 a) gSaveBlock1Ptr->contestWinners[r4].trainerId = gContestMons[i].otId; StringCopy(gSaveBlock1Ptr->contestWinners[r4].monName, gContestMons[i].nickname); StringCopy(gSaveBlock1Ptr->contestWinners[r4].trainerName, gContestMons[i].trainerName); - if(gIsLinkContest & 1) + if(gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) gSaveBlock1Ptr->contestWinners[r4].contestRank = 4; else gSaveBlock1Ptr->contestWinners[r4].contestRank = gSpecialVar_ContestRank; @@ -5295,13 +5415,13 @@ static void sub_80DF080(u8 contestant) if (!gContestResources->field_10->excitementFrozen && gContestResources->field_10->bits_0 > 0 - && !gContestResources->field_4[contestant].disappointedRepeat) + && !eContestantStatus[contestant].disappointedRepeat) { gContestResources->field_1c[contestant].unkC |= 1; gContestResources->field_1c[contestant].unkE_2 = 1; } - if (gContestResources->field_4[contestant].nervous) + if (eContestantStatus[contestant].nervous) gContestResources->field_1c[contestant].unkC |= 2; if (!gContestResources->field_10->excitementFrozen @@ -5311,37 +5431,37 @@ static void sub_80DF080(u8 contestant) gContestResources->field_1c[contestant].unkC |= 4; } - if (gContestResources->field_4[contestant].unk15_6 - && gContestResources->field_4[contestant].unk16 != 0) + if (eContestantStatus[contestant].unk15_6 + && eContestantStatus[contestant].unk16 != 0) { gContestResources->field_1c[contestant].unkC |= 8; } for (i = 0; i < 4; i++) { - if (i != contestant && gContestResources->field_4[i].jam != 0) + if (i != contestant && eContestantStatus[i].jam != 0) { gContestResources->field_1c[contestant].unkC |= 0x10; gContestResources->field_1c[i].unkC |= 0x40; } } - if (gContestResources->field_4[contestant].numTurnsSkipped != 0 - || gContestResources->field_4[contestant].noMoreTurns) + if (eContestantStatus[contestant].numTurnsSkipped != 0 + || eContestantStatus[contestant].noMoreTurns) { gContestResources->field_1c[contestant].unkC |= 0x20; } - else if (!gContestResources->field_4[contestant].nervous) + else if (!eContestantStatus[contestant].nervous) { gContestResources->field_1c[contestant].unkC |= 0x80; gContestResources->field_1c[contestant].unkE_1 = 1; - gContestResources->field_1c[contestant].unk0[gContestResources->field_0->turnNumber] = gContestResources->field_4[contestant].currMove; + gContestResources->field_1c[contestant].unk0[eContest.turnNumber] = eContestantStatus[contestant].currMove; } - if (gContestResources->field_4[contestant].disappointedRepeat) + if (eContestantStatus[contestant].disappointedRepeat) gContestResources->field_1c[contestant].unkD |= 2; - if (gContestResources->field_0->applauseLevel == 4 + if (eContest.applauseLevel == 4 && !gContestResources->field_10->excitementFrozen && gContestResources->field_10->bits_0 < 0) { @@ -5373,7 +5493,7 @@ static void sub_80DF250(void) } gContestResources->field_1c[r1].unkD |= 1; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { if (i != var_38 && gUnknown_02039F08[var_38] - gUnknown_02039F08[i] <= 50) gContestResources->field_1c[i].unkD |= 4; @@ -5381,7 +5501,7 @@ static void sub_80DF250(void) if (!gContestResources->field_1c[i].unkE_2) gContestResources->field_1c[i].unkD |= 8; - for (j = 0; j < 4; j++) + for (j = 0; j < CONTESTANT_COUNT; j++) { if (gContestMonConditions[i] < gContestMonConditions[j]) break; @@ -5474,7 +5594,7 @@ static void sub_80DF4F8(void) return; r7 = 0; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { if (gContestFinalStandings[i] == 0) r7 = i; @@ -5482,7 +5602,7 @@ static void sub_80DF4F8(void) r9 = 0; r10 = 0; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { if (gContestMonConditions[r7] < gContestMonConditions[i]) r9++; @@ -5526,7 +5646,7 @@ static void sub_80DF4F8(void) } r5 = 1; - for (; i < 4; i++) + for (; i < CONTESTANT_COUNT; i++) { if (i != r7) { @@ -5561,32 +5681,32 @@ static void sub_80DF4F8(void) } // Unused -void sub_80DF704(u8 arg0) +void ContestDebugToggleBitfields(bool8 showUnkD) { - if (gHeap[0x1A000] == 0) + if (eContestDebugMode == CONTEST_DEBUG_MODE_OFF) { - if (arg0 == 0) - gHeap[0x1A000] = 2; + if (!showUnkD) + eContestDebugMode = CONTEST_DEBUG_MODE_PRINT_UNK_C; else - gHeap[0x1A000] = 3; + eContestDebugMode = CONTEST_DEBUG_MODE_PRINT_UNK_D; } else { - gHeap[0x1A000] = 0; + eContestDebugMode = CONTEST_DEBUG_MODE_OFF; } - if (gHeap[0x1A000] == 0) + if (eContestDebugMode == CONTEST_DEBUG_MODE_OFF) { - sub_80DAEA4(); - sub_80DB2BC(); + DrawContestantWindowText(); + SwapMoveDescAndContestTilemaps(); } else { - sub_80DF750(); + ContestDebugPrintBitStrings(); } } -static void sub_80DF750(void) +static void ContestDebugPrintBitStrings(void) { u8 i; s8 j; @@ -5595,20 +5715,21 @@ static void sub_80DF750(void) u8 *txtPtr; u32 bits; - if (gUnknown_020322D5 == 0) + if (!gEnableContestDebugging) return; - if (gHeap[0x1A000] != 2 && gHeap[0x1A000] != 3) + + if (eContestDebugMode != CONTEST_DEBUG_MODE_PRINT_UNK_C && eContestDebugMode != CONTEST_DEBUG_MODE_PRINT_UNK_D) return; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) FillWindowPixelBuffer(i, PIXEL_FILL(0)); - if (gHeap[0x1A000] == 2) + if (eContestDebugMode == CONTEST_DEBUG_MODE_PRINT_UNK_C) { - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { txtPtr = StringCopy(text1, gText_CDot); - Contest_PrintTextToBg0WindowAt(gUnknown_02039F26[i], text1, 5, 1, 7); + Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[i], text1, 5, 1, 7); bits = gContestResources->field_1c[i].unkC; for (j = 7; j > -1; j--) // Weird loop. { @@ -5620,13 +5741,13 @@ static void sub_80DF750(void) text2[j] = text1[j]; text2[j] = EOS; - Contest_PrintTextToBg0WindowAt(gUnknown_02039F26[i], text2, 5, 1, 7); - Contest_PrintTextToBg0WindowAt(gUnknown_02039F26[i], text1 + j, 55, 1, 7); + Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[i], text2, 5, 1, 7); + Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[i], text1 + j, 55, 1, 7); } } else { - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { StringCopy(text1, gText_BDot); bits = gContestResources->field_1c[i].unkD; @@ -5641,11 +5762,11 @@ static void sub_80DF750(void) text2[j] = text1[j]; text2[j] = EOS; - Contest_PrintTextToBg0WindowAt(gUnknown_02039F26[i], text2, 5, 1, 7); - Contest_PrintTextToBg0WindowAt(gUnknown_02039F26[i], text1 + j, 55, 1, 7); + Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[i], text2, 5, 1, 7); + Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[i], text1 + j, 55, 1, 7); } } - sub_80DB2BC(); + SwapMoveDescAndContestTilemaps(); } static u8 sub_80DF940(u8 *nickname) diff --git a/src/contest_ai.c b/src/contest_ai.c index 97e8c8f29c..723c503ab7 100644 --- a/src/contest_ai.c +++ b/src/contest_ai.c @@ -6,29 +6,29 @@ #include "contest_effect.h" extern const u8 *gAIScriptPtr; -extern const u8 *gContestAIs[]; +extern const u8 *gContestAIChecks[]; -static void ContestAICmd_unk_00(void); +static void ContestAICmd_score(void); static void ContestAICmd_get_turn(void); -static void ContestAICmd_unk_02(void); -static void ContestAICmd_unk_03(void); -static void ContestAICmd_unk_04(void); -static void ContestAICmd_unk_05(void); +static void ContestAICmd_if_turn_less_than(void); +static void ContestAICmd_if_turn_more_than(void); +static void ContestAICmd_if_turn_eq(void); +static void ContestAICmd_if_turn_not_eq(void); static void ContestAICmd_get_excitement(void); -static void ContestAICmd_unk_07(void); -static void ContestAICmd_unk_08(void); -static void ContestAICmd_unk_09(void); -static void ContestAICmd_unk_0A(void); +static void ContestAICmd_if_excitement_less_than(void); +static void ContestAICmd_if_excitement_more_than(void); +static void ContestAICmd_if_excitement_eq(void); +static void ContestAICmd_if_excitement_not_eq(void); static void ContestAICmd_get_user_order(void); -static void ContestAICmd_unk_0C(void); -static void ContestAICmd_unk_0D(void); -static void ContestAICmd_unk_0E(void); -static void ContestAICmd_unk_0F(void); -static void ContestAICmd_get_user_condition_maybe(void); -static void ContestAICmd_unk_11(void); -static void ContestAICmd_unk_12(void); -static void ContestAICmd_unk_13(void); -static void ContestAICmd_unk_14(void); +static void ContestAICmd_if_user_order_less_than(void); +static void ContestAICmd_if_user_order_more_than(void); +static void ContestAICmd_if_user_order_eq(void); +static void ContestAICmd_if_user_order_not_eq(void); +static void ContestAICmd_get_user_condition(void); +static void ContestAICmd_if_user_condition_less_than(void); +static void ContestAICmd_if_user_condition_more_than(void); +static void ContestAICmd_if_user_condition_eq(void); +static void ContestAICmd_if_user_condition_not_eq(void); static void ContestAICmd_unk_15(void); static void ContestAICmd_unk_16(void); static void ContestAICmd_unk_17(void); @@ -40,21 +40,21 @@ static void ContestAICmd_unk_1C(void); static void ContestAICmd_unk_1D(void); static void ContestAICmd_unk_1E(void); static void ContestAICmd_get_contest_type(void); -static void ContestAICmd_unk_20(void); -static void ContestAICmd_unk_21(void); +static void ContestAICmd_if_contest_type_eq(void); +static void ContestAICmd_if_contest_type_not_eq(void); static void ContestAICmd_get_move_excitement(void); -static void ContestAICmd_unk_23(void); -static void ContestAICmd_unk_24(void); -static void ContestAICmd_unk_25(void); -static void ContestAICmd_unk_26(void); +static void ContestAICmd_if_move_excitement_less_than(void); +static void ContestAICmd_if_move_excitement_greater_than(void); +static void ContestAICmd_if_move_excitement_eq(void); +static void ContestAICmd_if_move_excitement_not_eq(void); static void ContestAICmd_get_move_effect(void); -static void ContestAICmd_unk_28(void); -static void ContestAICmd_unk_29(void); +static void ContestAICmd_if_move_effect_eq(void); +static void ContestAICmd_if_move_effect_not_eq(void); static void ContestAICmd_get_move_effect_type(void); -static void ContestAICmd_unk_2B(void); -static void ContestAICmd_unk_2C(void); -static void ContestAICmd_check_move_has_highest_appeal(void); -static void ContestAICmd_unk_2E(void); +static void ContestAICmd_if_move_effect_type_eq(void); +static void ContestAICmd_if_move_effect_type_not_eq(void); +static void ContestAICmd_check_most_appealing_move(void); +static void ContestAICmd_if_most_appealing_move(void); static void ContestAICmd_unk_2F(void); static void ContestAICmd_unk_30(void); static void ContestAICmd_unk_31(void); @@ -68,35 +68,35 @@ static void ContestAICmd_unk_38(void); static void ContestAICmd_unk_39(void); static void ContestAICmd_unk_3A(void); static void ContestAICmd_get_move_used_count(void); -static void ContestAICmd_unk_3C(void); -static void ContestAICmd_unk_3D(void); -static void ContestAICmd_unk_3E(void); -static void ContestAICmd_unk_3F(void); +static void ContestAICmd_if_most_used_count_less_than(void); +static void ContestAICmd_if_most_used_count_more_than(void); +static void ContestAICmd_if_most_used_count_eq(void); +static void ContestAICmd_if_most_used_count_not_eq(void); static void ContestAICmd_check_combo_starter(void); -static void ContestAICmd_unk_41(void); -static void ContestAICmd_unk_42(void); +static void ContestAICmd_if_combo_starter(void); +static void ContestAICmd_if_not_combo_starter(void); static void ContestAICmd_check_combo_finisher(void); -static void ContestAICmd_unk_44(void); -static void ContestAICmd_unk_45(void); +static void ContestAICmd_if_combo_finisher(void); +static void ContestAICmd_if_not_combo_finisher(void); static void ContestAICmd_check_would_finish_combo(void); -static void ContestAICmd_unk_47(void); -static void ContestAICmd_unk_48(void); +static void ContestAICmd_if_would_finish_combo(void); +static void ContestAICmd_if_would_not_finish_combo(void); static void ContestAICmd_get_condition(void); -static void ContestAICmd_unk_4A(void); -static void ContestAICmd_unk_4B(void); -static void ContestAICmd_unk_4C(void); -static void ContestAICmd_unk_4D(void); +static void ContestAICmd_if_condition_less_than(void); +static void ContestAICmd_if_condition_more_than(void); +static void ContestAICmd_if_condition_eq(void); +static void ContestAICmd_if_condition_not_eq(void); static void ContestAICmd_get_used_combo_starter(void); -static void ContestAICmd_unk_4F(void); -static void ContestAICmd_unk_50(void); -static void ContestAICmd_unk_51(void); -static void ContestAICmd_unk_52(void); +static void ContestAICmd_if_used_combo_starter_less_than(void); +static void ContestAICmd_if_used_combo_starter_more_than(void); +static void ContestAICmd_if_used_combo_starter_eq(void); +static void ContestAICmd_if_used_combo_starter_not_eq(void); static void ContestAICmd_check_can_participate(void); -static void ContestAICmd_unk_54(void); -static void ContestAICmd_unk_55(void); +static void ContestAICmd_if_can_participate(void); +static void ContestAICmd_if_cannot_participate(void); static void ContestAICmd_get_val_812A188(void); static void ContestAICmd_unk_57(void); -static void ContestAICmd_unk_58(void); +static void ContestAICmd_contest_58(void); static void ContestAICmd_unk_59(void); static void ContestAICmd_unk_5A(void); static void ContestAICmd_unk_5B(void); @@ -133,158 +133,158 @@ static void ContestAICmd_unk_79(void); static void ContestAICmd_unk_7A(void); static void ContestAICmd_unk_7B(void); static void ContestAICmd_unk_7C(void); -static void ContestAICmd_unk_7D(void); +static void ContestAICmd_if_random(void); static void ContestAICmd_unk_7E(void); -static void ContestAICmd_unk_7F(void); -static void ContestAICmd_unk_80(void); -static void ContestAICmd_unk_81(void); -static void ContestAICmd_check_for_exciting_move(void); -static void ContestAICmd_unk_83(void); -static void ContestAICmd_unk_84(void); +static void ContestAICmd_jump(void); +static void ContestAICmd_call(void); +static void ContestAICmd_end(void); +static void ContestAICmd_check_user_has_exciting_move(void); +static void ContestAICmd_if_user_has_exciting_move(void); +static void ContestAICmd_if_user_doesnt_have_exciting_move(void); static void ContestAICmd_unk_85(void); static void ContestAICmd_unk_86(void); -static void ContestAICmd_unk_87(void); +static void ContestAICmd_if_effect_in_user_moveset(void); typedef void (* ContestAICmdFunc)(void); static const ContestAICmdFunc sContestAICmdTable[] = { - ContestAICmd_unk_00, // 0x00 - ContestAICmd_get_turn, // 0x01 - ContestAICmd_unk_02, // 0x02 - ContestAICmd_unk_03, // 0x03 - ContestAICmd_unk_04, // 0x04 - ContestAICmd_unk_05, // 0x05 - ContestAICmd_get_excitement, // 0x06 - ContestAICmd_unk_07, // 0x07 - ContestAICmd_unk_08, // 0x08 - ContestAICmd_unk_09, // 0x09 - ContestAICmd_unk_0A, // 0x0A - ContestAICmd_get_user_order, // 0x0B - ContestAICmd_unk_0C, // 0x0C - ContestAICmd_unk_0D, // 0x0D - ContestAICmd_unk_0E, // 0x0E - ContestAICmd_unk_0F, // 0x0F - ContestAICmd_get_user_condition_maybe, // 0x10 - ContestAICmd_unk_11, // 0x11 - ContestAICmd_unk_12, // 0x12 - ContestAICmd_unk_13, // 0x13 - ContestAICmd_unk_14, // 0x14 - ContestAICmd_unk_15, // 0x15 - ContestAICmd_unk_16, // 0x16 - ContestAICmd_unk_17, // 0x17 - ContestAICmd_unk_18, // 0x18 - ContestAICmd_unk_19, // 0x19 - ContestAICmd_unk_1A, // 0x1A - ContestAICmd_unk_1B, // 0x1B - ContestAICmd_unk_1C, // 0x1C - ContestAICmd_unk_1D, // 0x1D - ContestAICmd_unk_1E, // 0x1E - ContestAICmd_get_contest_type, // 0x1F - ContestAICmd_unk_20, // 0x20 - ContestAICmd_unk_21, // 0x21 - ContestAICmd_get_move_excitement, // 0x22 - ContestAICmd_unk_23, // 0x23 - ContestAICmd_unk_24, // 0x24 - ContestAICmd_unk_25, // 0x25 - ContestAICmd_unk_26, // 0x26 - ContestAICmd_get_move_effect, // 0x27 - ContestAICmd_unk_28, // 0x28 - ContestAICmd_unk_29, // 0x29 - ContestAICmd_get_move_effect_type, // 0x2A - ContestAICmd_unk_2B, // 0x2B - ContestAICmd_unk_2C, // 0x2C - ContestAICmd_check_move_has_highest_appeal, // 0x2D - ContestAICmd_unk_2E, // 0x2E - ContestAICmd_unk_2F, // 0x2F - ContestAICmd_unk_30, // 0x30 - ContestAICmd_unk_31, // 0x31 - ContestAICmd_unk_32, // 0x32 - ContestAICmd_unk_33, // 0x33 - ContestAICmd_unk_34, // 0x34 - ContestAICmd_unk_35, // 0x35 - ContestAICmd_unk_36, // 0x36 - ContestAICmd_unk_37, // 0x37 - ContestAICmd_unk_38, // 0x38 - ContestAICmd_unk_39, // 0x39 - ContestAICmd_unk_3A, // 0x3A - ContestAICmd_get_move_used_count, // 0x3B - ContestAICmd_unk_3C, // 0x3C - ContestAICmd_unk_3D, // 0x3D - ContestAICmd_unk_3E, // 0x3E - ContestAICmd_unk_3F, // 0x3F - ContestAICmd_check_combo_starter, // 0x40 - ContestAICmd_unk_41, // 0x41 - ContestAICmd_unk_42, // 0x42 - ContestAICmd_check_combo_finisher, // 0x43 - ContestAICmd_unk_44, // 0x44 - ContestAICmd_unk_45, // 0x45 - ContestAICmd_check_would_finish_combo, // 0x46 - ContestAICmd_unk_47, // 0x47 - ContestAICmd_unk_48, // 0x48 - ContestAICmd_get_condition, // 0x49 - ContestAICmd_unk_4A, // 0x4A - ContestAICmd_unk_4B, // 0x4B - ContestAICmd_unk_4C, // 0x4C - ContestAICmd_unk_4D, // 0x4D - ContestAICmd_get_used_combo_starter, // 0x4E - ContestAICmd_unk_4F, // 0x4F - ContestAICmd_unk_50, // 0x50 - ContestAICmd_unk_51, // 0x51 - ContestAICmd_unk_52, // 0x52 - ContestAICmd_check_can_participate, // 0x53 - ContestAICmd_unk_54, // 0x54 - ContestAICmd_unk_55, // 0x55 - ContestAICmd_get_val_812A188, // 0x56 - ContestAICmd_unk_57, // 0x57 - ContestAICmd_unk_58, // 0x58 - ContestAICmd_unk_59, // 0x59 - ContestAICmd_unk_5A, // 0x5A - ContestAICmd_unk_5B, // 0x5B - ContestAICmd_unk_5C, // 0x5C - ContestAICmd_unk_5D, // 0x5D - ContestAICmd_unk_5E, // 0x5E - ContestAICmd_unk_5F, // 0x5F - ContestAICmd_unk_60, // 0x60 - ContestAICmd_unk_61, // 0x61 - ContestAICmd_unk_62, // 0x62 - ContestAICmd_unk_63, // 0x63 - ContestAICmd_unk_64, // 0x64 - ContestAICmd_unk_65, // 0x65 - ContestAICmd_unk_66, // 0x66 - ContestAICmd_unk_67, // 0x67 - ContestAICmd_unk_68, // 0x68 - ContestAICmd_unk_69, // 0x69 - ContestAICmd_unk_6A, // 0x6A - ContestAICmd_unk_6B, // 0x6B - ContestAICmd_unk_6C, // 0x6C - ContestAICmd_unk_6D, // 0x6D - ContestAICmd_unk_6E, // 0x6E - ContestAICmd_unk_6F, // 0x6F - ContestAICmd_unk_70, // 0x70 - ContestAICmd_unk_71, // 0x71 - ContestAICmd_unk_72, // 0x72 - ContestAICmd_unk_73, // 0x73 - ContestAICmd_unk_74, // 0x74 - ContestAICmd_unk_75, // 0x75 - ContestAICmd_unk_76, // 0x76 - ContestAICmd_unk_77, // 0x77 - ContestAICmd_unk_78, // 0x78 - ContestAICmd_unk_79, // 0x79 - ContestAICmd_unk_7A, // 0x7A - ContestAICmd_unk_7B, // 0x7B - ContestAICmd_unk_7C, // 0x7C - ContestAICmd_unk_7D, // 0x7D - ContestAICmd_unk_7E, // 0x7E - ContestAICmd_unk_7F, // 0x7F - ContestAICmd_unk_80, // 0x80 - ContestAICmd_unk_81, // 0x81 - ContestAICmd_check_for_exciting_move, // 0x82 - ContestAICmd_unk_83, // 0x83 - ContestAICmd_unk_84, // 0x84 - ContestAICmd_unk_85, // 0x85 - ContestAICmd_unk_86, // 0x86 - ContestAICmd_unk_87, // 0x87 + ContestAICmd_score, // 0x00 + ContestAICmd_get_turn, // 0x01 + ContestAICmd_if_turn_less_than, // 0x02 + ContestAICmd_if_turn_more_than, // 0x03 + ContestAICmd_if_turn_eq, // 0x04 + ContestAICmd_if_turn_not_eq, // 0x05 + ContestAICmd_get_excitement, // 0x06 + ContestAICmd_if_excitement_less_than, // 0x07 + ContestAICmd_if_excitement_more_than, // 0x08 + ContestAICmd_if_excitement_eq, // 0x09 + ContestAICmd_if_excitement_not_eq, // 0x0A + ContestAICmd_get_user_order, // 0x0B + ContestAICmd_if_user_order_less_than, // 0x0C + ContestAICmd_if_user_order_more_than, // 0x0D + ContestAICmd_if_user_order_eq, // 0x0E + ContestAICmd_if_user_order_not_eq, // 0x0F + ContestAICmd_get_user_condition, // 0x10 + ContestAICmd_if_user_condition_less_than, // 0x11 + ContestAICmd_if_user_condition_more_than, // 0x12 + ContestAICmd_if_user_condition_eq, // 0x13 + ContestAICmd_if_user_condition_not_eq, // 0x14 + ContestAICmd_unk_15, // 0x15 + ContestAICmd_unk_16, // 0x16 + ContestAICmd_unk_17, // 0x17 + ContestAICmd_unk_18, // 0x18 + ContestAICmd_unk_19, // 0x19 + ContestAICmd_unk_1A, // 0x1A + ContestAICmd_unk_1B, // 0x1B + ContestAICmd_unk_1C, // 0x1C + ContestAICmd_unk_1D, // 0x1D + ContestAICmd_unk_1E, // 0x1E + ContestAICmd_get_contest_type, // 0x1F + ContestAICmd_if_contest_type_eq, // 0x20 + ContestAICmd_if_contest_type_not_eq, // 0x21 + ContestAICmd_get_move_excitement, // 0x22 + ContestAICmd_if_move_excitement_less_than, // 0x23 + ContestAICmd_if_move_excitement_greater_than, // 0x24 + ContestAICmd_if_move_excitement_eq, // 0x25 + ContestAICmd_if_move_excitement_not_eq, // 0x26 + ContestAICmd_get_move_effect, // 0x27 + ContestAICmd_if_move_effect_eq, // 0x28 + ContestAICmd_if_move_effect_not_eq, // 0x29 + ContestAICmd_get_move_effect_type, // 0x2A + ContestAICmd_if_move_effect_type_eq, // 0x2B + ContestAICmd_if_move_effect_type_not_eq, // 0x2C + ContestAICmd_check_most_appealing_move, // 0x2D + ContestAICmd_if_most_appealing_move, // 0x2E + ContestAICmd_unk_2F, // 0x2F + ContestAICmd_unk_30, // 0x30 + ContestAICmd_unk_31, // 0x31 + ContestAICmd_unk_32, // 0x32 + ContestAICmd_unk_33, // 0x33 + ContestAICmd_unk_34, // 0x34 + ContestAICmd_unk_35, // 0x35 + ContestAICmd_unk_36, // 0x36 + ContestAICmd_unk_37, // 0x37 + ContestAICmd_unk_38, // 0x38 + ContestAICmd_unk_39, // 0x39 + ContestAICmd_unk_3A, // 0x3A + ContestAICmd_get_move_used_count, // 0x3B + ContestAICmd_if_most_used_count_less_than, // 0x3C + ContestAICmd_if_most_used_count_more_than, // 0x3D + ContestAICmd_if_most_used_count_eq, // 0x3E + ContestAICmd_if_most_used_count_not_eq, // 0x3F + ContestAICmd_check_combo_starter, // 0x40 + ContestAICmd_if_combo_starter, // 0x41 + ContestAICmd_if_not_combo_starter, // 0x42 + ContestAICmd_check_combo_finisher, // 0x43 + ContestAICmd_if_combo_finisher, // 0x44 + ContestAICmd_if_not_combo_finisher, // 0x45 + ContestAICmd_check_would_finish_combo, // 0x46 + ContestAICmd_if_would_finish_combo, // 0x47 + ContestAICmd_if_would_not_finish_combo, // 0x48 + ContestAICmd_get_condition, // 0x49 + ContestAICmd_if_condition_less_than, // 0x4A + ContestAICmd_if_condition_more_than, // 0x4B + ContestAICmd_if_condition_eq, // 0x4C + ContestAICmd_if_condition_not_eq, // 0x4D + ContestAICmd_get_used_combo_starter, // 0x4E + ContestAICmd_if_used_combo_starter_less_than, // 0x4F + ContestAICmd_if_used_combo_starter_more_than, // 0x50 + ContestAICmd_if_used_combo_starter_eq, // 0x51 + ContestAICmd_if_used_combo_starter_not_eq, // 0x52 + ContestAICmd_check_can_participate, // 0x53 + ContestAICmd_if_can_participate, // 0x54 + ContestAICmd_if_cannot_participate, // 0x55 + ContestAICmd_get_val_812A188, // 0x56 + ContestAICmd_unk_57, // 0x57 + ContestAICmd_contest_58, // 0x58 + ContestAICmd_unk_59, // 0x59 + ContestAICmd_unk_5A, // 0x5A + ContestAICmd_unk_5B, // 0x5B + ContestAICmd_unk_5C, // 0x5C + ContestAICmd_unk_5D, // 0x5D + ContestAICmd_unk_5E, // 0x5E + ContestAICmd_unk_5F, // 0x5F + ContestAICmd_unk_60, // 0x60 + ContestAICmd_unk_61, // 0x61 + ContestAICmd_unk_62, // 0x62 + ContestAICmd_unk_63, // 0x63 + ContestAICmd_unk_64, // 0x64 + ContestAICmd_unk_65, // 0x65 + ContestAICmd_unk_66, // 0x66 + ContestAICmd_unk_67, // 0x67 + ContestAICmd_unk_68, // 0x68 + ContestAICmd_unk_69, // 0x69 + ContestAICmd_unk_6A, // 0x6A + ContestAICmd_unk_6B, // 0x6B + ContestAICmd_unk_6C, // 0x6C + ContestAICmd_unk_6D, // 0x6D + ContestAICmd_unk_6E, // 0x6E + ContestAICmd_unk_6F, // 0x6F + ContestAICmd_unk_70, // 0x70 + ContestAICmd_unk_71, // 0x71 + ContestAICmd_unk_72, // 0x72 + ContestAICmd_unk_73, // 0x73 + ContestAICmd_unk_74, // 0x74 + ContestAICmd_unk_75, // 0x75 + ContestAICmd_unk_76, // 0x76 + ContestAICmd_unk_77, // 0x77 + ContestAICmd_unk_78, // 0x78 + ContestAICmd_unk_79, // 0x79 + ContestAICmd_unk_7A, // 0x7A + ContestAICmd_unk_7B, // 0x7B + ContestAICmd_unk_7C, // 0x7C + ContestAICmd_if_random, // 0x7D + ContestAICmd_unk_7E, // 0x7E + ContestAICmd_jump, // 0x7F + ContestAICmd_call, // 0x80 + ContestAICmd_end, // 0x81 + ContestAICmd_check_user_has_exciting_move, // 0x82 + ContestAICmd_if_user_has_exciting_move, // 0x83 + ContestAICmd_if_user_doesnt_have_exciting_move, // 0x84 + ContestAICmd_unk_85, // 0x85 + ContestAICmd_unk_86, // 0x86 + ContestAICmd_if_effect_in_user_moveset, // 0x87 }; static void ContestAI_DoAIProcessing(void); @@ -295,38 +295,38 @@ static u8 AIStackPop(void); void ContestAI_ResetAI(u8 contestantAI) { int i; - memset(eContestAI, 0, sizeof(struct ContestAIInfo)); + memset(&eContestAI, 0, sizeof(struct ContestAIInfo)); for (i = 0; i < 4; i++) - eContestAI->unk5[i] = 100; + eContestAI.unk5[i] = 100; - eContestAI->contestantId = contestantAI; - eContestAI->stackSize = 0; - eContestAI->flags = gContestMons[eContestAI->contestantId].flags; + eContestAI.contestantId = contestantAI; + eContestAI.stackSize = 0; + eContestAI.aiChecks = gContestMons[eContestAI.contestantId].aiChecks; } u8 ContestAI_GetActionToUse(void) { - while (eContestAI->flags != 0) + while (eContestAI.aiChecks != 0) { - if (eContestAI->flags & 1) + if (eContestAI.aiChecks & 1) { - eContestAI->aiState = 0; + eContestAI.aiState = CONTESTAI_SETTING_UP; ContestAI_DoAIProcessing(); } - eContestAI->flags >>= 1; - eContestAI->unk10++; - eContestAI->unk4 = 0; + eContestAI.aiChecks >>= 1; + eContestAI.currentAICheck++; + eContestAI.nextMoveIndex = 0; } while (1) { u8 rval = Random() & 3; - u8 r2 = eContestAI->unk5[rval]; + u8 r2 = eContestAI.unk5[rval]; int i; for (i = 0; i < 4; i++) { - if (r2 < eContestAI->unk5[i]) + if (r2 < eContestAI.unk5[i]) break; } if (i == 4) @@ -336,37 +336,40 @@ u8 ContestAI_GetActionToUse(void) static void ContestAI_DoAIProcessing(void) { - while (eContestAI->aiState != CONTESTAI_FINISHED) + while (eContestAI.aiState != CONTESTAI_FINISHED) { - switch(eContestAI->aiState) + switch(eContestAI.aiState) { case CONTESTAI_DO_NOT_PROCESS: break; case CONTESTAI_SETTING_UP: - gAIScriptPtr = gContestAIs[eContestAI->unk10]; + gAIScriptPtr = gContestAIChecks[eContestAI.currentAICheck]; - if (gContestMons[eContestAI->contestantId].moves[eContestAI->unk4] == 0) - eContestAI->unk2 = 0; // don't process a move that doesn't exist. + if (gContestMons[eContestAI.contestantId].moves[eContestAI.nextMoveIndex] == 0) + eContestAI.nextMove = 0; // don't process a move that doesn't exist. else - eContestAI->unk2 = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; - eContestAI->aiState++; + eContestAI.nextMove = gContestMons[eContestAI.contestantId].moves[eContestAI.nextMoveIndex]; + eContestAI.aiState++; break; case CONTESTAI_PROCESSING: - if (eContestAI->unk2 != 0) + if (eContestAI.nextMove != 0) + { sContestAICmdTable[*gAIScriptPtr](); // run the command. + } else { - eContestAI->unk5[eContestAI->unk4] = 0; // don't consider a move that doesn't exist. - eContestAI->aiAction |= 1; + eContestAI.unk5[eContestAI.nextMoveIndex] = 0; // don't consider a move that doesn't exist. + eContestAI.aiAction |= 1; } - if (eContestAI->aiAction & 1) + if (eContestAI.aiAction & 1) { - eContestAI->unk4++; - if (eContestAI->unk4 < 4) - eContestAI->aiState = 0; + eContestAI.nextMoveIndex++; + if (eContestAI.nextMoveIndex < 4) + eContestAI.aiState = 0; else - eContestAI->aiState++; - eContestAI->aiAction &= 0xFE; // TODO: Define action flags + // aiState = CONTESTAI_FINISHED + eContestAI.aiState++; + eContestAI.aiAction &= 0xFE; // TODO: Define action flags } break; } @@ -378,67 +381,67 @@ static u8 sub_81563B0(u8 var) int i; for (i = 0; i < 4; i++) - if (shared192D0.turnOrder[i] == var) + if (eContestResources8.turnOrder[i] == var) break; return i; } -static void ContestAICmd_unk_00(void) +static void ContestAICmd_score(void) { - s16 score = eContestAI->unk5[eContestAI->unk4] + (s8)gAIScriptPtr[1]; + s16 score = eContestAI.unk5[eContestAI.nextMoveIndex] + (s8)gAIScriptPtr[1]; if (score > 255) score = 255; else if (score < 0) score = 0; - eContestAI->unk5[eContestAI->unk4] = score; + eContestAI.unk5[eContestAI.nextMoveIndex] = score; gAIScriptPtr += 2; } static void ContestAICmd_get_turn(void) { - eContestAI->scriptResult = sContest.turnNumber; + eContestAI.scriptResult = eContest.turnNumber; gAIScriptPtr += 1; } -static void ContestAICmd_unk_02(void) +static void ContestAICmd_if_turn_less_than(void) { ContestAICmd_get_turn(); - if (eContestAI->scriptResult < gAIScriptPtr[0]) + if (eContestAI.scriptResult < gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_03(void) +static void ContestAICmd_if_turn_more_than(void) { ContestAICmd_get_turn(); - if (eContestAI->scriptResult > gAIScriptPtr[0]) + if (eContestAI.scriptResult > gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_04(void) +static void ContestAICmd_if_turn_eq(void) { ContestAICmd_get_turn(); - if (eContestAI->scriptResult == gAIScriptPtr[0]) + if (eContestAI.scriptResult == gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_05(void) +static void ContestAICmd_if_turn_not_eq(void) { ContestAICmd_get_turn(); - if (eContestAI->scriptResult != gAIScriptPtr[0]) + if (eContestAI.scriptResult != gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -446,45 +449,45 @@ static void ContestAICmd_unk_05(void) static void ContestAICmd_get_excitement(void) { - eContestAI->scriptResult = sContest.applauseLevel; + eContestAI.scriptResult = eContest.applauseLevel; gAIScriptPtr += 1; } -static void ContestAICmd_unk_07(void) +static void ContestAICmd_if_excitement_less_than(void) { ContestAICmd_get_excitement(); - if (eContestAI->scriptResult < gAIScriptPtr[0]) + if (eContestAI.scriptResult < gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_08(void) +static void ContestAICmd_if_excitement_more_than(void) { ContestAICmd_get_excitement(); - if (eContestAI->scriptResult > gAIScriptPtr[0]) + if (eContestAI.scriptResult > gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_09(void) +static void ContestAICmd_if_excitement_eq(void) { ContestAICmd_get_excitement(); - if (eContestAI->scriptResult == gAIScriptPtr[0]) + if (eContestAI.scriptResult == gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_0A(void) +static void ContestAICmd_if_excitement_not_eq(void) { ContestAICmd_get_excitement(); - if (eContestAI->scriptResult != gAIScriptPtr[0]) + if (eContestAI.scriptResult != gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -492,91 +495,91 @@ static void ContestAICmd_unk_0A(void) static void ContestAICmd_get_user_order(void) { - eContestAI->scriptResult = shared192D0.turnOrder[eContestAI->contestantId]; + eContestAI.scriptResult = eContestResources8.turnOrder[eContestAI.contestantId]; gAIScriptPtr += 1; } -static void ContestAICmd_unk_0C(void) +static void ContestAICmd_if_user_order_less_than(void) { ContestAICmd_get_user_order(); - if (eContestAI->scriptResult < gAIScriptPtr[0]) + if (eContestAI.scriptResult < gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_0D(void) +static void ContestAICmd_if_user_order_more_than(void) { ContestAICmd_get_user_order(); - if (eContestAI->scriptResult > gAIScriptPtr[0]) + if (eContestAI.scriptResult > gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_0E(void) +static void ContestAICmd_if_user_order_eq(void) { ContestAICmd_get_user_order(); - if (eContestAI->scriptResult == gAIScriptPtr[0]) + if (eContestAI.scriptResult == gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_0F(void) +static void ContestAICmd_if_user_order_not_eq(void) { ContestAICmd_get_user_order(); - if (eContestAI->scriptResult != gAIScriptPtr[0]) + if (eContestAI.scriptResult != gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_get_user_condition_maybe(void) +static void ContestAICmd_get_user_condition(void) { - eContestAI->scriptResult = sContestantStatus[eContestAI->contestantId].condition / 10; + eContestAI.scriptResult = eContestantStatus[eContestAI.contestantId].condition / 10; gAIScriptPtr += 1; } -static void ContestAICmd_unk_11(void) +static void ContestAICmd_if_user_condition_less_than(void) { - ContestAICmd_get_user_condition_maybe(); + ContestAICmd_get_user_condition(); - if (eContestAI->scriptResult < gAIScriptPtr[0]) + if (eContestAI.scriptResult < gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_12(void) +static void ContestAICmd_if_user_condition_more_than(void) { - ContestAICmd_get_user_condition_maybe(); + ContestAICmd_get_user_condition(); - if (eContestAI->scriptResult > gAIScriptPtr[0]) + if (eContestAI.scriptResult > gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_13(void) +static void ContestAICmd_if_user_condition_eq(void) { - ContestAICmd_get_user_condition_maybe(); + ContestAICmd_get_user_condition(); - if (eContestAI->scriptResult == gAIScriptPtr[0]) + if (eContestAI.scriptResult == gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_14(void) +static void ContestAICmd_if_user_condition_not_eq(void) { - ContestAICmd_get_user_condition_maybe(); + ContestAICmd_get_user_condition(); - if (eContestAI->scriptResult != gAIScriptPtr[0]) + if (eContestAI.scriptResult != gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -584,7 +587,7 @@ static void ContestAICmd_unk_14(void) static void ContestAICmd_unk_15(void) { - eContestAI->scriptResult = sContestantStatus[eContestAI->contestantId].unk4; + eContestAI.scriptResult = eContestantStatus[eContestAI.contestantId].pointTotal; gAIScriptPtr += 1; } @@ -592,7 +595,7 @@ static void ContestAICmd_unk_16(void) { ContestAICmd_unk_15(); - if (eContestAI->scriptResult < (s16)T1_READ_16(gAIScriptPtr + 0)) + if (eContestAI.scriptResult < (s16)T1_READ_16(gAIScriptPtr + 0)) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; @@ -602,7 +605,7 @@ static void ContestAICmd_unk_17(void) { ContestAICmd_unk_15(); - if (eContestAI->scriptResult > (s16)T1_READ_16(gAIScriptPtr + 0)) + if (eContestAI.scriptResult > (s16)T1_READ_16(gAIScriptPtr + 0)) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; @@ -612,7 +615,7 @@ static void ContestAICmd_unk_18(void) { ContestAICmd_unk_15(); - if (eContestAI->scriptResult == (s16)T1_READ_16(gAIScriptPtr + 0)) + if (eContestAI.scriptResult == (s16)T1_READ_16(gAIScriptPtr + 0)) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; @@ -622,7 +625,7 @@ static void ContestAICmd_unk_19(void) { ContestAICmd_unk_15(); - if (eContestAI->scriptResult != (s16)T1_READ_16(gAIScriptPtr + 0)) + if (eContestAI.scriptResult != (s16)T1_READ_16(gAIScriptPtr + 0)) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; @@ -630,7 +633,7 @@ static void ContestAICmd_unk_19(void) static void ContestAICmd_unk_1A(void) { - eContestAI->scriptResult = gContestMonConditions[eContestAI->contestantId]; + eContestAI.scriptResult = gContestMonConditions[eContestAI.contestantId]; gAIScriptPtr += 1; } @@ -638,7 +641,7 @@ static void ContestAICmd_unk_1B(void) { ContestAICmd_unk_1A(); - if (eContestAI->scriptResult < (s16)T1_READ_16(gAIScriptPtr + 0)) + if (eContestAI.scriptResult < (s16)T1_READ_16(gAIScriptPtr + 0)) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; @@ -648,7 +651,7 @@ static void ContestAICmd_unk_1C(void) { ContestAICmd_unk_1A(); - if (eContestAI->scriptResult > (s16)T1_READ_16(gAIScriptPtr + 0)) + if (eContestAI.scriptResult > (s16)T1_READ_16(gAIScriptPtr + 0)) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; @@ -658,7 +661,7 @@ static void ContestAICmd_unk_1D(void) { ContestAICmd_unk_1A(); - if (eContestAI->scriptResult == (s16)T1_READ_16(gAIScriptPtr + 0)) + if (eContestAI.scriptResult == (s16)T1_READ_16(gAIScriptPtr + 0)) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; @@ -668,7 +671,7 @@ static void ContestAICmd_unk_1E(void) { ContestAICmd_unk_1A(); - if (eContestAI->scriptResult != (s16)T1_READ_16(gAIScriptPtr + 0)) + if (eContestAI.scriptResult != (s16)T1_READ_16(gAIScriptPtr + 0)) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; @@ -676,25 +679,25 @@ static void ContestAICmd_unk_1E(void) static void ContestAICmd_get_contest_type(void) { - eContestAI->scriptResult = gSpecialVar_ContestCategory; + eContestAI.scriptResult = gSpecialVar_ContestCategory; gAIScriptPtr += 1; } -static void ContestAICmd_unk_20(void) +static void ContestAICmd_if_contest_type_eq(void) { ContestAICmd_get_contest_type(); - if (eContestAI->scriptResult == gAIScriptPtr[0]) + if (eContestAI.scriptResult == gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_21(void) +static void ContestAICmd_if_contest_type_not_eq(void) { ContestAICmd_get_contest_type(); - if (eContestAI->scriptResult != gAIScriptPtr[0]) + if (eContestAI.scriptResult != gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -702,45 +705,45 @@ static void ContestAICmd_unk_21(void) static void ContestAICmd_get_move_excitement(void) { - eContestAI->scriptResult = Contest_GetMoveExcitement(gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]); + eContestAI.scriptResult = Contest_GetMoveExcitement(gContestMons[eContestAI.contestantId].moves[eContestAI.nextMoveIndex]); gAIScriptPtr += 1; } -static void ContestAICmd_unk_23(void) +static void ContestAICmd_if_move_excitement_less_than(void) { ContestAICmd_get_move_excitement(); - if (eContestAI->scriptResult < (s8)gAIScriptPtr[0]) + if (eContestAI.scriptResult < (s8)gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_24(void) +static void ContestAICmd_if_move_excitement_greater_than(void) { ContestAICmd_get_move_excitement(); - if (eContestAI->scriptResult > (s8)gAIScriptPtr[0]) + if (eContestAI.scriptResult > (s8)gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_25(void) +static void ContestAICmd_if_move_excitement_eq(void) { ContestAICmd_get_move_excitement(); - if (eContestAI->scriptResult == (s8)gAIScriptPtr[0]) + if (eContestAI.scriptResult == (s8)gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_26(void) +static void ContestAICmd_if_move_excitement_not_eq(void) { ContestAICmd_get_move_excitement(); - if (eContestAI->scriptResult != (s8)gAIScriptPtr[0]) + if (eContestAI.scriptResult != (s8)gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -748,27 +751,27 @@ static void ContestAICmd_unk_26(void) static void ContestAICmd_get_move_effect(void) { - u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; + u16 move = gContestMons[eContestAI.contestantId].moves[eContestAI.nextMoveIndex]; - eContestAI->scriptResult = gContestMoves[move].effect; + eContestAI.scriptResult = gContestMoves[move].effect; gAIScriptPtr += 1; } -static void ContestAICmd_unk_28(void) +static void ContestAICmd_if_move_effect_eq(void) { ContestAICmd_get_move_effect(); - if (eContestAI->scriptResult == gAIScriptPtr[0]) + if (eContestAI.scriptResult == gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_29(void) +static void ContestAICmd_if_move_effect_not_eq(void) { ContestAICmd_get_move_effect(); - if (eContestAI->scriptResult != gAIScriptPtr[0]) + if (eContestAI.scriptResult != gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -776,58 +779,58 @@ static void ContestAICmd_unk_29(void) static void ContestAICmd_get_move_effect_type(void) { - u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; + u16 move = gContestMons[eContestAI.contestantId].moves[eContestAI.nextMoveIndex]; - eContestAI->scriptResult = gContestEffects[gContestMoves[move].effect].effectType; + eContestAI.scriptResult = gContestEffects[gContestMoves[move].effect].effectType; gAIScriptPtr += 1; } -static void ContestAICmd_unk_2B(void) +static void ContestAICmd_if_move_effect_type_eq(void) { ContestAICmd_get_move_effect_type(); - if (eContestAI->scriptResult == gAIScriptPtr[0]) + if (eContestAI.scriptResult == gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_2C(void) +static void ContestAICmd_if_move_effect_type_not_eq(void) { ContestAICmd_get_move_effect_type(); - if (eContestAI->scriptResult != gAIScriptPtr[0]) + if (eContestAI.scriptResult != gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_check_move_has_highest_appeal(void) +static void ContestAICmd_check_most_appealing_move(void) { int i; - u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; + u16 move = gContestMons[eContestAI.contestantId].moves[eContestAI.nextMoveIndex]; u8 appeal = gContestEffects[gContestMoves[move].effect].appeal; for (i = 0; i < MAX_MON_MOVES; i++) { - u16 newMove = gContestMons[eContestAI->contestantId].moves[i]; + u16 newMove = gContestMons[eContestAI.contestantId].moves[i]; if (newMove != 0 && appeal < gContestEffects[gContestMoves[newMove].effect].appeal) break; } if (i == MAX_MON_MOVES) - eContestAI->scriptResult = TRUE; + eContestAI.scriptResult = TRUE; else - eContestAI->scriptResult = FALSE; + eContestAI.scriptResult = FALSE; gAIScriptPtr += 1; } -static void ContestAICmd_unk_2E(void) +static void ContestAICmd_if_most_appealing_move(void) { - ContestAICmd_check_move_has_highest_appeal(); + ContestAICmd_check_most_appealing_move(); - if (eContestAI->scriptResult != FALSE) + if (eContestAI.scriptResult != FALSE) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; @@ -836,20 +839,20 @@ static void ContestAICmd_unk_2E(void) static void ContestAICmd_unk_2F(void) { int i; - u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; + u16 move = gContestMons[eContestAI.contestantId].moves[eContestAI.nextMoveIndex]; u8 jam = gContestEffects[gContestMoves[move].effect].jam; for (i = 0; i < MAX_MON_MOVES; i++) { - u16 newMove = gContestMons[eContestAI->contestantId].moves[i]; + u16 newMove = gContestMons[eContestAI.contestantId].moves[i]; if (newMove != 0 && jam < gContestEffects[gContestMoves[newMove].effect].jam) break; } if (i == MAX_MON_MOVES) - eContestAI->scriptResult = TRUE; + eContestAI.scriptResult = TRUE; else - eContestAI->scriptResult = FALSE; + eContestAI.scriptResult = FALSE; gAIScriptPtr += 1; } @@ -858,7 +861,7 @@ static void ContestAICmd_unk_30(void) { ContestAICmd_unk_2F(); - if (eContestAI->scriptResult != FALSE) + if (eContestAI.scriptResult != FALSE) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -866,9 +869,9 @@ static void ContestAICmd_unk_30(void) static void ContestAICmd_unk_31(void) { - u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; + u16 move = gContestMons[eContestAI.contestantId].moves[eContestAI.nextMoveIndex]; - eContestAI->scriptResult = gContestEffects[gContestMoves[move].effect].appeal / 10; + eContestAI.scriptResult = gContestEffects[gContestMoves[move].effect].appeal / 10; gAIScriptPtr += 1; } @@ -876,7 +879,7 @@ static void ContestAICmd_unk_32(void) { ContestAICmd_unk_31(); - if (eContestAI->scriptResult < gAIScriptPtr[0]) + if (eContestAI.scriptResult < gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -886,7 +889,7 @@ static void ContestAICmd_unk_33(void) { ContestAICmd_unk_31(); - if (eContestAI->scriptResult > gAIScriptPtr[0]) + if (eContestAI.scriptResult > gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -896,7 +899,7 @@ static void ContestAICmd_unk_34(void) { ContestAICmd_unk_31(); - if (eContestAI->scriptResult == gAIScriptPtr[0]) + if (eContestAI.scriptResult == gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -906,7 +909,7 @@ static void ContestAICmd_unk_35(void) { ContestAICmd_unk_31(); - if (eContestAI->scriptResult != gAIScriptPtr[0]) + if (eContestAI.scriptResult != gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -914,9 +917,9 @@ static void ContestAICmd_unk_35(void) static void ContestAICmd_unk_36(void) { - u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; + u16 move = gContestMons[eContestAI.contestantId].moves[eContestAI.nextMoveIndex]; - eContestAI->scriptResult = gContestEffects[gContestMoves[move].effect].jam / 10; + eContestAI.scriptResult = gContestEffects[gContestMoves[move].effect].jam / 10; gAIScriptPtr += 1; } @@ -924,7 +927,7 @@ static void ContestAICmd_unk_37(void) { ContestAICmd_unk_36(); - if (eContestAI->scriptResult < gAIScriptPtr[0]) + if (eContestAI.scriptResult < gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -934,7 +937,7 @@ static void ContestAICmd_unk_38(void) { ContestAICmd_unk_36(); - if (eContestAI->scriptResult > gAIScriptPtr[0]) + if (eContestAI.scriptResult > gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -944,7 +947,7 @@ static void ContestAICmd_unk_39(void) { ContestAICmd_unk_36(); - if (eContestAI->scriptResult == gAIScriptPtr[0]) + if (eContestAI.scriptResult == gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -954,7 +957,7 @@ static void ContestAICmd_unk_3A(void) { ContestAICmd_unk_36(); - if (eContestAI->scriptResult != gAIScriptPtr[0]) + if (eContestAI.scriptResult != gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -963,52 +966,52 @@ static void ContestAICmd_unk_3A(void) static void ContestAICmd_get_move_used_count(void) { s16 result; - u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; + u16 move = gContestMons[eContestAI.contestantId].moves[eContestAI.nextMoveIndex]; - if (move != sContestantStatus[eContestAI->contestantId].prevMove) + if (move != eContestantStatus[eContestAI.contestantId].prevMove) result = 0; // move is unique and not reused. else - result = sContestantStatus[eContestAI->contestantId].moveRepeatCount + 1; + result = eContestantStatus[eContestAI.contestantId].moveRepeatCount + 1; - eContestAI->scriptResult = result; + eContestAI.scriptResult = result; gAIScriptPtr += 1; } -static void ContestAICmd_unk_3C(void) +static void ContestAICmd_if_most_used_count_less_than(void) { ContestAICmd_get_move_used_count(); - if (eContestAI->scriptResult < gAIScriptPtr[0]) + if (eContestAI.scriptResult < gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_3D(void) +static void ContestAICmd_if_most_used_count_more_than(void) { ContestAICmd_get_move_used_count(); - if (eContestAI->scriptResult > gAIScriptPtr[0]) + if (eContestAI.scriptResult > gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_3E(void) +static void ContestAICmd_if_most_used_count_eq(void) { ContestAICmd_get_move_used_count(); - if (eContestAI->scriptResult == gAIScriptPtr[0]) + if (eContestAI.scriptResult == gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_3F(void) +static void ContestAICmd_if_most_used_count_not_eq(void) { ContestAICmd_get_move_used_count(); - if (eContestAI->scriptResult != gAIScriptPtr[0]) + if (eContestAI.scriptResult != gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -1018,13 +1021,13 @@ static void ContestAICmd_check_combo_starter(void) { u8 result = 0; int i; - u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; + u16 move = gContestMons[eContestAI.contestantId].moves[eContestAI.nextMoveIndex]; for (i = 0; i < MAX_MON_MOVES; i++) { - if (gContestMons[eContestAI->contestantId].moves[i]) + if (gContestMons[eContestAI.contestantId].moves[i]) { - result = AreMovesContestCombo(move, gContestMons[eContestAI->contestantId].moves[i]); + result = AreMovesContestCombo(move, gContestMons[eContestAI.contestantId].moves[i]); if (result) { result = 1; @@ -1036,25 +1039,25 @@ static void ContestAICmd_check_combo_starter(void) if (result) result = 1; - eContestAI->scriptResult = result; + eContestAI.scriptResult = result; gAIScriptPtr += 1; } -static void ContestAICmd_unk_41(void) +static void ContestAICmd_if_combo_starter(void) { ContestAICmd_check_combo_starter(); - if (eContestAI->scriptResult != 0) + if (eContestAI.scriptResult != 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; } -static void ContestAICmd_unk_42(void) +static void ContestAICmd_if_not_combo_starter(void) { ContestAICmd_check_combo_starter(); - if (eContestAI->scriptResult == 0) + if (eContestAI.scriptResult == 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; @@ -1064,13 +1067,13 @@ static void ContestAICmd_check_combo_finisher(void) { u8 result = 0; int i; - u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; + u16 move = gContestMons[eContestAI.contestantId].moves[eContestAI.nextMoveIndex]; for (i = 0; i < MAX_MON_MOVES; i++) { - if (gContestMons[eContestAI->contestantId].moves[i]) + if (gContestMons[eContestAI.contestantId].moves[i]) { - result = AreMovesContestCombo(gContestMons[eContestAI->contestantId].moves[i], move); + result = AreMovesContestCombo(gContestMons[eContestAI.contestantId].moves[i], move); if (result) { result = 1; @@ -1082,25 +1085,25 @@ static void ContestAICmd_check_combo_finisher(void) if (result) result = 1; - eContestAI->scriptResult = result; + eContestAI.scriptResult = result; gAIScriptPtr += 1; } -static void ContestAICmd_unk_44(void) +static void ContestAICmd_if_combo_finisher(void) { ContestAICmd_check_combo_finisher(); - if (eContestAI->scriptResult != 0) + if (eContestAI.scriptResult != 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; } -static void ContestAICmd_unk_45(void) +static void ContestAICmd_if_not_combo_finisher(void) { ContestAICmd_check_combo_finisher(); - if (eContestAI->scriptResult == 0) + if (eContestAI.scriptResult == 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; @@ -1109,33 +1112,33 @@ static void ContestAICmd_unk_45(void) static void ContestAICmd_check_would_finish_combo(void) { u8 result = 0; - u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; + u16 move = gContestMons[eContestAI.contestantId].moves[eContestAI.nextMoveIndex]; - if (sContestantStatus[eContestAI->contestantId].prevMove) - result = AreMovesContestCombo(sContestantStatus[eContestAI->contestantId].prevMove, move); + if (eContestantStatus[eContestAI.contestantId].prevMove) + result = AreMovesContestCombo(eContestantStatus[eContestAI.contestantId].prevMove, move); if (result) result = 1; - eContestAI->scriptResult = result; + eContestAI.scriptResult = result; gAIScriptPtr += 1; } -static void ContestAICmd_unk_47(void) +static void ContestAICmd_if_would_finish_combo(void) { ContestAICmd_check_would_finish_combo(); - if (eContestAI->scriptResult != 0) + if (eContestAI.scriptResult != 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; } -static void ContestAICmd_unk_48(void) +static void ContestAICmd_if_would_not_finish_combo(void) { ContestAICmd_check_would_finish_combo(); - if (eContestAI->scriptResult == 0) + if (eContestAI.scriptResult == 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; @@ -1145,45 +1148,45 @@ static void ContestAICmd_get_condition(void) { int var = sub_81563B0(gAIScriptPtr[1]); - eContestAI->scriptResult = sContestantStatus[var].condition / 10; + eContestAI.scriptResult = eContestantStatus[var].condition / 10; gAIScriptPtr += 2; } -static void ContestAICmd_unk_4A(void) +static void ContestAICmd_if_condition_less_than(void) { ContestAICmd_get_condition(); - if (eContestAI->scriptResult < gAIScriptPtr[0]) + if (eContestAI.scriptResult < gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_4B(void) +static void ContestAICmd_if_condition_more_than(void) { ContestAICmd_get_condition(); - if (eContestAI->scriptResult > gAIScriptPtr[0]) + if (eContestAI.scriptResult > gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_4C(void) +static void ContestAICmd_if_condition_eq(void) { ContestAICmd_get_condition(); - if (eContestAI->scriptResult == gAIScriptPtr[0]) + if (eContestAI.scriptResult == gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_4D(void) +static void ContestAICmd_if_condition_not_eq(void) { ContestAICmd_get_condition(); - if (eContestAI->scriptResult != gAIScriptPtr[0]) + if (eContestAI.scriptResult != gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -1195,47 +1198,47 @@ static void ContestAICmd_get_used_combo_starter(void) u8 var = sub_81563B0(gAIScriptPtr[1]); if (sub_80DE1E8(var)) - result = gContestMoves[sContestantStatus[var].prevMove].comboStarterId ? 1 : 0; + result = gContestMoves[eContestantStatus[var].prevMove].comboStarterId ? 1 : 0; - eContestAI->scriptResult = result; + eContestAI.scriptResult = result; gAIScriptPtr += 2; } -static void ContestAICmd_unk_4F(void) +static void ContestAICmd_if_used_combo_starter_less_than(void) { ContestAICmd_get_used_combo_starter(); - if (eContestAI->scriptResult < gAIScriptPtr[0]) + if (eContestAI.scriptResult < gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_50(void) +static void ContestAICmd_if_used_combo_starter_more_than(void) { ContestAICmd_get_used_combo_starter(); - if (eContestAI->scriptResult > gAIScriptPtr[0]) + if (eContestAI.scriptResult > gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_51(void) +static void ContestAICmd_if_used_combo_starter_eq(void) { ContestAICmd_get_used_combo_starter(); - if (eContestAI->scriptResult == gAIScriptPtr[0]) + if (eContestAI.scriptResult == gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_52(void) +static void ContestAICmd_if_used_combo_starter_not_eq(void) { ContestAICmd_get_used_combo_starter(); - if (eContestAI->scriptResult != gAIScriptPtr[0]) + if (eContestAI.scriptResult != gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -1244,28 +1247,28 @@ static void ContestAICmd_unk_52(void) static void ContestAICmd_check_can_participate(void) { if (Contest_IsMonsTurnDisabled(sub_81563B0(gAIScriptPtr[1]))) - eContestAI->scriptResult = FALSE; + eContestAI.scriptResult = FALSE; else - eContestAI->scriptResult = TRUE; + eContestAI.scriptResult = TRUE; gAIScriptPtr += 2; } -static void ContestAICmd_unk_54(void) +static void ContestAICmd_if_can_participate(void) { ContestAICmd_check_can_participate(); - if (eContestAI->scriptResult != 0) + if (eContestAI.scriptResult != 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; } -static void ContestAICmd_unk_55(void) +static void ContestAICmd_if_cannot_participate(void) { ContestAICmd_check_can_participate(); - if (eContestAI->scriptResult == 0) + if (eContestAI.scriptResult == 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; @@ -1275,7 +1278,7 @@ static void ContestAICmd_get_val_812A188(void) { u8 var = sub_81563B0(gAIScriptPtr[1]); - eContestAI->scriptResult = sContestantStatus[var].unk15_3; + eContestAI.scriptResult = eContestantStatus[var].unk15_3; gAIScriptPtr += 2; } @@ -1283,17 +1286,17 @@ static void ContestAICmd_unk_57(void) { ContestAICmd_get_val_812A188(); - if (eContestAI->scriptResult != 0) + if (eContestAI.scriptResult != 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; } -static void ContestAICmd_unk_58(void) +static void ContestAICmd_contest_58(void) { ContestAICmd_get_val_812A188(); - if (eContestAI->scriptResult == 0) + if (eContestAI.scriptResult == 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; @@ -1303,7 +1306,7 @@ static void ContestAICmd_unk_59(void) { u8 var = sub_81563B0(gAIScriptPtr[1]); - eContestAI->scriptResult = sContestantStatus[var].unk4 - sContestantStatus[eContestAI->contestantId].unk4; + eContestAI.scriptResult = eContestantStatus[var].pointTotal - eContestantStatus[eContestAI.contestantId].pointTotal; gAIScriptPtr += 2; } @@ -1311,7 +1314,7 @@ static void ContestAICmd_unk_5A(void) { ContestAICmd_unk_59(); - if (eContestAI->scriptResult < 0) + if (eContestAI.scriptResult < 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; @@ -1321,7 +1324,7 @@ static void ContestAICmd_unk_5B(void) { ContestAICmd_unk_59(); - if (eContestAI->scriptResult > 0) + if (eContestAI.scriptResult > 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; @@ -1331,7 +1334,7 @@ static void ContestAICmd_unk_5C(void) { ContestAICmd_unk_59(); - if (eContestAI->scriptResult == 0) + if (eContestAI.scriptResult == 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; @@ -1341,7 +1344,7 @@ static void ContestAICmd_unk_5D(void) { ContestAICmd_unk_59(); - if (eContestAI->scriptResult != 0) + if (eContestAI.scriptResult != 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; @@ -1351,7 +1354,7 @@ static void ContestAICmd_unk_5E(void) { u8 var = sub_81563B0(gAIScriptPtr[1]); - eContestAI->scriptResult = gContestMonConditions[var] - gContestMonConditions[eContestAI->contestantId]; + eContestAI.scriptResult = gContestMonConditions[var] - gContestMonConditions[eContestAI.contestantId]; gAIScriptPtr += 2; } @@ -1359,7 +1362,7 @@ static void ContestAICmd_unk_5F(void) { ContestAICmd_unk_5E(); - if (eContestAI->scriptResult < 0) + if (eContestAI.scriptResult < 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; @@ -1369,7 +1372,7 @@ static void ContestAICmd_unk_60(void) { ContestAICmd_unk_5E(); - if (eContestAI->scriptResult > 0) + if (eContestAI.scriptResult > 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; @@ -1379,7 +1382,7 @@ static void ContestAICmd_unk_61(void) { ContestAICmd_unk_5E(); - if (eContestAI->scriptResult == 0) + if (eContestAI.scriptResult == 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; @@ -1389,7 +1392,7 @@ static void ContestAICmd_unk_62(void) { ContestAICmd_unk_5E(); - if (eContestAI->scriptResult != 0) + if (eContestAI.scriptResult != 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; @@ -1399,9 +1402,9 @@ static void ContestAICmd_unk_63(void) { u8 var = sub_81563B0(gAIScriptPtr[1]); u8 var2 = gAIScriptPtr[2]; - u16 move = sContest.unk19220[var2][var]; + u16 move = eContest.moveHistory[var2][var]; - eContestAI->scriptResult = gContestMoves[move].effect; + eContestAI.scriptResult = gContestMoves[move].effect; gAIScriptPtr += 3; } @@ -1409,7 +1412,7 @@ static void ContestAICmd_unk_64(void) { ContestAICmd_unk_63(); - if (eContestAI->scriptResult < gAIScriptPtr[0]) + if (eContestAI.scriptResult < gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -1419,7 +1422,7 @@ static void ContestAICmd_unk_65(void) { ContestAICmd_unk_63(); - if (eContestAI->scriptResult > gAIScriptPtr[0]) + if (eContestAI.scriptResult > gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -1429,7 +1432,7 @@ static void ContestAICmd_unk_66(void) { ContestAICmd_unk_63(); - if (eContestAI->scriptResult == gAIScriptPtr[0]) + if (eContestAI.scriptResult == gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -1439,7 +1442,7 @@ static void ContestAICmd_unk_67(void) { ContestAICmd_unk_63(); - if (eContestAI->scriptResult != gAIScriptPtr[0]) + if (eContestAI.scriptResult != gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -1449,9 +1452,9 @@ static void ContestAICmd_unk_68(void) { u8 var = sub_81563B0(gAIScriptPtr[1]); u8 var2 = gAIScriptPtr[2]; - s8 result = sContest.unk19248[var2][var]; + s8 result = eContest.excitementHistory[var2][var]; - eContestAI->scriptResult = result; + eContestAI.scriptResult = result; gAIScriptPtr += 3; } @@ -1459,7 +1462,7 @@ static void ContestAICmd_unk_69(void) { ContestAICmd_unk_68(); - if (eContestAI->scriptResult < gAIScriptPtr[0]) + if (eContestAI.scriptResult < gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -1469,7 +1472,7 @@ static void ContestAICmd_unk_6A(void) { ContestAICmd_unk_68(); - if (eContestAI->scriptResult > gAIScriptPtr[0]) + if (eContestAI.scriptResult > gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -1479,7 +1482,7 @@ static void ContestAICmd_unk_6B(void) { ContestAICmd_unk_68(); - if (eContestAI->scriptResult == gAIScriptPtr[0]) + if (eContestAI.scriptResult == gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -1489,7 +1492,7 @@ static void ContestAICmd_unk_6C(void) { ContestAICmd_unk_68(); - if (eContestAI->scriptResult != gAIScriptPtr[0]) + if (eContestAI.scriptResult != gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -1499,9 +1502,9 @@ static void ContestAICmd_unk_6D(void) { u8 var = sub_81563B0(gAIScriptPtr[1]); u8 var2 = gAIScriptPtr[2]; - u16 move = sContest.unk19220[var2][var]; + u16 move = eContest.moveHistory[var2][var]; - eContestAI->scriptResult = gContestEffects[gContestMoves[move].effect].effectType; + eContestAI.scriptResult = gContestEffects[gContestMoves[move].effect].effectType; gAIScriptPtr += 3; } @@ -1509,7 +1512,7 @@ static void ContestAICmd_unk_6E(void) { ContestAICmd_unk_6D(); - if (eContestAI->scriptResult == gAIScriptPtr[0]) + if (eContestAI.scriptResult == gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -1519,7 +1522,7 @@ static void ContestAICmd_unk_6F(void) { ContestAICmd_unk_6D(); - if (eContestAI->scriptResult != gAIScriptPtr[0]) + if (eContestAI.scriptResult != gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -1527,38 +1530,38 @@ static void ContestAICmd_unk_6F(void) static void ContestAICmd_unk_70(void) { - eContestAI->scriptArr[gAIScriptPtr[1]] = eContestAI->scriptResult; + eContestAI.scriptArr[gAIScriptPtr[1]] = eContestAI.scriptResult; gAIScriptPtr += 2; } static void ContestAICmd_unk_71(void) { - eContestAI->scriptArr[gAIScriptPtr[1]] = T1_READ_16(gAIScriptPtr + 2); + eContestAI.scriptArr[gAIScriptPtr[1]] = T1_READ_16(gAIScriptPtr + 2); gAIScriptPtr += 4; } static void ContestAICmd_unk_72(void) { // wtf? shouldn't T1_READ_16 work here? why the signed 8 load by gAIScriptPtr[2]? - eContestAI->scriptArr[gAIScriptPtr[1]] += ((s8)gAIScriptPtr[2] | gAIScriptPtr[3] << 8); + eContestAI.scriptArr[gAIScriptPtr[1]] += ((s8)gAIScriptPtr[2] | gAIScriptPtr[3] << 8); gAIScriptPtr += 4; } static void ContestAICmd_unk_73(void) { - eContestAI->scriptArr[gAIScriptPtr[1]] += eContestAI->scriptArr[gAIScriptPtr[2]]; + eContestAI.scriptArr[gAIScriptPtr[1]] += eContestAI.scriptArr[gAIScriptPtr[2]]; gAIScriptPtr += 3; } static void ContestAICmd_unk_74(void) { - eContestAI->scriptArr[gAIScriptPtr[1]] += eContestAI->scriptArr[gAIScriptPtr[2]]; + eContestAI.scriptArr[gAIScriptPtr[1]] += eContestAI.scriptArr[gAIScriptPtr[2]]; gAIScriptPtr += 3; } static void ContestAICmd_unk_75(void) { - if (eContestAI->scriptArr[gAIScriptPtr[1]] < T1_READ_16(gAIScriptPtr + 2)) + if (eContestAI.scriptArr[gAIScriptPtr[1]] < T1_READ_16(gAIScriptPtr + 2)) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); else gAIScriptPtr += 8; @@ -1566,7 +1569,7 @@ static void ContestAICmd_unk_75(void) static void ContestAICmd_unk_76(void) { - if (eContestAI->scriptArr[gAIScriptPtr[1]] > T1_READ_16(gAIScriptPtr + 2)) + if (eContestAI.scriptArr[gAIScriptPtr[1]] > T1_READ_16(gAIScriptPtr + 2)) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); else gAIScriptPtr += 8; @@ -1574,7 +1577,7 @@ static void ContestAICmd_unk_76(void) static void ContestAICmd_unk_77(void) { - if (eContestAI->scriptArr[gAIScriptPtr[1]] == T1_READ_16(gAIScriptPtr + 2)) + if (eContestAI.scriptArr[gAIScriptPtr[1]] == T1_READ_16(gAIScriptPtr + 2)) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); else gAIScriptPtr += 8; @@ -1582,7 +1585,7 @@ static void ContestAICmd_unk_77(void) static void ContestAICmd_unk_78(void) { - if (eContestAI->scriptArr[gAIScriptPtr[1]] != T1_READ_16(gAIScriptPtr + 2)) + if (eContestAI.scriptArr[gAIScriptPtr[1]] != T1_READ_16(gAIScriptPtr + 2)) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); else gAIScriptPtr += 8; @@ -1590,7 +1593,7 @@ static void ContestAICmd_unk_78(void) static void ContestAICmd_unk_79(void) { - if (eContestAI->scriptArr[gAIScriptPtr[1]] < (eContestAI->scriptArr[gAIScriptPtr[2]])) + if (eContestAI.scriptArr[gAIScriptPtr[1]] < (eContestAI.scriptArr[gAIScriptPtr[2]])) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); else gAIScriptPtr += 7; @@ -1598,7 +1601,7 @@ static void ContestAICmd_unk_79(void) static void ContestAICmd_unk_7A(void) { - if (eContestAI->scriptArr[gAIScriptPtr[1]] > (eContestAI->scriptArr[gAIScriptPtr[2]])) + if (eContestAI.scriptArr[gAIScriptPtr[1]] > (eContestAI.scriptArr[gAIScriptPtr[2]])) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); else gAIScriptPtr += 7; @@ -1606,7 +1609,7 @@ static void ContestAICmd_unk_7A(void) static void ContestAICmd_unk_7B(void) { - if (eContestAI->scriptArr[gAIScriptPtr[1]] == (eContestAI->scriptArr[gAIScriptPtr[2]])) + if (eContestAI.scriptArr[gAIScriptPtr[1]] == (eContestAI.scriptArr[gAIScriptPtr[2]])) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); else gAIScriptPtr += 7; @@ -1614,15 +1617,15 @@ static void ContestAICmd_unk_7B(void) static void ContestAICmd_unk_7C(void) { - if (eContestAI->scriptArr[gAIScriptPtr[1]] != (eContestAI->scriptArr[gAIScriptPtr[2]])) + if (eContestAI.scriptArr[gAIScriptPtr[1]] != (eContestAI.scriptArr[gAIScriptPtr[2]])) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); else gAIScriptPtr += 7; } -static void ContestAICmd_unk_7D(void) +static void ContestAICmd_if_random(void) { - if ((Random() & 0xFF) < eContestAI->scriptArr[gAIScriptPtr[1]]) + if ((Random() & 0xFF) < eContestAI.scriptArr[gAIScriptPtr[1]]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; @@ -1630,41 +1633,41 @@ static void ContestAICmd_unk_7D(void) static void ContestAICmd_unk_7E(void) { - if ((Random() & 0xFF) > eContestAI->scriptArr[gAIScriptPtr[1]]) + if ((Random() & 0xFF) > eContestAI.scriptArr[gAIScriptPtr[1]]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; } // jump -static void ContestAICmd_unk_7F(void) +static void ContestAICmd_jump(void) { gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); } -static void ContestAICmd_unk_80(void) +static void ContestAICmd_call(void) { AIStackPushVar(gAIScriptPtr + 5); gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); } -static void ContestAICmd_unk_81(void) +static void ContestAICmd_end(void) { if (!AIStackPop()) - eContestAI->aiAction |= 1; + eContestAI.aiAction |= 1; } static void AIStackPushVar(const u8 *ptr) { - eContestAI->stack[eContestAI->stackSize++] = ptr; + eContestAI.stack[eContestAI.stackSize++] = ptr; } static bool8 AIStackPop(void) { - if (eContestAI->stackSize != 0) + if (eContestAI.stackSize != 0) { - --eContestAI->stackSize; - gAIScriptPtr = eContestAI->stack[eContestAI->stackSize]; + --eContestAI.stackSize; + gAIScriptPtr = eContestAI.stack[eContestAI.stackSize]; return TRUE; } else @@ -1673,16 +1676,16 @@ static bool8 AIStackPop(void) } } -static void ContestAICmd_check_for_exciting_move(void) +static void ContestAICmd_check_user_has_exciting_move(void) { int result = 0; int i; for (i = 0; i < MAX_MON_MOVES; i++) { - if (gContestMons[eContestAI->contestantId].moves[i]) + if (gContestMons[eContestAI.contestantId].moves[i]) { - if (Contest_GetMoveExcitement(gContestMons[eContestAI->contestantId].moves[i]) == 1) + if (Contest_GetMoveExcitement(gContestMons[eContestAI.contestantId].moves[i]) == 1) { result = 1; break; @@ -1690,25 +1693,25 @@ static void ContestAICmd_check_for_exciting_move(void) } } - eContestAI->scriptResult = result; + eContestAI.scriptResult = result; gAIScriptPtr += 1; } -static void ContestAICmd_unk_83(void) +static void ContestAICmd_if_user_has_exciting_move(void) { - ContestAICmd_check_for_exciting_move(); + ContestAICmd_check_user_has_exciting_move(); - if (eContestAI->scriptResult != 0) + if (eContestAI.scriptResult != 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; } -static void ContestAICmd_unk_84(void) +static void ContestAICmd_if_user_doesnt_have_exciting_move(void) { - ContestAICmd_check_for_exciting_move(); + ContestAICmd_check_user_has_exciting_move(); - if (eContestAI->scriptResult == 0) + if (eContestAI.scriptResult == 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; @@ -1722,7 +1725,7 @@ static void ContestAICmd_unk_85(void) for (i = 0; i < MAX_MON_MOVES; i++) { - u16 move = gContestMons[eContestAI->contestantId].moves[i]; + u16 move = gContestMons[eContestAI.contestantId].moves[i]; if (move == arg) { result = 1; @@ -1730,7 +1733,7 @@ static void ContestAICmd_unk_85(void) } } - eContestAI->scriptResult = result; + eContestAI.scriptResult = result; gAIScriptPtr += 3; } @@ -1738,17 +1741,17 @@ static void ContestAICmd_unk_86(void) { ContestAICmd_unk_85(); - if (eContestAI->scriptResult != 0) + if (eContestAI.scriptResult != 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; } -static void ContestAICmd_unk_87(void) +static void ContestAICmd_if_effect_in_user_moveset(void) { ContestAICmd_unk_85(); - if (eContestAI->scriptResult == 0) + if (eContestAI.scriptResult == 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; diff --git a/src/contest_effect.c b/src/contest_effect.c index 760d74d694..d6b06c3bae 100644 --- a/src/contest_effect.c +++ b/src/contest_effect.c @@ -82,101 +82,101 @@ static void ContestEffect_HighlyAppealing(void) // After this move, the user is more easily startled. static void ContestEffect_UserMoreEasilyStartled(void) { - sContestantStatus[shared192D0.contestant].moreEasilyStartled = TRUE; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_MORE_CONSCIOUS); + eContestantStatus[eContestResources8.contestant].moreEasilyStartled = TRUE; + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_MORE_CONSCIOUS); } // Makes a great appeal, but allows no more to the end. static void ContestEffect_GreatAppealButNoMoreMoves(void) { - sContestantStatus[shared192D0.contestant].exploded = TRUE; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_NO_APPEAL); + eContestantStatus[eContestResources8.contestant].exploded = TRUE; + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_NO_APPEAL); } // Can be used repeatedly without boring the JUDGE. static void ContestEffect_RepetitionNotBoring(void) { - sContestantStatus[shared192D0.contestant].usedRepeatableMove = TRUE; - sContestantStatus[shared192D0.contestant].disappointedRepeat = FALSE; - sContestantStatus[shared192D0.contestant].moveRepeatCount = 0; + eContestantStatus[eContestResources8.contestant].usedRepeatableMove = TRUE; + eContestantStatus[eContestResources8.contestant].disappointedRepeat = FALSE; + eContestantStatus[eContestResources8.contestant].moveRepeatCount = 0; } // Can avoid being startled by others once. static void ContestEffect_AvoidStartleOnce(void) { - sContestantStatus[shared192D0.contestant].jamSafetyCount = 1; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_SETTLE_DOWN); + eContestantStatus[eContestResources8.contestant].jamSafetyCount = 1; + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_SETTLE_DOWN); } // Can avoid being startled by others. static void ContestEffect_AvoidStartle(void) { - sContestantStatus[shared192D0.contestant].immune = TRUE; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_OBLIVIOUS_TO_OTHERS); + eContestantStatus[eContestResources8.contestant].immune = TRUE; + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_OBLIVIOUS_TO_OTHERS); } // Can avoid being startled by others a little. static void ContestEffect_AvoidStartleSlightly(void) { - sContestantStatus[shared192D0.contestant].jamReduction = 20; - SetContestantEffectStringID(shared192D0.contestant,CONTEST_STRING_LESS_AWARE); + eContestantStatus[eContestResources8.contestant].jamReduction = 20; + SetContestantEffectStringID(eContestResources8.contestant,CONTEST_STRING_LESS_AWARE); } // After this move, the user is less likely to be startled. static void ContestEffect_UserLessEasilyStartled(void) { - sContestantStatus[shared192D0.contestant].resistant = TRUE; - SetContestantEffectStringID(shared192D0.contestant,CONTEST_STRING_STOPPED_CARING); + eContestantStatus[eContestResources8.contestant].resistant = TRUE; + SetContestantEffectStringID(eContestResources8.contestant,CONTEST_STRING_STOPPED_CARING); } -// Slightly startles the POKéMON in front. +// Slightly startles the POKéMON in front. static void ContestEffect_StartleFrontMon(void) { u8 idx = 0; - u8 a = shared192D0.contestant; + u8 a = eContestResources8.contestant; - if (shared192D0.turnOrder[a] != 0) { + if (eContestResources8.turnOrder[a] != 0) { int i; for (i = 0; i < 4; i++) { - if (shared192D0.turnOrder[a] - 1 == shared192D0.turnOrder[i]) + if (eContestResources8.turnOrder[a] - 1 == eContestResources8.turnOrder[i]) break; } - shared192D0.jamQueue[0] = i; - shared192D0.jamQueue[1] = 0xFF; + eContestResources8.jamQueue[0] = i; + eContestResources8.jamQueue[1] = 0xFF; idx = WasAtLeastOneOpponentJammed(); } if (idx == 0) - SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); + SetContestantEffectStringID2(eContestResources8.contestant, CONTEST_STRING_MESSED_UP2); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_ATTEMPT_STARTLE); } // Slightly startles those that have made appeals. static void ContestEffect_StartlePrevMons(void) { u8 idx = 0; - u8 a = shared192D0.contestant; + u8 a = eContestResources8.contestant; - if (shared192D0.turnOrder[a] != 0) + if (eContestResources8.turnOrder[a] != 0) { int i, j; for (i = 0, j = 0; i < 4; i++) { - if (shared192D0.turnOrder[a] > shared192D0.turnOrder[i]) - shared192D0.jamQueue[j++] = i; + if (eContestResources8.turnOrder[a] > eContestResources8.turnOrder[i]) + eContestResources8.jamQueue[j++] = i; } - shared192D0.jamQueue[j] = 0xFF; + eContestResources8.jamQueue[j] = 0xFF; idx = WasAtLeastOneOpponentJammed(); } if (idx == 0) - SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); + SetContestantEffectStringID2(eContestResources8.contestant, CONTEST_STRING_MESSED_UP2); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_ATTEMPT_STARTLE); } -// Startles the POKéMON that appealed before the user. +// Startles the POKéMON that appealed before the user. static void ContestEffect_StartlePrevMon2(void) { u8 rval = Random() % 10; @@ -189,16 +189,16 @@ static void ContestEffect_StartlePrevMon2(void) else jam = 60; - shared192D0.jam = jam; + eContestResources8.jam = jam; ContestEffect_StartleFrontMon(); } -// Startles all POKéMON that appealed before the user. +// Startles all POKéMON that appealed before the user. static void ContestEffect_StartlePrevMons2(void) { u8 numStartled = 0; - u8 contestant = shared192D0.contestant; - u8 turnOrder = shared192D0.turnOrder[contestant]; + u8 contestant = eContestResources8.contestant; + u8 turnOrder = eContestResources8.turnOrder[contestant]; if (turnOrder != 0) { @@ -206,12 +206,12 @@ static void ContestEffect_StartlePrevMons2(void) for (i = 0; i < 4; i++) { - if (shared192D0.turnOrder[contestant] > shared192D0.turnOrder[i]) + if (eContestResources8.turnOrder[contestant] > eContestResources8.turnOrder[i]) { u8 rval, jam; - shared192D0.jamQueue[0] = i; - shared192D0.jamQueue[1] = 0xFF; + eContestResources8.jamQueue[0] = i; + eContestResources8.jamQueue[1] = 0xFF; rval = Random() % 10; if (rval == 0) @@ -227,141 +227,141 @@ static void ContestEffect_StartlePrevMons2(void) else jam = 60; - shared192D0.jam = jam; + eContestResources8.jam = jam; if (WasAtLeastOneOpponentJammed()) numStartled++; } } } - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_ATTEMPT_STARTLE); if (numStartled == 0) - SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); + SetContestantEffectStringID2(eContestResources8.contestant, CONTEST_STRING_MESSED_UP2); } -// Shifts the JUDGE’s attention from others. +// Shifts the JUDGE's attention from others. static void ContestEffect_ShiftJudgeAttention(void) { bool32 hitAny = FALSE; - u8 contestant = shared192D0.contestant; + u8 contestant = eContestResources8.contestant; - if (shared192D0.turnOrder[shared192D0.contestant] != 0) + if (eContestResources8.turnOrder[eContestResources8.contestant] != 0) { int i; for (i = 0; i < 4; i++) { - if (shared192D0.turnOrder[contestant] > shared192D0.turnOrder[i] && - sContestantStatus[i].hasJudgesAttention && + if (eContestResources8.turnOrder[contestant] > eContestResources8.turnOrder[i] && + eContestantStatus[i].hasJudgesAttention && CanUnnerveContestant(i)) { - sContestantStatus[i].hasJudgesAttention = FALSE; - sContestantStatus[i].judgesAttentionWasRemoved = TRUE; + eContestantStatus[i].hasJudgesAttention = FALSE; + eContestantStatus[i].judgesAttentionWasRemoved = TRUE; SetContestantEffectStringID(i, CONTEST_STRING_JUDGE_LOOK_AWAY2); hitAny = TRUE; } } } - SetContestantEffectStringID(shared192D0.contestant,CONTEST_STRING_DAZZLE_ATTEMPT); + SetContestantEffectStringID(eContestResources8.contestant,CONTEST_STRING_DAZZLE_ATTEMPT); if (!hitAny) { - SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); + SetContestantEffectStringID2(eContestResources8.contestant, CONTEST_STRING_MESSED_UP2); } } -// Startles the POKéMON that has the JUDGE’s attention. +// Startles the POKéMON that has the JUDGE's attention. static void ContestEffect_StartleMonWithJudgesAttention(void) { u8 numStartled = 0; - u8 contestant = shared192D0.contestant; + u8 contestant = eContestResources8.contestant; - if (shared192D0.turnOrder[shared192D0.contestant] != 0) + if (eContestResources8.turnOrder[eContestResources8.contestant] != 0) { int i; for (i = 0; i < 4; i++) { - if (shared192D0.turnOrder[contestant] > shared192D0.turnOrder[i]) + if (eContestResources8.turnOrder[contestant] > eContestResources8.turnOrder[i]) { - if (sContestantStatus[i].hasJudgesAttention) - shared192D0.jam = 50; + if (eContestantStatus[i].hasJudgesAttention) + eContestResources8.jam = 50; else - shared192D0.jam = 10; - shared192D0.jamQueue[0] = i; - shared192D0.jamQueue[1] = 0xFF; + eContestResources8.jam = 10; + eContestResources8.jamQueue[0] = i; + eContestResources8.jamQueue[1] = 0xFF; if (WasAtLeastOneOpponentJammed()) numStartled++; } } } - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_ATTEMPT_STARTLE); if (numStartled == 0) - SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); + SetContestantEffectStringID2(eContestResources8.contestant, CONTEST_STRING_MESSED_UP2); } // Jams the others, and misses one turn of appeals. static void ContestEffect_JamsOthersButMissOneTurn(void) { - sContestantStatus[shared192D0.contestant].turnSkipped = TRUE; + eContestantStatus[eContestResources8.contestant].turnSkipped = TRUE; ContestEffect_StartlePrevMons(); - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_ATTEMPT_STARTLE); } -// Startles POKéMON that made a same-type appeal. +// Startles POKéMON that made a same-type appeal. static void ContestEffect_StartleMonsSameTypeAppeal(void) { - u16 move = sContestantStatus[shared192D0.contestant].currMove; + u16 move = eContestantStatus[eContestResources8.contestant].currMove; JamByMoveCategory(gContestMoves[move].contestCategory); - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_ATTEMPT_STARTLE); } -// Badly startles POKéMON that made COOL appeals. +// Badly startles POKéMON that made COOL appeals. static void ContestEffect_StartleMonsCoolAppeal(void) { JamByMoveCategory(CONTEST_CATEGORY_COOL); - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_ATTEMPT_STARTLE); } -// Badly startles POKéMON that made BEAUTY appeals. +// Badly startles POKéMON that made BEAUTY appeals. static void ContestEffect_StartleMonsBeautyAppeal(void) { JamByMoveCategory(CONTEST_CATEGORY_BEAUTY); - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_ATTEMPT_STARTLE); } -// Badly startles POKéMON that made CUTE appeals. +// Badly startles POKéMON that made CUTE appeals. static void ContestEffect_StartleMonsCuteAppeal(void) { JamByMoveCategory(CONTEST_CATEGORY_CUTE); - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_ATTEMPT_STARTLE); } -// Badly startles POKéMON that made SMART appeals. +// Badly startles POKéMON that made SMART appeals. static void ContestEffect_StartleMonsSmartAppeal(void) { JamByMoveCategory(CONTEST_CATEGORY_SMART); - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_ATTEMPT_STARTLE); } -// Badly startles POKéMON that made TOUGH appeals. +// Badly startles POKéMON that made TOUGH appeals. static void ContestEffect_StartleMonsToughAppeal(void) { JamByMoveCategory(CONTEST_CATEGORY_TOUGH); - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_ATTEMPT_STARTLE); } -// Makes one POKéMON after the user nervous. +// Makes one POKéMON after the user nervous. static void ContestEffect_MakeFollowingMonNervous(void) { bool32 hitAny = FALSE; - if (shared192D0.turnOrder[shared192D0.contestant] != 3) + if (eContestResources8.turnOrder[eContestResources8.contestant] != 3) { int i; for (i = 0; i < 4; i++) { - if (shared192D0.turnOrder[shared192D0.contestant] + 1 == shared192D0.turnOrder[i]) + if (eContestResources8.turnOrder[eContestResources8.contestant] + 1 == eContestResources8.turnOrder[i]) { if (CanUnnerveContestant(i)) { @@ -377,12 +377,12 @@ static void ContestEffect_MakeFollowingMonNervous(void) } } } - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_UNNERVE_ATTEMPT); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_UNNERVE_ATTEMPT); if (!hitAny) - SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); + SetContestantEffectStringID2(eContestResources8.contestant, CONTEST_STRING_MESSED_UP2); } -// Makes all POKéMON after the user nervous. +// Makes all POKéMON after the user nervous. static void ContestEffect_MakeFollowingMonsNervous(void) { u8 numUnnerved = 0; @@ -396,8 +396,8 @@ static void ContestEffect_MakeFollowingMonsNervous(void) memset(contestantIds, 0xFF, ARRAY_COUNT(contestantIds)); for (i = 0, numAfter = 0; i < 4; i++) { - if (shared192D0.turnOrder[shared192D0.contestant] < shared192D0.turnOrder[i] && - !sContestantStatus[i].nervous && !Contest_IsMonsTurnDisabled(i)) + if (eContestResources8.turnOrder[eContestResources8.contestant] < eContestResources8.turnOrder[i] && + !eContestantStatus[i].nervous && !Contest_IsMonsTurnDisabled(i)) contestantIds[numAfter++] = i; } @@ -423,11 +423,11 @@ static void ContestEffect_MakeFollowingMonsNervous(void) } for (i = 0; i < 4; i++) { - if (sContestantStatus[i].hasJudgesAttention && sub_80DE1E8(i)) - oddsMod[i] = gComboStarterLookupTable[gContestMoves[sContestantStatus[i].prevMove].comboStarterId] * 10; + if (eContestantStatus[i].hasJudgesAttention && sub_80DE1E8(i)) + oddsMod[i] = gComboStarterLookupTable[gContestMoves[eContestantStatus[i].prevMove].comboStarterId] * 10; else oddsMod[i] = 0; - oddsMod[i] -= (sContestantStatus[i].condition / 10) * 10; + oddsMod[i] -= (eContestantStatus[i].condition / 10) * 10; } if (odds[0] != 0) { @@ -457,12 +457,12 @@ static void ContestEffect_MakeFollowingMonsNervous(void) SetContestantEffectStringID(contestantIds[i], CONTEST_STRING_UNAFFECTED); numUnnerved++; } - shared192D0.unnervedPokes[contestantIds[i]] = 1; + eContestResources8.unnervedPokes[contestantIds[i]] = 1; } } - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_UNNERVE_WAITING); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_UNNERVE_WAITING); if (numUnnerved == 0) - SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); + SetContestantEffectStringID2(eContestResources8.contestant, CONTEST_STRING_MESSED_UP2); } // Worsens the condition of those that made appeals. @@ -473,23 +473,23 @@ static void ContestEffect_WorsenConditionOfPrevMons(void) for (i = 0; i < 4; i++) { - if (shared192D0.turnOrder[shared192D0.contestant] > shared192D0.turnOrder[i] && - sContestantStatus[i].condition > 0 && + if (eContestResources8.turnOrder[eContestResources8.contestant] > eContestResources8.turnOrder[i] && + eContestantStatus[i].condition > 0 && CanUnnerveContestant(i)) { - sContestantStatus[i].condition = 0; - sContestantStatus[i].conditionMod = 2; + eContestantStatus[i].condition = 0; + eContestantStatus[i].conditionMod = 2; SetContestantEffectStringID(i, CONTEST_STRING_REGAINED_FORM); numHit++; } } - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_TAUNT_WELL); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_TAUNT_WELL); if (numHit == 0) - SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_IGNORED); + SetContestantEffectStringID2(eContestResources8.contestant, CONTEST_STRING_IGNORED); } -// Badly startles POKéMON in good condition. +// Badly startles POKéMON in good condition. static void ContestEffect_BadlyStartlesMonsInGoodCondition(void) { u8 numHit = 0; @@ -497,42 +497,42 @@ static void ContestEffect_BadlyStartlesMonsInGoodCondition(void) for (i = 0; i < 4; i++) { - if (shared192D0.turnOrder[shared192D0.contestant] > shared192D0.turnOrder[i]) + if (eContestResources8.turnOrder[eContestResources8.contestant] > eContestResources8.turnOrder[i]) { - if (sContestantStatus[i].condition > 0) - shared192D0.jam = 40; + if (eContestantStatus[i].condition > 0) + eContestResources8.jam = 40; else - shared192D0.jam = 10; - shared192D0.jamQueue[0] = i; - shared192D0.jamQueue[1] = 0xFF; + eContestResources8.jam = 10; + eContestResources8.jamQueue[0] = i; + eContestResources8.jamQueue[1] = 0xFF; if (WasAtLeastOneOpponentJammed()) numHit++; } } - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_JAM_WELL); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_JAM_WELL); if (numHit == 0) - SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_IGNORED); + SetContestantEffectStringID2(eContestResources8.contestant, CONTEST_STRING_IGNORED); } // The appeal works great if performed first. static void ContestEffect_BetterIfFirst(void) { - if (gUnknown_02039F26[shared192D0.contestant] == 0) + if (gContestantTurnOrder[eContestResources8.contestant] == 0) { - u16 move = sContestantStatus[shared192D0.contestant].currMove; - sContestantStatus[shared192D0.contestant].appeal2 += 2 * gContestEffects[gContestMoves[move].effect].appeal; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_HUSTLE_STANDOUT); + u16 move = eContestantStatus[eContestResources8.contestant].currMove; + eContestantStatus[eContestResources8.contestant].appeal2 += 2 * gContestEffects[gContestMoves[move].effect].appeal; + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_HUSTLE_STANDOUT); } } // The appeal works great if performed last. static void ContestEffect_BetterIfLast(void) { - if (gUnknown_02039F26[shared192D0.contestant] == 3) + if (gContestantTurnOrder[eContestResources8.contestant] == 3) { - u16 move = sContestantStatus[shared192D0.contestant].currMove; - sContestantStatus[shared192D0.contestant].appeal2 += 2 * gContestEffects[gContestMoves[move].effect].appeal; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_WORK_HARD_UNNOTICED); + u16 move = eContestantStatus[eContestResources8.contestant].currMove; + eContestantStatus[eContestResources8.contestant].appeal2 += 2 * gContestEffects[gContestMoves[move].effect].appeal; + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_WORK_HARD_UNNOTICED); } } @@ -544,22 +544,22 @@ static void ContestEffect_AppealAsGoodAsPrevOnes(void) for (i = 0, appealSum = 0; i < 4; i++) { - if (shared192D0.turnOrder[shared192D0.contestant] > shared192D0.turnOrder[i]) - appealSum += sContestantStatus[i].appeal2; + if (eContestResources8.turnOrder[eContestResources8.contestant] > eContestResources8.turnOrder[i]) + appealSum += eContestantStatus[i].appeal2; } if (appealSum < 0) appealSum = 0; - if (shared192D0.turnOrder[shared192D0.contestant] == 0 || appealSum == 0) + if (eContestResources8.turnOrder[eContestResources8.contestant] == 0 || appealSum == 0) { - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_NOT_WELL); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_NOT_WELL); } else { - sContestantStatus[shared192D0.contestant].appeal2 += appealSum / 2; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_WORK_BEFORE); + eContestantStatus[eContestResources8.contestant].appeal2 += appealSum / 2; + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_WORK_BEFORE); } - sContestantStatus[shared192D0.contestant].appeal2 = RoundTowardsZero(sContestantStatus[shared192D0.contestant].appeal2); + eContestantStatus[eContestResources8.contestant].appeal2 = RoundTowardsZero(eContestantStatus[eContestResources8.contestant].appeal2); } // Makes the appeal as good as the one before it. @@ -567,45 +567,45 @@ static void ContestEffect_AppealAsGoodAsPrevOne(void) { s16 appeal = 0; - if (shared192D0.turnOrder[shared192D0.contestant] != 0) + if (eContestResources8.turnOrder[eContestResources8.contestant] != 0) { int i; for (i = 0; i < 4; i++) { - if (shared192D0.turnOrder[shared192D0.contestant] - 1 == shared192D0.turnOrder[i]) - appeal = sContestantStatus[i].appeal2; + if (eContestResources8.turnOrder[eContestResources8.contestant] - 1 == eContestResources8.turnOrder[i]) + appeal = eContestantStatus[i].appeal2; } } - if (shared192D0.turnOrder[shared192D0.contestant] == 0 || appeal <= 0) + if (eContestResources8.turnOrder[eContestResources8.contestant] == 0 || appeal <= 0) { - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_NOT_WELL2); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_NOT_WELL2); } else { - sContestantStatus[shared192D0.contestant].appeal2 += appeal; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_WORK_PRECEDING); + eContestantStatus[eContestResources8.contestant].appeal2 += appeal; + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_WORK_PRECEDING); } } // The appeal works better the later it is performed. static void ContestEffect_BetterWhenLater(void) { - u8 whichTurn = shared192D0.turnOrder[shared192D0.contestant]; + u8 whichTurn = eContestResources8.turnOrder[eContestResources8.contestant]; if (whichTurn == 0) - sContestantStatus[shared192D0.contestant].appeal2 = 10; + eContestantStatus[eContestResources8.contestant].appeal2 = 10; else - sContestantStatus[shared192D0.contestant].appeal2 = 20 * whichTurn; + eContestantStatus[eContestResources8.contestant].appeal2 = 20 * whichTurn; if (whichTurn == 0) - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_NOT_SHOWN_WELL); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_NOT_SHOWN_WELL); else if (whichTurn == 1) - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_SLIGHTLY_WELL); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_SLIGHTLY_WELL); else if (whichTurn == 2) - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_PRETTY_WELL); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_PRETTY_WELL); else - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_EXCELLENTLY); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_EXCELLENTLY); } -// The appeal’s quality varies depending on its timing. +// The appeal's quality varies depending on its timing. static void ContestEffect_QualityDependsOnTiming(void) { u8 rval = Random() % 10; @@ -614,31 +614,31 @@ static void ContestEffect_QualityDependsOnTiming(void) if (rval < 3) { appeal = 10; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_NOT_VERY_WELL); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_NOT_VERY_WELL); } else if (rval < 6) { appeal = 20; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_SLIGHTLY_WELL2); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_SLIGHTLY_WELL2); } else if (rval < 8) { appeal = 40; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_PRETTY_WELL2); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_PRETTY_WELL2); } else if (rval < 9) { appeal = 60; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_VERY_WELL); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_VERY_WELL); } else { appeal = 80; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_EXCELLENTLY2); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_EXCELLENTLY2); } - sContestantStatus[shared192D0.contestant].appeal2 = appeal; + eContestantStatus[eContestResources8.contestant].appeal2 = appeal; } static void ContestEffect_BetterIfSameType(void) { - s8 turnOrder = shared192D0.turnOrder[shared192D0.contestant]; + s8 turnOrder = eContestResources8.turnOrder[eContestResources8.contestant]; s8 i = turnOrder - 1, j; u16 move; @@ -649,10 +649,10 @@ static void ContestEffect_BetterIfSameType(void) { for (j = 0; j < 4; j++) { - if (shared192D0.turnOrder[j] == i) + if (eContestResources8.turnOrder[j] == i) break; } - if (sContestantStatus[j].noMoreTurns || sContestantStatus[j].nervous || sContestantStatus[j].numTurnsSkipped) + if (eContestantStatus[j].noMoreTurns || eContestantStatus[j].nervous || eContestantStatus[j].numTurnsSkipped) { if (--i < 0) return; @@ -663,29 +663,29 @@ static void ContestEffect_BetterIfSameType(void) } } - move = sContestantStatus[shared192D0.contestant].currMove; - if (gContestMoves[move].contestCategory == gContestMoves[sContestantStatus[j].currMove].contestCategory) + move = eContestantStatus[eContestResources8.contestant].currMove; + if (gContestMoves[move].contestCategory == gContestMoves[eContestantStatus[j].currMove].contestCategory) { - sContestantStatus[shared192D0.contestant].appeal2 += gContestEffects[gContestMoves[move].effect].appeal * 2; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_SAME_TYPE_GOOD); + eContestantStatus[eContestResources8.contestant].appeal2 += gContestEffects[gContestMoves[move].effect].appeal * 2; + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_SAME_TYPE_GOOD); } } // Works well if different in type than the one before. static void ContestEffect_BetterIfDiffType(void) { - if (shared192D0.turnOrder[shared192D0.contestant] != 0) + if (eContestResources8.turnOrder[eContestResources8.contestant] != 0) { - u16 move = sContestantStatus[shared192D0.contestant].currMove; + u16 move = eContestantStatus[eContestResources8.contestant].currMove; int i; for (i = 0; i < 4; i++) { - if (shared192D0.turnOrder[shared192D0.contestant] - 1 == shared192D0.turnOrder[i] && - gContestMoves[move].contestCategory != gContestMoves[sContestantStatus[i].currMove].contestCategory) + if (eContestResources8.turnOrder[eContestResources8.contestant] - 1 == eContestResources8.turnOrder[i] && + gContestMoves[move].contestCategory != gContestMoves[eContestantStatus[i].currMove].contestCategory) { - sContestantStatus[shared192D0.contestant].appeal2 += gContestEffects[gContestMoves[move].effect].appeal * 2; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_DIFF_TYPE_GOOD); + eContestantStatus[eContestResources8.contestant].appeal2 += gContestEffects[gContestMoves[move].effect].appeal * 2; + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_DIFF_TYPE_GOOD); break; } } @@ -695,52 +695,52 @@ static void ContestEffect_BetterIfDiffType(void) // Affected by how well the appeal in front goes. static void ContestEffect_AffectedByPrevAppeal(void) { - if (shared192D0.turnOrder[shared192D0.contestant] != 0) + if (eContestResources8.turnOrder[eContestResources8.contestant] != 0) { int i; for (i = 0; i < 4; i++) { - if (shared192D0.turnOrder[shared192D0.contestant] - 1 == shared192D0.turnOrder[i]) + if (eContestResources8.turnOrder[eContestResources8.contestant] - 1 == eContestResources8.turnOrder[i]) { - if (sContestantStatus[shared192D0.contestant].appeal2 > sContestantStatus[i].appeal2) + if (eContestantStatus[eContestResources8.contestant].appeal2 > eContestantStatus[i].appeal2) { - sContestantStatus[shared192D0.contestant].appeal2 *= 2; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_STOOD_OUT_AS_MUCH); + eContestantStatus[eContestResources8.contestant].appeal2 *= 2; + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_STOOD_OUT_AS_MUCH); } - else if (sContestantStatus[shared192D0.contestant].appeal2 < sContestantStatus[i].appeal2) + else if (eContestantStatus[eContestResources8.contestant].appeal2 < eContestantStatus[i].appeal2) { - sContestantStatus[shared192D0.contestant].appeal2 = 0; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_NOT_AS_WELL); + eContestantStatus[eContestResources8.contestant].appeal2 = 0; + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_NOT_AS_WELL); } } } } } -// Ups the user’s condition. Helps prevent nervousness. +// Ups the user's condition. Helps prevent nervousness. static void ContestEffect_ImproveConditionPreventNervousness(void) { - if (sContestantStatus[shared192D0.contestant].condition < 30) + if (eContestantStatus[eContestResources8.contestant].condition < 30) { - sContestantStatus[shared192D0.contestant].condition += 10; - sContestantStatus[shared192D0.contestant].conditionMod = 1; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_CONDITION_ROSE); + eContestantStatus[eContestResources8.contestant].condition += 10; + eContestantStatus[eContestResources8.contestant].conditionMod = 1; + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_CONDITION_ROSE); } else { - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_NO_CONDITION_IMPROVE); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_NO_CONDITION_IMPROVE); } } -// The appeal works well if the user’s condition is good. +// The appeal works well if the user's condition is good. static void ContestEffect_BetterWithGoodCondition(void) { - sContestantStatus[shared192D0.contestant].appealTripleCondition = TRUE; - if (sContestantStatus[shared192D0.contestant].condition != 0) - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_HOT_STATUS); + eContestantStatus[eContestResources8.contestant].appealTripleCondition = TRUE; + if (eContestantStatus[eContestResources8.contestant].condition != 0) + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_HOT_STATUS); else - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_BAD_CONDITION_WEAK_APPEAL); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_BAD_CONDITION_WEAK_APPEAL); } // The next appeal can be made earlier next turn. @@ -750,20 +750,20 @@ static void ContestEffect_NextAppealEarlier(void) s8 j; u8 turnOrder[4]; - if (sContest.turnNumber != 4) + if (eContest.turnNumber != 4) { for (i = 0; i < 4; i++) - turnOrder[i] = sContestantStatus[i].nextTurnOrder; + turnOrder[i] = eContestantStatus[i].nextTurnOrder; - turnOrder[shared192D0.contestant] = 0xFF; + turnOrder[eContestResources8.contestant] = 0xFF; for (i = 0; i < 4; i++) { for (j = 0; j < 4; j++) { - if (j != shared192D0.contestant && + if (j != eContestResources8.contestant && i == turnOrder[j] && - turnOrder[j] == sContestantStatus[j].nextTurnOrder) + turnOrder[j] == eContestantStatus[j].nextTurnOrder) { turnOrder[j]++; break; @@ -773,15 +773,15 @@ static void ContestEffect_NextAppealEarlier(void) break; } - turnOrder[shared192D0.contestant] = 0; - sContestantStatus[shared192D0.contestant].turnOrderMod = 1; + turnOrder[eContestResources8.contestant] = 0; + eContestantStatus[eContestResources8.contestant].turnOrderMod = 1; for (i = 0; i < 4; i++) { - sContestantStatus[i].nextTurnOrder = turnOrder[i]; + eContestantStatus[i].nextTurnOrder = turnOrder[i]; } - sContestantStatus[shared192D0.contestant].turnOrderModAction = 1; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_MOVE_UP_LINE); + eContestantStatus[eContestResources8.contestant].turnOrderModAction = 1; + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_MOVE_UP_LINE); } } @@ -792,20 +792,20 @@ static void ContestEffect_NextAppealLater(void) s8 j; u8 turnOrder[4]; - if (sContest.turnNumber != 4) + if (eContest.turnNumber != 4) { for (i = 0; i < 4; i++) - turnOrder[i] = sContestantStatus[i].nextTurnOrder; + turnOrder[i] = eContestantStatus[i].nextTurnOrder; - turnOrder[shared192D0.contestant] = 0xFF; + turnOrder[eContestResources8.contestant] = 0xFF; for (i = 3; i > -1; i--) { for (j = 0; j < 4; j++) { - if (j != shared192D0.contestant && + if (j != eContestResources8.contestant && i == turnOrder[j] && - turnOrder[j] == sContestantStatus[j].nextTurnOrder) + turnOrder[j] == eContestantStatus[j].nextTurnOrder) { turnOrder[j]--; break; @@ -815,19 +815,19 @@ static void ContestEffect_NextAppealLater(void) break; } - turnOrder[shared192D0.contestant] = 3; - sContestantStatus[shared192D0.contestant].turnOrderMod = 1; + turnOrder[eContestResources8.contestant] = 3; + eContestantStatus[eContestResources8.contestant].turnOrderMod = 1; for (i = 0; i < 4; i++) { - sContestantStatus[i].nextTurnOrder = turnOrder[i]; + eContestantStatus[i].nextTurnOrder = turnOrder[i]; } - sContestantStatus[shared192D0.contestant].turnOrderModAction = 2; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_MOVE_BACK_LINE); + eContestantStatus[eContestResources8.contestant].turnOrderModAction = 2; + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_MOVE_BACK_LINE); } } -// Makes the next turn’s order more easily scrambled. +// Makes the next turn's order more easily scrambled. static void ContestEffect_MakeScramblingTurnOrderEasier(void) { // dummied out? @@ -841,11 +841,11 @@ static void ContestEffect_ScrambleNextTurnOrder(void) u8 turnOrder[4]; u8 unselectedContestants[4]; - if (sContest.turnNumber != 4) + if (eContest.turnNumber != 4) { for (i = 0; i < 4; i++) { - turnOrder[i] = sContestantStatus[i].nextTurnOrder; + turnOrder[i] = eContestantStatus[i].nextTurnOrder; unselectedContestants[i] = i; } @@ -871,24 +871,24 @@ static void ContestEffect_ScrambleNextTurnOrder(void) for (i = 0; i < 4; i++) { - sContestantStatus[i].nextTurnOrder = turnOrder[i]; - sContestantStatus[i].turnOrderMod = 2; + eContestantStatus[i].nextTurnOrder = turnOrder[i]; + eContestantStatus[i].turnOrderMod = 2; } - sContestantStatus[shared192D0.contestant].turnOrderModAction = 3; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_SCRAMBLE_ORDER); + eContestantStatus[eContestResources8.contestant].turnOrderModAction = 3; + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_SCRAMBLE_ORDER); } } // An appeal that excites the audience in any CONTEST. static void ContestEffect_ExciteAudienceInAnyContest(void) { - if (gContestMoves[sContestantStatus[shared192D0.contestant].currMove].contestCategory != gSpecialVar_ContestCategory) + if (gContestMoves[eContestantStatus[eContestResources8.contestant].currMove].contestCategory != gSpecialVar_ContestCategory) { - sContestantStatus[shared192D0.contestant].overrideCategoryExcitementMod = TRUE; + eContestantStatus[eContestResources8.contestant].overrideCategoryExcitementMod = TRUE; } } -// Badly startles all POKéMON that made good appeals. +// Badly startles all POKéMON that made good appeals. static void ContestEffect_BadlyStartleMonsWithGoodAppeals(void) { int i; @@ -896,24 +896,24 @@ static void ContestEffect_BadlyStartleMonsWithGoodAppeals(void) for (i = 0; i < 4; i++) { - if (shared192D0.turnOrder[shared192D0.contestant] > shared192D0.turnOrder[i]) + if (eContestResources8.turnOrder[eContestResources8.contestant] > eContestResources8.turnOrder[i]) { - if (sContestantStatus[i].appeal2 > 0) + if (eContestantStatus[i].appeal2 > 0) { - shared192D0.jam = sContestantStatus[i].appeal2 / 2; - shared192D0.jam = RoundUp(shared192D0.jam); + eContestResources8.jam = eContestantStatus[i].appeal2 / 2; + eContestResources8.jam = RoundUp(eContestResources8.jam); } else - shared192D0.jam = 10; - shared192D0.jamQueue[0] = i; - shared192D0.jamQueue[1] = 0xFF; + eContestResources8.jam = 10; + eContestResources8.jamQueue[0] = i; + eContestResources8.jamQueue[1] = 0xFF; if (WasAtLeastOneOpponentJammed()) numJammed++; } } if (numJammed == 0) - SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); + SetContestantEffectStringID2(eContestResources8.contestant, CONTEST_STRING_MESSED_UP2); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_ATTEMPT_STARTLE); } // The appeal works best the more the crowd is excited. @@ -921,42 +921,42 @@ static void ContestEffect_BetterWhenAudienceExcited(void) { s16 appeal; - if (sContest.applauseLevel == 0) + if (eContest.applauseLevel == 0) { appeal = 10; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_NOT_VERY_WELL); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_NOT_VERY_WELL); } - else if (sContest.applauseLevel == 1) + else if (eContest.applauseLevel == 1) { appeal = 20; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_SLIGHTLY_WELL2); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_SLIGHTLY_WELL2); } - else if (sContest.applauseLevel == 2) + else if (eContest.applauseLevel == 2) { appeal = 30; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_PRETTY_WELL2); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_PRETTY_WELL2); } - else if (sContest.applauseLevel == 3) + else if (eContest.applauseLevel == 3) { appeal = 50; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_VERY_WELL); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_VERY_WELL); } else { appeal = 60; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_EXCELLENTLY2); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_EXCELLENTLY2); } - sContestantStatus[shared192D0.contestant].appeal2 = appeal; + eContestantStatus[eContestResources8.contestant].appeal2 = appeal; } // Temporarily stops the crowd from growing excited. static void ContestEffect_DontExciteAudience(void) { - if (!shared19328.excitementFrozen) + if (!eContestResources10.excitementFrozen) { - shared19328.excitementFrozen = TRUE; - shared19328.excitementFreezer = shared192D0.contestant; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTRACTED_ATTENTION); + eContestResources10.excitementFrozen = TRUE; + eContestResources10.excitementFreezer = eContestResources8.contestant; + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_ATTRACTED_ATTENTION); } } @@ -967,38 +967,38 @@ static void JamByMoveCategory(u8 category) for (i = 0; i < 4; i++) { - if (shared192D0.turnOrder[shared192D0.contestant] > shared192D0.turnOrder[i]) + if (eContestResources8.turnOrder[eContestResources8.contestant] > eContestResources8.turnOrder[i]) { - if (category == gContestMoves[sContestantStatus[i].currMove].contestCategory) - shared192D0.jam = 40; + if (category == gContestMoves[eContestantStatus[i].currMove].contestCategory) + eContestResources8.jam = 40; else - shared192D0.jam = 10; - shared192D0.jamQueue[0] = i; - shared192D0.jamQueue[1] = 0xFF; + eContestResources8.jam = 10; + eContestResources8.jamQueue[0] = i; + eContestResources8.jamQueue[1] = 0xFF; if (WasAtLeastOneOpponentJammed()) numJammed++; } } if (numJammed == 0) - SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); + SetContestantEffectStringID2(eContestResources8.contestant, CONTEST_STRING_MESSED_UP2); } static bool8 CanUnnerveContestant(u8 i) { - shared192D0.unnervedPokes[i] = 1; - if (sContestantStatus[i].immune) + eContestResources8.unnervedPokes[i] = 1; + if (eContestantStatus[i].immune) { SetContestantEffectStringID(i, CONTEST_STRING_AVOID_SEEING); return FALSE; } - else if (sContestantStatus[i].jamSafetyCount != 0) + else if (eContestantStatus[i].jamSafetyCount != 0) { - sContestantStatus[i].jamSafetyCount--; + eContestantStatus[i].jamSafetyCount--; SetContestantEffectStringID(i, CONTEST_STRING_AVERT_GAZE); return FALSE; } - else if (!sContestantStatus[i].noMoreTurns && sContestantStatus[i].numTurnsSkipped == 0) + else if (!eContestantStatus[i].noMoreTurns && eContestantStatus[i].numTurnsSkipped == 0) { return TRUE; } @@ -1013,32 +1013,32 @@ static bool8 WasAtLeastOneOpponentJammed(void) s16 jamBuffer[4] = {0}; int i; - for (i = 0; shared192D0.jamQueue[i] != 0xFF; i++) + for (i = 0; eContestResources8.jamQueue[i] != 0xFF; i++) { - u8 contestant = shared192D0.jamQueue[i]; + u8 contestant = eContestResources8.jamQueue[i]; if (CanUnnerveContestant(contestant)) { - shared192D0.jam2 = shared192D0.jam; - if (sContestantStatus[contestant].moreEasilyStartled) - shared192D0.jam2 *= 2; - if (sContestantStatus[contestant].resistant) + eContestResources8.jam2 = eContestResources8.jam; + if (eContestantStatus[contestant].moreEasilyStartled) + eContestResources8.jam2 *= 2; + if (eContestantStatus[contestant].resistant) { - shared192D0.jam2 = 10; + eContestResources8.jam2 = 10; SetContestantEffectStringID(contestant, CONTEST_STRING_LITTLE_DISTRACTED); } else { - shared192D0.jam2 -= sContestantStatus[contestant].jamReduction; - if (shared192D0.jam2 <= 0) + eContestResources8.jam2 -= eContestantStatus[contestant].jamReduction; + if (eContestResources8.jam2 <= 0) { - shared192D0.jam2 = 0; + eContestResources8.jam2 = 0; SetContestantEffectStringID(contestant, CONTEST_STRING_NOT_FAZED); } else { - JamContestant(contestant, shared192D0.jam2); - SetStartledString(contestant, shared192D0.jam2); - jamBuffer[contestant] = shared192D0.jam2; + JamContestant(contestant, eContestResources8.jam2); + SetStartledString(contestant, eContestResources8.jam2); + jamBuffer[contestant] = eContestResources8.jam2; } } } @@ -1054,8 +1054,8 @@ static bool8 WasAtLeastOneOpponentJammed(void) static void JamContestant(u8 i, u8 jam) { - sContestantStatus[i].appeal2 -= jam; - sContestantStatus[i].jam += jam; + eContestantStatus[i].appeal2 -= jam; + eContestantStatus[i].jam += jam; } static s16 RoundTowardsZero(s16 score) diff --git a/src/contest_link_80F57C4.c b/src/contest_link_80F57C4.c index 59f41d72af..bae7859b54 100644 --- a/src/contest_link_80F57C4.c +++ b/src/contest_link_80F57C4.c @@ -6,6 +6,7 @@ #include "contest.h" #include "contest_link_80F57C4.h" #include "contest_link_80FC4F4.h" +#include "data.h" #include "decompress.h" #include "dma3.h" #include "event_data.h" @@ -86,7 +87,6 @@ struct ContestLink80F57C4 EWRAM_DATA struct ContestLink80F57C4 *gUnknown_0203A034 = NULL; -extern const struct CompressedSpriteSheet gMonFrontPicTable[]; extern const struct BgTemplate gUnknown_0858D888[4]; extern const struct WindowTemplate gUnknown_0858D898[]; extern const struct CompressedSpriteSheet gUnknown_0858D878[]; @@ -121,7 +121,7 @@ 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); +s32 sub_80F6B78(const u8 *, u8); static void sub_80F6E9C(s16, u16, u16, u16); static void sub_80F6058(u8); static void sub_80F7A80(u8, u8); @@ -309,7 +309,7 @@ void sub_80F5B00(void) gBattle_WIN1V = 0x80A0; CreateTask(sub_80F68B4, 20); sub_80F7880(); - if (gIsLinkContest & 0x2) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS) gPaletteFade.bufferTransferDisabled = 1; else PlayBGM(MUS_CON_K); @@ -351,12 +351,12 @@ static void sub_80F5CE4(u8 taskId) { u16 var; - if (gIsLinkContest & 1) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) { switch (gTasks[taskId].data[0]) { case 0: - sub_80DBED4(); + SaveLinkContestResults(); if (gContestFinalStandings[gContestPlayerMonIndex] == 0) { IncrementGameStat(GAME_STAT_WON_LINK_CONTEST); @@ -381,7 +381,7 @@ static void sub_80F5CE4(u8 taskId) break; case 1: gTasks[taskId].data[0]++; - if (!(gIsLinkContest & 0x2)) + if (!(gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS)) gTasks[taskId].data[0] = 100; break; case 2: @@ -406,7 +406,7 @@ static void sub_80F5CE4(u8 taskId) if (!gPaletteFade.active) { gTasks[taskId].data[0] = 0; - if (gIsLinkContest & 0x1) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) { sub_80F707C(gText_CommunicationStandby); gTasks[taskId].func = sub_80F5ED8; @@ -742,7 +742,7 @@ static void sub_80F66B4(u8 taskId) if (gMain.newKeys & A_BUTTON) { - if (!(gIsLinkContest & 0x1)) + if (!(gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)) { for (i = 0; i < 4; i++) { @@ -758,7 +758,7 @@ static void sub_80F66B4(u8 taskId) static void sub_80F671C(u8 taskId) { - if (gIsLinkContest & 0x1) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) { if (!gTasks[taskId].data[10]) { @@ -777,7 +777,7 @@ static void sub_80F677C(u8 taskId) { if (!gReceivedRemoteLinkPlayers) { - if (gIsLinkContest & 0x2) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS) DestroyWirelessStatusIndicatorSprite(); sub_80F7144(); @@ -787,7 +787,7 @@ static void sub_80F677C(u8 taskId) static void sub_80F67C4(u8 taskId) { - if (!(gIsLinkContest & 0x1)) + if (!(gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)) BravoTrainerPokemonProfile_BeforeInterview2(gContestFinalStandings[gContestPlayerMonIndex]); BeginHardwarePaletteFade(0xFF, 0, 0, 16, 0); @@ -907,9 +907,9 @@ static void sub_80F6AE8(void) u16 sheet; u8 spriteId; - if (gIsLinkContest & 0x2) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS) { - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(8, 8); gSprites[gWirelessStatusIndicatorSpriteId].subpriority = 1; sheet = LoadSpriteSheet(&gUnknown_0858D8E0); @@ -919,39 +919,76 @@ static void sub_80F6AE8(void) } } -// 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; +// Functionally equivalent, the same except compiler generated variables from +// src are placed on different stack positions. -// memset(windowTemplate, 0, sizeof(*windowTemplate)); -// windowTemplate.width = 30; -// windowTemplate.height = 2; -// windowId = AddWindow(&windowTemplate); -// FillWindowPixelBuffer(windowId, PIXEL_FILL(1)); -// origWidth = GetStringWidth(1, text, 0) + 9; -// strWidth = origWidth; -// if (strWidth < 0) -// strWidth += 7; +#ifdef NONMATCHING +s32 sub_80F6B78(const u8 *text, u8 spriteId) +{ + u8 *windowTilesPtr; + u16 windowId; + int origWidth; + struct WindowTemplate windowTemplate; + int strWidth; + u8 *spriteTilePtrs[4]; + u8 *dst; + int i; + struct Sprite *sprite; + const u8 *src; // The culprit. -// strWidth >>= 3; -// if (strWidth > 30) -// strWidth = 30; + memset(&windowTemplate, 0, sizeof(windowTemplate)); + windowTemplate.width = 30; + windowTemplate.height = 2; + windowId = AddWindow(&windowTemplate); + FillWindowPixelBuffer(windowId, PIXEL_FILL(1)); -// AddTextPrinterParameterized3(windowId, 1, (strWidth * 8 - origWidth) / 2, 1, gUnknown_0858D8E8, -1, text); -// windowTileData = (u8 *)GetWindowAttribute(windowId, WINDOW_TILE_DATA); -// r8 = gUnknown_0858D6D0; -// // .... -// } + origWidth = GetStringWidth(1, text, 0); + strWidth = (origWidth + 9) / 8; + if (strWidth > 30) + strWidth = 30; + AddTextPrinterParameterized3(windowId, 1, (strWidth * 8 - origWidth) / 2, 1, gUnknown_0858D8E8, -1, text); + windowTilesPtr = (u8 *)(GetWindowAttribute(windowId, WINDOW_TILE_DATA)); + src = (u8 *)(gUnknown_0858D6D0); + + sprite = &gSprites[spriteId]; + spriteTilePtrs[0] = (u8 *)(sprite->oam.tileNum * 32 + VRAM + 0x10000); + + for (i = 1; i < 4; i++) + spriteTilePtrs[i] = (void*)(gSprites[sprite->data[i - 1]].oam.tileNum * 32 + VRAM + 0x10000); + + for (i = 0; i < 4; i++) + CpuFill32(0, spriteTilePtrs[i], 0x400); + + dst = spriteTilePtrs[0]; + CpuCopy32(src, dst, 0x20); + CpuCopy32(src + 128, dst + 0x100, 0x20); + CpuCopy32(src + 128, dst + 0x200, 0x20); + CpuCopy32(src + 64, dst + 0x300, 0x20); + + for (i = 0; i < strWidth; i++) + { + dst = &spriteTilePtrs[(i + 1) / 8][((i + 1) % 8) * 32]; + CpuCopy32(src + 192, dst, 0x20); + CpuCopy32(windowTilesPtr, dst + 0x100, 0x20); + CpuCopy32(windowTilesPtr + 960, dst + 0x200, 0x20); + CpuCopy32(src + 224, dst + 0x300, 0x20); + windowTilesPtr += 0x20; + } + + dst = &spriteTilePtrs[(i + 1) / 8][((i + 1) % 8) * 32]; + CpuCopy32(src + 32, dst, 0x20); + CpuCopy32(src + 160, dst + 0x100, 0x20); + CpuCopy32(src + 160, dst + 0x200, 0x20); + CpuCopy32(src + 96, dst + 0x300, 0x20); + RemoveWindow(windowId); + + return (240 - (strWidth + 2) * 8) / 2; +} + +#else NAKED -s16 sub_80F6B78(const u8 *text, u8 spriteId) +s32 sub_80F6B78(const u8 *text, u8 spriteId) { asm_unified("\n\ push {r4-r7,lr}\n\ @@ -1224,6 +1261,7 @@ _080F6D3E:\n\ bx r1\n\ .pool"); } +#endif // NONMATCHING static void sub_80F6DC0(void) { @@ -1392,7 +1430,7 @@ static void sub_80F71C8(void) x = 5; y = 1; - if (gIsLinkContest & 0x1) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) { CopyToBgTilemapBufferRect(2, gUnknown_08DC6498, 5, 1, 5, 2); x = 10; @@ -1630,7 +1668,7 @@ void sub_80F7768(struct Sprite *sprite) sprite->pos1.y++; if (gUnknown_0203A034->unk0->unk9) sprite->invisible = 1; - + if (sprite->pos1.x > 248 || sprite->pos1.y > 116) { DestroySprite(sprite); @@ -2091,7 +2129,7 @@ _080F7A70:\n\ // if (spC) // PlaySE(SE_PIN); - + // if (sp8) // PlaySE(SE_BAN); // } @@ -2358,38 +2396,32 @@ _080F7C96:\n\ bx r0"); } -#ifdef NONMATCHING void sub_80F7CA8(u8 taskId) { - register int r4 asm("r4"); - int r9; - u8 r6; - s16 r7; - s16 r12; int i; u8 var0; u16 tileNum; + bool32 r4 = FALSE; + bool32 endTask = FALSE; + u8 r6 = gTasks[taskId].data[0]; + s16 r7 = gTasks[taskId].data[1]; + s16 r12 = gTasks[taskId].data[2]; - r4 = 0; - r9 = 0; - r6 = gTasks[taskId].data[0]; - r7 = gTasks[taskId].data[1]; - r12 = gTasks[taskId].data[2]; if (r12) { if (gUnknown_0203A034->unk0->unkC[r6] <= 0) - r4 = 1; + r4 = TRUE; } else { if (gUnknown_0203A034->unk0->unkC[r6] > 87) - r4 = 1; + r4 = TRUE; } if (gUnknown_0203A034->unk0->unkC[r6] == r7) - r9 = 1; + endTask = TRUE; - if (!r9) + if (!endTask) { if (r4) gUnknown_0203A034->unk0->unkC[r6] = r7; @@ -2399,220 +2431,32 @@ void sub_80F7CA8(u8 taskId) gUnknown_0203A034->unk0->unkC[r6] = gUnknown_0203A034->unk0->unkC[r6] + 1; } - if (!r4 && !r9) + if (!r4 && !endTask) { for (i = 0; i < 11; i++) { if (gUnknown_0203A034->unk0->unkC[r6] >= (i + 1) * 8) - { var0 = 8; - } else if (gUnknown_0203A034->unk0->unkC[r6] >= i * 8) - { - int var2 = gUnknown_0203A034->unk0->unkC[r6]; - int var1 = var2; - if (var1 < 0) - var1 += 7; - - var0 = var2 - ((var1 >> 3) << 3); - } + var0 = gUnknown_0203A034->unk0->unkC[r6] % 8; else - { var0 = 0; - } if (var0 < 4) - tileNum = 0x504C; + tileNum = 0x504C + var0; else - tileNum = 0x5057; + tileNum = 0x5057 + var0; - FillBgTilemapBufferRect_Palette0(2, tileNum + var0, i + 7, r6 * 3 + 6, 1, 1); + FillBgTilemapBufferRect_Palette0(2, tileNum, i + 7, r6 * 3 + 6, 1, 1); } } - - if (r9) + + if (endTask) { gUnknown_0203A034->unk0->unk14--; DestroyTask(taskId); } } -#else -NAKED -void sub_80F7CA8(u8 taskId) -{ - asm_unified("\n\ - push {r4-r7,lr}\n\ - mov r7, r9\n\ - mov r6, r8\n\ - push {r6,r7}\n\ - sub sp, 0x8\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - mov r8, r0\n\ - movs r4, 0\n\ - mov r9, r4\n\ - ldr r1, =gTasks\n\ - lsls r0, 2\n\ - add r0, r8\n\ - lsls r0, 3\n\ - adds r0, r1\n\ - ldrb r6, [r0, 0x8]\n\ - ldrh r7, [r0, 0xA]\n\ - ldrh r1, [r0, 0xC]\n\ - mov r12, r1\n\ - movs r2, 0xC\n\ - ldrsh r0, [r0, r2]\n\ - cmp r0, 0\n\ - beq _080F7CF8\n\ - ldr r2, =gUnknown_0203A034\n\ - ldr r0, [r2]\n\ - ldr r0, [r0]\n\ - lsls r1, r6, 1\n\ - adds r0, 0xC\n\ - adds r0, r1\n\ - movs r3, 0\n\ - ldrsh r0, [r0, r3]\n\ - adds r5, r1, 0\n\ - cmp r0, 0\n\ - bgt _080F7D10\n\ - b _080F7D0E\n\ - .pool\n\ -_080F7CF8:\n\ - ldr r2, =gUnknown_0203A034\n\ - ldr r0, [r2]\n\ - ldr r0, [r0]\n\ - lsls r1, r6, 1\n\ - adds r0, 0xC\n\ - adds r0, r1\n\ - movs r3, 0\n\ - ldrsh r0, [r0, r3]\n\ - adds r5, r1, 0\n\ - cmp r0, 0x57\n\ - ble _080F7D10\n\ -_080F7D0E:\n\ - movs r4, 0x1\n\ -_080F7D10:\n\ - ldr r0, [r2]\n\ - ldr r0, [r0]\n\ - adds r0, 0xC\n\ - adds r2, r0, r5\n\ - ldrh r3, [r2]\n\ - movs r0, 0\n\ - ldrsh r1, [r2, r0]\n\ - lsls r0, r7, 16\n\ - asrs r0, 16\n\ - cmp r1, r0\n\ - bne _080F7D2A\n\ - movs r1, 0x1\n\ - mov r9, r1\n\ -_080F7D2A:\n\ - mov r0, r9\n\ - cmp r0, 0\n\ - bne _080F7D4A\n\ - cmp r4, 0\n\ - beq _080F7D3C\n\ - strh r7, [r2]\n\ - b _080F7D4A\n\ - .pool\n\ -_080F7D3C:\n\ - mov r1, r12\n\ - cmp r1, 0\n\ - beq _080F7D46\n\ - subs r0, r3, 0x1\n\ - b _080F7D48\n\ -_080F7D46:\n\ - adds r0, r3, 0x1\n\ -_080F7D48:\n\ - strh r0, [r2]\n\ -_080F7D4A:\n\ - cmp r4, 0\n\ - bne _080F7DC4\n\ - mov r2, r9\n\ - cmp r2, 0\n\ - bne _080F7DCA\n\ - movs r2, 0\n\ -_080F7D56:\n\ - ldr r0, =gUnknown_0203A034\n\ - ldr r0, [r0]\n\ - ldr r0, [r0]\n\ - adds r0, 0xC\n\ - adds r0, r5\n\ - movs r1, 0\n\ - ldrsh r3, [r0, r1]\n\ - adds r0, r2, 0x1\n\ - lsls r1, r0, 3\n\ - adds r4, r0, 0\n\ - cmp r3, r1\n\ - blt _080F7D78\n\ - movs r0, 0x8\n\ - b _080F7D94\n\ - .pool\n\ -_080F7D78:\n\ - lsls r0, r2, 3\n\ - cmp r3, r0\n\ - blt _080F7D92\n\ - adds r0, r3, 0\n\ - cmp r3, 0\n\ - bge _080F7D86\n\ - adds r0, r3, 0x7\n\ -_080F7D86:\n\ - asrs r0, 3\n\ - lsls r0, 3\n\ - subs r0, r3, r0\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - b _080F7D94\n\ -_080F7D92:\n\ - movs r0, 0\n\ -_080F7D94:\n\ - cmp r0, 0x3\n\ - bhi _080F7DA0\n\ - ldr r3, =0x0000504c\n\ - b _080F7DA2\n\ - .pool\n\ -_080F7DA0:\n\ - ldr r3, =0x00005057\n\ -_080F7DA2:\n\ - adds r1, r0, r3\n\ - adds r2, 0x7\n\ - lsls r2, 24\n\ - lsrs r2, 24\n\ - adds r3, r5, r6\n\ - adds r3, 0x6\n\ - lsls r3, 24\n\ - movs r0, 0x1\n\ - str r0, [sp]\n\ - str r0, [sp, 0x4]\n\ - movs r0, 0x2\n\ - lsrs r3, 24\n\ - bl FillBgTilemapBufferRect_Palette0\n\ - adds r2, r4, 0\n\ - cmp r2, 0xA\n\ - ble _080F7D56\n\ -_080F7DC4:\n\ - mov r0, r9\n\ - cmp r0, 0\n\ - beq _080F7DDC\n\ -_080F7DCA:\n\ - ldr r0, =gUnknown_0203A034\n\ - ldr r0, [r0]\n\ - ldr r1, [r0]\n\ - ldrb r0, [r1, 0x14]\n\ - subs r0, 0x1\n\ - strb r0, [r1, 0x14]\n\ - mov r0, r8\n\ - bl DestroyTask\n\ -_080F7DDC:\n\ - add sp, 0x8\n\ - pop {r3,r4}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .pool"); -} -#endif // NONMATCHING static void sub_80F7DF4(void) { @@ -2830,7 +2674,7 @@ void sub_80F8390(void) void sub_80F83D0(void) { - SetMainCallback2(sub_80D7B24); + SetMainCallback2(CB2_StartContest); } static void sub_80F83E0(u8 taskId) @@ -2886,7 +2730,7 @@ void sub_80F84C4(u8 taskId) static void sub_80F8508(u8 taskId) { - if (gIsLinkContest & 0x4) + if (gLinkContestFlags & LINK_CONTEST_FLAG_HAS_RS_PLAYER) { sub_80DA8C8(gContestMonPartyIndex); SetTaskFuncWithFollowupFunc(taskId, sub_80FC6BC, sub_80F8568); @@ -2913,10 +2757,9 @@ static void sub_80F85A0(u8 taskId) SetTaskFuncWithFollowupFunc(taskId, sub_80FC894, sub_80F85BC); } -#ifdef NONMATCHING static void sub_80F85BC(u8 taskId) { - u32 i; + u8 i; u8 sp0[4]; u8 sp4[4]; @@ -2926,9 +2769,10 @@ static void sub_80F85BC(u8 taskId) for (i = 0; i < gNumLinkContestPlayers; i++) sp0[i] = gTasks[taskId].data[i + 1]; - for (i = 0; i < gNumLinkContestPlayers; i++) + for (i = 0; i < gNumLinkContestPlayers;) { - if (sp0[0] != sp0[i + 1]) + i++; + if (i >= gNumLinkContestPlayers || sp0[0] != sp0[i]) break; } @@ -2939,137 +2783,15 @@ static void sub_80F85BC(u8 taskId) for (i = 0; i < gNumLinkContestPlayers; i++) sp4[i] = gTasks[taskId].data[i + 5]; - + gUnknown_02039F2B = sub_80F86E0(sp4); sub_80DB09C(gSpecialVar_ContestCategory); SetTaskFuncWithFollowupFunc(taskId, sub_80FCF40, sub_80F86B8); } -#else -NAKED -static void sub_80F85BC(u8 taskId) -{ - asm_unified("\n\ - push {r4-r7,lr}\n\ - mov r7, r9\n\ - mov r6, r8\n\ - push {r6,r7}\n\ - sub sp, 0x8\n\ - lsls r0, 24\n\ - lsrs r6, r0, 24\n\ - movs r0, 0\n\ - str r0, [sp]\n\ - str r0, [sp, 0x4]\n\ - movs r3, 0\n\ - ldr r5, =gNumLinkContestPlayers\n\ - mov r12, r5\n\ - ldr r0, =gSpecialVar_0x8004\n\ - mov r9, r0\n\ - add r1, sp, 0x4\n\ - mov r8, r1\n\ - ldrb r0, [r5]\n\ - cmp r3, r0\n\ - bcs _080F8606\n\ - lsls r0, r6, 2\n\ - adds r0, r6\n\ - lsls r4, r0, 3\n\ - ldr r7, =gTasks + 0x8\n\ -_080F85EC:\n\ - mov r1, sp\n\ - adds r2, r1, r3\n\ - adds r1, r3, 0x1\n\ - lsls r0, r1, 1\n\ - adds r0, r4\n\ - adds r0, r7\n\ - ldrh r0, [r0]\n\ - strb r0, [r2]\n\ - lsls r1, 24\n\ - lsrs r3, r1, 24\n\ - ldrb r0, [r5]\n\ - cmp r3, r0\n\ - bcc _080F85EC\n\ -_080F8606:\n\ - movs r3, 0\n\ - mov r1, r12\n\ - ldrb r0, [r1]\n\ - cmp r3, r0\n\ - bcs _080F862A\n\ - adds r4, r0, 0\n\ - mov r2, sp\n\ -_080F8614:\n\ - adds r0, r3, 0x1\n\ - lsls r0, 24\n\ - lsrs r3, r0, 24\n\ - cmp r3, r4\n\ - bcs _080F862A\n\ - mov r0, sp\n\ - adds r1, r0, r3\n\ - ldrb r0, [r2]\n\ - ldrb r1, [r1]\n\ - cmp r0, r1\n\ - beq _080F8614\n\ -_080F862A:\n\ - mov r1, r12\n\ - ldrb r1, [r1]\n\ - cmp r3, r1\n\ - bne _080F8644\n\ - movs r0, 0\n\ - b _080F8646\n\ - .pool\n\ -_080F8644:\n\ - movs r0, 0x1\n\ -_080F8646:\n\ - mov r1, r9\n\ - strh r0, [r1]\n\ - movs r3, 0\n\ - mov r4, r12\n\ - ldrb r0, [r4]\n\ - cmp r3, r0\n\ - bcs _080F8678\n\ - mov r5, r8\n\ - lsls r0, r6, 2\n\ - adds r0, r6\n\ - lsls r2, r0, 3\n\ - ldr r7, =gTasks + 0x8\n\ -_080F865E:\n\ - adds r1, r5, r3\n\ - adds r0, r3, 0x5\n\ - lsls r0, 1\n\ - adds r0, r2\n\ - adds r0, r7\n\ - ldrh r0, [r0]\n\ - strb r0, [r1]\n\ - adds r0, r3, 0x1\n\ - lsls r0, 24\n\ - lsrs r3, r0, 24\n\ - ldrb r1, [r4]\n\ - cmp r3, r1\n\ - bcc _080F865E\n\ -_080F8678:\n\ - mov r0, r8\n\ - bl sub_80F86E0\n\ - ldr r1, =gUnknown_02039F2B\n\ - strb r0, [r1]\n\ - ldr r0, =gSpecialVar_ContestCategory\n\ - ldrb r0, [r0]\n\ - bl sub_80DB09C\n\ - ldr r1, =sub_80FCF40\n\ - ldr r2, =sub_80F86B8\n\ - adds r0, r6, 0\n\ - bl SetTaskFuncWithFollowupFunc\n\ - add sp, 0x8\n\ - pop {r3,r4}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .pool"); -} -#endif // NONMATCHING static void sub_80F86B8(u8 taskId) { - sub_80DCE58(0); + SortContestants(FALSE); SetTaskFuncWithFollowupFunc(taskId, sub_80FCFD0, sub_80F8714); } diff --git a/src/contest_link_80FC4F4.c b/src/contest_link_80FC4F4.c index f582626f8c..d6cfea6384 100644 --- a/src/contest_link_80FC4F4.c +++ b/src/contest_link_80FC4F4.c @@ -72,22 +72,22 @@ static void sub_80FC5DC(u8 taskId) gContestPlayerMonIndex = GetMultiplayerId(); gNumLinkContestPlayers = GetLinkPlayerCount(); - gIsLinkContest = 1; + gLinkContestFlags = LINK_CONTEST_FLAG_IS_LINK; if (gWirelessCommType == 1) - gIsLinkContest = 3; + gLinkContestFlags = LINK_CONTEST_FLAG_IS_LINK | LINK_CONTEST_FLAG_IS_WIRELESS; for (i = 0; i < gNumLinkContestPlayers && (u32)(gLinkPlayers[i].version & 0xFF) - 1 > VERSION_RUBY - 1; i++) ; if (i < gNumLinkContestPlayers) - gIsLinkContest |= 0x4; + gLinkContestFlags |= LINK_CONTEST_FLAG_HAS_RS_PLAYER; SwitchTaskToFollowupFunc(taskId); } bool32 sub_80FC670(s16 *arg0) { - if (gIsLinkContest & 0x4) + if (gLinkContestFlags & LINK_CONTEST_FLAG_HAS_RS_PLAYER) return TRUE; switch (*arg0) @@ -269,7 +269,7 @@ void sub_80FC9F8(u8 taskId) case 0: if (IsLinkTaskFinished()) { - if (sub_80FC4F4(&gContestResources->field_4[gContestPlayerMonIndex].currMove, sizeof(gContestResources->field_4[gContestPlayerMonIndex].currMove)) == TRUE) + if (sub_80FC4F4(&eContestantStatus[gContestPlayerMonIndex].currMove, sizeof(eContestantStatus[gContestPlayerMonIndex].currMove)) == TRUE) gTasks[taskId].data[0]++; } break; @@ -277,7 +277,7 @@ void sub_80FC9F8(u8 taskId) if (sub_80FC55C()) { for (i = 0; i < gNumLinkContestPlayers; i++) - gContestResources->field_4[i].currMove = gBlockRecvBuffer[i][0]; + eContestantStatus[i].currMove = gBlockRecvBuffer[i][0]; gTasks[taskId].data[0]++; } @@ -373,14 +373,14 @@ void sub_80FCC88(u8 taskId) case 0: if (IsLinkTaskFinished()) { - if (sub_80FC4F4(gContestResources->field_4, 4 * sizeof(struct ContestantStatus)) == 1) + if (sub_80FC4F4(eContestantStatus, 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)); + memcpy(eContestantStatus, gBlockRecvBuffer[gUnknown_02039F2B], 4 * sizeof(struct ContestantStatus)); gTasks[taskId].data[0]++; } break; @@ -425,14 +425,14 @@ void sub_80FCC88(u8 taskId) case 9: if (IsLinkTaskFinished()) { - if (sub_80FC4F4(gUnknown_02039F26, sizeof(gUnknown_02039F26)) == 1) + if (sub_80FC4F4(gContestantTurnOrder, sizeof(gContestantTurnOrder)) == 1) gTasks[taskId].data[0]++; } break; case 10: if (sub_80FC55C()) { - memcpy(gUnknown_02039F26, gBlockRecvBuffer[gUnknown_02039F2B], sizeof(gUnknown_02039F26)); + memcpy(gContestantTurnOrder, gBlockRecvBuffer[gUnknown_02039F2B], sizeof(gContestantTurnOrder)); gTasks[taskId].data[0]++; } break; @@ -528,14 +528,14 @@ void sub_80FCFD0(u8 taskId) case 0: if (IsLinkTaskFinished()) { - if (sub_80FC4F4(gUnknown_02039F26, sizeof(gUnknown_02039F26)) == 1) + if (sub_80FC4F4(gContestantTurnOrder, sizeof(gContestantTurnOrder)) == 1) gTasks[taskId].data[0]++; } break; case 1: if (sub_80FC55C()) { - memcpy(gUnknown_02039F26, gBlockRecvBuffer[gUnknown_02039F2B], sizeof(gUnknown_02039F26)); + memcpy(gContestantTurnOrder, gBlockRecvBuffer[gUnknown_02039F2B], sizeof(gContestantTurnOrder)); gTasks[taskId].data[0]++; } break; diff --git a/src/contest_link_81D9DE4.c b/src/contest_link_81D9DE4.c index 4b56c9c384..8060b6cdc9 100644 --- a/src/contest_link_81D9DE4.c +++ b/src/contest_link_81D9DE4.c @@ -134,7 +134,7 @@ static void sub_81DA10C(u8 taskId) static void sub_81DA138(u8 taskId) { - sub_80DCE58(0); + SortContestants(FALSE); SetTaskFuncWithFollowupFunc(taskId, sub_80FCFD0, sub_80F8714); } diff --git a/src/contest_painting.c b/src/contest_painting.c index 87598f2bdd..b43923c7b5 100644 --- a/src/contest_painting.c +++ b/src/contest_painting.c @@ -1,11 +1,12 @@ #include "global.h" #include "alloc.h" #include "battle.h" +#include "battle_gfx_sfx_util.h" #include "bg.h" #include "contest.h" #include "contest_painting.h" #include "contest_painting_effects.h" -#include "battle_gfx_sfx_util.h" +#include "data.h" #include "decompress.h" #include "gpu_regs.h" #include "international_string_util.h" @@ -44,8 +45,6 @@ static void VBlankCB_ContestPainting(void); static void sub_8130380(u8 *spritePixels, u16 *palette, u16 (*destColorBuffer)[64][64]); extern const u8 gUnknown_0827EA0C[]; -extern const struct CompressedSpriteSheet gMonFrontPicTable[]; -extern const struct CompressedSpriteSheet gMonBackPicTable[]; extern const u8 gContestCoolness[]; extern const u8 gContestBeauty[]; extern const u8 gContestCuteness[]; diff --git a/src/data2b.c b/src/data.c similarity index 81% rename from src/data2b.c rename to src/data.c index af76390a4e..7aebd63ede 100644 --- a/src/data2b.c +++ b/src/data.c @@ -1,11 +1,17 @@ #include "global.h" -#include "data2.h" -#include "graphics.h" #include "alloc.h" +#include "battle.h" +#include "data.h" +#include "graphics.h" +#include "constants/items.h" +#include "constants/moves.h" #include "constants/species.h" +#include "constants/trainers.h" +#include "constants/battle_ai.h" const u16 gUnknown_082FF1D8[] = INCBIN_U16("graphics/link/minigame_digits.gbapal"); const u32 gUnknown_082FF1F8[] = INCBIN_U32("graphics/link/minigame_digits.4bpp.lz"); +// unused const u32 gUnknown_082FF2B8[] = INCBIN_U32("graphics/link/minigame_digits2.4bpp.lz"); const struct SpriteFrameImage gUnknown_082FF3A8[] = @@ -106,45 +112,45 @@ const struct SpriteFrameImage gTrainerBackPicTable_Steven[] = gTrainerBackPic_Steven + 0x1800, 0x0800, }; -const union AnimCmd gAnimCmd_General_Frame0[] = +static const union AnimCmd sAnim_GeneralFrame0[] = { ANIMCMD_FRAME(0, 0), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_General_Frame3[] = +static const union AnimCmd sAnim_GeneralFrame3[] = { ANIMCMD_FRAME(3, 0), ANIMCMD_END, }; -const union AffineAnimCmd gUnknown_082FF548[] = +static const union AffineAnimCmd gUnknown_082FF548[] = { AFFINEANIMCMD_FRAME(0x0100, 0x0100, 0x00, 0x00), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_082FF558[] = +static const union AffineAnimCmd gUnknown_082FF558[] = { AFFINEANIMCMD_FRAME(0xff00, 0x0100, 0x00, 0x00), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_082FF568[] = +static const union AffineAnimCmd gUnknown_082FF568[] = { AFFINEANIMCMD_FRAME(0x0028, 0x0028, 0x00, 0x00), AFFINEANIMCMD_FRAME(0x0012, 0x0012, 0x00, 0x0c), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_082FF580[] = +static const union AffineAnimCmd gUnknown_082FF580[] = { AFFINEANIMCMD_FRAME(0xfffe, 0xfffe, 0x00, 0x12), AFFINEANIMCMD_FRAME(0xfff0, 0xfff0, 0x00, 0x0f), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_082FF598[] = +static const union AffineAnimCmd gUnknown_082FF598[] = { AFFINEANIMCMD_FRAME(0x00a0, 0x0100, 0x00, 0x00), AFFINEANIMCMD_FRAME(0x0004, 0x0000, 0x00, 0x08), @@ -152,39 +158,39 @@ const union AffineAnimCmd gUnknown_082FF598[] = AFFINEANIMCMD_JUMP(1), }; -const union AffineAnimCmd gUnknown_082FF5B8[] = +static const union AffineAnimCmd gUnknown_082FF5B8[] = { AFFINEANIMCMD_FRAME(0x0002, 0x0002, 0x00, 0x14), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_082FF5C8[] = +static const union AffineAnimCmd gUnknown_082FF5C8[] = { AFFINEANIMCMD_FRAME(0xfffe, 0xfffe, 0x00, 0x14), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_082FF5D8[] = +static const union AffineAnimCmd gUnknown_082FF5D8[] = { AFFINEANIMCMD_FRAME(0x0100, 0x0100, 0x00, 0000), AFFINEANIMCMD_FRAME(0xfff0, 0xfff0, 0x00, 0x09), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_082FF5F0[] = +static const union AffineAnimCmd gUnknown_082FF5F0[] = { AFFINEANIMCMD_FRAME(0x0004, 0x0004, 0x00, 0x3f), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_082FF600[] = +static const union AffineAnimCmd gUnknown_082FF600[] = { AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0xfd, 0x05), AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0x03, 0x05), AFFINEANIMCMD_END, }; -const union AffineAnimCmd * const gUnknown_082FF618[] = +const union AffineAnimCmd *const gUnknown_082FF618[] = { gUnknown_082FF548, gUnknown_082FF568, @@ -197,20 +203,20 @@ const union AffineAnimCmd * const gUnknown_082FF618[] = gUnknown_082FF5D8, }; -const union AffineAnimCmd gUnknown_082FF63C[] = +static const union AffineAnimCmd gUnknown_082FF63C[] = { AFFINEANIMCMD_FRAME(0xfffc, 0xfffc, 0x04, 0x3f), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_082FF64C[] = +static const union AffineAnimCmd gUnknown_082FF64C[] = { AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0x03, 0x05), AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0xfd, 0x05), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_082FF664[] = +static const union AffineAnimCmd gUnknown_082FF664[] = { AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0xfb, 0x14), AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0x00, 0x14), @@ -218,13 +224,13 @@ const union AffineAnimCmd gUnknown_082FF664[] = AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_082FF684[] = +static const union AffineAnimCmd gUnknown_082FF684[] = { AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0x09, 0x6e), AFFINEANIMCMD_END, }; -const union AffineAnimCmd * const gUnknown_082FF694[] = +const union AffineAnimCmd *const gUnknown_082FF694[] = { gUnknown_082FF548, gUnknown_082FF568, @@ -239,7 +245,7 @@ const union AffineAnimCmd * const gUnknown_082FF694[] = gUnknown_082FF684, }; -const union AffineAnimCmd * const gUnknown_082FF6C0[] = +const union AffineAnimCmd *const gUnknown_082FF6C0[] = { gUnknown_082FF558, gUnknown_082FF568, @@ -254,6 +260,47 @@ const union AffineAnimCmd * const gUnknown_082FF6C0[] = gUnknown_082FF684, }; +static const union AnimCmd gUnknown_082FF6EC[] = +{ + ANIMCMD_FRAME(0, 0), + ANIMCMD_END, +}; + +static const union AnimCmd gUnknown_082FF6F4[] = +{ + ANIMCMD_FRAME(1, 0), + ANIMCMD_END, +}; + +static const union AnimCmd gUnknown_082FF6FC[] = +{ + ANIMCMD_FRAME(2, 0), + ANIMCMD_END, +}; + +static const union AnimCmd gUnknown_082FF704[] = +{ + ANIMCMD_FRAME(3, 0), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_082FF70C[] = +{ + gUnknown_082FF6EC, + gUnknown_082FF6F4, + gUnknown_082FF6FC, + gUnknown_082FF704, +}; + +#define SPECIES_SPRITE(species, sprite) [SPECIES_##species] = {sprite, 0x800, SPECIES_##species} +#define SPECIES_PAL(species, pal) [SPECIES_##species] = {pal, SPECIES_##species} +#define SPECIES_SHINY_PAL(species, pal) [SPECIES_##species] = {pal, SPECIES_##species + SPECIES_SHINY_TAG} + +#define TRAINER_SPRITE(trainerPic, sprite, size) [TRAINER_PIC_##trainerPic] = {sprite, size, TRAINER_PIC_##trainerPic} +#define TRAINER_PAL(trainerPic, pal) [TRAINER_PIC_##trainerPic] = {pal, TRAINER_PIC_##trainerPic} + +#define TRAINER_BACK_PAL(trainerPic, pal) [TRAINER_BACK_PIC_##trainerPic] = {pal, TRAINER_BACK_PIC_##trainerPic} + #include "data/pokemon_graphics/unknown_anims.h" #include "data/pokemon_graphics/front_pic_coordinates.h" #include "data/pokemon_graphics/still_front_pic_table.h" @@ -269,10 +316,11 @@ const union AffineAnimCmd * const gUnknown_082FF6C0[] = #include "data/trainer_graphics/back_pic_tables.h" #include "data/pokemon_graphics/enemy_mon_elevation.h" -#include "data/pokemon_graphics/front_anims.h" +#include "data/pokemon_graphics/front_pic_anims.h" #include "data/pokemon_graphics/front_pic_table.h" -const u32 gUnknown830AF4C[] = // Potentially part of battle_data.c +// unused +const u32 gUnknown830AF4C[] = { 0x00000888, 0x00000888, 0x00000888, 0x00000888, 0x00000088, 0x00000888, 0x00000888, 0x00000886, @@ -385,3 +433,9 @@ const u32 gUnknown830AF4C[] = // Potentially part of battle_data.c 0x00000888, 0x00000888, 0x00000888, 0x00000888, 0x00000888, 0x00000888, 0x00000888, 0x00000888, }; + +#include "data/trainer_parties.h" +#include "data/text/trainer_class_names.h" +#include "data/trainers.h" +#include "data/text/species_names.h" +#include "data/text/move_names.h" diff --git a/src/data/.gitignore b/src/data/.gitignore new file mode 100755 index 0000000000..eaf9e1f6d0 --- /dev/null +++ b/src/data/.gitignore @@ -0,0 +1 @@ +wild_encounters.h diff --git a/src/data/contest_opponents.h b/src/data/contest_opponents.h index ef1fdba9f0..010559e3b1 100644 --- a/src/data/contest_opponents.h +++ b/src/data/contest_opponents.h @@ -183,7 +183,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("POOCHY"), .trainerName = _("JIMMY"), .trainerGfxId = EVENT_OBJ_GFX_BOY_1, - .flags = 0xC000FFF, + .aiChecks = 0xC000FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, @@ -212,7 +212,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("MUSILLE"), .trainerName = _("EDITH"), .trainerGfxId = EVENT_OBJ_GFX_GIRL_1, - .flags = 0x82000FFF, + .aiChecks = 0x82000FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -241,7 +241,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("DUSTER"), .trainerName = _("EVAN"), .trainerGfxId = EVENT_OBJ_GFX_LITTLE_BOY, - .flags = 0x21000FFF, + .aiChecks = 0x21000FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -270,7 +270,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("DOTS"), .trainerName = _("KELSEY"), .trainerGfxId = EVENT_OBJ_GFX_WOMAN_1, - .flags = 0x20800FFF, + .aiChecks = 0x20800FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -299,7 +299,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("TATAY"), .trainerName = _("MADISON"), .trainerGfxId = EVENT_OBJ_GFX_POKEFAN_F, - .flags = 0x80400FFF, + .aiChecks = 0x80400FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, @@ -328,7 +328,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("NINDA"), .trainerName = _("RAYMOND"), .trainerGfxId = EVENT_OBJ_GFX_BLACK_BELT, - .flags = 0x10200FFF, + .aiChecks = 0x10200FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -357,7 +357,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("SMISH"), .trainerName = _("GRANT"), .trainerGfxId = EVENT_OBJ_GFX_YOUNGSTER, - .flags = 0x20100FFF, + .aiChecks = 0x20100FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -386,7 +386,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("SLEAL"), .trainerName = _("PAIGE"), .trainerGfxId = EVENT_OBJ_GFX_WOMAN_4, - .flags = 0x8080FFF, + .aiChecks = 0x8080FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -415,7 +415,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("SLOKTH"), .trainerName = _("ALEC"), .trainerGfxId = EVENT_OBJ_GFX_CAMPER, - .flags = 0x40040FFF, + .aiChecks = 0x40040FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -444,7 +444,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("WHIRIS"), .trainerName = _("SYDNEY"), .trainerGfxId = EVENT_OBJ_GFX_LASS, - .flags = 0x80020FFF, + .aiChecks = 0x80020FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, @@ -473,7 +473,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("MAHITA"), .trainerName = _("MORRIS"), .trainerGfxId = EVENT_OBJ_GFX_SCHOOL_KID_M, - .flags = 0x8010FFF, + .aiChecks = 0x8010FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, @@ -502,7 +502,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("RONAR"), .trainerName = _("MARIAH"), .trainerGfxId = EVENT_OBJ_GFX_GIRL_2, - .flags = 0x8008FFF, + .aiChecks = 0x8008FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, @@ -531,7 +531,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("BATRO"), .trainerName = _("RUSSELL"), .trainerGfxId = EVENT_OBJ_GFX_MAN_3, - .flags = 0x90004FFF, + .aiChecks = 0x90004FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -560,7 +560,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("GULIN"), .trainerName = _("MELANIE"), .trainerGfxId = EVENT_OBJ_GFX_TWIN, - .flags = 0x40002FFF, + .aiChecks = 0x40002FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -589,7 +589,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("RIKELEC"), .trainerName = _("CHANCE"), .trainerGfxId = EVENT_OBJ_GFX_RICH_BOY, - .flags = 0x80001FFF, + .aiChecks = 0x80001FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = TRUE, .aiPool_Beauty = TRUE, @@ -618,7 +618,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("BULBY"), .trainerName = _("AGATHA"), .trainerGfxId = EVENT_OBJ_GFX_WOMAN_2, - .flags = 0xC000FFF, + .aiChecks = 0xC000FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -647,7 +647,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("FUTTERBE"), .trainerName = _("BEAU"), .trainerGfxId = EVENT_OBJ_GFX_HEX_MANIAC, - .flags = 0x82000FFF, + .aiChecks = 0x82000FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -676,7 +676,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("PIDEOT"), .trainerName = _("KAY"), .trainerGfxId = EVENT_OBJ_GFX_WOMAN_5, - .flags = 0x21000FFF, + .aiChecks = 0x21000FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = TRUE, .aiPool_Beauty = TRUE, @@ -705,7 +705,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("DIGLE"), .trainerName = _("CALE"), .trainerGfxId = EVENT_OBJ_GFX_HIKER, - .flags = 0x20800FFF, + .aiChecks = 0x20800FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -734,7 +734,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("WAGIL"), .trainerName = _("CAITLIN"), .trainerGfxId = EVENT_OBJ_GFX_TUBER_F, - .flags = 0x80400FFF, + .aiChecks = 0x80400FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -763,7 +763,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("TOTDIL"), .trainerName = _("COLBY"), .trainerGfxId = EVENT_OBJ_GFX_NINJA_BOY, - .flags = 0x10200FFF, + .aiChecks = 0x10200FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = TRUE, .aiPool_Beauty = TRUE, @@ -792,7 +792,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("BALEDY"), .trainerName = _("KYLIE"), .trainerGfxId = EVENT_OBJ_GFX_BEAUTY, - .flags = 0x20100FFF, + .aiChecks = 0x20100FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, @@ -821,7 +821,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("BIRDLY"), .trainerName = _("LIAM"), .trainerGfxId = EVENT_OBJ_GFX_MAN_5, - .flags = 0x8080FFF, + .aiChecks = 0x8080FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -850,7 +850,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("TARVITAR"), .trainerName = _("MILO"), .trainerGfxId = EVENT_OBJ_GFX_MANIAC, - .flags = 0x40040FFF, + .aiChecks = 0x40040FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -879,7 +879,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("RELIA"), .trainerName = _("KARINA"), .trainerGfxId = EVENT_OBJ_GFX_PICNICKER, - .flags = 0x24000FFF, + .aiChecks = 0x24000FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -908,7 +908,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("DUODO"), .trainerName = _("BOBBY"), .trainerGfxId = EVENT_OBJ_GFX_RUNNING_TRIATHLETE_M, - .flags = 0x82000FFF, + .aiChecks = 0x82000FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = TRUE, .aiPool_Beauty = TRUE, @@ -937,7 +937,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("PINCHIN"), .trainerName = _("CLAIRE"), .trainerGfxId = EVENT_OBJ_GFX_GIRL_1, - .flags = 0x81000FFF, + .aiChecks = 0x81000FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -966,7 +966,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("NACAC"), .trainerName = _("WILLIE"), .trainerGfxId = EVENT_OBJ_GFX_LITTLE_BOY, - .flags = 0x80800FFF, + .aiChecks = 0x80800FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, @@ -995,7 +995,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("SHRAND"), .trainerName = _("CASSIDY"), .trainerGfxId = EVENT_OBJ_GFX_POKEFAN_F, - .flags = 0x10400FFF, + .aiChecks = 0x10400FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, @@ -1024,7 +1024,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("TOYBAL"), .trainerName = _("MORGAN"), .trainerGfxId = EVENT_OBJ_GFX_BLACK_BELT, - .flags = 0x8200FFF, + .aiChecks = 0x8200FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -1053,7 +1053,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("CHAMCHAM"), .trainerName = _("SUMMER"), .trainerGfxId = EVENT_OBJ_GFX_WOMAN_4, - .flags = 0x10100FFF, + .aiChecks = 0x10100FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = TRUE, .aiPool_Beauty = TRUE, @@ -1082,7 +1082,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("SPININ"), .trainerName = _("MILES"), .trainerGfxId = EVENT_OBJ_GFX_CAMPER, - .flags = 0x80080FFF, + .aiChecks = 0x80080FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -1111,7 +1111,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("SWABY"), .trainerName = _("AUDREY"), .trainerGfxId = EVENT_OBJ_GFX_LASS, - .flags = 0xA0040FFF, + .aiChecks = 0xA0040FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -1140,7 +1140,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("POINKER"), .trainerName = _("AVERY"), .trainerGfxId = EVENT_OBJ_GFX_SCHOOL_KID_M, - .flags = 0x80020FFF, + .aiChecks = 0x80020FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -1169,7 +1169,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("KECON"), .trainerName = _("ARIANA"), .trainerGfxId = EVENT_OBJ_GFX_GIRL_2, - .flags = 0x80010FFF, + .aiChecks = 0x80010FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -1198,7 +1198,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("GOLDEN"), .trainerName = _("ASHTON"), .trainerGfxId = EVENT_OBJ_GFX_MAN_3, - .flags = 0x80008FFF, + .aiChecks = 0x80008FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = TRUE, .aiPool_Beauty = TRUE, @@ -1227,7 +1227,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("BOBOACH"), .trainerName = _("SANDRA"), .trainerGfxId = EVENT_OBJ_GFX_TWIN, - .flags = 0x80004FFF, + .aiChecks = 0x80004FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -1256,7 +1256,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("CORPY"), .trainerName = _("CARSON"), .trainerGfxId = EVENT_OBJ_GFX_YOUNGSTER, - .flags = 0x8002FFF, + .aiChecks = 0x8002FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = TRUE, .aiPool_Beauty = TRUE, @@ -1285,7 +1285,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("TADO"), .trainerName = _("KATRINA"), .trainerGfxId = EVENT_OBJ_GFX_WOMAN_1, - .flags = 0x8001FFF, + .aiChecks = 0x8001FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -1314,7 +1314,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("BROWLO"), .trainerName = _("LUKE"), .trainerGfxId = EVENT_OBJ_GFX_FAT_MAN, - .flags = 0xC000FFF, + .aiChecks = 0xC000FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -1343,7 +1343,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("FETCHIN"), .trainerName = _("RAUL"), .trainerGfxId = EVENT_OBJ_GFX_MAN_5, - .flags = 0x82000FFF, + .aiChecks = 0x82000FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, @@ -1372,7 +1372,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("SEELEY"), .trainerName = _("JADA"), .trainerGfxId = EVENT_OBJ_GFX_WOMAN_2, - .flags = 0x21000FFF, + .aiChecks = 0x21000FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -1401,7 +1401,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("DROWZIN"), .trainerName = _("ZEEK"), .trainerGfxId = EVENT_OBJ_GFX_PSYCHIC_M, - .flags = 0x20800FFF, + .aiChecks = 0x20800FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -1430,7 +1430,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("HITEMON"), .trainerName = _("DIEGO"), .trainerGfxId = EVENT_OBJ_GFX_EXPERT_M, - .flags = 0x80400FFF, + .aiChecks = 0x80400FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, @@ -1459,7 +1459,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("BLISS"), .trainerName = _("ALIYAH"), .trainerGfxId = EVENT_OBJ_GFX_TEALA, - .flags = 0x10200FFF, + .aiChecks = 0x10200FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -1488,7 +1488,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("KIDLEK"), .trainerName = _("NATALIA"), .trainerGfxId = EVENT_OBJ_GFX_POKEFAN_F, - .flags = 0x20100FFF, + .aiChecks = 0x20100FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, @@ -1517,7 +1517,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("SNUBBINS"), .trainerName = _("DEVIN"), .trainerGfxId = EVENT_OBJ_GFX_GENTLEMAN, - .flags = 0x8080FFF, + .aiChecks = 0x8080FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -1546,7 +1546,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("DREAVIS"), .trainerName = _("TYLOR"), .trainerGfxId = EVENT_OBJ_GFX_HEX_MANIAC, - .flags = 0x40040FFF, + .aiChecks = 0x40040FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -1575,7 +1575,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("LAIRN"), .trainerName = _("RONNIE"), .trainerGfxId = EVENT_OBJ_GFX_HIKER, - .flags = 0x84000FFF, + .aiChecks = 0x84000FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -1604,7 +1604,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("SHIFTY"), .trainerName = _("CLAUDIA"), .trainerGfxId = EVENT_OBJ_GFX_GIRL_1, - .flags = 0x82000FFF, + .aiChecks = 0x82000FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = TRUE, .aiPool_Beauty = TRUE, @@ -1633,7 +1633,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("NINAS"), .trainerName = _("ELIAS"), .trainerGfxId = EVENT_OBJ_GFX_LITTLE_BOY, - .flags = 0x81000FFF, + .aiChecks = 0x81000FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -1662,7 +1662,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("WELOW"), .trainerName = _("JADE"), .trainerGfxId = EVENT_OBJ_GFX_POKEFAN_F, - .flags = 0x80800FFF, + .aiChecks = 0x80800FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = TRUE, .aiPool_Beauty = TRUE, @@ -1691,7 +1691,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("YENA"), .trainerName = _("FRANCIS"), .trainerGfxId = EVENT_OBJ_GFX_BLACK_BELT, - .flags = 0x80400FFF, + .aiChecks = 0x80400FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -1720,7 +1720,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("TIFLY"), .trainerName = _("ALISHA"), .trainerGfxId = EVENT_OBJ_GFX_WOMAN_4, - .flags = 0x80200FFF, + .aiChecks = 0x80200FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -1749,7 +1749,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("KINGSEA"), .trainerName = _("SAUL"), .trainerGfxId = EVENT_OBJ_GFX_CAMPER, - .flags = 0x80100FFF, + .aiChecks = 0x80100FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, @@ -1778,7 +1778,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("CASTER"), .trainerName = _("FELICIA"), .trainerGfxId = EVENT_OBJ_GFX_LASS, - .flags = 0x80080FFF, + .aiChecks = 0x80080FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = TRUE, .aiPool_Beauty = TRUE, @@ -1807,7 +1807,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("CHOKEM"), .trainerName = _("EMILIO"), .trainerGfxId = EVENT_OBJ_GFX_SCHOOL_KID_M, - .flags = 0x80040FFF, + .aiChecks = 0x80040FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, @@ -1836,7 +1836,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("LOMBE"), .trainerName = _("KARLA"), .trainerGfxId = EVENT_OBJ_GFX_GIRL_2, - .flags = 0x80020FFF, + .aiChecks = 0x80020FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -1865,7 +1865,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("VIPES"), .trainerName = _("DARRYL"), .trainerGfxId = EVENT_OBJ_GFX_MAN_3, - .flags = 0x80010FFF, + .aiChecks = 0x80010FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -1894,7 +1894,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("MERAIL"), .trainerName = _("SELENA"), .trainerGfxId = EVENT_OBJ_GFX_EXPERT_F, - .flags = 0x80008FFF, + .aiChecks = 0x80008FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -1923,7 +1923,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("KARPAG"), .trainerName = _("NOEL"), .trainerGfxId = EVENT_OBJ_GFX_YOUNGSTER, - .flags = 0x80004FFF, + .aiChecks = 0x80004FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -1952,7 +1952,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("LUNONE"), .trainerName = _("LACEY"), .trainerGfxId = EVENT_OBJ_GFX_WOMAN_1, - .flags = 0x80002FFF, + .aiChecks = 0x80002FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -1981,7 +1981,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("ABSO"), .trainerName = _("CORBIN"), .trainerGfxId = EVENT_OBJ_GFX_MANIAC, - .flags = 0x80001FFF, + .aiChecks = 0x80001FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = TRUE, .aiPool_Beauty = TRUE, @@ -2010,7 +2010,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("EGGSOR"), .trainerName = _("GRACIE"), .trainerGfxId = EVENT_OBJ_GFX_PICNICKER, - .flags = 0xC000FFF, + .aiChecks = 0xC000FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -2039,7 +2039,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("CUBIN"), .trainerName = _("COLTIN"), .trainerGfxId = EVENT_OBJ_GFX_MAN_4, - .flags = 0x82000FFF, + .aiChecks = 0x82000FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -2068,7 +2068,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("HITMON"), .trainerName = _("ELLIE"), .trainerGfxId = EVENT_OBJ_GFX_EXPERT_F, - .flags = 0x21000FFF, + .aiChecks = 0x21000FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, @@ -2097,7 +2097,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("SURTLE"), .trainerName = _("MARCUS"), .trainerGfxId = EVENT_OBJ_GFX_SAILOR, - .flags = 0x20800FFF, + .aiChecks = 0x20800FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -2126,7 +2126,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("KHANKAN"), .trainerName = _("KIARA"), .trainerGfxId = EVENT_OBJ_GFX_GIRL_3, - .flags = 0x80400FFF, + .aiChecks = 0x80400FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, @@ -2155,7 +2155,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("PINOC"), .trainerName = _("BRYCE"), .trainerGfxId = EVENT_OBJ_GFX_BUG_CATCHER, - .flags = 0x10200FFF, + .aiChecks = 0x10200FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -2184,7 +2184,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("DILTOT"), .trainerName = _("JAMIE"), .trainerGfxId = EVENT_OBJ_GFX_WOMAN_5, - .flags = 0x20100FFF, + .aiChecks = 0x20100FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -2213,7 +2213,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("DOOMOND"), .trainerName = _("JORGE"), .trainerGfxId = EVENT_OBJ_GFX_GENTLEMAN, - .flags = 0x8080FFF, + .aiChecks = 0x8080FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = TRUE, .aiPool_Beauty = TRUE, @@ -2242,7 +2242,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("MILKAN"), .trainerName = _("DEVON"), .trainerGfxId = EVENT_OBJ_GFX_POKEFAN_M, - .flags = 0x40040FFF, + .aiChecks = 0x40040FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -2271,7 +2271,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("RADOS"), .trainerName = _("JUSTINA"), .trainerGfxId = EVENT_OBJ_GFX_PICNICKER, - .flags = 0x84000FFF, + .aiChecks = 0x84000FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = TRUE, .aiPool_Beauty = TRUE, @@ -2300,7 +2300,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("LOUDERD"), .trainerName = _("RALPH"), .trainerGfxId = EVENT_OBJ_GFX_EXPERT_M, - .flags = 0x82000FFF, + .aiChecks = 0x82000FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, @@ -2329,7 +2329,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("SITTY"), .trainerName = _("ROSA"), .trainerGfxId = EVENT_OBJ_GFX_GIRL_1, - .flags = 0x81000FFF, + .aiChecks = 0x81000FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -2358,7 +2358,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("SLING"), .trainerName = _("KEATON"), .trainerGfxId = EVENT_OBJ_GFX_LITTLE_BOY, - .flags = 0x80800FFF, + .aiChecks = 0x80800FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -2387,7 +2387,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("TARIA"), .trainerName = _("MAYRA"), .trainerGfxId = EVENT_OBJ_GFX_POKEFAN_F, - .flags = 0x80400FFF, + .aiChecks = 0x80400FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = TRUE, .aiPool_Beauty = TRUE, @@ -2416,7 +2416,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("LIRKI"), .trainerName = _("LAMAR"), .trainerGfxId = EVENT_OBJ_GFX_RICH_BOY, - .flags = 0x80200FFF, + .aiChecks = 0x80200FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, @@ -2445,7 +2445,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("BLOSSOM"), .trainerName = _("AUBREY"), .trainerGfxId = EVENT_OBJ_GFX_WOMAN_4, - .flags = 0x80100FFF, + .aiChecks = 0x80100FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -2474,7 +2474,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("EYESAB"), .trainerName = _("NIGEL"), .trainerGfxId = EVENT_OBJ_GFX_CAMPER, - .flags = 0x80080FFF, + .aiChecks = 0x80080FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -2503,7 +2503,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("UTAN"), .trainerName = _("CAMILLE"), .trainerGfxId = EVENT_OBJ_GFX_LASS, - .flags = 0x80040FFF, + .aiChecks = 0x80040FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -2532,7 +2532,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("PEDOS"), .trainerName = _("DEON"), .trainerGfxId = EVENT_OBJ_GFX_SCHOOL_KID_M, - .flags = 0x80020FFF, + .aiChecks = 0x80020FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, @@ -2561,7 +2561,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("LUVIS"), .trainerName = _("JANELLE"), .trainerGfxId = EVENT_OBJ_GFX_GIRL_2, - .flags = 0x80010FFF, + .aiChecks = 0x80010FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -2590,7 +2590,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("HEROSS"), .trainerName = _("HEATH"), .trainerGfxId = EVENT_OBJ_GFX_MAN_3, - .flags = 0x80008FFF, + .aiChecks = 0x80008FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, @@ -2619,7 +2619,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("RODLECT"), .trainerName = _("SASHA"), .trainerGfxId = EVENT_OBJ_GFX_TWIN, - .flags = 0x80004FFF, + .aiChecks = 0x80004FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = TRUE, .aiPool_Beauty = TRUE, @@ -2648,7 +2648,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("CHUPY"), .trainerName = _("FRANKIE"), .trainerGfxId = EVENT_OBJ_GFX_YOUNGSTER, - .flags = 0x80002FFF, + .aiChecks = 0x80002FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -2677,7 +2677,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("WOBET"), .trainerName = _("HELEN"), .trainerGfxId = EVENT_OBJ_GFX_WOMAN_1, - .flags = 0x80001FFF, + .aiChecks = 0x80001FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = TRUE, .aiPool_Beauty = TRUE, @@ -2706,7 +2706,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("GAREN"), .trainerName = _("CAMILE"), .trainerGfxId = EVENT_OBJ_GFX_HEX_MANIAC, - .flags = 0xC000FFF, + .aiChecks = 0xC000FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, @@ -2735,7 +2735,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("GONPOR"), .trainerName = _("MARTIN"), .trainerGfxId = EVENT_OBJ_GFX_SCIENTIST_1, - .flags = 0x82000FFF, + .aiChecks = 0x82000FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = TRUE, .aiPool_Beauty = TRUE, @@ -2764,7 +2764,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("DRITE"), .trainerName = _("SERGIO"), .trainerGfxId = EVENT_OBJ_GFX_BOY_1, - .flags = 0x21000FFF, + .aiChecks = 0x21000FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, @@ -2793,7 +2793,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("MEOWY"), .trainerName = _("KAILEY"), .trainerGfxId = EVENT_OBJ_GFX_TWIN, - .flags = 0x20800FFF, + .aiChecks = 0x20800FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -2822,7 +2822,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("NYX"), .trainerName = _("PERLA"), .trainerGfxId = EVENT_OBJ_GFX_BEAUTY, - .flags = 0x80400FFF, + .aiChecks = 0x80400FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -2851,7 +2851,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("GEPITO"), .trainerName = _("CLARA"), .trainerGfxId = EVENT_OBJ_GFX_WOMAN_2, - .flags = 0x10200FFF, + .aiChecks = 0x10200FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -2880,7 +2880,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("SPEON"), .trainerName = _("JAKOB"), .trainerGfxId = EVENT_OBJ_GFX_PSYCHIC_M, - .flags = 0x20100FFF, + .aiChecks = 0x20100FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = TRUE, .aiPool_Beauty = TRUE, @@ -2909,7 +2909,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("SLOWGO"), .trainerName = _("TREY"), .trainerGfxId = EVENT_OBJ_GFX_SAILOR, - .flags = 0x8080FFF, + .aiChecks = 0x8080FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -2938,7 +2938,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("URSING"), .trainerName = _("LANE"), .trainerGfxId = EVENT_OBJ_GFX_BLACK_BELT, - .flags = 0x40040FFF, + .aiChecks = 0x40040FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, diff --git a/src/data/decoration/header.h b/src/data/decoration/header.h index a909bd9fd8..55458c7a3f 100644 --- a/src/data/decoration/header.h +++ b/src/data/decoration/header.h @@ -686,7 +686,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_PICHU_DOLL, _("PICHU DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -695,7 +695,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_PIKACHU_DOLL, _("PIKACHU DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -704,7 +704,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_MARILL_DOLL, _("MARILL DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -713,7 +713,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_TOGEPI_DOLL, _("TOGEPI DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -722,7 +722,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_CYNDAQUIL_DOLL, _("CYNDAQUIL DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -731,7 +731,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_CHIKORITA_DOLL, _("CHIKORITA DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -740,7 +740,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_TOTODILE_DOLL, _("TOTODILE DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -749,7 +749,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_JIGGLYPUFF_DOLL, _("JIGGLYPUFF DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -758,7 +758,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_MEOWTH_DOLL, _("MEOWTH DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -767,7 +767,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_CLEFAIRY_DOLL, _("CLEFAIRY DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -776,7 +776,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_DITTO_DOLL, _("DITTO DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -785,7 +785,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_SMOOCHUM_DOLL, _("SMOOCHUM DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -794,7 +794,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_TREECKO_DOLL, _("TREECKO DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -803,7 +803,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_TORCHIC_DOLL, _("TORCHIC DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -812,7 +812,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_MUDKIP_DOLL, _("MUDKIP DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -821,7 +821,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_DUSKULL_DOLL, _("DUSKULL DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -830,7 +830,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_WYNAUT_DOLL, _("WYNAUT DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -839,7 +839,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_BALTOY_DOLL, _("BALTOY DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -848,7 +848,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_KECLEON_DOLL, _("KECLEON DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -857,7 +857,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_AZURILL_DOLL, _("AZURILL DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -866,7 +866,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_SKITTY_DOLL, _("SKITTY DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -875,7 +875,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_SWABLU_DOLL, _("SWABLU DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -884,7 +884,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_GULPIN_DOLL, _("GULPIN DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -893,7 +893,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_LOTAD_DOLL, _("LOTAD DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -902,7 +902,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_SEEDOT_DOLL, _("SEEDOT DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -911,7 +911,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_PIKA_CUSHION, _("PIKA CUSHION"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_CUSHION, 2000, @@ -920,7 +920,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_ROUND_CUSHION, _("ROUND CUSHION"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_CUSHION, 2000, @@ -929,7 +929,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_KISS_CUSHION, _("KISS CUSHION"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_CUSHION, 2000, @@ -938,7 +938,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_ZIGZAG_CUSHION, _("ZIGZAG CUSHION"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_CUSHION, 2000, @@ -947,7 +947,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_SPIN_CUSHION, _("SPIN CUSHION"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_CUSHION, 2000, @@ -956,7 +956,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_DIAMOND_CUSHION, _("DIAMOND CUSHION"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_CUSHION, 2000, @@ -965,7 +965,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_BALL_CUSHION, _("BALL CUSHION"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_CUSHION, 2000, @@ -974,7 +974,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_GRASS_CUSHION, _("GRASS CUSHION"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_CUSHION, 2000, @@ -983,7 +983,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_FIRE_CUSHION, _("FIRE CUSHION"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_CUSHION, 2000, @@ -992,7 +992,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_WATER_CUSHION, _("WATER CUSHION"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_CUSHION, 2000, @@ -1001,7 +1001,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_SNORLAX_DOLL, _("SNORLAX DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x2, DECORCAT_DOLL, 10000, @@ -1010,7 +1010,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_RHYDON_DOLL, _("RHYDON DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x2, DECORCAT_DOLL, 10000, @@ -1019,7 +1019,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_LAPRAS_DOLL, _("LAPRAS DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x2, DECORCAT_DOLL, 10000, @@ -1028,7 +1028,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_VENUSAUR_DOLL, _("VENUSAUR DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x2, DECORCAT_DOLL, 10000, @@ -1037,7 +1037,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_CHARIZARD_DOLL, _("CHARIZARD DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x2, DECORCAT_DOLL, 10000, @@ -1046,7 +1046,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_BLASTOISE_DOLL, _("BLASTOISE DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x2, DECORCAT_DOLL, 10000, @@ -1055,7 +1055,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_WAILMER_DOLL, _("WAILMER DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x2, DECORCAT_DOLL, 10000, @@ -1064,7 +1064,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_REGIROCK_DOLL, _("REGIROCK DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x2, DECORCAT_DOLL, 10000, @@ -1073,7 +1073,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_REGICE_DOLL, _("REGICE DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x2, DECORCAT_DOLL, 10000, @@ -1082,7 +1082,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_REGISTEEL_DOLL, _("REGISTEEL DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x2, DECORCAT_DOLL, 10000, diff --git a/src/data/field_event_obj/berry_tree_graphics_tables.h b/src/data/field_event_obj/berry_tree_graphics_tables.h index f5ef15af95..27d5b1f9a1 100755 --- a/src/data/field_event_obj/berry_tree_graphics_tables.h +++ b/src/data/field_event_obj/berry_tree_graphics_tables.h @@ -423,142 +423,143 @@ const u8 gDeadBerryTreeEventObjectGraphicsIdTable[] = {EVENT_OBJ_GFX_BERRY_TREE_ const u8 gBerryTreeEventObjectGraphicsIdTable[] = {EVENT_OBJ_GFX_BERRY_TREE_EARLY_STAGES, EVENT_OBJ_GFX_BERRY_TREE_EARLY_STAGES, EVENT_OBJ_GFX_BERRY_TREE_LATE_STAGES, EVENT_OBJ_GFX_BERRY_TREE_LATE_STAGES, EVENT_OBJ_GFX_BERRY_TREE_LATE_STAGES}; const struct SpriteFrameImage *const gBerryTreePicTablePointers[] = { - gEventObjectPicTable_CheriBerryTree, - gEventObjectPicTable_ChestoBerryTree, - gEventObjectPicTable_PechaBerryTree, - gEventObjectPicTable_RawstBerryTree, - gEventObjectPicTable_AspearBerryTree, - gEventObjectPicTable_LeppaBerryTree, - gEventObjectPicTable_OranBerryTree, - gEventObjectPicTable_PersimBerryTree, - gEventObjectPicTable_LumBerryTree, - gEventObjectPicTable_SitrusBerryTree, - gEventObjectPicTable_FigyBerryTree, - gEventObjectPicTable_WikiBerryTree, - gEventObjectPicTable_MagoBerryTree, - gEventObjectPicTable_AguavBerryTree, - gEventObjectPicTable_IapapaBerryTree, - gEventObjectPicTable_RazzBerryTree, - gEventObjectPicTable_RazzBerryTree, - gEventObjectPicTable_MagoBerryTree, - gEventObjectPicTable_WepearBerryTree, - gEventObjectPicTable_IapapaBerryTree, - gEventObjectPicTable_PomegBerryTree, - gEventObjectPicTable_KelpsyBerryTree, - gEventObjectPicTable_WepearBerryTree, - gEventObjectPicTable_HondewBerryTree, - gEventObjectPicTable_GrepaBerryTree, - gEventObjectPicTable_TamatoBerryTree, - gEventObjectPicTable_CornnBerryTree, - gEventObjectPicTable_PomegBerryTree, - gEventObjectPicTable_RabutaBerryTree, - gEventObjectPicTable_NomelBerryTree, - gEventObjectPicTable_SpelonBerryTree, - gEventObjectPicTable_PamtreBerryTree, - gEventObjectPicTable_RabutaBerryTree, - gEventObjectPicTable_DurinBerryTree, - gEventObjectPicTable_HondewBerryTree, - gEventObjectPicTable_LiechiBerryTree, - gEventObjectPicTable_HondewBerryTree, - gEventObjectPicTable_AguavBerryTree, - gEventObjectPicTable_PomegBerryTree, - gEventObjectPicTable_GrepaBerryTree, - gEventObjectPicTable_LansatBerryTree, - gEventObjectPicTable_CornnBerryTree, - gEventObjectPicTable_DurinBerryTree, + [ITEM_CHERI_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_CheriBerryTree, + [ITEM_CHESTO_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_ChestoBerryTree, + [ITEM_PECHA_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_PechaBerryTree, + [ITEM_RAWST_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_RawstBerryTree, + [ITEM_ASPEAR_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_AspearBerryTree, + [ITEM_LEPPA_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_LeppaBerryTree, + [ITEM_ORAN_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_OranBerryTree, + [ITEM_PERSIM_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_PersimBerryTree, + [ITEM_LUM_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_LumBerryTree, + [ITEM_SITRUS_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_SitrusBerryTree, + [ITEM_FIGY_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_FigyBerryTree, + [ITEM_WIKI_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_WikiBerryTree, + [ITEM_MAGO_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_MagoBerryTree, + [ITEM_AGUAV_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_AguavBerryTree, + [ITEM_IAPAPA_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_IapapaBerryTree, + [ITEM_RAZZ_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_RazzBerryTree, + [ITEM_BLUK_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_RazzBerryTree, + [ITEM_NANAB_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_MagoBerryTree, + [ITEM_WEPEAR_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_WepearBerryTree, + [ITEM_PINAP_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_IapapaBerryTree, + [ITEM_POMEG_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_PomegBerryTree, + [ITEM_KELPSY_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_KelpsyBerryTree, + [ITEM_QUALOT_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_WepearBerryTree, + [ITEM_HONDEW_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_HondewBerryTree, + [ITEM_GREPA_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_GrepaBerryTree, + [ITEM_TAMATO_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_TamatoBerryTree, + [ITEM_CORNN_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_CornnBerryTree, + [ITEM_MAGOST_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_PomegBerryTree, + [ITEM_RABUTA_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_RabutaBerryTree, + [ITEM_NOMEL_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_NomelBerryTree, + [ITEM_SPELON_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_SpelonBerryTree, + [ITEM_PAMTRE_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_PamtreBerryTree, + [ITEM_WATMEL_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_RabutaBerryTree, + [ITEM_DURIN_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_DurinBerryTree, + [ITEM_BELUE_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_HondewBerryTree, + [ITEM_LIECHI_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_LiechiBerryTree, + [ITEM_GANLON_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_HondewBerryTree, + [ITEM_SALAC_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_AguavBerryTree, + [ITEM_PETAYA_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_PomegBerryTree, + [ITEM_APICOT_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_GrepaBerryTree, + [ITEM_LANSAT_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_LansatBerryTree, + [ITEM_STARF_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_CornnBerryTree, + [ITEM_ENIGMA_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_DurinBerryTree, }; const u8 *const gBerryTreePaletteSlotTablePointers[] = { - gBerryTreePaletteSlotTable_Cheri, - gBerryTreePaletteSlotTable_Chesto, - gBerryTreePaletteSlotTable_Pecha, - gBerryTreePaletteSlotTable_Rawst, - gBerryTreePaletteSlotTable_Aspear, - gBerryTreePaletteSlotTable_Leppa, - gBerryTreePaletteSlotTable_Oran, - gBerryTreePaletteSlotTable_Persim, - gBerryTreePaletteSlotTable_Lum, - gBerryTreePaletteSlotTable_Sitrus, - gBerryTreePaletteSlotTable_Figy, - gBerryTreePaletteSlotTable_Wiki, - gBerryTreePaletteSlotTable_Mago, - gBerryTreePaletteSlotTable_Aguav, - gBerryTreePaletteSlotTable_Iapapa, - gBerryTreePaletteSlotTable_Razz, - gBerryTreePaletteSlotTable_Razz, - gBerryTreePaletteSlotTable_Mago, - gBerryTreePaletteSlotTable_Wepear, - gBerryTreePaletteSlotTable_Iapapa, - gBerryTreePaletteSlotTable_Pomeg, - gBerryTreePaletteSlotTable_Kelpsy, - gBerryTreePaletteSlotTable_Wepear, - gBerryTreePaletteSlotTable_Hondew, - gBerryTreePaletteSlotTable_Grepa, - gBerryTreePaletteSlotTable_Tamato, - gBerryTreePaletteSlotTable_Cornn, - gBerryTreePaletteSlotTable_Pomeg, - gBerryTreePaletteSlotTable_Rabuta, - gBerryTreePaletteSlotTable_Nomel, - gBerryTreePaletteSlotTable_Spelon, - gBerryTreePaletteSlotTable_Pamtre, - gBerryTreePaletteSlotTable_Rabuta, - gBerryTreePaletteSlotTable_Durin, - gBerryTreePaletteSlotTable_Hondew, - gBerryTreePaletteSlotTable_Liechi, - gBerryTreePaletteSlotTable_Hondew, - gBerryTreePaletteSlotTable_Aguav, - gBerryTreePaletteSlotTable_Pomeg, - gBerryTreePaletteSlotTable_Grepa, - gBerryTreePaletteSlotTable_Lansat, - gBerryTreePaletteSlotTable_Cornn, - gBerryTreePaletteSlotTable_Durin, + [ITEM_CHERI_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Cheri, + [ITEM_CHESTO_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Chesto, + [ITEM_PECHA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Pecha, + [ITEM_RAWST_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Rawst, + [ITEM_ASPEAR_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Aspear, + [ITEM_LEPPA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Leppa, + [ITEM_ORAN_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Oran, + [ITEM_PERSIM_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Persim, + [ITEM_LUM_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Lum, + [ITEM_SITRUS_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Sitrus, + [ITEM_FIGY_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Figy, + [ITEM_WIKI_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Wiki, + [ITEM_MAGO_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Mago, + [ITEM_AGUAV_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Aguav, + [ITEM_IAPAPA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Iapapa, + [ITEM_RAZZ_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Razz, + [ITEM_BLUK_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Razz, + [ITEM_NANAB_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Mago, + [ITEM_WEPEAR_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Wepear, + [ITEM_PINAP_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Iapapa, + [ITEM_POMEG_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Pomeg, + [ITEM_KELPSY_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Kelpsy, + [ITEM_QUALOT_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Wepear, + [ITEM_HONDEW_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Hondew, + [ITEM_GREPA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Grepa, + [ITEM_TAMATO_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Tamato, + [ITEM_CORNN_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Cornn, + [ITEM_MAGOST_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Pomeg, + [ITEM_RABUTA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Rabuta, + [ITEM_NOMEL_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Nomel, + [ITEM_SPELON_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Spelon, + [ITEM_PAMTRE_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Pamtre, + [ITEM_WATMEL_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Rabuta, + [ITEM_DURIN_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Durin, + [ITEM_BELUE_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Hondew, + [ITEM_LIECHI_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Liechi, + [ITEM_GANLON_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Hondew, + [ITEM_SALAC_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Aguav, + [ITEM_PETAYA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Pomeg, + [ITEM_APICOT_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Grepa, + [ITEM_LANSAT_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Lansat, + [ITEM_STARF_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Cornn, + [ITEM_ENIGMA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Durin, }; const u8 *const gBerryTreeEventObjectGraphicsIdTablePointers[] = { - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, + [ITEM_CHERI_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_CHESTO_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_PECHA_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_RAWST_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_ASPEAR_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_LEPPA_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_ORAN_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_PERSIM_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_LUM_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_SITRUS_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_FIGY_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_WIKI_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_MAGO_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_AGUAV_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_IAPAPA_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_RAZZ_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_BLUK_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_NANAB_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_WEPEAR_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_PINAP_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_POMEG_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_KELPSY_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_QUALOT_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_HONDEW_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_GREPA_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_TAMATO_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_CORNN_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_MAGOST_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_RABUTA_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_NOMEL_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_SPELON_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_PAMTRE_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_WATMEL_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_DURIN_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_BELUE_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_LIECHI_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_GANLON_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_SALAC_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_PETAYA_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_APICOT_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_LANSAT_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_STARF_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_ENIGMA_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + // 3 unused berries. + [ITEM_0B0 - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_0B1 - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_0B2 - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, }; diff --git a/src/data/items.h b/src/data/items.h index 7d7caa289a..4d262e6833 100644 --- a/src/data/items.h +++ b/src/data/items.h @@ -5,16 +5,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -25,14 +19,9 @@ const struct Item gItems[] = .name = _("MASTER BALL"), .itemId = ITEM_MASTER_BALL, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gMasterBallItemDescription, - .importance = 0, - .unk19 = 0, + .description = sMasterBallDesc, .pocket = POCKET_POKE_BALLS, .type = 0, - .fieldUseFunc = NULL, .battleUsage = 2, .battleUseFunc = ItemUseInBattle_PokeBall, .secondaryId = 0, @@ -43,14 +32,9 @@ const struct Item gItems[] = .name = _("ULTRA BALL"), .itemId = ITEM_ULTRA_BALL, .price = 1200, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gUltraBallItemDescription, - .importance = 0, - .unk19 = 0, + .description = sUltraBallDesc, .pocket = POCKET_POKE_BALLS, .type = 1, - .fieldUseFunc = NULL, .battleUsage = 2, .battleUseFunc = ItemUseInBattle_PokeBall, .secondaryId = 1, @@ -61,14 +45,9 @@ const struct Item gItems[] = .name = _("GREAT BALL"), .itemId = ITEM_GREAT_BALL, .price = 600, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gGreatBallItemDescription, - .importance = 0, - .unk19 = 0, + .description = sGreatBallDesc, .pocket = POCKET_POKE_BALLS, .type = 2, - .fieldUseFunc = NULL, .battleUsage = 2, .battleUseFunc = ItemUseInBattle_PokeBall, .secondaryId = 2, @@ -79,14 +58,9 @@ const struct Item gItems[] = .name = _("POKé BALL"), .itemId = ITEM_POKE_BALL, .price = 200, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gPokeBallItemDescription, - .importance = 0, - .unk19 = 0, + .description = sPokeBallDesc, .pocket = POCKET_POKE_BALLS, .type = 3, - .fieldUseFunc = NULL, .battleUsage = 2, .battleUseFunc = ItemUseInBattle_PokeBall, .secondaryId = 3, @@ -97,14 +71,9 @@ const struct Item gItems[] = .name = _("SAFARI BALL"), .itemId = ITEM_SAFARI_BALL, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gSafariBallItemDescription, - .importance = 0, - .unk19 = 0, + .description = sSafariBallDesc, .pocket = POCKET_POKE_BALLS, .type = 4, - .fieldUseFunc = NULL, .battleUsage = 2, .battleUseFunc = ItemUseInBattle_PokeBall, .secondaryId = 4, @@ -115,14 +84,9 @@ const struct Item gItems[] = .name = _("NET BALL"), .itemId = ITEM_NET_BALL, .price = 1000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gNetBallItemDescription, - .importance = 0, - .unk19 = 0, + .description = sNetBallDesc, .pocket = POCKET_POKE_BALLS, .type = 5, - .fieldUseFunc = NULL, .battleUsage = 2, .battleUseFunc = ItemUseInBattle_PokeBall, .secondaryId = 5, @@ -133,14 +97,9 @@ const struct Item gItems[] = .name = _("DIVE BALL"), .itemId = ITEM_DIVE_BALL, .price = 1000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDiveBallItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDiveBallDesc, .pocket = POCKET_POKE_BALLS, .type = 6, - .fieldUseFunc = NULL, .battleUsage = 2, .battleUseFunc = ItemUseInBattle_PokeBall, .secondaryId = 6, @@ -151,14 +110,9 @@ const struct Item gItems[] = .name = _("NEST BALL"), .itemId = ITEM_NEST_BALL, .price = 1000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gNestBallItemDescription, - .importance = 0, - .unk19 = 0, + .description = sNestBallDesc, .pocket = POCKET_POKE_BALLS, .type = 7, - .fieldUseFunc = NULL, .battleUsage = 2, .battleUseFunc = ItemUseInBattle_PokeBall, .secondaryId = 7, @@ -169,14 +123,9 @@ const struct Item gItems[] = .name = _("REPEAT BALL"), .itemId = ITEM_REPEAT_BALL, .price = 1000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gRepeatBallItemDescription, - .importance = 0, - .unk19 = 0, + .description = sRepeatBallDesc, .pocket = POCKET_POKE_BALLS, .type = 8, - .fieldUseFunc = NULL, .battleUsage = 2, .battleUseFunc = ItemUseInBattle_PokeBall, .secondaryId = 8, @@ -187,14 +136,9 @@ const struct Item gItems[] = .name = _("TIMER BALL"), .itemId = ITEM_TIMER_BALL, .price = 1000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTimerBallItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTimerBallDesc, .pocket = POCKET_POKE_BALLS, .type = 9, - .fieldUseFunc = NULL, .battleUsage = 2, .battleUseFunc = ItemUseInBattle_PokeBall, .secondaryId = 9, @@ -205,14 +149,9 @@ const struct Item gItems[] = .name = _("LUXURY BALL"), .itemId = ITEM_LUXURY_BALL, .price = 1000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gLuxuryBallItemDescription, - .importance = 0, - .unk19 = 0, + .description = sLuxuryBallDesc, .pocket = POCKET_POKE_BALLS, .type = 10, - .fieldUseFunc = NULL, .battleUsage = 2, .battleUseFunc = ItemUseInBattle_PokeBall, .secondaryId = 10, @@ -223,14 +162,9 @@ const struct Item gItems[] = .name = _("PREMIER BALL"), .itemId = ITEM_PREMIER_BALL, .price = 200, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gPremierBallItemDescription, - .importance = 0, - .unk19 = 0, + .description = sPremierBallDesc, .pocket = POCKET_POKE_BALLS, .type = 11, - .fieldUseFunc = NULL, .battleUsage = 2, .battleUseFunc = ItemUseInBattle_PokeBall, .secondaryId = 11, @@ -243,11 +177,8 @@ const struct Item gItems[] = .name = _("POTION"), .itemId = ITEM_POTION, .price = 300, - .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 20, - .description = gPotionItemDescription, - .importance = 0, - .unk19 = 0, + .description = sPotionDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -261,11 +192,7 @@ const struct Item gItems[] = .name = _("ANTIDOTE"), .itemId = ITEM_ANTIDOTE, .price = 100, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gAntidoteItemDescription, - .importance = 0, - .unk19 = 0, + .description = sAntidoteDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -279,11 +206,7 @@ const struct Item gItems[] = .name = _("BURN HEAL"), .itemId = ITEM_BURN_HEAL, .price = 250, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gBurnHealItemDescription, - .importance = 0, - .unk19 = 0, + .description = sBurnHealDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -297,11 +220,7 @@ const struct Item gItems[] = .name = _("ICE HEAL"), .itemId = ITEM_ICE_HEAL, .price = 250, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gIceHealItemDescription, - .importance = 0, - .unk19 = 0, + .description = sIceHealDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -315,11 +234,7 @@ const struct Item gItems[] = .name = _("AWAKENING"), .itemId = ITEM_AWAKENING, .price = 250, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gAwakeningItemDescription, - .importance = 0, - .unk19 = 0, + .description = sAwakeningDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -333,11 +248,7 @@ const struct Item gItems[] = .name = _("PARLYZ HEAL"), .itemId = ITEM_PARALYZE_HEAL, .price = 200, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gParalyzeHealItemDescription, - .importance = 0, - .unk19 = 0, + .description = sParalyzeHealDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -351,11 +262,8 @@ const struct Item gItems[] = .name = _("FULL RESTORE"), .itemId = ITEM_FULL_RESTORE, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 255, - .description = gFullRestoreItemDescription, - .importance = 0, - .unk19 = 0, + .description = sFullRestoreDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -369,11 +277,8 @@ const struct Item gItems[] = .name = _("MAX POTION"), .itemId = ITEM_MAX_POTION, .price = 2500, - .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 255, - .description = gMaxPotionItemDescription, - .importance = 0, - .unk19 = 0, + .description = sMaxPotionDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -387,11 +292,8 @@ const struct Item gItems[] = .name = _("HYPER POTION"), .itemId = ITEM_HYPER_POTION, .price = 1200, - .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 200, - .description = gHyperPotionItemDescription, - .importance = 0, - .unk19 = 0, + .description = sHyperPotionDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -405,11 +307,8 @@ const struct Item gItems[] = .name = _("SUPER POTION"), .itemId = ITEM_SUPER_POTION, .price = 700, - .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 50, - .description = gSuperPotionItemDescription, - .importance = 0, - .unk19 = 0, + .description = sSuperPotionDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -423,11 +322,7 @@ const struct Item gItems[] = .name = _("FULL HEAL"), .itemId = ITEM_FULL_HEAL, .price = 600, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gFullHealItemDescription, - .importance = 0, - .unk19 = 0, + .description = sFullHealDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -441,11 +336,7 @@ const struct Item gItems[] = .name = _("REVIVE"), .itemId = ITEM_REVIVE, .price = 1500, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gReviveItemDescription, - .importance = 0, - .unk19 = 0, + .description = sReviveDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -459,11 +350,7 @@ const struct Item gItems[] = .name = _("MAX REVIVE"), .itemId = ITEM_MAX_REVIVE, .price = 4000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gMaxReviveItemDescription, - .importance = 0, - .unk19 = 0, + .description = sMaxReviveDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -477,11 +364,8 @@ const struct Item gItems[] = .name = _("FRESH WATER"), .itemId = ITEM_FRESH_WATER, .price = 200, - .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 50, - .description = gFreshWaterItemDescription, - .importance = 0, - .unk19 = 0, + .description = sFreshWaterDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -495,11 +379,8 @@ const struct Item gItems[] = .name = _("SODA POP"), .itemId = ITEM_SODA_POP, .price = 300, - .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 60, - .description = gSodaPopItemDescription, - .importance = 0, - .unk19 = 0, + .description = sSodaPopDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -513,11 +394,8 @@ const struct Item gItems[] = .name = _("LEMONADE"), .itemId = ITEM_LEMONADE, .price = 350, - .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 80, - .description = gLemonadeItemDescription, - .importance = 0, - .unk19 = 0, + .description = sLemonadeDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -531,11 +409,8 @@ const struct Item gItems[] = .name = _("MOOMOO MILK"), .itemId = ITEM_MOOMOO_MILK, .price = 500, - .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 100, - .description = gMoomooMilkItemDescription, - .importance = 0, - .unk19 = 0, + .description = sMoomooMilkDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -549,11 +424,7 @@ const struct Item gItems[] = .name = _("ENERGYPOWDER"), .itemId = ITEM_ENERGY_POWDER, .price = 500, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gEnergyPowderItemDescription, - .importance = 0, - .unk19 = 0, + .description = sEnergyPowderDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -567,11 +438,7 @@ const struct Item gItems[] = .name = _("ENERGY ROOT"), .itemId = ITEM_ENERGY_ROOT, .price = 800, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gEnergyRootItemDescription, - .importance = 0, - .unk19 = 0, + .description = sEnergyRootDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -585,11 +452,7 @@ const struct Item gItems[] = .name = _("HEAL POWDER"), .itemId = ITEM_HEAL_POWDER, .price = 450, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gHealPowderItemDescription, - .importance = 0, - .unk19 = 0, + .description = sHealPowderDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -603,11 +466,7 @@ const struct Item gItems[] = .name = _("REVIVAL HERB"), .itemId = ITEM_REVIVAL_HERB, .price = 2800, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gRevivalHerbItemDescription, - .importance = 0, - .unk19 = 0, + .description = sRevivalHerbDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -621,11 +480,8 @@ const struct Item gItems[] = .name = _("ETHER"), .itemId = ITEM_ETHER, .price = 1200, - .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 10, - .description = gEtherItemDescription, - .importance = 0, - .unk19 = 0, + .description = sEtherDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_PPRecovery, @@ -639,11 +495,8 @@ const struct Item gItems[] = .name = _("MAX ETHER"), .itemId = ITEM_MAX_ETHER, .price = 2000, - .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 255, - .description = gMaxEtherItemDescription, - .importance = 0, - .unk19 = 0, + .description = sMaxEtherDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_PPRecovery, @@ -657,11 +510,8 @@ const struct Item gItems[] = .name = _("ELIXIR"), .itemId = ITEM_ELIXIR, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 10, - .description = gElixirItemDescription, - .importance = 0, - .unk19 = 0, + .description = sElixirDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_PPRecovery, @@ -675,11 +525,8 @@ const struct Item gItems[] = .name = _("MAX ELIXIR"), .itemId = ITEM_MAX_ELIXIR, .price = 4500, - .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 255, - .description = gMaxElixirItemDescription, - .importance = 0, - .unk19 = 0, + .description = sMaxElixirDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_PPRecovery, @@ -693,11 +540,7 @@ const struct Item gItems[] = .name = _("LAVA COOKIE"), .itemId = ITEM_LAVA_COOKIE, .price = 200, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gLavaCookieItemDescription, - .importance = 0, - .unk19 = 0, + .description = sLavaCookieDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -711,11 +554,7 @@ const struct Item gItems[] = .name = _("BLUE FLUTE"), .itemId = ITEM_BLUE_FLUTE, .price = 100, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gBlueFluteItemDescription, - .importance = 0, - .unk19 = 0, + .description = sBlueFluteDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -729,11 +568,7 @@ const struct Item gItems[] = .name = _("YELLOW FLUTE"), .itemId = ITEM_YELLOW_FLUTE, .price = 200, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gYellowFluteItemDescription, - .importance = 0, - .unk19 = 0, + .description = sYellowFluteDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -747,11 +582,7 @@ const struct Item gItems[] = .name = _("RED FLUTE"), .itemId = ITEM_RED_FLUTE, .price = 300, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gRedFluteItemDescription, - .importance = 0, - .unk19 = 0, + .description = sRedFluteDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -765,16 +596,11 @@ const struct Item gItems[] = .name = _("BLACK FLUTE"), .itemId = ITEM_BLACK_FLUTE, .price = 400, - .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 50, - .description = gBlackFluteItemDescription, - .importance = 0, - .unk19 = 0, + .description = sBlackFluteDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_BlackWhiteFlute, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -783,16 +609,11 @@ const struct Item gItems[] = .name = _("WHITE FLUTE"), .itemId = ITEM_WHITE_FLUTE, .price = 500, - .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 150, - .description = gWhiteFluteItemDescription, - .importance = 0, - .unk19 = 0, + .description = sWhiteFluteDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_BlackWhiteFlute, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -803,9 +624,7 @@ const struct Item gItems[] = .price = 100, .holdEffect = HOLD_EFFECT_RESTORE_HP, .holdEffectParam = 20, - .description = gBerryJuiceItemDescription, - .importance = 0, - .unk19 = 0, + .description = sBerryJuiceDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -819,16 +638,10 @@ const struct Item gItems[] = .name = _("SACRED ASH"), .itemId = ITEM_SACRED_ASH, .price = 200, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gSacredAshItemDescription, - .importance = 0, - .unk19 = 0, + .description = sSacredAshDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_SacredAsh, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -839,16 +652,10 @@ const struct Item gItems[] = .name = _("SHOAL SALT"), .itemId = ITEM_SHOAL_SALT, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gShoalSaltItemDescription, - .importance = 0, - .unk19 = 0, + .description = sShoalSaltDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -857,16 +664,10 @@ const struct Item gItems[] = .name = _("SHOAL SHELL"), .itemId = ITEM_SHOAL_SHELL, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gShoalShellItemDescription, - .importance = 0, - .unk19 = 0, + .description = sShoalShellDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -875,16 +676,10 @@ const struct Item gItems[] = .name = _("RED SHARD"), .itemId = ITEM_RED_SHARD, .price = 200, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gRedShardItemDescription, - .importance = 0, - .unk19 = 0, + .description = sRedShardDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -893,16 +688,10 @@ const struct Item gItems[] = .name = _("BLUE SHARD"), .itemId = ITEM_BLUE_SHARD, .price = 200, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gBlueShardItemDescription, - .importance = 0, - .unk19 = 0, + .description = sBlueShardDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -911,16 +700,10 @@ const struct Item gItems[] = .name = _("YELLOW SHARD"), .itemId = ITEM_YELLOW_SHARD, .price = 200, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gYellowShardItemDescription, - .importance = 0, - .unk19 = 0, + .description = sYellowShardDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -929,16 +712,10 @@ const struct Item gItems[] = .name = _("GREEN SHARD"), .itemId = ITEM_GREEN_SHARD, .price = 200, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gGreenShardItemDescription, - .importance = 0, - .unk19 = 0, + .description = sGreenShardDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -947,16 +724,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -965,16 +736,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -983,16 +748,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1001,16 +760,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1019,16 +772,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1037,16 +784,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1055,16 +796,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1073,16 +808,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1091,16 +820,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1109,16 +832,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1127,16 +844,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1147,16 +858,10 @@ const struct Item gItems[] = .name = _("HP UP"), .itemId = ITEM_HP_UP, .price = 9800, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gHPUpItemDescription, - .importance = 0, - .unk19 = 0, + .description = sHPUpDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1165,16 +870,10 @@ const struct Item gItems[] = .name = _("PROTEIN"), .itemId = ITEM_PROTEIN, .price = 9800, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gProteinItemDescription, - .importance = 0, - .unk19 = 0, + .description = sProteinDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1183,16 +882,10 @@ const struct Item gItems[] = .name = _("IRON"), .itemId = ITEM_IRON, .price = 9800, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gIronItemDescription, - .importance = 0, - .unk19 = 0, + .description = sIronDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1201,16 +894,10 @@ const struct Item gItems[] = .name = _("CARBOS"), .itemId = ITEM_CARBOS, .price = 9800, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gCarbosItemDescription, - .importance = 0, - .unk19 = 0, + .description = sCarbosDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1219,16 +906,10 @@ const struct Item gItems[] = .name = _("CALCIUM"), .itemId = ITEM_CALCIUM, .price = 9800, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gCalciumItemDescription, - .importance = 0, - .unk19 = 0, + .description = sCalciumDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1237,16 +918,10 @@ const struct Item gItems[] = .name = _("RARE CANDY"), .itemId = ITEM_RARE_CANDY, .price = 4800, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gRareCandyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sRareCandyDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_RareCandy, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1255,16 +930,10 @@ const struct Item gItems[] = .name = _("PP UP"), .itemId = ITEM_PP_UP, .price = 9800, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gPPUpItemDescription, - .importance = 0, - .unk19 = 0, + .description = sPPUpDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_PPUp, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1273,16 +942,10 @@ const struct Item gItems[] = .name = _("ZINC"), .itemId = ITEM_ZINC, .price = 9800, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gZincItemDescription, - .importance = 0, - .unk19 = 0, + .description = sZincDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1291,16 +954,10 @@ const struct Item gItems[] = .name = _("PP MAX"), .itemId = ITEM_PP_MAX, .price = 9800, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gPPMaxItemDescription, - .importance = 0, - .unk19 = 0, + .description = sPPMaxDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_PPUp, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1309,16 +966,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1329,11 +980,7 @@ const struct Item gItems[] = .name = _("GUARD SPEC."), .itemId = ITEM_GUARD_SPEC, .price = 700, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gGuardSpecItemDescription, - .importance = 0, - .unk19 = 0, + .description = sGuardSpecDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1347,11 +994,7 @@ const struct Item gItems[] = .name = _("DIRE HIT"), .itemId = ITEM_DIRE_HIT, .price = 650, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDireHitItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDireHitDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1365,11 +1008,7 @@ const struct Item gItems[] = .name = _("X ATTACK"), .itemId = ITEM_X_ATTACK, .price = 500, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gXAttackItemDescription, - .importance = 0, - .unk19 = 0, + .description = sXAttackDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1383,11 +1022,7 @@ const struct Item gItems[] = .name = _("X DEFEND"), .itemId = ITEM_X_DEFEND, .price = 550, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gXDefendItemDescription, - .importance = 0, - .unk19 = 0, + .description = sXDefendDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1401,11 +1036,7 @@ const struct Item gItems[] = .name = _("X SPEED"), .itemId = ITEM_X_SPEED, .price = 350, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gXSpeedItemDescription, - .importance = 0, - .unk19 = 0, + .description = sXSpeedDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1419,11 +1050,7 @@ const struct Item gItems[] = .name = _("X ACCURACY"), .itemId = ITEM_X_ACCURACY, .price = 950, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gXAccuracyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sXAccuracyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1437,11 +1064,7 @@ const struct Item gItems[] = .name = _("X SPECIAL"), .itemId = ITEM_X_SPECIAL, .price = 350, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gXSpecialItemDescription, - .importance = 0, - .unk19 = 0, + .description = sXSpecialDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1455,11 +1078,7 @@ const struct Item gItems[] = .name = _("POKé DOLL"), .itemId = ITEM_POKE_DOLL, .price = 1000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gPokeDollItemDescription, - .importance = 0, - .unk19 = 0, + .description = sPokeDollDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1473,11 +1092,7 @@ const struct Item gItems[] = .name = _("FLUFFY TAIL"), .itemId = ITEM_FLUFFY_TAIL, .price = 1000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gFluffyTailItemDescription, - .importance = 0, - .unk19 = 0, + .description = sFluffyTailDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1491,16 +1106,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1511,16 +1120,11 @@ const struct Item gItems[] = .name = _("SUPER REPEL"), .itemId = ITEM_SUPER_REPEL, .price = 500, - .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 200, - .description = gSuperRepelItemDescription, - .importance = 0, - .unk19 = 0, + .description = sSuperRepelDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_Repel, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1529,16 +1133,11 @@ const struct Item gItems[] = .name = _("MAX REPEL"), .itemId = ITEM_MAX_REPEL, .price = 700, - .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 250, - .description = gMaxRepelItemDescription, - .importance = 0, - .unk19 = 0, + .description = sMaxRepelDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_Repel, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1547,16 +1146,10 @@ const struct Item gItems[] = .name = _("ESCAPE ROPE"), .itemId = ITEM_ESCAPE_ROPE, .price = 550, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gEscapeRopeItemDescription, - .importance = 0, - .unk19 = 0, + .description = sEscapeRopeDesc, .pocket = POCKET_ITEMS, .type = 2, .fieldUseFunc = ItemUseOutOfBattle_EscapeRope, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1565,16 +1158,11 @@ const struct Item gItems[] = .name = _("REPEL"), .itemId = ITEM_REPEL, .price = 350, - .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 100, - .description = gRepelItemDescription, - .importance = 0, - .unk19 = 0, + .description = sRepelDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_Repel, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1583,16 +1171,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1601,16 +1183,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1619,16 +1195,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1637,16 +1207,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1655,16 +1219,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1673,16 +1231,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1693,16 +1245,10 @@ const struct Item gItems[] = .name = _("SUN STONE"), .itemId = ITEM_SUN_STONE, .price = 2100, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gSunStoneItemDescription, - .importance = 0, - .unk19 = 0, + .description = sSunStoneDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1711,16 +1257,10 @@ const struct Item gItems[] = .name = _("MOON STONE"), .itemId = ITEM_MOON_STONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gMoonStoneItemDescription, - .importance = 0, - .unk19 = 0, + .description = sMoonStoneDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1729,16 +1269,10 @@ const struct Item gItems[] = .name = _("FIRE STONE"), .itemId = ITEM_FIRE_STONE, .price = 2100, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gFireStoneItemDescription, - .importance = 0, - .unk19 = 0, + .description = sFireStoneDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1747,16 +1281,10 @@ const struct Item gItems[] = .name = _("THUNDERSTONE"), .itemId = ITEM_THUNDER_STONE, .price = 2100, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gThunderStoneItemDescription, - .importance = 0, - .unk19 = 0, + .description = sThunderStoneDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1765,16 +1293,10 @@ const struct Item gItems[] = .name = _("WATER STONE"), .itemId = ITEM_WATER_STONE, .price = 2100, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gWaterStoneItemDescription, - .importance = 0, - .unk19 = 0, + .description = sWaterStoneDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1783,16 +1305,10 @@ const struct Item gItems[] = .name = _("LEAF STONE"), .itemId = ITEM_LEAF_STONE, .price = 2100, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gLeafStoneItemDescription, - .importance = 0, - .unk19 = 0, + .description = sLeafStoneDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1801,16 +1317,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1819,16 +1329,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1837,16 +1341,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1855,16 +1353,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1875,16 +1367,10 @@ const struct Item gItems[] = .name = _("TINYMUSHROOM"), .itemId = ITEM_TINY_MUSHROOM, .price = 500, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTinyMushroomItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTinyMushroomDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1893,16 +1379,10 @@ const struct Item gItems[] = .name = _("BIG MUSHROOM"), .itemId = ITEM_BIG_MUSHROOM, .price = 5000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gBigMushroomItemDescription, - .importance = 0, - .unk19 = 0, + .description = sBigMushroomDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1911,16 +1391,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1929,16 +1403,10 @@ const struct Item gItems[] = .name = _("PEARL"), .itemId = ITEM_PEARL, .price = 1400, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gPearlItemDescription, - .importance = 0, - .unk19 = 0, + .description = sPearlDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1947,16 +1415,10 @@ const struct Item gItems[] = .name = _("BIG PEARL"), .itemId = ITEM_BIG_PEARL, .price = 7500, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gBigPearlItemDescription, - .importance = 0, - .unk19 = 0, + .description = sBigPearlDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1965,16 +1427,10 @@ const struct Item gItems[] = .name = _("STARDUST"), .itemId = ITEM_STARDUST, .price = 2000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gStardustItemDescription, - .importance = 0, - .unk19 = 0, + .description = sStardustDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1983,16 +1439,10 @@ const struct Item gItems[] = .name = _("STAR PIECE"), .itemId = ITEM_STAR_PIECE, .price = 9800, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gStarPieceItemDescription, - .importance = 0, - .unk19 = 0, + .description = sStarPieceDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2001,16 +1451,10 @@ const struct Item gItems[] = .name = _("NUGGET"), .itemId = ITEM_NUGGET, .price = 10000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gNuggetItemDescription, - .importance = 0, - .unk19 = 0, + .description = sNuggetDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2019,16 +1463,10 @@ const struct Item gItems[] = .name = _("HEART SCALE"), .itemId = ITEM_HEART_SCALE, .price = 100, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gHeartScaleItemDescription, - .importance = 0, - .unk19 = 0, + .description = sHeartScaleDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2037,16 +1475,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2055,16 +1487,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2073,16 +1499,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2091,16 +1511,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2109,16 +1523,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2127,16 +1535,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2145,16 +1547,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2163,16 +1559,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2181,16 +1571,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2200,16 +1584,10 @@ const struct Item gItems[] = .name = _("ORANGE MAIL"), .itemId = ITEM_ORANGE_MAIL, .price = 50, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gOrangeMailItemDescription, - .importance = 0, - .unk19 = 0, + .description = sOrangeMailDesc, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2218,16 +1596,10 @@ const struct Item gItems[] = .name = _("HARBOR MAIL"), .itemId = ITEM_HARBOR_MAIL, .price = 50, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gHarborMailItemDescription, - .importance = 0, - .unk19 = 0, + .description = sHarborMailDesc, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 1, }, @@ -2236,16 +1608,10 @@ const struct Item gItems[] = .name = _("GLITTER MAIL"), .itemId = ITEM_GLITTER_MAIL, .price = 50, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gGlitterMailItemDescription, - .importance = 0, - .unk19 = 0, + .description = sGlitterMailDesc, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 2, }, @@ -2254,16 +1620,10 @@ const struct Item gItems[] = .name = _("MECH MAIL"), .itemId = ITEM_MECH_MAIL, .price = 50, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gMechMailItemDescription, - .importance = 0, - .unk19 = 0, + .description = sMechMailDesc, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 3, }, @@ -2272,16 +1632,10 @@ const struct Item gItems[] = .name = _("WOOD MAIL"), .itemId = ITEM_WOOD_MAIL, .price = 50, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gWoodMailItemDescription, - .importance = 0, - .unk19 = 0, + .description = sWoodMailDesc, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 4, }, @@ -2290,16 +1644,10 @@ const struct Item gItems[] = .name = _("WAVE MAIL"), .itemId = ITEM_WAVE_MAIL, .price = 50, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gWaveMailItemDescription, - .importance = 0, - .unk19 = 0, + .description = sWaveMailDesc, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 5, }, @@ -2308,16 +1656,10 @@ const struct Item gItems[] = .name = _("BEAD MAIL"), .itemId = ITEM_BEAD_MAIL, .price = 50, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gBeadMailItemDescription, - .importance = 0, - .unk19 = 0, + .description = sBeadMailDesc, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 6, }, @@ -2326,16 +1668,10 @@ const struct Item gItems[] = .name = _("SHADOW MAIL"), .itemId = ITEM_SHADOW_MAIL, .price = 50, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gShadowMailItemDescription, - .importance = 0, - .unk19 = 0, + .description = sShadowMailDesc, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 7, }, @@ -2344,16 +1680,10 @@ const struct Item gItems[] = .name = _("TROPIC MAIL"), .itemId = ITEM_TROPIC_MAIL, .price = 50, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTropicMailItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTropicMailDesc, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 8, }, @@ -2362,16 +1692,10 @@ const struct Item gItems[] = .name = _("DREAM MAIL"), .itemId = ITEM_DREAM_MAIL, .price = 50, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDreamMailItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDreamMailDesc, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 9, }, @@ -2380,16 +1704,10 @@ const struct Item gItems[] = .name = _("FAB MAIL"), .itemId = ITEM_FAB_MAIL, .price = 50, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gFabMailItemDescription, - .importance = 0, - .unk19 = 0, + .description = sFabMailDesc, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 10, }, @@ -2398,16 +1716,10 @@ const struct Item gItems[] = .name = _("RETRO MAIL"), .itemId = ITEM_RETRO_MAIL, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gRetroMailItemDescription, - .importance = 0, - .unk19 = 0, + .description = sRetroMailDesc, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 11, }, @@ -2419,10 +1731,7 @@ const struct Item gItems[] = .itemId = ITEM_CHERI_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_CURE_PAR, - .holdEffectParam = 0, - .description = gCheriBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sCheriBerryDesc, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -2437,10 +1746,7 @@ const struct Item gItems[] = .itemId = ITEM_CHESTO_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_CURE_SLP, - .holdEffectParam = 0, - .description = gChestoBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sChestoBerryDesc, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -2455,10 +1761,7 @@ const struct Item gItems[] = .itemId = ITEM_PECHA_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_CURE_PSN, - .holdEffectParam = 0, - .description = gPechaBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sPechaBerryDesc, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -2473,10 +1776,7 @@ const struct Item gItems[] = .itemId = ITEM_RAWST_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_CURE_BRN, - .holdEffectParam = 0, - .description = gRawstBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sRawstBerryDesc, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -2491,10 +1791,7 @@ const struct Item gItems[] = .itemId = ITEM_ASPEAR_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_CURE_FRZ, - .holdEffectParam = 0, - .description = gAspearBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sAspearBerryDesc, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -2510,9 +1807,7 @@ const struct Item gItems[] = .price = 20, .holdEffect = HOLD_EFFECT_RESTORE_PP, .holdEffectParam = 10, - .description = gLeppaBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sLeppaBerryDesc, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_PPRecovery, @@ -2528,9 +1823,7 @@ const struct Item gItems[] = .price = 20, .holdEffect = HOLD_EFFECT_RESTORE_HP, .holdEffectParam = 10, - .description = gOranBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sOranBerryDesc, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -2545,10 +1838,7 @@ const struct Item gItems[] = .itemId = ITEM_PERSIM_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_CURE_CONFUSION, - .holdEffectParam = 0, - .description = gPersimBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sPersimBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2563,10 +1853,7 @@ const struct Item gItems[] = .itemId = ITEM_LUM_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_CURE_STATUS, - .holdEffectParam = 0, - .description = gLumBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sLumBerryDesc, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -2582,9 +1869,7 @@ const struct Item gItems[] = .price = 20, .holdEffect = HOLD_EFFECT_RESTORE_HP, .holdEffectParam = 30, - .description = gSitrusBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sSitrusBerryDesc, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -2600,14 +1885,10 @@ const struct Item gItems[] = .price = 20, .holdEffect = HOLD_EFFECT_CONFUSE_SPICY, .holdEffectParam = 8, - .description = gFigyBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sFigyBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2618,14 +1899,10 @@ const struct Item gItems[] = .price = 20, .holdEffect = HOLD_EFFECT_CONFUSE_DRY, .holdEffectParam = 8, - .description = gWikiBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sWikiBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2636,14 +1913,10 @@ const struct Item gItems[] = .price = 20, .holdEffect = HOLD_EFFECT_CONFUSE_SWEET, .holdEffectParam = 8, - .description = gMagoBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sMagoBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2654,14 +1927,10 @@ const struct Item gItems[] = .price = 20, .holdEffect = HOLD_EFFECT_CONFUSE_BITTER, .holdEffectParam = 8, - .description = gAguavBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sAguavBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2672,14 +1941,10 @@ const struct Item gItems[] = .price = 20, .holdEffect = HOLD_EFFECT_CONFUSE_SOUR, .holdEffectParam = 8, - .description = gIapapaBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sIapapaBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2688,16 +1953,10 @@ const struct Item gItems[] = .name = _("RAZZ BERRY"), .itemId = ITEM_RAZZ_BERRY, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gRazzBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sRazzBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2706,16 +1965,10 @@ const struct Item gItems[] = .name = _("BLUK BERRY"), .itemId = ITEM_BLUK_BERRY, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gBlukBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sBlukBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2724,16 +1977,10 @@ const struct Item gItems[] = .name = _("NANAB BERRY"), .itemId = ITEM_NANAB_BERRY, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gNanabBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sNanabBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2742,16 +1989,10 @@ const struct Item gItems[] = .name = _("WEPEAR BERRY"), .itemId = ITEM_WEPEAR_BERRY, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gWepearBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sWepearBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2760,16 +2001,10 @@ const struct Item gItems[] = .name = _("PINAP BERRY"), .itemId = ITEM_PINAP_BERRY, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gPinapBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sPinapBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2778,16 +2013,10 @@ const struct Item gItems[] = .name = _("POMEG BERRY"), .itemId = ITEM_POMEG_BERRY, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gPomegBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sPomegBerryDesc, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_ReduceEV, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2796,16 +2025,10 @@ const struct Item gItems[] = .name = _("KELPSY BERRY"), .itemId = ITEM_KELPSY_BERRY, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gKelpsyBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sKelpsyBerryDesc, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_ReduceEV, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2814,16 +2037,10 @@ const struct Item gItems[] = .name = _("QUALOT BERRY"), .itemId = ITEM_QUALOT_BERRY, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gQualotBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sQualotBerryDesc, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_ReduceEV, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2832,16 +2049,10 @@ const struct Item gItems[] = .name = _("HONDEW BERRY"), .itemId = ITEM_HONDEW_BERRY, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gHondewBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sHondewBerryDesc, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_ReduceEV, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2850,16 +2061,10 @@ const struct Item gItems[] = .name = _("GREPA BERRY"), .itemId = ITEM_GREPA_BERRY, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gGrepaBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sGrepaBerryDesc, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_ReduceEV, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2868,16 +2073,10 @@ const struct Item gItems[] = .name = _("TAMATO BERRY"), .itemId = ITEM_TAMATO_BERRY, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTamatoBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTamatoBerryDesc, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_ReduceEV, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2886,16 +2085,10 @@ const struct Item gItems[] = .name = _("CORNN BERRY"), .itemId = ITEM_CORNN_BERRY, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gCornnBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sCornnBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2904,16 +2097,10 @@ const struct Item gItems[] = .name = _("MAGOST BERRY"), .itemId = ITEM_MAGOST_BERRY, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gMagostBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sMagostBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2922,16 +2109,10 @@ const struct Item gItems[] = .name = _("RABUTA BERRY"), .itemId = ITEM_RABUTA_BERRY, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gRabutaBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sRabutaBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2940,16 +2121,10 @@ const struct Item gItems[] = .name = _("NOMEL BERRY"), .itemId = ITEM_NOMEL_BERRY, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gNomelBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sNomelBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2958,16 +2133,10 @@ const struct Item gItems[] = .name = _("SPELON BERRY"), .itemId = ITEM_SPELON_BERRY, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gSpelonBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sSpelonBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2976,16 +2145,10 @@ const struct Item gItems[] = .name = _("PAMTRE BERRY"), .itemId = ITEM_PAMTRE_BERRY, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gPamtreBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sPamtreBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2994,16 +2157,10 @@ const struct Item gItems[] = .name = _("WATMEL BERRY"), .itemId = ITEM_WATMEL_BERRY, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gWatmelBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sWatmelBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3012,16 +2169,10 @@ const struct Item gItems[] = .name = _("DURIN BERRY"), .itemId = ITEM_DURIN_BERRY, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDurinBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDurinBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3030,16 +2181,10 @@ const struct Item gItems[] = .name = _("BELUE BERRY"), .itemId = ITEM_BELUE_BERRY, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gBelueBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sBelueBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3050,14 +2195,10 @@ const struct Item gItems[] = .price = 20, .holdEffect = HOLD_EFFECT_ATTACK_UP, .holdEffectParam = 4, - .description = gLiechiBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sLiechiBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3068,14 +2209,10 @@ const struct Item gItems[] = .price = 20, .holdEffect = HOLD_EFFECT_DEFENSE_UP, .holdEffectParam = 4, - .description = gGanlonBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sGanlonBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3086,14 +2223,10 @@ const struct Item gItems[] = .price = 20, .holdEffect = HOLD_EFFECT_SPEED_UP, .holdEffectParam = 4, - .description = gSalacBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sSalacBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3104,14 +2237,10 @@ const struct Item gItems[] = .price = 20, .holdEffect = HOLD_EFFECT_SP_ATTACK_UP, .holdEffectParam = 4, - .description = gPetayaBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sPetayaBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3122,14 +2251,10 @@ const struct Item gItems[] = .price = 20, .holdEffect = HOLD_EFFECT_SP_DEFENSE_UP, .holdEffectParam = 4, - .description = gApicotBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sApicotBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3140,14 +2265,10 @@ const struct Item gItems[] = .price = 20, .holdEffect = HOLD_EFFECT_CRITICAL_UP, .holdEffectParam = 4, - .description = gLansatBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sLansatBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3158,14 +2279,10 @@ const struct Item gItems[] = .price = 20, .holdEffect = HOLD_EFFECT_RANDOM_STAT_UP, .holdEffectParam = 4, - .description = gStarfBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sStarfBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3174,11 +2291,7 @@ const struct Item gItems[] = .name = _("ENIGMA BERRY"), .itemId = ITEM_ENIGMA_BERRY, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gEnigmaBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sEnigmaBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_EnigmaBerry, @@ -3192,16 +2305,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3210,16 +2317,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3228,16 +2329,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3250,14 +2345,10 @@ const struct Item gItems[] = .price = 10, .holdEffect = HOLD_EFFECT_EVASION_UP, .holdEffectParam = 10, - .description = gBrightPowderItemDescription, - .importance = 0, - .unk19 = 0, + .description = sBrightPowderDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3267,15 +2358,10 @@ const struct Item gItems[] = .itemId = ITEM_WHITE_HERB, .price = 100, .holdEffect = HOLD_EFFECT_RESTORE_STATS, - .holdEffectParam = 0, - .description = gWhiteHerbItemDescription, - .importance = 0, - .unk19 = 0, + .description = sWhiteHerbDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3285,15 +2371,10 @@ const struct Item gItems[] = .itemId = ITEM_MACHO_BRACE, .price = 3000, .holdEffect = HOLD_EFFECT_MACHO_BRACE, - .holdEffectParam = 0, - .description = gMachoBraceItemDescription, - .importance = 0, - .unk19 = 0, + .description = sMachoBraceDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3303,15 +2384,10 @@ const struct Item gItems[] = .itemId = ITEM_EXP_SHARE, .price = 3000, .holdEffect = HOLD_EFFECT_EXP_SHARE, - .holdEffectParam = 0, - .description = gExpShareItemDescription, - .importance = 0, - .unk19 = 0, + .description = sExpShareDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3322,14 +2398,10 @@ const struct Item gItems[] = .price = 100, .holdEffect = HOLD_EFFECT_QUICK_CLAW, .holdEffectParam = 20, - .description = gQuickClawItemDescription, - .importance = 0, - .unk19 = 0, + .description = sQuickClawDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3339,15 +2411,10 @@ const struct Item gItems[] = .itemId = ITEM_SOOTHE_BELL, .price = 100, .holdEffect = HOLD_EFFECT_HAPPINESS_UP, - .holdEffectParam = 0, - .description = gSootheBellItemDescription, - .importance = 0, - .unk19 = 0, + .description = sSootheBellDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3357,15 +2424,10 @@ const struct Item gItems[] = .itemId = ITEM_MENTAL_HERB, .price = 100, .holdEffect = HOLD_EFFECT_CURE_ATTRACT, - .holdEffectParam = 0, - .description = gMentalHerbItemDescription, - .importance = 0, - .unk19 = 0, + .description = sMentalHerbDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3375,15 +2437,10 @@ const struct Item gItems[] = .itemId = ITEM_CHOICE_BAND, .price = 100, .holdEffect = HOLD_EFFECT_CHOICE_BAND, - .holdEffectParam = 0, - .description = gChoiceBandItemDescription, - .importance = 0, - .unk19 = 0, + .description = sChoiceBandDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3394,14 +2451,10 @@ const struct Item gItems[] = .price = 100, .holdEffect = HOLD_EFFECT_FLINCH, .holdEffectParam = 10, - .description = gKingsRockItemDescription, - .importance = 0, - .unk19 = 0, + .description = sKingsRockDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3412,14 +2465,10 @@ const struct Item gItems[] = .price = 100, .holdEffect = HOLD_EFFECT_BUG_POWER, .holdEffectParam = 10, - .description = gSilverPowderItemDescription, - .importance = 0, - .unk19 = 0, + .description = sSilverPowderDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3430,14 +2479,10 @@ const struct Item gItems[] = .price = 100, .holdEffect = HOLD_EFFECT_DOUBLE_PRIZE, .holdEffectParam = 10, - .description = gAmuletCoinItemDescription, - .importance = 0, - .unk19 = 0, + .description = sAmuletCoinDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3447,15 +2492,10 @@ const struct Item gItems[] = .itemId = ITEM_CLEANSE_TAG, .price = 200, .holdEffect = HOLD_EFFECT_REPEL, - .holdEffectParam = 0, - .description = gCleanseTagItemDescription, - .importance = 0, - .unk19 = 0, + .description = sCleanseTagDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3465,15 +2505,10 @@ const struct Item gItems[] = .itemId = ITEM_SOUL_DEW, .price = 200, .holdEffect = HOLD_EFFECT_SOUL_DEW, - .holdEffectParam = 0, - .description = gSoulDewItemDescription, - .importance = 0, - .unk19 = 0, + .description = sSoulDewDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3483,15 +2518,10 @@ const struct Item gItems[] = .itemId = ITEM_DEEP_SEA_TOOTH, .price = 200, .holdEffect = HOLD_EFFECT_DEEP_SEA_TOOTH, - .holdEffectParam = 0, - .description = gDeepSeaToothItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDeepSeaToothDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3501,15 +2531,10 @@ const struct Item gItems[] = .itemId = ITEM_DEEP_SEA_SCALE, .price = 200, .holdEffect = HOLD_EFFECT_DEEP_SEA_SCALE, - .holdEffectParam = 0, - .description = gDeepSeaScaleItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDeepSeaScaleDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3519,15 +2544,10 @@ const struct Item gItems[] = .itemId = ITEM_SMOKE_BALL, .price = 200, .holdEffect = HOLD_EFFECT_CAN_ALWAYS_RUN, - .holdEffectParam = 0, - .description = gSmokeBallItemDescription, - .importance = 0, - .unk19 = 0, + .description = sSmokeBallDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3537,15 +2557,10 @@ const struct Item gItems[] = .itemId = ITEM_EVERSTONE, .price = 200, .holdEffect = HOLD_EFFECT_PREVENT_EVOLVE, - .holdEffectParam = 0, - .description = gEverstoneItemDescription, - .importance = 0, - .unk19 = 0, + .description = sEverstoneDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3556,14 +2571,10 @@ const struct Item gItems[] = .price = 200, .holdEffect = HOLD_EFFECT_FOCUS_BAND, .holdEffectParam = 10, - .description = gFocusBandItemDescription, - .importance = 0, - .unk19 = 0, + .description = sFocusBandDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3573,15 +2584,10 @@ const struct Item gItems[] = .itemId = ITEM_LUCKY_EGG, .price = 200, .holdEffect = HOLD_EFFECT_LUCKY_EGG, - .holdEffectParam = 0, - .description = gLuckyEggItemDescription, - .importance = 0, - .unk19 = 0, + .description = sLuckyEggDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3591,15 +2597,10 @@ const struct Item gItems[] = .itemId = ITEM_SCOPE_LENS, .price = 200, .holdEffect = HOLD_EFFECT_SCOPE_LENS, - .holdEffectParam = 0, - .description = gScopeLensItemDescription, - .importance = 0, - .unk19 = 0, + .description = sScopeLensDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3610,14 +2611,10 @@ const struct Item gItems[] = .price = 100, .holdEffect = HOLD_EFFECT_STEEL_POWER, .holdEffectParam = 10, - .description = gMetalCoatItemDescription, - .importance = 0, - .unk19 = 0, + .description = sMetalCoatDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3628,14 +2625,10 @@ const struct Item gItems[] = .price = 200, .holdEffect = HOLD_EFFECT_LEFTOVERS, .holdEffectParam = 10, - .description = gLeftoversItemDescription, - .importance = 0, - .unk19 = 0, + .description = sLeftoversDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3646,14 +2639,10 @@ const struct Item gItems[] = .price = 2100, .holdEffect = HOLD_EFFECT_DRAGON_SCALE, .holdEffectParam = 10, - .description = gDragonScaleItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDragonScaleDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3663,15 +2652,10 @@ const struct Item gItems[] = .itemId = ITEM_LIGHT_BALL, .price = 100, .holdEffect = HOLD_EFFECT_LIGHT_BALL, - .holdEffectParam = 0, - .description = gLightBallItemDescription, - .importance = 0, - .unk19 = 0, + .description = sLightBallDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3682,14 +2666,10 @@ const struct Item gItems[] = .price = 100, .holdEffect = HOLD_EFFECT_GROUND_POWER, .holdEffectParam = 10, - .description = gSoftSandItemDescription, - .importance = 0, - .unk19 = 0, + .description = sSoftSandDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3700,14 +2680,10 @@ const struct Item gItems[] = .price = 100, .holdEffect = HOLD_EFFECT_ROCK_POWER, .holdEffectParam = 10, - .description = gHardStoneItemDescription, - .importance = 0, - .unk19 = 0, + .description = sHardStoneDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3718,14 +2694,10 @@ const struct Item gItems[] = .price = 100, .holdEffect = HOLD_EFFECT_GRASS_POWER, .holdEffectParam = 10, - .description = gMiracleSeedItemDescription, - .importance = 0, - .unk19 = 0, + .description = sMiracleSeedDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3736,14 +2708,10 @@ const struct Item gItems[] = .price = 100, .holdEffect = HOLD_EFFECT_DARK_POWER, .holdEffectParam = 10, - .description = gBlackGlassesItemDescription, - .importance = 0, - .unk19 = 0, + .description = sBlackGlassesDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3754,14 +2722,10 @@ const struct Item gItems[] = .price = 100, .holdEffect = HOLD_EFFECT_FIGHTING_POWER, .holdEffectParam = 10, - .description = gBlackBeltItemDescription, - .importance = 0, - .unk19 = 0, + .description = sBlackBeltDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3772,14 +2736,10 @@ const struct Item gItems[] = .price = 100, .holdEffect = HOLD_EFFECT_ELECTRIC_POWER, .holdEffectParam = 10, - .description = gMagnetItemDescription, - .importance = 0, - .unk19 = 0, + .description = sMagnetDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3790,14 +2750,10 @@ const struct Item gItems[] = .price = 100, .holdEffect = HOLD_EFFECT_WATER_POWER, .holdEffectParam = 10, - .description = gMysticWaterItemDescription, - .importance = 0, - .unk19 = 0, + .description = sMysticWaterDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3808,14 +2764,10 @@ const struct Item gItems[] = .price = 100, .holdEffect = HOLD_EFFECT_FLYING_POWER, .holdEffectParam = 10, - .description = gSharpBeakItemDescription, - .importance = 0, - .unk19 = 0, + .description = sSharpBeakDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3826,14 +2778,10 @@ const struct Item gItems[] = .price = 100, .holdEffect = HOLD_EFFECT_POISON_POWER, .holdEffectParam = 10, - .description = gPoisonBarbItemDescription, - .importance = 0, - .unk19 = 0, + .description = sPoisonBarbDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3844,14 +2792,10 @@ const struct Item gItems[] = .price = 100, .holdEffect = HOLD_EFFECT_ICE_POWER, .holdEffectParam = 10, - .description = gNeverMeltIceItemDescription, - .importance = 0, - .unk19 = 0, + .description = sNeverMeltIceDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3862,14 +2806,10 @@ const struct Item gItems[] = .price = 100, .holdEffect = HOLD_EFFECT_GHOST_POWER, .holdEffectParam = 10, - .description = gSpellTagItemDescription, - .importance = 0, - .unk19 = 0, + .description = sSpellTagDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3880,14 +2820,10 @@ const struct Item gItems[] = .price = 100, .holdEffect = HOLD_EFFECT_PSYCHIC_POWER, .holdEffectParam = 10, - .description = gTwistedSpoonItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTwistedSpoonDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3898,14 +2834,10 @@ const struct Item gItems[] = .price = 9800, .holdEffect = HOLD_EFFECT_FIRE_POWER, .holdEffectParam = 10, - .description = gCharcoalItemDescription, - .importance = 0, - .unk19 = 0, + .description = sCharcoalDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3916,14 +2848,10 @@ const struct Item gItems[] = .price = 100, .holdEffect = HOLD_EFFECT_DRAGON_POWER, .holdEffectParam = 10, - .description = gDragonFangItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDragonFangDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3934,14 +2862,10 @@ const struct Item gItems[] = .price = 100, .holdEffect = HOLD_EFFECT_NORMAL_POWER, .holdEffectParam = 10, - .description = gSilkScarfItemDescription, - .importance = 0, - .unk19 = 0, + .description = sSilkScarfDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3951,15 +2875,10 @@ const struct Item gItems[] = .itemId = ITEM_UP_GRADE, .price = 2100, .holdEffect = HOLD_EFFECT_UP_GRADE, - .holdEffectParam = 0, - .description = gUpGradeItemDescription, - .importance = 0, - .unk19 = 0, + .description = sUpGradeDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3970,14 +2889,10 @@ const struct Item gItems[] = .price = 200, .holdEffect = HOLD_EFFECT_SHELL_BELL, .holdEffectParam = 8, - .description = gShellBellItemDescription, - .importance = 0, - .unk19 = 0, + .description = sShellBellDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3988,14 +2903,10 @@ const struct Item gItems[] = .price = 9600, .holdEffect = HOLD_EFFECT_WATER_POWER, .holdEffectParam = 5, - .description = gSeaIncenseItemDescription, - .importance = 0, - .unk19 = 0, + .description = sSeaIncenseDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4006,14 +2917,10 @@ const struct Item gItems[] = .price = 9600, .holdEffect = HOLD_EFFECT_EVASION_UP, .holdEffectParam = 5, - .description = gLaxIncenseItemDescription, - .importance = 0, - .unk19 = 0, + .description = sLaxIncenseDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4023,15 +2930,10 @@ const struct Item gItems[] = .itemId = ITEM_LUCKY_PUNCH, .price = 10, .holdEffect = HOLD_EFFECT_LUCKY_PUNCH, - .holdEffectParam = 0, - .description = gLuckyPunchItemDescription, - .importance = 0, - .unk19 = 0, + .description = sLuckyPunchDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4041,15 +2943,10 @@ const struct Item gItems[] = .itemId = ITEM_METAL_POWDER, .price = 10, .holdEffect = HOLD_EFFECT_METAL_POWDER, - .holdEffectParam = 0, - .description = gMetalPowderItemDescription, - .importance = 0, - .unk19 = 0, + .description = sMetalPowderDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4059,15 +2956,10 @@ const struct Item gItems[] = .itemId = ITEM_THICK_CLUB, .price = 500, .holdEffect = HOLD_EFFECT_THICK_CLUB, - .holdEffectParam = 0, - .description = gThickClubItemDescription, - .importance = 0, - .unk19 = 0, + .description = sThickClubDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4077,15 +2969,10 @@ const struct Item gItems[] = .itemId = ITEM_STICK, .price = 200, .holdEffect = HOLD_EFFECT_STICK, - .holdEffectParam = 0, - .description = gStickItemDescription, - .importance = 0, - .unk19 = 0, + .description = sStickDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4094,16 +2981,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4112,16 +2993,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4130,16 +3005,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4148,16 +3017,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4166,16 +3029,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4184,16 +3041,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4202,16 +3053,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4220,16 +3065,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4238,16 +3077,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4256,16 +3089,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4274,16 +3101,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4292,16 +3113,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4310,16 +3125,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4328,16 +3137,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4346,16 +3149,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4364,16 +3161,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4382,16 +3173,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4400,16 +3185,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4418,16 +3197,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4436,16 +3209,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4454,16 +3221,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4472,16 +3233,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4490,16 +3245,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4508,16 +3257,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4526,16 +3269,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4544,16 +3281,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4562,16 +3293,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4580,16 +3305,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4598,16 +3317,10 @@ const struct Item gItems[] = .name = _("RED SCARF"), .itemId = ITEM_RED_SCARF, .price = 100, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gRedScarfItemDescription, - .importance = 0, - .unk19 = 0, + .description = sRedScarfDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4616,16 +3329,10 @@ const struct Item gItems[] = .name = _("BLUE SCARF"), .itemId = ITEM_BLUE_SCARF, .price = 100, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gBlueScarfItemDescription, - .importance = 0, - .unk19 = 0, + .description = sBlueScarfDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4634,16 +3341,10 @@ const struct Item gItems[] = .name = _("PINK SCARF"), .itemId = ITEM_PINK_SCARF, .price = 100, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gPinkScarfItemDescription, - .importance = 0, - .unk19 = 0, + .description = sPinkScarfDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4652,16 +3353,10 @@ const struct Item gItems[] = .name = _("GREEN SCARF"), .itemId = ITEM_GREEN_SCARF, .price = 100, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gGreenScarfItemDescription, - .importance = 0, - .unk19 = 0, + .description = sGreenScarfDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4670,16 +3365,10 @@ const struct Item gItems[] = .name = _("YELLOW SCARF"), .itemId = ITEM_YELLOW_SCARF, .price = 100, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gYellowScarfItemDescription, - .importance = 0, - .unk19 = 0, + .description = sYellowScarfDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4690,16 +3379,12 @@ const struct Item gItems[] = .name = _("MACH BIKE"), .itemId = ITEM_MACH_BIKE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gMachBikeItemDescription, + .description = sMachBikeDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 2, .fieldUseFunc = ItemUseOutOfBattle_Bike, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4708,16 +3393,11 @@ const struct Item gItems[] = .name = _("COIN CASE"), .itemId = ITEM_COIN_CASE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gCoinCaseItemDescription, + .description = sCoinCaseDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CoinCase, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4726,16 +3406,12 @@ const struct Item gItems[] = .name = _("ITEMFINDER"), .itemId = ITEM_ITEMFINDER, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gItemfinderItemDescription, + .description = sItemfinderDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 2, .fieldUseFunc = ItemUseOutOfBattle_Itemfinder, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4744,16 +3420,12 @@ const struct Item gItems[] = .name = _("OLD ROD"), .itemId = ITEM_OLD_ROD, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gOldRodItemDescription, + .description = sOldRodDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 2, .fieldUseFunc = ItemUseOutOfBattle_Rod, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4762,16 +3434,12 @@ const struct Item gItems[] = .name = _("GOOD ROD"), .itemId = ITEM_GOOD_ROD, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gGoodRodItemDescription, + .description = sGoodRodDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 2, .fieldUseFunc = ItemUseOutOfBattle_Rod, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 1, }, @@ -4780,16 +3448,12 @@ const struct Item gItems[] = .name = _("SUPER ROD"), .itemId = ITEM_SUPER_ROD, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gSuperRodItemDescription, + .description = sSuperRodDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 2, .fieldUseFunc = ItemUseOutOfBattle_Rod, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 2, }, @@ -4798,16 +3462,11 @@ const struct Item gItems[] = .name = _("S.S. TICKET"), .itemId = ITEM_SS_TICKET, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gSSTicketItemDescription, + .description = sSSTicketDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4816,16 +3475,11 @@ const struct Item gItems[] = .name = _("CONTEST PASS"), .itemId = ITEM_CONTEST_PASS, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gContestPassItemDescription, + .description = sContestPassDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4834,16 +3488,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4852,16 +3500,11 @@ const struct Item gItems[] = .name = _("WAILMER PAIL"), .itemId = ITEM_WAILMER_PAIL, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gWailmerPailItemDescription, + .description = sWailmerPailDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 2, .fieldUseFunc = ItemUseOutOfBattle_WailmerPail, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4870,16 +3513,11 @@ const struct Item gItems[] = .name = _("DEVON GOODS"), .itemId = ITEM_DEVON_GOODS, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDevonGoodsItemDescription, + .description = sDevonGoodsDesc, .importance = 2, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4888,16 +3526,11 @@ const struct Item gItems[] = .name = _("SOOT SACK"), .itemId = ITEM_SOOT_SACK, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gSootSackItemDescription, + .description = sSootSackDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4906,16 +3539,11 @@ const struct Item gItems[] = .name = _("BASEMENT KEY"), .itemId = ITEM_BASEMENT_KEY, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gBasementKeyItemDescription, + .description = sBasementKeyDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4924,16 +3552,12 @@ const struct Item gItems[] = .name = _("ACRO BIKE"), .itemId = ITEM_ACRO_BIKE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gAcroBikeItemDescription, + .description = sAcroBikeDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 2, .fieldUseFunc = ItemUseOutOfBattle_Bike, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 1, }, @@ -4942,16 +3566,12 @@ const struct Item gItems[] = .name = _("{POKEBLOCK} CASE"), .itemId = ITEM_POKEBLOCK_CASE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gPokeblockCaseItemDescription, + .description = sPokeblockCaseDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 3, .fieldUseFunc = ItemUseOutOfBattle_PokeblockCase, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4960,16 +3580,11 @@ const struct Item gItems[] = .name = _("LETTER"), .itemId = ITEM_LETTER, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gLetterItemDescription, + .description = sLetterDesc, .importance = 2, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4978,16 +3593,11 @@ const struct Item gItems[] = .name = _("EON TICKET"), .itemId = ITEM_EON_TICKET, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gEonTicketItemDescription, + .description = sEonTicketDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 1, }, @@ -4996,16 +3606,11 @@ const struct Item gItems[] = .name = _("RED ORB"), .itemId = ITEM_RED_ORB, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gRedOrbItemDescription, + .description = sRedOrbDesc, .importance = 2, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5014,16 +3619,11 @@ const struct Item gItems[] = .name = _("BLUE ORB"), .itemId = ITEM_BLUE_ORB, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gBlueOrbItemDescription, + .description = sBlueOrbDesc, .importance = 2, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5032,16 +3632,11 @@ const struct Item gItems[] = .name = _("SCANNER"), .itemId = ITEM_SCANNER, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gScannerItemDescription, + .description = sScannerDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5050,16 +3645,11 @@ const struct Item gItems[] = .name = _("GO-GOGGLES"), .itemId = ITEM_GO_GOGGLES, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gGoGogglesItemDescription, + .description = sGoGogglesDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5068,16 +3658,11 @@ const struct Item gItems[] = .name = _("METEORITE"), .itemId = ITEM_METEORITE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gMeteoriteItemDescription, + .description = sMeteoriteDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5086,16 +3671,11 @@ const struct Item gItems[] = .name = _("RM. 1 KEY"), .itemId = ITEM_ROOM_1_KEY, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gRoom1KeyItemDescription, + .description = sRoom1KeyDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5104,16 +3684,11 @@ const struct Item gItems[] = .name = _("RM. 2 KEY"), .itemId = ITEM_ROOM_2_KEY, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gRoom2KeyItemDescription, + .description = sRoom2KeyDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5122,16 +3697,11 @@ const struct Item gItems[] = .name = _("RM. 4 KEY"), .itemId = ITEM_ROOM_4_KEY, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gRoom4KeyItemDescription, + .description = sRoom4KeyDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5140,16 +3710,11 @@ const struct Item gItems[] = .name = _("RM. 6 KEY"), .itemId = ITEM_ROOM_6_KEY, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gRoom6KeyItemDescription, + .description = sRoom6KeyDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5158,16 +3723,11 @@ const struct Item gItems[] = .name = _("STORAGE KEY"), .itemId = ITEM_STORAGE_KEY, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gStorageKeyItemDescription, + .description = sStorageKeyDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5176,16 +3736,11 @@ const struct Item gItems[] = .name = _("ROOT FOSSIL"), .itemId = ITEM_ROOT_FOSSIL, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gRootFossilItemDescription, + .description = sRootFossilDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5194,16 +3749,11 @@ const struct Item gItems[] = .name = _("CLAW FOSSIL"), .itemId = ITEM_CLAW_FOSSIL, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gClawFossilItemDescription, + .description = sClawFossilDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5212,16 +3762,11 @@ const struct Item gItems[] = .name = _("DEVON SCOPE"), .itemId = ITEM_DEVON_SCOPE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDevonScopeItemDescription, + .description = sDevonScopeDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5232,16 +3777,10 @@ const struct Item gItems[] = .name = _("TM01"), .itemId = ITEM_TM01_FOCUS_PUNCH, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM01ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM01Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5250,16 +3789,10 @@ const struct Item gItems[] = .name = _("TM02"), .itemId = ITEM_TM02_DRAGON_CLAW, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM02ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM02Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5268,16 +3801,10 @@ const struct Item gItems[] = .name = _("TM03"), .itemId = ITEM_TM03_WATER_PULSE, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM03ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM03Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5286,16 +3813,10 @@ const struct Item gItems[] = .name = _("TM04"), .itemId = ITEM_TM04_CALM_MIND, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM04ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM04Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5304,16 +3825,10 @@ const struct Item gItems[] = .name = _("TM05"), .itemId = ITEM_TM05_ROAR, .price = 1000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM05ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM05Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5322,16 +3837,10 @@ const struct Item gItems[] = .name = _("TM06"), .itemId = ITEM_TM06_TOXIC, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM06ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM06Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5340,16 +3849,10 @@ const struct Item gItems[] = .name = _("TM07"), .itemId = ITEM_TM07_HAIL, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM07ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM07Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5358,16 +3861,10 @@ const struct Item gItems[] = .name = _("TM08"), .itemId = ITEM_TM08_BULK_UP, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM08ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM08Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5376,16 +3873,10 @@ const struct Item gItems[] = .name = _("TM09"), .itemId = ITEM_TM09_BULLET_SEED, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM09ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM09Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5394,16 +3885,10 @@ const struct Item gItems[] = .name = _("TM10"), .itemId = ITEM_TM10_HIDDEN_POWER, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM10ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM10Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5412,16 +3897,10 @@ const struct Item gItems[] = .name = _("TM11"), .itemId = ITEM_TM11_SUNNY_DAY, .price = 2000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM11ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM11Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5430,16 +3909,10 @@ const struct Item gItems[] = .name = _("TM12"), .itemId = ITEM_TM12_TAUNT, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM12ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM12Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5448,16 +3921,10 @@ const struct Item gItems[] = .name = _("TM13"), .itemId = ITEM_TM13_ICE_BEAM, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM13ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM13Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5466,16 +3933,10 @@ const struct Item gItems[] = .name = _("TM14"), .itemId = ITEM_TM14_BLIZZARD, .price = 5500, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM14ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM14Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5484,16 +3945,10 @@ const struct Item gItems[] = .name = _("TM15"), .itemId = ITEM_TM15_HYPER_BEAM, .price = 7500, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM15ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM15Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5502,16 +3957,10 @@ const struct Item gItems[] = .name = _("TM16"), .itemId = ITEM_TM16_LIGHT_SCREEN, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM16ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM16Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5520,16 +3969,10 @@ const struct Item gItems[] = .name = _("TM17"), .itemId = ITEM_TM17_PROTECT, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM17ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM17Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5538,16 +3981,10 @@ const struct Item gItems[] = .name = _("TM18"), .itemId = ITEM_TM18_RAIN_DANCE, .price = 2000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM18ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM18Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5556,16 +3993,10 @@ const struct Item gItems[] = .name = _("TM19"), .itemId = ITEM_TM19_GIGA_DRAIN, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM19ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM19Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5574,16 +4005,10 @@ const struct Item gItems[] = .name = _("TM20"), .itemId = ITEM_TM20_SAFEGUARD, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM20ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM20Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5592,16 +4017,10 @@ const struct Item gItems[] = .name = _("TM21"), .itemId = ITEM_TM21_FRUSTRATION, .price = 1000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM21ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM21Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5610,16 +4029,10 @@ const struct Item gItems[] = .name = _("TM22"), .itemId = ITEM_TM22_SOLARBEAM, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM22ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM22Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5628,16 +4041,10 @@ const struct Item gItems[] = .name = _("TM23"), .itemId = ITEM_TM23_IRON_TAIL, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM23ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM23Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5646,16 +4053,10 @@ const struct Item gItems[] = .name = _("TM24"), .itemId = ITEM_TM24_THUNDERBOLT, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM24ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM24Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5664,16 +4065,10 @@ const struct Item gItems[] = .name = _("TM25"), .itemId = ITEM_TM25_THUNDER, .price = 5500, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM25ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM25Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5682,16 +4077,10 @@ const struct Item gItems[] = .name = _("TM26"), .itemId = ITEM_TM26_EARTHQUAKE, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM26ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM26Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5700,16 +4089,10 @@ const struct Item gItems[] = .name = _("TM27"), .itemId = ITEM_TM27_RETURN, .price = 1000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM27ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM27Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5718,16 +4101,10 @@ const struct Item gItems[] = .name = _("TM28"), .itemId = ITEM_TM28_DIG, .price = 2000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM28ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM28Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5736,16 +4113,10 @@ const struct Item gItems[] = .name = _("TM29"), .itemId = ITEM_TM29_PSYCHIC, .price = 2000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM29ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM29Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5754,16 +4125,10 @@ const struct Item gItems[] = .name = _("TM30"), .itemId = ITEM_TM30_SHADOW_BALL, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM30ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM30Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5772,16 +4137,10 @@ const struct Item gItems[] = .name = _("TM31"), .itemId = ITEM_TM31_BRICK_BREAK, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM31ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM31Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5790,16 +4149,10 @@ const struct Item gItems[] = .name = _("TM32"), .itemId = ITEM_TM32_DOUBLE_TEAM, .price = 2000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM32ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM32Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5808,16 +4161,10 @@ const struct Item gItems[] = .name = _("TM33"), .itemId = ITEM_TM33_REFLECT, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM33ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM33Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5826,16 +4173,10 @@ const struct Item gItems[] = .name = _("TM34"), .itemId = ITEM_TM34_SHOCK_WAVE, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM34ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM34Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5844,16 +4185,10 @@ const struct Item gItems[] = .name = _("TM35"), .itemId = ITEM_TM35_FLAMETHROWER, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM35ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM35Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5862,16 +4197,10 @@ const struct Item gItems[] = .name = _("TM36"), .itemId = ITEM_TM36_SLUDGE_BOMB, .price = 1000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM36ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM36Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5880,16 +4209,10 @@ const struct Item gItems[] = .name = _("TM37"), .itemId = ITEM_TM37_SANDSTORM, .price = 2000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM37ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM37Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5898,16 +4221,10 @@ const struct Item gItems[] = .name = _("TM38"), .itemId = ITEM_TM38_FIRE_BLAST, .price = 5500, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM38ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM38Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5916,16 +4233,10 @@ const struct Item gItems[] = .name = _("TM39"), .itemId = ITEM_TM39_ROCK_TOMB, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM39ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM39Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5934,16 +4245,10 @@ const struct Item gItems[] = .name = _("TM40"), .itemId = ITEM_TM40_AERIAL_ACE, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM40ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM40Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5952,16 +4257,10 @@ const struct Item gItems[] = .name = _("TM41"), .itemId = ITEM_TM41_TORMENT, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM41ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM41Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5970,16 +4269,10 @@ const struct Item gItems[] = .name = _("TM42"), .itemId = ITEM_TM42_FACADE, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM42ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM42Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5988,16 +4281,10 @@ const struct Item gItems[] = .name = _("TM43"), .itemId = ITEM_TM43_SECRET_POWER, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM43ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM43Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6006,16 +4293,10 @@ const struct Item gItems[] = .name = _("TM44"), .itemId = ITEM_TM44_REST, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM44ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM44Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6024,16 +4305,10 @@ const struct Item gItems[] = .name = _("TM45"), .itemId = ITEM_TM45_ATTRACT, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM45ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM45Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6042,16 +4317,10 @@ const struct Item gItems[] = .name = _("TM46"), .itemId = ITEM_TM46_THIEF, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM46ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM46Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6060,16 +4329,10 @@ const struct Item gItems[] = .name = _("TM47"), .itemId = ITEM_TM47_STEEL_WING, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM47ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM47Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6078,16 +4341,10 @@ const struct Item gItems[] = .name = _("TM48"), .itemId = ITEM_TM48_SKILL_SWAP, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM48ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM48Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6096,16 +4353,10 @@ const struct Item gItems[] = .name = _("TM49"), .itemId = ITEM_TM49_SNATCH, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM49ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM49Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6114,16 +4365,10 @@ const struct Item gItems[] = .name = _("TM50"), .itemId = ITEM_TM50_OVERHEAT, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM50ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM50Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6132,16 +4377,11 @@ const struct Item gItems[] = .name = _("HM01"), .itemId = ITEM_HM01_CUT, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gHM01ItemDescription, + .description = sHM01Desc, .importance = 1, - .unk19 = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6150,16 +4390,11 @@ const struct Item gItems[] = .name = _("HM02"), .itemId = ITEM_HM02_FLY, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gHM02ItemDescription, + .description = sHM02Desc, .importance = 1, - .unk19 = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6168,16 +4403,11 @@ const struct Item gItems[] = .name = _("HM03"), .itemId = ITEM_HM03_SURF, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gHM03ItemDescription, + .description = sHM03Desc, .importance = 1, - .unk19 = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6186,16 +4416,11 @@ const struct Item gItems[] = .name = _("HM04"), .itemId = ITEM_HM04_STRENGTH, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gHM04ItemDescription, + .description = sHM04Desc, .importance = 1, - .unk19 = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6204,16 +4429,11 @@ const struct Item gItems[] = .name = _("HM05"), .itemId = ITEM_HM05_FLASH, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gHM05ItemDescription, + .description = sHM05Desc, .importance = 1, - .unk19 = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6222,16 +4442,11 @@ const struct Item gItems[] = .name = _("HM06"), .itemId = ITEM_HM06_ROCK_SMASH, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gHM06ItemDescription, + .description = sHM06Desc, .importance = 1, - .unk19 = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6240,16 +4455,11 @@ const struct Item gItems[] = .name = _("HM07"), .itemId = ITEM_HM07_WATERFALL, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gHM07ItemDescription, + .description = sHM07Desc, .importance = 1, - .unk19 = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6258,16 +4468,11 @@ const struct Item gItems[] = .name = _("HM08"), .itemId = ITEM_HM08_DIVE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gHM08ItemDescription, + .description = sHM08Desc, .importance = 1, - .unk19 = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6276,16 +4481,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6294,16 +4493,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6314,16 +4507,11 @@ const struct Item gItems[] = .name = _("OAK'S PARCEL"), .itemId = ITEM_OAKS_PARCEL, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gOaksParcelItemDescription, + .description = sOaksParcelDesc, .importance = 2, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6332,16 +4520,11 @@ const struct Item gItems[] = .name = _("POKé FLUTE"), .itemId = ITEM_POKE_FLUTE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gPokeFluteItemDescription, + .description = sPokeFluteDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6350,16 +4533,11 @@ const struct Item gItems[] = .name = _("SECRET KEY"), .itemId = ITEM_SECRET_KEY, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gSecretKeyItemDescription, + .description = sSecretKeyDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6368,16 +4546,11 @@ const struct Item gItems[] = .name = _("BIKE VOUCHER"), .itemId = ITEM_BIKE_VOUCHER, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gBikeVoucherItemDescription, + .description = sBikeVoucherDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6386,16 +4559,11 @@ const struct Item gItems[] = .name = _("GOLD TEETH"), .itemId = ITEM_GOLD_TEETH, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gGoldTeethItemDescription, + .description = sGoldTeethDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6404,16 +4572,11 @@ const struct Item gItems[] = .name = _("OLD AMBER"), .itemId = ITEM_OLD_AMBER, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gOldAmberItemDescription, + .description = sOldAmberDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6422,16 +4585,11 @@ const struct Item gItems[] = .name = _("CARD KEY"), .itemId = ITEM_CARD_KEY, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gCardKeyItemDescription, + .description = sCardKeyDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6440,16 +4598,11 @@ const struct Item gItems[] = .name = _("LIFT KEY"), .itemId = ITEM_LIFT_KEY, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gLiftKeyItemDescription, + .description = sLiftKeyDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6458,16 +4611,11 @@ const struct Item gItems[] = .name = _("HELIX FOSSIL"), .itemId = ITEM_HELIX_FOSSIL, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gHelixFossilItemDescription, + .description = sHelixFossilDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6476,16 +4624,11 @@ const struct Item gItems[] = .name = _("DOME FOSSIL"), .itemId = ITEM_DOME_FOSSIL, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDomeFossilItemDescription, + .description = sDomeFossilDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6494,16 +4637,11 @@ const struct Item gItems[] = .name = _("SILPH SCOPE"), .itemId = ITEM_SILPH_SCOPE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gSilphScopeItemDescription, + .description = sSilphScopeDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6512,16 +4650,12 @@ const struct Item gItems[] = .name = _("BICYCLE"), .itemId = ITEM_BICYCLE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gBicycleItemDescription, + .description = sBicycleDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 2, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6530,16 +4664,12 @@ const struct Item gItems[] = .name = _("TOWN MAP"), .itemId = ITEM_TOWN_MAP, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTownMapItemDescription, + .description = sTownMapDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6548,16 +4678,12 @@ const struct Item gItems[] = .name = _("VS SEEKER"), .itemId = ITEM_VS_SEEKER, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gVSSeekerItemDescription, + .description = sVSSeekerDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 2, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6566,16 +4692,12 @@ const struct Item gItems[] = .name = _("FAME CHECKER"), .itemId = ITEM_FAME_CHECKER, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gFameCheckerItemDescription, + .description = sFameCheckerDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6584,16 +4706,12 @@ const struct Item gItems[] = .name = _("TM CASE"), .itemId = ITEM_TM_CASE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTMCaseItemDescription, + .description = sTMCaseDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6602,16 +4720,12 @@ const struct Item gItems[] = .name = _("BERRY POUCH"), .itemId = ITEM_BERRY_POUCH, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gBerryPouchItemDescription, + .description = sBerryPouchDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6620,16 +4734,12 @@ const struct Item gItems[] = .name = _("TEACHY TV"), .itemId = ITEM_TEACHY_TV, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTeachyTVItemDescription, + .description = sTeachyTVDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 2, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6638,16 +4748,12 @@ const struct Item gItems[] = .name = _("TRI-PASS"), .itemId = ITEM_TRI_PASS, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTriPassItemDescription, + .description = sTriPassDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6656,16 +4762,12 @@ const struct Item gItems[] = .name = _("RAINBOW PASS"), .itemId = ITEM_RAINBOW_PASS, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gRainbowPassItemDescription, + .description = sRainbowPassDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6674,16 +4776,12 @@ const struct Item gItems[] = .name = _("TEA"), .itemId = ITEM_TEA, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTeaItemDescription, + .description = sTeaDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6692,16 +4790,12 @@ const struct Item gItems[] = .name = _("MYSTICTICKET"), .itemId = ITEM_MYSTIC_TICKET, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gMysticTicketItemDescription, + .description = sMysticTicketDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6710,16 +4804,12 @@ const struct Item gItems[] = .name = _("AURORATICKET"), .itemId = ITEM_AURORA_TICKET, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gAuroraTicketItemDescription, + .description = sAuroraTicketDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6728,16 +4818,12 @@ const struct Item gItems[] = .name = _("POWDER JAR"), .itemId = ITEM_POWDER_JAR, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gPowderJarItemDescription, + .description = sPowderJarDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_PowderJar, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6746,16 +4832,12 @@ const struct Item gItems[] = .name = _("RUBY"), .itemId = ITEM_RUBY, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gRubyItemDescription, + .description = sRubyDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6764,16 +4846,12 @@ const struct Item gItems[] = .name = _("SAPPHIRE"), .itemId = ITEM_SAPPHIRE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gSapphireItemDescription, + .description = sSapphireDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6784,16 +4862,12 @@ const struct Item gItems[] = .name = _("MAGMA EMBLEM"), .itemId = ITEM_MAGMA_EMBLEM, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gMagmaEmblemItemDescription, + .description = sMagmaEmblemDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6802,16 +4876,12 @@ const struct Item gItems[] = .name = _("OLD SEA MAP"), .itemId = ITEM_OLD_SEA_MAP, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gOldSeaMapItemDescription, + .description = sOldSeaMapDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, }; diff --git a/src/data/pokemon/item_effects.h b/src/data/pokemon/item_effects.h index 9f5720a66d..1697a1e7eb 100644 --- a/src/data/pokemon/item_effects.h +++ b/src/data/pokemon/item_effects.h @@ -1,236 +1,476 @@ -const u8 gItemEffect_Potion[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 20}; -const u8 gItemEffect_Antidote[] = {0x00, 0x00, 0x00, 0x10, 0x00, 0x00}; -const u8 gItemEffect_BurnHeal[] = {0x00, 0x00, 0x00, 0x08, 0x00, 0x00}; -const u8 gItemEffect_IceHeal[] = {0x00, 0x00, 0x00, 0x04, 0x00, 0x00}; -const u8 gItemEffect_Awakening[] = {0x00, 0x00, 0x00, 0x20, 0x00, 0x00}; -const u8 gItemEffect_ParalyzeHeal[] = {0x00, 0x00, 0x00, 0x02, 0x00, 0x00}; -const u8 gItemEffect_FullRestore[] = {0x00, 0x00, 0x00, 0x3f, 0x04, 0x00, 0xff}; -const u8 gItemEffect_MaxPotion[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0xff}; -const u8 gItemEffect_HyperPotion[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 200}; -const u8 gItemEffect_SuperPotion[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 50}; -const u8 gItemEffect_FullHeal[] = {0x00, 0x00, 0x00, 0x3f, 0x00, 0x00}; -const u8 gItemEffect_Revive[] = {0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0xfe}; -const u8 gItemEffect_MaxRevive[] = {0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0xff}; -const u8 gItemEffect_FreshWater[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 50}; -const u8 gItemEffect_SodaPop[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 60}; -const u8 gItemEffect_Lemonade[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 80}; -const u8 gItemEffect_MoomooMilk[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 100}; -const u8 gItemEffect_EnergyPowder[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0xe0, 50, 0xfb, 0xfb, 0xf6}; -const u8 gItemEffect_EnergyRoot[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0xe0, 200, 0xf6, 0xf6, 0xf1}; -const u8 gItemEffect_HealPowder[] = {0x00, 0x00, 0x00, 0x3f, 0x00, 0xe0, 0xfb, 0xfb, 0xf6}; -const u8 gItemEffect_RevivalHerb[] = {0x00, 0x00, 0x00, 0x00, 0x44, 0xe0, 0xff, 0xf1, 0xf1, 0xec}; -const u8 gItemEffect_Ether[] = {0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x0a}; -const u8 gItemEffect_MaxEther[] = {0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x7f}; -const u8 gItemEffect_Elixir[] = {0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x0a}; -const u8 gItemEffect_MaxElixir[] = {0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x7f}; -const u8 gItemEffect_LavaCookie[] = {0x00, 0x00, 0x00, 0x3f, 0x00, 0x00}; -const u8 gItemEffect_BlueFlute[] = {0x00, 0x00, 0x00, 0x20, 0x00, 0x00}; -const u8 gItemEffect_YellowFlute[] = {0x00, 0x00, 0x00, 0x01, 0x00, 0x00}; -const u8 gItemEffect_RedFlute[] = {0x80, 0x00, 0x00, 0x00, 0x00, 0x00}; -const u8 gItemEffect_BerryJuice[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 20}; -const u8 gItemEffect_SacredAsh[] = {0x40, 0x00, 0x00, 0x00, 0x44, 0x00, 0xff}; -const u8 gItemEffect_HPUp[] = {0x00, 0x00, 0x00, 0x00, 0x01, 0xe0, 0x0a, 0x05, 0x03, 0x02}; -const u8 gItemEffect_Protein[] = {0x00, 0x00, 0x00, 0x00, 0x02, 0xe0, 0x0a, 0x05, 0x03, 0x02}; -const u8 gItemEffect_Iron[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xe1, 0x0a, 0x05, 0x03, 0x02}; -const u8 gItemEffect_Carbos[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xe2, 0x0a, 0x05, 0x03, 0x02}; -const u8 gItemEffect_Calcium[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x0a, 0x05, 0x03, 0x02}; -const u8 gItemEffect_RareCandy[] = {0x00, 0x00, 0x00, 0x40, 0x44, 0xe0, 253, 0x05, 0x03, 0x02}; -const u8 gItemEffect_PPUp[] = {0x00, 0x00, 0x00, 0x00, 0x20, 0xe0, 0x05, 0x03, 0x02}; -const u8 gItemEffect_Zinc[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x0a, 0x05, 0x03, 0x02}; -const u8 gItemEffect_PPMax[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x05, 0x03, 0x02}; -const u8 gItemEffect_GuardSpec[] = {0x00, 0x00, 0x00, 0x80, 0x00, 0x60, 0x01, 0x01}; -const u8 gItemEffect_DireHit[] = {0x20, 0x00, 0x00, 0x00, 0x00, 0x60, 0x01, 0x01}; -const u8 gItemEffect_XAttack[] = {0x01, 0x00, 0x00, 0x00, 0x00, 0x60, 0x01, 0x01}; -const u8 gItemEffect_XDefend[] = {0x00, 0x10, 0x00, 0x00, 0x00, 0x60, 0x01, 0x01}; -const u8 gItemEffect_XSpeed[] = {0x00, 0x01, 0x00, 0x00, 0x00, 0x60, 0x01, 0x01}; -const u8 gItemEffect_XAccuracy[] = {0x00, 0x00, 0x10, 0x00, 0x00, 0x60, 0x01, 0x01}; -const u8 gItemEffect_XSpecial[] = {0x00, 0x00, 0x01, 0x00, 0x00, 0x60, 0x01, 0x01}; -const u8 gItemEffect_SunStone[] = {0x00, 0x00, 0x00, 0x00, 0x80, 0x00}; -const u8 gItemEffect_MoonStone[] = {0x00, 0x00, 0x00, 0x00, 0x80, 0x00}; -const u8 gItemEffect_FireStone[] = {0x00, 0x00, 0x00, 0x00, 0x80, 0x00}; -const u8 gItemEffect_ThunderStone[] = {0x00, 0x00, 0x00, 0x00, 0x80, 0x00}; -const u8 gItemEffect_WaterStone[] = {0x00, 0x00, 0x00, 0x00, 0x80, 0x00}; -const u8 gItemEffect_LeafStone[] = {0x00, 0x00, 0x00, 0x00, 0x80, 0x00}; -const u8 gItemEffect_CheriBerry[] = {0x00, 0x00, 0x00, 0x02, 0x00, 0x00}; -const u8 gItemEffect_ChestoBerry[] = {0x00, 0x00, 0x00, 0x20, 0x00, 0x00}; -const u8 gItemEffect_PechaBerry[] = {0x00, 0x00, 0x00, 0x10, 0x00, 0x00}; -const u8 gItemEffect_RawstBerry[] = {0x00, 0x00, 0x00, 0x08, 0x00, 0x00}; -const u8 gItemEffect_AspearBerry[] = {0x00, 0x00, 0x00, 0x04, 0x00, 0x00}; -const u8 gItemEffect_LeppaBerry[] = {0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x0a}; -const u8 gItemEffect_OranBerry[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 10}; -const u8 gItemEffect_PersimBerry[] = {0x00, 0x00, 0x00, 0x01, 0x00, 0x00}; -const u8 gItemEffect_LumBerry[] = {0x00, 0x00, 0x00, 0x3f, 0x00, 0x00}; -const u8 gItemEffect_SitrusBerry[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 30}; -const u8 gItemEffect_PomegBerry[] = {0x00, 0x00, 0x00, 0x00, 0x01, 0xe0, 0xf6, 0x0a, 0x05, 0x02}; -const u8 gItemEffect_KelpsyBerry[] = {0x00, 0x00, 0x00, 0x00, 0x02, 0xe0, 0xf6, 0x0a, 0x05, 0x02}; -const u8 gItemEffect_QualotBerry[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xe1, 0xf6, 0x0a, 0x05, 0x02}; -const u8 gItemEffect_HondrewBerry[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0xf6, 0x0a, 0x05, 0x02}; -const u8 gItemEffect_GrepaBerry[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xe4, 0xf6, 0x0a, 0x05, 0x02}; -const u8 gItemEffect_TamatoBerry[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xe2, 0xf6, 0x0a, 0x05, 0x02}; +const u8 gItemEffect_Potion[7] = { + [4] = ITEM4_HEAL_HP, + [6] = 20, +}; + +const u8 gItemEffect_Antidote[6] = { + [3] = ITEM3_POISON, +}; + +const u8 gItemEffect_BurnHeal[6] = { + [3] = ITEM3_BURN, +}; + +const u8 gItemEffect_IceHeal[6] = { + [3] = ITEM3_FREEZE, +}; + +const u8 gItemEffect_Awakening[6] = { + [3] = ITEM3_SLEEP, +}; + +const u8 gItemEffect_ParalyzeHeal[6] = { + [3] = ITEM3_PARALYSIS, +}; + +const u8 gItemEffect_FullRestore[7] = { + [3] = ITEM3_STATUS_ALL, + [4] = ITEM4_HEAL_HP, + [6] = -1, +}; + +const u8 gItemEffect_MaxPotion[7] = { + [4] = ITEM4_HEAL_HP, + [6] = -1, +}; + +const u8 gItemEffect_HyperPotion[7] = { + [4] = ITEM4_HEAL_HP, + [6] = 200, +}; + +const u8 gItemEffect_SuperPotion[7] = { + [4] = ITEM4_HEAL_HP, + [6] = 50, +}; + +const u8 gItemEffect_FullHeal[6] = { + [3] = ITEM3_STATUS_ALL, +}; + +const u8 gItemEffect_Revive[7] = { + [4] = ITEM4_REVIVE | ITEM4_HEAL_HP, + [6] = -2, +}; + +const u8 gItemEffect_MaxRevive[7] = { + [4] = ITEM4_REVIVE | ITEM4_HEAL_HP, + [6] = -1, +}; + +const u8 gItemEffect_FreshWater[7] = { + [4] = ITEM4_HEAL_HP, + [6] = 50, +}; + +const u8 gItemEffect_SodaPop[7] = { + [4] = ITEM4_HEAL_HP, + [6] = 60, +}; + +const u8 gItemEffect_Lemonade[7] = { + [4] = ITEM4_HEAL_HP, + [6] = 80, +}; + +const u8 gItemEffect_MoomooMilk[7] = { + [4] = ITEM4_HEAL_HP, + [6] = 100, +}; + +const u8 gItemEffect_EnergyPowder[10] = { + [4] = ITEM4_HEAL_HP, + [5] = ITEM5_FRIENDSHIP_ALL, + [6] = 50, + [7] = -5, + [8] = -5, + [9] = -10, +}; + +const u8 gItemEffect_EnergyRoot[10] = { + [4] = ITEM4_HEAL_HP, + [5] = ITEM5_FRIENDSHIP_ALL, + [6] = 200, + [7] = -10, + [8] = -10, + [9] = -15, +}; + +const u8 gItemEffect_HealPowder[9] = { + [3] = ITEM3_STATUS_ALL, + [5] = ITEM5_FRIENDSHIP_ALL, + [6] = -5, + [7] = -5, + [8] = -10, +}; + +const u8 gItemEffect_RevivalHerb[10] = { + [4] = ITEM4_REVIVE | ITEM4_HEAL_HP, + [5] = ITEM5_FRIENDSHIP_ALL, + [6] = -1, + [7] = -15, + [8] = -15, + [9] = -20, +}; + +const u8 gItemEffect_Ether[7] = { + [4] = ITEM4_HEAL_PP_ONE | ITEM4_HEAL_PP_ALL, + [6] = 10, +}; + +const u8 gItemEffect_MaxEther[7] = { + [4] = ITEM4_HEAL_PP_ONE | ITEM4_HEAL_PP_ALL, + [6] = 0x7F, +}; + +const u8 gItemEffect_Elixir[7] = { + [4] = ITEM4_HEAL_PP_ALL, + [6] = 10, +}; + +const u8 gItemEffect_MaxElixir[7] = { + [4] = ITEM4_HEAL_PP_ALL, + [6] = 0x7F, +}; + +const u8 gItemEffect_LavaCookie[6] = { + [3] = ITEM3_STATUS_ALL, +}; + +const u8 gItemEffect_BlueFlute[6] = { + [3] = ITEM3_SLEEP, +}; + +const u8 gItemEffect_YellowFlute[6] = { + [3] = ITEM3_CONFUSION, +}; + +const u8 gItemEffect_RedFlute[6] = { + [0] = ITEM0_INFATUATION, +}; + +const u8 gItemEffect_BerryJuice[7] = { + [4] = ITEM4_HEAL_HP, + [6] = 20, +}; + +const u8 gItemEffect_SacredAsh[7] = { + [0] = ITEM0_SACRED_ASH, + [4] = ITEM4_REVIVE | ITEM4_HEAL_HP, + [6] = -1, +}; + +const u8 gItemEffect_HPUp[10] = { + [4] = ITEM4_EV_HP, + [5] = ITEM5_FRIENDSHIP_ALL, + [6] = 10, + [7] = 5, + [8] = 3, + [9] = 2, +}; + +const u8 gItemEffect_Protein[10] = { + [4] = ITEM4_EV_ATK, + [5] = ITEM5_FRIENDSHIP_ALL, + [6] = 10, + [7] = 5, + [8] = 3, + [9] = 2, +}; + +const u8 gItemEffect_Iron[10] = { + [5] = ITEM5_EV_DEF | ITEM5_FRIENDSHIP_ALL, + [6] = 10, + [7] = 5, + [8] = 3, + [9] = 2, +}; + +const u8 gItemEffect_Carbos[10] = { + [5] = ITEM5_EV_SPEED | ITEM5_FRIENDSHIP_ALL, + [6] = 10, + [7] = 5, + [8] = 3, + [9] = 2, +}; + +const u8 gItemEffect_Calcium[10] = { + [5] = ITEM5_EV_SPATK | ITEM5_FRIENDSHIP_ALL, + [6] = 10, + [7] = 5, + [8] = 3, + [9] = 2, +}; + +const u8 gItemEffect_RareCandy[10] = { + [3] = ITEM3_LEVEL_UP, + [4] = ITEM4_REVIVE | ITEM4_HEAL_HP, + [5] = ITEM5_FRIENDSHIP_ALL, + [6] = 0xFD, + [7] = 5, + [8] = 3, + [9] = 2, +}; + +const u8 gItemEffect_PPUp[9] = { + [4] = ITEM4_PP_UP, + [5] = ITEM5_FRIENDSHIP_ALL, + [6] = 5, + [7] = 3, + [8] = 2, +}; + +const u8 gItemEffect_Zinc[10] = { + [5] = ITEM5_EV_SPDEF | ITEM5_FRIENDSHIP_ALL, + [6] = 10, + [7] = 5, + [8] = 3, + [9] = 2, +}; + +const u8 gItemEffect_PPMax[9] = { + [5] = ITEM5_PP_MAX | ITEM5_FRIENDSHIP_ALL, + [6] = 5, + [7] = 3, + [8] = 2, +}; + +const u8 gItemEffect_GuardSpec[8] = { + [3] = ITEM3_MIST, + [5] = ITEM5_FRIENDSHIP_LOW | ITEM5_FRIENDSHIP_MID, + [6] = 1, + [7] = 1, +}; + +const u8 gItemEffect_DireHit[8] = { + [0] = 2 << 4, + [5] = ITEM5_FRIENDSHIP_LOW | ITEM5_FRIENDSHIP_MID, + [6] = 1, + [7] = 1, +}; + +const u8 gItemEffect_XAttack[8] = { + [0] = 1, + [5] = ITEM5_FRIENDSHIP_LOW | ITEM5_FRIENDSHIP_MID, + [6] = 1, + [7] = 1, +}; + +const u8 gItemEffect_XDefend[8] = { + [1] = 1 << 4, + [5] = ITEM5_FRIENDSHIP_LOW | ITEM5_FRIENDSHIP_MID, + [6] = 1, + [7] = 1, +}; + +const u8 gItemEffect_XSpeed[8] = { + [1] = 1, + [5] = ITEM5_FRIENDSHIP_LOW | ITEM5_FRIENDSHIP_MID, + [6] = 1, + [7] = 1, +}; + +const u8 gItemEffect_XAccuracy[8] = { + [2] = 1 << 4, + [5] = ITEM5_FRIENDSHIP_LOW | ITEM5_FRIENDSHIP_MID, + [6] = 1, + [7] = 1, +}; + +const u8 gItemEffect_XSpecial[8] = { + [2] = 1, + [5] = ITEM5_FRIENDSHIP_LOW | ITEM5_FRIENDSHIP_MID, + [6] = 1, + [7] = 1, +}; + +const u8 gItemEffect_SunStone[6] = { + [4] = ITEM4_EVO_STONE, +}; + +const u8 gItemEffect_MoonStone[6] = { + [4] = ITEM4_EVO_STONE, +}; + +const u8 gItemEffect_FireStone[6] = { + [4] = ITEM4_EVO_STONE, +}; + +const u8 gItemEffect_ThunderStone[6] = { + [4] = ITEM4_EVO_STONE, +}; + +const u8 gItemEffect_WaterStone[6] = { + [4] = ITEM4_EVO_STONE, +}; + +const u8 gItemEffect_LeafStone[6] = { + [4] = ITEM4_EVO_STONE, +}; + +const u8 gItemEffect_CheriBerry[6] = { + [3] = ITEM3_PARALYSIS, +}; + +const u8 gItemEffect_ChestoBerry[6] = { + [3] = ITEM3_SLEEP, +}; + +const u8 gItemEffect_PechaBerry[6] = { + [3] = ITEM3_POISON, +}; + +const u8 gItemEffect_RawstBerry[6] = { + [3] = ITEM3_BURN, +}; + +const u8 gItemEffect_AspearBerry[6] = { + [3] = ITEM3_FREEZE, +}; + +const u8 gItemEffect_LeppaBerry[7] = { + [4] = ITEM4_HEAL_PP_ONE | ITEM4_HEAL_PP_ALL, + [6] = 10, +}; + +const u8 gItemEffect_OranBerry[7] = { + [4] = ITEM4_HEAL_HP, + [6] = 10, +}; + +const u8 gItemEffect_PersimBerry[6] = { + [3] = ITEM3_CONFUSION, +}; + +const u8 gItemEffect_LumBerry[6] = { + [3] = ITEM3_STATUS_ALL, +}; + +const u8 gItemEffect_SitrusBerry[7] = { + [4] = ITEM4_HEAL_HP, + [6] = 30, +}; + +const u8 gItemEffect_PomegBerry[10] = { + [4] = ITEM4_EV_HP, + [5] = ITEM5_FRIENDSHIP_ALL, + [6] = -10, + [7] = 10, + [8] = 5, + [9] = 2, +}; + +const u8 gItemEffect_KelpsyBerry[10] = { + [4] = ITEM4_EV_ATK, + [5] = ITEM5_FRIENDSHIP_ALL, + [6] = -10, + [7] = 10, + [8] = 5, + [9] = 2, +}; + +const u8 gItemEffect_QualotBerry[10] = { + [5] = ITEM5_EV_DEF | ITEM5_FRIENDSHIP_ALL, + [6] = -10, + [7] = 10, + [8] = 5, + [9] = 2, +}; + +const u8 gItemEffect_HondrewBerry[10] = { + [5] = ITEM5_EV_SPATK | ITEM5_FRIENDSHIP_ALL, + [6] = -10, + [7] = 10, + [8] = 5, + [9] = 2, +}; + +const u8 gItemEffect_GrepaBerry[10] = { + [5] = ITEM5_EV_SPDEF | ITEM5_FRIENDSHIP_ALL, + [6] = -10, + [7] = 10, + [8] = 5, + [9] = 2, +}; + +const u8 gItemEffect_TamatoBerry[10] = { + [5] = ITEM5_EV_SPEED | ITEM5_FRIENDSHIP_ALL, + [6] = -10, + [7] = 10, + [8] = 5, + [9] = 2, +}; const u8 *const gItemEffectTable[] = { - gItemEffect_Potion, - gItemEffect_Antidote, - gItemEffect_BurnHeal, - gItemEffect_IceHeal, - gItemEffect_Awakening, - gItemEffect_ParalyzeHeal, - gItemEffect_FullRestore, - gItemEffect_MaxPotion, - gItemEffect_HyperPotion, - gItemEffect_SuperPotion, - gItemEffect_FullHeal, - gItemEffect_Revive, - gItemEffect_MaxRevive, - gItemEffect_FreshWater, - gItemEffect_SodaPop, - gItemEffect_Lemonade, - gItemEffect_MoomooMilk, - gItemEffect_EnergyPowder, - gItemEffect_EnergyRoot, - gItemEffect_HealPowder, - gItemEffect_RevivalHerb, - gItemEffect_Ether, - gItemEffect_MaxEther, - gItemEffect_Elixir, - gItemEffect_MaxElixir, - gItemEffect_LavaCookie, - gItemEffect_BlueFlute, - gItemEffect_YellowFlute, - gItemEffect_RedFlute, - NULL, - NULL, - gItemEffect_BerryJuice, - gItemEffect_SacredAsh, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - gItemEffect_HPUp, - gItemEffect_Protein, - gItemEffect_Iron, - gItemEffect_Carbos, - gItemEffect_Calcium, - gItemEffect_RareCandy, - gItemEffect_PPUp, - gItemEffect_Zinc, - gItemEffect_PPMax, - NULL, - gItemEffect_GuardSpec, - gItemEffect_DireHit, - gItemEffect_XAttack, - gItemEffect_XDefend, - gItemEffect_XSpeed, - gItemEffect_XAccuracy, - gItemEffect_XSpecial, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - gItemEffect_SunStone, - gItemEffect_MoonStone, - gItemEffect_FireStone, - gItemEffect_ThunderStone, - gItemEffect_WaterStone, - gItemEffect_LeafStone, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - gItemEffect_CheriBerry, - gItemEffect_ChestoBerry, - gItemEffect_PechaBerry, - gItemEffect_RawstBerry, - gItemEffect_AspearBerry, - gItemEffect_LeppaBerry, - gItemEffect_OranBerry, - gItemEffect_PersimBerry, - gItemEffect_LumBerry, - gItemEffect_SitrusBerry, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - gItemEffect_PomegBerry, - gItemEffect_KelpsyBerry, - gItemEffect_QualotBerry, - gItemEffect_HondrewBerry, - gItemEffect_GrepaBerry, - gItemEffect_TamatoBerry, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL + [ITEM_POTION - ITEM_POTION] = gItemEffect_Potion, + [ITEM_ANTIDOTE - ITEM_POTION] = gItemEffect_Antidote, + [ITEM_BURN_HEAL - ITEM_POTION] = gItemEffect_BurnHeal, + [ITEM_ICE_HEAL - ITEM_POTION] = gItemEffect_IceHeal, + [ITEM_AWAKENING - ITEM_POTION] = gItemEffect_Awakening, + [ITEM_PARALYZE_HEAL - ITEM_POTION] = gItemEffect_ParalyzeHeal, + [ITEM_FULL_RESTORE - ITEM_POTION] = gItemEffect_FullRestore, + [ITEM_MAX_POTION - ITEM_POTION] = gItemEffect_MaxPotion, + [ITEM_HYPER_POTION - ITEM_POTION] = gItemEffect_HyperPotion, + [ITEM_SUPER_POTION - ITEM_POTION] = gItemEffect_SuperPotion, + [ITEM_FULL_HEAL - ITEM_POTION] = gItemEffect_FullHeal, + [ITEM_REVIVE - ITEM_POTION] = gItemEffect_Revive, + [ITEM_MAX_REVIVE - ITEM_POTION] = gItemEffect_MaxRevive, + [ITEM_FRESH_WATER - ITEM_POTION] = gItemEffect_FreshWater, + [ITEM_SODA_POP - ITEM_POTION] = gItemEffect_SodaPop, + [ITEM_LEMONADE - ITEM_POTION] = gItemEffect_Lemonade, + [ITEM_MOOMOO_MILK - ITEM_POTION] = gItemEffect_MoomooMilk, + [ITEM_ENERGY_POWDER - ITEM_POTION] = gItemEffect_EnergyPowder, + [ITEM_ENERGY_ROOT - ITEM_POTION] = gItemEffect_EnergyRoot, + [ITEM_HEAL_POWDER - ITEM_POTION] = gItemEffect_HealPowder, + [ITEM_REVIVAL_HERB - ITEM_POTION] = gItemEffect_RevivalHerb, + [ITEM_ETHER - ITEM_POTION] = gItemEffect_Ether, + [ITEM_MAX_ETHER - ITEM_POTION] = gItemEffect_MaxEther, + [ITEM_ELIXIR - ITEM_POTION] = gItemEffect_Elixir, + [ITEM_MAX_ELIXIR - ITEM_POTION] = gItemEffect_MaxElixir, + [ITEM_LAVA_COOKIE - ITEM_POTION] = gItemEffect_LavaCookie, + [ITEM_BLUE_FLUTE - ITEM_POTION] = gItemEffect_BlueFlute, + [ITEM_YELLOW_FLUTE - ITEM_POTION] = gItemEffect_YellowFlute, + [ITEM_RED_FLUTE - ITEM_POTION] = gItemEffect_RedFlute, + [ITEM_BERRY_JUICE - ITEM_POTION] = gItemEffect_BerryJuice, + [ITEM_SACRED_ASH - ITEM_POTION] = gItemEffect_SacredAsh, + [ITEM_HP_UP - ITEM_POTION] = gItemEffect_HPUp, + [ITEM_PROTEIN - ITEM_POTION] = gItemEffect_Protein, + [ITEM_IRON - ITEM_POTION] = gItemEffect_Iron, + [ITEM_CARBOS - ITEM_POTION] = gItemEffect_Carbos, + [ITEM_CALCIUM - ITEM_POTION] = gItemEffect_Calcium, + [ITEM_RARE_CANDY - ITEM_POTION] = gItemEffect_RareCandy, + [ITEM_PP_UP - ITEM_POTION] = gItemEffect_PPUp, + [ITEM_ZINC - ITEM_POTION] = gItemEffect_Zinc, + [ITEM_PP_MAX - ITEM_POTION] = gItemEffect_PPMax, + [ITEM_GUARD_SPEC - ITEM_POTION] = gItemEffect_GuardSpec, + [ITEM_DIRE_HIT - ITEM_POTION] = gItemEffect_DireHit, + [ITEM_X_ATTACK - ITEM_POTION] = gItemEffect_XAttack, + [ITEM_X_DEFEND - ITEM_POTION] = gItemEffect_XDefend, + [ITEM_X_SPEED - ITEM_POTION] = gItemEffect_XSpeed, + [ITEM_X_ACCURACY - ITEM_POTION] = gItemEffect_XAccuracy, + [ITEM_X_SPECIAL - ITEM_POTION] = gItemEffect_XSpecial, + [ITEM_SUN_STONE - ITEM_POTION] = gItemEffect_SunStone, + [ITEM_MOON_STONE - ITEM_POTION] = gItemEffect_MoonStone, + [ITEM_FIRE_STONE - ITEM_POTION] = gItemEffect_FireStone, + [ITEM_THUNDER_STONE - ITEM_POTION] = gItemEffect_ThunderStone, + [ITEM_WATER_STONE - ITEM_POTION] = gItemEffect_WaterStone, + [ITEM_LEAF_STONE - ITEM_POTION] = gItemEffect_LeafStone, + [ITEM_CHERI_BERRY - ITEM_POTION] = gItemEffect_CheriBerry, + [ITEM_CHESTO_BERRY - ITEM_POTION] = gItemEffect_ChestoBerry, + [ITEM_PECHA_BERRY - ITEM_POTION] = gItemEffect_PechaBerry, + [ITEM_RAWST_BERRY - ITEM_POTION] = gItemEffect_RawstBerry, + [ITEM_ASPEAR_BERRY - ITEM_POTION] = gItemEffect_AspearBerry, + [ITEM_LEPPA_BERRY - ITEM_POTION] = gItemEffect_LeppaBerry, + [ITEM_ORAN_BERRY - ITEM_POTION] = gItemEffect_OranBerry, + [ITEM_PERSIM_BERRY - ITEM_POTION] = gItemEffect_PersimBerry, + [ITEM_LUM_BERRY - ITEM_POTION] = gItemEffect_LumBerry, + [ITEM_SITRUS_BERRY - ITEM_POTION] = gItemEffect_SitrusBerry, + [ITEM_POMEG_BERRY - ITEM_POTION] = gItemEffect_PomegBerry, + [ITEM_KELPSY_BERRY - ITEM_POTION] = gItemEffect_KelpsyBerry, + [ITEM_QUALOT_BERRY - ITEM_POTION] = gItemEffect_QualotBerry, + [ITEM_HONDEW_BERRY - ITEM_POTION] = gItemEffect_HondrewBerry, + [ITEM_GREPA_BERRY - ITEM_POTION] = gItemEffect_GrepaBerry, + [ITEM_TAMATO_BERRY - ITEM_POTION] = gItemEffect_TamatoBerry, + [LAST_BERRY_INDEX - ITEM_POTION] = NULL }; diff --git a/src/data/pokemon_graphics/back_pic_coordinates.h b/src/data/pokemon_graphics/back_pic_coordinates.h index 0de0bfb52d..0a89f20c81 100644 --- a/src/data/pokemon_graphics/back_pic_coordinates.h +++ b/src/data/pokemon_graphics/back_pic_coordinates.h @@ -1,5 +1,3 @@ -#include "constants/species.h" - const struct MonCoords gMonBackPicCoords[] = { [SPECIES_NONE] = diff --git a/src/data/pokemon_graphics/back_pic_table.h b/src/data/pokemon_graphics/back_pic_table.h index c6fd1300b0..9a98927aac 100644 --- a/src/data/pokemon_graphics/back_pic_table.h +++ b/src/data/pokemon_graphics/back_pic_table.h @@ -1,444 +1,443 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = { - [SPECIES_NONE] = {gMonBackPic_CircledQuestionMark, 0x800, SPECIES_NONE}, - [SPECIES_BULBASAUR] = {gMonBackPic_Bulbasaur, 0x800, SPECIES_BULBASAUR}, - [SPECIES_IVYSAUR] = {gMonBackPic_Ivysaur, 0x800, SPECIES_IVYSAUR}, - [SPECIES_VENUSAUR] = {gMonBackPic_Venusaur, 0x800, SPECIES_VENUSAUR}, - [SPECIES_CHARMANDER] = {gMonBackPic_Charmander, 0x800, SPECIES_CHARMANDER}, - [SPECIES_CHARMELEON] = {gMonBackPic_Charmeleon, 0x800, SPECIES_CHARMELEON}, - [SPECIES_CHARIZARD] = {gMonBackPic_Charizard, 0x800, SPECIES_CHARIZARD}, - [SPECIES_SQUIRTLE] = {gMonBackPic_Squirtle, 0x800, SPECIES_SQUIRTLE}, - [SPECIES_WARTORTLE] = {gMonBackPic_Wartortle, 0x800, SPECIES_WARTORTLE}, - [SPECIES_BLASTOISE] = {gMonBackPic_Blastoise, 0x800, SPECIES_BLASTOISE}, - [SPECIES_CATERPIE] = {gMonBackPic_Caterpie, 0x800, SPECIES_CATERPIE}, - [SPECIES_METAPOD] = {gMonBackPic_Metapod, 0x800, SPECIES_METAPOD}, - [SPECIES_BUTTERFREE] = {gMonBackPic_Butterfree, 0x800, SPECIES_BUTTERFREE}, - [SPECIES_WEEDLE] = {gMonBackPic_Weedle, 0x800, SPECIES_WEEDLE}, - [SPECIES_KAKUNA] = {gMonBackPic_Kakuna, 0x800, SPECIES_KAKUNA}, - [SPECIES_BEEDRILL] = {gMonBackPic_Beedrill, 0x800, SPECIES_BEEDRILL}, - [SPECIES_PIDGEY] = {gMonBackPic_Pidgey, 0x800, SPECIES_PIDGEY}, - [SPECIES_PIDGEOTTO] = {gMonBackPic_Pidgeotto, 0x800, SPECIES_PIDGEOTTO}, - [SPECIES_PIDGEOT] = {gMonBackPic_Pidgeot, 0x800, SPECIES_PIDGEOT}, - [SPECIES_RATTATA] = {gMonBackPic_Rattata, 0x800, SPECIES_RATTATA}, - [SPECIES_RATICATE] = {gMonBackPic_Raticate, 0x800, SPECIES_RATICATE}, - [SPECIES_SPEAROW] = {gMonBackPic_Spearow, 0x800, SPECIES_SPEAROW}, - [SPECIES_FEAROW] = {gMonBackPic_Fearow, 0x800, SPECIES_FEAROW}, - [SPECIES_EKANS] = {gMonBackPic_Ekans, 0x800, SPECIES_EKANS}, - [SPECIES_ARBOK] = {gMonBackPic_Arbok, 0x800, SPECIES_ARBOK}, - [SPECIES_PIKACHU] = {gMonBackPic_Pikachu, 0x800, SPECIES_PIKACHU}, - [SPECIES_RAICHU] = {gMonBackPic_Raichu, 0x800, SPECIES_RAICHU}, - [SPECIES_SANDSHREW] = {gMonBackPic_Sandshrew, 0x800, SPECIES_SANDSHREW}, - [SPECIES_SANDSLASH] = {gMonBackPic_Sandslash, 0x800, SPECIES_SANDSLASH}, - [SPECIES_NIDORAN_F] = {gMonBackPic_NidoranF, 0x800, SPECIES_NIDORAN_F}, - [SPECIES_NIDORINA] = {gMonBackPic_Nidorina, 0x800, SPECIES_NIDORINA}, - [SPECIES_NIDOQUEEN] = {gMonBackPic_Nidoqueen, 0x800, SPECIES_NIDOQUEEN}, - [SPECIES_NIDORAN_M] = {gMonBackPic_NidoranM, 0x800, SPECIES_NIDORAN_M}, - [SPECIES_NIDORINO] = {gMonBackPic_Nidorino, 0x800, SPECIES_NIDORINO}, - [SPECIES_NIDOKING] = {gMonBackPic_Nidoking, 0x800, SPECIES_NIDOKING}, - [SPECIES_CLEFAIRY] = {gMonBackPic_Clefairy, 0x800, SPECIES_CLEFAIRY}, - [SPECIES_CLEFABLE] = {gMonBackPic_Clefable, 0x800, SPECIES_CLEFABLE}, - [SPECIES_VULPIX] = {gMonBackPic_Vulpix, 0x800, SPECIES_VULPIX}, - [SPECIES_NINETALES] = {gMonBackPic_Ninetales, 0x800, SPECIES_NINETALES}, - [SPECIES_JIGGLYPUFF] = {gMonBackPic_Jigglypuff, 0x800, SPECIES_JIGGLYPUFF}, - [SPECIES_WIGGLYTUFF] = {gMonBackPic_Wigglytuff, 0x800, SPECIES_WIGGLYTUFF}, - [SPECIES_ZUBAT] = {gMonBackPic_Zubat, 0x800, SPECIES_ZUBAT}, - [SPECIES_GOLBAT] = {gMonBackPic_Golbat, 0x800, SPECIES_GOLBAT}, - [SPECIES_ODDISH] = {gMonBackPic_Oddish, 0x800, SPECIES_ODDISH}, - [SPECIES_GLOOM] = {gMonBackPic_Gloom, 0x800, SPECIES_GLOOM}, - [SPECIES_VILEPLUME] = {gMonBackPic_Vileplume, 0x800, SPECIES_VILEPLUME}, - [SPECIES_PARAS] = {gMonBackPic_Paras, 0x800, SPECIES_PARAS}, - [SPECIES_PARASECT] = {gMonBackPic_Parasect, 0x800, SPECIES_PARASECT}, - [SPECIES_VENONAT] = {gMonBackPic_Venonat, 0x800, SPECIES_VENONAT}, - [SPECIES_VENOMOTH] = {gMonBackPic_Venomoth, 0x800, SPECIES_VENOMOTH}, - [SPECIES_DIGLETT] = {gMonBackPic_Diglett, 0x800, SPECIES_DIGLETT}, - [SPECIES_DUGTRIO] = {gMonBackPic_Dugtrio, 0x800, SPECIES_DUGTRIO}, - [SPECIES_MEOWTH] = {gMonBackPic_Meowth, 0x800, SPECIES_MEOWTH}, - [SPECIES_PERSIAN] = {gMonBackPic_Persian, 0x800, SPECIES_PERSIAN}, - [SPECIES_PSYDUCK] = {gMonBackPic_Psyduck, 0x800, SPECIES_PSYDUCK}, - [SPECIES_GOLDUCK] = {gMonBackPic_Golduck, 0x800, SPECIES_GOLDUCK}, - [SPECIES_MANKEY] = {gMonBackPic_Mankey, 0x800, SPECIES_MANKEY}, - [SPECIES_PRIMEAPE] = {gMonBackPic_Primeape, 0x800, SPECIES_PRIMEAPE}, - [SPECIES_GROWLITHE] = {gMonBackPic_Growlithe, 0x800, SPECIES_GROWLITHE}, - [SPECIES_ARCANINE] = {gMonBackPic_Arcanine, 0x800, SPECIES_ARCANINE}, - [SPECIES_POLIWAG] = {gMonBackPic_Poliwag, 0x800, SPECIES_POLIWAG}, - [SPECIES_POLIWHIRL] = {gMonBackPic_Poliwhirl, 0x800, SPECIES_POLIWHIRL}, - [SPECIES_POLIWRATH] = {gMonBackPic_Poliwrath, 0x800, SPECIES_POLIWRATH}, - [SPECIES_ABRA] = {gMonBackPic_Abra, 0x800, SPECIES_ABRA}, - [SPECIES_KADABRA] = {gMonBackPic_Kadabra, 0x800, SPECIES_KADABRA}, - [SPECIES_ALAKAZAM] = {gMonBackPic_Alakazam, 0x800, SPECIES_ALAKAZAM}, - [SPECIES_MACHOP] = {gMonBackPic_Machop, 0x800, SPECIES_MACHOP}, - [SPECIES_MACHOKE] = {gMonBackPic_Machoke, 0x800, SPECIES_MACHOKE}, - [SPECIES_MACHAMP] = {gMonBackPic_Machamp, 0x800, SPECIES_MACHAMP}, - [SPECIES_BELLSPROUT] = {gMonBackPic_Bellsprout, 0x800, SPECIES_BELLSPROUT}, - [SPECIES_WEEPINBELL] = {gMonBackPic_Weepinbell, 0x800, SPECIES_WEEPINBELL}, - [SPECIES_VICTREEBEL] = {gMonBackPic_Victreebel, 0x800, SPECIES_VICTREEBEL}, - [SPECIES_TENTACOOL] = {gMonBackPic_Tentacool, 0x800, SPECIES_TENTACOOL}, - [SPECIES_TENTACRUEL] = {gMonBackPic_Tentacruel, 0x800, SPECIES_TENTACRUEL}, - [SPECIES_GEODUDE] = {gMonBackPic_Geodude, 0x800, SPECIES_GEODUDE}, - [SPECIES_GRAVELER] = {gMonBackPic_Graveler, 0x800, SPECIES_GRAVELER}, - [SPECIES_GOLEM] = {gMonBackPic_Golem, 0x800, SPECIES_GOLEM}, - [SPECIES_PONYTA] = {gMonBackPic_Ponyta, 0x800, SPECIES_PONYTA}, - [SPECIES_RAPIDASH] = {gMonBackPic_Rapidash, 0x800, SPECIES_RAPIDASH}, - [SPECIES_SLOWPOKE] = {gMonBackPic_Slowpoke, 0x800, SPECIES_SLOWPOKE}, - [SPECIES_SLOWBRO] = {gMonBackPic_Slowbro, 0x800, SPECIES_SLOWBRO}, - [SPECIES_MAGNEMITE] = {gMonBackPic_Magnemite, 0x800, SPECIES_MAGNEMITE}, - [SPECIES_MAGNETON] = {gMonBackPic_Magneton, 0x800, SPECIES_MAGNETON}, - [SPECIES_FARFETCHD] = {gMonBackPic_Farfetchd, 0x800, SPECIES_FARFETCHD}, - [SPECIES_DODUO] = {gMonBackPic_Doduo, 0x800, SPECIES_DODUO}, - [SPECIES_DODRIO] = {gMonBackPic_Dodrio, 0x800, SPECIES_DODRIO}, - [SPECIES_SEEL] = {gMonBackPic_Seel, 0x800, SPECIES_SEEL}, - [SPECIES_DEWGONG] = {gMonBackPic_Dewgong, 0x800, SPECIES_DEWGONG}, - [SPECIES_GRIMER] = {gMonBackPic_Grimer, 0x800, SPECIES_GRIMER}, - [SPECIES_MUK] = {gMonBackPic_Muk, 0x800, SPECIES_MUK}, - [SPECIES_SHELLDER] = {gMonBackPic_Shellder, 0x800, SPECIES_SHELLDER}, - [SPECIES_CLOYSTER] = {gMonBackPic_Cloyster, 0x800, SPECIES_CLOYSTER}, - [SPECIES_GASTLY] = {gMonBackPic_Gastly, 0x800, SPECIES_GASTLY}, - [SPECIES_HAUNTER] = {gMonBackPic_Haunter, 0x800, SPECIES_HAUNTER}, - [SPECIES_GENGAR] = {gMonBackPic_Gengar, 0x800, SPECIES_GENGAR}, - [SPECIES_ONIX] = {gMonBackPic_Onix, 0x800, SPECIES_ONIX}, - [SPECIES_DROWZEE] = {gMonBackPic_Drowzee, 0x800, SPECIES_DROWZEE}, - [SPECIES_HYPNO] = {gMonBackPic_Hypno, 0x800, SPECIES_HYPNO}, - [SPECIES_KRABBY] = {gMonBackPic_Krabby, 0x800, SPECIES_KRABBY}, - [SPECIES_KINGLER] = {gMonBackPic_Kingler, 0x800, SPECIES_KINGLER}, - [SPECIES_VOLTORB] = {gMonBackPic_Voltorb, 0x800, SPECIES_VOLTORB}, - [SPECIES_ELECTRODE] = {gMonBackPic_Electrode, 0x800, SPECIES_ELECTRODE}, - [SPECIES_EXEGGCUTE] = {gMonBackPic_Exeggcute, 0x800, SPECIES_EXEGGCUTE}, - [SPECIES_EXEGGUTOR] = {gMonBackPic_Exeggutor, 0x800, SPECIES_EXEGGUTOR}, - [SPECIES_CUBONE] = {gMonBackPic_Cubone, 0x800, SPECIES_CUBONE}, - [SPECIES_MAROWAK] = {gMonBackPic_Marowak, 0x800, SPECIES_MAROWAK}, - [SPECIES_HITMONLEE] = {gMonBackPic_Hitmonlee, 0x800, SPECIES_HITMONLEE}, - [SPECIES_HITMONCHAN] = {gMonBackPic_Hitmonchan, 0x800, SPECIES_HITMONCHAN}, - [SPECIES_LICKITUNG] = {gMonBackPic_Lickitung, 0x800, SPECIES_LICKITUNG}, - [SPECIES_KOFFING] = {gMonBackPic_Koffing, 0x800, SPECIES_KOFFING}, - [SPECIES_WEEZING] = {gMonBackPic_Weezing, 0x800, SPECIES_WEEZING}, - [SPECIES_RHYHORN] = {gMonBackPic_Rhyhorn, 0x800, SPECIES_RHYHORN}, - [SPECIES_RHYDON] = {gMonBackPic_Rhydon, 0x800, SPECIES_RHYDON}, - [SPECIES_CHANSEY] = {gMonBackPic_Chansey, 0x800, SPECIES_CHANSEY}, - [SPECIES_TANGELA] = {gMonBackPic_Tangela, 0x800, SPECIES_TANGELA}, - [SPECIES_KANGASKHAN] = {gMonBackPic_Kangaskhan, 0x800, SPECIES_KANGASKHAN}, - [SPECIES_HORSEA] = {gMonBackPic_Horsea, 0x800, SPECIES_HORSEA}, - [SPECIES_SEADRA] = {gMonBackPic_Seadra, 0x800, SPECIES_SEADRA}, - [SPECIES_GOLDEEN] = {gMonBackPic_Goldeen, 0x800, SPECIES_GOLDEEN}, - [SPECIES_SEAKING] = {gMonBackPic_Seaking, 0x800, SPECIES_SEAKING}, - [SPECIES_STARYU] = {gMonBackPic_Staryu, 0x800, SPECIES_STARYU}, - [SPECIES_STARMIE] = {gMonBackPic_Starmie, 0x800, SPECIES_STARMIE}, - [SPECIES_MR_MIME] = {gMonBackPic_Mrmime, 0x800, SPECIES_MR_MIME}, - [SPECIES_SCYTHER] = {gMonBackPic_Scyther, 0x800, SPECIES_SCYTHER}, - [SPECIES_JYNX] = {gMonBackPic_Jynx, 0x800, SPECIES_JYNX}, - [SPECIES_ELECTABUZZ] = {gMonBackPic_Electabuzz, 0x800, SPECIES_ELECTABUZZ}, - [SPECIES_MAGMAR] = {gMonBackPic_Magmar, 0x800, SPECIES_MAGMAR}, - [SPECIES_PINSIR] = {gMonBackPic_Pinsir, 0x800, SPECIES_PINSIR}, - [SPECIES_TAUROS] = {gMonBackPic_Tauros, 0x800, SPECIES_TAUROS}, - [SPECIES_MAGIKARP] = {gMonBackPic_Magikarp, 0x800, SPECIES_MAGIKARP}, - [SPECIES_GYARADOS] = {gMonBackPic_Gyarados, 0x800, SPECIES_GYARADOS}, - [SPECIES_LAPRAS] = {gMonBackPic_Lapras, 0x800, SPECIES_LAPRAS}, - [SPECIES_DITTO] = {gMonBackPic_Ditto, 0x800, SPECIES_DITTO}, - [SPECIES_EEVEE] = {gMonBackPic_Eevee, 0x800, SPECIES_EEVEE}, - [SPECIES_VAPOREON] = {gMonBackPic_Vaporeon, 0x800, SPECIES_VAPOREON}, - [SPECIES_JOLTEON] = {gMonBackPic_Jolteon, 0x800, SPECIES_JOLTEON}, - [SPECIES_FLAREON] = {gMonBackPic_Flareon, 0x800, SPECIES_FLAREON}, - [SPECIES_PORYGON] = {gMonBackPic_Porygon, 0x800, SPECIES_PORYGON}, - [SPECIES_OMANYTE] = {gMonBackPic_Omanyte, 0x800, SPECIES_OMANYTE}, - [SPECIES_OMASTAR] = {gMonBackPic_Omastar, 0x800, SPECIES_OMASTAR}, - [SPECIES_KABUTO] = {gMonBackPic_Kabuto, 0x800, SPECIES_KABUTO}, - [SPECIES_KABUTOPS] = {gMonBackPic_Kabutops, 0x800, SPECIES_KABUTOPS}, - [SPECIES_AERODACTYL] = {gMonBackPic_Aerodactyl, 0x800, SPECIES_AERODACTYL}, - [SPECIES_SNORLAX] = {gMonBackPic_Snorlax, 0x800, SPECIES_SNORLAX}, - [SPECIES_ARTICUNO] = {gMonBackPic_Articuno, 0x800, SPECIES_ARTICUNO}, - [SPECIES_ZAPDOS] = {gMonBackPic_Zapdos, 0x800, SPECIES_ZAPDOS}, - [SPECIES_MOLTRES] = {gMonBackPic_Moltres, 0x800, SPECIES_MOLTRES}, - [SPECIES_DRATINI] = {gMonBackPic_Dratini, 0x800, SPECIES_DRATINI}, - [SPECIES_DRAGONAIR] = {gMonBackPic_Dragonair, 0x800, SPECIES_DRAGONAIR}, - [SPECIES_DRAGONITE] = {gMonBackPic_Dragonite, 0x800, SPECIES_DRAGONITE}, - [SPECIES_MEWTWO] = {gMonBackPic_Mewtwo, 0x800, SPECIES_MEWTWO}, - [SPECIES_MEW] = {gMonBackPic_Mew, 0x800, SPECIES_MEW}, - [SPECIES_CHIKORITA] = {gMonBackPic_Chikorita, 0x800, SPECIES_CHIKORITA}, - [SPECIES_BAYLEEF] = {gMonBackPic_Bayleef, 0x800, SPECIES_BAYLEEF}, - [SPECIES_MEGANIUM] = {gMonBackPic_Meganium, 0x800, SPECIES_MEGANIUM}, - [SPECIES_CYNDAQUIL] = {gMonBackPic_Cyndaquil, 0x800, SPECIES_CYNDAQUIL}, - [SPECIES_QUILAVA] = {gMonBackPic_Quilava, 0x800, SPECIES_QUILAVA}, - [SPECIES_TYPHLOSION] = {gMonBackPic_Typhlosion, 0x800, SPECIES_TYPHLOSION}, - [SPECIES_TOTODILE] = {gMonBackPic_Totodile, 0x800, SPECIES_TOTODILE}, - [SPECIES_CROCONAW] = {gMonBackPic_Croconaw, 0x800, SPECIES_CROCONAW}, - [SPECIES_FERALIGATR] = {gMonBackPic_Feraligatr, 0x800, SPECIES_FERALIGATR}, - [SPECIES_SENTRET] = {gMonBackPic_Sentret, 0x800, SPECIES_SENTRET}, - [SPECIES_FURRET] = {gMonBackPic_Furret, 0x800, SPECIES_FURRET}, - [SPECIES_HOOTHOOT] = {gMonBackPic_Hoothoot, 0x800, SPECIES_HOOTHOOT}, - [SPECIES_NOCTOWL] = {gMonBackPic_Noctowl, 0x800, SPECIES_NOCTOWL}, - [SPECIES_LEDYBA] = {gMonBackPic_Ledyba, 0x800, SPECIES_LEDYBA}, - [SPECIES_LEDIAN] = {gMonBackPic_Ledian, 0x800, SPECIES_LEDIAN}, - [SPECIES_SPINARAK] = {gMonBackPic_Spinarak, 0x800, SPECIES_SPINARAK}, - [SPECIES_ARIADOS] = {gMonBackPic_Ariados, 0x800, SPECIES_ARIADOS}, - [SPECIES_CROBAT] = {gMonBackPic_Crobat, 0x800, SPECIES_CROBAT}, - [SPECIES_CHINCHOU] = {gMonBackPic_Chinchou, 0x800, SPECIES_CHINCHOU}, - [SPECIES_LANTURN] = {gMonBackPic_Lanturn, 0x800, SPECIES_LANTURN}, - [SPECIES_PICHU] = {gMonBackPic_Pichu, 0x800, SPECIES_PICHU}, - [SPECIES_CLEFFA] = {gMonBackPic_Cleffa, 0x800, SPECIES_CLEFFA}, - [SPECIES_IGGLYBUFF] = {gMonBackPic_Igglybuff, 0x800, SPECIES_IGGLYBUFF}, - [SPECIES_TOGEPI] = {gMonBackPic_Togepi, 0x800, SPECIES_TOGEPI}, - [SPECIES_TOGETIC] = {gMonBackPic_Togetic, 0x800, SPECIES_TOGETIC}, - [SPECIES_NATU] = {gMonBackPic_Natu, 0x800, SPECIES_NATU}, - [SPECIES_XATU] = {gMonBackPic_Xatu, 0x800, SPECIES_XATU}, - [SPECIES_MAREEP] = {gMonBackPic_Mareep, 0x800, SPECIES_MAREEP}, - [SPECIES_FLAAFFY] = {gMonBackPic_Flaaffy, 0x800, SPECIES_FLAAFFY}, - [SPECIES_AMPHAROS] = {gMonBackPic_Ampharos, 0x800, SPECIES_AMPHAROS}, - [SPECIES_BELLOSSOM] = {gMonBackPic_Bellossom, 0x800, SPECIES_BELLOSSOM}, - [SPECIES_MARILL] = {gMonBackPic_Marill, 0x800, SPECIES_MARILL}, - [SPECIES_AZUMARILL] = {gMonBackPic_Azumarill, 0x800, SPECIES_AZUMARILL}, - [SPECIES_SUDOWOODO] = {gMonBackPic_Sudowoodo, 0x800, SPECIES_SUDOWOODO}, - [SPECIES_POLITOED] = {gMonBackPic_Politoed, 0x800, SPECIES_POLITOED}, - [SPECIES_HOPPIP] = {gMonBackPic_Hoppip, 0x800, SPECIES_HOPPIP}, - [SPECIES_SKIPLOOM] = {gMonBackPic_Skiploom, 0x800, SPECIES_SKIPLOOM}, - [SPECIES_JUMPLUFF] = {gMonBackPic_Jumpluff, 0x800, SPECIES_JUMPLUFF}, - [SPECIES_AIPOM] = {gMonBackPic_Aipom, 0x800, SPECIES_AIPOM}, - [SPECIES_SUNKERN] = {gMonBackPic_Sunkern, 0x800, SPECIES_SUNKERN}, - [SPECIES_SUNFLORA] = {gMonBackPic_Sunflora, 0x800, SPECIES_SUNFLORA}, - [SPECIES_YANMA] = {gMonBackPic_Yanma, 0x800, SPECIES_YANMA}, - [SPECIES_WOOPER] = {gMonBackPic_Wooper, 0x800, SPECIES_WOOPER}, - [SPECIES_QUAGSIRE] = {gMonBackPic_Quagsire, 0x800, SPECIES_QUAGSIRE}, - [SPECIES_ESPEON] = {gMonBackPic_Espeon, 0x800, SPECIES_ESPEON}, - [SPECIES_UMBREON] = {gMonBackPic_Umbreon, 0x800, SPECIES_UMBREON}, - [SPECIES_MURKROW] = {gMonBackPic_Murkrow, 0x800, SPECIES_MURKROW}, - [SPECIES_SLOWKING] = {gMonBackPic_Slowking, 0x800, SPECIES_SLOWKING}, - [SPECIES_MISDREAVUS] = {gMonBackPic_Misdreavus, 0x800, SPECIES_MISDREAVUS}, - [SPECIES_UNOWN] = {gMonBackPic_UnownA, 0x800, SPECIES_UNOWN}, - [SPECIES_WOBBUFFET] = {gMonBackPic_Wobbuffet, 0x800, SPECIES_WOBBUFFET}, - [SPECIES_GIRAFARIG] = {gMonBackPic_Girafarig, 0x800, SPECIES_GIRAFARIG}, - [SPECIES_PINECO] = {gMonBackPic_Pineco, 0x800, SPECIES_PINECO}, - [SPECIES_FORRETRESS] = {gMonBackPic_Forretress, 0x800, SPECIES_FORRETRESS}, - [SPECIES_DUNSPARCE] = {gMonBackPic_Dunsparce, 0x800, SPECIES_DUNSPARCE}, - [SPECIES_GLIGAR] = {gMonBackPic_Gligar, 0x800, SPECIES_GLIGAR}, - [SPECIES_STEELIX] = {gMonBackPic_Steelix, 0x800, SPECIES_STEELIX}, - [SPECIES_SNUBBULL] = {gMonBackPic_Snubbull, 0x800, SPECIES_SNUBBULL}, - [SPECIES_GRANBULL] = {gMonBackPic_Granbull, 0x800, SPECIES_GRANBULL}, - [SPECIES_QWILFISH] = {gMonBackPic_Qwilfish, 0x800, SPECIES_QWILFISH}, - [SPECIES_SCIZOR] = {gMonBackPic_Scizor, 0x800, SPECIES_SCIZOR}, - [SPECIES_SHUCKLE] = {gMonBackPic_Shuckle, 0x800, SPECIES_SHUCKLE}, - [SPECIES_HERACROSS] = {gMonBackPic_Heracross, 0x800, SPECIES_HERACROSS}, - [SPECIES_SNEASEL] = {gMonBackPic_Sneasel, 0x800, SPECIES_SNEASEL}, - [SPECIES_TEDDIURSA] = {gMonBackPic_Teddiursa, 0x800, SPECIES_TEDDIURSA}, - [SPECIES_URSARING] = {gMonBackPic_Ursaring, 0x800, SPECIES_URSARING}, - [SPECIES_SLUGMA] = {gMonBackPic_Slugma, 0x800, SPECIES_SLUGMA}, - [SPECIES_MAGCARGO] = {gMonBackPic_Magcargo, 0x800, SPECIES_MAGCARGO}, - [SPECIES_SWINUB] = {gMonBackPic_Swinub, 0x800, SPECIES_SWINUB}, - [SPECIES_PILOSWINE] = {gMonBackPic_Piloswine, 0x800, SPECIES_PILOSWINE}, - [SPECIES_CORSOLA] = {gMonBackPic_Corsola, 0x800, SPECIES_CORSOLA}, - [SPECIES_REMORAID] = {gMonBackPic_Remoraid, 0x800, SPECIES_REMORAID}, - [SPECIES_OCTILLERY] = {gMonBackPic_Octillery, 0x800, SPECIES_OCTILLERY}, - [SPECIES_DELIBIRD] = {gMonBackPic_Delibird, 0x800, SPECIES_DELIBIRD}, - [SPECIES_MANTINE] = {gMonBackPic_Mantine, 0x800, SPECIES_MANTINE}, - [SPECIES_SKARMORY] = {gMonBackPic_Skarmory, 0x800, SPECIES_SKARMORY}, - [SPECIES_HOUNDOUR] = {gMonBackPic_Houndour, 0x800, SPECIES_HOUNDOUR}, - [SPECIES_HOUNDOOM] = {gMonBackPic_Houndoom, 0x800, SPECIES_HOUNDOOM}, - [SPECIES_KINGDRA] = {gMonBackPic_Kingdra, 0x800, SPECIES_KINGDRA}, - [SPECIES_PHANPY] = {gMonBackPic_Phanpy, 0x800, SPECIES_PHANPY}, - [SPECIES_DONPHAN] = {gMonBackPic_Donphan, 0x800, SPECIES_DONPHAN}, - [SPECIES_PORYGON2] = {gMonBackPic_Porygon2, 0x800, SPECIES_PORYGON2}, - [SPECIES_STANTLER] = {gMonBackPic_Stantler, 0x800, SPECIES_STANTLER}, - [SPECIES_SMEARGLE] = {gMonBackPic_Smeargle, 0x800, SPECIES_SMEARGLE}, - [SPECIES_TYROGUE] = {gMonBackPic_Tyrogue, 0x800, SPECIES_TYROGUE}, - [SPECIES_HITMONTOP] = {gMonBackPic_Hitmontop, 0x800, SPECIES_HITMONTOP}, - [SPECIES_SMOOCHUM] = {gMonBackPic_Smoochum, 0x800, SPECIES_SMOOCHUM}, - [SPECIES_ELEKID] = {gMonBackPic_Elekid, 0x800, SPECIES_ELEKID}, - [SPECIES_MAGBY] = {gMonBackPic_Magby, 0x800, SPECIES_MAGBY}, - [SPECIES_MILTANK] = {gMonBackPic_Miltank, 0x800, SPECIES_MILTANK}, - [SPECIES_BLISSEY] = {gMonBackPic_Blissey, 0x800, SPECIES_BLISSEY}, - [SPECIES_RAIKOU] = {gMonBackPic_Raikou, 0x800, SPECIES_RAIKOU}, - [SPECIES_ENTEI] = {gMonBackPic_Entei, 0x800, SPECIES_ENTEI}, - [SPECIES_SUICUNE] = {gMonBackPic_Suicune, 0x800, SPECIES_SUICUNE}, - [SPECIES_LARVITAR] = {gMonBackPic_Larvitar, 0x800, SPECIES_LARVITAR}, - [SPECIES_PUPITAR] = {gMonBackPic_Pupitar, 0x800, SPECIES_PUPITAR}, - [SPECIES_TYRANITAR] = {gMonBackPic_Tyranitar, 0x800, SPECIES_TYRANITAR}, - [SPECIES_LUGIA] = {gMonBackPic_Lugia, 0x800, SPECIES_LUGIA}, - [SPECIES_HO_OH] = {gMonBackPic_HoOh, 0x800, SPECIES_HO_OH}, - [SPECIES_CELEBI] = {gMonBackPic_Celebi, 0x800, SPECIES_CELEBI}, - [SPECIES_OLD_UNOWN_B] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_B}, - [SPECIES_OLD_UNOWN_C] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_C}, - [SPECIES_OLD_UNOWN_D] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_D}, - [SPECIES_OLD_UNOWN_E] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_E}, - [SPECIES_OLD_UNOWN_F] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_F}, - [SPECIES_OLD_UNOWN_G] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_G}, - [SPECIES_OLD_UNOWN_H] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_H}, - [SPECIES_OLD_UNOWN_I] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_I}, - [SPECIES_OLD_UNOWN_J] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_J}, - [SPECIES_OLD_UNOWN_K] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_K}, - [SPECIES_OLD_UNOWN_L] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_L}, - [SPECIES_OLD_UNOWN_M] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_M}, - [SPECIES_OLD_UNOWN_N] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_N}, - [SPECIES_OLD_UNOWN_O] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_O}, - [SPECIES_OLD_UNOWN_P] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_P}, - [SPECIES_OLD_UNOWN_Q] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_Q}, - [SPECIES_OLD_UNOWN_R] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_R}, - [SPECIES_OLD_UNOWN_S] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_S}, - [SPECIES_OLD_UNOWN_T] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_T}, - [SPECIES_OLD_UNOWN_U] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_U}, - [SPECIES_OLD_UNOWN_V] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_V}, - [SPECIES_OLD_UNOWN_W] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_W}, - [SPECIES_OLD_UNOWN_X] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_X}, - [SPECIES_OLD_UNOWN_Y] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_Y}, - [SPECIES_OLD_UNOWN_Z] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_Z}, - [SPECIES_TREECKO] = {gMonBackPic_Treecko, 0x800, SPECIES_TREECKO}, - [SPECIES_GROVYLE] = {gMonBackPic_Grovyle, 0x800, SPECIES_GROVYLE}, - [SPECIES_SCEPTILE] = {gMonBackPic_Sceptile, 0x800, SPECIES_SCEPTILE}, - [SPECIES_TORCHIC] = {gMonBackPic_Torchic, 0x800, SPECIES_TORCHIC}, - [SPECIES_COMBUSKEN] = {gMonBackPic_Combusken, 0x800, SPECIES_COMBUSKEN}, - [SPECIES_BLAZIKEN] = {gMonBackPic_Blaziken, 0x800, SPECIES_BLAZIKEN}, - [SPECIES_MUDKIP] = {gMonBackPic_Mudkip, 0x800, SPECIES_MUDKIP}, - [SPECIES_MARSHTOMP] = {gMonBackPic_Marshtomp, 0x800, SPECIES_MARSHTOMP}, - [SPECIES_SWAMPERT] = {gMonBackPic_Swampert, 0x800, SPECIES_SWAMPERT}, - [SPECIES_POOCHYENA] = {gMonBackPic_Poochyena, 0x800, SPECIES_POOCHYENA}, - [SPECIES_MIGHTYENA] = {gMonBackPic_Mightyena, 0x800, SPECIES_MIGHTYENA}, - [SPECIES_ZIGZAGOON] = {gMonBackPic_Zigzagoon, 0x800, SPECIES_ZIGZAGOON}, - [SPECIES_LINOONE] = {gMonBackPic_Linoone, 0x800, SPECIES_LINOONE}, - [SPECIES_WURMPLE] = {gMonBackPic_Wurmple, 0x800, SPECIES_WURMPLE}, - [SPECIES_SILCOON] = {gMonBackPic_Silcoon, 0x800, SPECIES_SILCOON}, - [SPECIES_BEAUTIFLY] = {gMonBackPic_Beautifly, 0x800, SPECIES_BEAUTIFLY}, - [SPECIES_CASCOON] = {gMonBackPic_Cascoon, 0x800, SPECIES_CASCOON}, - [SPECIES_DUSTOX] = {gMonBackPic_Dustox, 0x800, SPECIES_DUSTOX}, - [SPECIES_LOTAD] = {gMonBackPic_Lotad, 0x800, SPECIES_LOTAD}, - [SPECIES_LOMBRE] = {gMonBackPic_Lombre, 0x800, SPECIES_LOMBRE}, - [SPECIES_LUDICOLO] = {gMonBackPic_Ludicolo, 0x800, SPECIES_LUDICOLO}, - [SPECIES_SEEDOT] = {gMonBackPic_Seedot, 0x800, SPECIES_SEEDOT}, - [SPECIES_NUZLEAF] = {gMonBackPic_Nuzleaf, 0x800, SPECIES_NUZLEAF}, - [SPECIES_SHIFTRY] = {gMonBackPic_Shiftry, 0x800, SPECIES_SHIFTRY}, - [SPECIES_NINCADA] = {gMonBackPic_Nincada, 0x800, SPECIES_NINCADA}, - [SPECIES_NINJASK] = {gMonBackPic_Ninjask, 0x800, SPECIES_NINJASK}, - [SPECIES_SHEDINJA] = {gMonBackPic_Shedinja, 0x800, SPECIES_SHEDINJA}, - [SPECIES_TAILLOW] = {gMonBackPic_Taillow, 0x800, SPECIES_TAILLOW}, - [SPECIES_SWELLOW] = {gMonBackPic_Swellow, 0x800, SPECIES_SWELLOW}, - [SPECIES_SHROOMISH] = {gMonBackPic_Shroomish, 0x800, SPECIES_SHROOMISH}, - [SPECIES_BRELOOM] = {gMonBackPic_Breloom, 0x800, SPECIES_BRELOOM}, - [SPECIES_SPINDA] = {gMonBackPic_Spinda, 0x800, SPECIES_SPINDA}, - [SPECIES_WINGULL] = {gMonBackPic_Wingull, 0x800, SPECIES_WINGULL}, - [SPECIES_PELIPPER] = {gMonBackPic_Pelipper, 0x800, SPECIES_PELIPPER}, - [SPECIES_SURSKIT] = {gMonBackPic_Surskit, 0x800, SPECIES_SURSKIT}, - [SPECIES_MASQUERAIN] = {gMonBackPic_Masquerain, 0x800, SPECIES_MASQUERAIN}, - [SPECIES_WAILMER] = {gMonBackPic_Wailmer, 0x800, SPECIES_WAILMER}, - [SPECIES_WAILORD] = {gMonBackPic_Wailord, 0x800, SPECIES_WAILORD}, - [SPECIES_SKITTY] = {gMonBackPic_Skitty, 0x800, SPECIES_SKITTY}, - [SPECIES_DELCATTY] = {gMonBackPic_Delcatty, 0x800, SPECIES_DELCATTY}, - [SPECIES_KECLEON] = {gMonBackPic_Kecleon, 0x800, SPECIES_KECLEON}, - [SPECIES_BALTOY] = {gMonBackPic_Baltoy, 0x800, SPECIES_BALTOY}, - [SPECIES_CLAYDOL] = {gMonBackPic_Claydol, 0x800, SPECIES_CLAYDOL}, - [SPECIES_NOSEPASS] = {gMonBackPic_Nosepass, 0x800, SPECIES_NOSEPASS}, - [SPECIES_TORKOAL] = {gMonBackPic_Torkoal, 0x800, SPECIES_TORKOAL}, - [SPECIES_SABLEYE] = {gMonBackPic_Sableye, 0x800, SPECIES_SABLEYE}, - [SPECIES_BARBOACH] = {gMonBackPic_Barboach, 0x800, SPECIES_BARBOACH}, - [SPECIES_WHISCASH] = {gMonBackPic_Whiscash, 0x800, SPECIES_WHISCASH}, - [SPECIES_LUVDISC] = {gMonBackPic_Luvdisc, 0x800, SPECIES_LUVDISC}, - [SPECIES_CORPHISH] = {gMonBackPic_Corphish, 0x800, SPECIES_CORPHISH}, - [SPECIES_CRAWDAUNT] = {gMonBackPic_Crawdaunt, 0x800, SPECIES_CRAWDAUNT}, - [SPECIES_FEEBAS] = {gMonBackPic_Feebas, 0x800, SPECIES_FEEBAS}, - [SPECIES_MILOTIC] = {gMonBackPic_Milotic, 0x800, SPECIES_MILOTIC}, - [SPECIES_CARVANHA] = {gMonBackPic_Carvanha, 0x800, SPECIES_CARVANHA}, - [SPECIES_SHARPEDO] = {gMonBackPic_Sharpedo, 0x800, SPECIES_SHARPEDO}, - [SPECIES_TRAPINCH] = {gMonBackPic_Trapinch, 0x800, SPECIES_TRAPINCH}, - [SPECIES_VIBRAVA] = {gMonBackPic_Vibrava, 0x800, SPECIES_VIBRAVA}, - [SPECIES_FLYGON] = {gMonBackPic_Flygon, 0x800, SPECIES_FLYGON}, - [SPECIES_MAKUHITA] = {gMonBackPic_Makuhita, 0x800, SPECIES_MAKUHITA}, - [SPECIES_HARIYAMA] = {gMonBackPic_Hariyama, 0x800, SPECIES_HARIYAMA}, - [SPECIES_ELECTRIKE] = {gMonBackPic_Electrike, 0x800, SPECIES_ELECTRIKE}, - [SPECIES_MANECTRIC] = {gMonBackPic_Manectric, 0x800, SPECIES_MANECTRIC}, - [SPECIES_NUMEL] = {gMonBackPic_Numel, 0x800, SPECIES_NUMEL}, - [SPECIES_CAMERUPT] = {gMonBackPic_Camerupt, 0x800, SPECIES_CAMERUPT}, - [SPECIES_SPHEAL] = {gMonBackPic_Spheal, 0x800, SPECIES_SPHEAL}, - [SPECIES_SEALEO] = {gMonBackPic_Sealeo, 0x800, SPECIES_SEALEO}, - [SPECIES_WALREIN] = {gMonBackPic_Walrein, 0x800, SPECIES_WALREIN}, - [SPECIES_CACNEA] = {gMonBackPic_Cacnea, 0x800, SPECIES_CACNEA}, - [SPECIES_CACTURNE] = {gMonBackPic_Cacturne, 0x800, SPECIES_CACTURNE}, - [SPECIES_SNORUNT] = {gMonBackPic_Snorunt, 0x800, SPECIES_SNORUNT}, - [SPECIES_GLALIE] = {gMonBackPic_Glalie, 0x800, SPECIES_GLALIE}, - [SPECIES_LUNATONE] = {gMonBackPic_Lunatone, 0x800, SPECIES_LUNATONE}, - [SPECIES_SOLROCK] = {gMonBackPic_Solrock, 0x800, SPECIES_SOLROCK}, - [SPECIES_AZURILL] = {gMonBackPic_Azurill, 0x800, SPECIES_AZURILL}, - [SPECIES_SPOINK] = {gMonBackPic_Spoink, 0x800, SPECIES_SPOINK}, - [SPECIES_GRUMPIG] = {gMonBackPic_Grumpig, 0x800, SPECIES_GRUMPIG}, - [SPECIES_PLUSLE] = {gMonBackPic_Plusle, 0x800, SPECIES_PLUSLE}, - [SPECIES_MINUN] = {gMonBackPic_Minun, 0x800, SPECIES_MINUN}, - [SPECIES_MAWILE] = {gMonBackPic_Mawile, 0x800, SPECIES_MAWILE}, - [SPECIES_MEDITITE] = {gMonBackPic_Meditite, 0x800, SPECIES_MEDITITE}, - [SPECIES_MEDICHAM] = {gMonBackPic_Medicham, 0x800, SPECIES_MEDICHAM}, - [SPECIES_SWABLU] = {gMonBackPic_Swablu, 0x800, SPECIES_SWABLU}, - [SPECIES_ALTARIA] = {gMonBackPic_Altaria, 0x800, SPECIES_ALTARIA}, - [SPECIES_WYNAUT] = {gMonBackPic_Wynaut, 0x800, SPECIES_WYNAUT}, - [SPECIES_DUSKULL] = {gMonBackPic_Duskull, 0x800, SPECIES_DUSKULL}, - [SPECIES_DUSCLOPS] = {gMonBackPic_Dusclops, 0x800, SPECIES_DUSCLOPS}, - [SPECIES_ROSELIA] = {gMonBackPic_Roselia, 0x800, SPECIES_ROSELIA}, - [SPECIES_SLAKOTH] = {gMonBackPic_Slakoth, 0x800, SPECIES_SLAKOTH}, - [SPECIES_VIGOROTH] = {gMonBackPic_Vigoroth, 0x800, SPECIES_VIGOROTH}, - [SPECIES_SLAKING] = {gMonBackPic_Slaking, 0x800, SPECIES_SLAKING}, - [SPECIES_GULPIN] = {gMonBackPic_Gulpin, 0x800, SPECIES_GULPIN}, - [SPECIES_SWALOT] = {gMonBackPic_Swalot, 0x800, SPECIES_SWALOT}, - [SPECIES_TROPIUS] = {gMonBackPic_Tropius, 0x800, SPECIES_TROPIUS}, - [SPECIES_WHISMUR] = {gMonBackPic_Whismur, 0x800, SPECIES_WHISMUR}, - [SPECIES_LOUDRED] = {gMonBackPic_Loudred, 0x800, SPECIES_LOUDRED}, - [SPECIES_EXPLOUD] = {gMonBackPic_Exploud, 0x800, SPECIES_EXPLOUD}, - [SPECIES_CLAMPERL] = {gMonBackPic_Clamperl, 0x800, SPECIES_CLAMPERL}, - [SPECIES_HUNTAIL] = {gMonBackPic_Huntail, 0x800, SPECIES_HUNTAIL}, - [SPECIES_GOREBYSS] = {gMonBackPic_Gorebyss, 0x800, SPECIES_GOREBYSS}, - [SPECIES_ABSOL] = {gMonBackPic_Absol, 0x800, SPECIES_ABSOL}, - [SPECIES_SHUPPET] = {gMonBackPic_Shuppet, 0x800, SPECIES_SHUPPET}, - [SPECIES_BANETTE] = {gMonBackPic_Banette, 0x800, SPECIES_BANETTE}, - [SPECIES_SEVIPER] = {gMonBackPic_Seviper, 0x800, SPECIES_SEVIPER}, - [SPECIES_ZANGOOSE] = {gMonBackPic_Zangoose, 0x800, SPECIES_ZANGOOSE}, - [SPECIES_RELICANTH] = {gMonBackPic_Relicanth, 0x800, SPECIES_RELICANTH}, - [SPECIES_ARON] = {gMonBackPic_Aron, 0x800, SPECIES_ARON}, - [SPECIES_LAIRON] = {gMonBackPic_Lairon, 0x800, SPECIES_LAIRON}, - [SPECIES_AGGRON] = {gMonBackPic_Aggron, 0x800, SPECIES_AGGRON}, - [SPECIES_CASTFORM] = {gMonBackPic_Castform, 0x800, SPECIES_CASTFORM}, - [SPECIES_VOLBEAT] = {gMonBackPic_Volbeat, 0x800, SPECIES_VOLBEAT}, - [SPECIES_ILLUMISE] = {gMonBackPic_Illumise, 0x800, SPECIES_ILLUMISE}, - [SPECIES_LILEEP] = {gMonBackPic_Lileep, 0x800, SPECIES_LILEEP}, - [SPECIES_CRADILY] = {gMonBackPic_Cradily, 0x800, SPECIES_CRADILY}, - [SPECIES_ANORITH] = {gMonBackPic_Anorith, 0x800, SPECIES_ANORITH}, - [SPECIES_ARMALDO] = {gMonBackPic_Armaldo, 0x800, SPECIES_ARMALDO}, - [SPECIES_RALTS] = {gMonBackPic_Ralts, 0x800, SPECIES_RALTS}, - [SPECIES_KIRLIA] = {gMonBackPic_Kirlia, 0x800, SPECIES_KIRLIA}, - [SPECIES_GARDEVOIR] = {gMonBackPic_Gardevoir, 0x800, SPECIES_GARDEVOIR}, - [SPECIES_BAGON] = {gMonBackPic_Bagon, 0x800, SPECIES_BAGON}, - [SPECIES_SHELGON] = {gMonBackPic_Shelgon, 0x800, SPECIES_SHELGON}, - [SPECIES_SALAMENCE] = {gMonBackPic_Salamence, 0x800, SPECIES_SALAMENCE}, - [SPECIES_BELDUM] = {gMonBackPic_Beldum, 0x800, SPECIES_BELDUM}, - [SPECIES_METANG] = {gMonBackPic_Metang, 0x800, SPECIES_METANG}, - [SPECIES_METAGROSS] = {gMonBackPic_Metagross, 0x800, SPECIES_METAGROSS}, - [SPECIES_REGIROCK] = {gMonBackPic_Regirock, 0x800, SPECIES_REGIROCK}, - [SPECIES_REGICE] = {gMonBackPic_Regice, 0x800, SPECIES_REGICE}, - [SPECIES_REGISTEEL] = {gMonBackPic_Registeel, 0x800, SPECIES_REGISTEEL}, - [SPECIES_KYOGRE] = {gMonBackPic_Kyogre, 0x800, SPECIES_KYOGRE}, - [SPECIES_GROUDON] = {gMonBackPic_Groudon, 0x800, SPECIES_GROUDON}, - [SPECIES_RAYQUAZA] = {gMonBackPic_Rayquaza, 0x800, SPECIES_RAYQUAZA}, - [SPECIES_LATIAS] = {gMonBackPic_Latias, 0x800, SPECIES_LATIAS}, - [SPECIES_LATIOS] = {gMonBackPic_Latios, 0x800, SPECIES_LATIOS}, - [SPECIES_JIRACHI] = {gMonBackPic_Jirachi, 0x800, SPECIES_JIRACHI}, - [SPECIES_DEOXYS] = {gMonBackPic_Deoxys, 0x800, SPECIES_DEOXYS}, - [SPECIES_CHIMECHO] = {gMonBackPic_Chimecho, 0x800, SPECIES_CHIMECHO}, - [SPECIES_EGG] = {gMonStillFrontPic_Egg, 0x800, SPECIES_EGG}, - [SPECIES_UNOWN_B] = {gMonBackPic_UnownB, 0x800, SPECIES_UNOWN_B}, - [SPECIES_UNOWN_C] = {gMonBackPic_UnownC, 0x800, SPECIES_UNOWN_C}, - [SPECIES_UNOWN_D] = {gMonBackPic_UnownD, 0x800, SPECIES_UNOWN_D}, - [SPECIES_UNOWN_E] = {gMonBackPic_UnownE, 0x800, SPECIES_UNOWN_E}, - [SPECIES_UNOWN_F] = {gMonBackPic_UnownF, 0x800, SPECIES_UNOWN_F}, - [SPECIES_UNOWN_G] = {gMonBackPic_UnownG, 0x800, SPECIES_UNOWN_G}, - [SPECIES_UNOWN_H] = {gMonBackPic_UnownH, 0x800, SPECIES_UNOWN_H}, - [SPECIES_UNOWN_I] = {gMonBackPic_UnownI, 0x800, SPECIES_UNOWN_I}, - [SPECIES_UNOWN_J] = {gMonBackPic_UnownJ, 0x800, SPECIES_UNOWN_J}, - [SPECIES_UNOWN_K] = {gMonBackPic_UnownK, 0x800, SPECIES_UNOWN_K}, - [SPECIES_UNOWN_L] = {gMonBackPic_UnownL, 0x800, SPECIES_UNOWN_L}, - [SPECIES_UNOWN_M] = {gMonBackPic_UnownM, 0x800, SPECIES_UNOWN_M}, - [SPECIES_UNOWN_N] = {gMonBackPic_UnownN, 0x800, SPECIES_UNOWN_N}, - [SPECIES_UNOWN_O] = {gMonBackPic_UnownO, 0x800, SPECIES_UNOWN_O}, - [SPECIES_UNOWN_P] = {gMonBackPic_UnownP, 0x800, SPECIES_UNOWN_P}, - [SPECIES_UNOWN_Q] = {gMonBackPic_UnownQ, 0x800, SPECIES_UNOWN_Q}, - [SPECIES_UNOWN_R] = {gMonBackPic_UnownR, 0x800, SPECIES_UNOWN_R}, - [SPECIES_UNOWN_S] = {gMonBackPic_UnownS, 0x800, SPECIES_UNOWN_S}, - [SPECIES_UNOWN_T] = {gMonBackPic_UnownT, 0x800, SPECIES_UNOWN_T}, - [SPECIES_UNOWN_U] = {gMonBackPic_UnownU, 0x800, SPECIES_UNOWN_U}, - [SPECIES_UNOWN_V] = {gMonBackPic_UnownV, 0x800, SPECIES_UNOWN_V}, - [SPECIES_UNOWN_W] = {gMonBackPic_UnownW, 0x800, SPECIES_UNOWN_W}, - [SPECIES_UNOWN_X] = {gMonBackPic_UnownX, 0x800, SPECIES_UNOWN_X}, - [SPECIES_UNOWN_Y] = {gMonBackPic_UnownY, 0x800, SPECIES_UNOWN_Y}, - [SPECIES_UNOWN_Z] = {gMonBackPic_UnownZ, 0x800, SPECIES_UNOWN_Z}, - [SPECIES_UNOWN_EMARK] = {gMonBackPic_UnownExclamationMark, 0x800, SPECIES_UNOWN_EMARK}, - [SPECIES_UNOWN_QMARK] = {gMonBackPic_UnownQuestionMark, 0x800, SPECIES_UNOWN_QMARK}, + SPECIES_SPRITE(NONE, gMonBackPic_CircledQuestionMark), + SPECIES_SPRITE(BULBASAUR, gMonBackPic_Bulbasaur), + SPECIES_SPRITE(IVYSAUR, gMonBackPic_Ivysaur), + SPECIES_SPRITE(VENUSAUR, gMonBackPic_Venusaur), + SPECIES_SPRITE(CHARMANDER, gMonBackPic_Charmander), + SPECIES_SPRITE(CHARMELEON, gMonBackPic_Charmeleon), + SPECIES_SPRITE(CHARIZARD, gMonBackPic_Charizard), + SPECIES_SPRITE(SQUIRTLE, gMonBackPic_Squirtle), + SPECIES_SPRITE(WARTORTLE, gMonBackPic_Wartortle), + SPECIES_SPRITE(BLASTOISE, gMonBackPic_Blastoise), + SPECIES_SPRITE(CATERPIE, gMonBackPic_Caterpie), + SPECIES_SPRITE(METAPOD, gMonBackPic_Metapod), + SPECIES_SPRITE(BUTTERFREE, gMonBackPic_Butterfree), + SPECIES_SPRITE(WEEDLE, gMonBackPic_Weedle), + SPECIES_SPRITE(KAKUNA, gMonBackPic_Kakuna), + SPECIES_SPRITE(BEEDRILL, gMonBackPic_Beedrill), + SPECIES_SPRITE(PIDGEY, gMonBackPic_Pidgey), + SPECIES_SPRITE(PIDGEOTTO, gMonBackPic_Pidgeotto), + SPECIES_SPRITE(PIDGEOT, gMonBackPic_Pidgeot), + SPECIES_SPRITE(RATTATA, gMonBackPic_Rattata), + SPECIES_SPRITE(RATICATE, gMonBackPic_Raticate), + SPECIES_SPRITE(SPEAROW, gMonBackPic_Spearow), + SPECIES_SPRITE(FEAROW, gMonBackPic_Fearow), + SPECIES_SPRITE(EKANS, gMonBackPic_Ekans), + SPECIES_SPRITE(ARBOK, gMonBackPic_Arbok), + SPECIES_SPRITE(PIKACHU, gMonBackPic_Pikachu), + SPECIES_SPRITE(RAICHU, gMonBackPic_Raichu), + SPECIES_SPRITE(SANDSHREW, gMonBackPic_Sandshrew), + SPECIES_SPRITE(SANDSLASH, gMonBackPic_Sandslash), + SPECIES_SPRITE(NIDORAN_F, gMonBackPic_NidoranF), + SPECIES_SPRITE(NIDORINA, gMonBackPic_Nidorina), + SPECIES_SPRITE(NIDOQUEEN, gMonBackPic_Nidoqueen), + SPECIES_SPRITE(NIDORAN_M, gMonBackPic_NidoranM), + SPECIES_SPRITE(NIDORINO, gMonBackPic_Nidorino), + SPECIES_SPRITE(NIDOKING, gMonBackPic_Nidoking), + SPECIES_SPRITE(CLEFAIRY, gMonBackPic_Clefairy), + SPECIES_SPRITE(CLEFABLE, gMonBackPic_Clefable), + SPECIES_SPRITE(VULPIX, gMonBackPic_Vulpix), + SPECIES_SPRITE(NINETALES, gMonBackPic_Ninetales), + SPECIES_SPRITE(JIGGLYPUFF, gMonBackPic_Jigglypuff), + SPECIES_SPRITE(WIGGLYTUFF, gMonBackPic_Wigglytuff), + SPECIES_SPRITE(ZUBAT, gMonBackPic_Zubat), + SPECIES_SPRITE(GOLBAT, gMonBackPic_Golbat), + SPECIES_SPRITE(ODDISH, gMonBackPic_Oddish), + SPECIES_SPRITE(GLOOM, gMonBackPic_Gloom), + SPECIES_SPRITE(VILEPLUME, gMonBackPic_Vileplume), + SPECIES_SPRITE(PARAS, gMonBackPic_Paras), + SPECIES_SPRITE(PARASECT, gMonBackPic_Parasect), + SPECIES_SPRITE(VENONAT, gMonBackPic_Venonat), + SPECIES_SPRITE(VENOMOTH, gMonBackPic_Venomoth), + SPECIES_SPRITE(DIGLETT, gMonBackPic_Diglett), + SPECIES_SPRITE(DUGTRIO, gMonBackPic_Dugtrio), + SPECIES_SPRITE(MEOWTH, gMonBackPic_Meowth), + SPECIES_SPRITE(PERSIAN, gMonBackPic_Persian), + SPECIES_SPRITE(PSYDUCK, gMonBackPic_Psyduck), + SPECIES_SPRITE(GOLDUCK, gMonBackPic_Golduck), + SPECIES_SPRITE(MANKEY, gMonBackPic_Mankey), + SPECIES_SPRITE(PRIMEAPE, gMonBackPic_Primeape), + SPECIES_SPRITE(GROWLITHE, gMonBackPic_Growlithe), + SPECIES_SPRITE(ARCANINE, gMonBackPic_Arcanine), + SPECIES_SPRITE(POLIWAG, gMonBackPic_Poliwag), + SPECIES_SPRITE(POLIWHIRL, gMonBackPic_Poliwhirl), + SPECIES_SPRITE(POLIWRATH, gMonBackPic_Poliwrath), + SPECIES_SPRITE(ABRA, gMonBackPic_Abra), + SPECIES_SPRITE(KADABRA, gMonBackPic_Kadabra), + SPECIES_SPRITE(ALAKAZAM, gMonBackPic_Alakazam), + SPECIES_SPRITE(MACHOP, gMonBackPic_Machop), + SPECIES_SPRITE(MACHOKE, gMonBackPic_Machoke), + SPECIES_SPRITE(MACHAMP, gMonBackPic_Machamp), + SPECIES_SPRITE(BELLSPROUT, gMonBackPic_Bellsprout), + SPECIES_SPRITE(WEEPINBELL, gMonBackPic_Weepinbell), + SPECIES_SPRITE(VICTREEBEL, gMonBackPic_Victreebel), + SPECIES_SPRITE(TENTACOOL, gMonBackPic_Tentacool), + SPECIES_SPRITE(TENTACRUEL, gMonBackPic_Tentacruel), + SPECIES_SPRITE(GEODUDE, gMonBackPic_Geodude), + SPECIES_SPRITE(GRAVELER, gMonBackPic_Graveler), + SPECIES_SPRITE(GOLEM, gMonBackPic_Golem), + SPECIES_SPRITE(PONYTA, gMonBackPic_Ponyta), + SPECIES_SPRITE(RAPIDASH, gMonBackPic_Rapidash), + SPECIES_SPRITE(SLOWPOKE, gMonBackPic_Slowpoke), + SPECIES_SPRITE(SLOWBRO, gMonBackPic_Slowbro), + SPECIES_SPRITE(MAGNEMITE, gMonBackPic_Magnemite), + SPECIES_SPRITE(MAGNETON, gMonBackPic_Magneton), + SPECIES_SPRITE(FARFETCHD, gMonBackPic_Farfetchd), + SPECIES_SPRITE(DODUO, gMonBackPic_Doduo), + SPECIES_SPRITE(DODRIO, gMonBackPic_Dodrio), + SPECIES_SPRITE(SEEL, gMonBackPic_Seel), + SPECIES_SPRITE(DEWGONG, gMonBackPic_Dewgong), + SPECIES_SPRITE(GRIMER, gMonBackPic_Grimer), + SPECIES_SPRITE(MUK, gMonBackPic_Muk), + SPECIES_SPRITE(SHELLDER, gMonBackPic_Shellder), + SPECIES_SPRITE(CLOYSTER, gMonBackPic_Cloyster), + SPECIES_SPRITE(GASTLY, gMonBackPic_Gastly), + SPECIES_SPRITE(HAUNTER, gMonBackPic_Haunter), + SPECIES_SPRITE(GENGAR, gMonBackPic_Gengar), + SPECIES_SPRITE(ONIX, gMonBackPic_Onix), + SPECIES_SPRITE(DROWZEE, gMonBackPic_Drowzee), + SPECIES_SPRITE(HYPNO, gMonBackPic_Hypno), + SPECIES_SPRITE(KRABBY, gMonBackPic_Krabby), + SPECIES_SPRITE(KINGLER, gMonBackPic_Kingler), + SPECIES_SPRITE(VOLTORB, gMonBackPic_Voltorb), + SPECIES_SPRITE(ELECTRODE, gMonBackPic_Electrode), + SPECIES_SPRITE(EXEGGCUTE, gMonBackPic_Exeggcute), + SPECIES_SPRITE(EXEGGUTOR, gMonBackPic_Exeggutor), + SPECIES_SPRITE(CUBONE, gMonBackPic_Cubone), + SPECIES_SPRITE(MAROWAK, gMonBackPic_Marowak), + SPECIES_SPRITE(HITMONLEE, gMonBackPic_Hitmonlee), + SPECIES_SPRITE(HITMONCHAN, gMonBackPic_Hitmonchan), + SPECIES_SPRITE(LICKITUNG, gMonBackPic_Lickitung), + SPECIES_SPRITE(KOFFING, gMonBackPic_Koffing), + SPECIES_SPRITE(WEEZING, gMonBackPic_Weezing), + SPECIES_SPRITE(RHYHORN, gMonBackPic_Rhyhorn), + SPECIES_SPRITE(RHYDON, gMonBackPic_Rhydon), + SPECIES_SPRITE(CHANSEY, gMonBackPic_Chansey), + SPECIES_SPRITE(TANGELA, gMonBackPic_Tangela), + SPECIES_SPRITE(KANGASKHAN, gMonBackPic_Kangaskhan), + SPECIES_SPRITE(HORSEA, gMonBackPic_Horsea), + SPECIES_SPRITE(SEADRA, gMonBackPic_Seadra), + SPECIES_SPRITE(GOLDEEN, gMonBackPic_Goldeen), + SPECIES_SPRITE(SEAKING, gMonBackPic_Seaking), + SPECIES_SPRITE(STARYU, gMonBackPic_Staryu), + SPECIES_SPRITE(STARMIE, gMonBackPic_Starmie), + SPECIES_SPRITE(MR_MIME, gMonBackPic_Mrmime), + SPECIES_SPRITE(SCYTHER, gMonBackPic_Scyther), + SPECIES_SPRITE(JYNX, gMonBackPic_Jynx), + SPECIES_SPRITE(ELECTABUZZ, gMonBackPic_Electabuzz), + SPECIES_SPRITE(MAGMAR, gMonBackPic_Magmar), + SPECIES_SPRITE(PINSIR, gMonBackPic_Pinsir), + SPECIES_SPRITE(TAUROS, gMonBackPic_Tauros), + SPECIES_SPRITE(MAGIKARP, gMonBackPic_Magikarp), + SPECIES_SPRITE(GYARADOS, gMonBackPic_Gyarados), + SPECIES_SPRITE(LAPRAS, gMonBackPic_Lapras), + SPECIES_SPRITE(DITTO, gMonBackPic_Ditto), + SPECIES_SPRITE(EEVEE, gMonBackPic_Eevee), + SPECIES_SPRITE(VAPOREON, gMonBackPic_Vaporeon), + SPECIES_SPRITE(JOLTEON, gMonBackPic_Jolteon), + SPECIES_SPRITE(FLAREON, gMonBackPic_Flareon), + SPECIES_SPRITE(PORYGON, gMonBackPic_Porygon), + SPECIES_SPRITE(OMANYTE, gMonBackPic_Omanyte), + SPECIES_SPRITE(OMASTAR, gMonBackPic_Omastar), + SPECIES_SPRITE(KABUTO, gMonBackPic_Kabuto), + SPECIES_SPRITE(KABUTOPS, gMonBackPic_Kabutops), + SPECIES_SPRITE(AERODACTYL, gMonBackPic_Aerodactyl), + SPECIES_SPRITE(SNORLAX, gMonBackPic_Snorlax), + SPECIES_SPRITE(ARTICUNO, gMonBackPic_Articuno), + SPECIES_SPRITE(ZAPDOS, gMonBackPic_Zapdos), + SPECIES_SPRITE(MOLTRES, gMonBackPic_Moltres), + SPECIES_SPRITE(DRATINI, gMonBackPic_Dratini), + SPECIES_SPRITE(DRAGONAIR, gMonBackPic_Dragonair), + SPECIES_SPRITE(DRAGONITE, gMonBackPic_Dragonite), + SPECIES_SPRITE(MEWTWO, gMonBackPic_Mewtwo), + SPECIES_SPRITE(MEW, gMonBackPic_Mew), + SPECIES_SPRITE(CHIKORITA, gMonBackPic_Chikorita), + SPECIES_SPRITE(BAYLEEF, gMonBackPic_Bayleef), + SPECIES_SPRITE(MEGANIUM, gMonBackPic_Meganium), + SPECIES_SPRITE(CYNDAQUIL, gMonBackPic_Cyndaquil), + SPECIES_SPRITE(QUILAVA, gMonBackPic_Quilava), + SPECIES_SPRITE(TYPHLOSION, gMonBackPic_Typhlosion), + SPECIES_SPRITE(TOTODILE, gMonBackPic_Totodile), + SPECIES_SPRITE(CROCONAW, gMonBackPic_Croconaw), + SPECIES_SPRITE(FERALIGATR, gMonBackPic_Feraligatr), + SPECIES_SPRITE(SENTRET, gMonBackPic_Sentret), + SPECIES_SPRITE(FURRET, gMonBackPic_Furret), + SPECIES_SPRITE(HOOTHOOT, gMonBackPic_Hoothoot), + SPECIES_SPRITE(NOCTOWL, gMonBackPic_Noctowl), + SPECIES_SPRITE(LEDYBA, gMonBackPic_Ledyba), + SPECIES_SPRITE(LEDIAN, gMonBackPic_Ledian), + SPECIES_SPRITE(SPINARAK, gMonBackPic_Spinarak), + SPECIES_SPRITE(ARIADOS, gMonBackPic_Ariados), + SPECIES_SPRITE(CROBAT, gMonBackPic_Crobat), + SPECIES_SPRITE(CHINCHOU, gMonBackPic_Chinchou), + SPECIES_SPRITE(LANTURN, gMonBackPic_Lanturn), + SPECIES_SPRITE(PICHU, gMonBackPic_Pichu), + SPECIES_SPRITE(CLEFFA, gMonBackPic_Cleffa), + SPECIES_SPRITE(IGGLYBUFF, gMonBackPic_Igglybuff), + SPECIES_SPRITE(TOGEPI, gMonBackPic_Togepi), + SPECIES_SPRITE(TOGETIC, gMonBackPic_Togetic), + SPECIES_SPRITE(NATU, gMonBackPic_Natu), + SPECIES_SPRITE(XATU, gMonBackPic_Xatu), + SPECIES_SPRITE(MAREEP, gMonBackPic_Mareep), + SPECIES_SPRITE(FLAAFFY, gMonBackPic_Flaaffy), + SPECIES_SPRITE(AMPHAROS, gMonBackPic_Ampharos), + SPECIES_SPRITE(BELLOSSOM, gMonBackPic_Bellossom), + SPECIES_SPRITE(MARILL, gMonBackPic_Marill), + SPECIES_SPRITE(AZUMARILL, gMonBackPic_Azumarill), + SPECIES_SPRITE(SUDOWOODO, gMonBackPic_Sudowoodo), + SPECIES_SPRITE(POLITOED, gMonBackPic_Politoed), + SPECIES_SPRITE(HOPPIP, gMonBackPic_Hoppip), + SPECIES_SPRITE(SKIPLOOM, gMonBackPic_Skiploom), + SPECIES_SPRITE(JUMPLUFF, gMonBackPic_Jumpluff), + SPECIES_SPRITE(AIPOM, gMonBackPic_Aipom), + SPECIES_SPRITE(SUNKERN, gMonBackPic_Sunkern), + SPECIES_SPRITE(SUNFLORA, gMonBackPic_Sunflora), + SPECIES_SPRITE(YANMA, gMonBackPic_Yanma), + SPECIES_SPRITE(WOOPER, gMonBackPic_Wooper), + SPECIES_SPRITE(QUAGSIRE, gMonBackPic_Quagsire), + SPECIES_SPRITE(ESPEON, gMonBackPic_Espeon), + SPECIES_SPRITE(UMBREON, gMonBackPic_Umbreon), + SPECIES_SPRITE(MURKROW, gMonBackPic_Murkrow), + SPECIES_SPRITE(SLOWKING, gMonBackPic_Slowking), + SPECIES_SPRITE(MISDREAVUS, gMonBackPic_Misdreavus), + SPECIES_SPRITE(UNOWN, gMonBackPic_UnownA), + SPECIES_SPRITE(WOBBUFFET, gMonBackPic_Wobbuffet), + SPECIES_SPRITE(GIRAFARIG, gMonBackPic_Girafarig), + SPECIES_SPRITE(PINECO, gMonBackPic_Pineco), + SPECIES_SPRITE(FORRETRESS, gMonBackPic_Forretress), + SPECIES_SPRITE(DUNSPARCE, gMonBackPic_Dunsparce), + SPECIES_SPRITE(GLIGAR, gMonBackPic_Gligar), + SPECIES_SPRITE(STEELIX, gMonBackPic_Steelix), + SPECIES_SPRITE(SNUBBULL, gMonBackPic_Snubbull), + SPECIES_SPRITE(GRANBULL, gMonBackPic_Granbull), + SPECIES_SPRITE(QWILFISH, gMonBackPic_Qwilfish), + SPECIES_SPRITE(SCIZOR, gMonBackPic_Scizor), + SPECIES_SPRITE(SHUCKLE, gMonBackPic_Shuckle), + SPECIES_SPRITE(HERACROSS, gMonBackPic_Heracross), + SPECIES_SPRITE(SNEASEL, gMonBackPic_Sneasel), + SPECIES_SPRITE(TEDDIURSA, gMonBackPic_Teddiursa), + SPECIES_SPRITE(URSARING, gMonBackPic_Ursaring), + SPECIES_SPRITE(SLUGMA, gMonBackPic_Slugma), + SPECIES_SPRITE(MAGCARGO, gMonBackPic_Magcargo), + SPECIES_SPRITE(SWINUB, gMonBackPic_Swinub), + SPECIES_SPRITE(PILOSWINE, gMonBackPic_Piloswine), + SPECIES_SPRITE(CORSOLA, gMonBackPic_Corsola), + SPECIES_SPRITE(REMORAID, gMonBackPic_Remoraid), + SPECIES_SPRITE(OCTILLERY, gMonBackPic_Octillery), + SPECIES_SPRITE(DELIBIRD, gMonBackPic_Delibird), + SPECIES_SPRITE(MANTINE, gMonBackPic_Mantine), + SPECIES_SPRITE(SKARMORY, gMonBackPic_Skarmory), + SPECIES_SPRITE(HOUNDOUR, gMonBackPic_Houndour), + SPECIES_SPRITE(HOUNDOOM, gMonBackPic_Houndoom), + SPECIES_SPRITE(KINGDRA, gMonBackPic_Kingdra), + SPECIES_SPRITE(PHANPY, gMonBackPic_Phanpy), + SPECIES_SPRITE(DONPHAN, gMonBackPic_Donphan), + SPECIES_SPRITE(PORYGON2, gMonBackPic_Porygon2), + SPECIES_SPRITE(STANTLER, gMonBackPic_Stantler), + SPECIES_SPRITE(SMEARGLE, gMonBackPic_Smeargle), + SPECIES_SPRITE(TYROGUE, gMonBackPic_Tyrogue), + SPECIES_SPRITE(HITMONTOP, gMonBackPic_Hitmontop), + SPECIES_SPRITE(SMOOCHUM, gMonBackPic_Smoochum), + SPECIES_SPRITE(ELEKID, gMonBackPic_Elekid), + SPECIES_SPRITE(MAGBY, gMonBackPic_Magby), + SPECIES_SPRITE(MILTANK, gMonBackPic_Miltank), + SPECIES_SPRITE(BLISSEY, gMonBackPic_Blissey), + SPECIES_SPRITE(RAIKOU, gMonBackPic_Raikou), + SPECIES_SPRITE(ENTEI, gMonBackPic_Entei), + SPECIES_SPRITE(SUICUNE, gMonBackPic_Suicune), + SPECIES_SPRITE(LARVITAR, gMonBackPic_Larvitar), + SPECIES_SPRITE(PUPITAR, gMonBackPic_Pupitar), + SPECIES_SPRITE(TYRANITAR, gMonBackPic_Tyranitar), + SPECIES_SPRITE(LUGIA, gMonBackPic_Lugia), + SPECIES_SPRITE(HO_OH, gMonBackPic_HoOh), + SPECIES_SPRITE(CELEBI, gMonBackPic_Celebi), + SPECIES_SPRITE(OLD_UNOWN_B, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_C, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_D, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_E, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_F, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_G, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_H, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_I, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_J, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_K, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_L, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_M, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_N, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_O, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_P, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_Q, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_R, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_S, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_T, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_U, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_V, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_W, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_X, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_Y, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_Z, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(TREECKO, gMonBackPic_Treecko), + SPECIES_SPRITE(GROVYLE, gMonBackPic_Grovyle), + SPECIES_SPRITE(SCEPTILE, gMonBackPic_Sceptile), + SPECIES_SPRITE(TORCHIC, gMonBackPic_Torchic), + SPECIES_SPRITE(COMBUSKEN, gMonBackPic_Combusken), + SPECIES_SPRITE(BLAZIKEN, gMonBackPic_Blaziken), + SPECIES_SPRITE(MUDKIP, gMonBackPic_Mudkip), + SPECIES_SPRITE(MARSHTOMP, gMonBackPic_Marshtomp), + SPECIES_SPRITE(SWAMPERT, gMonBackPic_Swampert), + SPECIES_SPRITE(POOCHYENA, gMonBackPic_Poochyena), + SPECIES_SPRITE(MIGHTYENA, gMonBackPic_Mightyena), + SPECIES_SPRITE(ZIGZAGOON, gMonBackPic_Zigzagoon), + SPECIES_SPRITE(LINOONE, gMonBackPic_Linoone), + SPECIES_SPRITE(WURMPLE, gMonBackPic_Wurmple), + SPECIES_SPRITE(SILCOON, gMonBackPic_Silcoon), + SPECIES_SPRITE(BEAUTIFLY, gMonBackPic_Beautifly), + SPECIES_SPRITE(CASCOON, gMonBackPic_Cascoon), + SPECIES_SPRITE(DUSTOX, gMonBackPic_Dustox), + SPECIES_SPRITE(LOTAD, gMonBackPic_Lotad), + SPECIES_SPRITE(LOMBRE, gMonBackPic_Lombre), + SPECIES_SPRITE(LUDICOLO, gMonBackPic_Ludicolo), + SPECIES_SPRITE(SEEDOT, gMonBackPic_Seedot), + SPECIES_SPRITE(NUZLEAF, gMonBackPic_Nuzleaf), + SPECIES_SPRITE(SHIFTRY, gMonBackPic_Shiftry), + SPECIES_SPRITE(NINCADA, gMonBackPic_Nincada), + SPECIES_SPRITE(NINJASK, gMonBackPic_Ninjask), + SPECIES_SPRITE(SHEDINJA, gMonBackPic_Shedinja), + SPECIES_SPRITE(TAILLOW, gMonBackPic_Taillow), + SPECIES_SPRITE(SWELLOW, gMonBackPic_Swellow), + SPECIES_SPRITE(SHROOMISH, gMonBackPic_Shroomish), + SPECIES_SPRITE(BRELOOM, gMonBackPic_Breloom), + SPECIES_SPRITE(SPINDA, gMonBackPic_Spinda), + SPECIES_SPRITE(WINGULL, gMonBackPic_Wingull), + SPECIES_SPRITE(PELIPPER, gMonBackPic_Pelipper), + SPECIES_SPRITE(SURSKIT, gMonBackPic_Surskit), + SPECIES_SPRITE(MASQUERAIN, gMonBackPic_Masquerain), + SPECIES_SPRITE(WAILMER, gMonBackPic_Wailmer), + SPECIES_SPRITE(WAILORD, gMonBackPic_Wailord), + SPECIES_SPRITE(SKITTY, gMonBackPic_Skitty), + SPECIES_SPRITE(DELCATTY, gMonBackPic_Delcatty), + SPECIES_SPRITE(KECLEON, gMonBackPic_Kecleon), + SPECIES_SPRITE(BALTOY, gMonBackPic_Baltoy), + SPECIES_SPRITE(CLAYDOL, gMonBackPic_Claydol), + SPECIES_SPRITE(NOSEPASS, gMonBackPic_Nosepass), + SPECIES_SPRITE(TORKOAL, gMonBackPic_Torkoal), + SPECIES_SPRITE(SABLEYE, gMonBackPic_Sableye), + SPECIES_SPRITE(BARBOACH, gMonBackPic_Barboach), + SPECIES_SPRITE(WHISCASH, gMonBackPic_Whiscash), + SPECIES_SPRITE(LUVDISC, gMonBackPic_Luvdisc), + SPECIES_SPRITE(CORPHISH, gMonBackPic_Corphish), + SPECIES_SPRITE(CRAWDAUNT, gMonBackPic_Crawdaunt), + SPECIES_SPRITE(FEEBAS, gMonBackPic_Feebas), + SPECIES_SPRITE(MILOTIC, gMonBackPic_Milotic), + SPECIES_SPRITE(CARVANHA, gMonBackPic_Carvanha), + SPECIES_SPRITE(SHARPEDO, gMonBackPic_Sharpedo), + SPECIES_SPRITE(TRAPINCH, gMonBackPic_Trapinch), + SPECIES_SPRITE(VIBRAVA, gMonBackPic_Vibrava), + SPECIES_SPRITE(FLYGON, gMonBackPic_Flygon), + SPECIES_SPRITE(MAKUHITA, gMonBackPic_Makuhita), + SPECIES_SPRITE(HARIYAMA, gMonBackPic_Hariyama), + SPECIES_SPRITE(ELECTRIKE, gMonBackPic_Electrike), + SPECIES_SPRITE(MANECTRIC, gMonBackPic_Manectric), + SPECIES_SPRITE(NUMEL, gMonBackPic_Numel), + SPECIES_SPRITE(CAMERUPT, gMonBackPic_Camerupt), + SPECIES_SPRITE(SPHEAL, gMonBackPic_Spheal), + SPECIES_SPRITE(SEALEO, gMonBackPic_Sealeo), + SPECIES_SPRITE(WALREIN, gMonBackPic_Walrein), + SPECIES_SPRITE(CACNEA, gMonBackPic_Cacnea), + SPECIES_SPRITE(CACTURNE, gMonBackPic_Cacturne), + SPECIES_SPRITE(SNORUNT, gMonBackPic_Snorunt), + SPECIES_SPRITE(GLALIE, gMonBackPic_Glalie), + SPECIES_SPRITE(LUNATONE, gMonBackPic_Lunatone), + SPECIES_SPRITE(SOLROCK, gMonBackPic_Solrock), + SPECIES_SPRITE(AZURILL, gMonBackPic_Azurill), + SPECIES_SPRITE(SPOINK, gMonBackPic_Spoink), + SPECIES_SPRITE(GRUMPIG, gMonBackPic_Grumpig), + SPECIES_SPRITE(PLUSLE, gMonBackPic_Plusle), + SPECIES_SPRITE(MINUN, gMonBackPic_Minun), + SPECIES_SPRITE(MAWILE, gMonBackPic_Mawile), + SPECIES_SPRITE(MEDITITE, gMonBackPic_Meditite), + SPECIES_SPRITE(MEDICHAM, gMonBackPic_Medicham), + SPECIES_SPRITE(SWABLU, gMonBackPic_Swablu), + SPECIES_SPRITE(ALTARIA, gMonBackPic_Altaria), + SPECIES_SPRITE(WYNAUT, gMonBackPic_Wynaut), + SPECIES_SPRITE(DUSKULL, gMonBackPic_Duskull), + SPECIES_SPRITE(DUSCLOPS, gMonBackPic_Dusclops), + SPECIES_SPRITE(ROSELIA, gMonBackPic_Roselia), + SPECIES_SPRITE(SLAKOTH, gMonBackPic_Slakoth), + SPECIES_SPRITE(VIGOROTH, gMonBackPic_Vigoroth), + SPECIES_SPRITE(SLAKING, gMonBackPic_Slaking), + SPECIES_SPRITE(GULPIN, gMonBackPic_Gulpin), + SPECIES_SPRITE(SWALOT, gMonBackPic_Swalot), + SPECIES_SPRITE(TROPIUS, gMonBackPic_Tropius), + SPECIES_SPRITE(WHISMUR, gMonBackPic_Whismur), + SPECIES_SPRITE(LOUDRED, gMonBackPic_Loudred), + SPECIES_SPRITE(EXPLOUD, gMonBackPic_Exploud), + SPECIES_SPRITE(CLAMPERL, gMonBackPic_Clamperl), + SPECIES_SPRITE(HUNTAIL, gMonBackPic_Huntail), + SPECIES_SPRITE(GOREBYSS, gMonBackPic_Gorebyss), + SPECIES_SPRITE(ABSOL, gMonBackPic_Absol), + SPECIES_SPRITE(SHUPPET, gMonBackPic_Shuppet), + SPECIES_SPRITE(BANETTE, gMonBackPic_Banette), + SPECIES_SPRITE(SEVIPER, gMonBackPic_Seviper), + SPECIES_SPRITE(ZANGOOSE, gMonBackPic_Zangoose), + SPECIES_SPRITE(RELICANTH, gMonBackPic_Relicanth), + SPECIES_SPRITE(ARON, gMonBackPic_Aron), + SPECIES_SPRITE(LAIRON, gMonBackPic_Lairon), + SPECIES_SPRITE(AGGRON, gMonBackPic_Aggron), + SPECIES_SPRITE(CASTFORM, gMonBackPic_Castform), + SPECIES_SPRITE(VOLBEAT, gMonBackPic_Volbeat), + SPECIES_SPRITE(ILLUMISE, gMonBackPic_Illumise), + SPECIES_SPRITE(LILEEP, gMonBackPic_Lileep), + SPECIES_SPRITE(CRADILY, gMonBackPic_Cradily), + SPECIES_SPRITE(ANORITH, gMonBackPic_Anorith), + SPECIES_SPRITE(ARMALDO, gMonBackPic_Armaldo), + SPECIES_SPRITE(RALTS, gMonBackPic_Ralts), + SPECIES_SPRITE(KIRLIA, gMonBackPic_Kirlia), + SPECIES_SPRITE(GARDEVOIR, gMonBackPic_Gardevoir), + SPECIES_SPRITE(BAGON, gMonBackPic_Bagon), + SPECIES_SPRITE(SHELGON, gMonBackPic_Shelgon), + SPECIES_SPRITE(SALAMENCE, gMonBackPic_Salamence), + SPECIES_SPRITE(BELDUM, gMonBackPic_Beldum), + SPECIES_SPRITE(METANG, gMonBackPic_Metang), + SPECIES_SPRITE(METAGROSS, gMonBackPic_Metagross), + SPECIES_SPRITE(REGIROCK, gMonBackPic_Regirock), + SPECIES_SPRITE(REGICE, gMonBackPic_Regice), + SPECIES_SPRITE(REGISTEEL, gMonBackPic_Registeel), + SPECIES_SPRITE(KYOGRE, gMonBackPic_Kyogre), + SPECIES_SPRITE(GROUDON, gMonBackPic_Groudon), + SPECIES_SPRITE(RAYQUAZA, gMonBackPic_Rayquaza), + SPECIES_SPRITE(LATIAS, gMonBackPic_Latias), + SPECIES_SPRITE(LATIOS, gMonBackPic_Latios), + SPECIES_SPRITE(JIRACHI, gMonBackPic_Jirachi), + SPECIES_SPRITE(DEOXYS, gMonBackPic_Deoxys), + SPECIES_SPRITE(CHIMECHO, gMonBackPic_Chimecho), + SPECIES_SPRITE(EGG, gMonStillFrontPic_Egg), + SPECIES_SPRITE(UNOWN_B, gMonBackPic_UnownB), + SPECIES_SPRITE(UNOWN_C, gMonBackPic_UnownC), + SPECIES_SPRITE(UNOWN_D, gMonBackPic_UnownD), + SPECIES_SPRITE(UNOWN_E, gMonBackPic_UnownE), + SPECIES_SPRITE(UNOWN_F, gMonBackPic_UnownF), + SPECIES_SPRITE(UNOWN_G, gMonBackPic_UnownG), + SPECIES_SPRITE(UNOWN_H, gMonBackPic_UnownH), + SPECIES_SPRITE(UNOWN_I, gMonBackPic_UnownI), + SPECIES_SPRITE(UNOWN_J, gMonBackPic_UnownJ), + SPECIES_SPRITE(UNOWN_K, gMonBackPic_UnownK), + SPECIES_SPRITE(UNOWN_L, gMonBackPic_UnownL), + SPECIES_SPRITE(UNOWN_M, gMonBackPic_UnownM), + SPECIES_SPRITE(UNOWN_N, gMonBackPic_UnownN), + SPECIES_SPRITE(UNOWN_O, gMonBackPic_UnownO), + SPECIES_SPRITE(UNOWN_P, gMonBackPic_UnownP), + SPECIES_SPRITE(UNOWN_Q, gMonBackPic_UnownQ), + SPECIES_SPRITE(UNOWN_R, gMonBackPic_UnownR), + SPECIES_SPRITE(UNOWN_S, gMonBackPic_UnownS), + SPECIES_SPRITE(UNOWN_T, gMonBackPic_UnownT), + SPECIES_SPRITE(UNOWN_U, gMonBackPic_UnownU), + SPECIES_SPRITE(UNOWN_V, gMonBackPic_UnownV), + SPECIES_SPRITE(UNOWN_W, gMonBackPic_UnownW), + SPECIES_SPRITE(UNOWN_X, gMonBackPic_UnownX), + SPECIES_SPRITE(UNOWN_Y, gMonBackPic_UnownY), + SPECIES_SPRITE(UNOWN_Z, gMonBackPic_UnownZ), + SPECIES_SPRITE(UNOWN_EMARK, gMonBackPic_UnownExclamationMark), + SPECIES_SPRITE(UNOWN_QMARK, gMonBackPic_UnownQuestionMark), }; - diff --git a/src/data/pokemon_graphics/enemy_mon_elevation.h b/src/data/pokemon_graphics/enemy_mon_elevation.h index c8f079a5c8..f3d81d27ef 100644 --- a/src/data/pokemon_graphics/enemy_mon_elevation.h +++ b/src/data/pokemon_graphics/enemy_mon_elevation.h @@ -1,415 +1,62 @@ -#include "constants/species.h" - // This determines how much higher above the usual position the enemy Pokémon // is during battle. Species that float or fly have nonzero values. -const u8 gEnemyMonElevation[] = +const u8 gEnemyMonElevation[NUM_SPECIES] = { - [SPECIES_NONE] = 0, - [SPECIES_BULBASAUR] = 0, - [SPECIES_IVYSAUR] = 0, - [SPECIES_VENUSAUR] = 0, - [SPECIES_CHARMANDER] = 0, - [SPECIES_CHARMELEON] = 0, - [SPECIES_CHARIZARD] = 0, - [SPECIES_SQUIRTLE] = 0, - [SPECIES_WARTORTLE] = 0, - [SPECIES_BLASTOISE] = 0, - [SPECIES_CATERPIE] = 0, - [SPECIES_METAPOD] = 0, [SPECIES_BUTTERFREE] = 8, - [SPECIES_WEEDLE] = 0, - [SPECIES_KAKUNA] = 0, [SPECIES_BEEDRILL] = 8, [SPECIES_PIDGEY] = 16, - [SPECIES_PIDGEOTTO] = 0, [SPECIES_PIDGEOT] = 4, - [SPECIES_RATTATA] = 0, - [SPECIES_RATICATE] = 0, - [SPECIES_SPEAROW] = 0, [SPECIES_FEAROW] = 6, - [SPECIES_EKANS] = 0, - [SPECIES_ARBOK] = 0, - [SPECIES_PIKACHU] = 0, - [SPECIES_RAICHU] = 0, - [SPECIES_SANDSHREW] = 0, - [SPECIES_SANDSLASH] = 0, - [SPECIES_NIDORAN_F] = 0, - [SPECIES_NIDORINA] = 0, - [SPECIES_NIDOQUEEN] = 0, - [SPECIES_NIDORAN_M] = 0, - [SPECIES_NIDORINO] = 0, - [SPECIES_NIDOKING] = 0, - [SPECIES_CLEFAIRY] = 0, - [SPECIES_CLEFABLE] = 0, - [SPECIES_VULPIX] = 0, - [SPECIES_NINETALES] = 0, - [SPECIES_JIGGLYPUFF] = 0, - [SPECIES_WIGGLYTUFF] = 0, [SPECIES_ZUBAT] = 8, [SPECIES_GOLBAT] = 8, - [SPECIES_ODDISH] = 0, - [SPECIES_GLOOM] = 0, - [SPECIES_VILEPLUME] = 0, - [SPECIES_PARAS] = 0, - [SPECIES_PARASECT] = 0, - [SPECIES_VENONAT] = 0, [SPECIES_VENOMOTH] = 8, - [SPECIES_DIGLETT] = 0, - [SPECIES_DUGTRIO] = 0, - [SPECIES_MEOWTH] = 0, - [SPECIES_PERSIAN] = 0, - [SPECIES_PSYDUCK] = 0, - [SPECIES_GOLDUCK] = 0, - [SPECIES_MANKEY] = 0, - [SPECIES_PRIMEAPE] = 0, - [SPECIES_GROWLITHE] = 0, - [SPECIES_ARCANINE] = 0, - [SPECIES_POLIWAG] = 0, - [SPECIES_POLIWHIRL] = 0, - [SPECIES_POLIWRATH] = 0, - [SPECIES_ABRA] = 0, - [SPECIES_KADABRA] = 0, - [SPECIES_ALAKAZAM] = 0, - [SPECIES_MACHOP] = 0, - [SPECIES_MACHOKE] = 0, - [SPECIES_MACHAMP] = 0, - [SPECIES_BELLSPROUT] = 0, - [SPECIES_WEEPINBELL] = 0, - [SPECIES_VICTREEBEL] = 0, - [SPECIES_TENTACOOL] = 0, - [SPECIES_TENTACRUEL] = 0, [SPECIES_GEODUDE] = 16, - [SPECIES_GRAVELER] = 0, - [SPECIES_GOLEM] = 0, - [SPECIES_PONYTA] = 0, - [SPECIES_RAPIDASH] = 0, - [SPECIES_SLOWPOKE] = 0, - [SPECIES_SLOWBRO] = 0, [SPECIES_MAGNEMITE] = 16, [SPECIES_MAGNETON] = 8, - [SPECIES_FARFETCHD] = 0, - [SPECIES_DODUO] = 0, - [SPECIES_DODRIO] = 0, - [SPECIES_SEEL] = 0, - [SPECIES_DEWGONG] = 0, - [SPECIES_GRIMER] = 0, - [SPECIES_MUK] = 0, - [SPECIES_SHELLDER] = 0, - [SPECIES_CLOYSTER] = 0, [SPECIES_GASTLY] = 4, [SPECIES_HAUNTER] = 4, - [SPECIES_GENGAR] = 0, - [SPECIES_ONIX] = 0, - [SPECIES_DROWZEE] = 0, - [SPECIES_HYPNO] = 0, - [SPECIES_KRABBY] = 0, - [SPECIES_KINGLER] = 0, [SPECIES_VOLTORB] = 10, [SPECIES_ELECTRODE] = 12, - [SPECIES_EXEGGCUTE] = 0, - [SPECIES_EXEGGUTOR] = 0, - [SPECIES_CUBONE] = 0, - [SPECIES_MAROWAK] = 0, - [SPECIES_HITMONLEE] = 0, - [SPECIES_HITMONCHAN] = 0, - [SPECIES_LICKITUNG] = 0, [SPECIES_KOFFING] = 8, [SPECIES_WEEZING] = 6, - [SPECIES_RHYHORN] = 0, - [SPECIES_RHYDON] = 0, - [SPECIES_CHANSEY] = 0, - [SPECIES_TANGELA] = 0, - [SPECIES_KANGASKHAN] = 0, - [SPECIES_HORSEA] = 0, - [SPECIES_SEADRA] = 0, - [SPECIES_GOLDEEN] = 0, - [SPECIES_SEAKING] = 0, - [SPECIES_STARYU] = 0, - [SPECIES_STARMIE] = 0, - [SPECIES_MR_MIME] = 0, - [SPECIES_SCYTHER] = 0, - [SPECIES_JYNX] = 0, - [SPECIES_ELECTABUZZ] = 0, - [SPECIES_MAGMAR] = 0, - [SPECIES_PINSIR] = 0, - [SPECIES_TAUROS] = 0, - [SPECIES_MAGIKARP] = 0, - [SPECIES_GYARADOS] = 0, - [SPECIES_LAPRAS] = 0, - [SPECIES_DITTO] = 0, - [SPECIES_EEVEE] = 0, - [SPECIES_VAPOREON] = 0, - [SPECIES_JOLTEON] = 0, - [SPECIES_FLAREON] = 0, - [SPECIES_PORYGON] = 0, - [SPECIES_OMANYTE] = 0, - [SPECIES_OMASTAR] = 0, - [SPECIES_KABUTO] = 0, - [SPECIES_KABUTOPS] = 0, [SPECIES_AERODACTYL] = 7, - [SPECIES_SNORLAX] = 0, [SPECIES_ARTICUNO] = 6, [SPECIES_ZAPDOS] = 8, [SPECIES_MOLTRES] = 5, - [SPECIES_DRATINI] = 0, - [SPECIES_DRAGONAIR] = 0, [SPECIES_DRAGONITE] = 6, - [SPECIES_MEWTWO] = 0, [SPECIES_MEW] = 8, - [SPECIES_CHIKORITA] = 0, - [SPECIES_BAYLEEF] = 0, - [SPECIES_MEGANIUM] = 0, - [SPECIES_CYNDAQUIL] = 0, - [SPECIES_QUILAVA] = 0, - [SPECIES_TYPHLOSION] = 0, - [SPECIES_TOTODILE] = 0, - [SPECIES_CROCONAW] = 0, - [SPECIES_FERALIGATR] = 0, - [SPECIES_SENTRET] = 0, - [SPECIES_FURRET] = 0, - [SPECIES_HOOTHOOT] = 0, - [SPECIES_NOCTOWL] = 0, - [SPECIES_LEDYBA] = 0, [SPECIES_LEDIAN] = 8, - [SPECIES_SPINARAK] = 0, - [SPECIES_ARIADOS] = 0, [SPECIES_CROBAT] = 6, - [SPECIES_CHINCHOU] = 0, - [SPECIES_LANTURN] = 0, - [SPECIES_PICHU] = 0, - [SPECIES_CLEFFA] = 0, - [SPECIES_IGGLYBUFF] = 0, - [SPECIES_TOGEPI] = 0, - [SPECIES_TOGETIC] = 0, - [SPECIES_NATU] = 0, - [SPECIES_XATU] = 0, - [SPECIES_MAREEP] = 0, - [SPECIES_FLAAFFY] = 0, - [SPECIES_AMPHAROS] = 0, - [SPECIES_BELLOSSOM] = 0, - [SPECIES_MARILL] = 0, - [SPECIES_AZUMARILL] = 0, - [SPECIES_SUDOWOODO] = 0, - [SPECIES_POLITOED] = 0, [SPECIES_HOPPIP] = 11, [SPECIES_SKIPLOOM] = 12, [SPECIES_JUMPLUFF] = 9, - [SPECIES_AIPOM] = 0, - [SPECIES_SUNKERN] = 0, - [SPECIES_SUNFLORA] = 0, [SPECIES_YANMA] = 8, - [SPECIES_WOOPER] = 0, - [SPECIES_QUAGSIRE] = 0, - [SPECIES_ESPEON] = 0, - [SPECIES_UMBREON] = 0, - [SPECIES_MURKROW] = 0, - [SPECIES_SLOWKING] = 0, [SPECIES_MISDREAVUS] = 8, [SPECIES_UNOWN] = 8, - [SPECIES_WOBBUFFET] = 0, - [SPECIES_GIRAFARIG] = 0, - [SPECIES_PINECO] = 0, - [SPECIES_FORRETRESS] = 0, - [SPECIES_DUNSPARCE] = 0, [SPECIES_GLIGAR] = 6, - [SPECIES_STEELIX] = 0, - [SPECIES_SNUBBULL] = 0, - [SPECIES_GRANBULL] = 0, - [SPECIES_QWILFISH] = 0, - [SPECIES_SCIZOR] = 0, - [SPECIES_SHUCKLE] = 0, - [SPECIES_HERACROSS] = 0, - [SPECIES_SNEASEL] = 0, - [SPECIES_TEDDIURSA] = 0, - [SPECIES_URSARING] = 0, - [SPECIES_SLUGMA] = 0, - [SPECIES_MAGCARGO] = 0, - [SPECIES_SWINUB] = 0, - [SPECIES_PILOSWINE] = 0, - [SPECIES_CORSOLA] = 0, - [SPECIES_REMORAID] = 0, - [SPECIES_OCTILLERY] = 0, - [SPECIES_DELIBIRD] = 0, - [SPECIES_MANTINE] = 0, - [SPECIES_SKARMORY] = 0, - [SPECIES_HOUNDOUR] = 0, - [SPECIES_HOUNDOOM] = 0, - [SPECIES_KINGDRA] = 0, - [SPECIES_PHANPY] = 0, - [SPECIES_DONPHAN] = 0, - [SPECIES_PORYGON2] = 0, - [SPECIES_STANTLER] = 0, - [SPECIES_SMEARGLE] = 0, - [SPECIES_TYROGUE] = 0, - [SPECIES_HITMONTOP] = 0, - [SPECIES_SMOOCHUM] = 0, - [SPECIES_ELEKID] = 0, - [SPECIES_MAGBY] = 0, - [SPECIES_MILTANK] = 0, - [SPECIES_BLISSEY] = 0, - [SPECIES_RAIKOU] = 0, - [SPECIES_ENTEI] = 0, - [SPECIES_SUICUNE] = 0, - [SPECIES_LARVITAR] = 0, - [SPECIES_PUPITAR] = 0, - [SPECIES_TYRANITAR] = 0, [SPECIES_LUGIA] = 6, [SPECIES_HO_OH] = 6, [SPECIES_CELEBI] = 15, - [SPECIES_OLD_UNOWN_B] = 0, - [SPECIES_OLD_UNOWN_C] = 0, - [SPECIES_OLD_UNOWN_D] = 0, - [SPECIES_OLD_UNOWN_E] = 0, - [SPECIES_OLD_UNOWN_F] = 0, - [SPECIES_OLD_UNOWN_G] = 0, - [SPECIES_OLD_UNOWN_H] = 0, - [SPECIES_OLD_UNOWN_I] = 0, - [SPECIES_OLD_UNOWN_J] = 0, - [SPECIES_OLD_UNOWN_K] = 0, - [SPECIES_OLD_UNOWN_L] = 0, - [SPECIES_OLD_UNOWN_M] = 0, - [SPECIES_OLD_UNOWN_N] = 0, - [SPECIES_OLD_UNOWN_O] = 0, - [SPECIES_OLD_UNOWN_P] = 0, - [SPECIES_OLD_UNOWN_Q] = 0, - [SPECIES_OLD_UNOWN_R] = 0, - [SPECIES_OLD_UNOWN_S] = 0, - [SPECIES_OLD_UNOWN_T] = 0, - [SPECIES_OLD_UNOWN_U] = 0, - [SPECIES_OLD_UNOWN_V] = 0, - [SPECIES_OLD_UNOWN_W] = 0, - [SPECIES_OLD_UNOWN_X] = 0, - [SPECIES_OLD_UNOWN_Y] = 0, - [SPECIES_OLD_UNOWN_Z] = 0, - [SPECIES_TREECKO] = 0, - [SPECIES_GROVYLE] = 0, - [SPECIES_SCEPTILE] = 0, - [SPECIES_TORCHIC] = 0, - [SPECIES_COMBUSKEN] = 0, - [SPECIES_BLAZIKEN] = 0, - [SPECIES_MUDKIP] = 0, - [SPECIES_MARSHTOMP] = 0, - [SPECIES_SWAMPERT] = 0, - [SPECIES_POOCHYENA] = 0, - [SPECIES_MIGHTYENA] = 0, - [SPECIES_ZIGZAGOON] = 0, - [SPECIES_LINOONE] = 0, - [SPECIES_WURMPLE] = 0, - [SPECIES_SILCOON] = 0, [SPECIES_BEAUTIFLY] = 8, - [SPECIES_CASCOON] = 0, [SPECIES_DUSTOX] = 10, - [SPECIES_LOTAD] = 0, - [SPECIES_LOMBRE] = 0, - [SPECIES_LUDICOLO] = 0, - [SPECIES_SEEDOT] = 0, - [SPECIES_NUZLEAF] = 0, - [SPECIES_SHIFTRY] = 0, - [SPECIES_NINCADA] = 0, [SPECIES_NINJASK] = 10, [SPECIES_SHEDINJA] = 8, - [SPECIES_TAILLOW] = 0, - [SPECIES_SWELLOW] = 0, - [SPECIES_SHROOMISH] = 0, - [SPECIES_BRELOOM] = 0, - [SPECIES_SPINDA] = 0, [SPECIES_WINGULL] = 16, [SPECIES_PELIPPER] = 8, - [SPECIES_SURSKIT] = 0, [SPECIES_MASQUERAIN] = 10, - [SPECIES_WAILMER] = 0, - [SPECIES_WAILORD] = 0, - [SPECIES_SKITTY] = 0, - [SPECIES_DELCATTY] = 0, - [SPECIES_KECLEON] = 0, [SPECIES_BALTOY] = 4, [SPECIES_CLAYDOL] = 10, - [SPECIES_NOSEPASS] = 0, - [SPECIES_TORKOAL] = 0, - [SPECIES_SABLEYE] = 0, - [SPECIES_BARBOACH] = 0, - [SPECIES_WHISCASH] = 0, - [SPECIES_LUVDISC] = 0, - [SPECIES_CORPHISH] = 0, - [SPECIES_CRAWDAUNT] = 0, - [SPECIES_FEEBAS] = 0, - [SPECIES_MILOTIC] = 0, - [SPECIES_CARVANHA] = 0, - [SPECIES_SHARPEDO] = 0, - [SPECIES_TRAPINCH] = 0, - [SPECIES_VIBRAVA] = 0, [SPECIES_FLYGON] = 7, - [SPECIES_MAKUHITA] = 0, - [SPECIES_HARIYAMA] = 0, - [SPECIES_ELECTRIKE] = 0, - [SPECIES_MANECTRIC] = 0, - [SPECIES_NUMEL] = 0, - [SPECIES_CAMERUPT] = 0, - [SPECIES_SPHEAL] = 0, - [SPECIES_SEALEO] = 0, - [SPECIES_WALREIN] = 0, - [SPECIES_CACNEA] = 0, - [SPECIES_CACTURNE] = 0, - [SPECIES_SNORUNT] = 0, [SPECIES_GLALIE] = 12, [SPECIES_LUNATONE] = 13, [SPECIES_SOLROCK] = 4, - [SPECIES_AZURILL] = 0, - [SPECIES_SPOINK] = 0, - [SPECIES_GRUMPIG] = 0, - [SPECIES_PLUSLE] = 0, - [SPECIES_MINUN] = 0, - [SPECIES_MAWILE] = 0, - [SPECIES_MEDITITE] = 0, - [SPECIES_MEDICHAM] = 0, [SPECIES_SWABLU] = 12, [SPECIES_ALTARIA] = 8, - [SPECIES_WYNAUT] = 0, [SPECIES_DUSKULL] = 9, - [SPECIES_DUSCLOPS] = 0, - [SPECIES_ROSELIA] = 0, - [SPECIES_SLAKOTH] = 0, - [SPECIES_VIGOROTH] = 0, - [SPECIES_SLAKING] = 0, - [SPECIES_GULPIN] = 0, - [SPECIES_SWALOT] = 0, - [SPECIES_TROPIUS] = 0, - [SPECIES_WHISMUR] = 0, - [SPECIES_LOUDRED] = 0, - [SPECIES_EXPLOUD] = 0, - [SPECIES_CLAMPERL] = 0, - [SPECIES_HUNTAIL] = 0, - [SPECIES_GOREBYSS] = 0, - [SPECIES_ABSOL] = 0, [SPECIES_SHUPPET] = 12, [SPECIES_BANETTE] = 8, - [SPECIES_SEVIPER] = 0, - [SPECIES_ZANGOOSE] = 0, - [SPECIES_RELICANTH] = 0, - [SPECIES_ARON] = 0, - [SPECIES_LAIRON] = 0, - [SPECIES_AGGRON] = 0, [SPECIES_CASTFORM] = 16, - [SPECIES_VOLBEAT] = 0, - [SPECIES_ILLUMISE] = 0, - [SPECIES_LILEEP] = 0, - [SPECIES_CRADILY] = 0, - [SPECIES_ANORITH] = 0, - [SPECIES_ARMALDO] = 0, - [SPECIES_RALTS] = 0, - [SPECIES_KIRLIA] = 0, - [SPECIES_GARDEVOIR] = 0, - [SPECIES_BAGON] = 0, - [SPECIES_SHELGON] = 0, - [SPECIES_SALAMENCE] = 0, [SPECIES_BELDUM] = 8, - [SPECIES_METANG] = 0, - [SPECIES_METAGROSS] = 0, - [SPECIES_REGIROCK] = 0, - [SPECIES_REGICE] = 0, - [SPECIES_REGISTEEL] = 0, - [SPECIES_KYOGRE] = 0, - [SPECIES_GROUDON] = 0, [SPECIES_RAYQUAZA] = 6, [SPECIES_LATIAS] = 6, [SPECIES_LATIOS] = 6, diff --git a/src/data/pokemon_graphics/footprint_table.h b/src/data/pokemon_graphics/footprint_table.h index 779ce3dcd5..86ca067901 100644 --- a/src/data/pokemon_graphics/footprint_table.h +++ b/src/data/pokemon_graphics/footprint_table.h @@ -1,416 +1,416 @@ const u8 *const gMonFootprintTable[] = { - gMonFootprint_Bulbasaur, - gMonFootprint_Bulbasaur, - gMonFootprint_Ivysaur, - gMonFootprint_Venusaur, - gMonFootprint_Charmander, - gMonFootprint_Charmeleon, - gMonFootprint_Charizard, - gMonFootprint_Squirtle, - gMonFootprint_Wartortle, - gMonFootprint_Blastoise, - gMonFootprint_Caterpie, - gMonFootprint_Metapod, - gMonFootprint_Butterfree, - gMonFootprint_Weedle, - gMonFootprint_Kakuna, - gMonFootprint_Beedrill, - gMonFootprint_Pidgey, - gMonFootprint_Pidgeotto, - gMonFootprint_Pidgeot, - gMonFootprint_Rattata, - gMonFootprint_Raticate, - gMonFootprint_Spearow, - gMonFootprint_Fearow, - gMonFootprint_Ekans, - gMonFootprint_Arbok, - gMonFootprint_Pikachu, - gMonFootprint_Raichu, - gMonFootprint_Sandshrew, - gMonFootprint_Sandslash, - gMonFootprint_NidoranF, - gMonFootprint_Nidorina, - gMonFootprint_Nidoqueen, - gMonFootprint_NidoranM, - gMonFootprint_Nidorino, - gMonFootprint_Nidoking, - gMonFootprint_Clefairy, - gMonFootprint_Clefable, - gMonFootprint_Vulpix, - gMonFootprint_Ninetales, - gMonFootprint_Jigglypuff, - gMonFootprint_Wigglytuff, - gMonFootprint_Zubat, - gMonFootprint_Golbat, - gMonFootprint_Oddish, - gMonFootprint_Gloom, - gMonFootprint_Vileplume, - gMonFootprint_Paras, - gMonFootprint_Parasect, - gMonFootprint_Venonat, - gMonFootprint_Venomoth, - gMonFootprint_Diglett, - gMonFootprint_Dugtrio, - gMonFootprint_Meowth, - gMonFootprint_Persian, - gMonFootprint_Psyduck, - gMonFootprint_Golduck, - gMonFootprint_Mankey, - gMonFootprint_Primeape, - gMonFootprint_Growlithe, - gMonFootprint_Arcanine, - gMonFootprint_Poliwag, - gMonFootprint_Poliwhirl, - gMonFootprint_Poliwrath, - gMonFootprint_Abra, - gMonFootprint_Kadabra, - gMonFootprint_Alakazam, - gMonFootprint_Machop, - gMonFootprint_Machoke, - gMonFootprint_Machamp, - gMonFootprint_Bellsprout, - gMonFootprint_Weepinbell, - gMonFootprint_Victreebel, - gMonFootprint_Tentacool, - gMonFootprint_Tentacruel, - gMonFootprint_Geodude, - gMonFootprint_Graveler, - gMonFootprint_Golem, - gMonFootprint_Ponyta, - gMonFootprint_Rapidash, - gMonFootprint_Slowpoke, - gMonFootprint_Slowbro, - gMonFootprint_Magnemite, - gMonFootprint_Magneton, - gMonFootprint_Farfetchd, - gMonFootprint_Doduo, - gMonFootprint_Dodrio, - gMonFootprint_Seel, - gMonFootprint_Dewgong, - gMonFootprint_Grimer, - gMonFootprint_Muk, - gMonFootprint_Shellder, - gMonFootprint_Cloyster, - gMonFootprint_Gastly, - gMonFootprint_Haunter, - gMonFootprint_Gengar, - gMonFootprint_Onix, - gMonFootprint_Drowzee, - gMonFootprint_Hypno, - gMonFootprint_Krabby, - gMonFootprint_Kingler, - gMonFootprint_Voltorb, - gMonFootprint_Electrode, - gMonFootprint_Exeggcute, - gMonFootprint_Exeggutor, - gMonFootprint_Cubone, - gMonFootprint_Marowak, - gMonFootprint_Hitmonlee, - gMonFootprint_Hitmonchan, - gMonFootprint_Lickitung, - gMonFootprint_Koffing, - gMonFootprint_Weezing, - gMonFootprint_Rhyhorn, - gMonFootprint_Rhydon, - gMonFootprint_Chansey, - gMonFootprint_Tangela, - gMonFootprint_Kangaskhan, - gMonFootprint_Horsea, - gMonFootprint_Seadra, - gMonFootprint_Goldeen, - gMonFootprint_Seaking, - gMonFootprint_Staryu, - gMonFootprint_Starmie, - gMonFootprint_Mrmime, - gMonFootprint_Scyther, - gMonFootprint_Jynx, - gMonFootprint_Electabuzz, - gMonFootprint_Magmar, - gMonFootprint_Pinsir, - gMonFootprint_Tauros, - gMonFootprint_Magikarp, - gMonFootprint_Gyarados, - gMonFootprint_Lapras, - gMonFootprint_Ditto, - gMonFootprint_Eevee, - gMonFootprint_Vaporeon, - gMonFootprint_Jolteon, - gMonFootprint_Flareon, - gMonFootprint_Porygon, - gMonFootprint_Omanyte, - gMonFootprint_Omastar, - gMonFootprint_Kabuto, - gMonFootprint_Kabutops, - gMonFootprint_Aerodactyl, - gMonFootprint_Snorlax, - gMonFootprint_Articuno, - gMonFootprint_Zapdos, - gMonFootprint_Moltres, - gMonFootprint_Dratini, - gMonFootprint_Dragonair, - gMonFootprint_Dragonite, - gMonFootprint_Mewtwo, - gMonFootprint_Mew, - gMonFootprint_Chikorita, - gMonFootprint_Bayleef, - gMonFootprint_Meganium, - gMonFootprint_Cyndaquil, - gMonFootprint_Quilava, - gMonFootprint_Typhlosion, - gMonFootprint_Totodile, - gMonFootprint_Croconaw, - gMonFootprint_Feraligatr, - gMonFootprint_Sentret, - gMonFootprint_Furret, - gMonFootprint_Hoothoot, - gMonFootprint_Noctowl, - gMonFootprint_Ledyba, - gMonFootprint_Ledian, - gMonFootprint_Spinarak, - gMonFootprint_Ariados, - gMonFootprint_Crobat, - gMonFootprint_Chinchou, - gMonFootprint_Lanturn, - gMonFootprint_Pichu, - gMonFootprint_Cleffa, - gMonFootprint_Igglybuff, - gMonFootprint_Togepi, - gMonFootprint_Togetic, - gMonFootprint_Natu, - gMonFootprint_Xatu, - gMonFootprint_Mareep, - gMonFootprint_Flaaffy, - gMonFootprint_Ampharos, - gMonFootprint_Bellossom, - gMonFootprint_Marill, - gMonFootprint_Azumarill, - gMonFootprint_Sudowoodo, - gMonFootprint_Politoed, - gMonFootprint_Hoppip, - gMonFootprint_Skiploom, - gMonFootprint_Jumpluff, - gMonFootprint_Aipom, - gMonFootprint_Sunkern, - gMonFootprint_Sunflora, - gMonFootprint_Yanma, - gMonFootprint_Wooper, - gMonFootprint_Quagsire, - gMonFootprint_Espeon, - gMonFootprint_Umbreon, - gMonFootprint_Murkrow, - gMonFootprint_Slowking, - gMonFootprint_Misdreavus, - gMonFootprint_Unown, - gMonFootprint_Wobbuffet, - gMonFootprint_Girafarig, - gMonFootprint_Pineco, - gMonFootprint_Forretress, - gMonFootprint_Dunsparce, - gMonFootprint_Gligar, - gMonFootprint_Steelix, - gMonFootprint_Snubbull, - gMonFootprint_Granbull, - gMonFootprint_Qwilfish, - gMonFootprint_Scizor, - gMonFootprint_Shuckle, - gMonFootprint_Heracross, - gMonFootprint_Sneasel, - gMonFootprint_Teddiursa, - gMonFootprint_Ursaring, - gMonFootprint_Slugma, - gMonFootprint_Magcargo, - gMonFootprint_Swinub, - gMonFootprint_Piloswine, - gMonFootprint_Corsola, - gMonFootprint_Remoraid, - gMonFootprint_Octillery, - gMonFootprint_Delibird, - gMonFootprint_Mantine, - gMonFootprint_Skarmory, - gMonFootprint_Houndour, - gMonFootprint_Houndoom, - gMonFootprint_Kingdra, - gMonFootprint_Phanpy, - gMonFootprint_Donphan, - gMonFootprint_Porygon2, - gMonFootprint_Stantler, - gMonFootprint_Smeargle, - gMonFootprint_Tyrogue, - gMonFootprint_Hitmontop, - gMonFootprint_Smoochum, - gMonFootprint_Elekid, - gMonFootprint_Magby, - gMonFootprint_Miltank, - gMonFootprint_Blissey, - gMonFootprint_Raikou, - gMonFootprint_Entei, - gMonFootprint_Suicune, - gMonFootprint_Larvitar, - gMonFootprint_Pupitar, - gMonFootprint_Tyranitar, - gMonFootprint_Lugia, - gMonFootprint_HoOh, - gMonFootprint_Celebi, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_Treecko, - gMonFootprint_Grovyle, - gMonFootprint_Sceptile, - gMonFootprint_Torchic, - gMonFootprint_Combusken, - gMonFootprint_Blaziken, - gMonFootprint_Mudkip, - gMonFootprint_Marshtomp, - gMonFootprint_Swampert, - gMonFootprint_Poochyena, - gMonFootprint_Mightyena, - gMonFootprint_Zigzagoon, - gMonFootprint_Linoone, - gMonFootprint_Wurmple, - gMonFootprint_Silcoon, - gMonFootprint_Beautifly, - gMonFootprint_Cascoon, - gMonFootprint_Dustox, - gMonFootprint_Lotad, - gMonFootprint_Lombre, - gMonFootprint_Ludicolo, - gMonFootprint_Seedot, - gMonFootprint_Nuzleaf, - gMonFootprint_Shiftry, - gMonFootprint_Nincada, - gMonFootprint_Ninjask, - gMonFootprint_Shedinja, - gMonFootprint_Taillow, - gMonFootprint_Swellow, - gMonFootprint_Shroomish, - gMonFootprint_Breloom, - gMonFootprint_Spinda, - gMonFootprint_Wingull, - gMonFootprint_Pelipper, - gMonFootprint_Surskit, - gMonFootprint_Masquerain, - gMonFootprint_Wailmer, - gMonFootprint_Wailord, - gMonFootprint_Skitty, - gMonFootprint_Delcatty, - gMonFootprint_Kecleon, - gMonFootprint_Baltoy, - gMonFootprint_Claydol, - gMonFootprint_Nosepass, - gMonFootprint_Torkoal, - gMonFootprint_Sableye, - gMonFootprint_Barboach, - gMonFootprint_Whiscash, - gMonFootprint_Luvdisc, - gMonFootprint_Corphish, - gMonFootprint_Crawdaunt, - gMonFootprint_Feebas, - gMonFootprint_Milotic, - gMonFootprint_Carvanha, - gMonFootprint_Sharpedo, - gMonFootprint_Trapinch, - gMonFootprint_Vibrava, - gMonFootprint_Flygon, - gMonFootprint_Makuhita, - gMonFootprint_Hariyama, - gMonFootprint_Electrike, - gMonFootprint_Manectric, - gMonFootprint_Numel, - gMonFootprint_Camerupt, - gMonFootprint_Spheal, - gMonFootprint_Sealeo, - gMonFootprint_Walrein, - gMonFootprint_Cacnea, - gMonFootprint_Cacturne, - gMonFootprint_Snorunt, - gMonFootprint_Glalie, - gMonFootprint_Lunatone, - gMonFootprint_Solrock, - gMonFootprint_Azurill, - gMonFootprint_Spoink, - gMonFootprint_Grumpig, - gMonFootprint_Plusle, - gMonFootprint_Minun, - gMonFootprint_Mawile, - gMonFootprint_Meditite, - gMonFootprint_Medicham, - gMonFootprint_Swablu, - gMonFootprint_Altaria, - gMonFootprint_Wynaut, - gMonFootprint_Duskull, - gMonFootprint_Dusclops, - gMonFootprint_Roselia, - gMonFootprint_Slakoth, - gMonFootprint_Vigoroth, - gMonFootprint_Slaking, - gMonFootprint_Gulpin, - gMonFootprint_Swalot, - gMonFootprint_Tropius, - gMonFootprint_Whismur, - gMonFootprint_Loudred, - gMonFootprint_Exploud, - gMonFootprint_Clamperl, - gMonFootprint_Huntail, - gMonFootprint_Gorebyss, - gMonFootprint_Absol, - gMonFootprint_Shuppet, - gMonFootprint_Banette, - gMonFootprint_Seviper, - gMonFootprint_Zangoose, - gMonFootprint_Relicanth, - gMonFootprint_Aron, - gMonFootprint_Lairon, - gMonFootprint_Aggron, - gMonFootprint_Castform, - gMonFootprint_Volbeat, - gMonFootprint_Illumise, - gMonFootprint_Lileep, - gMonFootprint_Cradily, - gMonFootprint_Anorith, - gMonFootprint_Armaldo, - gMonFootprint_Ralts, - gMonFootprint_Kirlia, - gMonFootprint_Gardevoir, - gMonFootprint_Bagon, - gMonFootprint_Shelgon, - gMonFootprint_Salamence, - gMonFootprint_Beldum, - gMonFootprint_Metang, - gMonFootprint_Metagross, - gMonFootprint_Regirock, - gMonFootprint_Regice, - gMonFootprint_Registeel, - gMonFootprint_Kyogre, - gMonFootprint_Groudon, - gMonFootprint_Rayquaza, - gMonFootprint_Latias, - gMonFootprint_Latios, - gMonFootprint_Jirachi, - gMonFootprint_Deoxys, - gMonFootprint_Chimecho, - gMonFootprint_Bulbasaur, + [SPECIES_NONE] = gMonFootprint_Bulbasaur, + [SPECIES_BULBASAUR] = gMonFootprint_Bulbasaur, + [SPECIES_IVYSAUR] = gMonFootprint_Ivysaur, + [SPECIES_VENUSAUR] = gMonFootprint_Venusaur, + [SPECIES_CHARMANDER] = gMonFootprint_Charmander, + [SPECIES_CHARMELEON] = gMonFootprint_Charmeleon, + [SPECIES_CHARIZARD] = gMonFootprint_Charizard, + [SPECIES_SQUIRTLE] = gMonFootprint_Squirtle, + [SPECIES_WARTORTLE] = gMonFootprint_Wartortle, + [SPECIES_BLASTOISE] = gMonFootprint_Blastoise, + [SPECIES_CATERPIE] = gMonFootprint_Caterpie, + [SPECIES_METAPOD] = gMonFootprint_Metapod, + [SPECIES_BUTTERFREE] = gMonFootprint_Butterfree, + [SPECIES_WEEDLE] = gMonFootprint_Weedle, + [SPECIES_KAKUNA] = gMonFootprint_Kakuna, + [SPECIES_BEEDRILL] = gMonFootprint_Beedrill, + [SPECIES_PIDGEY] = gMonFootprint_Pidgey, + [SPECIES_PIDGEOTTO] = gMonFootprint_Pidgeotto, + [SPECIES_PIDGEOT] = gMonFootprint_Pidgeot, + [SPECIES_RATTATA] = gMonFootprint_Rattata, + [SPECIES_RATICATE] = gMonFootprint_Raticate, + [SPECIES_SPEAROW] = gMonFootprint_Spearow, + [SPECIES_FEAROW] = gMonFootprint_Fearow, + [SPECIES_EKANS] = gMonFootprint_Ekans, + [SPECIES_ARBOK] = gMonFootprint_Arbok, + [SPECIES_PIKACHU] = gMonFootprint_Pikachu, + [SPECIES_RAICHU] = gMonFootprint_Raichu, + [SPECIES_SANDSHREW] = gMonFootprint_Sandshrew, + [SPECIES_SANDSLASH] = gMonFootprint_Sandslash, + [SPECIES_NIDORAN_F] = gMonFootprint_NidoranF, + [SPECIES_NIDORINA] = gMonFootprint_Nidorina, + [SPECIES_NIDOQUEEN] = gMonFootprint_Nidoqueen, + [SPECIES_NIDORAN_M] = gMonFootprint_NidoranM, + [SPECIES_NIDORINO] = gMonFootprint_Nidorino, + [SPECIES_NIDOKING] = gMonFootprint_Nidoking, + [SPECIES_CLEFAIRY] = gMonFootprint_Clefairy, + [SPECIES_CLEFABLE] = gMonFootprint_Clefable, + [SPECIES_VULPIX] = gMonFootprint_Vulpix, + [SPECIES_NINETALES] = gMonFootprint_Ninetales, + [SPECIES_JIGGLYPUFF] = gMonFootprint_Jigglypuff, + [SPECIES_WIGGLYTUFF] = gMonFootprint_Wigglytuff, + [SPECIES_ZUBAT] = gMonFootprint_Zubat, + [SPECIES_GOLBAT] = gMonFootprint_Golbat, + [SPECIES_ODDISH] = gMonFootprint_Oddish, + [SPECIES_GLOOM] = gMonFootprint_Gloom, + [SPECIES_VILEPLUME] = gMonFootprint_Vileplume, + [SPECIES_PARAS] = gMonFootprint_Paras, + [SPECIES_PARASECT] = gMonFootprint_Parasect, + [SPECIES_VENONAT] = gMonFootprint_Venonat, + [SPECIES_VENOMOTH] = gMonFootprint_Venomoth, + [SPECIES_DIGLETT] = gMonFootprint_Diglett, + [SPECIES_DUGTRIO] = gMonFootprint_Dugtrio, + [SPECIES_MEOWTH] = gMonFootprint_Meowth, + [SPECIES_PERSIAN] = gMonFootprint_Persian, + [SPECIES_PSYDUCK] = gMonFootprint_Psyduck, + [SPECIES_GOLDUCK] = gMonFootprint_Golduck, + [SPECIES_MANKEY] = gMonFootprint_Mankey, + [SPECIES_PRIMEAPE] = gMonFootprint_Primeape, + [SPECIES_GROWLITHE] = gMonFootprint_Growlithe, + [SPECIES_ARCANINE] = gMonFootprint_Arcanine, + [SPECIES_POLIWAG] = gMonFootprint_Poliwag, + [SPECIES_POLIWHIRL] = gMonFootprint_Poliwhirl, + [SPECIES_POLIWRATH] = gMonFootprint_Poliwrath, + [SPECIES_ABRA] = gMonFootprint_Abra, + [SPECIES_KADABRA] = gMonFootprint_Kadabra, + [SPECIES_ALAKAZAM] = gMonFootprint_Alakazam, + [SPECIES_MACHOP] = gMonFootprint_Machop, + [SPECIES_MACHOKE] = gMonFootprint_Machoke, + [SPECIES_MACHAMP] = gMonFootprint_Machamp, + [SPECIES_BELLSPROUT] = gMonFootprint_Bellsprout, + [SPECIES_WEEPINBELL] = gMonFootprint_Weepinbell, + [SPECIES_VICTREEBEL] = gMonFootprint_Victreebel, + [SPECIES_TENTACOOL] = gMonFootprint_Tentacool, + [SPECIES_TENTACRUEL] = gMonFootprint_Tentacruel, + [SPECIES_GEODUDE] = gMonFootprint_Geodude, + [SPECIES_GRAVELER] = gMonFootprint_Graveler, + [SPECIES_GOLEM] = gMonFootprint_Golem, + [SPECIES_PONYTA] = gMonFootprint_Ponyta, + [SPECIES_RAPIDASH] = gMonFootprint_Rapidash, + [SPECIES_SLOWPOKE] = gMonFootprint_Slowpoke, + [SPECIES_SLOWBRO] = gMonFootprint_Slowbro, + [SPECIES_MAGNEMITE] = gMonFootprint_Magnemite, + [SPECIES_MAGNETON] = gMonFootprint_Magneton, + [SPECIES_FARFETCHD] = gMonFootprint_Farfetchd, + [SPECIES_DODUO] = gMonFootprint_Doduo, + [SPECIES_DODRIO] = gMonFootprint_Dodrio, + [SPECIES_SEEL] = gMonFootprint_Seel, + [SPECIES_DEWGONG] = gMonFootprint_Dewgong, + [SPECIES_GRIMER] = gMonFootprint_Grimer, + [SPECIES_MUK] = gMonFootprint_Muk, + [SPECIES_SHELLDER] = gMonFootprint_Shellder, + [SPECIES_CLOYSTER] = gMonFootprint_Cloyster, + [SPECIES_GASTLY] = gMonFootprint_Gastly, + [SPECIES_HAUNTER] = gMonFootprint_Haunter, + [SPECIES_GENGAR] = gMonFootprint_Gengar, + [SPECIES_ONIX] = gMonFootprint_Onix, + [SPECIES_DROWZEE] = gMonFootprint_Drowzee, + [SPECIES_HYPNO] = gMonFootprint_Hypno, + [SPECIES_KRABBY] = gMonFootprint_Krabby, + [SPECIES_KINGLER] = gMonFootprint_Kingler, + [SPECIES_VOLTORB] = gMonFootprint_Voltorb, + [SPECIES_ELECTRODE] = gMonFootprint_Electrode, + [SPECIES_EXEGGCUTE] = gMonFootprint_Exeggcute, + [SPECIES_EXEGGUTOR] = gMonFootprint_Exeggutor, + [SPECIES_CUBONE] = gMonFootprint_Cubone, + [SPECIES_MAROWAK] = gMonFootprint_Marowak, + [SPECIES_HITMONLEE] = gMonFootprint_Hitmonlee, + [SPECIES_HITMONCHAN] = gMonFootprint_Hitmonchan, + [SPECIES_LICKITUNG] = gMonFootprint_Lickitung, + [SPECIES_KOFFING] = gMonFootprint_Koffing, + [SPECIES_WEEZING] = gMonFootprint_Weezing, + [SPECIES_RHYHORN] = gMonFootprint_Rhyhorn, + [SPECIES_RHYDON] = gMonFootprint_Rhydon, + [SPECIES_CHANSEY] = gMonFootprint_Chansey, + [SPECIES_TANGELA] = gMonFootprint_Tangela, + [SPECIES_KANGASKHAN] = gMonFootprint_Kangaskhan, + [SPECIES_HORSEA] = gMonFootprint_Horsea, + [SPECIES_SEADRA] = gMonFootprint_Seadra, + [SPECIES_GOLDEEN] = gMonFootprint_Goldeen, + [SPECIES_SEAKING] = gMonFootprint_Seaking, + [SPECIES_STARYU] = gMonFootprint_Staryu, + [SPECIES_STARMIE] = gMonFootprint_Starmie, + [SPECIES_MR_MIME] = gMonFootprint_Mrmime, + [SPECIES_SCYTHER] = gMonFootprint_Scyther, + [SPECIES_JYNX] = gMonFootprint_Jynx, + [SPECIES_ELECTABUZZ] = gMonFootprint_Electabuzz, + [SPECIES_MAGMAR] = gMonFootprint_Magmar, + [SPECIES_PINSIR] = gMonFootprint_Pinsir, + [SPECIES_TAUROS] = gMonFootprint_Tauros, + [SPECIES_MAGIKARP] = gMonFootprint_Magikarp, + [SPECIES_GYARADOS] = gMonFootprint_Gyarados, + [SPECIES_LAPRAS] = gMonFootprint_Lapras, + [SPECIES_DITTO] = gMonFootprint_Ditto, + [SPECIES_EEVEE] = gMonFootprint_Eevee, + [SPECIES_VAPOREON] = gMonFootprint_Vaporeon, + [SPECIES_JOLTEON] = gMonFootprint_Jolteon, + [SPECIES_FLAREON] = gMonFootprint_Flareon, + [SPECIES_PORYGON] = gMonFootprint_Porygon, + [SPECIES_OMANYTE] = gMonFootprint_Omanyte, + [SPECIES_OMASTAR] = gMonFootprint_Omastar, + [SPECIES_KABUTO] = gMonFootprint_Kabuto, + [SPECIES_KABUTOPS] = gMonFootprint_Kabutops, + [SPECIES_AERODACTYL] = gMonFootprint_Aerodactyl, + [SPECIES_SNORLAX] = gMonFootprint_Snorlax, + [SPECIES_ARTICUNO] = gMonFootprint_Articuno, + [SPECIES_ZAPDOS] = gMonFootprint_Zapdos, + [SPECIES_MOLTRES] = gMonFootprint_Moltres, + [SPECIES_DRATINI] = gMonFootprint_Dratini, + [SPECIES_DRAGONAIR] = gMonFootprint_Dragonair, + [SPECIES_DRAGONITE] = gMonFootprint_Dragonite, + [SPECIES_MEWTWO] = gMonFootprint_Mewtwo, + [SPECIES_MEW] = gMonFootprint_Mew, + [SPECIES_CHIKORITA] = gMonFootprint_Chikorita, + [SPECIES_BAYLEEF] = gMonFootprint_Bayleef, + [SPECIES_MEGANIUM] = gMonFootprint_Meganium, + [SPECIES_CYNDAQUIL] = gMonFootprint_Cyndaquil, + [SPECIES_QUILAVA] = gMonFootprint_Quilava, + [SPECIES_TYPHLOSION] = gMonFootprint_Typhlosion, + [SPECIES_TOTODILE] = gMonFootprint_Totodile, + [SPECIES_CROCONAW] = gMonFootprint_Croconaw, + [SPECIES_FERALIGATR] = gMonFootprint_Feraligatr, + [SPECIES_SENTRET] = gMonFootprint_Sentret, + [SPECIES_FURRET] = gMonFootprint_Furret, + [SPECIES_HOOTHOOT] = gMonFootprint_Hoothoot, + [SPECIES_NOCTOWL] = gMonFootprint_Noctowl, + [SPECIES_LEDYBA] = gMonFootprint_Ledyba, + [SPECIES_LEDIAN] = gMonFootprint_Ledian, + [SPECIES_SPINARAK] = gMonFootprint_Spinarak, + [SPECIES_ARIADOS] = gMonFootprint_Ariados, + [SPECIES_CROBAT] = gMonFootprint_Crobat, + [SPECIES_CHINCHOU] = gMonFootprint_Chinchou, + [SPECIES_LANTURN] = gMonFootprint_Lanturn, + [SPECIES_PICHU] = gMonFootprint_Pichu, + [SPECIES_CLEFFA] = gMonFootprint_Cleffa, + [SPECIES_IGGLYBUFF] = gMonFootprint_Igglybuff, + [SPECIES_TOGEPI] = gMonFootprint_Togepi, + [SPECIES_TOGETIC] = gMonFootprint_Togetic, + [SPECIES_NATU] = gMonFootprint_Natu, + [SPECIES_XATU] = gMonFootprint_Xatu, + [SPECIES_MAREEP] = gMonFootprint_Mareep, + [SPECIES_FLAAFFY] = gMonFootprint_Flaaffy, + [SPECIES_AMPHAROS] = gMonFootprint_Ampharos, + [SPECIES_BELLOSSOM] = gMonFootprint_Bellossom, + [SPECIES_MARILL] = gMonFootprint_Marill, + [SPECIES_AZUMARILL] = gMonFootprint_Azumarill, + [SPECIES_SUDOWOODO] = gMonFootprint_Sudowoodo, + [SPECIES_POLITOED] = gMonFootprint_Politoed, + [SPECIES_HOPPIP] = gMonFootprint_Hoppip, + [SPECIES_SKIPLOOM] = gMonFootprint_Skiploom, + [SPECIES_JUMPLUFF] = gMonFootprint_Jumpluff, + [SPECIES_AIPOM] = gMonFootprint_Aipom, + [SPECIES_SUNKERN] = gMonFootprint_Sunkern, + [SPECIES_SUNFLORA] = gMonFootprint_Sunflora, + [SPECIES_YANMA] = gMonFootprint_Yanma, + [SPECIES_WOOPER] = gMonFootprint_Wooper, + [SPECIES_QUAGSIRE] = gMonFootprint_Quagsire, + [SPECIES_ESPEON] = gMonFootprint_Espeon, + [SPECIES_UMBREON] = gMonFootprint_Umbreon, + [SPECIES_MURKROW] = gMonFootprint_Murkrow, + [SPECIES_SLOWKING] = gMonFootprint_Slowking, + [SPECIES_MISDREAVUS] = gMonFootprint_Misdreavus, + [SPECIES_UNOWN] = gMonFootprint_Unown, + [SPECIES_WOBBUFFET] = gMonFootprint_Wobbuffet, + [SPECIES_GIRAFARIG] = gMonFootprint_Girafarig, + [SPECIES_PINECO] = gMonFootprint_Pineco, + [SPECIES_FORRETRESS] = gMonFootprint_Forretress, + [SPECIES_DUNSPARCE] = gMonFootprint_Dunsparce, + [SPECIES_GLIGAR] = gMonFootprint_Gligar, + [SPECIES_STEELIX] = gMonFootprint_Steelix, + [SPECIES_SNUBBULL] = gMonFootprint_Snubbull, + [SPECIES_GRANBULL] = gMonFootprint_Granbull, + [SPECIES_QWILFISH] = gMonFootprint_Qwilfish, + [SPECIES_SCIZOR] = gMonFootprint_Scizor, + [SPECIES_SHUCKLE] = gMonFootprint_Shuckle, + [SPECIES_HERACROSS] = gMonFootprint_Heracross, + [SPECIES_SNEASEL] = gMonFootprint_Sneasel, + [SPECIES_TEDDIURSA] = gMonFootprint_Teddiursa, + [SPECIES_URSARING] = gMonFootprint_Ursaring, + [SPECIES_SLUGMA] = gMonFootprint_Slugma, + [SPECIES_MAGCARGO] = gMonFootprint_Magcargo, + [SPECIES_SWINUB] = gMonFootprint_Swinub, + [SPECIES_PILOSWINE] = gMonFootprint_Piloswine, + [SPECIES_CORSOLA] = gMonFootprint_Corsola, + [SPECIES_REMORAID] = gMonFootprint_Remoraid, + [SPECIES_OCTILLERY] = gMonFootprint_Octillery, + [SPECIES_DELIBIRD] = gMonFootprint_Delibird, + [SPECIES_MANTINE] = gMonFootprint_Mantine, + [SPECIES_SKARMORY] = gMonFootprint_Skarmory, + [SPECIES_HOUNDOUR] = gMonFootprint_Houndour, + [SPECIES_HOUNDOOM] = gMonFootprint_Houndoom, + [SPECIES_KINGDRA] = gMonFootprint_Kingdra, + [SPECIES_PHANPY] = gMonFootprint_Phanpy, + [SPECIES_DONPHAN] = gMonFootprint_Donphan, + [SPECIES_PORYGON2] = gMonFootprint_Porygon2, + [SPECIES_STANTLER] = gMonFootprint_Stantler, + [SPECIES_SMEARGLE] = gMonFootprint_Smeargle, + [SPECIES_TYROGUE] = gMonFootprint_Tyrogue, + [SPECIES_HITMONTOP] = gMonFootprint_Hitmontop, + [SPECIES_SMOOCHUM] = gMonFootprint_Smoochum, + [SPECIES_ELEKID] = gMonFootprint_Elekid, + [SPECIES_MAGBY] = gMonFootprint_Magby, + [SPECIES_MILTANK] = gMonFootprint_Miltank, + [SPECIES_BLISSEY] = gMonFootprint_Blissey, + [SPECIES_RAIKOU] = gMonFootprint_Raikou, + [SPECIES_ENTEI] = gMonFootprint_Entei, + [SPECIES_SUICUNE] = gMonFootprint_Suicune, + [SPECIES_LARVITAR] = gMonFootprint_Larvitar, + [SPECIES_PUPITAR] = gMonFootprint_Pupitar, + [SPECIES_TYRANITAR] = gMonFootprint_Tyranitar, + [SPECIES_LUGIA] = gMonFootprint_Lugia, + [SPECIES_HO_OH] = gMonFootprint_HoOh, + [SPECIES_CELEBI] = gMonFootprint_Celebi, + [SPECIES_OLD_UNOWN_B] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_C] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_D] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_E] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_F] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_G] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_H] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_I] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_J] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_K] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_L] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_M] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_N] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_O] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_P] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_Q] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_R] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_S] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_T] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_U] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_V] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_W] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_X] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_Y] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_Z] = gMonFootprint_QuestionMark, + [SPECIES_TREECKO] = gMonFootprint_Treecko, + [SPECIES_GROVYLE] = gMonFootprint_Grovyle, + [SPECIES_SCEPTILE] = gMonFootprint_Sceptile, + [SPECIES_TORCHIC] = gMonFootprint_Torchic, + [SPECIES_COMBUSKEN] = gMonFootprint_Combusken, + [SPECIES_BLAZIKEN] = gMonFootprint_Blaziken, + [SPECIES_MUDKIP] = gMonFootprint_Mudkip, + [SPECIES_MARSHTOMP] = gMonFootprint_Marshtomp, + [SPECIES_SWAMPERT] = gMonFootprint_Swampert, + [SPECIES_POOCHYENA] = gMonFootprint_Poochyena, + [SPECIES_MIGHTYENA] = gMonFootprint_Mightyena, + [SPECIES_ZIGZAGOON] = gMonFootprint_Zigzagoon, + [SPECIES_LINOONE] = gMonFootprint_Linoone, + [SPECIES_WURMPLE] = gMonFootprint_Wurmple, + [SPECIES_SILCOON] = gMonFootprint_Silcoon, + [SPECIES_BEAUTIFLY] = gMonFootprint_Beautifly, + [SPECIES_CASCOON] = gMonFootprint_Cascoon, + [SPECIES_DUSTOX] = gMonFootprint_Dustox, + [SPECIES_LOTAD] = gMonFootprint_Lotad, + [SPECIES_LOMBRE] = gMonFootprint_Lombre, + [SPECIES_LUDICOLO] = gMonFootprint_Ludicolo, + [SPECIES_SEEDOT] = gMonFootprint_Seedot, + [SPECIES_NUZLEAF] = gMonFootprint_Nuzleaf, + [SPECIES_SHIFTRY] = gMonFootprint_Shiftry, + [SPECIES_NINCADA] = gMonFootprint_Nincada, + [SPECIES_NINJASK] = gMonFootprint_Ninjask, + [SPECIES_SHEDINJA] = gMonFootprint_Shedinja, + [SPECIES_TAILLOW] = gMonFootprint_Taillow, + [SPECIES_SWELLOW] = gMonFootprint_Swellow, + [SPECIES_SHROOMISH] = gMonFootprint_Shroomish, + [SPECIES_BRELOOM] = gMonFootprint_Breloom, + [SPECIES_SPINDA] = gMonFootprint_Spinda, + [SPECIES_WINGULL] = gMonFootprint_Wingull, + [SPECIES_PELIPPER] = gMonFootprint_Pelipper, + [SPECIES_SURSKIT] = gMonFootprint_Surskit, + [SPECIES_MASQUERAIN] = gMonFootprint_Masquerain, + [SPECIES_WAILMER] = gMonFootprint_Wailmer, + [SPECIES_WAILORD] = gMonFootprint_Wailord, + [SPECIES_SKITTY] = gMonFootprint_Skitty, + [SPECIES_DELCATTY] = gMonFootprint_Delcatty, + [SPECIES_KECLEON] = gMonFootprint_Kecleon, + [SPECIES_BALTOY] = gMonFootprint_Baltoy, + [SPECIES_CLAYDOL] = gMonFootprint_Claydol, + [SPECIES_NOSEPASS] = gMonFootprint_Nosepass, + [SPECIES_TORKOAL] = gMonFootprint_Torkoal, + [SPECIES_SABLEYE] = gMonFootprint_Sableye, + [SPECIES_BARBOACH] = gMonFootprint_Barboach, + [SPECIES_WHISCASH] = gMonFootprint_Whiscash, + [SPECIES_LUVDISC] = gMonFootprint_Luvdisc, + [SPECIES_CORPHISH] = gMonFootprint_Corphish, + [SPECIES_CRAWDAUNT] = gMonFootprint_Crawdaunt, + [SPECIES_FEEBAS] = gMonFootprint_Feebas, + [SPECIES_MILOTIC] = gMonFootprint_Milotic, + [SPECIES_CARVANHA] = gMonFootprint_Carvanha, + [SPECIES_SHARPEDO] = gMonFootprint_Sharpedo, + [SPECIES_TRAPINCH] = gMonFootprint_Trapinch, + [SPECIES_VIBRAVA] = gMonFootprint_Vibrava, + [SPECIES_FLYGON] = gMonFootprint_Flygon, + [SPECIES_MAKUHITA] = gMonFootprint_Makuhita, + [SPECIES_HARIYAMA] = gMonFootprint_Hariyama, + [SPECIES_ELECTRIKE] = gMonFootprint_Electrike, + [SPECIES_MANECTRIC] = gMonFootprint_Manectric, + [SPECIES_NUMEL] = gMonFootprint_Numel, + [SPECIES_CAMERUPT] = gMonFootprint_Camerupt, + [SPECIES_SPHEAL] = gMonFootprint_Spheal, + [SPECIES_SEALEO] = gMonFootprint_Sealeo, + [SPECIES_WALREIN] = gMonFootprint_Walrein, + [SPECIES_CACNEA] = gMonFootprint_Cacnea, + [SPECIES_CACTURNE] = gMonFootprint_Cacturne, + [SPECIES_SNORUNT] = gMonFootprint_Snorunt, + [SPECIES_GLALIE] = gMonFootprint_Glalie, + [SPECIES_LUNATONE] = gMonFootprint_Lunatone, + [SPECIES_SOLROCK] = gMonFootprint_Solrock, + [SPECIES_AZURILL] = gMonFootprint_Azurill, + [SPECIES_SPOINK] = gMonFootprint_Spoink, + [SPECIES_GRUMPIG] = gMonFootprint_Grumpig, + [SPECIES_PLUSLE] = gMonFootprint_Plusle, + [SPECIES_MINUN] = gMonFootprint_Minun, + [SPECIES_MAWILE] = gMonFootprint_Mawile, + [SPECIES_MEDITITE] = gMonFootprint_Meditite, + [SPECIES_MEDICHAM] = gMonFootprint_Medicham, + [SPECIES_SWABLU] = gMonFootprint_Swablu, + [SPECIES_ALTARIA] = gMonFootprint_Altaria, + [SPECIES_WYNAUT] = gMonFootprint_Wynaut, + [SPECIES_DUSKULL] = gMonFootprint_Duskull, + [SPECIES_DUSCLOPS] = gMonFootprint_Dusclops, + [SPECIES_ROSELIA] = gMonFootprint_Roselia, + [SPECIES_SLAKOTH] = gMonFootprint_Slakoth, + [SPECIES_VIGOROTH] = gMonFootprint_Vigoroth, + [SPECIES_SLAKING] = gMonFootprint_Slaking, + [SPECIES_GULPIN] = gMonFootprint_Gulpin, + [SPECIES_SWALOT] = gMonFootprint_Swalot, + [SPECIES_TROPIUS] = gMonFootprint_Tropius, + [SPECIES_WHISMUR] = gMonFootprint_Whismur, + [SPECIES_LOUDRED] = gMonFootprint_Loudred, + [SPECIES_EXPLOUD] = gMonFootprint_Exploud, + [SPECIES_CLAMPERL] = gMonFootprint_Clamperl, + [SPECIES_HUNTAIL] = gMonFootprint_Huntail, + [SPECIES_GOREBYSS] = gMonFootprint_Gorebyss, + [SPECIES_ABSOL] = gMonFootprint_Absol, + [SPECIES_SHUPPET] = gMonFootprint_Shuppet, + [SPECIES_BANETTE] = gMonFootprint_Banette, + [SPECIES_SEVIPER] = gMonFootprint_Seviper, + [SPECIES_ZANGOOSE] = gMonFootprint_Zangoose, + [SPECIES_RELICANTH] = gMonFootprint_Relicanth, + [SPECIES_ARON] = gMonFootprint_Aron, + [SPECIES_LAIRON] = gMonFootprint_Lairon, + [SPECIES_AGGRON] = gMonFootprint_Aggron, + [SPECIES_CASTFORM] = gMonFootprint_Castform, + [SPECIES_VOLBEAT] = gMonFootprint_Volbeat, + [SPECIES_ILLUMISE] = gMonFootprint_Illumise, + [SPECIES_LILEEP] = gMonFootprint_Lileep, + [SPECIES_CRADILY] = gMonFootprint_Cradily, + [SPECIES_ANORITH] = gMonFootprint_Anorith, + [SPECIES_ARMALDO] = gMonFootprint_Armaldo, + [SPECIES_RALTS] = gMonFootprint_Ralts, + [SPECIES_KIRLIA] = gMonFootprint_Kirlia, + [SPECIES_GARDEVOIR] = gMonFootprint_Gardevoir, + [SPECIES_BAGON] = gMonFootprint_Bagon, + [SPECIES_SHELGON] = gMonFootprint_Shelgon, + [SPECIES_SALAMENCE] = gMonFootprint_Salamence, + [SPECIES_BELDUM] = gMonFootprint_Beldum, + [SPECIES_METANG] = gMonFootprint_Metang, + [SPECIES_METAGROSS] = gMonFootprint_Metagross, + [SPECIES_REGIROCK] = gMonFootprint_Regirock, + [SPECIES_REGICE] = gMonFootprint_Regice, + [SPECIES_REGISTEEL] = gMonFootprint_Registeel, + [SPECIES_KYOGRE] = gMonFootprint_Kyogre, + [SPECIES_GROUDON] = gMonFootprint_Groudon, + [SPECIES_RAYQUAZA] = gMonFootprint_Rayquaza, + [SPECIES_LATIAS] = gMonFootprint_Latias, + [SPECIES_LATIOS] = gMonFootprint_Latios, + [SPECIES_JIRACHI] = gMonFootprint_Jirachi, + [SPECIES_DEOXYS] = gMonFootprint_Deoxys, + [SPECIES_CHIMECHO] = gMonFootprint_Chimecho, + [SPECIES_EGG] = gMonFootprint_Bulbasaur, }; diff --git a/src/data/pokemon_graphics/front_anims.h b/src/data/pokemon_graphics/front_pic_anims.h similarity index 56% rename from src/data/pokemon_graphics/front_anims.h rename to src/data/pokemon_graphics/front_pic_anims.h index 8a42eb5c93..4c97af1a7b 100644 --- a/src/data/pokemon_graphics/front_anims.h +++ b/src/data/pokemon_graphics/front_pic_anims.h @@ -1,5 +1,4 @@ - -const union AnimCmd gAnimCmd_NONE_1[] = +static const union AnimCmd sAnim_NONE_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -7,7 +6,7 @@ const union AnimCmd gAnimCmd_NONE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BULBASAUR_1[] = +static const union AnimCmd sAnim_BULBASAUR_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -15,7 +14,7 @@ const union AnimCmd gAnimCmd_BULBASAUR_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_IVYSAUR_1[] = +static const union AnimCmd sAnim_IVYSAUR_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 36), @@ -23,7 +22,7 @@ const union AnimCmd gAnimCmd_IVYSAUR_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_VENUSAUR_1[] = +static const union AnimCmd sAnim_VENUSAUR_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 25), @@ -31,7 +30,7 @@ const union AnimCmd gAnimCmd_VENUSAUR_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CHARMANDER_1[] = +static const union AnimCmd sAnim_CHARMANDER_1[] = { ANIMCMD_FRAME(0, 2), ANIMCMD_FRAME(1, 46), @@ -39,7 +38,7 @@ const union AnimCmd gAnimCmd_CHARMANDER_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CHARMELEON_1[] = +static const union AnimCmd sAnim_CHARMELEON_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 25), @@ -47,14 +46,14 @@ const union AnimCmd gAnimCmd_CHARMELEON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CHARIZARD_1[] = +static const union AnimCmd sAnim_CHARIZARD_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SQUIRTLE_1[] = +static const union AnimCmd sAnim_SQUIRTLE_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 50), @@ -62,7 +61,7 @@ const union AnimCmd gAnimCmd_SQUIRTLE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WARTORTLE_1[] = +static const union AnimCmd sAnim_WARTORTLE_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 20), @@ -70,7 +69,7 @@ const union AnimCmd gAnimCmd_WARTORTLE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BLASTOISE_1[] = +static const union AnimCmd sAnim_BLASTOISE_1[] = { ANIMCMD_FRAME(0, 50), ANIMCMD_FRAME(1, 25), @@ -80,7 +79,7 @@ const union AnimCmd gAnimCmd_BLASTOISE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CATERPIE_1[] = +static const union AnimCmd sAnim_CATERPIE_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -93,14 +92,14 @@ const union AnimCmd gAnimCmd_CATERPIE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_METAPOD_1[] = +static const union AnimCmd sAnim_METAPOD_1[] = { ANIMCMD_FRAME(1, 45), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BUTTERFREE_1[] = +static const union AnimCmd sAnim_BUTTERFREE_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -118,7 +117,7 @@ const union AnimCmd gAnimCmd_BUTTERFREE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WEEDLE_1[] = +static const union AnimCmd sAnim_WEEDLE_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 15), @@ -130,7 +129,7 @@ const union AnimCmd gAnimCmd_WEEDLE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KAKUNA_1[] = +static const union AnimCmd sAnim_KAKUNA_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -146,7 +145,7 @@ const union AnimCmd gAnimCmd_KAKUNA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BEEDRILL_1[] = +static const union AnimCmd sAnim_BEEDRILL_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 35), @@ -156,7 +155,7 @@ const union AnimCmd gAnimCmd_BEEDRILL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PIDGEY_1[] = +static const union AnimCmd sAnim_PIDGEY_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -173,7 +172,7 @@ const union AnimCmd gAnimCmd_PIDGEY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PIDGEOTTO_1[] = +static const union AnimCmd sAnim_PIDGEOTTO_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 10), @@ -183,7 +182,7 @@ const union AnimCmd gAnimCmd_PIDGEOTTO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PIDGEOT_1[] = +static const union AnimCmd sAnim_PIDGEOT_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 10), @@ -193,7 +192,7 @@ const union AnimCmd gAnimCmd_PIDGEOT_1[] = }; -const union AnimCmd gAnimCmd_RATTATA_1[] = +static const union AnimCmd sAnim_RATTATA_1[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_FRAME(1, 50), @@ -202,7 +201,7 @@ const union AnimCmd gAnimCmd_RATTATA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RATICATE_1[] = +static const union AnimCmd sAnim_RATICATE_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -219,7 +218,7 @@ const union AnimCmd gAnimCmd_RATICATE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SPEAROW_1[] = +static const union AnimCmd sAnim_SPEAROW_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -240,7 +239,7 @@ const union AnimCmd gAnimCmd_SPEAROW_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_FEAROW_1[] = +static const union AnimCmd sAnim_FEAROW_1[] = { ANIMCMD_FRAME(1, 7), ANIMCMD_FRAME(0, 7), @@ -253,7 +252,7 @@ const union AnimCmd gAnimCmd_FEAROW_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_EKANS_1[] = +static const union AnimCmd sAnim_EKANS_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -264,7 +263,7 @@ const union AnimCmd gAnimCmd_EKANS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ARBOK_1[] = +static const union AnimCmd sAnim_ARBOK_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 35), @@ -272,7 +271,7 @@ const union AnimCmd gAnimCmd_ARBOK_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PIKACHU_1[] = +static const union AnimCmd sAnim_PIKACHU_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -282,7 +281,7 @@ const union AnimCmd gAnimCmd_PIKACHU_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PIKACHU_2[] = +static const union AnimCmd sAnim_PIKACHU_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -291,7 +290,7 @@ const union AnimCmd gAnimCmd_PIKACHU_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RAICHU_1[] = +static const union AnimCmd sAnim_RAICHU_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -301,7 +300,7 @@ const union AnimCmd gAnimCmd_RAICHU_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RAICHU_2[] = +static const union AnimCmd sAnim_RAICHU_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -310,7 +309,7 @@ const union AnimCmd gAnimCmd_RAICHU_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SANDSHREW_1[] = +static const union AnimCmd sAnim_SANDSHREW_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -320,7 +319,7 @@ const union AnimCmd gAnimCmd_SANDSHREW_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SANDSHREW_2[] = +static const union AnimCmd sAnim_SANDSHREW_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -329,7 +328,7 @@ const union AnimCmd gAnimCmd_SANDSHREW_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SANDSLASH_1[] = +static const union AnimCmd sAnim_SANDSLASH_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -339,7 +338,7 @@ const union AnimCmd gAnimCmd_SANDSLASH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SANDSLASH_2[] = +static const union AnimCmd sAnim_SANDSLASH_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -348,7 +347,7 @@ const union AnimCmd gAnimCmd_SANDSLASH_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NIDORAN_F_1[] = +static const union AnimCmd sAnim_NIDORAN_F_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -362,21 +361,21 @@ const union AnimCmd gAnimCmd_NIDORAN_F_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NIDORINA_1[] = +static const union AnimCmd sAnim_NIDORINA_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NIDOQUEEN_1[] = +static const union AnimCmd sAnim_NIDOQUEEN_1[] = { ANIMCMD_FRAME(1, 45), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NIDORAN_M_1[] = +static const union AnimCmd sAnim_NIDORAN_M_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -384,7 +383,7 @@ const union AnimCmd gAnimCmd_NIDORAN_M_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NIDORINO_1[] = +static const union AnimCmd sAnim_NIDORINO_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -392,7 +391,7 @@ const union AnimCmd gAnimCmd_NIDORINO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NIDOKING_1[] = +static const union AnimCmd sAnim_NIDOKING_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 15), @@ -401,7 +400,7 @@ const union AnimCmd gAnimCmd_NIDOKING_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CLEFAIRY_1[] = +static const union AnimCmd sAnim_CLEFAIRY_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -409,7 +408,7 @@ const union AnimCmd gAnimCmd_CLEFAIRY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CLEFABLE_1[] = +static const union AnimCmd sAnim_CLEFABLE_1[] = { ANIMCMD_FRAME(1, 27), ANIMCMD_FRAME(0, 27), @@ -420,7 +419,7 @@ const union AnimCmd gAnimCmd_CLEFABLE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_VULPIX_1[] = +static const union AnimCmd sAnim_VULPIX_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -430,7 +429,7 @@ const union AnimCmd gAnimCmd_VULPIX_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_VULPIX_2[] = +static const union AnimCmd sAnim_VULPIX_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -439,7 +438,7 @@ const union AnimCmd gAnimCmd_VULPIX_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NINETALES_1[] = +static const union AnimCmd sAnim_NINETALES_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -449,7 +448,7 @@ const union AnimCmd gAnimCmd_NINETALES_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NINETALES_2[] = +static const union AnimCmd sAnim_NINETALES_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -458,7 +457,7 @@ const union AnimCmd gAnimCmd_NINETALES_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_JIGGLYPUFF_1[] = +static const union AnimCmd sAnim_JIGGLYPUFF_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -468,7 +467,7 @@ const union AnimCmd gAnimCmd_JIGGLYPUFF_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_JIGGLYPUFF_2[] = +static const union AnimCmd sAnim_JIGGLYPUFF_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -477,7 +476,7 @@ const union AnimCmd gAnimCmd_JIGGLYPUFF_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WIGGLYTUFF_1[] = +static const union AnimCmd sAnim_WIGGLYTUFF_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -487,7 +486,7 @@ const union AnimCmd gAnimCmd_WIGGLYTUFF_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WIGGLYTUFF_2[] = +static const union AnimCmd sAnim_WIGGLYTUFF_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -496,7 +495,7 @@ const union AnimCmd gAnimCmd_WIGGLYTUFF_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ZUBAT_1[] = +static const union AnimCmd sAnim_ZUBAT_1[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_FRAME(1, 3), @@ -514,7 +513,7 @@ const union AnimCmd gAnimCmd_ZUBAT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GOLBAT_1[] = +static const union AnimCmd sAnim_GOLBAT_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -538,7 +537,7 @@ const union AnimCmd gAnimCmd_GOLBAT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ODDISH_1[] = +static const union AnimCmd sAnim_ODDISH_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 11), @@ -550,7 +549,7 @@ const union AnimCmd gAnimCmd_ODDISH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GLOOM_1[] = +static const union AnimCmd sAnim_GLOOM_1[] = { ANIMCMD_FRAME(0, 21), ANIMCMD_FRAME(1, 45), @@ -559,7 +558,7 @@ const union AnimCmd gAnimCmd_GLOOM_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_VILEPLUME_1[] = +static const union AnimCmd sAnim_VILEPLUME_1[] = { ANIMCMD_FRAME(0, 7), ANIMCMD_FRAME(1, 21), @@ -569,7 +568,7 @@ const union AnimCmd gAnimCmd_VILEPLUME_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PARAS_1[] = +static const union AnimCmd sAnim_PARAS_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -590,7 +589,7 @@ const union AnimCmd gAnimCmd_PARAS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PARASECT_1[] = +static const union AnimCmd sAnim_PARASECT_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -601,7 +600,7 @@ const union AnimCmd gAnimCmd_PARASECT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_VENONAT_1[] = +static const union AnimCmd sAnim_VENONAT_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -612,7 +611,7 @@ const union AnimCmd gAnimCmd_VENONAT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_VENOMOTH_1[] = +static const union AnimCmd sAnim_VENOMOTH_1[] = { ANIMCMD_FRAME(1, 4), ANIMCMD_FRAME(0, 4), @@ -639,7 +638,7 @@ const union AnimCmd gAnimCmd_VENOMOTH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DIGLETT_1[] = +static const union AnimCmd sAnim_DIGLETT_1[] = { ANIMCMD_FRAME(0, 25), ANIMCMD_FRAME(1, 35), @@ -647,7 +646,7 @@ const union AnimCmd gAnimCmd_DIGLETT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DUGTRIO_1[] = +static const union AnimCmd sAnim_DUGTRIO_1[] = { ANIMCMD_FRAME(1, 35), ANIMCMD_FRAME(0, 10), @@ -662,7 +661,7 @@ const union AnimCmd gAnimCmd_DUGTRIO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MEOWTH_1[] = +static const union AnimCmd sAnim_MEOWTH_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -673,14 +672,14 @@ const union AnimCmd gAnimCmd_MEOWTH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PERSIAN_1[] = +static const union AnimCmd sAnim_PERSIAN_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PSYDUCK_1[] = +static const union AnimCmd sAnim_PSYDUCK_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -690,7 +689,7 @@ const union AnimCmd gAnimCmd_PSYDUCK_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PSYDUCK_2[] = +static const union AnimCmd sAnim_PSYDUCK_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -699,7 +698,7 @@ const union AnimCmd gAnimCmd_PSYDUCK_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GOLDUCK_1[] = +static const union AnimCmd sAnim_GOLDUCK_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -709,7 +708,7 @@ const union AnimCmd gAnimCmd_GOLDUCK_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GOLDUCK_2[] = +static const union AnimCmd sAnim_GOLDUCK_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -718,7 +717,7 @@ const union AnimCmd gAnimCmd_GOLDUCK_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MANKEY_1[] = +static const union AnimCmd sAnim_MANKEY_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -729,7 +728,7 @@ const union AnimCmd gAnimCmd_MANKEY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PRIMEAPE_1[] = +static const union AnimCmd sAnim_PRIMEAPE_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -740,7 +739,7 @@ const union AnimCmd gAnimCmd_PRIMEAPE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GROWLITHE_1[] = +static const union AnimCmd sAnim_GROWLITHE_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -751,7 +750,7 @@ const union AnimCmd gAnimCmd_GROWLITHE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ARCANINE_1[] = +static const union AnimCmd sAnim_ARCANINE_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -761,7 +760,7 @@ const union AnimCmd gAnimCmd_ARCANINE_1[] = ANIMCMD_FRAME(0, 10), ANIMCMD_END,}; -const union AnimCmd gAnimCmd_POLIWAG_1[] = +static const union AnimCmd sAnim_POLIWAG_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 10), @@ -769,7 +768,7 @@ const union AnimCmd gAnimCmd_POLIWAG_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_POLIWHIRL_1[] = +static const union AnimCmd sAnim_POLIWHIRL_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 25), @@ -779,14 +778,14 @@ const union AnimCmd gAnimCmd_POLIWHIRL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_POLIWRATH_1[] = +static const union AnimCmd sAnim_POLIWRATH_1[] = { ANIMCMD_FRAME(1, 45), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ABRA_1[] = +static const union AnimCmd sAnim_ABRA_1[] = { ANIMCMD_FRAME(0, 7), ANIMCMD_FRAME(1, 21), @@ -796,7 +795,7 @@ const union AnimCmd gAnimCmd_ABRA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KADABRA_1[] = +static const union AnimCmd sAnim_KADABRA_1[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(1, 45), @@ -804,7 +803,7 @@ const union AnimCmd gAnimCmd_KADABRA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ALAKAZAM_1[] = +static const union AnimCmd sAnim_ALAKAZAM_1[] = { ANIMCMD_FRAME(0, 9), ANIMCMD_FRAME(1, 54), @@ -812,7 +811,7 @@ const union AnimCmd gAnimCmd_ALAKAZAM_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MACHOP_1[] = +static const union AnimCmd sAnim_MACHOP_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -824,7 +823,7 @@ const union AnimCmd gAnimCmd_MACHOP_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MACHOKE_1[] = +static const union AnimCmd sAnim_MACHOKE_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 44), @@ -832,7 +831,7 @@ const union AnimCmd gAnimCmd_MACHOKE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MACHAMP_1[] = +static const union AnimCmd sAnim_MACHAMP_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 11), @@ -844,7 +843,7 @@ const union AnimCmd gAnimCmd_MACHAMP_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BELLSPROUT_1[] = +static const union AnimCmd sAnim_BELLSPROUT_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 25), @@ -852,7 +851,7 @@ const union AnimCmd gAnimCmd_BELLSPROUT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WEEPINBELL_1[] = +static const union AnimCmd sAnim_WEEPINBELL_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 25), @@ -864,7 +863,7 @@ const union AnimCmd gAnimCmd_WEEPINBELL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_VICTREEBEL_1[] = +static const union AnimCmd sAnim_VICTREEBEL_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -876,7 +875,7 @@ const union AnimCmd gAnimCmd_VICTREEBEL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TENTACOOL_1[] = +static const union AnimCmd sAnim_TENTACOOL_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 15), @@ -886,7 +885,7 @@ const union AnimCmd gAnimCmd_TENTACOOL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TENTACRUEL_1[] = +static const union AnimCmd sAnim_TENTACRUEL_1[] = { ANIMCMD_FRAME(0, 19), ANIMCMD_FRAME(1, 35), @@ -896,7 +895,7 @@ const union AnimCmd gAnimCmd_TENTACRUEL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GEODUDE_1[] = +static const union AnimCmd sAnim_GEODUDE_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 36), @@ -904,7 +903,7 @@ const union AnimCmd gAnimCmd_GEODUDE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GRAVELER_1[] = +static const union AnimCmd sAnim_GRAVELER_1[] = { ANIMCMD_FRAME(0, 16), ANIMCMD_FRAME(1, 16), @@ -914,7 +913,7 @@ const union AnimCmd gAnimCmd_GRAVELER_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GOLEM_1[] = +static const union AnimCmd sAnim_GOLEM_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 31), @@ -924,14 +923,14 @@ const union AnimCmd gAnimCmd_GOLEM_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PONYTA_1[] = +static const union AnimCmd sAnim_PONYTA_1[] = { ANIMCMD_FRAME(1, 45), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RAPIDASH_1[] = +static const union AnimCmd sAnim_RAPIDASH_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 40), @@ -939,7 +938,7 @@ const union AnimCmd gAnimCmd_RAPIDASH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SLOWPOKE_1[] = +static const union AnimCmd sAnim_SLOWPOKE_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 50), @@ -947,7 +946,7 @@ const union AnimCmd gAnimCmd_SLOWPOKE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SLOWBRO_1[] = +static const union AnimCmd sAnim_SLOWBRO_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 45), @@ -955,7 +954,7 @@ const union AnimCmd gAnimCmd_SLOWBRO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MAGNEMITE_1[] = +static const union AnimCmd sAnim_MAGNEMITE_1[] = { ANIMCMD_FRAME(0, 28), ANIMCMD_FRAME(1, 28), @@ -965,7 +964,7 @@ const union AnimCmd gAnimCmd_MAGNEMITE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MAGNETON_1[] = +static const union AnimCmd sAnim_MAGNETON_1[] = { ANIMCMD_FRAME(0, 14), ANIMCMD_FRAME(1, 14), @@ -977,7 +976,7 @@ const union AnimCmd gAnimCmd_MAGNETON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_FARFETCHD_1[] = +static const union AnimCmd sAnim_FARFETCHD_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -994,7 +993,7 @@ const union AnimCmd gAnimCmd_FARFETCHD_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DODUO_1[] = +static const union AnimCmd sAnim_DODUO_1[] = { ANIMCMD_FRAME(0, 18), ANIMCMD_FRAME(1, 18), @@ -1004,7 +1003,7 @@ const union AnimCmd gAnimCmd_DODUO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DODRIO_1[] = +static const union AnimCmd sAnim_DODRIO_1[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(1, 12), @@ -1018,7 +1017,7 @@ const union AnimCmd gAnimCmd_DODRIO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SEEL_1[] = +static const union AnimCmd sAnim_SEEL_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -1031,7 +1030,7 @@ const union AnimCmd gAnimCmd_SEEL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DEWGONG_1[] = +static const union AnimCmd sAnim_DEWGONG_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -1039,7 +1038,7 @@ const union AnimCmd gAnimCmd_DEWGONG_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GRIMER_1[] = +static const union AnimCmd sAnim_GRIMER_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -1049,7 +1048,7 @@ const union AnimCmd gAnimCmd_GRIMER_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GRIMER_2[] = +static const union AnimCmd sAnim_GRIMER_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1058,7 +1057,7 @@ const union AnimCmd gAnimCmd_GRIMER_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MUK_1[] = +static const union AnimCmd sAnim_MUK_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -1068,7 +1067,7 @@ const union AnimCmd gAnimCmd_MUK_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MUK_2[] = +static const union AnimCmd sAnim_MUK_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1077,7 +1076,7 @@ const union AnimCmd gAnimCmd_MUK_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SHELLDER_1[] = +static const union AnimCmd sAnim_SHELLDER_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -1086,7 +1085,7 @@ const union AnimCmd gAnimCmd_SHELLDER_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CLOYSTER_1[] = +static const union AnimCmd sAnim_CLOYSTER_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -1107,7 +1106,7 @@ const union AnimCmd gAnimCmd_CLOYSTER_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GASTLY_1[] = +static const union AnimCmd sAnim_GASTLY_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 30), @@ -1115,7 +1114,7 @@ const union AnimCmd gAnimCmd_GASTLY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HAUNTER_1[] = +static const union AnimCmd sAnim_HAUNTER_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 15), @@ -1125,7 +1124,7 @@ const union AnimCmd gAnimCmd_HAUNTER_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GENGAR_1[] = +static const union AnimCmd sAnim_GENGAR_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 40), @@ -1133,7 +1132,7 @@ const union AnimCmd gAnimCmd_GENGAR_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ONIX_1[] = +static const union AnimCmd sAnim_ONIX_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 30), @@ -1141,7 +1140,7 @@ const union AnimCmd gAnimCmd_ONIX_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DROWZEE_1[] = +static const union AnimCmd sAnim_DROWZEE_1[] = { ANIMCMD_FRAME(1, 12), ANIMCMD_FRAME(0, 12), @@ -1152,7 +1151,7 @@ const union AnimCmd gAnimCmd_DROWZEE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HYPNO_1[] = +static const union AnimCmd sAnim_HYPNO_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -1164,7 +1163,7 @@ const union AnimCmd gAnimCmd_HYPNO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KRABBY_1[] = +static const union AnimCmd sAnim_KRABBY_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -1175,7 +1174,7 @@ const union AnimCmd gAnimCmd_KRABBY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KINGLER_1[] = +static const union AnimCmd sAnim_KINGLER_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 15), @@ -1189,7 +1188,7 @@ const union AnimCmd gAnimCmd_KINGLER_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_VOLTORB_1[] = +static const union AnimCmd sAnim_VOLTORB_1[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(1, 25), @@ -1199,7 +1198,7 @@ const union AnimCmd gAnimCmd_VOLTORB_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ELECTRODE_1[] = +static const union AnimCmd sAnim_ELECTRODE_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 30), @@ -1209,7 +1208,7 @@ const union AnimCmd gAnimCmd_ELECTRODE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_EXEGGCUTE_1[] = +static const union AnimCmd sAnim_EXEGGCUTE_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -1223,14 +1222,14 @@ const union AnimCmd gAnimCmd_EXEGGCUTE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_EXEGGUTOR_1[] = +static const union AnimCmd sAnim_EXEGGUTOR_1[] = { ANIMCMD_FRAME(1, 35), ANIMCMD_FRAME(0, 10), ANIMCMD_END,}; -const union AnimCmd gAnimCmd_CUBONE_1[] = +static const union AnimCmd sAnim_CUBONE_1[] = { ANIMCMD_FRAME(1, 14), ANIMCMD_FRAME(0, 14), @@ -1241,7 +1240,7 @@ const union AnimCmd gAnimCmd_CUBONE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MAROWAK_1[] = +static const union AnimCmd sAnim_MAROWAK_1[] = { ANIMCMD_FRAME(1, 14), ANIMCMD_FRAME(0, 14), @@ -1252,14 +1251,14 @@ const union AnimCmd gAnimCmd_MAROWAK_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HITMONLEE_1[] = +static const union AnimCmd sAnim_HITMONLEE_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HITMONCHAN_1[] = +static const union AnimCmd sAnim_HITMONCHAN_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -1272,7 +1271,7 @@ const union AnimCmd gAnimCmd_HITMONCHAN_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LICKITUNG_1[] = +static const union AnimCmd sAnim_LICKITUNG_1[] = { ANIMCMD_FRAME(0, 28), ANIMCMD_FRAME(1, 32), @@ -1280,7 +1279,7 @@ const union AnimCmd gAnimCmd_LICKITUNG_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KOFFING_1[] = +static const union AnimCmd sAnim_KOFFING_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -1290,7 +1289,7 @@ const union AnimCmd gAnimCmd_KOFFING_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KOFFING_2[] = +static const union AnimCmd sAnim_KOFFING_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1299,7 +1298,7 @@ const union AnimCmd gAnimCmd_KOFFING_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WEEZING_1[] = +static const union AnimCmd sAnim_WEEZING_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -1309,7 +1308,7 @@ const union AnimCmd gAnimCmd_WEEZING_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WEEZING_2[] = +static const union AnimCmd sAnim_WEEZING_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1318,7 +1317,7 @@ const union AnimCmd gAnimCmd_WEEZING_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RHYHORN_1[] = +static const union AnimCmd sAnim_RHYHORN_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -1328,7 +1327,7 @@ const union AnimCmd gAnimCmd_RHYHORN_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RHYHORN_2[] = +static const union AnimCmd sAnim_RHYHORN_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1337,7 +1336,7 @@ const union AnimCmd gAnimCmd_RHYHORN_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RHYDON_1[] = +static const union AnimCmd sAnim_RHYDON_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -1347,7 +1346,7 @@ const union AnimCmd gAnimCmd_RHYDON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RHYDON_2[] = +static const union AnimCmd sAnim_RHYDON_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1356,7 +1355,7 @@ const union AnimCmd gAnimCmd_RHYDON_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CHANSEY_1[] = +static const union AnimCmd sAnim_CHANSEY_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -1364,7 +1363,7 @@ const union AnimCmd gAnimCmd_CHANSEY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TANGELA_1[] = +static const union AnimCmd sAnim_TANGELA_1[] = { ANIMCMD_FRAME(1, 9), ANIMCMD_FRAME(0, 9), @@ -1379,7 +1378,7 @@ const union AnimCmd gAnimCmd_TANGELA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KANGASKHAN_1[] = +static const union AnimCmd sAnim_KANGASKHAN_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1388,7 +1387,7 @@ const union AnimCmd gAnimCmd_KANGASKHAN_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HORSEA_1[] = +static const union AnimCmd sAnim_HORSEA_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -1398,7 +1397,7 @@ const union AnimCmd gAnimCmd_HORSEA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HORSEA_2[] = +static const union AnimCmd sAnim_HORSEA_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1407,7 +1406,7 @@ const union AnimCmd gAnimCmd_HORSEA_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SEADRA_1[] = +static const union AnimCmd sAnim_SEADRA_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -1417,7 +1416,7 @@ const union AnimCmd gAnimCmd_SEADRA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SEADRA_2[] = +static const union AnimCmd sAnim_SEADRA_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1426,7 +1425,7 @@ const union AnimCmd gAnimCmd_SEADRA_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GOLDEEN_1[] = +static const union AnimCmd sAnim_GOLDEEN_1[] = { ANIMCMD_FRAME(0, 16), ANIMCMD_FRAME(1, 16), @@ -1440,7 +1439,7 @@ const union AnimCmd gAnimCmd_GOLDEEN_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SEAKING_1[] = +static const union AnimCmd sAnim_SEAKING_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 20), @@ -1450,7 +1449,7 @@ const union AnimCmd gAnimCmd_SEAKING_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_STARYU_1[] = +static const union AnimCmd sAnim_STARYU_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -1460,7 +1459,7 @@ const union AnimCmd gAnimCmd_STARYU_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_STARYU_2[] = +static const union AnimCmd sAnim_STARYU_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1469,7 +1468,7 @@ const union AnimCmd gAnimCmd_STARYU_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_STARMIE_1[] = +static const union AnimCmd sAnim_STARMIE_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -1479,7 +1478,7 @@ const union AnimCmd gAnimCmd_STARMIE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_STARMIE_2[] = +static const union AnimCmd sAnim_STARMIE_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1488,7 +1487,7 @@ const union AnimCmd gAnimCmd_STARMIE_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MR_MIME_1[] = +static const union AnimCmd sAnim_MR_MIME_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -1499,7 +1498,7 @@ const union AnimCmd gAnimCmd_MR_MIME_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SCYTHER_1[] = +static const union AnimCmd sAnim_SCYTHER_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -1512,7 +1511,7 @@ const union AnimCmd gAnimCmd_SCYTHER_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_JYNX_1[] = +static const union AnimCmd sAnim_JYNX_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 10), @@ -1522,7 +1521,7 @@ const union AnimCmd gAnimCmd_JYNX_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ELECTABUZZ_1[] = +static const union AnimCmd sAnim_ELECTABUZZ_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1531,14 +1530,14 @@ const union AnimCmd gAnimCmd_ELECTABUZZ_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MAGMAR_1[] = +static const union AnimCmd sAnim_MAGMAR_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PINSIR_1[] = +static const union AnimCmd sAnim_PINSIR_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -1548,7 +1547,7 @@ const union AnimCmd gAnimCmd_PINSIR_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PINSIR_2[] = +static const union AnimCmd sAnim_PINSIR_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1557,7 +1556,7 @@ const union AnimCmd gAnimCmd_PINSIR_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TAUROS_1[] = +static const union AnimCmd sAnim_TAUROS_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 20), @@ -1566,7 +1565,7 @@ const union AnimCmd gAnimCmd_TAUROS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MAGIKARP_1[] = +static const union AnimCmd sAnim_MAGIKARP_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 8), @@ -1580,7 +1579,7 @@ const union AnimCmd gAnimCmd_MAGIKARP_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GYARADOS_1[] = +static const union AnimCmd sAnim_GYARADOS_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 32), @@ -1588,14 +1587,14 @@ const union AnimCmd gAnimCmd_GYARADOS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LAPRAS_1[] = +static const union AnimCmd sAnim_LAPRAS_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DITTO_1[] = +static const union AnimCmd sAnim_DITTO_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1604,35 +1603,35 @@ const union AnimCmd gAnimCmd_DITTO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_EEVEE_1[] = +static const union AnimCmd sAnim_EEVEE_1[] = { ANIMCMD_FRAME(1, 33), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_VAPOREON_1[] = +static const union AnimCmd sAnim_VAPOREON_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_JOLTEON_1[] = +static const union AnimCmd sAnim_JOLTEON_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_FLAREON_1[] = +static const union AnimCmd sAnim_FLAREON_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 30), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PORYGON_1[] = +static const union AnimCmd sAnim_PORYGON_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1641,7 +1640,7 @@ const union AnimCmd gAnimCmd_PORYGON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_OMANYTE_1[] = +static const union AnimCmd sAnim_OMANYTE_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1654,7 +1653,7 @@ const union AnimCmd gAnimCmd_OMANYTE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_OMASTAR_1[] = +static const union AnimCmd sAnim_OMASTAR_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1663,7 +1662,7 @@ const union AnimCmd gAnimCmd_OMASTAR_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KABUTO_1[] = +static const union AnimCmd sAnim_KABUTO_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -1676,7 +1675,7 @@ const union AnimCmd gAnimCmd_KABUTO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KABUTOPS_1[] = +static const union AnimCmd sAnim_KABUTOPS_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1685,7 +1684,7 @@ const union AnimCmd gAnimCmd_KABUTOPS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_AERODACTYL_1[] = +static const union AnimCmd sAnim_AERODACTYL_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 25), @@ -1694,7 +1693,7 @@ const union AnimCmd gAnimCmd_AERODACTYL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SNORLAX_1[] = +static const union AnimCmd sAnim_SNORLAX_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 50), @@ -1702,7 +1701,7 @@ const union AnimCmd gAnimCmd_SNORLAX_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ARTICUNO_1[] = +static const union AnimCmd sAnim_ARTICUNO_1[] = { ANIMCMD_FRAME(1, 25), ANIMCMD_FRAME(0, 15), @@ -1711,7 +1710,7 @@ const union AnimCmd gAnimCmd_ARTICUNO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ZAPDOS_1[] = +static const union AnimCmd sAnim_ZAPDOS_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1720,7 +1719,7 @@ const union AnimCmd gAnimCmd_ZAPDOS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MOLTRES_1[] = +static const union AnimCmd sAnim_MOLTRES_1[] = { ANIMCMD_FRAME(1, 3), ANIMCMD_FRAME(0, 3), @@ -1757,7 +1756,7 @@ const union AnimCmd gAnimCmd_MOLTRES_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DRATINI_1[] = +static const union AnimCmd sAnim_DRATINI_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -1765,7 +1764,7 @@ const union AnimCmd gAnimCmd_DRATINI_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DRAGONAIR_1[] = +static const union AnimCmd sAnim_DRAGONAIR_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1774,7 +1773,7 @@ const union AnimCmd gAnimCmd_DRAGONAIR_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DRAGONITE_1[] = +static const union AnimCmd sAnim_DRAGONITE_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 30), @@ -1782,14 +1781,14 @@ const union AnimCmd gAnimCmd_DRAGONITE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MEWTWO_1[] = +static const union AnimCmd sAnim_MEWTWO_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MEW_1[] = +static const union AnimCmd sAnim_MEW_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 40), @@ -1797,7 +1796,7 @@ const union AnimCmd gAnimCmd_MEW_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CHIKORITA_1[] = +static const union AnimCmd sAnim_CHIKORITA_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -1805,21 +1804,21 @@ const union AnimCmd gAnimCmd_CHIKORITA_1[] = ANIMCMD_END,}; -const union AnimCmd gAnimCmd_BAYLEEF_1[] = +static const union AnimCmd sAnim_BAYLEEF_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MEGANIUM_1[] = +static const union AnimCmd sAnim_MEGANIUM_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CYNDAQUIL_1[] = +static const union AnimCmd sAnim_CYNDAQUIL_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1828,21 +1827,21 @@ const union AnimCmd gAnimCmd_CYNDAQUIL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_QUILAVA_1[] = +static const union AnimCmd sAnim_QUILAVA_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TYPHLOSION_1[] = +static const union AnimCmd sAnim_TYPHLOSION_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TOTODILE_1[] = +static const union AnimCmd sAnim_TOTODILE_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -1853,14 +1852,14 @@ const union AnimCmd gAnimCmd_TOTODILE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CROCONAW_1[] = +static const union AnimCmd sAnim_CROCONAW_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_FERALIGATR_1[] = +static const union AnimCmd sAnim_FERALIGATR_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1869,7 +1868,7 @@ const union AnimCmd gAnimCmd_FERALIGATR_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SENTRET_1[] = +static const union AnimCmd sAnim_SENTRET_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -1878,14 +1877,14 @@ const union AnimCmd gAnimCmd_SENTRET_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_FURRET_1[] = +static const union AnimCmd sAnim_FURRET_1[] = { ANIMCMD_FRAME(1, 35), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HOOTHOOT_1[] = +static const union AnimCmd sAnim_HOOTHOOT_1[] = { ANIMCMD_FRAME(1, 7), ANIMCMD_FRAME(0, 7), @@ -1902,14 +1901,14 @@ const union AnimCmd gAnimCmd_HOOTHOOT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NOCTOWL_1[] = +static const union AnimCmd sAnim_NOCTOWL_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LEDYBA_1[] = +static const union AnimCmd sAnim_LEDYBA_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1918,7 +1917,7 @@ const union AnimCmd gAnimCmd_LEDYBA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LEDIAN_1[] = +static const union AnimCmd sAnim_LEDIAN_1[] = { ANIMCMD_FRAME(1, 3), ANIMCMD_FRAME(0, 3), @@ -1949,7 +1948,7 @@ const union AnimCmd gAnimCmd_LEDIAN_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SPINARAK_1[] = +static const union AnimCmd sAnim_SPINARAK_1[] = { ANIMCMD_FRAME(1, 6), ANIMCMD_FRAME(0, 6), @@ -1962,7 +1961,7 @@ const union AnimCmd gAnimCmd_SPINARAK_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ARIADOS_1[] = +static const union AnimCmd sAnim_ARIADOS_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1971,7 +1970,7 @@ const union AnimCmd gAnimCmd_ARIADOS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CROBAT_1[] = +static const union AnimCmd sAnim_CROBAT_1[] = { ANIMCMD_FRAME(0, 2), ANIMCMD_FRAME(1, 2), @@ -1993,7 +1992,7 @@ const union AnimCmd gAnimCmd_CROBAT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CHINCHOU_1[] = +static const union AnimCmd sAnim_CHINCHOU_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -2003,7 +2002,7 @@ const union AnimCmd gAnimCmd_CHINCHOU_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CHINCHOU_2[] = +static const union AnimCmd sAnim_CHINCHOU_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2012,7 +2011,7 @@ const union AnimCmd gAnimCmd_CHINCHOU_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LANTURN_1[] = +static const union AnimCmd sAnim_LANTURN_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -2022,7 +2021,7 @@ const union AnimCmd gAnimCmd_LANTURN_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LANTURN_2[] = +static const union AnimCmd sAnim_LANTURN_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2031,7 +2030,7 @@ const union AnimCmd gAnimCmd_LANTURN_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PICHU_1[] = +static const union AnimCmd sAnim_PICHU_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2041,7 +2040,7 @@ const union AnimCmd gAnimCmd_PICHU_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PICHU_2[] = +static const union AnimCmd sAnim_PICHU_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2050,7 +2049,7 @@ const union AnimCmd gAnimCmd_PICHU_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CLEFFA_1[] = +static const union AnimCmd sAnim_CLEFFA_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2059,7 +2058,7 @@ const union AnimCmd gAnimCmd_CLEFFA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_IGGLYBUFF_1[] = +static const union AnimCmd sAnim_IGGLYBUFF_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2069,7 +2068,7 @@ const union AnimCmd gAnimCmd_IGGLYBUFF_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_IGGLYBUFF_2[] = +static const union AnimCmd sAnim_IGGLYBUFF_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2078,7 +2077,7 @@ const union AnimCmd gAnimCmd_IGGLYBUFF_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TOGEPI_1[] = +static const union AnimCmd sAnim_TOGEPI_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 50), @@ -2086,7 +2085,7 @@ const union AnimCmd gAnimCmd_TOGEPI_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TOGETIC_1[] = +static const union AnimCmd sAnim_TOGETIC_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -2094,7 +2093,7 @@ const union AnimCmd gAnimCmd_TOGETIC_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NATU_1[] = +static const union AnimCmd sAnim_NATU_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2104,7 +2103,7 @@ const union AnimCmd gAnimCmd_NATU_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NATU_2[] = +static const union AnimCmd sAnim_NATU_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2113,7 +2112,7 @@ const union AnimCmd gAnimCmd_NATU_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_XATU_1[] = +static const union AnimCmd sAnim_XATU_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 45), @@ -2125,7 +2124,7 @@ const union AnimCmd gAnimCmd_XATU_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_XATU_2[] = +static const union AnimCmd sAnim_XATU_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2134,7 +2133,7 @@ const union AnimCmd gAnimCmd_XATU_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MAREEP_1[] = +static const union AnimCmd sAnim_MAREEP_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2145,7 +2144,7 @@ const union AnimCmd gAnimCmd_MAREEP_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_FLAAFFY_1[] = +static const union AnimCmd sAnim_FLAAFFY_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2154,7 +2153,7 @@ const union AnimCmd gAnimCmd_FLAAFFY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_AMPHAROS_1[] = +static const union AnimCmd sAnim_AMPHAROS_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 15), @@ -2162,7 +2161,7 @@ const union AnimCmd gAnimCmd_AMPHAROS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BELLOSSOM_1[] = +static const union AnimCmd sAnim_BELLOSSOM_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 22), @@ -2174,7 +2173,7 @@ const union AnimCmd gAnimCmd_BELLOSSOM_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MARILL_1[] = +static const union AnimCmd sAnim_MARILL_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 44), @@ -2184,7 +2183,7 @@ const union AnimCmd gAnimCmd_MARILL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_AZUMARILL_1[] = +static const union AnimCmd sAnim_AZUMARILL_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 22), @@ -2194,7 +2193,7 @@ const union AnimCmd gAnimCmd_AZUMARILL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SUDOWOODO_1[] = +static const union AnimCmd sAnim_SUDOWOODO_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -2205,7 +2204,7 @@ const union AnimCmd gAnimCmd_SUDOWOODO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_POLITOED_1[] = +static const union AnimCmd sAnim_POLITOED_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2216,7 +2215,7 @@ const union AnimCmd gAnimCmd_POLITOED_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HOPPIP_1[] = +static const union AnimCmd sAnim_HOPPIP_1[] = { ANIMCMD_FRAME(1, 25), ANIMCMD_FRAME(0, 25), @@ -2225,7 +2224,7 @@ const union AnimCmd gAnimCmd_HOPPIP_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SKIPLOOM_1[] = +static const union AnimCmd sAnim_SKIPLOOM_1[] = { ANIMCMD_FRAME(1, 12), ANIMCMD_FRAME(0, 12), @@ -2238,7 +2237,7 @@ const union AnimCmd gAnimCmd_SKIPLOOM_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_JUMPLUFF_1[] = +static const union AnimCmd sAnim_JUMPLUFF_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 25), @@ -2249,14 +2248,14 @@ const union AnimCmd gAnimCmd_JUMPLUFF_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_AIPOM_1[] = +static const union AnimCmd sAnim_AIPOM_1[] = { ANIMCMD_FRAME(1, 35), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SUNKERN_1[] = +static const union AnimCmd sAnim_SUNKERN_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2265,7 +2264,7 @@ const union AnimCmd gAnimCmd_SUNKERN_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SUNFLORA_1[] = +static const union AnimCmd sAnim_SUNFLORA_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -2273,7 +2272,7 @@ const union AnimCmd gAnimCmd_SUNFLORA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_YANMA_1[] = +static const union AnimCmd sAnim_YANMA_1[] = { ANIMCMD_FRAME(1, 2), ANIMCMD_FRAME(0, 2), @@ -2300,7 +2299,7 @@ const union AnimCmd gAnimCmd_YANMA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WOOPER_1[] = +static const union AnimCmd sAnim_WOOPER_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -2308,14 +2307,14 @@ const union AnimCmd gAnimCmd_WOOPER_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_QUAGSIRE_1[] = +static const union AnimCmd sAnim_QUAGSIRE_1[] = { ANIMCMD_FRAME(1, 32), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ESPEON_1[] = +static const union AnimCmd sAnim_ESPEON_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 25), @@ -2323,21 +2322,21 @@ const union AnimCmd gAnimCmd_ESPEON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UMBREON_1[] = +static const union AnimCmd sAnim_UMBREON_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MURKROW_1[] = +static const union AnimCmd sAnim_MURKROW_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SLOWKING_1[] = +static const union AnimCmd sAnim_SLOWKING_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2345,7 +2344,7 @@ const union AnimCmd gAnimCmd_SLOWKING_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MISDREAVUS_1[] = +static const union AnimCmd sAnim_MISDREAVUS_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2360,7 +2359,7 @@ const union AnimCmd gAnimCmd_MISDREAVUS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_1[] = +static const union AnimCmd sAnim_UNOWN_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -2368,7 +2367,7 @@ const union AnimCmd gAnimCmd_UNOWN_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WOBBUFFET_1[] = +static const union AnimCmd sAnim_WOBBUFFET_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2378,7 +2377,7 @@ const union AnimCmd gAnimCmd_WOBBUFFET_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WOBBUFFET_2[] = +static const union AnimCmd sAnim_WOBBUFFET_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2387,7 +2386,7 @@ const union AnimCmd gAnimCmd_WOBBUFFET_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GIRAFARIG_1[] = +static const union AnimCmd sAnim_GIRAFARIG_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2399,7 +2398,7 @@ const union AnimCmd gAnimCmd_GIRAFARIG_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GIRAFARIG_2[] = +static const union AnimCmd sAnim_GIRAFARIG_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2408,7 +2407,7 @@ const union AnimCmd gAnimCmd_GIRAFARIG_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PINECO_1[] = +static const union AnimCmd sAnim_PINECO_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2421,7 +2420,7 @@ const union AnimCmd gAnimCmd_PINECO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_FORRETRESS_1[] = +static const union AnimCmd sAnim_FORRETRESS_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2430,7 +2429,7 @@ const union AnimCmd gAnimCmd_FORRETRESS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DUNSPARCE_1[] = +static const union AnimCmd sAnim_DUNSPARCE_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 15), @@ -2439,14 +2438,14 @@ const union AnimCmd gAnimCmd_DUNSPARCE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GLIGAR_1[] = +static const union AnimCmd sAnim_GLIGAR_1[] = { ANIMCMD_FRAME(1, 17), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_STEELIX_1[] = +static const union AnimCmd sAnim_STEELIX_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 8), @@ -2457,21 +2456,21 @@ const union AnimCmd gAnimCmd_STEELIX_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SNUBBULL_1[] = +static const union AnimCmd sAnim_SNUBBULL_1[] = { ANIMCMD_FRAME(1, 32), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GRANBULL_1[] = +static const union AnimCmd sAnim_GRANBULL_1[] = { ANIMCMD_FRAME(1, 35), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_QWILFISH_1[] = +static const union AnimCmd sAnim_QWILFISH_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -2483,14 +2482,14 @@ const union AnimCmd gAnimCmd_QWILFISH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SCIZOR_1[] = +static const union AnimCmd sAnim_SCIZOR_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SHUCKLE_1[] = +static const union AnimCmd sAnim_SHUCKLE_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 50), @@ -2498,7 +2497,7 @@ const union AnimCmd gAnimCmd_SHUCKLE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HERACROSS_1[] = +static const union AnimCmd sAnim_HERACROSS_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -2508,7 +2507,7 @@ const union AnimCmd gAnimCmd_HERACROSS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HERACROSS_2[] = +static const union AnimCmd sAnim_HERACROSS_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2517,28 +2516,28 @@ const union AnimCmd gAnimCmd_HERACROSS_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SNEASEL_1[] = +static const union AnimCmd sAnim_SNEASEL_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TEDDIURSA_1[] = +static const union AnimCmd sAnim_TEDDIURSA_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_URSARING_1[] = +static const union AnimCmd sAnim_URSARING_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SLUGMA_1[] = +static const union AnimCmd sAnim_SLUGMA_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -2548,7 +2547,7 @@ const union AnimCmd gAnimCmd_SLUGMA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SLUGMA_2[] = +static const union AnimCmd sAnim_SLUGMA_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2557,7 +2556,7 @@ const union AnimCmd gAnimCmd_SLUGMA_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MAGCARGO_1[] = +static const union AnimCmd sAnim_MAGCARGO_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -2567,7 +2566,7 @@ const union AnimCmd gAnimCmd_MAGCARGO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MAGCARGO_2[] = +static const union AnimCmd sAnim_MAGCARGO_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2576,7 +2575,7 @@ const union AnimCmd gAnimCmd_MAGCARGO_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SWINUB_1[] = +static const union AnimCmd sAnim_SWINUB_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2585,7 +2584,7 @@ const union AnimCmd gAnimCmd_SWINUB_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PILOSWINE_1[] = +static const union AnimCmd sAnim_PILOSWINE_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2594,7 +2593,7 @@ const union AnimCmd gAnimCmd_PILOSWINE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CORSOLA_1[] = +static const union AnimCmd sAnim_CORSOLA_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -2604,7 +2603,7 @@ const union AnimCmd gAnimCmd_CORSOLA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CORSOLA_2[] = +static const union AnimCmd sAnim_CORSOLA_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2613,7 +2612,7 @@ const union AnimCmd gAnimCmd_CORSOLA_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_REMORAID_1[] = +static const union AnimCmd sAnim_REMORAID_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -2622,7 +2621,7 @@ const union AnimCmd gAnimCmd_REMORAID_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_OCTILLERY_1[] = +static const union AnimCmd sAnim_OCTILLERY_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2631,7 +2630,7 @@ const union AnimCmd gAnimCmd_OCTILLERY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DELIBIRD_1[] = +static const union AnimCmd sAnim_DELIBIRD_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2640,7 +2639,7 @@ const union AnimCmd gAnimCmd_DELIBIRD_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MANTINE_1[] = +static const union AnimCmd sAnim_MANTINE_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 30), @@ -2649,7 +2648,7 @@ const union AnimCmd gAnimCmd_MANTINE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SKARMORY_1[] = +static const union AnimCmd sAnim_SKARMORY_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2659,7 +2658,7 @@ const union AnimCmd gAnimCmd_SKARMORY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SKARMORY_2[] = +static const union AnimCmd sAnim_SKARMORY_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2668,7 +2667,7 @@ const union AnimCmd gAnimCmd_SKARMORY_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HOUNDOUR_1[] = +static const union AnimCmd sAnim_HOUNDOUR_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2677,14 +2676,14 @@ const union AnimCmd gAnimCmd_HOUNDOUR_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HOUNDOOM_1[] = +static const union AnimCmd sAnim_HOUNDOOM_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 30), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KINGDRA_1[] = +static const union AnimCmd sAnim_KINGDRA_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -2694,7 +2693,7 @@ const union AnimCmd gAnimCmd_KINGDRA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KINGDRA_2[] = +static const union AnimCmd sAnim_KINGDRA_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2703,7 +2702,7 @@ const union AnimCmd gAnimCmd_KINGDRA_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PHANPY_1[] = +static const union AnimCmd sAnim_PHANPY_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2715,7 +2714,7 @@ const union AnimCmd gAnimCmd_PHANPY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PHANPY_2[] = +static const union AnimCmd sAnim_PHANPY_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2724,7 +2723,7 @@ const union AnimCmd gAnimCmd_PHANPY_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DONPHAN_1[] = +static const union AnimCmd sAnim_DONPHAN_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2736,7 +2735,7 @@ const union AnimCmd gAnimCmd_DONPHAN_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DONPHAN_2[] = +static const union AnimCmd sAnim_DONPHAN_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2745,7 +2744,7 @@ const union AnimCmd gAnimCmd_DONPHAN_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PORYGON2_1[] = +static const union AnimCmd sAnim_PORYGON2_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -2755,14 +2754,14 @@ const union AnimCmd gAnimCmd_PORYGON2_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_STANTLER_1[] = +static const union AnimCmd sAnim_STANTLER_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SMEARGLE_1[] = +static const union AnimCmd sAnim_SMEARGLE_1[] = { ANIMCMD_FRAME(1, 12), ANIMCMD_FRAME(0, 12), @@ -2771,14 +2770,14 @@ const union AnimCmd gAnimCmd_SMEARGLE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TYROGUE_1[] = +static const union AnimCmd sAnim_TYROGUE_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HITMONTOP_1[] = +static const union AnimCmd sAnim_HITMONTOP_1[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(1, 4), @@ -2794,7 +2793,7 @@ const union AnimCmd gAnimCmd_HITMONTOP_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SMOOCHUM_1[] = +static const union AnimCmd sAnim_SMOOCHUM_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2805,7 +2804,7 @@ const union AnimCmd gAnimCmd_SMOOCHUM_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ELEKID_1[] = +static const union AnimCmd sAnim_ELEKID_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 5), @@ -2813,7 +2812,7 @@ const union AnimCmd gAnimCmd_ELEKID_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MAGBY_1[] = +static const union AnimCmd sAnim_MAGBY_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -2825,21 +2824,21 @@ const union AnimCmd gAnimCmd_MAGBY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MILTANK_1[] = +static const union AnimCmd sAnim_MILTANK_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 30), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BLISSEY_1[] = +static const union AnimCmd sAnim_BLISSEY_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RAIKOU_1[] = +static const union AnimCmd sAnim_RAIKOU_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2848,21 +2847,21 @@ const union AnimCmd gAnimCmd_RAIKOU_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ENTEI_1[] = +static const union AnimCmd sAnim_ENTEI_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SUICUNE_1[] = +static const union AnimCmd sAnim_SUICUNE_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LARVITAR_1[] = +static const union AnimCmd sAnim_LARVITAR_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2871,14 +2870,14 @@ const union AnimCmd gAnimCmd_LARVITAR_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PUPITAR_1[] = +static const union AnimCmd sAnim_PUPITAR_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TYRANITAR_1[] = +static const union AnimCmd sAnim_TYRANITAR_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 20), @@ -2887,21 +2886,21 @@ const union AnimCmd gAnimCmd_TYRANITAR_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LUGIA_1[] = +static const union AnimCmd sAnim_LUGIA_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HO_OH_1[] = +static const union AnimCmd sAnim_HO_OH_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CELEBI_1[] = +static const union AnimCmd sAnim_CELEBI_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 30), @@ -2910,7 +2909,7 @@ const union AnimCmd gAnimCmd_CELEBI_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_OLD_UNOWN_B_1[] = +static const union AnimCmd sAnim_OLD_UNOWN_B_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -2918,7 +2917,7 @@ const union AnimCmd gAnimCmd_OLD_UNOWN_B_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TREECKO_1[] = +static const union AnimCmd sAnim_TREECKO_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 15), @@ -2927,7 +2926,7 @@ const union AnimCmd gAnimCmd_TREECKO_1[] = ANIMCMD_FRAME(0, 3), ANIMCMD_END,}; -const union AnimCmd gAnimCmd_GROVYLE_1[] = +static const union AnimCmd sAnim_GROVYLE_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 18), @@ -2937,7 +2936,7 @@ const union AnimCmd gAnimCmd_GROVYLE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SCEPTILE_1[] = +static const union AnimCmd sAnim_SCEPTILE_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 26), @@ -2945,7 +2944,7 @@ const union AnimCmd gAnimCmd_SCEPTILE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TORCHIC_1[] = +static const union AnimCmd sAnim_TORCHIC_1[] = { ANIMCMD_FRAME(0, 7), ANIMCMD_FRAME(1, 4), @@ -2957,14 +2956,14 @@ const union AnimCmd gAnimCmd_TORCHIC_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_COMBUSKEN_1[] = +static const union AnimCmd sAnim_COMBUSKEN_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 25), ANIMCMD_FRAME(0, 12), ANIMCMD_END,}; -const union AnimCmd gAnimCmd_BLAZIKEN_1[] = +static const union AnimCmd sAnim_BLAZIKEN_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 25), @@ -2974,7 +2973,7 @@ const union AnimCmd gAnimCmd_BLAZIKEN_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BLAZIKEN_2[] = +static const union AnimCmd sAnim_BLAZIKEN_2[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(2, 8), @@ -2982,20 +2981,20 @@ const union AnimCmd gAnimCmd_BLAZIKEN_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BLAZIKEN_3[] = +static const union AnimCmd sAnim_BLAZIKEN_3[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(2, 10), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BLAZIKEN_4[] = +static const union AnimCmd sAnim_BLAZIKEN_4[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MUDKIP_1[] = +static const union AnimCmd sAnim_MUDKIP_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 8), @@ -3005,7 +3004,7 @@ const union AnimCmd gAnimCmd_MUDKIP_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MARSHTOMP_1[] = +static const union AnimCmd sAnim_MARSHTOMP_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -3019,7 +3018,7 @@ const union AnimCmd gAnimCmd_MARSHTOMP_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SWAMPERT_1[] = +static const union AnimCmd sAnim_SWAMPERT_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 44), @@ -3029,7 +3028,7 @@ const union AnimCmd gAnimCmd_SWAMPERT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_POOCHYENA_1[] = +static const union AnimCmd sAnim_POOCHYENA_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 44), @@ -3037,7 +3036,7 @@ const union AnimCmd gAnimCmd_POOCHYENA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MIGHTYENA_1[] = +static const union AnimCmd sAnim_MIGHTYENA_1[] = { ANIMCMD_FRAME(0, 27), ANIMCMD_FRAME(1, 6), @@ -3047,7 +3046,7 @@ const union AnimCmd gAnimCmd_MIGHTYENA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ZIGZAGOON_1[] = +static const union AnimCmd sAnim_ZIGZAGOON_1[] = { ANIMCMD_FRAME(0, 27), ANIMCMD_FRAME(1, 6), @@ -3057,7 +3056,7 @@ const union AnimCmd gAnimCmd_ZIGZAGOON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LINOONE_1[] = +static const union AnimCmd sAnim_LINOONE_1[] = { ANIMCMD_FRAME(0, 14), ANIMCMD_FRAME(1, 14), @@ -3067,7 +3066,7 @@ const union AnimCmd gAnimCmd_LINOONE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WURMPLE_1[] = +static const union AnimCmd sAnim_WURMPLE_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 35), @@ -3075,7 +3074,7 @@ const union AnimCmd gAnimCmd_WURMPLE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SILCOON_1[] = +static const union AnimCmd sAnim_SILCOON_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 25), @@ -3083,13 +3082,13 @@ const union AnimCmd gAnimCmd_SILCOON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SILCOON_2[] = +static const union AnimCmd sAnim_SILCOON_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BEAUTIFLY_1[] = +static const union AnimCmd sAnim_BEAUTIFLY_1[] = { ANIMCMD_FRAME(0, 2), ANIMCMD_FRAME(1, 2), @@ -3103,13 +3102,13 @@ const union AnimCmd gAnimCmd_BEAUTIFLY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BEAUTIFLY_2[] = +static const union AnimCmd sAnim_BEAUTIFLY_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CASCOON_1[] = +static const union AnimCmd sAnim_CASCOON_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -3119,13 +3118,13 @@ const union AnimCmd gAnimCmd_CASCOON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CASCOON_2[] = +static const union AnimCmd sAnim_CASCOON_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DUSTOX_1[] = +static const union AnimCmd sAnim_DUSTOX_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 1), @@ -3145,13 +3144,13 @@ const union AnimCmd gAnimCmd_DUSTOX_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DUSTOX_2[] = +static const union AnimCmd sAnim_DUSTOX_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LOTAD_1[] = +static const union AnimCmd sAnim_LOTAD_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 55), @@ -3159,7 +3158,7 @@ const union AnimCmd gAnimCmd_LOTAD_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LOMBRE_1[] = +static const union AnimCmd sAnim_LOMBRE_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 30), @@ -3169,7 +3168,7 @@ const union AnimCmd gAnimCmd_LOMBRE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LUDICOLO_1[] = +static const union AnimCmd sAnim_LUDICOLO_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 22), @@ -3181,7 +3180,7 @@ const union AnimCmd gAnimCmd_LUDICOLO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SEEDOT_1[] = +static const union AnimCmd sAnim_SEEDOT_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -3195,7 +3194,7 @@ const union AnimCmd gAnimCmd_SEEDOT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NUZLEAF_1[] = +static const union AnimCmd sAnim_NUZLEAF_1[] = { ANIMCMD_FRAME(0, 7), ANIMCMD_FRAME(1, 15), @@ -3209,7 +3208,7 @@ const union AnimCmd gAnimCmd_NUZLEAF_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SHIFTRY_1[] = +static const union AnimCmd sAnim_SHIFTRY_1[] = { ANIMCMD_FRAME(0, 7), ANIMCMD_FRAME(1, 35), @@ -3217,7 +3216,7 @@ const union AnimCmd gAnimCmd_SHIFTRY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NINCADA_1[] = +static const union AnimCmd sAnim_NINCADA_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 22), @@ -3227,7 +3226,7 @@ const union AnimCmd gAnimCmd_NINCADA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NINJASK_1[] = +static const union AnimCmd sAnim_NINJASK_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 1), @@ -3250,7 +3249,7 @@ const union AnimCmd gAnimCmd_NINJASK_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SHEDINJA_1[] = +static const union AnimCmd sAnim_SHEDINJA_1[] = { ANIMCMD_FRAME(0, 33), ANIMCMD_FRAME(1, 33), @@ -3260,7 +3259,7 @@ const union AnimCmd gAnimCmd_SHEDINJA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TAILLOW_1[] = +static const union AnimCmd sAnim_TAILLOW_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 15), @@ -3274,7 +3273,7 @@ const union AnimCmd gAnimCmd_TAILLOW_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SWELLOW_1[] = +static const union AnimCmd sAnim_SWELLOW_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 18), @@ -3282,7 +3281,7 @@ const union AnimCmd gAnimCmd_SWELLOW_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SHROOMISH_1[] = +static const union AnimCmd sAnim_SHROOMISH_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 6), @@ -3298,7 +3297,7 @@ const union AnimCmd gAnimCmd_SHROOMISH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BRELOOM_1[] = +static const union AnimCmd sAnim_BRELOOM_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 30), @@ -3308,7 +3307,7 @@ const union AnimCmd gAnimCmd_BRELOOM_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WINGULL_1[] = +static const union AnimCmd sAnim_WINGULL_1[] = { ANIMCMD_FRAME(0, 17), ANIMCMD_FRAME(1, 23), @@ -3316,7 +3315,7 @@ const union AnimCmd gAnimCmd_WINGULL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PELIPPER_1[] = +static const union AnimCmd sAnim_PELIPPER_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -3330,7 +3329,7 @@ const union AnimCmd gAnimCmd_PELIPPER_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SURSKIT_1[] = +static const union AnimCmd sAnim_SURSKIT_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 18), @@ -3340,13 +3339,13 @@ const union AnimCmd gAnimCmd_SURSKIT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SURSKIT_2[] = +static const union AnimCmd sAnim_SURSKIT_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MASQUERAIN_1[] = +static const union AnimCmd sAnim_MASQUERAIN_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 8), @@ -3360,13 +3359,13 @@ const union AnimCmd gAnimCmd_MASQUERAIN_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MASQUERAIN_2[] = +static const union AnimCmd sAnim_MASQUERAIN_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WAILMER_1[] = +static const union AnimCmd sAnim_WAILMER_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 22), @@ -3378,7 +3377,7 @@ const union AnimCmd gAnimCmd_WAILMER_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WAILORD_1[] = +static const union AnimCmd sAnim_WAILORD_1[] = { ANIMCMD_FRAME(0, 26), ANIMCMD_FRAME(1, 48), @@ -3386,7 +3385,7 @@ const union AnimCmd gAnimCmd_WAILORD_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SKITTY_1[] = +static const union AnimCmd sAnim_SKITTY_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 35), @@ -3394,7 +3393,7 @@ const union AnimCmd gAnimCmd_SKITTY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DELCATTY_1[] = +static const union AnimCmd sAnim_DELCATTY_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 46), @@ -3402,7 +3401,7 @@ const union AnimCmd gAnimCmd_DELCATTY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KECLEON_1[] = +static const union AnimCmd sAnim_KECLEON_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 18), @@ -3412,7 +3411,7 @@ const union AnimCmd gAnimCmd_KECLEON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BALTOY_1[] = +static const union AnimCmd sAnim_BALTOY_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3424,7 +3423,7 @@ const union AnimCmd gAnimCmd_BALTOY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CLAYDOL_1[] = +static const union AnimCmd sAnim_CLAYDOL_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3436,7 +3435,7 @@ const union AnimCmd gAnimCmd_CLAYDOL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NOSEPASS_1[] = +static const union AnimCmd sAnim_NOSEPASS_1[] = { ANIMCMD_FRAME(0, 27), ANIMCMD_FRAME(1, 27), @@ -3448,7 +3447,7 @@ const union AnimCmd gAnimCmd_NOSEPASS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TORKOAL_1[] = +static const union AnimCmd sAnim_TORKOAL_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3458,7 +3457,7 @@ const union AnimCmd gAnimCmd_TORKOAL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SABLEYE_1[] = +static const union AnimCmd sAnim_SABLEYE_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -3468,7 +3467,7 @@ const union AnimCmd gAnimCmd_SABLEYE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BARBOACH_1[] = +static const union AnimCmd sAnim_BARBOACH_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3486,7 +3485,7 @@ const union AnimCmd gAnimCmd_BARBOACH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WHISCASH_1[] = +static const union AnimCmd sAnim_WHISCASH_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3504,7 +3503,7 @@ const union AnimCmd gAnimCmd_WHISCASH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LUVDISC_1[] = +static const union AnimCmd sAnim_LUVDISC_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3514,7 +3513,7 @@ const union AnimCmd gAnimCmd_LUVDISC_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CORPHISH_1[] = +static const union AnimCmd sAnim_CORPHISH_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3526,7 +3525,7 @@ const union AnimCmd gAnimCmd_CORPHISH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CRAWDAUNT_1[] = +static const union AnimCmd sAnim_CRAWDAUNT_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3536,7 +3535,7 @@ const union AnimCmd gAnimCmd_CRAWDAUNT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_FEEBAS_1[] = +static const union AnimCmd sAnim_FEEBAS_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3548,7 +3547,7 @@ const union AnimCmd gAnimCmd_FEEBAS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MILOTIC_1[] = +static const union AnimCmd sAnim_MILOTIC_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3560,7 +3559,7 @@ const union AnimCmd gAnimCmd_MILOTIC_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CARVANHA_1[] = +static const union AnimCmd sAnim_CARVANHA_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 6), @@ -3574,7 +3573,7 @@ const union AnimCmd gAnimCmd_CARVANHA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SHARPEDO_1[] = +static const union AnimCmd sAnim_SHARPEDO_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 6), @@ -3588,7 +3587,7 @@ const union AnimCmd gAnimCmd_SHARPEDO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TRAPINCH_1[] = +static const union AnimCmd sAnim_TRAPINCH_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3598,7 +3597,7 @@ const union AnimCmd gAnimCmd_TRAPINCH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_VIBRAVA_1[] = +static const union AnimCmd sAnim_VIBRAVA_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3610,7 +3609,7 @@ const union AnimCmd gAnimCmd_VIBRAVA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_FLYGON_1[] = +static const union AnimCmd sAnim_FLYGON_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3622,7 +3621,7 @@ const union AnimCmd gAnimCmd_FLYGON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MAKUHITA_1[] = +static const union AnimCmd sAnim_MAKUHITA_1[] = { ANIMCMD_FRAME(0, 7), ANIMCMD_FRAME(1, 10), @@ -3636,7 +3635,7 @@ const union AnimCmd gAnimCmd_MAKUHITA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HARIYAMA_1[] = +static const union AnimCmd sAnim_HARIYAMA_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -3645,7 +3644,7 @@ const union AnimCmd gAnimCmd_HARIYAMA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ELECTRIKE_1[] = +static const union AnimCmd sAnim_ELECTRIKE_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 25), @@ -3655,7 +3654,7 @@ const union AnimCmd gAnimCmd_ELECTRIKE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MANECTRIC_1[] = +static const union AnimCmd sAnim_MANECTRIC_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 33), @@ -3665,7 +3664,7 @@ const union AnimCmd gAnimCmd_MANECTRIC_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NUMEL_1[] = +static const union AnimCmd sAnim_NUMEL_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3675,7 +3674,7 @@ const union AnimCmd gAnimCmd_NUMEL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CAMERUPT_1[] = +static const union AnimCmd sAnim_CAMERUPT_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3687,7 +3686,7 @@ const union AnimCmd gAnimCmd_CAMERUPT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SPHEAL_1[] = +static const union AnimCmd sAnim_SPHEAL_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 43), @@ -3700,7 +3699,7 @@ const union AnimCmd gAnimCmd_SPHEAL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SEALEO_1[] = +static const union AnimCmd sAnim_SEALEO_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3710,7 +3709,7 @@ const union AnimCmd gAnimCmd_SEALEO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WALREIN_1[] = +static const union AnimCmd sAnim_WALREIN_1[] = { ANIMCMD_FRAME(0, 2), ANIMCMD_FRAME(1, 10), @@ -3720,7 +3719,7 @@ const union AnimCmd gAnimCmd_WALREIN_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CACNEA_1[] = +static const union AnimCmd sAnim_CACNEA_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3736,7 +3735,7 @@ const union AnimCmd gAnimCmd_CACNEA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CACTURNE_1[] = +static const union AnimCmd sAnim_CACTURNE_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3746,7 +3745,7 @@ const union AnimCmd gAnimCmd_CACTURNE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SNORUNT_1[] = +static const union AnimCmd sAnim_SNORUNT_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3756,7 +3755,7 @@ const union AnimCmd gAnimCmd_SNORUNT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GLALIE_1[] = +static const union AnimCmd sAnim_GLALIE_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3766,7 +3765,7 @@ const union AnimCmd gAnimCmd_GLALIE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LUNATONE_1[] = +static const union AnimCmd sAnim_LUNATONE_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -3776,7 +3775,7 @@ const union AnimCmd gAnimCmd_LUNATONE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LUNATONE_2[] = +static const union AnimCmd sAnim_LUNATONE_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -3785,7 +3784,7 @@ const union AnimCmd gAnimCmd_LUNATONE_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SOLROCK_1[] = +static const union AnimCmd sAnim_SOLROCK_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -3795,7 +3794,7 @@ const union AnimCmd gAnimCmd_SOLROCK_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SOLROCK_2[] = +static const union AnimCmd sAnim_SOLROCK_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -3804,7 +3803,7 @@ const union AnimCmd gAnimCmd_SOLROCK_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_AZURILL_1[] = +static const union AnimCmd sAnim_AZURILL_1[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(1, 12), @@ -3816,7 +3815,7 @@ const union AnimCmd gAnimCmd_AZURILL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SPOINK_1[] = +static const union AnimCmd sAnim_SPOINK_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 10), @@ -3832,7 +3831,7 @@ const union AnimCmd gAnimCmd_SPOINK_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GRUMPIG_1[] = +static const union AnimCmd sAnim_GRUMPIG_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3842,7 +3841,7 @@ const union AnimCmd gAnimCmd_GRUMPIG_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PLUSLE_1[] = +static const union AnimCmd sAnim_PLUSLE_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -3852,7 +3851,7 @@ const union AnimCmd gAnimCmd_PLUSLE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MINUN_1[] = +static const union AnimCmd sAnim_MINUN_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -3862,7 +3861,7 @@ const union AnimCmd gAnimCmd_MINUN_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MAWILE_1[] = +static const union AnimCmd sAnim_MAWILE_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -3874,7 +3873,7 @@ const union AnimCmd gAnimCmd_MAWILE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MEDITITE_1[] = +static const union AnimCmd sAnim_MEDITITE_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 2), @@ -3882,7 +3881,7 @@ const union AnimCmd gAnimCmd_MEDITITE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MEDICHAM_1[] = +static const union AnimCmd sAnim_MEDICHAM_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 11), @@ -3894,7 +3893,7 @@ const union AnimCmd gAnimCmd_MEDICHAM_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SWABLU_1[] = +static const union AnimCmd sAnim_SWABLU_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 10), @@ -3906,7 +3905,7 @@ const union AnimCmd gAnimCmd_SWABLU_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SWABLU_2[] = +static const union AnimCmd sAnim_SWABLU_2[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(2, 8), @@ -3917,7 +3916,7 @@ const union AnimCmd gAnimCmd_SWABLU_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ALTARIA_1[] = +static const union AnimCmd sAnim_ALTARIA_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -3927,7 +3926,7 @@ const union AnimCmd gAnimCmd_ALTARIA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ALTARIA_2[] = +static const union AnimCmd sAnim_ALTARIA_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -3936,7 +3935,7 @@ const union AnimCmd gAnimCmd_ALTARIA_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WYNAUT_1[] = +static const union AnimCmd sAnim_WYNAUT_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3946,7 +3945,7 @@ const union AnimCmd gAnimCmd_WYNAUT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DUSKULL_1[] = +static const union AnimCmd sAnim_DUSKULL_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3956,7 +3955,7 @@ const union AnimCmd gAnimCmd_DUSKULL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DUSCLOPS_1[] = +static const union AnimCmd sAnim_DUSCLOPS_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3966,7 +3965,7 @@ const union AnimCmd gAnimCmd_DUSCLOPS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ROSELIA_1[] = +static const union AnimCmd sAnim_ROSELIA_1[] = { ANIMCMD_FRAME(0, 18), ANIMCMD_FRAME(1, 44), @@ -3974,7 +3973,7 @@ const union AnimCmd gAnimCmd_ROSELIA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SLAKOTH_1[] = +static const union AnimCmd sAnim_SLAKOTH_1[] = { ANIMCMD_FRAME(0, 13), ANIMCMD_FRAME(1, 22), @@ -3985,7 +3984,7 @@ const union AnimCmd gAnimCmd_SLAKOTH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_VIGOROTH_1[] = +static const union AnimCmd sAnim_VIGOROTH_1[] = { ANIMCMD_FRAME(0, 13), ANIMCMD_FRAME(1, 7), @@ -3997,7 +3996,7 @@ const union AnimCmd gAnimCmd_VIGOROTH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SLAKING_1[] = +static const union AnimCmd sAnim_SLAKING_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 22), @@ -4009,7 +4008,7 @@ const union AnimCmd gAnimCmd_SLAKING_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GULPIN_1[] = +static const union AnimCmd sAnim_GULPIN_1[] = { ANIMCMD_FRAME(0, 14), ANIMCMD_FRAME(1, 14), @@ -4019,7 +4018,7 @@ const union AnimCmd gAnimCmd_GULPIN_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SWALOT_1[] = +static const union AnimCmd sAnim_SWALOT_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 30), @@ -4028,7 +4027,7 @@ const union AnimCmd gAnimCmd_SWALOT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TROPIUS_1[] = +static const union AnimCmd sAnim_TROPIUS_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4038,7 +4037,7 @@ const union AnimCmd gAnimCmd_TROPIUS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WHISMUR_1[] = +static const union AnimCmd sAnim_WHISMUR_1[] = { ANIMCMD_FRAME(0, 9), ANIMCMD_FRAME(1, 9), @@ -4053,7 +4052,7 @@ const union AnimCmd gAnimCmd_WHISMUR_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LOUDRED_1[] = +static const union AnimCmd sAnim_LOUDRED_1[] = { ANIMCMD_FRAME(0, 9), ANIMCMD_FRAME(1, 9), @@ -4063,7 +4062,7 @@ const union AnimCmd gAnimCmd_LOUDRED_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_EXPLOUD_1[] = +static const union AnimCmd sAnim_EXPLOUD_1[] = { ANIMCMD_FRAME(0, 9), ANIMCMD_FRAME(1, 44), @@ -4071,7 +4070,7 @@ const union AnimCmd gAnimCmd_EXPLOUD_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CLAMPERL_1[] = +static const union AnimCmd sAnim_CLAMPERL_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4081,7 +4080,7 @@ const union AnimCmd gAnimCmd_CLAMPERL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HUNTAIL_1[] = +static const union AnimCmd sAnim_HUNTAIL_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4091,7 +4090,7 @@ const union AnimCmd gAnimCmd_HUNTAIL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GOREBYSS_1[] = +static const union AnimCmd sAnim_GOREBYSS_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4101,7 +4100,7 @@ const union AnimCmd gAnimCmd_GOREBYSS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ABSOL_1[] = +static const union AnimCmd sAnim_ABSOL_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4111,7 +4110,7 @@ const union AnimCmd gAnimCmd_ABSOL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SHUPPET_1[] = +static const union AnimCmd sAnim_SHUPPET_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4123,7 +4122,7 @@ const union AnimCmd gAnimCmd_SHUPPET_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BANETTE_1[] = +static const union AnimCmd sAnim_BANETTE_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4135,7 +4134,7 @@ const union AnimCmd gAnimCmd_BANETTE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SEVIPER_1[] = +static const union AnimCmd sAnim_SEVIPER_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4147,7 +4146,7 @@ const union AnimCmd gAnimCmd_SEVIPER_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ZANGOOSE_1[] = +static const union AnimCmd sAnim_ZANGOOSE_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4159,7 +4158,7 @@ const union AnimCmd gAnimCmd_ZANGOOSE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RELICANTH_1[] = +static const union AnimCmd sAnim_RELICANTH_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4169,7 +4168,7 @@ const union AnimCmd gAnimCmd_RELICANTH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ARON_1[] = +static const union AnimCmd sAnim_ARON_1[] = { ANIMCMD_FRAME(0, 33), ANIMCMD_FRAME(1, 44), @@ -4179,7 +4178,7 @@ const union AnimCmd gAnimCmd_ARON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LAIRON_1[] = +static const union AnimCmd sAnim_LAIRON_1[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(1, 29), @@ -4189,7 +4188,7 @@ const union AnimCmd gAnimCmd_LAIRON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_AGGRON_1[] = +static const union AnimCmd sAnim_AGGRON_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 44), @@ -4197,31 +4196,31 @@ const union AnimCmd gAnimCmd_AGGRON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CASTFORM_0[] = +static const union AnimCmd sAnim_CASTFORM_0[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CASTFORM_1[] = +static const union AnimCmd sAnim_CASTFORM_1[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CASTFORM_2[] = +static const union AnimCmd sAnim_CASTFORM_2[] = { ANIMCMD_FRAME(2, 1), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CASTFORM_3[] = +static const union AnimCmd sAnim_CASTFORM_3[] = { ANIMCMD_FRAME(3, 1), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_VOLBEAT_1[] = +static const union AnimCmd sAnim_VOLBEAT_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 11), @@ -4233,7 +4232,7 @@ const union AnimCmd gAnimCmd_VOLBEAT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ILLUMISE_1[] = +static const union AnimCmd sAnim_ILLUMISE_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 22), @@ -4243,7 +4242,7 @@ const union AnimCmd gAnimCmd_ILLUMISE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LILEEP_1[] = +static const union AnimCmd sAnim_LILEEP_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4253,7 +4252,7 @@ const union AnimCmd gAnimCmd_LILEEP_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CRADILY_1[] = +static const union AnimCmd sAnim_CRADILY_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4265,7 +4264,7 @@ const union AnimCmd gAnimCmd_CRADILY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ANORITH_1[] = +static const union AnimCmd sAnim_ANORITH_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4277,7 +4276,7 @@ const union AnimCmd gAnimCmd_ANORITH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ARMALDO_1[] = +static const union AnimCmd sAnim_ARMALDO_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4287,7 +4286,7 @@ const union AnimCmd gAnimCmd_ARMALDO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RALTS_1[] = +static const union AnimCmd sAnim_RALTS_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 25), @@ -4295,7 +4294,7 @@ const union AnimCmd gAnimCmd_RALTS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KIRLIA_1[] = +static const union AnimCmd sAnim_KIRLIA_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 39), @@ -4303,7 +4302,7 @@ const union AnimCmd gAnimCmd_KIRLIA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GARDEVOIR_1[] = +static const union AnimCmd sAnim_GARDEVOIR_1[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_FRAME(1, 3), @@ -4321,7 +4320,7 @@ const union AnimCmd gAnimCmd_GARDEVOIR_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BAGON_1[] = +static const union AnimCmd sAnim_BAGON_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4331,7 +4330,7 @@ const union AnimCmd gAnimCmd_BAGON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SHELGON_1[] = +static const union AnimCmd sAnim_SHELGON_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4341,7 +4340,7 @@ const union AnimCmd gAnimCmd_SHELGON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SALAMENCE_1[] = +static const union AnimCmd sAnim_SALAMENCE_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4351,7 +4350,7 @@ const union AnimCmd gAnimCmd_SALAMENCE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BELDUM_1[] = +static const union AnimCmd sAnim_BELDUM_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4361,7 +4360,7 @@ const union AnimCmd gAnimCmd_BELDUM_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_METANG_1[] = +static const union AnimCmd sAnim_METANG_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 8), @@ -4371,7 +4370,7 @@ const union AnimCmd gAnimCmd_METANG_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_METAGROSS_1[] = +static const union AnimCmd sAnim_METAGROSS_1[] = { ANIMCMD_FRAME(0, 16), ANIMCMD_FRAME(1, 16), @@ -4381,7 +4380,7 @@ const union AnimCmd gAnimCmd_METAGROSS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_REGIROCK_1[] = +static const union AnimCmd sAnim_REGIROCK_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4391,7 +4390,7 @@ const union AnimCmd gAnimCmd_REGIROCK_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_REGIROCK_2[] = +static const union AnimCmd sAnim_REGIROCK_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4400,7 +4399,7 @@ const union AnimCmd gAnimCmd_REGIROCK_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_REGICE_1[] = +static const union AnimCmd sAnim_REGICE_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 15), @@ -4410,7 +4409,7 @@ const union AnimCmd gAnimCmd_REGICE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_REGISTEEL_1[] = +static const union AnimCmd sAnim_REGISTEEL_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4420,7 +4419,7 @@ const union AnimCmd gAnimCmd_REGISTEEL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_REGISTEEL_2[] = +static const union AnimCmd sAnim_REGISTEEL_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4429,7 +4428,7 @@ const union AnimCmd gAnimCmd_REGISTEEL_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KYOGRE_1[] = +static const union AnimCmd sAnim_KYOGRE_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4439,7 +4438,7 @@ const union AnimCmd gAnimCmd_KYOGRE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KYOGRE_2[] = +static const union AnimCmd sAnim_KYOGRE_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4448,7 +4447,7 @@ const union AnimCmd gAnimCmd_KYOGRE_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GROUDON_1[] = +static const union AnimCmd sAnim_GROUDON_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -4458,7 +4457,7 @@ const union AnimCmd gAnimCmd_GROUDON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GROUDON_2[] = +static const union AnimCmd sAnim_GROUDON_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4467,7 +4466,7 @@ const union AnimCmd gAnimCmd_GROUDON_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RAYQUAZA_1[] = +static const union AnimCmd sAnim_RAYQUAZA_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 8), @@ -4477,7 +4476,7 @@ const union AnimCmd gAnimCmd_RAYQUAZA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RAYQUAZA_2[] = +static const union AnimCmd sAnim_RAYQUAZA_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4486,7 +4485,7 @@ const union AnimCmd gAnimCmd_RAYQUAZA_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LATIAS_1[] = +static const union AnimCmd sAnim_LATIAS_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4496,7 +4495,7 @@ const union AnimCmd gAnimCmd_LATIAS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LATIAS_2[] = +static const union AnimCmd sAnim_LATIAS_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4505,7 +4504,7 @@ const union AnimCmd gAnimCmd_LATIAS_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LATIOS_1[] = +static const union AnimCmd sAnim_LATIOS_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4515,7 +4514,7 @@ const union AnimCmd gAnimCmd_LATIOS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LATIOS_2[] = +static const union AnimCmd sAnim_LATIOS_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4524,7 +4523,7 @@ const union AnimCmd gAnimCmd_LATIOS_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_JIRACHI_1[] = +static const union AnimCmd sAnim_JIRACHI_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4539,7 +4538,7 @@ const union AnimCmd gAnimCmd_JIRACHI_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_JIRACHI_2[] = +static const union AnimCmd sAnim_JIRACHI_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4548,7 +4547,7 @@ const union AnimCmd gAnimCmd_JIRACHI_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DEOXYS_1[] = +static const union AnimCmd sAnim_DEOXYS_1[] = { ANIMCMD_FRAME(0, 16), ANIMCMD_FRAME(1, 16), @@ -4558,7 +4557,7 @@ const union AnimCmd gAnimCmd_DEOXYS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DEOXYS_2[] = +static const union AnimCmd sAnim_DEOXYS_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4567,7 +4566,7 @@ const union AnimCmd gAnimCmd_DEOXYS_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CHIMECHO_1[] = +static const union AnimCmd sAnim_CHIMECHO_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4581,7 +4580,7 @@ const union AnimCmd gAnimCmd_CHIMECHO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_EGG_1[] = +static const union AnimCmd sAnim_EGG_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 6), @@ -4590,7 +4589,7 @@ const union AnimCmd gAnimCmd_EGG_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_B_1[] = +static const union AnimCmd sAnim_UNOWN_B_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4598,7 +4597,7 @@ const union AnimCmd gAnimCmd_UNOWN_B_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_C_1[] = +static const union AnimCmd sAnim_UNOWN_C_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4606,7 +4605,7 @@ const union AnimCmd gAnimCmd_UNOWN_C_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_D_1[] = +static const union AnimCmd sAnim_UNOWN_D_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4614,7 +4613,7 @@ const union AnimCmd gAnimCmd_UNOWN_D_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_E_1[] = +static const union AnimCmd sAnim_UNOWN_E_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4622,7 +4621,7 @@ const union AnimCmd gAnimCmd_UNOWN_E_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_F_1[] = +static const union AnimCmd sAnim_UNOWN_F_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4630,7 +4629,7 @@ const union AnimCmd gAnimCmd_UNOWN_F_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_G_1[] = +static const union AnimCmd sAnim_UNOWN_G_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4638,7 +4637,7 @@ const union AnimCmd gAnimCmd_UNOWN_G_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_H_1[] = +static const union AnimCmd sAnim_UNOWN_H_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4646,7 +4645,7 @@ const union AnimCmd gAnimCmd_UNOWN_H_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_I_1[] = +static const union AnimCmd sAnim_UNOWN_I_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4654,7 +4653,7 @@ const union AnimCmd gAnimCmd_UNOWN_I_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_J_1[] = +static const union AnimCmd sAnim_UNOWN_J_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4662,7 +4661,7 @@ const union AnimCmd gAnimCmd_UNOWN_J_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_K_1[] = +static const union AnimCmd sAnim_UNOWN_K_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4670,7 +4669,7 @@ const union AnimCmd gAnimCmd_UNOWN_K_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_L_1[] = +static const union AnimCmd sAnim_UNOWN_L_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4678,7 +4677,7 @@ const union AnimCmd gAnimCmd_UNOWN_L_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_M_1[] = +static const union AnimCmd sAnim_UNOWN_M_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4686,7 +4685,7 @@ const union AnimCmd gAnimCmd_UNOWN_M_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_N_1[] = +static const union AnimCmd sAnim_UNOWN_N_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4694,7 +4693,7 @@ const union AnimCmd gAnimCmd_UNOWN_N_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_O_1[] = +static const union AnimCmd sAnim_UNOWN_O_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4702,7 +4701,7 @@ const union AnimCmd gAnimCmd_UNOWN_O_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_P_1[] = +static const union AnimCmd sAnim_UNOWN_P_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4710,7 +4709,7 @@ const union AnimCmd gAnimCmd_UNOWN_P_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_Q_1[] = +static const union AnimCmd sAnim_UNOWN_Q_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4718,7 +4717,7 @@ const union AnimCmd gAnimCmd_UNOWN_Q_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_R_1[] = +static const union AnimCmd sAnim_UNOWN_R_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4726,7 +4725,7 @@ const union AnimCmd gAnimCmd_UNOWN_R_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_S_1[] = +static const union AnimCmd sAnim_UNOWN_S_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4734,7 +4733,7 @@ const union AnimCmd gAnimCmd_UNOWN_S_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_T_1[] = +static const union AnimCmd sAnim_UNOWN_T_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4742,7 +4741,7 @@ const union AnimCmd gAnimCmd_UNOWN_T_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_U_1[] = +static const union AnimCmd sAnim_UNOWN_U_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4750,7 +4749,7 @@ const union AnimCmd gAnimCmd_UNOWN_U_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_V_1[] = +static const union AnimCmd sAnim_UNOWN_V_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4758,7 +4757,7 @@ const union AnimCmd gAnimCmd_UNOWN_V_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_W_1[] = +static const union AnimCmd sAnim_UNOWN_W_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4766,7 +4765,7 @@ const union AnimCmd gAnimCmd_UNOWN_W_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_X_1[] = +static const union AnimCmd sAnim_UNOWN_X_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4774,7 +4773,7 @@ const union AnimCmd gAnimCmd_UNOWN_X_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_Y_1[] = +static const union AnimCmd sAnim_UNOWN_Y_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4782,7 +4781,7 @@ const union AnimCmd gAnimCmd_UNOWN_Y_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_Z_1[] = +static const union AnimCmd sAnim_UNOWN_Z_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4790,7 +4789,7 @@ const union AnimCmd gAnimCmd_UNOWN_Z_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_EMARK_1[] = +static const union AnimCmd sAnim_UNOWN_EMARK_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4798,2158 +4797,2158 @@ const union AnimCmd gAnimCmd_UNOWN_EMARK_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_QMARK_1[] = +static const union AnimCmd sAnim_UNOWN_QMARK_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; - -const union AnimCmd *const gAnims_NONE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NONE_1, + +static const union AnimCmd *const sAnims_NONE[] ={ + sAnim_GeneralFrame0, + sAnim_NONE_1, }; -const union AnimCmd *const gAnims_BULBASAUR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BULBASAUR_1, +static const union AnimCmd *const sAnims_BULBASAUR[] ={ + sAnim_GeneralFrame0, + sAnim_BULBASAUR_1, }; -const union AnimCmd *const gAnims_IVYSAUR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_IVYSAUR_1, +static const union AnimCmd *const sAnims_IVYSAUR[] ={ + sAnim_GeneralFrame0, + sAnim_IVYSAUR_1, }; -const union AnimCmd *const gAnims_VENUSAUR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_VENUSAUR_1, +static const union AnimCmd *const sAnims_VENUSAUR[] ={ + sAnim_GeneralFrame0, + sAnim_VENUSAUR_1, }; -const union AnimCmd *const gAnims_CHARMANDER[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CHARMANDER_1, +static const union AnimCmd *const sAnims_CHARMANDER[] ={ + sAnim_GeneralFrame0, + sAnim_CHARMANDER_1, }; -const union AnimCmd *const gAnims_CHARMELEON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CHARMELEON_1, +static const union AnimCmd *const sAnims_CHARMELEON[] ={ + sAnim_GeneralFrame0, + sAnim_CHARMELEON_1, }; -const union AnimCmd *const gAnims_CHARIZARD[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CHARIZARD_1, +static const union AnimCmd *const sAnims_CHARIZARD[] ={ + sAnim_GeneralFrame0, + sAnim_CHARIZARD_1, }; -const union AnimCmd *const gAnims_SQUIRTLE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SQUIRTLE_1, +static const union AnimCmd *const sAnims_SQUIRTLE[] ={ + sAnim_GeneralFrame0, + sAnim_SQUIRTLE_1, }; -const union AnimCmd *const gAnims_WARTORTLE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WARTORTLE_1, +static const union AnimCmd *const sAnims_WARTORTLE[] ={ + sAnim_GeneralFrame0, + sAnim_WARTORTLE_1, }; -const union AnimCmd *const gAnims_BLASTOISE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BLASTOISE_1, +static const union AnimCmd *const sAnims_BLASTOISE[] ={ + sAnim_GeneralFrame0, + sAnim_BLASTOISE_1, }; -const union AnimCmd *const gAnims_CATERPIE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CATERPIE_1, +static const union AnimCmd *const sAnims_CATERPIE[] ={ + sAnim_GeneralFrame0, + sAnim_CATERPIE_1, }; -const union AnimCmd *const gAnims_METAPOD[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_METAPOD_1, +static const union AnimCmd *const sAnims_METAPOD[] ={ + sAnim_GeneralFrame0, + sAnim_METAPOD_1, }; -const union AnimCmd *const gAnims_BUTTERFREE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BUTTERFREE_1, +static const union AnimCmd *const sAnims_BUTTERFREE[] ={ + sAnim_GeneralFrame0, + sAnim_BUTTERFREE_1, }; -const union AnimCmd *const gAnims_WEEDLE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WEEDLE_1, +static const union AnimCmd *const sAnims_WEEDLE[] ={ + sAnim_GeneralFrame0, + sAnim_WEEDLE_1, }; -const union AnimCmd *const gAnims_KAKUNA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_KAKUNA_1, +static const union AnimCmd *const sAnims_KAKUNA[] ={ + sAnim_GeneralFrame0, + sAnim_KAKUNA_1, }; -const union AnimCmd *const gAnims_BEEDRILL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BEEDRILL_1, +static const union AnimCmd *const sAnims_BEEDRILL[] ={ + sAnim_GeneralFrame0, + sAnim_BEEDRILL_1, }; -const union AnimCmd *const gAnims_PIDGEY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PIDGEY_1, +static const union AnimCmd *const sAnims_PIDGEY[] ={ + sAnim_GeneralFrame0, + sAnim_PIDGEY_1, }; -const union AnimCmd *const gAnims_PIDGEOTTO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PIDGEOTTO_1, +static const union AnimCmd *const sAnims_PIDGEOTTO[] ={ + sAnim_GeneralFrame0, + sAnim_PIDGEOTTO_1, }; -const union AnimCmd *const gAnims_PIDGEOT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PIDGEOT_1, +static const union AnimCmd *const sAnims_PIDGEOT[] ={ + sAnim_GeneralFrame0, + sAnim_PIDGEOT_1, }; -const union AnimCmd *const gAnims_RATTATA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_RATTATA_1, +static const union AnimCmd *const sAnims_RATTATA[] ={ + sAnim_GeneralFrame0, + sAnim_RATTATA_1, }; -const union AnimCmd *const gAnims_RATICATE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_RATICATE_1, +static const union AnimCmd *const sAnims_RATICATE[] ={ + sAnim_GeneralFrame0, + sAnim_RATICATE_1, }; -const union AnimCmd *const gAnims_SPEAROW[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SPEAROW_1, +static const union AnimCmd *const sAnims_SPEAROW[] ={ + sAnim_GeneralFrame0, + sAnim_SPEAROW_1, }; -const union AnimCmd *const gAnims_FEAROW[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_FEAROW_1, +static const union AnimCmd *const sAnims_FEAROW[] ={ + sAnim_GeneralFrame0, + sAnim_FEAROW_1, }; -const union AnimCmd *const gAnims_EKANS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_EKANS_1, +static const union AnimCmd *const sAnims_EKANS[] ={ + sAnim_GeneralFrame0, + sAnim_EKANS_1, }; -const union AnimCmd *const gAnims_ARBOK[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ARBOK_1, +static const union AnimCmd *const sAnims_ARBOK[] ={ + sAnim_GeneralFrame0, + sAnim_ARBOK_1, }; -const union AnimCmd *const gAnims_PIKACHU[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PIKACHU_1, - gAnimCmd_PIKACHU_2, +static const union AnimCmd *const sAnims_PIKACHU[] ={ + sAnim_GeneralFrame0, + sAnim_PIKACHU_1, + sAnim_PIKACHU_2, }; -const union AnimCmd *const gAnims_RAICHU[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_RAICHU_1, - gAnimCmd_RAICHU_2, +static const union AnimCmd *const sAnims_RAICHU[] ={ + sAnim_GeneralFrame0, + sAnim_RAICHU_1, + sAnim_RAICHU_2, }; -const union AnimCmd *const gAnims_SANDSHREW[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SANDSHREW_1, - gAnimCmd_SANDSHREW_2, +static const union AnimCmd *const sAnims_SANDSHREW[] ={ + sAnim_GeneralFrame0, + sAnim_SANDSHREW_1, + sAnim_SANDSHREW_2, }; -const union AnimCmd *const gAnims_SANDSLASH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SANDSLASH_1, - gAnimCmd_SANDSLASH_2, +static const union AnimCmd *const sAnims_SANDSLASH[] ={ + sAnim_GeneralFrame0, + sAnim_SANDSLASH_1, + sAnim_SANDSLASH_2, }; -const union AnimCmd *const gAnims_NIDORAN_F[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NIDORAN_F_1, +static const union AnimCmd *const sAnims_NIDORAN_F[] ={ + sAnim_GeneralFrame0, + sAnim_NIDORAN_F_1, }; -const union AnimCmd *const gAnims_NIDORINA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NIDORINA_1, +static const union AnimCmd *const sAnims_NIDORINA[] ={ + sAnim_GeneralFrame0, + sAnim_NIDORINA_1, }; -const union AnimCmd *const gAnims_NIDOQUEEN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NIDOQUEEN_1, +static const union AnimCmd *const sAnims_NIDOQUEEN[] ={ + sAnim_GeneralFrame0, + sAnim_NIDOQUEEN_1, }; -const union AnimCmd *const gAnims_NIDORAN_M[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NIDORAN_M_1, +static const union AnimCmd *const sAnims_NIDORAN_M[] ={ + sAnim_GeneralFrame0, + sAnim_NIDORAN_M_1, }; -const union AnimCmd *const gAnims_NIDORINO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NIDORINO_1, +static const union AnimCmd *const sAnims_NIDORINO[] ={ + sAnim_GeneralFrame0, + sAnim_NIDORINO_1, }; -const union AnimCmd *const gAnims_NIDOKING[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NIDOKING_1, +static const union AnimCmd *const sAnims_NIDOKING[] ={ + sAnim_GeneralFrame0, + sAnim_NIDOKING_1, }; -const union AnimCmd *const gAnims_CLEFAIRY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CLEFAIRY_1, +static const union AnimCmd *const sAnims_CLEFAIRY[] ={ + sAnim_GeneralFrame0, + sAnim_CLEFAIRY_1, }; -const union AnimCmd *const gAnims_CLEFABLE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CLEFABLE_1, +static const union AnimCmd *const sAnims_CLEFABLE[] ={ + sAnim_GeneralFrame0, + sAnim_CLEFABLE_1, }; -const union AnimCmd *const gAnims_VULPIX[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_VULPIX_1, - gAnimCmd_VULPIX_2, +static const union AnimCmd *const sAnims_VULPIX[] ={ + sAnim_GeneralFrame0, + sAnim_VULPIX_1, + sAnim_VULPIX_2, }; -const union AnimCmd *const gAnims_NINETALES[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NINETALES_1, - gAnimCmd_NINETALES_2, +static const union AnimCmd *const sAnims_NINETALES[] ={ + sAnim_GeneralFrame0, + sAnim_NINETALES_1, + sAnim_NINETALES_2, }; -const union AnimCmd *const gAnims_JIGGLYPUFF[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_JIGGLYPUFF_1, - gAnimCmd_JIGGLYPUFF_2, +static const union AnimCmd *const sAnims_JIGGLYPUFF[] ={ + sAnim_GeneralFrame0, + sAnim_JIGGLYPUFF_1, + sAnim_JIGGLYPUFF_2, }; -const union AnimCmd *const gAnims_WIGGLYTUFF[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WIGGLYTUFF_1, - gAnimCmd_WIGGLYTUFF_2, +static const union AnimCmd *const sAnims_WIGGLYTUFF[] ={ + sAnim_GeneralFrame0, + sAnim_WIGGLYTUFF_1, + sAnim_WIGGLYTUFF_2, }; -const union AnimCmd *const gAnims_ZUBAT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ZUBAT_1, +static const union AnimCmd *const sAnims_ZUBAT[] ={ + sAnim_GeneralFrame0, + sAnim_ZUBAT_1, }; -const union AnimCmd *const gAnims_GOLBAT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GOLBAT_1, +static const union AnimCmd *const sAnims_GOLBAT[] ={ + sAnim_GeneralFrame0, + sAnim_GOLBAT_1, }; -const union AnimCmd *const gAnims_ODDISH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ODDISH_1, +static const union AnimCmd *const sAnims_ODDISH[] ={ + sAnim_GeneralFrame0, + sAnim_ODDISH_1, }; -const union AnimCmd *const gAnims_GLOOM[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GLOOM_1, +static const union AnimCmd *const sAnims_GLOOM[] ={ + sAnim_GeneralFrame0, + sAnim_GLOOM_1, }; -const union AnimCmd *const gAnims_VILEPLUME[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_VILEPLUME_1, +static const union AnimCmd *const sAnims_VILEPLUME[] ={ + sAnim_GeneralFrame0, + sAnim_VILEPLUME_1, }; -const union AnimCmd *const gAnims_PARAS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PARAS_1, +static const union AnimCmd *const sAnims_PARAS[] ={ + sAnim_GeneralFrame0, + sAnim_PARAS_1, }; -const union AnimCmd *const gAnims_PARASECT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PARASECT_1, +static const union AnimCmd *const sAnims_PARASECT[] ={ + sAnim_GeneralFrame0, + sAnim_PARASECT_1, }; -const union AnimCmd *const gAnims_VENONAT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_VENONAT_1, +static const union AnimCmd *const sAnims_VENONAT[] ={ + sAnim_GeneralFrame0, + sAnim_VENONAT_1, }; -const union AnimCmd *const gAnims_VENOMOTH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_VENOMOTH_1, +static const union AnimCmd *const sAnims_VENOMOTH[] ={ + sAnim_GeneralFrame0, + sAnim_VENOMOTH_1, }; -const union AnimCmd *const gAnims_DIGLETT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DIGLETT_1, +static const union AnimCmd *const sAnims_DIGLETT[] ={ + sAnim_GeneralFrame0, + sAnim_DIGLETT_1, }; -const union AnimCmd *const gAnims_DUGTRIO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DUGTRIO_1, +static const union AnimCmd *const sAnims_DUGTRIO[] ={ + sAnim_GeneralFrame0, + sAnim_DUGTRIO_1, }; -const union AnimCmd *const gAnims_MEOWTH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MEOWTH_1, +static const union AnimCmd *const sAnims_MEOWTH[] ={ + sAnim_GeneralFrame0, + sAnim_MEOWTH_1, }; -const union AnimCmd *const gAnims_PERSIAN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PERSIAN_1, +static const union AnimCmd *const sAnims_PERSIAN[] ={ + sAnim_GeneralFrame0, + sAnim_PERSIAN_1, }; -const union AnimCmd *const gAnims_PSYDUCK[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PSYDUCK_1, - gAnimCmd_PSYDUCK_2, +static const union AnimCmd *const sAnims_PSYDUCK[] ={ + sAnim_GeneralFrame0, + sAnim_PSYDUCK_1, + sAnim_PSYDUCK_2, }; -const union AnimCmd *const gAnims_GOLDUCK[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GOLDUCK_1, - gAnimCmd_GOLDUCK_2, +static const union AnimCmd *const sAnims_GOLDUCK[] ={ + sAnim_GeneralFrame0, + sAnim_GOLDUCK_1, + sAnim_GOLDUCK_2, }; -const union AnimCmd *const gAnims_MANKEY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MANKEY_1, +static const union AnimCmd *const sAnims_MANKEY[] ={ + sAnim_GeneralFrame0, + sAnim_MANKEY_1, }; -const union AnimCmd *const gAnims_PRIMEAPE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PRIMEAPE_1, +static const union AnimCmd *const sAnims_PRIMEAPE[] ={ + sAnim_GeneralFrame0, + sAnim_PRIMEAPE_1, }; -const union AnimCmd *const gAnims_GROWLITHE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GROWLITHE_1, +static const union AnimCmd *const sAnims_GROWLITHE[] ={ + sAnim_GeneralFrame0, + sAnim_GROWLITHE_1, }; -const union AnimCmd *const gAnims_ARCANINE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ARCANINE_1, +static const union AnimCmd *const sAnims_ARCANINE[] ={ + sAnim_GeneralFrame0, + sAnim_ARCANINE_1, }; -const union AnimCmd *const gAnims_POLIWAG[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_POLIWAG_1, +static const union AnimCmd *const sAnims_POLIWAG[] ={ + sAnim_GeneralFrame0, + sAnim_POLIWAG_1, }; -const union AnimCmd *const gAnims_POLIWHIRL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_POLIWHIRL_1, +static const union AnimCmd *const sAnims_POLIWHIRL[] ={ + sAnim_GeneralFrame0, + sAnim_POLIWHIRL_1, }; -const union AnimCmd *const gAnims_POLIWRATH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_POLIWRATH_1, +static const union AnimCmd *const sAnims_POLIWRATH[] ={ + sAnim_GeneralFrame0, + sAnim_POLIWRATH_1, }; -const union AnimCmd *const gAnims_ABRA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ABRA_1, +static const union AnimCmd *const sAnims_ABRA[] ={ + sAnim_GeneralFrame0, + sAnim_ABRA_1, }; -const union AnimCmd *const gAnims_KADABRA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_KADABRA_1, +static const union AnimCmd *const sAnims_KADABRA[] ={ + sAnim_GeneralFrame0, + sAnim_KADABRA_1, }; -const union AnimCmd *const gAnims_ALAKAZAM[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ALAKAZAM_1, +static const union AnimCmd *const sAnims_ALAKAZAM[] ={ + sAnim_GeneralFrame0, + sAnim_ALAKAZAM_1, }; -const union AnimCmd *const gAnims_MACHOP[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MACHOP_1, +static const union AnimCmd *const sAnims_MACHOP[] ={ + sAnim_GeneralFrame0, + sAnim_MACHOP_1, }; -const union AnimCmd *const gAnims_MACHOKE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MACHOKE_1, +static const union AnimCmd *const sAnims_MACHOKE[] ={ + sAnim_GeneralFrame0, + sAnim_MACHOKE_1, }; -const union AnimCmd *const gAnims_MACHAMP[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MACHAMP_1, +static const union AnimCmd *const sAnims_MACHAMP[] ={ + sAnim_GeneralFrame0, + sAnim_MACHAMP_1, }; -const union AnimCmd *const gAnims_BELLSPROUT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BELLSPROUT_1, +static const union AnimCmd *const sAnims_BELLSPROUT[] ={ + sAnim_GeneralFrame0, + sAnim_BELLSPROUT_1, }; -const union AnimCmd *const gAnims_WEEPINBELL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WEEPINBELL_1, +static const union AnimCmd *const sAnims_WEEPINBELL[] ={ + sAnim_GeneralFrame0, + sAnim_WEEPINBELL_1, }; -const union AnimCmd *const gAnims_VICTREEBEL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_VICTREEBEL_1, +static const union AnimCmd *const sAnims_VICTREEBEL[] ={ + sAnim_GeneralFrame0, + sAnim_VICTREEBEL_1, }; -const union AnimCmd *const gAnims_TENTACOOL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TENTACOOL_1, +static const union AnimCmd *const sAnims_TENTACOOL[] ={ + sAnim_GeneralFrame0, + sAnim_TENTACOOL_1, }; -const union AnimCmd *const gAnims_TENTACRUEL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TENTACRUEL_1, +static const union AnimCmd *const sAnims_TENTACRUEL[] ={ + sAnim_GeneralFrame0, + sAnim_TENTACRUEL_1, }; -const union AnimCmd *const gAnims_GEODUDE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GEODUDE_1, +static const union AnimCmd *const sAnims_GEODUDE[] ={ + sAnim_GeneralFrame0, + sAnim_GEODUDE_1, }; -const union AnimCmd *const gAnims_GRAVELER[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GRAVELER_1, +static const union AnimCmd *const sAnims_GRAVELER[] ={ + sAnim_GeneralFrame0, + sAnim_GRAVELER_1, }; -const union AnimCmd *const gAnims_GOLEM[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GOLEM_1, +static const union AnimCmd *const sAnims_GOLEM[] ={ + sAnim_GeneralFrame0, + sAnim_GOLEM_1, }; -const union AnimCmd *const gAnims_PONYTA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PONYTA_1, +static const union AnimCmd *const sAnims_PONYTA[] ={ + sAnim_GeneralFrame0, + sAnim_PONYTA_1, }; -const union AnimCmd *const gAnims_RAPIDASH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_RAPIDASH_1, +static const union AnimCmd *const sAnims_RAPIDASH[] ={ + sAnim_GeneralFrame0, + sAnim_RAPIDASH_1, }; -const union AnimCmd *const gAnims_SLOWPOKE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SLOWPOKE_1, +static const union AnimCmd *const sAnims_SLOWPOKE[] ={ + sAnim_GeneralFrame0, + sAnim_SLOWPOKE_1, }; -const union AnimCmd *const gAnims_SLOWBRO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SLOWBRO_1, +static const union AnimCmd *const sAnims_SLOWBRO[] ={ + sAnim_GeneralFrame0, + sAnim_SLOWBRO_1, }; -const union AnimCmd *const gAnims_MAGNEMITE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MAGNEMITE_1, +static const union AnimCmd *const sAnims_MAGNEMITE[] ={ + sAnim_GeneralFrame0, + sAnim_MAGNEMITE_1, }; -const union AnimCmd *const gAnims_MAGNETON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MAGNETON_1, +static const union AnimCmd *const sAnims_MAGNETON[] ={ + sAnim_GeneralFrame0, + sAnim_MAGNETON_1, }; -const union AnimCmd *const gAnims_FARFETCHD[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_FARFETCHD_1, +static const union AnimCmd *const sAnims_FARFETCHD[] ={ + sAnim_GeneralFrame0, + sAnim_FARFETCHD_1, }; -const union AnimCmd *const gAnims_DODUO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DODUO_1, +static const union AnimCmd *const sAnims_DODUO[] ={ + sAnim_GeneralFrame0, + sAnim_DODUO_1, }; -const union AnimCmd *const gAnims_DODRIO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DODRIO_1, +static const union AnimCmd *const sAnims_DODRIO[] ={ + sAnim_GeneralFrame0, + sAnim_DODRIO_1, }; -const union AnimCmd *const gAnims_SEEL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SEEL_1, +static const union AnimCmd *const sAnims_SEEL[] ={ + sAnim_GeneralFrame0, + sAnim_SEEL_1, }; -const union AnimCmd *const gAnims_DEWGONG[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DEWGONG_1, +static const union AnimCmd *const sAnims_DEWGONG[] ={ + sAnim_GeneralFrame0, + sAnim_DEWGONG_1, }; -const union AnimCmd *const gAnims_GRIMER[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GRIMER_1, - gAnimCmd_GRIMER_2, +static const union AnimCmd *const sAnims_GRIMER[] ={ + sAnim_GeneralFrame0, + sAnim_GRIMER_1, + sAnim_GRIMER_2, }; -const union AnimCmd *const gAnims_MUK[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MUK_1, - gAnimCmd_MUK_2, +static const union AnimCmd *const sAnims_MUK[] ={ + sAnim_GeneralFrame0, + sAnim_MUK_1, + sAnim_MUK_2, }; -const union AnimCmd *const gAnims_SHELLDER[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SHELLDER_1, +static const union AnimCmd *const sAnims_SHELLDER[] ={ + sAnim_GeneralFrame0, + sAnim_SHELLDER_1, }; -const union AnimCmd *const gAnims_CLOYSTER[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CLOYSTER_1, +static const union AnimCmd *const sAnims_CLOYSTER[] ={ + sAnim_GeneralFrame0, + sAnim_CLOYSTER_1, }; -const union AnimCmd *const gAnims_GASTLY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GASTLY_1, +static const union AnimCmd *const sAnims_GASTLY[] ={ + sAnim_GeneralFrame0, + sAnim_GASTLY_1, }; -const union AnimCmd *const gAnims_HAUNTER[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_HAUNTER_1, +static const union AnimCmd *const sAnims_HAUNTER[] ={ + sAnim_GeneralFrame0, + sAnim_HAUNTER_1, }; -const union AnimCmd *const gAnims_GENGAR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GENGAR_1, +static const union AnimCmd *const sAnims_GENGAR[] ={ + sAnim_GeneralFrame0, + sAnim_GENGAR_1, }; -const union AnimCmd *const gAnims_ONIX[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ONIX_1, +static const union AnimCmd *const sAnims_ONIX[] ={ + sAnim_GeneralFrame0, + sAnim_ONIX_1, }; -const union AnimCmd *const gAnims_DROWZEE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DROWZEE_1, +static const union AnimCmd *const sAnims_DROWZEE[] ={ + sAnim_GeneralFrame0, + sAnim_DROWZEE_1, }; -const union AnimCmd *const gAnims_HYPNO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_HYPNO_1, +static const union AnimCmd *const sAnims_HYPNO[] ={ + sAnim_GeneralFrame0, + sAnim_HYPNO_1, }; -const union AnimCmd *const gAnims_KRABBY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_KRABBY_1, +static const union AnimCmd *const sAnims_KRABBY[] ={ + sAnim_GeneralFrame0, + sAnim_KRABBY_1, }; -const union AnimCmd *const gAnims_KINGLER[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_KINGLER_1, +static const union AnimCmd *const sAnims_KINGLER[] ={ + sAnim_GeneralFrame0, + sAnim_KINGLER_1, }; -const union AnimCmd *const gAnims_VOLTORB[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_VOLTORB_1, +static const union AnimCmd *const sAnims_VOLTORB[] ={ + sAnim_GeneralFrame0, + sAnim_VOLTORB_1, }; -const union AnimCmd *const gAnims_ELECTRODE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ELECTRODE_1, +static const union AnimCmd *const sAnims_ELECTRODE[] ={ + sAnim_GeneralFrame0, + sAnim_ELECTRODE_1, }; -const union AnimCmd *const gAnims_EXEGGCUTE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_EXEGGCUTE_1, +static const union AnimCmd *const sAnims_EXEGGCUTE[] ={ + sAnim_GeneralFrame0, + sAnim_EXEGGCUTE_1, }; -const union AnimCmd *const gAnims_EXEGGUTOR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_EXEGGUTOR_1, +static const union AnimCmd *const sAnims_EXEGGUTOR[] ={ + sAnim_GeneralFrame0, + sAnim_EXEGGUTOR_1, }; -const union AnimCmd *const gAnims_CUBONE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CUBONE_1, +static const union AnimCmd *const sAnims_CUBONE[] ={ + sAnim_GeneralFrame0, + sAnim_CUBONE_1, }; -const union AnimCmd *const gAnims_MAROWAK[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MAROWAK_1, +static const union AnimCmd *const sAnims_MAROWAK[] ={ + sAnim_GeneralFrame0, + sAnim_MAROWAK_1, }; -const union AnimCmd *const gAnims_HITMONLEE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_HITMONLEE_1, +static const union AnimCmd *const sAnims_HITMONLEE[] ={ + sAnim_GeneralFrame0, + sAnim_HITMONLEE_1, }; -const union AnimCmd *const gAnims_HITMONCHAN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_HITMONCHAN_1, +static const union AnimCmd *const sAnims_HITMONCHAN[] ={ + sAnim_GeneralFrame0, + sAnim_HITMONCHAN_1, }; -const union AnimCmd *const gAnims_LICKITUNG[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LICKITUNG_1, +static const union AnimCmd *const sAnims_LICKITUNG[] ={ + sAnim_GeneralFrame0, + sAnim_LICKITUNG_1, }; -const union AnimCmd *const gAnims_KOFFING[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_KOFFING_1, - gAnimCmd_KOFFING_2, +static const union AnimCmd *const sAnims_KOFFING[] ={ + sAnim_GeneralFrame0, + sAnim_KOFFING_1, + sAnim_KOFFING_2, }; -const union AnimCmd *const gAnims_WEEZING[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WEEZING_1, - gAnimCmd_WEEZING_2, +static const union AnimCmd *const sAnims_WEEZING[] ={ + sAnim_GeneralFrame0, + sAnim_WEEZING_1, + sAnim_WEEZING_2, }; -const union AnimCmd *const gAnims_RHYHORN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_RHYHORN_1, - gAnimCmd_RHYHORN_2, +static const union AnimCmd *const sAnims_RHYHORN[] ={ + sAnim_GeneralFrame0, + sAnim_RHYHORN_1, + sAnim_RHYHORN_2, }; -const union AnimCmd *const gAnims_RHYDON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_RHYDON_1, - gAnimCmd_RHYDON_2, +static const union AnimCmd *const sAnims_RHYDON[] ={ + sAnim_GeneralFrame0, + sAnim_RHYDON_1, + sAnim_RHYDON_2, }; -const union AnimCmd *const gAnims_CHANSEY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CHANSEY_1, +static const union AnimCmd *const sAnims_CHANSEY[] ={ + sAnim_GeneralFrame0, + sAnim_CHANSEY_1, }; -const union AnimCmd *const gAnims_TANGELA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TANGELA_1, +static const union AnimCmd *const sAnims_TANGELA[] ={ + sAnim_GeneralFrame0, + sAnim_TANGELA_1, }; -const union AnimCmd *const gAnims_KANGASKHAN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_KANGASKHAN_1, +static const union AnimCmd *const sAnims_KANGASKHAN[] ={ + sAnim_GeneralFrame0, + sAnim_KANGASKHAN_1, }; -const union AnimCmd *const gAnims_HORSEA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_HORSEA_1, - gAnimCmd_HORSEA_2, +static const union AnimCmd *const sAnims_HORSEA[] ={ + sAnim_GeneralFrame0, + sAnim_HORSEA_1, + sAnim_HORSEA_2, }; -const union AnimCmd *const gAnims_SEADRA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SEADRA_1, - gAnimCmd_SEADRA_2, +static const union AnimCmd *const sAnims_SEADRA[] ={ + sAnim_GeneralFrame0, + sAnim_SEADRA_1, + sAnim_SEADRA_2, }; -const union AnimCmd *const gAnims_GOLDEEN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GOLDEEN_1, +static const union AnimCmd *const sAnims_GOLDEEN[] ={ + sAnim_GeneralFrame0, + sAnim_GOLDEEN_1, }; -const union AnimCmd *const gAnims_SEAKING[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SEAKING_1, +static const union AnimCmd *const sAnims_SEAKING[] ={ + sAnim_GeneralFrame0, + sAnim_SEAKING_1, }; -const union AnimCmd *const gAnims_STARYU[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_STARYU_1, - gAnimCmd_STARYU_2, +static const union AnimCmd *const sAnims_STARYU[] ={ + sAnim_GeneralFrame0, + sAnim_STARYU_1, + sAnim_STARYU_2, }; -const union AnimCmd *const gAnims_STARMIE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_STARMIE_1, - gAnimCmd_STARMIE_2, +static const union AnimCmd *const sAnims_STARMIE[] ={ + sAnim_GeneralFrame0, + sAnim_STARMIE_1, + sAnim_STARMIE_2, }; -const union AnimCmd *const gAnims_MR_MIME[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MR_MIME_1, +static const union AnimCmd *const sAnims_MR_MIME[] ={ + sAnim_GeneralFrame0, + sAnim_MR_MIME_1, }; -const union AnimCmd *const gAnims_SCYTHER[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SCYTHER_1, +static const union AnimCmd *const sAnims_SCYTHER[] ={ + sAnim_GeneralFrame0, + sAnim_SCYTHER_1, }; -const union AnimCmd *const gAnims_JYNX[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_JYNX_1, +static const union AnimCmd *const sAnims_JYNX[] ={ + sAnim_GeneralFrame0, + sAnim_JYNX_1, }; -const union AnimCmd *const gAnims_ELECTABUZZ[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ELECTABUZZ_1, +static const union AnimCmd *const sAnims_ELECTABUZZ[] ={ + sAnim_GeneralFrame0, + sAnim_ELECTABUZZ_1, }; -const union AnimCmd *const gAnims_MAGMAR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MAGMAR_1, +static const union AnimCmd *const sAnims_MAGMAR[] ={ + sAnim_GeneralFrame0, + sAnim_MAGMAR_1, }; -const union AnimCmd *const gAnims_PINSIR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PINSIR_1, - gAnimCmd_PINSIR_2, +static const union AnimCmd *const sAnims_PINSIR[] ={ + sAnim_GeneralFrame0, + sAnim_PINSIR_1, + sAnim_PINSIR_2, }; -const union AnimCmd *const gAnims_TAUROS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TAUROS_1, +static const union AnimCmd *const sAnims_TAUROS[] ={ + sAnim_GeneralFrame0, + sAnim_TAUROS_1, }; -const union AnimCmd *const gAnims_MAGIKARP[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MAGIKARP_1, +static const union AnimCmd *const sAnims_MAGIKARP[] ={ + sAnim_GeneralFrame0, + sAnim_MAGIKARP_1, }; -const union AnimCmd *const gAnims_GYARADOS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GYARADOS_1, +static const union AnimCmd *const sAnims_GYARADOS[] ={ + sAnim_GeneralFrame0, + sAnim_GYARADOS_1, }; -const union AnimCmd *const gAnims_LAPRAS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LAPRAS_1, +static const union AnimCmd *const sAnims_LAPRAS[] ={ + sAnim_GeneralFrame0, + sAnim_LAPRAS_1, }; -const union AnimCmd *const gAnims_DITTO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DITTO_1, +static const union AnimCmd *const sAnims_DITTO[] ={ + sAnim_GeneralFrame0, + sAnim_DITTO_1, }; -const union AnimCmd *const gAnims_EEVEE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_EEVEE_1, +static const union AnimCmd *const sAnims_EEVEE[] ={ + sAnim_GeneralFrame0, + sAnim_EEVEE_1, }; -const union AnimCmd *const gAnims_VAPOREON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_VAPOREON_1, +static const union AnimCmd *const sAnims_VAPOREON[] ={ + sAnim_GeneralFrame0, + sAnim_VAPOREON_1, }; -const union AnimCmd *const gAnims_JOLTEON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_JOLTEON_1, +static const union AnimCmd *const sAnims_JOLTEON[] ={ + sAnim_GeneralFrame0, + sAnim_JOLTEON_1, }; -const union AnimCmd *const gAnims_FLAREON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_FLAREON_1, +static const union AnimCmd *const sAnims_FLAREON[] ={ + sAnim_GeneralFrame0, + sAnim_FLAREON_1, }; -const union AnimCmd *const gAnims_PORYGON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PORYGON_1, +static const union AnimCmd *const sAnims_PORYGON[] ={ + sAnim_GeneralFrame0, + sAnim_PORYGON_1, }; -const union AnimCmd *const gAnims_OMANYTE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_OMANYTE_1, +static const union AnimCmd *const sAnims_OMANYTE[] ={ + sAnim_GeneralFrame0, + sAnim_OMANYTE_1, }; -const union AnimCmd *const gAnims_OMASTAR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_OMASTAR_1, +static const union AnimCmd *const sAnims_OMASTAR[] ={ + sAnim_GeneralFrame0, + sAnim_OMASTAR_1, }; -const union AnimCmd *const gAnims_KABUTO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_KABUTO_1, +static const union AnimCmd *const sAnims_KABUTO[] ={ + sAnim_GeneralFrame0, + sAnim_KABUTO_1, }; -const union AnimCmd *const gAnims_KABUTOPS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_KABUTOPS_1, +static const union AnimCmd *const sAnims_KABUTOPS[] ={ + sAnim_GeneralFrame0, + sAnim_KABUTOPS_1, }; -const union AnimCmd *const gAnims_AERODACTYL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_AERODACTYL_1, +static const union AnimCmd *const sAnims_AERODACTYL[] ={ + sAnim_GeneralFrame0, + sAnim_AERODACTYL_1, }; -const union AnimCmd *const gAnims_SNORLAX[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SNORLAX_1, +static const union AnimCmd *const sAnims_SNORLAX[] ={ + sAnim_GeneralFrame0, + sAnim_SNORLAX_1, }; -const union AnimCmd *const gAnims_ARTICUNO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ARTICUNO_1, +static const union AnimCmd *const sAnims_ARTICUNO[] ={ + sAnim_GeneralFrame0, + sAnim_ARTICUNO_1, }; -const union AnimCmd *const gAnims_ZAPDOS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ZAPDOS_1, +static const union AnimCmd *const sAnims_ZAPDOS[] ={ + sAnim_GeneralFrame0, + sAnim_ZAPDOS_1, }; -const union AnimCmd *const gAnims_MOLTRES[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MOLTRES_1, +static const union AnimCmd *const sAnims_MOLTRES[] ={ + sAnim_GeneralFrame0, + sAnim_MOLTRES_1, }; -const union AnimCmd *const gAnims_DRATINI[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DRATINI_1, +static const union AnimCmd *const sAnims_DRATINI[] ={ + sAnim_GeneralFrame0, + sAnim_DRATINI_1, }; -const union AnimCmd *const gAnims_DRAGONAIR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DRAGONAIR_1, +static const union AnimCmd *const sAnims_DRAGONAIR[] ={ + sAnim_GeneralFrame0, + sAnim_DRAGONAIR_1, }; -const union AnimCmd *const gAnims_DRAGONITE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DRAGONITE_1, +static const union AnimCmd *const sAnims_DRAGONITE[] ={ + sAnim_GeneralFrame0, + sAnim_DRAGONITE_1, }; -const union AnimCmd *const gAnims_MEWTWO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MEWTWO_1, +static const union AnimCmd *const sAnims_MEWTWO[] ={ + sAnim_GeneralFrame0, + sAnim_MEWTWO_1, }; -const union AnimCmd *const gAnims_MEW[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MEW_1, +static const union AnimCmd *const sAnims_MEW[] ={ + sAnim_GeneralFrame0, + sAnim_MEW_1, }; -const union AnimCmd *const gAnims_CHIKORITA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CHIKORITA_1, +static const union AnimCmd *const sAnims_CHIKORITA[] ={ + sAnim_GeneralFrame0, + sAnim_CHIKORITA_1, }; -const union AnimCmd *const gAnims_BAYLEEF[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BAYLEEF_1, +static const union AnimCmd *const sAnims_BAYLEEF[] ={ + sAnim_GeneralFrame0, + sAnim_BAYLEEF_1, }; -const union AnimCmd *const gAnims_MEGANIUM[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MEGANIUM_1, +static const union AnimCmd *const sAnims_MEGANIUM[] ={ + sAnim_GeneralFrame0, + sAnim_MEGANIUM_1, }; -const union AnimCmd *const gAnims_CYNDAQUIL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CYNDAQUIL_1, +static const union AnimCmd *const sAnims_CYNDAQUIL[] ={ + sAnim_GeneralFrame0, + sAnim_CYNDAQUIL_1, }; -const union AnimCmd *const gAnims_QUILAVA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_QUILAVA_1, +static const union AnimCmd *const sAnims_QUILAVA[] ={ + sAnim_GeneralFrame0, + sAnim_QUILAVA_1, }; -const union AnimCmd *const gAnims_TYPHLOSION[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TYPHLOSION_1, +static const union AnimCmd *const sAnims_TYPHLOSION[] ={ + sAnim_GeneralFrame0, + sAnim_TYPHLOSION_1, }; -const union AnimCmd *const gAnims_TOTODILE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TOTODILE_1, +static const union AnimCmd *const sAnims_TOTODILE[] ={ + sAnim_GeneralFrame0, + sAnim_TOTODILE_1, }; -const union AnimCmd *const gAnims_CROCONAW[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CROCONAW_1, +static const union AnimCmd *const sAnims_CROCONAW[] ={ + sAnim_GeneralFrame0, + sAnim_CROCONAW_1, }; -const union AnimCmd *const gAnims_FERALIGATR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_FERALIGATR_1, +static const union AnimCmd *const sAnims_FERALIGATR[] ={ + sAnim_GeneralFrame0, + sAnim_FERALIGATR_1, }; -const union AnimCmd *const gAnims_SENTRET[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SENTRET_1, +static const union AnimCmd *const sAnims_SENTRET[] ={ + sAnim_GeneralFrame0, + sAnim_SENTRET_1, }; -const union AnimCmd *const gAnims_FURRET[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_FURRET_1, +static const union AnimCmd *const sAnims_FURRET[] ={ + sAnim_GeneralFrame0, + sAnim_FURRET_1, }; -const union AnimCmd *const gAnims_HOOTHOOT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_HOOTHOOT_1, +static const union AnimCmd *const sAnims_HOOTHOOT[] ={ + sAnim_GeneralFrame0, + sAnim_HOOTHOOT_1, }; -const union AnimCmd *const gAnims_NOCTOWL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NOCTOWL_1, +static const union AnimCmd *const sAnims_NOCTOWL[] ={ + sAnim_GeneralFrame0, + sAnim_NOCTOWL_1, }; -const union AnimCmd *const gAnims_LEDYBA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LEDYBA_1, +static const union AnimCmd *const sAnims_LEDYBA[] ={ + sAnim_GeneralFrame0, + sAnim_LEDYBA_1, }; -const union AnimCmd *const gAnims_LEDIAN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LEDIAN_1, +static const union AnimCmd *const sAnims_LEDIAN[] ={ + sAnim_GeneralFrame0, + sAnim_LEDIAN_1, }; -const union AnimCmd *const gAnims_SPINARAK[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SPINARAK_1, +static const union AnimCmd *const sAnims_SPINARAK[] ={ + sAnim_GeneralFrame0, + sAnim_SPINARAK_1, }; -const union AnimCmd *const gAnims_ARIADOS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ARIADOS_1, +static const union AnimCmd *const sAnims_ARIADOS[] ={ + sAnim_GeneralFrame0, + sAnim_ARIADOS_1, }; -const union AnimCmd *const gAnims_CROBAT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CROBAT_1, +static const union AnimCmd *const sAnims_CROBAT[] ={ + sAnim_GeneralFrame0, + sAnim_CROBAT_1, }; -const union AnimCmd *const gAnims_CHINCHOU[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CHINCHOU_1, - gAnimCmd_CHINCHOU_2, +static const union AnimCmd *const sAnims_CHINCHOU[] ={ + sAnim_GeneralFrame0, + sAnim_CHINCHOU_1, + sAnim_CHINCHOU_2, }; -const union AnimCmd *const gAnims_LANTURN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LANTURN_1, - gAnimCmd_LANTURN_2, +static const union AnimCmd *const sAnims_LANTURN[] ={ + sAnim_GeneralFrame0, + sAnim_LANTURN_1, + sAnim_LANTURN_2, }; -const union AnimCmd *const gAnims_PICHU[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PICHU_1, - gAnimCmd_PICHU_2, +static const union AnimCmd *const sAnims_PICHU[] ={ + sAnim_GeneralFrame0, + sAnim_PICHU_1, + sAnim_PICHU_2, }; -const union AnimCmd *const gAnims_CLEFFA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CLEFFA_1, +static const union AnimCmd *const sAnims_CLEFFA[] ={ + sAnim_GeneralFrame0, + sAnim_CLEFFA_1, }; -const union AnimCmd *const gAnims_IGGLYBUFF[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_IGGLYBUFF_1, - gAnimCmd_IGGLYBUFF_2, +static const union AnimCmd *const sAnims_IGGLYBUFF[] ={ + sAnim_GeneralFrame0, + sAnim_IGGLYBUFF_1, + sAnim_IGGLYBUFF_2, }; -const union AnimCmd *const gAnims_TOGEPI[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TOGEPI_1, +static const union AnimCmd *const sAnims_TOGEPI[] ={ + sAnim_GeneralFrame0, + sAnim_TOGEPI_1, }; -const union AnimCmd *const gAnims_TOGETIC[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TOGETIC_1, +static const union AnimCmd *const sAnims_TOGETIC[] ={ + sAnim_GeneralFrame0, + sAnim_TOGETIC_1, }; -const union AnimCmd *const gAnims_NATU[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NATU_1, - gAnimCmd_NATU_2, +static const union AnimCmd *const sAnims_NATU[] ={ + sAnim_GeneralFrame0, + sAnim_NATU_1, + sAnim_NATU_2, }; -const union AnimCmd *const gAnims_XATU[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_XATU_1, - gAnimCmd_XATU_2, +static const union AnimCmd *const sAnims_XATU[] ={ + sAnim_GeneralFrame0, + sAnim_XATU_1, + sAnim_XATU_2, }; -const union AnimCmd *const gAnims_MAREEP[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MAREEP_1, +static const union AnimCmd *const sAnims_MAREEP[] ={ + sAnim_GeneralFrame0, + sAnim_MAREEP_1, }; -const union AnimCmd *const gAnims_FLAAFFY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_FLAAFFY_1, +static const union AnimCmd *const sAnims_FLAAFFY[] ={ + sAnim_GeneralFrame0, + sAnim_FLAAFFY_1, }; -const union AnimCmd *const gAnims_AMPHAROS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_AMPHAROS_1, +static const union AnimCmd *const sAnims_AMPHAROS[] ={ + sAnim_GeneralFrame0, + sAnim_AMPHAROS_1, }; -const union AnimCmd *const gAnims_BELLOSSOM[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BELLOSSOM_1, +static const union AnimCmd *const sAnims_BELLOSSOM[] ={ + sAnim_GeneralFrame0, + sAnim_BELLOSSOM_1, }; -const union AnimCmd *const gAnims_MARILL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MARILL_1, +static const union AnimCmd *const sAnims_MARILL[] ={ + sAnim_GeneralFrame0, + sAnim_MARILL_1, }; -const union AnimCmd *const gAnims_AZUMARILL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_AZUMARILL_1, +static const union AnimCmd *const sAnims_AZUMARILL[] ={ + sAnim_GeneralFrame0, + sAnim_AZUMARILL_1, }; -const union AnimCmd *const gAnims_SUDOWOODO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SUDOWOODO_1, +static const union AnimCmd *const sAnims_SUDOWOODO[] ={ + sAnim_GeneralFrame0, + sAnim_SUDOWOODO_1, }; -const union AnimCmd *const gAnims_POLITOED[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_POLITOED_1, +static const union AnimCmd *const sAnims_POLITOED[] ={ + sAnim_GeneralFrame0, + sAnim_POLITOED_1, }; -const union AnimCmd *const gAnims_HOPPIP[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_HOPPIP_1, +static const union AnimCmd *const sAnims_HOPPIP[] ={ + sAnim_GeneralFrame0, + sAnim_HOPPIP_1, }; -const union AnimCmd *const gAnims_SKIPLOOM[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SKIPLOOM_1, +static const union AnimCmd *const sAnims_SKIPLOOM[] ={ + sAnim_GeneralFrame0, + sAnim_SKIPLOOM_1, }; -const union AnimCmd *const gAnims_JUMPLUFF[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_JUMPLUFF_1, +static const union AnimCmd *const sAnims_JUMPLUFF[] ={ + sAnim_GeneralFrame0, + sAnim_JUMPLUFF_1, }; -const union AnimCmd *const gAnims_AIPOM[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_AIPOM_1, +static const union AnimCmd *const sAnims_AIPOM[] ={ + sAnim_GeneralFrame0, + sAnim_AIPOM_1, }; -const union AnimCmd *const gAnims_SUNKERN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SUNKERN_1, +static const union AnimCmd *const sAnims_SUNKERN[] ={ + sAnim_GeneralFrame0, + sAnim_SUNKERN_1, }; -const union AnimCmd *const gAnims_SUNFLORA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SUNFLORA_1, +static const union AnimCmd *const sAnims_SUNFLORA[] ={ + sAnim_GeneralFrame0, + sAnim_SUNFLORA_1, }; -const union AnimCmd *const gAnims_YANMA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_YANMA_1, +static const union AnimCmd *const sAnims_YANMA[] ={ + sAnim_GeneralFrame0, + sAnim_YANMA_1, }; -const union AnimCmd *const gAnims_WOOPER[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WOOPER_1, +static const union AnimCmd *const sAnims_WOOPER[] ={ + sAnim_GeneralFrame0, + sAnim_WOOPER_1, }; -const union AnimCmd *const gAnims_QUAGSIRE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_QUAGSIRE_1, +static const union AnimCmd *const sAnims_QUAGSIRE[] ={ + sAnim_GeneralFrame0, + sAnim_QUAGSIRE_1, }; -const union AnimCmd *const gAnims_ESPEON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ESPEON_1, +static const union AnimCmd *const sAnims_ESPEON[] ={ + sAnim_GeneralFrame0, + sAnim_ESPEON_1, }; -const union AnimCmd *const gAnims_UMBREON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UMBREON_1, +static const union AnimCmd *const sAnims_UMBREON[] ={ + sAnim_GeneralFrame0, + sAnim_UMBREON_1, }; -const union AnimCmd *const gAnims_MURKROW[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MURKROW_1, +static const union AnimCmd *const sAnims_MURKROW[] ={ + sAnim_GeneralFrame0, + sAnim_MURKROW_1, }; -const union AnimCmd *const gAnims_SLOWKING[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SLOWKING_1, +static const union AnimCmd *const sAnims_SLOWKING[] ={ + sAnim_GeneralFrame0, + sAnim_SLOWKING_1, }; -const union AnimCmd *const gAnims_MISDREAVUS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MISDREAVUS_1, +static const union AnimCmd *const sAnims_MISDREAVUS[] ={ + sAnim_GeneralFrame0, + sAnim_MISDREAVUS_1, }; -const union AnimCmd *const gAnims_UNOWN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_1, +static const union AnimCmd *const sAnims_UNOWN[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_1, }; -const union AnimCmd *const gAnims_WOBBUFFET[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WOBBUFFET_1, - gAnimCmd_WOBBUFFET_2, +static const union AnimCmd *const sAnims_WOBBUFFET[] ={ + sAnim_GeneralFrame0, + sAnim_WOBBUFFET_1, + sAnim_WOBBUFFET_2, }; -const union AnimCmd *const gAnims_GIRAFARIG[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GIRAFARIG_1, - gAnimCmd_GIRAFARIG_2, +static const union AnimCmd *const sAnims_GIRAFARIG[] ={ + sAnim_GeneralFrame0, + sAnim_GIRAFARIG_1, + sAnim_GIRAFARIG_2, }; -const union AnimCmd *const gAnims_PINECO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PINECO_1, +static const union AnimCmd *const sAnims_PINECO[] ={ + sAnim_GeneralFrame0, + sAnim_PINECO_1, }; -const union AnimCmd *const gAnims_FORRETRESS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_FORRETRESS_1, +static const union AnimCmd *const sAnims_FORRETRESS[] ={ + sAnim_GeneralFrame0, + sAnim_FORRETRESS_1, }; -const union AnimCmd *const gAnims_DUNSPARCE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DUNSPARCE_1, +static const union AnimCmd *const sAnims_DUNSPARCE[] ={ + sAnim_GeneralFrame0, + sAnim_DUNSPARCE_1, }; -const union AnimCmd *const gAnims_GLIGAR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GLIGAR_1, +static const union AnimCmd *const sAnims_GLIGAR[] ={ + sAnim_GeneralFrame0, + sAnim_GLIGAR_1, }; -const union AnimCmd *const gAnims_STEELIX[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_STEELIX_1, +static const union AnimCmd *const sAnims_STEELIX[] ={ + sAnim_GeneralFrame0, + sAnim_STEELIX_1, }; -const union AnimCmd *const gAnims_SNUBBULL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SNUBBULL_1, +static const union AnimCmd *const sAnims_SNUBBULL[] ={ + sAnim_GeneralFrame0, + sAnim_SNUBBULL_1, }; -const union AnimCmd *const gAnims_GRANBULL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GRANBULL_1, +static const union AnimCmd *const sAnims_GRANBULL[] ={ + sAnim_GeneralFrame0, + sAnim_GRANBULL_1, }; -const union AnimCmd *const gAnims_QWILFISH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_QWILFISH_1, +static const union AnimCmd *const sAnims_QWILFISH[] ={ + sAnim_GeneralFrame0, + sAnim_QWILFISH_1, }; -const union AnimCmd *const gAnims_SCIZOR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SCIZOR_1, +static const union AnimCmd *const sAnims_SCIZOR[] ={ + sAnim_GeneralFrame0, + sAnim_SCIZOR_1, }; -const union AnimCmd *const gAnims_SHUCKLE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SHUCKLE_1, +static const union AnimCmd *const sAnims_SHUCKLE[] ={ + sAnim_GeneralFrame0, + sAnim_SHUCKLE_1, }; -const union AnimCmd *const gAnims_HERACROSS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_HERACROSS_1, - gAnimCmd_HERACROSS_2, +static const union AnimCmd *const sAnims_HERACROSS[] ={ + sAnim_GeneralFrame0, + sAnim_HERACROSS_1, + sAnim_HERACROSS_2, }; -const union AnimCmd *const gAnims_SNEASEL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SNEASEL_1, +static const union AnimCmd *const sAnims_SNEASEL[] ={ + sAnim_GeneralFrame0, + sAnim_SNEASEL_1, }; -const union AnimCmd *const gAnims_TEDDIURSA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TEDDIURSA_1, +static const union AnimCmd *const sAnims_TEDDIURSA[] ={ + sAnim_GeneralFrame0, + sAnim_TEDDIURSA_1, }; -const union AnimCmd *const gAnims_URSARING[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_URSARING_1, +static const union AnimCmd *const sAnims_URSARING[] ={ + sAnim_GeneralFrame0, + sAnim_URSARING_1, }; -const union AnimCmd *const gAnims_SLUGMA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SLUGMA_1, - gAnimCmd_SLUGMA_2, +static const union AnimCmd *const sAnims_SLUGMA[] ={ + sAnim_GeneralFrame0, + sAnim_SLUGMA_1, + sAnim_SLUGMA_2, }; -const union AnimCmd *const gAnims_MAGCARGO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MAGCARGO_1, - gAnimCmd_MAGCARGO_2, +static const union AnimCmd *const sAnims_MAGCARGO[] ={ + sAnim_GeneralFrame0, + sAnim_MAGCARGO_1, + sAnim_MAGCARGO_2, }; -const union AnimCmd *const gAnims_SWINUB[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SWINUB_1, +static const union AnimCmd *const sAnims_SWINUB[] ={ + sAnim_GeneralFrame0, + sAnim_SWINUB_1, }; -const union AnimCmd *const gAnims_PILOSWINE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PILOSWINE_1, +static const union AnimCmd *const sAnims_PILOSWINE[] ={ + sAnim_GeneralFrame0, + sAnim_PILOSWINE_1, }; -const union AnimCmd *const gAnims_CORSOLA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CORSOLA_1, - gAnimCmd_CORSOLA_2, +static const union AnimCmd *const sAnims_CORSOLA[] ={ + sAnim_GeneralFrame0, + sAnim_CORSOLA_1, + sAnim_CORSOLA_2, }; -const union AnimCmd *const gAnims_REMORAID[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_REMORAID_1, +static const union AnimCmd *const sAnims_REMORAID[] ={ + sAnim_GeneralFrame0, + sAnim_REMORAID_1, }; -const union AnimCmd *const gAnims_OCTILLERY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_OCTILLERY_1, +static const union AnimCmd *const sAnims_OCTILLERY[] ={ + sAnim_GeneralFrame0, + sAnim_OCTILLERY_1, }; -const union AnimCmd *const gAnims_DELIBIRD[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DELIBIRD_1, +static const union AnimCmd *const sAnims_DELIBIRD[] ={ + sAnim_GeneralFrame0, + sAnim_DELIBIRD_1, }; -const union AnimCmd *const gAnims_MANTINE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MANTINE_1, +static const union AnimCmd *const sAnims_MANTINE[] ={ + sAnim_GeneralFrame0, + sAnim_MANTINE_1, }; -const union AnimCmd *const gAnims_SKARMORY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SKARMORY_1, - gAnimCmd_SKARMORY_2, +static const union AnimCmd *const sAnims_SKARMORY[] ={ + sAnim_GeneralFrame0, + sAnim_SKARMORY_1, + sAnim_SKARMORY_2, }; -const union AnimCmd *const gAnims_HOUNDOUR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_HOUNDOUR_1, +static const union AnimCmd *const sAnims_HOUNDOUR[] ={ + sAnim_GeneralFrame0, + sAnim_HOUNDOUR_1, }; -const union AnimCmd *const gAnims_HOUNDOOM[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_HOUNDOOM_1, +static const union AnimCmd *const sAnims_HOUNDOOM[] ={ + sAnim_GeneralFrame0, + sAnim_HOUNDOOM_1, }; -const union AnimCmd *const gAnims_KINGDRA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_KINGDRA_1, - gAnimCmd_KINGDRA_2, +static const union AnimCmd *const sAnims_KINGDRA[] ={ + sAnim_GeneralFrame0, + sAnim_KINGDRA_1, + sAnim_KINGDRA_2, }; -const union AnimCmd *const gAnims_PHANPY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PHANPY_1, - gAnimCmd_PHANPY_2, +static const union AnimCmd *const sAnims_PHANPY[] ={ + sAnim_GeneralFrame0, + sAnim_PHANPY_1, + sAnim_PHANPY_2, }; -const union AnimCmd *const gAnims_DONPHAN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DONPHAN_1, - gAnimCmd_DONPHAN_2, +static const union AnimCmd *const sAnims_DONPHAN[] ={ + sAnim_GeneralFrame0, + sAnim_DONPHAN_1, + sAnim_DONPHAN_2, }; -const union AnimCmd *const gAnims_PORYGON2[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PORYGON2_1, +static const union AnimCmd *const sAnims_PORYGON2[] ={ + sAnim_GeneralFrame0, + sAnim_PORYGON2_1, }; -const union AnimCmd *const gAnims_STANTLER[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_STANTLER_1, +static const union AnimCmd *const sAnims_STANTLER[] ={ + sAnim_GeneralFrame0, + sAnim_STANTLER_1, }; -const union AnimCmd *const gAnims_SMEARGLE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SMEARGLE_1, +static const union AnimCmd *const sAnims_SMEARGLE[] ={ + sAnim_GeneralFrame0, + sAnim_SMEARGLE_1, }; -const union AnimCmd *const gAnims_TYROGUE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TYROGUE_1, +static const union AnimCmd *const sAnims_TYROGUE[] ={ + sAnim_GeneralFrame0, + sAnim_TYROGUE_1, }; -const union AnimCmd *const gAnims_HITMONTOP[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_HITMONTOP_1, +static const union AnimCmd *const sAnims_HITMONTOP[] ={ + sAnim_GeneralFrame0, + sAnim_HITMONTOP_1, }; -const union AnimCmd *const gAnims_SMOOCHUM[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SMOOCHUM_1, +static const union AnimCmd *const sAnims_SMOOCHUM[] ={ + sAnim_GeneralFrame0, + sAnim_SMOOCHUM_1, }; -const union AnimCmd *const gAnims_ELEKID[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ELEKID_1, +static const union AnimCmd *const sAnims_ELEKID[] ={ + sAnim_GeneralFrame0, + sAnim_ELEKID_1, }; -const union AnimCmd *const gAnims_MAGBY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MAGBY_1, +static const union AnimCmd *const sAnims_MAGBY[] ={ + sAnim_GeneralFrame0, + sAnim_MAGBY_1, }; -const union AnimCmd *const gAnims_MILTANK[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MILTANK_1, +static const union AnimCmd *const sAnims_MILTANK[] ={ + sAnim_GeneralFrame0, + sAnim_MILTANK_1, }; -const union AnimCmd *const gAnims_BLISSEY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BLISSEY_1, +static const union AnimCmd *const sAnims_BLISSEY[] ={ + sAnim_GeneralFrame0, + sAnim_BLISSEY_1, }; -const union AnimCmd *const gAnims_RAIKOU[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_RAIKOU_1, +static const union AnimCmd *const sAnims_RAIKOU[] ={ + sAnim_GeneralFrame0, + sAnim_RAIKOU_1, }; -const union AnimCmd *const gAnims_ENTEI[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ENTEI_1, +static const union AnimCmd *const sAnims_ENTEI[] ={ + sAnim_GeneralFrame0, + sAnim_ENTEI_1, }; -const union AnimCmd *const gAnims_SUICUNE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SUICUNE_1, +static const union AnimCmd *const sAnims_SUICUNE[] ={ + sAnim_GeneralFrame0, + sAnim_SUICUNE_1, }; -const union AnimCmd *const gAnims_LARVITAR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LARVITAR_1, +static const union AnimCmd *const sAnims_LARVITAR[] ={ + sAnim_GeneralFrame0, + sAnim_LARVITAR_1, }; -const union AnimCmd *const gAnims_PUPITAR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PUPITAR_1, +static const union AnimCmd *const sAnims_PUPITAR[] ={ + sAnim_GeneralFrame0, + sAnim_PUPITAR_1, }; -const union AnimCmd *const gAnims_TYRANITAR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TYRANITAR_1, +static const union AnimCmd *const sAnims_TYRANITAR[] ={ + sAnim_GeneralFrame0, + sAnim_TYRANITAR_1, }; -const union AnimCmd *const gAnims_LUGIA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LUGIA_1, +static const union AnimCmd *const sAnims_LUGIA[] ={ + sAnim_GeneralFrame0, + sAnim_LUGIA_1, }; -const union AnimCmd *const gAnims_HO_OH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_HO_OH_1, +static const union AnimCmd *const sAnims_HO_OH[] ={ + sAnim_GeneralFrame0, + sAnim_HO_OH_1, }; -const union AnimCmd *const gAnims_CELEBI[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CELEBI_1, +static const union AnimCmd *const sAnims_CELEBI[] ={ + sAnim_GeneralFrame0, + sAnim_CELEBI_1, }; -const union AnimCmd *const gAnims_OLD_UNOWN_B[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_OLD_UNOWN_B_1, +static const union AnimCmd *const sAnims_OLD_UNOWN_B[] ={ + sAnim_GeneralFrame0, + sAnim_OLD_UNOWN_B_1, }; -const union AnimCmd *const gAnims_TREECKO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TREECKO_1, +static const union AnimCmd *const sAnims_TREECKO[] ={ + sAnim_GeneralFrame0, + sAnim_TREECKO_1, }; -const union AnimCmd *const gAnims_GROVYLE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GROVYLE_1, +static const union AnimCmd *const sAnims_GROVYLE[] ={ + sAnim_GeneralFrame0, + sAnim_GROVYLE_1, }; -const union AnimCmd *const gAnims_SCEPTILE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SCEPTILE_1, +static const union AnimCmd *const sAnims_SCEPTILE[] ={ + sAnim_GeneralFrame0, + sAnim_SCEPTILE_1, }; -const union AnimCmd *const gAnims_TORCHIC[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TORCHIC_1, +static const union AnimCmd *const sAnims_TORCHIC[] ={ + sAnim_GeneralFrame0, + sAnim_TORCHIC_1, }; -const union AnimCmd *const gAnims_COMBUSKEN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_COMBUSKEN_1, +static const union AnimCmd *const sAnims_COMBUSKEN[] ={ + sAnim_GeneralFrame0, + sAnim_COMBUSKEN_1, }; -const union AnimCmd *const gAnims_BLAZIKEN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BLAZIKEN_1, - gAnimCmd_BLAZIKEN_2, - gAnimCmd_BLAZIKEN_3, - gAnimCmd_BLAZIKEN_4, +static const union AnimCmd *const sAnims_BLAZIKEN[] ={ + sAnim_GeneralFrame0, + sAnim_BLAZIKEN_1, + sAnim_BLAZIKEN_2, + sAnim_BLAZIKEN_3, + sAnim_BLAZIKEN_4, }; -const union AnimCmd *const gAnims_MUDKIP[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MUDKIP_1, +static const union AnimCmd *const sAnims_MUDKIP[] ={ + sAnim_GeneralFrame0, + sAnim_MUDKIP_1, }; -const union AnimCmd *const gAnims_MARSHTOMP[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MARSHTOMP_1, +static const union AnimCmd *const sAnims_MARSHTOMP[] ={ + sAnim_GeneralFrame0, + sAnim_MARSHTOMP_1, }; -const union AnimCmd *const gAnims_SWAMPERT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SWAMPERT_1, +static const union AnimCmd *const sAnims_SWAMPERT[] ={ + sAnim_GeneralFrame0, + sAnim_SWAMPERT_1, }; -const union AnimCmd *const gAnims_POOCHYENA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_POOCHYENA_1, +static const union AnimCmd *const sAnims_POOCHYENA[] ={ + sAnim_GeneralFrame0, + sAnim_POOCHYENA_1, }; -const union AnimCmd *const gAnims_MIGHTYENA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MIGHTYENA_1, +static const union AnimCmd *const sAnims_MIGHTYENA[] ={ + sAnim_GeneralFrame0, + sAnim_MIGHTYENA_1, }; -const union AnimCmd *const gAnims_ZIGZAGOON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ZIGZAGOON_1, +static const union AnimCmd *const sAnims_ZIGZAGOON[] ={ + sAnim_GeneralFrame0, + sAnim_ZIGZAGOON_1, }; -const union AnimCmd *const gAnims_LINOONE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LINOONE_1, +static const union AnimCmd *const sAnims_LINOONE[] ={ + sAnim_GeneralFrame0, + sAnim_LINOONE_1, }; -const union AnimCmd *const gAnims_WURMPLE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WURMPLE_1, +static const union AnimCmd *const sAnims_WURMPLE[] ={ + sAnim_GeneralFrame0, + sAnim_WURMPLE_1, }; -const union AnimCmd *const gAnims_SILCOON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SILCOON_1, - gAnimCmd_SILCOON_2, +static const union AnimCmd *const sAnims_SILCOON[] ={ + sAnim_GeneralFrame0, + sAnim_SILCOON_1, + sAnim_SILCOON_2, }; -const union AnimCmd *const gAnims_BEAUTIFLY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BEAUTIFLY_1, - gAnimCmd_BEAUTIFLY_2, +static const union AnimCmd *const sAnims_BEAUTIFLY[] ={ + sAnim_GeneralFrame0, + sAnim_BEAUTIFLY_1, + sAnim_BEAUTIFLY_2, }; -const union AnimCmd *const gAnims_CASCOON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CASCOON_1, - gAnimCmd_CASCOON_2, +static const union AnimCmd *const sAnims_CASCOON[] ={ + sAnim_GeneralFrame0, + sAnim_CASCOON_1, + sAnim_CASCOON_2, }; -const union AnimCmd *const gAnims_DUSTOX[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DUSTOX_1, - gAnimCmd_DUSTOX_2, +static const union AnimCmd *const sAnims_DUSTOX[] ={ + sAnim_GeneralFrame0, + sAnim_DUSTOX_1, + sAnim_DUSTOX_2, }; -const union AnimCmd *const gAnims_LOTAD[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LOTAD_1, +static const union AnimCmd *const sAnims_LOTAD[] ={ + sAnim_GeneralFrame0, + sAnim_LOTAD_1, }; -const union AnimCmd *const gAnims_LOMBRE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LOMBRE_1, +static const union AnimCmd *const sAnims_LOMBRE[] ={ + sAnim_GeneralFrame0, + sAnim_LOMBRE_1, }; -const union AnimCmd *const gAnims_LUDICOLO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LUDICOLO_1, +static const union AnimCmd *const sAnims_LUDICOLO[] ={ + sAnim_GeneralFrame0, + sAnim_LUDICOLO_1, }; -const union AnimCmd *const gAnims_SEEDOT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SEEDOT_1, +static const union AnimCmd *const sAnims_SEEDOT[] ={ + sAnim_GeneralFrame0, + sAnim_SEEDOT_1, }; -const union AnimCmd *const gAnims_NUZLEAF[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NUZLEAF_1, +static const union AnimCmd *const sAnims_NUZLEAF[] ={ + sAnim_GeneralFrame0, + sAnim_NUZLEAF_1, }; -const union AnimCmd *const gAnims_SHIFTRY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SHIFTRY_1, +static const union AnimCmd *const sAnims_SHIFTRY[] ={ + sAnim_GeneralFrame0, + sAnim_SHIFTRY_1, }; -const union AnimCmd *const gAnims_NINCADA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NINCADA_1, +static const union AnimCmd *const sAnims_NINCADA[] ={ + sAnim_GeneralFrame0, + sAnim_NINCADA_1, }; -const union AnimCmd *const gAnims_NINJASK[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NINJASK_1, +static const union AnimCmd *const sAnims_NINJASK[] ={ + sAnim_GeneralFrame0, + sAnim_NINJASK_1, }; -const union AnimCmd *const gAnims_SHEDINJA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SHEDINJA_1, +static const union AnimCmd *const sAnims_SHEDINJA[] ={ + sAnim_GeneralFrame0, + sAnim_SHEDINJA_1, }; -const union AnimCmd *const gAnims_TAILLOW[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TAILLOW_1, +static const union AnimCmd *const sAnims_TAILLOW[] ={ + sAnim_GeneralFrame0, + sAnim_TAILLOW_1, }; -const union AnimCmd *const gAnims_SWELLOW[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SWELLOW_1, +static const union AnimCmd *const sAnims_SWELLOW[] ={ + sAnim_GeneralFrame0, + sAnim_SWELLOW_1, }; -const union AnimCmd *const gAnims_SHROOMISH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SHROOMISH_1, +static const union AnimCmd *const sAnims_SHROOMISH[] ={ + sAnim_GeneralFrame0, + sAnim_SHROOMISH_1, }; -const union AnimCmd *const gAnims_BRELOOM[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BRELOOM_1, +static const union AnimCmd *const sAnims_BRELOOM[] ={ + sAnim_GeneralFrame0, + sAnim_BRELOOM_1, }; -const union AnimCmd *const gAnims_SPINDA[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_SPINDA[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gAnims_WINGULL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WINGULL_1, +static const union AnimCmd *const sAnims_WINGULL[] ={ + sAnim_GeneralFrame0, + sAnim_WINGULL_1, }; -const union AnimCmd *const gAnims_PELIPPER[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PELIPPER_1, +static const union AnimCmd *const sAnims_PELIPPER[] ={ + sAnim_GeneralFrame0, + sAnim_PELIPPER_1, }; -const union AnimCmd *const gAnims_SURSKIT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SURSKIT_1, - gAnimCmd_SURSKIT_2, +static const union AnimCmd *const sAnims_SURSKIT[] ={ + sAnim_GeneralFrame0, + sAnim_SURSKIT_1, + sAnim_SURSKIT_2, }; -const union AnimCmd *const gAnims_MASQUERAIN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MASQUERAIN_1, - gAnimCmd_MASQUERAIN_2, +static const union AnimCmd *const sAnims_MASQUERAIN[] ={ + sAnim_GeneralFrame0, + sAnim_MASQUERAIN_1, + sAnim_MASQUERAIN_2, }; -const union AnimCmd *const gAnims_WAILMER[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WAILMER_1, +static const union AnimCmd *const sAnims_WAILMER[] ={ + sAnim_GeneralFrame0, + sAnim_WAILMER_1, }; -const union AnimCmd *const gAnims_WAILORD[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WAILORD_1, +static const union AnimCmd *const sAnims_WAILORD[] ={ + sAnim_GeneralFrame0, + sAnim_WAILORD_1, }; -const union AnimCmd *const gAnims_SKITTY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SKITTY_1, +static const union AnimCmd *const sAnims_SKITTY[] ={ + sAnim_GeneralFrame0, + sAnim_SKITTY_1, }; -const union AnimCmd *const gAnims_DELCATTY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DELCATTY_1, +static const union AnimCmd *const sAnims_DELCATTY[] ={ + sAnim_GeneralFrame0, + sAnim_DELCATTY_1, }; -const union AnimCmd *const gAnims_KECLEON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_KECLEON_1, +static const union AnimCmd *const sAnims_KECLEON[] ={ + sAnim_GeneralFrame0, + sAnim_KECLEON_1, }; -const union AnimCmd *const gAnims_BALTOY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BALTOY_1, +static const union AnimCmd *const sAnims_BALTOY[] ={ + sAnim_GeneralFrame0, + sAnim_BALTOY_1, }; -const union AnimCmd *const gAnims_CLAYDOL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CLAYDOL_1, +static const union AnimCmd *const sAnims_CLAYDOL[] ={ + sAnim_GeneralFrame0, + sAnim_CLAYDOL_1, }; -const union AnimCmd *const gAnims_NOSEPASS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NOSEPASS_1, +static const union AnimCmd *const sAnims_NOSEPASS[] ={ + sAnim_GeneralFrame0, + sAnim_NOSEPASS_1, }; -const union AnimCmd *const gAnims_TORKOAL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TORKOAL_1, +static const union AnimCmd *const sAnims_TORKOAL[] ={ + sAnim_GeneralFrame0, + sAnim_TORKOAL_1, }; -const union AnimCmd *const gAnims_SABLEYE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SABLEYE_1, +static const union AnimCmd *const sAnims_SABLEYE[] ={ + sAnim_GeneralFrame0, + sAnim_SABLEYE_1, }; -const union AnimCmd *const gAnims_BARBOACH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BARBOACH_1, +static const union AnimCmd *const sAnims_BARBOACH[] ={ + sAnim_GeneralFrame0, + sAnim_BARBOACH_1, }; -const union AnimCmd *const gAnims_WHISCASH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WHISCASH_1, +static const union AnimCmd *const sAnims_WHISCASH[] ={ + sAnim_GeneralFrame0, + sAnim_WHISCASH_1, }; -const union AnimCmd *const gAnims_LUVDISC[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LUVDISC_1, +static const union AnimCmd *const sAnims_LUVDISC[] ={ + sAnim_GeneralFrame0, + sAnim_LUVDISC_1, }; -const union AnimCmd *const gAnims_CORPHISH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CORPHISH_1, +static const union AnimCmd *const sAnims_CORPHISH[] ={ + sAnim_GeneralFrame0, + sAnim_CORPHISH_1, }; -const union AnimCmd *const gAnims_CRAWDAUNT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CRAWDAUNT_1, +static const union AnimCmd *const sAnims_CRAWDAUNT[] ={ + sAnim_GeneralFrame0, + sAnim_CRAWDAUNT_1, }; -const union AnimCmd *const gAnims_FEEBAS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_FEEBAS_1, +static const union AnimCmd *const sAnims_FEEBAS[] ={ + sAnim_GeneralFrame0, + sAnim_FEEBAS_1, }; -const union AnimCmd *const gAnims_MILOTIC[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MILOTIC_1, +static const union AnimCmd *const sAnims_MILOTIC[] ={ + sAnim_GeneralFrame0, + sAnim_MILOTIC_1, }; -const union AnimCmd *const gAnims_CARVANHA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CARVANHA_1, +static const union AnimCmd *const sAnims_CARVANHA[] ={ + sAnim_GeneralFrame0, + sAnim_CARVANHA_1, }; -const union AnimCmd *const gAnims_SHARPEDO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SHARPEDO_1, +static const union AnimCmd *const sAnims_SHARPEDO[] ={ + sAnim_GeneralFrame0, + sAnim_SHARPEDO_1, }; -const union AnimCmd *const gAnims_TRAPINCH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TRAPINCH_1, +static const union AnimCmd *const sAnims_TRAPINCH[] ={ + sAnim_GeneralFrame0, + sAnim_TRAPINCH_1, }; -const union AnimCmd *const gAnims_VIBRAVA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_VIBRAVA_1, +static const union AnimCmd *const sAnims_VIBRAVA[] ={ + sAnim_GeneralFrame0, + sAnim_VIBRAVA_1, }; -const union AnimCmd *const gAnims_FLYGON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_FLYGON_1, +static const union AnimCmd *const sAnims_FLYGON[] ={ + sAnim_GeneralFrame0, + sAnim_FLYGON_1, }; -const union AnimCmd *const gAnims_MAKUHITA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MAKUHITA_1, +static const union AnimCmd *const sAnims_MAKUHITA[] ={ + sAnim_GeneralFrame0, + sAnim_MAKUHITA_1, }; -const union AnimCmd *const gAnims_HARIYAMA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_HARIYAMA_1, +static const union AnimCmd *const sAnims_HARIYAMA[] ={ + sAnim_GeneralFrame0, + sAnim_HARIYAMA_1, }; -const union AnimCmd *const gAnims_ELECTRIKE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ELECTRIKE_1, +static const union AnimCmd *const sAnims_ELECTRIKE[] ={ + sAnim_GeneralFrame0, + sAnim_ELECTRIKE_1, }; -const union AnimCmd *const gAnims_MANECTRIC[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MANECTRIC_1, +static const union AnimCmd *const sAnims_MANECTRIC[] ={ + sAnim_GeneralFrame0, + sAnim_MANECTRIC_1, }; -const union AnimCmd *const gAnims_NUMEL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NUMEL_1, +static const union AnimCmd *const sAnims_NUMEL[] ={ + sAnim_GeneralFrame0, + sAnim_NUMEL_1, }; -const union AnimCmd *const gAnims_CAMERUPT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CAMERUPT_1, +static const union AnimCmd *const sAnims_CAMERUPT[] ={ + sAnim_GeneralFrame0, + sAnim_CAMERUPT_1, }; -const union AnimCmd *const gAnims_SPHEAL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SPHEAL_1, +static const union AnimCmd *const sAnims_SPHEAL[] ={ + sAnim_GeneralFrame0, + sAnim_SPHEAL_1, }; -const union AnimCmd *const gAnims_SEALEO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SEALEO_1, +static const union AnimCmd *const sAnims_SEALEO[] ={ + sAnim_GeneralFrame0, + sAnim_SEALEO_1, }; -const union AnimCmd *const gAnims_WALREIN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WALREIN_1, +static const union AnimCmd *const sAnims_WALREIN[] ={ + sAnim_GeneralFrame0, + sAnim_WALREIN_1, }; -const union AnimCmd *const gAnims_CACNEA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CACNEA_1, +static const union AnimCmd *const sAnims_CACNEA[] ={ + sAnim_GeneralFrame0, + sAnim_CACNEA_1, }; -const union AnimCmd *const gAnims_CACTURNE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CACTURNE_1, +static const union AnimCmd *const sAnims_CACTURNE[] ={ + sAnim_GeneralFrame0, + sAnim_CACTURNE_1, }; -const union AnimCmd *const gAnims_SNORUNT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SNORUNT_1, +static const union AnimCmd *const sAnims_SNORUNT[] ={ + sAnim_GeneralFrame0, + sAnim_SNORUNT_1, }; -const union AnimCmd *const gAnims_GLALIE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GLALIE_1, +static const union AnimCmd *const sAnims_GLALIE[] ={ + sAnim_GeneralFrame0, + sAnim_GLALIE_1, }; -const union AnimCmd *const gAnims_LUNATONE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LUNATONE_1, - gAnimCmd_LUNATONE_2, +static const union AnimCmd *const sAnims_LUNATONE[] ={ + sAnim_GeneralFrame0, + sAnim_LUNATONE_1, + sAnim_LUNATONE_2, }; -const union AnimCmd *const gAnims_SOLROCK[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SOLROCK_1, - gAnimCmd_SOLROCK_2, +static const union AnimCmd *const sAnims_SOLROCK[] ={ + sAnim_GeneralFrame0, + sAnim_SOLROCK_1, + sAnim_SOLROCK_2, }; -const union AnimCmd *const gAnims_AZURILL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_AZURILL_1, +static const union AnimCmd *const sAnims_AZURILL[] ={ + sAnim_GeneralFrame0, + sAnim_AZURILL_1, }; -const union AnimCmd *const gAnims_SPOINK[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SPOINK_1, +static const union AnimCmd *const sAnims_SPOINK[] ={ + sAnim_GeneralFrame0, + sAnim_SPOINK_1, }; -const union AnimCmd *const gAnims_GRUMPIG[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GRUMPIG_1, +static const union AnimCmd *const sAnims_GRUMPIG[] ={ + sAnim_GeneralFrame0, + sAnim_GRUMPIG_1, }; -const union AnimCmd *const gAnims_PLUSLE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PLUSLE_1, +static const union AnimCmd *const sAnims_PLUSLE[] ={ + sAnim_GeneralFrame0, + sAnim_PLUSLE_1, }; -const union AnimCmd *const gAnims_MINUN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MINUN_1, +static const union AnimCmd *const sAnims_MINUN[] ={ + sAnim_GeneralFrame0, + sAnim_MINUN_1, }; -const union AnimCmd *const gAnims_MAWILE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MAWILE_1, +static const union AnimCmd *const sAnims_MAWILE[] ={ + sAnim_GeneralFrame0, + sAnim_MAWILE_1, }; -const union AnimCmd *const gAnims_MEDITITE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MEDITITE_1, +static const union AnimCmd *const sAnims_MEDITITE[] ={ + sAnim_GeneralFrame0, + sAnim_MEDITITE_1, }; -const union AnimCmd *const gAnims_MEDICHAM[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MEDICHAM_1, +static const union AnimCmd *const sAnims_MEDICHAM[] ={ + sAnim_GeneralFrame0, + sAnim_MEDICHAM_1, }; -const union AnimCmd *const gAnims_SWABLU[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SWABLU_1, - gAnimCmd_SWABLU_2, +static const union AnimCmd *const sAnims_SWABLU[] ={ + sAnim_GeneralFrame0, + sAnim_SWABLU_1, + sAnim_SWABLU_2, }; -const union AnimCmd *const gAnims_ALTARIA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ALTARIA_1, - gAnimCmd_ALTARIA_2, +static const union AnimCmd *const sAnims_ALTARIA[] ={ + sAnim_GeneralFrame0, + sAnim_ALTARIA_1, + sAnim_ALTARIA_2, }; -const union AnimCmd *const gAnims_WYNAUT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WYNAUT_1, +static const union AnimCmd *const sAnims_WYNAUT[] ={ + sAnim_GeneralFrame0, + sAnim_WYNAUT_1, }; -const union AnimCmd *const gAnims_DUSKULL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DUSKULL_1, +static const union AnimCmd *const sAnims_DUSKULL[] ={ + sAnim_GeneralFrame0, + sAnim_DUSKULL_1, }; -const union AnimCmd *const gAnims_DUSCLOPS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DUSCLOPS_1, +static const union AnimCmd *const sAnims_DUSCLOPS[] ={ + sAnim_GeneralFrame0, + sAnim_DUSCLOPS_1, }; -const union AnimCmd *const gAnims_ROSELIA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ROSELIA_1, +static const union AnimCmd *const sAnims_ROSELIA[] ={ + sAnim_GeneralFrame0, + sAnim_ROSELIA_1, }; -const union AnimCmd *const gAnims_SLAKOTH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SLAKOTH_1, +static const union AnimCmd *const sAnims_SLAKOTH[] ={ + sAnim_GeneralFrame0, + sAnim_SLAKOTH_1, }; -const union AnimCmd *const gAnims_VIGOROTH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_VIGOROTH_1, +static const union AnimCmd *const sAnims_VIGOROTH[] ={ + sAnim_GeneralFrame0, + sAnim_VIGOROTH_1, }; -const union AnimCmd *const gAnims_SLAKING[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SLAKING_1, +static const union AnimCmd *const sAnims_SLAKING[] ={ + sAnim_GeneralFrame0, + sAnim_SLAKING_1, }; -const union AnimCmd *const gAnims_GULPIN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GULPIN_1, +static const union AnimCmd *const sAnims_GULPIN[] ={ + sAnim_GeneralFrame0, + sAnim_GULPIN_1, }; -const union AnimCmd *const gAnims_SWALOT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SWALOT_1, +static const union AnimCmd *const sAnims_SWALOT[] ={ + sAnim_GeneralFrame0, + sAnim_SWALOT_1, }; -const union AnimCmd *const gAnims_TROPIUS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TROPIUS_1, +static const union AnimCmd *const sAnims_TROPIUS[] ={ + sAnim_GeneralFrame0, + sAnim_TROPIUS_1, }; -const union AnimCmd *const gAnims_WHISMUR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WHISMUR_1, +static const union AnimCmd *const sAnims_WHISMUR[] ={ + sAnim_GeneralFrame0, + sAnim_WHISMUR_1, }; -const union AnimCmd *const gAnims_LOUDRED[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LOUDRED_1, +static const union AnimCmd *const sAnims_LOUDRED[] ={ + sAnim_GeneralFrame0, + sAnim_LOUDRED_1, }; -const union AnimCmd *const gAnims_EXPLOUD[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_EXPLOUD_1, +static const union AnimCmd *const sAnims_EXPLOUD[] ={ + sAnim_GeneralFrame0, + sAnim_EXPLOUD_1, }; -const union AnimCmd *const gAnims_CLAMPERL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CLAMPERL_1, +static const union AnimCmd *const sAnims_CLAMPERL[] ={ + sAnim_GeneralFrame0, + sAnim_CLAMPERL_1, }; -const union AnimCmd *const gAnims_HUNTAIL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_HUNTAIL_1, +static const union AnimCmd *const sAnims_HUNTAIL[] ={ + sAnim_GeneralFrame0, + sAnim_HUNTAIL_1, }; -const union AnimCmd *const gAnims_GOREBYSS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GOREBYSS_1, +static const union AnimCmd *const sAnims_GOREBYSS[] ={ + sAnim_GeneralFrame0, + sAnim_GOREBYSS_1, }; -const union AnimCmd *const gAnims_ABSOL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ABSOL_1, +static const union AnimCmd *const sAnims_ABSOL[] ={ + sAnim_GeneralFrame0, + sAnim_ABSOL_1, }; -const union AnimCmd *const gAnims_SHUPPET[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SHUPPET_1, +static const union AnimCmd *const sAnims_SHUPPET[] ={ + sAnim_GeneralFrame0, + sAnim_SHUPPET_1, }; -const union AnimCmd *const gAnims_BANETTE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BANETTE_1, +static const union AnimCmd *const sAnims_BANETTE[] ={ + sAnim_GeneralFrame0, + sAnim_BANETTE_1, }; -const union AnimCmd *const gAnims_SEVIPER[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SEVIPER_1, +static const union AnimCmd *const sAnims_SEVIPER[] ={ + sAnim_GeneralFrame0, + sAnim_SEVIPER_1, }; -const union AnimCmd *const gAnims_ZANGOOSE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ZANGOOSE_1, +static const union AnimCmd *const sAnims_ZANGOOSE[] ={ + sAnim_GeneralFrame0, + sAnim_ZANGOOSE_1, }; -const union AnimCmd *const gAnims_RELICANTH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_RELICANTH_1, +static const union AnimCmd *const sAnims_RELICANTH[] ={ + sAnim_GeneralFrame0, + sAnim_RELICANTH_1, }; -const union AnimCmd *const gAnims_ARON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ARON_1, +static const union AnimCmd *const sAnims_ARON[] ={ + sAnim_GeneralFrame0, + sAnim_ARON_1, }; -const union AnimCmd *const gAnims_LAIRON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LAIRON_1, +static const union AnimCmd *const sAnims_LAIRON[] ={ + sAnim_GeneralFrame0, + sAnim_LAIRON_1, }; -const union AnimCmd *const gAnims_AGGRON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_AGGRON_1, +static const union AnimCmd *const sAnims_AGGRON[] ={ + sAnim_GeneralFrame0, + sAnim_AGGRON_1, }; -const union AnimCmd *const gAnims_CASTFORM[] ={ - gAnimCmd_CASTFORM_0, - gAnimCmd_CASTFORM_1, - gAnimCmd_CASTFORM_2, - gAnimCmd_CASTFORM_3, +static const union AnimCmd *const sAnims_CASTFORM[] ={ + sAnim_CASTFORM_0, + sAnim_CASTFORM_1, + sAnim_CASTFORM_2, + sAnim_CASTFORM_3, }; -const union AnimCmd *const gAnims_VOLBEAT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_VOLBEAT_1, +static const union AnimCmd *const sAnims_VOLBEAT[] ={ + sAnim_GeneralFrame0, + sAnim_VOLBEAT_1, }; -const union AnimCmd *const gAnims_ILLUMISE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ILLUMISE_1, +static const union AnimCmd *const sAnims_ILLUMISE[] ={ + sAnim_GeneralFrame0, + sAnim_ILLUMISE_1, }; -const union AnimCmd *const gAnims_LILEEP[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LILEEP_1, +static const union AnimCmd *const sAnims_LILEEP[] ={ + sAnim_GeneralFrame0, + sAnim_LILEEP_1, }; -const union AnimCmd *const gAnims_CRADILY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CRADILY_1, +static const union AnimCmd *const sAnims_CRADILY[] ={ + sAnim_GeneralFrame0, + sAnim_CRADILY_1, }; -const union AnimCmd *const gAnims_ANORITH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ANORITH_1, +static const union AnimCmd *const sAnims_ANORITH[] ={ + sAnim_GeneralFrame0, + sAnim_ANORITH_1, }; -const union AnimCmd *const gAnims_ARMALDO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ARMALDO_1, +static const union AnimCmd *const sAnims_ARMALDO[] ={ + sAnim_GeneralFrame0, + sAnim_ARMALDO_1, }; -const union AnimCmd *const gAnims_RALTS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_RALTS_1, +static const union AnimCmd *const sAnims_RALTS[] ={ + sAnim_GeneralFrame0, + sAnim_RALTS_1, }; -const union AnimCmd *const gAnims_KIRLIA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_KIRLIA_1, +static const union AnimCmd *const sAnims_KIRLIA[] ={ + sAnim_GeneralFrame0, + sAnim_KIRLIA_1, }; -const union AnimCmd *const gAnims_GARDEVOIR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GARDEVOIR_1, +static const union AnimCmd *const sAnims_GARDEVOIR[] ={ + sAnim_GeneralFrame0, + sAnim_GARDEVOIR_1, }; -const union AnimCmd *const gAnims_BAGON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BAGON_1, +static const union AnimCmd *const sAnims_BAGON[] ={ + sAnim_GeneralFrame0, + sAnim_BAGON_1, }; -const union AnimCmd *const gAnims_SHELGON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SHELGON_1, +static const union AnimCmd *const sAnims_SHELGON[] ={ + sAnim_GeneralFrame0, + sAnim_SHELGON_1, }; -const union AnimCmd *const gAnims_SALAMENCE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SALAMENCE_1, +static const union AnimCmd *const sAnims_SALAMENCE[] ={ + sAnim_GeneralFrame0, + sAnim_SALAMENCE_1, }; -const union AnimCmd *const gAnims_BELDUM[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BELDUM_1, +static const union AnimCmd *const sAnims_BELDUM[] ={ + sAnim_GeneralFrame0, + sAnim_BELDUM_1, }; -const union AnimCmd *const gAnims_METANG[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_METANG_1, +static const union AnimCmd *const sAnims_METANG[] ={ + sAnim_GeneralFrame0, + sAnim_METANG_1, }; -const union AnimCmd *const gAnims_METAGROSS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_METAGROSS_1, +static const union AnimCmd *const sAnims_METAGROSS[] ={ + sAnim_GeneralFrame0, + sAnim_METAGROSS_1, }; -const union AnimCmd *const gAnims_REGIROCK[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_REGIROCK_1, - gAnimCmd_REGIROCK_2, +static const union AnimCmd *const sAnims_REGIROCK[] ={ + sAnim_GeneralFrame0, + sAnim_REGIROCK_1, + sAnim_REGIROCK_2, }; -const union AnimCmd *const gAnims_REGICE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_REGICE_1, +static const union AnimCmd *const sAnims_REGICE[] ={ + sAnim_GeneralFrame0, + sAnim_REGICE_1, }; -const union AnimCmd *const gAnims_REGISTEEL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_REGISTEEL_1, - gAnimCmd_REGISTEEL_2, +static const union AnimCmd *const sAnims_REGISTEEL[] ={ + sAnim_GeneralFrame0, + sAnim_REGISTEEL_1, + sAnim_REGISTEEL_2, }; -const union AnimCmd *const gAnims_KYOGRE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_KYOGRE_1, - gAnimCmd_KYOGRE_2, +static const union AnimCmd *const sAnims_KYOGRE[] ={ + sAnim_GeneralFrame0, + sAnim_KYOGRE_1, + sAnim_KYOGRE_2, }; -const union AnimCmd *const gAnims_GROUDON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GROUDON_1, - gAnimCmd_GROUDON_2, +static const union AnimCmd *const sAnims_GROUDON[] ={ + sAnim_GeneralFrame0, + sAnim_GROUDON_1, + sAnim_GROUDON_2, }; -const union AnimCmd *const gAnims_RAYQUAZA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_RAYQUAZA_1, - gAnimCmd_RAYQUAZA_2, +static const union AnimCmd *const sAnims_RAYQUAZA[] ={ + sAnim_GeneralFrame0, + sAnim_RAYQUAZA_1, + sAnim_RAYQUAZA_2, }; -const union AnimCmd *const gAnims_LATIAS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LATIAS_1, - gAnimCmd_LATIAS_2, +static const union AnimCmd *const sAnims_LATIAS[] ={ + sAnim_GeneralFrame0, + sAnim_LATIAS_1, + sAnim_LATIAS_2, }; -const union AnimCmd *const gAnims_LATIOS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LATIOS_1, - gAnimCmd_LATIOS_2, +static const union AnimCmd *const sAnims_LATIOS[] ={ + sAnim_GeneralFrame0, + sAnim_LATIOS_1, + sAnim_LATIOS_2, }; -const union AnimCmd *const gAnims_JIRACHI[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_JIRACHI_1, - gAnimCmd_JIRACHI_2, +static const union AnimCmd *const sAnims_JIRACHI[] ={ + sAnim_GeneralFrame0, + sAnim_JIRACHI_1, + sAnim_JIRACHI_2, }; -const union AnimCmd *const gAnims_DEOXYS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DEOXYS_1, - gAnimCmd_DEOXYS_2, +static const union AnimCmd *const sAnims_DEOXYS[] ={ + sAnim_GeneralFrame0, + sAnim_DEOXYS_1, + sAnim_DEOXYS_2, }; -const union AnimCmd *const gAnims_CHIMECHO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CHIMECHO_1, +static const union AnimCmd *const sAnims_CHIMECHO[] ={ + sAnim_GeneralFrame0, + sAnim_CHIMECHO_1, }; -const union AnimCmd *const gAnims_EGG[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_EGG_1, +static const union AnimCmd *const sAnims_EGG[] ={ + sAnim_GeneralFrame0, + sAnim_EGG_1, }; -const union AnimCmd *const gAnims_UNOWN_B[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_B_1, +static const union AnimCmd *const sAnims_UNOWN_B[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_B_1, }; -const union AnimCmd *const gAnims_UNOWN_C[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_C_1, +static const union AnimCmd *const sAnims_UNOWN_C[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_C_1, }; -const union AnimCmd *const gAnims_UNOWN_D[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_D_1, +static const union AnimCmd *const sAnims_UNOWN_D[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_D_1, }; -const union AnimCmd *const gAnims_UNOWN_E[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_E_1, +static const union AnimCmd *const sAnims_UNOWN_E[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_E_1, }; -const union AnimCmd *const gAnims_UNOWN_F[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_F_1, +static const union AnimCmd *const sAnims_UNOWN_F[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_F_1, }; -const union AnimCmd *const gAnims_UNOWN_G[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_G_1, +static const union AnimCmd *const sAnims_UNOWN_G[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_G_1, }; -const union AnimCmd *const gAnims_UNOWN_H[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_H_1, +static const union AnimCmd *const sAnims_UNOWN_H[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_H_1, }; -const union AnimCmd *const gAnims_UNOWN_I[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_I_1, +static const union AnimCmd *const sAnims_UNOWN_I[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_I_1, }; -const union AnimCmd *const gAnims_UNOWN_J[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_J_1, +static const union AnimCmd *const sAnims_UNOWN_J[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_J_1, }; -const union AnimCmd *const gAnims_UNOWN_K[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_K_1, +static const union AnimCmd *const sAnims_UNOWN_K[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_K_1, }; -const union AnimCmd *const gAnims_UNOWN_L[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_L_1, +static const union AnimCmd *const sAnims_UNOWN_L[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_L_1, }; -const union AnimCmd *const gAnims_UNOWN_M[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_M_1, +static const union AnimCmd *const sAnims_UNOWN_M[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_M_1, }; -const union AnimCmd *const gAnims_UNOWN_N[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_N_1, +static const union AnimCmd *const sAnims_UNOWN_N[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_N_1, }; -const union AnimCmd *const gAnims_UNOWN_O[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_O_1, +static const union AnimCmd *const sAnims_UNOWN_O[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_O_1, }; -const union AnimCmd *const gAnims_UNOWN_P[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_P_1, +static const union AnimCmd *const sAnims_UNOWN_P[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_P_1, }; -const union AnimCmd *const gAnims_UNOWN_Q[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_Q_1, +static const union AnimCmd *const sAnims_UNOWN_Q[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_Q_1, }; -const union AnimCmd *const gAnims_UNOWN_R[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_R_1, +static const union AnimCmd *const sAnims_UNOWN_R[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_R_1, }; -const union AnimCmd *const gAnims_UNOWN_S[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_S_1, +static const union AnimCmd *const sAnims_UNOWN_S[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_S_1, }; -const union AnimCmd *const gAnims_UNOWN_T[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_T_1, +static const union AnimCmd *const sAnims_UNOWN_T[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_T_1, }; -const union AnimCmd *const gAnims_UNOWN_U[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_U_1, +static const union AnimCmd *const sAnims_UNOWN_U[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_U_1, }; -const union AnimCmd *const gAnims_UNOWN_V[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_V_1, +static const union AnimCmd *const sAnims_UNOWN_V[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_V_1, }; -const union AnimCmd *const gAnims_UNOWN_W[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_W_1, +static const union AnimCmd *const sAnims_UNOWN_W[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_W_1, }; -const union AnimCmd *const gAnims_UNOWN_X[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_X_1, +static const union AnimCmd *const sAnims_UNOWN_X[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_X_1, }; -const union AnimCmd *const gAnims_UNOWN_Y[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_Y_1, +static const union AnimCmd *const sAnims_UNOWN_Y[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_Y_1, }; -const union AnimCmd *const gAnims_UNOWN_Z[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_Z_1, +static const union AnimCmd *const sAnims_UNOWN_Z[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_Z_1, }; -const union AnimCmd *const gAnims_UNOWN_EMARK[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_EMARK_1, +static const union AnimCmd *const sAnims_UNOWN_EMARK[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_EMARK_1, }; -const union AnimCmd *const gAnims_UNOWN_QMARK[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_QMARK_1, +static const union AnimCmd *const sAnims_UNOWN_QMARK[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_QMARK_1, }; -#define ANIM_CMD(name) [SPECIES_##name] = gAnims_##name +#define ANIM_CMD(name) [SPECIES_##name] = sAnims_##name #define ANIM_CMD_FULL(name, anims) [SPECIES_##name] = anims -const union AnimCmd* const * const gMonAnimationsSpriteAnimsPtrTable[] = +const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = { ANIM_CMD(NONE), ANIM_CMD(BULBASAUR), @@ -7204,30 +7203,30 @@ const union AnimCmd* const * const gMonAnimationsSpriteAnimsPtrTable[] = ANIM_CMD(HO_OH), ANIM_CMD(CELEBI), ANIM_CMD(OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_C, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_D, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_E, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_F, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_G, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_H, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_I, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_J, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_K, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_L, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_M, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_N, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_O, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_P, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_Q, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_R, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_S, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_T, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_U, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_V, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_W, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_X, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_Y, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_Z, gAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_C, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_D, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_E, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_F, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_G, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_H, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_I, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_J, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_K, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_L, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_M, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_N, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_O, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_P, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_Q, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_R, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_S, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_T, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_U, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_V, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_W, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_X, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_Y, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_Z, sAnims_OLD_UNOWN_B), ANIM_CMD(TREECKO), ANIM_CMD(GROVYLE), ANIM_CMD(SCEPTILE), diff --git a/src/data/pokemon_graphics/front_pic_coordinates.h b/src/data/pokemon_graphics/front_pic_coordinates.h index 95ec7a132c..19de9a7dd4 100644 --- a/src/data/pokemon_graphics/front_pic_coordinates.h +++ b/src/data/pokemon_graphics/front_pic_coordinates.h @@ -1,5 +1,3 @@ -#include "constants/species.h" - const struct MonCoords gMonFrontPicCoords[] = { [SPECIES_NONE] = diff --git a/src/data/pokemon_graphics/front_pic_table.h b/src/data/pokemon_graphics/front_pic_table.h index 92e6bab2eb..82af860d30 100644 --- a/src/data/pokemon_graphics/front_pic_table.h +++ b/src/data/pokemon_graphics/front_pic_table.h @@ -1,443 +1,443 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = { - [SPECIES_NONE] = {gMonFrontPic_CircledQuestionMark, 0x800, SPECIES_NONE}, - [SPECIES_BULBASAUR] = {gMonFrontPic_Bulbasaur, 0x800, SPECIES_BULBASAUR}, - [SPECIES_IVYSAUR] = {gMonFrontPic_Ivysaur, 0x800, SPECIES_IVYSAUR}, - [SPECIES_VENUSAUR] = {gMonFrontPic_Venusaur, 0x800, SPECIES_VENUSAUR}, - [SPECIES_CHARMANDER] = {gMonFrontPic_Charmander, 0x800, SPECIES_CHARMANDER}, - [SPECIES_CHARMELEON] = {gMonFrontPic_Charmeleon, 0x800, SPECIES_CHARMELEON}, - [SPECIES_CHARIZARD] = {gMonFrontPic_Charizard, 0x800, SPECIES_CHARIZARD}, - [SPECIES_SQUIRTLE] = {gMonFrontPic_Squirtle, 0x800, SPECIES_SQUIRTLE}, - [SPECIES_WARTORTLE] = {gMonFrontPic_Wartortle, 0x800, SPECIES_WARTORTLE}, - [SPECIES_BLASTOISE] = {gMonFrontPic_Blastoise, 0x800, SPECIES_BLASTOISE}, - [SPECIES_CATERPIE] = {gMonFrontPic_Caterpie, 0x800, SPECIES_CATERPIE}, - [SPECIES_METAPOD] = {gMonFrontPic_Metapod, 0x800, SPECIES_METAPOD}, - [SPECIES_BUTTERFREE] = {gMonFrontPic_Butterfree, 0x800, SPECIES_BUTTERFREE}, - [SPECIES_WEEDLE] = {gMonFrontPic_Weedle, 0x800, SPECIES_WEEDLE}, - [SPECIES_KAKUNA] = {gMonFrontPic_Kakuna, 0x800, SPECIES_KAKUNA}, - [SPECIES_BEEDRILL] = {gMonFrontPic_Beedrill, 0x800, SPECIES_BEEDRILL}, - [SPECIES_PIDGEY] = {gMonFrontPic_Pidgey, 0x800, SPECIES_PIDGEY}, - [SPECIES_PIDGEOTTO] = {gMonFrontPic_Pidgeotto, 0x800, SPECIES_PIDGEOTTO}, - [SPECIES_PIDGEOT] = {gMonFrontPic_Pidgeot, 0x800, SPECIES_PIDGEOT}, - [SPECIES_RATTATA] = {gMonFrontPic_Rattata, 0x800, SPECIES_RATTATA}, - [SPECIES_RATICATE] = {gMonFrontPic_Raticate, 0x800, SPECIES_RATICATE}, - [SPECIES_SPEAROW] = {gMonFrontPic_Spearow, 0x800, SPECIES_SPEAROW}, - [SPECIES_FEAROW] = {gMonFrontPic_Fearow, 0x800, SPECIES_FEAROW}, - [SPECIES_EKANS] = {gMonFrontPic_Ekans, 0x800, SPECIES_EKANS}, - [SPECIES_ARBOK] = {gMonFrontPic_Arbok, 0x800, SPECIES_ARBOK}, - [SPECIES_PIKACHU] = {gMonFrontPic_Pikachu, 0x800, SPECIES_PIKACHU}, - [SPECIES_RAICHU] = {gMonFrontPic_Raichu, 0x800, SPECIES_RAICHU}, - [SPECIES_SANDSHREW] = {gMonFrontPic_Sandshrew, 0x800, SPECIES_SANDSHREW}, - [SPECIES_SANDSLASH] = {gMonFrontPic_Sandslash, 0x800, SPECIES_SANDSLASH}, - [SPECIES_NIDORAN_F] = {gMonFrontPic_NidoranF, 0x800, SPECIES_NIDORAN_F}, - [SPECIES_NIDORINA] = {gMonFrontPic_Nidorina, 0x800, SPECIES_NIDORINA}, - [SPECIES_NIDOQUEEN] = {gMonFrontPic_Nidoqueen, 0x800, SPECIES_NIDOQUEEN}, - [SPECIES_NIDORAN_M] = {gMonFrontPic_NidoranM, 0x800, SPECIES_NIDORAN_M}, - [SPECIES_NIDORINO] = {gMonFrontPic_Nidorino, 0x800, SPECIES_NIDORINO}, - [SPECIES_NIDOKING] = {gMonFrontPic_Nidoking, 0x800, SPECIES_NIDOKING}, - [SPECIES_CLEFAIRY] = {gMonFrontPic_Clefairy, 0x800, SPECIES_CLEFAIRY}, - [SPECIES_CLEFABLE] = {gMonFrontPic_Clefable, 0x800, SPECIES_CLEFABLE}, - [SPECIES_VULPIX] = {gMonFrontPic_Vulpix, 0x800, SPECIES_VULPIX}, - [SPECIES_NINETALES] = {gMonFrontPic_Ninetales, 0x800, SPECIES_NINETALES}, - [SPECIES_JIGGLYPUFF] = {gMonFrontPic_Jigglypuff, 0x800, SPECIES_JIGGLYPUFF}, - [SPECIES_WIGGLYTUFF] = {gMonFrontPic_Wigglytuff, 0x800, SPECIES_WIGGLYTUFF}, - [SPECIES_ZUBAT] = {gMonFrontPic_Zubat, 0x800, SPECIES_ZUBAT}, - [SPECIES_GOLBAT] = {gMonFrontPic_Golbat, 0x800, SPECIES_GOLBAT}, - [SPECIES_ODDISH] = {gMonFrontPic_Oddish, 0x800, SPECIES_ODDISH}, - [SPECIES_GLOOM] = {gMonFrontPic_Gloom, 0x800, SPECIES_GLOOM}, - [SPECIES_VILEPLUME] = {gMonFrontPic_Vileplume, 0x800, SPECIES_VILEPLUME}, - [SPECIES_PARAS] = {gMonFrontPic_Paras, 0x800, SPECIES_PARAS}, - [SPECIES_PARASECT] = {gMonFrontPic_Parasect, 0x800, SPECIES_PARASECT}, - [SPECIES_VENONAT] = {gMonFrontPic_Venonat, 0x800, SPECIES_VENONAT}, - [SPECIES_VENOMOTH] = {gMonFrontPic_Venomoth, 0x800, SPECIES_VENOMOTH}, - [SPECIES_DIGLETT] = {gMonFrontPic_Diglett, 0x800, SPECIES_DIGLETT}, - [SPECIES_DUGTRIO] = {gMonFrontPic_Dugtrio, 0x800, SPECIES_DUGTRIO}, - [SPECIES_MEOWTH] = {gMonFrontPic_Meowth, 0x800, SPECIES_MEOWTH}, - [SPECIES_PERSIAN] = {gMonFrontPic_Persian, 0x800, SPECIES_PERSIAN}, - [SPECIES_PSYDUCK] = {gMonFrontPic_Psyduck, 0x800, SPECIES_PSYDUCK}, - [SPECIES_GOLDUCK] = {gMonFrontPic_Golduck, 0x800, SPECIES_GOLDUCK}, - [SPECIES_MANKEY] = {gMonFrontPic_Mankey, 0x800, SPECIES_MANKEY}, - [SPECIES_PRIMEAPE] = {gMonFrontPic_Primeape, 0x800, SPECIES_PRIMEAPE}, - [SPECIES_GROWLITHE] = {gMonFrontPic_Growlithe, 0x800, SPECIES_GROWLITHE}, - [SPECIES_ARCANINE] = {gMonFrontPic_Arcanine, 0x800, SPECIES_ARCANINE}, - [SPECIES_POLIWAG] = {gMonFrontPic_Poliwag, 0x800, SPECIES_POLIWAG}, - [SPECIES_POLIWHIRL] = {gMonFrontPic_Poliwhirl, 0x800, SPECIES_POLIWHIRL}, - [SPECIES_POLIWRATH] = {gMonFrontPic_Poliwrath, 0x800, SPECIES_POLIWRATH}, - [SPECIES_ABRA] = {gMonFrontPic_Abra, 0x800, SPECIES_ABRA}, - [SPECIES_KADABRA] = {gMonFrontPic_Kadabra, 0x800, SPECIES_KADABRA}, - [SPECIES_ALAKAZAM] = {gMonFrontPic_Alakazam, 0x800, SPECIES_ALAKAZAM}, - [SPECIES_MACHOP] = {gMonFrontPic_Machop, 0x800, SPECIES_MACHOP}, - [SPECIES_MACHOKE] = {gMonFrontPic_Machoke, 0x800, SPECIES_MACHOKE}, - [SPECIES_MACHAMP] = {gMonFrontPic_Machamp, 0x800, SPECIES_MACHAMP}, - [SPECIES_BELLSPROUT] = {gMonFrontPic_Bellsprout, 0x800, SPECIES_BELLSPROUT}, - [SPECIES_WEEPINBELL] = {gMonFrontPic_Weepinbell, 0x800, SPECIES_WEEPINBELL}, - [SPECIES_VICTREEBEL] = {gMonFrontPic_Victreebel, 0x800, SPECIES_VICTREEBEL}, - [SPECIES_TENTACOOL] = {gMonFrontPic_Tentacool, 0x800, SPECIES_TENTACOOL}, - [SPECIES_TENTACRUEL] = {gMonFrontPic_Tentacruel, 0x800, SPECIES_TENTACRUEL}, - [SPECIES_GEODUDE] = {gMonFrontPic_Geodude, 0x800, SPECIES_GEODUDE}, - [SPECIES_GRAVELER] = {gMonFrontPic_Graveler, 0x800, SPECIES_GRAVELER}, - [SPECIES_GOLEM] = {gMonFrontPic_Golem, 0x800, SPECIES_GOLEM}, - [SPECIES_PONYTA] = {gMonFrontPic_Ponyta, 0x800, SPECIES_PONYTA}, - [SPECIES_RAPIDASH] = {gMonFrontPic_Rapidash, 0x800, SPECIES_RAPIDASH}, - [SPECIES_SLOWPOKE] = {gMonFrontPic_Slowpoke, 0x800, SPECIES_SLOWPOKE}, - [SPECIES_SLOWBRO] = {gMonFrontPic_Slowbro, 0x800, SPECIES_SLOWBRO}, - [SPECIES_MAGNEMITE] = {gMonFrontPic_Magnemite, 0x800, SPECIES_MAGNEMITE}, - [SPECIES_MAGNETON] = {gMonFrontPic_Magneton, 0x800, SPECIES_MAGNETON}, - [SPECIES_FARFETCHD] = {gMonFrontPic_Farfetchd, 0x800, SPECIES_FARFETCHD}, - [SPECIES_DODUO] = {gMonFrontPic_Doduo, 0x800, SPECIES_DODUO}, - [SPECIES_DODRIO] = {gMonFrontPic_Dodrio, 0x800, SPECIES_DODRIO}, - [SPECIES_SEEL] = {gMonFrontPic_Seel, 0x800, SPECIES_SEEL}, - [SPECIES_DEWGONG] = {gMonFrontPic_Dewgong, 0x800, SPECIES_DEWGONG}, - [SPECIES_GRIMER] = {gMonFrontPic_Grimer, 0x800, SPECIES_GRIMER}, - [SPECIES_MUK] = {gMonFrontPic_Muk, 0x800, SPECIES_MUK}, - [SPECIES_SHELLDER] = {gMonFrontPic_Shellder, 0x800, SPECIES_SHELLDER}, - [SPECIES_CLOYSTER] = {gMonFrontPic_Cloyster, 0x800, SPECIES_CLOYSTER}, - [SPECIES_GASTLY] = {gMonFrontPic_Gastly, 0x800, SPECIES_GASTLY}, - [SPECIES_HAUNTER] = {gMonFrontPic_Haunter, 0x800, SPECIES_HAUNTER}, - [SPECIES_GENGAR] = {gMonFrontPic_Gengar, 0x800, SPECIES_GENGAR}, - [SPECIES_ONIX] = {gMonFrontPic_Onix, 0x800, SPECIES_ONIX}, - [SPECIES_DROWZEE] = {gMonFrontPic_Drowzee, 0x800, SPECIES_DROWZEE}, - [SPECIES_HYPNO] = {gMonFrontPic_Hypno, 0x800, SPECIES_HYPNO}, - [SPECIES_KRABBY] = {gMonFrontPic_Krabby, 0x800, SPECIES_KRABBY}, - [SPECIES_KINGLER] = {gMonFrontPic_Kingler, 0x800, SPECIES_KINGLER}, - [SPECIES_VOLTORB] = {gMonFrontPic_Voltorb, 0x800, SPECIES_VOLTORB}, - [SPECIES_ELECTRODE] = {gMonFrontPic_Electrode, 0x800, SPECIES_ELECTRODE}, - [SPECIES_EXEGGCUTE] = {gMonFrontPic_Exeggcute, 0x800, SPECIES_EXEGGCUTE}, - [SPECIES_EXEGGUTOR] = {gMonFrontPic_Exeggutor, 0x800, SPECIES_EXEGGUTOR}, - [SPECIES_CUBONE] = {gMonFrontPic_Cubone, 0x800, SPECIES_CUBONE}, - [SPECIES_MAROWAK] = {gMonFrontPic_Marowak, 0x800, SPECIES_MAROWAK}, - [SPECIES_HITMONLEE] = {gMonFrontPic_Hitmonlee, 0x800, SPECIES_HITMONLEE}, - [SPECIES_HITMONCHAN] = {gMonFrontPic_Hitmonchan, 0x800, SPECIES_HITMONCHAN}, - [SPECIES_LICKITUNG] = {gMonFrontPic_Lickitung, 0x800, SPECIES_LICKITUNG}, - [SPECIES_KOFFING] = {gMonFrontPic_Koffing, 0x800, SPECIES_KOFFING}, - [SPECIES_WEEZING] = {gMonFrontPic_Weezing, 0x800, SPECIES_WEEZING}, - [SPECIES_RHYHORN] = {gMonFrontPic_Rhyhorn, 0x800, SPECIES_RHYHORN}, - [SPECIES_RHYDON] = {gMonFrontPic_Rhydon, 0x800, SPECIES_RHYDON}, - [SPECIES_CHANSEY] = {gMonFrontPic_Chansey, 0x800, SPECIES_CHANSEY}, - [SPECIES_TANGELA] = {gMonFrontPic_Tangela, 0x800, SPECIES_TANGELA}, - [SPECIES_KANGASKHAN] = {gMonFrontPic_Kangaskhan, 0x800, SPECIES_KANGASKHAN}, - [SPECIES_HORSEA] = {gMonFrontPic_Horsea, 0x800, SPECIES_HORSEA}, - [SPECIES_SEADRA] = {gMonFrontPic_Seadra, 0x800, SPECIES_SEADRA}, - [SPECIES_GOLDEEN] = {gMonFrontPic_Goldeen, 0x800, SPECIES_GOLDEEN}, - [SPECIES_SEAKING] = {gMonFrontPic_Seaking, 0x800, SPECIES_SEAKING}, - [SPECIES_STARYU] = {gMonFrontPic_Staryu, 0x800, SPECIES_STARYU}, - [SPECIES_STARMIE] = {gMonFrontPic_Starmie, 0x800, SPECIES_STARMIE}, - [SPECIES_MR_MIME] = {gMonFrontPic_Mrmime, 0x800, SPECIES_MR_MIME}, - [SPECIES_SCYTHER] = {gMonFrontPic_Scyther, 0x800, SPECIES_SCYTHER}, - [SPECIES_JYNX] = {gMonFrontPic_Jynx, 0x800, SPECIES_JYNX}, - [SPECIES_ELECTABUZZ] = {gMonFrontPic_Electabuzz, 0x800, SPECIES_ELECTABUZZ}, - [SPECIES_MAGMAR] = {gMonFrontPic_Magmar, 0x800, SPECIES_MAGMAR}, - [SPECIES_PINSIR] = {gMonFrontPic_Pinsir, 0x800, SPECIES_PINSIR}, - [SPECIES_TAUROS] = {gMonFrontPic_Tauros, 0x800, SPECIES_TAUROS}, - [SPECIES_MAGIKARP] = {gMonFrontPic_Magikarp, 0x800, SPECIES_MAGIKARP}, - [SPECIES_GYARADOS] = {gMonFrontPic_Gyarados, 0x800, SPECIES_GYARADOS}, - [SPECIES_LAPRAS] = {gMonFrontPic_Lapras, 0x800, SPECIES_LAPRAS}, - [SPECIES_DITTO] = {gMonFrontPic_Ditto, 0x800, SPECIES_DITTO}, - [SPECIES_EEVEE] = {gMonFrontPic_Eevee, 0x800, SPECIES_EEVEE}, - [SPECIES_VAPOREON] = {gMonFrontPic_Vaporeon, 0x800, SPECIES_VAPOREON}, - [SPECIES_JOLTEON] = {gMonFrontPic_Jolteon, 0x800, SPECIES_JOLTEON}, - [SPECIES_FLAREON] = {gMonFrontPic_Flareon, 0x800, SPECIES_FLAREON}, - [SPECIES_PORYGON] = {gMonFrontPic_Porygon, 0x800, SPECIES_PORYGON}, - [SPECIES_OMANYTE] = {gMonFrontPic_Omanyte, 0x800, SPECIES_OMANYTE}, - [SPECIES_OMASTAR] = {gMonFrontPic_Omastar, 0x800, SPECIES_OMASTAR}, - [SPECIES_KABUTO] = {gMonFrontPic_Kabuto, 0x800, SPECIES_KABUTO}, - [SPECIES_KABUTOPS] = {gMonFrontPic_Kabutops, 0x800, SPECIES_KABUTOPS}, - [SPECIES_AERODACTYL] = {gMonFrontPic_Aerodactyl, 0x800, SPECIES_AERODACTYL}, - [SPECIES_SNORLAX] = {gMonFrontPic_Snorlax, 0x800, SPECIES_SNORLAX}, - [SPECIES_ARTICUNO] = {gMonFrontPic_Articuno, 0x800, SPECIES_ARTICUNO}, - [SPECIES_ZAPDOS] = {gMonFrontPic_Zapdos, 0x800, SPECIES_ZAPDOS}, - [SPECIES_MOLTRES] = {gMonFrontPic_Moltres, 0x800, SPECIES_MOLTRES}, - [SPECIES_DRATINI] = {gMonFrontPic_Dratini, 0x800, SPECIES_DRATINI}, - [SPECIES_DRAGONAIR] = {gMonFrontPic_Dragonair, 0x800, SPECIES_DRAGONAIR}, - [SPECIES_DRAGONITE] = {gMonFrontPic_Dragonite, 0x800, SPECIES_DRAGONITE}, - [SPECIES_MEWTWO] = {gMonFrontPic_Mewtwo, 0x800, SPECIES_MEWTWO}, - [SPECIES_MEW] = {gMonFrontPic_Mew, 0x800, SPECIES_MEW}, - [SPECIES_CHIKORITA] = {gMonFrontPic_Chikorita, 0x800, SPECIES_CHIKORITA}, - [SPECIES_BAYLEEF] = {gMonFrontPic_Bayleef, 0x800, SPECIES_BAYLEEF}, - [SPECIES_MEGANIUM] = {gMonFrontPic_Meganium, 0x800, SPECIES_MEGANIUM}, - [SPECIES_CYNDAQUIL] = {gMonFrontPic_Cyndaquil, 0x800, SPECIES_CYNDAQUIL}, - [SPECIES_QUILAVA] = {gMonFrontPic_Quilava, 0x800, SPECIES_QUILAVA}, - [SPECIES_TYPHLOSION] = {gMonFrontPic_Typhlosion, 0x800, SPECIES_TYPHLOSION}, - [SPECIES_TOTODILE] = {gMonFrontPic_Totodile, 0x800, SPECIES_TOTODILE}, - [SPECIES_CROCONAW] = {gMonFrontPic_Croconaw, 0x800, SPECIES_CROCONAW}, - [SPECIES_FERALIGATR] = {gMonFrontPic_Feraligatr, 0x800, SPECIES_FERALIGATR}, - [SPECIES_SENTRET] = {gMonFrontPic_Sentret, 0x800, SPECIES_SENTRET}, - [SPECIES_FURRET] = {gMonFrontPic_Furret, 0x800, SPECIES_FURRET}, - [SPECIES_HOOTHOOT] = {gMonFrontPic_Hoothoot, 0x800, SPECIES_HOOTHOOT}, - [SPECIES_NOCTOWL] = {gMonFrontPic_Noctowl, 0x800, SPECIES_NOCTOWL}, - [SPECIES_LEDYBA] = {gMonFrontPic_Ledyba, 0x800, SPECIES_LEDYBA}, - [SPECIES_LEDIAN] = {gMonFrontPic_Ledian, 0x800, SPECIES_LEDIAN}, - [SPECIES_SPINARAK] = {gMonFrontPic_Spinarak, 0x800, SPECIES_SPINARAK}, - [SPECIES_ARIADOS] = {gMonFrontPic_Ariados, 0x800, SPECIES_ARIADOS}, - [SPECIES_CROBAT] = {gMonFrontPic_Crobat, 0x800, SPECIES_CROBAT}, - [SPECIES_CHINCHOU] = {gMonFrontPic_Chinchou, 0x800, SPECIES_CHINCHOU}, - [SPECIES_LANTURN] = {gMonFrontPic_Lanturn, 0x800, SPECIES_LANTURN}, - [SPECIES_PICHU] = {gMonFrontPic_Pichu, 0x800, SPECIES_PICHU}, - [SPECIES_CLEFFA] = {gMonFrontPic_Cleffa, 0x800, SPECIES_CLEFFA}, - [SPECIES_IGGLYBUFF] = {gMonFrontPic_Igglybuff, 0x800, SPECIES_IGGLYBUFF}, - [SPECIES_TOGEPI] = {gMonFrontPic_Togepi, 0x800, SPECIES_TOGEPI}, - [SPECIES_TOGETIC] = {gMonFrontPic_Togetic, 0x800, SPECIES_TOGETIC}, - [SPECIES_NATU] = {gMonFrontPic_Natu, 0x800, SPECIES_NATU}, - [SPECIES_XATU] = {gMonFrontPic_Xatu, 0x800, SPECIES_XATU}, - [SPECIES_MAREEP] = {gMonFrontPic_Mareep, 0x800, SPECIES_MAREEP}, - [SPECIES_FLAAFFY] = {gMonFrontPic_Flaaffy, 0x800, SPECIES_FLAAFFY}, - [SPECIES_AMPHAROS] = {gMonFrontPic_Ampharos, 0x800, SPECIES_AMPHAROS}, - [SPECIES_BELLOSSOM] = {gMonFrontPic_Bellossom, 0x800, SPECIES_BELLOSSOM}, - [SPECIES_MARILL] = {gMonFrontPic_Marill, 0x800, SPECIES_MARILL}, - [SPECIES_AZUMARILL] = {gMonFrontPic_Azumarill, 0x800, SPECIES_AZUMARILL}, - [SPECIES_SUDOWOODO] = {gMonFrontPic_Sudowoodo, 0x800, SPECIES_SUDOWOODO}, - [SPECIES_POLITOED] = {gMonFrontPic_Politoed, 0x800, SPECIES_POLITOED}, - [SPECIES_HOPPIP] = {gMonFrontPic_Hoppip, 0x800, SPECIES_HOPPIP}, - [SPECIES_SKIPLOOM] = {gMonFrontPic_Skiploom, 0x800, SPECIES_SKIPLOOM}, - [SPECIES_JUMPLUFF] = {gMonFrontPic_Jumpluff, 0x800, SPECIES_JUMPLUFF}, - [SPECIES_AIPOM] = {gMonFrontPic_Aipom, 0x800, SPECIES_AIPOM}, - [SPECIES_SUNKERN] = {gMonFrontPic_Sunkern, 0x800, SPECIES_SUNKERN}, - [SPECIES_SUNFLORA] = {gMonFrontPic_Sunflora, 0x800, SPECIES_SUNFLORA}, - [SPECIES_YANMA] = {gMonFrontPic_Yanma, 0x800, SPECIES_YANMA}, - [SPECIES_WOOPER] = {gMonFrontPic_Wooper, 0x800, SPECIES_WOOPER}, - [SPECIES_QUAGSIRE] = {gMonFrontPic_Quagsire, 0x800, SPECIES_QUAGSIRE}, - [SPECIES_ESPEON] = {gMonFrontPic_Espeon, 0x800, SPECIES_ESPEON}, - [SPECIES_UMBREON] = {gMonFrontPic_Umbreon, 0x800, SPECIES_UMBREON}, - [SPECIES_MURKROW] = {gMonFrontPic_Murkrow, 0x800, SPECIES_MURKROW}, - [SPECIES_SLOWKING] = {gMonFrontPic_Slowking, 0x800, SPECIES_SLOWKING}, - [SPECIES_MISDREAVUS] = {gMonFrontPic_Misdreavus, 0x800, SPECIES_MISDREAVUS}, - [SPECIES_UNOWN] = {gMonFrontPic_UnownA, 0x800, SPECIES_UNOWN}, - [SPECIES_WOBBUFFET] = {gMonFrontPic_Wobbuffet, 0x800, SPECIES_WOBBUFFET}, - [SPECIES_GIRAFARIG] = {gMonFrontPic_Girafarig, 0x800, SPECIES_GIRAFARIG}, - [SPECIES_PINECO] = {gMonFrontPic_Pineco, 0x800, SPECIES_PINECO}, - [SPECIES_FORRETRESS] = {gMonFrontPic_Forretress, 0x800, SPECIES_FORRETRESS}, - [SPECIES_DUNSPARCE] = {gMonFrontPic_Dunsparce, 0x800, SPECIES_DUNSPARCE}, - [SPECIES_GLIGAR] = {gMonFrontPic_Gligar, 0x800, SPECIES_GLIGAR}, - [SPECIES_STEELIX] = {gMonFrontPic_Steelix, 0x800, SPECIES_STEELIX}, - [SPECIES_SNUBBULL] = {gMonFrontPic_Snubbull, 0x800, SPECIES_SNUBBULL}, - [SPECIES_GRANBULL] = {gMonFrontPic_Granbull, 0x800, SPECIES_GRANBULL}, - [SPECIES_QWILFISH] = {gMonFrontPic_Qwilfish, 0x800, SPECIES_QWILFISH}, - [SPECIES_SCIZOR] = {gMonFrontPic_Scizor, 0x800, SPECIES_SCIZOR}, - [SPECIES_SHUCKLE] = {gMonFrontPic_Shuckle, 0x800, SPECIES_SHUCKLE}, - [SPECIES_HERACROSS] = {gMonFrontPic_Heracross, 0x800, SPECIES_HERACROSS}, - [SPECIES_SNEASEL] = {gMonFrontPic_Sneasel, 0x800, SPECIES_SNEASEL}, - [SPECIES_TEDDIURSA] = {gMonFrontPic_Teddiursa, 0x800, SPECIES_TEDDIURSA}, - [SPECIES_URSARING] = {gMonFrontPic_Ursaring, 0x800, SPECIES_URSARING}, - [SPECIES_SLUGMA] = {gMonFrontPic_Slugma, 0x800, SPECIES_SLUGMA}, - [SPECIES_MAGCARGO] = {gMonFrontPic_Magcargo, 0x800, SPECIES_MAGCARGO}, - [SPECIES_SWINUB] = {gMonFrontPic_Swinub, 0x800, SPECIES_SWINUB}, - [SPECIES_PILOSWINE] = {gMonFrontPic_Piloswine, 0x800, SPECIES_PILOSWINE}, - [SPECIES_CORSOLA] = {gMonFrontPic_Corsola, 0x800, SPECIES_CORSOLA}, - [SPECIES_REMORAID] = {gMonFrontPic_Remoraid, 0x800, SPECIES_REMORAID}, - [SPECIES_OCTILLERY] = {gMonFrontPic_Octillery, 0x800, SPECIES_OCTILLERY}, - [SPECIES_DELIBIRD] = {gMonFrontPic_Delibird, 0x800, SPECIES_DELIBIRD}, - [SPECIES_MANTINE] = {gMonFrontPic_Mantine, 0x800, SPECIES_MANTINE}, - [SPECIES_SKARMORY] = {gMonFrontPic_Skarmory, 0x800, SPECIES_SKARMORY}, - [SPECIES_HOUNDOUR] = {gMonFrontPic_Houndour, 0x800, SPECIES_HOUNDOUR}, - [SPECIES_HOUNDOOM] = {gMonFrontPic_Houndoom, 0x800, SPECIES_HOUNDOOM}, - [SPECIES_KINGDRA] = {gMonFrontPic_Kingdra, 0x800, SPECIES_KINGDRA}, - [SPECIES_PHANPY] = {gMonFrontPic_Phanpy, 0x800, SPECIES_PHANPY}, - [SPECIES_DONPHAN] = {gMonFrontPic_Donphan, 0x800, SPECIES_DONPHAN}, - [SPECIES_PORYGON2] = {gMonFrontPic_Porygon2, 0x800, SPECIES_PORYGON2}, - [SPECIES_STANTLER] = {gMonFrontPic_Stantler, 0x800, SPECIES_STANTLER}, - [SPECIES_SMEARGLE] = {gMonFrontPic_Smeargle, 0x800, SPECIES_SMEARGLE}, - [SPECIES_TYROGUE] = {gMonFrontPic_Tyrogue, 0x800, SPECIES_TYROGUE}, - [SPECIES_HITMONTOP] = {gMonFrontPic_Hitmontop, 0x800, SPECIES_HITMONTOP}, - [SPECIES_SMOOCHUM] = {gMonFrontPic_Smoochum, 0x800, SPECIES_SMOOCHUM}, - [SPECIES_ELEKID] = {gMonFrontPic_Elekid, 0x800, SPECIES_ELEKID}, - [SPECIES_MAGBY] = {gMonFrontPic_Magby, 0x800, SPECIES_MAGBY}, - [SPECIES_MILTANK] = {gMonFrontPic_Miltank, 0x800, SPECIES_MILTANK}, - [SPECIES_BLISSEY] = {gMonFrontPic_Blissey, 0x800, SPECIES_BLISSEY}, - [SPECIES_RAIKOU] = {gMonFrontPic_Raikou, 0x800, SPECIES_RAIKOU}, - [SPECIES_ENTEI] = {gMonFrontPic_Entei, 0x800, SPECIES_ENTEI}, - [SPECIES_SUICUNE] = {gMonFrontPic_Suicune, 0x800, SPECIES_SUICUNE}, - [SPECIES_LARVITAR] = {gMonFrontPic_Larvitar, 0x800, SPECIES_LARVITAR}, - [SPECIES_PUPITAR] = {gMonFrontPic_Pupitar, 0x800, SPECIES_PUPITAR}, - [SPECIES_TYRANITAR] = {gMonFrontPic_Tyranitar, 0x800, SPECIES_TYRANITAR}, - [SPECIES_LUGIA] = {gMonFrontPic_Lugia, 0x800, SPECIES_LUGIA}, - [SPECIES_HO_OH] = {gMonFrontPic_HoOh, 0x800, SPECIES_HO_OH}, - [SPECIES_CELEBI] = {gMonFrontPic_Celebi, 0x800, SPECIES_CELEBI}, - [SPECIES_OLD_UNOWN_B] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_B}, - [SPECIES_OLD_UNOWN_C] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_C}, - [SPECIES_OLD_UNOWN_D] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_D}, - [SPECIES_OLD_UNOWN_E] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_E}, - [SPECIES_OLD_UNOWN_F] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_F}, - [SPECIES_OLD_UNOWN_G] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_G}, - [SPECIES_OLD_UNOWN_H] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_H}, - [SPECIES_OLD_UNOWN_I] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_I}, - [SPECIES_OLD_UNOWN_J] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_J}, - [SPECIES_OLD_UNOWN_K] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_K}, - [SPECIES_OLD_UNOWN_L] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_L}, - [SPECIES_OLD_UNOWN_M] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_M}, - [SPECIES_OLD_UNOWN_N] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_N}, - [SPECIES_OLD_UNOWN_O] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_O}, - [SPECIES_OLD_UNOWN_P] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_P}, - [SPECIES_OLD_UNOWN_Q] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_Q}, - [SPECIES_OLD_UNOWN_R] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_R}, - [SPECIES_OLD_UNOWN_S] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_S}, - [SPECIES_OLD_UNOWN_T] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_T}, - [SPECIES_OLD_UNOWN_U] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_U}, - [SPECIES_OLD_UNOWN_V] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_V}, - [SPECIES_OLD_UNOWN_W] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_W}, - [SPECIES_OLD_UNOWN_X] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_X}, - [SPECIES_OLD_UNOWN_Y] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_Y}, - [SPECIES_OLD_UNOWN_Z] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_Z}, - [SPECIES_TREECKO] = {gMonFrontPic_Treecko, 0x800, SPECIES_TREECKO}, - [SPECIES_GROVYLE] = {gMonFrontPic_Grovyle, 0x800, SPECIES_GROVYLE}, - [SPECIES_SCEPTILE] = {gMonFrontPic_Sceptile, 0x800, SPECIES_SCEPTILE}, - [SPECIES_TORCHIC] = {gMonFrontPic_Torchic, 0x800, SPECIES_TORCHIC}, - [SPECIES_COMBUSKEN] = {gMonFrontPic_Combusken, 0x800, SPECIES_COMBUSKEN}, - [SPECIES_BLAZIKEN] = {gMonFrontPic_Blaziken, 0x800, SPECIES_BLAZIKEN}, - [SPECIES_MUDKIP] = {gMonFrontPic_Mudkip, 0x800, SPECIES_MUDKIP}, - [SPECIES_MARSHTOMP] = {gMonFrontPic_Marshtomp, 0x800, SPECIES_MARSHTOMP}, - [SPECIES_SWAMPERT] = {gMonFrontPic_Swampert, 0x800, SPECIES_SWAMPERT}, - [SPECIES_POOCHYENA] = {gMonFrontPic_Poochyena, 0x800, SPECIES_POOCHYENA}, - [SPECIES_MIGHTYENA] = {gMonFrontPic_Mightyena, 0x800, SPECIES_MIGHTYENA}, - [SPECIES_ZIGZAGOON] = {gMonFrontPic_Zigzagoon, 0x800, SPECIES_ZIGZAGOON}, - [SPECIES_LINOONE] = {gMonFrontPic_Linoone, 0x800, SPECIES_LINOONE}, - [SPECIES_WURMPLE] = {gMonFrontPic_Wurmple, 0x800, SPECIES_WURMPLE}, - [SPECIES_SILCOON] = {gMonFrontPic_Silcoon, 0x800, SPECIES_SILCOON}, - [SPECIES_BEAUTIFLY] = {gMonFrontPic_Beautifly, 0x800, SPECIES_BEAUTIFLY}, - [SPECIES_CASCOON] = {gMonFrontPic_Cascoon, 0x800, SPECIES_CASCOON}, - [SPECIES_DUSTOX] = {gMonFrontPic_Dustox, 0x800, SPECIES_DUSTOX}, - [SPECIES_LOTAD] = {gMonFrontPic_Lotad, 0x800, SPECIES_LOTAD}, - [SPECIES_LOMBRE] = {gMonFrontPic_Lombre, 0x800, SPECIES_LOMBRE}, - [SPECIES_LUDICOLO] = {gMonFrontPic_Ludicolo, 0x800, SPECIES_LUDICOLO}, - [SPECIES_SEEDOT] = {gMonFrontPic_Seedot, 0x800, SPECIES_SEEDOT}, - [SPECIES_NUZLEAF] = {gMonFrontPic_Nuzleaf, 0x800, SPECIES_NUZLEAF}, - [SPECIES_SHIFTRY] = {gMonFrontPic_Shiftry, 0x800, SPECIES_SHIFTRY}, - [SPECIES_NINCADA] = {gMonFrontPic_Nincada, 0x800, SPECIES_NINCADA}, - [SPECIES_NINJASK] = {gMonFrontPic_Ninjask, 0x800, SPECIES_NINJASK}, - [SPECIES_SHEDINJA] = {gMonFrontPic_Shedinja, 0x800, SPECIES_SHEDINJA}, - [SPECIES_TAILLOW] = {gMonFrontPic_Taillow, 0x800, SPECIES_TAILLOW}, - [SPECIES_SWELLOW] = {gMonFrontPic_Swellow, 0x800, SPECIES_SWELLOW}, - [SPECIES_SHROOMISH] = {gMonFrontPic_Shroomish, 0x800, SPECIES_SHROOMISH}, - [SPECIES_BRELOOM] = {gMonFrontPic_Breloom, 0x800, SPECIES_BRELOOM}, - [SPECIES_SPINDA] = {gMonFrontPic_Spinda, 0x800, SPECIES_SPINDA}, - [SPECIES_WINGULL] = {gMonFrontPic_Wingull, 0x800, SPECIES_WINGULL}, - [SPECIES_PELIPPER] = {gMonFrontPic_Pelipper, 0x800, SPECIES_PELIPPER}, - [SPECIES_SURSKIT] = {gMonFrontPic_Surskit, 0x800, SPECIES_SURSKIT}, - [SPECIES_MASQUERAIN] = {gMonFrontPic_Masquerain, 0x800, SPECIES_MASQUERAIN}, - [SPECIES_WAILMER] = {gMonFrontPic_Wailmer, 0x800, SPECIES_WAILMER}, - [SPECIES_WAILORD] = {gMonFrontPic_Wailord, 0x800, SPECIES_WAILORD}, - [SPECIES_SKITTY] = {gMonFrontPic_Skitty, 0x800, SPECIES_SKITTY}, - [SPECIES_DELCATTY] = {gMonFrontPic_Delcatty, 0x800, SPECIES_DELCATTY}, - [SPECIES_KECLEON] = {gMonFrontPic_Kecleon, 0x800, SPECIES_KECLEON}, - [SPECIES_BALTOY] = {gMonFrontPic_Baltoy, 0x800, SPECIES_BALTOY}, - [SPECIES_CLAYDOL] = {gMonFrontPic_Claydol, 0x800, SPECIES_CLAYDOL}, - [SPECIES_NOSEPASS] = {gMonFrontPic_Nosepass, 0x800, SPECIES_NOSEPASS}, - [SPECIES_TORKOAL] = {gMonFrontPic_Torkoal, 0x800, SPECIES_TORKOAL}, - [SPECIES_SABLEYE] = {gMonFrontPic_Sableye, 0x800, SPECIES_SABLEYE}, - [SPECIES_BARBOACH] = {gMonFrontPic_Barboach, 0x800, SPECIES_BARBOACH}, - [SPECIES_WHISCASH] = {gMonFrontPic_Whiscash, 0x800, SPECIES_WHISCASH}, - [SPECIES_LUVDISC] = {gMonFrontPic_Luvdisc, 0x800, SPECIES_LUVDISC}, - [SPECIES_CORPHISH] = {gMonFrontPic_Corphish, 0x800, SPECIES_CORPHISH}, - [SPECIES_CRAWDAUNT] = {gMonFrontPic_Crawdaunt, 0x800, SPECIES_CRAWDAUNT}, - [SPECIES_FEEBAS] = {gMonFrontPic_Feebas, 0x800, SPECIES_FEEBAS}, - [SPECIES_MILOTIC] = {gMonFrontPic_Milotic, 0x800, SPECIES_MILOTIC}, - [SPECIES_CARVANHA] = {gMonFrontPic_Carvanha, 0x800, SPECIES_CARVANHA}, - [SPECIES_SHARPEDO] = {gMonFrontPic_Sharpedo, 0x800, SPECIES_SHARPEDO}, - [SPECIES_TRAPINCH] = {gMonFrontPic_Trapinch, 0x800, SPECIES_TRAPINCH}, - [SPECIES_VIBRAVA] = {gMonFrontPic_Vibrava, 0x800, SPECIES_VIBRAVA}, - [SPECIES_FLYGON] = {gMonFrontPic_Flygon, 0x800, SPECIES_FLYGON}, - [SPECIES_MAKUHITA] = {gMonFrontPic_Makuhita, 0x800, SPECIES_MAKUHITA}, - [SPECIES_HARIYAMA] = {gMonFrontPic_Hariyama, 0x800, SPECIES_HARIYAMA}, - [SPECIES_ELECTRIKE] = {gMonFrontPic_Electrike, 0x800, SPECIES_ELECTRIKE}, - [SPECIES_MANECTRIC] = {gMonFrontPic_Manectric, 0x800, SPECIES_MANECTRIC}, - [SPECIES_NUMEL] = {gMonFrontPic_Numel, 0x800, SPECIES_NUMEL}, - [SPECIES_CAMERUPT] = {gMonFrontPic_Camerupt, 0x800, SPECIES_CAMERUPT}, - [SPECIES_SPHEAL] = {gMonFrontPic_Spheal, 0x800, SPECIES_SPHEAL}, - [SPECIES_SEALEO] = {gMonFrontPic_Sealeo, 0x800, SPECIES_SEALEO}, - [SPECIES_WALREIN] = {gMonFrontPic_Walrein, 0x800, SPECIES_WALREIN}, - [SPECIES_CACNEA] = {gMonFrontPic_Cacnea, 0x800, SPECIES_CACNEA}, - [SPECIES_CACTURNE] = {gMonFrontPic_Cacturne, 0x800, SPECIES_CACTURNE}, - [SPECIES_SNORUNT] = {gMonFrontPic_Snorunt, 0x800, SPECIES_SNORUNT}, - [SPECIES_GLALIE] = {gMonFrontPic_Glalie, 0x800, SPECIES_GLALIE}, - [SPECIES_LUNATONE] = {gMonFrontPic_Lunatone, 0x800, SPECIES_LUNATONE}, - [SPECIES_SOLROCK] = {gMonFrontPic_Solrock, 0x800, SPECIES_SOLROCK}, - [SPECIES_AZURILL] = {gMonFrontPic_Azurill, 0x800, SPECIES_AZURILL}, - [SPECIES_SPOINK] = {gMonFrontPic_Spoink, 0x800, SPECIES_SPOINK}, - [SPECIES_GRUMPIG] = {gMonFrontPic_Grumpig, 0x800, SPECIES_GRUMPIG}, - [SPECIES_PLUSLE] = {gMonFrontPic_Plusle, 0x800, SPECIES_PLUSLE}, - [SPECIES_MINUN] = {gMonFrontPic_Minun, 0x800, SPECIES_MINUN}, - [SPECIES_MAWILE] = {gMonFrontPic_Mawile, 0x800, SPECIES_MAWILE}, - [SPECIES_MEDITITE] = {gMonFrontPic_Meditite, 0x800, SPECIES_MEDITITE}, - [SPECIES_MEDICHAM] = {gMonFrontPic_Medicham, 0x800, SPECIES_MEDICHAM}, - [SPECIES_SWABLU] = {gMonFrontPic_Swablu, 0x800, SPECIES_SWABLU}, - [SPECIES_ALTARIA] = {gMonFrontPic_Altaria, 0x800, SPECIES_ALTARIA}, - [SPECIES_WYNAUT] = {gMonFrontPic_Wynaut, 0x800, SPECIES_WYNAUT}, - [SPECIES_DUSKULL] = {gMonFrontPic_Duskull, 0x800, SPECIES_DUSKULL}, - [SPECIES_DUSCLOPS] = {gMonFrontPic_Dusclops, 0x800, SPECIES_DUSCLOPS}, - [SPECIES_ROSELIA] = {gMonFrontPic_Roselia, 0x800, SPECIES_ROSELIA}, - [SPECIES_SLAKOTH] = {gMonFrontPic_Slakoth, 0x800, SPECIES_SLAKOTH}, - [SPECIES_VIGOROTH] = {gMonFrontPic_Vigoroth, 0x800, SPECIES_VIGOROTH}, - [SPECIES_SLAKING] = {gMonFrontPic_Slaking, 0x800, SPECIES_SLAKING}, - [SPECIES_GULPIN] = {gMonFrontPic_Gulpin, 0x800, SPECIES_GULPIN}, - [SPECIES_SWALOT] = {gMonFrontPic_Swalot, 0x800, SPECIES_SWALOT}, - [SPECIES_TROPIUS] = {gMonFrontPic_Tropius, 0x800, SPECIES_TROPIUS}, - [SPECIES_WHISMUR] = {gMonFrontPic_Whismur, 0x800, SPECIES_WHISMUR}, - [SPECIES_LOUDRED] = {gMonFrontPic_Loudred, 0x800, SPECIES_LOUDRED}, - [SPECIES_EXPLOUD] = {gMonFrontPic_Exploud, 0x800, SPECIES_EXPLOUD}, - [SPECIES_CLAMPERL] = {gMonFrontPic_Clamperl, 0x800, SPECIES_CLAMPERL}, - [SPECIES_HUNTAIL] = {gMonFrontPic_Huntail, 0x800, SPECIES_HUNTAIL}, - [SPECIES_GOREBYSS] = {gMonFrontPic_Gorebyss, 0x800, SPECIES_GOREBYSS}, - [SPECIES_ABSOL] = {gMonFrontPic_Absol, 0x800, SPECIES_ABSOL}, - [SPECIES_SHUPPET] = {gMonFrontPic_Shuppet, 0x800, SPECIES_SHUPPET}, - [SPECIES_BANETTE] = {gMonFrontPic_Banette, 0x800, SPECIES_BANETTE}, - [SPECIES_SEVIPER] = {gMonFrontPic_Seviper, 0x800, SPECIES_SEVIPER}, - [SPECIES_ZANGOOSE] = {gMonFrontPic_Zangoose, 0x800, SPECIES_ZANGOOSE}, - [SPECIES_RELICANTH] = {gMonFrontPic_Relicanth, 0x800, SPECIES_RELICANTH}, - [SPECIES_ARON] = {gMonFrontPic_Aron, 0x800, SPECIES_ARON}, - [SPECIES_LAIRON] = {gMonFrontPic_Lairon, 0x800, SPECIES_LAIRON}, - [SPECIES_AGGRON] = {gMonFrontPic_Aggron, 0x800, SPECIES_AGGRON}, - [SPECIES_CASTFORM] = {gMonFrontPic_Castform, 0x800, SPECIES_CASTFORM}, - [SPECIES_VOLBEAT] = {gMonFrontPic_Volbeat, 0x800, SPECIES_VOLBEAT}, - [SPECIES_ILLUMISE] = {gMonFrontPic_Illumise, 0x800, SPECIES_ILLUMISE}, - [SPECIES_LILEEP] = {gMonFrontPic_Lileep, 0x800, SPECIES_LILEEP}, - [SPECIES_CRADILY] = {gMonFrontPic_Cradily, 0x800, SPECIES_CRADILY}, - [SPECIES_ANORITH] = {gMonFrontPic_Anorith, 0x800, SPECIES_ANORITH}, - [SPECIES_ARMALDO] = {gMonFrontPic_Armaldo, 0x800, SPECIES_ARMALDO}, - [SPECIES_RALTS] = {gMonFrontPic_Ralts, 0x800, SPECIES_RALTS}, - [SPECIES_KIRLIA] = {gMonFrontPic_Kirlia, 0x800, SPECIES_KIRLIA}, - [SPECIES_GARDEVOIR] = {gMonFrontPic_Gardevoir, 0x800, SPECIES_GARDEVOIR}, - [SPECIES_BAGON] = {gMonFrontPic_Bagon, 0x800, SPECIES_BAGON}, - [SPECIES_SHELGON] = {gMonFrontPic_Shelgon, 0x800, SPECIES_SHELGON}, - [SPECIES_SALAMENCE] = {gMonFrontPic_Salamence, 0x800, SPECIES_SALAMENCE}, - [SPECIES_BELDUM] = {gMonFrontPic_Beldum, 0x800, SPECIES_BELDUM}, - [SPECIES_METANG] = {gMonFrontPic_Metang, 0x800, SPECIES_METANG}, - [SPECIES_METAGROSS] = {gMonFrontPic_Metagross, 0x800, SPECIES_METAGROSS}, - [SPECIES_REGIROCK] = {gMonFrontPic_Regirock, 0x800, SPECIES_REGIROCK}, - [SPECIES_REGICE] = {gMonFrontPic_Regice, 0x800, SPECIES_REGICE}, - [SPECIES_REGISTEEL] = {gMonFrontPic_Registeel, 0x800, SPECIES_REGISTEEL}, - [SPECIES_KYOGRE] = {gMonFrontPic_Kyogre, 0x800, SPECIES_KYOGRE}, - [SPECIES_GROUDON] = {gMonFrontPic_Groudon, 0x800, SPECIES_GROUDON}, - [SPECIES_RAYQUAZA] = {gMonFrontPic_Rayquaza, 0x800, SPECIES_RAYQUAZA}, - [SPECIES_LATIAS] = {gMonFrontPic_Latias, 0x800, SPECIES_LATIAS}, - [SPECIES_LATIOS] = {gMonFrontPic_Latios, 0x800, SPECIES_LATIOS}, - [SPECIES_JIRACHI] = {gMonFrontPic_Jirachi, 0x800, SPECIES_JIRACHI}, - [SPECIES_DEOXYS] = {gMonFrontPic_Deoxys, 0x800, SPECIES_DEOXYS}, - [SPECIES_CHIMECHO] = {gMonFrontPic_Chimecho, 0x800, SPECIES_CHIMECHO}, - [SPECIES_EGG] = {gMonFrontPic_Egg, 0x800, SPECIES_EGG}, - [SPECIES_UNOWN_B] = {gMonFrontPic_UnownB, 0x800, SPECIES_UNOWN_B}, - [SPECIES_UNOWN_C] = {gMonFrontPic_UnownC, 0x800, SPECIES_UNOWN_C}, - [SPECIES_UNOWN_D] = {gMonFrontPic_UnownD, 0x800, SPECIES_UNOWN_D}, - [SPECIES_UNOWN_E] = {gMonFrontPic_UnownE, 0x800, SPECIES_UNOWN_E}, - [SPECIES_UNOWN_F] = {gMonFrontPic_UnownF, 0x800, SPECIES_UNOWN_F}, - [SPECIES_UNOWN_G] = {gMonFrontPic_UnownG, 0x800, SPECIES_UNOWN_G}, - [SPECIES_UNOWN_H] = {gMonFrontPic_UnownH, 0x800, SPECIES_UNOWN_H}, - [SPECIES_UNOWN_I] = {gMonFrontPic_UnownI, 0x800, SPECIES_UNOWN_I}, - [SPECIES_UNOWN_J] = {gMonFrontPic_UnownJ, 0x800, SPECIES_UNOWN_J}, - [SPECIES_UNOWN_K] = {gMonFrontPic_UnownK, 0x800, SPECIES_UNOWN_K}, - [SPECIES_UNOWN_L] = {gMonFrontPic_UnownL, 0x800, SPECIES_UNOWN_L}, - [SPECIES_UNOWN_M] = {gMonFrontPic_UnownM, 0x800, SPECIES_UNOWN_M}, - [SPECIES_UNOWN_N] = {gMonFrontPic_UnownN, 0x800, SPECIES_UNOWN_N}, - [SPECIES_UNOWN_O] = {gMonFrontPic_UnownO, 0x800, SPECIES_UNOWN_O}, - [SPECIES_UNOWN_P] = {gMonFrontPic_UnownP, 0x800, SPECIES_UNOWN_P}, - [SPECIES_UNOWN_Q] = {gMonFrontPic_UnownQ, 0x800, SPECIES_UNOWN_Q}, - [SPECIES_UNOWN_R] = {gMonFrontPic_UnownR, 0x800, SPECIES_UNOWN_R}, - [SPECIES_UNOWN_S] = {gMonFrontPic_UnownS, 0x800, SPECIES_UNOWN_S}, - [SPECIES_UNOWN_T] = {gMonFrontPic_UnownT, 0x800, SPECIES_UNOWN_T}, - [SPECIES_UNOWN_U] = {gMonFrontPic_UnownU, 0x800, SPECIES_UNOWN_U}, - [SPECIES_UNOWN_V] = {gMonFrontPic_UnownV, 0x800, SPECIES_UNOWN_V}, - [SPECIES_UNOWN_W] = {gMonFrontPic_UnownW, 0x800, SPECIES_UNOWN_W}, - [SPECIES_UNOWN_X] = {gMonFrontPic_UnownX, 0x800, SPECIES_UNOWN_X}, - [SPECIES_UNOWN_Y] = {gMonFrontPic_UnownY, 0x800, SPECIES_UNOWN_Y}, - [SPECIES_UNOWN_Z] = {gMonFrontPic_UnownZ, 0x800, SPECIES_UNOWN_Z}, - [SPECIES_UNOWN_EMARK] = {gMonFrontPic_UnownExclamationMark, 0x800, SPECIES_UNOWN_EMARK}, - [SPECIES_UNOWN_QMARK] = {gMonFrontPic_UnownQuestionMark, 0x800, SPECIES_UNOWN_QMARK}, + SPECIES_SPRITE(NONE, gMonFrontPic_CircledQuestionMark), + SPECIES_SPRITE(BULBASAUR, gMonFrontPic_Bulbasaur), + SPECIES_SPRITE(IVYSAUR, gMonFrontPic_Ivysaur), + SPECIES_SPRITE(VENUSAUR, gMonFrontPic_Venusaur), + SPECIES_SPRITE(CHARMANDER, gMonFrontPic_Charmander), + SPECIES_SPRITE(CHARMELEON, gMonFrontPic_Charmeleon), + SPECIES_SPRITE(CHARIZARD, gMonFrontPic_Charizard), + SPECIES_SPRITE(SQUIRTLE, gMonFrontPic_Squirtle), + SPECIES_SPRITE(WARTORTLE, gMonFrontPic_Wartortle), + SPECIES_SPRITE(BLASTOISE, gMonFrontPic_Blastoise), + SPECIES_SPRITE(CATERPIE, gMonFrontPic_Caterpie), + SPECIES_SPRITE(METAPOD, gMonFrontPic_Metapod), + SPECIES_SPRITE(BUTTERFREE, gMonFrontPic_Butterfree), + SPECIES_SPRITE(WEEDLE, gMonFrontPic_Weedle), + SPECIES_SPRITE(KAKUNA, gMonFrontPic_Kakuna), + SPECIES_SPRITE(BEEDRILL, gMonFrontPic_Beedrill), + SPECIES_SPRITE(PIDGEY, gMonFrontPic_Pidgey), + SPECIES_SPRITE(PIDGEOTTO, gMonFrontPic_Pidgeotto), + SPECIES_SPRITE(PIDGEOT, gMonFrontPic_Pidgeot), + SPECIES_SPRITE(RATTATA, gMonFrontPic_Rattata), + SPECIES_SPRITE(RATICATE, gMonFrontPic_Raticate), + SPECIES_SPRITE(SPEAROW, gMonFrontPic_Spearow), + SPECIES_SPRITE(FEAROW, gMonFrontPic_Fearow), + SPECIES_SPRITE(EKANS, gMonFrontPic_Ekans), + SPECIES_SPRITE(ARBOK, gMonFrontPic_Arbok), + SPECIES_SPRITE(PIKACHU, gMonFrontPic_Pikachu), + SPECIES_SPRITE(RAICHU, gMonFrontPic_Raichu), + SPECIES_SPRITE(SANDSHREW, gMonFrontPic_Sandshrew), + SPECIES_SPRITE(SANDSLASH, gMonFrontPic_Sandslash), + SPECIES_SPRITE(NIDORAN_F, gMonFrontPic_NidoranF), + SPECIES_SPRITE(NIDORINA, gMonFrontPic_Nidorina), + SPECIES_SPRITE(NIDOQUEEN, gMonFrontPic_Nidoqueen), + SPECIES_SPRITE(NIDORAN_M, gMonFrontPic_NidoranM), + SPECIES_SPRITE(NIDORINO, gMonFrontPic_Nidorino), + SPECIES_SPRITE(NIDOKING, gMonFrontPic_Nidoking), + SPECIES_SPRITE(CLEFAIRY, gMonFrontPic_Clefairy), + SPECIES_SPRITE(CLEFABLE, gMonFrontPic_Clefable), + SPECIES_SPRITE(VULPIX, gMonFrontPic_Vulpix), + SPECIES_SPRITE(NINETALES, gMonFrontPic_Ninetales), + SPECIES_SPRITE(JIGGLYPUFF, gMonFrontPic_Jigglypuff), + SPECIES_SPRITE(WIGGLYTUFF, gMonFrontPic_Wigglytuff), + SPECIES_SPRITE(ZUBAT, gMonFrontPic_Zubat), + SPECIES_SPRITE(GOLBAT, gMonFrontPic_Golbat), + SPECIES_SPRITE(ODDISH, gMonFrontPic_Oddish), + SPECIES_SPRITE(GLOOM, gMonFrontPic_Gloom), + SPECIES_SPRITE(VILEPLUME, gMonFrontPic_Vileplume), + SPECIES_SPRITE(PARAS, gMonFrontPic_Paras), + SPECIES_SPRITE(PARASECT, gMonFrontPic_Parasect), + SPECIES_SPRITE(VENONAT, gMonFrontPic_Venonat), + SPECIES_SPRITE(VENOMOTH, gMonFrontPic_Venomoth), + SPECIES_SPRITE(DIGLETT, gMonFrontPic_Diglett), + SPECIES_SPRITE(DUGTRIO, gMonFrontPic_Dugtrio), + SPECIES_SPRITE(MEOWTH, gMonFrontPic_Meowth), + SPECIES_SPRITE(PERSIAN, gMonFrontPic_Persian), + SPECIES_SPRITE(PSYDUCK, gMonFrontPic_Psyduck), + SPECIES_SPRITE(GOLDUCK, gMonFrontPic_Golduck), + SPECIES_SPRITE(MANKEY, gMonFrontPic_Mankey), + SPECIES_SPRITE(PRIMEAPE, gMonFrontPic_Primeape), + SPECIES_SPRITE(GROWLITHE, gMonFrontPic_Growlithe), + SPECIES_SPRITE(ARCANINE, gMonFrontPic_Arcanine), + SPECIES_SPRITE(POLIWAG, gMonFrontPic_Poliwag), + SPECIES_SPRITE(POLIWHIRL, gMonFrontPic_Poliwhirl), + SPECIES_SPRITE(POLIWRATH, gMonFrontPic_Poliwrath), + SPECIES_SPRITE(ABRA, gMonFrontPic_Abra), + SPECIES_SPRITE(KADABRA, gMonFrontPic_Kadabra), + SPECIES_SPRITE(ALAKAZAM, gMonFrontPic_Alakazam), + SPECIES_SPRITE(MACHOP, gMonFrontPic_Machop), + SPECIES_SPRITE(MACHOKE, gMonFrontPic_Machoke), + SPECIES_SPRITE(MACHAMP, gMonFrontPic_Machamp), + SPECIES_SPRITE(BELLSPROUT, gMonFrontPic_Bellsprout), + SPECIES_SPRITE(WEEPINBELL, gMonFrontPic_Weepinbell), + SPECIES_SPRITE(VICTREEBEL, gMonFrontPic_Victreebel), + SPECIES_SPRITE(TENTACOOL, gMonFrontPic_Tentacool), + SPECIES_SPRITE(TENTACRUEL, gMonFrontPic_Tentacruel), + SPECIES_SPRITE(GEODUDE, gMonFrontPic_Geodude), + SPECIES_SPRITE(GRAVELER, gMonFrontPic_Graveler), + SPECIES_SPRITE(GOLEM, gMonFrontPic_Golem), + SPECIES_SPRITE(PONYTA, gMonFrontPic_Ponyta), + SPECIES_SPRITE(RAPIDASH, gMonFrontPic_Rapidash), + SPECIES_SPRITE(SLOWPOKE, gMonFrontPic_Slowpoke), + SPECIES_SPRITE(SLOWBRO, gMonFrontPic_Slowbro), + SPECIES_SPRITE(MAGNEMITE, gMonFrontPic_Magnemite), + SPECIES_SPRITE(MAGNETON, gMonFrontPic_Magneton), + SPECIES_SPRITE(FARFETCHD, gMonFrontPic_Farfetchd), + SPECIES_SPRITE(DODUO, gMonFrontPic_Doduo), + SPECIES_SPRITE(DODRIO, gMonFrontPic_Dodrio), + SPECIES_SPRITE(SEEL, gMonFrontPic_Seel), + SPECIES_SPRITE(DEWGONG, gMonFrontPic_Dewgong), + SPECIES_SPRITE(GRIMER, gMonFrontPic_Grimer), + SPECIES_SPRITE(MUK, gMonFrontPic_Muk), + SPECIES_SPRITE(SHELLDER, gMonFrontPic_Shellder), + SPECIES_SPRITE(CLOYSTER, gMonFrontPic_Cloyster), + SPECIES_SPRITE(GASTLY, gMonFrontPic_Gastly), + SPECIES_SPRITE(HAUNTER, gMonFrontPic_Haunter), + SPECIES_SPRITE(GENGAR, gMonFrontPic_Gengar), + SPECIES_SPRITE(ONIX, gMonFrontPic_Onix), + SPECIES_SPRITE(DROWZEE, gMonFrontPic_Drowzee), + SPECIES_SPRITE(HYPNO, gMonFrontPic_Hypno), + SPECIES_SPRITE(KRABBY, gMonFrontPic_Krabby), + SPECIES_SPRITE(KINGLER, gMonFrontPic_Kingler), + SPECIES_SPRITE(VOLTORB, gMonFrontPic_Voltorb), + SPECIES_SPRITE(ELECTRODE, gMonFrontPic_Electrode), + SPECIES_SPRITE(EXEGGCUTE, gMonFrontPic_Exeggcute), + SPECIES_SPRITE(EXEGGUTOR, gMonFrontPic_Exeggutor), + SPECIES_SPRITE(CUBONE, gMonFrontPic_Cubone), + SPECIES_SPRITE(MAROWAK, gMonFrontPic_Marowak), + SPECIES_SPRITE(HITMONLEE, gMonFrontPic_Hitmonlee), + SPECIES_SPRITE(HITMONCHAN, gMonFrontPic_Hitmonchan), + SPECIES_SPRITE(LICKITUNG, gMonFrontPic_Lickitung), + SPECIES_SPRITE(KOFFING, gMonFrontPic_Koffing), + SPECIES_SPRITE(WEEZING, gMonFrontPic_Weezing), + SPECIES_SPRITE(RHYHORN, gMonFrontPic_Rhyhorn), + SPECIES_SPRITE(RHYDON, gMonFrontPic_Rhydon), + SPECIES_SPRITE(CHANSEY, gMonFrontPic_Chansey), + SPECIES_SPRITE(TANGELA, gMonFrontPic_Tangela), + SPECIES_SPRITE(KANGASKHAN, gMonFrontPic_Kangaskhan), + SPECIES_SPRITE(HORSEA, gMonFrontPic_Horsea), + SPECIES_SPRITE(SEADRA, gMonFrontPic_Seadra), + SPECIES_SPRITE(GOLDEEN, gMonFrontPic_Goldeen), + SPECIES_SPRITE(SEAKING, gMonFrontPic_Seaking), + SPECIES_SPRITE(STARYU, gMonFrontPic_Staryu), + SPECIES_SPRITE(STARMIE, gMonFrontPic_Starmie), + SPECIES_SPRITE(MR_MIME, gMonFrontPic_Mrmime), + SPECIES_SPRITE(SCYTHER, gMonFrontPic_Scyther), + SPECIES_SPRITE(JYNX, gMonFrontPic_Jynx), + SPECIES_SPRITE(ELECTABUZZ, gMonFrontPic_Electabuzz), + SPECIES_SPRITE(MAGMAR, gMonFrontPic_Magmar), + SPECIES_SPRITE(PINSIR, gMonFrontPic_Pinsir), + SPECIES_SPRITE(TAUROS, gMonFrontPic_Tauros), + SPECIES_SPRITE(MAGIKARP, gMonFrontPic_Magikarp), + SPECIES_SPRITE(GYARADOS, gMonFrontPic_Gyarados), + SPECIES_SPRITE(LAPRAS, gMonFrontPic_Lapras), + SPECIES_SPRITE(DITTO, gMonFrontPic_Ditto), + SPECIES_SPRITE(EEVEE, gMonFrontPic_Eevee), + SPECIES_SPRITE(VAPOREON, gMonFrontPic_Vaporeon), + SPECIES_SPRITE(JOLTEON, gMonFrontPic_Jolteon), + SPECIES_SPRITE(FLAREON, gMonFrontPic_Flareon), + SPECIES_SPRITE(PORYGON, gMonFrontPic_Porygon), + SPECIES_SPRITE(OMANYTE, gMonFrontPic_Omanyte), + SPECIES_SPRITE(OMASTAR, gMonFrontPic_Omastar), + SPECIES_SPRITE(KABUTO, gMonFrontPic_Kabuto), + SPECIES_SPRITE(KABUTOPS, gMonFrontPic_Kabutops), + SPECIES_SPRITE(AERODACTYL, gMonFrontPic_Aerodactyl), + SPECIES_SPRITE(SNORLAX, gMonFrontPic_Snorlax), + SPECIES_SPRITE(ARTICUNO, gMonFrontPic_Articuno), + SPECIES_SPRITE(ZAPDOS, gMonFrontPic_Zapdos), + SPECIES_SPRITE(MOLTRES, gMonFrontPic_Moltres), + SPECIES_SPRITE(DRATINI, gMonFrontPic_Dratini), + SPECIES_SPRITE(DRAGONAIR, gMonFrontPic_Dragonair), + SPECIES_SPRITE(DRAGONITE, gMonFrontPic_Dragonite), + SPECIES_SPRITE(MEWTWO, gMonFrontPic_Mewtwo), + SPECIES_SPRITE(MEW, gMonFrontPic_Mew), + SPECIES_SPRITE(CHIKORITA, gMonFrontPic_Chikorita), + SPECIES_SPRITE(BAYLEEF, gMonFrontPic_Bayleef), + SPECIES_SPRITE(MEGANIUM, gMonFrontPic_Meganium), + SPECIES_SPRITE(CYNDAQUIL, gMonFrontPic_Cyndaquil), + SPECIES_SPRITE(QUILAVA, gMonFrontPic_Quilava), + SPECIES_SPRITE(TYPHLOSION, gMonFrontPic_Typhlosion), + SPECIES_SPRITE(TOTODILE, gMonFrontPic_Totodile), + SPECIES_SPRITE(CROCONAW, gMonFrontPic_Croconaw), + SPECIES_SPRITE(FERALIGATR, gMonFrontPic_Feraligatr), + SPECIES_SPRITE(SENTRET, gMonFrontPic_Sentret), + SPECIES_SPRITE(FURRET, gMonFrontPic_Furret), + SPECIES_SPRITE(HOOTHOOT, gMonFrontPic_Hoothoot), + SPECIES_SPRITE(NOCTOWL, gMonFrontPic_Noctowl), + SPECIES_SPRITE(LEDYBA, gMonFrontPic_Ledyba), + SPECIES_SPRITE(LEDIAN, gMonFrontPic_Ledian), + SPECIES_SPRITE(SPINARAK, gMonFrontPic_Spinarak), + SPECIES_SPRITE(ARIADOS, gMonFrontPic_Ariados), + SPECIES_SPRITE(CROBAT, gMonFrontPic_Crobat), + SPECIES_SPRITE(CHINCHOU, gMonFrontPic_Chinchou), + SPECIES_SPRITE(LANTURN, gMonFrontPic_Lanturn), + SPECIES_SPRITE(PICHU, gMonFrontPic_Pichu), + SPECIES_SPRITE(CLEFFA, gMonFrontPic_Cleffa), + SPECIES_SPRITE(IGGLYBUFF, gMonFrontPic_Igglybuff), + SPECIES_SPRITE(TOGEPI, gMonFrontPic_Togepi), + SPECIES_SPRITE(TOGETIC, gMonFrontPic_Togetic), + SPECIES_SPRITE(NATU, gMonFrontPic_Natu), + SPECIES_SPRITE(XATU, gMonFrontPic_Xatu), + SPECIES_SPRITE(MAREEP, gMonFrontPic_Mareep), + SPECIES_SPRITE(FLAAFFY, gMonFrontPic_Flaaffy), + SPECIES_SPRITE(AMPHAROS, gMonFrontPic_Ampharos), + SPECIES_SPRITE(BELLOSSOM, gMonFrontPic_Bellossom), + SPECIES_SPRITE(MARILL, gMonFrontPic_Marill), + SPECIES_SPRITE(AZUMARILL, gMonFrontPic_Azumarill), + SPECIES_SPRITE(SUDOWOODO, gMonFrontPic_Sudowoodo), + SPECIES_SPRITE(POLITOED, gMonFrontPic_Politoed), + SPECIES_SPRITE(HOPPIP, gMonFrontPic_Hoppip), + SPECIES_SPRITE(SKIPLOOM, gMonFrontPic_Skiploom), + SPECIES_SPRITE(JUMPLUFF, gMonFrontPic_Jumpluff), + SPECIES_SPRITE(AIPOM, gMonFrontPic_Aipom), + SPECIES_SPRITE(SUNKERN, gMonFrontPic_Sunkern), + SPECIES_SPRITE(SUNFLORA, gMonFrontPic_Sunflora), + SPECIES_SPRITE(YANMA, gMonFrontPic_Yanma), + SPECIES_SPRITE(WOOPER, gMonFrontPic_Wooper), + SPECIES_SPRITE(QUAGSIRE, gMonFrontPic_Quagsire), + SPECIES_SPRITE(ESPEON, gMonFrontPic_Espeon), + SPECIES_SPRITE(UMBREON, gMonFrontPic_Umbreon), + SPECIES_SPRITE(MURKROW, gMonFrontPic_Murkrow), + SPECIES_SPRITE(SLOWKING, gMonFrontPic_Slowking), + SPECIES_SPRITE(MISDREAVUS, gMonFrontPic_Misdreavus), + SPECIES_SPRITE(UNOWN, gMonFrontPic_UnownA), + SPECIES_SPRITE(WOBBUFFET, gMonFrontPic_Wobbuffet), + SPECIES_SPRITE(GIRAFARIG, gMonFrontPic_Girafarig), + SPECIES_SPRITE(PINECO, gMonFrontPic_Pineco), + SPECIES_SPRITE(FORRETRESS, gMonFrontPic_Forretress), + SPECIES_SPRITE(DUNSPARCE, gMonFrontPic_Dunsparce), + SPECIES_SPRITE(GLIGAR, gMonFrontPic_Gligar), + SPECIES_SPRITE(STEELIX, gMonFrontPic_Steelix), + SPECIES_SPRITE(SNUBBULL, gMonFrontPic_Snubbull), + SPECIES_SPRITE(GRANBULL, gMonFrontPic_Granbull), + SPECIES_SPRITE(QWILFISH, gMonFrontPic_Qwilfish), + SPECIES_SPRITE(SCIZOR, gMonFrontPic_Scizor), + SPECIES_SPRITE(SHUCKLE, gMonFrontPic_Shuckle), + SPECIES_SPRITE(HERACROSS, gMonFrontPic_Heracross), + SPECIES_SPRITE(SNEASEL, gMonFrontPic_Sneasel), + SPECIES_SPRITE(TEDDIURSA, gMonFrontPic_Teddiursa), + SPECIES_SPRITE(URSARING, gMonFrontPic_Ursaring), + SPECIES_SPRITE(SLUGMA, gMonFrontPic_Slugma), + SPECIES_SPRITE(MAGCARGO, gMonFrontPic_Magcargo), + SPECIES_SPRITE(SWINUB, gMonFrontPic_Swinub), + SPECIES_SPRITE(PILOSWINE, gMonFrontPic_Piloswine), + SPECIES_SPRITE(CORSOLA, gMonFrontPic_Corsola), + SPECIES_SPRITE(REMORAID, gMonFrontPic_Remoraid), + SPECIES_SPRITE(OCTILLERY, gMonFrontPic_Octillery), + SPECIES_SPRITE(DELIBIRD, gMonFrontPic_Delibird), + SPECIES_SPRITE(MANTINE, gMonFrontPic_Mantine), + SPECIES_SPRITE(SKARMORY, gMonFrontPic_Skarmory), + SPECIES_SPRITE(HOUNDOUR, gMonFrontPic_Houndour), + SPECIES_SPRITE(HOUNDOOM, gMonFrontPic_Houndoom), + SPECIES_SPRITE(KINGDRA, gMonFrontPic_Kingdra), + SPECIES_SPRITE(PHANPY, gMonFrontPic_Phanpy), + SPECIES_SPRITE(DONPHAN, gMonFrontPic_Donphan), + SPECIES_SPRITE(PORYGON2, gMonFrontPic_Porygon2), + SPECIES_SPRITE(STANTLER, gMonFrontPic_Stantler), + SPECIES_SPRITE(SMEARGLE, gMonFrontPic_Smeargle), + SPECIES_SPRITE(TYROGUE, gMonFrontPic_Tyrogue), + SPECIES_SPRITE(HITMONTOP, gMonFrontPic_Hitmontop), + SPECIES_SPRITE(SMOOCHUM, gMonFrontPic_Smoochum), + SPECIES_SPRITE(ELEKID, gMonFrontPic_Elekid), + SPECIES_SPRITE(MAGBY, gMonFrontPic_Magby), + SPECIES_SPRITE(MILTANK, gMonFrontPic_Miltank), + SPECIES_SPRITE(BLISSEY, gMonFrontPic_Blissey), + SPECIES_SPRITE(RAIKOU, gMonFrontPic_Raikou), + SPECIES_SPRITE(ENTEI, gMonFrontPic_Entei), + SPECIES_SPRITE(SUICUNE, gMonFrontPic_Suicune), + SPECIES_SPRITE(LARVITAR, gMonFrontPic_Larvitar), + SPECIES_SPRITE(PUPITAR, gMonFrontPic_Pupitar), + SPECIES_SPRITE(TYRANITAR, gMonFrontPic_Tyranitar), + SPECIES_SPRITE(LUGIA, gMonFrontPic_Lugia), + SPECIES_SPRITE(HO_OH, gMonFrontPic_HoOh), + SPECIES_SPRITE(CELEBI, gMonFrontPic_Celebi), + SPECIES_SPRITE(OLD_UNOWN_B, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_C, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_D, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_E, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_F, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_G, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_H, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_I, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_J, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_K, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_L, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_M, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_N, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_O, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_P, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_Q, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_R, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_S, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_T, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_U, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_V, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_W, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_X, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_Y, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_Z, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(TREECKO, gMonFrontPic_Treecko), + SPECIES_SPRITE(GROVYLE, gMonFrontPic_Grovyle), + SPECIES_SPRITE(SCEPTILE, gMonFrontPic_Sceptile), + SPECIES_SPRITE(TORCHIC, gMonFrontPic_Torchic), + SPECIES_SPRITE(COMBUSKEN, gMonFrontPic_Combusken), + SPECIES_SPRITE(BLAZIKEN, gMonFrontPic_Blaziken), + SPECIES_SPRITE(MUDKIP, gMonFrontPic_Mudkip), + SPECIES_SPRITE(MARSHTOMP, gMonFrontPic_Marshtomp), + SPECIES_SPRITE(SWAMPERT, gMonFrontPic_Swampert), + SPECIES_SPRITE(POOCHYENA, gMonFrontPic_Poochyena), + SPECIES_SPRITE(MIGHTYENA, gMonFrontPic_Mightyena), + SPECIES_SPRITE(ZIGZAGOON, gMonFrontPic_Zigzagoon), + SPECIES_SPRITE(LINOONE, gMonFrontPic_Linoone), + SPECIES_SPRITE(WURMPLE, gMonFrontPic_Wurmple), + SPECIES_SPRITE(SILCOON, gMonFrontPic_Silcoon), + SPECIES_SPRITE(BEAUTIFLY, gMonFrontPic_Beautifly), + SPECIES_SPRITE(CASCOON, gMonFrontPic_Cascoon), + SPECIES_SPRITE(DUSTOX, gMonFrontPic_Dustox), + SPECIES_SPRITE(LOTAD, gMonFrontPic_Lotad), + SPECIES_SPRITE(LOMBRE, gMonFrontPic_Lombre), + SPECIES_SPRITE(LUDICOLO, gMonFrontPic_Ludicolo), + SPECIES_SPRITE(SEEDOT, gMonFrontPic_Seedot), + SPECIES_SPRITE(NUZLEAF, gMonFrontPic_Nuzleaf), + SPECIES_SPRITE(SHIFTRY, gMonFrontPic_Shiftry), + SPECIES_SPRITE(NINCADA, gMonFrontPic_Nincada), + SPECIES_SPRITE(NINJASK, gMonFrontPic_Ninjask), + SPECIES_SPRITE(SHEDINJA, gMonFrontPic_Shedinja), + SPECIES_SPRITE(TAILLOW, gMonFrontPic_Taillow), + SPECIES_SPRITE(SWELLOW, gMonFrontPic_Swellow), + SPECIES_SPRITE(SHROOMISH, gMonFrontPic_Shroomish), + SPECIES_SPRITE(BRELOOM, gMonFrontPic_Breloom), + SPECIES_SPRITE(SPINDA, gMonFrontPic_Spinda), + SPECIES_SPRITE(WINGULL, gMonFrontPic_Wingull), + SPECIES_SPRITE(PELIPPER, gMonFrontPic_Pelipper), + SPECIES_SPRITE(SURSKIT, gMonFrontPic_Surskit), + SPECIES_SPRITE(MASQUERAIN, gMonFrontPic_Masquerain), + SPECIES_SPRITE(WAILMER, gMonFrontPic_Wailmer), + SPECIES_SPRITE(WAILORD, gMonFrontPic_Wailord), + SPECIES_SPRITE(SKITTY, gMonFrontPic_Skitty), + SPECIES_SPRITE(DELCATTY, gMonFrontPic_Delcatty), + SPECIES_SPRITE(KECLEON, gMonFrontPic_Kecleon), + SPECIES_SPRITE(BALTOY, gMonFrontPic_Baltoy), + SPECIES_SPRITE(CLAYDOL, gMonFrontPic_Claydol), + SPECIES_SPRITE(NOSEPASS, gMonFrontPic_Nosepass), + SPECIES_SPRITE(TORKOAL, gMonFrontPic_Torkoal), + SPECIES_SPRITE(SABLEYE, gMonFrontPic_Sableye), + SPECIES_SPRITE(BARBOACH, gMonFrontPic_Barboach), + SPECIES_SPRITE(WHISCASH, gMonFrontPic_Whiscash), + SPECIES_SPRITE(LUVDISC, gMonFrontPic_Luvdisc), + SPECIES_SPRITE(CORPHISH, gMonFrontPic_Corphish), + SPECIES_SPRITE(CRAWDAUNT, gMonFrontPic_Crawdaunt), + SPECIES_SPRITE(FEEBAS, gMonFrontPic_Feebas), + SPECIES_SPRITE(MILOTIC, gMonFrontPic_Milotic), + SPECIES_SPRITE(CARVANHA, gMonFrontPic_Carvanha), + SPECIES_SPRITE(SHARPEDO, gMonFrontPic_Sharpedo), + SPECIES_SPRITE(TRAPINCH, gMonFrontPic_Trapinch), + SPECIES_SPRITE(VIBRAVA, gMonFrontPic_Vibrava), + SPECIES_SPRITE(FLYGON, gMonFrontPic_Flygon), + SPECIES_SPRITE(MAKUHITA, gMonFrontPic_Makuhita), + SPECIES_SPRITE(HARIYAMA, gMonFrontPic_Hariyama), + SPECIES_SPRITE(ELECTRIKE, gMonFrontPic_Electrike), + SPECIES_SPRITE(MANECTRIC, gMonFrontPic_Manectric), + SPECIES_SPRITE(NUMEL, gMonFrontPic_Numel), + SPECIES_SPRITE(CAMERUPT, gMonFrontPic_Camerupt), + SPECIES_SPRITE(SPHEAL, gMonFrontPic_Spheal), + SPECIES_SPRITE(SEALEO, gMonFrontPic_Sealeo), + SPECIES_SPRITE(WALREIN, gMonFrontPic_Walrein), + SPECIES_SPRITE(CACNEA, gMonFrontPic_Cacnea), + SPECIES_SPRITE(CACTURNE, gMonFrontPic_Cacturne), + SPECIES_SPRITE(SNORUNT, gMonFrontPic_Snorunt), + SPECIES_SPRITE(GLALIE, gMonFrontPic_Glalie), + SPECIES_SPRITE(LUNATONE, gMonFrontPic_Lunatone), + SPECIES_SPRITE(SOLROCK, gMonFrontPic_Solrock), + SPECIES_SPRITE(AZURILL, gMonFrontPic_Azurill), + SPECIES_SPRITE(SPOINK, gMonFrontPic_Spoink), + SPECIES_SPRITE(GRUMPIG, gMonFrontPic_Grumpig), + SPECIES_SPRITE(PLUSLE, gMonFrontPic_Plusle), + SPECIES_SPRITE(MINUN, gMonFrontPic_Minun), + SPECIES_SPRITE(MAWILE, gMonFrontPic_Mawile), + SPECIES_SPRITE(MEDITITE, gMonFrontPic_Meditite), + SPECIES_SPRITE(MEDICHAM, gMonFrontPic_Medicham), + SPECIES_SPRITE(SWABLU, gMonFrontPic_Swablu), + SPECIES_SPRITE(ALTARIA, gMonFrontPic_Altaria), + SPECIES_SPRITE(WYNAUT, gMonFrontPic_Wynaut), + SPECIES_SPRITE(DUSKULL, gMonFrontPic_Duskull), + SPECIES_SPRITE(DUSCLOPS, gMonFrontPic_Dusclops), + SPECIES_SPRITE(ROSELIA, gMonFrontPic_Roselia), + SPECIES_SPRITE(SLAKOTH, gMonFrontPic_Slakoth), + SPECIES_SPRITE(VIGOROTH, gMonFrontPic_Vigoroth), + SPECIES_SPRITE(SLAKING, gMonFrontPic_Slaking), + SPECIES_SPRITE(GULPIN, gMonFrontPic_Gulpin), + SPECIES_SPRITE(SWALOT, gMonFrontPic_Swalot), + SPECIES_SPRITE(TROPIUS, gMonFrontPic_Tropius), + SPECIES_SPRITE(WHISMUR, gMonFrontPic_Whismur), + SPECIES_SPRITE(LOUDRED, gMonFrontPic_Loudred), + SPECIES_SPRITE(EXPLOUD, gMonFrontPic_Exploud), + SPECIES_SPRITE(CLAMPERL, gMonFrontPic_Clamperl), + SPECIES_SPRITE(HUNTAIL, gMonFrontPic_Huntail), + SPECIES_SPRITE(GOREBYSS, gMonFrontPic_Gorebyss), + SPECIES_SPRITE(ABSOL, gMonFrontPic_Absol), + SPECIES_SPRITE(SHUPPET, gMonFrontPic_Shuppet), + SPECIES_SPRITE(BANETTE, gMonFrontPic_Banette), + SPECIES_SPRITE(SEVIPER, gMonFrontPic_Seviper), + SPECIES_SPRITE(ZANGOOSE, gMonFrontPic_Zangoose), + SPECIES_SPRITE(RELICANTH, gMonFrontPic_Relicanth), + SPECIES_SPRITE(ARON, gMonFrontPic_Aron), + SPECIES_SPRITE(LAIRON, gMonFrontPic_Lairon), + SPECIES_SPRITE(AGGRON, gMonFrontPic_Aggron), + SPECIES_SPRITE(CASTFORM, gMonFrontPic_Castform), + SPECIES_SPRITE(VOLBEAT, gMonFrontPic_Volbeat), + SPECIES_SPRITE(ILLUMISE, gMonFrontPic_Illumise), + SPECIES_SPRITE(LILEEP, gMonFrontPic_Lileep), + SPECIES_SPRITE(CRADILY, gMonFrontPic_Cradily), + SPECIES_SPRITE(ANORITH, gMonFrontPic_Anorith), + SPECIES_SPRITE(ARMALDO, gMonFrontPic_Armaldo), + SPECIES_SPRITE(RALTS, gMonFrontPic_Ralts), + SPECIES_SPRITE(KIRLIA, gMonFrontPic_Kirlia), + SPECIES_SPRITE(GARDEVOIR, gMonFrontPic_Gardevoir), + SPECIES_SPRITE(BAGON, gMonFrontPic_Bagon), + SPECIES_SPRITE(SHELGON, gMonFrontPic_Shelgon), + SPECIES_SPRITE(SALAMENCE, gMonFrontPic_Salamence), + SPECIES_SPRITE(BELDUM, gMonFrontPic_Beldum), + SPECIES_SPRITE(METANG, gMonFrontPic_Metang), + SPECIES_SPRITE(METAGROSS, gMonFrontPic_Metagross), + SPECIES_SPRITE(REGIROCK, gMonFrontPic_Regirock), + SPECIES_SPRITE(REGICE, gMonFrontPic_Regice), + SPECIES_SPRITE(REGISTEEL, gMonFrontPic_Registeel), + SPECIES_SPRITE(KYOGRE, gMonFrontPic_Kyogre), + SPECIES_SPRITE(GROUDON, gMonFrontPic_Groudon), + SPECIES_SPRITE(RAYQUAZA, gMonFrontPic_Rayquaza), + SPECIES_SPRITE(LATIAS, gMonFrontPic_Latias), + SPECIES_SPRITE(LATIOS, gMonFrontPic_Latios), + SPECIES_SPRITE(JIRACHI, gMonFrontPic_Jirachi), + SPECIES_SPRITE(DEOXYS, gMonFrontPic_Deoxys), + SPECIES_SPRITE(CHIMECHO, gMonFrontPic_Chimecho), + SPECIES_SPRITE(EGG, gMonFrontPic_Egg), + SPECIES_SPRITE(UNOWN_B, gMonFrontPic_UnownB), + SPECIES_SPRITE(UNOWN_C, gMonFrontPic_UnownC), + SPECIES_SPRITE(UNOWN_D, gMonFrontPic_UnownD), + SPECIES_SPRITE(UNOWN_E, gMonFrontPic_UnownE), + SPECIES_SPRITE(UNOWN_F, gMonFrontPic_UnownF), + SPECIES_SPRITE(UNOWN_G, gMonFrontPic_UnownG), + SPECIES_SPRITE(UNOWN_H, gMonFrontPic_UnownH), + SPECIES_SPRITE(UNOWN_I, gMonFrontPic_UnownI), + SPECIES_SPRITE(UNOWN_J, gMonFrontPic_UnownJ), + SPECIES_SPRITE(UNOWN_K, gMonFrontPic_UnownK), + SPECIES_SPRITE(UNOWN_L, gMonFrontPic_UnownL), + SPECIES_SPRITE(UNOWN_M, gMonFrontPic_UnownM), + SPECIES_SPRITE(UNOWN_N, gMonFrontPic_UnownN), + SPECIES_SPRITE(UNOWN_O, gMonFrontPic_UnownO), + SPECIES_SPRITE(UNOWN_P, gMonFrontPic_UnownP), + SPECIES_SPRITE(UNOWN_Q, gMonFrontPic_UnownQ), + SPECIES_SPRITE(UNOWN_R, gMonFrontPic_UnownR), + SPECIES_SPRITE(UNOWN_S, gMonFrontPic_UnownS), + SPECIES_SPRITE(UNOWN_T, gMonFrontPic_UnownT), + SPECIES_SPRITE(UNOWN_U, gMonFrontPic_UnownU), + SPECIES_SPRITE(UNOWN_V, gMonFrontPic_UnownV), + SPECIES_SPRITE(UNOWN_W, gMonFrontPic_UnownW), + SPECIES_SPRITE(UNOWN_X, gMonFrontPic_UnownX), + SPECIES_SPRITE(UNOWN_Y, gMonFrontPic_UnownY), + SPECIES_SPRITE(UNOWN_Z, gMonFrontPic_UnownZ), + SPECIES_SPRITE(UNOWN_EMARK, gMonFrontPic_UnownExclamationMark), + SPECIES_SPRITE(UNOWN_QMARK, gMonFrontPic_UnownQuestionMark), }; diff --git a/src/data/pokemon_graphics/palette_table.h b/src/data/pokemon_graphics/palette_table.h index 3b60d85677..35edcc76c1 100644 --- a/src/data/pokemon_graphics/palette_table.h +++ b/src/data/pokemon_graphics/palette_table.h @@ -1,443 +1,443 @@ const struct CompressedSpritePalette gMonPaletteTable[] = { - [SPECIES_NONE] = {gMonPalette_CircledQuestionMark, SPECIES_NONE}, - [SPECIES_BULBASAUR] = {gMonPalette_Bulbasaur, SPECIES_BULBASAUR}, - [SPECIES_IVYSAUR] = {gMonPalette_Ivysaur, SPECIES_IVYSAUR}, - [SPECIES_VENUSAUR] = {gMonPalette_Venusaur, SPECIES_VENUSAUR}, - [SPECIES_CHARMANDER] = {gMonPalette_Charmander, SPECIES_CHARMANDER}, - [SPECIES_CHARMELEON] = {gMonPalette_Charmeleon, SPECIES_CHARMELEON}, - [SPECIES_CHARIZARD] = {gMonPalette_Charizard, SPECIES_CHARIZARD}, - [SPECIES_SQUIRTLE] = {gMonPalette_Squirtle, SPECIES_SQUIRTLE}, - [SPECIES_WARTORTLE] = {gMonPalette_Wartortle, SPECIES_WARTORTLE}, - [SPECIES_BLASTOISE] = {gMonPalette_Blastoise, SPECIES_BLASTOISE}, - [SPECIES_CATERPIE] = {gMonPalette_Caterpie, SPECIES_CATERPIE}, - [SPECIES_METAPOD] = {gMonPalette_Metapod, SPECIES_METAPOD}, - [SPECIES_BUTTERFREE] = {gMonPalette_Butterfree, SPECIES_BUTTERFREE}, - [SPECIES_WEEDLE] = {gMonPalette_Weedle, SPECIES_WEEDLE}, - [SPECIES_KAKUNA] = {gMonPalette_Kakuna, SPECIES_KAKUNA}, - [SPECIES_BEEDRILL] = {gMonPalette_Beedrill, SPECIES_BEEDRILL}, - [SPECIES_PIDGEY] = {gMonPalette_Pidgey, SPECIES_PIDGEY}, - [SPECIES_PIDGEOTTO] = {gMonPalette_Pidgeotto, SPECIES_PIDGEOTTO}, - [SPECIES_PIDGEOT] = {gMonPalette_Pidgeot, SPECIES_PIDGEOT}, - [SPECIES_RATTATA] = {gMonPalette_Rattata, SPECIES_RATTATA}, - [SPECIES_RATICATE] = {gMonPalette_Raticate, SPECIES_RATICATE}, - [SPECIES_SPEAROW] = {gMonPalette_Spearow, SPECIES_SPEAROW}, - [SPECIES_FEAROW] = {gMonPalette_Fearow, SPECIES_FEAROW}, - [SPECIES_EKANS] = {gMonPalette_Ekans, SPECIES_EKANS}, - [SPECIES_ARBOK] = {gMonPalette_Arbok, SPECIES_ARBOK}, - [SPECIES_PIKACHU] = {gMonPalette_Pikachu, SPECIES_PIKACHU}, - [SPECIES_RAICHU] = {gMonPalette_Raichu, SPECIES_RAICHU}, - [SPECIES_SANDSHREW] = {gMonPalette_Sandshrew, SPECIES_SANDSHREW}, - [SPECIES_SANDSLASH] = {gMonPalette_Sandslash, SPECIES_SANDSLASH}, - [SPECIES_NIDORAN_F] = {gMonPalette_NidoranF, SPECIES_NIDORAN_F}, - [SPECIES_NIDORINA] = {gMonPalette_Nidorina, SPECIES_NIDORINA}, - [SPECIES_NIDOQUEEN] = {gMonPalette_Nidoqueen, SPECIES_NIDOQUEEN}, - [SPECIES_NIDORAN_M] = {gMonPalette_NidoranM, SPECIES_NIDORAN_M}, - [SPECIES_NIDORINO] = {gMonPalette_Nidorino, SPECIES_NIDORINO}, - [SPECIES_NIDOKING] = {gMonPalette_Nidoking, SPECIES_NIDOKING}, - [SPECIES_CLEFAIRY] = {gMonPalette_Clefairy, SPECIES_CLEFAIRY}, - [SPECIES_CLEFABLE] = {gMonPalette_Clefable, SPECIES_CLEFABLE}, - [SPECIES_VULPIX] = {gMonPalette_Vulpix, SPECIES_VULPIX}, - [SPECIES_NINETALES] = {gMonPalette_Ninetales, SPECIES_NINETALES}, - [SPECIES_JIGGLYPUFF] = {gMonPalette_Jigglypuff, SPECIES_JIGGLYPUFF}, - [SPECIES_WIGGLYTUFF] = {gMonPalette_Wigglytuff, SPECIES_WIGGLYTUFF}, - [SPECIES_ZUBAT] = {gMonPalette_Zubat, SPECIES_ZUBAT}, - [SPECIES_GOLBAT] = {gMonPalette_Golbat, SPECIES_GOLBAT}, - [SPECIES_ODDISH] = {gMonPalette_Oddish, SPECIES_ODDISH}, - [SPECIES_GLOOM] = {gMonPalette_Gloom, SPECIES_GLOOM}, - [SPECIES_VILEPLUME] = {gMonPalette_Vileplume, SPECIES_VILEPLUME}, - [SPECIES_PARAS] = {gMonPalette_Paras, SPECIES_PARAS}, - [SPECIES_PARASECT] = {gMonPalette_Parasect, SPECIES_PARASECT}, - [SPECIES_VENONAT] = {gMonPalette_Venonat, SPECIES_VENONAT}, - [SPECIES_VENOMOTH] = {gMonPalette_Venomoth, SPECIES_VENOMOTH}, - [SPECIES_DIGLETT] = {gMonPalette_Diglett, SPECIES_DIGLETT}, - [SPECIES_DUGTRIO] = {gMonPalette_Dugtrio, SPECIES_DUGTRIO}, - [SPECIES_MEOWTH] = {gMonPalette_Meowth, SPECIES_MEOWTH}, - [SPECIES_PERSIAN] = {gMonPalette_Persian, SPECIES_PERSIAN}, - [SPECIES_PSYDUCK] = {gMonPalette_Psyduck, SPECIES_PSYDUCK}, - [SPECIES_GOLDUCK] = {gMonPalette_Golduck, SPECIES_GOLDUCK}, - [SPECIES_MANKEY] = {gMonPalette_Mankey, SPECIES_MANKEY}, - [SPECIES_PRIMEAPE] = {gMonPalette_Primeape, SPECIES_PRIMEAPE}, - [SPECIES_GROWLITHE] = {gMonPalette_Growlithe, SPECIES_GROWLITHE}, - [SPECIES_ARCANINE] = {gMonPalette_Arcanine, SPECIES_ARCANINE}, - [SPECIES_POLIWAG] = {gMonPalette_Poliwag, SPECIES_POLIWAG}, - [SPECIES_POLIWHIRL] = {gMonPalette_Poliwhirl, SPECIES_POLIWHIRL}, - [SPECIES_POLIWRATH] = {gMonPalette_Poliwrath, SPECIES_POLIWRATH}, - [SPECIES_ABRA] = {gMonPalette_Abra, SPECIES_ABRA}, - [SPECIES_KADABRA] = {gMonPalette_Kadabra, SPECIES_KADABRA}, - [SPECIES_ALAKAZAM] = {gMonPalette_Alakazam, SPECIES_ALAKAZAM}, - [SPECIES_MACHOP] = {gMonPalette_Machop, SPECIES_MACHOP}, - [SPECIES_MACHOKE] = {gMonPalette_Machoke, SPECIES_MACHOKE}, - [SPECIES_MACHAMP] = {gMonPalette_Machamp, SPECIES_MACHAMP}, - [SPECIES_BELLSPROUT] = {gMonPalette_Bellsprout, SPECIES_BELLSPROUT}, - [SPECIES_WEEPINBELL] = {gMonPalette_Weepinbell, SPECIES_WEEPINBELL}, - [SPECIES_VICTREEBEL] = {gMonPalette_Victreebel, SPECIES_VICTREEBEL}, - [SPECIES_TENTACOOL] = {gMonPalette_Tentacool, SPECIES_TENTACOOL}, - [SPECIES_TENTACRUEL] = {gMonPalette_Tentacruel, SPECIES_TENTACRUEL}, - [SPECIES_GEODUDE] = {gMonPalette_Geodude, SPECIES_GEODUDE}, - [SPECIES_GRAVELER] = {gMonPalette_Graveler, SPECIES_GRAVELER}, - [SPECIES_GOLEM] = {gMonPalette_Golem, SPECIES_GOLEM}, - [SPECIES_PONYTA] = {gMonPalette_Ponyta, SPECIES_PONYTA}, - [SPECIES_RAPIDASH] = {gMonPalette_Rapidash, SPECIES_RAPIDASH}, - [SPECIES_SLOWPOKE] = {gMonPalette_Slowpoke, SPECIES_SLOWPOKE}, - [SPECIES_SLOWBRO] = {gMonPalette_Slowbro, SPECIES_SLOWBRO}, - [SPECIES_MAGNEMITE] = {gMonPalette_Magnemite, SPECIES_MAGNEMITE}, - [SPECIES_MAGNETON] = {gMonPalette_Magneton, SPECIES_MAGNETON}, - [SPECIES_FARFETCHD] = {gMonPalette_Farfetchd, SPECIES_FARFETCHD}, - [SPECIES_DODUO] = {gMonPalette_Doduo, SPECIES_DODUO}, - [SPECIES_DODRIO] = {gMonPalette_Dodrio, SPECIES_DODRIO}, - [SPECIES_SEEL] = {gMonPalette_Seel, SPECIES_SEEL}, - [SPECIES_DEWGONG] = {gMonPalette_Dewgong, SPECIES_DEWGONG}, - [SPECIES_GRIMER] = {gMonPalette_Grimer, SPECIES_GRIMER}, - [SPECIES_MUK] = {gMonPalette_Muk, SPECIES_MUK}, - [SPECIES_SHELLDER] = {gMonPalette_Shellder, SPECIES_SHELLDER}, - [SPECIES_CLOYSTER] = {gMonPalette_Cloyster, SPECIES_CLOYSTER}, - [SPECIES_GASTLY] = {gMonPalette_Gastly, SPECIES_GASTLY}, - [SPECIES_HAUNTER] = {gMonPalette_Haunter, SPECIES_HAUNTER}, - [SPECIES_GENGAR] = {gMonPalette_Gengar, SPECIES_GENGAR}, - [SPECIES_ONIX] = {gMonPalette_Onix, SPECIES_ONIX}, - [SPECIES_DROWZEE] = {gMonPalette_Drowzee, SPECIES_DROWZEE}, - [SPECIES_HYPNO] = {gMonPalette_Hypno, SPECIES_HYPNO}, - [SPECIES_KRABBY] = {gMonPalette_Krabby, SPECIES_KRABBY}, - [SPECIES_KINGLER] = {gMonPalette_Kingler, SPECIES_KINGLER}, - [SPECIES_VOLTORB] = {gMonPalette_Voltorb, SPECIES_VOLTORB}, - [SPECIES_ELECTRODE] = {gMonPalette_Electrode, SPECIES_ELECTRODE}, - [SPECIES_EXEGGCUTE] = {gMonPalette_Exeggcute, SPECIES_EXEGGCUTE}, - [SPECIES_EXEGGUTOR] = {gMonPalette_Exeggutor, SPECIES_EXEGGUTOR}, - [SPECIES_CUBONE] = {gMonPalette_Cubone, SPECIES_CUBONE}, - [SPECIES_MAROWAK] = {gMonPalette_Marowak, SPECIES_MAROWAK}, - [SPECIES_HITMONLEE] = {gMonPalette_Hitmonlee, SPECIES_HITMONLEE}, - [SPECIES_HITMONCHAN] = {gMonPalette_Hitmonchan, SPECIES_HITMONCHAN}, - [SPECIES_LICKITUNG] = {gMonPalette_Lickitung, SPECIES_LICKITUNG}, - [SPECIES_KOFFING] = {gMonPalette_Koffing, SPECIES_KOFFING}, - [SPECIES_WEEZING] = {gMonPalette_Weezing, SPECIES_WEEZING}, - [SPECIES_RHYHORN] = {gMonPalette_Rhyhorn, SPECIES_RHYHORN}, - [SPECIES_RHYDON] = {gMonPalette_Rhydon, SPECIES_RHYDON}, - [SPECIES_CHANSEY] = {gMonPalette_Chansey, SPECIES_CHANSEY}, - [SPECIES_TANGELA] = {gMonPalette_Tangela, SPECIES_TANGELA}, - [SPECIES_KANGASKHAN] = {gMonPalette_Kangaskhan, SPECIES_KANGASKHAN}, - [SPECIES_HORSEA] = {gMonPalette_Horsea, SPECIES_HORSEA}, - [SPECIES_SEADRA] = {gMonPalette_Seadra, SPECIES_SEADRA}, - [SPECIES_GOLDEEN] = {gMonPalette_Goldeen, SPECIES_GOLDEEN}, - [SPECIES_SEAKING] = {gMonPalette_Seaking, SPECIES_SEAKING}, - [SPECIES_STARYU] = {gMonPalette_Staryu, SPECIES_STARYU}, - [SPECIES_STARMIE] = {gMonPalette_Starmie, SPECIES_STARMIE}, - [SPECIES_MR_MIME] = {gMonPalette_Mrmime, SPECIES_MR_MIME}, - [SPECIES_SCYTHER] = {gMonPalette_Scyther, SPECIES_SCYTHER}, - [SPECIES_JYNX] = {gMonPalette_Jynx, SPECIES_JYNX}, - [SPECIES_ELECTABUZZ] = {gMonPalette_Electabuzz, SPECIES_ELECTABUZZ}, - [SPECIES_MAGMAR] = {gMonPalette_Magmar, SPECIES_MAGMAR}, - [SPECIES_PINSIR] = {gMonPalette_Pinsir, SPECIES_PINSIR}, - [SPECIES_TAUROS] = {gMonPalette_Tauros, SPECIES_TAUROS}, - [SPECIES_MAGIKARP] = {gMonPalette_Magikarp, SPECIES_MAGIKARP}, - [SPECIES_GYARADOS] = {gMonPalette_Gyarados, SPECIES_GYARADOS}, - [SPECIES_LAPRAS] = {gMonPalette_Lapras, SPECIES_LAPRAS}, - [SPECIES_DITTO] = {gMonPalette_Ditto, SPECIES_DITTO}, - [SPECIES_EEVEE] = {gMonPalette_Eevee, SPECIES_EEVEE}, - [SPECIES_VAPOREON] = {gMonPalette_Vaporeon, SPECIES_VAPOREON}, - [SPECIES_JOLTEON] = {gMonPalette_Jolteon, SPECIES_JOLTEON}, - [SPECIES_FLAREON] = {gMonPalette_Flareon, SPECIES_FLAREON}, - [SPECIES_PORYGON] = {gMonPalette_Porygon, SPECIES_PORYGON}, - [SPECIES_OMANYTE] = {gMonPalette_Omanyte, SPECIES_OMANYTE}, - [SPECIES_OMASTAR] = {gMonPalette_Omastar, SPECIES_OMASTAR}, - [SPECIES_KABUTO] = {gMonPalette_Kabuto, SPECIES_KABUTO}, - [SPECIES_KABUTOPS] = {gMonPalette_Kabutops, SPECIES_KABUTOPS}, - [SPECIES_AERODACTYL] = {gMonPalette_Aerodactyl, SPECIES_AERODACTYL}, - [SPECIES_SNORLAX] = {gMonPalette_Snorlax, SPECIES_SNORLAX}, - [SPECIES_ARTICUNO] = {gMonPalette_Articuno, SPECIES_ARTICUNO}, - [SPECIES_ZAPDOS] = {gMonPalette_Zapdos, SPECIES_ZAPDOS}, - [SPECIES_MOLTRES] = {gMonPalette_Moltres, SPECIES_MOLTRES}, - [SPECIES_DRATINI] = {gMonPalette_Dratini, SPECIES_DRATINI}, - [SPECIES_DRAGONAIR] = {gMonPalette_Dragonair, SPECIES_DRAGONAIR}, - [SPECIES_DRAGONITE] = {gMonPalette_Dragonite, SPECIES_DRAGONITE}, - [SPECIES_MEWTWO] = {gMonPalette_Mewtwo, SPECIES_MEWTWO}, - [SPECIES_MEW] = {gMonPalette_Mew, SPECIES_MEW}, - [SPECIES_CHIKORITA] = {gMonPalette_Chikorita, SPECIES_CHIKORITA}, - [SPECIES_BAYLEEF] = {gMonPalette_Bayleef, SPECIES_BAYLEEF}, - [SPECIES_MEGANIUM] = {gMonPalette_Meganium, SPECIES_MEGANIUM}, - [SPECIES_CYNDAQUIL] = {gMonPalette_Cyndaquil, SPECIES_CYNDAQUIL}, - [SPECIES_QUILAVA] = {gMonPalette_Quilava, SPECIES_QUILAVA}, - [SPECIES_TYPHLOSION] = {gMonPalette_Typhlosion, SPECIES_TYPHLOSION}, - [SPECIES_TOTODILE] = {gMonPalette_Totodile, SPECIES_TOTODILE}, - [SPECIES_CROCONAW] = {gMonPalette_Croconaw, SPECIES_CROCONAW}, - [SPECIES_FERALIGATR] = {gMonPalette_Feraligatr, SPECIES_FERALIGATR}, - [SPECIES_SENTRET] = {gMonPalette_Sentret, SPECIES_SENTRET}, - [SPECIES_FURRET] = {gMonPalette_Furret, SPECIES_FURRET}, - [SPECIES_HOOTHOOT] = {gMonPalette_Hoothoot, SPECIES_HOOTHOOT}, - [SPECIES_NOCTOWL] = {gMonPalette_Noctowl, SPECIES_NOCTOWL}, - [SPECIES_LEDYBA] = {gMonPalette_Ledyba, SPECIES_LEDYBA}, - [SPECIES_LEDIAN] = {gMonPalette_Ledian, SPECIES_LEDIAN}, - [SPECIES_SPINARAK] = {gMonPalette_Spinarak, SPECIES_SPINARAK}, - [SPECIES_ARIADOS] = {gMonPalette_Ariados, SPECIES_ARIADOS}, - [SPECIES_CROBAT] = {gMonPalette_Crobat, SPECIES_CROBAT}, - [SPECIES_CHINCHOU] = {gMonPalette_Chinchou, SPECIES_CHINCHOU}, - [SPECIES_LANTURN] = {gMonPalette_Lanturn, SPECIES_LANTURN}, - [SPECIES_PICHU] = {gMonPalette_Pichu, SPECIES_PICHU}, - [SPECIES_CLEFFA] = {gMonPalette_Cleffa, SPECIES_CLEFFA}, - [SPECIES_IGGLYBUFF] = {gMonPalette_Igglybuff, SPECIES_IGGLYBUFF}, - [SPECIES_TOGEPI] = {gMonPalette_Togepi, SPECIES_TOGEPI}, - [SPECIES_TOGETIC] = {gMonPalette_Togetic, SPECIES_TOGETIC}, - [SPECIES_NATU] = {gMonPalette_Natu, SPECIES_NATU}, - [SPECIES_XATU] = {gMonPalette_Xatu, SPECIES_XATU}, - [SPECIES_MAREEP] = {gMonPalette_Mareep, SPECIES_MAREEP}, - [SPECIES_FLAAFFY] = {gMonPalette_Flaaffy, SPECIES_FLAAFFY}, - [SPECIES_AMPHAROS] = {gMonPalette_Ampharos, SPECIES_AMPHAROS}, - [SPECIES_BELLOSSOM] = {gMonPalette_Bellossom, SPECIES_BELLOSSOM}, - [SPECIES_MARILL] = {gMonPalette_Marill, SPECIES_MARILL}, - [SPECIES_AZUMARILL] = {gMonPalette_Azumarill, SPECIES_AZUMARILL}, - [SPECIES_SUDOWOODO] = {gMonPalette_Sudowoodo, SPECIES_SUDOWOODO}, - [SPECIES_POLITOED] = {gMonPalette_Politoed, SPECIES_POLITOED}, - [SPECIES_HOPPIP] = {gMonPalette_Hoppip, SPECIES_HOPPIP}, - [SPECIES_SKIPLOOM] = {gMonPalette_Skiploom, SPECIES_SKIPLOOM}, - [SPECIES_JUMPLUFF] = {gMonPalette_Jumpluff, SPECIES_JUMPLUFF}, - [SPECIES_AIPOM] = {gMonPalette_Aipom, SPECIES_AIPOM}, - [SPECIES_SUNKERN] = {gMonPalette_Sunkern, SPECIES_SUNKERN}, - [SPECIES_SUNFLORA] = {gMonPalette_Sunflora, SPECIES_SUNFLORA}, - [SPECIES_YANMA] = {gMonPalette_Yanma, SPECIES_YANMA}, - [SPECIES_WOOPER] = {gMonPalette_Wooper, SPECIES_WOOPER}, - [SPECIES_QUAGSIRE] = {gMonPalette_Quagsire, SPECIES_QUAGSIRE}, - [SPECIES_ESPEON] = {gMonPalette_Espeon, SPECIES_ESPEON}, - [SPECIES_UMBREON] = {gMonPalette_Umbreon, SPECIES_UMBREON}, - [SPECIES_MURKROW] = {gMonPalette_Murkrow, SPECIES_MURKROW}, - [SPECIES_SLOWKING] = {gMonPalette_Slowking, SPECIES_SLOWKING}, - [SPECIES_MISDREAVUS] = {gMonPalette_Misdreavus, SPECIES_MISDREAVUS}, - [SPECIES_UNOWN] = {gMonPalette_Unown, SPECIES_UNOWN}, - [SPECIES_WOBBUFFET] = {gMonPalette_Wobbuffet, SPECIES_WOBBUFFET}, - [SPECIES_GIRAFARIG] = {gMonPalette_Girafarig, SPECIES_GIRAFARIG}, - [SPECIES_PINECO] = {gMonPalette_Pineco, SPECIES_PINECO}, - [SPECIES_FORRETRESS] = {gMonPalette_Forretress, SPECIES_FORRETRESS}, - [SPECIES_DUNSPARCE] = {gMonPalette_Dunsparce, SPECIES_DUNSPARCE}, - [SPECIES_GLIGAR] = {gMonPalette_Gligar, SPECIES_GLIGAR}, - [SPECIES_STEELIX] = {gMonPalette_Steelix, SPECIES_STEELIX}, - [SPECIES_SNUBBULL] = {gMonPalette_Snubbull, SPECIES_SNUBBULL}, - [SPECIES_GRANBULL] = {gMonPalette_Granbull, SPECIES_GRANBULL}, - [SPECIES_QWILFISH] = {gMonPalette_Qwilfish, SPECIES_QWILFISH}, - [SPECIES_SCIZOR] = {gMonPalette_Scizor, SPECIES_SCIZOR}, - [SPECIES_SHUCKLE] = {gMonPalette_Shuckle, SPECIES_SHUCKLE}, - [SPECIES_HERACROSS] = {gMonPalette_Heracross, SPECIES_HERACROSS}, - [SPECIES_SNEASEL] = {gMonPalette_Sneasel, SPECIES_SNEASEL}, - [SPECIES_TEDDIURSA] = {gMonPalette_Teddiursa, SPECIES_TEDDIURSA}, - [SPECIES_URSARING] = {gMonPalette_Ursaring, SPECIES_URSARING}, - [SPECIES_SLUGMA] = {gMonPalette_Slugma, SPECIES_SLUGMA}, - [SPECIES_MAGCARGO] = {gMonPalette_Magcargo, SPECIES_MAGCARGO}, - [SPECIES_SWINUB] = {gMonPalette_Swinub, SPECIES_SWINUB}, - [SPECIES_PILOSWINE] = {gMonPalette_Piloswine, SPECIES_PILOSWINE}, - [SPECIES_CORSOLA] = {gMonPalette_Corsola, SPECIES_CORSOLA}, - [SPECIES_REMORAID] = {gMonPalette_Remoraid, SPECIES_REMORAID}, - [SPECIES_OCTILLERY] = {gMonPalette_Octillery, SPECIES_OCTILLERY}, - [SPECIES_DELIBIRD] = {gMonPalette_Delibird, SPECIES_DELIBIRD}, - [SPECIES_MANTINE] = {gMonPalette_Mantine, SPECIES_MANTINE}, - [SPECIES_SKARMORY] = {gMonPalette_Skarmory, SPECIES_SKARMORY}, - [SPECIES_HOUNDOUR] = {gMonPalette_Houndour, SPECIES_HOUNDOUR}, - [SPECIES_HOUNDOOM] = {gMonPalette_Houndoom, SPECIES_HOUNDOOM}, - [SPECIES_KINGDRA] = {gMonPalette_Kingdra, SPECIES_KINGDRA}, - [SPECIES_PHANPY] = {gMonPalette_Phanpy, SPECIES_PHANPY}, - [SPECIES_DONPHAN] = {gMonPalette_Donphan, SPECIES_DONPHAN}, - [SPECIES_PORYGON2] = {gMonPalette_Porygon2, SPECIES_PORYGON2}, - [SPECIES_STANTLER] = {gMonPalette_Stantler, SPECIES_STANTLER}, - [SPECIES_SMEARGLE] = {gMonPalette_Smeargle, SPECIES_SMEARGLE}, - [SPECIES_TYROGUE] = {gMonPalette_Tyrogue, SPECIES_TYROGUE}, - [SPECIES_HITMONTOP] = {gMonPalette_Hitmontop, SPECIES_HITMONTOP}, - [SPECIES_SMOOCHUM] = {gMonPalette_Smoochum, SPECIES_SMOOCHUM}, - [SPECIES_ELEKID] = {gMonPalette_Elekid, SPECIES_ELEKID}, - [SPECIES_MAGBY] = {gMonPalette_Magby, SPECIES_MAGBY}, - [SPECIES_MILTANK] = {gMonPalette_Miltank, SPECIES_MILTANK}, - [SPECIES_BLISSEY] = {gMonPalette_Blissey, SPECIES_BLISSEY}, - [SPECIES_RAIKOU] = {gMonPalette_Raikou, SPECIES_RAIKOU}, - [SPECIES_ENTEI] = {gMonPalette_Entei, SPECIES_ENTEI}, - [SPECIES_SUICUNE] = {gMonPalette_Suicune, SPECIES_SUICUNE}, - [SPECIES_LARVITAR] = {gMonPalette_Larvitar, SPECIES_LARVITAR}, - [SPECIES_PUPITAR] = {gMonPalette_Pupitar, SPECIES_PUPITAR}, - [SPECIES_TYRANITAR] = {gMonPalette_Tyranitar, SPECIES_TYRANITAR}, - [SPECIES_LUGIA] = {gMonPalette_Lugia, SPECIES_LUGIA}, - [SPECIES_HO_OH] = {gMonPalette_HoOh, SPECIES_HO_OH}, - [SPECIES_CELEBI] = {gMonPalette_Celebi, SPECIES_CELEBI}, - [SPECIES_OLD_UNOWN_B] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_B}, - [SPECIES_OLD_UNOWN_C] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_C}, - [SPECIES_OLD_UNOWN_D] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_D}, - [SPECIES_OLD_UNOWN_E] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_E}, - [SPECIES_OLD_UNOWN_F] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_F}, - [SPECIES_OLD_UNOWN_G] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_G}, - [SPECIES_OLD_UNOWN_H] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_H}, - [SPECIES_OLD_UNOWN_I] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_I}, - [SPECIES_OLD_UNOWN_J] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_J}, - [SPECIES_OLD_UNOWN_K] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_K}, - [SPECIES_OLD_UNOWN_L] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_L}, - [SPECIES_OLD_UNOWN_M] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_M}, - [SPECIES_OLD_UNOWN_N] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_N}, - [SPECIES_OLD_UNOWN_O] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_O}, - [SPECIES_OLD_UNOWN_P] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_P}, - [SPECIES_OLD_UNOWN_Q] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_Q}, - [SPECIES_OLD_UNOWN_R] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_R}, - [SPECIES_OLD_UNOWN_S] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_S}, - [SPECIES_OLD_UNOWN_T] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_T}, - [SPECIES_OLD_UNOWN_U] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_U}, - [SPECIES_OLD_UNOWN_V] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_V}, - [SPECIES_OLD_UNOWN_W] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_W}, - [SPECIES_OLD_UNOWN_X] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_X}, - [SPECIES_OLD_UNOWN_Y] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_Y}, - [SPECIES_OLD_UNOWN_Z] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_Z}, - [SPECIES_TREECKO] = {gMonPalette_Treecko, SPECIES_TREECKO}, - [SPECIES_GROVYLE] = {gMonPalette_Grovyle, SPECIES_GROVYLE}, - [SPECIES_SCEPTILE] = {gMonPalette_Sceptile, SPECIES_SCEPTILE}, - [SPECIES_TORCHIC] = {gMonPalette_Torchic, SPECIES_TORCHIC}, - [SPECIES_COMBUSKEN] = {gMonPalette_Combusken, SPECIES_COMBUSKEN}, - [SPECIES_BLAZIKEN] = {gMonPalette_Blaziken, SPECIES_BLAZIKEN}, - [SPECIES_MUDKIP] = {gMonPalette_Mudkip, SPECIES_MUDKIP}, - [SPECIES_MARSHTOMP] = {gMonPalette_Marshtomp, SPECIES_MARSHTOMP}, - [SPECIES_SWAMPERT] = {gMonPalette_Swampert, SPECIES_SWAMPERT}, - [SPECIES_POOCHYENA] = {gMonPalette_Poochyena, SPECIES_POOCHYENA}, - [SPECIES_MIGHTYENA] = {gMonPalette_Mightyena, SPECIES_MIGHTYENA}, - [SPECIES_ZIGZAGOON] = {gMonPalette_Zigzagoon, SPECIES_ZIGZAGOON}, - [SPECIES_LINOONE] = {gMonPalette_Linoone, SPECIES_LINOONE}, - [SPECIES_WURMPLE] = {gMonPalette_Wurmple, SPECIES_WURMPLE}, - [SPECIES_SILCOON] = {gMonPalette_Silcoon, SPECIES_SILCOON}, - [SPECIES_BEAUTIFLY] = {gMonPalette_Beautifly, SPECIES_BEAUTIFLY}, - [SPECIES_CASCOON] = {gMonPalette_Cascoon, SPECIES_CASCOON}, - [SPECIES_DUSTOX] = {gMonPalette_Dustox, SPECIES_DUSTOX}, - [SPECIES_LOTAD] = {gMonPalette_Lotad, SPECIES_LOTAD}, - [SPECIES_LOMBRE] = {gMonPalette_Lombre, SPECIES_LOMBRE}, - [SPECIES_LUDICOLO] = {gMonPalette_Ludicolo, SPECIES_LUDICOLO}, - [SPECIES_SEEDOT] = {gMonPalette_Seedot, SPECIES_SEEDOT}, - [SPECIES_NUZLEAF] = {gMonPalette_Nuzleaf, SPECIES_NUZLEAF}, - [SPECIES_SHIFTRY] = {gMonPalette_Shiftry, SPECIES_SHIFTRY}, - [SPECIES_NINCADA] = {gMonPalette_Nincada, SPECIES_NINCADA}, - [SPECIES_NINJASK] = {gMonPalette_Ninjask, SPECIES_NINJASK}, - [SPECIES_SHEDINJA] = {gMonPalette_Shedinja, SPECIES_SHEDINJA}, - [SPECIES_TAILLOW] = {gMonPalette_Taillow, SPECIES_TAILLOW}, - [SPECIES_SWELLOW] = {gMonPalette_Swellow, SPECIES_SWELLOW}, - [SPECIES_SHROOMISH] = {gMonPalette_Shroomish, SPECIES_SHROOMISH}, - [SPECIES_BRELOOM] = {gMonPalette_Breloom, SPECIES_BRELOOM}, - [SPECIES_SPINDA] = {gMonPalette_Spinda, SPECIES_SPINDA}, - [SPECIES_WINGULL] = {gMonPalette_Wingull, SPECIES_WINGULL}, - [SPECIES_PELIPPER] = {gMonPalette_Pelipper, SPECIES_PELIPPER}, - [SPECIES_SURSKIT] = {gMonPalette_Surskit, SPECIES_SURSKIT}, - [SPECIES_MASQUERAIN] = {gMonPalette_Masquerain, SPECIES_MASQUERAIN}, - [SPECIES_WAILMER] = {gMonPalette_Wailmer, SPECIES_WAILMER}, - [SPECIES_WAILORD] = {gMonPalette_Wailord, SPECIES_WAILORD}, - [SPECIES_SKITTY] = {gMonPalette_Skitty, SPECIES_SKITTY}, - [SPECIES_DELCATTY] = {gMonPalette_Delcatty, SPECIES_DELCATTY}, - [SPECIES_KECLEON] = {gMonPalette_Kecleon, SPECIES_KECLEON}, - [SPECIES_BALTOY] = {gMonPalette_Baltoy, SPECIES_BALTOY}, - [SPECIES_CLAYDOL] = {gMonPalette_Claydol, SPECIES_CLAYDOL}, - [SPECIES_NOSEPASS] = {gMonPalette_Nosepass, SPECIES_NOSEPASS}, - [SPECIES_TORKOAL] = {gMonPalette_Torkoal, SPECIES_TORKOAL}, - [SPECIES_SABLEYE] = {gMonPalette_Sableye, SPECIES_SABLEYE}, - [SPECIES_BARBOACH] = {gMonPalette_Barboach, SPECIES_BARBOACH}, - [SPECIES_WHISCASH] = {gMonPalette_Whiscash, SPECIES_WHISCASH}, - [SPECIES_LUVDISC] = {gMonPalette_Luvdisc, SPECIES_LUVDISC}, - [SPECIES_CORPHISH] = {gMonPalette_Corphish, SPECIES_CORPHISH}, - [SPECIES_CRAWDAUNT] = {gMonPalette_Crawdaunt, SPECIES_CRAWDAUNT}, - [SPECIES_FEEBAS] = {gMonPalette_Feebas, SPECIES_FEEBAS}, - [SPECIES_MILOTIC] = {gMonPalette_Milotic, SPECIES_MILOTIC}, - [SPECIES_CARVANHA] = {gMonPalette_Carvanha, SPECIES_CARVANHA}, - [SPECIES_SHARPEDO] = {gMonPalette_Sharpedo, SPECIES_SHARPEDO}, - [SPECIES_TRAPINCH] = {gMonPalette_Trapinch, SPECIES_TRAPINCH}, - [SPECIES_VIBRAVA] = {gMonPalette_Vibrava, SPECIES_VIBRAVA}, - [SPECIES_FLYGON] = {gMonPalette_Flygon, SPECIES_FLYGON}, - [SPECIES_MAKUHITA] = {gMonPalette_Makuhita, SPECIES_MAKUHITA}, - [SPECIES_HARIYAMA] = {gMonPalette_Hariyama, SPECIES_HARIYAMA}, - [SPECIES_ELECTRIKE] = {gMonPalette_Electrike, SPECIES_ELECTRIKE}, - [SPECIES_MANECTRIC] = {gMonPalette_Manectric, SPECIES_MANECTRIC}, - [SPECIES_NUMEL] = {gMonPalette_Numel, SPECIES_NUMEL}, - [SPECIES_CAMERUPT] = {gMonPalette_Camerupt, SPECIES_CAMERUPT}, - [SPECIES_SPHEAL] = {gMonPalette_Spheal, SPECIES_SPHEAL}, - [SPECIES_SEALEO] = {gMonPalette_Sealeo, SPECIES_SEALEO}, - [SPECIES_WALREIN] = {gMonPalette_Walrein, SPECIES_WALREIN}, - [SPECIES_CACNEA] = {gMonPalette_Cacnea, SPECIES_CACNEA}, - [SPECIES_CACTURNE] = {gMonPalette_Cacturne, SPECIES_CACTURNE}, - [SPECIES_SNORUNT] = {gMonPalette_Snorunt, SPECIES_SNORUNT}, - [SPECIES_GLALIE] = {gMonPalette_Glalie, SPECIES_GLALIE}, - [SPECIES_LUNATONE] = {gMonPalette_Lunatone, SPECIES_LUNATONE}, - [SPECIES_SOLROCK] = {gMonPalette_Solrock, SPECIES_SOLROCK}, - [SPECIES_AZURILL] = {gMonPalette_Azurill, SPECIES_AZURILL}, - [SPECIES_SPOINK] = {gMonPalette_Spoink, SPECIES_SPOINK}, - [SPECIES_GRUMPIG] = {gMonPalette_Grumpig, SPECIES_GRUMPIG}, - [SPECIES_PLUSLE] = {gMonPalette_Plusle, SPECIES_PLUSLE}, - [SPECIES_MINUN] = {gMonPalette_Minun, SPECIES_MINUN}, - [SPECIES_MAWILE] = {gMonPalette_Mawile, SPECIES_MAWILE}, - [SPECIES_MEDITITE] = {gMonPalette_Meditite, SPECIES_MEDITITE}, - [SPECIES_MEDICHAM] = {gMonPalette_Medicham, SPECIES_MEDICHAM}, - [SPECIES_SWABLU] = {gMonPalette_Swablu, SPECIES_SWABLU}, - [SPECIES_ALTARIA] = {gMonPalette_Altaria, SPECIES_ALTARIA}, - [SPECIES_WYNAUT] = {gMonPalette_Wynaut, SPECIES_WYNAUT}, - [SPECIES_DUSKULL] = {gMonPalette_Duskull, SPECIES_DUSKULL}, - [SPECIES_DUSCLOPS] = {gMonPalette_Dusclops, SPECIES_DUSCLOPS}, - [SPECIES_ROSELIA] = {gMonPalette_Roselia, SPECIES_ROSELIA}, - [SPECIES_SLAKOTH] = {gMonPalette_Slakoth, SPECIES_SLAKOTH}, - [SPECIES_VIGOROTH] = {gMonPalette_Vigoroth, SPECIES_VIGOROTH}, - [SPECIES_SLAKING] = {gMonPalette_Slaking, SPECIES_SLAKING}, - [SPECIES_GULPIN] = {gMonPalette_Gulpin, SPECIES_GULPIN}, - [SPECIES_SWALOT] = {gMonPalette_Swalot, SPECIES_SWALOT}, - [SPECIES_TROPIUS] = {gMonPalette_Tropius, SPECIES_TROPIUS}, - [SPECIES_WHISMUR] = {gMonPalette_Whismur, SPECIES_WHISMUR}, - [SPECIES_LOUDRED] = {gMonPalette_Loudred, SPECIES_LOUDRED}, - [SPECIES_EXPLOUD] = {gMonPalette_Exploud, SPECIES_EXPLOUD}, - [SPECIES_CLAMPERL] = {gMonPalette_Clamperl, SPECIES_CLAMPERL}, - [SPECIES_HUNTAIL] = {gMonPalette_Huntail, SPECIES_HUNTAIL}, - [SPECIES_GOREBYSS] = {gMonPalette_Gorebyss, SPECIES_GOREBYSS}, - [SPECIES_ABSOL] = {gMonPalette_Absol, SPECIES_ABSOL}, - [SPECIES_SHUPPET] = {gMonPalette_Shuppet, SPECIES_SHUPPET}, - [SPECIES_BANETTE] = {gMonPalette_Banette, SPECIES_BANETTE}, - [SPECIES_SEVIPER] = {gMonPalette_Seviper, SPECIES_SEVIPER}, - [SPECIES_ZANGOOSE] = {gMonPalette_Zangoose, SPECIES_ZANGOOSE}, - [SPECIES_RELICANTH] = {gMonPalette_Relicanth, SPECIES_RELICANTH}, - [SPECIES_ARON] = {gMonPalette_Aron, SPECIES_ARON}, - [SPECIES_LAIRON] = {gMonPalette_Lairon, SPECIES_LAIRON}, - [SPECIES_AGGRON] = {gMonPalette_Aggron, SPECIES_AGGRON}, - [SPECIES_CASTFORM] = {gMonPalette_Castform, SPECIES_CASTFORM}, - [SPECIES_VOLBEAT] = {gMonPalette_Volbeat, SPECIES_VOLBEAT}, - [SPECIES_ILLUMISE] = {gMonPalette_Illumise, SPECIES_ILLUMISE}, - [SPECIES_LILEEP] = {gMonPalette_Lileep, SPECIES_LILEEP}, - [SPECIES_CRADILY] = {gMonPalette_Cradily, SPECIES_CRADILY}, - [SPECIES_ANORITH] = {gMonPalette_Anorith, SPECIES_ANORITH}, - [SPECIES_ARMALDO] = {gMonPalette_Armaldo, SPECIES_ARMALDO}, - [SPECIES_RALTS] = {gMonPalette_Ralts, SPECIES_RALTS}, - [SPECIES_KIRLIA] = {gMonPalette_Kirlia, SPECIES_KIRLIA}, - [SPECIES_GARDEVOIR] = {gMonPalette_Gardevoir, SPECIES_GARDEVOIR}, - [SPECIES_BAGON] = {gMonPalette_Bagon, SPECIES_BAGON}, - [SPECIES_SHELGON] = {gMonPalette_Shelgon, SPECIES_SHELGON}, - [SPECIES_SALAMENCE] = {gMonPalette_Salamence, SPECIES_SALAMENCE}, - [SPECIES_BELDUM] = {gMonPalette_Beldum, SPECIES_BELDUM}, - [SPECIES_METANG] = {gMonPalette_Metang, SPECIES_METANG}, - [SPECIES_METAGROSS] = {gMonPalette_Metagross, SPECIES_METAGROSS}, - [SPECIES_REGIROCK] = {gMonPalette_Regirock, SPECIES_REGIROCK}, - [SPECIES_REGICE] = {gMonPalette_Regice, SPECIES_REGICE}, - [SPECIES_REGISTEEL] = {gMonPalette_Registeel, SPECIES_REGISTEEL}, - [SPECIES_KYOGRE] = {gMonPalette_Kyogre, SPECIES_KYOGRE}, - [SPECIES_GROUDON] = {gMonPalette_Groudon, SPECIES_GROUDON}, - [SPECIES_RAYQUAZA] = {gMonPalette_Rayquaza, SPECIES_RAYQUAZA}, - [SPECIES_LATIAS] = {gMonPalette_Latias, SPECIES_LATIAS}, - [SPECIES_LATIOS] = {gMonPalette_Latios, SPECIES_LATIOS}, - [SPECIES_JIRACHI] = {gMonPalette_Jirachi, SPECIES_JIRACHI}, - [SPECIES_DEOXYS] = {gMonPalette_Deoxys, SPECIES_DEOXYS}, - [SPECIES_CHIMECHO] = {gMonPalette_Chimecho, SPECIES_CHIMECHO}, - [SPECIES_EGG] = {gMonPalette_Egg, SPECIES_EGG}, - [SPECIES_UNOWN_B] = {gMonPalette_Unown, SPECIES_UNOWN_B}, - [SPECIES_UNOWN_C] = {gMonPalette_Unown, SPECIES_UNOWN_C}, - [SPECIES_UNOWN_D] = {gMonPalette_Unown, SPECIES_UNOWN_D}, - [SPECIES_UNOWN_E] = {gMonPalette_Unown, SPECIES_UNOWN_E}, - [SPECIES_UNOWN_F] = {gMonPalette_Unown, SPECIES_UNOWN_F}, - [SPECIES_UNOWN_G] = {gMonPalette_Unown, SPECIES_UNOWN_G}, - [SPECIES_UNOWN_H] = {gMonPalette_Unown, SPECIES_UNOWN_H}, - [SPECIES_UNOWN_I] = {gMonPalette_Unown, SPECIES_UNOWN_I}, - [SPECIES_UNOWN_J] = {gMonPalette_Unown, SPECIES_UNOWN_J}, - [SPECIES_UNOWN_K] = {gMonPalette_Unown, SPECIES_UNOWN_K}, - [SPECIES_UNOWN_L] = {gMonPalette_Unown, SPECIES_UNOWN_L}, - [SPECIES_UNOWN_M] = {gMonPalette_Unown, SPECIES_UNOWN_M}, - [SPECIES_UNOWN_N] = {gMonPalette_Unown, SPECIES_UNOWN_N}, - [SPECIES_UNOWN_O] = {gMonPalette_Unown, SPECIES_UNOWN_O}, - [SPECIES_UNOWN_P] = {gMonPalette_Unown, SPECIES_UNOWN_P}, - [SPECIES_UNOWN_Q] = {gMonPalette_Unown, SPECIES_UNOWN_Q}, - [SPECIES_UNOWN_R] = {gMonPalette_Unown, SPECIES_UNOWN_R}, - [SPECIES_UNOWN_S] = {gMonPalette_Unown, SPECIES_UNOWN_S}, - [SPECIES_UNOWN_T] = {gMonPalette_Unown, SPECIES_UNOWN_T}, - [SPECIES_UNOWN_U] = {gMonPalette_Unown, SPECIES_UNOWN_U}, - [SPECIES_UNOWN_V] = {gMonPalette_Unown, SPECIES_UNOWN_V}, - [SPECIES_UNOWN_W] = {gMonPalette_Unown, SPECIES_UNOWN_W}, - [SPECIES_UNOWN_X] = {gMonPalette_Unown, SPECIES_UNOWN_X}, - [SPECIES_UNOWN_Y] = {gMonPalette_Unown, SPECIES_UNOWN_Y}, - [SPECIES_UNOWN_Z] = {gMonPalette_Unown, SPECIES_UNOWN_Z}, - [SPECIES_UNOWN_EMARK] = {gMonPalette_Unown, SPECIES_UNOWN_EMARK}, - [SPECIES_UNOWN_QMARK] = {gMonPalette_Unown, SPECIES_UNOWN_QMARK}, + SPECIES_PAL(NONE, gMonPalette_CircledQuestionMark), + SPECIES_PAL(BULBASAUR, gMonPalette_Bulbasaur), + SPECIES_PAL(IVYSAUR, gMonPalette_Ivysaur), + SPECIES_PAL(VENUSAUR, gMonPalette_Venusaur), + SPECIES_PAL(CHARMANDER, gMonPalette_Charmander), + SPECIES_PAL(CHARMELEON, gMonPalette_Charmeleon), + SPECIES_PAL(CHARIZARD, gMonPalette_Charizard), + SPECIES_PAL(SQUIRTLE, gMonPalette_Squirtle), + SPECIES_PAL(WARTORTLE, gMonPalette_Wartortle), + SPECIES_PAL(BLASTOISE, gMonPalette_Blastoise), + SPECIES_PAL(CATERPIE, gMonPalette_Caterpie), + SPECIES_PAL(METAPOD, gMonPalette_Metapod), + SPECIES_PAL(BUTTERFREE, gMonPalette_Butterfree), + SPECIES_PAL(WEEDLE, gMonPalette_Weedle), + SPECIES_PAL(KAKUNA, gMonPalette_Kakuna), + SPECIES_PAL(BEEDRILL, gMonPalette_Beedrill), + SPECIES_PAL(PIDGEY, gMonPalette_Pidgey), + SPECIES_PAL(PIDGEOTTO, gMonPalette_Pidgeotto), + SPECIES_PAL(PIDGEOT, gMonPalette_Pidgeot), + SPECIES_PAL(RATTATA, gMonPalette_Rattata), + SPECIES_PAL(RATICATE, gMonPalette_Raticate), + SPECIES_PAL(SPEAROW, gMonPalette_Spearow), + SPECIES_PAL(FEAROW, gMonPalette_Fearow), + SPECIES_PAL(EKANS, gMonPalette_Ekans), + SPECIES_PAL(ARBOK, gMonPalette_Arbok), + SPECIES_PAL(PIKACHU, gMonPalette_Pikachu), + SPECIES_PAL(RAICHU, gMonPalette_Raichu), + SPECIES_PAL(SANDSHREW, gMonPalette_Sandshrew), + SPECIES_PAL(SANDSLASH, gMonPalette_Sandslash), + SPECIES_PAL(NIDORAN_F, gMonPalette_NidoranF), + SPECIES_PAL(NIDORINA, gMonPalette_Nidorina), + SPECIES_PAL(NIDOQUEEN, gMonPalette_Nidoqueen), + SPECIES_PAL(NIDORAN_M, gMonPalette_NidoranM), + SPECIES_PAL(NIDORINO, gMonPalette_Nidorino), + SPECIES_PAL(NIDOKING, gMonPalette_Nidoking), + SPECIES_PAL(CLEFAIRY, gMonPalette_Clefairy), + SPECIES_PAL(CLEFABLE, gMonPalette_Clefable), + SPECIES_PAL(VULPIX, gMonPalette_Vulpix), + SPECIES_PAL(NINETALES, gMonPalette_Ninetales), + SPECIES_PAL(JIGGLYPUFF, gMonPalette_Jigglypuff), + SPECIES_PAL(WIGGLYTUFF, gMonPalette_Wigglytuff), + SPECIES_PAL(ZUBAT, gMonPalette_Zubat), + SPECIES_PAL(GOLBAT, gMonPalette_Golbat), + SPECIES_PAL(ODDISH, gMonPalette_Oddish), + SPECIES_PAL(GLOOM, gMonPalette_Gloom), + SPECIES_PAL(VILEPLUME, gMonPalette_Vileplume), + SPECIES_PAL(PARAS, gMonPalette_Paras), + SPECIES_PAL(PARASECT, gMonPalette_Parasect), + SPECIES_PAL(VENONAT, gMonPalette_Venonat), + SPECIES_PAL(VENOMOTH, gMonPalette_Venomoth), + SPECIES_PAL(DIGLETT, gMonPalette_Diglett), + SPECIES_PAL(DUGTRIO, gMonPalette_Dugtrio), + SPECIES_PAL(MEOWTH, gMonPalette_Meowth), + SPECIES_PAL(PERSIAN, gMonPalette_Persian), + SPECIES_PAL(PSYDUCK, gMonPalette_Psyduck), + SPECIES_PAL(GOLDUCK, gMonPalette_Golduck), + SPECIES_PAL(MANKEY, gMonPalette_Mankey), + SPECIES_PAL(PRIMEAPE, gMonPalette_Primeape), + SPECIES_PAL(GROWLITHE, gMonPalette_Growlithe), + SPECIES_PAL(ARCANINE, gMonPalette_Arcanine), + SPECIES_PAL(POLIWAG, gMonPalette_Poliwag), + SPECIES_PAL(POLIWHIRL, gMonPalette_Poliwhirl), + SPECIES_PAL(POLIWRATH, gMonPalette_Poliwrath), + SPECIES_PAL(ABRA, gMonPalette_Abra), + SPECIES_PAL(KADABRA, gMonPalette_Kadabra), + SPECIES_PAL(ALAKAZAM, gMonPalette_Alakazam), + SPECIES_PAL(MACHOP, gMonPalette_Machop), + SPECIES_PAL(MACHOKE, gMonPalette_Machoke), + SPECIES_PAL(MACHAMP, gMonPalette_Machamp), + SPECIES_PAL(BELLSPROUT, gMonPalette_Bellsprout), + SPECIES_PAL(WEEPINBELL, gMonPalette_Weepinbell), + SPECIES_PAL(VICTREEBEL, gMonPalette_Victreebel), + SPECIES_PAL(TENTACOOL, gMonPalette_Tentacool), + SPECIES_PAL(TENTACRUEL, gMonPalette_Tentacruel), + SPECIES_PAL(GEODUDE, gMonPalette_Geodude), + SPECIES_PAL(GRAVELER, gMonPalette_Graveler), + SPECIES_PAL(GOLEM, gMonPalette_Golem), + SPECIES_PAL(PONYTA, gMonPalette_Ponyta), + SPECIES_PAL(RAPIDASH, gMonPalette_Rapidash), + SPECIES_PAL(SLOWPOKE, gMonPalette_Slowpoke), + SPECIES_PAL(SLOWBRO, gMonPalette_Slowbro), + SPECIES_PAL(MAGNEMITE, gMonPalette_Magnemite), + SPECIES_PAL(MAGNETON, gMonPalette_Magneton), + SPECIES_PAL(FARFETCHD, gMonPalette_Farfetchd), + SPECIES_PAL(DODUO, gMonPalette_Doduo), + SPECIES_PAL(DODRIO, gMonPalette_Dodrio), + SPECIES_PAL(SEEL, gMonPalette_Seel), + SPECIES_PAL(DEWGONG, gMonPalette_Dewgong), + SPECIES_PAL(GRIMER, gMonPalette_Grimer), + SPECIES_PAL(MUK, gMonPalette_Muk), + SPECIES_PAL(SHELLDER, gMonPalette_Shellder), + SPECIES_PAL(CLOYSTER, gMonPalette_Cloyster), + SPECIES_PAL(GASTLY, gMonPalette_Gastly), + SPECIES_PAL(HAUNTER, gMonPalette_Haunter), + SPECIES_PAL(GENGAR, gMonPalette_Gengar), + SPECIES_PAL(ONIX, gMonPalette_Onix), + SPECIES_PAL(DROWZEE, gMonPalette_Drowzee), + SPECIES_PAL(HYPNO, gMonPalette_Hypno), + SPECIES_PAL(KRABBY, gMonPalette_Krabby), + SPECIES_PAL(KINGLER, gMonPalette_Kingler), + SPECIES_PAL(VOLTORB, gMonPalette_Voltorb), + SPECIES_PAL(ELECTRODE, gMonPalette_Electrode), + SPECIES_PAL(EXEGGCUTE, gMonPalette_Exeggcute), + SPECIES_PAL(EXEGGUTOR, gMonPalette_Exeggutor), + SPECIES_PAL(CUBONE, gMonPalette_Cubone), + SPECIES_PAL(MAROWAK, gMonPalette_Marowak), + SPECIES_PAL(HITMONLEE, gMonPalette_Hitmonlee), + SPECIES_PAL(HITMONCHAN, gMonPalette_Hitmonchan), + SPECIES_PAL(LICKITUNG, gMonPalette_Lickitung), + SPECIES_PAL(KOFFING, gMonPalette_Koffing), + SPECIES_PAL(WEEZING, gMonPalette_Weezing), + SPECIES_PAL(RHYHORN, gMonPalette_Rhyhorn), + SPECIES_PAL(RHYDON, gMonPalette_Rhydon), + SPECIES_PAL(CHANSEY, gMonPalette_Chansey), + SPECIES_PAL(TANGELA, gMonPalette_Tangela), + SPECIES_PAL(KANGASKHAN, gMonPalette_Kangaskhan), + SPECIES_PAL(HORSEA, gMonPalette_Horsea), + SPECIES_PAL(SEADRA, gMonPalette_Seadra), + SPECIES_PAL(GOLDEEN, gMonPalette_Goldeen), + SPECIES_PAL(SEAKING, gMonPalette_Seaking), + SPECIES_PAL(STARYU, gMonPalette_Staryu), + SPECIES_PAL(STARMIE, gMonPalette_Starmie), + SPECIES_PAL(MR_MIME, gMonPalette_Mrmime), + SPECIES_PAL(SCYTHER, gMonPalette_Scyther), + SPECIES_PAL(JYNX, gMonPalette_Jynx), + SPECIES_PAL(ELECTABUZZ, gMonPalette_Electabuzz), + SPECIES_PAL(MAGMAR, gMonPalette_Magmar), + SPECIES_PAL(PINSIR, gMonPalette_Pinsir), + SPECIES_PAL(TAUROS, gMonPalette_Tauros), + SPECIES_PAL(MAGIKARP, gMonPalette_Magikarp), + SPECIES_PAL(GYARADOS, gMonPalette_Gyarados), + SPECIES_PAL(LAPRAS, gMonPalette_Lapras), + SPECIES_PAL(DITTO, gMonPalette_Ditto), + SPECIES_PAL(EEVEE, gMonPalette_Eevee), + SPECIES_PAL(VAPOREON, gMonPalette_Vaporeon), + SPECIES_PAL(JOLTEON, gMonPalette_Jolteon), + SPECIES_PAL(FLAREON, gMonPalette_Flareon), + SPECIES_PAL(PORYGON, gMonPalette_Porygon), + SPECIES_PAL(OMANYTE, gMonPalette_Omanyte), + SPECIES_PAL(OMASTAR, gMonPalette_Omastar), + SPECIES_PAL(KABUTO, gMonPalette_Kabuto), + SPECIES_PAL(KABUTOPS, gMonPalette_Kabutops), + SPECIES_PAL(AERODACTYL, gMonPalette_Aerodactyl), + SPECIES_PAL(SNORLAX, gMonPalette_Snorlax), + SPECIES_PAL(ARTICUNO, gMonPalette_Articuno), + SPECIES_PAL(ZAPDOS, gMonPalette_Zapdos), + SPECIES_PAL(MOLTRES, gMonPalette_Moltres), + SPECIES_PAL(DRATINI, gMonPalette_Dratini), + SPECIES_PAL(DRAGONAIR, gMonPalette_Dragonair), + SPECIES_PAL(DRAGONITE, gMonPalette_Dragonite), + SPECIES_PAL(MEWTWO, gMonPalette_Mewtwo), + SPECIES_PAL(MEW, gMonPalette_Mew), + SPECIES_PAL(CHIKORITA, gMonPalette_Chikorita), + SPECIES_PAL(BAYLEEF, gMonPalette_Bayleef), + SPECIES_PAL(MEGANIUM, gMonPalette_Meganium), + SPECIES_PAL(CYNDAQUIL, gMonPalette_Cyndaquil), + SPECIES_PAL(QUILAVA, gMonPalette_Quilava), + SPECIES_PAL(TYPHLOSION, gMonPalette_Typhlosion), + SPECIES_PAL(TOTODILE, gMonPalette_Totodile), + SPECIES_PAL(CROCONAW, gMonPalette_Croconaw), + SPECIES_PAL(FERALIGATR, gMonPalette_Feraligatr), + SPECIES_PAL(SENTRET, gMonPalette_Sentret), + SPECIES_PAL(FURRET, gMonPalette_Furret), + SPECIES_PAL(HOOTHOOT, gMonPalette_Hoothoot), + SPECIES_PAL(NOCTOWL, gMonPalette_Noctowl), + SPECIES_PAL(LEDYBA, gMonPalette_Ledyba), + SPECIES_PAL(LEDIAN, gMonPalette_Ledian), + SPECIES_PAL(SPINARAK, gMonPalette_Spinarak), + SPECIES_PAL(ARIADOS, gMonPalette_Ariados), + SPECIES_PAL(CROBAT, gMonPalette_Crobat), + SPECIES_PAL(CHINCHOU, gMonPalette_Chinchou), + SPECIES_PAL(LANTURN, gMonPalette_Lanturn), + SPECIES_PAL(PICHU, gMonPalette_Pichu), + SPECIES_PAL(CLEFFA, gMonPalette_Cleffa), + SPECIES_PAL(IGGLYBUFF, gMonPalette_Igglybuff), + SPECIES_PAL(TOGEPI, gMonPalette_Togepi), + SPECIES_PAL(TOGETIC, gMonPalette_Togetic), + SPECIES_PAL(NATU, gMonPalette_Natu), + SPECIES_PAL(XATU, gMonPalette_Xatu), + SPECIES_PAL(MAREEP, gMonPalette_Mareep), + SPECIES_PAL(FLAAFFY, gMonPalette_Flaaffy), + SPECIES_PAL(AMPHAROS, gMonPalette_Ampharos), + SPECIES_PAL(BELLOSSOM, gMonPalette_Bellossom), + SPECIES_PAL(MARILL, gMonPalette_Marill), + SPECIES_PAL(AZUMARILL, gMonPalette_Azumarill), + SPECIES_PAL(SUDOWOODO, gMonPalette_Sudowoodo), + SPECIES_PAL(POLITOED, gMonPalette_Politoed), + SPECIES_PAL(HOPPIP, gMonPalette_Hoppip), + SPECIES_PAL(SKIPLOOM, gMonPalette_Skiploom), + SPECIES_PAL(JUMPLUFF, gMonPalette_Jumpluff), + SPECIES_PAL(AIPOM, gMonPalette_Aipom), + SPECIES_PAL(SUNKERN, gMonPalette_Sunkern), + SPECIES_PAL(SUNFLORA, gMonPalette_Sunflora), + SPECIES_PAL(YANMA, gMonPalette_Yanma), + SPECIES_PAL(WOOPER, gMonPalette_Wooper), + SPECIES_PAL(QUAGSIRE, gMonPalette_Quagsire), + SPECIES_PAL(ESPEON, gMonPalette_Espeon), + SPECIES_PAL(UMBREON, gMonPalette_Umbreon), + SPECIES_PAL(MURKROW, gMonPalette_Murkrow), + SPECIES_PAL(SLOWKING, gMonPalette_Slowking), + SPECIES_PAL(MISDREAVUS, gMonPalette_Misdreavus), + SPECIES_PAL(UNOWN, gMonPalette_Unown), + SPECIES_PAL(WOBBUFFET, gMonPalette_Wobbuffet), + SPECIES_PAL(GIRAFARIG, gMonPalette_Girafarig), + SPECIES_PAL(PINECO, gMonPalette_Pineco), + SPECIES_PAL(FORRETRESS, gMonPalette_Forretress), + SPECIES_PAL(DUNSPARCE, gMonPalette_Dunsparce), + SPECIES_PAL(GLIGAR, gMonPalette_Gligar), + SPECIES_PAL(STEELIX, gMonPalette_Steelix), + SPECIES_PAL(SNUBBULL, gMonPalette_Snubbull), + SPECIES_PAL(GRANBULL, gMonPalette_Granbull), + SPECIES_PAL(QWILFISH, gMonPalette_Qwilfish), + SPECIES_PAL(SCIZOR, gMonPalette_Scizor), + SPECIES_PAL(SHUCKLE, gMonPalette_Shuckle), + SPECIES_PAL(HERACROSS, gMonPalette_Heracross), + SPECIES_PAL(SNEASEL, gMonPalette_Sneasel), + SPECIES_PAL(TEDDIURSA, gMonPalette_Teddiursa), + SPECIES_PAL(URSARING, gMonPalette_Ursaring), + SPECIES_PAL(SLUGMA, gMonPalette_Slugma), + SPECIES_PAL(MAGCARGO, gMonPalette_Magcargo), + SPECIES_PAL(SWINUB, gMonPalette_Swinub), + SPECIES_PAL(PILOSWINE, gMonPalette_Piloswine), + SPECIES_PAL(CORSOLA, gMonPalette_Corsola), + SPECIES_PAL(REMORAID, gMonPalette_Remoraid), + SPECIES_PAL(OCTILLERY, gMonPalette_Octillery), + SPECIES_PAL(DELIBIRD, gMonPalette_Delibird), + SPECIES_PAL(MANTINE, gMonPalette_Mantine), + SPECIES_PAL(SKARMORY, gMonPalette_Skarmory), + SPECIES_PAL(HOUNDOUR, gMonPalette_Houndour), + SPECIES_PAL(HOUNDOOM, gMonPalette_Houndoom), + SPECIES_PAL(KINGDRA, gMonPalette_Kingdra), + SPECIES_PAL(PHANPY, gMonPalette_Phanpy), + SPECIES_PAL(DONPHAN, gMonPalette_Donphan), + SPECIES_PAL(PORYGON2, gMonPalette_Porygon2), + SPECIES_PAL(STANTLER, gMonPalette_Stantler), + SPECIES_PAL(SMEARGLE, gMonPalette_Smeargle), + SPECIES_PAL(TYROGUE, gMonPalette_Tyrogue), + SPECIES_PAL(HITMONTOP, gMonPalette_Hitmontop), + SPECIES_PAL(SMOOCHUM, gMonPalette_Smoochum), + SPECIES_PAL(ELEKID, gMonPalette_Elekid), + SPECIES_PAL(MAGBY, gMonPalette_Magby), + SPECIES_PAL(MILTANK, gMonPalette_Miltank), + SPECIES_PAL(BLISSEY, gMonPalette_Blissey), + SPECIES_PAL(RAIKOU, gMonPalette_Raikou), + SPECIES_PAL(ENTEI, gMonPalette_Entei), + SPECIES_PAL(SUICUNE, gMonPalette_Suicune), + SPECIES_PAL(LARVITAR, gMonPalette_Larvitar), + SPECIES_PAL(PUPITAR, gMonPalette_Pupitar), + SPECIES_PAL(TYRANITAR, gMonPalette_Tyranitar), + SPECIES_PAL(LUGIA, gMonPalette_Lugia), + SPECIES_PAL(HO_OH, gMonPalette_HoOh), + SPECIES_PAL(CELEBI, gMonPalette_Celebi), + SPECIES_PAL(OLD_UNOWN_B, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_C, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_D, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_E, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_F, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_G, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_H, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_I, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_J, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_K, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_L, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_M, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_N, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_O, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_P, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_Q, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_R, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_S, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_T, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_U, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_V, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_W, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_X, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_Y, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_Z, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(TREECKO, gMonPalette_Treecko), + SPECIES_PAL(GROVYLE, gMonPalette_Grovyle), + SPECIES_PAL(SCEPTILE, gMonPalette_Sceptile), + SPECIES_PAL(TORCHIC, gMonPalette_Torchic), + SPECIES_PAL(COMBUSKEN, gMonPalette_Combusken), + SPECIES_PAL(BLAZIKEN, gMonPalette_Blaziken), + SPECIES_PAL(MUDKIP, gMonPalette_Mudkip), + SPECIES_PAL(MARSHTOMP, gMonPalette_Marshtomp), + SPECIES_PAL(SWAMPERT, gMonPalette_Swampert), + SPECIES_PAL(POOCHYENA, gMonPalette_Poochyena), + SPECIES_PAL(MIGHTYENA, gMonPalette_Mightyena), + SPECIES_PAL(ZIGZAGOON, gMonPalette_Zigzagoon), + SPECIES_PAL(LINOONE, gMonPalette_Linoone), + SPECIES_PAL(WURMPLE, gMonPalette_Wurmple), + SPECIES_PAL(SILCOON, gMonPalette_Silcoon), + SPECIES_PAL(BEAUTIFLY, gMonPalette_Beautifly), + SPECIES_PAL(CASCOON, gMonPalette_Cascoon), + SPECIES_PAL(DUSTOX, gMonPalette_Dustox), + SPECIES_PAL(LOTAD, gMonPalette_Lotad), + SPECIES_PAL(LOMBRE, gMonPalette_Lombre), + SPECIES_PAL(LUDICOLO, gMonPalette_Ludicolo), + SPECIES_PAL(SEEDOT, gMonPalette_Seedot), + SPECIES_PAL(NUZLEAF, gMonPalette_Nuzleaf), + SPECIES_PAL(SHIFTRY, gMonPalette_Shiftry), + SPECIES_PAL(NINCADA, gMonPalette_Nincada), + SPECIES_PAL(NINJASK, gMonPalette_Ninjask), + SPECIES_PAL(SHEDINJA, gMonPalette_Shedinja), + SPECIES_PAL(TAILLOW, gMonPalette_Taillow), + SPECIES_PAL(SWELLOW, gMonPalette_Swellow), + SPECIES_PAL(SHROOMISH, gMonPalette_Shroomish), + SPECIES_PAL(BRELOOM, gMonPalette_Breloom), + SPECIES_PAL(SPINDA, gMonPalette_Spinda), + SPECIES_PAL(WINGULL, gMonPalette_Wingull), + SPECIES_PAL(PELIPPER, gMonPalette_Pelipper), + SPECIES_PAL(SURSKIT, gMonPalette_Surskit), + SPECIES_PAL(MASQUERAIN, gMonPalette_Masquerain), + SPECIES_PAL(WAILMER, gMonPalette_Wailmer), + SPECIES_PAL(WAILORD, gMonPalette_Wailord), + SPECIES_PAL(SKITTY, gMonPalette_Skitty), + SPECIES_PAL(DELCATTY, gMonPalette_Delcatty), + SPECIES_PAL(KECLEON, gMonPalette_Kecleon), + SPECIES_PAL(BALTOY, gMonPalette_Baltoy), + SPECIES_PAL(CLAYDOL, gMonPalette_Claydol), + SPECIES_PAL(NOSEPASS, gMonPalette_Nosepass), + SPECIES_PAL(TORKOAL, gMonPalette_Torkoal), + SPECIES_PAL(SABLEYE, gMonPalette_Sableye), + SPECIES_PAL(BARBOACH, gMonPalette_Barboach), + SPECIES_PAL(WHISCASH, gMonPalette_Whiscash), + SPECIES_PAL(LUVDISC, gMonPalette_Luvdisc), + SPECIES_PAL(CORPHISH, gMonPalette_Corphish), + SPECIES_PAL(CRAWDAUNT, gMonPalette_Crawdaunt), + SPECIES_PAL(FEEBAS, gMonPalette_Feebas), + SPECIES_PAL(MILOTIC, gMonPalette_Milotic), + SPECIES_PAL(CARVANHA, gMonPalette_Carvanha), + SPECIES_PAL(SHARPEDO, gMonPalette_Sharpedo), + SPECIES_PAL(TRAPINCH, gMonPalette_Trapinch), + SPECIES_PAL(VIBRAVA, gMonPalette_Vibrava), + SPECIES_PAL(FLYGON, gMonPalette_Flygon), + SPECIES_PAL(MAKUHITA, gMonPalette_Makuhita), + SPECIES_PAL(HARIYAMA, gMonPalette_Hariyama), + SPECIES_PAL(ELECTRIKE, gMonPalette_Electrike), + SPECIES_PAL(MANECTRIC, gMonPalette_Manectric), + SPECIES_PAL(NUMEL, gMonPalette_Numel), + SPECIES_PAL(CAMERUPT, gMonPalette_Camerupt), + SPECIES_PAL(SPHEAL, gMonPalette_Spheal), + SPECIES_PAL(SEALEO, gMonPalette_Sealeo), + SPECIES_PAL(WALREIN, gMonPalette_Walrein), + SPECIES_PAL(CACNEA, gMonPalette_Cacnea), + SPECIES_PAL(CACTURNE, gMonPalette_Cacturne), + SPECIES_PAL(SNORUNT, gMonPalette_Snorunt), + SPECIES_PAL(GLALIE, gMonPalette_Glalie), + SPECIES_PAL(LUNATONE, gMonPalette_Lunatone), + SPECIES_PAL(SOLROCK, gMonPalette_Solrock), + SPECIES_PAL(AZURILL, gMonPalette_Azurill), + SPECIES_PAL(SPOINK, gMonPalette_Spoink), + SPECIES_PAL(GRUMPIG, gMonPalette_Grumpig), + SPECIES_PAL(PLUSLE, gMonPalette_Plusle), + SPECIES_PAL(MINUN, gMonPalette_Minun), + SPECIES_PAL(MAWILE, gMonPalette_Mawile), + SPECIES_PAL(MEDITITE, gMonPalette_Meditite), + SPECIES_PAL(MEDICHAM, gMonPalette_Medicham), + SPECIES_PAL(SWABLU, gMonPalette_Swablu), + SPECIES_PAL(ALTARIA, gMonPalette_Altaria), + SPECIES_PAL(WYNAUT, gMonPalette_Wynaut), + SPECIES_PAL(DUSKULL, gMonPalette_Duskull), + SPECIES_PAL(DUSCLOPS, gMonPalette_Dusclops), + SPECIES_PAL(ROSELIA, gMonPalette_Roselia), + SPECIES_PAL(SLAKOTH, gMonPalette_Slakoth), + SPECIES_PAL(VIGOROTH, gMonPalette_Vigoroth), + SPECIES_PAL(SLAKING, gMonPalette_Slaking), + SPECIES_PAL(GULPIN, gMonPalette_Gulpin), + SPECIES_PAL(SWALOT, gMonPalette_Swalot), + SPECIES_PAL(TROPIUS, gMonPalette_Tropius), + SPECIES_PAL(WHISMUR, gMonPalette_Whismur), + SPECIES_PAL(LOUDRED, gMonPalette_Loudred), + SPECIES_PAL(EXPLOUD, gMonPalette_Exploud), + SPECIES_PAL(CLAMPERL, gMonPalette_Clamperl), + SPECIES_PAL(HUNTAIL, gMonPalette_Huntail), + SPECIES_PAL(GOREBYSS, gMonPalette_Gorebyss), + SPECIES_PAL(ABSOL, gMonPalette_Absol), + SPECIES_PAL(SHUPPET, gMonPalette_Shuppet), + SPECIES_PAL(BANETTE, gMonPalette_Banette), + SPECIES_PAL(SEVIPER, gMonPalette_Seviper), + SPECIES_PAL(ZANGOOSE, gMonPalette_Zangoose), + SPECIES_PAL(RELICANTH, gMonPalette_Relicanth), + SPECIES_PAL(ARON, gMonPalette_Aron), + SPECIES_PAL(LAIRON, gMonPalette_Lairon), + SPECIES_PAL(AGGRON, gMonPalette_Aggron), + SPECIES_PAL(CASTFORM, gMonPalette_Castform), + SPECIES_PAL(VOLBEAT, gMonPalette_Volbeat), + SPECIES_PAL(ILLUMISE, gMonPalette_Illumise), + SPECIES_PAL(LILEEP, gMonPalette_Lileep), + SPECIES_PAL(CRADILY, gMonPalette_Cradily), + SPECIES_PAL(ANORITH, gMonPalette_Anorith), + SPECIES_PAL(ARMALDO, gMonPalette_Armaldo), + SPECIES_PAL(RALTS, gMonPalette_Ralts), + SPECIES_PAL(KIRLIA, gMonPalette_Kirlia), + SPECIES_PAL(GARDEVOIR, gMonPalette_Gardevoir), + SPECIES_PAL(BAGON, gMonPalette_Bagon), + SPECIES_PAL(SHELGON, gMonPalette_Shelgon), + SPECIES_PAL(SALAMENCE, gMonPalette_Salamence), + SPECIES_PAL(BELDUM, gMonPalette_Beldum), + SPECIES_PAL(METANG, gMonPalette_Metang), + SPECIES_PAL(METAGROSS, gMonPalette_Metagross), + SPECIES_PAL(REGIROCK, gMonPalette_Regirock), + SPECIES_PAL(REGICE, gMonPalette_Regice), + SPECIES_PAL(REGISTEEL, gMonPalette_Registeel), + SPECIES_PAL(KYOGRE, gMonPalette_Kyogre), + SPECIES_PAL(GROUDON, gMonPalette_Groudon), + SPECIES_PAL(RAYQUAZA, gMonPalette_Rayquaza), + SPECIES_PAL(LATIAS, gMonPalette_Latias), + SPECIES_PAL(LATIOS, gMonPalette_Latios), + SPECIES_PAL(JIRACHI, gMonPalette_Jirachi), + SPECIES_PAL(DEOXYS, gMonPalette_Deoxys), + SPECIES_PAL(CHIMECHO, gMonPalette_Chimecho), + SPECIES_PAL(EGG, gMonPalette_Egg), + SPECIES_PAL(UNOWN_B, gMonPalette_Unown), + SPECIES_PAL(UNOWN_C, gMonPalette_Unown), + SPECIES_PAL(UNOWN_D, gMonPalette_Unown), + SPECIES_PAL(UNOWN_E, gMonPalette_Unown), + SPECIES_PAL(UNOWN_F, gMonPalette_Unown), + SPECIES_PAL(UNOWN_G, gMonPalette_Unown), + SPECIES_PAL(UNOWN_H, gMonPalette_Unown), + SPECIES_PAL(UNOWN_I, gMonPalette_Unown), + SPECIES_PAL(UNOWN_J, gMonPalette_Unown), + SPECIES_PAL(UNOWN_K, gMonPalette_Unown), + SPECIES_PAL(UNOWN_L, gMonPalette_Unown), + SPECIES_PAL(UNOWN_M, gMonPalette_Unown), + SPECIES_PAL(UNOWN_N, gMonPalette_Unown), + SPECIES_PAL(UNOWN_O, gMonPalette_Unown), + SPECIES_PAL(UNOWN_P, gMonPalette_Unown), + SPECIES_PAL(UNOWN_Q, gMonPalette_Unown), + SPECIES_PAL(UNOWN_R, gMonPalette_Unown), + SPECIES_PAL(UNOWN_S, gMonPalette_Unown), + SPECIES_PAL(UNOWN_T, gMonPalette_Unown), + SPECIES_PAL(UNOWN_U, gMonPalette_Unown), + SPECIES_PAL(UNOWN_V, gMonPalette_Unown), + SPECIES_PAL(UNOWN_W, gMonPalette_Unown), + SPECIES_PAL(UNOWN_X, gMonPalette_Unown), + SPECIES_PAL(UNOWN_Y, gMonPalette_Unown), + SPECIES_PAL(UNOWN_Z, gMonPalette_Unown), + SPECIES_PAL(UNOWN_EMARK, gMonPalette_Unown), + SPECIES_PAL(UNOWN_QMARK, gMonPalette_Unown), }; diff --git a/src/data/pokemon_graphics/shiny_palette_table.h b/src/data/pokemon_graphics/shiny_palette_table.h index 0c3f990cf0..8b1cfcaaca 100644 --- a/src/data/pokemon_graphics/shiny_palette_table.h +++ b/src/data/pokemon_graphics/shiny_palette_table.h @@ -1,443 +1,443 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = { - [SPECIES_NONE] = {gMonShinyPalette_CircledQuestionMark, SPECIES_NONE + 500}, - [SPECIES_BULBASAUR] = {gMonShinyPalette_Bulbasaur, SPECIES_BULBASAUR + 500}, - [SPECIES_IVYSAUR] = {gMonShinyPalette_Ivysaur, SPECIES_IVYSAUR + 500}, - [SPECIES_VENUSAUR] = {gMonShinyPalette_Venusaur, SPECIES_VENUSAUR + 500}, - [SPECIES_CHARMANDER] = {gMonShinyPalette_Charmander, SPECIES_CHARMANDER + 500}, - [SPECIES_CHARMELEON] = {gMonShinyPalette_Charmeleon, SPECIES_CHARMELEON + 500}, - [SPECIES_CHARIZARD] = {gMonShinyPalette_Charizard, SPECIES_CHARIZARD + 500}, - [SPECIES_SQUIRTLE] = {gMonShinyPalette_Squirtle, SPECIES_SQUIRTLE + 500}, - [SPECIES_WARTORTLE] = {gMonShinyPalette_Wartortle, SPECIES_WARTORTLE + 500}, - [SPECIES_BLASTOISE] = {gMonShinyPalette_Blastoise, SPECIES_BLASTOISE + 500}, - [SPECIES_CATERPIE] = {gMonShinyPalette_Caterpie, SPECIES_CATERPIE + 500}, - [SPECIES_METAPOD] = {gMonShinyPalette_Metapod, SPECIES_METAPOD + 500}, - [SPECIES_BUTTERFREE] = {gMonShinyPalette_Butterfree, SPECIES_BUTTERFREE + 500}, - [SPECIES_WEEDLE] = {gMonShinyPalette_Weedle, SPECIES_WEEDLE + 500}, - [SPECIES_KAKUNA] = {gMonShinyPalette_Kakuna, SPECIES_KAKUNA + 500}, - [SPECIES_BEEDRILL] = {gMonShinyPalette_Beedrill, SPECIES_BEEDRILL + 500}, - [SPECIES_PIDGEY] = {gMonShinyPalette_Pidgey, SPECIES_PIDGEY + 500}, - [SPECIES_PIDGEOTTO] = {gMonShinyPalette_Pidgeotto, SPECIES_PIDGEOTTO + 500}, - [SPECIES_PIDGEOT] = {gMonShinyPalette_Pidgeot, SPECIES_PIDGEOT + 500}, - [SPECIES_RATTATA] = {gMonShinyPalette_Rattata, SPECIES_RATTATA + 500}, - [SPECIES_RATICATE] = {gMonShinyPalette_Raticate, SPECIES_RATICATE + 500}, - [SPECIES_SPEAROW] = {gMonShinyPalette_Spearow, SPECIES_SPEAROW + 500}, - [SPECIES_FEAROW] = {gMonShinyPalette_Fearow, SPECIES_FEAROW + 500}, - [SPECIES_EKANS] = {gMonShinyPalette_Ekans, SPECIES_EKANS + 500}, - [SPECIES_ARBOK] = {gMonShinyPalette_Arbok, SPECIES_ARBOK + 500}, - [SPECIES_PIKACHU] = {gMonShinyPalette_Pikachu, SPECIES_PIKACHU + 500}, - [SPECIES_RAICHU] = {gMonShinyPalette_Raichu, SPECIES_RAICHU + 500}, - [SPECIES_SANDSHREW] = {gMonShinyPalette_Sandshrew, SPECIES_SANDSHREW + 500}, - [SPECIES_SANDSLASH] = {gMonShinyPalette_Sandslash, SPECIES_SANDSLASH + 500}, - [SPECIES_NIDORAN_F] = {gMonShinyPalette_NidoranF, SPECIES_NIDORAN_F + 500}, - [SPECIES_NIDORINA] = {gMonShinyPalette_Nidorina, SPECIES_NIDORINA + 500}, - [SPECIES_NIDOQUEEN] = {gMonShinyPalette_Nidoqueen, SPECIES_NIDOQUEEN + 500}, - [SPECIES_NIDORAN_M] = {gMonShinyPalette_NidoranM, SPECIES_NIDORAN_M + 500}, - [SPECIES_NIDORINO] = {gMonShinyPalette_Nidorino, SPECIES_NIDORINO + 500}, - [SPECIES_NIDOKING] = {gMonShinyPalette_Nidoking, SPECIES_NIDOKING + 500}, - [SPECIES_CLEFAIRY] = {gMonShinyPalette_Clefairy, SPECIES_CLEFAIRY + 500}, - [SPECIES_CLEFABLE] = {gMonShinyPalette_Clefable, SPECIES_CLEFABLE + 500}, - [SPECIES_VULPIX] = {gMonShinyPalette_Vulpix, SPECIES_VULPIX + 500}, - [SPECIES_NINETALES] = {gMonShinyPalette_Ninetales, SPECIES_NINETALES + 500}, - [SPECIES_JIGGLYPUFF] = {gMonShinyPalette_Jigglypuff, SPECIES_JIGGLYPUFF + 500}, - [SPECIES_WIGGLYTUFF] = {gMonShinyPalette_Wigglytuff, SPECIES_WIGGLYTUFF + 500}, - [SPECIES_ZUBAT] = {gMonShinyPalette_Zubat, SPECIES_ZUBAT + 500}, - [SPECIES_GOLBAT] = {gMonShinyPalette_Golbat, SPECIES_GOLBAT + 500}, - [SPECIES_ODDISH] = {gMonShinyPalette_Oddish, SPECIES_ODDISH + 500}, - [SPECIES_GLOOM] = {gMonShinyPalette_Gloom, SPECIES_GLOOM + 500}, - [SPECIES_VILEPLUME] = {gMonShinyPalette_Vileplume, SPECIES_VILEPLUME + 500}, - [SPECIES_PARAS] = {gMonShinyPalette_Paras, SPECIES_PARAS + 500}, - [SPECIES_PARASECT] = {gMonShinyPalette_Parasect, SPECIES_PARASECT + 500}, - [SPECIES_VENONAT] = {gMonShinyPalette_Venonat, SPECIES_VENONAT + 500}, - [SPECIES_VENOMOTH] = {gMonShinyPalette_Venomoth, SPECIES_VENOMOTH + 500}, - [SPECIES_DIGLETT] = {gMonShinyPalette_Diglett, SPECIES_DIGLETT + 500}, - [SPECIES_DUGTRIO] = {gMonShinyPalette_Dugtrio, SPECIES_DUGTRIO + 500}, - [SPECIES_MEOWTH] = {gMonShinyPalette_Meowth, SPECIES_MEOWTH + 500}, - [SPECIES_PERSIAN] = {gMonShinyPalette_Persian, SPECIES_PERSIAN + 500}, - [SPECIES_PSYDUCK] = {gMonShinyPalette_Psyduck, SPECIES_PSYDUCK + 500}, - [SPECIES_GOLDUCK] = {gMonShinyPalette_Golduck, SPECIES_GOLDUCK + 500}, - [SPECIES_MANKEY] = {gMonShinyPalette_Mankey, SPECIES_MANKEY + 500}, - [SPECIES_PRIMEAPE] = {gMonShinyPalette_Primeape, SPECIES_PRIMEAPE + 500}, - [SPECIES_GROWLITHE] = {gMonShinyPalette_Growlithe, SPECIES_GROWLITHE + 500}, - [SPECIES_ARCANINE] = {gMonShinyPalette_Arcanine, SPECIES_ARCANINE + 500}, - [SPECIES_POLIWAG] = {gMonShinyPalette_Poliwag, SPECIES_POLIWAG + 500}, - [SPECIES_POLIWHIRL] = {gMonShinyPalette_Poliwhirl, SPECIES_POLIWHIRL + 500}, - [SPECIES_POLIWRATH] = {gMonShinyPalette_Poliwrath, SPECIES_POLIWRATH + 500}, - [SPECIES_ABRA] = {gMonShinyPalette_Abra, SPECIES_ABRA + 500}, - [SPECIES_KADABRA] = {gMonShinyPalette_Kadabra, SPECIES_KADABRA + 500}, - [SPECIES_ALAKAZAM] = {gMonShinyPalette_Alakazam, SPECIES_ALAKAZAM + 500}, - [SPECIES_MACHOP] = {gMonShinyPalette_Machop, SPECIES_MACHOP + 500}, - [SPECIES_MACHOKE] = {gMonShinyPalette_Machoke, SPECIES_MACHOKE + 500}, - [SPECIES_MACHAMP] = {gMonShinyPalette_Machamp, SPECIES_MACHAMP + 500}, - [SPECIES_BELLSPROUT] = {gMonShinyPalette_Bellsprout, SPECIES_BELLSPROUT + 500}, - [SPECIES_WEEPINBELL] = {gMonShinyPalette_Weepinbell, SPECIES_WEEPINBELL + 500}, - [SPECIES_VICTREEBEL] = {gMonShinyPalette_Victreebel, SPECIES_VICTREEBEL + 500}, - [SPECIES_TENTACOOL] = {gMonShinyPalette_Tentacool, SPECIES_TENTACOOL + 500}, - [SPECIES_TENTACRUEL] = {gMonShinyPalette_Tentacruel, SPECIES_TENTACRUEL + 500}, - [SPECIES_GEODUDE] = {gMonShinyPalette_Geodude, SPECIES_GEODUDE + 500}, - [SPECIES_GRAVELER] = {gMonShinyPalette_Graveler, SPECIES_GRAVELER + 500}, - [SPECIES_GOLEM] = {gMonShinyPalette_Golem, SPECIES_GOLEM + 500}, - [SPECIES_PONYTA] = {gMonShinyPalette_Ponyta, SPECIES_PONYTA + 500}, - [SPECIES_RAPIDASH] = {gMonShinyPalette_Rapidash, SPECIES_RAPIDASH + 500}, - [SPECIES_SLOWPOKE] = {gMonShinyPalette_Slowpoke, SPECIES_SLOWPOKE + 500}, - [SPECIES_SLOWBRO] = {gMonShinyPalette_Slowbro, SPECIES_SLOWBRO + 500}, - [SPECIES_MAGNEMITE] = {gMonShinyPalette_Magnemite, SPECIES_MAGNEMITE + 500}, - [SPECIES_MAGNETON] = {gMonShinyPalette_Magneton, SPECIES_MAGNETON + 500}, - [SPECIES_FARFETCHD] = {gMonShinyPalette_Farfetchd, SPECIES_FARFETCHD + 500}, - [SPECIES_DODUO] = {gMonShinyPalette_Doduo, SPECIES_DODUO + 500}, - [SPECIES_DODRIO] = {gMonShinyPalette_Dodrio, SPECIES_DODRIO + 500}, - [SPECIES_SEEL] = {gMonShinyPalette_Seel, SPECIES_SEEL + 500}, - [SPECIES_DEWGONG] = {gMonShinyPalette_Dewgong, SPECIES_DEWGONG + 500}, - [SPECIES_GRIMER] = {gMonShinyPalette_Grimer, SPECIES_GRIMER + 500}, - [SPECIES_MUK] = {gMonShinyPalette_Muk, SPECIES_MUK + 500}, - [SPECIES_SHELLDER] = {gMonShinyPalette_Shellder, SPECIES_SHELLDER + 500}, - [SPECIES_CLOYSTER] = {gMonShinyPalette_Cloyster, SPECIES_CLOYSTER + 500}, - [SPECIES_GASTLY] = {gMonShinyPalette_Gastly, SPECIES_GASTLY + 500}, - [SPECIES_HAUNTER] = {gMonShinyPalette_Haunter, SPECIES_HAUNTER + 500}, - [SPECIES_GENGAR] = {gMonShinyPalette_Gengar, SPECIES_GENGAR + 500}, - [SPECIES_ONIX] = {gMonShinyPalette_Onix, SPECIES_ONIX + 500}, - [SPECIES_DROWZEE] = {gMonShinyPalette_Drowzee, SPECIES_DROWZEE + 500}, - [SPECIES_HYPNO] = {gMonShinyPalette_Hypno, SPECIES_HYPNO + 500}, - [SPECIES_KRABBY] = {gMonShinyPalette_Krabby, SPECIES_KRABBY + 500}, - [SPECIES_KINGLER] = {gMonShinyPalette_Kingler, SPECIES_KINGLER + 500}, - [SPECIES_VOLTORB] = {gMonShinyPalette_Voltorb, SPECIES_VOLTORB + 500}, - [SPECIES_ELECTRODE] = {gMonShinyPalette_Electrode, SPECIES_ELECTRODE + 500}, - [SPECIES_EXEGGCUTE] = {gMonShinyPalette_Exeggcute, SPECIES_EXEGGCUTE + 500}, - [SPECIES_EXEGGUTOR] = {gMonShinyPalette_Exeggutor, SPECIES_EXEGGUTOR + 500}, - [SPECIES_CUBONE] = {gMonShinyPalette_Cubone, SPECIES_CUBONE + 500}, - [SPECIES_MAROWAK] = {gMonShinyPalette_Marowak, SPECIES_MAROWAK + 500}, - [SPECIES_HITMONLEE] = {gMonShinyPalette_Hitmonlee, SPECIES_HITMONLEE + 500}, - [SPECIES_HITMONCHAN] = {gMonShinyPalette_Hitmonchan, SPECIES_HITMONCHAN + 500}, - [SPECIES_LICKITUNG] = {gMonShinyPalette_Lickitung, SPECIES_LICKITUNG + 500}, - [SPECIES_KOFFING] = {gMonShinyPalette_Koffing, SPECIES_KOFFING + 500}, - [SPECIES_WEEZING] = {gMonShinyPalette_Weezing, SPECIES_WEEZING + 500}, - [SPECIES_RHYHORN] = {gMonShinyPalette_Rhyhorn, SPECIES_RHYHORN + 500}, - [SPECIES_RHYDON] = {gMonShinyPalette_Rhydon, SPECIES_RHYDON + 500}, - [SPECIES_CHANSEY] = {gMonShinyPalette_Chansey, SPECIES_CHANSEY + 500}, - [SPECIES_TANGELA] = {gMonShinyPalette_Tangela, SPECIES_TANGELA + 500}, - [SPECIES_KANGASKHAN] = {gMonShinyPalette_Kangaskhan, SPECIES_KANGASKHAN + 500}, - [SPECIES_HORSEA] = {gMonShinyPalette_Horsea, SPECIES_HORSEA + 500}, - [SPECIES_SEADRA] = {gMonShinyPalette_Seadra, SPECIES_SEADRA + 500}, - [SPECIES_GOLDEEN] = {gMonShinyPalette_Goldeen, SPECIES_GOLDEEN + 500}, - [SPECIES_SEAKING] = {gMonShinyPalette_Seaking, SPECIES_SEAKING + 500}, - [SPECIES_STARYU] = {gMonShinyPalette_Staryu, SPECIES_STARYU + 500}, - [SPECIES_STARMIE] = {gMonShinyPalette_Starmie, SPECIES_STARMIE + 500}, - [SPECIES_MR_MIME] = {gMonShinyPalette_Mrmime, SPECIES_MR_MIME + 500}, - [SPECIES_SCYTHER] = {gMonShinyPalette_Scyther, SPECIES_SCYTHER + 500}, - [SPECIES_JYNX] = {gMonShinyPalette_Jynx, SPECIES_JYNX + 500}, - [SPECIES_ELECTABUZZ] = {gMonShinyPalette_Electabuzz, SPECIES_ELECTABUZZ + 500}, - [SPECIES_MAGMAR] = {gMonShinyPalette_Magmar, SPECIES_MAGMAR + 500}, - [SPECIES_PINSIR] = {gMonShinyPalette_Pinsir, SPECIES_PINSIR + 500}, - [SPECIES_TAUROS] = {gMonShinyPalette_Tauros, SPECIES_TAUROS + 500}, - [SPECIES_MAGIKARP] = {gMonShinyPalette_Magikarp, SPECIES_MAGIKARP + 500}, - [SPECIES_GYARADOS] = {gMonShinyPalette_Gyarados, SPECIES_GYARADOS + 500}, - [SPECIES_LAPRAS] = {gMonShinyPalette_Lapras, SPECIES_LAPRAS + 500}, - [SPECIES_DITTO] = {gMonShinyPalette_Ditto, SPECIES_DITTO + 500}, - [SPECIES_EEVEE] = {gMonShinyPalette_Eevee, SPECIES_EEVEE + 500}, - [SPECIES_VAPOREON] = {gMonShinyPalette_Vaporeon, SPECIES_VAPOREON + 500}, - [SPECIES_JOLTEON] = {gMonShinyPalette_Jolteon, SPECIES_JOLTEON + 500}, - [SPECIES_FLAREON] = {gMonShinyPalette_Flareon, SPECIES_FLAREON + 500}, - [SPECIES_PORYGON] = {gMonShinyPalette_Porygon, SPECIES_PORYGON + 500}, - [SPECIES_OMANYTE] = {gMonShinyPalette_Omanyte, SPECIES_OMANYTE + 500}, - [SPECIES_OMASTAR] = {gMonShinyPalette_Omastar, SPECIES_OMASTAR + 500}, - [SPECIES_KABUTO] = {gMonShinyPalette_Kabuto, SPECIES_KABUTO + 500}, - [SPECIES_KABUTOPS] = {gMonShinyPalette_Kabutops, SPECIES_KABUTOPS + 500}, - [SPECIES_AERODACTYL] = {gMonShinyPalette_Aerodactyl, SPECIES_AERODACTYL + 500}, - [SPECIES_SNORLAX] = {gMonShinyPalette_Snorlax, SPECIES_SNORLAX + 500}, - [SPECIES_ARTICUNO] = {gMonShinyPalette_Articuno, SPECIES_ARTICUNO + 500}, - [SPECIES_ZAPDOS] = {gMonShinyPalette_Zapdos, SPECIES_ZAPDOS + 500}, - [SPECIES_MOLTRES] = {gMonShinyPalette_Moltres, SPECIES_MOLTRES + 500}, - [SPECIES_DRATINI] = {gMonShinyPalette_Dratini, SPECIES_DRATINI + 500}, - [SPECIES_DRAGONAIR] = {gMonShinyPalette_Dragonair, SPECIES_DRAGONAIR + 500}, - [SPECIES_DRAGONITE] = {gMonShinyPalette_Dragonite, SPECIES_DRAGONITE + 500}, - [SPECIES_MEWTWO] = {gMonShinyPalette_Mewtwo, SPECIES_MEWTWO + 500}, - [SPECIES_MEW] = {gMonShinyPalette_Mew, SPECIES_MEW + 500}, - [SPECIES_CHIKORITA] = {gMonShinyPalette_Chikorita, SPECIES_CHIKORITA + 500}, - [SPECIES_BAYLEEF] = {gMonShinyPalette_Bayleef, SPECIES_BAYLEEF + 500}, - [SPECIES_MEGANIUM] = {gMonShinyPalette_Meganium, SPECIES_MEGANIUM + 500}, - [SPECIES_CYNDAQUIL] = {gMonShinyPalette_Cyndaquil, SPECIES_CYNDAQUIL + 500}, - [SPECIES_QUILAVA] = {gMonShinyPalette_Quilava, SPECIES_QUILAVA + 500}, - [SPECIES_TYPHLOSION] = {gMonShinyPalette_Typhlosion, SPECIES_TYPHLOSION + 500}, - [SPECIES_TOTODILE] = {gMonShinyPalette_Totodile, SPECIES_TOTODILE + 500}, - [SPECIES_CROCONAW] = {gMonShinyPalette_Croconaw, SPECIES_CROCONAW + 500}, - [SPECIES_FERALIGATR] = {gMonShinyPalette_Feraligatr, SPECIES_FERALIGATR + 500}, - [SPECIES_SENTRET] = {gMonShinyPalette_Sentret, SPECIES_SENTRET + 500}, - [SPECIES_FURRET] = {gMonShinyPalette_Furret, SPECIES_FURRET + 500}, - [SPECIES_HOOTHOOT] = {gMonShinyPalette_Hoothoot, SPECIES_HOOTHOOT + 500}, - [SPECIES_NOCTOWL] = {gMonShinyPalette_Noctowl, SPECIES_NOCTOWL + 500}, - [SPECIES_LEDYBA] = {gMonShinyPalette_Ledyba, SPECIES_LEDYBA + 500}, - [SPECIES_LEDIAN] = {gMonShinyPalette_Ledian, SPECIES_LEDIAN + 500}, - [SPECIES_SPINARAK] = {gMonShinyPalette_Spinarak, SPECIES_SPINARAK + 500}, - [SPECIES_ARIADOS] = {gMonShinyPalette_Ariados, SPECIES_ARIADOS + 500}, - [SPECIES_CROBAT] = {gMonShinyPalette_Crobat, SPECIES_CROBAT + 500}, - [SPECIES_CHINCHOU] = {gMonShinyPalette_Chinchou, SPECIES_CHINCHOU + 500}, - [SPECIES_LANTURN] = {gMonShinyPalette_Lanturn, SPECIES_LANTURN + 500}, - [SPECIES_PICHU] = {gMonShinyPalette_Pichu, SPECIES_PICHU + 500}, - [SPECIES_CLEFFA] = {gMonShinyPalette_Cleffa, SPECIES_CLEFFA + 500}, - [SPECIES_IGGLYBUFF] = {gMonShinyPalette_Igglybuff, SPECIES_IGGLYBUFF + 500}, - [SPECIES_TOGEPI] = {gMonShinyPalette_Togepi, SPECIES_TOGEPI + 500}, - [SPECIES_TOGETIC] = {gMonShinyPalette_Togetic, SPECIES_TOGETIC + 500}, - [SPECIES_NATU] = {gMonShinyPalette_Natu, SPECIES_NATU + 500}, - [SPECIES_XATU] = {gMonShinyPalette_Xatu, SPECIES_XATU + 500}, - [SPECIES_MAREEP] = {gMonShinyPalette_Mareep, SPECIES_MAREEP + 500}, - [SPECIES_FLAAFFY] = {gMonShinyPalette_Flaaffy, SPECIES_FLAAFFY + 500}, - [SPECIES_AMPHAROS] = {gMonShinyPalette_Ampharos, SPECIES_AMPHAROS + 500}, - [SPECIES_BELLOSSOM] = {gMonShinyPalette_Bellossom, SPECIES_BELLOSSOM + 500}, - [SPECIES_MARILL] = {gMonShinyPalette_Marill, SPECIES_MARILL + 500}, - [SPECIES_AZUMARILL] = {gMonShinyPalette_Azumarill, SPECIES_AZUMARILL + 500}, - [SPECIES_SUDOWOODO] = {gMonShinyPalette_Sudowoodo, SPECIES_SUDOWOODO + 500}, - [SPECIES_POLITOED] = {gMonShinyPalette_Politoed, SPECIES_POLITOED + 500}, - [SPECIES_HOPPIP] = {gMonShinyPalette_Hoppip, SPECIES_HOPPIP + 500}, - [SPECIES_SKIPLOOM] = {gMonShinyPalette_Skiploom, SPECIES_SKIPLOOM + 500}, - [SPECIES_JUMPLUFF] = {gMonShinyPalette_Jumpluff, SPECIES_JUMPLUFF + 500}, - [SPECIES_AIPOM] = {gMonShinyPalette_Aipom, SPECIES_AIPOM + 500}, - [SPECIES_SUNKERN] = {gMonShinyPalette_Sunkern, SPECIES_SUNKERN + 500}, - [SPECIES_SUNFLORA] = {gMonShinyPalette_Sunflora, SPECIES_SUNFLORA + 500}, - [SPECIES_YANMA] = {gMonShinyPalette_Yanma, SPECIES_YANMA + 500}, - [SPECIES_WOOPER] = {gMonShinyPalette_Wooper, SPECIES_WOOPER + 500}, - [SPECIES_QUAGSIRE] = {gMonShinyPalette_Quagsire, SPECIES_QUAGSIRE + 500}, - [SPECIES_ESPEON] = {gMonShinyPalette_Espeon, SPECIES_ESPEON + 500}, - [SPECIES_UMBREON] = {gMonShinyPalette_Umbreon, SPECIES_UMBREON + 500}, - [SPECIES_MURKROW] = {gMonShinyPalette_Murkrow, SPECIES_MURKROW + 500}, - [SPECIES_SLOWKING] = {gMonShinyPalette_Slowking, SPECIES_SLOWKING + 500}, - [SPECIES_MISDREAVUS] = {gMonShinyPalette_Misdreavus, SPECIES_MISDREAVUS + 500}, - [SPECIES_UNOWN] = {gMonShinyPalette_Unown, SPECIES_UNOWN + 500}, - [SPECIES_WOBBUFFET] = {gMonShinyPalette_Wobbuffet, SPECIES_WOBBUFFET + 500}, - [SPECIES_GIRAFARIG] = {gMonShinyPalette_Girafarig, SPECIES_GIRAFARIG + 500}, - [SPECIES_PINECO] = {gMonShinyPalette_Pineco, SPECIES_PINECO + 500}, - [SPECIES_FORRETRESS] = {gMonShinyPalette_Forretress, SPECIES_FORRETRESS + 500}, - [SPECIES_DUNSPARCE] = {gMonShinyPalette_Dunsparce, SPECIES_DUNSPARCE + 500}, - [SPECIES_GLIGAR] = {gMonShinyPalette_Gligar, SPECIES_GLIGAR + 500}, - [SPECIES_STEELIX] = {gMonShinyPalette_Steelix, SPECIES_STEELIX + 500}, - [SPECIES_SNUBBULL] = {gMonShinyPalette_Snubbull, SPECIES_SNUBBULL + 500}, - [SPECIES_GRANBULL] = {gMonShinyPalette_Granbull, SPECIES_GRANBULL + 500}, - [SPECIES_QWILFISH] = {gMonShinyPalette_Qwilfish, SPECIES_QWILFISH + 500}, - [SPECIES_SCIZOR] = {gMonShinyPalette_Scizor, SPECIES_SCIZOR + 500}, - [SPECIES_SHUCKLE] = {gMonShinyPalette_Shuckle, SPECIES_SHUCKLE + 500}, - [SPECIES_HERACROSS] = {gMonShinyPalette_Heracross, SPECIES_HERACROSS + 500}, - [SPECIES_SNEASEL] = {gMonShinyPalette_Sneasel, SPECIES_SNEASEL + 500}, - [SPECIES_TEDDIURSA] = {gMonShinyPalette_Teddiursa, SPECIES_TEDDIURSA + 500}, - [SPECIES_URSARING] = {gMonShinyPalette_Ursaring, SPECIES_URSARING + 500}, - [SPECIES_SLUGMA] = {gMonShinyPalette_Slugma, SPECIES_SLUGMA + 500}, - [SPECIES_MAGCARGO] = {gMonShinyPalette_Magcargo, SPECIES_MAGCARGO + 500}, - [SPECIES_SWINUB] = {gMonShinyPalette_Swinub, SPECIES_SWINUB + 500}, - [SPECIES_PILOSWINE] = {gMonShinyPalette_Piloswine, SPECIES_PILOSWINE + 500}, - [SPECIES_CORSOLA] = {gMonShinyPalette_Corsola, SPECIES_CORSOLA + 500}, - [SPECIES_REMORAID] = {gMonShinyPalette_Remoraid, SPECIES_REMORAID + 500}, - [SPECIES_OCTILLERY] = {gMonShinyPalette_Octillery, SPECIES_OCTILLERY + 500}, - [SPECIES_DELIBIRD] = {gMonShinyPalette_Delibird, SPECIES_DELIBIRD + 500}, - [SPECIES_MANTINE] = {gMonShinyPalette_Mantine, SPECIES_MANTINE + 500}, - [SPECIES_SKARMORY] = {gMonShinyPalette_Skarmory, SPECIES_SKARMORY + 500}, - [SPECIES_HOUNDOUR] = {gMonShinyPalette_Houndour, SPECIES_HOUNDOUR + 500}, - [SPECIES_HOUNDOOM] = {gMonShinyPalette_Houndoom, SPECIES_HOUNDOOM + 500}, - [SPECIES_KINGDRA] = {gMonShinyPalette_Kingdra, SPECIES_KINGDRA + 500}, - [SPECIES_PHANPY] = {gMonShinyPalette_Phanpy, SPECIES_PHANPY + 500}, - [SPECIES_DONPHAN] = {gMonShinyPalette_Donphan, SPECIES_DONPHAN + 500}, - [SPECIES_PORYGON2] = {gMonShinyPalette_Porygon2, SPECIES_PORYGON2 + 500}, - [SPECIES_STANTLER] = {gMonShinyPalette_Stantler, SPECIES_STANTLER + 500}, - [SPECIES_SMEARGLE] = {gMonShinyPalette_Smeargle, SPECIES_SMEARGLE + 500}, - [SPECIES_TYROGUE] = {gMonShinyPalette_Tyrogue, SPECIES_TYROGUE + 500}, - [SPECIES_HITMONTOP] = {gMonShinyPalette_Hitmontop, SPECIES_HITMONTOP + 500}, - [SPECIES_SMOOCHUM] = {gMonShinyPalette_Smoochum, SPECIES_SMOOCHUM + 500}, - [SPECIES_ELEKID] = {gMonShinyPalette_Elekid, SPECIES_ELEKID + 500}, - [SPECIES_MAGBY] = {gMonShinyPalette_Magby, SPECIES_MAGBY + 500}, - [SPECIES_MILTANK] = {gMonShinyPalette_Miltank, SPECIES_MILTANK + 500}, - [SPECIES_BLISSEY] = {gMonShinyPalette_Blissey, SPECIES_BLISSEY + 500}, - [SPECIES_RAIKOU] = {gMonShinyPalette_Raikou, SPECIES_RAIKOU + 500}, - [SPECIES_ENTEI] = {gMonShinyPalette_Entei, SPECIES_ENTEI + 500}, - [SPECIES_SUICUNE] = {gMonShinyPalette_Suicune, SPECIES_SUICUNE + 500}, - [SPECIES_LARVITAR] = {gMonShinyPalette_Larvitar, SPECIES_LARVITAR + 500}, - [SPECIES_PUPITAR] = {gMonShinyPalette_Pupitar, SPECIES_PUPITAR + 500}, - [SPECIES_TYRANITAR] = {gMonShinyPalette_Tyranitar, SPECIES_TYRANITAR + 500}, - [SPECIES_LUGIA] = {gMonShinyPalette_Lugia, SPECIES_LUGIA + 500}, - [SPECIES_HO_OH] = {gMonShinyPalette_HoOh, SPECIES_HO_OH + 500}, - [SPECIES_CELEBI] = {gMonShinyPalette_Celebi, SPECIES_CELEBI + 500}, - [SPECIES_OLD_UNOWN_B] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_B + 500}, - [SPECIES_OLD_UNOWN_C] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_C + 500}, - [SPECIES_OLD_UNOWN_D] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_D + 500}, - [SPECIES_OLD_UNOWN_E] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_E + 500}, - [SPECIES_OLD_UNOWN_F] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_F + 500}, - [SPECIES_OLD_UNOWN_G] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_G + 500}, - [SPECIES_OLD_UNOWN_H] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_H + 500}, - [SPECIES_OLD_UNOWN_I] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_I + 500}, - [SPECIES_OLD_UNOWN_J] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_J + 500}, - [SPECIES_OLD_UNOWN_K] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_K + 500}, - [SPECIES_OLD_UNOWN_L] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_L + 500}, - [SPECIES_OLD_UNOWN_M] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_M + 500}, - [SPECIES_OLD_UNOWN_N] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_N + 500}, - [SPECIES_OLD_UNOWN_O] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_O + 500}, - [SPECIES_OLD_UNOWN_P] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_P + 500}, - [SPECIES_OLD_UNOWN_Q] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_Q + 500}, - [SPECIES_OLD_UNOWN_R] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_R + 500}, - [SPECIES_OLD_UNOWN_S] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_S + 500}, - [SPECIES_OLD_UNOWN_T] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_T + 500}, - [SPECIES_OLD_UNOWN_U] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_U + 500}, - [SPECIES_OLD_UNOWN_V] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_V + 500}, - [SPECIES_OLD_UNOWN_W] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_W + 500}, - [SPECIES_OLD_UNOWN_X] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_X + 500}, - [SPECIES_OLD_UNOWN_Y] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_Y + 500}, - [SPECIES_OLD_UNOWN_Z] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_Z + 500}, - [SPECIES_TREECKO] = {gMonShinyPalette_Treecko, SPECIES_TREECKO + 500}, - [SPECIES_GROVYLE] = {gMonShinyPalette_Grovyle, SPECIES_GROVYLE + 500}, - [SPECIES_SCEPTILE] = {gMonShinyPalette_Sceptile, SPECIES_SCEPTILE + 500}, - [SPECIES_TORCHIC] = {gMonShinyPalette_Torchic, SPECIES_TORCHIC + 500}, - [SPECIES_COMBUSKEN] = {gMonShinyPalette_Combusken, SPECIES_COMBUSKEN + 500}, - [SPECIES_BLAZIKEN] = {gMonShinyPalette_Blaziken, SPECIES_BLAZIKEN + 500}, - [SPECIES_MUDKIP] = {gMonShinyPalette_Mudkip, SPECIES_MUDKIP + 500}, - [SPECIES_MARSHTOMP] = {gMonShinyPalette_Marshtomp, SPECIES_MARSHTOMP + 500}, - [SPECIES_SWAMPERT] = {gMonShinyPalette_Swampert, SPECIES_SWAMPERT + 500}, - [SPECIES_POOCHYENA] = {gMonShinyPalette_Poochyena, SPECIES_POOCHYENA + 500}, - [SPECIES_MIGHTYENA] = {gMonShinyPalette_Mightyena, SPECIES_MIGHTYENA + 500}, - [SPECIES_ZIGZAGOON] = {gMonShinyPalette_Zigzagoon, SPECIES_ZIGZAGOON + 500}, - [SPECIES_LINOONE] = {gMonShinyPalette_Linoone, SPECIES_LINOONE + 500}, - [SPECIES_WURMPLE] = {gMonShinyPalette_Wurmple, SPECIES_WURMPLE + 500}, - [SPECIES_SILCOON] = {gMonShinyPalette_Silcoon, SPECIES_SILCOON + 500}, - [SPECIES_BEAUTIFLY] = {gMonShinyPalette_Beautifly, SPECIES_BEAUTIFLY + 500}, - [SPECIES_CASCOON] = {gMonShinyPalette_Cascoon, SPECIES_CASCOON + 500}, - [SPECIES_DUSTOX] = {gMonShinyPalette_Dustox, SPECIES_DUSTOX + 500}, - [SPECIES_LOTAD] = {gMonShinyPalette_Lotad, SPECIES_LOTAD + 500}, - [SPECIES_LOMBRE] = {gMonShinyPalette_Lombre, SPECIES_LOMBRE + 500}, - [SPECIES_LUDICOLO] = {gMonShinyPalette_Ludicolo, SPECIES_LUDICOLO + 500}, - [SPECIES_SEEDOT] = {gMonShinyPalette_Seedot, SPECIES_SEEDOT + 500}, - [SPECIES_NUZLEAF] = {gMonShinyPalette_Nuzleaf, SPECIES_NUZLEAF + 500}, - [SPECIES_SHIFTRY] = {gMonShinyPalette_Shiftry, SPECIES_SHIFTRY + 500}, - [SPECIES_NINCADA] = {gMonShinyPalette_Nincada, SPECIES_NINCADA + 500}, - [SPECIES_NINJASK] = {gMonShinyPalette_Ninjask, SPECIES_NINJASK + 500}, - [SPECIES_SHEDINJA] = {gMonShinyPalette_Shedinja, SPECIES_SHEDINJA + 500}, - [SPECIES_TAILLOW] = {gMonShinyPalette_Taillow, SPECIES_TAILLOW + 500}, - [SPECIES_SWELLOW] = {gMonShinyPalette_Swellow, SPECIES_SWELLOW + 500}, - [SPECIES_SHROOMISH] = {gMonShinyPalette_Shroomish, SPECIES_SHROOMISH + 500}, - [SPECIES_BRELOOM] = {gMonShinyPalette_Breloom, SPECIES_BRELOOM + 500}, - [SPECIES_SPINDA] = {gMonShinyPalette_Spinda, SPECIES_SPINDA + 500}, - [SPECIES_WINGULL] = {gMonShinyPalette_Wingull, SPECIES_WINGULL + 500}, - [SPECIES_PELIPPER] = {gMonShinyPalette_Pelipper, SPECIES_PELIPPER + 500}, - [SPECIES_SURSKIT] = {gMonShinyPalette_Surskit, SPECIES_SURSKIT + 500}, - [SPECIES_MASQUERAIN] = {gMonShinyPalette_Masquerain, SPECIES_MASQUERAIN + 500}, - [SPECIES_WAILMER] = {gMonShinyPalette_Wailmer, SPECIES_WAILMER + 500}, - [SPECIES_WAILORD] = {gMonShinyPalette_Wailord, SPECIES_WAILORD + 500}, - [SPECIES_SKITTY] = {gMonShinyPalette_Skitty, SPECIES_SKITTY + 500}, - [SPECIES_DELCATTY] = {gMonShinyPalette_Delcatty, SPECIES_DELCATTY + 500}, - [SPECIES_KECLEON] = {gMonShinyPalette_Kecleon, SPECIES_KECLEON + 500}, - [SPECIES_BALTOY] = {gMonShinyPalette_Baltoy, SPECIES_BALTOY + 500}, - [SPECIES_CLAYDOL] = {gMonShinyPalette_Claydol, SPECIES_CLAYDOL + 500}, - [SPECIES_NOSEPASS] = {gMonShinyPalette_Nosepass, SPECIES_NOSEPASS + 500}, - [SPECIES_TORKOAL] = {gMonShinyPalette_Torkoal, SPECIES_TORKOAL + 500}, - [SPECIES_SABLEYE] = {gMonShinyPalette_Sableye, SPECIES_SABLEYE + 500}, - [SPECIES_BARBOACH] = {gMonShinyPalette_Barboach, SPECIES_BARBOACH + 500}, - [SPECIES_WHISCASH] = {gMonShinyPalette_Whiscash, SPECIES_WHISCASH + 500}, - [SPECIES_LUVDISC] = {gMonShinyPalette_Luvdisc, SPECIES_LUVDISC + 500}, - [SPECIES_CORPHISH] = {gMonShinyPalette_Corphish, SPECIES_CORPHISH + 500}, - [SPECIES_CRAWDAUNT] = {gMonShinyPalette_Crawdaunt, SPECIES_CRAWDAUNT + 500}, - [SPECIES_FEEBAS] = {gMonShinyPalette_Feebas, SPECIES_FEEBAS + 500}, - [SPECIES_MILOTIC] = {gMonShinyPalette_Milotic, SPECIES_MILOTIC + 500}, - [SPECIES_CARVANHA] = {gMonShinyPalette_Carvanha, SPECIES_CARVANHA + 500}, - [SPECIES_SHARPEDO] = {gMonShinyPalette_Sharpedo, SPECIES_SHARPEDO + 500}, - [SPECIES_TRAPINCH] = {gMonShinyPalette_Trapinch, SPECIES_TRAPINCH + 500}, - [SPECIES_VIBRAVA] = {gMonShinyPalette_Vibrava, SPECIES_VIBRAVA + 500}, - [SPECIES_FLYGON] = {gMonShinyPalette_Flygon, SPECIES_FLYGON + 500}, - [SPECIES_MAKUHITA] = {gMonShinyPalette_Makuhita, SPECIES_MAKUHITA + 500}, - [SPECIES_HARIYAMA] = {gMonShinyPalette_Hariyama, SPECIES_HARIYAMA + 500}, - [SPECIES_ELECTRIKE] = {gMonShinyPalette_Electrike, SPECIES_ELECTRIKE + 500}, - [SPECIES_MANECTRIC] = {gMonShinyPalette_Manectric, SPECIES_MANECTRIC + 500}, - [SPECIES_NUMEL] = {gMonShinyPalette_Numel, SPECIES_NUMEL + 500}, - [SPECIES_CAMERUPT] = {gMonShinyPalette_Camerupt, SPECIES_CAMERUPT + 500}, - [SPECIES_SPHEAL] = {gMonShinyPalette_Spheal, SPECIES_SPHEAL + 500}, - [SPECIES_SEALEO] = {gMonShinyPalette_Sealeo, SPECIES_SEALEO + 500}, - [SPECIES_WALREIN] = {gMonShinyPalette_Walrein, SPECIES_WALREIN + 500}, - [SPECIES_CACNEA] = {gMonShinyPalette_Cacnea, SPECIES_CACNEA + 500}, - [SPECIES_CACTURNE] = {gMonShinyPalette_Cacturne, SPECIES_CACTURNE + 500}, - [SPECIES_SNORUNT] = {gMonShinyPalette_Snorunt, SPECIES_SNORUNT + 500}, - [SPECIES_GLALIE] = {gMonShinyPalette_Glalie, SPECIES_GLALIE + 500}, - [SPECIES_LUNATONE] = {gMonShinyPalette_Lunatone, SPECIES_LUNATONE + 500}, - [SPECIES_SOLROCK] = {gMonShinyPalette_Solrock, SPECIES_SOLROCK + 500}, - [SPECIES_AZURILL] = {gMonShinyPalette_Azurill, SPECIES_AZURILL + 500}, - [SPECIES_SPOINK] = {gMonShinyPalette_Spoink, SPECIES_SPOINK + 500}, - [SPECIES_GRUMPIG] = {gMonShinyPalette_Grumpig, SPECIES_GRUMPIG + 500}, - [SPECIES_PLUSLE] = {gMonShinyPalette_Plusle, SPECIES_PLUSLE + 500}, - [SPECIES_MINUN] = {gMonShinyPalette_Minun, SPECIES_MINUN + 500}, - [SPECIES_MAWILE] = {gMonShinyPalette_Mawile, SPECIES_MAWILE + 500}, - [SPECIES_MEDITITE] = {gMonShinyPalette_Meditite, SPECIES_MEDITITE + 500}, - [SPECIES_MEDICHAM] = {gMonShinyPalette_Medicham, SPECIES_MEDICHAM + 500}, - [SPECIES_SWABLU] = {gMonShinyPalette_Swablu, SPECIES_SWABLU + 500}, - [SPECIES_ALTARIA] = {gMonShinyPalette_Altaria, SPECIES_ALTARIA + 500}, - [SPECIES_WYNAUT] = {gMonShinyPalette_Wynaut, SPECIES_WYNAUT + 500}, - [SPECIES_DUSKULL] = {gMonShinyPalette_Duskull, SPECIES_DUSKULL + 500}, - [SPECIES_DUSCLOPS] = {gMonShinyPalette_Dusclops, SPECIES_DUSCLOPS + 500}, - [SPECIES_ROSELIA] = {gMonShinyPalette_Roselia, SPECIES_ROSELIA + 500}, - [SPECIES_SLAKOTH] = {gMonShinyPalette_Slakoth, SPECIES_SLAKOTH + 500}, - [SPECIES_VIGOROTH] = {gMonShinyPalette_Vigoroth, SPECIES_VIGOROTH + 500}, - [SPECIES_SLAKING] = {gMonShinyPalette_Slaking, SPECIES_SLAKING + 500}, - [SPECIES_GULPIN] = {gMonShinyPalette_Gulpin, SPECIES_GULPIN + 500}, - [SPECIES_SWALOT] = {gMonShinyPalette_Swalot, SPECIES_SWALOT + 500}, - [SPECIES_TROPIUS] = {gMonShinyPalette_Tropius, SPECIES_TROPIUS + 500}, - [SPECIES_WHISMUR] = {gMonShinyPalette_Whismur, SPECIES_WHISMUR + 500}, - [SPECIES_LOUDRED] = {gMonShinyPalette_Loudred, SPECIES_LOUDRED + 500}, - [SPECIES_EXPLOUD] = {gMonShinyPalette_Exploud, SPECIES_EXPLOUD + 500}, - [SPECIES_CLAMPERL] = {gMonShinyPalette_Clamperl, SPECIES_CLAMPERL + 500}, - [SPECIES_HUNTAIL] = {gMonShinyPalette_Huntail, SPECIES_HUNTAIL + 500}, - [SPECIES_GOREBYSS] = {gMonShinyPalette_Gorebyss, SPECIES_GOREBYSS + 500}, - [SPECIES_ABSOL] = {gMonShinyPalette_Absol, SPECIES_ABSOL + 500}, - [SPECIES_SHUPPET] = {gMonShinyPalette_Shuppet, SPECIES_SHUPPET + 500}, - [SPECIES_BANETTE] = {gMonShinyPalette_Banette, SPECIES_BANETTE + 500}, - [SPECIES_SEVIPER] = {gMonShinyPalette_Seviper, SPECIES_SEVIPER + 500}, - [SPECIES_ZANGOOSE] = {gMonShinyPalette_Zangoose, SPECIES_ZANGOOSE + 500}, - [SPECIES_RELICANTH] = {gMonShinyPalette_Relicanth, SPECIES_RELICANTH + 500}, - [SPECIES_ARON] = {gMonShinyPalette_Aron, SPECIES_ARON + 500}, - [SPECIES_LAIRON] = {gMonShinyPalette_Lairon, SPECIES_LAIRON + 500}, - [SPECIES_AGGRON] = {gMonShinyPalette_Aggron, SPECIES_AGGRON + 500}, - [SPECIES_CASTFORM] = {gMonShinyPalette_Castform, SPECIES_CASTFORM + 500}, - [SPECIES_VOLBEAT] = {gMonShinyPalette_Volbeat, SPECIES_VOLBEAT + 500}, - [SPECIES_ILLUMISE] = {gMonShinyPalette_Illumise, SPECIES_ILLUMISE + 500}, - [SPECIES_LILEEP] = {gMonShinyPalette_Lileep, SPECIES_LILEEP + 500}, - [SPECIES_CRADILY] = {gMonShinyPalette_Cradily, SPECIES_CRADILY + 500}, - [SPECIES_ANORITH] = {gMonShinyPalette_Anorith, SPECIES_ANORITH + 500}, - [SPECIES_ARMALDO] = {gMonShinyPalette_Armaldo, SPECIES_ARMALDO + 500}, - [SPECIES_RALTS] = {gMonShinyPalette_Ralts, SPECIES_RALTS + 500}, - [SPECIES_KIRLIA] = {gMonShinyPalette_Kirlia, SPECIES_KIRLIA + 500}, - [SPECIES_GARDEVOIR] = {gMonShinyPalette_Gardevoir, SPECIES_GARDEVOIR + 500}, - [SPECIES_BAGON] = {gMonShinyPalette_Bagon, SPECIES_BAGON + 500}, - [SPECIES_SHELGON] = {gMonShinyPalette_Shelgon, SPECIES_SHELGON + 500}, - [SPECIES_SALAMENCE] = {gMonShinyPalette_Salamence, SPECIES_SALAMENCE + 500}, - [SPECIES_BELDUM] = {gMonShinyPalette_Beldum, SPECIES_BELDUM + 500}, - [SPECIES_METANG] = {gMonShinyPalette_Metang, SPECIES_METANG + 500}, - [SPECIES_METAGROSS] = {gMonShinyPalette_Metagross, SPECIES_METAGROSS + 500}, - [SPECIES_REGIROCK] = {gMonShinyPalette_Regirock, SPECIES_REGIROCK + 500}, - [SPECIES_REGICE] = {gMonShinyPalette_Regice, SPECIES_REGICE + 500}, - [SPECIES_REGISTEEL] = {gMonShinyPalette_Registeel, SPECIES_REGISTEEL + 500}, - [SPECIES_KYOGRE] = {gMonShinyPalette_Kyogre, SPECIES_KYOGRE + 500}, - [SPECIES_GROUDON] = {gMonShinyPalette_Groudon, SPECIES_GROUDON + 500}, - [SPECIES_RAYQUAZA] = {gMonShinyPalette_Rayquaza, SPECIES_RAYQUAZA + 500}, - [SPECIES_LATIAS] = {gMonShinyPalette_Latias, SPECIES_LATIAS + 500}, - [SPECIES_LATIOS] = {gMonShinyPalette_Latios, SPECIES_LATIOS + 500}, - [SPECIES_JIRACHI] = {gMonShinyPalette_Jirachi, SPECIES_JIRACHI + 500}, - [SPECIES_DEOXYS] = {gMonShinyPalette_Deoxys, SPECIES_DEOXYS + 500}, - [SPECIES_CHIMECHO] = {gMonShinyPalette_Chimecho, SPECIES_CHIMECHO + 500}, - [SPECIES_EGG] = {gMonPalette_Egg, SPECIES_EGG + 500}, - [SPECIES_UNOWN_B] = {gMonShinyPalette_Unown, SPECIES_UNOWN_B + 500}, - [SPECIES_UNOWN_C] = {gMonShinyPalette_Unown, SPECIES_UNOWN_C + 500}, - [SPECIES_UNOWN_D] = {gMonShinyPalette_Unown, SPECIES_UNOWN_D + 500}, - [SPECIES_UNOWN_E] = {gMonShinyPalette_Unown, SPECIES_UNOWN_E + 500}, - [SPECIES_UNOWN_F] = {gMonShinyPalette_Unown, SPECIES_UNOWN_F + 500}, - [SPECIES_UNOWN_G] = {gMonShinyPalette_Unown, SPECIES_UNOWN_G + 500}, - [SPECIES_UNOWN_H] = {gMonShinyPalette_Unown, SPECIES_UNOWN_H + 500}, - [SPECIES_UNOWN_I] = {gMonShinyPalette_Unown, SPECIES_UNOWN_I + 500}, - [SPECIES_UNOWN_J] = {gMonShinyPalette_Unown, SPECIES_UNOWN_J + 500}, - [SPECIES_UNOWN_K] = {gMonShinyPalette_Unown, SPECIES_UNOWN_K + 500}, - [SPECIES_UNOWN_L] = {gMonShinyPalette_Unown, SPECIES_UNOWN_L + 500}, - [SPECIES_UNOWN_M] = {gMonShinyPalette_Unown, SPECIES_UNOWN_M + 500}, - [SPECIES_UNOWN_N] = {gMonShinyPalette_Unown, SPECIES_UNOWN_N + 500}, - [SPECIES_UNOWN_O] = {gMonShinyPalette_Unown, SPECIES_UNOWN_O + 500}, - [SPECIES_UNOWN_P] = {gMonShinyPalette_Unown, SPECIES_UNOWN_P + 500}, - [SPECIES_UNOWN_Q] = {gMonShinyPalette_Unown, SPECIES_UNOWN_Q + 500}, - [SPECIES_UNOWN_R] = {gMonShinyPalette_Unown, SPECIES_UNOWN_R + 500}, - [SPECIES_UNOWN_S] = {gMonShinyPalette_Unown, SPECIES_UNOWN_S + 500}, - [SPECIES_UNOWN_T] = {gMonShinyPalette_Unown, SPECIES_UNOWN_T + 500}, - [SPECIES_UNOWN_U] = {gMonShinyPalette_Unown, SPECIES_UNOWN_U + 500}, - [SPECIES_UNOWN_V] = {gMonShinyPalette_Unown, SPECIES_UNOWN_V + 500}, - [SPECIES_UNOWN_W] = {gMonShinyPalette_Unown, SPECIES_UNOWN_W + 500}, - [SPECIES_UNOWN_X] = {gMonShinyPalette_Unown, SPECIES_UNOWN_X + 500}, - [SPECIES_UNOWN_Y] = {gMonShinyPalette_Unown, SPECIES_UNOWN_Y + 500}, - [SPECIES_UNOWN_Z] = {gMonShinyPalette_Unown, SPECIES_UNOWN_Z + 500}, - [SPECIES_UNOWN_EMARK] = {gMonShinyPalette_Unown, SPECIES_UNOWN_EMARK + 500}, - [SPECIES_UNOWN_QMARK] = {gMonShinyPalette_Unown, SPECIES_UNOWN_QMARK + 500}, + SPECIES_SHINY_PAL(NONE, gMonShinyPalette_CircledQuestionMark), + SPECIES_SHINY_PAL(BULBASAUR, gMonShinyPalette_Bulbasaur), + SPECIES_SHINY_PAL(IVYSAUR, gMonShinyPalette_Ivysaur), + SPECIES_SHINY_PAL(VENUSAUR, gMonShinyPalette_Venusaur), + SPECIES_SHINY_PAL(CHARMANDER, gMonShinyPalette_Charmander), + SPECIES_SHINY_PAL(CHARMELEON, gMonShinyPalette_Charmeleon), + SPECIES_SHINY_PAL(CHARIZARD, gMonShinyPalette_Charizard), + SPECIES_SHINY_PAL(SQUIRTLE, gMonShinyPalette_Squirtle), + SPECIES_SHINY_PAL(WARTORTLE, gMonShinyPalette_Wartortle), + SPECIES_SHINY_PAL(BLASTOISE, gMonShinyPalette_Blastoise), + SPECIES_SHINY_PAL(CATERPIE, gMonShinyPalette_Caterpie), + SPECIES_SHINY_PAL(METAPOD, gMonShinyPalette_Metapod), + SPECIES_SHINY_PAL(BUTTERFREE, gMonShinyPalette_Butterfree), + SPECIES_SHINY_PAL(WEEDLE, gMonShinyPalette_Weedle), + SPECIES_SHINY_PAL(KAKUNA, gMonShinyPalette_Kakuna), + SPECIES_SHINY_PAL(BEEDRILL, gMonShinyPalette_Beedrill), + SPECIES_SHINY_PAL(PIDGEY, gMonShinyPalette_Pidgey), + SPECIES_SHINY_PAL(PIDGEOTTO, gMonShinyPalette_Pidgeotto), + SPECIES_SHINY_PAL(PIDGEOT, gMonShinyPalette_Pidgeot), + SPECIES_SHINY_PAL(RATTATA, gMonShinyPalette_Rattata), + SPECIES_SHINY_PAL(RATICATE, gMonShinyPalette_Raticate), + SPECIES_SHINY_PAL(SPEAROW, gMonShinyPalette_Spearow), + SPECIES_SHINY_PAL(FEAROW, gMonShinyPalette_Fearow), + SPECIES_SHINY_PAL(EKANS, gMonShinyPalette_Ekans), + SPECIES_SHINY_PAL(ARBOK, gMonShinyPalette_Arbok), + SPECIES_SHINY_PAL(PIKACHU, gMonShinyPalette_Pikachu), + SPECIES_SHINY_PAL(RAICHU, gMonShinyPalette_Raichu), + SPECIES_SHINY_PAL(SANDSHREW, gMonShinyPalette_Sandshrew), + SPECIES_SHINY_PAL(SANDSLASH, gMonShinyPalette_Sandslash), + SPECIES_SHINY_PAL(NIDORAN_F, gMonShinyPalette_NidoranF), + SPECIES_SHINY_PAL(NIDORINA, gMonShinyPalette_Nidorina), + SPECIES_SHINY_PAL(NIDOQUEEN, gMonShinyPalette_Nidoqueen), + SPECIES_SHINY_PAL(NIDORAN_M, gMonShinyPalette_NidoranM), + SPECIES_SHINY_PAL(NIDORINO, gMonShinyPalette_Nidorino), + SPECIES_SHINY_PAL(NIDOKING, gMonShinyPalette_Nidoking), + SPECIES_SHINY_PAL(CLEFAIRY, gMonShinyPalette_Clefairy), + SPECIES_SHINY_PAL(CLEFABLE, gMonShinyPalette_Clefable), + SPECIES_SHINY_PAL(VULPIX, gMonShinyPalette_Vulpix), + SPECIES_SHINY_PAL(NINETALES, gMonShinyPalette_Ninetales), + SPECIES_SHINY_PAL(JIGGLYPUFF, gMonShinyPalette_Jigglypuff), + SPECIES_SHINY_PAL(WIGGLYTUFF, gMonShinyPalette_Wigglytuff), + SPECIES_SHINY_PAL(ZUBAT, gMonShinyPalette_Zubat), + SPECIES_SHINY_PAL(GOLBAT, gMonShinyPalette_Golbat), + SPECIES_SHINY_PAL(ODDISH, gMonShinyPalette_Oddish), + SPECIES_SHINY_PAL(GLOOM, gMonShinyPalette_Gloom), + SPECIES_SHINY_PAL(VILEPLUME, gMonShinyPalette_Vileplume), + SPECIES_SHINY_PAL(PARAS, gMonShinyPalette_Paras), + SPECIES_SHINY_PAL(PARASECT, gMonShinyPalette_Parasect), + SPECIES_SHINY_PAL(VENONAT, gMonShinyPalette_Venonat), + SPECIES_SHINY_PAL(VENOMOTH, gMonShinyPalette_Venomoth), + SPECIES_SHINY_PAL(DIGLETT, gMonShinyPalette_Diglett), + SPECIES_SHINY_PAL(DUGTRIO, gMonShinyPalette_Dugtrio), + SPECIES_SHINY_PAL(MEOWTH, gMonShinyPalette_Meowth), + SPECIES_SHINY_PAL(PERSIAN, gMonShinyPalette_Persian), + SPECIES_SHINY_PAL(PSYDUCK, gMonShinyPalette_Psyduck), + SPECIES_SHINY_PAL(GOLDUCK, gMonShinyPalette_Golduck), + SPECIES_SHINY_PAL(MANKEY, gMonShinyPalette_Mankey), + SPECIES_SHINY_PAL(PRIMEAPE, gMonShinyPalette_Primeape), + SPECIES_SHINY_PAL(GROWLITHE, gMonShinyPalette_Growlithe), + SPECIES_SHINY_PAL(ARCANINE, gMonShinyPalette_Arcanine), + SPECIES_SHINY_PAL(POLIWAG, gMonShinyPalette_Poliwag), + SPECIES_SHINY_PAL(POLIWHIRL, gMonShinyPalette_Poliwhirl), + SPECIES_SHINY_PAL(POLIWRATH, gMonShinyPalette_Poliwrath), + SPECIES_SHINY_PAL(ABRA, gMonShinyPalette_Abra), + SPECIES_SHINY_PAL(KADABRA, gMonShinyPalette_Kadabra), + SPECIES_SHINY_PAL(ALAKAZAM, gMonShinyPalette_Alakazam), + SPECIES_SHINY_PAL(MACHOP, gMonShinyPalette_Machop), + SPECIES_SHINY_PAL(MACHOKE, gMonShinyPalette_Machoke), + SPECIES_SHINY_PAL(MACHAMP, gMonShinyPalette_Machamp), + SPECIES_SHINY_PAL(BELLSPROUT, gMonShinyPalette_Bellsprout), + SPECIES_SHINY_PAL(WEEPINBELL, gMonShinyPalette_Weepinbell), + SPECIES_SHINY_PAL(VICTREEBEL, gMonShinyPalette_Victreebel), + SPECIES_SHINY_PAL(TENTACOOL, gMonShinyPalette_Tentacool), + SPECIES_SHINY_PAL(TENTACRUEL, gMonShinyPalette_Tentacruel), + SPECIES_SHINY_PAL(GEODUDE, gMonShinyPalette_Geodude), + SPECIES_SHINY_PAL(GRAVELER, gMonShinyPalette_Graveler), + SPECIES_SHINY_PAL(GOLEM, gMonShinyPalette_Golem), + SPECIES_SHINY_PAL(PONYTA, gMonShinyPalette_Ponyta), + SPECIES_SHINY_PAL(RAPIDASH, gMonShinyPalette_Rapidash), + SPECIES_SHINY_PAL(SLOWPOKE, gMonShinyPalette_Slowpoke), + SPECIES_SHINY_PAL(SLOWBRO, gMonShinyPalette_Slowbro), + SPECIES_SHINY_PAL(MAGNEMITE, gMonShinyPalette_Magnemite), + SPECIES_SHINY_PAL(MAGNETON, gMonShinyPalette_Magneton), + SPECIES_SHINY_PAL(FARFETCHD, gMonShinyPalette_Farfetchd), + SPECIES_SHINY_PAL(DODUO, gMonShinyPalette_Doduo), + SPECIES_SHINY_PAL(DODRIO, gMonShinyPalette_Dodrio), + SPECIES_SHINY_PAL(SEEL, gMonShinyPalette_Seel), + SPECIES_SHINY_PAL(DEWGONG, gMonShinyPalette_Dewgong), + SPECIES_SHINY_PAL(GRIMER, gMonShinyPalette_Grimer), + SPECIES_SHINY_PAL(MUK, gMonShinyPalette_Muk), + SPECIES_SHINY_PAL(SHELLDER, gMonShinyPalette_Shellder), + SPECIES_SHINY_PAL(CLOYSTER, gMonShinyPalette_Cloyster), + SPECIES_SHINY_PAL(GASTLY, gMonShinyPalette_Gastly), + SPECIES_SHINY_PAL(HAUNTER, gMonShinyPalette_Haunter), + SPECIES_SHINY_PAL(GENGAR, gMonShinyPalette_Gengar), + SPECIES_SHINY_PAL(ONIX, gMonShinyPalette_Onix), + SPECIES_SHINY_PAL(DROWZEE, gMonShinyPalette_Drowzee), + SPECIES_SHINY_PAL(HYPNO, gMonShinyPalette_Hypno), + SPECIES_SHINY_PAL(KRABBY, gMonShinyPalette_Krabby), + SPECIES_SHINY_PAL(KINGLER, gMonShinyPalette_Kingler), + SPECIES_SHINY_PAL(VOLTORB, gMonShinyPalette_Voltorb), + SPECIES_SHINY_PAL(ELECTRODE, gMonShinyPalette_Electrode), + SPECIES_SHINY_PAL(EXEGGCUTE, gMonShinyPalette_Exeggcute), + SPECIES_SHINY_PAL(EXEGGUTOR, gMonShinyPalette_Exeggutor), + SPECIES_SHINY_PAL(CUBONE, gMonShinyPalette_Cubone), + SPECIES_SHINY_PAL(MAROWAK, gMonShinyPalette_Marowak), + SPECIES_SHINY_PAL(HITMONLEE, gMonShinyPalette_Hitmonlee), + SPECIES_SHINY_PAL(HITMONCHAN, gMonShinyPalette_Hitmonchan), + SPECIES_SHINY_PAL(LICKITUNG, gMonShinyPalette_Lickitung), + SPECIES_SHINY_PAL(KOFFING, gMonShinyPalette_Koffing), + SPECIES_SHINY_PAL(WEEZING, gMonShinyPalette_Weezing), + SPECIES_SHINY_PAL(RHYHORN, gMonShinyPalette_Rhyhorn), + SPECIES_SHINY_PAL(RHYDON, gMonShinyPalette_Rhydon), + SPECIES_SHINY_PAL(CHANSEY, gMonShinyPalette_Chansey), + SPECIES_SHINY_PAL(TANGELA, gMonShinyPalette_Tangela), + SPECIES_SHINY_PAL(KANGASKHAN, gMonShinyPalette_Kangaskhan), + SPECIES_SHINY_PAL(HORSEA, gMonShinyPalette_Horsea), + SPECIES_SHINY_PAL(SEADRA, gMonShinyPalette_Seadra), + SPECIES_SHINY_PAL(GOLDEEN, gMonShinyPalette_Goldeen), + SPECIES_SHINY_PAL(SEAKING, gMonShinyPalette_Seaking), + SPECIES_SHINY_PAL(STARYU, gMonShinyPalette_Staryu), + SPECIES_SHINY_PAL(STARMIE, gMonShinyPalette_Starmie), + SPECIES_SHINY_PAL(MR_MIME, gMonShinyPalette_Mrmime), + SPECIES_SHINY_PAL(SCYTHER, gMonShinyPalette_Scyther), + SPECIES_SHINY_PAL(JYNX, gMonShinyPalette_Jynx), + SPECIES_SHINY_PAL(ELECTABUZZ, gMonShinyPalette_Electabuzz), + SPECIES_SHINY_PAL(MAGMAR, gMonShinyPalette_Magmar), + SPECIES_SHINY_PAL(PINSIR, gMonShinyPalette_Pinsir), + SPECIES_SHINY_PAL(TAUROS, gMonShinyPalette_Tauros), + SPECIES_SHINY_PAL(MAGIKARP, gMonShinyPalette_Magikarp), + SPECIES_SHINY_PAL(GYARADOS, gMonShinyPalette_Gyarados), + SPECIES_SHINY_PAL(LAPRAS, gMonShinyPalette_Lapras), + SPECIES_SHINY_PAL(DITTO, gMonShinyPalette_Ditto), + SPECIES_SHINY_PAL(EEVEE, gMonShinyPalette_Eevee), + SPECIES_SHINY_PAL(VAPOREON, gMonShinyPalette_Vaporeon), + SPECIES_SHINY_PAL(JOLTEON, gMonShinyPalette_Jolteon), + SPECIES_SHINY_PAL(FLAREON, gMonShinyPalette_Flareon), + SPECIES_SHINY_PAL(PORYGON, gMonShinyPalette_Porygon), + SPECIES_SHINY_PAL(OMANYTE, gMonShinyPalette_Omanyte), + SPECIES_SHINY_PAL(OMASTAR, gMonShinyPalette_Omastar), + SPECIES_SHINY_PAL(KABUTO, gMonShinyPalette_Kabuto), + SPECIES_SHINY_PAL(KABUTOPS, gMonShinyPalette_Kabutops), + SPECIES_SHINY_PAL(AERODACTYL, gMonShinyPalette_Aerodactyl), + SPECIES_SHINY_PAL(SNORLAX, gMonShinyPalette_Snorlax), + SPECIES_SHINY_PAL(ARTICUNO, gMonShinyPalette_Articuno), + SPECIES_SHINY_PAL(ZAPDOS, gMonShinyPalette_Zapdos), + SPECIES_SHINY_PAL(MOLTRES, gMonShinyPalette_Moltres), + SPECIES_SHINY_PAL(DRATINI, gMonShinyPalette_Dratini), + SPECIES_SHINY_PAL(DRAGONAIR, gMonShinyPalette_Dragonair), + SPECIES_SHINY_PAL(DRAGONITE, gMonShinyPalette_Dragonite), + SPECIES_SHINY_PAL(MEWTWO, gMonShinyPalette_Mewtwo), + SPECIES_SHINY_PAL(MEW, gMonShinyPalette_Mew), + SPECIES_SHINY_PAL(CHIKORITA, gMonShinyPalette_Chikorita), + SPECIES_SHINY_PAL(BAYLEEF, gMonShinyPalette_Bayleef), + SPECIES_SHINY_PAL(MEGANIUM, gMonShinyPalette_Meganium), + SPECIES_SHINY_PAL(CYNDAQUIL, gMonShinyPalette_Cyndaquil), + SPECIES_SHINY_PAL(QUILAVA, gMonShinyPalette_Quilava), + SPECIES_SHINY_PAL(TYPHLOSION, gMonShinyPalette_Typhlosion), + SPECIES_SHINY_PAL(TOTODILE, gMonShinyPalette_Totodile), + SPECIES_SHINY_PAL(CROCONAW, gMonShinyPalette_Croconaw), + SPECIES_SHINY_PAL(FERALIGATR, gMonShinyPalette_Feraligatr), + SPECIES_SHINY_PAL(SENTRET, gMonShinyPalette_Sentret), + SPECIES_SHINY_PAL(FURRET, gMonShinyPalette_Furret), + SPECIES_SHINY_PAL(HOOTHOOT, gMonShinyPalette_Hoothoot), + SPECIES_SHINY_PAL(NOCTOWL, gMonShinyPalette_Noctowl), + SPECIES_SHINY_PAL(LEDYBA, gMonShinyPalette_Ledyba), + SPECIES_SHINY_PAL(LEDIAN, gMonShinyPalette_Ledian), + SPECIES_SHINY_PAL(SPINARAK, gMonShinyPalette_Spinarak), + SPECIES_SHINY_PAL(ARIADOS, gMonShinyPalette_Ariados), + SPECIES_SHINY_PAL(CROBAT, gMonShinyPalette_Crobat), + SPECIES_SHINY_PAL(CHINCHOU, gMonShinyPalette_Chinchou), + SPECIES_SHINY_PAL(LANTURN, gMonShinyPalette_Lanturn), + SPECIES_SHINY_PAL(PICHU, gMonShinyPalette_Pichu), + SPECIES_SHINY_PAL(CLEFFA, gMonShinyPalette_Cleffa), + SPECIES_SHINY_PAL(IGGLYBUFF, gMonShinyPalette_Igglybuff), + SPECIES_SHINY_PAL(TOGEPI, gMonShinyPalette_Togepi), + SPECIES_SHINY_PAL(TOGETIC, gMonShinyPalette_Togetic), + SPECIES_SHINY_PAL(NATU, gMonShinyPalette_Natu), + SPECIES_SHINY_PAL(XATU, gMonShinyPalette_Xatu), + SPECIES_SHINY_PAL(MAREEP, gMonShinyPalette_Mareep), + SPECIES_SHINY_PAL(FLAAFFY, gMonShinyPalette_Flaaffy), + SPECIES_SHINY_PAL(AMPHAROS, gMonShinyPalette_Ampharos), + SPECIES_SHINY_PAL(BELLOSSOM, gMonShinyPalette_Bellossom), + SPECIES_SHINY_PAL(MARILL, gMonShinyPalette_Marill), + SPECIES_SHINY_PAL(AZUMARILL, gMonShinyPalette_Azumarill), + SPECIES_SHINY_PAL(SUDOWOODO, gMonShinyPalette_Sudowoodo), + SPECIES_SHINY_PAL(POLITOED, gMonShinyPalette_Politoed), + SPECIES_SHINY_PAL(HOPPIP, gMonShinyPalette_Hoppip), + SPECIES_SHINY_PAL(SKIPLOOM, gMonShinyPalette_Skiploom), + SPECIES_SHINY_PAL(JUMPLUFF, gMonShinyPalette_Jumpluff), + SPECIES_SHINY_PAL(AIPOM, gMonShinyPalette_Aipom), + SPECIES_SHINY_PAL(SUNKERN, gMonShinyPalette_Sunkern), + SPECIES_SHINY_PAL(SUNFLORA, gMonShinyPalette_Sunflora), + SPECIES_SHINY_PAL(YANMA, gMonShinyPalette_Yanma), + SPECIES_SHINY_PAL(WOOPER, gMonShinyPalette_Wooper), + SPECIES_SHINY_PAL(QUAGSIRE, gMonShinyPalette_Quagsire), + SPECIES_SHINY_PAL(ESPEON, gMonShinyPalette_Espeon), + SPECIES_SHINY_PAL(UMBREON, gMonShinyPalette_Umbreon), + SPECIES_SHINY_PAL(MURKROW, gMonShinyPalette_Murkrow), + SPECIES_SHINY_PAL(SLOWKING, gMonShinyPalette_Slowking), + SPECIES_SHINY_PAL(MISDREAVUS, gMonShinyPalette_Misdreavus), + SPECIES_SHINY_PAL(UNOWN, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(WOBBUFFET, gMonShinyPalette_Wobbuffet), + SPECIES_SHINY_PAL(GIRAFARIG, gMonShinyPalette_Girafarig), + SPECIES_SHINY_PAL(PINECO, gMonShinyPalette_Pineco), + SPECIES_SHINY_PAL(FORRETRESS, gMonShinyPalette_Forretress), + SPECIES_SHINY_PAL(DUNSPARCE, gMonShinyPalette_Dunsparce), + SPECIES_SHINY_PAL(GLIGAR, gMonShinyPalette_Gligar), + SPECIES_SHINY_PAL(STEELIX, gMonShinyPalette_Steelix), + SPECIES_SHINY_PAL(SNUBBULL, gMonShinyPalette_Snubbull), + SPECIES_SHINY_PAL(GRANBULL, gMonShinyPalette_Granbull), + SPECIES_SHINY_PAL(QWILFISH, gMonShinyPalette_Qwilfish), + SPECIES_SHINY_PAL(SCIZOR, gMonShinyPalette_Scizor), + SPECIES_SHINY_PAL(SHUCKLE, gMonShinyPalette_Shuckle), + SPECIES_SHINY_PAL(HERACROSS, gMonShinyPalette_Heracross), + SPECIES_SHINY_PAL(SNEASEL, gMonShinyPalette_Sneasel), + SPECIES_SHINY_PAL(TEDDIURSA, gMonShinyPalette_Teddiursa), + SPECIES_SHINY_PAL(URSARING, gMonShinyPalette_Ursaring), + SPECIES_SHINY_PAL(SLUGMA, gMonShinyPalette_Slugma), + SPECIES_SHINY_PAL(MAGCARGO, gMonShinyPalette_Magcargo), + SPECIES_SHINY_PAL(SWINUB, gMonShinyPalette_Swinub), + SPECIES_SHINY_PAL(PILOSWINE, gMonShinyPalette_Piloswine), + SPECIES_SHINY_PAL(CORSOLA, gMonShinyPalette_Corsola), + SPECIES_SHINY_PAL(REMORAID, gMonShinyPalette_Remoraid), + SPECIES_SHINY_PAL(OCTILLERY, gMonShinyPalette_Octillery), + SPECIES_SHINY_PAL(DELIBIRD, gMonShinyPalette_Delibird), + SPECIES_SHINY_PAL(MANTINE, gMonShinyPalette_Mantine), + SPECIES_SHINY_PAL(SKARMORY, gMonShinyPalette_Skarmory), + SPECIES_SHINY_PAL(HOUNDOUR, gMonShinyPalette_Houndour), + SPECIES_SHINY_PAL(HOUNDOOM, gMonShinyPalette_Houndoom), + SPECIES_SHINY_PAL(KINGDRA, gMonShinyPalette_Kingdra), + SPECIES_SHINY_PAL(PHANPY, gMonShinyPalette_Phanpy), + SPECIES_SHINY_PAL(DONPHAN, gMonShinyPalette_Donphan), + SPECIES_SHINY_PAL(PORYGON2, gMonShinyPalette_Porygon2), + SPECIES_SHINY_PAL(STANTLER, gMonShinyPalette_Stantler), + SPECIES_SHINY_PAL(SMEARGLE, gMonShinyPalette_Smeargle), + SPECIES_SHINY_PAL(TYROGUE, gMonShinyPalette_Tyrogue), + SPECIES_SHINY_PAL(HITMONTOP, gMonShinyPalette_Hitmontop), + SPECIES_SHINY_PAL(SMOOCHUM, gMonShinyPalette_Smoochum), + SPECIES_SHINY_PAL(ELEKID, gMonShinyPalette_Elekid), + SPECIES_SHINY_PAL(MAGBY, gMonShinyPalette_Magby), + SPECIES_SHINY_PAL(MILTANK, gMonShinyPalette_Miltank), + SPECIES_SHINY_PAL(BLISSEY, gMonShinyPalette_Blissey), + SPECIES_SHINY_PAL(RAIKOU, gMonShinyPalette_Raikou), + SPECIES_SHINY_PAL(ENTEI, gMonShinyPalette_Entei), + SPECIES_SHINY_PAL(SUICUNE, gMonShinyPalette_Suicune), + SPECIES_SHINY_PAL(LARVITAR, gMonShinyPalette_Larvitar), + SPECIES_SHINY_PAL(PUPITAR, gMonShinyPalette_Pupitar), + SPECIES_SHINY_PAL(TYRANITAR, gMonShinyPalette_Tyranitar), + SPECIES_SHINY_PAL(LUGIA, gMonShinyPalette_Lugia), + SPECIES_SHINY_PAL(HO_OH, gMonShinyPalette_HoOh), + SPECIES_SHINY_PAL(CELEBI, gMonShinyPalette_Celebi), + SPECIES_SHINY_PAL(OLD_UNOWN_B, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_C, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_D, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_E, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_F, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_G, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_H, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_I, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_J, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_K, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_L, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_M, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_N, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_O, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_P, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_Q, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_R, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_S, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_T, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_U, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_V, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_W, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_X, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_Y, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_Z, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(TREECKO, gMonShinyPalette_Treecko), + SPECIES_SHINY_PAL(GROVYLE, gMonShinyPalette_Grovyle), + SPECIES_SHINY_PAL(SCEPTILE, gMonShinyPalette_Sceptile), + SPECIES_SHINY_PAL(TORCHIC, gMonShinyPalette_Torchic), + SPECIES_SHINY_PAL(COMBUSKEN, gMonShinyPalette_Combusken), + SPECIES_SHINY_PAL(BLAZIKEN, gMonShinyPalette_Blaziken), + SPECIES_SHINY_PAL(MUDKIP, gMonShinyPalette_Mudkip), + SPECIES_SHINY_PAL(MARSHTOMP, gMonShinyPalette_Marshtomp), + SPECIES_SHINY_PAL(SWAMPERT, gMonShinyPalette_Swampert), + SPECIES_SHINY_PAL(POOCHYENA, gMonShinyPalette_Poochyena), + SPECIES_SHINY_PAL(MIGHTYENA, gMonShinyPalette_Mightyena), + SPECIES_SHINY_PAL(ZIGZAGOON, gMonShinyPalette_Zigzagoon), + SPECIES_SHINY_PAL(LINOONE, gMonShinyPalette_Linoone), + SPECIES_SHINY_PAL(WURMPLE, gMonShinyPalette_Wurmple), + SPECIES_SHINY_PAL(SILCOON, gMonShinyPalette_Silcoon), + SPECIES_SHINY_PAL(BEAUTIFLY, gMonShinyPalette_Beautifly), + SPECIES_SHINY_PAL(CASCOON, gMonShinyPalette_Cascoon), + SPECIES_SHINY_PAL(DUSTOX, gMonShinyPalette_Dustox), + SPECIES_SHINY_PAL(LOTAD, gMonShinyPalette_Lotad), + SPECIES_SHINY_PAL(LOMBRE, gMonShinyPalette_Lombre), + SPECIES_SHINY_PAL(LUDICOLO, gMonShinyPalette_Ludicolo), + SPECIES_SHINY_PAL(SEEDOT, gMonShinyPalette_Seedot), + SPECIES_SHINY_PAL(NUZLEAF, gMonShinyPalette_Nuzleaf), + SPECIES_SHINY_PAL(SHIFTRY, gMonShinyPalette_Shiftry), + SPECIES_SHINY_PAL(NINCADA, gMonShinyPalette_Nincada), + SPECIES_SHINY_PAL(NINJASK, gMonShinyPalette_Ninjask), + SPECIES_SHINY_PAL(SHEDINJA, gMonShinyPalette_Shedinja), + SPECIES_SHINY_PAL(TAILLOW, gMonShinyPalette_Taillow), + SPECIES_SHINY_PAL(SWELLOW, gMonShinyPalette_Swellow), + SPECIES_SHINY_PAL(SHROOMISH, gMonShinyPalette_Shroomish), + SPECIES_SHINY_PAL(BRELOOM, gMonShinyPalette_Breloom), + SPECIES_SHINY_PAL(SPINDA, gMonShinyPalette_Spinda), + SPECIES_SHINY_PAL(WINGULL, gMonShinyPalette_Wingull), + SPECIES_SHINY_PAL(PELIPPER, gMonShinyPalette_Pelipper), + SPECIES_SHINY_PAL(SURSKIT, gMonShinyPalette_Surskit), + SPECIES_SHINY_PAL(MASQUERAIN, gMonShinyPalette_Masquerain), + SPECIES_SHINY_PAL(WAILMER, gMonShinyPalette_Wailmer), + SPECIES_SHINY_PAL(WAILORD, gMonShinyPalette_Wailord), + SPECIES_SHINY_PAL(SKITTY, gMonShinyPalette_Skitty), + SPECIES_SHINY_PAL(DELCATTY, gMonShinyPalette_Delcatty), + SPECIES_SHINY_PAL(KECLEON, gMonShinyPalette_Kecleon), + SPECIES_SHINY_PAL(BALTOY, gMonShinyPalette_Baltoy), + SPECIES_SHINY_PAL(CLAYDOL, gMonShinyPalette_Claydol), + SPECIES_SHINY_PAL(NOSEPASS, gMonShinyPalette_Nosepass), + SPECIES_SHINY_PAL(TORKOAL, gMonShinyPalette_Torkoal), + SPECIES_SHINY_PAL(SABLEYE, gMonShinyPalette_Sableye), + SPECIES_SHINY_PAL(BARBOACH, gMonShinyPalette_Barboach), + SPECIES_SHINY_PAL(WHISCASH, gMonShinyPalette_Whiscash), + SPECIES_SHINY_PAL(LUVDISC, gMonShinyPalette_Luvdisc), + SPECIES_SHINY_PAL(CORPHISH, gMonShinyPalette_Corphish), + SPECIES_SHINY_PAL(CRAWDAUNT, gMonShinyPalette_Crawdaunt), + SPECIES_SHINY_PAL(FEEBAS, gMonShinyPalette_Feebas), + SPECIES_SHINY_PAL(MILOTIC, gMonShinyPalette_Milotic), + SPECIES_SHINY_PAL(CARVANHA, gMonShinyPalette_Carvanha), + SPECIES_SHINY_PAL(SHARPEDO, gMonShinyPalette_Sharpedo), + SPECIES_SHINY_PAL(TRAPINCH, gMonShinyPalette_Trapinch), + SPECIES_SHINY_PAL(VIBRAVA, gMonShinyPalette_Vibrava), + SPECIES_SHINY_PAL(FLYGON, gMonShinyPalette_Flygon), + SPECIES_SHINY_PAL(MAKUHITA, gMonShinyPalette_Makuhita), + SPECIES_SHINY_PAL(HARIYAMA, gMonShinyPalette_Hariyama), + SPECIES_SHINY_PAL(ELECTRIKE, gMonShinyPalette_Electrike), + SPECIES_SHINY_PAL(MANECTRIC, gMonShinyPalette_Manectric), + SPECIES_SHINY_PAL(NUMEL, gMonShinyPalette_Numel), + SPECIES_SHINY_PAL(CAMERUPT, gMonShinyPalette_Camerupt), + SPECIES_SHINY_PAL(SPHEAL, gMonShinyPalette_Spheal), + SPECIES_SHINY_PAL(SEALEO, gMonShinyPalette_Sealeo), + SPECIES_SHINY_PAL(WALREIN, gMonShinyPalette_Walrein), + SPECIES_SHINY_PAL(CACNEA, gMonShinyPalette_Cacnea), + SPECIES_SHINY_PAL(CACTURNE, gMonShinyPalette_Cacturne), + SPECIES_SHINY_PAL(SNORUNT, gMonShinyPalette_Snorunt), + SPECIES_SHINY_PAL(GLALIE, gMonShinyPalette_Glalie), + SPECIES_SHINY_PAL(LUNATONE, gMonShinyPalette_Lunatone), + SPECIES_SHINY_PAL(SOLROCK, gMonShinyPalette_Solrock), + SPECIES_SHINY_PAL(AZURILL, gMonShinyPalette_Azurill), + SPECIES_SHINY_PAL(SPOINK, gMonShinyPalette_Spoink), + SPECIES_SHINY_PAL(GRUMPIG, gMonShinyPalette_Grumpig), + SPECIES_SHINY_PAL(PLUSLE, gMonShinyPalette_Plusle), + SPECIES_SHINY_PAL(MINUN, gMonShinyPalette_Minun), + SPECIES_SHINY_PAL(MAWILE, gMonShinyPalette_Mawile), + SPECIES_SHINY_PAL(MEDITITE, gMonShinyPalette_Meditite), + SPECIES_SHINY_PAL(MEDICHAM, gMonShinyPalette_Medicham), + SPECIES_SHINY_PAL(SWABLU, gMonShinyPalette_Swablu), + SPECIES_SHINY_PAL(ALTARIA, gMonShinyPalette_Altaria), + SPECIES_SHINY_PAL(WYNAUT, gMonShinyPalette_Wynaut), + SPECIES_SHINY_PAL(DUSKULL, gMonShinyPalette_Duskull), + SPECIES_SHINY_PAL(DUSCLOPS, gMonShinyPalette_Dusclops), + SPECIES_SHINY_PAL(ROSELIA, gMonShinyPalette_Roselia), + SPECIES_SHINY_PAL(SLAKOTH, gMonShinyPalette_Slakoth), + SPECIES_SHINY_PAL(VIGOROTH, gMonShinyPalette_Vigoroth), + SPECIES_SHINY_PAL(SLAKING, gMonShinyPalette_Slaking), + SPECIES_SHINY_PAL(GULPIN, gMonShinyPalette_Gulpin), + SPECIES_SHINY_PAL(SWALOT, gMonShinyPalette_Swalot), + SPECIES_SHINY_PAL(TROPIUS, gMonShinyPalette_Tropius), + SPECIES_SHINY_PAL(WHISMUR, gMonShinyPalette_Whismur), + SPECIES_SHINY_PAL(LOUDRED, gMonShinyPalette_Loudred), + SPECIES_SHINY_PAL(EXPLOUD, gMonShinyPalette_Exploud), + SPECIES_SHINY_PAL(CLAMPERL, gMonShinyPalette_Clamperl), + SPECIES_SHINY_PAL(HUNTAIL, gMonShinyPalette_Huntail), + SPECIES_SHINY_PAL(GOREBYSS, gMonShinyPalette_Gorebyss), + SPECIES_SHINY_PAL(ABSOL, gMonShinyPalette_Absol), + SPECIES_SHINY_PAL(SHUPPET, gMonShinyPalette_Shuppet), + SPECIES_SHINY_PAL(BANETTE, gMonShinyPalette_Banette), + SPECIES_SHINY_PAL(SEVIPER, gMonShinyPalette_Seviper), + SPECIES_SHINY_PAL(ZANGOOSE, gMonShinyPalette_Zangoose), + SPECIES_SHINY_PAL(RELICANTH, gMonShinyPalette_Relicanth), + SPECIES_SHINY_PAL(ARON, gMonShinyPalette_Aron), + SPECIES_SHINY_PAL(LAIRON, gMonShinyPalette_Lairon), + SPECIES_SHINY_PAL(AGGRON, gMonShinyPalette_Aggron), + SPECIES_SHINY_PAL(CASTFORM, gMonShinyPalette_Castform), + SPECIES_SHINY_PAL(VOLBEAT, gMonShinyPalette_Volbeat), + SPECIES_SHINY_PAL(ILLUMISE, gMonShinyPalette_Illumise), + SPECIES_SHINY_PAL(LILEEP, gMonShinyPalette_Lileep), + SPECIES_SHINY_PAL(CRADILY, gMonShinyPalette_Cradily), + SPECIES_SHINY_PAL(ANORITH, gMonShinyPalette_Anorith), + SPECIES_SHINY_PAL(ARMALDO, gMonShinyPalette_Armaldo), + SPECIES_SHINY_PAL(RALTS, gMonShinyPalette_Ralts), + SPECIES_SHINY_PAL(KIRLIA, gMonShinyPalette_Kirlia), + SPECIES_SHINY_PAL(GARDEVOIR, gMonShinyPalette_Gardevoir), + SPECIES_SHINY_PAL(BAGON, gMonShinyPalette_Bagon), + SPECIES_SHINY_PAL(SHELGON, gMonShinyPalette_Shelgon), + SPECIES_SHINY_PAL(SALAMENCE, gMonShinyPalette_Salamence), + SPECIES_SHINY_PAL(BELDUM, gMonShinyPalette_Beldum), + SPECIES_SHINY_PAL(METANG, gMonShinyPalette_Metang), + SPECIES_SHINY_PAL(METAGROSS, gMonShinyPalette_Metagross), + SPECIES_SHINY_PAL(REGIROCK, gMonShinyPalette_Regirock), + SPECIES_SHINY_PAL(REGICE, gMonShinyPalette_Regice), + SPECIES_SHINY_PAL(REGISTEEL, gMonShinyPalette_Registeel), + SPECIES_SHINY_PAL(KYOGRE, gMonShinyPalette_Kyogre), + SPECIES_SHINY_PAL(GROUDON, gMonShinyPalette_Groudon), + SPECIES_SHINY_PAL(RAYQUAZA, gMonShinyPalette_Rayquaza), + SPECIES_SHINY_PAL(LATIAS, gMonShinyPalette_Latias), + SPECIES_SHINY_PAL(LATIOS, gMonShinyPalette_Latios), + SPECIES_SHINY_PAL(JIRACHI, gMonShinyPalette_Jirachi), + SPECIES_SHINY_PAL(DEOXYS, gMonShinyPalette_Deoxys), + SPECIES_SHINY_PAL(CHIMECHO, gMonShinyPalette_Chimecho), + SPECIES_SHINY_PAL(EGG, gMonPalette_Egg), + SPECIES_SHINY_PAL(UNOWN_B, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_C, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_D, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_E, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_F, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_G, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_H, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_I, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_J, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_K, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_L, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_M, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_N, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_O, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_P, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_Q, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_R, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_S, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_T, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_U, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_V, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_W, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_X, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_Y, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_Z, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_EMARK, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_QMARK, gMonShinyPalette_Unown), }; diff --git a/src/data/pokemon_graphics/still_front_pic_table.h b/src/data/pokemon_graphics/still_front_pic_table.h index 308a872b48..985a3aa2fd 100644 --- a/src/data/pokemon_graphics/still_front_pic_table.h +++ b/src/data/pokemon_graphics/still_front_pic_table.h @@ -1,448 +1,446 @@ -#define STILL_FRONT_PIC(species, frontpic) [SPECIES_##species] = {frontpic, 0x800, SPECIES_##species} - -const struct CompressedSpriteSheet gMonStillFrontPicTable[] = +const struct CompressedSpriteSheet gMonStillFrontPicTable[] = { - STILL_FRONT_PIC(NONE, gMonStillFrontPic_CircledQuestionMark), - STILL_FRONT_PIC(BULBASAUR, gMonStillFrontPic_Bulbasaur), - STILL_FRONT_PIC(IVYSAUR, gMonStillFrontPic_Ivysaur), - STILL_FRONT_PIC(VENUSAUR, gMonStillFrontPic_Venusaur), - STILL_FRONT_PIC(CHARMANDER, gMonStillFrontPic_Charmander), - STILL_FRONT_PIC(CHARMELEON, gMonStillFrontPic_Charmeleon), - STILL_FRONT_PIC(CHARIZARD, gMonStillFrontPic_Charizard), - STILL_FRONT_PIC(SQUIRTLE, gMonStillFrontPic_Squirtle), - STILL_FRONT_PIC(WARTORTLE, gMonStillFrontPic_Wartortle), - STILL_FRONT_PIC(BLASTOISE, gMonStillFrontPic_Blastoise), - STILL_FRONT_PIC(CATERPIE, gMonStillFrontPic_Caterpie), - STILL_FRONT_PIC(METAPOD, gMonStillFrontPic_Metapod), - STILL_FRONT_PIC(BUTTERFREE, gMonStillFrontPic_Butterfree), - STILL_FRONT_PIC(WEEDLE, gMonStillFrontPic_Weedle), - STILL_FRONT_PIC(KAKUNA, gMonStillFrontPic_Kakuna), - STILL_FRONT_PIC(BEEDRILL, gMonStillFrontPic_Beedrill), - STILL_FRONT_PIC(PIDGEY, gMonStillFrontPic_Pidgey), - STILL_FRONT_PIC(PIDGEOTTO, gMonStillFrontPic_Pidgeotto), - STILL_FRONT_PIC(PIDGEOT, gMonStillFrontPic_Pidgeot), - STILL_FRONT_PIC(RATTATA, gMonStillFrontPic_Rattata), - STILL_FRONT_PIC(RATICATE, gMonStillFrontPic_Raticate), - STILL_FRONT_PIC(SPEAROW, gMonStillFrontPic_Spearow), - STILL_FRONT_PIC(FEAROW, gMonStillFrontPic_Fearow), - STILL_FRONT_PIC(EKANS, gMonStillFrontPic_Ekans), - STILL_FRONT_PIC(ARBOK, gMonStillFrontPic_Arbok), - STILL_FRONT_PIC(PIKACHU, gMonStillFrontPic_Pikachu), - STILL_FRONT_PIC(RAICHU, gMonStillFrontPic_Raichu), - STILL_FRONT_PIC(SANDSHREW, gMonStillFrontPic_Sandshrew), - STILL_FRONT_PIC(SANDSLASH, gMonStillFrontPic_Sandslash), - STILL_FRONT_PIC(NIDORAN_F, gMonStillFrontPic_NidoranF), - STILL_FRONT_PIC(NIDORINA, gMonStillFrontPic_Nidorina), - STILL_FRONT_PIC(NIDOQUEEN, gMonStillFrontPic_Nidoqueen), - STILL_FRONT_PIC(NIDORAN_M, gMonStillFrontPic_NidoranM), - STILL_FRONT_PIC(NIDORINO, gMonStillFrontPic_Nidorino), - STILL_FRONT_PIC(NIDOKING, gMonStillFrontPic_Nidoking), - STILL_FRONT_PIC(CLEFAIRY, gMonStillFrontPic_Clefairy), - STILL_FRONT_PIC(CLEFABLE, gMonStillFrontPic_Clefable), - STILL_FRONT_PIC(VULPIX, gMonStillFrontPic_Vulpix), - STILL_FRONT_PIC(NINETALES, gMonStillFrontPic_Ninetales), - STILL_FRONT_PIC(JIGGLYPUFF, gMonStillFrontPic_Jigglypuff), - STILL_FRONT_PIC(WIGGLYTUFF, gMonStillFrontPic_Wigglytuff), - STILL_FRONT_PIC(ZUBAT, gMonStillFrontPic_Zubat), - STILL_FRONT_PIC(GOLBAT, gMonStillFrontPic_Golbat), - STILL_FRONT_PIC(ODDISH, gMonStillFrontPic_Oddish), - STILL_FRONT_PIC(GLOOM, gMonStillFrontPic_Gloom), - STILL_FRONT_PIC(VILEPLUME, gMonStillFrontPic_Vileplume), - STILL_FRONT_PIC(PARAS, gMonStillFrontPic_Paras), - STILL_FRONT_PIC(PARASECT, gMonStillFrontPic_Parasect), - STILL_FRONT_PIC(VENONAT, gMonStillFrontPic_Venonat), - STILL_FRONT_PIC(VENOMOTH, gMonStillFrontPic_Venomoth), - STILL_FRONT_PIC(DIGLETT, gMonStillFrontPic_Diglett), - STILL_FRONT_PIC(DUGTRIO, gMonStillFrontPic_Dugtrio), - STILL_FRONT_PIC(MEOWTH, gMonStillFrontPic_Meowth), - STILL_FRONT_PIC(PERSIAN, gMonStillFrontPic_Persian), - STILL_FRONT_PIC(PSYDUCK, gMonStillFrontPic_Psyduck), - STILL_FRONT_PIC(GOLDUCK, gMonStillFrontPic_Golduck), - STILL_FRONT_PIC(MANKEY, gMonStillFrontPic_Mankey), - STILL_FRONT_PIC(PRIMEAPE, gMonStillFrontPic_Primeape), - STILL_FRONT_PIC(GROWLITHE, gMonStillFrontPic_Growlithe), - STILL_FRONT_PIC(ARCANINE, gMonStillFrontPic_Arcanine), - STILL_FRONT_PIC(POLIWAG, gMonStillFrontPic_Poliwag), - STILL_FRONT_PIC(POLIWHIRL, gMonStillFrontPic_Poliwhirl), - STILL_FRONT_PIC(POLIWRATH, gMonStillFrontPic_Poliwrath), - STILL_FRONT_PIC(ABRA, gMonStillFrontPic_Abra), - STILL_FRONT_PIC(KADABRA, gMonStillFrontPic_Kadabra), - STILL_FRONT_PIC(ALAKAZAM, gMonStillFrontPic_Alakazam), - STILL_FRONT_PIC(MACHOP, gMonStillFrontPic_Machop), - STILL_FRONT_PIC(MACHOKE, gMonStillFrontPic_Machoke), - STILL_FRONT_PIC(MACHAMP, gMonStillFrontPic_Machamp), - STILL_FRONT_PIC(BELLSPROUT, gMonStillFrontPic_Bellsprout), - STILL_FRONT_PIC(WEEPINBELL, gMonStillFrontPic_Weepinbell), - STILL_FRONT_PIC(VICTREEBEL, gMonStillFrontPic_Victreebel), - STILL_FRONT_PIC(TENTACOOL, gMonStillFrontPic_Tentacool), - STILL_FRONT_PIC(TENTACRUEL, gMonStillFrontPic_Tentacruel), - STILL_FRONT_PIC(GEODUDE, gMonStillFrontPic_Geodude), - STILL_FRONT_PIC(GRAVELER, gMonStillFrontPic_Graveler), - STILL_FRONT_PIC(GOLEM, gMonStillFrontPic_Golem), - STILL_FRONT_PIC(PONYTA, gMonStillFrontPic_Ponyta), - STILL_FRONT_PIC(RAPIDASH, gMonStillFrontPic_Rapidash), - STILL_FRONT_PIC(SLOWPOKE, gMonStillFrontPic_Slowpoke), - STILL_FRONT_PIC(SLOWBRO, gMonStillFrontPic_Slowbro), - STILL_FRONT_PIC(MAGNEMITE, gMonStillFrontPic_Magnemite), - STILL_FRONT_PIC(MAGNETON, gMonStillFrontPic_Magneton), - STILL_FRONT_PIC(FARFETCHD, gMonStillFrontPic_Farfetchd), - STILL_FRONT_PIC(DODUO, gMonStillFrontPic_Doduo), - STILL_FRONT_PIC(DODRIO, gMonStillFrontPic_Dodrio), - STILL_FRONT_PIC(SEEL, gMonStillFrontPic_Seel), - STILL_FRONT_PIC(DEWGONG, gMonStillFrontPic_Dewgong), - STILL_FRONT_PIC(GRIMER, gMonStillFrontPic_Grimer), - STILL_FRONT_PIC(MUK, gMonStillFrontPic_Muk), - STILL_FRONT_PIC(SHELLDER, gMonStillFrontPic_Shellder), - STILL_FRONT_PIC(CLOYSTER, gMonStillFrontPic_Cloyster), - STILL_FRONT_PIC(GASTLY, gMonStillFrontPic_Gastly), - STILL_FRONT_PIC(HAUNTER, gMonStillFrontPic_Haunter), - STILL_FRONT_PIC(GENGAR, gMonStillFrontPic_Gengar), - STILL_FRONT_PIC(ONIX, gMonStillFrontPic_Onix), - STILL_FRONT_PIC(DROWZEE, gMonStillFrontPic_Drowzee), - STILL_FRONT_PIC(HYPNO, gMonStillFrontPic_Hypno), - STILL_FRONT_PIC(KRABBY, gMonStillFrontPic_Krabby), - STILL_FRONT_PIC(KINGLER, gMonStillFrontPic_Kingler), - STILL_FRONT_PIC(VOLTORB, gMonStillFrontPic_Voltorb), - STILL_FRONT_PIC(ELECTRODE, gMonStillFrontPic_Electrode), - STILL_FRONT_PIC(EXEGGCUTE, gMonStillFrontPic_Exeggcute), - STILL_FRONT_PIC(EXEGGUTOR, gMonStillFrontPic_Exeggutor), - STILL_FRONT_PIC(CUBONE, gMonStillFrontPic_Cubone), - STILL_FRONT_PIC(MAROWAK, gMonStillFrontPic_Marowak), - STILL_FRONT_PIC(HITMONLEE, gMonStillFrontPic_Hitmonlee), - STILL_FRONT_PIC(HITMONCHAN, gMonStillFrontPic_Hitmonchan), - STILL_FRONT_PIC(LICKITUNG, gMonStillFrontPic_Lickitung), - STILL_FRONT_PIC(KOFFING, gMonStillFrontPic_Koffing), - STILL_FRONT_PIC(WEEZING, gMonStillFrontPic_Weezing), - STILL_FRONT_PIC(RHYHORN, gMonStillFrontPic_Rhyhorn), - STILL_FRONT_PIC(RHYDON, gMonStillFrontPic_Rhydon), - STILL_FRONT_PIC(CHANSEY, gMonStillFrontPic_Chansey), - STILL_FRONT_PIC(TANGELA, gMonStillFrontPic_Tangela), - STILL_FRONT_PIC(KANGASKHAN, gMonStillFrontPic_Kangaskhan), - STILL_FRONT_PIC(HORSEA, gMonStillFrontPic_Horsea), - STILL_FRONT_PIC(SEADRA, gMonStillFrontPic_Seadra), - STILL_FRONT_PIC(GOLDEEN, gMonStillFrontPic_Goldeen), - STILL_FRONT_PIC(SEAKING, gMonStillFrontPic_Seaking), - STILL_FRONT_PIC(STARYU, gMonStillFrontPic_Staryu), - STILL_FRONT_PIC(STARMIE, gMonStillFrontPic_Starmie), - STILL_FRONT_PIC(MR_MIME, gMonStillFrontPic_Mrmime), - STILL_FRONT_PIC(SCYTHER, gMonStillFrontPic_Scyther), - STILL_FRONT_PIC(JYNX, gMonStillFrontPic_Jynx), - STILL_FRONT_PIC(ELECTABUZZ, gMonStillFrontPic_Electabuzz), - STILL_FRONT_PIC(MAGMAR, gMonStillFrontPic_Magmar), - STILL_FRONT_PIC(PINSIR, gMonStillFrontPic_Pinsir), - STILL_FRONT_PIC(TAUROS, gMonStillFrontPic_Tauros), - STILL_FRONT_PIC(MAGIKARP, gMonStillFrontPic_Magikarp), - STILL_FRONT_PIC(GYARADOS, gMonStillFrontPic_Gyarados), - STILL_FRONT_PIC(LAPRAS, gMonStillFrontPic_Lapras), - STILL_FRONT_PIC(DITTO, gMonStillFrontPic_Ditto), - STILL_FRONT_PIC(EEVEE, gMonStillFrontPic_Eevee), - STILL_FRONT_PIC(VAPOREON, gMonStillFrontPic_Vaporeon), - STILL_FRONT_PIC(JOLTEON, gMonStillFrontPic_Jolteon), - STILL_FRONT_PIC(FLAREON, gMonStillFrontPic_Flareon), - STILL_FRONT_PIC(PORYGON, gMonStillFrontPic_Porygon), - STILL_FRONT_PIC(OMANYTE, gMonStillFrontPic_Omanyte), - STILL_FRONT_PIC(OMASTAR, gMonStillFrontPic_Omastar), - STILL_FRONT_PIC(KABUTO, gMonStillFrontPic_Kabuto), - STILL_FRONT_PIC(KABUTOPS, gMonStillFrontPic_Kabutops), - STILL_FRONT_PIC(AERODACTYL, gMonStillFrontPic_Aerodactyl), - STILL_FRONT_PIC(SNORLAX, gMonStillFrontPic_Snorlax), - STILL_FRONT_PIC(ARTICUNO, gMonStillFrontPic_Articuno), - STILL_FRONT_PIC(ZAPDOS, gMonStillFrontPic_Zapdos), - STILL_FRONT_PIC(MOLTRES, gMonStillFrontPic_Moltres), - STILL_FRONT_PIC(DRATINI, gMonStillFrontPic_Dratini), - STILL_FRONT_PIC(DRAGONAIR, gMonStillFrontPic_Dragonair), - STILL_FRONT_PIC(DRAGONITE, gMonStillFrontPic_Dragonite), - STILL_FRONT_PIC(MEWTWO, gMonStillFrontPic_Mewtwo), - STILL_FRONT_PIC(MEW, gMonStillFrontPic_Mew), + SPECIES_SPRITE(NONE, gMonStillFrontPic_CircledQuestionMark), + SPECIES_SPRITE(BULBASAUR, gMonStillFrontPic_Bulbasaur), + SPECIES_SPRITE(IVYSAUR, gMonStillFrontPic_Ivysaur), + SPECIES_SPRITE(VENUSAUR, gMonStillFrontPic_Venusaur), + SPECIES_SPRITE(CHARMANDER, gMonStillFrontPic_Charmander), + SPECIES_SPRITE(CHARMELEON, gMonStillFrontPic_Charmeleon), + SPECIES_SPRITE(CHARIZARD, gMonStillFrontPic_Charizard), + SPECIES_SPRITE(SQUIRTLE, gMonStillFrontPic_Squirtle), + SPECIES_SPRITE(WARTORTLE, gMonStillFrontPic_Wartortle), + SPECIES_SPRITE(BLASTOISE, gMonStillFrontPic_Blastoise), + SPECIES_SPRITE(CATERPIE, gMonStillFrontPic_Caterpie), + SPECIES_SPRITE(METAPOD, gMonStillFrontPic_Metapod), + SPECIES_SPRITE(BUTTERFREE, gMonStillFrontPic_Butterfree), + SPECIES_SPRITE(WEEDLE, gMonStillFrontPic_Weedle), + SPECIES_SPRITE(KAKUNA, gMonStillFrontPic_Kakuna), + SPECIES_SPRITE(BEEDRILL, gMonStillFrontPic_Beedrill), + SPECIES_SPRITE(PIDGEY, gMonStillFrontPic_Pidgey), + SPECIES_SPRITE(PIDGEOTTO, gMonStillFrontPic_Pidgeotto), + SPECIES_SPRITE(PIDGEOT, gMonStillFrontPic_Pidgeot), + SPECIES_SPRITE(RATTATA, gMonStillFrontPic_Rattata), + SPECIES_SPRITE(RATICATE, gMonStillFrontPic_Raticate), + SPECIES_SPRITE(SPEAROW, gMonStillFrontPic_Spearow), + SPECIES_SPRITE(FEAROW, gMonStillFrontPic_Fearow), + SPECIES_SPRITE(EKANS, gMonStillFrontPic_Ekans), + SPECIES_SPRITE(ARBOK, gMonStillFrontPic_Arbok), + SPECIES_SPRITE(PIKACHU, gMonStillFrontPic_Pikachu), + SPECIES_SPRITE(RAICHU, gMonStillFrontPic_Raichu), + SPECIES_SPRITE(SANDSHREW, gMonStillFrontPic_Sandshrew), + SPECIES_SPRITE(SANDSLASH, gMonStillFrontPic_Sandslash), + SPECIES_SPRITE(NIDORAN_F, gMonStillFrontPic_NidoranF), + SPECIES_SPRITE(NIDORINA, gMonStillFrontPic_Nidorina), + SPECIES_SPRITE(NIDOQUEEN, gMonStillFrontPic_Nidoqueen), + SPECIES_SPRITE(NIDORAN_M, gMonStillFrontPic_NidoranM), + SPECIES_SPRITE(NIDORINO, gMonStillFrontPic_Nidorino), + SPECIES_SPRITE(NIDOKING, gMonStillFrontPic_Nidoking), + SPECIES_SPRITE(CLEFAIRY, gMonStillFrontPic_Clefairy), + SPECIES_SPRITE(CLEFABLE, gMonStillFrontPic_Clefable), + SPECIES_SPRITE(VULPIX, gMonStillFrontPic_Vulpix), + SPECIES_SPRITE(NINETALES, gMonStillFrontPic_Ninetales), + SPECIES_SPRITE(JIGGLYPUFF, gMonStillFrontPic_Jigglypuff), + SPECIES_SPRITE(WIGGLYTUFF, gMonStillFrontPic_Wigglytuff), + SPECIES_SPRITE(ZUBAT, gMonStillFrontPic_Zubat), + SPECIES_SPRITE(GOLBAT, gMonStillFrontPic_Golbat), + SPECIES_SPRITE(ODDISH, gMonStillFrontPic_Oddish), + SPECIES_SPRITE(GLOOM, gMonStillFrontPic_Gloom), + SPECIES_SPRITE(VILEPLUME, gMonStillFrontPic_Vileplume), + SPECIES_SPRITE(PARAS, gMonStillFrontPic_Paras), + SPECIES_SPRITE(PARASECT, gMonStillFrontPic_Parasect), + SPECIES_SPRITE(VENONAT, gMonStillFrontPic_Venonat), + SPECIES_SPRITE(VENOMOTH, gMonStillFrontPic_Venomoth), + SPECIES_SPRITE(DIGLETT, gMonStillFrontPic_Diglett), + SPECIES_SPRITE(DUGTRIO, gMonStillFrontPic_Dugtrio), + SPECIES_SPRITE(MEOWTH, gMonStillFrontPic_Meowth), + SPECIES_SPRITE(PERSIAN, gMonStillFrontPic_Persian), + SPECIES_SPRITE(PSYDUCK, gMonStillFrontPic_Psyduck), + SPECIES_SPRITE(GOLDUCK, gMonStillFrontPic_Golduck), + SPECIES_SPRITE(MANKEY, gMonStillFrontPic_Mankey), + SPECIES_SPRITE(PRIMEAPE, gMonStillFrontPic_Primeape), + SPECIES_SPRITE(GROWLITHE, gMonStillFrontPic_Growlithe), + SPECIES_SPRITE(ARCANINE, gMonStillFrontPic_Arcanine), + SPECIES_SPRITE(POLIWAG, gMonStillFrontPic_Poliwag), + SPECIES_SPRITE(POLIWHIRL, gMonStillFrontPic_Poliwhirl), + SPECIES_SPRITE(POLIWRATH, gMonStillFrontPic_Poliwrath), + SPECIES_SPRITE(ABRA, gMonStillFrontPic_Abra), + SPECIES_SPRITE(KADABRA, gMonStillFrontPic_Kadabra), + SPECIES_SPRITE(ALAKAZAM, gMonStillFrontPic_Alakazam), + SPECIES_SPRITE(MACHOP, gMonStillFrontPic_Machop), + SPECIES_SPRITE(MACHOKE, gMonStillFrontPic_Machoke), + SPECIES_SPRITE(MACHAMP, gMonStillFrontPic_Machamp), + SPECIES_SPRITE(BELLSPROUT, gMonStillFrontPic_Bellsprout), + SPECIES_SPRITE(WEEPINBELL, gMonStillFrontPic_Weepinbell), + SPECIES_SPRITE(VICTREEBEL, gMonStillFrontPic_Victreebel), + SPECIES_SPRITE(TENTACOOL, gMonStillFrontPic_Tentacool), + SPECIES_SPRITE(TENTACRUEL, gMonStillFrontPic_Tentacruel), + SPECIES_SPRITE(GEODUDE, gMonStillFrontPic_Geodude), + SPECIES_SPRITE(GRAVELER, gMonStillFrontPic_Graveler), + SPECIES_SPRITE(GOLEM, gMonStillFrontPic_Golem), + SPECIES_SPRITE(PONYTA, gMonStillFrontPic_Ponyta), + SPECIES_SPRITE(RAPIDASH, gMonStillFrontPic_Rapidash), + SPECIES_SPRITE(SLOWPOKE, gMonStillFrontPic_Slowpoke), + SPECIES_SPRITE(SLOWBRO, gMonStillFrontPic_Slowbro), + SPECIES_SPRITE(MAGNEMITE, gMonStillFrontPic_Magnemite), + SPECIES_SPRITE(MAGNETON, gMonStillFrontPic_Magneton), + SPECIES_SPRITE(FARFETCHD, gMonStillFrontPic_Farfetchd), + SPECIES_SPRITE(DODUO, gMonStillFrontPic_Doduo), + SPECIES_SPRITE(DODRIO, gMonStillFrontPic_Dodrio), + SPECIES_SPRITE(SEEL, gMonStillFrontPic_Seel), + SPECIES_SPRITE(DEWGONG, gMonStillFrontPic_Dewgong), + SPECIES_SPRITE(GRIMER, gMonStillFrontPic_Grimer), + SPECIES_SPRITE(MUK, gMonStillFrontPic_Muk), + SPECIES_SPRITE(SHELLDER, gMonStillFrontPic_Shellder), + SPECIES_SPRITE(CLOYSTER, gMonStillFrontPic_Cloyster), + SPECIES_SPRITE(GASTLY, gMonStillFrontPic_Gastly), + SPECIES_SPRITE(HAUNTER, gMonStillFrontPic_Haunter), + SPECIES_SPRITE(GENGAR, gMonStillFrontPic_Gengar), + SPECIES_SPRITE(ONIX, gMonStillFrontPic_Onix), + SPECIES_SPRITE(DROWZEE, gMonStillFrontPic_Drowzee), + SPECIES_SPRITE(HYPNO, gMonStillFrontPic_Hypno), + SPECIES_SPRITE(KRABBY, gMonStillFrontPic_Krabby), + SPECIES_SPRITE(KINGLER, gMonStillFrontPic_Kingler), + SPECIES_SPRITE(VOLTORB, gMonStillFrontPic_Voltorb), + SPECIES_SPRITE(ELECTRODE, gMonStillFrontPic_Electrode), + SPECIES_SPRITE(EXEGGCUTE, gMonStillFrontPic_Exeggcute), + SPECIES_SPRITE(EXEGGUTOR, gMonStillFrontPic_Exeggutor), + SPECIES_SPRITE(CUBONE, gMonStillFrontPic_Cubone), + SPECIES_SPRITE(MAROWAK, gMonStillFrontPic_Marowak), + SPECIES_SPRITE(HITMONLEE, gMonStillFrontPic_Hitmonlee), + SPECIES_SPRITE(HITMONCHAN, gMonStillFrontPic_Hitmonchan), + SPECIES_SPRITE(LICKITUNG, gMonStillFrontPic_Lickitung), + SPECIES_SPRITE(KOFFING, gMonStillFrontPic_Koffing), + SPECIES_SPRITE(WEEZING, gMonStillFrontPic_Weezing), + SPECIES_SPRITE(RHYHORN, gMonStillFrontPic_Rhyhorn), + SPECIES_SPRITE(RHYDON, gMonStillFrontPic_Rhydon), + SPECIES_SPRITE(CHANSEY, gMonStillFrontPic_Chansey), + SPECIES_SPRITE(TANGELA, gMonStillFrontPic_Tangela), + SPECIES_SPRITE(KANGASKHAN, gMonStillFrontPic_Kangaskhan), + SPECIES_SPRITE(HORSEA, gMonStillFrontPic_Horsea), + SPECIES_SPRITE(SEADRA, gMonStillFrontPic_Seadra), + SPECIES_SPRITE(GOLDEEN, gMonStillFrontPic_Goldeen), + SPECIES_SPRITE(SEAKING, gMonStillFrontPic_Seaking), + SPECIES_SPRITE(STARYU, gMonStillFrontPic_Staryu), + SPECIES_SPRITE(STARMIE, gMonStillFrontPic_Starmie), + SPECIES_SPRITE(MR_MIME, gMonStillFrontPic_Mrmime), + SPECIES_SPRITE(SCYTHER, gMonStillFrontPic_Scyther), + SPECIES_SPRITE(JYNX, gMonStillFrontPic_Jynx), + SPECIES_SPRITE(ELECTABUZZ, gMonStillFrontPic_Electabuzz), + SPECIES_SPRITE(MAGMAR, gMonStillFrontPic_Magmar), + SPECIES_SPRITE(PINSIR, gMonStillFrontPic_Pinsir), + SPECIES_SPRITE(TAUROS, gMonStillFrontPic_Tauros), + SPECIES_SPRITE(MAGIKARP, gMonStillFrontPic_Magikarp), + SPECIES_SPRITE(GYARADOS, gMonStillFrontPic_Gyarados), + SPECIES_SPRITE(LAPRAS, gMonStillFrontPic_Lapras), + SPECIES_SPRITE(DITTO, gMonStillFrontPic_Ditto), + SPECIES_SPRITE(EEVEE, gMonStillFrontPic_Eevee), + SPECIES_SPRITE(VAPOREON, gMonStillFrontPic_Vaporeon), + SPECIES_SPRITE(JOLTEON, gMonStillFrontPic_Jolteon), + SPECIES_SPRITE(FLAREON, gMonStillFrontPic_Flareon), + SPECIES_SPRITE(PORYGON, gMonStillFrontPic_Porygon), + SPECIES_SPRITE(OMANYTE, gMonStillFrontPic_Omanyte), + SPECIES_SPRITE(OMASTAR, gMonStillFrontPic_Omastar), + SPECIES_SPRITE(KABUTO, gMonStillFrontPic_Kabuto), + SPECIES_SPRITE(KABUTOPS, gMonStillFrontPic_Kabutops), + SPECIES_SPRITE(AERODACTYL, gMonStillFrontPic_Aerodactyl), + SPECIES_SPRITE(SNORLAX, gMonStillFrontPic_Snorlax), + SPECIES_SPRITE(ARTICUNO, gMonStillFrontPic_Articuno), + SPECIES_SPRITE(ZAPDOS, gMonStillFrontPic_Zapdos), + SPECIES_SPRITE(MOLTRES, gMonStillFrontPic_Moltres), + SPECIES_SPRITE(DRATINI, gMonStillFrontPic_Dratini), + SPECIES_SPRITE(DRAGONAIR, gMonStillFrontPic_Dragonair), + SPECIES_SPRITE(DRAGONITE, gMonStillFrontPic_Dragonite), + SPECIES_SPRITE(MEWTWO, gMonStillFrontPic_Mewtwo), + SPECIES_SPRITE(MEW, gMonStillFrontPic_Mew), // Gen II - STILL_FRONT_PIC(CHIKORITA, gMonStillFrontPic_Chikorita), - STILL_FRONT_PIC(BAYLEEF, gMonStillFrontPic_Bayleef), - STILL_FRONT_PIC(MEGANIUM, gMonStillFrontPic_Meganium), - STILL_FRONT_PIC(CYNDAQUIL, gMonStillFrontPic_Cyndaquil), - STILL_FRONT_PIC(QUILAVA, gMonStillFrontPic_Quilava), - STILL_FRONT_PIC(TYPHLOSION, gMonStillFrontPic_Typhlosion), - STILL_FRONT_PIC(TOTODILE, gMonStillFrontPic_Totodile), - STILL_FRONT_PIC(CROCONAW, gMonStillFrontPic_Croconaw), - STILL_FRONT_PIC(FERALIGATR, gMonStillFrontPic_Feraligatr), - STILL_FRONT_PIC(SENTRET, gMonStillFrontPic_Sentret), - STILL_FRONT_PIC(FURRET, gMonStillFrontPic_Furret), - STILL_FRONT_PIC(HOOTHOOT, gMonStillFrontPic_Hoothoot), - STILL_FRONT_PIC(NOCTOWL, gMonStillFrontPic_Noctowl), - STILL_FRONT_PIC(LEDYBA, gMonStillFrontPic_Ledyba), - STILL_FRONT_PIC(LEDIAN, gMonStillFrontPic_Ledian), - STILL_FRONT_PIC(SPINARAK, gMonStillFrontPic_Spinarak), - STILL_FRONT_PIC(ARIADOS, gMonStillFrontPic_Ariados), - STILL_FRONT_PIC(CROBAT, gMonStillFrontPic_Crobat), - STILL_FRONT_PIC(CHINCHOU, gMonStillFrontPic_Chinchou), - STILL_FRONT_PIC(LANTURN, gMonStillFrontPic_Lanturn), - STILL_FRONT_PIC(PICHU, gMonStillFrontPic_Pichu), - STILL_FRONT_PIC(CLEFFA, gMonStillFrontPic_Cleffa), - STILL_FRONT_PIC(IGGLYBUFF, gMonStillFrontPic_Igglybuff), - STILL_FRONT_PIC(TOGEPI, gMonStillFrontPic_Togepi), - STILL_FRONT_PIC(TOGETIC, gMonStillFrontPic_Togetic), - STILL_FRONT_PIC(NATU, gMonStillFrontPic_Natu), - STILL_FRONT_PIC(XATU, gMonStillFrontPic_Xatu), - STILL_FRONT_PIC(MAREEP, gMonStillFrontPic_Mareep), - STILL_FRONT_PIC(FLAAFFY, gMonStillFrontPic_Flaaffy), - STILL_FRONT_PIC(AMPHAROS, gMonStillFrontPic_Ampharos), - STILL_FRONT_PIC(BELLOSSOM, gMonStillFrontPic_Bellossom), - STILL_FRONT_PIC(MARILL, gMonStillFrontPic_Marill), - STILL_FRONT_PIC(AZUMARILL, gMonStillFrontPic_Azumarill), - STILL_FRONT_PIC(SUDOWOODO, gMonStillFrontPic_Sudowoodo), - STILL_FRONT_PIC(POLITOED, gMonStillFrontPic_Politoed), - STILL_FRONT_PIC(HOPPIP, gMonStillFrontPic_Hoppip), - STILL_FRONT_PIC(SKIPLOOM, gMonStillFrontPic_Skiploom), - STILL_FRONT_PIC(JUMPLUFF, gMonStillFrontPic_Jumpluff), - STILL_FRONT_PIC(AIPOM, gMonStillFrontPic_Aipom), - STILL_FRONT_PIC(SUNKERN, gMonStillFrontPic_Sunkern), - STILL_FRONT_PIC(SUNFLORA, gMonStillFrontPic_Sunflora), - STILL_FRONT_PIC(YANMA, gMonStillFrontPic_Yanma), - STILL_FRONT_PIC(WOOPER, gMonStillFrontPic_Wooper), - STILL_FRONT_PIC(QUAGSIRE, gMonStillFrontPic_Quagsire), - STILL_FRONT_PIC(ESPEON, gMonStillFrontPic_Espeon), - STILL_FRONT_PIC(UMBREON, gMonStillFrontPic_Umbreon), - STILL_FRONT_PIC(MURKROW, gMonStillFrontPic_Murkrow), - STILL_FRONT_PIC(SLOWKING, gMonStillFrontPic_Slowking), - STILL_FRONT_PIC(MISDREAVUS, gMonStillFrontPic_Misdreavus), - STILL_FRONT_PIC(UNOWN, gMonStillFrontPic_UnownA), - STILL_FRONT_PIC(WOBBUFFET, gMonStillFrontPic_Wobbuffet), - STILL_FRONT_PIC(GIRAFARIG, gMonStillFrontPic_Girafarig), - STILL_FRONT_PIC(PINECO, gMonStillFrontPic_Pineco), - STILL_FRONT_PIC(FORRETRESS, gMonStillFrontPic_Forretress), - STILL_FRONT_PIC(DUNSPARCE, gMonStillFrontPic_Dunsparce), - STILL_FRONT_PIC(GLIGAR, gMonStillFrontPic_Gligar), - STILL_FRONT_PIC(STEELIX, gMonStillFrontPic_Steelix), - STILL_FRONT_PIC(SNUBBULL, gMonStillFrontPic_Snubbull), - STILL_FRONT_PIC(GRANBULL, gMonStillFrontPic_Granbull), - STILL_FRONT_PIC(QWILFISH, gMonStillFrontPic_Qwilfish), - STILL_FRONT_PIC(SCIZOR, gMonStillFrontPic_Scizor), - STILL_FRONT_PIC(SHUCKLE, gMonStillFrontPic_Shuckle), - STILL_FRONT_PIC(HERACROSS, gMonStillFrontPic_Heracross), - STILL_FRONT_PIC(SNEASEL, gMonStillFrontPic_Sneasel), - STILL_FRONT_PIC(TEDDIURSA, gMonStillFrontPic_Teddiursa), - STILL_FRONT_PIC(URSARING, gMonStillFrontPic_Ursaring), - STILL_FRONT_PIC(SLUGMA, gMonStillFrontPic_Slugma), - STILL_FRONT_PIC(MAGCARGO, gMonStillFrontPic_Magcargo), - STILL_FRONT_PIC(SWINUB, gMonStillFrontPic_Swinub), - STILL_FRONT_PIC(PILOSWINE, gMonStillFrontPic_Piloswine), - STILL_FRONT_PIC(CORSOLA, gMonStillFrontPic_Corsola), - STILL_FRONT_PIC(REMORAID, gMonStillFrontPic_Remoraid), - STILL_FRONT_PIC(OCTILLERY, gMonStillFrontPic_Octillery), - STILL_FRONT_PIC(DELIBIRD, gMonStillFrontPic_Delibird), - STILL_FRONT_PIC(MANTINE, gMonStillFrontPic_Mantine), - STILL_FRONT_PIC(SKARMORY, gMonStillFrontPic_Skarmory), - STILL_FRONT_PIC(HOUNDOUR, gMonStillFrontPic_Houndour), - STILL_FRONT_PIC(HOUNDOOM, gMonStillFrontPic_Houndoom), - STILL_FRONT_PIC(KINGDRA, gMonStillFrontPic_Kingdra), - STILL_FRONT_PIC(PHANPY, gMonStillFrontPic_Phanpy), - STILL_FRONT_PIC(DONPHAN, gMonStillFrontPic_Donphan), - STILL_FRONT_PIC(PORYGON2, gMonStillFrontPic_Porygon2), - STILL_FRONT_PIC(STANTLER, gMonStillFrontPic_Stantler), - STILL_FRONT_PIC(SMEARGLE, gMonStillFrontPic_Smeargle), - STILL_FRONT_PIC(TYROGUE, gMonStillFrontPic_Tyrogue), - STILL_FRONT_PIC(HITMONTOP, gMonStillFrontPic_Hitmontop), - STILL_FRONT_PIC(SMOOCHUM, gMonStillFrontPic_Smoochum), - STILL_FRONT_PIC(ELEKID, gMonStillFrontPic_Elekid), - STILL_FRONT_PIC(MAGBY, gMonStillFrontPic_Magby), - STILL_FRONT_PIC(MILTANK, gMonStillFrontPic_Miltank), - STILL_FRONT_PIC(BLISSEY, gMonStillFrontPic_Blissey), - STILL_FRONT_PIC(RAIKOU, gMonStillFrontPic_Raikou), - STILL_FRONT_PIC(ENTEI, gMonStillFrontPic_Entei), - STILL_FRONT_PIC(SUICUNE, gMonStillFrontPic_Suicune), - STILL_FRONT_PIC(LARVITAR, gMonStillFrontPic_Larvitar), - STILL_FRONT_PIC(PUPITAR, gMonStillFrontPic_Pupitar), - STILL_FRONT_PIC(TYRANITAR, gMonStillFrontPic_Tyranitar), - STILL_FRONT_PIC(LUGIA, gMonStillFrontPic_Lugia), - STILL_FRONT_PIC(HO_OH, gMonStillFrontPic_HoOh), - STILL_FRONT_PIC(CELEBI, gMonStillFrontPic_Celebi), + SPECIES_SPRITE(CHIKORITA, gMonStillFrontPic_Chikorita), + SPECIES_SPRITE(BAYLEEF, gMonStillFrontPic_Bayleef), + SPECIES_SPRITE(MEGANIUM, gMonStillFrontPic_Meganium), + SPECIES_SPRITE(CYNDAQUIL, gMonStillFrontPic_Cyndaquil), + SPECIES_SPRITE(QUILAVA, gMonStillFrontPic_Quilava), + SPECIES_SPRITE(TYPHLOSION, gMonStillFrontPic_Typhlosion), + SPECIES_SPRITE(TOTODILE, gMonStillFrontPic_Totodile), + SPECIES_SPRITE(CROCONAW, gMonStillFrontPic_Croconaw), + SPECIES_SPRITE(FERALIGATR, gMonStillFrontPic_Feraligatr), + SPECIES_SPRITE(SENTRET, gMonStillFrontPic_Sentret), + SPECIES_SPRITE(FURRET, gMonStillFrontPic_Furret), + SPECIES_SPRITE(HOOTHOOT, gMonStillFrontPic_Hoothoot), + SPECIES_SPRITE(NOCTOWL, gMonStillFrontPic_Noctowl), + SPECIES_SPRITE(LEDYBA, gMonStillFrontPic_Ledyba), + SPECIES_SPRITE(LEDIAN, gMonStillFrontPic_Ledian), + SPECIES_SPRITE(SPINARAK, gMonStillFrontPic_Spinarak), + SPECIES_SPRITE(ARIADOS, gMonStillFrontPic_Ariados), + SPECIES_SPRITE(CROBAT, gMonStillFrontPic_Crobat), + SPECIES_SPRITE(CHINCHOU, gMonStillFrontPic_Chinchou), + SPECIES_SPRITE(LANTURN, gMonStillFrontPic_Lanturn), + SPECIES_SPRITE(PICHU, gMonStillFrontPic_Pichu), + SPECIES_SPRITE(CLEFFA, gMonStillFrontPic_Cleffa), + SPECIES_SPRITE(IGGLYBUFF, gMonStillFrontPic_Igglybuff), + SPECIES_SPRITE(TOGEPI, gMonStillFrontPic_Togepi), + SPECIES_SPRITE(TOGETIC, gMonStillFrontPic_Togetic), + SPECIES_SPRITE(NATU, gMonStillFrontPic_Natu), + SPECIES_SPRITE(XATU, gMonStillFrontPic_Xatu), + SPECIES_SPRITE(MAREEP, gMonStillFrontPic_Mareep), + SPECIES_SPRITE(FLAAFFY, gMonStillFrontPic_Flaaffy), + SPECIES_SPRITE(AMPHAROS, gMonStillFrontPic_Ampharos), + SPECIES_SPRITE(BELLOSSOM, gMonStillFrontPic_Bellossom), + SPECIES_SPRITE(MARILL, gMonStillFrontPic_Marill), + SPECIES_SPRITE(AZUMARILL, gMonStillFrontPic_Azumarill), + SPECIES_SPRITE(SUDOWOODO, gMonStillFrontPic_Sudowoodo), + SPECIES_SPRITE(POLITOED, gMonStillFrontPic_Politoed), + SPECIES_SPRITE(HOPPIP, gMonStillFrontPic_Hoppip), + SPECIES_SPRITE(SKIPLOOM, gMonStillFrontPic_Skiploom), + SPECIES_SPRITE(JUMPLUFF, gMonStillFrontPic_Jumpluff), + SPECIES_SPRITE(AIPOM, gMonStillFrontPic_Aipom), + SPECIES_SPRITE(SUNKERN, gMonStillFrontPic_Sunkern), + SPECIES_SPRITE(SUNFLORA, gMonStillFrontPic_Sunflora), + SPECIES_SPRITE(YANMA, gMonStillFrontPic_Yanma), + SPECIES_SPRITE(WOOPER, gMonStillFrontPic_Wooper), + SPECIES_SPRITE(QUAGSIRE, gMonStillFrontPic_Quagsire), + SPECIES_SPRITE(ESPEON, gMonStillFrontPic_Espeon), + SPECIES_SPRITE(UMBREON, gMonStillFrontPic_Umbreon), + SPECIES_SPRITE(MURKROW, gMonStillFrontPic_Murkrow), + SPECIES_SPRITE(SLOWKING, gMonStillFrontPic_Slowking), + SPECIES_SPRITE(MISDREAVUS, gMonStillFrontPic_Misdreavus), + SPECIES_SPRITE(UNOWN, gMonStillFrontPic_UnownA), + SPECIES_SPRITE(WOBBUFFET, gMonStillFrontPic_Wobbuffet), + SPECIES_SPRITE(GIRAFARIG, gMonStillFrontPic_Girafarig), + SPECIES_SPRITE(PINECO, gMonStillFrontPic_Pineco), + SPECIES_SPRITE(FORRETRESS, gMonStillFrontPic_Forretress), + SPECIES_SPRITE(DUNSPARCE, gMonStillFrontPic_Dunsparce), + SPECIES_SPRITE(GLIGAR, gMonStillFrontPic_Gligar), + SPECIES_SPRITE(STEELIX, gMonStillFrontPic_Steelix), + SPECIES_SPRITE(SNUBBULL, gMonStillFrontPic_Snubbull), + SPECIES_SPRITE(GRANBULL, gMonStillFrontPic_Granbull), + SPECIES_SPRITE(QWILFISH, gMonStillFrontPic_Qwilfish), + SPECIES_SPRITE(SCIZOR, gMonStillFrontPic_Scizor), + SPECIES_SPRITE(SHUCKLE, gMonStillFrontPic_Shuckle), + SPECIES_SPRITE(HERACROSS, gMonStillFrontPic_Heracross), + SPECIES_SPRITE(SNEASEL, gMonStillFrontPic_Sneasel), + SPECIES_SPRITE(TEDDIURSA, gMonStillFrontPic_Teddiursa), + SPECIES_SPRITE(URSARING, gMonStillFrontPic_Ursaring), + SPECIES_SPRITE(SLUGMA, gMonStillFrontPic_Slugma), + SPECIES_SPRITE(MAGCARGO, gMonStillFrontPic_Magcargo), + SPECIES_SPRITE(SWINUB, gMonStillFrontPic_Swinub), + SPECIES_SPRITE(PILOSWINE, gMonStillFrontPic_Piloswine), + SPECIES_SPRITE(CORSOLA, gMonStillFrontPic_Corsola), + SPECIES_SPRITE(REMORAID, gMonStillFrontPic_Remoraid), + SPECIES_SPRITE(OCTILLERY, gMonStillFrontPic_Octillery), + SPECIES_SPRITE(DELIBIRD, gMonStillFrontPic_Delibird), + SPECIES_SPRITE(MANTINE, gMonStillFrontPic_Mantine), + SPECIES_SPRITE(SKARMORY, gMonStillFrontPic_Skarmory), + SPECIES_SPRITE(HOUNDOUR, gMonStillFrontPic_Houndour), + SPECIES_SPRITE(HOUNDOOM, gMonStillFrontPic_Houndoom), + SPECIES_SPRITE(KINGDRA, gMonStillFrontPic_Kingdra), + SPECIES_SPRITE(PHANPY, gMonStillFrontPic_Phanpy), + SPECIES_SPRITE(DONPHAN, gMonStillFrontPic_Donphan), + SPECIES_SPRITE(PORYGON2, gMonStillFrontPic_Porygon2), + SPECIES_SPRITE(STANTLER, gMonStillFrontPic_Stantler), + SPECIES_SPRITE(SMEARGLE, gMonStillFrontPic_Smeargle), + SPECIES_SPRITE(TYROGUE, gMonStillFrontPic_Tyrogue), + SPECIES_SPRITE(HITMONTOP, gMonStillFrontPic_Hitmontop), + SPECIES_SPRITE(SMOOCHUM, gMonStillFrontPic_Smoochum), + SPECIES_SPRITE(ELEKID, gMonStillFrontPic_Elekid), + SPECIES_SPRITE(MAGBY, gMonStillFrontPic_Magby), + SPECIES_SPRITE(MILTANK, gMonStillFrontPic_Miltank), + SPECIES_SPRITE(BLISSEY, gMonStillFrontPic_Blissey), + SPECIES_SPRITE(RAIKOU, gMonStillFrontPic_Raikou), + SPECIES_SPRITE(ENTEI, gMonStillFrontPic_Entei), + SPECIES_SPRITE(SUICUNE, gMonStillFrontPic_Suicune), + SPECIES_SPRITE(LARVITAR, gMonStillFrontPic_Larvitar), + SPECIES_SPRITE(PUPITAR, gMonStillFrontPic_Pupitar), + SPECIES_SPRITE(TYRANITAR, gMonStillFrontPic_Tyranitar), + SPECIES_SPRITE(LUGIA, gMonStillFrontPic_Lugia), + SPECIES_SPRITE(HO_OH, gMonStillFrontPic_HoOh), + SPECIES_SPRITE(CELEBI, gMonStillFrontPic_Celebi), // Empty slots - STILL_FRONT_PIC(OLD_UNOWN_B, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_C, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_D, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_E, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_F, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_G, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_H, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_I, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_J, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_K, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_L, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_M, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_N, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_O, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_P, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_Q, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_R, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_S, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_T, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_U, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_V, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_W, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_X, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_Y, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_Z, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_B, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_C, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_D, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_E, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_F, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_G, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_H, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_I, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_J, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_K, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_L, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_M, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_N, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_O, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_P, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_Q, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_R, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_S, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_T, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_U, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_V, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_W, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_X, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_Y, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_Z, gMonStillFrontPic_DoubleQuestionMark), // Gen III - STILL_FRONT_PIC(TREECKO, gMonStillFrontPic_Treecko), - STILL_FRONT_PIC(GROVYLE, gMonStillFrontPic_Grovyle), - STILL_FRONT_PIC(SCEPTILE, gMonStillFrontPic_Sceptile), - STILL_FRONT_PIC(TORCHIC, gMonStillFrontPic_Torchic), - STILL_FRONT_PIC(COMBUSKEN, gMonStillFrontPic_Combusken), - STILL_FRONT_PIC(BLAZIKEN, gMonStillFrontPic_Blaziken), - STILL_FRONT_PIC(MUDKIP, gMonStillFrontPic_Mudkip), - STILL_FRONT_PIC(MARSHTOMP, gMonStillFrontPic_Marshtomp), - STILL_FRONT_PIC(SWAMPERT, gMonStillFrontPic_Swampert), - STILL_FRONT_PIC(POOCHYENA, gMonStillFrontPic_Poochyena), - STILL_FRONT_PIC(MIGHTYENA, gMonStillFrontPic_Mightyena), - STILL_FRONT_PIC(ZIGZAGOON, gMonStillFrontPic_Zigzagoon), - STILL_FRONT_PIC(LINOONE, gMonStillFrontPic_Linoone), - STILL_FRONT_PIC(WURMPLE, gMonStillFrontPic_Wurmple), - STILL_FRONT_PIC(SILCOON, gMonStillFrontPic_Silcoon), - STILL_FRONT_PIC(BEAUTIFLY, gMonStillFrontPic_Beautifly), - STILL_FRONT_PIC(CASCOON, gMonStillFrontPic_Cascoon), - STILL_FRONT_PIC(DUSTOX, gMonStillFrontPic_Dustox), - STILL_FRONT_PIC(LOTAD, gMonStillFrontPic_Lotad), - STILL_FRONT_PIC(LOMBRE, gMonStillFrontPic_Lombre), - STILL_FRONT_PIC(LUDICOLO, gMonStillFrontPic_Ludicolo), - STILL_FRONT_PIC(SEEDOT, gMonStillFrontPic_Seedot), - STILL_FRONT_PIC(NUZLEAF, gMonStillFrontPic_Nuzleaf), - STILL_FRONT_PIC(SHIFTRY, gMonStillFrontPic_Shiftry), - STILL_FRONT_PIC(NINCADA, gMonStillFrontPic_Nincada), - STILL_FRONT_PIC(NINJASK, gMonStillFrontPic_Ninjask), - STILL_FRONT_PIC(SHEDINJA, gMonStillFrontPic_Shedinja), - STILL_FRONT_PIC(TAILLOW, gMonStillFrontPic_Taillow), - STILL_FRONT_PIC(SWELLOW, gMonStillFrontPic_Swellow), - STILL_FRONT_PIC(SHROOMISH, gMonStillFrontPic_Shroomish), - STILL_FRONT_PIC(BRELOOM, gMonStillFrontPic_Breloom), - STILL_FRONT_PIC(SPINDA, gMonStillFrontPic_Spinda), - STILL_FRONT_PIC(WINGULL, gMonStillFrontPic_Wingull), - STILL_FRONT_PIC(PELIPPER, gMonStillFrontPic_Pelipper), - STILL_FRONT_PIC(SURSKIT, gMonStillFrontPic_Surskit), - STILL_FRONT_PIC(MASQUERAIN, gMonStillFrontPic_Masquerain), - STILL_FRONT_PIC(WAILMER, gMonStillFrontPic_Wailmer), - STILL_FRONT_PIC(WAILORD, gMonStillFrontPic_Wailord), - STILL_FRONT_PIC(SKITTY, gMonStillFrontPic_Skitty), - STILL_FRONT_PIC(DELCATTY, gMonStillFrontPic_Delcatty), - STILL_FRONT_PIC(KECLEON, gMonStillFrontPic_Kecleon), - STILL_FRONT_PIC(BALTOY, gMonStillFrontPic_Baltoy), - STILL_FRONT_PIC(CLAYDOL, gMonStillFrontPic_Claydol), - STILL_FRONT_PIC(NOSEPASS, gMonStillFrontPic_Nosepass), - STILL_FRONT_PIC(TORKOAL, gMonStillFrontPic_Torkoal), - STILL_FRONT_PIC(SABLEYE, gMonStillFrontPic_Sableye), - STILL_FRONT_PIC(BARBOACH, gMonStillFrontPic_Barboach), - STILL_FRONT_PIC(WHISCASH, gMonStillFrontPic_Whiscash), - STILL_FRONT_PIC(LUVDISC, gMonStillFrontPic_Luvdisc), - STILL_FRONT_PIC(CORPHISH, gMonStillFrontPic_Corphish), - STILL_FRONT_PIC(CRAWDAUNT, gMonStillFrontPic_Crawdaunt), - STILL_FRONT_PIC(FEEBAS, gMonStillFrontPic_Feebas), - STILL_FRONT_PIC(MILOTIC, gMonStillFrontPic_Milotic), - STILL_FRONT_PIC(CARVANHA, gMonStillFrontPic_Carvanha), - STILL_FRONT_PIC(SHARPEDO, gMonStillFrontPic_Sharpedo), - STILL_FRONT_PIC(TRAPINCH, gMonStillFrontPic_Trapinch), - STILL_FRONT_PIC(VIBRAVA, gMonStillFrontPic_Vibrava), - STILL_FRONT_PIC(FLYGON, gMonStillFrontPic_Flygon), - STILL_FRONT_PIC(MAKUHITA, gMonStillFrontPic_Makuhita), - STILL_FRONT_PIC(HARIYAMA, gMonStillFrontPic_Hariyama), - STILL_FRONT_PIC(ELECTRIKE, gMonStillFrontPic_Electrike), - STILL_FRONT_PIC(MANECTRIC, gMonStillFrontPic_Manectric), - STILL_FRONT_PIC(NUMEL, gMonStillFrontPic_Numel), - STILL_FRONT_PIC(CAMERUPT, gMonStillFrontPic_Camerupt), - STILL_FRONT_PIC(SPHEAL, gMonStillFrontPic_Spheal), - STILL_FRONT_PIC(SEALEO, gMonStillFrontPic_Sealeo), - STILL_FRONT_PIC(WALREIN, gMonStillFrontPic_Walrein), - STILL_FRONT_PIC(CACNEA, gMonStillFrontPic_Cacnea), - STILL_FRONT_PIC(CACTURNE, gMonStillFrontPic_Cacturne), - STILL_FRONT_PIC(SNORUNT, gMonStillFrontPic_Snorunt), - STILL_FRONT_PIC(GLALIE, gMonStillFrontPic_Glalie), - STILL_FRONT_PIC(LUNATONE, gMonStillFrontPic_Lunatone), - STILL_FRONT_PIC(SOLROCK, gMonStillFrontPic_Solrock), - STILL_FRONT_PIC(AZURILL, gMonStillFrontPic_Azurill), - STILL_FRONT_PIC(SPOINK, gMonStillFrontPic_Spoink), - STILL_FRONT_PIC(GRUMPIG, gMonStillFrontPic_Grumpig), - STILL_FRONT_PIC(PLUSLE, gMonStillFrontPic_Plusle), - STILL_FRONT_PIC(MINUN, gMonStillFrontPic_Minun), - STILL_FRONT_PIC(MAWILE, gMonStillFrontPic_Mawile), - STILL_FRONT_PIC(MEDITITE, gMonStillFrontPic_Meditite), - STILL_FRONT_PIC(MEDICHAM, gMonStillFrontPic_Medicham), - STILL_FRONT_PIC(SWABLU, gMonStillFrontPic_Swablu), - STILL_FRONT_PIC(ALTARIA, gMonStillFrontPic_Altaria), - STILL_FRONT_PIC(WYNAUT, gMonStillFrontPic_Wynaut), - STILL_FRONT_PIC(DUSKULL, gMonStillFrontPic_Duskull), - STILL_FRONT_PIC(DUSCLOPS, gMonStillFrontPic_Dusclops), - STILL_FRONT_PIC(ROSELIA, gMonStillFrontPic_Roselia), - STILL_FRONT_PIC(SLAKOTH, gMonStillFrontPic_Slakoth), - STILL_FRONT_PIC(VIGOROTH, gMonStillFrontPic_Vigoroth), - STILL_FRONT_PIC(SLAKING, gMonStillFrontPic_Slaking), - STILL_FRONT_PIC(GULPIN, gMonStillFrontPic_Gulpin), - STILL_FRONT_PIC(SWALOT, gMonStillFrontPic_Swalot), - STILL_FRONT_PIC(TROPIUS, gMonStillFrontPic_Tropius), - STILL_FRONT_PIC(WHISMUR, gMonStillFrontPic_Whismur), - STILL_FRONT_PIC(LOUDRED, gMonStillFrontPic_Loudred), - STILL_FRONT_PIC(EXPLOUD, gMonStillFrontPic_Exploud), - STILL_FRONT_PIC(CLAMPERL, gMonStillFrontPic_Clamperl), - STILL_FRONT_PIC(HUNTAIL, gMonStillFrontPic_Huntail), - STILL_FRONT_PIC(GOREBYSS, gMonStillFrontPic_Gorebyss), - STILL_FRONT_PIC(ABSOL, gMonStillFrontPic_Absol), - STILL_FRONT_PIC(SHUPPET, gMonStillFrontPic_Shuppet), - STILL_FRONT_PIC(BANETTE, gMonStillFrontPic_Banette), - STILL_FRONT_PIC(SEVIPER, gMonStillFrontPic_Seviper), - STILL_FRONT_PIC(ZANGOOSE, gMonStillFrontPic_Zangoose), - STILL_FRONT_PIC(RELICANTH, gMonStillFrontPic_Relicanth), - STILL_FRONT_PIC(ARON, gMonStillFrontPic_Aron), - STILL_FRONT_PIC(LAIRON, gMonStillFrontPic_Lairon), - STILL_FRONT_PIC(AGGRON, gMonStillFrontPic_Aggron), - STILL_FRONT_PIC(CASTFORM, gMonStillFrontPic_Castform), - STILL_FRONT_PIC(VOLBEAT, gMonStillFrontPic_Volbeat), - STILL_FRONT_PIC(ILLUMISE, gMonStillFrontPic_Illumise), - STILL_FRONT_PIC(LILEEP, gMonStillFrontPic_Lileep), - STILL_FRONT_PIC(CRADILY, gMonStillFrontPic_Cradily), - STILL_FRONT_PIC(ANORITH, gMonStillFrontPic_Anorith), - STILL_FRONT_PIC(ARMALDO, gMonStillFrontPic_Armaldo), - STILL_FRONT_PIC(RALTS, gMonStillFrontPic_Ralts), - STILL_FRONT_PIC(KIRLIA, gMonStillFrontPic_Kirlia), - STILL_FRONT_PIC(GARDEVOIR, gMonStillFrontPic_Gardevoir), - STILL_FRONT_PIC(BAGON, gMonStillFrontPic_Bagon), - STILL_FRONT_PIC(SHELGON, gMonStillFrontPic_Shelgon), - STILL_FRONT_PIC(SALAMENCE, gMonStillFrontPic_Salamence), - STILL_FRONT_PIC(BELDUM, gMonStillFrontPic_Beldum), - STILL_FRONT_PIC(METANG, gMonStillFrontPic_Metang), - STILL_FRONT_PIC(METAGROSS, gMonStillFrontPic_Metagross), - STILL_FRONT_PIC(REGIROCK, gMonStillFrontPic_Regirock), - STILL_FRONT_PIC(REGICE, gMonStillFrontPic_Regice), - STILL_FRONT_PIC(REGISTEEL, gMonStillFrontPic_Registeel), - STILL_FRONT_PIC(KYOGRE, gMonStillFrontPic_Kyogre), - STILL_FRONT_PIC(GROUDON, gMonStillFrontPic_Groudon), - STILL_FRONT_PIC(RAYQUAZA, gMonStillFrontPic_Rayquaza), - STILL_FRONT_PIC(LATIAS, gMonStillFrontPic_Latias), - STILL_FRONT_PIC(LATIOS, gMonStillFrontPic_Latios), - STILL_FRONT_PIC(JIRACHI, gMonStillFrontPic_Jirachi), - STILL_FRONT_PIC(DEOXYS, gMonStillFrontPic_Deoxys), - STILL_FRONT_PIC(CHIMECHO, gMonStillFrontPic_Chimecho), - STILL_FRONT_PIC(EGG, gMonStillFrontPic_Egg), - STILL_FRONT_PIC(UNOWN_B, gMonStillFrontPic_UnownB), - STILL_FRONT_PIC(UNOWN_C, gMonStillFrontPic_UnownC), - STILL_FRONT_PIC(UNOWN_D, gMonStillFrontPic_UnownD), - STILL_FRONT_PIC(UNOWN_E, gMonStillFrontPic_UnownE), - STILL_FRONT_PIC(UNOWN_F, gMonStillFrontPic_UnownF), - STILL_FRONT_PIC(UNOWN_G, gMonStillFrontPic_UnownG), - STILL_FRONT_PIC(UNOWN_H, gMonStillFrontPic_UnownH), - STILL_FRONT_PIC(UNOWN_I, gMonStillFrontPic_UnownI), - STILL_FRONT_PIC(UNOWN_J, gMonStillFrontPic_UnownJ), - STILL_FRONT_PIC(UNOWN_K, gMonStillFrontPic_UnownK), - STILL_FRONT_PIC(UNOWN_L, gMonStillFrontPic_UnownL), - STILL_FRONT_PIC(UNOWN_M, gMonStillFrontPic_UnownM), - STILL_FRONT_PIC(UNOWN_N, gMonStillFrontPic_UnownN), - STILL_FRONT_PIC(UNOWN_O, gMonStillFrontPic_UnownO), - STILL_FRONT_PIC(UNOWN_P, gMonStillFrontPic_UnownP), - STILL_FRONT_PIC(UNOWN_Q, gMonStillFrontPic_UnownQ), - STILL_FRONT_PIC(UNOWN_R, gMonStillFrontPic_UnownR), - STILL_FRONT_PIC(UNOWN_S, gMonStillFrontPic_UnownS), - STILL_FRONT_PIC(UNOWN_T, gMonStillFrontPic_UnownT), - STILL_FRONT_PIC(UNOWN_U, gMonStillFrontPic_UnownU), - STILL_FRONT_PIC(UNOWN_V, gMonStillFrontPic_UnownV), - STILL_FRONT_PIC(UNOWN_W, gMonStillFrontPic_UnownW), - STILL_FRONT_PIC(UNOWN_X, gMonStillFrontPic_UnownX), - STILL_FRONT_PIC(UNOWN_Y, gMonStillFrontPic_UnownY), - STILL_FRONT_PIC(UNOWN_Z, gMonStillFrontPic_UnownZ), - STILL_FRONT_PIC(UNOWN_EMARK, gMonStillFrontPic_UnownExclamationMark), - STILL_FRONT_PIC(UNOWN_QMARK, gMonStillFrontPic_UnownQuestionMark), + SPECIES_SPRITE(TREECKO, gMonStillFrontPic_Treecko), + SPECIES_SPRITE(GROVYLE, gMonStillFrontPic_Grovyle), + SPECIES_SPRITE(SCEPTILE, gMonStillFrontPic_Sceptile), + SPECIES_SPRITE(TORCHIC, gMonStillFrontPic_Torchic), + SPECIES_SPRITE(COMBUSKEN, gMonStillFrontPic_Combusken), + SPECIES_SPRITE(BLAZIKEN, gMonStillFrontPic_Blaziken), + SPECIES_SPRITE(MUDKIP, gMonStillFrontPic_Mudkip), + SPECIES_SPRITE(MARSHTOMP, gMonStillFrontPic_Marshtomp), + SPECIES_SPRITE(SWAMPERT, gMonStillFrontPic_Swampert), + SPECIES_SPRITE(POOCHYENA, gMonStillFrontPic_Poochyena), + SPECIES_SPRITE(MIGHTYENA, gMonStillFrontPic_Mightyena), + SPECIES_SPRITE(ZIGZAGOON, gMonStillFrontPic_Zigzagoon), + SPECIES_SPRITE(LINOONE, gMonStillFrontPic_Linoone), + SPECIES_SPRITE(WURMPLE, gMonStillFrontPic_Wurmple), + SPECIES_SPRITE(SILCOON, gMonStillFrontPic_Silcoon), + SPECIES_SPRITE(BEAUTIFLY, gMonStillFrontPic_Beautifly), + SPECIES_SPRITE(CASCOON, gMonStillFrontPic_Cascoon), + SPECIES_SPRITE(DUSTOX, gMonStillFrontPic_Dustox), + SPECIES_SPRITE(LOTAD, gMonStillFrontPic_Lotad), + SPECIES_SPRITE(LOMBRE, gMonStillFrontPic_Lombre), + SPECIES_SPRITE(LUDICOLO, gMonStillFrontPic_Ludicolo), + SPECIES_SPRITE(SEEDOT, gMonStillFrontPic_Seedot), + SPECIES_SPRITE(NUZLEAF, gMonStillFrontPic_Nuzleaf), + SPECIES_SPRITE(SHIFTRY, gMonStillFrontPic_Shiftry), + SPECIES_SPRITE(NINCADA, gMonStillFrontPic_Nincada), + SPECIES_SPRITE(NINJASK, gMonStillFrontPic_Ninjask), + SPECIES_SPRITE(SHEDINJA, gMonStillFrontPic_Shedinja), + SPECIES_SPRITE(TAILLOW, gMonStillFrontPic_Taillow), + SPECIES_SPRITE(SWELLOW, gMonStillFrontPic_Swellow), + SPECIES_SPRITE(SHROOMISH, gMonStillFrontPic_Shroomish), + SPECIES_SPRITE(BRELOOM, gMonStillFrontPic_Breloom), + SPECIES_SPRITE(SPINDA, gMonStillFrontPic_Spinda), + SPECIES_SPRITE(WINGULL, gMonStillFrontPic_Wingull), + SPECIES_SPRITE(PELIPPER, gMonStillFrontPic_Pelipper), + SPECIES_SPRITE(SURSKIT, gMonStillFrontPic_Surskit), + SPECIES_SPRITE(MASQUERAIN, gMonStillFrontPic_Masquerain), + SPECIES_SPRITE(WAILMER, gMonStillFrontPic_Wailmer), + SPECIES_SPRITE(WAILORD, gMonStillFrontPic_Wailord), + SPECIES_SPRITE(SKITTY, gMonStillFrontPic_Skitty), + SPECIES_SPRITE(DELCATTY, gMonStillFrontPic_Delcatty), + SPECIES_SPRITE(KECLEON, gMonStillFrontPic_Kecleon), + SPECIES_SPRITE(BALTOY, gMonStillFrontPic_Baltoy), + SPECIES_SPRITE(CLAYDOL, gMonStillFrontPic_Claydol), + SPECIES_SPRITE(NOSEPASS, gMonStillFrontPic_Nosepass), + SPECIES_SPRITE(TORKOAL, gMonStillFrontPic_Torkoal), + SPECIES_SPRITE(SABLEYE, gMonStillFrontPic_Sableye), + SPECIES_SPRITE(BARBOACH, gMonStillFrontPic_Barboach), + SPECIES_SPRITE(WHISCASH, gMonStillFrontPic_Whiscash), + SPECIES_SPRITE(LUVDISC, gMonStillFrontPic_Luvdisc), + SPECIES_SPRITE(CORPHISH, gMonStillFrontPic_Corphish), + SPECIES_SPRITE(CRAWDAUNT, gMonStillFrontPic_Crawdaunt), + SPECIES_SPRITE(FEEBAS, gMonStillFrontPic_Feebas), + SPECIES_SPRITE(MILOTIC, gMonStillFrontPic_Milotic), + SPECIES_SPRITE(CARVANHA, gMonStillFrontPic_Carvanha), + SPECIES_SPRITE(SHARPEDO, gMonStillFrontPic_Sharpedo), + SPECIES_SPRITE(TRAPINCH, gMonStillFrontPic_Trapinch), + SPECIES_SPRITE(VIBRAVA, gMonStillFrontPic_Vibrava), + SPECIES_SPRITE(FLYGON, gMonStillFrontPic_Flygon), + SPECIES_SPRITE(MAKUHITA, gMonStillFrontPic_Makuhita), + SPECIES_SPRITE(HARIYAMA, gMonStillFrontPic_Hariyama), + SPECIES_SPRITE(ELECTRIKE, gMonStillFrontPic_Electrike), + SPECIES_SPRITE(MANECTRIC, gMonStillFrontPic_Manectric), + SPECIES_SPRITE(NUMEL, gMonStillFrontPic_Numel), + SPECIES_SPRITE(CAMERUPT, gMonStillFrontPic_Camerupt), + SPECIES_SPRITE(SPHEAL, gMonStillFrontPic_Spheal), + SPECIES_SPRITE(SEALEO, gMonStillFrontPic_Sealeo), + SPECIES_SPRITE(WALREIN, gMonStillFrontPic_Walrein), + SPECIES_SPRITE(CACNEA, gMonStillFrontPic_Cacnea), + SPECIES_SPRITE(CACTURNE, gMonStillFrontPic_Cacturne), + SPECIES_SPRITE(SNORUNT, gMonStillFrontPic_Snorunt), + SPECIES_SPRITE(GLALIE, gMonStillFrontPic_Glalie), + SPECIES_SPRITE(LUNATONE, gMonStillFrontPic_Lunatone), + SPECIES_SPRITE(SOLROCK, gMonStillFrontPic_Solrock), + SPECIES_SPRITE(AZURILL, gMonStillFrontPic_Azurill), + SPECIES_SPRITE(SPOINK, gMonStillFrontPic_Spoink), + SPECIES_SPRITE(GRUMPIG, gMonStillFrontPic_Grumpig), + SPECIES_SPRITE(PLUSLE, gMonStillFrontPic_Plusle), + SPECIES_SPRITE(MINUN, gMonStillFrontPic_Minun), + SPECIES_SPRITE(MAWILE, gMonStillFrontPic_Mawile), + SPECIES_SPRITE(MEDITITE, gMonStillFrontPic_Meditite), + SPECIES_SPRITE(MEDICHAM, gMonStillFrontPic_Medicham), + SPECIES_SPRITE(SWABLU, gMonStillFrontPic_Swablu), + SPECIES_SPRITE(ALTARIA, gMonStillFrontPic_Altaria), + SPECIES_SPRITE(WYNAUT, gMonStillFrontPic_Wynaut), + SPECIES_SPRITE(DUSKULL, gMonStillFrontPic_Duskull), + SPECIES_SPRITE(DUSCLOPS, gMonStillFrontPic_Dusclops), + SPECIES_SPRITE(ROSELIA, gMonStillFrontPic_Roselia), + SPECIES_SPRITE(SLAKOTH, gMonStillFrontPic_Slakoth), + SPECIES_SPRITE(VIGOROTH, gMonStillFrontPic_Vigoroth), + SPECIES_SPRITE(SLAKING, gMonStillFrontPic_Slaking), + SPECIES_SPRITE(GULPIN, gMonStillFrontPic_Gulpin), + SPECIES_SPRITE(SWALOT, gMonStillFrontPic_Swalot), + SPECIES_SPRITE(TROPIUS, gMonStillFrontPic_Tropius), + SPECIES_SPRITE(WHISMUR, gMonStillFrontPic_Whismur), + SPECIES_SPRITE(LOUDRED, gMonStillFrontPic_Loudred), + SPECIES_SPRITE(EXPLOUD, gMonStillFrontPic_Exploud), + SPECIES_SPRITE(CLAMPERL, gMonStillFrontPic_Clamperl), + SPECIES_SPRITE(HUNTAIL, gMonStillFrontPic_Huntail), + SPECIES_SPRITE(GOREBYSS, gMonStillFrontPic_Gorebyss), + SPECIES_SPRITE(ABSOL, gMonStillFrontPic_Absol), + SPECIES_SPRITE(SHUPPET, gMonStillFrontPic_Shuppet), + SPECIES_SPRITE(BANETTE, gMonStillFrontPic_Banette), + SPECIES_SPRITE(SEVIPER, gMonStillFrontPic_Seviper), + SPECIES_SPRITE(ZANGOOSE, gMonStillFrontPic_Zangoose), + SPECIES_SPRITE(RELICANTH, gMonStillFrontPic_Relicanth), + SPECIES_SPRITE(ARON, gMonStillFrontPic_Aron), + SPECIES_SPRITE(LAIRON, gMonStillFrontPic_Lairon), + SPECIES_SPRITE(AGGRON, gMonStillFrontPic_Aggron), + SPECIES_SPRITE(CASTFORM, gMonStillFrontPic_Castform), + SPECIES_SPRITE(VOLBEAT, gMonStillFrontPic_Volbeat), + SPECIES_SPRITE(ILLUMISE, gMonStillFrontPic_Illumise), + SPECIES_SPRITE(LILEEP, gMonStillFrontPic_Lileep), + SPECIES_SPRITE(CRADILY, gMonStillFrontPic_Cradily), + SPECIES_SPRITE(ANORITH, gMonStillFrontPic_Anorith), + SPECIES_SPRITE(ARMALDO, gMonStillFrontPic_Armaldo), + SPECIES_SPRITE(RALTS, gMonStillFrontPic_Ralts), + SPECIES_SPRITE(KIRLIA, gMonStillFrontPic_Kirlia), + SPECIES_SPRITE(GARDEVOIR, gMonStillFrontPic_Gardevoir), + SPECIES_SPRITE(BAGON, gMonStillFrontPic_Bagon), + SPECIES_SPRITE(SHELGON, gMonStillFrontPic_Shelgon), + SPECIES_SPRITE(SALAMENCE, gMonStillFrontPic_Salamence), + SPECIES_SPRITE(BELDUM, gMonStillFrontPic_Beldum), + SPECIES_SPRITE(METANG, gMonStillFrontPic_Metang), + SPECIES_SPRITE(METAGROSS, gMonStillFrontPic_Metagross), + SPECIES_SPRITE(REGIROCK, gMonStillFrontPic_Regirock), + SPECIES_SPRITE(REGICE, gMonStillFrontPic_Regice), + SPECIES_SPRITE(REGISTEEL, gMonStillFrontPic_Registeel), + SPECIES_SPRITE(KYOGRE, gMonStillFrontPic_Kyogre), + SPECIES_SPRITE(GROUDON, gMonStillFrontPic_Groudon), + SPECIES_SPRITE(RAYQUAZA, gMonStillFrontPic_Rayquaza), + SPECIES_SPRITE(LATIAS, gMonStillFrontPic_Latias), + SPECIES_SPRITE(LATIOS, gMonStillFrontPic_Latios), + SPECIES_SPRITE(JIRACHI, gMonStillFrontPic_Jirachi), + SPECIES_SPRITE(DEOXYS, gMonStillFrontPic_Deoxys), + SPECIES_SPRITE(CHIMECHO, gMonStillFrontPic_Chimecho), + SPECIES_SPRITE(EGG, gMonStillFrontPic_Egg), + SPECIES_SPRITE(UNOWN_B, gMonStillFrontPic_UnownB), + SPECIES_SPRITE(UNOWN_C, gMonStillFrontPic_UnownC), + SPECIES_SPRITE(UNOWN_D, gMonStillFrontPic_UnownD), + SPECIES_SPRITE(UNOWN_E, gMonStillFrontPic_UnownE), + SPECIES_SPRITE(UNOWN_F, gMonStillFrontPic_UnownF), + SPECIES_SPRITE(UNOWN_G, gMonStillFrontPic_UnownG), + SPECIES_SPRITE(UNOWN_H, gMonStillFrontPic_UnownH), + SPECIES_SPRITE(UNOWN_I, gMonStillFrontPic_UnownI), + SPECIES_SPRITE(UNOWN_J, gMonStillFrontPic_UnownJ), + SPECIES_SPRITE(UNOWN_K, gMonStillFrontPic_UnownK), + SPECIES_SPRITE(UNOWN_L, gMonStillFrontPic_UnownL), + SPECIES_SPRITE(UNOWN_M, gMonStillFrontPic_UnownM), + SPECIES_SPRITE(UNOWN_N, gMonStillFrontPic_UnownN), + SPECIES_SPRITE(UNOWN_O, gMonStillFrontPic_UnownO), + SPECIES_SPRITE(UNOWN_P, gMonStillFrontPic_UnownP), + SPECIES_SPRITE(UNOWN_Q, gMonStillFrontPic_UnownQ), + SPECIES_SPRITE(UNOWN_R, gMonStillFrontPic_UnownR), + SPECIES_SPRITE(UNOWN_S, gMonStillFrontPic_UnownS), + SPECIES_SPRITE(UNOWN_T, gMonStillFrontPic_UnownT), + SPECIES_SPRITE(UNOWN_U, gMonStillFrontPic_UnownU), + SPECIES_SPRITE(UNOWN_V, gMonStillFrontPic_UnownV), + SPECIES_SPRITE(UNOWN_W, gMonStillFrontPic_UnownW), + SPECIES_SPRITE(UNOWN_X, gMonStillFrontPic_UnownX), + SPECIES_SPRITE(UNOWN_Y, gMonStillFrontPic_UnownY), + SPECIES_SPRITE(UNOWN_Z, gMonStillFrontPic_UnownZ), + SPECIES_SPRITE(UNOWN_EMARK, gMonStillFrontPic_UnownExclamationMark), + SPECIES_SPRITE(UNOWN_QMARK, gMonStillFrontPic_UnownQuestionMark), }; diff --git a/src/data/pokemon_graphics/unknown_anims.h b/src/data/pokemon_graphics/unknown_anims.h index 313e7ae35a..bb4862d098 100644 --- a/src/data/pokemon_graphics/unknown_anims.h +++ b/src/data/pokemon_graphics/unknown_anims.h @@ -1,36 +1,5 @@ -const union AnimCmd gUnknown_082FF6EC[] = -{ - ANIMCMD_FRAME(0, 0), - ANIMCMD_END, -}; - -const union AnimCmd gUnknown_082FF6F4[] = -{ - ANIMCMD_FRAME(1, 0), - ANIMCMD_END, -}; - -const union AnimCmd gUnknown_082FF6FC[] = -{ - ANIMCMD_FRAME(2, 0), - ANIMCMD_END, -}; - -const union AnimCmd gUnknown_082FF704[] = -{ - ANIMCMD_FRAME(3, 0), - ANIMCMD_END, -}; - -const union AnimCmd *const gPlayerMonSpriteAnimsTable[] = -{ - gUnknown_082FF6EC, - gUnknown_082FF6F4, - gUnknown_082FF6FC, - gUnknown_082FF704, -}; - -const union AnimCmd gUnknown_082FF71C[] = +// unused and unkown +static const union AnimCmd gUnknown_082FF71C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 25), @@ -40,7 +9,7 @@ const union AnimCmd gUnknown_082FF71C[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF734[] = +static const union AnimCmd gUnknown_082FF734[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(2, 8), @@ -48,20 +17,20 @@ const union AnimCmd gUnknown_082FF734[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF744[] = +static const union AnimCmd gUnknown_082FF744[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(2, 10), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF750[] = +static const union AnimCmd gUnknown_082FF750[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF758[] = +static const union AnimCmd gUnknown_082FF758[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 5), @@ -72,7 +41,7 @@ const union AnimCmd gUnknown_082FF758[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF774[] = +static const union AnimCmd gUnknown_082FF774[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(2, 12), @@ -83,14 +52,14 @@ const union AnimCmd gUnknown_082FF774[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF790[] = +static const union AnimCmd gUnknown_082FF790[] = { ANIMCMD_FRAME(0, 14), ANIMCMD_FRAME(2, 12), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF79C[] = +static const union AnimCmd gUnknown_082FF79C[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -99,7 +68,7 @@ const union AnimCmd gUnknown_082FF79C[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF7B0[] = +static const union AnimCmd gUnknown_082FF7B0[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(2, 10), @@ -108,193 +77,193 @@ const union AnimCmd gUnknown_082FF7B0[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF7C4[] = +static const union AnimCmd gUnknown_082FF7C4[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF7CC[] = +static const union AnimCmd gUnknown_082FF7CC[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF7D4[] = +static const union AnimCmd gUnknown_082FF7D4[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF7DC[] = +static const union AnimCmd gUnknown_082FF7DC[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF7E4[] = +static const union AnimCmd gUnknown_082FF7E4[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF7EC[] = +static const union AnimCmd gUnknown_082FF7EC[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF7F4[] = +static const union AnimCmd gUnknown_082FF7F4[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF7FC[] = +static const union AnimCmd gUnknown_082FF7FC[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF804[] = +static const union AnimCmd gUnknown_082FF804[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF80C[] = +static const union AnimCmd gUnknown_082FF80C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF814[] = +static const union AnimCmd gUnknown_082FF814[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF81C[] = +static const union AnimCmd gUnknown_082FF81C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF824[] = +static const union AnimCmd gUnknown_082FF824[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF82C[] = +static const union AnimCmd gUnknown_082FF82C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF834[] = +static const union AnimCmd gUnknown_082FF834[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF83C[] = +static const union AnimCmd gUnknown_082FF83C[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF844[] = +static const union AnimCmd gUnknown_082FF844[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF84C[] = +static const union AnimCmd gUnknown_082FF84C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF854[] = +static const union AnimCmd gUnknown_082FF854[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF85C[] = +static const union AnimCmd gUnknown_082FF85C[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF864[] = +static const union AnimCmd gUnknown_082FF864[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF86C[] = +static const union AnimCmd gUnknown_082FF86C[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF874[] = +static const union AnimCmd gUnknown_082FF874[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF87C[] = +static const union AnimCmd gUnknown_082FF87C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF884[] = +static const union AnimCmd gUnknown_082FF884[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF88C[] = +static const union AnimCmd gUnknown_082FF88C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF894[] = +static const union AnimCmd gUnknown_082FF894[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF89C[] = +static const union AnimCmd gUnknown_082FF89C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF8A4[] = +static const union AnimCmd gUnknown_082FF8A4[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF8AC[] = +static const union AnimCmd gUnknown_082FF8AC[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF8B4[] = +static const union AnimCmd gUnknown_082FF8B4[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF8BC[] = +static const union AnimCmd gUnknown_082FF8BC[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(8, 15), @@ -314,7 +283,7 @@ const union AnimCmd gUnknown_082FF8BC[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF8FC[] = +static const union AnimCmd gUnknown_082FF8FC[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(8, 15), @@ -326,7 +295,7 @@ const union AnimCmd gUnknown_082FF8FC[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF91C[] = +static const union AnimCmd gUnknown_082FF91C[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(9, 10), @@ -335,26 +304,26 @@ const union AnimCmd gUnknown_082FF91C[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF930[] = +static const union AnimCmd gUnknown_082FF930[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(11, 15), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF93C[] = +static const union AnimCmd gUnknown_082FF93C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF944[] = +static const union AnimCmd gUnknown_082FF944[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF94C[] = +static const union AnimCmd gUnknown_082FF94C[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 7), @@ -381,7 +350,7 @@ const union AnimCmd gUnknown_082FF94C[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF9A8[] = +static const union AnimCmd gUnknown_082FF9A8[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(7, 12), @@ -407,7 +376,7 @@ const union AnimCmd gUnknown_082FF9A8[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFA00[] = +static const union AnimCmd gUnknown_082FFA00[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(7, 12), @@ -433,182 +402,182 @@ const union AnimCmd gUnknown_082FFA00[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFA58[] = +static const union AnimCmd gUnknown_082FFA58[] = { ANIMCMD_FRAME(0,18), ANIMCMD_FRAME(10, 18), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFA64[] = +static const union AnimCmd gUnknown_082FFA64[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFA6C[] = +static const union AnimCmd gUnknown_082FFA6C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFA74[] = +static const union AnimCmd gUnknown_082FFA74[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFA7C[] = +static const union AnimCmd gUnknown_082FFA7C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFA84[] = +static const union AnimCmd gUnknown_082FFA84[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFA8C[] = +static const union AnimCmd gUnknown_082FFA8C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFA94[] = +static const union AnimCmd gUnknown_082FFA94[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFA9C[] = +static const union AnimCmd gUnknown_082FFA9C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFAA4[] = +static const union AnimCmd gUnknown_082FFAA4[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFAAC[] = +static const union AnimCmd gUnknown_082FFAAC[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFAB4[] = +static const union AnimCmd gUnknown_082FFAB4[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFABC[] = +static const union AnimCmd gUnknown_082FFABC[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFAC4[] = +static const union AnimCmd gUnknown_082FFAC4[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFACC[] = +static const union AnimCmd gUnknown_082FFACC[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFAD4[] = +static const union AnimCmd gUnknown_082FFAD4[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFADC[] = +static const union AnimCmd gUnknown_082FFADC[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFAE4[] = +static const union AnimCmd gUnknown_082FFAE4[] = { ANIMCMD_FRAME(0, 63), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFAEC[] = +static const union AnimCmd gUnknown_082FFAEC[] = { ANIMCMD_FRAME(0, 63), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFAF4[] = +static const union AnimCmd gUnknown_082FFAF4[] = { ANIMCMD_FRAME(0, 63), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFAFC[] = +static const union AnimCmd gUnknown_082FFAFC[] = { ANIMCMD_FRAME(0, 63), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFB04[] = +static const union AnimCmd gUnknown_082FFB04[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFB0C[] = +static const union AnimCmd gUnknown_082FFB0C[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFB14[] = +static const union AnimCmd gUnknown_082FFB14[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFB1C[] = +static const union AnimCmd gUnknown_082FFB1C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFB24[] = +static const union AnimCmd gUnknown_082FFB24[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFB2C[] = +static const union AnimCmd gUnknown_082FFB2C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFB34[] = +static const union AnimCmd gUnknown_082FFB34[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFB3C[] = +static const union AnimCmd gUnknown_082FFB3C[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFB44[] = +static const union AnimCmd gUnknown_082FFB44[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 18), @@ -619,7 +588,7 @@ const union AnimCmd gUnknown_082FFB44[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFB60[] = +static const union AnimCmd gUnknown_082FFB60[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(2, 18), @@ -630,7 +599,7 @@ const union AnimCmd gUnknown_082FFB60[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFB7C[] = +static const union AnimCmd gUnknown_082FFB7C[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(2, 5), @@ -650,7 +619,7 @@ const union AnimCmd gUnknown_082FFB7C[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFBBC[] = +static const union AnimCmd gUnknown_082FFBBC[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 6), @@ -663,7 +632,7 @@ const union AnimCmd gUnknown_082FFBBC[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFBE0[] = +static const union AnimCmd gUnknown_082FFBE0[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(5, 12), @@ -672,61 +641,61 @@ const union AnimCmd gUnknown_082FFBE0[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFBF4[] = +static const union AnimCmd gUnknown_082FFBF4[] = { ANIMCMD_FRAME(7, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFBFC[] = +static const union AnimCmd gUnknown_082FFBFC[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC04[] = +static const union AnimCmd gUnknown_082FFC04[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC0C[] = +static const union AnimCmd gUnknown_082FFC0C[] = { ANIMCMD_FRAME(0, 63), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC14[] = +static const union AnimCmd gUnknown_082FFC14[] = { ANIMCMD_FRAME(0, 63), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC1C[] = +static const union AnimCmd gUnknown_082FFC1C[] = { ANIMCMD_FRAME(0, 63), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC24[] = +static const union AnimCmd gUnknown_082FFC24[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC2C[] = +static const union AnimCmd gUnknown_082FFC2C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC34[] = +static const union AnimCmd gUnknown_082FFC34[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC3C[] = +static const union AnimCmd gUnknown_082FFC3C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 10), @@ -737,7 +706,7 @@ const union AnimCmd gUnknown_082FFC3C[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC58[] = +static const union AnimCmd gUnknown_082FFC58[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(2, 8), @@ -748,217 +717,217 @@ const union AnimCmd gUnknown_082FFC58[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC74[] = +static const union AnimCmd gUnknown_082FFC74[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC7C[] = +static const union AnimCmd gUnknown_082FFC7C[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC84[] = +static const union AnimCmd gUnknown_082FFC84[] = { ANIMCMD_FRAME(1, 9), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC8C[] = +static const union AnimCmd gUnknown_082FFC8C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC94[] = +static const union AnimCmd gUnknown_082FFC94[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC9C[] = +static const union AnimCmd gUnknown_082FFC9C[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFCA4[] = +static const union AnimCmd gUnknown_082FFCA4[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFCAC[] = +static const union AnimCmd gUnknown_082FFCAC[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFCB4[] = +static const union AnimCmd gUnknown_082FFCB4[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFCBC[] = +static const union AnimCmd gUnknown_082FFCBC[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFCC4[] = +static const union AnimCmd gUnknown_082FFCC4[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFCCC[] = +static const union AnimCmd gUnknown_082FFCCC[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFCD4[] = +static const union AnimCmd gUnknown_082FFCD4[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFCDC[] = +static const union AnimCmd gUnknown_082FFCDC[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFCE4[] = +static const union AnimCmd gUnknown_082FFCE4[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFCEC[] = +static const union AnimCmd gUnknown_082FFCEC[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFCF4[] = +static const union AnimCmd gUnknown_082FFCF4[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFCFC[] = +static const union AnimCmd gUnknown_082FFCFC[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD04[] = +static const union AnimCmd gUnknown_082FFD04[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD0C[] = +static const union AnimCmd gUnknown_082FFD0C[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD14[] = +static const union AnimCmd gUnknown_082FFD14[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD1C[] = +static const union AnimCmd gUnknown_082FFD1C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD24[] = +static const union AnimCmd gUnknown_082FFD24[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD2C[] = +static const union AnimCmd gUnknown_082FFD2C[] = { ANIMCMD_FRAME(2, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD34[] = +static const union AnimCmd gUnknown_082FFD34[] = { ANIMCMD_FRAME(3, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD3C[] = +static const union AnimCmd gUnknown_082FFD3C[] = { ANIMCMD_FRAME(0, 63), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD44[] = +static const union AnimCmd gUnknown_082FFD44[] = { ANIMCMD_FRAME(0, 63), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD4C[] = +static const union AnimCmd gUnknown_082FFD4C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD54[] = +static const union AnimCmd gUnknown_082FFD54[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD5C[] = +static const union AnimCmd gUnknown_082FFD5C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD64[] = +static const union AnimCmd gUnknown_082FFD64[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD6C[] = +static const union AnimCmd gUnknown_082FFD6C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD74[] = +static const union AnimCmd gUnknown_082FFD74[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD7C[] = +static const union AnimCmd gUnknown_082FFD7C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD84[] = +static const union AnimCmd gUnknown_082FFD84[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD8C[] = +static const union AnimCmd gUnknown_082FFD8C[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 30), @@ -967,7 +936,7 @@ const union AnimCmd gUnknown_082FFD8C[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFDA0[] = +static const union AnimCmd gUnknown_082FFDA0[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -976,933 +945,933 @@ const union AnimCmd gUnknown_082FFDA0[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFDB4[] = +static const union AnimCmd gUnknown_082FFDB4[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFDBC[] = +static const union AnimCmd gUnknown_082FFDBC[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFDC4[] = +static const union AnimCmd gUnknown_082FFDC4[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_082FFDCC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFDD0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFDD4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFDD8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFDDC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFDE0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFDE4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFDE8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFDEC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFDF0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFDF4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFDF8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFDFC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE00[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE04[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE08[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE0C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE10[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE14[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE18[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE1C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE20[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE24[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE28[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE2C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE30[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE34[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE38[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE3C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE40[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE44[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE48[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE4C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE50[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE54[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE58[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE5C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE60[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE64[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE68[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE6C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE70[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE74[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE78[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE7C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE80[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE84[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE88[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE8C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE90[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE94[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE98[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE9C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEA0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEA4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEA8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEAC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEB0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEB4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEB8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEBC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEC0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEC4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEC8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFECC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFED0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFED4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFED8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEDC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEE0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEE4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEE8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEEC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEF0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEF4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEF8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEFC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF00[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF04[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF08[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF0C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF10[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF14[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF18[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF1C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF20[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF24[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF28[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF2C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF30[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF34[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF38[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF3C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF40[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF44[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF48[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF4C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF50[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF54[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF58[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF5C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF60[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF64[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF68[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF6C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF70[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF74[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF78[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF7C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF80[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF84[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF88[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF8C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF90[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF94[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF98[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF9C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFA0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFA4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFA8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFAC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFB0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFB4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFB8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFBC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFC0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFC4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFC8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFCC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFD0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFD4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFD8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFDC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFE0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFE4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFE8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFEC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFF0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFF4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFF8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFFC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300000[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300004[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300008[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830000C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300010[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300014[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300018[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830001C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300020[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300024[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300028[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830002C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300030[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300034[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300038[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830003C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300040[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300044[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300048[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830004C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300050[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300054[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300058[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830005C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300060[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300064[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300068[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830006C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300070[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300074[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300078[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830007C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300080[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300084[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300088[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830008C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300090[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300094[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300098[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830009C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000A0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000A4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000A8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000AC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000B0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000B4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000B8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000BC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000C0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000C4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000C8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000CC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000D0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000D4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000D8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000DC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000E0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000E4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000E8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000EC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000F0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000F4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000F8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000FC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300100[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300104[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300108[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830010C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300110[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300114[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300118[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830011C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300120[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300124[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300128[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830012C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300130[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300134[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300138[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830013C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300140[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300144[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300148[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830014C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300150[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300154[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300158[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830015C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300160[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300164[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300168[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830016C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300170[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300174[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300178[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830017C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300180[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300184[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300188[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830018C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300190[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300194[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300198[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830019C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083001A0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083001A4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083001A8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083001AC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083001B0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083001B4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083001B8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083001BC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083001C0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083001C4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083001C8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083001CC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083001D0[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_082FFDCC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFDD0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFDD4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFDD8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFDDC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFDE0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFDE4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFDE8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFDEC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFDF0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFDF4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFDF8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFDFC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE00[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE04[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE08[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE0C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE10[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE14[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE18[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE1C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE20[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE24[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE28[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE2C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE30[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE34[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE38[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE3C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE40[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE44[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE48[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE4C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE50[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE54[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE58[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE5C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE60[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE64[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE68[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE6C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE70[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE74[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE78[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE7C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE80[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE84[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE88[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE8C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE90[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE94[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE98[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE9C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEA0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEA4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEA8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEAC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEB0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEB4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEB8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEBC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEC0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEC4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEC8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFECC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFED0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFED4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFED8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEDC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEE0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEE4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEE8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEEC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEF0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEF4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEF8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEFC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF00[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF04[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF08[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF0C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF10[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF14[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF18[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF1C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF20[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF24[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF28[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF2C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF30[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF34[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF38[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF3C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF40[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF44[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF48[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF4C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF50[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF54[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF58[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF5C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF60[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF64[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF68[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF6C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF70[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF74[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF78[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF7C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF80[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF84[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF88[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF8C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF90[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF94[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF98[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF9C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFA0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFA4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFA8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFAC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFB0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFB4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFB8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFBC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFC0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFC4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFC8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFCC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFD0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFD4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFD8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFDC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFE0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFE4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFE8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFEC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFF0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFF4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFF8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFFC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300000[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300004[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300008[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830000C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300010[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300014[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300018[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830001C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300020[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300024[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300028[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830002C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300030[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300034[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300038[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830003C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300040[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300044[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300048[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830004C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300050[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300054[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300058[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830005C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300060[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300064[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300068[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830006C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300070[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300074[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300078[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830007C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300080[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300084[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300088[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830008C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300090[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300094[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300098[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830009C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000A0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000A4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000A8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000AC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000B0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000B4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000B8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000BC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000C0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000C4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000C8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000CC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000D0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000D4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000D8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000DC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000E0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000E4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000E8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000EC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000F0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000F4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000F8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000FC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300100[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300104[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300108[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830010C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300110[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300114[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300118[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830011C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300120[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300124[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300128[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830012C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300130[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300134[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300138[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830013C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300140[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300144[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300148[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830014C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300150[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300154[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300158[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830015C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300160[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300164[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300168[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830016C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300170[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300174[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300178[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830017C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300180[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300184[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300188[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830018C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300190[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300194[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300198[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830019C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083001A0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083001A4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083001A8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083001AC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083001B0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083001B4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083001B8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083001BC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083001C0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083001C4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083001C8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083001CC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083001D0[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_083001D4[] = +static const union AnimCmd *const gUnknown_083001D4[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF71C, gUnknown_082FF734, gUnknown_082FF744, gUnknown_082FF750, }; -const union AnimCmd *const gUnknown_083001E8[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_083001E8[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_083001EC[] = +static const union AnimCmd *const gUnknown_083001EC[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF758, gUnknown_082FF774, gUnknown_082FF790, }; -const union AnimCmd *const gUnknown_083001FC[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_083001FC[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_08300200[] = +static const union AnimCmd *const gUnknown_08300200[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF79C, gUnknown_082FF7B0, }; -const union AnimCmd *const gUnknown_0830020C[] = +static const union AnimCmd *const gUnknown_0830020C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF7C4, }; -const union AnimCmd *const gUnknown_08300214[] = +static const union AnimCmd *const gUnknown_08300214[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF7CC, }; -const union AnimCmd *const gUnknown_0830021C[] = +static const union AnimCmd *const gUnknown_0830021C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF7D4, }; -const union AnimCmd *const gUnknown_08300224[] = +static const union AnimCmd *const gUnknown_08300224[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF7DC, gUnknown_082FF7E4, }; -const union AnimCmd *const gUnknown_08300230[] = +static const union AnimCmd *const gUnknown_08300230[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF7EC, gUnknown_082FF7F4, }; -const union AnimCmd *const gUnknown_0830023C[] = +static const union AnimCmd *const gUnknown_0830023C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF7FC, gUnknown_082FF804, }; -const union AnimCmd *const gUnknown_08300248[] = +static const union AnimCmd *const gUnknown_08300248[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF80C, gUnknown_082FF814, }; -const union AnimCmd *const gUnknown_08300254[] = +static const union AnimCmd *const gUnknown_08300254[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF81C, gUnknown_082FF824, }; -const union AnimCmd *const gUnknown_08300260[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_08300260[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_08300264[] = +static const union AnimCmd *const gUnknown_08300264[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF82C, }; -const union AnimCmd *const gUnknown_0830026C[] = +static const union AnimCmd *const gUnknown_0830026C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF834, gUnknown_082FF83C, }; -const union AnimCmd *const gUnknown_08300278[] = +static const union AnimCmd *const gUnknown_08300278[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF844, }; -const union AnimCmd *const gUnknown_08300280[] = +static const union AnimCmd *const gUnknown_08300280[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF84C, }; -const union AnimCmd *const gUnknown_08300288[] = +static const union AnimCmd *const gUnknown_08300288[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF854, gUnknown_082FF85C, }; -const union AnimCmd *const gUnknown_08300294[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300298[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830029C[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_08300294[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300298[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830029C[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_083002A0[] = +static const union AnimCmd *const gUnknown_083002A0[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF864, }; -const union AnimCmd *const gUnknown_083002A8[] = +static const union AnimCmd *const gUnknown_083002A8[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF86C, }; -const union AnimCmd *const gUnknown_083002B0[] = +static const union AnimCmd *const gUnknown_083002B0[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF874, }; -const union AnimCmd *const gUnknown_083002B8[] = +static const union AnimCmd *const gUnknown_083002B8[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF87C, }; -const union AnimCmd *const gUnknown_083002C0[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_083002C0[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_083002C4[] = +static const union AnimCmd *const gUnknown_083002C4[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF884, }; -const union AnimCmd *const gUnknown_083002CC[] = +static const union AnimCmd *const gUnknown_083002CC[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF88C, gUnknown_082FF894, }; -const union AnimCmd *const gUnknown_083002D8[] = +static const union AnimCmd *const gUnknown_083002D8[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF89C, gUnknown_082FF8A4, }; -const union AnimCmd *const gUnknown_083002E4[] = +static const union AnimCmd *const gUnknown_083002E4[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF8AC, gUnknown_082FF8B4, }; -const union AnimCmd *const gUnknown_083002F0[] = +static const union AnimCmd *const gUnknown_083002F0[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF8BC, gUnknown_082FF8FC, gUnknown_082FF91C, gUnknown_082FF930, }; -const union AnimCmd *const gUnknown_08300304[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_08300304[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_08300308[] = +static const union AnimCmd *const gUnknown_08300308[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF93C, }; -const union AnimCmd *const gUnknown_08300310[] = +static const union AnimCmd *const gUnknown_08300310[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF944, }; -const union AnimCmd *const gUnknown_08300318[] = +static const union AnimCmd *const gUnknown_08300318[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF94C, gUnknown_082FF9A8, gUnknown_082FFA00, gUnknown_082FFA58, }; -const union AnimCmd *const gUnknown_0830032C[] = +static const union AnimCmd *const gUnknown_0830032C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFA64, }; -const union AnimCmd *const gUnknown_08300334[] = +static const union AnimCmd *const gUnknown_08300334[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFA6C, }; -const union AnimCmd *const gUnknown_0830033C[] = +static const union AnimCmd *const gUnknown_0830033C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFA74, }; -const union AnimCmd *const gUnknown_08300344[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_08300344[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_08300348[] = +static const union AnimCmd *const gUnknown_08300348[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFA7C, gUnknown_082FFA84, }; -const union AnimCmd *const gUnknown_08300354[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300358[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_08300354[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300358[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_0830035C[] = +static const union AnimCmd *const gUnknown_0830035C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFA8C, gUnknown_082FFA94, }; -const union AnimCmd *const gUnknown_08300368[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830036C[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_08300368[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830036C[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_08300370[] = +static const union AnimCmd *const gUnknown_08300370[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFA9C, gUnknown_082FFAA4, }; -const union AnimCmd *const gUnknown_0830037C[] = +static const union AnimCmd *const gUnknown_0830037C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFAAC, gUnknown_082FFAB4, }; -const union AnimCmd *const gUnknown_08300388[] = +static const union AnimCmd *const gUnknown_08300388[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFABC, gUnknown_082FFAC4, }; -const union AnimCmd *const gUnknown_08300394[] = +static const union AnimCmd *const gUnknown_08300394[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFACC, gUnknown_082FFAD4, }; -const union AnimCmd *const gUnknown_083003A0[] = +static const union AnimCmd *const gUnknown_083003A0[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFADC, }; -const union AnimCmd *const gUnknown_083003A8[] = +static const union AnimCmd *const gUnknown_083003A8[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFAE4, }; -const union AnimCmd *const gUnknown_083003B0[] = +static const union AnimCmd *const gUnknown_083003B0[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFAEC, }; -const union AnimCmd *const gUnknown_083003B8[] = +static const union AnimCmd *const gUnknown_083003B8[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFAF4, }; -const union AnimCmd *const gUnknown_083003C0[] = +static const union AnimCmd *const gUnknown_083003C0[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFAFC, }; -const union AnimCmd *const gUnknown_083003C8[] = +static const union AnimCmd *const gUnknown_083003C8[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFB04, gUnknown_082FFB0C, }; -const union AnimCmd *const gUnknown_083003D4[] = +static const union AnimCmd *const gUnknown_083003D4[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFB14, }; -const union AnimCmd *const gUnknown_083003DC[] = +static const union AnimCmd *const gUnknown_083003DC[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFB1C, gUnknown_082FFB24, }; -const union AnimCmd *const gUnknown_083003E8[] = +static const union AnimCmd *const gUnknown_083003E8[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFB2C, }; -const union AnimCmd *const gUnknown_083003F0[] = +static const union AnimCmd *const gUnknown_083003F0[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFB34, }; -const union AnimCmd *const gUnknown_083003F8[] = +static const union AnimCmd *const gUnknown_083003F8[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFB3C, }; -const union AnimCmd *const gUnknown_08300400[] = +static const union AnimCmd *const gUnknown_08300400[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFB44, gUnknown_082FFB60, }; -const union AnimCmd *const gUnknown_0830040C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300410[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300414[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300418[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830041C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300420[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_0830040C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300410[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300414[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300418[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830041C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300420[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_08300424[] = +static const union AnimCmd *const gUnknown_08300424[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFB7C, gUnknown_082FFBBC, gUnknown_082FFBE0, gUnknown_082FFBF4, }; -const union AnimCmd *const gUnknown_08300438[] = +static const union AnimCmd *const gUnknown_08300438[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFBFC, gUnknown_082FFC04, }; -const union AnimCmd *const gUnknown_08300444[] = +static const union AnimCmd *const gUnknown_08300444[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFC0C, }; -const union AnimCmd *const gUnknown_0830044C[] = +static const union AnimCmd *const gUnknown_0830044C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFC14, }; -const union AnimCmd *const gUnknown_08300454[] = +static const union AnimCmd *const gUnknown_08300454[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFC1C, }; -const union AnimCmd *const gUnknown_0830045C[] = +static const union AnimCmd *const gUnknown_0830045C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFC24, }; -const union AnimCmd *const gUnknown_08300464[] = +static const union AnimCmd *const gUnknown_08300464[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFC2C, }; -const union AnimCmd *const gUnknown_0830046C[] = +static const union AnimCmd *const gUnknown_0830046C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFC34, }; -const union AnimCmd *const gUnknown_08300474[] = +static const union AnimCmd *const gUnknown_08300474[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFC3C, gUnknown_082FFC58, }; -const union AnimCmd *const gUnknown_08300480[] = +static const union AnimCmd *const gUnknown_08300480[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFC74, }; -const union AnimCmd *const gUnknown_08300488[] = +static const union AnimCmd *const gUnknown_08300488[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFC7C, gUnknown_082FFC84, }; -const union AnimCmd *const gUnknown_08300494[] = +static const union AnimCmd *const gUnknown_08300494[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFC8C, gUnknown_082FFC94, }; -const union AnimCmd *const gUnknown_083004A0[] = +static const union AnimCmd *const gUnknown_083004A0[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFC9C, gUnknown_082FFCA4, }; -const union AnimCmd *const gUnknown_083004AC[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_083004AC[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_083004B0[] = +static const union AnimCmd *const gUnknown_083004B0[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFCAC, }; -const union AnimCmd *const gUnknown_083004B8[] = +static const union AnimCmd *const gUnknown_083004B8[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFCB4, }; -const union AnimCmd *const gUnknown_083004C0[] = +static const union AnimCmd *const gUnknown_083004C0[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFCBC, }; -const union AnimCmd *const gUnknown_083004C8[] = +static const union AnimCmd *const gUnknown_083004C8[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFCC4, }; -const union AnimCmd *const gUnknown_083004D0[] = +static const union AnimCmd *const gUnknown_083004D0[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFCCC, }; -const union AnimCmd *const gUnknown_083004D8[] = +static const union AnimCmd *const gUnknown_083004D8[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFCD4, }; -const union AnimCmd *const gUnknown_083004E0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083004E4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083004E8[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_083004E0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083004E4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083004E8[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_083004EC[] = +static const union AnimCmd *const gUnknown_083004EC[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFCDC, }; -const union AnimCmd *const gUnknown_083004F4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083004F8[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_083004F4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083004F8[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_083004FC[] = +static const union AnimCmd *const gUnknown_083004FC[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFCE4, }; -const union AnimCmd *const gUnknown_08300504[] = +static const union AnimCmd *const gUnknown_08300504[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFCEC, gUnknown_082FFCF4, }; -const union AnimCmd *const gUnknown_08300510[] = +static const union AnimCmd *const gUnknown_08300510[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFCFC, }; -const union AnimCmd *const gUnknown_08300518[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830051C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300520[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_08300518[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830051C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300520[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_08300524[] = +static const union AnimCmd *const gUnknown_08300524[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFD04, }; -const union AnimCmd *const gUnknown_0830052C[] = +static const union AnimCmd *const gUnknown_0830052C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFD0C, }; -const union AnimCmd *const gUnknown_08300534[] = +static const union AnimCmd *const gUnknown_08300534[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFD14, }; -const union AnimCmd *const gUnknown_0830053C[] = +static const union AnimCmd *const gUnknown_0830053C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFD1C, gUnknown_082FFD24, gUnknown_082FFD2C, gUnknown_082FFD34, }; -const union AnimCmd *const gUnknown_08300550[] = +static const union AnimCmd *const gUnknown_08300550[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFD3C, }; -const union AnimCmd *const gUnknown_08300558[] = +static const union AnimCmd *const gUnknown_08300558[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFD44, }; -const union AnimCmd *const gUnknown_08300560[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300564[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300568[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830056C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300570[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300574[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300578[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_08300560[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300564[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300568[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830056C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300570[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300574[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300578[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_0830057C[] = +static const union AnimCmd *const gUnknown_0830057C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFD4C, gUnknown_082FFD54, }; -const union AnimCmd *const gUnknown_08300588[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_08300588[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_0830058C[] = +static const union AnimCmd *const gUnknown_0830058C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFD5C, gUnknown_082FFD64, }; -const union AnimCmd *const gUnknown_08300598[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830059C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083005A0[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_08300598[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830059C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083005A0[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_083005A4[] = +static const union AnimCmd *const gUnknown_083005A4[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFD6C, }; -const union AnimCmd *const gUnknown_083005AC[] = +static const union AnimCmd *const gUnknown_083005AC[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFD74, }; -const union AnimCmd *const gUnknown_083005B4[] = +static const union AnimCmd *const gUnknown_083005B4[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFD7C, gUnknown_082FFD84, }; -const union AnimCmd *const gUnknown_083005C0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083005C4[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_083005C0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083005C4[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_083005C8[] = +static const union AnimCmd *const gUnknown_083005C8[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFD8C, gUnknown_082FFDA0, }; -const union AnimCmd *const gUnknown_083005D4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083005D8[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_083005D4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083005D8[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_083005DC[] = +static const union AnimCmd *const gUnknown_083005DC[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFDC4, }; -const union AnimCmd *const gUnknown_083005E4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083005E8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083005EC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083005F0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083005F4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083005F8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083005FC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300600[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300604[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300608[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830060C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300610[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300614[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300618[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830061C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300620[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300624[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300628[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830062C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300630[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300634[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300638[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830063C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300640[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300644[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300648[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830064C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300650[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300654[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_083005E4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083005E8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083005EC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083005F0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083005F4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083005F8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083005FC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300600[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300604[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300608[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830060C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300610[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300614[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300618[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830061C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300620[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300624[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300628[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830062C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300630[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300634[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300638[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830063C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300640[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300644[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300648[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830064C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300650[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300654[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const *const gUnusedTrainerFrontAnimsPtrTable[] = +const union AnimCmd *const *const gUnknownAnimsTable[] = { gUnknown_082FFDCC, gUnknown_082FFDD0, diff --git a/src/data/text/item_descriptions.h b/src/data/text/item_descriptions.h index 1f048e4408..5f79efc57a 100644 --- a/src/data/text/item_descriptions.h +++ b/src/data/text/item_descriptions.h @@ -1,326 +1,1551 @@ -const u8 gDummyItemDescription[] = _("?????"); -// Pokeballs -const u8 gMasterBallItemDescription[] = _("The best BALL that\ncatches a POKéMON\nwithout fail."); -const u8 gUltraBallItemDescription[] = _("A better BALL with\na higher catch rate\nthan a GREAT BALL."); -const u8 gGreatBallItemDescription[] = _("A good BALL with a\nhigher catch rate\nthan a POKé BALL."); -const u8 gPokeBallItemDescription[] = _("A tool used for\ncatching wild\nPOKéMON."); -const u8 gSafariBallItemDescription[] = _("A special BALL that\nis used only in the\nSAFARI ZONE."); -const u8 gNetBallItemDescription[] = _("A BALL that works\nwell on WATER- and\nBUG-type POKéMON."); -const u8 gDiveBallItemDescription[] = _("A BALL that works\nbetter on POKéMON\non the ocean floor."); -const u8 gNestBallItemDescription[] = _("A BALL that works\nbetter on weaker\nPOKéMON."); -const u8 gRepeatBallItemDescription[] = _("A BALL that works\nbetter on POKéMON\ncaught before."); -const u8 gTimerBallItemDescription[] = _("A BALL that gains\npower in battles\ntaking many turns."); -const u8 gLuxuryBallItemDescription[] = _("A cozy BALL that\nmakes POKéMON\nmore friendly."); -const u8 gPremierBallItemDescription[] = _("A rare BALL made\nin commemoration\nof some event."); -// Medicine -const u8 gPotionItemDescription[] = _("Restores the HP of\na POKéMON by\n20 points."); -const u8 gAntidoteItemDescription[] = _("Heals a poisoned\nPOKéMON."); -const u8 gBurnHealItemDescription[] = _("Heals POKéMON\nof a burn."); -const u8 gIceHealItemDescription[] = _("Defrosts a frozen\nPOKéMON."); -const u8 gAwakeningItemDescription[] = _("Awakens a sleeping\nPOKéMON."); -const u8 gParalyzeHealItemDescription[] = _("Heals a paralyzed\nPOKéMON."); -const u8 gFullRestoreItemDescription[] = _("Fully restores the\nHP and status of a\nPOKéMON."); -const u8 gMaxPotionItemDescription[] = _("Fully restores the\nHP of a POKéMON."); -const u8 gHyperPotionItemDescription[] = _("Restores the HP of\na POKéMON by\n200 points."); -const u8 gSuperPotionItemDescription[] = _("Restores the HP of\na POKéMON by\n50 points."); -const u8 gFullHealItemDescription[] = _("Heals all the\nstatus problems of\none POKéMON."); -const u8 gReviveItemDescription[] = _("Revives a fainted\nPOKéMON with half\nits HP."); -const u8 gMaxReviveItemDescription[] = _("Revives a fainted\nPOKéMON with all\nits HP."); -const u8 gFreshWaterItemDescription[] = _("A mineral water\nthat restores HP\nby 50 points."); -const u8 gSodaPopItemDescription[] = _("A fizzy soda drink\nthat restores HP\nby 60 points."); -const u8 gLemonadeItemDescription[] = _("A very sweet drink\nthat restores HP\nby 80 points."); -const u8 gMoomooMilkItemDescription[] = _("A nutritious milk\nthat restores HP\nby 100 points."); -const u8 gEnergyPowderItemDescription[] = _("A bitter powder\nthat restores HP\nby 50 points."); -const u8 gEnergyRootItemDescription[] = _("A bitter root\nthat restores HP\nby 200 points."); -const u8 gHealPowderItemDescription[] = _("A bitter powder\nthat heals all\nstatus problems."); -const u8 gRevivalHerbItemDescription[] = _("A very bitter herb\nthat revives a\nfainted POKéMON."); -const u8 gEtherItemDescription[] = _("Restores the PP\nof a selected move\nby 10."); -const u8 gMaxEtherItemDescription[] = _("Fully restores the\nPP of a selected\nmove."); -const u8 gElixirItemDescription[] = _("Restores the PP\nof all moves by 10."); -const u8 gMaxElixirItemDescription[] = _("Fully restores the\nPP of a POKéMON's\nmoves."); -const u8 gLavaCookieItemDescription[] = _("A local specialty\nthat heals all\nstatus problems."); -const u8 gBlueFluteItemDescription[] = _("A glass flute that\nawakens sleeping\nPOKéMON."); -const u8 gYellowFluteItemDescription[] = _("A glass flute that\nsnaps POKéMON\nout of confusion."); -const u8 gRedFluteItemDescription[] = _("A glass flute that\nsnaps POKéMON\nout of attraction."); -const u8 gBlackFluteItemDescription[] = _("A glass flute that\nkeeps away wild\nPOKéMON."); -const u8 gWhiteFluteItemDescription[] = _("A glass flute that\nlures wild POKéMON."); -const u8 gBerryJuiceItemDescription[] = _("A 100% pure juice\nthat restores HP\nby 20 points."); -const u8 gSacredAshItemDescription[] = _("Fully revives and\nrestores all\nfainted POKéMON."); -// Collectibles -const u8 gShoalSaltItemDescription[] = _("Salt obtained from\ndeep inside the\nSHOAL CAVE."); -const u8 gShoalShellItemDescription[] = _("A seashell found\ndeep inside the\nSHOAL CAVE."); -const u8 gRedShardItemDescription[] = _("A shard from an\nancient item. Can\nbe sold cheaply."); -const u8 gBlueShardItemDescription[] = _("A shard from an\nancient item. Can\nbe sold cheaply."); -const u8 gYellowShardItemDescription[] = _("A shard from an\nancient item. Can\nbe sold cheaply."); -const u8 gGreenShardItemDescription[] = _("A shard from an\nancient item. Can\nbe sold cheaply."); -// Vitamins -const u8 gHPUpItemDescription[] = _("Raises the base HP\nof one POKéMON."); -const u8 gProteinItemDescription[] = _("Raises the base\nATTACK stat of one\nPOKéMON."); -const u8 gIronItemDescription[] = _("Raises the base\nDEFENSE stat of\none POKéMON."); -const u8 gCarbosItemDescription[] = _("Raises the base\nSPEED stat of one\nPOKéMON."); -const u8 gCalciumItemDescription[] = _("Raises the base\nSP. ATK stat of one\nPOKéMON."); -const u8 gRareCandyItemDescription[] = _("Raises the level\nof a POKéMON by\none."); -const u8 gPPUpItemDescription[] = _("Raises the maximum\nPP of a selected\nmove."); -const u8 gZincItemDescription[] = _("Raises the base\nSP. DEF stat of one\nPOKéMON."); -const u8 gPPMaxItemDescription[] = _("Raises the PP of a\nmove to its maximum\npoints."); -// Battle items -const u8 gGuardSpecItemDescription[] = _("Prevents stat\nreduction when\nused in battle."); -const u8 gDireHitItemDescription[] = _("Raises the\ncritical-hit ratio\nduring one battle."); -const u8 gXAttackItemDescription[] = _("Raises the stat\nATTACK during one\nbattle."); -const u8 gXDefendItemDescription[] = _("Raises the stat\nDEFENSE during one\nbattle."); -const u8 gXSpeedItemDescription[] = _("Raises the stat\nSPEED during one\nbattle."); -const u8 gXAccuracyItemDescription[] = _("Raises accuracy\nof attack moves\nduring one battle."); -const u8 gXSpecialItemDescription[] = _("Raises the stat\nSP. ATK during one\nbattle."); -const u8 gPokeDollItemDescription[] = _("Use to flee from\nany battle with\na wild POKéMON."); -const u8 gFluffyTailItemDescription[] = _("Use to flee from\nany battle with\na wild POKéMON."); -// Field items -const u8 gSuperRepelItemDescription[] = _("Repels weak wild\nPOKéMON for 200\nsteps."); -const u8 gMaxRepelItemDescription[] = _("Repels weak wild\nPOKéMON for 250\nsteps."); -const u8 gEscapeRopeItemDescription[] = _("Use to escape\ninstantly from a\ncave or a dungeon."); -const u8 gRepelItemDescription[] = _("Repels weak wild\nPOKéMON for 100\nsteps."); -// Evolution stones -const u8 gSunStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve."); -const u8 gMoonStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve."); -const u8 gFireStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve."); -const u8 gThunderStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve."); -const u8 gWaterStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve."); -const u8 gLeafStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve."); -// Valuable items -const u8 gTinyMushroomItemDescription[] = _("A plain mushroom\nthat would sell\nat a cheap price."); -const u8 gBigMushroomItemDescription[] = _("A rare mushroom\nthat would sell at a\nhigh price."); -const u8 gPearlItemDescription[] = _("A pretty pearl\nthat would sell at a\ncheap price."); -const u8 gBigPearlItemDescription[] = _("A lovely large pearl\nthat would sell at a\nhigh price."); -const u8 gStardustItemDescription[] = _("Beautiful red sand.\nCan be sold at a\nhigh price."); -const u8 gStarPieceItemDescription[] = _("A red gem shard.\nIt would sell for a\nvery high price."); -const u8 gNuggetItemDescription[] = _("A nugget of pure\ngold. Can be sold at\na high price."); -const u8 gHeartScaleItemDescription[] = _("A lovely scale.\nIt is coveted by\ncollectors."); -// Mail -const u8 gOrangeMailItemDescription[] = _("A ZIGZAGOON-print\nMAIL to be held by\na POKéMON."); -const u8 gHarborMailItemDescription[] = _("A WINGULL-print\nMAIL to be held by\na POKéMON."); -const u8 gGlitterMailItemDescription[] = _("A PIKACHU-print\nMAIL to be held by\na POKéMON."); -const u8 gMechMailItemDescription[] = _("A MAGNEMITE-print\nMAIL to be held by\na POKéMON."); -const u8 gWoodMailItemDescription[] = _("A SLAKOTH-print\nMAIL to be held by\na POKéMON."); -const u8 gWaveMailItemDescription[] = _("A WAILMER-print\nMAIL to be held by\na POKéMON."); -const u8 gBeadMailItemDescription[] = _("MAIL featuring a\nsketch of the\nholding POKéMON."); -const u8 gShadowMailItemDescription[] = _("A DUSKULL-print\nMAIL to be held by\na POKéMON."); -const u8 gTropicMailItemDescription[] = _("A BELLOSSOM-print\nMAIL to be held by\na POKéMON."); -const u8 gDreamMailItemDescription[] = _("MAIL featuring a\nsketch of the\nholding POKéMON."); -const u8 gFabMailItemDescription[] = _("A gorgeous-print\nMAIL to be held\nby a POKéMON."); -const u8 gRetroMailItemDescription[] = _("MAIL featuring the\ndrawings of three\nPOKéMON."); -// Berries -const u8 gCheriBerryItemDescription[] = _("A hold item that\nheals paralysis\nin battle."); -const u8 gChestoBerryItemDescription[] = _("A hold item that\nawakens POKéMON\nin battle."); -const u8 gPechaBerryItemDescription[] = _("A hold item that\nheals poisoning\nin battle."); -const u8 gRawstBerryItemDescription[] = _("A hold item that\nheals a burn in\nbattle."); -const u8 gAspearBerryItemDescription[] = _("A hold item that\ndefrosts POKéMON\nin battle."); -const u8 gLeppaBerryItemDescription[] = _("A hold item that\nrestores 10 PP in\nbattle."); -const u8 gOranBerryItemDescription[] = _("A hold item that\nrestores 10 HP in\nbattle."); -const u8 gPersimBerryItemDescription[] = _("A hold item that\nheals confusion\nin battle."); -const u8 gLumBerryItemDescription[] = _("A hold item that\nheals any status\nproblem in battle."); -const u8 gSitrusBerryItemDescription[] = _("A hold item that\nrestores 30 HP in\nbattle."); -const u8 gFigyBerryItemDescription[] = _("A hold item that\nrestores HP but\nmay confuse."); -const u8 gWikiBerryItemDescription[] = _("A hold item that\nrestores HP but\nmay confuse."); -const u8 gMagoBerryItemDescription[] = _("A hold item that\nrestores HP but\nmay confuse."); -const u8 gAguavBerryItemDescription[] = _("A hold item that\nrestores HP but\nmay confuse."); -const u8 gIapapaBerryItemDescription[] = _("A hold item that\nrestores HP but\nmay confuse."); -const u8 gRazzBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow RAZZ."); -const u8 gBlukBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow BLUK."); -const u8 gNanabBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow NANAB."); -const u8 gWepearBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow WEPEAR."); -const u8 gPinapBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow PINAP."); -const u8 gPomegBerryItemDescription[] = _("Makes a POKéMON\nfriendly but lowers\nbase HP."); -const u8 gKelpsyBerryItemDescription[] = _("Makes a POKéMON\nfriendly but lowers\nbase ATTACK."); -const u8 gQualotBerryItemDescription[] = _("Makes a POKéMON\nfriendly but lowers\nbase DEFENSE."); -const u8 gHondewBerryItemDescription[] = _("Makes a POKéMON\nfriendly but lowers\nbase SP. ATK."); -const u8 gGrepaBerryItemDescription[] = _("Makes a POKéMON\nfriendly but lowers\nbase SP. DEF."); -const u8 gTamatoBerryItemDescription[] = _("Makes a POKéMON\nfriendly but lowers\nbase SPEED."); -const u8 gCornnBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow CORNN."); -const u8 gMagostBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow MAGOST."); -const u8 gRabutaBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow RABUTA."); -const u8 gNomelBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow NOMEL."); -const u8 gSpelonBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow SPELON."); -const u8 gPamtreBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow PAMTRE."); -const u8 gWatmelBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow WATMEL."); -const u8 gDurinBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow DURIN."); -const u8 gBelueBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow BELUE."); -const u8 gLiechiBerryItemDescription[] = _("A hold item that\nraises ATTACK in\na pinch."); -const u8 gGanlonBerryItemDescription[] = _("A hold item that\nraises DEFENSE in\na pinch."); -const u8 gSalacBerryItemDescription[] = _("A hold item that\nraises SPEED in\na pinch."); -const u8 gPetayaBerryItemDescription[] = _("A hold item that\nraises SP. ATK in\na pinch."); -const u8 gApicotBerryItemDescription[] = _("A hold item that\nraises SP. DEF in\na pinch."); -const u8 gLansatBerryItemDescription[] = _("A hold item that\nups the critical-\nhit rate in a pinch."); -const u8 gStarfBerryItemDescription[] = _("A hold item that\nsharply boosts a\nstat in a pinch."); -const u8 gEnigmaBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow a mystery."); -// Hold items -const u8 gBrightPowderItemDescription[] = _("A hold item that\ncasts a glare to\nreduce accuracy."); -const u8 gWhiteHerbItemDescription[] = _("A hold item that\nrestores any\nlowered stat."); -const u8 gMachoBraceItemDescription[] = _("A hold item that\npromotes growth,\nbut reduces SPEED."); -const u8 gExpShareItemDescription[] = _("A hold item that\ngets EXP. points\nfrom battles."); -const u8 gQuickClawItemDescription[] = _("A hold item that\noccasionally allows\nthe first strike."); -const u8 gSootheBellItemDescription[] = _("A hold item that\ncalms spirits and\nfosters friendship."); -const u8 gMentalHerbItemDescription[] = _("A hold item that\nsnaps POKéMON out\nof infatuation."); -const u8 gChoiceBandItemDescription[] = _("Raises a move's\npower, but permits\nonly that move."); -const u8 gKingsRockItemDescription[] = _("A hold item that\nmay cause flinching\nwhen the foe is hit."); -const u8 gSilverPowderItemDescription[] = _("A hold item that\nraises the power of\nBUG-type moves."); -const u8 gAmuletCoinItemDescription[] = _("Doubles money in\nbattle if the\nholder takes part."); -const u8 gCleanseTagItemDescription[] = _("A hold item that\nhelps repel wild\nPOKéMON."); -const u8 gSoulDewItemDescription[] = _("Hold item: raises\nSP. ATK & SP. DEF of\nLATIOS & LATIAS."); -const u8 gDeepSeaToothItemDescription[] = _("A hold item that\nraises the SP. ATK\nof CLAMPERL."); -const u8 gDeepSeaScaleItemDescription[] = _("A hold item that\nraises the SP. DEF\nof CLAMPERL."); -const u8 gSmokeBallItemDescription[] = _("A hold item that\nassures fleeing\nfrom wild POKéMON."); -const u8 gEverstoneItemDescription[] = _("A wondrous hold\nitem that prevents\nevolution."); -const u8 gFocusBandItemDescription[] = _("A hold item that\noccasionally\nprevents fainting."); -const u8 gLuckyEggItemDescription[] = _("A hold item that\nboosts EXP. points\nearned in battle."); -const u8 gScopeLensItemDescription[] = _("A hold item that\nimproves the\ncritical-hit rate."); -const u8 gMetalCoatItemDescription[] = _("A hold item that\nraises the power of\nSTEEL-type moves."); -const u8 gLeftoversItemDescription[] = _("A hold item that\ngradually restores\nHP in battle."); -const u8 gDragonScaleItemDescription[] = _("A strange scale\nheld by DRAGON-\ntype POKéMON."); -const u8 gLightBallItemDescription[] = _("A hold item that\nraises the SP. ATK\nof PIKACHU."); -const u8 gSoftSandItemDescription[] = _("A hold item that\nraises the power of\nGROUND-type moves."); -const u8 gHardStoneItemDescription[] = _("A hold item that\nraises the power of\nROCK-type moves."); -const u8 gMiracleSeedItemDescription[] = _("A hold item that\nraises the power of\nGRASS-type moves."); -const u8 gBlackGlassesItemDescription[] = _("A hold item that\nraises the power of\nDARK-type moves."); -const u8 gBlackBeltItemDescription[] = _("A hold item that\nboosts FIGHTING-\ntype moves."); -const u8 gMagnetItemDescription[] = _("A hold item that\nboosts ELECTRIC-\ntype moves."); -const u8 gMysticWaterItemDescription[] = _("A hold item that\nraises the power of\nWATER-type moves."); -const u8 gSharpBeakItemDescription[] = _("A hold item that\nraises the power of\nFLYING-type moves."); -const u8 gPoisonBarbItemDescription[] = _("A hold item that\nraises the power of\nPOISON-type moves."); -const u8 gNeverMeltIceItemDescription[] = _("A hold item that\nraises the power of\nICE-type moves."); -const u8 gSpellTagItemDescription[] = _("A hold item that\nraises the power of\nGHOST-type moves."); -const u8 gTwistedSpoonItemDescription[] = _("A hold item that\nboosts PSYCHIC-\ntype moves."); -const u8 gCharcoalItemDescription[] = _("A hold item that\nraises the power of\nFIRE-type moves."); -const u8 gDragonFangItemDescription[] = _("A hold item that\nraises the power of\nDRAGON-type moves."); -const u8 gSilkScarfItemDescription[] = _("A hold item that\nraises the power of\nNORMAL-type moves."); -const u8 gUpGradeItemDescription[] = _("A peculiar box made\nby SILPH CO."); -const u8 gShellBellItemDescription[] = _("A hold item that\nrestores HP upon\nstriking the foe."); -const u8 gSeaIncenseItemDescription[] = _("A hold item that\nslightly boosts\nWATER-type moves."); -const u8 gLaxIncenseItemDescription[] = _("A hold item that\nslightly lowers the\nfoe's accuracy."); -const u8 gLuckyPunchItemDescription[] = _("A hold item that\nraises CHANSEY's\ncritical-hit rate."); -const u8 gMetalPowderItemDescription[] = _("A hold item that\nraises DITTO's\nDEFENSE."); -const u8 gThickClubItemDescription[] = _("A hold item that \nraises CUBONE or\nMAROWAK's ATTACK."); -const u8 gStickItemDescription[] = _("A hold item that\nraises FARFETCH'D's\ncritical-hit ratio."); -const u8 gRedScarfItemDescription[] = _("A hold item that\nraises COOL in\nCONTESTS."); -const u8 gBlueScarfItemDescription[] = _("A hold item that\nraises BEAUTY in\nCONTESTS."); -const u8 gPinkScarfItemDescription[] = _("A hold item that\nraises CUTE in\nCONTESTS."); -const u8 gGreenScarfItemDescription[] = _("A hold item that\nraises SMART in\nCONTESTS."); -const u8 gYellowScarfItemDescription[] = _("A hold item that\nraises TOUGH in\nCONTESTS."); -// Key items -const u8 gMachBikeItemDescription[] = _("A folding bicycle\nthat doubles your\nspeed or better."); -const u8 gCoinCaseItemDescription[] = _("A case that holds\nup to 9,999 COINS."); -const u8 gItemfinderItemDescription[] = _("A device that\nsignals an invisible\nitem by sound."); -const u8 gOldRodItemDescription[] = _("Use by any body of\nwater to fish for\nwild POKéMON."); -const u8 gGoodRodItemDescription[] = _("A decent fishing\nrod for catching\nwild POKéMON."); -const u8 gSuperRodItemDescription[] = _("The best fishing\nrod for catching\nwild POKéMON."); -const u8 gSSTicketItemDescription[] = _("The ticket required\nfor sailing on a\nferry."); -const u8 gContestPassItemDescription[] = _("The pass required\nfor entering\nPOKéMON CONTESTS."); -const u8 gWailmerPailItemDescription[] = _("A tool used for\nwatering BERRIES\nand plants."); -const u8 gDevonGoodsItemDescription[] = _("A package that\ncontains DEVON's\nmachine parts."); -const u8 gSootSackItemDescription[] = _("A sack used to\ngather and hold\nvolcanic ash."); -const u8 gBasementKeyItemDescription[] = _("The key for NEW\nMAUVILLE beneath\nMAUVILLE CITY."); -const u8 gAcroBikeItemDescription[] = _("A folding bicycle\ncapable of jumps\nand wheelies."); -const u8 gPokeblockCaseItemDescription[] = _("A case for holding\n{POKEBLOCK}S made with\na BERRY BLENDER."); -const u8 gLetterItemDescription[] = _("A letter to STEVEN\nfrom the PRESIDENT\nof the DEVON CORP."); -const u8 gEonTicketItemDescription[] = _("The ticket for a\nferry to a distant\nsouthern island."); -const u8 gRedOrbItemDescription[] = _("A red, glowing orb\nsaid to contain an\nancient power."); -const u8 gBlueOrbItemDescription[] = _("A blue, glowing orb\nsaid to contain an\nancient power."); -const u8 gScannerItemDescription[] = _("A device found\ninside the\nABANDONED SHIP."); -const u8 gGoGogglesItemDescription[] = _("Nifty goggles that\nprotect eyes from\ndesert sandstorms."); -const u8 gMeteoriteItemDescription[] = _("A meteorite found\nat METEOR FALLS."); -const u8 gRoom1KeyItemDescription[] = _("A key that opens a\ndoor inside the\nABANDONED SHIP."); -const u8 gRoom2KeyItemDescription[] = _("A key that opens a\ndoor inside the\nABANDONED SHIP."); -const u8 gRoom4KeyItemDescription[] = _("A key that opens a\ndoor inside the\nABANDONED SHIP."); -const u8 gRoom6KeyItemDescription[] = _("A key that opens a\ndoor inside the\nABANDONED SHIP."); -const u8 gStorageKeyItemDescription[] = _("The key to the\nstorage inside the\nABANDONED SHIP."); -const u8 gRootFossilItemDescription[] = _("A fossil of an\nancient, seafloor-\ndwelling POKéMON."); -const u8 gClawFossilItemDescription[] = _("A fossil of an\nancient, seafloor-\ndwelling POKéMON."); -const u8 gDevonScopeItemDescription[] = _("A device by DEVON\nthat signals any\nunseeable POKéMON."); -// TMs/HMs -const u8 gTM01ItemDescription[] = _("Powerful, but makes\nthe user flinch if\nhit by the foe."); -const u8 gTM02ItemDescription[] = _("Hooks and slashes\nthe foe with long,\nsharp claws."); -const u8 gTM03ItemDescription[] = _("Generates an\nultrasonic wave\nthat may confuse."); -const u8 gTM04ItemDescription[] = _("Raises SP. ATK and\nSP. DEF by focusing\nthe mind."); -const u8 gTM05ItemDescription[] = _("A savage roar that\nmakes the foe flee \nto end the battle."); -const u8 gTM06ItemDescription[] = _("Poisons the foe\nwith a toxin that\ngradually worsens."); -const u8 gTM07ItemDescription[] = _("Creates a hailstorm\nthat damages all\ntypes except ICE."); -const u8 gTM08ItemDescription[] = _("Bulks up the body\nto boost both\nATTACK & DEFENSE."); -const u8 gTM09ItemDescription[] = _("Shoots 2 to 5 seeds\nin a row to strike\nthe foe."); -const u8 gTM10ItemDescription[] = _("The attack power\nvaries among\ndifferent POKéMON."); -const u8 gTM11ItemDescription[] = _("Raises the power of\nFIRE-type moves\nfor 5 turns."); -const u8 gTM12ItemDescription[] = _("Enrages the foe so\nit can only use\nattack moves."); -const u8 gTM13ItemDescription[] = _("Fires an icy cold\nbeam that may\nfreeze the foe."); -const u8 gTM14ItemDescription[] = _("A brutal snow-and-\nwind attack that\nmay freeze the foe."); -const u8 gTM15ItemDescription[] = _("Powerful, but needs\nrecharging the\nnext turn."); -const u8 gTM16ItemDescription[] = _("Creates a wall of\nlight that lowers\nSP. ATK damage."); -const u8 gTM17ItemDescription[] = _("Negates all damage,\nbut may fail if used\nin succession."); -const u8 gTM18ItemDescription[] = _("Raises the power of\nWATER-type moves\nfor 5 turns."); -const u8 gTM19ItemDescription[] = _("Recovers half the\nHP of the damage \nthis move inflicts."); -const u8 gTM20ItemDescription[] = _("Prevents status\nabnormality with a\nmystical power."); -const u8 gTM21ItemDescription[] = _("The less the user\nlikes you, the more\npowerful this move."); -const u8 gTM22ItemDescription[] = _("Absorbs sunlight in\nthe 1st turn, then\nattacks next turn."); -const u8 gTM23ItemDescription[] = _("Slams the foe with\na hard tail. It may\nlower DEFENSE."); -const u8 gTM24ItemDescription[] = _("A powerful electric\nattack that may\ncause paralysis."); -const u8 gTM25ItemDescription[] = _("Strikes the foe\nwith a thunderbolt.\nIt may paralyze."); -const u8 gTM26ItemDescription[] = _("Causes a quake\nthat has no effect\non flying foes."); -const u8 gTM27ItemDescription[] = _("The more the user\nlikes you, the more\npowerful this move."); -const u8 gTM28ItemDescription[] = _("Digs underground\nthe 1st turn, then\nstrikes next turn."); -const u8 gTM29ItemDescription[] = _("A powerful psychic\nattack that may\nlower SP. DEF."); -const u8 gTM30ItemDescription[] = _("Hurls a dark lump\nat the foe. It may\nlower SP. DEF."); -const u8 gTM31ItemDescription[] = _("Destroys barriers\nlike LIGHT SCREEN\nand causes damage."); -const u8 gTM32ItemDescription[] = _("Creates illusory\ncopies to enhance\nelusiveness."); -const u8 gTM33ItemDescription[] = _("Creates a wall of\nlight that weakens\nphysical attacks."); -const u8 gTM34ItemDescription[] = _("Zaps the foe with a\njolt of electricity\nthat never misses."); -const u8 gTM35ItemDescription[] = _("Looses a stream of\nfire that may burn\nthe foe."); -const u8 gTM36ItemDescription[] = _("Hurls sludge at the\nfoe. It may poison\nthe foe."); -const u8 gTM37ItemDescription[] = _("Causes a sandstorm\nthat hits the foe\nover several turns."); -const u8 gTM38ItemDescription[] = _("A powerful fire\nattack that may\nburn the foe."); -const u8 gTM39ItemDescription[] = _("Stops the foe from\nmoving with rocks.\nMay lower SPEED."); -const u8 gTM40ItemDescription[] = _("An extremely fast\nattack that can't\nbe avoided."); -const u8 gTM41ItemDescription[] = _("Prevents the foe\nfrom using the same\nmove in a row."); -const u8 gTM42ItemDescription[] = _("Raises ATTACK when\npoisoned, burned,\nor paralyzed."); -const u8 gTM43ItemDescription[] = _("Adds an effect to\nattack depending\non the location."); -const u8 gTM44ItemDescription[] = _("The user sleeps for\n2 turns to restore\nhealth and status."); -const u8 gTM45ItemDescription[] = _("Makes it tough to\nattack a foe of the\nopposite gender."); -const u8 gTM46ItemDescription[] = _("While attacking,\nit may steal the\nfoe's held item."); -const u8 gTM47ItemDescription[] = _("Spreads hard-\nedged wings and\nslams into the foe."); -const u8 gTM48ItemDescription[] = _("Switches abilities\nwith the foe on the\nturn this is used."); -const u8 gTM49ItemDescription[] = _("Steals the effects\nof the move the foe\nis trying to use."); -const u8 gTM50ItemDescription[] = _("Enables full-power\nattack, but sharply\nlowers SP. ATK."); +static const u8 sDummyDesc[] = _( + "?????"); + +// Pokeballs +static const u8 sMasterBallDesc[] = _( + "The best BALL that\n" + "catches a POKéMON\n" + "without fail."); + +static const u8 sUltraBallDesc[] = _( + "A better BALL with\n" + "a higher catch rate\n" + "than a GREAT BALL."); + +static const u8 sGreatBallDesc[] = _( + "A good BALL with a\n" + "higher catch rate\n" + "than a POKé BALL."); + +static const u8 sPokeBallDesc[] = _( + "A tool used for\n" + "catching wild\n" + "POKéMON."); + +static const u8 sSafariBallDesc[] = _( + "A special BALL that\n" + "is used only in the\n" + "SAFARI ZONE."); + +static const u8 sNetBallDesc[] = _( + "A BALL that works\n" + "well on WATER- and\n" + "BUG-type POKéMON."); + +static const u8 sDiveBallDesc[] = _( + "A BALL that works\n" + "better on POKéMON\n" + "on the ocean floor."); + +static const u8 sNestBallDesc[] = _( + "A BALL that works\n" + "better on weaker\n" + "POKéMON."); + +static const u8 sRepeatBallDesc[] = _( + "A BALL that works\n" + "better on POKéMON\n" + "caught before."); + +static const u8 sTimerBallDesc[] = _( + "A BALL that gains\n" + "power in battles\n" + "taking many turns."); + +static const u8 sLuxuryBallDesc[] = _( + "A cozy BALL that\n" + "makes POKéMON\n" + "more friendly."); + +static const u8 sPremierBallDesc[] = _( + "A rare BALL made\n" + "in commemoration\n" + "of some event."); + +// Medicine +static const u8 sPotionDesc[] = _( + "Restores the HP of\n" + "a POKéMON by\n" + "20 points."); + +static const u8 sAntidoteDesc[] = _( + "Heals a poisoned\n" + "POKéMON."); + +static const u8 sBurnHealDesc[] = _( + "Heals POKéMON\n" + "of a burn."); + +static const u8 sIceHealDesc[] = _( + "Defrosts a frozen\n" + "POKéMON."); + +static const u8 sAwakeningDesc[] = _( + "Awakens a sleeping\n" + "POKéMON."); + +static const u8 sParalyzeHealDesc[] = _( + "Heals a paralyzed\n" + "POKéMON."); + +static const u8 sFullRestoreDesc[] = _( + "Fully restores the\n" + "HP and status of a\n" + "POKéMON."); + +static const u8 sMaxPotionDesc[] = _( + "Fully restores the\n" + "HP of a POKéMON."); + +static const u8 sHyperPotionDesc[] = _( + "Restores the HP of\n" + "a POKéMON by\n" + "200 points."); + +static const u8 sSuperPotionDesc[] = _( + "Restores the HP of\n" + "a POKéMON by\n" + "50 points."); + +static const u8 sFullHealDesc[] = _( + "Heals all the\n" + "status problems of\n" + "one POKéMON."); + +static const u8 sReviveDesc[] = _( + "Revives a fainted\n" + "POKéMON with half\n" + "its HP."); + +static const u8 sMaxReviveDesc[] = _( + "Revives a fainted\n" + "POKéMON with all\n" + "its HP."); + +static const u8 sFreshWaterDesc[] = _( + "A mineral water\n" + "that restores HP\n" + "by 50 points."); + +static const u8 sSodaPopDesc[] = _( + "A fizzy soda drink\n" + "that restores HP\n" + "by 60 points."); + +static const u8 sLemonadeDesc[] = _( + "A very sweet drink\n" + "that restores HP\n" + "by 80 points."); + +static const u8 sMoomooMilkDesc[] = _( + "A nutritious milk\n" + "that restores HP\n" + "by 100 points."); + +static const u8 sEnergyPowderDesc[] = _( + "A bitter powder\n" + "that restores HP\n" + "by 50 points."); + +static const u8 sEnergyRootDesc[] = _( + "A bitter root\n" + "that restores HP\n" + "by 200 points."); + +static const u8 sHealPowderDesc[] = _( + "A bitter powder\n" + "that heals all\n" + "status problems."); + +static const u8 sRevivalHerbDesc[] = _( + "A very bitter herb\n" + "that revives a\n" + "fainted POKéMON."); + +static const u8 sEtherDesc[] = _( + "Restores the PP\n" + "of a selected move\n" + "by 10."); + +static const u8 sMaxEtherDesc[] = _( + "Fully restores the\n" + "PP of a selected\n" + "move."); + +static const u8 sElixirDesc[] = _( + "Restores the PP\n" + "of all moves by 10."); + +static const u8 sMaxElixirDesc[] = _( + "Fully restores the\n" + "PP of a POKéMON's\n" + "moves."); + +static const u8 sLavaCookieDesc[] = _( + "A local specialty\n" + "that heals all\n" + "status problems."); + +static const u8 sBlueFluteDesc[] = _( + "A glass flute that\n" + "awakens sleeping\n" + "POKéMON."); + +static const u8 sYellowFluteDesc[] = _( + "A glass flute that\n" + "snaps POKéMON\n" + "out of confusion."); + +static const u8 sRedFluteDesc[] = _( + "A glass flute that\n" + "snaps POKéMON\n" + "out of attraction."); + +static const u8 sBlackFluteDesc[] = _( + "A glass flute that\n" + "keeps away wild\n" + "POKéMON."); + +static const u8 sWhiteFluteDesc[] = _( + "A glass flute that\n" + "lures wild POKéMON."); + +static const u8 sBerryJuiceDesc[] = _( + "A 100% pure juice\n" + "that restores HP\n" + "by 20 points."); + +static const u8 sSacredAshDesc[] = _( + "Fully revives and\n" + "restores all\n" + "fainted POKéMON."); + +// Collectibles +static const u8 sShoalSaltDesc[] = _( + "Salt obtained from\n" + "deep inside the\n" + "SHOAL CAVE."); + +static const u8 sShoalShellDesc[] = _( + "A seashell found\n" + "deep inside the\n" + "SHOAL CAVE."); + +static const u8 sRedShardDesc[] = _( + "A shard from an\n" + "ancient item. Can\n" + "be sold cheaply."); + +static const u8 sBlueShardDesc[] = _( + "A shard from an\n" + "ancient item. Can\n" + "be sold cheaply."); + +static const u8 sYellowShardDesc[] = _( + "A shard from an\n" + "ancient item. Can\n" + "be sold cheaply."); + +static const u8 sGreenShardDesc[] = _( + "A shard from an\n" + "ancient item. Can\n" + "be sold cheaply."); + +// Vitamins +static const u8 sHPUpDesc[] = _( + "Raises the base HP\n" + "of one POKéMON."); + +static const u8 sProteinDesc[] = _( + "Raises the base\n" + "ATTACK stat of one\n" + "POKéMON."); + +static const u8 sIronDesc[] = _( + "Raises the base\n" + "DEFENSE stat of\n" + "one POKéMON."); + +static const u8 sCarbosDesc[] = _( + "Raises the base\n" + "SPEED stat of one\n" + "POKéMON."); + +static const u8 sCalciumDesc[] = _( + "Raises the base\n" + "SP. ATK stat of one\n" + "POKéMON."); + +static const u8 sRareCandyDesc[] = _( + "Raises the level\n" + "of a POKéMON by\n" + "one."); + +static const u8 sPPUpDesc[] = _( + "Raises the maximum\n" + "PP of a selected\n" + "move."); + +static const u8 sZincDesc[] = _( + "Raises the base\n" + "SP. DEF stat of one\n" + "POKéMON."); + +static const u8 sPPMaxDesc[] = _( + "Raises the PP of a\n" + "move to its maximum\n" + "points."); + +// Battle items +static const u8 sGuardSpecDesc[] = _( + "Prevents stat\n" + "reduction when\n" + "used in battle."); + +static const u8 sDireHitDesc[] = _( + "Raises the\n" + "critical-hit ratio\n" + "during one battle."); + +static const u8 sXAttackDesc[] = _( + "Raises the stat\n" + "ATTACK during one\n" + "battle."); + +static const u8 sXDefendDesc[] = _( + "Raises the stat\n" + "DEFENSE during one\n" + "battle."); + +static const u8 sXSpeedDesc[] = _( + "Raises the stat\n" + "SPEED during one\n" + "battle."); + +static const u8 sXAccuracyDesc[] = _( + "Raises accuracy\n" + "of attack moves\n" + "during one battle."); + +static const u8 sXSpecialDesc[] = _( + "Raises the stat\n" + "SP. ATK during one\n" + "battle."); + +static const u8 sPokeDollDesc[] = _( + "Use to flee from\n" + "any battle with\n" + "a wild POKéMON."); + +static const u8 sFluffyTailDesc[] = _( + "Use to flee from\n" + "any battle with\n" + "a wild POKéMON."); + +// Field items +static const u8 sSuperRepelDesc[] = _( + "Repels weak wild\n" + "POKéMON for 200\n" + "steps."); + +static const u8 sMaxRepelDesc[] = _( + "Repels weak wild\n" + "POKéMON for 250\n" + "steps."); + +static const u8 sEscapeRopeDesc[] = _( + "Use to escape\n" + "instantly from a\n" + "cave or a dungeon."); + +static const u8 sRepelDesc[] = _( + "Repels weak wild\n" + "POKéMON for 100\n" + "steps."); + +// Evolution stones +static const u8 sSunStoneDesc[] = _( + "Makes certain\n" + "species of POKéMON\n" + "evolve."); + +static const u8 sMoonStoneDesc[] = _( + "Makes certain\n" + "species of POKéMON\n" + "evolve."); + +static const u8 sFireStoneDesc[] = _( + "Makes certain\n" + "species of POKéMON\n" + "evolve."); + +static const u8 sThunderStoneDesc[] = _( + "Makes certain\n" + "species of POKéMON\n" + "evolve."); + +static const u8 sWaterStoneDesc[] = _( + "Makes certain\n" + "species of POKéMON\n" + "evolve."); + +static const u8 sLeafStoneDesc[] = _( + "Makes certain\n" + "species of POKéMON\n" + "evolve."); + +// Valuable items +static const u8 sTinyMushroomDesc[] = _( + "A plain mushroom\n" + "that would sell\n" + "at a cheap price."); + +static const u8 sBigMushroomDesc[] = _( + "A rare mushroom\n" + "that would sell at a\n" + "high price."); + +static const u8 sPearlDesc[] = _( + "A pretty pearl\n" + "that would sell at a\n" + "cheap price."); + +static const u8 sBigPearlDesc[] = _( + "A lovely large pearl\n" + "that would sell at a\n" + "high price."); + +static const u8 sStardustDesc[] = _( + "Beautiful red sand.\n" + "Can be sold at a\n" + "high price."); + +static const u8 sStarPieceDesc[] = _( + "A red gem shard.\n" + "It would sell for a\n" + "very high price."); + +static const u8 sNuggetDesc[] = _( + "A nugget of pure\n" + "gold. Can be sold at\n" + "a high price."); + +static const u8 sHeartScaleDesc[] = _( + "A lovely scale.\n" + "It is coveted by\n" + "collectors."); + +// Mail +static const u8 sOrangeMailDesc[] = _( + "A ZIGZAGOON-print\n" + "MAIL to be held by\n" + "a POKéMON."); + +static const u8 sHarborMailDesc[] = _( + "A WINGULL-print\n" + "MAIL to be held by\n" + "a POKéMON."); + +static const u8 sGlitterMailDesc[] = _( + "A PIKACHU-print\n" + "MAIL to be held by\n" + "a POKéMON."); + +static const u8 sMechMailDesc[] = _( + "A MAGNEMITE-print\n" + "MAIL to be held by\n" + "a POKéMON."); + +static const u8 sWoodMailDesc[] = _( + "A SLAKOTH-print\n" + "MAIL to be held by\n" + "a POKéMON."); + +static const u8 sWaveMailDesc[] = _( + "A WAILMER-print\n" + "MAIL to be held by\n" + "a POKéMON."); + +static const u8 sBeadMailDesc[] = _( + "MAIL featuring a\n" + "sketch of the\n" + "holding POKéMON."); + +static const u8 sShadowMailDesc[] = _( + "A DUSKULL-print\n" + "MAIL to be held by\n" + "a POKéMON."); + +static const u8 sTropicMailDesc[] = _( + "A BELLOSSOM-print\n" + "MAIL to be held by\n" + "a POKéMON."); + +static const u8 sDreamMailDesc[] = _( + "MAIL featuring a\n" + "sketch of the\n" + "holding POKéMON."); + +static const u8 sFabMailDesc[] = _( + "A gorgeous-print\n" + "MAIL to be held\n" + "by a POKéMON."); + +static const u8 sRetroMailDesc[] = _( + "MAIL featuring the\n" + "drawings of three\n" + "POKéMON."); + +// Berries +static const u8 sCheriBerryDesc[] = _( + "A hold item that\n" + "heals paralysis\n" + "in battle."); + +static const u8 sChestoBerryDesc[] = _( + "A hold item that\n" + "awakens POKéMON\n" + "in battle."); + +static const u8 sPechaBerryDesc[] = _( + "A hold item that\n" + "heals poisoning\n" + "in battle."); + +static const u8 sRawstBerryDesc[] = _( + "A hold item that\n" + "heals a burn in\n" + "battle."); + +static const u8 sAspearBerryDesc[] = _( + "A hold item that\n" + "defrosts POKéMON\n" + "in battle."); + +static const u8 sLeppaBerryDesc[] = _( + "A hold item that\n" + "restores 10 PP in\n" + "battle."); + +static const u8 sOranBerryDesc[] = _( + "A hold item that\n" + "restores 10 HP in\n" + "battle."); + +static const u8 sPersimBerryDesc[] = _( + "A hold item that\n" + "heals confusion\n" + "in battle."); + +static const u8 sLumBerryDesc[] = _( + "A hold item that\n" + "heals any status\n" + "problem in battle."); + +static const u8 sSitrusBerryDesc[] = _( + "A hold item that\n" + "restores 30 HP in\n" + "battle."); + +static const u8 sFigyBerryDesc[] = _( + "A hold item that\n" + "restores HP but\n" + "may confuse."); + +static const u8 sWikiBerryDesc[] = _( + "A hold item that\n" + "restores HP but\n" + "may confuse."); + +static const u8 sMagoBerryDesc[] = _( + "A hold item that\n" + "restores HP but\n" + "may confuse."); + +static const u8 sAguavBerryDesc[] = _( + "A hold item that\n" + "restores HP but\n" + "may confuse."); + +static const u8 sIapapaBerryDesc[] = _( + "A hold item that\n" + "restores HP but\n" + "may confuse."); + +static const u8 sRazzBerryDesc[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow RAZZ."); + +static const u8 sBlukBerryDesc[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow BLUK."); + +static const u8 sNanabBerryDesc[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow NANAB."); + +static const u8 sWepearBerryDesc[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow WEPEAR."); + +static const u8 sPinapBerryDesc[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow PINAP."); + +static const u8 sPomegBerryDesc[] = _( + "Makes a POKéMON\n" + "friendly but lowers\n" + "base HP."); + +static const u8 sKelpsyBerryDesc[] = _( + "Makes a POKéMON\n" + "friendly but lowers\n" + "base ATTACK."); + +static const u8 sQualotBerryDesc[] = _( + "Makes a POKéMON\n" + "friendly but lowers\n" + "base DEFENSE."); + +static const u8 sHondewBerryDesc[] = _( + "Makes a POKéMON\n" + "friendly but lowers\n" + "base SP. ATK."); + +static const u8 sGrepaBerryDesc[] = _( + "Makes a POKéMON\n" + "friendly but lowers\n" + "base SP. DEF."); + +static const u8 sTamatoBerryDesc[] = _( + "Makes a POKéMON\n" + "friendly but lowers\n" + "base SPEED."); + +static const u8 sCornnBerryDesc[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow CORNN."); + +static const u8 sMagostBerryDesc[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow MAGOST."); + +static const u8 sRabutaBerryDesc[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow RABUTA."); + +static const u8 sNomelBerryDesc[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow NOMEL."); + +static const u8 sSpelonBerryDesc[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow SPELON."); + +static const u8 sPamtreBerryDesc[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow PAMTRE."); + +static const u8 sWatmelBerryDesc[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow WATMEL."); + +static const u8 sDurinBerryDesc[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow DURIN."); + +static const u8 sBelueBerryDesc[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow BELUE."); + +static const u8 sLiechiBerryDesc[] = _( + "A hold item that\n" + "raises ATTACK in\n" + "a pinch."); + +static const u8 sGanlonBerryDesc[] = _( + "A hold item that\n" + "raises DEFENSE in\n" + "a pinch."); + +static const u8 sSalacBerryDesc[] = _( + "A hold item that\n" + "raises SPEED in\n" + "a pinch."); + +static const u8 sPetayaBerryDesc[] = _( + "A hold item that\n" + "raises SP. ATK in\n" + "a pinch."); + +static const u8 sApicotBerryDesc[] = _( + "A hold item that\n" + "raises SP. DEF in\n" + "a pinch."); + +static const u8 sLansatBerryDesc[] = _( + "A hold item that\n" + "ups the critical-\n" + "hit rate in a pinch."); + +static const u8 sStarfBerryDesc[] = _( + "A hold item that\n" + "sharply boosts a\n" + "stat in a pinch."); + +static const u8 sEnigmaBerryDesc[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow a mystery."); + +// Hold items +static const u8 sBrightPowderDesc[] = _( + "A hold item that\n" + "casts a glare to\n" + "reduce accuracy."); + +static const u8 sWhiteHerbDesc[] = _( + "A hold item that\n" + "restores any\n" + "lowered stat."); + +static const u8 sMachoBraceDesc[] = _( + "A hold item that\n" + "promotes growth,\n" + "but reduces SPEED."); + +static const u8 sExpShareDesc[] = _( + "A hold item that\n" + "gets EXP. points\n" + "from battles."); + +static const u8 sQuickClawDesc[] = _( + "A hold item that\n" + "occasionally allows\n" + "the first strike."); + +static const u8 sSootheBellDesc[] = _( + "A hold item that\n" + "calms spirits and\n" + "fosters friendship."); + +static const u8 sMentalHerbDesc[] = _( + "A hold item that\n" + "snaps POKéMON out\n" + "of infatuation."); + +static const u8 sChoiceBandDesc[] = _( + "Raises a move's\n" + "power, but permits\n" + "only that move."); + +static const u8 sKingsRockDesc[] = _( + "A hold item that\n" + "may cause flinching\n" + "when the foe is hit."); + +static const u8 sSilverPowderDesc[] = _( + "A hold item that\n" + "raises the power of\n" + "BUG-type moves."); + +static const u8 sAmuletCoinDesc[] = _( + "Doubles money in\n" + "battle if the\n" + "holder takes part."); + +static const u8 sCleanseTagDesc[] = _( + "A hold item that\n" + "helps repel wild\n" + "POKéMON."); + +static const u8 sSoulDewDesc[] = _( + "Hold item: raises\n" + "SP. ATK & SP. DEF of\n" + "LATIOS & LATIAS."); + +static const u8 sDeepSeaToothDesc[] = _( + "A hold item that\n" + "raises the SP. ATK\n" + "of CLAMPERL."); + +static const u8 sDeepSeaScaleDesc[] = _( + "A hold item that\n" + "raises the SP. DEF\n" + "of CLAMPERL."); + +static const u8 sSmokeBallDesc[] = _( + "A hold item that\n" + "assures fleeing\n" + "from wild POKéMON."); + +static const u8 sEverstoneDesc[] = _( + "A wondrous hold\n" + "item that prevents\n" + "evolution."); + +static const u8 sFocusBandDesc[] = _( + "A hold item that\n" + "occasionally\n" + "prevents fainting."); + +static const u8 sLuckyEggDesc[] = _( + "A hold item that\n" + "boosts EXP. points\n" + "earned in battle."); + +static const u8 sScopeLensDesc[] = _( + "A hold item that\n" + "improves the\n" + "critical-hit rate."); + +static const u8 sMetalCoatDesc[] = _( + "A hold item that\n" + "raises the power of\n" + "STEEL-type moves."); + +static const u8 sLeftoversDesc[] = _( + "A hold item that\n" + "gradually restores\n" + "HP in battle."); + +static const u8 sDragonScaleDesc[] = _( + "A strange scale\n" + "held by DRAGON-\n" + "type POKéMON."); + +static const u8 sLightBallDesc[] = _( + "A hold item that\n" + "raises the SP. ATK\n" + "of PIKACHU."); + +static const u8 sSoftSandDesc[] = _( + "A hold item that\n" + "raises the power of\n" + "GROUND-type moves."); + +static const u8 sHardStoneDesc[] = _( + "A hold item that\n" + "raises the power of\n" + "ROCK-type moves."); + +static const u8 sMiracleSeedDesc[] = _( + "A hold item that\n" + "raises the power of\n" + "GRASS-type moves."); + +static const u8 sBlackGlassesDesc[] = _( + "A hold item that\n" + "raises the power of\n" + "DARK-type moves."); + +static const u8 sBlackBeltDesc[] = _( + "A hold item that\n" + "boosts FIGHTING-\n" + "type moves."); + +static const u8 sMagnetDesc[] = _( + "A hold item that\n" + "boosts ELECTRIC-\n" + "type moves."); + +static const u8 sMysticWaterDesc[] = _( + "A hold item that\n" + "raises the power of\n" + "WATER-type moves."); + +static const u8 sSharpBeakDesc[] = _( + "A hold item that\n" + "raises the power of\n" + "FLYING-type moves."); + +static const u8 sPoisonBarbDesc[] = _( + "A hold item that\n" + "raises the power of\n" + "POISON-type moves."); + +static const u8 sNeverMeltIceDesc[] = _( + "A hold item that\n" + "raises the power of\n" + "ICE-type moves."); + +static const u8 sSpellTagDesc[] = _( + "A hold item that\n" + "raises the power of\n" + "GHOST-type moves."); + +static const u8 sTwistedSpoonDesc[] = _( + "A hold item that\n" + "boosts PSYCHIC-\n" + "type moves."); + +static const u8 sCharcoalDesc[] = _( + "A hold item that\n" + "raises the power of\n" + "FIRE-type moves."); + +static const u8 sDragonFangDesc[] = _( + "A hold item that\n" + "raises the power of\n" + "DRAGON-type moves."); + +static const u8 sSilkScarfDesc[] = _( + "A hold item that\n" + "raises the power of\n" + "NORMAL-type moves."); + +static const u8 sUpGradeDesc[] = _( + "A peculiar box made\n" + "by SILPH CO."); + +static const u8 sShellBellDesc[] = _( + "A hold item that\n" + "restores HP upon\n" + "striking the foe."); + +static const u8 sSeaIncenseDesc[] = _( + "A hold item that\n" + "slightly boosts\n" + "WATER-type moves."); + +static const u8 sLaxIncenseDesc[] = _( + "A hold item that\n" + "slightly lowers the\n" + "foe's accuracy."); + +static const u8 sLuckyPunchDesc[] = _( + "A hold item that\n" + "raises CHANSEY's\n" + "critical-hit rate."); + +static const u8 sMetalPowderDesc[] = _( + "A hold item that\n" + "raises DITTO's\n" + "DEFENSE."); + +static const u8 sThickClubDesc[] = _( + "A hold item that \n" + "raises CUBONE or\n" + "MAROWAK's ATTACK."); + +static const u8 sStickDesc[] = _( + "A hold item that\n" + "raises FARFETCH'D's\n" + "critical-hit ratio."); + +static const u8 sRedScarfDesc[] = _( + "A hold item that\n" + "raises COOL in\n" + "CONTESTS."); + +static const u8 sBlueScarfDesc[] = _( + "A hold item that\n" + "raises BEAUTY in\n" + "CONTESTS."); + +static const u8 sPinkScarfDesc[] = _( + "A hold item that\n" + "raises CUTE in\n" + "CONTESTS."); + +static const u8 sGreenScarfDesc[] = _( + "A hold item that\n" + "raises SMART in\n" + "CONTESTS."); + +static const u8 sYellowScarfDesc[] = _( + "A hold item that\n" + "raises TOUGH in\n" + "CONTESTS."); + +// Key items +static const u8 sMachBikeDesc[] = _( + "A folding bicycle\n" + "that doubles your\n" + "speed or better."); + +static const u8 sCoinCaseDesc[] = _( + "A case that holds\n" + "up to 9,999 COINS."); + +static const u8 sItemfinderDesc[] = _( + "A device that\n" + "signals an invisible\n" + "item by sound."); + +static const u8 sOldRodDesc[] = _( + "Use by any body of\n" + "water to fish for\n" + "wild POKéMON."); + +static const u8 sGoodRodDesc[] = _( + "A decent fishing\n" + "rod for catching\n" + "wild POKéMON."); + +static const u8 sSuperRodDesc[] = _( + "The best fishing\n" + "rod for catching\n" + "wild POKéMON."); + +static const u8 sSSTicketDesc[] = _( + "The ticket required\n" + "for sailing on a\n" + "ferry."); + +static const u8 sContestPassDesc[] = _( + "The pass required\n" + "for entering\n" + "POKéMON CONTESTS."); + +static const u8 sWailmerPailDesc[] = _( + "A tool used for\n" + "watering BERRIES\n" + "and plants."); + +static const u8 sDevonGoodsDesc[] = _( + "A package that\n" + "contains DEVON's\n" + "machine parts."); + +static const u8 sSootSackDesc[] = _( + "A sack used to\n" + "gather and hold\n" + "volcanic ash."); + +static const u8 sBasementKeyDesc[] = _( + "The key for NEW\n" + "MAUVILLE beneath\n" + "MAUVILLE CITY."); + +static const u8 sAcroBikeDesc[] = _( + "A folding bicycle\n" + "capable of jumps\n" + "and wheelies."); + +static const u8 sPokeblockCaseDesc[] = _( + "A case for holding\n" + "{POKEBLOCK}S made with\n" + "a BERRY BLENDER."); + +static const u8 sLetterDesc[] = _( + "A letter to STEVEN\n" + "from the PRESIDENT\n" + "of the DEVON CORP."); + +static const u8 sEonTicketDesc[] = _( + "The ticket for a\n" + "ferry to a distant\n" + "southern island."); + +static const u8 sRedOrbDesc[] = _( + "A red, glowing orb\n" + "said to contain an\n" + "ancient power."); + +static const u8 sBlueOrbDesc[] = _( + "A blue, glowing orb\n" + "said to contain an\n" + "ancient power."); + +static const u8 sScannerDesc[] = _( + "A device found\n" + "inside the\n" + "ABANDONED SHIP."); + +static const u8 sGoGogglesDesc[] = _( + "Nifty goggles that\n" + "protect eyes from\n" + "desert sandstorms."); + +static const u8 sMeteoriteDesc[] = _( + "A meteorite found\n" + "at METEOR FALLS."); + +static const u8 sRoom1KeyDesc[] = _( + "A key that opens a\n" + "door inside the\n" + "ABANDONED SHIP."); + +static const u8 sRoom2KeyDesc[] = _( + "A key that opens a\n" + "door inside the\n" + "ABANDONED SHIP."); + +static const u8 sRoom4KeyDesc[] = _( + "A key that opens a\n" + "door inside the\n" + "ABANDONED SHIP."); + +static const u8 sRoom6KeyDesc[] = _( + "A key that opens a\n" + "door inside the\n" + "ABANDONED SHIP."); + +static const u8 sStorageKeyDesc[] = _( + "The key to the\n" + "storage inside the\n" + "ABANDONED SHIP."); + +static const u8 sRootFossilDesc[] = _( + "A fossil of an\n" + "ancient, seafloor-\n" + "dwelling POKéMON."); + +static const u8 sClawFossilDesc[] = _( + "A fossil of an\n" + "ancient, seafloor-\n" + "dwelling POKéMON."); + +static const u8 sDevonScopeDesc[] = _( + "A device by DEVON\n" + "that signals any\n" + "unseeable POKéMON."); + +// TMs/HMs +static const u8 sTM01Desc[] = _( + "Powerful, but makes\n" + "the user flinch if\n" + "hit by the foe."); + +static const u8 sTM02Desc[] = _( + "Hooks and slashes\n" + "the foe with long,\n" + "sharp claws."); + +static const u8 sTM03Desc[] = _( + "Generates an\n" + "ultrasonic wave\n" + "that may confuse."); + +static const u8 sTM04Desc[] = _( + "Raises SP. ATK and\n" + "SP. DEF by focusing\n" + "the mind."); + +static const u8 sTM05Desc[] = _( + "A savage roar that\n" + "makes the foe flee \n" + "to end the battle."); + +static const u8 sTM06Desc[] = _( + "Poisons the foe\n" + "with a toxin that\n" + "gradually worsens."); + +static const u8 sTM07Desc[] = _( + "Creates a hailstorm\n" + "that damages all\n" + "types except ICE."); + +static const u8 sTM08Desc[] = _( + "Bulks up the body\n" + "to boost both\n" + "ATTACK & DEFENSE."); + +static const u8 sTM09Desc[] = _( + "Shoots 2 to 5 seeds\n" + "in a row to strike\n" + "the foe."); + +static const u8 sTM10Desc[] = _( + "The attack power\n" + "varies among\n" + "different POKéMON."); + +static const u8 sTM11Desc[] = _( + "Raises the power of\n" + "FIRE-type moves\n" + "for 5 turns."); + +static const u8 sTM12Desc[] = _( + "Enrages the foe so\n" + "it can only use\n" + "attack moves."); + +static const u8 sTM13Desc[] = _( + "Fires an icy cold\n" + "beam that may\n" + "freeze the foe."); + +static const u8 sTM14Desc[] = _( + "A brutal snow-and-\n" + "wind attack that\n" + "may freeze the foe."); + +static const u8 sTM15Desc[] = _( + "Powerful, but needs\n" + "recharging the\n" + "next turn."); + +static const u8 sTM16Desc[] = _( + "Creates a wall of\n" + "light that lowers\n" + "SP. ATK damage."); + +static const u8 sTM17Desc[] = _( + "Negates all damage,\n" + "but may fail if used\n" + "in succession."); + +static const u8 sTM18Desc[] = _( + "Raises the power of\n" + "WATER-type moves\n" + "for 5 turns."); + +static const u8 sTM19Desc[] = _( + "Recovers half the\n" + "HP of the damage \n" + "this move inflicts."); + +static const u8 sTM20Desc[] = _( + "Prevents status\n" + "abnormality with a\n" + "mystical power."); + +static const u8 sTM21Desc[] = _( + "The less the user\n" + "likes you, the more\n" + "powerful this move."); + +static const u8 sTM22Desc[] = _( + "Absorbs sunlight in\n" + "the 1st turn, then\n" + "attacks next turn."); + +static const u8 sTM23Desc[] = _( + "Slams the foe with\n" + "a hard tail. It may\n" + "lower DEFENSE."); + +static const u8 sTM24Desc[] = _( + "A powerful electric\n" + "attack that may\n" + "cause paralysis."); + +static const u8 sTM25Desc[] = _( + "Strikes the foe\n" + "with a thunderbolt.\n" + "It may paralyze."); + +static const u8 sTM26Desc[] = _( + "Causes a quake\n" + "that has no effect\n" + "on flying foes."); + +static const u8 sTM27Desc[] = _( + "The more the user\n" + "likes you, the more\n" + "powerful this move."); + +static const u8 sTM28Desc[] = _( + "Digs underground\n" + "the 1st turn, then\n" + "strikes next turn."); + +static const u8 sTM29Desc[] = _( + "A powerful psychic\n" + "attack that may\n" + "lower SP. DEF."); + +static const u8 sTM30Desc[] = _( + "Hurls a dark lump\n" + "at the foe. It may\n" + "lower SP. DEF."); + +static const u8 sTM31Desc[] = _( + "Destroys barriers\n" + "like LIGHT SCREEN\n" + "and causes damage."); + +static const u8 sTM32Desc[] = _( + "Creates illusory\n" + "copies to enhance\n" + "elusiveness."); + +static const u8 sTM33Desc[] = _( + "Creates a wall of\n" + "light that weakens\n" + "physical attacks."); + +static const u8 sTM34Desc[] = _( + "Zaps the foe with a\n" + "jolt of electricity\n" + "that never misses."); + +static const u8 sTM35Desc[] = _( + "Looses a stream of\n" + "fire that may burn\n" + "the foe."); + +static const u8 sTM36Desc[] = _( + "Hurls sludge at the\n" + "foe. It may poison\n" + "the foe."); + +static const u8 sTM37Desc[] = _( + "Causes a sandstorm\n" + "that hits the foe\n" + "over several turns."); + +static const u8 sTM38Desc[] = _( + "A powerful fire\n" + "attack that may\n" + "burn the foe."); + +static const u8 sTM39Desc[] = _( + "Stops the foe from\n" + "moving with rocks.\n" + "May lower SPEED."); + +static const u8 sTM40Desc[] = _( + "An extremely fast\n" + "attack that can't\n" + "be avoided."); + +static const u8 sTM41Desc[] = _( + "Prevents the foe\n" + "from using the same\n" + "move in a row."); + +static const u8 sTM42Desc[] = _( + "Raises ATTACK when\n" + "poisoned, burned,\n" + "or paralyzed."); + +static const u8 sTM43Desc[] = _( + "Adds an effect to\n" + "attack depending\n" + "on the location."); + +static const u8 sTM44Desc[] = _( + "The user sleeps for\n" + "2 turns to restore\n" + "health and status."); + +static const u8 sTM45Desc[] = _( + "Makes it tough to\n" + "attack a foe of the\n" + "opposite gender."); + +static const u8 sTM46Desc[] = _( + "While attacking,\n" + "it may steal the\n" + "foe's held item."); + +static const u8 sTM47Desc[] = _( + "Spreads hard-\n" + "edged wings and\n" + "slams into the foe."); + +static const u8 sTM48Desc[] = _( + "Switches abilities\n" + "with the foe on the\n" + "turn this is used."); + +static const u8 sTM49Desc[] = _( + "Steals the effects\n" + "of the move the foe\n" + "is trying to use."); + +static const u8 sTM50Desc[] = _( + "Enables full-power\n" + "attack, but sharply\n" + "lowers SP. ATK."); + + +static const u8 sHM01Desc[] = _( + "Attacks the foe\n" + "with sharp blades\n" + "or claws."); + +static const u8 sHM02Desc[] = _( + "Flies up on the\n" + "first turn, then\n" + "attacks next turn."); + +static const u8 sHM03Desc[] = _( + "Creates a huge\n" + "wave, then crashes\n" + "it down on the foe."); + +static const u8 sHM04Desc[] = _( + "Builds enormous\n" + "power, then slams\n" + "the foe."); + +static const u8 sHM05Desc[] = _( + "Looses a powerful\n" + "blast of light that\n" + "reduces accuracy."); + +static const u8 sHM06Desc[] = _( + "A rock-crushingly\n" + "tough attack that\n" + "may lower DEFENSE."); + +static const u8 sHM07Desc[] = _( + "Attacks the foe\n" + "with enough power\n" + "to climb waterfalls."); + +static const u8 sHM08Desc[] = _( + "Dives underwater\n" + "the 1st turn, then\n" + "attacks next turn."); -const u8 gHM01ItemDescription[] = _("Attacks the foe\nwith sharp blades\nor claws."); -const u8 gHM02ItemDescription[] = _("Flies up on the\nfirst turn, then\nattacks next turn."); -const u8 gHM03ItemDescription[] = _("Creates a huge\nwave, then crashes\nit down on the foe."); -const u8 gHM04ItemDescription[] = _("Builds enormous\npower, then slams\nthe foe."); -const u8 gHM05ItemDescription[] = _("Looses a powerful\nblast of light that\nreduces accuracy."); -const u8 gHM06ItemDescription[] = _("A rock-crushingly\ntough attack that\nmay lower DEFENSE."); -const u8 gHM07ItemDescription[] = _("Attacks the foe\nwith enough power\nto climb waterfalls."); -const u8 gHM08ItemDescription[] = _("Dives underwater\nthe 1st turn, then\nattacks next turn."); // FireRed/LeafGreen key items -const u8 gOaksParcelItemDescription[] = _("A parcel for PROF.\nOAK from a POKéMON\nMART's clerk."); -const u8 gPokeFluteItemDescription[] = _("A sweet-sounding\nflute that awakens\nPOKéMON."); -const u8 gSecretKeyItemDescription[] = _("The key to the\nCINNABAR ISLAND\nGYM's entrance."); -const u8 gBikeVoucherItemDescription[] = _("A voucher for\nobtaining a bicycle\nfrom the BIKE SHOP."); -const u8 gGoldTeethItemDescription[] = _("Gold dentures lost\nby the SAFARI\nZONE's WARDEN."); -const u8 gOldAmberItemDescription[] = _("A stone containing\nthe genes of an\nancient POKéMON."); -const u8 gCardKeyItemDescription[] = _("A card-type door\nkey used in SILPH\nCO's office."); -const u8 gLiftKeyItemDescription[] = _("An elevator key\nused in TEAM\nROCKET's HIDEOUT."); -const u8 gHelixFossilItemDescription[] = _("A piece of an\nancient marine\nPOKéMON's seashell."); -const u8 gDomeFossilItemDescription[] = _("A piece of an\nancient marine\nPOKéMON's shell."); -const u8 gSilphScopeItemDescription[] = _("SILPH CO's scope\nmakes unseeable\nPOKéMON visible."); -const u8 gBicycleItemDescription[] = _("A folding bicycle\nthat is faster than\nthe RUNNING SHOES."); -const u8 gTownMapItemDescription[] = _("Can be viewed\nanytime. Shows your\npresent location."); -const u8 gVSSeekerItemDescription[] = _("A rechargeable unit\nthat flags battle-\nready TRAINERS."); -const u8 gFameCheckerItemDescription[] = _("Stores information\non famous people\nfor instant recall."); -const u8 gTMCaseItemDescription[] = _("A convenient case \nthat holds TMs and\nHMs."); -const u8 gBerryPouchItemDescription[] = _("A convenient\ncontainer that\nholds BERRIES."); -const u8 gTeachyTVItemDescription[] = _("A TV set tuned to\nan advice program\nfor TRAINERS."); -const u8 gTriPassItemDescription[] = _("A pass for ferries\nbetween ONE, TWO,\nand THREE ISLAND."); -const u8 gRainbowPassItemDescription[] = _("For ferries serving\nVERMILION and the\nSEVII ISLANDS."); -const u8 gTeaItemDescription[] = _("A thirst-quenching\ntea prepared by an\nold lady."); -const u8 gMysticTicketItemDescription[] = _("A ticket required\nto board the ship\nto NAVEL ROCK."); -const u8 gAuroraTicketItemDescription[] = _("A ticket required\nto board the ship\nto BIRTH ISLAND."); -const u8 gPowderJarItemDescription[] = _("Stores BERRY\nPOWDER made using\na BERRY CRUSHER."); -const u8 gRubyItemDescription[] = _("An exquisite, red-\nglowing gem that\nsymbolizes passion."); -const u8 gSapphireItemDescription[] = _("A brilliant blue gem\nthat symbolizes\nhonesty."); +static const u8 sOaksParcelDesc[] = _( + "A parcel for PROF.\n" + "OAK from a POKéMON\n" + "MART's clerk."); + +static const u8 sPokeFluteDesc[] = _( + "A sweet-sounding\n" + "flute that awakens\n" + "POKéMON."); + +static const u8 sSecretKeyDesc[] = _( + "The key to the\n" + "CINNABAR ISLAND\n" + "GYM's entrance."); + +static const u8 sBikeVoucherDesc[] = _( + "A voucher for\n" + "obtaining a bicycle\n" + "from the BIKE SHOP."); + +static const u8 sGoldTeethDesc[] = _( + "Gold dentures lost\n" + "by the SAFARI\n" + "ZONE's WARDEN."); + +static const u8 sOldAmberDesc[] = _( + "A stone containing\n" + "the genes of an\n" + "ancient POKéMON."); + +static const u8 sCardKeyDesc[] = _( + "A card-type door\n" + "key used in SILPH\n" + "CO's office."); + +static const u8 sLiftKeyDesc[] = _( + "An elevator key\n" + "used in TEAM\n" + "ROCKET's HIDEOUT."); + +static const u8 sHelixFossilDesc[] = _( + "A piece of an\n" + "ancient marine\n" + "POKéMON's seashell."); + +static const u8 sDomeFossilDesc[] = _( + "A piece of an\n" + "ancient marine\n" + "POKéMON's shell."); + +static const u8 sSilphScopeDesc[] = _( + "SILPH CO's scope\n" + "makes unseeable\n" + "POKéMON visible."); + +static const u8 sBicycleDesc[] = _( + "A folding bicycle\n" + "that is faster than\n" + "the RUNNING SHOES."); + +static const u8 sTownMapDesc[] = _( + "Can be viewed\n" + "anytime. Shows your\n" + "present location."); + +static const u8 sVSSeekerDesc[] = _( + "A rechargeable unit\n" + "that flags battle-\n" + "ready TRAINERS."); + +static const u8 sFameCheckerDesc[] = _( + "Stores information\n" + "on famous people\n" + "for instant recall."); + +static const u8 sTMCaseDesc[] = _( + "A convenient case \n" + "that holds TMs and\n" + "HMs."); + +static const u8 sBerryPouchDesc[] = _( + "A convenient\n" + "container that\n" + "holds BERRIES."); + +static const u8 sTeachyTVDesc[] = _( + "A TV set tuned to\n" + "an advice program\n" + "for TRAINERS."); + +static const u8 sTriPassDesc[] = _( + "A pass for ferries\n" + "between ONE, TWO,\n" + "and THREE ISLAND."); + +static const u8 sRainbowPassDesc[] = _( + "For ferries serving\n" + "VERMILION and the\n" + "SEVII ISLANDS."); + +static const u8 sTeaDesc[] = _( + "A thirst-quenching\n" + "tea prepared by an\n" + "old lady."); + +static const u8 sMysticTicketDesc[] = _( + "A ticket required\n" + "to board the ship\n" + "to NAVEL ROCK."); + +static const u8 sAuroraTicketDesc[] = _( + "A ticket required\n" + "to board the ship\n" + "to BIRTH ISLAND."); + +static const u8 sPowderJarDesc[] = _( + "Stores BERRY\n" + "POWDER made using\n" + "a BERRY CRUSHER."); + +static const u8 sRubyDesc[] = _( + "An exquisite, red-\n" + "glowing gem that\n" + "symbolizes passion."); + +static const u8 sSapphireDesc[] = _( + "A brilliant blue gem\n" + "that symbolizes\n" + "honesty."); + // Emerald-specific key items -const u8 gMagmaEmblemItemDescription[] = _("A medal-like item in\nthe same shape as\nTEAM MAGMA's mark."); -const u8 gOldSeaMapItemDescription[] = _("A faded sea chart\nthat shows the way\nto a certain island."); +static const u8 sMagmaEmblemDesc[] = _( + "A medal-like item in\n" + "the same shape as\n" + "TEAM MAGMA's mark."); + +static const u8 sOldSeaMapDesc[] = _( + "A faded sea chart\n" + "that shows the way\n" + "to a certain island."); diff --git a/src/data/trainer_graphics/back_pic_anims.h b/src/data/trainer_graphics/back_pic_anims.h index 0cc4bb2035..821039cb3b 100644 --- a/src/data/trainer_graphics/back_pic_anims.h +++ b/src/data/trainer_graphics/back_pic_anims.h @@ -1,4 +1,4 @@ -const union AnimCmd gAnimCmd_Brendan_1[] = +static const union AnimCmd gAnimCmd_Brendan_1[] = { ANIMCMD_FRAME(0, 24), ANIMCMD_FRAME(1, 9), @@ -8,7 +8,7 @@ const union AnimCmd gAnimCmd_Brendan_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_May_Steven_1[] = +static const union AnimCmd gAnimCmd_May_Steven_1[] = { ANIMCMD_FRAME(0, 24), ANIMCMD_FRAME(1, 9), @@ -18,7 +18,7 @@ const union AnimCmd gAnimCmd_May_Steven_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_Wally_1[] = +static const union AnimCmd gAnimCmd_Wally_1[] = { ANIMCMD_FRAME(0, 24), ANIMCMD_FRAME(1, 9), @@ -28,7 +28,7 @@ const union AnimCmd gAnimCmd_Wally_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_Red_1[] = +static const union AnimCmd gAnimCmd_Red_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(2, 6), @@ -38,7 +38,7 @@ const union AnimCmd gAnimCmd_Red_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_Leaf_1[] = +static const union AnimCmd gAnimCmd_Leaf_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(2, 6), @@ -48,7 +48,7 @@ const union AnimCmd gAnimCmd_Leaf_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RubySapphireBrendan_1[] = +static const union AnimCmd gAnimCmd_RubySapphireBrendan_1[] = { ANIMCMD_FRAME(0, 24), ANIMCMD_FRAME(1, 9), @@ -58,72 +58,72 @@ const union AnimCmd gAnimCmd_RubySapphireBrendan_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RubySapphireMay_1[] = +static const union AnimCmd gAnimCmd_RubySapphireMay_1[] = { ANIMCMD_FRAME(0, 24), ANIMCMD_FRAME(1, 9), - ANIMCMD_FRAME(2, 24), + ANIMCMD_FRAME(2, 24), ANIMCMD_FRAME(0, 9), ANIMCMD_FRAME(3, 50), ANIMCMD_END, }; -const union AnimCmd *const gTrainerBackAnims_Brendan[] = +static const union AnimCmd *const sBackAnims_Brendan[] = { - gAnimCmd_General_Frame3, + sAnim_GeneralFrame3, gAnimCmd_Brendan_1, }; -const union AnimCmd *const gTrainerBackAnims_May[] = +static const union AnimCmd *const sBackAnims_May[] = { - gAnimCmd_General_Frame3, + sAnim_GeneralFrame3, gAnimCmd_May_Steven_1, }; -const union AnimCmd *const gTrainerBackAnims_Red[] = +static const union AnimCmd *const sBackAnims_Red[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gAnimCmd_Red_1, }; -const union AnimCmd *const gTrainerBackAnims_Leaf[] = +static const union AnimCmd *const sBackAnims_Leaf[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gAnimCmd_Leaf_1, }; -const union AnimCmd *const gTrainerBackAnims_RubySapphireBrendan[] = +static const union AnimCmd *const sBackAnims_RubySapphireBrendan[] = { - gAnimCmd_General_Frame3, + sAnim_GeneralFrame3, gAnimCmd_RubySapphireBrendan_1, }; -const union AnimCmd *const gTrainerBackAnims_RubySapphireMay[] = +static const union AnimCmd *const sBackAnims_RubySapphireMay[] = { - gAnimCmd_General_Frame3, + sAnim_GeneralFrame3, gAnimCmd_RubySapphireMay_1, }; -const union AnimCmd *const gTrainerBackAnims_Wally[] = +static const union AnimCmd *const sBackAnims_Wally[] = { - gAnimCmd_General_Frame3, + sAnim_GeneralFrame3, gAnimCmd_Wally_1, }; -const union AnimCmd *const gTrainerBackAnims_Steven[] = +static const union AnimCmd *const sBackAnims_Steven[] = { - gAnimCmd_General_Frame3, + sAnim_GeneralFrame3, gAnimCmd_May_Steven_1, }; const union AnimCmd *const *const gTrainerBackAnimsPtrTable[] = { - gTrainerBackAnims_Brendan, - gTrainerBackAnims_May, - gTrainerBackAnims_Red, - gTrainerBackAnims_Leaf, - gTrainerBackAnims_RubySapphireBrendan, - gTrainerBackAnims_RubySapphireMay, - gTrainerBackAnims_Wally, - gTrainerBackAnims_Steven, + [TRAINER_BACK_PIC_BRENDAN] = sBackAnims_Brendan, + [TRAINER_BACK_PIC_MAY] = sBackAnims_May, + [TRAINER_BACK_PIC_RED] = sBackAnims_Red, + [TRAINER_BACK_PIC_LEAF] = sBackAnims_Leaf, + [TRAINER_BACK_PIC_RUBY_SAPPHIRE_BRENDAN] = sBackAnims_RubySapphireBrendan, + [TRAINER_BACK_PIC_RUBY_SAPPHIRE_MAY] = sBackAnims_RubySapphireMay, + [TRAINER_BACK_PIC_WALLY] = sBackAnims_Wally, + [TRAINER_BACK_PIC_STEVEN] = sBackAnims_Steven, }; diff --git a/src/data/trainer_graphics/back_pic_tables.h b/src/data/trainer_graphics/back_pic_tables.h index 0f6b0cb918..86efd7905c 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[] = { - {.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}, + [TRAINER_BACK_PIC_BRENDAN] = {.size = 8, .y_offset = 4}, + [TRAINER_BACK_PIC_MAY] = {.size = 8, .y_offset = 4}, + [TRAINER_BACK_PIC_RED] = {.size = 8, .y_offset = 5}, + [TRAINER_BACK_PIC_LEAF] = {.size = 8, .y_offset = 5}, + [TRAINER_BACK_PIC_RUBY_SAPPHIRE_BRENDAN] = {.size = 8, .y_offset = 4}, + [TRAINER_BACK_PIC_RUBY_SAPPHIRE_MAY] = {.size = 8, .y_offset = 4}, + [TRAINER_BACK_PIC_WALLY] = {.size = 8, .y_offset = 4}, + [TRAINER_BACK_PIC_STEVEN] = {.size = 8, .y_offset = 4}, }; // this table goes functionally unused, since none of these pics are compressed @@ -25,14 +25,14 @@ const struct CompressedSpriteSheet gTrainerBackPicTable[] = (const u32 *)gTrainerBackPic_Steven, 0x2000, TRAINER_BACK_PIC_STEVEN, }; -const struct CompressedSpritePalette gTrainerBackPicPaletteTable[] = +const struct CompressedSpritePalette gTrainerBackPicPaletteTable[] = { - gTrainerPalette_Brendan, TRAINER_BACK_PIC_BRENDAN, - gTrainerPalette_May, TRAINER_BACK_PIC_MAY, - gTrainerBackPicPalette_Red, TRAINER_BACK_PIC_RED, - gTrainerBackPicPalette_Leaf, TRAINER_BACK_PIC_LEAF, - gTrainerPalette_RubySapphireBrendan, TRAINER_BACK_PIC_RUBY_SAPPHIRE_BRENDAN, - gTrainerPalette_RubySapphireMay, TRAINER_BACK_PIC_RUBY_SAPPHIRE_MAY, - gTrainerPalette_Wally, TRAINER_BACK_PIC_WALLY, - gTrainerPalette_Steven, TRAINER_BACK_PIC_STEVEN, + TRAINER_BACK_PAL(BRENDAN, gTrainerPalette_Brendan), + TRAINER_BACK_PAL(MAY, gTrainerPalette_May), + TRAINER_BACK_PAL(RED, gTrainerBackPicPalette_Red), + TRAINER_BACK_PAL(LEAF, gTrainerBackPicPalette_Leaf), + TRAINER_BACK_PAL(RUBY_SAPPHIRE_BRENDAN, gTrainerPalette_RubySapphireBrendan), + TRAINER_BACK_PAL(RUBY_SAPPHIRE_MAY, gTrainerPalette_RubySapphireMay), + TRAINER_BACK_PAL(WALLY, gTrainerPalette_Wally), + TRAINER_BACK_PAL(STEVEN, gTrainerPalette_Steven), }; diff --git a/src/data/trainer_graphics/front_pic_anims.h b/src/data/trainer_graphics/front_pic_anims.h index 371e5a3002..f01394532a 100644 --- a/src/data/trainer_graphics/front_pic_anims.h +++ b/src/data/trainer_graphics/front_pic_anims.h @@ -1,470 +1,468 @@ -#include "constants/trainers.h" - -const union AnimCmd *const gTrainerFrontAnims_Hiker[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Hiker[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_AquaGruntM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_AquaGruntM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_PokemonBreederF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_PokemonBreederF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_CoolTrainerM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_CoolTrainerM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_BirdKeeper[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_BirdKeeper[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Collector[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Collector[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_AquaGruntF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_AquaGruntF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_SwimmerM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_SwimmerM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_MagmaGruntM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_MagmaGruntM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_ExpertM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_ExpertM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_AquaAdminM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_AquaAdminM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_BlackBelt[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_BlackBelt[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_AquaAdminF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_AquaAdminF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_AquaLeaderArchie[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_AquaLeaderArchie[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_HexManiac[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_HexManiac[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_AromaLady[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_AromaLady[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_RuinManiac[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_RuinManiac[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Interviewer[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Interviewer[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_TuberF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_TuberF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_TuberM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_TuberM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_CoolTrainerF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_CoolTrainerF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Lady[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Lady[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Beauty[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Beauty[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_RichBoy[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_RichBoy[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_ExpertF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_ExpertF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Pokemaniac[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Pokemaniac[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_MagmaGruntF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_MagmaGruntF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Guitarist[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Guitarist[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Kindler[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Kindler[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Camper[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Camper[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Picnicker[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Picnicker[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_BugManiac[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_BugManiac[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_PokemonBreederM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_PokemonBreederM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_PsychicM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_PsychicM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_PsychicF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_PsychicF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Gentleman[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Gentleman[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_EliteFourSidney[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_EliteFourSidney[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_EliteFourPhoebe[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_EliteFourPhoebe[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_EliteFourGlacia[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_EliteFourGlacia[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_EliteFourDrake[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_EliteFourDrake[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_LeaderRoxanne[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_LeaderRoxanne[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_LeaderBrawly[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_LeaderBrawly[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_LeaderWattson[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_LeaderWattson[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_LeaderFlannery[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_LeaderFlannery[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_LeaderNorman[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_LeaderNorman[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_LeaderWinona[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_LeaderWinona[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_LeaderTateAndLiza[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_LeaderTateAndLiza[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_LeaderJuan[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_LeaderJuan[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_SchoolKidM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_SchoolKidM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_SchoolKidF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_SchoolKidF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_SrAndJr[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_SrAndJr[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_PokefanM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_PokefanM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_PokefanF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_PokefanF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Youngster[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Youngster[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_ChampionWallace[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_ChampionWallace[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Fisherman[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Fisherman[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_CyclingTriathleteM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_CyclingTriathleteM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_CyclingTriathleteF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_CyclingTriathleteF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_RunningTriathleteM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_RunningTriathleteM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_RunningTriathleteF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_RunningTriathleteF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_SwimmingTriathleteM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_SwimmingTriathleteM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_SwimmingTriathleteF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_SwimmingTriathleteF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_DragonTamer[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_DragonTamer[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_NinjaBoy[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_NinjaBoy[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_BattleGirl[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_BattleGirl[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_ParasolLady[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_ParasolLady[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_SwimmerF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_SwimmerF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Twins[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Twins[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Sailor[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Sailor[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_MagmaAdmin[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_MagmaAdmin[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Wally[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Wally[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Brendan[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Brendan[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_May[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_May[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_BugCatcher[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_BugCatcher[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_PokemonRangerM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_PokemonRangerM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_PokemonRangerF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_PokemonRangerF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_MagmaLeaderMaxie[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_MagmaLeaderMaxie[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Lass[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Lass[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_YoungCouple[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_YoungCouple[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_OldCouple[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_OldCouple[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_SisAndBro[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_SisAndBro[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Steven[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Steven[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_SalonMaidenAnabel[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_SalonMaidenAnabel[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_DomeAceTucker[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_DomeAceTucker[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_PalaceMavenSpenser[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_PalaceMavenSpenser[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_ArenaTycoonGreta[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_ArenaTycoonGreta[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_FactoryHeadNoland[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_FactoryHeadNoland[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_PikeQueenLucy[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_PikeQueenLucy[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_PyramidKingBrandon[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_PyramidKingBrandon[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Red[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Red[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Leaf[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Leaf[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_RubySapphireBrendan[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_RubySapphireBrendan[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_RubySapphireMay[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_RubySapphireMay[] ={ + sAnim_GeneralFrame0, }; const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[] = { - [TRAINER_PIC_HIKER] = gTrainerFrontAnims_Hiker, - [TRAINER_PIC_AQUA_GRUNT_M] = gTrainerFrontAnims_AquaGruntM, - [TRAINER_PIC_POKEMON_BREEDER_F] = gTrainerFrontAnims_PokemonBreederF, - [TRAINER_PIC_COOLTRAINER_M] = gTrainerFrontAnims_CoolTrainerM, - [TRAINER_PIC_BIRD_KEEPER] = gTrainerFrontAnims_BirdKeeper, - [TRAINER_PIC_COLLECTOR] = gTrainerFrontAnims_Collector, - [TRAINER_PIC_AQUA_GRUNT_F] = gTrainerFrontAnims_AquaGruntF, - [TRAINER_PIC_SWIMMER_M] = gTrainerFrontAnims_SwimmerM, - [TRAINER_PIC_MAGMA_GRUNT_M] = gTrainerFrontAnims_MagmaGruntM, - [TRAINER_PIC_EXPERT_M] = gTrainerFrontAnims_ExpertM, - [TRAINER_PIC_AQUA_ADMIN_M] = gTrainerFrontAnims_AquaAdminM, - [TRAINER_PIC_BLACK_BELT] = gTrainerFrontAnims_BlackBelt, - [TRAINER_PIC_AQUA_ADMIN_F] = gTrainerFrontAnims_AquaAdminF, - [TRAINER_PIC_AQUA_LEADER_ARCHIE] = gTrainerFrontAnims_AquaLeaderArchie, - [TRAINER_PIC_HEX_MANIAC] = gTrainerFrontAnims_HexManiac, - [TRAINER_PIC_AROMA_LADY] = gTrainerFrontAnims_AromaLady, - [TRAINER_PIC_RUIN_MANIAC] = gTrainerFrontAnims_RuinManiac, - [TRAINER_PIC_INTERVIEWER] = gTrainerFrontAnims_Interviewer, - [TRAINER_PIC_TUBER_F] = gTrainerFrontAnims_TuberF, - [TRAINER_PIC_TUBER_M] = gTrainerFrontAnims_TuberM, - [TRAINER_PIC_COOLTRAINER_F] = gTrainerFrontAnims_CoolTrainerF, - [TRAINER_PIC_LADY] = gTrainerFrontAnims_Lady, - [TRAINER_PIC_BEAUTY] = gTrainerFrontAnims_Beauty, - [TRAINER_PIC_RICH_BOY] = gTrainerFrontAnims_RichBoy, - [TRAINER_PIC_EXPERT_F] = gTrainerFrontAnims_ExpertF, - [TRAINER_PIC_POKEMANIAC] = gTrainerFrontAnims_Pokemaniac, - [TRAINER_PIC_MAGMA_GRUNT_F] = gTrainerFrontAnims_MagmaGruntF, - [TRAINER_PIC_GUITARIST] = gTrainerFrontAnims_Guitarist, - [TRAINER_PIC_KINDLER] = gTrainerFrontAnims_Kindler, - [TRAINER_PIC_CAMPER] = gTrainerFrontAnims_Camper, - [TRAINER_PIC_PICNICKER] = gTrainerFrontAnims_Picnicker, - [TRAINER_PIC_BUG_MANIAC] = gTrainerFrontAnims_BugManiac, - [TRAINER_PIC_POKEMON_BREEDER_M] = gTrainerFrontAnims_PokemonBreederM, - [TRAINER_PIC_PSYCHIC_M] = gTrainerFrontAnims_PsychicM, - [TRAINER_PIC_PSYCHIC_F] = gTrainerFrontAnims_PsychicF, - [TRAINER_PIC_GENTLEMAN] = gTrainerFrontAnims_Gentleman, - [TRAINER_PIC_ELITE_FOUR_SIDNEY] = gTrainerFrontAnims_EliteFourSidney, - [TRAINER_PIC_ELITE_FOUR_PHOEBE] = gTrainerFrontAnims_EliteFourPhoebe, - [TRAINER_PIC_ELITE_FOUR_GLACIA] = gTrainerFrontAnims_EliteFourGlacia, - [TRAINER_PIC_ELITE_FOUR_DRAKE] = gTrainerFrontAnims_EliteFourDrake, - [TRAINER_PIC_LEADER_ROXANNE] = gTrainerFrontAnims_LeaderRoxanne, - [TRAINER_PIC_LEADER_BRAWLY] = gTrainerFrontAnims_LeaderBrawly, - [TRAINER_PIC_LEADER_WATTSON] = gTrainerFrontAnims_LeaderWattson, - [TRAINER_PIC_LEADER_FLANNERY] = gTrainerFrontAnims_LeaderFlannery, - [TRAINER_PIC_LEADER_NORMAN] = gTrainerFrontAnims_LeaderNorman, - [TRAINER_PIC_LEADER_WINONA] = gTrainerFrontAnims_LeaderWinona, - [TRAINER_PIC_LEADER_TATE_AND_LIZA] = gTrainerFrontAnims_LeaderTateAndLiza, - [TRAINER_PIC_LEADER_JUAN] = gTrainerFrontAnims_LeaderJuan, - [TRAINER_PIC_SCHOOL_KID_M] = gTrainerFrontAnims_SchoolKidM, - [TRAINER_PIC_SCHOOL_KID_F] = gTrainerFrontAnims_SchoolKidF, - [TRAINER_PIC_SR_AND_JR] = gTrainerFrontAnims_SrAndJr, - [TRAINER_PIC_POKEFAN_M] = gTrainerFrontAnims_PokefanM, - [TRAINER_PIC_POKEFAN_F] = gTrainerFrontAnims_PokefanF, - [TRAINER_PIC_YOUNGSTER] = gTrainerFrontAnims_Youngster, - [TRAINER_PIC_CHAMPION_WALLACE] = gTrainerFrontAnims_ChampionWallace, - [TRAINER_PIC_FISHERMAN] = gTrainerFrontAnims_Fisherman, - [TRAINER_PIC_CYCLING_TRIATHLETE_M] = gTrainerFrontAnims_CyclingTriathleteM, - [TRAINER_PIC_CYCLING_TRIATHLETE_F] = gTrainerFrontAnims_CyclingTriathleteF, - [TRAINER_PIC_RUNNING_TRIATHLETE_M] = gTrainerFrontAnims_RunningTriathleteM, - [TRAINER_PIC_RUNNING_TRIATHLETE_F] = gTrainerFrontAnims_RunningTriathleteF, - [TRAINER_PIC_SWIMMING_TRIATHLETE_M] = gTrainerFrontAnims_SwimmingTriathleteM, - [TRAINER_PIC_SWIMMING_TRIATHLETE_F] = gTrainerFrontAnims_SwimmingTriathleteF, - [TRAINER_PIC_DRAGON_TAMER] = gTrainerFrontAnims_DragonTamer, - [TRAINER_PIC_NINJA_BOY] = gTrainerFrontAnims_NinjaBoy, - [TRAINER_PIC_BATTLE_GIRL] = gTrainerFrontAnims_BattleGirl, - [TRAINER_PIC_PARASOL_LADY] = gTrainerFrontAnims_ParasolLady, - [TRAINER_PIC_SWIMMER_F] = gTrainerFrontAnims_SwimmerF, - [TRAINER_PIC_TWINS] = gTrainerFrontAnims_Twins, - [TRAINER_PIC_SAILOR] = gTrainerFrontAnims_Sailor, - [TRAINER_PIC_MAGMA_ADMIN] = gTrainerFrontAnims_MagmaAdmin, - [TRAINER_PIC_WALLY] = gTrainerFrontAnims_Wally, - [TRAINER_PIC_BRENDAN] = gTrainerFrontAnims_Brendan, - [TRAINER_PIC_MAY] = gTrainerFrontAnims_May, - [TRAINER_PIC_BUG_CATCHER] = gTrainerFrontAnims_BugCatcher, - [TRAINER_PIC_POKEMON_RANGER_M] = gTrainerFrontAnims_PokemonRangerM, - [TRAINER_PIC_POKEMON_RANGER_F] = gTrainerFrontAnims_PokemonRangerF, - [TRAINER_PIC_MAGMA_LEADER_MAXIE] = gTrainerFrontAnims_MagmaLeaderMaxie, - [TRAINER_PIC_LASS] = gTrainerFrontAnims_Lass, - [TRAINER_PIC_YOUNG_COUPLE] = gTrainerFrontAnims_YoungCouple, - [TRAINER_PIC_OLD_COUPLE] = gTrainerFrontAnims_OldCouple, - [TRAINER_PIC_SIS_AND_BRO] = gTrainerFrontAnims_SisAndBro, - [TRAINER_PIC_STEVEN] = gTrainerFrontAnims_Steven, - [TRAINER_PIC_SALON_MAIDEN_ANABEL] = gTrainerFrontAnims_SalonMaidenAnabel, - [TRAINER_PIC_DOME_ACE_TUCKER] = gTrainerFrontAnims_DomeAceTucker, - [TRAINER_PIC_PALACE_MAVEN_SPENSER] = gTrainerFrontAnims_PalaceMavenSpenser, - [TRAINER_PIC_ARENA_TYCOON_GRETA] = gTrainerFrontAnims_ArenaTycoonGreta, - [TRAINER_PIC_FACTORY_HEAD_NOLAND] = gTrainerFrontAnims_FactoryHeadNoland, - [TRAINER_PIC_PIKE_QUEEN_LUCY] = gTrainerFrontAnims_PikeQueenLucy, - [TRAINER_PIC_PYRAMID_KING_BRANDON] = gTrainerFrontAnims_PyramidKingBrandon, - [TRAINER_PIC_RED] = gTrainerFrontAnims_Red, - [TRAINER_PIC_LEAF] = gTrainerFrontAnims_Leaf, - [TRAINER_PIC_RS_BRENDAN] = gTrainerFrontAnims_RubySapphireBrendan, - [TRAINER_PIC_RS_MAY] = gTrainerFrontAnims_RubySapphireMay, + [TRAINER_PIC_HIKER] = sAnims_Hiker, + [TRAINER_PIC_AQUA_GRUNT_M] = sAnims_AquaGruntM, + [TRAINER_PIC_POKEMON_BREEDER_F] = sAnims_PokemonBreederF, + [TRAINER_PIC_COOLTRAINER_M] = sAnims_CoolTrainerM, + [TRAINER_PIC_BIRD_KEEPER] = sAnims_BirdKeeper, + [TRAINER_PIC_COLLECTOR] = sAnims_Collector, + [TRAINER_PIC_AQUA_GRUNT_F] = sAnims_AquaGruntF, + [TRAINER_PIC_SWIMMER_M] = sAnims_SwimmerM, + [TRAINER_PIC_MAGMA_GRUNT_M] = sAnims_MagmaGruntM, + [TRAINER_PIC_EXPERT_M] = sAnims_ExpertM, + [TRAINER_PIC_AQUA_ADMIN_M] = sAnims_AquaAdminM, + [TRAINER_PIC_BLACK_BELT] = sAnims_BlackBelt, + [TRAINER_PIC_AQUA_ADMIN_F] = sAnims_AquaAdminF, + [TRAINER_PIC_AQUA_LEADER_ARCHIE] = sAnims_AquaLeaderArchie, + [TRAINER_PIC_HEX_MANIAC] = sAnims_HexManiac, + [TRAINER_PIC_AROMA_LADY] = sAnims_AromaLady, + [TRAINER_PIC_RUIN_MANIAC] = sAnims_RuinManiac, + [TRAINER_PIC_INTERVIEWER] = sAnims_Interviewer, + [TRAINER_PIC_TUBER_F] = sAnims_TuberF, + [TRAINER_PIC_TUBER_M] = sAnims_TuberM, + [TRAINER_PIC_COOLTRAINER_F] = sAnims_CoolTrainerF, + [TRAINER_PIC_LADY] = sAnims_Lady, + [TRAINER_PIC_BEAUTY] = sAnims_Beauty, + [TRAINER_PIC_RICH_BOY] = sAnims_RichBoy, + [TRAINER_PIC_EXPERT_F] = sAnims_ExpertF, + [TRAINER_PIC_POKEMANIAC] = sAnims_Pokemaniac, + [TRAINER_PIC_MAGMA_GRUNT_F] = sAnims_MagmaGruntF, + [TRAINER_PIC_GUITARIST] = sAnims_Guitarist, + [TRAINER_PIC_KINDLER] = sAnims_Kindler, + [TRAINER_PIC_CAMPER] = sAnims_Camper, + [TRAINER_PIC_PICNICKER] = sAnims_Picnicker, + [TRAINER_PIC_BUG_MANIAC] = sAnims_BugManiac, + [TRAINER_PIC_POKEMON_BREEDER_M] = sAnims_PokemonBreederM, + [TRAINER_PIC_PSYCHIC_M] = sAnims_PsychicM, + [TRAINER_PIC_PSYCHIC_F] = sAnims_PsychicF, + [TRAINER_PIC_GENTLEMAN] = sAnims_Gentleman, + [TRAINER_PIC_ELITE_FOUR_SIDNEY] = sAnims_EliteFourSidney, + [TRAINER_PIC_ELITE_FOUR_PHOEBE] = sAnims_EliteFourPhoebe, + [TRAINER_PIC_ELITE_FOUR_GLACIA] = sAnims_EliteFourGlacia, + [TRAINER_PIC_ELITE_FOUR_DRAKE] = sAnims_EliteFourDrake, + [TRAINER_PIC_LEADER_ROXANNE] = sAnims_LeaderRoxanne, + [TRAINER_PIC_LEADER_BRAWLY] = sAnims_LeaderBrawly, + [TRAINER_PIC_LEADER_WATTSON] = sAnims_LeaderWattson, + [TRAINER_PIC_LEADER_FLANNERY] = sAnims_LeaderFlannery, + [TRAINER_PIC_LEADER_NORMAN] = sAnims_LeaderNorman, + [TRAINER_PIC_LEADER_WINONA] = sAnims_LeaderWinona, + [TRAINER_PIC_LEADER_TATE_AND_LIZA] = sAnims_LeaderTateAndLiza, + [TRAINER_PIC_LEADER_JUAN] = sAnims_LeaderJuan, + [TRAINER_PIC_SCHOOL_KID_M] = sAnims_SchoolKidM, + [TRAINER_PIC_SCHOOL_KID_F] = sAnims_SchoolKidF, + [TRAINER_PIC_SR_AND_JR] = sAnims_SrAndJr, + [TRAINER_PIC_POKEFAN_M] = sAnims_PokefanM, + [TRAINER_PIC_POKEFAN_F] = sAnims_PokefanF, + [TRAINER_PIC_YOUNGSTER] = sAnims_Youngster, + [TRAINER_PIC_CHAMPION_WALLACE] = sAnims_ChampionWallace, + [TRAINER_PIC_FISHERMAN] = sAnims_Fisherman, + [TRAINER_PIC_CYCLING_TRIATHLETE_M] = sAnims_CyclingTriathleteM, + [TRAINER_PIC_CYCLING_TRIATHLETE_F] = sAnims_CyclingTriathleteF, + [TRAINER_PIC_RUNNING_TRIATHLETE_M] = sAnims_RunningTriathleteM, + [TRAINER_PIC_RUNNING_TRIATHLETE_F] = sAnims_RunningTriathleteF, + [TRAINER_PIC_SWIMMING_TRIATHLETE_M] = sAnims_SwimmingTriathleteM, + [TRAINER_PIC_SWIMMING_TRIATHLETE_F] = sAnims_SwimmingTriathleteF, + [TRAINER_PIC_DRAGON_TAMER] = sAnims_DragonTamer, + [TRAINER_PIC_NINJA_BOY] = sAnims_NinjaBoy, + [TRAINER_PIC_BATTLE_GIRL] = sAnims_BattleGirl, + [TRAINER_PIC_PARASOL_LADY] = sAnims_ParasolLady, + [TRAINER_PIC_SWIMMER_F] = sAnims_SwimmerF, + [TRAINER_PIC_TWINS] = sAnims_Twins, + [TRAINER_PIC_SAILOR] = sAnims_Sailor, + [TRAINER_PIC_MAGMA_ADMIN] = sAnims_MagmaAdmin, + [TRAINER_PIC_WALLY] = sAnims_Wally, + [TRAINER_PIC_BRENDAN] = sAnims_Brendan, + [TRAINER_PIC_MAY] = sAnims_May, + [TRAINER_PIC_BUG_CATCHER] = sAnims_BugCatcher, + [TRAINER_PIC_POKEMON_RANGER_M] = sAnims_PokemonRangerM, + [TRAINER_PIC_POKEMON_RANGER_F] = sAnims_PokemonRangerF, + [TRAINER_PIC_MAGMA_LEADER_MAXIE] = sAnims_MagmaLeaderMaxie, + [TRAINER_PIC_LASS] = sAnims_Lass, + [TRAINER_PIC_YOUNG_COUPLE] = sAnims_YoungCouple, + [TRAINER_PIC_OLD_COUPLE] = sAnims_OldCouple, + [TRAINER_PIC_SIS_AND_BRO] = sAnims_SisAndBro, + [TRAINER_PIC_STEVEN] = sAnims_Steven, + [TRAINER_PIC_SALON_MAIDEN_ANABEL] = sAnims_SalonMaidenAnabel, + [TRAINER_PIC_DOME_ACE_TUCKER] = sAnims_DomeAceTucker, + [TRAINER_PIC_PALACE_MAVEN_SPENSER] = sAnims_PalaceMavenSpenser, + [TRAINER_PIC_ARENA_TYCOON_GRETA] = sAnims_ArenaTycoonGreta, + [TRAINER_PIC_FACTORY_HEAD_NOLAND] = sAnims_FactoryHeadNoland, + [TRAINER_PIC_PIKE_QUEEN_LUCY] = sAnims_PikeQueenLucy, + [TRAINER_PIC_PYRAMID_KING_BRANDON] = sAnims_PyramidKingBrandon, + [TRAINER_PIC_RED] = sAnims_Red, + [TRAINER_PIC_LEAF] = sAnims_Leaf, + [TRAINER_PIC_RS_BRENDAN] = sAnims_RubySapphireBrendan, + [TRAINER_PIC_RS_MAY] = sAnims_RubySapphireMay, }; diff --git a/src/data/trainer_graphics/front_pic_tables.h b/src/data/trainer_graphics/front_pic_tables.h index fc637fc6e8..c3408b4c35 100644 --- a/src/data/trainer_graphics/front_pic_tables.h +++ b/src/data/trainer_graphics/front_pic_tables.h @@ -1,290 +1,290 @@ const struct MonCoords gTrainerFrontPicCoords[] = { - {.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}, + [TRAINER_PIC_HIKER] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_AQUA_GRUNT_M] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_POKEMON_BREEDER_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_COOLTRAINER_M] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_BIRD_KEEPER] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_COLLECTOR] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_AQUA_GRUNT_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_SWIMMER_M] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_MAGMA_GRUNT_M] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_EXPERT_M] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_AQUA_ADMIN_M] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_BLACK_BELT] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_AQUA_ADMIN_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_AQUA_LEADER_ARCHIE] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_HEX_MANIAC] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_AROMA_LADY] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_RUIN_MANIAC] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_INTERVIEWER] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_TUBER_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_TUBER_M] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_COOLTRAINER_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_LADY] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_BEAUTY] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_RICH_BOY] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_EXPERT_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_POKEMANIAC] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_MAGMA_GRUNT_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_GUITARIST] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_KINDLER] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_CAMPER] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_PICNICKER] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_BUG_MANIAC] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_POKEMON_BREEDER_M] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_PSYCHIC_M] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_PSYCHIC_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_GENTLEMAN] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_ELITE_FOUR_SIDNEY] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_ELITE_FOUR_PHOEBE] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_ELITE_FOUR_GLACIA] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_ELITE_FOUR_DRAKE] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_LEADER_ROXANNE] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_LEADER_BRAWLY] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_LEADER_WATTSON] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_LEADER_FLANNERY] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_LEADER_NORMAN] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_LEADER_WINONA] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_LEADER_TATE_AND_LIZA] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_LEADER_JUAN] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_SCHOOL_KID_M] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_SCHOOL_KID_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_SR_AND_JR] = {.size = 8, .y_offset = 2}, + [TRAINER_PIC_POKEFAN_M] = {.size = 8, .y_offset = 2}, + [TRAINER_PIC_POKEFAN_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_YOUNGSTER] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_CHAMPION_WALLACE] = {.size = 8, .y_offset = 2}, + [TRAINER_PIC_FISHERMAN] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_CYCLING_TRIATHLETE_M] = {.size = 8, .y_offset = 2}, + [TRAINER_PIC_CYCLING_TRIATHLETE_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_RUNNING_TRIATHLETE_M] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_RUNNING_TRIATHLETE_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_SWIMMING_TRIATHLETE_M] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_SWIMMING_TRIATHLETE_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_DRAGON_TAMER] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_NINJA_BOY] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_BATTLE_GIRL] = {.size = 8, .y_offset = 2}, + [TRAINER_PIC_PARASOL_LADY] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_SWIMMER_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_TWINS] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_SAILOR] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_MAGMA_ADMIN] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_WALLY] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_BRENDAN] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_MAY] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_BUG_CATCHER] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_POKEMON_RANGER_M] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_POKEMON_RANGER_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_MAGMA_LEADER_MAXIE] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_LASS] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_YOUNG_COUPLE] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_OLD_COUPLE] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_SIS_AND_BRO] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_STEVEN] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_SALON_MAIDEN_ANABEL] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_DOME_ACE_TUCKER] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_PALACE_MAVEN_SPENSER] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_ARENA_TYCOON_GRETA] = {.size = 8, .y_offset = 2}, + [TRAINER_PIC_FACTORY_HEAD_NOLAND] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_PIKE_QUEEN_LUCY] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_PYRAMID_KING_BRANDON] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_RED] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_LEAF] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_RS_BRENDAN] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_RS_MAY] = {.size = 8, .y_offset = 1}, }; const struct CompressedSpriteSheet gTrainerFrontPicTable[] = { - gTrainerFrontPic_Hiker, 0x800, 0, - gTrainerFrontPic_AquaGruntM, 0x800, 1, - gTrainerFrontPic_PokemonBreederF, 0x800, 2, - gTrainerFrontPic_CoolTrainerM, 0x800, 3, - gTrainerFrontPic_BirdKeeper, 0x800, 4, - gTrainerFrontPic_Collector, 0x800, 5, - gTrainerFrontPic_AquaGruntF, 0x800, 6, - gTrainerFrontPic_SwimmerM, 0x800, 7, - gTrainerFrontPic_MagmaGruntM, 0x800, 8, - gTrainerFrontPic_ExpertM, 0x800, 9, - gTrainerFrontPic_AquaAdminM, 0x800, 10, - gTrainerFrontPic_BlackBelt, 0x800, 11, - gTrainerFrontPic_AquaAdminF, 0x800, 12, - gTrainerFrontPic_AquaLeaderArchie, 0x800, 13, - gTrainerFrontPic_HexManiac, 0x800, 14, - gTrainerFrontPic_AromaLady, 0x800, 15, - gTrainerFrontPic_RuinManiac, 0x800, 16, - gTrainerFrontPic_Interviewer, 0x800, 17, - gTrainerFrontPic_TuberF, 0x800, 18, - gTrainerFrontPic_TuberM, 0x800, 19, - gTrainerFrontPic_CoolTrainerF, 0x800, 20, - gTrainerFrontPic_Lady, 0x800, 21, - gTrainerFrontPic_Beauty, 0x800, 22, - gTrainerFrontPic_RichBoy, 0x800, 23, - gTrainerFrontPic_ExpertF, 0x800, 24, - gTrainerFrontPic_Pokemaniac, 0x800, 25, - gTrainerFrontPic_MagmaGruntF, 0x800, 26, - gTrainerFrontPic_Guitarist, 0x800, 27, - gTrainerFrontPic_Kindler, 0x800, 28, - gTrainerFrontPic_Camper, 0x800, 29, - gTrainerFrontPic_Picnicker, 0x800, 30, - gTrainerFrontPic_BugManiac, 0x800, 31, - gTrainerFrontPic_PokemonBreederM, 0x800, 32, - gTrainerFrontPic_PsychicM, 0x800, 33, - gTrainerFrontPic_PsychicF, 0x800, 34, - gTrainerFrontPic_Gentleman, 0x800, 35, - gTrainerFrontPic_EliteFourSidney, 0x800, 36, - gTrainerFrontPic_EliteFourPhoebe, 0x800, 37, - gTrainerFrontPic_EliteFourGlacia, 0x800, 38, - gTrainerFrontPic_EliteFourDrake, 0x800, 39, - gTrainerFrontPic_LeaderRoxanne, 0x800, 40, - gTrainerFrontPic_LeaderBrawly, 0x800, 41, - gTrainerFrontPic_LeaderWattson, 0x800, 42, - gTrainerFrontPic_LeaderFlannery, 0x800, 43, - gTrainerFrontPic_LeaderNorman, 0x800, 44, - gTrainerFrontPic_LeaderWinona, 0x800, 45, - gTrainerFrontPic_LeaderTateAndLiza, 0x800, 46, - gTrainerFrontPic_LeaderJuan, 0x800, 47, - gTrainerFrontPic_SchoolKidM, 0x800, 48, - gTrainerFrontPic_SchoolKidF, 0x800, 49, - gTrainerFrontPic_SrAndJr, 0x1000, 50, - gTrainerFrontPic_PokefanM, 0x1000, 51, - gTrainerFrontPic_PokefanF, 0x800, 52, - gTrainerFrontPic_Youngster, 0x800, 53, - gTrainerFrontPic_ChampionWallace, 0x1000, 54, - gTrainerFrontPic_Fisherman, 0x800, 55, - gTrainerFrontPic_CyclingTriathleteM, 0x1000, 56, - gTrainerFrontPic_CyclingTriathleteF, 0x800, 57, - gTrainerFrontPic_RunningTriathleteM, 0x800, 58, - gTrainerFrontPic_RunningTriathleteF, 0x800, 59, - gTrainerFrontPic_SwimmingTriathleteM, 0x800, 60, - gTrainerFrontPic_SwimmingTriathleteF, 0x800, 61, - gTrainerFrontPic_DragonTamer, 0x800, 62, - gTrainerFrontPic_NinjaBoy, 0x800, 63, - gTrainerFrontPic_BattleGirl, 0x1000, 64, - gTrainerFrontPic_ParasolLady, 0x800, 65, - gTrainerFrontPic_SwimmerF, 0x800, 66, - gTrainerFrontPic_Twins, 0x800, 67, - gTrainerFrontPic_Sailor, 0x800, 68, - gTrainerFrontPic_MagmaAdmin, 0x800, 69, - gTrainerFrontPic_Wally, 0x800, 70, - gTrainerFrontPic_Brendan, 0x800, 71, - gTrainerFrontPic_May, 0x800, 72, - gTrainerFrontPic_BugCatcher, 0x800, 73, - gTrainerFrontPic_PokemonRangerM, 0x800, 74, - gTrainerFrontPic_PokemonRangerF, 0x800, 75, - gTrainerFrontPic_MagmaLeaderMaxie, 0x800, 76, - gTrainerFrontPic_Lass, 0x800, 77, - gTrainerFrontPic_YoungCouple, 0x800, 78, - gTrainerFrontPic_OldCouple, 0x800, 79, - gTrainerFrontPic_SisAndBro, 0x800, 80, - gTrainerFrontPic_Steven, 0x800, 81, - gTrainerFrontPic_SalonMaidenAnabel, 0x800, 82, - gTrainerFrontPic_DomeAceTucker, 0x800, 83, - gTrainerFrontPic_PalaceMavenSpenser, 0x800, 84, - gTrainerFrontPic_ArenaTycoonGreta, 0x1000, 85, - gTrainerFrontPic_FactoryHeadNoland, 0x800, 86, - gTrainerFrontPic_PikeQueenLucy, 0x800, 87, - gTrainerFrontPic_PyramidKingBrandon, 0x800, 88, - gTrainerFrontPic_Red, 0x800, 89, - gTrainerFrontPic_Leaf, 0x800, 90, - gTrainerFrontPic_RubySapphireBrendan, 0x800, 91, - gTrainerFrontPic_RubySapphireMay, 0x800, 92, + TRAINER_SPRITE(HIKER, gTrainerFrontPic_Hiker, 0x800), + TRAINER_SPRITE(AQUA_GRUNT_M, gTrainerFrontPic_AquaGruntM, 0x800), + TRAINER_SPRITE(POKEMON_BREEDER_F, gTrainerFrontPic_PokemonBreederF, 0x800), + TRAINER_SPRITE(COOLTRAINER_M, gTrainerFrontPic_CoolTrainerM, 0x800), + TRAINER_SPRITE(BIRD_KEEPER, gTrainerFrontPic_BirdKeeper, 0x800), + TRAINER_SPRITE(COLLECTOR, gTrainerFrontPic_Collector, 0x800), + TRAINER_SPRITE(AQUA_GRUNT_F, gTrainerFrontPic_AquaGruntF, 0x800), + TRAINER_SPRITE(SWIMMER_M, gTrainerFrontPic_SwimmerM, 0x800), + TRAINER_SPRITE(MAGMA_GRUNT_M, gTrainerFrontPic_MagmaGruntM, 0x800), + TRAINER_SPRITE(EXPERT_M, gTrainerFrontPic_ExpertM, 0x800), + TRAINER_SPRITE(AQUA_ADMIN_M, gTrainerFrontPic_AquaAdminM, 0x800), + TRAINER_SPRITE(BLACK_BELT, gTrainerFrontPic_BlackBelt, 0x800), + TRAINER_SPRITE(AQUA_ADMIN_F, gTrainerFrontPic_AquaAdminF, 0x800), + TRAINER_SPRITE(AQUA_LEADER_ARCHIE, gTrainerFrontPic_AquaLeaderArchie, 0x800), + TRAINER_SPRITE(HEX_MANIAC, gTrainerFrontPic_HexManiac, 0x800), + TRAINER_SPRITE(AROMA_LADY, gTrainerFrontPic_AromaLady, 0x800), + TRAINER_SPRITE(RUIN_MANIAC, gTrainerFrontPic_RuinManiac, 0x800), + TRAINER_SPRITE(INTERVIEWER, gTrainerFrontPic_Interviewer, 0x800), + TRAINER_SPRITE(TUBER_F, gTrainerFrontPic_TuberF, 0x800), + TRAINER_SPRITE(TUBER_M, gTrainerFrontPic_TuberM, 0x800), + TRAINER_SPRITE(COOLTRAINER_F, gTrainerFrontPic_CoolTrainerF, 0x800), + TRAINER_SPRITE(LADY, gTrainerFrontPic_Lady, 0x800), + TRAINER_SPRITE(BEAUTY, gTrainerFrontPic_Beauty, 0x800), + TRAINER_SPRITE(RICH_BOY, gTrainerFrontPic_RichBoy, 0x800), + TRAINER_SPRITE(EXPERT_F, gTrainerFrontPic_ExpertF, 0x800), + TRAINER_SPRITE(POKEMANIAC, gTrainerFrontPic_Pokemaniac, 0x800), + TRAINER_SPRITE(MAGMA_GRUNT_F, gTrainerFrontPic_MagmaGruntF, 0x800), + TRAINER_SPRITE(GUITARIST, gTrainerFrontPic_Guitarist, 0x800), + TRAINER_SPRITE(KINDLER, gTrainerFrontPic_Kindler, 0x800), + TRAINER_SPRITE(CAMPER, gTrainerFrontPic_Camper, 0x800), + TRAINER_SPRITE(PICNICKER, gTrainerFrontPic_Picnicker, 0x800), + TRAINER_SPRITE(BUG_MANIAC, gTrainerFrontPic_BugManiac, 0x800), + TRAINER_SPRITE(POKEMON_BREEDER_M, gTrainerFrontPic_PokemonBreederM, 0x800), + TRAINER_SPRITE(PSYCHIC_M, gTrainerFrontPic_PsychicM, 0x800), + TRAINER_SPRITE(PSYCHIC_F, gTrainerFrontPic_PsychicF, 0x800), + TRAINER_SPRITE(GENTLEMAN, gTrainerFrontPic_Gentleman, 0x800), + TRAINER_SPRITE(ELITE_FOUR_SIDNEY, gTrainerFrontPic_EliteFourSidney, 0x800), + TRAINER_SPRITE(ELITE_FOUR_PHOEBE, gTrainerFrontPic_EliteFourPhoebe, 0x800), + TRAINER_SPRITE(ELITE_FOUR_GLACIA, gTrainerFrontPic_EliteFourGlacia, 0x800), + TRAINER_SPRITE(ELITE_FOUR_DRAKE, gTrainerFrontPic_EliteFourDrake, 0x800), + TRAINER_SPRITE(LEADER_ROXANNE, gTrainerFrontPic_LeaderRoxanne, 0x800), + TRAINER_SPRITE(LEADER_BRAWLY, gTrainerFrontPic_LeaderBrawly, 0x800), + TRAINER_SPRITE(LEADER_WATTSON, gTrainerFrontPic_LeaderWattson, 0x800), + TRAINER_SPRITE(LEADER_FLANNERY, gTrainerFrontPic_LeaderFlannery, 0x800), + TRAINER_SPRITE(LEADER_NORMAN, gTrainerFrontPic_LeaderNorman, 0x800), + TRAINER_SPRITE(LEADER_WINONA, gTrainerFrontPic_LeaderWinona, 0x800), + TRAINER_SPRITE(LEADER_TATE_AND_LIZA, gTrainerFrontPic_LeaderTateAndLiza, 0x800), + TRAINER_SPRITE(LEADER_JUAN, gTrainerFrontPic_LeaderJuan, 0x800), + TRAINER_SPRITE(SCHOOL_KID_M, gTrainerFrontPic_SchoolKidM, 0x800), + TRAINER_SPRITE(SCHOOL_KID_F, gTrainerFrontPic_SchoolKidF, 0x800), + TRAINER_SPRITE(SR_AND_JR, gTrainerFrontPic_SrAndJr, 0x1000), + TRAINER_SPRITE(POKEFAN_M, gTrainerFrontPic_PokefanM, 0x1000), + TRAINER_SPRITE(POKEFAN_F, gTrainerFrontPic_PokefanF, 0x800), + TRAINER_SPRITE(YOUNGSTER, gTrainerFrontPic_Youngster, 0x800), + TRAINER_SPRITE(CHAMPION_WALLACE, gTrainerFrontPic_ChampionWallace, 0x1000), + TRAINER_SPRITE(FISHERMAN, gTrainerFrontPic_Fisherman, 0x800), + TRAINER_SPRITE(CYCLING_TRIATHLETE_M, gTrainerFrontPic_CyclingTriathleteM, 0x1000), + TRAINER_SPRITE(CYCLING_TRIATHLETE_F, gTrainerFrontPic_CyclingTriathleteF, 0x800), + TRAINER_SPRITE(RUNNING_TRIATHLETE_M, gTrainerFrontPic_RunningTriathleteM, 0x800), + TRAINER_SPRITE(RUNNING_TRIATHLETE_F, gTrainerFrontPic_RunningTriathleteF, 0x800), + TRAINER_SPRITE(SWIMMING_TRIATHLETE_M, gTrainerFrontPic_SwimmingTriathleteM, 0x800), + TRAINER_SPRITE(SWIMMING_TRIATHLETE_F, gTrainerFrontPic_SwimmingTriathleteF, 0x800), + TRAINER_SPRITE(DRAGON_TAMER, gTrainerFrontPic_DragonTamer, 0x800), + TRAINER_SPRITE(NINJA_BOY, gTrainerFrontPic_NinjaBoy, 0x800), + TRAINER_SPRITE(BATTLE_GIRL, gTrainerFrontPic_BattleGirl, 0x1000), + TRAINER_SPRITE(PARASOL_LADY, gTrainerFrontPic_ParasolLady, 0x800), + TRAINER_SPRITE(SWIMMER_F, gTrainerFrontPic_SwimmerF, 0x800), + TRAINER_SPRITE(TWINS, gTrainerFrontPic_Twins, 0x800), + TRAINER_SPRITE(SAILOR, gTrainerFrontPic_Sailor, 0x800), + TRAINER_SPRITE(MAGMA_ADMIN, gTrainerFrontPic_MagmaAdmin, 0x800), + TRAINER_SPRITE(WALLY, gTrainerFrontPic_Wally, 0x800), + TRAINER_SPRITE(BRENDAN, gTrainerFrontPic_Brendan, 0x800), + TRAINER_SPRITE(MAY, gTrainerFrontPic_May, 0x800), + TRAINER_SPRITE(BUG_CATCHER, gTrainerFrontPic_BugCatcher, 0x800), + TRAINER_SPRITE(POKEMON_RANGER_M, gTrainerFrontPic_PokemonRangerM, 0x800), + TRAINER_SPRITE(POKEMON_RANGER_F, gTrainerFrontPic_PokemonRangerF, 0x800), + TRAINER_SPRITE(MAGMA_LEADER_MAXIE, gTrainerFrontPic_MagmaLeaderMaxie, 0x800), + TRAINER_SPRITE(LASS, gTrainerFrontPic_Lass, 0x800), + TRAINER_SPRITE(YOUNG_COUPLE, gTrainerFrontPic_YoungCouple, 0x800), + TRAINER_SPRITE(OLD_COUPLE, gTrainerFrontPic_OldCouple, 0x800), + TRAINER_SPRITE(SIS_AND_BRO, gTrainerFrontPic_SisAndBro, 0x800), + TRAINER_SPRITE(STEVEN, gTrainerFrontPic_Steven, 0x800), + TRAINER_SPRITE(SALON_MAIDEN_ANABEL, gTrainerFrontPic_SalonMaidenAnabel, 0x800), + TRAINER_SPRITE(DOME_ACE_TUCKER, gTrainerFrontPic_DomeAceTucker, 0x800), + TRAINER_SPRITE(PALACE_MAVEN_SPENSER, gTrainerFrontPic_PalaceMavenSpenser, 0x800), + TRAINER_SPRITE(ARENA_TYCOON_GRETA, gTrainerFrontPic_ArenaTycoonGreta, 0x1000), + TRAINER_SPRITE(FACTORY_HEAD_NOLAND, gTrainerFrontPic_FactoryHeadNoland, 0x800), + TRAINER_SPRITE(PIKE_QUEEN_LUCY, gTrainerFrontPic_PikeQueenLucy, 0x800), + TRAINER_SPRITE(PYRAMID_KING_BRANDON, gTrainerFrontPic_PyramidKingBrandon, 0x800), + TRAINER_SPRITE(RED, gTrainerFrontPic_Red, 0x800), + TRAINER_SPRITE(LEAF, gTrainerFrontPic_Leaf, 0x800), + TRAINER_SPRITE(RS_BRENDAN, gTrainerFrontPic_RubySapphireBrendan, 0x800), + TRAINER_SPRITE(RS_MAY, gTrainerFrontPic_RubySapphireMay, 0x800), }; const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[] = { - gTrainerPalette_Hiker, 0, - gTrainerPalette_AquaGruntM, 1, - gTrainerPalette_PokemonBreederF, 2, - gTrainerPalette_CoolTrainerM, 3, - gTrainerPalette_BirdKeeper, 4, - gTrainerPalette_Collector, 5, - gTrainerPalette_AquaGruntF, 6, - gTrainerPalette_SwimmerM, 7, - gTrainerPalette_MagmaGruntM, 8, - gTrainerPalette_ExpertM, 9, - gTrainerPalette_AquaAdminM, 10, - gTrainerPalette_BlackBelt, 11, - gTrainerPalette_AquaAdminF, 12, - gTrainerPalette_AquaLeaderArchie, 13, - gTrainerPalette_HexManiac, 14, - gTrainerPalette_AromaLady, 15, - gTrainerPalette_RuinManiac, 16, - gTrainerPalette_Interviewer, 17, - gTrainerPalette_TuberF, 18, - gTrainerPalette_TuberM, 19, - gTrainerPalette_CoolTrainerF, 20, - gTrainerPalette_Lady, 21, - gTrainerPalette_Beauty, 22, - gTrainerPalette_RichBoy, 23, - gTrainerPalette_ExpertF, 24, - gTrainerPalette_Pokemaniac, 25, - gTrainerPalette_MagmaGruntF, 26, - gTrainerPalette_Guitarist, 27, - gTrainerPalette_Kindler, 28, - gTrainerPalette_Camper, 29, - gTrainerPalette_Picnicker, 30, - gTrainerPalette_BugManiac, 31, - gTrainerPalette_PokemonBreederM, 32, - gTrainerPalette_PsychicM, 33, - gTrainerPalette_PsychicF, 34, - gTrainerPalette_Gentleman, 35, - gTrainerPalette_EliteFourSidney, 36, - gTrainerPalette_EliteFourPhoebe, 37, - gTrainerPalette_EliteFourGlacia, 38, - gTrainerPalette_EliteFourDrake, 39, - gTrainerPalette_LeaderRoxanne, 40, - gTrainerPalette_LeaderBrawly, 41, - gTrainerPalette_LeaderWattson, 42, - gTrainerPalette_LeaderFlannery, 43, - gTrainerPalette_LeaderNorman, 44, - gTrainerPalette_LeaderWinona, 45, - gTrainerPalette_LeaderTateAndLiza, 46, - gTrainerPalette_LeaderJuan, 47, - gTrainerPalette_SchoolKidM, 48, - gTrainerPalette_SchoolKidF, 49, - gTrainerPalette_SrAndJr, 50, - gTrainerPalette_PokefanM, 51, - gTrainerPalette_PokefanF, 52, - gTrainerPalette_Youngster, 53, - gTrainerPalette_ChampionWallace, 54, - gTrainerPalette_Fisherman, 55, - gTrainerPalette_CyclingTriathleteM, 56, - gTrainerPalette_CyclingTriathleteF, 57, - gTrainerPalette_RunningTriathleteM, 58, - gTrainerPalette_RunningTriathleteF, 59, - gTrainerPalette_SwimmingTriathleteM, 60, - gTrainerPalette_SwimmingTriathleteF, 61, - gTrainerPalette_DragonTamer, 62, - gTrainerPalette_NinjaBoy, 63, - gTrainerPalette_BattleGirl, 64, - gTrainerPalette_ParasolLady, 65, - gTrainerPalette_SwimmerF, 66, - gTrainerPalette_Twins, 67, - gTrainerPalette_Sailor, 68, - gTrainerPalette_MagmaAdmin, 69, - gTrainerPalette_Wally, 70, - gTrainerPalette_Brendan, 71, - gTrainerPalette_May, 72, - gTrainerPalette_BugCatcher, 73, - gTrainerPalette_PokemonRangerM, 74, - gTrainerPalette_PokemonRangerF, 75, - gTrainerPalette_MagmaLeaderMaxie, 76, - gTrainerPalette_Lass, 77, - gTrainerPalette_YoungCouple, 78, - gTrainerPalette_OldCouple, 79, - gTrainerPalette_SisAndBro, 80, - gTrainerPalette_Steven, 81, - gTrainerPalette_SalonMaidenAnabel, 82, - gTrainerPalette_DomeAceTucker, 83, - gTrainerPalette_PalaceMavenSpenser, 84, - gTrainerPalette_ArenaTycoonGreta, 85, - gTrainerPalette_FactoryHeadNoland, 86, - gTrainerPalette_PikeQueenLucy, 87, - gTrainerPalette_PyramidKingBrandon, 88, - gTrainerPalette_Red, 89, - gTrainerPalette_Leaf, 90, - gTrainerPalette_RubySapphireBrendan, 91, - gTrainerPalette_RubySapphireMay, 92, + TRAINER_PAL(HIKER, gTrainerPalette_Hiker), + TRAINER_PAL(AQUA_GRUNT_M, gTrainerPalette_AquaGruntM), + TRAINER_PAL(POKEMON_BREEDER_F, gTrainerPalette_PokemonBreederF), + TRAINER_PAL(COOLTRAINER_M, gTrainerPalette_CoolTrainerM), + TRAINER_PAL(BIRD_KEEPER, gTrainerPalette_BirdKeeper), + TRAINER_PAL(COLLECTOR, gTrainerPalette_Collector), + TRAINER_PAL(AQUA_GRUNT_F, gTrainerPalette_AquaGruntF), + TRAINER_PAL(SWIMMER_M, gTrainerPalette_SwimmerM), + TRAINER_PAL(MAGMA_GRUNT_M, gTrainerPalette_MagmaGruntM), + TRAINER_PAL(EXPERT_M, gTrainerPalette_ExpertM), + TRAINER_PAL(AQUA_ADMIN_M, gTrainerPalette_AquaAdminM), + TRAINER_PAL(BLACK_BELT, gTrainerPalette_BlackBelt), + TRAINER_PAL(AQUA_ADMIN_F, gTrainerPalette_AquaAdminF), + TRAINER_PAL(AQUA_LEADER_ARCHIE, gTrainerPalette_AquaLeaderArchie), + TRAINER_PAL(HEX_MANIAC, gTrainerPalette_HexManiac), + TRAINER_PAL(AROMA_LADY, gTrainerPalette_AromaLady), + TRAINER_PAL(RUIN_MANIAC, gTrainerPalette_RuinManiac), + TRAINER_PAL(INTERVIEWER, gTrainerPalette_Interviewer), + TRAINER_PAL(TUBER_F, gTrainerPalette_TuberF), + TRAINER_PAL(TUBER_M, gTrainerPalette_TuberM), + TRAINER_PAL(COOLTRAINER_F, gTrainerPalette_CoolTrainerF), + TRAINER_PAL(LADY, gTrainerPalette_Lady), + TRAINER_PAL(BEAUTY, gTrainerPalette_Beauty), + TRAINER_PAL(RICH_BOY, gTrainerPalette_RichBoy), + TRAINER_PAL(EXPERT_F, gTrainerPalette_ExpertF), + TRAINER_PAL(POKEMANIAC, gTrainerPalette_Pokemaniac), + TRAINER_PAL(MAGMA_GRUNT_F, gTrainerPalette_MagmaGruntF), + TRAINER_PAL(GUITARIST, gTrainerPalette_Guitarist), + TRAINER_PAL(KINDLER, gTrainerPalette_Kindler), + TRAINER_PAL(CAMPER, gTrainerPalette_Camper), + TRAINER_PAL(PICNICKER, gTrainerPalette_Picnicker), + TRAINER_PAL(BUG_MANIAC, gTrainerPalette_BugManiac), + TRAINER_PAL(POKEMON_BREEDER_M, gTrainerPalette_PokemonBreederM), + TRAINER_PAL(PSYCHIC_M, gTrainerPalette_PsychicM), + TRAINER_PAL(PSYCHIC_F, gTrainerPalette_PsychicF), + TRAINER_PAL(GENTLEMAN, gTrainerPalette_Gentleman), + TRAINER_PAL(ELITE_FOUR_SIDNEY, gTrainerPalette_EliteFourSidney), + TRAINER_PAL(ELITE_FOUR_PHOEBE, gTrainerPalette_EliteFourPhoebe), + TRAINER_PAL(ELITE_FOUR_GLACIA, gTrainerPalette_EliteFourGlacia), + TRAINER_PAL(ELITE_FOUR_DRAKE, gTrainerPalette_EliteFourDrake), + TRAINER_PAL(LEADER_ROXANNE, gTrainerPalette_LeaderRoxanne), + TRAINER_PAL(LEADER_BRAWLY, gTrainerPalette_LeaderBrawly), + TRAINER_PAL(LEADER_WATTSON, gTrainerPalette_LeaderWattson), + TRAINER_PAL(LEADER_FLANNERY, gTrainerPalette_LeaderFlannery), + TRAINER_PAL(LEADER_NORMAN, gTrainerPalette_LeaderNorman), + TRAINER_PAL(LEADER_WINONA, gTrainerPalette_LeaderWinona), + TRAINER_PAL(LEADER_TATE_AND_LIZA, gTrainerPalette_LeaderTateAndLiza), + TRAINER_PAL(LEADER_JUAN, gTrainerPalette_LeaderJuan), + TRAINER_PAL(SCHOOL_KID_M, gTrainerPalette_SchoolKidM), + TRAINER_PAL(SCHOOL_KID_F, gTrainerPalette_SchoolKidF), + TRAINER_PAL(SR_AND_JR, gTrainerPalette_SrAndJr), + TRAINER_PAL(POKEFAN_M, gTrainerPalette_PokefanM), + TRAINER_PAL(POKEFAN_F, gTrainerPalette_PokefanF), + TRAINER_PAL(YOUNGSTER, gTrainerPalette_Youngster), + TRAINER_PAL(CHAMPION_WALLACE, gTrainerPalette_ChampionWallace), + TRAINER_PAL(FISHERMAN, gTrainerPalette_Fisherman), + TRAINER_PAL(CYCLING_TRIATHLETE_M, gTrainerPalette_CyclingTriathleteM), + TRAINER_PAL(CYCLING_TRIATHLETE_F, gTrainerPalette_CyclingTriathleteF), + TRAINER_PAL(RUNNING_TRIATHLETE_M, gTrainerPalette_RunningTriathleteM), + TRAINER_PAL(RUNNING_TRIATHLETE_F, gTrainerPalette_RunningTriathleteF), + TRAINER_PAL(SWIMMING_TRIATHLETE_M, gTrainerPalette_SwimmingTriathleteM), + TRAINER_PAL(SWIMMING_TRIATHLETE_F, gTrainerPalette_SwimmingTriathleteF), + TRAINER_PAL(DRAGON_TAMER, gTrainerPalette_DragonTamer), + TRAINER_PAL(NINJA_BOY, gTrainerPalette_NinjaBoy), + TRAINER_PAL(BATTLE_GIRL, gTrainerPalette_BattleGirl), + TRAINER_PAL(PARASOL_LADY, gTrainerPalette_ParasolLady), + TRAINER_PAL(SWIMMER_F, gTrainerPalette_SwimmerF), + TRAINER_PAL(TWINS, gTrainerPalette_Twins), + TRAINER_PAL(SAILOR, gTrainerPalette_Sailor), + TRAINER_PAL(MAGMA_ADMIN, gTrainerPalette_MagmaAdmin), + TRAINER_PAL(WALLY, gTrainerPalette_Wally), + TRAINER_PAL(BRENDAN, gTrainerPalette_Brendan), + TRAINER_PAL(MAY, gTrainerPalette_May), + TRAINER_PAL(BUG_CATCHER, gTrainerPalette_BugCatcher), + TRAINER_PAL(POKEMON_RANGER_M, gTrainerPalette_PokemonRangerM), + TRAINER_PAL(POKEMON_RANGER_F, gTrainerPalette_PokemonRangerF), + TRAINER_PAL(MAGMA_LEADER_MAXIE, gTrainerPalette_MagmaLeaderMaxie), + TRAINER_PAL(LASS, gTrainerPalette_Lass), + TRAINER_PAL(YOUNG_COUPLE, gTrainerPalette_YoungCouple), + TRAINER_PAL(OLD_COUPLE, gTrainerPalette_OldCouple), + TRAINER_PAL(SIS_AND_BRO, gTrainerPalette_SisAndBro), + TRAINER_PAL(STEVEN, gTrainerPalette_Steven), + TRAINER_PAL(SALON_MAIDEN_ANABEL, gTrainerPalette_SalonMaidenAnabel), + TRAINER_PAL(DOME_ACE_TUCKER, gTrainerPalette_DomeAceTucker), + TRAINER_PAL(PALACE_MAVEN_SPENSER, gTrainerPalette_PalaceMavenSpenser), + TRAINER_PAL(ARENA_TYCOON_GRETA, gTrainerPalette_ArenaTycoonGreta), + TRAINER_PAL(FACTORY_HEAD_NOLAND, gTrainerPalette_FactoryHeadNoland), + TRAINER_PAL(PIKE_QUEEN_LUCY, gTrainerPalette_PikeQueenLucy), + TRAINER_PAL(PYRAMID_KING_BRANDON, gTrainerPalette_PyramidKingBrandon), + TRAINER_PAL(RED, gTrainerPalette_Red), + TRAINER_PAL(LEAF, gTrainerPalette_Leaf), + TRAINER_PAL(RS_BRENDAN, gTrainerPalette_RubySapphireBrendan), + TRAINER_PAL(RS_MAY, gTrainerPalette_RubySapphireMay), }; diff --git a/src/data/trainer_parties.h b/src/data/trainer_parties.h index b4438e5b34..252eed760d 100644 --- a/src/data/trainer_parties.h +++ b/src/data/trainer_parties.h @@ -1,4 +1,4 @@ -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Sawyer1[] = { { .iv = 0, .lvl = 21, @@ -6,7 +6,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt1[] = { { .iv = 0, .lvl = 32, @@ -14,7 +14,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt2[] = { { .iv = 0, .lvl = 31, @@ -27,7 +27,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt3[] = { { .iv = 0, .lvl = 32, @@ -35,7 +35,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt4[] = { { .iv = 0, .lvl = 32, @@ -43,7 +43,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt5[] = { { .iv = 0, .lvl = 36, @@ -51,7 +51,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt6[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt6[] = { { .iv = 0, .lvl = 36, @@ -59,7 +59,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt6[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt7[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt7[] = { { .iv = 0, .lvl = 36, @@ -67,7 +67,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt7[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Gabrielle1[] = { { .iv = 0, .lvl = 26, @@ -100,7 +100,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt8[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt8[] = { { .iv = 0, .lvl = 9, @@ -108,7 +108,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt8[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Marcel[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Marcel[] = { { .iv = 100, .lvl = 29, @@ -121,7 +121,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Marcel[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alberto[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Alberto[] = { { .iv = 0, .lvl = 30, @@ -134,7 +134,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alberto[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ed[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ed[] = { { .iv = 0, .lvl = 30, @@ -147,7 +147,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ed[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt9[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt9[] = { { .iv = 0, .lvl = 36, @@ -155,7 +155,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt9[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Declan[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Declan[] = { { .iv = 0, .lvl = 34, @@ -163,7 +163,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Declan[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt10[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt10[] = { { .iv = 0, .lvl = 11, @@ -171,7 +171,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt10[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt11[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt11[] = { { .iv = 0, .lvl = 27, @@ -184,7 +184,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt11[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt12[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt12[] = { { .iv = 0, .lvl = 27, @@ -197,7 +197,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt12[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt13[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt13[] = { { .iv = 0, .lvl = 26, @@ -215,7 +215,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt13[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt14[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt14[] = { { .iv = 0, .lvl = 15, @@ -223,7 +223,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt14[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt15[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt15[] = { { .iv = 0, .lvl = 14, @@ -236,7 +236,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt15[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt16[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt16[] = { { .iv = 0, .lvl = 32, @@ -244,7 +244,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt16[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt17[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt17[] = { { .iv = 0, .lvl = 32, @@ -252,7 +252,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt17[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt18[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt18[] = { { .iv = 0, .lvl = 32, @@ -260,7 +260,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt18[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt19[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt19[] = { { .iv = 0, .lvl = 30, @@ -273,7 +273,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt19[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt20[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt20[] = { { .iv = 0, .lvl = 28, @@ -281,7 +281,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt20[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt21[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt21[] = { { .iv = 0, .lvl = 32, @@ -289,7 +289,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt21[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt22[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt22[] = { { .iv = 0, .lvl = 32, @@ -297,7 +297,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt22[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fredrick[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Fredrick[] = { { .iv = 100, .lvl = 30, @@ -310,7 +310,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fredrick[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Matt[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Matt[] = { { .iv = 50, .lvl = 34, @@ -323,7 +323,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Matt[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Zander[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Zander[] = { { .iv = 0, .lvl = 31, @@ -331,7 +331,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Zander[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelly1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Shelly1[] = { { .iv = 50, .lvl = 28, @@ -344,7 +344,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelly1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelly2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Shelly2[] = { { .iv = 100, .lvl = 37, @@ -357,7 +357,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelly2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Archie[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Archie[] = { { .iv = 150, .lvl = 41, @@ -375,7 +375,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Archie[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leah[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Leah[] = { { .iv = 0, .lvl = 31, @@ -383,7 +383,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leah[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Daisy[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Daisy[] = { { .iv = 0, .lvl = 14, @@ -396,7 +396,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Daisy[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Rose1[] = { { .iv = 0, .lvl = 14, @@ -414,7 +414,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose1[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Felix[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Felix[] = { { .iv = 0, .lvl = 43, @@ -429,7 +429,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Felix[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Violet[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Violet[] = { { .iv = 0, .lvl = 26, @@ -442,7 +442,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Violet[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Rose2[] = { { .iv = 10, .lvl = 26, @@ -455,7 +455,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Rose3[] = { { .iv = 20, .lvl = 28, @@ -473,7 +473,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Rose4[] = { { .iv = 30, .lvl = 31, @@ -491,7 +491,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Rose5[] = { { .iv = 40, .lvl = 34, @@ -509,7 +509,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose5[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty1[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Dusty1[] = { { .iv = 50, .lvl = 23, @@ -518,7 +518,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty1[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Chip[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Chip[] = { { .iv = 50, .lvl = 27, @@ -539,7 +539,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Chip[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Foster[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Foster[] = { { .iv = 100, .lvl = 25, @@ -554,7 +554,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Foster[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty2[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Dusty2[] = { { .iv = 60, .lvl = 27, @@ -563,7 +563,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty2[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty3[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Dusty3[] = { { .iv = 70, .lvl = 30, @@ -572,7 +572,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty3[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty4[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Dusty4[] = { { .iv = 80, .lvl = 33, @@ -581,7 +581,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty4[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty5[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Dusty5[] = { { .iv = 90, .lvl = 36, @@ -590,7 +590,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GabbyAndTy1[] = { { .iv = 50, .lvl = 17, @@ -603,7 +603,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GabbyAndTy2[] = { { .iv = 100, .lvl = 27, @@ -616,7 +616,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GabbyAndTy3[] = { { .iv = 150, .lvl = 30, @@ -629,7 +629,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GabbyAndTy4[] = { { .iv = 200, .lvl = 33, @@ -642,7 +642,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GabbyAndTy5[] = { { .iv = 250, .lvl = 36, @@ -655,7 +655,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy5[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_GabbyAndTy6[] = { +static const struct TrainerMonNoItemCustomMoves sParty_GabbyAndTy6[] = { { .iv = 250, .lvl = 39, @@ -670,7 +670,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_GabbyAndTy6[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lola1[] = { { .iv = 10, .lvl = 12, @@ -683,7 +683,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Austina[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Austina[] = { { .iv = 0, .lvl = 26, @@ -691,7 +691,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Austina[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gwen[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Gwen[] = { { .iv = 0, .lvl = 26, @@ -699,7 +699,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gwen[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lola2[] = { { .iv = 10, .lvl = 26, @@ -712,7 +712,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lola3[] = { { .iv = 20, .lvl = 29, @@ -725,7 +725,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lola4[] = { { .iv = 30, .lvl = 32, @@ -738,7 +738,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lola5[] = { { .iv = 40, .lvl = 35, @@ -751,7 +751,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola5[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky1[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Ricky1[] = { { .iv = 10, .lvl = 13, @@ -760,7 +760,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Simon[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Simon[] = { { .iv = 0, .lvl = 12, @@ -773,7 +773,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Simon[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Charlie[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Charlie[] = { { .iv = 0, .lvl = 26, @@ -781,7 +781,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Charlie[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky2[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Ricky2[] = { { .iv = 10, .lvl = 27, @@ -790,7 +790,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky2[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky3[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Ricky3[] = { { .iv = 20, .lvl = 30, @@ -799,7 +799,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky3[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky4[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Ricky4[] = { { .iv = 30, .lvl = 33, @@ -808,7 +808,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky4[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky5[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Ricky5[] = { { .iv = 40, .lvl = 36, @@ -817,7 +817,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky5[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Randall[] = { +static const struct TrainerMonItemCustomMoves sParty_Randall[] = { { .iv = 255, .lvl = 26, @@ -827,7 +827,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Randall[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Parker[] = { +static const struct TrainerMonItemCustomMoves sParty_Parker[] = { { .iv = 255, .lvl = 26, @@ -837,7 +837,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Parker[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_George[] = { +static const struct TrainerMonItemCustomMoves sParty_George[] = { { .iv = 255, .lvl = 26, @@ -847,7 +847,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_George[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Berke[] = { +static const struct TrainerMonItemCustomMoves sParty_Berke[] = { { .iv = 255, .lvl = 26, @@ -857,7 +857,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Berke[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Braxton[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Braxton[] = { { .iv = 100, .lvl = 28, @@ -890,7 +890,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Braxton[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Vincent[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Vincent[] = { { .iv = 100, .lvl = 44, @@ -908,7 +908,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Vincent[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leroy[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Leroy[] = { { .iv = 100, .lvl = 46, @@ -921,7 +921,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leroy[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Wilton1[] = { { .iv = 100, .lvl = 17, @@ -939,7 +939,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edgar[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Edgar[] = { { .iv = 100, .lvl = 43, @@ -952,7 +952,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edgar[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Albert[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Albert[] = { { .iv = 100, .lvl = 43, @@ -965,7 +965,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Albert[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Samuel[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Samuel[] = { { .iv = 100, .lvl = 42, @@ -983,7 +983,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Samuel[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Vito[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Vito[] = { { .iv = 100, .lvl = 42, @@ -1006,7 +1006,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Vito[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Owen[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Owen[] = { { .iv = 100, .lvl = 42, @@ -1024,7 +1024,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Owen[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Wilton2[] = { { .iv = 110, .lvl = 26, @@ -1042,7 +1042,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Wilton3[] = { { .iv = 120, .lvl = 29, @@ -1060,7 +1060,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Wilton4[] = { { .iv = 130, .lvl = 32, @@ -1078,7 +1078,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Wilton5[] = { { .iv = 140, .lvl = 35, @@ -1096,7 +1096,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Warren[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Warren[] = { { .iv = 100, .lvl = 33, @@ -1109,7 +1109,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Warren[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Mary[] = { +static const struct TrainerMonItemCustomMoves sParty_Mary[] = { { .iv = 255, .lvl = 26, @@ -1119,7 +1119,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Mary[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Alexia[] = { +static const struct TrainerMonItemCustomMoves sParty_Alexia[] = { { .iv = 255, .lvl = 26, @@ -1129,7 +1129,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Alexia[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Jody[] = { +static const struct TrainerMonItemCustomMoves sParty_Jody[] = { { .iv = 255, .lvl = 26, @@ -1139,7 +1139,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Jody[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Wendy[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Wendy[] = { { .iv = 100, .lvl = 29, @@ -1160,7 +1160,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Wendy[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Keira[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Keira[] = { { .iv = 100, .lvl = 45, @@ -1173,7 +1173,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Keira[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brooke1[] = { { .iv = 100, .lvl = 17, @@ -1191,7 +1191,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jennifer[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jennifer[] = { { .iv = 200, .lvl = 30, @@ -1199,7 +1199,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jennifer[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hope[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Hope[] = { { .iv = 100, .lvl = 45, @@ -1207,7 +1207,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hope[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shannon[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Shannon[] = { { .iv = 100, .lvl = 45, @@ -1215,7 +1215,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shannon[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Michelle[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Michelle[] = { { .iv = 100, .lvl = 42, @@ -1233,7 +1233,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Michelle[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Caroline[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Caroline[] = { { .iv = 100, .lvl = 43, @@ -1246,7 +1246,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Caroline[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Julie[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Julie[] = { { .iv = 100, .lvl = 42, @@ -1264,7 +1264,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Julie[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brooke2[] = { { .iv = 110, .lvl = 26, @@ -1282,7 +1282,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brooke3[] = { { .iv = 120, .lvl = 29, @@ -1300,7 +1300,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brooke4[] = { { .iv = 130, .lvl = 32, @@ -1318,7 +1318,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brooke5[] = { { .iv = 140, .lvl = 34, @@ -1336,7 +1336,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Patricia[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Patricia[] = { { .iv = 0, .lvl = 41, @@ -1349,7 +1349,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Patricia[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kindra[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Kindra[] = { { .iv = 0, .lvl = 30, @@ -1362,7 +1362,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kindra[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tammy[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tammy[] = { { .iv = 0, .lvl = 29, @@ -1375,7 +1375,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tammy[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Valerie1[] = { { .iv = 0, .lvl = 32, @@ -1383,7 +1383,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tasha[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tasha[] = { { .iv = 50, .lvl = 32, @@ -1391,7 +1391,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tasha[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Valerie2[] = { { .iv = 10, .lvl = 31, @@ -1404,7 +1404,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Valerie3[] = { { .iv = 20, .lvl = 35, @@ -1417,7 +1417,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Valerie4[] = { { .iv = 30, .lvl = 40, @@ -1430,7 +1430,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Valerie5[] = { { .iv = 40, .lvl = 42, @@ -1448,7 +1448,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie5[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Cindy1[] = { +static const struct TrainerMonItemDefaultMoves sParty_Cindy1[] = { { .iv = 0, .lvl = 7, @@ -1457,7 +1457,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Cindy1[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Daphne[] = { +static const struct TrainerMonItemCustomMoves sParty_Daphne[] = { { .iv = 100, .lvl = 39, @@ -1474,7 +1474,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Daphne[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt23[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt23[] = { { .iv = 0, .lvl = 26, @@ -1492,7 +1492,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt23[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Cindy2[] = { +static const struct TrainerMonItemCustomMoves sParty_Cindy2[] = { { .iv = 0, .lvl = 11, @@ -1502,7 +1502,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Cindy2[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Brianna[] = { +static const struct TrainerMonItemDefaultMoves sParty_Brianna[] = { { .iv = 150, .lvl = 40, @@ -1511,7 +1511,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Brianna[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Naomi[] = { +static const struct TrainerMonItemDefaultMoves sParty_Naomi[] = { { .iv = 100, .lvl = 45, @@ -1520,7 +1520,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Naomi[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Cindy3[] = { +static const struct TrainerMonItemDefaultMoves sParty_Cindy3[] = { { .iv = 10, .lvl = 27, @@ -1529,7 +1529,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Cindy3[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Cindy4[] = { +static const struct TrainerMonItemDefaultMoves sParty_Cindy4[] = { { .iv = 20, .lvl = 30, @@ -1538,7 +1538,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Cindy4[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Cindy5[] = { +static const struct TrainerMonItemDefaultMoves sParty_Cindy5[] = { { .iv = 30, .lvl = 33, @@ -1547,7 +1547,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Cindy5[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Cindy6[] = { +static const struct TrainerMonItemCustomMoves sParty_Cindy6[] = { { .iv = 40, .lvl = 36, @@ -1557,7 +1557,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Cindy6[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Melissa[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Melissa[] = { { .iv = 0, .lvl = 21, @@ -1565,7 +1565,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Melissa[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sheila[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Sheila[] = { { .iv = 0, .lvl = 21, @@ -1573,7 +1573,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sheila[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shirley[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Shirley[] = { { .iv = 0, .lvl = 21, @@ -1581,7 +1581,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shirley[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica1[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Jessica1[] = { { .iv = 0, .lvl = 29, @@ -1596,7 +1596,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Connie[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Connie[] = { { .iv = 100, .lvl = 40, @@ -1604,7 +1604,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Connie[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bridget[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Bridget[] = { { .iv = 150, .lvl = 40, @@ -1612,7 +1612,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bridget[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Olivia[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Olivia[] = { { .iv = 100, .lvl = 35, @@ -1633,7 +1633,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Olivia[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tiffany[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tiffany[] = { { .iv = 100, .lvl = 39, @@ -1646,7 +1646,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tiffany[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica2[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Jessica2[] = { { .iv = 10, .lvl = 35, @@ -1661,7 +1661,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica2[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica3[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Jessica3[] = { { .iv = 20, .lvl = 38, @@ -1676,7 +1676,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica3[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica4[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Jessica4[] = { { .iv = 30, .lvl = 41, @@ -1691,7 +1691,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica4[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica5[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Jessica5[] = { { .iv = 40, .lvl = 44, @@ -1706,7 +1706,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica5[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Winston1[] = { +static const struct TrainerMonItemDefaultMoves sParty_Winston1[] = { { .iv = 0, .lvl = 7, @@ -1715,7 +1715,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Winston1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mollie[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Mollie[] = { { .iv = 0, .lvl = 33, @@ -1728,7 +1728,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mollie[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Garret[] = { +static const struct TrainerMonItemDefaultMoves sParty_Garret[] = { { .iv = 0, .lvl = 45, @@ -1737,7 +1737,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Garret[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Winston2[] = { +static const struct TrainerMonItemDefaultMoves sParty_Winston2[] = { { .iv = 0, .lvl = 27, @@ -1746,7 +1746,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Winston2[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Winston3[] = { +static const struct TrainerMonItemDefaultMoves sParty_Winston3[] = { { .iv = 0, .lvl = 30, @@ -1755,7 +1755,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Winston3[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Winston4[] = { +static const struct TrainerMonItemDefaultMoves sParty_Winston4[] = { { .iv = 0, .lvl = 33, @@ -1764,7 +1764,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Winston4[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Winston5[] = { +static const struct TrainerMonItemCustomMoves sParty_Winston5[] = { { .iv = 0, .lvl = 36, @@ -1774,7 +1774,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Winston5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Steve1[] = { { .iv = 0, .lvl = 19, @@ -1782,7 +1782,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Thalia1[] = { { .iv = 0, .lvl = 25, @@ -1795,7 +1795,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mark[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Mark[] = { { .iv = 0, .lvl = 31, @@ -1803,7 +1803,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mark[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt24[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt24[] = { { .iv = 0, .lvl = 20, @@ -1811,7 +1811,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt24[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Steve2[] = { { .iv = 10, .lvl = 27, @@ -1819,7 +1819,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Steve3[] = { { .iv = 20, .lvl = 29, @@ -1832,7 +1832,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Steve4[] = { { .iv = 30, .lvl = 32, @@ -1845,7 +1845,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Steve5[] = { { .iv = 40, .lvl = 35, @@ -1858,7 +1858,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Luis[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Luis[] = { { .iv = 0, .lvl = 26, @@ -1866,7 +1866,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Luis[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dominik[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dominik[] = { { .iv = 0, .lvl = 26, @@ -1874,7 +1874,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dominik[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Douglas[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Douglas[] = { { .iv = 10, .lvl = 24, @@ -1887,7 +1887,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Douglas[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Darrin[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Darrin[] = { { .iv = 10, .lvl = 24, @@ -1905,7 +1905,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Darrin[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tony1[] = { { .iv = 0, .lvl = 26, @@ -1913,7 +1913,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerome[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jerome[] = { { .iv = 0, .lvl = 26, @@ -1921,7 +1921,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerome[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Matthew[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Matthew[] = { { .iv = 0, .lvl = 26, @@ -1929,7 +1929,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Matthew[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_David[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_David[] = { { .iv = 0, .lvl = 25, @@ -1942,7 +1942,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_David[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Spencer[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Spencer[] = { { .iv = 0, .lvl = 33, @@ -1955,7 +1955,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Spencer[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Roland[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Roland[] = { { .iv = 0, .lvl = 34, @@ -1963,7 +1963,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Roland[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nolen[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Nolen[] = { { .iv = 0, .lvl = 34, @@ -1971,7 +1971,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nolen[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Stan[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Stan[] = { { .iv = 0, .lvl = 34, @@ -1979,7 +1979,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Stan[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Barry[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Barry[] = { { .iv = 0, .lvl = 34, @@ -1987,7 +1987,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Barry[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dean[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dean[] = { { .iv = 0, .lvl = 31, @@ -2005,7 +2005,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dean[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rodney[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Rodney[] = { { .iv = 0, .lvl = 34, @@ -2013,7 +2013,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rodney[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Richard[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Richard[] = { { .iv = 0, .lvl = 34, @@ -2021,7 +2021,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Richard[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Herman[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Herman[] = { { .iv = 0, .lvl = 33, @@ -2034,7 +2034,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Herman[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Santiago[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Santiago[] = { { .iv = 0, .lvl = 33, @@ -2047,7 +2047,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Santiago[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gilbert[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Gilbert[] = { { .iv = 0, .lvl = 34, @@ -2055,7 +2055,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gilbert[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Franklin[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Franklin[] = { { .iv = 0, .lvl = 34, @@ -2063,7 +2063,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Franklin[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kevin[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Kevin[] = { { .iv = 0, .lvl = 34, @@ -2071,7 +2071,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kevin[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jack[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jack[] = { { .iv = 0, .lvl = 34, @@ -2079,7 +2079,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jack[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dudley[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dudley[] = { { .iv = 0, .lvl = 33, @@ -2097,7 +2097,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dudley[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chad[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Chad[] = { { .iv = 0, .lvl = 33, @@ -2110,7 +2110,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chad[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tony2[] = { { .iv = 10, .lvl = 30, @@ -2118,7 +2118,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tony3[] = { { .iv = 20, .lvl = 33, @@ -2126,7 +2126,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tony4[] = { { .iv = 30, .lvl = 34, @@ -2139,7 +2139,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tony5[] = { { .iv = 40, .lvl = 37, @@ -2152,7 +2152,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Takao[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Takao[] = { { .iv = 127, .lvl = 13, @@ -2160,7 +2160,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Takao[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hitoshi[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Hitoshi[] = { { .iv = 50, .lvl = 32, @@ -2173,7 +2173,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hitoshi[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kiyo[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Kiyo[] = { { .iv = 100, .lvl = 34, @@ -2181,7 +2181,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kiyo[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koichi[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Koichi[] = { { .iv = 100, .lvl = 24, @@ -2194,7 +2194,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koichi[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nob1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Nob1[] = { { .iv = 100, .lvl = 19, @@ -2202,7 +2202,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nob1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nob2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Nob2[] = { { .iv = 110, .lvl = 27, @@ -2210,7 +2210,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nob2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nob3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Nob3[] = { { .iv = 120, .lvl = 29, @@ -2223,7 +2223,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nob3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nob4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Nob4[] = { { .iv = 130, .lvl = 31, @@ -2241,7 +2241,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nob4[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Nob5[] = { +static const struct TrainerMonItemDefaultMoves sParty_Nob5[] = { { .iv = 140, .lvl = 33, @@ -2268,7 +2268,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Nob5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Yuji[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Yuji[] = { { .iv = 100, .lvl = 26, @@ -2281,7 +2281,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Yuji[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Daisuke[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Daisuke[] = { { .iv = 100, .lvl = 19, @@ -2289,7 +2289,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Daisuke[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Atsushi[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Atsushi[] = { { .iv = 100, .lvl = 32, @@ -2297,7 +2297,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Atsushi[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Kirk[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Kirk[] = { { .iv = 100, .lvl = 17, @@ -2312,7 +2312,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Kirk[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt25[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt25[] = { { .iv = 0, .lvl = 31, @@ -2325,7 +2325,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt25[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt26[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt26[] = { { .iv = 0, .lvl = 32, @@ -2333,7 +2333,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt26[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shawn[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Shawn[] = { { .iv = 100, .lvl = 17, @@ -2346,7 +2346,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shawn[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Fernando1[] = { { .iv = 0, .lvl = 30, @@ -2359,7 +2359,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dalton1[] = { { .iv = 0, .lvl = 15, @@ -2372,7 +2372,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dalton2[] = { { .iv = 10, .lvl = 25, @@ -2390,7 +2390,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dalton3[] = { { .iv = 20, .lvl = 28, @@ -2408,7 +2408,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dalton4[] = { { .iv = 30, .lvl = 31, @@ -2426,7 +2426,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dalton5[] = { { .iv = 40, .lvl = 34, @@ -2444,7 +2444,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cole[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cole[] = { { .iv = 100, .lvl = 23, @@ -2452,7 +2452,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cole[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeff[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jeff[] = { { .iv = 100, .lvl = 22, @@ -2465,7 +2465,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeff[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Axle[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Axle[] = { { .iv = 100, .lvl = 23, @@ -2473,7 +2473,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Axle[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jace[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jace[] = { { .iv = 100, .lvl = 23, @@ -2481,7 +2481,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jace[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Keegan[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Keegan[] = { { .iv = 120, .lvl = 23, @@ -2489,7 +2489,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Keegan[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Bernie1[] = { { .iv = 0, .lvl = 18, @@ -2502,7 +2502,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Bernie2[] = { { .iv = 10, .lvl = 26, @@ -2515,7 +2515,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Bernie3[] = { { .iv = 20, .lvl = 29, @@ -2528,7 +2528,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Bernie4[] = { { .iv = 30, .lvl = 32, @@ -2541,7 +2541,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Bernie5[] = { { .iv = 40, .lvl = 35, @@ -2554,7 +2554,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie5[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Drew[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Drew[] = { { .iv = 0, .lvl = 23, @@ -2563,7 +2563,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Drew[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Beau[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Beau[] = { { .iv = 0, .lvl = 21, @@ -2584,7 +2584,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Beau[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Larry[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Larry[] = { { .iv = 0, .lvl = 18, @@ -2592,7 +2592,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Larry[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shane[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Shane[] = { { .iv = 0, .lvl = 18, @@ -2605,7 +2605,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shane[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Justin[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Justin[] = { { .iv = 0, .lvl = 24, @@ -2613,7 +2613,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Justin[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ethan1[] = { { .iv = 0, .lvl = 20, @@ -2626,7 +2626,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Autumn[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Autumn[] = { { .iv = 0, .lvl = 21, @@ -2634,7 +2634,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Autumn[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Travis[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Travis[] = { { .iv = 0, .lvl = 18, @@ -2642,7 +2642,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Travis[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ethan2[] = { { .iv = 10, .lvl = 26, @@ -2655,7 +2655,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ethan3[] = { { .iv = 20, .lvl = 29, @@ -2668,7 +2668,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ethan4[] = { { .iv = 30, .lvl = 31, @@ -2686,7 +2686,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ethan5[] = { { .iv = 40, .lvl = 34, @@ -2704,7 +2704,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brent[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brent[] = { { .iv = 100, .lvl = 26, @@ -2712,7 +2712,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brent[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Donald[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Donald[] = { { .iv = 100, .lvl = 24, @@ -2730,7 +2730,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Donald[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Taylor[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Taylor[] = { { .iv = 100, .lvl = 27, @@ -2748,7 +2748,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Taylor[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeffrey1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jeffrey1[] = { { .iv = 0, .lvl = 27, @@ -2766,7 +2766,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeffrey1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Derek[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Derek[] = { { .iv = 150, .lvl = 16, @@ -2779,7 +2779,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Derek[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeffrey2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jeffrey2[] = { { .iv = 10, .lvl = 31, @@ -2797,7 +2797,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeffrey2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeffrey3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jeffrey3[] = { { .iv = 20, .lvl = 34, @@ -2815,7 +2815,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeffrey3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeffrey4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jeffrey4[] = { { .iv = 30, .lvl = 36, @@ -2838,7 +2838,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeffrey4[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Jeffrey5[] = { +static const struct TrainerMonItemDefaultMoves sParty_Jeffrey5[] = { { .iv = 40, .lvl = 38, @@ -2871,7 +2871,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Jeffrey5[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Edward[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Edward[] = { { .iv = 0, .lvl = 15, @@ -2880,7 +2880,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Edward[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Preston[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Preston[] = { { .iv = 100, .lvl = 36, @@ -2888,7 +2888,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Preston[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Virgil[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Virgil[] = { { .iv = 100, .lvl = 36, @@ -2896,7 +2896,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Virgil[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Blake[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Blake[] = { { .iv = 100, .lvl = 36, @@ -2904,7 +2904,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Blake[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_William[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_William[] = { { .iv = 0, .lvl = 26, @@ -2922,7 +2922,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_William[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Joshua[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Joshua[] = { { .iv = 0, .lvl = 41, @@ -2935,7 +2935,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Joshua[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cameron1[] = { { .iv = 0, .lvl = 31, @@ -2943,7 +2943,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cameron2[] = { { .iv = 10, .lvl = 33, @@ -2956,7 +2956,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cameron3[] = { { .iv = 20, .lvl = 38, @@ -2969,7 +2969,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cameron4[] = { { .iv = 30, .lvl = 41, @@ -2982,7 +2982,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cameron5[] = { { .iv = 40, .lvl = 45, @@ -2995,7 +2995,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron5[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Jaclyn[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Jaclyn[] = { { .iv = 0, .lvl = 16, @@ -3004,7 +3004,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Jaclyn[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hannah[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Hannah[] = { { .iv = 100, .lvl = 36, @@ -3012,7 +3012,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hannah[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Samantha[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Samantha[] = { { .iv = 100, .lvl = 36, @@ -3020,7 +3020,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Samantha[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maura[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Maura[] = { { .iv = 100, .lvl = 36, @@ -3028,7 +3028,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maura[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kayla[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Kayla[] = { { .iv = 0, .lvl = 26, @@ -3046,7 +3046,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kayla[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alexis[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Alexis[] = { { .iv = 0, .lvl = 41, @@ -3059,7 +3059,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alexis[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jacki1[] = { { .iv = 0, .lvl = 30, @@ -3072,7 +3072,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jacki2[] = { { .iv = 10, .lvl = 34, @@ -3085,7 +3085,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jacki3[] = { { .iv = 20, .lvl = 37, @@ -3098,7 +3098,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jacki4[] = { { .iv = 30, .lvl = 40, @@ -3111,7 +3111,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jacki5[] = { { .iv = 40, .lvl = 43, @@ -3124,7 +3124,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Walter1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Walter1[] = { { .iv = 0, .lvl = 29, @@ -3132,7 +3132,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Walter1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Micah[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Micah[] = { { .iv = 0, .lvl = 44, @@ -3145,7 +3145,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Micah[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thomas[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Thomas[] = { { .iv = 0, .lvl = 45, @@ -3153,7 +3153,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thomas[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Walter2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Walter2[] = { { .iv = 10, .lvl = 34, @@ -3161,7 +3161,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Walter2[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Walter3[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Walter3[] = { { .iv = 20, .lvl = 36, @@ -3176,7 +3176,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Walter3[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Walter4[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Walter4[] = { { .iv = 30, .lvl = 39, @@ -3191,7 +3191,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Walter4[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Walter5[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Walter5[] = { { .iv = 40, .lvl = 41, @@ -3212,7 +3212,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Walter5[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Sidney[] = { +static const struct TrainerMonItemCustomMoves sParty_Sidney[] = { { .iv = 250, .lvl = 46, @@ -3250,7 +3250,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Sidney[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Phoebe[] = { +static const struct TrainerMonItemCustomMoves sParty_Phoebe[] = { { .iv = 250, .lvl = 48, @@ -3288,7 +3288,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Phoebe[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Glacia[] = { +static const struct TrainerMonItemCustomMoves sParty_Glacia[] = { { .iv = 250, .lvl = 50, @@ -3326,7 +3326,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Glacia[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Drake[] = { +static const struct TrainerMonItemCustomMoves sParty_Drake[] = { { .iv = 250, .lvl = 52, @@ -3364,7 +3364,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Drake[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne1[] = { +static const struct TrainerMonItemCustomMoves sParty_Roxanne1[] = { { .iv = 100, .lvl = 12, @@ -3388,7 +3388,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne1[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Brawly1[] = { +static const struct TrainerMonItemCustomMoves sParty_Brawly1[] = { { .iv = 100, .lvl = 16, @@ -3412,7 +3412,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Brawly1[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Wattson1[] = { +static const struct TrainerMonItemCustomMoves sParty_Wattson1[] = { { .iv = 200, .lvl = 20, @@ -3443,7 +3443,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Wattson1[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Flannery1[] = { +static const struct TrainerMonItemCustomMoves sParty_Flannery1[] = { { .iv = 200, .lvl = 24, @@ -3474,7 +3474,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Flannery1[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Norman1[] = { +static const struct TrainerMonItemCustomMoves sParty_Norman1[] = { { .iv = 200, .lvl = 27, @@ -3505,7 +3505,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Norman1[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Winona1[] = { +static const struct TrainerMonItemCustomMoves sParty_Winona1[] = { { .iv = 210, .lvl = 29, @@ -3543,7 +3543,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Winona1[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza1[] = { +static const struct TrainerMonItemCustomMoves sParty_TateAndLiza1[] = { { .iv = 250, .lvl = 41, @@ -3574,7 +3574,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza1[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Juan1[] = { +static const struct TrainerMonItemCustomMoves sParty_Juan1[] = { { .iv = 200, .lvl = 41, @@ -3612,7 +3612,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Juan1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jerry1[] = { { .iv = 10, .lvl = 9, @@ -3620,7 +3620,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ted[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ted[] = { { .iv = 10, .lvl = 17, @@ -3628,7 +3628,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ted[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Paul[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Paul[] = { { .iv = 10, .lvl = 15, @@ -3646,7 +3646,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Paul[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jerry2[] = { { .iv = 20, .lvl = 26, @@ -3659,7 +3659,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jerry3[] = { { .iv = 30, .lvl = 29, @@ -3672,7 +3672,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jerry4[] = { { .iv = 40, .lvl = 32, @@ -3685,7 +3685,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jerry5[] = { { .iv = 50, .lvl = 34, @@ -3703,7 +3703,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Karen1[] = { { .iv = 10, .lvl = 9, @@ -3711,7 +3711,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Georgia[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Georgia[] = { { .iv = 10, .lvl = 16, @@ -3724,7 +3724,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Georgia[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Karen2[] = { { .iv = 20, .lvl = 26, @@ -3737,7 +3737,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Karen3[] = { { .iv = 30, .lvl = 29, @@ -3750,7 +3750,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Karen4[] = { { .iv = 40, .lvl = 32, @@ -3763,7 +3763,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Karen5[] = { { .iv = 50, .lvl = 35, @@ -3776,7 +3776,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen5[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_KateAndJoy[] = { +static const struct TrainerMonNoItemCustomMoves sParty_KateAndJoy[] = { { .iv = 0, .lvl = 30, @@ -3791,7 +3791,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_KateAndJoy[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg1[] = { +static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg1[] = { { .iv = 0, .lvl = 15, @@ -3806,7 +3806,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg1[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg2[] = { +static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg2[] = { { .iv = 10, .lvl = 28, @@ -3821,7 +3821,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg2[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg3[] = { +static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg3[] = { { .iv = 20, .lvl = 31, @@ -3836,7 +3836,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg3[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg4[] = { +static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg4[] = { { .iv = 30, .lvl = 34, @@ -3851,7 +3851,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg4[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg5[] = { +static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg5[] = { { .iv = 40, .lvl = 36, @@ -3866,7 +3866,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg5[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Victor[] = { +static const struct TrainerMonItemDefaultMoves sParty_Victor[] = { { .iv = 25, .lvl = 16, @@ -3881,7 +3881,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Victor[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel1[] = { +static const struct TrainerMonItemDefaultMoves sParty_Miguel1[] = { { .iv = 0, .lvl = 15, @@ -3890,7 +3890,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel1[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Colton[] = { +static const struct TrainerMonItemCustomMoves sParty_Colton[] = { { .iv = 0, .lvl = 22, @@ -3935,7 +3935,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Colton[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel2[] = { +static const struct TrainerMonItemDefaultMoves sParty_Miguel2[] = { { .iv = 0, .lvl = 29, @@ -3944,7 +3944,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel2[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel3[] = { +static const struct TrainerMonItemDefaultMoves sParty_Miguel3[] = { { .iv = 0, .lvl = 32, @@ -3953,7 +3953,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel3[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel4[] = { +static const struct TrainerMonItemDefaultMoves sParty_Miguel4[] = { { .iv = 0, .lvl = 35, @@ -3962,7 +3962,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel4[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel5[] = { +static const struct TrainerMonItemDefaultMoves sParty_Miguel5[] = { { .iv = 0, .lvl = 38, @@ -3971,7 +3971,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel5[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Victoria[] = { +static const struct TrainerMonItemDefaultMoves sParty_Victoria[] = { { .iv = 50, .lvl = 17, @@ -3980,7 +3980,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Victoria[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Vanessa[] = { +static const struct TrainerMonItemDefaultMoves sParty_Vanessa[] = { { .iv = 0, .lvl = 30, @@ -3989,7 +3989,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Vanessa[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Bethany[] = { +static const struct TrainerMonItemDefaultMoves sParty_Bethany[] = { { .iv = 100, .lvl = 35, @@ -4010,7 +4010,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Bethany[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel1[] = { +static const struct TrainerMonItemDefaultMoves sParty_Isabel1[] = { { .iv = 0, .lvl = 14, @@ -4025,7 +4025,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel1[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel2[] = { +static const struct TrainerMonItemDefaultMoves sParty_Isabel2[] = { { .iv = 10, .lvl = 26, @@ -4040,7 +4040,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel2[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel3[] = { +static const struct TrainerMonItemDefaultMoves sParty_Isabel3[] = { { .iv = 20, .lvl = 29, @@ -4055,7 +4055,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel3[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel4[] = { +static const struct TrainerMonItemDefaultMoves sParty_Isabel4[] = { { .iv = 30, .lvl = 32, @@ -4070,7 +4070,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel4[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel5[] = { +static const struct TrainerMonItemDefaultMoves sParty_Isabel5[] = { { .iv = 40, .lvl = 35, @@ -4085,7 +4085,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Timothy1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Timothy1[] = { { .iv = 200, .lvl = 27, @@ -4093,7 +4093,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Timothy1[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Timothy2[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Timothy2[] = { { .iv = 210, .lvl = 33, @@ -4102,7 +4102,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Timothy2[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Timothy3[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Timothy3[] = { { .iv = 220, .lvl = 36, @@ -4111,7 +4111,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Timothy3[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Timothy4[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Timothy4[] = { { .iv = 230, .lvl = 39, @@ -4120,7 +4120,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Timothy4[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Timothy5[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Timothy5[] = { { .iv = 240, .lvl = 42, @@ -4129,7 +4129,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Timothy5[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Vicky[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Vicky[] = { { .iv = 200, .lvl = 18, @@ -4138,7 +4138,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Vicky[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Shelby1[] = { { .iv = 200, .lvl = 21, @@ -4151,7 +4151,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Shelby2[] = { { .iv = 210, .lvl = 30, @@ -4164,7 +4164,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Shelby3[] = { { .iv = 220, .lvl = 33, @@ -4177,7 +4177,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Shelby4[] = { { .iv = 230, .lvl = 36, @@ -4190,7 +4190,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Shelby5[] = { { .iv = 240, .lvl = 39, @@ -4203,7 +4203,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Calvin1[] = { { .iv = 0, .lvl = 5, @@ -4211,7 +4211,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Billy[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Billy[] = { { .iv = 0, .lvl = 5, @@ -4224,7 +4224,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Billy[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Josh[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Josh[] = { { .iv = 100, .lvl = 10, @@ -4233,7 +4233,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Josh[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tommy[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tommy[] = { { .iv = 110, .lvl = 8, @@ -4246,7 +4246,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tommy[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Joey[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Joey[] = { { .iv = 0, .lvl = 9, @@ -4254,7 +4254,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Joey[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Ben[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Ben[] = { { .iv = 150, .lvl = 17, @@ -4269,7 +4269,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Ben[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Quincy[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Quincy[] = { { .iv = 100, .lvl = 43, @@ -4284,7 +4284,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Quincy[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Katelynn[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Katelynn[] = { { .iv = 100, .lvl = 43, @@ -4299,7 +4299,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Katelynn[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jaylen[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jaylen[] = { { .iv = 0, .lvl = 19, @@ -4307,7 +4307,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jaylen[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dillon[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dillon[] = { { .iv = 0, .lvl = 19, @@ -4315,7 +4315,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dillon[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Calvin2[] = { { .iv = 10, .lvl = 27, @@ -4323,7 +4323,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Calvin3[] = { { .iv = 20, .lvl = 28, @@ -4336,7 +4336,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Calvin4[] = { { .iv = 30, .lvl = 31, @@ -4354,7 +4354,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Calvin5[] = { { .iv = 40, .lvl = 34, @@ -4372,7 +4372,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Eddie[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Eddie[] = { { .iv = 0, .lvl = 14, @@ -4385,7 +4385,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Eddie[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Allen[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Allen[] = { { .iv = 0, .lvl = 4, @@ -4398,7 +4398,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Allen[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Timmy[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Timmy[] = { { .iv = 0, .lvl = 15, @@ -4411,7 +4411,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Timmy[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Wallace[] = { +static const struct TrainerMonItemCustomMoves sParty_Wallace[] = { { .iv = 255, .lvl = 57, @@ -4456,7 +4456,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Wallace[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andrew[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Andrew[] = { { .iv = 0, .lvl = 5, @@ -4474,7 +4474,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andrew[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ivan[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ivan[] = { { .iv = 0, .lvl = 5, @@ -4492,7 +4492,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ivan[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Claude[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Claude[] = { { .iv = 0, .lvl = 16, @@ -4510,7 +4510,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Claude[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Elliot1[] = { { .iv = 0, .lvl = 10, @@ -4528,7 +4528,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ned[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ned[] = { { .iv = 10, .lvl = 11, @@ -4536,7 +4536,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ned[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dale[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dale[] = { { .iv = 0, .lvl = 11, @@ -4559,7 +4559,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dale[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nolan[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Nolan[] = { { .iv = 0, .lvl = 19, @@ -4567,7 +4567,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nolan[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Barny[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Barny[] = { { .iv = 0, .lvl = 25, @@ -4580,7 +4580,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Barny[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wade[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Wade[] = { { .iv = 0, .lvl = 16, @@ -4588,7 +4588,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wade[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Carter[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Carter[] = { { .iv = 10, .lvl = 25, @@ -4601,7 +4601,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Carter[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Elliot2[] = { { .iv = 10, .lvl = 24, @@ -4619,7 +4619,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Elliot3[] = { { .iv = 20, .lvl = 29, @@ -4642,7 +4642,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Elliot4[] = { { .iv = 30, .lvl = 31, @@ -4665,7 +4665,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Elliot5[] = { { .iv = 40, .lvl = 33, @@ -4688,7 +4688,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ronald[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ronald[] = { { .iv = 0, .lvl = 19, @@ -4721,7 +4721,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ronald[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacob[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jacob[] = { { .iv = 20, .lvl = 6, @@ -4739,7 +4739,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacob[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Anthony[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Anthony[] = { { .iv = 0, .lvl = 14, @@ -4752,7 +4752,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Anthony[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Benjamin1[] = { { .iv = 0, .lvl = 16, @@ -4760,7 +4760,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Benjamin2[] = { { .iv = 10, .lvl = 30, @@ -4768,7 +4768,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Benjamin3[] = { { .iv = 20, .lvl = 33, @@ -4776,7 +4776,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Benjamin4[] = { { .iv = 30, .lvl = 36, @@ -4784,7 +4784,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Benjamin5[] = { { .iv = 40, .lvl = 39, @@ -4792,7 +4792,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Abigail1[] = { { .iv = 0, .lvl = 16, @@ -4800,7 +4800,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jasmine[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jasmine[] = { { .iv = 80, .lvl = 14, @@ -4818,7 +4818,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jasmine[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Abigail2[] = { { .iv = 10, .lvl = 28, @@ -4826,7 +4826,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Abigail3[] = { { .iv = 20, .lvl = 31, @@ -4834,7 +4834,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Abigail4[] = { { .iv = 30, .lvl = 34, @@ -4842,7 +4842,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Abigail5[] = { { .iv = 40, .lvl = 37, @@ -4850,7 +4850,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dylan1[] = { { .iv = 0, .lvl = 17, @@ -4858,7 +4858,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dylan2[] = { { .iv = 10, .lvl = 28, @@ -4866,7 +4866,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dylan3[] = { { .iv = 20, .lvl = 31, @@ -4874,7 +4874,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dylan4[] = { { .iv = 30, .lvl = 34, @@ -4882,7 +4882,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dylan5[] = { { .iv = 40, .lvl = 37, @@ -4890,7 +4890,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Maria1[] = { { .iv = 0, .lvl = 17, @@ -4898,7 +4898,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Maria2[] = { { .iv = 10, .lvl = 28, @@ -4906,7 +4906,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Maria3[] = { { .iv = 20, .lvl = 31, @@ -4914,7 +4914,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Maria4[] = { { .iv = 30, .lvl = 34, @@ -4922,7 +4922,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Maria5[] = { { .iv = 40, .lvl = 37, @@ -4930,7 +4930,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Camden[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Camden[] = { { .iv = 0, .lvl = 33, @@ -4943,7 +4943,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Camden[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Demetrius[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Demetrius[] = { { .iv = 0, .lvl = 25, @@ -4956,7 +4956,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Demetrius[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Isaiah1[] = { { .iv = 0, .lvl = 35, @@ -4964,7 +4964,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Pablo1[] = { { .iv = 0, .lvl = 33, @@ -4977,7 +4977,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chase[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Chase[] = { { .iv = 0, .lvl = 26, @@ -4990,7 +4990,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chase[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Isaiah2[] = { { .iv = 10, .lvl = 39, @@ -4998,7 +4998,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Isaiah3[] = { { .iv = 20, .lvl = 42, @@ -5006,7 +5006,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Isaiah4[] = { { .iv = 30, .lvl = 45, @@ -5014,7 +5014,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Isaiah5[] = { { .iv = 40, .lvl = 48, @@ -5022,7 +5022,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isobel[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Isobel[] = { { .iv = 0, .lvl = 34, @@ -5030,7 +5030,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isobel[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Donny[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Donny[] = { { .iv = 0, .lvl = 26, @@ -5043,7 +5043,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Donny[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Talia[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Talia[] = { { .iv = 0, .lvl = 34, @@ -5051,7 +5051,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Talia[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Katelyn1[] = { { .iv = 0, .lvl = 35, @@ -5059,7 +5059,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Allison[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Allison[] = { { .iv = 0, .lvl = 27, @@ -5072,7 +5072,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Allison[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Katelyn2[] = { { .iv = 10, .lvl = 39, @@ -5080,7 +5080,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Katelyn3[] = { { .iv = 20, .lvl = 42, @@ -5088,7 +5088,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Katelyn4[] = { { .iv = 30, .lvl = 45, @@ -5096,7 +5096,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Katelyn5[] = { { .iv = 40, .lvl = 48, @@ -5104,7 +5104,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicolas1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Nicolas1[] = { { .iv = 100, .lvl = 37, @@ -5117,7 +5117,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicolas1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicolas2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Nicolas2[] = { { .iv = 110, .lvl = 41, @@ -5130,7 +5130,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicolas2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicolas3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Nicolas3[] = { { .iv = 120, .lvl = 44, @@ -5143,7 +5143,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicolas3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicolas4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Nicolas4[] = { { .iv = 130, .lvl = 46, @@ -5161,7 +5161,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicolas4[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Nicolas5[] = { +static const struct TrainerMonItemDefaultMoves sParty_Nicolas5[] = { { .iv = 140, .lvl = 49, @@ -5182,7 +5182,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Nicolas5[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Aaron[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Aaron[] = { { .iv = 255, .lvl = 34, @@ -5191,7 +5191,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Aaron[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Perry[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Perry[] = { { .iv = 0, .lvl = 26, @@ -5199,7 +5199,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Perry[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hugh[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Hugh[] = { { .iv = 0, .lvl = 25, @@ -5212,7 +5212,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hugh[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Phil[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Phil[] = { { .iv = 0, .lvl = 26, @@ -5220,7 +5220,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Phil[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jared[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jared[] = { { .iv = 100, .lvl = 27, @@ -5238,7 +5238,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jared[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Humberto[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Humberto[] = { { .iv = 250, .lvl = 30, @@ -5246,7 +5246,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Humberto[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Presley[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Presley[] = { { .iv = 0, .lvl = 33, @@ -5259,7 +5259,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Presley[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwardo[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Edwardo[] = { { .iv = 150, .lvl = 29, @@ -5272,7 +5272,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwardo[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Colin[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Colin[] = { { .iv = 0, .lvl = 28, @@ -5285,7 +5285,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Colin[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Robert1[] = { { .iv = 0, .lvl = 29, @@ -5293,7 +5293,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benny[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Benny[] = { { .iv = 0, .lvl = 36, @@ -5311,7 +5311,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benny[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chester[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Chester[] = { { .iv = 0, .lvl = 25, @@ -5324,7 +5324,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chester[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Robert2[] = { { .iv = 10, .lvl = 32, @@ -5337,7 +5337,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Robert3[] = { { .iv = 20, .lvl = 35, @@ -5350,7 +5350,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Robert4[] = { { .iv = 30, .lvl = 38, @@ -5363,7 +5363,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Robert5[] = { { .iv = 40, .lvl = 41, @@ -5376,7 +5376,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alex[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Alex[] = { { .iv = 150, .lvl = 33, @@ -5389,7 +5389,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alex[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Beck[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Beck[] = { { .iv = 0, .lvl = 34, @@ -5397,7 +5397,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Beck[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Yasu[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Yasu[] = { { .iv = 0, .lvl = 26, @@ -5405,7 +5405,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Yasu[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Takashi[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Takashi[] = { { .iv = 0, .lvl = 25, @@ -5418,7 +5418,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Takashi[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Dianne[] = { +static const struct TrainerMonItemCustomMoves sParty_Dianne[] = { { .iv = 0, .lvl = 43, @@ -5435,7 +5435,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Dianne[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jani[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jani[] = { { .iv = 0, .lvl = 26, @@ -5443,7 +5443,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jani[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Lao1[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Lao1[] = { { .iv = 0, .lvl = 17, @@ -5464,7 +5464,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Lao1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lung[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lung[] = { { .iv = 0, .lvl = 18, @@ -5477,7 +5477,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lung[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Lao2[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Lao2[] = { { .iv = 0, .lvl = 24, @@ -5504,7 +5504,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Lao2[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Lao3[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Lao3[] = { { .iv = 20, .lvl = 27, @@ -5531,7 +5531,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Lao3[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Lao4[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Lao4[] = { { .iv = 30, .lvl = 30, @@ -5558,7 +5558,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Lao4[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Lao5[] = { +static const struct TrainerMonItemCustomMoves sParty_Lao5[] = { { .iv = 40, .lvl = 33, @@ -5589,7 +5589,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Lao5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jocelyn[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jocelyn[] = { { .iv = 127, .lvl = 13, @@ -5597,7 +5597,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jocelyn[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Laura[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Laura[] = { { .iv = 150, .lvl = 13, @@ -5605,7 +5605,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Laura[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cyndy1[] = { { .iv = 100, .lvl = 18, @@ -5618,7 +5618,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cora[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cora[] = { { .iv = 100, .lvl = 27, @@ -5626,7 +5626,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cora[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Paula[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Paula[] = { { .iv = 100, .lvl = 27, @@ -5634,7 +5634,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Paula[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cyndy2[] = { { .iv = 110, .lvl = 26, @@ -5647,7 +5647,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cyndy3[] = { { .iv = 120, .lvl = 29, @@ -5660,7 +5660,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cyndy4[] = { { .iv = 130, .lvl = 32, @@ -5673,7 +5673,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cyndy5[] = { { .iv = 140, .lvl = 35, @@ -5686,7 +5686,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy5[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline1[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Madeline1[] = { { .iv = 0, .lvl = 19, @@ -5695,7 +5695,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Clarissa[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Clarissa[] = { { .iv = 0, .lvl = 28, @@ -5708,7 +5708,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Clarissa[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Angelica[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Angelica[] = { { .iv = 50, .lvl = 30, @@ -5717,7 +5717,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Angelica[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline2[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Madeline2[] = { { .iv = 10, .lvl = 29, @@ -5726,7 +5726,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline2[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline3[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Madeline3[] = { { .iv = 20, .lvl = 32, @@ -5735,7 +5735,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline3[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline4[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Madeline4[] = { { .iv = 30, .lvl = 34, @@ -5750,7 +5750,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline4[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline5[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Madeline5[] = { { .iv = 40, .lvl = 37, @@ -5765,7 +5765,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Beverly[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Beverly[] = { { .iv = 0, .lvl = 25, @@ -5778,7 +5778,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Beverly[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Imani[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Imani[] = { { .iv = 0, .lvl = 26, @@ -5786,7 +5786,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Imani[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kyla[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Kyla[] = { { .iv = 0, .lvl = 26, @@ -5794,7 +5794,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kyla[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Denise[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Denise[] = { { .iv = 0, .lvl = 25, @@ -5807,7 +5807,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Denise[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Beth[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Beth[] = { { .iv = 0, .lvl = 26, @@ -5815,7 +5815,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Beth[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tara[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tara[] = { { .iv = 0, .lvl = 25, @@ -5828,7 +5828,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tara[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Missy[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Missy[] = { { .iv = 0, .lvl = 26, @@ -5836,7 +5836,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Missy[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alice[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Alice[] = { { .iv = 0, .lvl = 24, @@ -5854,7 +5854,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alice[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jenny1[] = { { .iv = 0, .lvl = 34, @@ -5862,7 +5862,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grace[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grace[] = { { .iv = 0, .lvl = 34, @@ -5870,7 +5870,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grace[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tanya[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tanya[] = { { .iv = 0, .lvl = 34, @@ -5878,7 +5878,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tanya[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sharon[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Sharon[] = { { .iv = 0, .lvl = 34, @@ -5886,7 +5886,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sharon[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nikki[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Nikki[] = { { .iv = 0, .lvl = 33, @@ -5899,7 +5899,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nikki[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brenda[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brenda[] = { { .iv = 0, .lvl = 34, @@ -5907,7 +5907,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brenda[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katie[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Katie[] = { { .iv = 0, .lvl = 33, @@ -5920,7 +5920,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katie[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Susie[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Susie[] = { { .iv = 0, .lvl = 34, @@ -5928,7 +5928,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Susie[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kara[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Kara[] = { { .iv = 0, .lvl = 34, @@ -5936,7 +5936,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kara[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dana[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dana[] = { { .iv = 0, .lvl = 34, @@ -5944,7 +5944,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dana[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sienna[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Sienna[] = { { .iv = 0, .lvl = 33, @@ -5957,7 +5957,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sienna[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Debra[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Debra[] = { { .iv = 0, .lvl = 34, @@ -5965,7 +5965,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Debra[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Linda[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Linda[] = { { .iv = 0, .lvl = 33, @@ -5978,7 +5978,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Linda[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kaylee[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Kaylee[] = { { .iv = 0, .lvl = 34, @@ -5991,7 +5991,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kaylee[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Laurel[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Laurel[] = { { .iv = 0, .lvl = 33, @@ -6004,7 +6004,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Laurel[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Carlee[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Carlee[] = { { .iv = 0, .lvl = 35, @@ -6012,7 +6012,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Carlee[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jenny2[] = { { .iv = 0, .lvl = 38, @@ -6020,7 +6020,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jenny3[] = { { .iv = 0, .lvl = 41, @@ -6028,7 +6028,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jenny4[] = { { .iv = 0, .lvl = 43, @@ -6041,7 +6041,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jenny5[] = { { .iv = 0, .lvl = 45, @@ -6059,7 +6059,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny5[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Heidi[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Heidi[] = { { .iv = 0, .lvl = 22, @@ -6074,7 +6074,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Heidi[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Becky[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Becky[] = { { .iv = 0, .lvl = 22, @@ -6089,7 +6089,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Becky[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Carol[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Carol[] = { { .iv = 0, .lvl = 17, @@ -6102,7 +6102,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Carol[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nancy[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Nancy[] = { { .iv = 0, .lvl = 18, @@ -6115,7 +6115,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nancy[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Martha[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Martha[] = { { .iv = 0, .lvl = 23, @@ -6128,7 +6128,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Martha[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Diana1[] = { { .iv = 0, .lvl = 19, @@ -6146,7 +6146,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana1[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Cedric[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Cedric[] = { { .iv = 0, .lvl = 32, @@ -6155,7 +6155,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Cedric[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Irene[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Irene[] = { { .iv = 0, .lvl = 17, @@ -6168,7 +6168,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Irene[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Diana2[] = { { .iv = 10, .lvl = 25, @@ -6186,7 +6186,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Diana3[] = { { .iv = 20, .lvl = 28, @@ -6204,7 +6204,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Diana4[] = { { .iv = 30, .lvl = 31, @@ -6222,7 +6222,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Diana5[] = { { .iv = 40, .lvl = 40, @@ -6240,7 +6240,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_AmyAndLiv1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_AmyAndLiv1[] = { { .iv = 0, .lvl = 15, @@ -6253,7 +6253,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_AmyAndLiv1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_AmyAndLiv2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_AmyAndLiv2[] = { { .iv = 10, .lvl = 27, @@ -6266,7 +6266,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_AmyAndLiv2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_GinaAndMia1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GinaAndMia1[] = { { .iv = 0, .lvl = 6, @@ -6279,7 +6279,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_GinaAndMia1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_MiuAndYuki[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_MiuAndYuki[] = { { .iv = 0, .lvl = 26, @@ -6292,7 +6292,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_MiuAndYuki[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_AmyAndLiv3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_AmyAndLiv3[] = { { .iv = 0, .lvl = 9, @@ -6305,7 +6305,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_AmyAndLiv3[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_GinaAndMia2[] = { +static const struct TrainerMonNoItemCustomMoves sParty_GinaAndMia2[] = { { .iv = 0, .lvl = 10, @@ -6320,7 +6320,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_GinaAndMia2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_AmyAndLiv4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_AmyAndLiv4[] = { { .iv = 20, .lvl = 30, @@ -6333,7 +6333,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_AmyAndLiv4[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_AmyAndLiv5[] = { +static const struct TrainerMonNoItemCustomMoves sParty_AmyAndLiv5[] = { { .iv = 30, .lvl = 33, @@ -6348,7 +6348,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_AmyAndLiv5[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_AmyAndLiv6[] = { +static const struct TrainerMonNoItemCustomMoves sParty_AmyAndLiv6[] = { { .iv = 40, .lvl = 36, @@ -6363,7 +6363,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_AmyAndLiv6[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Huey[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Huey[] = { { .iv = 10, .lvl = 12, @@ -6376,7 +6376,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Huey[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edmond[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Edmond[] = { { .iv = 0, .lvl = 13, @@ -6384,7 +6384,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edmond[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ernest1[] = { { .iv = 0, .lvl = 33, @@ -6397,7 +6397,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dwayne[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dwayne[] = { { .iv = 0, .lvl = 11, @@ -6415,7 +6415,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dwayne[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Phillip[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Phillip[] = { { .iv = 0, .lvl = 44, @@ -6428,7 +6428,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Phillip[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leonard[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Leonard[] = { { .iv = 0, .lvl = 43, @@ -6446,7 +6446,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leonard[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Duncan[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Duncan[] = { { .iv = 0, .lvl = 25, @@ -6459,7 +6459,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Duncan[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ernest2[] = { { .iv = 10, .lvl = 36, @@ -6477,7 +6477,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ernest3[] = { { .iv = 20, .lvl = 39, @@ -6495,7 +6495,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ernest4[] = { { .iv = 30, .lvl = 42, @@ -6513,7 +6513,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ernest5[] = { { .iv = 40, .lvl = 45, @@ -6531,7 +6531,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Eli[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Eli[] = { { .iv = 100, .lvl = 23, @@ -6539,7 +6539,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Eli[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Annika[] = { +static const struct TrainerMonItemCustomMoves sParty_Annika[] = { { .iv = 100, .lvl = 39, @@ -6556,7 +6556,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Annika[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jazmyn[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jazmyn[] = { { .iv = 0, .lvl = 27, @@ -6564,7 +6564,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jazmyn[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Jonas[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Jonas[] = { { .iv = 0, .lvl = 31, @@ -6573,7 +6573,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Jonas[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Kayley[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Kayley[] = { { .iv = 0, .lvl = 31, @@ -6582,7 +6582,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Kayley[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Auron[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Auron[] = { { .iv = 0, .lvl = 33, @@ -6595,7 +6595,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Auron[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kelvin[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Kelvin[] = { { .iv = 150, .lvl = 33, @@ -6608,7 +6608,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kelvin[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Marley[] = { +static const struct TrainerMonItemCustomMoves sParty_Marley[] = { { .iv = 255, .lvl = 34, @@ -6618,7 +6618,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Marley[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Reyna[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Reyna[] = { { .iv = 50, .lvl = 33, @@ -6631,7 +6631,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Reyna[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hudson[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Hudson[] = { { .iv = 0, .lvl = 34, @@ -6639,7 +6639,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hudson[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Conor[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Conor[] = { { .iv = 0, .lvl = 33, @@ -6652,7 +6652,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Conor[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Edwin1[] = { { .iv = 0, .lvl = 14, @@ -6665,7 +6665,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hector[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Hector[] = { { .iv = 0, .lvl = 18, @@ -6678,7 +6678,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hector[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tabitha1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tabitha1[] = { { .iv = 100, .lvl = 36, @@ -6696,7 +6696,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tabitha1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Edwin2[] = { { .iv = 0, .lvl = 26, @@ -6709,7 +6709,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Edwin3[] = { { .iv = 0, .lvl = 29, @@ -6722,7 +6722,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Edwin4[] = { { .iv = 0, .lvl = 32, @@ -6735,7 +6735,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Edwin5[] = { { .iv = 0, .lvl = 35, @@ -6748,7 +6748,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin5[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally1[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Wally1[] = { { .iv = 150, .lvl = 44, @@ -6781,7 +6781,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan1[] = { { .iv = 0, .lvl = 5, @@ -6789,7 +6789,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan2[] = { { .iv = 50, .lvl = 18, @@ -6807,7 +6807,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan3[] = { { .iv = 100, .lvl = 29, @@ -6825,7 +6825,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan4[] = { { .iv = 0, .lvl = 5, @@ -6833,7 +6833,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan5[] = { { .iv = 50, .lvl = 18, @@ -6851,7 +6851,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan6[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan6[] = { { .iv = 100, .lvl = 29, @@ -6869,7 +6869,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan6[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan7[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan7[] = { { .iv = 0, .lvl = 5, @@ -6877,7 +6877,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan7[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan8[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan8[] = { { .iv = 50, .lvl = 18, @@ -6895,7 +6895,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan8[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan9[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan9[] = { { .iv = 100, .lvl = 29, @@ -6913,7 +6913,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan9[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May1[] = { { .iv = 0, .lvl = 5, @@ -6921,7 +6921,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May2[] = { { .iv = 50, .lvl = 18, @@ -6939,7 +6939,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May3[] = { { .iv = 100, .lvl = 29, @@ -6957,7 +6957,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May4[] = { { .iv = 0, .lvl = 5, @@ -6965,7 +6965,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May5[] = { { .iv = 50, .lvl = 18, @@ -6983,7 +6983,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May6[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May6[] = { { .iv = 100, .lvl = 29, @@ -7001,7 +7001,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May6[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May7[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May7[] = { { .iv = 0, .lvl = 5, @@ -7009,7 +7009,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May7[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May8[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May8[] = { { .iv = 50, .lvl = 18, @@ -7027,7 +7027,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May8[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May9[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May9[] = { { .iv = 100, .lvl = 29, @@ -7045,7 +7045,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May9[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Isaac1[] = { { .iv = 0, .lvl = 11, @@ -7078,7 +7078,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Davis[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Davis[] = { { .iv = 0, .lvl = 27, @@ -7086,7 +7086,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Davis[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Mitchell[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Mitchell[] = { { .iv = 0, .lvl = 43, @@ -7101,7 +7101,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Mitchell[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Isaac2[] = { { .iv = 10, .lvl = 22, @@ -7134,7 +7134,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Isaac3[] = { { .iv = 20, .lvl = 25, @@ -7167,7 +7167,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Isaac4[] = { { .iv = 30, .lvl = 28, @@ -7200,7 +7200,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Isaac5[] = { { .iv = 40, .lvl = 31, @@ -7233,7 +7233,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lydia1[] = { { .iv = 0, .lvl = 11, @@ -7266,7 +7266,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Halle[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Halle[] = { { .iv = 0, .lvl = 43, @@ -7279,7 +7279,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Halle[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Garrison[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Garrison[] = { { .iv = 0, .lvl = 26, @@ -7287,7 +7287,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Garrison[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lydia2[] = { { .iv = 10, .lvl = 22, @@ -7320,7 +7320,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lydia3[] = { { .iv = 20, .lvl = 25, @@ -7353,7 +7353,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lydia4[] = { { .iv = 30, .lvl = 28, @@ -7386,7 +7386,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lydia5[] = { { .iv = 40, .lvl = 31, @@ -7419,7 +7419,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jackson1[] = { { .iv = 50, .lvl = 27, @@ -7427,7 +7427,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lorenzo[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lorenzo[] = { { .iv = 50, .lvl = 28, @@ -7445,7 +7445,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lorenzo[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sebastian[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Sebastian[] = { { .iv = 50, .lvl = 39, @@ -7453,7 +7453,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sebastian[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jackson2[] = { { .iv = 60, .lvl = 31, @@ -7461,7 +7461,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jackson3[] = { { .iv = 70, .lvl = 34, @@ -7469,7 +7469,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jackson4[] = { { .iv = 80, .lvl = 37, @@ -7477,7 +7477,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jackson5[] = { { .iv = 90, .lvl = 39, @@ -7490,7 +7490,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Catherine1[] = { { .iv = 50, .lvl = 26, @@ -7503,7 +7503,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenna[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jenna[] = { { .iv = 50, .lvl = 28, @@ -7521,7 +7521,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenna[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sophia[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Sophia[] = { { .iv = 50, .lvl = 38, @@ -7534,7 +7534,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sophia[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Catherine2[] = { { .iv = 60, .lvl = 30, @@ -7547,7 +7547,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Catherine3[] = { { .iv = 70, .lvl = 33, @@ -7560,7 +7560,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Catherine4[] = { { .iv = 80, .lvl = 36, @@ -7573,7 +7573,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Catherine5[] = { { .iv = 90, .lvl = 39, @@ -7586,7 +7586,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Julio[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Julio[] = { { .iv = 0, .lvl = 21, @@ -7594,7 +7594,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Julio[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt27[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt27[] = { { .iv = 50, .lvl = 35, @@ -7607,7 +7607,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt27[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt28[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt28[] = { { .iv = 0, .lvl = 31, @@ -7620,7 +7620,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt28[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt29[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt29[] = { { .iv = 0, .lvl = 30, @@ -7633,7 +7633,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt29[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt30[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt30[] = { { .iv = 50, .lvl = 22, @@ -7646,7 +7646,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt30[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Marc[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Marc[] = { { .iv = 120, .lvl = 8, @@ -7659,7 +7659,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Marc[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brenden[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brenden[] = { { .iv = 100, .lvl = 13, @@ -7667,7 +7667,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brenden[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lilith[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lilith[] = { { .iv = 150, .lvl = 13, @@ -7675,7 +7675,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lilith[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristian[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cristian[] = { { .iv = 200, .lvl = 13, @@ -7683,7 +7683,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristian[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sylvia[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Sylvia[] = { { .iv = 100, .lvl = 36, @@ -7691,7 +7691,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sylvia[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leonardo[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Leonardo[] = { { .iv = 0, .lvl = 34, @@ -7699,7 +7699,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leonardo[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Athena[] = { +static const struct TrainerMonItemCustomMoves sParty_Athena[] = { { .iv = 100, .lvl = 32, @@ -7716,7 +7716,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Athena[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Harrison[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Harrison[] = { { .iv = 0, .lvl = 35, @@ -7724,7 +7724,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Harrison[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt31[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt31[] = { { .iv = 0, .lvl = 20, @@ -7732,7 +7732,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt31[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Clarence[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Clarence[] = { { .iv = 0, .lvl = 34, @@ -7740,7 +7740,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Clarence[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Terry[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Terry[] = { { .iv = 0, .lvl = 37, @@ -7748,7 +7748,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Terry[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nate[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Nate[] = { { .iv = 100, .lvl = 36, @@ -7756,7 +7756,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nate[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kathleen[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Kathleen[] = { { .iv = 100, .lvl = 36, @@ -7764,7 +7764,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kathleen[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Clifford[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Clifford[] = { { .iv = 0, .lvl = 36, @@ -7772,7 +7772,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Clifford[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicholas[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Nicholas[] = { { .iv = 0, .lvl = 36, @@ -7780,7 +7780,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicholas[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt32[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt32[] = { { .iv = 0, .lvl = 31, @@ -7793,7 +7793,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt32[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt33[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt33[] = { { .iv = 0, .lvl = 32, @@ -7801,7 +7801,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt33[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt34[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt34[] = { { .iv = 0, .lvl = 32, @@ -7809,7 +7809,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt34[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt35[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt35[] = { { .iv = 0, .lvl = 32, @@ -7817,7 +7817,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt35[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt36[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt36[] = { { .iv = 0, .lvl = 32, @@ -7825,7 +7825,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt36[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Macey[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Macey[] = { { .iv = 0, .lvl = 36, @@ -7833,7 +7833,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Macey[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan10[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan10[] = { { .iv = 25, .lvl = 13, @@ -7846,7 +7846,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan10[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan11[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan11[] = { { .iv = 25, .lvl = 13, @@ -7859,7 +7859,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan11[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Paxton[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Paxton[] = { { .iv = 0, .lvl = 33, @@ -7872,7 +7872,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Paxton[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isabella[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Isabella[] = { { .iv = 0, .lvl = 34, @@ -7880,7 +7880,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isabella[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt37[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt37[] = { { .iv = 0, .lvl = 27, @@ -7893,7 +7893,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt37[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tabitha2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tabitha2[] = { { .iv = 50, .lvl = 18, @@ -7916,7 +7916,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tabitha2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jonathan[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jonathan[] = { { .iv = 0, .lvl = 33, @@ -7929,7 +7929,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jonathan[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan12[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan12[] = { { .iv = 25, .lvl = 13, @@ -7942,7 +7942,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan12[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May10[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May10[] = { { .iv = 25, .lvl = 13, @@ -7955,7 +7955,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May10[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maxie1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Maxie1[] = { { .iv = 150, .lvl = 37, @@ -7973,7 +7973,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maxie1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maxie2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Maxie2[] = { { .iv = 150, .lvl = 24, @@ -7991,7 +7991,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maxie2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tiana[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tiana[] = { { .iv = 0, .lvl = 4, @@ -8004,7 +8004,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tiana[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Haley1[] = { { .iv = 0, .lvl = 6, @@ -8017,7 +8017,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Janice[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Janice[] = { { .iv = 0, .lvl = 9, @@ -8025,7 +8025,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Janice[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Vivi[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Vivi[] = { { .iv = 100, .lvl = 15, @@ -8043,7 +8043,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Vivi[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Haley2[] = { { .iv = 10, .lvl = 26, @@ -8056,7 +8056,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Haley3[] = { { .iv = 20, .lvl = 29, @@ -8069,7 +8069,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Haley4[] = { { .iv = 30, .lvl = 32, @@ -8082,7 +8082,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Haley5[] = { { .iv = 40, .lvl = 34, @@ -8100,7 +8100,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sally[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Sally[] = { { .iv = 0, .lvl = 16, @@ -8108,7 +8108,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sally[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robin[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Robin[] = { { .iv = 0, .lvl = 14, @@ -8126,7 +8126,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robin[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andrea[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Andrea[] = { { .iv = 100, .lvl = 40, @@ -8134,7 +8134,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andrea[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Crissy[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Crissy[] = { { .iv = 100, .lvl = 39, @@ -8147,7 +8147,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Crissy[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rick[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Rick[] = { { .iv = 0, .lvl = 4, @@ -8160,7 +8160,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rick[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lyle[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lyle[] = { { .iv = 0, .lvl = 3, @@ -8183,7 +8183,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lyle[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jose[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jose[] = { { .iv = 50, .lvl = 8, @@ -8196,7 +8196,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jose[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Doug[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Doug[] = { { .iv = 0, .lvl = 28, @@ -8209,7 +8209,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Doug[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Greg[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Greg[] = { { .iv = 0, .lvl = 25, @@ -8222,7 +8222,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Greg[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kent[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Kent[] = { { .iv = 0, .lvl = 25, @@ -8230,7 +8230,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kent[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_James1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_James1[] = { { .iv = 0, .lvl = 6, @@ -8243,7 +8243,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_James1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_James2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_James2[] = { { .iv = 10, .lvl = 27, @@ -8251,7 +8251,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_James2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_James3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_James3[] = { { .iv = 20, .lvl = 29, @@ -8264,7 +8264,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_James3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_James4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_James4[] = { { .iv = 30, .lvl = 31, @@ -8282,7 +8282,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_James4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_James5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_James5[] = { { .iv = 40, .lvl = 33, @@ -8305,7 +8305,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_James5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brice[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brice[] = { { .iv = 0, .lvl = 17, @@ -8318,7 +8318,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brice[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Trent1[] = { { .iv = 0, .lvl = 16, @@ -8336,7 +8336,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lenny[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lenny[] = { { .iv = 0, .lvl = 18, @@ -8349,7 +8349,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lenny[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lucas1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lucas1[] = { { .iv = 0, .lvl = 18, @@ -8362,7 +8362,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lucas1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alan[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Alan[] = { { .iv = 0, .lvl = 22, @@ -8380,7 +8380,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alan[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Clark[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Clark[] = { { .iv = 0, .lvl = 8, @@ -8388,7 +8388,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Clark[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Eric[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Eric[] = { { .iv = 0, .lvl = 20, @@ -8401,7 +8401,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Eric[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Lucas2[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Lucas2[] = { { .iv = 0, .lvl = 9, @@ -8410,7 +8410,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Lucas2[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Mike1[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Mike1[] = { { .iv = 0, .lvl = 10, @@ -8425,7 +8425,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Mike1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mike2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Mike2[] = { { .iv = 0, .lvl = 16, @@ -8443,7 +8443,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mike2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Trent2[] = { { .iv = 10, .lvl = 24, @@ -8466,7 +8466,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Trent3[] = { { .iv = 20, .lvl = 27, @@ -8489,7 +8489,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Trent4[] = { { .iv = 30, .lvl = 30, @@ -8512,7 +8512,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Trent5[] = { { .iv = 40, .lvl = 33, @@ -8535,7 +8535,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_DezAndLuke[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_DezAndLuke[] = { { .iv = 0, .lvl = 31, @@ -8548,7 +8548,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_DezAndLuke[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_LeaAndJed[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_LeaAndJed[] = { { .iv = 0, .lvl = 45, @@ -8561,7 +8561,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_LeaAndJed[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_KiraAndDan1[] = { { .iv = 0, .lvl = 25, @@ -8574,7 +8574,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_KiraAndDan2[] = { { .iv = 10, .lvl = 30, @@ -8587,7 +8587,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_KiraAndDan3[] = { { .iv = 20, .lvl = 33, @@ -8600,7 +8600,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_KiraAndDan4[] = { { .iv = 30, .lvl = 36, @@ -8613,7 +8613,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_KiraAndDan5[] = { { .iv = 40, .lvl = 39, @@ -8626,7 +8626,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Johanna[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Johanna[] = { { .iv = 0, .lvl = 13, @@ -8634,7 +8634,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Johanna[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Gerald[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Gerald[] = { { .iv = 100, .lvl = 23, @@ -8643,7 +8643,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Gerald[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Vivian[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Vivian[] = { { .iv = 100, .lvl = 17, @@ -8658,7 +8658,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Vivian[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Danielle[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Danielle[] = { { .iv = 100, .lvl = 23, @@ -8667,7 +8667,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Danielle[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Hideo[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Hideo[] = { { .iv = 0, .lvl = 25, @@ -8682,7 +8682,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Hideo[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Keigo[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Keigo[] = { { .iv = 0, .lvl = 28, @@ -8697,7 +8697,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Keigo[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Riley[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Riley[] = { { .iv = 0, .lvl = 28, @@ -8712,7 +8712,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Riley[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Flint[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Flint[] = { { .iv = 150, .lvl = 29, @@ -8725,7 +8725,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Flint[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ashley[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ashley[] = { { .iv = 100, .lvl = 27, @@ -8743,7 +8743,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ashley[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wally2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Wally2[] = { { .iv = 30, .lvl = 16, @@ -8751,7 +8751,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wally2[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally3[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Wally3[] = { { .iv = 150, .lvl = 47, @@ -8784,7 +8784,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally3[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally4[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Wally4[] = { { .iv = 150, .lvl = 50, @@ -8817,7 +8817,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally4[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally5[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Wally5[] = { { .iv = 150, .lvl = 53, @@ -8850,7 +8850,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally5[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally6[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Wally6[] = { { .iv = 150, .lvl = 56, @@ -8883,7 +8883,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally6[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan13[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan13[] = { { .iv = 150, .lvl = 31, @@ -8906,7 +8906,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan13[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan14[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan14[] = { { .iv = 150, .lvl = 31, @@ -8929,7 +8929,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan14[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan15[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan15[] = { { .iv = 150, .lvl = 31, @@ -8952,7 +8952,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan15[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May11[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May11[] = { { .iv = 150, .lvl = 31, @@ -8975,7 +8975,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May11[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May12[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May12[] = { { .iv = 150, .lvl = 31, @@ -8998,7 +8998,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May12[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May13[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May13[] = { { .iv = 150, .lvl = 31, @@ -9021,7 +9021,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May13[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jonah[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jonah[] = { { .iv = 0, .lvl = 30, @@ -9039,7 +9039,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jonah[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Henry[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Henry[] = { { .iv = 0, .lvl = 31, @@ -9052,7 +9052,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Henry[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Roger[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Roger[] = { { .iv = 0, .lvl = 15, @@ -9070,7 +9070,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Roger[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alexa[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Alexa[] = { { .iv = 100, .lvl = 34, @@ -9083,7 +9083,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alexa[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ruben[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ruben[] = { { .iv = 100, .lvl = 34, @@ -9096,7 +9096,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ruben[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Koji1[] = { { .iv = 0, .lvl = 34, @@ -9104,7 +9104,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wayne[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Wayne[] = { { .iv = 0, .lvl = 31, @@ -9122,7 +9122,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wayne[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Aidan[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Aidan[] = { { .iv = 0, .lvl = 32, @@ -9135,7 +9135,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Aidan[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Reed[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Reed[] = { { .iv = 0, .lvl = 33, @@ -9148,7 +9148,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Reed[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tisha[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tisha[] = { { .iv = 0, .lvl = 34, @@ -9156,7 +9156,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tisha[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_ToriAndTia[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_ToriAndTia[] = { { .iv = 0, .lvl = 19, @@ -9169,7 +9169,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_ToriAndTia[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_KimAndIris[] = { +static const struct TrainerMonNoItemCustomMoves sParty_KimAndIris[] = { { .iv = 0, .lvl = 32, @@ -9184,7 +9184,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_KimAndIris[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_TyraAndIvy[] = { +static const struct TrainerMonNoItemCustomMoves sParty_TyraAndIvy[] = { { .iv = 0, .lvl = 18, @@ -9199,7 +9199,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_TyraAndIvy[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_MelAndPaul[] = { +static const struct TrainerMonNoItemCustomMoves sParty_MelAndPaul[] = { { .iv = 0, .lvl = 27, @@ -9214,7 +9214,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_MelAndPaul[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay1[] = { +static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay1[] = { { .iv = 200, .lvl = 39, @@ -9229,7 +9229,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay1[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay2[] = { +static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay2[] = { { .iv = 210, .lvl = 43, @@ -9244,7 +9244,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay2[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay3[] = { +static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay3[] = { { .iv = 220, .lvl = 46, @@ -9259,7 +9259,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay3[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay4[] = { +static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay4[] = { { .iv = 230, .lvl = 49, @@ -9274,7 +9274,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay4[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay5[] = { +static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay5[] = { { .iv = 240, .lvl = 52, @@ -9289,7 +9289,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_ReliAndIan[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_ReliAndIan[] = { { .iv = 0, .lvl = 35, @@ -9302,7 +9302,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_ReliAndIan[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_LilaAndRoy1[] = { { .iv = 0, .lvl = 34, @@ -9315,7 +9315,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_LilaAndRoy2[] = { { .iv = 0, .lvl = 42, @@ -9328,7 +9328,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_LilaAndRoy3[] = { { .iv = 0, .lvl = 45, @@ -9341,7 +9341,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_LilaAndRoy4[] = { { .iv = 0, .lvl = 48, @@ -9354,7 +9354,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_LilaAndRoy5[] = { { .iv = 0, .lvl = 51, @@ -9367,7 +9367,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_LisaAndRay[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_LisaAndRay[] = { { .iv = 0, .lvl = 27, @@ -9380,7 +9380,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_LisaAndRay[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chris[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Chris[] = { { .iv = 0, .lvl = 29, @@ -9403,7 +9403,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chris[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Dawson[] = { +static const struct TrainerMonItemDefaultMoves sParty_Dawson[] = { { .iv = 0, .lvl = 8, @@ -9418,7 +9418,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Dawson[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Sarah[] = { +static const struct TrainerMonItemDefaultMoves sParty_Sarah[] = { { .iv = 0, .lvl = 8, @@ -9433,7 +9433,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Sarah[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Darian[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Darian[] = { { .iv = 0, .lvl = 9, @@ -9441,7 +9441,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Darian[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hailey[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Hailey[] = { { .iv = 0, .lvl = 13, @@ -9449,7 +9449,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hailey[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chandler[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Chandler[] = { { .iv = 0, .lvl = 12, @@ -9462,7 +9462,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chandler[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Kaleb[] = { +static const struct TrainerMonItemDefaultMoves sParty_Kaleb[] = { { .iv = 0, .lvl = 14, @@ -9477,7 +9477,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Kaleb[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Joseph[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Joseph[] = { { .iv = 0, .lvl = 14, @@ -9490,7 +9490,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Joseph[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alyssa[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Alyssa[] = { { .iv = 0, .lvl = 15, @@ -9498,7 +9498,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alyssa[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Marcos[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Marcos[] = { { .iv = 100, .lvl = 15, @@ -9506,7 +9506,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Marcos[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rhett[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Rhett[] = { { .iv = 100, .lvl = 15, @@ -9514,7 +9514,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rhett[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tyron[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tyron[] = { { .iv = 0, .lvl = 19, @@ -9522,7 +9522,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tyron[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Celina[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Celina[] = { { .iv = 0, .lvl = 18, @@ -9530,7 +9530,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Celina[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bianca[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Bianca[] = { { .iv = 0, .lvl = 18, @@ -9538,7 +9538,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bianca[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hayden[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Hayden[] = { { .iv = 0, .lvl = 18, @@ -9546,7 +9546,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hayden[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sophie[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Sophie[] = { { .iv = 0, .lvl = 17, @@ -9559,7 +9559,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sophie[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Coby[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Coby[] = { { .iv = 0, .lvl = 17, @@ -9572,7 +9572,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Coby[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lawrence[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lawrence[] = { { .iv = 0, .lvl = 18, @@ -9585,7 +9585,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lawrence[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wyatt[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Wyatt[] = { { .iv = 0, .lvl = 18, @@ -9598,7 +9598,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wyatt[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Angelina[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Angelina[] = { { .iv = 0, .lvl = 18, @@ -9611,7 +9611,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Angelina[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kai[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Kai[] = { { .iv = 0, .lvl = 19, @@ -9619,7 +9619,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kai[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Charlotte[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Charlotte[] = { { .iv = 0, .lvl = 19, @@ -9627,7 +9627,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Charlotte[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Deandre[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Deandre[] = { { .iv = 0, .lvl = 14, @@ -9645,7 +9645,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Deandre[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt38[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt38[] = { { .iv = 0, .lvl = 29, @@ -9653,7 +9653,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt38[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt39[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt39[] = { { .iv = 0, .lvl = 29, @@ -9661,7 +9661,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt39[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt40[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt40[] = { { .iv = 0, .lvl = 29, @@ -9669,7 +9669,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt40[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt41[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt41[] = { { .iv = 0, .lvl = 28, @@ -9682,7 +9682,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt41[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt42[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt42[] = { { .iv = 0, .lvl = 28, @@ -9695,7 +9695,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt42[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt43[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt43[] = { { .iv = 0, .lvl = 29, @@ -9703,7 +9703,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt43[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt44[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt44[] = { { .iv = 0, .lvl = 29, @@ -9711,7 +9711,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt44[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt45[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt45[] = { { .iv = 0, .lvl = 29, @@ -9719,7 +9719,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt45[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt46[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt46[] = { { .iv = 0, .lvl = 29, @@ -9727,7 +9727,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt46[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt47[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt47[] = { { .iv = 0, .lvl = 29, @@ -9735,7 +9735,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt47[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt48[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt48[] = { { .iv = 0, .lvl = 29, @@ -9743,7 +9743,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt48[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt49[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt49[] = { { .iv = 0, .lvl = 29, @@ -9751,7 +9751,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt49[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt50[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt50[] = { { .iv = 0, .lvl = 29, @@ -9759,7 +9759,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt50[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt51[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt51[] = { { .iv = 0, .lvl = 29, @@ -9767,7 +9767,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt51[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt52[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt52[] = { { .iv = 0, .lvl = 29, @@ -9775,7 +9775,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt52[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt53[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt53[] = { { .iv = 0, .lvl = 29, @@ -9783,7 +9783,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt53[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tabitha3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tabitha3[] = { { .iv = 75, .lvl = 26, @@ -9806,7 +9806,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tabitha3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Darcy[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Darcy[] = { { .iv = 0, .lvl = 33, @@ -9819,7 +9819,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Darcy[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maxie3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Maxie3[] = { { .iv = 150, .lvl = 42, @@ -9837,7 +9837,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maxie3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pete[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Pete[] = { { .iv = 0, .lvl = 15, @@ -9845,7 +9845,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pete[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isabelle[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Isabelle[] = { { .iv = 0, .lvl = 15, @@ -9853,7 +9853,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isabelle[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Andres1[] = { { .iv = 50, .lvl = 25, @@ -9866,7 +9866,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Josue[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Josue[] = { { .iv = 50, .lvl = 25, @@ -9879,7 +9879,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Josue[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Camron[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Camron[] = { { .iv = 0, .lvl = 26, @@ -9887,7 +9887,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Camron[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cory1[] = { { .iv = 0, .lvl = 24, @@ -9905,7 +9905,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Carolina[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Carolina[] = { { .iv = 50, .lvl = 24, @@ -9923,7 +9923,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Carolina[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elijah[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Elijah[] = { { .iv = 0, .lvl = 25, @@ -9936,7 +9936,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elijah[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Celia[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Celia[] = { { .iv = 0, .lvl = 22, @@ -9949,7 +9949,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Celia[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bryan[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Bryan[] = { { .iv = 0, .lvl = 22, @@ -9962,7 +9962,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bryan[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Branden[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Branden[] = { { .iv = 0, .lvl = 22, @@ -9975,7 +9975,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Branden[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bryant[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Bryant[] = { { .iv = 0, .lvl = 18, @@ -9988,7 +9988,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bryant[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shayla[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Shayla[] = { { .iv = 0, .lvl = 18, @@ -10001,7 +10001,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shayla[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kyra[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Kyra[] = { { .iv = 0, .lvl = 26, @@ -10014,7 +10014,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kyra[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jaiden[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jaiden[] = { { .iv = 0, .lvl = 26, @@ -10027,7 +10027,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jaiden[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alix[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Alix[] = { { .iv = 0, .lvl = 26, @@ -10040,7 +10040,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alix[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Helene[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Helene[] = { { .iv = 0, .lvl = 26, @@ -10053,7 +10053,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Helene[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Marlene[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Marlene[] = { { .iv = 0, .lvl = 18, @@ -10066,7 +10066,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Marlene[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Devan[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Devan[] = { { .iv = 0, .lvl = 8, @@ -10079,7 +10079,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Devan[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Johnson[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Johnson[] = { { .iv = 0, .lvl = 8, @@ -10092,7 +10092,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Johnson[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Melina[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Melina[] = { { .iv = 0, .lvl = 17, @@ -10100,7 +10100,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Melina[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brandi[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brandi[] = { { .iv = 0, .lvl = 17, @@ -10108,7 +10108,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brandi[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Aisha[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Aisha[] = { { .iv = 0, .lvl = 17, @@ -10116,7 +10116,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Aisha[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Makayla[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Makayla[] = { { .iv = 0, .lvl = 33, @@ -10129,7 +10129,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Makayla[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fabian[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Fabian[] = { { .iv = 0, .lvl = 26, @@ -10137,7 +10137,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fabian[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dayton[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dayton[] = { { .iv = 0, .lvl = 25, @@ -10150,7 +10150,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dayton[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rachel[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Rachel[] = { { .iv = 0, .lvl = 26, @@ -10158,7 +10158,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rachel[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Leonel[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Leonel[] = { { .iv = 100, .lvl = 30, @@ -10167,7 +10167,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Leonel[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Callie[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Callie[] = { { .iv = 0, .lvl = 28, @@ -10180,7 +10180,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Callie[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cale[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cale[] = { { .iv = 0, .lvl = 29, @@ -10193,7 +10193,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cale[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Myles[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Myles[] = { { .iv = 10, .lvl = 25, @@ -10226,7 +10226,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Myles[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pat[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Pat[] = { { .iv = 10, .lvl = 25, @@ -10259,7 +10259,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pat[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cristin1[] = { { .iv = 100, .lvl = 29, @@ -10272,7 +10272,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May14[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May14[] = { { .iv = 25, .lvl = 13, @@ -10285,7 +10285,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May14[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May15[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May15[] = { { .iv = 25, .lvl = 13, @@ -10298,7 +10298,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May15[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne2[] = { +static const struct TrainerMonItemCustomMoves sParty_Roxanne2[] = { { .iv = 255, .lvl = 32, @@ -10329,7 +10329,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne2[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne3[] = { +static const struct TrainerMonItemCustomMoves sParty_Roxanne3[] = { { .iv = 255, .lvl = 37, @@ -10367,7 +10367,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne3[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne4[] = { +static const struct TrainerMonItemCustomMoves sParty_Roxanne4[] = { { .iv = 255, .lvl = 42, @@ -10405,7 +10405,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne4[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne5[] = { +static const struct TrainerMonItemCustomMoves sParty_Roxanne5[] = { { .iv = 255, .lvl = 47, @@ -10450,7 +10450,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne5[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Brawly2[] = { +static const struct TrainerMonItemCustomMoves sParty_Brawly2[] = { { .iv = 255, .lvl = 33, @@ -10481,7 +10481,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Brawly2[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Brawly3[] = { +static const struct TrainerMonItemCustomMoves sParty_Brawly3[] = { { .iv = 255, .lvl = 38, @@ -10512,7 +10512,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Brawly3[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Brawly4[] = { +static const struct TrainerMonItemCustomMoves sParty_Brawly4[] = { { .iv = 255, .lvl = 40, @@ -10550,7 +10550,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Brawly4[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Brawly5[] = { +static const struct TrainerMonItemCustomMoves sParty_Brawly5[] = { { .iv = 255, .lvl = 46, @@ -10595,7 +10595,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Brawly5[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Wattson2[] = { +static const struct TrainerMonItemCustomMoves sParty_Wattson2[] = { { .iv = 255, .lvl = 36, @@ -10626,7 +10626,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Wattson2[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Wattson3[] = { +static const struct TrainerMonItemCustomMoves sParty_Wattson3[] = { { .iv = 255, .lvl = 39, @@ -10664,7 +10664,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Wattson3[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Wattson4[] = { +static const struct TrainerMonItemCustomMoves sParty_Wattson4[] = { { .iv = 255, .lvl = 44, @@ -10702,7 +10702,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Wattson4[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Wattson5[] = { +static const struct TrainerMonItemCustomMoves sParty_Wattson5[] = { { .iv = 255, .lvl = 50, @@ -10747,7 +10747,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Wattson5[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Flannery2[] = { +static const struct TrainerMonItemCustomMoves sParty_Flannery2[] = { { .iv = 255, .lvl = 38, @@ -10778,7 +10778,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Flannery2[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Flannery3[] = { +static const struct TrainerMonItemCustomMoves sParty_Flannery3[] = { { .iv = 255, .lvl = 41, @@ -10816,7 +10816,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Flannery3[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Flannery4[] = { +static const struct TrainerMonItemCustomMoves sParty_Flannery4[] = { { .iv = 255, .lvl = 46, @@ -10861,7 +10861,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Flannery4[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Flannery5[] = { +static const struct TrainerMonItemCustomMoves sParty_Flannery5[] = { { .iv = 255, .lvl = 51, @@ -10906,7 +10906,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Flannery5[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Norman2[] = { +static const struct TrainerMonItemCustomMoves sParty_Norman2[] = { { .iv = 255, .lvl = 42, @@ -10937,7 +10937,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Norman2[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Norman3[] = { +static const struct TrainerMonItemCustomMoves sParty_Norman3[] = { { .iv = 255, .lvl = 47, @@ -10975,7 +10975,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Norman3[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Norman4[] = { +static const struct TrainerMonItemCustomMoves sParty_Norman4[] = { { .iv = 255, .lvl = 52, @@ -11013,7 +11013,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Norman4[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Norman5[] = { +static const struct TrainerMonItemCustomMoves sParty_Norman5[] = { { .iv = 255, .lvl = 57, @@ -11058,7 +11058,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Norman5[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Winona2[] = { +static const struct TrainerMonItemCustomMoves sParty_Winona2[] = { { .iv = 255, .lvl = 40, @@ -11096,7 +11096,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Winona2[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Winona3[] = { +static const struct TrainerMonItemCustomMoves sParty_Winona3[] = { { .iv = 255, .lvl = 43, @@ -11141,7 +11141,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Winona3[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Winona4[] = { +static const struct TrainerMonItemCustomMoves sParty_Winona4[] = { { .iv = 255, .lvl = 48, @@ -11186,7 +11186,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Winona4[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Winona5[] = { +static const struct TrainerMonItemCustomMoves sParty_Winona5[] = { { .iv = 255, .lvl = 53, @@ -11231,7 +11231,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Winona5[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza2[] = { +static const struct TrainerMonItemCustomMoves sParty_TateAndLiza2[] = { { .iv = 255, .lvl = 48, @@ -11269,7 +11269,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza2[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza3[] = { +static const struct TrainerMonItemCustomMoves sParty_TateAndLiza3[] = { { .iv = 255, .lvl = 53, @@ -11314,7 +11314,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza3[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza4[] = { +static const struct TrainerMonItemCustomMoves sParty_TateAndLiza4[] = { { .iv = 255, .lvl = 58, @@ -11359,7 +11359,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza4[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza5[] = { +static const struct TrainerMonItemCustomMoves sParty_TateAndLiza5[] = { { .iv = 255, .lvl = 63, @@ -11404,7 +11404,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza5[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Juan2[] = { +static const struct TrainerMonItemCustomMoves sParty_Juan2[] = { { .iv = 255, .lvl = 46, @@ -11442,7 +11442,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Juan2[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Juan3[] = { +static const struct TrainerMonItemCustomMoves sParty_Juan3[] = { { .iv = 255, .lvl = 50, @@ -11480,7 +11480,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Juan3[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Juan4[] = { +static const struct TrainerMonItemCustomMoves sParty_Juan4[] = { { .iv = 255, .lvl = 56, @@ -11525,7 +11525,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Juan4[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Juan5[] = { +static const struct TrainerMonItemCustomMoves sParty_Juan5[] = { { .iv = 255, .lvl = 61, @@ -11570,7 +11570,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Juan5[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Angelo[] = { +static const struct TrainerMonItemCustomMoves sParty_Angelo[] = { { .iv = 100, .lvl = 17, @@ -11587,7 +11587,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Angelo[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Darius[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Darius[] = { { .iv = 200, .lvl = 30, @@ -11595,7 +11595,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Darius[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Steven[] = { +static const struct TrainerMonItemCustomMoves sParty_Steven[] = { { .iv = 255, .lvl = 77, @@ -11640,7 +11640,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Steven[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Anabel[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Anabel[] = { { .iv = 0, .lvl = 5, @@ -11648,7 +11648,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Anabel[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tucker[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tucker[] = { { .iv = 0, .lvl = 5, @@ -11656,7 +11656,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tucker[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Spenser[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Spenser[] = { { .iv = 0, .lvl = 5, @@ -11664,7 +11664,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Spenser[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Greta[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Greta[] = { { .iv = 0, .lvl = 5, @@ -11672,7 +11672,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Greta[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Noland[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Noland[] = { { .iv = 0, .lvl = 5, @@ -11680,7 +11680,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Noland[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lucy[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lucy[] = { { .iv = 0, .lvl = 5, @@ -11688,7 +11688,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lucy[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brandon[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brandon[] = { { .iv = 0, .lvl = 5, @@ -11696,7 +11696,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brandon[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Andres2[] = { { .iv = 10, .lvl = 31, @@ -11709,7 +11709,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Andres3[] = { { .iv = 20, .lvl = 33, @@ -11727,7 +11727,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Andres4[] = { { .iv = 30, .lvl = 35, @@ -11745,7 +11745,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Andres5[] = { { .iv = 40, .lvl = 37, @@ -11763,7 +11763,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cory2[] = { { .iv = 10, .lvl = 30, @@ -11781,7 +11781,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cory3[] = { { .iv = 20, .lvl = 32, @@ -11799,7 +11799,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cory4[] = { { .iv = 30, .lvl = 34, @@ -11817,7 +11817,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cory5[] = { { .iv = 40, .lvl = 36, @@ -11835,7 +11835,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Pablo2[] = { { .iv = 10, .lvl = 37, @@ -11848,7 +11848,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Pablo3[] = { { .iv = 20, .lvl = 39, @@ -11866,7 +11866,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Pablo4[] = { { .iv = 30, .lvl = 41, @@ -11884,7 +11884,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Pablo5[] = { { .iv = 40, .lvl = 43, @@ -11902,7 +11902,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Koji2[] = { { .iv = 10, .lvl = 37, @@ -11915,7 +11915,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Koji3[] = { { .iv = 20, .lvl = 39, @@ -11933,7 +11933,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Koji4[] = { { .iv = 30, .lvl = 41, @@ -11951,7 +11951,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Koji5[] = { { .iv = 40, .lvl = 43, @@ -11969,7 +11969,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cristin2[] = { { .iv = 110, .lvl = 35, @@ -11982,7 +11982,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cristin3[] = { { .iv = 120, .lvl = 37, @@ -12000,7 +12000,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cristin4[] = { { .iv = 130, .lvl = 39, @@ -12018,7 +12018,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cristin5[] = { { .iv = 140, .lvl = 41, @@ -12036,7 +12036,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Fernando2[] = { { .iv = 10, .lvl = 35, @@ -12054,7 +12054,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Fernando3[] = { { .iv = 20, .lvl = 37, @@ -12072,7 +12072,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Fernando4[] = { { .iv = 30, .lvl = 39, @@ -12090,7 +12090,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Fernando5[] = { { .iv = 40, .lvl = 41, @@ -12108,7 +12108,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Sawyer2[] = { { .iv = 10, .lvl = 26, @@ -12121,7 +12121,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Sawyer3[] = { { .iv = 20, .lvl = 28, @@ -12139,7 +12139,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Sawyer4[] = { { .iv = 30, .lvl = 30, @@ -12157,7 +12157,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Sawyer5[] = { { .iv = 40, .lvl = 33, @@ -12175,7 +12175,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Gabrielle2[] = { { .iv = 10, .lvl = 31, @@ -12208,7 +12208,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Gabrielle3[] = { { .iv = 20, .lvl = 33, @@ -12241,7 +12241,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Gabrielle4[] = { { .iv = 30, .lvl = 35, @@ -12274,7 +12274,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Gabrielle5[] = { { .iv = 40, .lvl = 37, @@ -12307,7 +12307,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Thalia2[] = { { .iv = 10, .lvl = 34, @@ -12320,7 +12320,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Thalia3[] = { { .iv = 20, .lvl = 36, @@ -12338,7 +12338,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Thalia4[] = { { .iv = 30, .lvl = 38, @@ -12356,7 +12356,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Thalia5[] = { { .iv = 40, .lvl = 40, @@ -12374,7 +12374,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mariela[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Mariela[] = { { .iv = 0, .lvl = 41, @@ -12382,7 +12382,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mariela[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alvaro[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Alvaro[] = { { .iv = 0, .lvl = 41, @@ -12395,7 +12395,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alvaro[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Everett[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Everett[] = { { .iv = 0, .lvl = 41, @@ -12403,7 +12403,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Everett[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Red[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Red[] = { { .iv = 0, .lvl = 5, @@ -12411,7 +12411,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Red[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leaf[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Leaf[] = { { .iv = 0, .lvl = 5, @@ -12419,7 +12419,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leaf[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan16[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan16[] = { { .iv = 0, .lvl = 5, @@ -12427,7 +12427,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan16[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May16[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May16[] = { { .iv = 0, .lvl = 5, diff --git a/src/data/trainers.h b/src/data/trainers.h index 7ec297eb33..5a92926ccc 100644 --- a/src/data/trainers.h +++ b/src/data/trainers.h @@ -24,7 +24,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Sawyer1 } + .party = {.NoItemDefaultMoves = sParty_Sawyer1 } }, [TRAINER_GRUNT_1] = @@ -38,7 +38,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt1 } + .party = {.NoItemDefaultMoves = sParty_Grunt1 } }, [TRAINER_GRUNT_2] = @@ -52,7 +52,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt2 } + .party = {.NoItemDefaultMoves = sParty_Grunt2 } }, [TRAINER_GRUNT_3] = @@ -66,7 +66,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt3 } + .party = {.NoItemDefaultMoves = sParty_Grunt3 } }, [TRAINER_GRUNT_4] = @@ -80,7 +80,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt4 } + .party = {.NoItemDefaultMoves = sParty_Grunt4 } }, [TRAINER_GRUNT_5] = @@ -94,7 +94,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt5 } + .party = {.NoItemDefaultMoves = sParty_Grunt5 } }, [TRAINER_GRUNT_6] = @@ -108,7 +108,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt6 } + .party = {.NoItemDefaultMoves = sParty_Grunt6 } }, [TRAINER_GRUNT_7] = @@ -122,7 +122,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt7 } + .party = {.NoItemDefaultMoves = sParty_Grunt7 } }, [TRAINER_GABRIELLE_1] = @@ -136,7 +136,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Gabrielle1 } + .party = {.NoItemDefaultMoves = sParty_Gabrielle1 } }, [TRAINER_GRUNT_8] = @@ -150,7 +150,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt8 } + .party = {.NoItemDefaultMoves = sParty_Grunt8 } }, [TRAINER_MARCEL] = @@ -164,7 +164,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Marcel } + .party = {.NoItemDefaultMoves = sParty_Marcel } }, [TRAINER_ALBERTO] = @@ -178,7 +178,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Alberto } + .party = {.NoItemDefaultMoves = sParty_Alberto } }, [TRAINER_ED] = @@ -192,7 +192,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Ed } + .party = {.NoItemDefaultMoves = sParty_Ed } }, [TRAINER_GRUNT_9] = @@ -206,7 +206,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt9 } + .party = {.NoItemDefaultMoves = sParty_Grunt9 } }, [TRAINER_DECLAN] = @@ -220,7 +220,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Declan } + .party = {.NoItemDefaultMoves = sParty_Declan } }, [TRAINER_GRUNT_10] = @@ -234,7 +234,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt10 } + .party = {.NoItemDefaultMoves = sParty_Grunt10 } }, [TRAINER_GRUNT_11] = @@ -248,7 +248,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt11 } + .party = {.NoItemDefaultMoves = sParty_Grunt11 } }, [TRAINER_GRUNT_12] = @@ -262,7 +262,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt12 } + .party = {.NoItemDefaultMoves = sParty_Grunt12 } }, [TRAINER_GRUNT_13] = @@ -276,7 +276,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt13 } + .party = {.NoItemDefaultMoves = sParty_Grunt13 } }, [TRAINER_GRUNT_14] = @@ -290,7 +290,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt14 } + .party = {.NoItemDefaultMoves = sParty_Grunt14 } }, [TRAINER_GRUNT_15] = @@ -304,7 +304,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt15 } + .party = {.NoItemDefaultMoves = sParty_Grunt15 } }, [TRAINER_GRUNT_16] = @@ -318,7 +318,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt16 } + .party = {.NoItemDefaultMoves = sParty_Grunt16 } }, [TRAINER_GRUNT_17] = @@ -332,7 +332,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt17 } + .party = {.NoItemDefaultMoves = sParty_Grunt17 } }, [TRAINER_GRUNT_18] = @@ -346,7 +346,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt18 } + .party = {.NoItemDefaultMoves = sParty_Grunt18 } }, [TRAINER_GRUNT_19] = @@ -360,7 +360,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt19 } + .party = {.NoItemDefaultMoves = sParty_Grunt19 } }, [TRAINER_GRUNT_20] = @@ -374,7 +374,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt20 } + .party = {.NoItemDefaultMoves = sParty_Grunt20 } }, [TRAINER_GRUNT_21] = @@ -388,7 +388,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt21 } + .party = {.NoItemDefaultMoves = sParty_Grunt21 } }, [TRAINER_GRUNT_22] = @@ -402,7 +402,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt22 } + .party = {.NoItemDefaultMoves = sParty_Grunt22 } }, [TRAINER_FREDRICK] = @@ -416,7 +416,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Fredrick } + .party = {.NoItemDefaultMoves = sParty_Fredrick } }, [TRAINER_MATT] = @@ -430,7 +430,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Matt } + .party = {.NoItemDefaultMoves = sParty_Matt } }, [TRAINER_ZANDER] = @@ -444,7 +444,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Zander } + .party = {.NoItemDefaultMoves = sParty_Zander } }, [TRAINER_SHELLY_1] = @@ -458,7 +458,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Shelly1 } + .party = {.NoItemDefaultMoves = sParty_Shelly1 } }, [TRAINER_SHELLY_2] = @@ -472,7 +472,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Shelly2 } + .party = {.NoItemDefaultMoves = sParty_Shelly2 } }, [TRAINER_ARCHIE] = @@ -486,7 +486,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Archie } + .party = {.NoItemDefaultMoves = sParty_Archie } }, [TRAINER_LEAH] = @@ -500,7 +500,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Leah } + .party = {.NoItemDefaultMoves = sParty_Leah } }, [TRAINER_DAISY] = @@ -514,7 +514,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Daisy } + .party = {.NoItemDefaultMoves = sParty_Daisy } }, [TRAINER_ROSE_1] = @@ -528,7 +528,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Rose1 } + .party = {.NoItemDefaultMoves = sParty_Rose1 } }, [TRAINER_FELIX] = @@ -542,7 +542,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Felix } + .party = {.NoItemCustomMoves = sParty_Felix } }, [TRAINER_VIOLET] = @@ -556,7 +556,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Violet } + .party = {.NoItemDefaultMoves = sParty_Violet } }, [TRAINER_ROSE_2] = @@ -570,7 +570,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Rose2 } + .party = {.NoItemDefaultMoves = sParty_Rose2 } }, [TRAINER_ROSE_3] = @@ -584,7 +584,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Rose3 } + .party = {.NoItemDefaultMoves = sParty_Rose3 } }, [TRAINER_ROSE_4] = @@ -598,7 +598,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Rose4 } + .party = {.NoItemDefaultMoves = sParty_Rose4 } }, [TRAINER_ROSE_5] = @@ -612,7 +612,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Rose5 } + .party = {.NoItemDefaultMoves = sParty_Rose5 } }, [TRAINER_DUSTY_1] = @@ -626,7 +626,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Dusty1 } + .party = {.NoItemCustomMoves = sParty_Dusty1 } }, [TRAINER_CHIP] = @@ -640,7 +640,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemCustomMoves = gTrainerParty_Chip } + .party = {.NoItemCustomMoves = sParty_Chip } }, [TRAINER_FOSTER] = @@ -654,7 +654,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Foster } + .party = {.NoItemCustomMoves = sParty_Foster } }, [TRAINER_DUSTY_2] = @@ -668,7 +668,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Dusty2 } + .party = {.NoItemCustomMoves = sParty_Dusty2 } }, [TRAINER_DUSTY_3] = @@ -682,7 +682,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Dusty3 } + .party = {.NoItemCustomMoves = sParty_Dusty3 } }, [TRAINER_DUSTY_4] = @@ -696,7 +696,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Dusty4 } + .party = {.NoItemCustomMoves = sParty_Dusty4 } }, [TRAINER_DUSTY_5] = @@ -710,7 +710,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Dusty5 } + .party = {.NoItemCustomMoves = sParty_Dusty5 } }, [TRAINER_GABBY_AND_TY_1] = @@ -724,7 +724,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_GabbyAndTy1 } + .party = {.NoItemDefaultMoves = sParty_GabbyAndTy1 } }, [TRAINER_GABBY_AND_TY_2] = @@ -738,7 +738,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_GabbyAndTy2 } + .party = {.NoItemDefaultMoves = sParty_GabbyAndTy2 } }, [TRAINER_GABBY_AND_TY_3] = @@ -752,7 +752,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_GabbyAndTy3 } + .party = {.NoItemDefaultMoves = sParty_GabbyAndTy3 } }, [TRAINER_GABBY_AND_TY_4] = @@ -766,7 +766,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_GabbyAndTy4 } + .party = {.NoItemDefaultMoves = sParty_GabbyAndTy4 } }, [TRAINER_GABBY_AND_TY_5] = @@ -780,7 +780,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_GabbyAndTy5 } + .party = {.NoItemDefaultMoves = sParty_GabbyAndTy5 } }, [TRAINER_GABBY_AND_TY_6] = @@ -794,7 +794,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_GabbyAndTy6 } + .party = {.NoItemCustomMoves = sParty_GabbyAndTy6 } }, [TRAINER_LOLA_1] = @@ -808,7 +808,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Lola1 } + .party = {.NoItemDefaultMoves = sParty_Lola1 } }, [TRAINER_AUSTINA] = @@ -822,7 +822,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Austina } + .party = {.NoItemDefaultMoves = sParty_Austina } }, [TRAINER_GWEN] = @@ -836,7 +836,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Gwen } + .party = {.NoItemDefaultMoves = sParty_Gwen } }, [TRAINER_LOLA_2] = @@ -850,7 +850,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Lola2 } + .party = {.NoItemDefaultMoves = sParty_Lola2 } }, [TRAINER_LOLA_3] = @@ -864,7 +864,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Lola3 } + .party = {.NoItemDefaultMoves = sParty_Lola3 } }, [TRAINER_LOLA_4] = @@ -878,7 +878,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Lola4 } + .party = {.NoItemDefaultMoves = sParty_Lola4 } }, [TRAINER_LOLA_5] = @@ -892,7 +892,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Lola5 } + .party = {.NoItemDefaultMoves = sParty_Lola5 } }, [TRAINER_RICKY_1] = @@ -906,7 +906,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Ricky1 } + .party = {.NoItemCustomMoves = sParty_Ricky1 } }, [TRAINER_SIMON] = @@ -920,7 +920,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Simon } + .party = {.NoItemDefaultMoves = sParty_Simon } }, [TRAINER_CHARLIE] = @@ -934,7 +934,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Charlie } + .party = {.NoItemDefaultMoves = sParty_Charlie } }, [TRAINER_RICKY_2] = @@ -948,7 +948,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Ricky2 } + .party = {.NoItemCustomMoves = sParty_Ricky2 } }, [TRAINER_RICKY_3] = @@ -962,7 +962,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Ricky3 } + .party = {.NoItemCustomMoves = sParty_Ricky3 } }, [TRAINER_RICKY_4] = @@ -976,7 +976,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Ricky4 } + .party = {.NoItemCustomMoves = sParty_Ricky4 } }, [TRAINER_RICKY_5] = @@ -990,7 +990,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Ricky5 } + .party = {.NoItemCustomMoves = sParty_Ricky5 } }, [TRAINER_RANDALL] = @@ -1004,7 +1004,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.ItemCustomMoves = gTrainerParty_Randall } + .party = {.ItemCustomMoves = sParty_Randall } }, [TRAINER_PARKER] = @@ -1018,7 +1018,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.ItemCustomMoves = gTrainerParty_Parker } + .party = {.ItemCustomMoves = sParty_Parker } }, [TRAINER_GEORGE] = @@ -1032,7 +1032,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.ItemCustomMoves = gTrainerParty_George } + .party = {.ItemCustomMoves = sParty_George } }, [TRAINER_BERKE] = @@ -1046,7 +1046,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.ItemCustomMoves = gTrainerParty_Berke } + .party = {.ItemCustomMoves = sParty_Berke } }, [TRAINER_BRAXTON] = @@ -1060,7 +1060,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.NoItemCustomMoves = gTrainerParty_Braxton } + .party = {.NoItemCustomMoves = sParty_Braxton } }, [TRAINER_VINCENT] = @@ -1074,7 +1074,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Vincent } + .party = {.NoItemDefaultMoves = sParty_Vincent } }, [TRAINER_LEROY] = @@ -1088,7 +1088,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Leroy } + .party = {.NoItemDefaultMoves = sParty_Leroy } }, [TRAINER_WILTON_1] = @@ -1102,7 +1102,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Wilton1 } + .party = {.NoItemDefaultMoves = sParty_Wilton1 } }, [TRAINER_EDGAR] = @@ -1116,7 +1116,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Edgar } + .party = {.NoItemDefaultMoves = sParty_Edgar } }, [TRAINER_ALBERT] = @@ -1130,7 +1130,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Albert } + .party = {.NoItemDefaultMoves = sParty_Albert } }, [TRAINER_SAMUEL] = @@ -1144,7 +1144,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Samuel } + .party = {.NoItemDefaultMoves = sParty_Samuel } }, [TRAINER_VITO] = @@ -1158,7 +1158,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Vito } + .party = {.NoItemDefaultMoves = sParty_Vito } }, [TRAINER_OWEN] = @@ -1172,7 +1172,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Owen } + .party = {.NoItemDefaultMoves = sParty_Owen } }, [TRAINER_WILTON_2] = @@ -1186,7 +1186,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Wilton2 } + .party = {.NoItemDefaultMoves = sParty_Wilton2 } }, [TRAINER_WILTON_3] = @@ -1200,7 +1200,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Wilton3 } + .party = {.NoItemDefaultMoves = sParty_Wilton3 } }, [TRAINER_WILTON_4] = @@ -1214,7 +1214,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Wilton4 } + .party = {.NoItemDefaultMoves = sParty_Wilton4 } }, [TRAINER_WILTON_5] = @@ -1228,7 +1228,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Wilton5 } + .party = {.NoItemDefaultMoves = sParty_Wilton5 } }, [TRAINER_WARREN] = @@ -1242,7 +1242,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Warren } + .party = {.NoItemDefaultMoves = sParty_Warren } }, [TRAINER_MARY] = @@ -1256,7 +1256,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.ItemCustomMoves = gTrainerParty_Mary } + .party = {.ItemCustomMoves = sParty_Mary } }, [TRAINER_ALEXIA] = @@ -1270,7 +1270,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.ItemCustomMoves = gTrainerParty_Alexia } + .party = {.ItemCustomMoves = sParty_Alexia } }, [TRAINER_JODY] = @@ -1284,7 +1284,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 1, - .party = {.ItemCustomMoves = gTrainerParty_Jody } + .party = {.ItemCustomMoves = sParty_Jody } }, [TRAINER_WENDY] = @@ -1298,7 +1298,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 3, - .party = {.NoItemCustomMoves = gTrainerParty_Wendy } + .party = {.NoItemCustomMoves = sParty_Wendy } }, [TRAINER_KEIRA] = @@ -1312,7 +1312,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Keira } + .party = {.NoItemDefaultMoves = sParty_Keira } }, [TRAINER_BROOKE_1] = @@ -1326,7 +1326,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Brooke1 } + .party = {.NoItemDefaultMoves = sParty_Brooke1 } }, [TRAINER_JENNIFER] = @@ -1340,7 +1340,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jennifer } + .party = {.NoItemDefaultMoves = sParty_Jennifer } }, [TRAINER_HOPE] = @@ -1354,7 +1354,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Hope } + .party = {.NoItemDefaultMoves = sParty_Hope } }, [TRAINER_SHANNON] = @@ -1368,7 +1368,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Shannon } + .party = {.NoItemDefaultMoves = sParty_Shannon } }, [TRAINER_MICHELLE] = @@ -1382,7 +1382,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Michelle } + .party = {.NoItemDefaultMoves = sParty_Michelle } }, [TRAINER_CAROLINE] = @@ -1396,7 +1396,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Caroline } + .party = {.NoItemDefaultMoves = sParty_Caroline } }, [TRAINER_JULIE] = @@ -1410,7 +1410,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Julie } + .party = {.NoItemDefaultMoves = sParty_Julie } }, [TRAINER_BROOKE_2] = @@ -1424,7 +1424,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Brooke2 } + .party = {.NoItemDefaultMoves = sParty_Brooke2 } }, [TRAINER_BROOKE_3] = @@ -1438,7 +1438,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Brooke3 } + .party = {.NoItemDefaultMoves = sParty_Brooke3 } }, [TRAINER_BROOKE_4] = @@ -1452,7 +1452,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Brooke4 } + .party = {.NoItemDefaultMoves = sParty_Brooke4 } }, [TRAINER_BROOKE_5] = @@ -1466,7 +1466,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Brooke5 } + .party = {.NoItemDefaultMoves = sParty_Brooke5 } }, [TRAINER_PATRICIA] = @@ -1480,7 +1480,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Patricia } + .party = {.NoItemDefaultMoves = sParty_Patricia } }, [TRAINER_KINDRA] = @@ -1494,7 +1494,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Kindra } + .party = {.NoItemDefaultMoves = sParty_Kindra } }, [TRAINER_TAMMY] = @@ -1508,7 +1508,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Tammy } + .party = {.NoItemDefaultMoves = sParty_Tammy } }, [TRAINER_VALERIE_1] = @@ -1522,7 +1522,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Valerie1 } + .party = {.NoItemDefaultMoves = sParty_Valerie1 } }, [TRAINER_TASHA] = @@ -1536,7 +1536,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Tasha } + .party = {.NoItemDefaultMoves = sParty_Tasha } }, [TRAINER_VALERIE_2] = @@ -1550,7 +1550,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Valerie2 } + .party = {.NoItemDefaultMoves = sParty_Valerie2 } }, [TRAINER_VALERIE_3] = @@ -1564,7 +1564,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Valerie3 } + .party = {.NoItemDefaultMoves = sParty_Valerie3 } }, [TRAINER_VALERIE_4] = @@ -1578,7 +1578,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Valerie4 } + .party = {.NoItemDefaultMoves = sParty_Valerie4 } }, [TRAINER_VALERIE_5] = @@ -1592,7 +1592,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Valerie5 } + .party = {.NoItemDefaultMoves = sParty_Valerie5 } }, [TRAINER_CINDY_1] = @@ -1606,7 +1606,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Cindy1 } + .party = {.ItemDefaultMoves = sParty_Cindy1 } }, [TRAINER_DAPHNE] = @@ -1620,7 +1620,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.ItemCustomMoves = gTrainerParty_Daphne } + .party = {.ItemCustomMoves = sParty_Daphne } }, [TRAINER_GRUNT_23] = @@ -1634,7 +1634,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt23 } + .party = {.NoItemDefaultMoves = sParty_Grunt23 } }, [TRAINER_CINDY_2] = @@ -1648,7 +1648,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemCustomMoves = gTrainerParty_Cindy2 } + .party = {.ItemCustomMoves = sParty_Cindy2 } }, [TRAINER_BRIANNA] = @@ -1662,7 +1662,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Brianna } + .party = {.ItemDefaultMoves = sParty_Brianna } }, [TRAINER_NAOMI] = @@ -1676,7 +1676,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Naomi } + .party = {.ItemDefaultMoves = sParty_Naomi } }, [TRAINER_CINDY_3] = @@ -1690,7 +1690,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Cindy3 } + .party = {.ItemDefaultMoves = sParty_Cindy3 } }, [TRAINER_CINDY_4] = @@ -1704,7 +1704,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Cindy4 } + .party = {.ItemDefaultMoves = sParty_Cindy4 } }, [TRAINER_CINDY_5] = @@ -1718,7 +1718,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Cindy5 } + .party = {.ItemDefaultMoves = sParty_Cindy5 } }, [TRAINER_CINDY_6] = @@ -1732,7 +1732,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemCustomMoves = gTrainerParty_Cindy6 } + .party = {.ItemCustomMoves = sParty_Cindy6 } }, [TRAINER_MELISSA] = @@ -1746,7 +1746,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Melissa } + .party = {.NoItemDefaultMoves = sParty_Melissa } }, [TRAINER_SHEILA] = @@ -1760,7 +1760,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Sheila } + .party = {.NoItemDefaultMoves = sParty_Sheila } }, [TRAINER_SHIRLEY] = @@ -1774,7 +1774,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Shirley } + .party = {.NoItemDefaultMoves = sParty_Shirley } }, [TRAINER_JESSICA_1] = @@ -1788,7 +1788,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Jessica1 } + .party = {.NoItemCustomMoves = sParty_Jessica1 } }, [TRAINER_CONNIE] = @@ -1802,7 +1802,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Connie } + .party = {.NoItemDefaultMoves = sParty_Connie } }, [TRAINER_BRIDGET] = @@ -1816,7 +1816,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Bridget } + .party = {.NoItemDefaultMoves = sParty_Bridget } }, [TRAINER_OLIVIA] = @@ -1830,7 +1830,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemCustomMoves = gTrainerParty_Olivia } + .party = {.NoItemCustomMoves = sParty_Olivia } }, [TRAINER_TIFFANY] = @@ -1844,7 +1844,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Tiffany } + .party = {.NoItemDefaultMoves = sParty_Tiffany } }, [TRAINER_JESSICA_2] = @@ -1858,7 +1858,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Jessica2 } + .party = {.NoItemCustomMoves = sParty_Jessica2 } }, [TRAINER_JESSICA_3] = @@ -1872,7 +1872,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Jessica3 } + .party = {.NoItemCustomMoves = sParty_Jessica3 } }, [TRAINER_JESSICA_4] = @@ -1886,7 +1886,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Jessica4 } + .party = {.NoItemCustomMoves = sParty_Jessica4 } }, [TRAINER_JESSICA_5] = @@ -1900,7 +1900,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Jessica5 } + .party = {.NoItemCustomMoves = sParty_Jessica5 } }, [TRAINER_WINSTON_1] = @@ -1914,7 +1914,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Winston1 } + .party = {.ItemDefaultMoves = sParty_Winston1 } }, [TRAINER_MOLLIE] = @@ -1928,7 +1928,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Mollie } + .party = {.NoItemDefaultMoves = sParty_Mollie } }, [TRAINER_GARRET] = @@ -1942,7 +1942,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Garret } + .party = {.ItemDefaultMoves = sParty_Garret } }, [TRAINER_WINSTON_2] = @@ -1956,7 +1956,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Winston2 } + .party = {.ItemDefaultMoves = sParty_Winston2 } }, [TRAINER_WINSTON_3] = @@ -1970,7 +1970,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Winston3 } + .party = {.ItemDefaultMoves = sParty_Winston3 } }, [TRAINER_WINSTON_4] = @@ -1984,7 +1984,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Winston4 } + .party = {.ItemDefaultMoves = sParty_Winston4 } }, [TRAINER_WINSTON_5] = @@ -1998,7 +1998,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemCustomMoves = gTrainerParty_Winston5 } + .party = {.ItemCustomMoves = sParty_Winston5 } }, [TRAINER_STEVE_1] = @@ -2012,7 +2012,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Steve1 } + .party = {.NoItemDefaultMoves = sParty_Steve1 } }, [TRAINER_THALIA_1] = @@ -2026,7 +2026,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Thalia1 } + .party = {.NoItemDefaultMoves = sParty_Thalia1 } }, [TRAINER_MARK] = @@ -2040,7 +2040,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Mark } + .party = {.NoItemDefaultMoves = sParty_Mark } }, [TRAINER_GRUNT_24] = @@ -2054,7 +2054,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt24 } + .party = {.NoItemDefaultMoves = sParty_Grunt24 } }, [TRAINER_STEVE_2] = @@ -2068,7 +2068,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Steve2 } + .party = {.NoItemDefaultMoves = sParty_Steve2 } }, [TRAINER_STEVE_3] = @@ -2082,7 +2082,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Steve3 } + .party = {.NoItemDefaultMoves = sParty_Steve3 } }, [TRAINER_STEVE_4] = @@ -2096,7 +2096,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Steve4 } + .party = {.NoItemDefaultMoves = sParty_Steve4 } }, [TRAINER_STEVE_5] = @@ -2110,7 +2110,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Steve5 } + .party = {.NoItemDefaultMoves = sParty_Steve5 } }, [TRAINER_LUIS] = @@ -2124,7 +2124,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Luis } + .party = {.NoItemDefaultMoves = sParty_Luis } }, [TRAINER_DOMINIK] = @@ -2138,7 +2138,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Dominik } + .party = {.NoItemDefaultMoves = sParty_Dominik } }, [TRAINER_DOUGLAS] = @@ -2152,7 +2152,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Douglas } + .party = {.NoItemDefaultMoves = sParty_Douglas } }, [TRAINER_DARRIN] = @@ -2166,7 +2166,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Darrin } + .party = {.NoItemDefaultMoves = sParty_Darrin } }, [TRAINER_TONY_1] = @@ -2180,7 +2180,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Tony1 } + .party = {.NoItemDefaultMoves = sParty_Tony1 } }, [TRAINER_JEROME] = @@ -2194,7 +2194,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jerome } + .party = {.NoItemDefaultMoves = sParty_Jerome } }, [TRAINER_MATTHEW] = @@ -2208,7 +2208,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Matthew } + .party = {.NoItemDefaultMoves = sParty_Matthew } }, [TRAINER_DAVID] = @@ -2222,7 +2222,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_David } + .party = {.NoItemDefaultMoves = sParty_David } }, [TRAINER_SPENCER] = @@ -2236,7 +2236,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Spencer } + .party = {.NoItemDefaultMoves = sParty_Spencer } }, [TRAINER_ROLAND] = @@ -2250,7 +2250,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Roland } + .party = {.NoItemDefaultMoves = sParty_Roland } }, [TRAINER_NOLEN] = @@ -2264,7 +2264,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Nolen } + .party = {.NoItemDefaultMoves = sParty_Nolen } }, [TRAINER_STAN] = @@ -2278,7 +2278,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Stan } + .party = {.NoItemDefaultMoves = sParty_Stan } }, [TRAINER_BARRY] = @@ -2292,7 +2292,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Barry } + .party = {.NoItemDefaultMoves = sParty_Barry } }, [TRAINER_DEAN] = @@ -2306,7 +2306,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Dean } + .party = {.NoItemDefaultMoves = sParty_Dean } }, [TRAINER_RODNEY] = @@ -2320,7 +2320,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Rodney } + .party = {.NoItemDefaultMoves = sParty_Rodney } }, [TRAINER_RICHARD] = @@ -2334,7 +2334,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Richard } + .party = {.NoItemDefaultMoves = sParty_Richard } }, [TRAINER_HERMAN] = @@ -2348,7 +2348,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Herman } + .party = {.NoItemDefaultMoves = sParty_Herman } }, [TRAINER_SANTIAGO] = @@ -2362,7 +2362,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Santiago } + .party = {.NoItemDefaultMoves = sParty_Santiago } }, [TRAINER_GILBERT] = @@ -2376,7 +2376,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Gilbert } + .party = {.NoItemDefaultMoves = sParty_Gilbert } }, [TRAINER_FRANKLIN] = @@ -2390,7 +2390,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Franklin } + .party = {.NoItemDefaultMoves = sParty_Franklin } }, [TRAINER_KEVIN] = @@ -2404,7 +2404,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Kevin } + .party = {.NoItemDefaultMoves = sParty_Kevin } }, [TRAINER_JACK] = @@ -2418,7 +2418,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jack } + .party = {.NoItemDefaultMoves = sParty_Jack } }, [TRAINER_DUDLEY] = @@ -2432,7 +2432,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Dudley } + .party = {.NoItemDefaultMoves = sParty_Dudley } }, [TRAINER_CHAD] = @@ -2446,7 +2446,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Chad } + .party = {.NoItemDefaultMoves = sParty_Chad } }, [TRAINER_TONY_2] = @@ -2460,7 +2460,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Tony2 } + .party = {.NoItemDefaultMoves = sParty_Tony2 } }, [TRAINER_TONY_3] = @@ -2474,7 +2474,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Tony3 } + .party = {.NoItemDefaultMoves = sParty_Tony3 } }, [TRAINER_TONY_4] = @@ -2488,7 +2488,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Tony4 } + .party = {.NoItemDefaultMoves = sParty_Tony4 } }, [TRAINER_TONY_5] = @@ -2502,7 +2502,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Tony5 } + .party = {.NoItemDefaultMoves = sParty_Tony5 } }, [TRAINER_TAKAO] = @@ -2516,7 +2516,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Takao } + .party = {.NoItemDefaultMoves = sParty_Takao } }, [TRAINER_HITOSHI] = @@ -2530,7 +2530,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Hitoshi } + .party = {.NoItemDefaultMoves = sParty_Hitoshi } }, [TRAINER_KIYO] = @@ -2544,7 +2544,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Kiyo } + .party = {.NoItemDefaultMoves = sParty_Kiyo } }, [TRAINER_KOICHI] = @@ -2558,7 +2558,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Koichi } + .party = {.NoItemDefaultMoves = sParty_Koichi } }, [TRAINER_NOB_1] = @@ -2572,7 +2572,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Nob1 } + .party = {.NoItemDefaultMoves = sParty_Nob1 } }, [TRAINER_NOB_2] = @@ -2586,7 +2586,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Nob2 } + .party = {.NoItemDefaultMoves = sParty_Nob2 } }, [TRAINER_NOB_3] = @@ -2600,7 +2600,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Nob3 } + .party = {.NoItemDefaultMoves = sParty_Nob3 } }, [TRAINER_NOB_4] = @@ -2614,7 +2614,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Nob4 } + .party = {.NoItemDefaultMoves = sParty_Nob4 } }, [TRAINER_NOB_5] = @@ -2628,7 +2628,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, - .party = {.ItemDefaultMoves = gTrainerParty_Nob5 } + .party = {.ItemDefaultMoves = sParty_Nob5 } }, [TRAINER_YUJI] = @@ -2642,7 +2642,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Yuji } + .party = {.NoItemDefaultMoves = sParty_Yuji } }, [TRAINER_DAISUKE] = @@ -2656,7 +2656,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Daisuke } + .party = {.NoItemDefaultMoves = sParty_Daisuke } }, [TRAINER_ATSUSHI] = @@ -2670,7 +2670,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Atsushi } + .party = {.NoItemDefaultMoves = sParty_Atsushi } }, [TRAINER_KIRK] = @@ -2684,7 +2684,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Kirk } + .party = {.NoItemCustomMoves = sParty_Kirk } }, [TRAINER_GRUNT_25] = @@ -2698,7 +2698,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt25 } + .party = {.NoItemDefaultMoves = sParty_Grunt25 } }, [TRAINER_GRUNT_26] = @@ -2712,7 +2712,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt26 } + .party = {.NoItemDefaultMoves = sParty_Grunt26 } }, [TRAINER_SHAWN] = @@ -2726,7 +2726,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Shawn } + .party = {.NoItemDefaultMoves = sParty_Shawn } }, [TRAINER_FERNANDO_1] = @@ -2740,7 +2740,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Fernando1 } + .party = {.NoItemDefaultMoves = sParty_Fernando1 } }, [TRAINER_DALTON_1] = @@ -2754,7 +2754,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Dalton1 } + .party = {.NoItemDefaultMoves = sParty_Dalton1 } }, [TRAINER_DALTON_2] = @@ -2768,7 +2768,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Dalton2 } + .party = {.NoItemDefaultMoves = sParty_Dalton2 } }, [TRAINER_DALTON_3] = @@ -2782,7 +2782,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Dalton3 } + .party = {.NoItemDefaultMoves = sParty_Dalton3 } }, [TRAINER_DALTON_4] = @@ -2796,7 +2796,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Dalton4 } + .party = {.NoItemDefaultMoves = sParty_Dalton4 } }, [TRAINER_DALTON_5] = @@ -2810,7 +2810,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Dalton5 } + .party = {.NoItemDefaultMoves = sParty_Dalton5 } }, [TRAINER_COLE] = @@ -2824,7 +2824,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Cole } + .party = {.NoItemDefaultMoves = sParty_Cole } }, [TRAINER_JEFF] = @@ -2838,7 +2838,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Jeff } + .party = {.NoItemDefaultMoves = sParty_Jeff } }, [TRAINER_AXLE] = @@ -2852,7 +2852,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Axle } + .party = {.NoItemDefaultMoves = sParty_Axle } }, [TRAINER_JACE] = @@ -2866,7 +2866,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jace } + .party = {.NoItemDefaultMoves = sParty_Jace } }, [TRAINER_KEEGAN] = @@ -2880,7 +2880,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Keegan } + .party = {.NoItemDefaultMoves = sParty_Keegan } }, [TRAINER_BERNIE_1] = @@ -2894,7 +2894,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Bernie1 } + .party = {.NoItemDefaultMoves = sParty_Bernie1 } }, [TRAINER_BERNIE_2] = @@ -2908,7 +2908,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Bernie2 } + .party = {.NoItemDefaultMoves = sParty_Bernie2 } }, [TRAINER_BERNIE_3] = @@ -2922,7 +2922,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Bernie3 } + .party = {.NoItemDefaultMoves = sParty_Bernie3 } }, [TRAINER_BERNIE_4] = @@ -2936,7 +2936,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Bernie4 } + .party = {.NoItemDefaultMoves = sParty_Bernie4 } }, [TRAINER_BERNIE_5] = @@ -2950,7 +2950,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Bernie5 } + .party = {.NoItemDefaultMoves = sParty_Bernie5 } }, [TRAINER_DREW] = @@ -2964,7 +2964,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Drew } + .party = {.NoItemCustomMoves = sParty_Drew } }, [TRAINER_BEAU] = @@ -2978,7 +2978,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemCustomMoves = gTrainerParty_Beau } + .party = {.NoItemCustomMoves = sParty_Beau } }, [TRAINER_LARRY] = @@ -2992,7 +2992,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Larry } + .party = {.NoItemDefaultMoves = sParty_Larry } }, [TRAINER_SHANE] = @@ -3006,7 +3006,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Shane } + .party = {.NoItemDefaultMoves = sParty_Shane } }, [TRAINER_JUSTIN] = @@ -3020,7 +3020,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Justin } + .party = {.NoItemDefaultMoves = sParty_Justin } }, [TRAINER_ETHAN_1] = @@ -3034,7 +3034,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Ethan1 } + .party = {.NoItemDefaultMoves = sParty_Ethan1 } }, [TRAINER_AUTUMN] = @@ -3048,7 +3048,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Autumn } + .party = {.NoItemDefaultMoves = sParty_Autumn } }, [TRAINER_TRAVIS] = @@ -3062,7 +3062,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Travis } + .party = {.NoItemDefaultMoves = sParty_Travis } }, [TRAINER_ETHAN_2] = @@ -3076,7 +3076,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Ethan2 } + .party = {.NoItemDefaultMoves = sParty_Ethan2 } }, [TRAINER_ETHAN_3] = @@ -3090,7 +3090,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Ethan3 } + .party = {.NoItemDefaultMoves = sParty_Ethan3 } }, [TRAINER_ETHAN_4] = @@ -3104,7 +3104,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Ethan4 } + .party = {.NoItemDefaultMoves = sParty_Ethan4 } }, [TRAINER_ETHAN_5] = @@ -3118,7 +3118,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Ethan5 } + .party = {.NoItemDefaultMoves = sParty_Ethan5 } }, [TRAINER_BRENT] = @@ -3132,7 +3132,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Brent } + .party = {.NoItemDefaultMoves = sParty_Brent } }, [TRAINER_DONALD] = @@ -3146,7 +3146,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Donald } + .party = {.NoItemDefaultMoves = sParty_Donald } }, [TRAINER_TAYLOR] = @@ -3160,7 +3160,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Taylor } + .party = {.NoItemDefaultMoves = sParty_Taylor } }, [TRAINER_JEFFREY_1] = @@ -3174,7 +3174,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Jeffrey1 } + .party = {.NoItemDefaultMoves = sParty_Jeffrey1 } }, [TRAINER_DEREK] = @@ -3188,7 +3188,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Derek } + .party = {.NoItemDefaultMoves = sParty_Derek } }, [TRAINER_JEFFREY_2] = @@ -3202,7 +3202,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Jeffrey2 } + .party = {.NoItemDefaultMoves = sParty_Jeffrey2 } }, [TRAINER_JEFFREY_3] = @@ -3216,7 +3216,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Jeffrey3 } + .party = {.NoItemDefaultMoves = sParty_Jeffrey3 } }, [TRAINER_JEFFREY_4] = @@ -3230,7 +3230,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Jeffrey4 } + .party = {.NoItemDefaultMoves = sParty_Jeffrey4 } }, [TRAINER_JEFFREY_5] = @@ -3244,7 +3244,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 5, - .party = {.ItemDefaultMoves = gTrainerParty_Jeffrey5 } + .party = {.ItemDefaultMoves = sParty_Jeffrey5 } }, [TRAINER_EDWARD] = @@ -3258,7 +3258,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Edward } + .party = {.NoItemCustomMoves = sParty_Edward } }, [TRAINER_PRESTON] = @@ -3272,7 +3272,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Preston } + .party = {.NoItemDefaultMoves = sParty_Preston } }, [TRAINER_VIRGIL] = @@ -3286,7 +3286,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Virgil } + .party = {.NoItemDefaultMoves = sParty_Virgil } }, [TRAINER_BLAKE] = @@ -3300,7 +3300,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Blake } + .party = {.NoItemDefaultMoves = sParty_Blake } }, [TRAINER_WILLIAM] = @@ -3314,7 +3314,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_William } + .party = {.NoItemDefaultMoves = sParty_William } }, [TRAINER_JOSHUA] = @@ -3328,7 +3328,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Joshua } + .party = {.NoItemDefaultMoves = sParty_Joshua } }, [TRAINER_CAMERON_1] = @@ -3342,7 +3342,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Cameron1 } + .party = {.NoItemDefaultMoves = sParty_Cameron1 } }, [TRAINER_CAMERON_2] = @@ -3356,7 +3356,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Cameron2 } + .party = {.NoItemDefaultMoves = sParty_Cameron2 } }, [TRAINER_CAMERON_3] = @@ -3370,7 +3370,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Cameron3 } + .party = {.NoItemDefaultMoves = sParty_Cameron3 } }, [TRAINER_CAMERON_4] = @@ -3384,7 +3384,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Cameron4 } + .party = {.NoItemDefaultMoves = sParty_Cameron4 } }, [TRAINER_CAMERON_5] = @@ -3398,7 +3398,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Cameron5 } + .party = {.NoItemDefaultMoves = sParty_Cameron5 } }, [TRAINER_JACLYN] = @@ -3412,7 +3412,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Jaclyn } + .party = {.NoItemCustomMoves = sParty_Jaclyn } }, [TRAINER_HANNAH] = @@ -3426,7 +3426,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Hannah } + .party = {.NoItemDefaultMoves = sParty_Hannah } }, [TRAINER_SAMANTHA] = @@ -3440,7 +3440,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Samantha } + .party = {.NoItemDefaultMoves = sParty_Samantha } }, [TRAINER_MAURA] = @@ -3454,7 +3454,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Maura } + .party = {.NoItemDefaultMoves = sParty_Maura } }, [TRAINER_KAYLA] = @@ -3468,7 +3468,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Kayla } + .party = {.NoItemDefaultMoves = sParty_Kayla } }, [TRAINER_ALEXIS] = @@ -3482,7 +3482,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Alexis } + .party = {.NoItemDefaultMoves = sParty_Alexis } }, [TRAINER_JACKI_1] = @@ -3496,7 +3496,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Jacki1 } + .party = {.NoItemDefaultMoves = sParty_Jacki1 } }, [TRAINER_JACKI_2] = @@ -3510,7 +3510,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Jacki2 } + .party = {.NoItemDefaultMoves = sParty_Jacki2 } }, [TRAINER_JACKI_3] = @@ -3524,7 +3524,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Jacki3 } + .party = {.NoItemDefaultMoves = sParty_Jacki3 } }, [TRAINER_JACKI_4] = @@ -3538,7 +3538,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Jacki4 } + .party = {.NoItemDefaultMoves = sParty_Jacki4 } }, [TRAINER_JACKI_5] = @@ -3552,7 +3552,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Jacki5 } + .party = {.NoItemDefaultMoves = sParty_Jacki5 } }, [TRAINER_WALTER_1] = @@ -3566,7 +3566,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Walter1 } + .party = {.NoItemDefaultMoves = sParty_Walter1 } }, [TRAINER_MICAH] = @@ -3580,7 +3580,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Micah } + .party = {.NoItemDefaultMoves = sParty_Micah } }, [TRAINER_THOMAS] = @@ -3594,7 +3594,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Thomas } + .party = {.NoItemDefaultMoves = sParty_Thomas } }, [TRAINER_WALTER_2] = @@ -3608,7 +3608,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Walter2 } + .party = {.NoItemDefaultMoves = sParty_Walter2 } }, [TRAINER_WALTER_3] = @@ -3622,7 +3622,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Walter3 } + .party = {.NoItemCustomMoves = sParty_Walter3 } }, [TRAINER_WALTER_4] = @@ -3636,7 +3636,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Walter4 } + .party = {.NoItemCustomMoves = sParty_Walter4 } }, [TRAINER_WALTER_5] = @@ -3650,7 +3650,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemCustomMoves = gTrainerParty_Walter5 } + .party = {.NoItemCustomMoves = sParty_Walter5 } }, [TRAINER_SIDNEY] = @@ -3664,7 +3664,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Sidney } + .party = {.ItemCustomMoves = sParty_Sidney } }, [TRAINER_PHOEBE] = @@ -3678,7 +3678,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Phoebe } + .party = {.ItemCustomMoves = sParty_Phoebe } }, [TRAINER_GLACIA] = @@ -3692,7 +3692,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Glacia } + .party = {.ItemCustomMoves = sParty_Glacia } }, [TRAINER_DRAKE] = @@ -3706,7 +3706,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Drake } + .party = {.ItemCustomMoves = sParty_Drake } }, [TRAINER_ROXANNE_1] = @@ -3720,7 +3720,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.ItemCustomMoves = gTrainerParty_Roxanne1 } + .party = {.ItemCustomMoves = sParty_Roxanne1 } }, [TRAINER_BRAWLY_1] = @@ -3734,7 +3734,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.ItemCustomMoves = gTrainerParty_Brawly1 } + .party = {.ItemCustomMoves = sParty_Brawly1 } }, [TRAINER_WATTSON_1] = @@ -3748,7 +3748,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.ItemCustomMoves = gTrainerParty_Wattson1 } + .party = {.ItemCustomMoves = sParty_Wattson1 } }, [TRAINER_FLANNERY_1] = @@ -3762,7 +3762,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.ItemCustomMoves = gTrainerParty_Flannery1 } + .party = {.ItemCustomMoves = sParty_Flannery1 } }, [TRAINER_NORMAN_1] = @@ -3776,7 +3776,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.ItemCustomMoves = gTrainerParty_Norman1 } + .party = {.ItemCustomMoves = sParty_Norman1 } }, [TRAINER_WINONA_1] = @@ -3790,7 +3790,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY | AI_SCRIPT_RISKY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Winona1 } + .party = {.ItemCustomMoves = sParty_Winona1 } }, [TRAINER_TATE_AND_LIZA_1] = @@ -3804,7 +3804,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.ItemCustomMoves = gTrainerParty_TateAndLiza1 } + .party = {.ItemCustomMoves = sParty_TateAndLiza1 } }, [TRAINER_JUAN_1] = @@ -3818,7 +3818,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Juan1 } + .party = {.ItemCustomMoves = sParty_Juan1 } }, [TRAINER_JERRY_1] = @@ -3832,7 +3832,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jerry1 } + .party = {.NoItemDefaultMoves = sParty_Jerry1 } }, [TRAINER_TED] = @@ -3846,7 +3846,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Ted } + .party = {.NoItemDefaultMoves = sParty_Ted } }, [TRAINER_PAUL] = @@ -3860,7 +3860,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Paul } + .party = {.NoItemDefaultMoves = sParty_Paul } }, [TRAINER_JERRY_2] = @@ -3874,7 +3874,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Jerry2 } + .party = {.NoItemDefaultMoves = sParty_Jerry2 } }, [TRAINER_JERRY_3] = @@ -3888,7 +3888,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Jerry3 } + .party = {.NoItemDefaultMoves = sParty_Jerry3 } }, [TRAINER_JERRY_4] = @@ -3902,7 +3902,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Jerry4 } + .party = {.NoItemDefaultMoves = sParty_Jerry4 } }, [TRAINER_JERRY_5] = @@ -3916,7 +3916,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Jerry5 } + .party = {.NoItemDefaultMoves = sParty_Jerry5 } }, [TRAINER_KAREN_1] = @@ -3930,7 +3930,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Karen1 } + .party = {.NoItemDefaultMoves = sParty_Karen1 } }, [TRAINER_GEORGIA] = @@ -3944,7 +3944,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Georgia } + .party = {.NoItemDefaultMoves = sParty_Georgia } }, [TRAINER_KAREN_2] = @@ -3958,7 +3958,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Karen2 } + .party = {.NoItemDefaultMoves = sParty_Karen2 } }, [TRAINER_KAREN_3] = @@ -3972,7 +3972,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Karen3 } + .party = {.NoItemDefaultMoves = sParty_Karen3 } }, [TRAINER_KAREN_4] = @@ -3986,7 +3986,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Karen4 } + .party = {.NoItemDefaultMoves = sParty_Karen4 } }, [TRAINER_KAREN_5] = @@ -4000,7 +4000,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Karen5 } + .party = {.NoItemDefaultMoves = sParty_Karen5 } }, [TRAINER_KATE_AND_JOY] = @@ -4014,7 +4014,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_KateAndJoy } + .party = {.NoItemCustomMoves = sParty_KateAndJoy } }, [TRAINER_ANNA_AND_MEG_1] = @@ -4028,7 +4028,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_AnnaAndMeg1 } + .party = {.NoItemCustomMoves = sParty_AnnaAndMeg1 } }, [TRAINER_ANNA_AND_MEG_2] = @@ -4042,7 +4042,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_AnnaAndMeg2 } + .party = {.NoItemCustomMoves = sParty_AnnaAndMeg2 } }, [TRAINER_ANNA_AND_MEG_3] = @@ -4056,7 +4056,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_AnnaAndMeg3 } + .party = {.NoItemCustomMoves = sParty_AnnaAndMeg3 } }, [TRAINER_ANNA_AND_MEG_4] = @@ -4070,7 +4070,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_AnnaAndMeg4 } + .party = {.NoItemCustomMoves = sParty_AnnaAndMeg4 } }, [TRAINER_ANNA_AND_MEG_5] = @@ -4084,7 +4084,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_AnnaAndMeg5 } + .party = {.NoItemCustomMoves = sParty_AnnaAndMeg5 } }, [TRAINER_VICTOR] = @@ -4098,7 +4098,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.ItemDefaultMoves = gTrainerParty_Victor } + .party = {.ItemDefaultMoves = sParty_Victor } }, [TRAINER_MIGUEL_1] = @@ -4112,7 +4112,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Miguel1 } + .party = {.ItemDefaultMoves = sParty_Miguel1 } }, [TRAINER_COLTON] = @@ -4126,7 +4126,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_Colton } + .party = {.ItemCustomMoves = sParty_Colton } }, [TRAINER_MIGUEL_2] = @@ -4140,7 +4140,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Miguel2 } + .party = {.ItemDefaultMoves = sParty_Miguel2 } }, [TRAINER_MIGUEL_3] = @@ -4154,7 +4154,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Miguel3 } + .party = {.ItemDefaultMoves = sParty_Miguel3 } }, [TRAINER_MIGUEL_4] = @@ -4168,7 +4168,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Miguel4 } + .party = {.ItemDefaultMoves = sParty_Miguel4 } }, [TRAINER_MIGUEL_5] = @@ -4182,7 +4182,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Miguel5 } + .party = {.ItemDefaultMoves = sParty_Miguel5 } }, [TRAINER_VICTORIA] = @@ -4196,7 +4196,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Victoria } + .party = {.ItemDefaultMoves = sParty_Victoria } }, [TRAINER_VANESSA] = @@ -4210,7 +4210,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Vanessa } + .party = {.ItemDefaultMoves = sParty_Vanessa } }, [TRAINER_BETHANY] = @@ -4224,7 +4224,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.ItemDefaultMoves = gTrainerParty_Bethany } + .party = {.ItemDefaultMoves = sParty_Bethany } }, [TRAINER_ISABEL_1] = @@ -4238,7 +4238,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.ItemDefaultMoves = gTrainerParty_Isabel1 } + .party = {.ItemDefaultMoves = sParty_Isabel1 } }, [TRAINER_ISABEL_2] = @@ -4252,7 +4252,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.ItemDefaultMoves = gTrainerParty_Isabel2 } + .party = {.ItemDefaultMoves = sParty_Isabel2 } }, [TRAINER_ISABEL_3] = @@ -4266,7 +4266,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.ItemDefaultMoves = gTrainerParty_Isabel3 } + .party = {.ItemDefaultMoves = sParty_Isabel3 } }, [TRAINER_ISABEL_4] = @@ -4280,7 +4280,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.ItemDefaultMoves = gTrainerParty_Isabel4 } + .party = {.ItemDefaultMoves = sParty_Isabel4 } }, [TRAINER_ISABEL_5] = @@ -4294,7 +4294,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.ItemDefaultMoves = gTrainerParty_Isabel5 } + .party = {.ItemDefaultMoves = sParty_Isabel5 } }, [TRAINER_TIMOTHY_1] = @@ -4308,7 +4308,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Timothy1 } + .party = {.NoItemDefaultMoves = sParty_Timothy1 } }, [TRAINER_TIMOTHY_2] = @@ -4322,7 +4322,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Timothy2 } + .party = {.NoItemCustomMoves = sParty_Timothy2 } }, [TRAINER_TIMOTHY_3] = @@ -4336,7 +4336,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Timothy3 } + .party = {.NoItemCustomMoves = sParty_Timothy3 } }, [TRAINER_TIMOTHY_4] = @@ -4350,7 +4350,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Timothy4 } + .party = {.NoItemCustomMoves = sParty_Timothy4 } }, [TRAINER_TIMOTHY_5] = @@ -4364,7 +4364,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Timothy5 } + .party = {.NoItemCustomMoves = sParty_Timothy5 } }, [TRAINER_VICKY] = @@ -4378,7 +4378,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Vicky } + .party = {.NoItemCustomMoves = sParty_Vicky } }, [TRAINER_SHELBY_1] = @@ -4392,7 +4392,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Shelby1 } + .party = {.NoItemDefaultMoves = sParty_Shelby1 } }, [TRAINER_SHELBY_2] = @@ -4406,7 +4406,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Shelby2 } + .party = {.NoItemDefaultMoves = sParty_Shelby2 } }, [TRAINER_SHELBY_3] = @@ -4420,7 +4420,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Shelby3 } + .party = {.NoItemDefaultMoves = sParty_Shelby3 } }, [TRAINER_SHELBY_4] = @@ -4434,7 +4434,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Shelby4 } + .party = {.NoItemDefaultMoves = sParty_Shelby4 } }, [TRAINER_SHELBY_5] = @@ -4448,7 +4448,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Shelby5 } + .party = {.NoItemDefaultMoves = sParty_Shelby5 } }, [TRAINER_CALVIN_1] = @@ -4462,7 +4462,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Calvin1 } + .party = {.NoItemDefaultMoves = sParty_Calvin1 } }, [TRAINER_BILLY] = @@ -4476,7 +4476,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Billy } + .party = {.NoItemDefaultMoves = sParty_Billy } }, [TRAINER_JOSH] = @@ -4490,7 +4490,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Josh } + .party = {.NoItemCustomMoves = sParty_Josh } }, [TRAINER_TOMMY] = @@ -4504,7 +4504,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Tommy } + .party = {.NoItemDefaultMoves = sParty_Tommy } }, [TRAINER_JOEY] = @@ -4518,7 +4518,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Joey } + .party = {.NoItemDefaultMoves = sParty_Joey } }, [TRAINER_BEN] = @@ -4532,7 +4532,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Ben } + .party = {.NoItemCustomMoves = sParty_Ben } }, [TRAINER_QUINCY] = @@ -4546,7 +4546,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Quincy } + .party = {.NoItemCustomMoves = sParty_Quincy } }, [TRAINER_KATELYNN] = @@ -4560,7 +4560,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Katelynn } + .party = {.NoItemCustomMoves = sParty_Katelynn } }, [TRAINER_JAYLEN] = @@ -4574,7 +4574,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jaylen } + .party = {.NoItemDefaultMoves = sParty_Jaylen } }, [TRAINER_DILLON] = @@ -4588,7 +4588,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Dillon } + .party = {.NoItemDefaultMoves = sParty_Dillon } }, [TRAINER_CALVIN_2] = @@ -4602,7 +4602,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Calvin2 } + .party = {.NoItemDefaultMoves = sParty_Calvin2 } }, [TRAINER_CALVIN_3] = @@ -4616,7 +4616,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Calvin3 } + .party = {.NoItemDefaultMoves = sParty_Calvin3 } }, [TRAINER_CALVIN_4] = @@ -4630,7 +4630,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Calvin4 } + .party = {.NoItemDefaultMoves = sParty_Calvin4 } }, [TRAINER_CALVIN_5] = @@ -4644,7 +4644,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Calvin5 } + .party = {.NoItemDefaultMoves = sParty_Calvin5 } }, [TRAINER_EDDIE] = @@ -4658,7 +4658,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Eddie } + .party = {.NoItemDefaultMoves = sParty_Eddie } }, [TRAINER_ALLEN] = @@ -4672,7 +4672,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Allen } + .party = {.NoItemDefaultMoves = sParty_Allen } }, [TRAINER_TIMMY] = @@ -4686,7 +4686,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Timmy } + .party = {.NoItemDefaultMoves = sParty_Timmy } }, [TRAINER_WALLACE] = @@ -4700,7 +4700,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_Wallace } + .party = {.ItemCustomMoves = sParty_Wallace } }, [TRAINER_ANDREW] = @@ -4714,7 +4714,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Andrew } + .party = {.NoItemDefaultMoves = sParty_Andrew } }, [TRAINER_IVAN] = @@ -4728,7 +4728,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Ivan } + .party = {.NoItemDefaultMoves = sParty_Ivan } }, [TRAINER_CLAUDE] = @@ -4742,7 +4742,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Claude } + .party = {.NoItemDefaultMoves = sParty_Claude } }, [TRAINER_ELLIOT_1] = @@ -4756,7 +4756,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Elliot1 } + .party = {.NoItemDefaultMoves = sParty_Elliot1 } }, [TRAINER_NED] = @@ -4770,7 +4770,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Ned } + .party = {.NoItemDefaultMoves = sParty_Ned } }, [TRAINER_DALE] = @@ -4784,7 +4784,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Dale } + .party = {.NoItemDefaultMoves = sParty_Dale } }, [TRAINER_NOLAN] = @@ -4798,7 +4798,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Nolan } + .party = {.NoItemDefaultMoves = sParty_Nolan } }, [TRAINER_BARNY] = @@ -4812,7 +4812,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Barny } + .party = {.NoItemDefaultMoves = sParty_Barny } }, [TRAINER_WADE] = @@ -4826,7 +4826,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Wade } + .party = {.NoItemDefaultMoves = sParty_Wade } }, [TRAINER_CARTER] = @@ -4840,7 +4840,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Carter } + .party = {.NoItemDefaultMoves = sParty_Carter } }, [TRAINER_ELLIOT_2] = @@ -4854,7 +4854,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Elliot2 } + .party = {.NoItemDefaultMoves = sParty_Elliot2 } }, [TRAINER_ELLIOT_3] = @@ -4868,7 +4868,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Elliot3 } + .party = {.NoItemDefaultMoves = sParty_Elliot3 } }, [TRAINER_ELLIOT_4] = @@ -4882,7 +4882,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Elliot4 } + .party = {.NoItemDefaultMoves = sParty_Elliot4 } }, [TRAINER_ELLIOT_5] = @@ -4896,7 +4896,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Elliot5 } + .party = {.NoItemDefaultMoves = sParty_Elliot5 } }, [TRAINER_RONALD] = @@ -4910,7 +4910,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Ronald } + .party = {.NoItemDefaultMoves = sParty_Ronald } }, [TRAINER_JACOB] = @@ -4924,7 +4924,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Jacob } + .party = {.NoItemDefaultMoves = sParty_Jacob } }, [TRAINER_ANTHONY] = @@ -4938,7 +4938,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Anthony } + .party = {.NoItemDefaultMoves = sParty_Anthony } }, [TRAINER_BENJAMIN_1] = @@ -4952,7 +4952,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Benjamin1 } + .party = {.NoItemDefaultMoves = sParty_Benjamin1 } }, [TRAINER_BENJAMIN_2] = @@ -4966,7 +4966,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Benjamin2 } + .party = {.NoItemDefaultMoves = sParty_Benjamin2 } }, [TRAINER_BENJAMIN_3] = @@ -4980,7 +4980,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Benjamin3 } + .party = {.NoItemDefaultMoves = sParty_Benjamin3 } }, [TRAINER_BENJAMIN_4] = @@ -4994,7 +4994,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Benjamin4 } + .party = {.NoItemDefaultMoves = sParty_Benjamin4 } }, [TRAINER_BENJAMIN_5] = @@ -5008,7 +5008,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Benjamin5 } + .party = {.NoItemDefaultMoves = sParty_Benjamin5 } }, [TRAINER_ABIGAIL_1] = @@ -5022,7 +5022,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Abigail1 } + .party = {.NoItemDefaultMoves = sParty_Abigail1 } }, [TRAINER_JASMINE] = @@ -5036,7 +5036,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Jasmine } + .party = {.NoItemDefaultMoves = sParty_Jasmine } }, [TRAINER_ABIGAIL_2] = @@ -5050,7 +5050,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Abigail2 } + .party = {.NoItemDefaultMoves = sParty_Abigail2 } }, [TRAINER_ABIGAIL_3] = @@ -5064,7 +5064,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Abigail3 } + .party = {.NoItemDefaultMoves = sParty_Abigail3 } }, [TRAINER_ABIGAIL_4] = @@ -5078,7 +5078,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Abigail4 } + .party = {.NoItemDefaultMoves = sParty_Abigail4 } }, [TRAINER_ABIGAIL_5] = @@ -5092,7 +5092,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Abigail5 } + .party = {.NoItemDefaultMoves = sParty_Abigail5 } }, [TRAINER_DYLAN_1] = @@ -5106,7 +5106,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Dylan1 } + .party = {.NoItemDefaultMoves = sParty_Dylan1 } }, [TRAINER_DYLAN_2] = @@ -5120,7 +5120,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Dylan2 } + .party = {.NoItemDefaultMoves = sParty_Dylan2 } }, [TRAINER_DYLAN_3] = @@ -5134,7 +5134,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Dylan3 } + .party = {.NoItemDefaultMoves = sParty_Dylan3 } }, [TRAINER_DYLAN_4] = @@ -5148,7 +5148,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Dylan4 } + .party = {.NoItemDefaultMoves = sParty_Dylan4 } }, [TRAINER_DYLAN_5] = @@ -5162,7 +5162,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Dylan5 } + .party = {.NoItemDefaultMoves = sParty_Dylan5 } }, [TRAINER_MARIA_1] = @@ -5176,7 +5176,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Maria1 } + .party = {.NoItemDefaultMoves = sParty_Maria1 } }, [TRAINER_MARIA_2] = @@ -5190,7 +5190,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Maria2 } + .party = {.NoItemDefaultMoves = sParty_Maria2 } }, [TRAINER_MARIA_3] = @@ -5204,7 +5204,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Maria3 } + .party = {.NoItemDefaultMoves = sParty_Maria3 } }, [TRAINER_MARIA_4] = @@ -5218,7 +5218,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Maria4 } + .party = {.NoItemDefaultMoves = sParty_Maria4 } }, [TRAINER_MARIA_5] = @@ -5232,7 +5232,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Maria5 } + .party = {.NoItemDefaultMoves = sParty_Maria5 } }, [TRAINER_CAMDEN] = @@ -5246,7 +5246,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Camden } + .party = {.NoItemDefaultMoves = sParty_Camden } }, [TRAINER_DEMETRIUS] = @@ -5260,7 +5260,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Demetrius } + .party = {.NoItemDefaultMoves = sParty_Demetrius } }, [TRAINER_ISAIAH_1] = @@ -5274,7 +5274,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Isaiah1 } + .party = {.NoItemDefaultMoves = sParty_Isaiah1 } }, [TRAINER_PABLO_1] = @@ -5288,7 +5288,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Pablo1 } + .party = {.NoItemDefaultMoves = sParty_Pablo1 } }, [TRAINER_CHASE] = @@ -5302,7 +5302,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Chase } + .party = {.NoItemDefaultMoves = sParty_Chase } }, [TRAINER_ISAIAH_2] = @@ -5316,7 +5316,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Isaiah2 } + .party = {.NoItemDefaultMoves = sParty_Isaiah2 } }, [TRAINER_ISAIAH_3] = @@ -5330,7 +5330,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Isaiah3 } + .party = {.NoItemDefaultMoves = sParty_Isaiah3 } }, [TRAINER_ISAIAH_4] = @@ -5344,7 +5344,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Isaiah4 } + .party = {.NoItemDefaultMoves = sParty_Isaiah4 } }, [TRAINER_ISAIAH_5] = @@ -5358,7 +5358,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Isaiah5 } + .party = {.NoItemDefaultMoves = sParty_Isaiah5 } }, [TRAINER_ISOBEL] = @@ -5372,7 +5372,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Isobel } + .party = {.NoItemDefaultMoves = sParty_Isobel } }, [TRAINER_DONNY] = @@ -5386,7 +5386,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Donny } + .party = {.NoItemDefaultMoves = sParty_Donny } }, [TRAINER_TALIA] = @@ -5400,7 +5400,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Talia } + .party = {.NoItemDefaultMoves = sParty_Talia } }, [TRAINER_KATELYN_1] = @@ -5414,7 +5414,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Katelyn1 } + .party = {.NoItemDefaultMoves = sParty_Katelyn1 } }, [TRAINER_ALLISON] = @@ -5428,7 +5428,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Allison } + .party = {.NoItemDefaultMoves = sParty_Allison } }, [TRAINER_KATELYN_2] = @@ -5442,7 +5442,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Katelyn2 } + .party = {.NoItemDefaultMoves = sParty_Katelyn2 } }, [TRAINER_KATELYN_3] = @@ -5456,7 +5456,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Katelyn3 } + .party = {.NoItemDefaultMoves = sParty_Katelyn3 } }, [TRAINER_KATELYN_4] = @@ -5470,7 +5470,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Katelyn4 } + .party = {.NoItemDefaultMoves = sParty_Katelyn4 } }, [TRAINER_KATELYN_5] = @@ -5484,7 +5484,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Katelyn5 } + .party = {.NoItemDefaultMoves = sParty_Katelyn5 } }, [TRAINER_NICOLAS_1] = @@ -5498,7 +5498,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Nicolas1 } + .party = {.NoItemDefaultMoves = sParty_Nicolas1 } }, [TRAINER_NICOLAS_2] = @@ -5512,7 +5512,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Nicolas2 } + .party = {.NoItemDefaultMoves = sParty_Nicolas2 } }, [TRAINER_NICOLAS_3] = @@ -5526,7 +5526,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Nicolas3 } + .party = {.NoItemDefaultMoves = sParty_Nicolas3 } }, [TRAINER_NICOLAS_4] = @@ -5540,7 +5540,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Nicolas4 } + .party = {.NoItemDefaultMoves = sParty_Nicolas4 } }, [TRAINER_NICOLAS_5] = @@ -5554,7 +5554,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.ItemDefaultMoves = gTrainerParty_Nicolas5 } + .party = {.ItemDefaultMoves = sParty_Nicolas5 } }, [TRAINER_AARON] = @@ -5568,7 +5568,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Aaron } + .party = {.NoItemCustomMoves = sParty_Aaron } }, [TRAINER_PERRY] = @@ -5582,7 +5582,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Perry } + .party = {.NoItemDefaultMoves = sParty_Perry } }, [TRAINER_HUGH] = @@ -5596,7 +5596,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Hugh } + .party = {.NoItemDefaultMoves = sParty_Hugh } }, [TRAINER_PHIL] = @@ -5610,7 +5610,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Phil } + .party = {.NoItemDefaultMoves = sParty_Phil } }, [TRAINER_JARED] = @@ -5624,7 +5624,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Jared } + .party = {.NoItemDefaultMoves = sParty_Jared } }, [TRAINER_HUMBERTO] = @@ -5638,7 +5638,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Humberto } + .party = {.NoItemDefaultMoves = sParty_Humberto } }, [TRAINER_PRESLEY] = @@ -5652,7 +5652,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Presley } + .party = {.NoItemDefaultMoves = sParty_Presley } }, [TRAINER_EDWARDO] = @@ -5666,7 +5666,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Edwardo } + .party = {.NoItemDefaultMoves = sParty_Edwardo } }, [TRAINER_COLIN] = @@ -5680,7 +5680,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Colin } + .party = {.NoItemDefaultMoves = sParty_Colin } }, [TRAINER_ROBERT_1] = @@ -5694,7 +5694,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Robert1 } + .party = {.NoItemDefaultMoves = sParty_Robert1 } }, [TRAINER_BENNY] = @@ -5708,7 +5708,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Benny } + .party = {.NoItemDefaultMoves = sParty_Benny } }, [TRAINER_CHESTER] = @@ -5722,7 +5722,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Chester } + .party = {.NoItemDefaultMoves = sParty_Chester } }, [TRAINER_ROBERT_2] = @@ -5736,7 +5736,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Robert2 } + .party = {.NoItemDefaultMoves = sParty_Robert2 } }, [TRAINER_ROBERT_3] = @@ -5750,7 +5750,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Robert3 } + .party = {.NoItemDefaultMoves = sParty_Robert3 } }, [TRAINER_ROBERT_4] = @@ -5764,7 +5764,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Robert4 } + .party = {.NoItemDefaultMoves = sParty_Robert4 } }, [TRAINER_ROBERT_5] = @@ -5778,7 +5778,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Robert5 } + .party = {.NoItemDefaultMoves = sParty_Robert5 } }, [TRAINER_ALEX] = @@ -5792,7 +5792,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Alex } + .party = {.NoItemDefaultMoves = sParty_Alex } }, [TRAINER_BECK] = @@ -5806,7 +5806,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Beck } + .party = {.NoItemDefaultMoves = sParty_Beck } }, [TRAINER_YASU] = @@ -5820,7 +5820,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Yasu } + .party = {.NoItemDefaultMoves = sParty_Yasu } }, [TRAINER_TAKASHI] = @@ -5834,7 +5834,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Takashi } + .party = {.NoItemDefaultMoves = sParty_Takashi } }, [TRAINER_DIANNE] = @@ -5848,7 +5848,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 2, - .party = {.ItemCustomMoves = gTrainerParty_Dianne } + .party = {.ItemCustomMoves = sParty_Dianne } }, [TRAINER_JANI] = @@ -5862,7 +5862,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jani } + .party = {.NoItemDefaultMoves = sParty_Jani } }, [TRAINER_LAO_1] = @@ -5876,7 +5876,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 3, - .party = {.NoItemCustomMoves = gTrainerParty_Lao1 } + .party = {.NoItemCustomMoves = sParty_Lao1 } }, [TRAINER_LUNG] = @@ -5890,7 +5890,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Lung } + .party = {.NoItemDefaultMoves = sParty_Lung } }, [TRAINER_LAO_2] = @@ -5904,7 +5904,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 4, - .party = {.NoItemCustomMoves = gTrainerParty_Lao2 } + .party = {.NoItemCustomMoves = sParty_Lao2 } }, [TRAINER_LAO_3] = @@ -5918,7 +5918,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 4, - .party = {.NoItemCustomMoves = gTrainerParty_Lao3 } + .party = {.NoItemCustomMoves = sParty_Lao3 } }, [TRAINER_LAO_4] = @@ -5932,7 +5932,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 4, - .party = {.NoItemCustomMoves = gTrainerParty_Lao4 } + .party = {.NoItemCustomMoves = sParty_Lao4 } }, [TRAINER_LAO_5] = @@ -5946,7 +5946,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 4, - .party = {.ItemCustomMoves = gTrainerParty_Lao5 } + .party = {.ItemCustomMoves = sParty_Lao5 } }, [TRAINER_JOCELYN] = @@ -5960,7 +5960,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jocelyn } + .party = {.NoItemDefaultMoves = sParty_Jocelyn } }, [TRAINER_LAURA] = @@ -5974,7 +5974,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Laura } + .party = {.NoItemDefaultMoves = sParty_Laura } }, [TRAINER_CYNDY_1] = @@ -5988,7 +5988,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Cyndy1 } + .party = {.NoItemDefaultMoves = sParty_Cyndy1 } }, [TRAINER_CORA] = @@ -6002,7 +6002,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Cora } + .party = {.NoItemDefaultMoves = sParty_Cora } }, [TRAINER_PAULA] = @@ -6016,7 +6016,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Paula } + .party = {.NoItemDefaultMoves = sParty_Paula } }, [TRAINER_CYNDY_2] = @@ -6030,7 +6030,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Cyndy2 } + .party = {.NoItemDefaultMoves = sParty_Cyndy2 } }, [TRAINER_CYNDY_3] = @@ -6044,7 +6044,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Cyndy3 } + .party = {.NoItemDefaultMoves = sParty_Cyndy3 } }, [TRAINER_CYNDY_4] = @@ -6058,7 +6058,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Cyndy4 } + .party = {.NoItemDefaultMoves = sParty_Cyndy4 } }, [TRAINER_CYNDY_5] = @@ -6072,7 +6072,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Cyndy5 } + .party = {.NoItemDefaultMoves = sParty_Cyndy5 } }, [TRAINER_MADELINE_1] = @@ -6086,7 +6086,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Madeline1 } + .party = {.NoItemCustomMoves = sParty_Madeline1 } }, [TRAINER_CLARISSA] = @@ -6100,7 +6100,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Clarissa } + .party = {.NoItemDefaultMoves = sParty_Clarissa } }, [TRAINER_ANGELICA] = @@ -6114,7 +6114,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Angelica } + .party = {.NoItemCustomMoves = sParty_Angelica } }, [TRAINER_MADELINE_2] = @@ -6128,7 +6128,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Madeline2 } + .party = {.NoItemCustomMoves = sParty_Madeline2 } }, [TRAINER_MADELINE_3] = @@ -6142,7 +6142,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Madeline3 } + .party = {.NoItemCustomMoves = sParty_Madeline3 } }, [TRAINER_MADELINE_4] = @@ -6156,7 +6156,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Madeline4 } + .party = {.NoItemCustomMoves = sParty_Madeline4 } }, [TRAINER_MADELINE_5] = @@ -6170,7 +6170,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Madeline5 } + .party = {.NoItemCustomMoves = sParty_Madeline5 } }, [TRAINER_BEVERLY] = @@ -6184,7 +6184,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Beverly } + .party = {.NoItemDefaultMoves = sParty_Beverly } }, [TRAINER_IMANI] = @@ -6198,7 +6198,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Imani } + .party = {.NoItemDefaultMoves = sParty_Imani } }, [TRAINER_KYLA] = @@ -6212,7 +6212,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Kyla } + .party = {.NoItemDefaultMoves = sParty_Kyla } }, [TRAINER_DENISE] = @@ -6226,7 +6226,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Denise } + .party = {.NoItemDefaultMoves = sParty_Denise } }, [TRAINER_BETH] = @@ -6240,7 +6240,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Beth } + .party = {.NoItemDefaultMoves = sParty_Beth } }, [TRAINER_TARA] = @@ -6254,7 +6254,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Tara } + .party = {.NoItemDefaultMoves = sParty_Tara } }, [TRAINER_MISSY] = @@ -6268,7 +6268,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Missy } + .party = {.NoItemDefaultMoves = sParty_Missy } }, [TRAINER_ALICE] = @@ -6282,7 +6282,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Alice } + .party = {.NoItemDefaultMoves = sParty_Alice } }, [TRAINER_JENNY_1] = @@ -6296,7 +6296,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jenny1 } + .party = {.NoItemDefaultMoves = sParty_Jenny1 } }, [TRAINER_GRACE] = @@ -6310,7 +6310,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grace } + .party = {.NoItemDefaultMoves = sParty_Grace } }, [TRAINER_TANYA] = @@ -6324,7 +6324,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Tanya } + .party = {.NoItemDefaultMoves = sParty_Tanya } }, [TRAINER_SHARON] = @@ -6338,7 +6338,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Sharon } + .party = {.NoItemDefaultMoves = sParty_Sharon } }, [TRAINER_NIKKI] = @@ -6352,7 +6352,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Nikki } + .party = {.NoItemDefaultMoves = sParty_Nikki } }, [TRAINER_BRENDA] = @@ -6366,7 +6366,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Brenda } + .party = {.NoItemDefaultMoves = sParty_Brenda } }, [TRAINER_KATIE] = @@ -6380,7 +6380,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Katie } + .party = {.NoItemDefaultMoves = sParty_Katie } }, [TRAINER_SUSIE] = @@ -6394,7 +6394,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Susie } + .party = {.NoItemDefaultMoves = sParty_Susie } }, [TRAINER_KARA] = @@ -6408,7 +6408,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Kara } + .party = {.NoItemDefaultMoves = sParty_Kara } }, [TRAINER_DANA] = @@ -6422,7 +6422,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Dana } + .party = {.NoItemDefaultMoves = sParty_Dana } }, [TRAINER_SIENNA] = @@ -6436,7 +6436,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Sienna } + .party = {.NoItemDefaultMoves = sParty_Sienna } }, [TRAINER_DEBRA] = @@ -6450,7 +6450,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Debra } + .party = {.NoItemDefaultMoves = sParty_Debra } }, [TRAINER_LINDA] = @@ -6464,7 +6464,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Linda } + .party = {.NoItemDefaultMoves = sParty_Linda } }, [TRAINER_KAYLEE] = @@ -6478,7 +6478,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Kaylee } + .party = {.NoItemDefaultMoves = sParty_Kaylee } }, [TRAINER_LAUREL] = @@ -6492,7 +6492,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Laurel } + .party = {.NoItemDefaultMoves = sParty_Laurel } }, [TRAINER_CARLEE] = @@ -6506,7 +6506,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Carlee } + .party = {.NoItemDefaultMoves = sParty_Carlee } }, [TRAINER_JENNY_2] = @@ -6520,7 +6520,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jenny2 } + .party = {.NoItemDefaultMoves = sParty_Jenny2 } }, [TRAINER_JENNY_3] = @@ -6534,7 +6534,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jenny3 } + .party = {.NoItemDefaultMoves = sParty_Jenny3 } }, [TRAINER_JENNY_4] = @@ -6548,7 +6548,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Jenny4 } + .party = {.NoItemDefaultMoves = sParty_Jenny4 } }, [TRAINER_JENNY_5] = @@ -6562,7 +6562,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Jenny5 } + .party = {.NoItemDefaultMoves = sParty_Jenny5 } }, [TRAINER_HEIDI] = @@ -6576,7 +6576,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Heidi } + .party = {.NoItemCustomMoves = sParty_Heidi } }, [TRAINER_BECKY] = @@ -6590,7 +6590,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Becky } + .party = {.NoItemCustomMoves = sParty_Becky } }, [TRAINER_CAROL] = @@ -6604,7 +6604,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Carol } + .party = {.NoItemDefaultMoves = sParty_Carol } }, [TRAINER_NANCY] = @@ -6618,7 +6618,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Nancy } + .party = {.NoItemDefaultMoves = sParty_Nancy } }, [TRAINER_MARTHA] = @@ -6632,7 +6632,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Martha } + .party = {.NoItemDefaultMoves = sParty_Martha } }, [TRAINER_DIANA_1] = @@ -6646,7 +6646,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Diana1 } + .party = {.NoItemDefaultMoves = sParty_Diana1 } }, [TRAINER_CEDRIC] = @@ -6660,7 +6660,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Cedric } + .party = {.NoItemCustomMoves = sParty_Cedric } }, [TRAINER_IRENE] = @@ -6674,7 +6674,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Irene } + .party = {.NoItemDefaultMoves = sParty_Irene } }, [TRAINER_DIANA_2] = @@ -6688,7 +6688,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Diana2 } + .party = {.NoItemDefaultMoves = sParty_Diana2 } }, [TRAINER_DIANA_3] = @@ -6702,7 +6702,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Diana3 } + .party = {.NoItemDefaultMoves = sParty_Diana3 } }, [TRAINER_DIANA_4] = @@ -6716,7 +6716,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Diana4 } + .party = {.NoItemDefaultMoves = sParty_Diana4 } }, [TRAINER_DIANA_5] = @@ -6730,7 +6730,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Diana5 } + .party = {.NoItemDefaultMoves = sParty_Diana5 } }, [TRAINER_AMY_AND_LIV_1] = @@ -6744,7 +6744,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_AmyAndLiv1 } + .party = {.NoItemDefaultMoves = sParty_AmyAndLiv1 } }, [TRAINER_AMY_AND_LIV_2] = @@ -6758,7 +6758,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_AmyAndLiv2 } + .party = {.NoItemDefaultMoves = sParty_AmyAndLiv2 } }, [TRAINER_GINA_AND_MIA_1] = @@ -6772,7 +6772,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_GinaAndMia1 } + .party = {.NoItemDefaultMoves = sParty_GinaAndMia1 } }, [TRAINER_MIU_AND_YUKI] = @@ -6786,7 +6786,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_MiuAndYuki } + .party = {.NoItemDefaultMoves = sParty_MiuAndYuki } }, [TRAINER_AMY_AND_LIV_3] = @@ -6800,7 +6800,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_AmyAndLiv3 } + .party = {.NoItemDefaultMoves = sParty_AmyAndLiv3 } }, [TRAINER_GINA_AND_MIA_2] = @@ -6814,7 +6814,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_GinaAndMia2 } + .party = {.NoItemCustomMoves = sParty_GinaAndMia2 } }, [TRAINER_AMY_AND_LIV_4] = @@ -6828,7 +6828,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_AmyAndLiv4 } + .party = {.NoItemDefaultMoves = sParty_AmyAndLiv4 } }, [TRAINER_AMY_AND_LIV_5] = @@ -6842,7 +6842,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_AmyAndLiv5 } + .party = {.NoItemCustomMoves = sParty_AmyAndLiv5 } }, [TRAINER_AMY_AND_LIV_6] = @@ -6856,7 +6856,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_AmyAndLiv6 } + .party = {.NoItemCustomMoves = sParty_AmyAndLiv6 } }, [TRAINER_HUEY] = @@ -6870,7 +6870,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Huey } + .party = {.NoItemDefaultMoves = sParty_Huey } }, [TRAINER_EDMOND] = @@ -6884,7 +6884,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Edmond } + .party = {.NoItemDefaultMoves = sParty_Edmond } }, [TRAINER_ERNEST_1] = @@ -6898,7 +6898,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Ernest1 } + .party = {.NoItemDefaultMoves = sParty_Ernest1 } }, [TRAINER_DWAYNE] = @@ -6912,7 +6912,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Dwayne } + .party = {.NoItemDefaultMoves = sParty_Dwayne } }, [TRAINER_PHILLIP] = @@ -6926,7 +6926,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Phillip } + .party = {.NoItemDefaultMoves = sParty_Phillip } }, [TRAINER_LEONARD] = @@ -6940,7 +6940,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Leonard } + .party = {.NoItemDefaultMoves = sParty_Leonard } }, [TRAINER_DUNCAN] = @@ -6954,7 +6954,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Duncan } + .party = {.NoItemDefaultMoves = sParty_Duncan } }, [TRAINER_ERNEST_2] = @@ -6968,7 +6968,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Ernest2 } + .party = {.NoItemDefaultMoves = sParty_Ernest2 } }, [TRAINER_ERNEST_3] = @@ -6982,7 +6982,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Ernest3 } + .party = {.NoItemDefaultMoves = sParty_Ernest3 } }, [TRAINER_ERNEST_4] = @@ -6996,7 +6996,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Ernest4 } + .party = {.NoItemDefaultMoves = sParty_Ernest4 } }, [TRAINER_ERNEST_5] = @@ -7010,7 +7010,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Ernest5 } + .party = {.NoItemDefaultMoves = sParty_Ernest5 } }, [TRAINER_ELI] = @@ -7024,7 +7024,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Eli } + .party = {.NoItemDefaultMoves = sParty_Eli } }, [TRAINER_ANNIKA] = @@ -7038,7 +7038,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.ItemCustomMoves = gTrainerParty_Annika } + .party = {.ItemCustomMoves = sParty_Annika } }, [TRAINER_JAZMYN] = @@ -7052,7 +7052,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jazmyn } + .party = {.NoItemDefaultMoves = sParty_Jazmyn } }, [TRAINER_JONAS] = @@ -7066,7 +7066,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Jonas } + .party = {.NoItemCustomMoves = sParty_Jonas } }, [TRAINER_KAYLEY] = @@ -7080,7 +7080,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Kayley } + .party = {.NoItemCustomMoves = sParty_Kayley } }, [TRAINER_AURON] = @@ -7094,7 +7094,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Auron } + .party = {.NoItemDefaultMoves = sParty_Auron } }, [TRAINER_KELVIN] = @@ -7108,7 +7108,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Kelvin } + .party = {.NoItemDefaultMoves = sParty_Kelvin } }, [TRAINER_MARLEY] = @@ -7122,7 +7122,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.ItemCustomMoves = gTrainerParty_Marley } + .party = {.ItemCustomMoves = sParty_Marley } }, [TRAINER_REYNA] = @@ -7136,7 +7136,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Reyna } + .party = {.NoItemDefaultMoves = sParty_Reyna } }, [TRAINER_HUDSON] = @@ -7150,7 +7150,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Hudson } + .party = {.NoItemDefaultMoves = sParty_Hudson } }, [TRAINER_CONOR] = @@ -7164,7 +7164,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Conor } + .party = {.NoItemDefaultMoves = sParty_Conor } }, [TRAINER_EDWIN_1] = @@ -7178,7 +7178,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Edwin1 } + .party = {.NoItemDefaultMoves = sParty_Edwin1 } }, [TRAINER_HECTOR] = @@ -7192,7 +7192,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Hector } + .party = {.NoItemDefaultMoves = sParty_Hector } }, [TRAINER_TABITHA_1] = @@ -7206,7 +7206,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Tabitha1 } + .party = {.NoItemDefaultMoves = sParty_Tabitha1 } }, [TRAINER_EDWIN_2] = @@ -7220,7 +7220,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Edwin2 } + .party = {.NoItemDefaultMoves = sParty_Edwin2 } }, [TRAINER_EDWIN_3] = @@ -7234,7 +7234,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Edwin3 } + .party = {.NoItemDefaultMoves = sParty_Edwin3 } }, [TRAINER_EDWIN_4] = @@ -7248,7 +7248,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Edwin4 } + .party = {.NoItemDefaultMoves = sParty_Edwin4 } }, [TRAINER_EDWIN_5] = @@ -7262,7 +7262,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Edwin5 } + .party = {.NoItemDefaultMoves = sParty_Edwin5 } }, [TRAINER_WALLY_1] = @@ -7276,7 +7276,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.NoItemCustomMoves = gTrainerParty_Wally1 } + .party = {.NoItemCustomMoves = sParty_Wally1 } }, [TRAINER_BRENDAN_1] = @@ -7290,7 +7290,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan1 } + .party = {.NoItemDefaultMoves = sParty_Brendan1 } }, [TRAINER_BRENDAN_2] = @@ -7304,7 +7304,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan2 } + .party = {.NoItemDefaultMoves = sParty_Brendan2 } }, [TRAINER_BRENDAN_3] = @@ -7318,7 +7318,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan3 } + .party = {.NoItemDefaultMoves = sParty_Brendan3 } }, [TRAINER_BRENDAN_4] = @@ -7332,7 +7332,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan4 } + .party = {.NoItemDefaultMoves = sParty_Brendan4 } }, [TRAINER_BRENDAN_5] = @@ -7346,7 +7346,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan5 } + .party = {.NoItemDefaultMoves = sParty_Brendan5 } }, [TRAINER_BRENDAN_6] = @@ -7360,7 +7360,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan6 } + .party = {.NoItemDefaultMoves = sParty_Brendan6 } }, [TRAINER_BRENDAN_7] = @@ -7374,7 +7374,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan7 } + .party = {.NoItemDefaultMoves = sParty_Brendan7 } }, [TRAINER_BRENDAN_8] = @@ -7388,7 +7388,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan8 } + .party = {.NoItemDefaultMoves = sParty_Brendan8 } }, [TRAINER_BRENDAN_9] = @@ -7402,7 +7402,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan9 } + .party = {.NoItemDefaultMoves = sParty_Brendan9 } }, [TRAINER_MAY_1] = @@ -7416,7 +7416,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_May1 } + .party = {.NoItemDefaultMoves = sParty_May1 } }, [TRAINER_MAY_2] = @@ -7430,7 +7430,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_May2 } + .party = {.NoItemDefaultMoves = sParty_May2 } }, [TRAINER_MAY_3] = @@ -7444,7 +7444,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_May3 } + .party = {.NoItemDefaultMoves = sParty_May3 } }, [TRAINER_MAY_4] = @@ -7458,7 +7458,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_May4 } + .party = {.NoItemDefaultMoves = sParty_May4 } }, [TRAINER_MAY_5] = @@ -7472,7 +7472,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_May5 } + .party = {.NoItemDefaultMoves = sParty_May5 } }, [TRAINER_MAY_6] = @@ -7486,7 +7486,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_May6 } + .party = {.NoItemDefaultMoves = sParty_May6 } }, [TRAINER_MAY_7] = @@ -7500,7 +7500,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_May7 } + .party = {.NoItemDefaultMoves = sParty_May7 } }, [TRAINER_MAY_8] = @@ -7514,7 +7514,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_May8 } + .party = {.NoItemDefaultMoves = sParty_May8 } }, [TRAINER_MAY_9] = @@ -7528,7 +7528,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_May9 } + .party = {.NoItemDefaultMoves = sParty_May9 } }, [TRAINER_ISAAC_1] = @@ -7542,7 +7542,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Isaac1 } + .party = {.NoItemDefaultMoves = sParty_Isaac1 } }, [TRAINER_DAVIS] = @@ -7556,7 +7556,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Davis } + .party = {.NoItemDefaultMoves = sParty_Davis } }, [TRAINER_MITCHELL] = @@ -7570,7 +7570,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Mitchell } + .party = {.NoItemCustomMoves = sParty_Mitchell } }, [TRAINER_ISAAC_2] = @@ -7584,7 +7584,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Isaac2 } + .party = {.NoItemDefaultMoves = sParty_Isaac2 } }, [TRAINER_ISAAC_3] = @@ -7598,7 +7598,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Isaac3 } + .party = {.NoItemDefaultMoves = sParty_Isaac3 } }, [TRAINER_ISAAC_4] = @@ -7612,7 +7612,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Isaac4 } + .party = {.NoItemDefaultMoves = sParty_Isaac4 } }, [TRAINER_ISAAC_5] = @@ -7626,7 +7626,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Isaac5 } + .party = {.NoItemDefaultMoves = sParty_Isaac5 } }, [TRAINER_LYDIA_1] = @@ -7640,7 +7640,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Lydia1 } + .party = {.NoItemDefaultMoves = sParty_Lydia1 } }, [TRAINER_HALLE] = @@ -7654,7 +7654,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Halle } + .party = {.NoItemDefaultMoves = sParty_Halle } }, [TRAINER_GARRISON] = @@ -7668,7 +7668,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Garrison } + .party = {.NoItemDefaultMoves = sParty_Garrison } }, [TRAINER_LYDIA_2] = @@ -7682,7 +7682,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Lydia2 } + .party = {.NoItemDefaultMoves = sParty_Lydia2 } }, [TRAINER_LYDIA_3] = @@ -7696,7 +7696,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Lydia3 } + .party = {.NoItemDefaultMoves = sParty_Lydia3 } }, [TRAINER_LYDIA_4] = @@ -7710,7 +7710,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Lydia4 } + .party = {.NoItemDefaultMoves = sParty_Lydia4 } }, [TRAINER_LYDIA_5] = @@ -7724,7 +7724,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Lydia5 } + .party = {.NoItemDefaultMoves = sParty_Lydia5 } }, [TRAINER_JACKSON_1] = @@ -7738,7 +7738,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jackson1 } + .party = {.NoItemDefaultMoves = sParty_Jackson1 } }, [TRAINER_LORENZO] = @@ -7752,7 +7752,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Lorenzo } + .party = {.NoItemDefaultMoves = sParty_Lorenzo } }, [TRAINER_SEBASTIAN] = @@ -7766,7 +7766,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Sebastian } + .party = {.NoItemDefaultMoves = sParty_Sebastian } }, [TRAINER_JACKSON_2] = @@ -7780,7 +7780,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jackson2 } + .party = {.NoItemDefaultMoves = sParty_Jackson2 } }, [TRAINER_JACKSON_3] = @@ -7794,7 +7794,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jackson3 } + .party = {.NoItemDefaultMoves = sParty_Jackson3 } }, [TRAINER_JACKSON_4] = @@ -7808,7 +7808,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jackson4 } + .party = {.NoItemDefaultMoves = sParty_Jackson4 } }, [TRAINER_JACKSON_5] = @@ -7822,7 +7822,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Jackson5 } + .party = {.NoItemDefaultMoves = sParty_Jackson5 } }, [TRAINER_CATHERINE_1] = @@ -7836,7 +7836,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Catherine1 } + .party = {.NoItemDefaultMoves = sParty_Catherine1 } }, [TRAINER_JENNA] = @@ -7850,7 +7850,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Jenna } + .party = {.NoItemDefaultMoves = sParty_Jenna } }, [TRAINER_SOPHIA] = @@ -7864,7 +7864,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Sophia } + .party = {.NoItemDefaultMoves = sParty_Sophia } }, [TRAINER_CATHERINE_2] = @@ -7878,7 +7878,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Catherine2 } + .party = {.NoItemDefaultMoves = sParty_Catherine2 } }, [TRAINER_CATHERINE_3] = @@ -7892,7 +7892,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Catherine3 } + .party = {.NoItemDefaultMoves = sParty_Catherine3 } }, [TRAINER_CATHERINE_4] = @@ -7906,7 +7906,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Catherine4 } + .party = {.NoItemDefaultMoves = sParty_Catherine4 } }, [TRAINER_CATHERINE_5] = @@ -7920,7 +7920,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Catherine5 } + .party = {.NoItemDefaultMoves = sParty_Catherine5 } }, [TRAINER_JULIO] = @@ -7934,7 +7934,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Julio } + .party = {.NoItemDefaultMoves = sParty_Julio } }, [TRAINER_GRUNT_27] = @@ -7948,7 +7948,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt27 } + .party = {.NoItemDefaultMoves = sParty_Grunt27 } }, [TRAINER_GRUNT_28] = @@ -7962,7 +7962,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt28 } + .party = {.NoItemDefaultMoves = sParty_Grunt28 } }, [TRAINER_GRUNT_29] = @@ -7976,7 +7976,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt29 } + .party = {.NoItemDefaultMoves = sParty_Grunt29 } }, [TRAINER_GRUNT_30] = @@ -7990,7 +7990,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt30 } + .party = {.NoItemDefaultMoves = sParty_Grunt30 } }, [TRAINER_MARC] = @@ -8004,7 +8004,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Marc } + .party = {.NoItemDefaultMoves = sParty_Marc } }, [TRAINER_BRENDEN] = @@ -8018,7 +8018,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Brenden } + .party = {.NoItemDefaultMoves = sParty_Brenden } }, [TRAINER_LILITH] = @@ -8032,7 +8032,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Lilith } + .party = {.NoItemDefaultMoves = sParty_Lilith } }, [TRAINER_CRISTIAN] = @@ -8046,7 +8046,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Cristian } + .party = {.NoItemDefaultMoves = sParty_Cristian } }, [TRAINER_SYLVIA] = @@ -8060,7 +8060,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Sylvia } + .party = {.NoItemDefaultMoves = sParty_Sylvia } }, [TRAINER_LEONARDO] = @@ -8074,7 +8074,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Leonardo } + .party = {.NoItemDefaultMoves = sParty_Leonardo } }, [TRAINER_ATHENA] = @@ -8088,7 +8088,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.ItemCustomMoves = gTrainerParty_Athena } + .party = {.ItemCustomMoves = sParty_Athena } }, [TRAINER_HARRISON] = @@ -8102,7 +8102,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Harrison } + .party = {.NoItemDefaultMoves = sParty_Harrison } }, [TRAINER_GRUNT_31] = @@ -8116,7 +8116,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt31 } + .party = {.NoItemDefaultMoves = sParty_Grunt31 } }, [TRAINER_CLARENCE] = @@ -8130,7 +8130,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Clarence } + .party = {.NoItemDefaultMoves = sParty_Clarence } }, [TRAINER_TERRY] = @@ -8144,7 +8144,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Terry } + .party = {.NoItemDefaultMoves = sParty_Terry } }, [TRAINER_NATE] = @@ -8158,7 +8158,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Nate } + .party = {.NoItemDefaultMoves = sParty_Nate } }, [TRAINER_KATHLEEN] = @@ -8172,7 +8172,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Kathleen } + .party = {.NoItemDefaultMoves = sParty_Kathleen } }, [TRAINER_CLIFFORD] = @@ -8186,7 +8186,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Clifford } + .party = {.NoItemDefaultMoves = sParty_Clifford } }, [TRAINER_NICHOLAS] = @@ -8200,7 +8200,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Nicholas } + .party = {.NoItemDefaultMoves = sParty_Nicholas } }, [TRAINER_GRUNT_32] = @@ -8214,7 +8214,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt32 } + .party = {.NoItemDefaultMoves = sParty_Grunt32 } }, [TRAINER_GRUNT_33] = @@ -8228,7 +8228,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt33 } + .party = {.NoItemDefaultMoves = sParty_Grunt33 } }, [TRAINER_GRUNT_34] = @@ -8242,7 +8242,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt34 } + .party = {.NoItemDefaultMoves = sParty_Grunt34 } }, [TRAINER_GRUNT_35] = @@ -8256,7 +8256,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt35 } + .party = {.NoItemDefaultMoves = sParty_Grunt35 } }, [TRAINER_GRUNT_36] = @@ -8270,7 +8270,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt36 } + .party = {.NoItemDefaultMoves = sParty_Grunt36 } }, [TRAINER_MACEY] = @@ -8284,7 +8284,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Macey } + .party = {.NoItemDefaultMoves = sParty_Macey } }, [TRAINER_BRENDAN_10] = @@ -8298,7 +8298,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan10 } + .party = {.NoItemDefaultMoves = sParty_Brendan10 } }, [TRAINER_BRENDAN_11] = @@ -8312,7 +8312,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan11 } + .party = {.NoItemDefaultMoves = sParty_Brendan11 } }, [TRAINER_PAXTON] = @@ -8326,7 +8326,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Paxton } + .party = {.NoItemDefaultMoves = sParty_Paxton } }, [TRAINER_ISABELLA] = @@ -8340,7 +8340,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Isabella } + .party = {.NoItemDefaultMoves = sParty_Isabella } }, [TRAINER_GRUNT_37] = @@ -8354,7 +8354,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt37 } + .party = {.NoItemDefaultMoves = sParty_Grunt37 } }, [TRAINER_TABITHA_2] = @@ -8368,7 +8368,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Tabitha2 } + .party = {.NoItemDefaultMoves = sParty_Tabitha2 } }, [TRAINER_JONATHAN] = @@ -8382,7 +8382,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Jonathan } + .party = {.NoItemDefaultMoves = sParty_Jonathan } }, [TRAINER_BRENDAN_12] = @@ -8396,7 +8396,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan12 } + .party = {.NoItemDefaultMoves = sParty_Brendan12 } }, [TRAINER_MAY_10] = @@ -8410,7 +8410,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_May10 } + .party = {.NoItemDefaultMoves = sParty_May10 } }, [TRAINER_MAXIE_1] = @@ -8424,7 +8424,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Maxie1 } + .party = {.NoItemDefaultMoves = sParty_Maxie1 } }, [TRAINER_MAXIE_2] = @@ -8438,7 +8438,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Maxie2 } + .party = {.NoItemDefaultMoves = sParty_Maxie2 } }, [TRAINER_TIANA] = @@ -8452,7 +8452,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Tiana } + .party = {.NoItemDefaultMoves = sParty_Tiana } }, [TRAINER_HALEY_1] = @@ -8466,7 +8466,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Haley1 } + .party = {.NoItemDefaultMoves = sParty_Haley1 } }, [TRAINER_JANICE] = @@ -8480,7 +8480,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Janice } + .party = {.NoItemDefaultMoves = sParty_Janice } }, [TRAINER_VIVI] = @@ -8494,7 +8494,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Vivi } + .party = {.NoItemDefaultMoves = sParty_Vivi } }, [TRAINER_HALEY_2] = @@ -8508,7 +8508,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Haley2 } + .party = {.NoItemDefaultMoves = sParty_Haley2 } }, [TRAINER_HALEY_3] = @@ -8522,7 +8522,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Haley3 } + .party = {.NoItemDefaultMoves = sParty_Haley3 } }, [TRAINER_HALEY_4] = @@ -8536,7 +8536,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Haley4 } + .party = {.NoItemDefaultMoves = sParty_Haley4 } }, [TRAINER_HALEY_5] = @@ -8550,7 +8550,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Haley5 } + .party = {.NoItemDefaultMoves = sParty_Haley5 } }, [TRAINER_SALLY] = @@ -8564,7 +8564,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Sally } + .party = {.NoItemDefaultMoves = sParty_Sally } }, [TRAINER_ROBIN] = @@ -8578,7 +8578,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Robin } + .party = {.NoItemDefaultMoves = sParty_Robin } }, [TRAINER_ANDREA] = @@ -8592,7 +8592,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Andrea } + .party = {.NoItemDefaultMoves = sParty_Andrea } }, [TRAINER_CRISSY] = @@ -8606,7 +8606,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Crissy } + .party = {.NoItemDefaultMoves = sParty_Crissy } }, [TRAINER_RICK] = @@ -8620,7 +8620,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Rick } + .party = {.NoItemDefaultMoves = sParty_Rick } }, [TRAINER_LYLE] = @@ -8634,7 +8634,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Lyle } + .party = {.NoItemDefaultMoves = sParty_Lyle } }, [TRAINER_JOSE] = @@ -8648,7 +8648,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Jose } + .party = {.NoItemDefaultMoves = sParty_Jose } }, [TRAINER_DOUG] = @@ -8662,7 +8662,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Doug } + .party = {.NoItemDefaultMoves = sParty_Doug } }, [TRAINER_GREG] = @@ -8676,7 +8676,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Greg } + .party = {.NoItemDefaultMoves = sParty_Greg } }, [TRAINER_KENT] = @@ -8690,7 +8690,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Kent } + .party = {.NoItemDefaultMoves = sParty_Kent } }, [TRAINER_JAMES_1] = @@ -8704,7 +8704,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_James1 } + .party = {.NoItemDefaultMoves = sParty_James1 } }, [TRAINER_JAMES_2] = @@ -8718,7 +8718,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_James2 } + .party = {.NoItemDefaultMoves = sParty_James2 } }, [TRAINER_JAMES_3] = @@ -8732,7 +8732,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_James3 } + .party = {.NoItemDefaultMoves = sParty_James3 } }, [TRAINER_JAMES_4] = @@ -8746,7 +8746,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_James4 } + .party = {.NoItemDefaultMoves = sParty_James4 } }, [TRAINER_JAMES_5] = @@ -8760,7 +8760,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_James5 } + .party = {.NoItemDefaultMoves = sParty_James5 } }, [TRAINER_BRICE] = @@ -8774,7 +8774,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Brice } + .party = {.NoItemDefaultMoves = sParty_Brice } }, [TRAINER_TRENT_1] = @@ -8788,7 +8788,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Trent1 } + .party = {.NoItemDefaultMoves = sParty_Trent1 } }, [TRAINER_LENNY] = @@ -8802,7 +8802,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Lenny } + .party = {.NoItemDefaultMoves = sParty_Lenny } }, [TRAINER_LUCAS_1] = @@ -8816,7 +8816,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Lucas1 } + .party = {.NoItemDefaultMoves = sParty_Lucas1 } }, [TRAINER_ALAN] = @@ -8830,7 +8830,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Alan } + .party = {.NoItemDefaultMoves = sParty_Alan } }, [TRAINER_CLARK] = @@ -8844,7 +8844,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Clark } + .party = {.NoItemDefaultMoves = sParty_Clark } }, [TRAINER_ERIC] = @@ -8858,7 +8858,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Eric } + .party = {.NoItemDefaultMoves = sParty_Eric } }, [TRAINER_LUCAS_2] = @@ -8872,7 +8872,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Lucas2 } + .party = {.NoItemCustomMoves = sParty_Lucas2 } }, [TRAINER_MIKE_1] = @@ -8886,7 +8886,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Mike1 } + .party = {.NoItemCustomMoves = sParty_Mike1 } }, [TRAINER_MIKE_2] = @@ -8900,7 +8900,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Mike2 } + .party = {.NoItemDefaultMoves = sParty_Mike2 } }, [TRAINER_TRENT_2] = @@ -8914,7 +8914,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Trent2 } + .party = {.NoItemDefaultMoves = sParty_Trent2 } }, [TRAINER_TRENT_3] = @@ -8928,7 +8928,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Trent3 } + .party = {.NoItemDefaultMoves = sParty_Trent3 } }, [TRAINER_TRENT_4] = @@ -8942,7 +8942,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Trent4 } + .party = {.NoItemDefaultMoves = sParty_Trent4 } }, [TRAINER_TRENT_5] = @@ -8956,7 +8956,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Trent5 } + .party = {.NoItemDefaultMoves = sParty_Trent5 } }, [TRAINER_DEZ_AND_LUKE] = @@ -8970,7 +8970,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_DezAndLuke } + .party = {.NoItemDefaultMoves = sParty_DezAndLuke } }, [TRAINER_LEA_AND_JED] = @@ -8984,7 +8984,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_LeaAndJed } + .party = {.NoItemDefaultMoves = sParty_LeaAndJed } }, [TRAINER_KIRA_AND_DAN_1] = @@ -8998,7 +8998,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_KiraAndDan1 } + .party = {.NoItemDefaultMoves = sParty_KiraAndDan1 } }, [TRAINER_KIRA_AND_DAN_2] = @@ -9012,7 +9012,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_KiraAndDan2 } + .party = {.NoItemDefaultMoves = sParty_KiraAndDan2 } }, [TRAINER_KIRA_AND_DAN_3] = @@ -9026,7 +9026,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_KiraAndDan3 } + .party = {.NoItemDefaultMoves = sParty_KiraAndDan3 } }, [TRAINER_KIRA_AND_DAN_4] = @@ -9040,7 +9040,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_KiraAndDan4 } + .party = {.NoItemDefaultMoves = sParty_KiraAndDan4 } }, [TRAINER_KIRA_AND_DAN_5] = @@ -9054,7 +9054,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_KiraAndDan5 } + .party = {.NoItemDefaultMoves = sParty_KiraAndDan5 } }, [TRAINER_JOHANNA] = @@ -9068,7 +9068,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Johanna } + .party = {.NoItemDefaultMoves = sParty_Johanna } }, [TRAINER_GERALD] = @@ -9082,7 +9082,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Gerald } + .party = {.NoItemCustomMoves = sParty_Gerald } }, [TRAINER_VIVIAN] = @@ -9096,7 +9096,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Vivian } + .party = {.NoItemCustomMoves = sParty_Vivian } }, [TRAINER_DANIELLE] = @@ -9110,7 +9110,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Danielle } + .party = {.NoItemCustomMoves = sParty_Danielle } }, [TRAINER_HIDEO] = @@ -9124,7 +9124,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Hideo } + .party = {.NoItemCustomMoves = sParty_Hideo } }, [TRAINER_KEIGO] = @@ -9138,7 +9138,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Keigo } + .party = {.NoItemCustomMoves = sParty_Keigo } }, [TRAINER_RILEY] = @@ -9152,7 +9152,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Riley } + .party = {.NoItemCustomMoves = sParty_Riley } }, [TRAINER_FLINT] = @@ -9166,7 +9166,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Flint } + .party = {.NoItemDefaultMoves = sParty_Flint } }, [TRAINER_ASHLEY] = @@ -9180,7 +9180,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Ashley } + .party = {.NoItemDefaultMoves = sParty_Ashley } }, [TRAINER_WALLY_2] = @@ -9194,7 +9194,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Wally2 } + .party = {.NoItemDefaultMoves = sParty_Wally2 } }, [TRAINER_WALLY_3] = @@ -9208,7 +9208,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.NoItemCustomMoves = gTrainerParty_Wally3 } + .party = {.NoItemCustomMoves = sParty_Wally3 } }, [TRAINER_WALLY_4] = @@ -9222,7 +9222,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.NoItemCustomMoves = gTrainerParty_Wally4 } + .party = {.NoItemCustomMoves = sParty_Wally4 } }, [TRAINER_WALLY_5] = @@ -9236,7 +9236,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.NoItemCustomMoves = gTrainerParty_Wally5 } + .party = {.NoItemCustomMoves = sParty_Wally5 } }, [TRAINER_WALLY_6] = @@ -9250,7 +9250,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.NoItemCustomMoves = gTrainerParty_Wally6 } + .party = {.NoItemCustomMoves = sParty_Wally6 } }, [TRAINER_BRENDAN_13] = @@ -9264,7 +9264,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan13 } + .party = {.NoItemDefaultMoves = sParty_Brendan13 } }, [TRAINER_BRENDAN_14] = @@ -9278,7 +9278,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan14 } + .party = {.NoItemDefaultMoves = sParty_Brendan14 } }, [TRAINER_BRENDAN_15] = @@ -9292,7 +9292,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan15 } + .party = {.NoItemDefaultMoves = sParty_Brendan15 } }, [TRAINER_MAY_11] = @@ -9306,7 +9306,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_May11 } + .party = {.NoItemDefaultMoves = sParty_May11 } }, [TRAINER_MAY_12] = @@ -9320,7 +9320,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_May12 } + .party = {.NoItemDefaultMoves = sParty_May12 } }, [TRAINER_MAY_13] = @@ -9334,7 +9334,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_May13 } + .party = {.NoItemDefaultMoves = sParty_May13 } }, [TRAINER_JONAH] = @@ -9348,7 +9348,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Jonah } + .party = {.NoItemDefaultMoves = sParty_Jonah } }, [TRAINER_HENRY] = @@ -9362,7 +9362,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Henry } + .party = {.NoItemDefaultMoves = sParty_Henry } }, [TRAINER_ROGER] = @@ -9376,7 +9376,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Roger } + .party = {.NoItemDefaultMoves = sParty_Roger } }, [TRAINER_ALEXA] = @@ -9390,7 +9390,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Alexa } + .party = {.NoItemDefaultMoves = sParty_Alexa } }, [TRAINER_RUBEN] = @@ -9404,7 +9404,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Ruben } + .party = {.NoItemDefaultMoves = sParty_Ruben } }, [TRAINER_KOJI_1] = @@ -9418,7 +9418,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Koji1 } + .party = {.NoItemDefaultMoves = sParty_Koji1 } }, [TRAINER_WAYNE] = @@ -9432,7 +9432,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Wayne } + .party = {.NoItemDefaultMoves = sParty_Wayne } }, [TRAINER_AIDAN] = @@ -9446,7 +9446,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Aidan } + .party = {.NoItemDefaultMoves = sParty_Aidan } }, [TRAINER_REED] = @@ -9460,7 +9460,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Reed } + .party = {.NoItemDefaultMoves = sParty_Reed } }, [TRAINER_TISHA] = @@ -9474,7 +9474,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Tisha } + .party = {.NoItemDefaultMoves = sParty_Tisha } }, [TRAINER_TORI_AND_TIA] = @@ -9488,7 +9488,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_ToriAndTia } + .party = {.NoItemDefaultMoves = sParty_ToriAndTia } }, [TRAINER_KIM_AND_IRIS] = @@ -9502,7 +9502,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_KimAndIris } + .party = {.NoItemCustomMoves = sParty_KimAndIris } }, [TRAINER_TYRA_AND_IVY] = @@ -9516,7 +9516,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_TyraAndIvy } + .party = {.NoItemCustomMoves = sParty_TyraAndIvy } }, [TRAINER_MEL_AND_PAUL] = @@ -9530,7 +9530,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_MelAndPaul } + .party = {.NoItemCustomMoves = sParty_MelAndPaul } }, [TRAINER_JOHN_AND_JAY_1] = @@ -9544,7 +9544,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_JohnAndJay1 } + .party = {.NoItemCustomMoves = sParty_JohnAndJay1 } }, [TRAINER_JOHN_AND_JAY_2] = @@ -9558,7 +9558,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_JohnAndJay2 } + .party = {.NoItemCustomMoves = sParty_JohnAndJay2 } }, [TRAINER_JOHN_AND_JAY_3] = @@ -9572,7 +9572,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_JohnAndJay3 } + .party = {.NoItemCustomMoves = sParty_JohnAndJay3 } }, [TRAINER_JOHN_AND_JAY_4] = @@ -9586,7 +9586,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_JohnAndJay4 } + .party = {.NoItemCustomMoves = sParty_JohnAndJay4 } }, [TRAINER_JOHN_AND_JAY_5] = @@ -9600,7 +9600,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_JohnAndJay5 } + .party = {.NoItemCustomMoves = sParty_JohnAndJay5 } }, [TRAINER_RELI_AND_IAN] = @@ -9614,7 +9614,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_ReliAndIan } + .party = {.NoItemDefaultMoves = sParty_ReliAndIan } }, [TRAINER_LILA_AND_ROY_1] = @@ -9628,7 +9628,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_LilaAndRoy1 } + .party = {.NoItemDefaultMoves = sParty_LilaAndRoy1 } }, [TRAINER_LILA_AND_ROY_2] = @@ -9642,7 +9642,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_LilaAndRoy2 } + .party = {.NoItemDefaultMoves = sParty_LilaAndRoy2 } }, [TRAINER_LILA_AND_ROY_3] = @@ -9656,7 +9656,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_LilaAndRoy3 } + .party = {.NoItemDefaultMoves = sParty_LilaAndRoy3 } }, [TRAINER_LILA_AND_ROY_4] = @@ -9670,7 +9670,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_LilaAndRoy4 } + .party = {.NoItemDefaultMoves = sParty_LilaAndRoy4 } }, [TRAINER_LILA_AND_ROY_5] = @@ -9684,7 +9684,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_LilaAndRoy5 } + .party = {.NoItemDefaultMoves = sParty_LilaAndRoy5 } }, [TRAINER_LISA_AND_RAY] = @@ -9698,7 +9698,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_LisaAndRay } + .party = {.NoItemDefaultMoves = sParty_LisaAndRay } }, [TRAINER_CHRIS] = @@ -9712,7 +9712,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Chris } + .party = {.NoItemDefaultMoves = sParty_Chris } }, [TRAINER_DAWSON] = @@ -9726,7 +9726,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.ItemDefaultMoves = gTrainerParty_Dawson } + .party = {.ItemDefaultMoves = sParty_Dawson } }, [TRAINER_SARAH] = @@ -9740,7 +9740,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.ItemDefaultMoves = gTrainerParty_Sarah } + .party = {.ItemDefaultMoves = sParty_Sarah } }, [TRAINER_DARIAN] = @@ -9754,7 +9754,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Darian } + .party = {.NoItemDefaultMoves = sParty_Darian } }, [TRAINER_HAILEY] = @@ -9768,7 +9768,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Hailey } + .party = {.NoItemDefaultMoves = sParty_Hailey } }, [TRAINER_CHANDLER] = @@ -9782,7 +9782,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Chandler } + .party = {.NoItemDefaultMoves = sParty_Chandler } }, [TRAINER_KALEB] = @@ -9796,7 +9796,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.ItemDefaultMoves = gTrainerParty_Kaleb } + .party = {.ItemDefaultMoves = sParty_Kaleb } }, [TRAINER_JOSEPH] = @@ -9810,7 +9810,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Joseph } + .party = {.NoItemDefaultMoves = sParty_Joseph } }, [TRAINER_ALYSSA] = @@ -9824,7 +9824,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Alyssa } + .party = {.NoItemDefaultMoves = sParty_Alyssa } }, [TRAINER_MARCOS] = @@ -9838,7 +9838,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Marcos } + .party = {.NoItemDefaultMoves = sParty_Marcos } }, [TRAINER_RHETT] = @@ -9852,7 +9852,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Rhett } + .party = {.NoItemDefaultMoves = sParty_Rhett } }, [TRAINER_TYRON] = @@ -9866,7 +9866,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Tyron } + .party = {.NoItemDefaultMoves = sParty_Tyron } }, [TRAINER_CELINA] = @@ -9880,7 +9880,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Celina } + .party = {.NoItemDefaultMoves = sParty_Celina } }, [TRAINER_BIANCA] = @@ -9894,7 +9894,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Bianca } + .party = {.NoItemDefaultMoves = sParty_Bianca } }, [TRAINER_HAYDEN] = @@ -9908,7 +9908,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Hayden } + .party = {.NoItemDefaultMoves = sParty_Hayden } }, [TRAINER_SOPHIE] = @@ -9922,7 +9922,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Sophie } + .party = {.NoItemDefaultMoves = sParty_Sophie } }, [TRAINER_COBY] = @@ -9936,7 +9936,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Coby } + .party = {.NoItemDefaultMoves = sParty_Coby } }, [TRAINER_LAWRENCE] = @@ -9950,7 +9950,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Lawrence } + .party = {.NoItemDefaultMoves = sParty_Lawrence } }, [TRAINER_WYATT] = @@ -9964,7 +9964,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Wyatt } + .party = {.NoItemDefaultMoves = sParty_Wyatt } }, [TRAINER_ANGELINA] = @@ -9978,7 +9978,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Angelina } + .party = {.NoItemDefaultMoves = sParty_Angelina } }, [TRAINER_KAI] = @@ -9992,7 +9992,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Kai } + .party = {.NoItemDefaultMoves = sParty_Kai } }, [TRAINER_CHARLOTTE] = @@ -10006,7 +10006,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Charlotte } + .party = {.NoItemDefaultMoves = sParty_Charlotte } }, [TRAINER_DEANDRE] = @@ -10020,7 +10020,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Deandre } + .party = {.NoItemDefaultMoves = sParty_Deandre } }, [TRAINER_GRUNT_38] = @@ -10034,7 +10034,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt38 } + .party = {.NoItemDefaultMoves = sParty_Grunt38 } }, [TRAINER_GRUNT_39] = @@ -10048,7 +10048,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt39 } + .party = {.NoItemDefaultMoves = sParty_Grunt39 } }, [TRAINER_GRUNT_40] = @@ -10062,7 +10062,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt40 } + .party = {.NoItemDefaultMoves = sParty_Grunt40 } }, [TRAINER_GRUNT_41] = @@ -10076,7 +10076,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt41 } + .party = {.NoItemDefaultMoves = sParty_Grunt41 } }, [TRAINER_GRUNT_42] = @@ -10090,7 +10090,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt42 } + .party = {.NoItemDefaultMoves = sParty_Grunt42 } }, [TRAINER_GRUNT_43] = @@ -10104,7 +10104,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt43 } + .party = {.NoItemDefaultMoves = sParty_Grunt43 } }, [TRAINER_GRUNT_44] = @@ -10118,7 +10118,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt44 } + .party = {.NoItemDefaultMoves = sParty_Grunt44 } }, [TRAINER_GRUNT_45] = @@ -10132,7 +10132,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt45 } + .party = {.NoItemDefaultMoves = sParty_Grunt45 } }, [TRAINER_GRUNT_46] = @@ -10146,7 +10146,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt46 } + .party = {.NoItemDefaultMoves = sParty_Grunt46 } }, [TRAINER_GRUNT_47] = @@ -10160,7 +10160,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt47 } + .party = {.NoItemDefaultMoves = sParty_Grunt47 } }, [TRAINER_GRUNT_48] = @@ -10174,7 +10174,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt48 } + .party = {.NoItemDefaultMoves = sParty_Grunt48 } }, [TRAINER_GRUNT_49] = @@ -10188,7 +10188,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt49 } + .party = {.NoItemDefaultMoves = sParty_Grunt49 } }, [TRAINER_GRUNT_50] = @@ -10202,7 +10202,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt50 } + .party = {.NoItemDefaultMoves = sParty_Grunt50 } }, [TRAINER_GRUNT_51] = @@ -10216,7 +10216,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt51 } + .party = {.NoItemDefaultMoves = sParty_Grunt51 } }, [TRAINER_GRUNT_52] = @@ -10230,7 +10230,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt52 } + .party = {.NoItemDefaultMoves = sParty_Grunt52 } }, [TRAINER_GRUNT_53] = @@ -10244,7 +10244,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt53 } + .party = {.NoItemDefaultMoves = sParty_Grunt53 } }, [TRAINER_TABITHA_3] = @@ -10258,7 +10258,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Tabitha3 } + .party = {.NoItemDefaultMoves = sParty_Tabitha3 } }, [TRAINER_DARCY] = @@ -10272,7 +10272,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Darcy } + .party = {.NoItemDefaultMoves = sParty_Darcy } }, [TRAINER_MAXIE_3] = @@ -10286,7 +10286,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Maxie3 } + .party = {.NoItemDefaultMoves = sParty_Maxie3 } }, [TRAINER_PETE] = @@ -10300,7 +10300,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Pete } + .party = {.NoItemDefaultMoves = sParty_Pete } }, [TRAINER_ISABELLE] = @@ -10314,7 +10314,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Isabelle } + .party = {.NoItemDefaultMoves = sParty_Isabelle } }, [TRAINER_ANDRES_1] = @@ -10328,7 +10328,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Andres1 } + .party = {.NoItemDefaultMoves = sParty_Andres1 } }, [TRAINER_JOSUE] = @@ -10342,7 +10342,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Josue } + .party = {.NoItemDefaultMoves = sParty_Josue } }, [TRAINER_CAMRON] = @@ -10356,7 +10356,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Camron } + .party = {.NoItemDefaultMoves = sParty_Camron } }, [TRAINER_CORY_1] = @@ -10370,7 +10370,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Cory1 } + .party = {.NoItemDefaultMoves = sParty_Cory1 } }, [TRAINER_CAROLINA] = @@ -10384,7 +10384,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Carolina } + .party = {.NoItemDefaultMoves = sParty_Carolina } }, [TRAINER_ELIJAH] = @@ -10398,7 +10398,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Elijah } + .party = {.NoItemDefaultMoves = sParty_Elijah } }, [TRAINER_CELIA] = @@ -10412,7 +10412,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Celia } + .party = {.NoItemDefaultMoves = sParty_Celia } }, [TRAINER_BRYAN] = @@ -10426,7 +10426,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Bryan } + .party = {.NoItemDefaultMoves = sParty_Bryan } }, [TRAINER_BRANDEN] = @@ -10440,7 +10440,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Branden } + .party = {.NoItemDefaultMoves = sParty_Branden } }, [TRAINER_BRYANT] = @@ -10454,7 +10454,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Bryant } + .party = {.NoItemDefaultMoves = sParty_Bryant } }, [TRAINER_SHAYLA] = @@ -10468,7 +10468,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Shayla } + .party = {.NoItemDefaultMoves = sParty_Shayla } }, [TRAINER_KYRA] = @@ -10482,7 +10482,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Kyra } + .party = {.NoItemDefaultMoves = sParty_Kyra } }, [TRAINER_JAIDEN] = @@ -10496,7 +10496,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Jaiden } + .party = {.NoItemDefaultMoves = sParty_Jaiden } }, [TRAINER_ALIX] = @@ -10510,7 +10510,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Alix } + .party = {.NoItemDefaultMoves = sParty_Alix } }, [TRAINER_HELENE] = @@ -10524,7 +10524,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Helene } + .party = {.NoItemDefaultMoves = sParty_Helene } }, [TRAINER_MARLENE] = @@ -10538,7 +10538,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Marlene } + .party = {.NoItemDefaultMoves = sParty_Marlene } }, [TRAINER_DEVAN] = @@ -10552,7 +10552,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Devan } + .party = {.NoItemDefaultMoves = sParty_Devan } }, [TRAINER_JOHNSON] = @@ -10566,7 +10566,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Johnson } + .party = {.NoItemDefaultMoves = sParty_Johnson } }, [TRAINER_MELINA] = @@ -10580,7 +10580,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Melina } + .party = {.NoItemDefaultMoves = sParty_Melina } }, [TRAINER_BRANDI] = @@ -10594,7 +10594,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Brandi } + .party = {.NoItemDefaultMoves = sParty_Brandi } }, [TRAINER_AISHA] = @@ -10608,7 +10608,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Aisha } + .party = {.NoItemDefaultMoves = sParty_Aisha } }, [TRAINER_MAKAYLA] = @@ -10622,7 +10622,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Makayla } + .party = {.NoItemDefaultMoves = sParty_Makayla } }, [TRAINER_FABIAN] = @@ -10636,7 +10636,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Fabian } + .party = {.NoItemDefaultMoves = sParty_Fabian } }, [TRAINER_DAYTON] = @@ -10650,7 +10650,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Dayton } + .party = {.NoItemDefaultMoves = sParty_Dayton } }, [TRAINER_RACHEL] = @@ -10664,7 +10664,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Rachel } + .party = {.NoItemDefaultMoves = sParty_Rachel } }, [TRAINER_LEONEL] = @@ -10678,7 +10678,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Leonel } + .party = {.NoItemCustomMoves = sParty_Leonel } }, [TRAINER_CALLIE] = @@ -10692,7 +10692,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Callie } + .party = {.NoItemDefaultMoves = sParty_Callie } }, [TRAINER_CALE] = @@ -10706,7 +10706,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Cale } + .party = {.NoItemDefaultMoves = sParty_Cale } }, [TRAINER_MYLES] = @@ -10720,7 +10720,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Myles } + .party = {.NoItemDefaultMoves = sParty_Myles } }, [TRAINER_PAT] = @@ -10734,7 +10734,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Pat } + .party = {.NoItemDefaultMoves = sParty_Pat } }, [TRAINER_CRISTIN_1] = @@ -10748,7 +10748,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Cristin1 } + .party = {.NoItemDefaultMoves = sParty_Cristin1 } }, [TRAINER_MAY_14] = @@ -10762,7 +10762,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_May14 } + .party = {.NoItemDefaultMoves = sParty_May14 } }, [TRAINER_MAY_15] = @@ -10776,7 +10776,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_May15 } + .party = {.NoItemDefaultMoves = sParty_May15 } }, [TRAINER_ROXANNE_2] = @@ -10790,7 +10790,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.ItemCustomMoves = gTrainerParty_Roxanne2 } + .party = {.ItemCustomMoves = sParty_Roxanne2 } }, [TRAINER_ROXANNE_3] = @@ -10804,7 +10804,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Roxanne3 } + .party = {.ItemCustomMoves = sParty_Roxanne3 } }, [TRAINER_ROXANNE_4] = @@ -10818,7 +10818,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Roxanne4 } + .party = {.ItemCustomMoves = sParty_Roxanne4 } }, [TRAINER_ROXANNE_5] = @@ -10832,7 +10832,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_Roxanne5 } + .party = {.ItemCustomMoves = sParty_Roxanne5 } }, [TRAINER_BRAWLY_2] = @@ -10846,7 +10846,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.ItemCustomMoves = gTrainerParty_Brawly2 } + .party = {.ItemCustomMoves = sParty_Brawly2 } }, [TRAINER_BRAWLY_3] = @@ -10860,7 +10860,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.ItemCustomMoves = gTrainerParty_Brawly3 } + .party = {.ItemCustomMoves = sParty_Brawly3 } }, [TRAINER_BRAWLY_4] = @@ -10874,7 +10874,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Brawly4 } + .party = {.ItemCustomMoves = sParty_Brawly4 } }, [TRAINER_BRAWLY_5] = @@ -10888,7 +10888,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_Brawly5 } + .party = {.ItemCustomMoves = sParty_Brawly5 } }, [TRAINER_WATTSON_2] = @@ -10902,7 +10902,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.ItemCustomMoves = gTrainerParty_Wattson2 } + .party = {.ItemCustomMoves = sParty_Wattson2 } }, [TRAINER_WATTSON_3] = @@ -10916,7 +10916,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Wattson3 } + .party = {.ItemCustomMoves = sParty_Wattson3 } }, [TRAINER_WATTSON_4] = @@ -10930,7 +10930,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Wattson4 } + .party = {.ItemCustomMoves = sParty_Wattson4 } }, [TRAINER_WATTSON_5] = @@ -10944,7 +10944,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_Wattson5 } + .party = {.ItemCustomMoves = sParty_Wattson5 } }, [TRAINER_FLANNERY_2] = @@ -10958,7 +10958,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.ItemCustomMoves = gTrainerParty_Flannery2 } + .party = {.ItemCustomMoves = sParty_Flannery2 } }, [TRAINER_FLANNERY_3] = @@ -10972,7 +10972,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Flannery3 } + .party = {.ItemCustomMoves = sParty_Flannery3 } }, [TRAINER_FLANNERY_4] = @@ -10986,7 +10986,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_Flannery4 } + .party = {.ItemCustomMoves = sParty_Flannery4 } }, [TRAINER_FLANNERY_5] = @@ -11000,7 +11000,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_Flannery5 } + .party = {.ItemCustomMoves = sParty_Flannery5 } }, [TRAINER_NORMAN_2] = @@ -11014,7 +11014,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.ItemCustomMoves = gTrainerParty_Norman2 } + .party = {.ItemCustomMoves = sParty_Norman2 } }, [TRAINER_NORMAN_3] = @@ -11028,7 +11028,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Norman3 } + .party = {.ItemCustomMoves = sParty_Norman3 } }, [TRAINER_NORMAN_4] = @@ -11042,7 +11042,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Norman4 } + .party = {.ItemCustomMoves = sParty_Norman4 } }, [TRAINER_NORMAN_5] = @@ -11056,7 +11056,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_Norman5 } + .party = {.ItemCustomMoves = sParty_Norman5 } }, [TRAINER_WINONA_2] = @@ -11070,7 +11070,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY | AI_SCRIPT_RISKY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Winona2 } + .party = {.ItemCustomMoves = sParty_Winona2 } }, [TRAINER_WINONA_3] = @@ -11084,7 +11084,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY | AI_SCRIPT_RISKY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_Winona3 } + .party = {.ItemCustomMoves = sParty_Winona3 } }, [TRAINER_WINONA_4] = @@ -11098,7 +11098,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY | AI_SCRIPT_RISKY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_Winona4 } + .party = {.ItemCustomMoves = sParty_Winona4 } }, [TRAINER_WINONA_5] = @@ -11112,7 +11112,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY | AI_SCRIPT_RISKY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_Winona5 } + .party = {.ItemCustomMoves = sParty_Winona5 } }, [TRAINER_TATE_AND_LIZA_2] = @@ -11126,7 +11126,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_TateAndLiza2 } + .party = {.ItemCustomMoves = sParty_TateAndLiza2 } }, [TRAINER_TATE_AND_LIZA_3] = @@ -11140,7 +11140,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_TateAndLiza3 } + .party = {.ItemCustomMoves = sParty_TateAndLiza3 } }, [TRAINER_TATE_AND_LIZA_4] = @@ -11154,7 +11154,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_TateAndLiza4 } + .party = {.ItemCustomMoves = sParty_TateAndLiza4 } }, [TRAINER_TATE_AND_LIZA_5] = @@ -11168,7 +11168,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_TateAndLiza5 } + .party = {.ItemCustomMoves = sParty_TateAndLiza5 } }, [TRAINER_JUAN_2] = @@ -11182,7 +11182,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Juan2 } + .party = {.ItemCustomMoves = sParty_Juan2 } }, [TRAINER_JUAN_3] = @@ -11196,7 +11196,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Juan3 } + .party = {.ItemCustomMoves = sParty_Juan3 } }, [TRAINER_JUAN_4] = @@ -11210,7 +11210,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_Juan4 } + .party = {.ItemCustomMoves = sParty_Juan4 } }, [TRAINER_JUAN_5] = @@ -11224,7 +11224,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_Juan5 } + .party = {.ItemCustomMoves = sParty_Juan5 } }, [TRAINER_ANGELO] = @@ -11238,7 +11238,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.ItemCustomMoves = gTrainerParty_Angelo } + .party = {.ItemCustomMoves = sParty_Angelo } }, [TRAINER_DARIUS] = @@ -11252,7 +11252,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Darius } + .party = {.NoItemDefaultMoves = sParty_Darius } }, [TRAINER_STEVEN] = @@ -11266,7 +11266,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_Steven } + .party = {.ItemCustomMoves = sParty_Steven } }, [TRAINER_ANABEL] = @@ -11280,7 +11280,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Anabel } + .party = {.NoItemDefaultMoves = sParty_Anabel } }, [TRAINER_TUCKER] = @@ -11294,7 +11294,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Tucker } + .party = {.NoItemDefaultMoves = sParty_Tucker } }, [TRAINER_SPENSER] = @@ -11308,7 +11308,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Spenser } + .party = {.NoItemDefaultMoves = sParty_Spenser } }, [TRAINER_GRETA] = @@ -11322,7 +11322,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Greta } + .party = {.NoItemDefaultMoves = sParty_Greta } }, [TRAINER_NOLAND] = @@ -11336,7 +11336,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Noland } + .party = {.NoItemDefaultMoves = sParty_Noland } }, [TRAINER_LUCY] = @@ -11350,7 +11350,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Lucy } + .party = {.NoItemDefaultMoves = sParty_Lucy } }, [TRAINER_BRANDON] = @@ -11364,7 +11364,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Brandon } + .party = {.NoItemDefaultMoves = sParty_Brandon } }, [TRAINER_ANDRES_2] = @@ -11378,7 +11378,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Andres2 } + .party = {.NoItemDefaultMoves = sParty_Andres2 } }, [TRAINER_ANDRES_3] = @@ -11392,7 +11392,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Andres3 } + .party = {.NoItemDefaultMoves = sParty_Andres3 } }, [TRAINER_ANDRES_4] = @@ -11406,7 +11406,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Andres4 } + .party = {.NoItemDefaultMoves = sParty_Andres4 } }, [TRAINER_ANDRES_5] = @@ -11420,7 +11420,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Andres5 } + .party = {.NoItemDefaultMoves = sParty_Andres5 } }, [TRAINER_CORY_2] = @@ -11434,7 +11434,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Cory2 } + .party = {.NoItemDefaultMoves = sParty_Cory2 } }, [TRAINER_CORY_3] = @@ -11448,7 +11448,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Cory3 } + .party = {.NoItemDefaultMoves = sParty_Cory3 } }, [TRAINER_CORY_4] = @@ -11462,7 +11462,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Cory4 } + .party = {.NoItemDefaultMoves = sParty_Cory4 } }, [TRAINER_CORY_5] = @@ -11476,7 +11476,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Cory5 } + .party = {.NoItemDefaultMoves = sParty_Cory5 } }, [TRAINER_PABLO_2] = @@ -11490,7 +11490,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Pablo2 } + .party = {.NoItemDefaultMoves = sParty_Pablo2 } }, [TRAINER_PABLO_3] = @@ -11504,7 +11504,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Pablo3 } + .party = {.NoItemDefaultMoves = sParty_Pablo3 } }, [TRAINER_PABLO_4] = @@ -11518,7 +11518,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Pablo4 } + .party = {.NoItemDefaultMoves = sParty_Pablo4 } }, [TRAINER_PABLO_5] = @@ -11532,7 +11532,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Pablo5 } + .party = {.NoItemDefaultMoves = sParty_Pablo5 } }, [TRAINER_KOJI_2] = @@ -11546,7 +11546,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Koji2 } + .party = {.NoItemDefaultMoves = sParty_Koji2 } }, [TRAINER_KOJI_3] = @@ -11560,7 +11560,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Koji3 } + .party = {.NoItemDefaultMoves = sParty_Koji3 } }, [TRAINER_KOJI_4] = @@ -11574,7 +11574,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Koji4 } + .party = {.NoItemDefaultMoves = sParty_Koji4 } }, [TRAINER_KOJI_5] = @@ -11588,7 +11588,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Koji5 } + .party = {.NoItemDefaultMoves = sParty_Koji5 } }, [TRAINER_CRISTIN_2] = @@ -11602,7 +11602,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Cristin2 } + .party = {.NoItemDefaultMoves = sParty_Cristin2 } }, [TRAINER_CRISTIN_3] = @@ -11616,7 +11616,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Cristin3 } + .party = {.NoItemDefaultMoves = sParty_Cristin3 } }, [TRAINER_CRISTIN_4] = @@ -11630,7 +11630,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Cristin4 } + .party = {.NoItemDefaultMoves = sParty_Cristin4 } }, [TRAINER_CRISTIN_5] = @@ -11644,7 +11644,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Cristin5 } + .party = {.NoItemDefaultMoves = sParty_Cristin5 } }, [TRAINER_FERNANDO_2] = @@ -11658,7 +11658,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Fernando2 } + .party = {.NoItemDefaultMoves = sParty_Fernando2 } }, [TRAINER_FERNANDO_3] = @@ -11672,7 +11672,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Fernando3 } + .party = {.NoItemDefaultMoves = sParty_Fernando3 } }, [TRAINER_FERNANDO_4] = @@ -11686,7 +11686,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Fernando4 } + .party = {.NoItemDefaultMoves = sParty_Fernando4 } }, [TRAINER_FERNANDO_5] = @@ -11700,7 +11700,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Fernando5 } + .party = {.NoItemDefaultMoves = sParty_Fernando5 } }, [TRAINER_SAWYER_2] = @@ -11714,7 +11714,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Sawyer2 } + .party = {.NoItemDefaultMoves = sParty_Sawyer2 } }, [TRAINER_SAWYER_3] = @@ -11728,7 +11728,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Sawyer3 } + .party = {.NoItemDefaultMoves = sParty_Sawyer3 } }, [TRAINER_SAWYER_4] = @@ -11742,7 +11742,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Sawyer4 } + .party = {.NoItemDefaultMoves = sParty_Sawyer4 } }, [TRAINER_SAWYER_5] = @@ -11756,7 +11756,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Sawyer5 } + .party = {.NoItemDefaultMoves = sParty_Sawyer5 } }, [TRAINER_GABRIELLE_2] = @@ -11770,7 +11770,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Gabrielle2 } + .party = {.NoItemDefaultMoves = sParty_Gabrielle2 } }, [TRAINER_GABRIELLE_3] = @@ -11784,7 +11784,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Gabrielle3 } + .party = {.NoItemDefaultMoves = sParty_Gabrielle3 } }, [TRAINER_GABRIELLE_4] = @@ -11798,7 +11798,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Gabrielle4 } + .party = {.NoItemDefaultMoves = sParty_Gabrielle4 } }, [TRAINER_GABRIELLE_5] = @@ -11812,7 +11812,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Gabrielle5 } + .party = {.NoItemDefaultMoves = sParty_Gabrielle5 } }, [TRAINER_THALIA_2] = @@ -11826,7 +11826,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Thalia2 } + .party = {.NoItemDefaultMoves = sParty_Thalia2 } }, [TRAINER_THALIA_3] = @@ -11840,7 +11840,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Thalia3 } + .party = {.NoItemDefaultMoves = sParty_Thalia3 } }, [TRAINER_THALIA_4] = @@ -11854,7 +11854,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Thalia4 } + .party = {.NoItemDefaultMoves = sParty_Thalia4 } }, [TRAINER_THALIA_5] = @@ -11868,7 +11868,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Thalia5 } + .party = {.NoItemDefaultMoves = sParty_Thalia5 } }, [TRAINER_MARIELA] = @@ -11882,7 +11882,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Mariela } + .party = {.NoItemDefaultMoves = sParty_Mariela } }, [TRAINER_ALVARO] = @@ -11896,7 +11896,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Alvaro } + .party = {.NoItemDefaultMoves = sParty_Alvaro } }, [TRAINER_EVERETT] = @@ -11910,7 +11910,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Everett } + .party = {.NoItemDefaultMoves = sParty_Everett } }, [TRAINER_RED] = @@ -11924,7 +11924,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Red } + .party = {.NoItemDefaultMoves = sParty_Red } }, [TRAINER_LEAF] = @@ -11938,7 +11938,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Leaf } + .party = {.NoItemDefaultMoves = sParty_Leaf } }, [TRAINER_BRENDAN_16] = @@ -11952,7 +11952,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan16 } + .party = {.NoItemDefaultMoves = sParty_Brendan16 } }, [TRAINER_MAY_16] = @@ -11966,6 +11966,6 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_May16 } + .party = {.NoItemDefaultMoves = sParty_May16 } }, }; diff --git a/src/data/wild_encounters.h b/src/data/wild_encounters.h deleted file mode 100644 index d1f2eb6165..0000000000 --- a/src/data/wild_encounters.h +++ /dev/null @@ -1,4573 +0,0 @@ -// const rom data - -/*This file consists of several parts. - *First, the actual tables that define the available Pokemon and their level ranges. - *Second, the headers for each area that links the tables to the actual maps. - *Third, Battle Pyramid-specific tables and headers. - *Fourth, Battle Pike-specific tables and headers. - *And then finally, Feebas-related data. - *You can search for // to jump between the sections. - */ - - //Start of regular Pokemon tables. - -const struct WildPokemon gRoute101_LandMons[] = -{ - {2, 2, SPECIES_WURMPLE}, - {2, 2, SPECIES_POOCHYENA}, - {2, 2, SPECIES_WURMPLE}, - {3, 3, SPECIES_WURMPLE}, - {3, 3, SPECIES_POOCHYENA}, - {3, 3, SPECIES_POOCHYENA}, - {3, 3, SPECIES_WURMPLE}, - {3, 3, SPECIES_POOCHYENA}, - {2, 2, SPECIES_ZIGZAGOON}, - {2, 2, SPECIES_ZIGZAGOON}, - {3, 3, SPECIES_ZIGZAGOON}, - {3, 3, SPECIES_ZIGZAGOON}, -}; - -const struct WildPokemonInfo gRoute101_LandMonsInfo = {20, gRoute101_LandMons}; - -const struct WildPokemon gRoute102_LandMons[] = -{ - {3, 3, SPECIES_POOCHYENA}, - {3, 3, SPECIES_WURMPLE}, - {4, 4, SPECIES_POOCHYENA}, - {4, 4, SPECIES_WURMPLE}, - {3, 3, SPECIES_LOTAD}, - {4, 4, SPECIES_LOTAD}, - {3, 3, SPECIES_ZIGZAGOON}, - {3, 3, SPECIES_ZIGZAGOON}, - {4, 4, SPECIES_ZIGZAGOON}, - {4, 4, SPECIES_RALTS}, - {4, 4, SPECIES_ZIGZAGOON}, - {3, 3, SPECIES_SEEDOT}, -}; - -const struct WildPokemonInfo gRoute102_LandMonsInfo = {20, gRoute102_LandMons}; - -const struct WildPokemon gRoute102_WaterMons[] = -{ - {20, 30, SPECIES_MARILL}, - {10, 20, SPECIES_MARILL}, - {30, 35, SPECIES_MARILL}, - {5, 10, SPECIES_MARILL}, - {20, 30, SPECIES_GOLDEEN}, -}; - -const struct WildPokemonInfo gRoute102_WaterMonsInfo = {4, gRoute102_WaterMons}; - -const struct WildPokemon gRoute102_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_GOLDEEN}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_GOLDEEN}, - {10, 30, SPECIES_CORPHISH}, - {25, 30, SPECIES_CORPHISH}, - {30, 35, SPECIES_CORPHISH}, - {20, 25, SPECIES_CORPHISH}, - {35, 40, SPECIES_CORPHISH}, - {40, 45, SPECIES_CORPHISH}, -}; - -const struct WildPokemonInfo gRoute102_FishingMonsInfo = {30, gRoute102_FishingMons}; - -const struct WildPokemon gRoute103_LandMons[] = -{ - {2, 2, SPECIES_POOCHYENA}, - {3, 3, SPECIES_POOCHYENA}, - {3, 3, SPECIES_POOCHYENA}, - {4, 4, SPECIES_POOCHYENA}, - {2, 2, SPECIES_WINGULL}, - {3, 3, SPECIES_ZIGZAGOON}, - {3, 3, SPECIES_ZIGZAGOON}, - {4, 4, SPECIES_ZIGZAGOON}, - {3, 3, SPECIES_WINGULL}, - {3, 3, SPECIES_WINGULL}, - {2, 2, SPECIES_WINGULL}, - {4, 4, SPECIES_WINGULL}, -}; - -const struct WildPokemonInfo gRoute103_LandMonsInfo = {20, gRoute103_LandMons}; - -const struct WildPokemon gRoute103_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute103_WaterMonsInfo = {4, gRoute103_WaterMons}; - -const struct WildPokemon gRoute103_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute103_FishingMonsInfo = {30, gRoute103_FishingMons}; - -const struct WildPokemon gRoute104_LandMons[] = -{ - {4, 4, SPECIES_POOCHYENA}, - {4, 4, SPECIES_WURMPLE}, - {5, 5, SPECIES_POOCHYENA}, - {5, 5, SPECIES_MARILL}, - {4, 4, SPECIES_MARILL}, - {5, 5, SPECIES_POOCHYENA}, - {4, 4, SPECIES_TAILLOW}, - {5, 5, SPECIES_TAILLOW}, - {4, 4, SPECIES_WINGULL}, - {4, 4, SPECIES_WINGULL}, - {3, 3, SPECIES_WINGULL}, - {5, 5, SPECIES_WINGULL}, -}; - -const struct WildPokemonInfo gRoute104_LandMonsInfo = {20, gRoute104_LandMons}; - -const struct WildPokemon gRoute104_WaterMons[] = -{ - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute104_WaterMonsInfo = {4, gRoute104_WaterMons}; - -const struct WildPokemon gRoute104_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_MAGIKARP}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_MAGIKARP}, - {25, 30, SPECIES_MAGIKARP}, - {30, 35, SPECIES_MAGIKARP}, - {20, 25, SPECIES_MAGIKARP}, - {35, 40, SPECIES_MAGIKARP}, - {40, 45, SPECIES_MAGIKARP}, -}; - -const struct WildPokemonInfo gRoute104_FishingMonsInfo = {30, gRoute104_FishingMons}; - -const struct WildPokemon gRoute105_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute105_WaterMonsInfo = {4, gRoute105_WaterMons}; - -const struct WildPokemon gRoute105_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute105_FishingMonsInfo = {30, gRoute105_FishingMons}; - -const struct WildPokemon gRoute110_LandMons[] = -{ - {12, 12, SPECIES_POOCHYENA}, - {12, 12, SPECIES_ELECTRIKE}, - {12, 12, SPECIES_GULPIN}, - {13, 13, SPECIES_ELECTRIKE}, - {13, 13, SPECIES_MINUN}, - {13, 13, SPECIES_ODDISH}, - {13, 13, SPECIES_MINUN}, - {13, 13, SPECIES_GULPIN}, - {12, 12, SPECIES_WINGULL}, - {12, 12, SPECIES_WINGULL}, - {12, 12, SPECIES_PLUSLE}, - {13, 13, SPECIES_PLUSLE}, -}; - -const struct WildPokemonInfo gRoute110_LandMonsInfo = {20, gRoute110_LandMons}; - -const struct WildPokemon gRoute110_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute110_WaterMonsInfo = {4, gRoute110_WaterMons}; - -const struct WildPokemon gRoute110_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute110_FishingMonsInfo = {30, gRoute110_FishingMons}; - -const struct WildPokemon gRoute111_LandMons[] = -{ - {20, 20, SPECIES_SANDSHREW}, - {20, 20, SPECIES_TRAPINCH}, - {21, 21, SPECIES_SANDSHREW}, - {21, 21, SPECIES_TRAPINCH}, - {19, 19, SPECIES_BALTOY}, - {21, 21, SPECIES_BALTOY}, - {19, 19, SPECIES_SANDSHREW}, - {19, 19, SPECIES_TRAPINCH}, - {20, 20, SPECIES_BALTOY}, - {20, 20, SPECIES_CACNEA}, - {22, 22, SPECIES_CACNEA}, - {22, 22, SPECIES_CACNEA}, -}; - -const struct WildPokemonInfo gRoute111_LandMonsInfo = {10, gRoute111_LandMons}; - -const struct WildPokemon gRoute111_WaterMons[] = -{ - {20, 30, SPECIES_MARILL}, - {10, 20, SPECIES_MARILL}, - {30, 35, SPECIES_MARILL}, - {5, 10, SPECIES_MARILL}, - {20, 30, SPECIES_GOLDEEN}, -}; - -const struct WildPokemonInfo gRoute111_WaterMonsInfo = {4, gRoute111_WaterMons}; - -const struct WildPokemon gRoute111_RockSmashMons[] = -{ - {10, 15, SPECIES_GEODUDE}, - {5, 10, SPECIES_GEODUDE}, - {15, 20, SPECIES_GEODUDE}, - {15, 20, SPECIES_GEODUDE}, - {15, 20, SPECIES_GEODUDE}, -}; - -const struct WildPokemonInfo gRoute111_RockSmashMonsInfo = {20, gRoute111_RockSmashMons}; - -const struct WildPokemon gRoute111_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_GOLDEEN}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_GOLDEEN}, - {10, 30, SPECIES_BARBOACH}, - {25, 30, SPECIES_BARBOACH}, - {30, 35, SPECIES_BARBOACH}, - {20, 25, SPECIES_BARBOACH}, - {35, 40, SPECIES_BARBOACH}, - {40, 45, SPECIES_BARBOACH}, -}; - -const struct WildPokemonInfo gRoute111_FishingMonsInfo = {30, gRoute111_FishingMons}; - -const struct WildPokemon gRoute112_LandMons[] = -{ - {15, 15, SPECIES_NUMEL}, - {15, 15, SPECIES_NUMEL}, - {15, 15, SPECIES_MARILL}, - {14, 14, SPECIES_NUMEL}, - {14, 14, SPECIES_NUMEL}, - {14, 14, SPECIES_MARILL}, - {16, 16, SPECIES_NUMEL}, - {16, 16, SPECIES_MARILL}, - {16, 16, SPECIES_NUMEL}, - {16, 16, SPECIES_NUMEL}, - {16, 16, SPECIES_NUMEL}, - {16, 16, SPECIES_NUMEL}, -}; - -const struct WildPokemonInfo gRoute112_LandMonsInfo = {20, gRoute112_LandMons}; - -const struct WildPokemon gRoute113_LandMons[] = -{ - {15, 15, SPECIES_SPINDA}, - {15, 15, SPECIES_SPINDA}, - {15, 15, SPECIES_SLUGMA}, - {14, 14, SPECIES_SPINDA}, - {14, 14, SPECIES_SPINDA}, - {14, 14, SPECIES_SLUGMA}, - {16, 16, SPECIES_SPINDA}, - {16, 16, SPECIES_SLUGMA}, - {16, 16, SPECIES_SPINDA}, - {16, 16, SPECIES_SKARMORY}, - {16, 16, SPECIES_SPINDA}, - {16, 16, SPECIES_SKARMORY}, -}; - -const struct WildPokemonInfo gRoute113_LandMonsInfo = {20, gRoute113_LandMons}; - -const struct WildPokemon gRoute114_LandMons[] = -{ - {16, 16, SPECIES_SWABLU}, - {16, 16, SPECIES_LOTAD}, - {17, 17, SPECIES_SWABLU}, - {15, 15, SPECIES_SWABLU}, - {15, 15, SPECIES_LOTAD}, - {16, 16, SPECIES_LOMBRE}, - {16, 16, SPECIES_LOMBRE}, - {18, 18, SPECIES_LOMBRE}, - {17, 17, SPECIES_SEVIPER}, - {15, 15, SPECIES_SEVIPER}, - {17, 17, SPECIES_SEVIPER}, - {15, 15, SPECIES_NUZLEAF}, -}; - -const struct WildPokemonInfo gRoute114_LandMonsInfo = {20, gRoute114_LandMons}; - -const struct WildPokemon gRoute114_WaterMons[] = -{ - {20, 30, SPECIES_MARILL}, - {10, 20, SPECIES_MARILL}, - {30, 35, SPECIES_MARILL}, - {5, 10, SPECIES_MARILL}, - {20, 30, SPECIES_GOLDEEN}, -}; - -const struct WildPokemonInfo gRoute114_WaterMonsInfo = {4, gRoute114_WaterMons}; - -const struct WildPokemon gRoute114_RockSmashMons[] = -{ - {10, 15, SPECIES_GEODUDE}, - {5, 10, SPECIES_GEODUDE}, - {15, 20, SPECIES_GEODUDE}, - {15, 20, SPECIES_GEODUDE}, - {15, 20, SPECIES_GEODUDE}, -}; - -const struct WildPokemonInfo gRoute114_RockSmashMonsInfo = {20, gRoute114_RockSmashMons}; - -const struct WildPokemon gRoute114_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_GOLDEEN}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_GOLDEEN}, - {10, 30, SPECIES_BARBOACH}, - {25, 30, SPECIES_BARBOACH}, - {30, 35, SPECIES_BARBOACH}, - {20, 25, SPECIES_BARBOACH}, - {35, 40, SPECIES_BARBOACH}, - {40, 45, SPECIES_BARBOACH}, -}; - -const struct WildPokemonInfo gRoute114_FishingMonsInfo = {30, gRoute114_FishingMons}; - -const struct WildPokemon gRoute116_LandMons[] = -{ - {6, 6, SPECIES_POOCHYENA}, - {6, 6, SPECIES_WHISMUR}, - {6, 6, SPECIES_NINCADA}, - {7, 7, SPECIES_ABRA}, - {7, 7, SPECIES_NINCADA}, - {6, 6, SPECIES_TAILLOW}, - {7, 7, SPECIES_TAILLOW}, - {8, 8, SPECIES_TAILLOW}, - {7, 7, SPECIES_POOCHYENA}, - {8, 8, SPECIES_POOCHYENA}, - {7, 7, SPECIES_SKITTY}, - {8, 8, SPECIES_SKITTY}, -}; - -const struct WildPokemonInfo gRoute116_LandMonsInfo = {20, gRoute116_LandMons}; - -const struct WildPokemon gRoute117_LandMons[] = -{ - {13, 13, SPECIES_POOCHYENA}, - {13, 13, SPECIES_ODDISH}, - {14, 14, SPECIES_POOCHYENA}, - {14, 14, SPECIES_ODDISH}, - {13, 13, SPECIES_MARILL}, - {13, 13, SPECIES_ODDISH}, - {13, 13, SPECIES_ILLUMISE}, - {13, 13, SPECIES_ILLUMISE}, - {14, 14, SPECIES_ILLUMISE}, - {14, 14, SPECIES_ILLUMISE}, - {13, 13, SPECIES_VOLBEAT}, - {13, 13, SPECIES_SEEDOT}, -}; - -const struct WildPokemonInfo gRoute117_LandMonsInfo = {20, gRoute117_LandMons}; - -const struct WildPokemon gRoute117_WaterMons[] = -{ - {20, 30, SPECIES_MARILL}, - {10, 20, SPECIES_MARILL}, - {30, 35, SPECIES_MARILL}, - {5, 10, SPECIES_MARILL}, - {20, 30, SPECIES_GOLDEEN}, -}; - -const struct WildPokemonInfo gRoute117_WaterMonsInfo = {4, gRoute117_WaterMons}; - -const struct WildPokemon gRoute117_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_GOLDEEN}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_GOLDEEN}, - {10, 30, SPECIES_CORPHISH}, - {25, 30, SPECIES_CORPHISH}, - {30, 35, SPECIES_CORPHISH}, - {20, 25, SPECIES_CORPHISH}, - {35, 40, SPECIES_CORPHISH}, - {40, 45, SPECIES_CORPHISH}, -}; - -const struct WildPokemonInfo gRoute117_FishingMonsInfo = {30, gRoute117_FishingMons}; - -const struct WildPokemon gRoute118_LandMons[] = -{ - {24, 24, SPECIES_ZIGZAGOON}, - {24, 24, SPECIES_ELECTRIKE}, - {26, 26, SPECIES_ZIGZAGOON}, - {26, 26, SPECIES_ELECTRIKE}, - {26, 26, SPECIES_LINOONE}, - {26, 26, SPECIES_MANECTRIC}, - {25, 25, SPECIES_WINGULL}, - {25, 25, SPECIES_WINGULL}, - {26, 26, SPECIES_WINGULL}, - {26, 26, SPECIES_WINGULL}, - {27, 27, SPECIES_WINGULL}, - {25, 25, SPECIES_KECLEON}, -}; - -const struct WildPokemonInfo gRoute118_LandMonsInfo = {20, gRoute118_LandMons}; - -const struct WildPokemon gRoute118_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute118_WaterMonsInfo = {4, gRoute118_WaterMons}; - -const struct WildPokemon gRoute118_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_CARVANHA}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_CARVANHA}, - {20, 25, SPECIES_CARVANHA}, - {35, 40, SPECIES_CARVANHA}, - {40, 45, SPECIES_CARVANHA}, -}; - -const struct WildPokemonInfo gRoute118_FishingMonsInfo = {30, gRoute118_FishingMons}; - -const struct WildPokemon gRoute124_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute124_WaterMonsInfo = {4, gRoute124_WaterMons}; - -const struct WildPokemon gRoute124_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute124_FishingMonsInfo = {30, gRoute124_FishingMons}; - -const struct WildPokemon gPetalburgWoods_LandMons[] = -{ - {5, 5, SPECIES_POOCHYENA}, - {5, 5, SPECIES_WURMPLE}, - {5, 5, SPECIES_SHROOMISH}, - {6, 6, SPECIES_POOCHYENA}, - {5, 5, SPECIES_SILCOON}, - {5, 5, SPECIES_CASCOON}, - {6, 6, SPECIES_WURMPLE}, - {6, 6, SPECIES_SHROOMISH}, - {5, 5, SPECIES_TAILLOW}, - {5, 5, SPECIES_SLAKOTH}, - {6, 6, SPECIES_TAILLOW}, - {6, 6, SPECIES_SLAKOTH}, -}; - -const struct WildPokemonInfo gPetalburgWoods_LandMonsInfo = {20, gPetalburgWoods_LandMons}; - -const struct WildPokemon gRusturfTunnel_LandMons[] = -{ - {6, 6, SPECIES_WHISMUR}, - {7, 7, SPECIES_WHISMUR}, - {6, 6, SPECIES_WHISMUR}, - {6, 6, SPECIES_WHISMUR}, - {7, 7, SPECIES_WHISMUR}, - {7, 7, SPECIES_WHISMUR}, - {5, 5, SPECIES_WHISMUR}, - {8, 8, SPECIES_WHISMUR}, - {5, 5, SPECIES_WHISMUR}, - {8, 8, SPECIES_WHISMUR}, - {5, 5, SPECIES_WHISMUR}, - {8, 8, SPECIES_WHISMUR}, -}; - -const struct WildPokemonInfo gRusturfTunnel_LandMonsInfo = {10, gRusturfTunnel_LandMons}; - -const struct WildPokemon gGraniteCave_1F_LandMons[] = -{ - {7, 7, SPECIES_ZUBAT}, - {8, 8, SPECIES_MAKUHITA}, - {7, 7, SPECIES_MAKUHITA}, - {8, 8, SPECIES_ZUBAT}, - {9, 9, SPECIES_MAKUHITA}, - {8, 8, SPECIES_ABRA}, - {10, 10, SPECIES_MAKUHITA}, - {6, 6, SPECIES_MAKUHITA}, - {7, 7, SPECIES_GEODUDE}, - {8, 8, SPECIES_GEODUDE}, - {6, 6, SPECIES_GEODUDE}, - {9, 9, SPECIES_GEODUDE}, -}; - -const struct WildPokemonInfo gGraniteCave_1F_LandMonsInfo = {10, gGraniteCave_1F_LandMons}; - -const struct WildPokemon gGraniteCave_B1F_LandMons[] = -{ - {9, 9, SPECIES_ZUBAT}, - {10, 10, SPECIES_ARON}, - {9, 9, SPECIES_ARON}, - {11, 11, SPECIES_ARON}, - {10, 10, SPECIES_ZUBAT}, - {9, 9, SPECIES_ABRA}, - {10, 10, SPECIES_MAKUHITA}, - {11, 11, SPECIES_MAKUHITA}, - {10, 10, SPECIES_SABLEYE}, - {10, 10, SPECIES_SABLEYE}, - {9, 9, SPECIES_SABLEYE}, - {11, 11, SPECIES_SABLEYE}, -}; - -const struct WildPokemonInfo gGraniteCave_B1F_LandMonsInfo = {10, gGraniteCave_B1F_LandMons}; - -const struct WildPokemon gMtPyre_1F_LandMons[] = -{ - {27, 27, SPECIES_SHUPPET}, - {28, 28, SPECIES_SHUPPET}, - {26, 26, SPECIES_SHUPPET}, - {25, 25, SPECIES_SHUPPET}, - {29, 29, SPECIES_SHUPPET}, - {24, 24, SPECIES_SHUPPET}, - {23, 23, SPECIES_SHUPPET}, - {22, 22, SPECIES_SHUPPET}, - {29, 29, SPECIES_SHUPPET}, - {24, 24, SPECIES_SHUPPET}, - {29, 29, SPECIES_SHUPPET}, - {24, 24, SPECIES_SHUPPET}, -}; - -const struct WildPokemonInfo gMtPyre_1F_LandMonsInfo = {10, gMtPyre_1F_LandMons}; - -const struct WildPokemon gVictoryRoad_1F_LandMons[] = -{ - {40, 40, SPECIES_GOLBAT}, - {40, 40, SPECIES_HARIYAMA}, - {40, 40, SPECIES_LAIRON}, - {40, 40, SPECIES_LOUDRED}, - {36, 36, SPECIES_ZUBAT}, - {36, 36, SPECIES_MAKUHITA}, - {38, 38, SPECIES_GOLBAT}, - {38, 38, SPECIES_HARIYAMA}, - {36, 36, SPECIES_ARON}, - {36, 36, SPECIES_WHISMUR}, - {36, 36, SPECIES_ARON}, - {36, 36, SPECIES_WHISMUR}, -}; - -const struct WildPokemonInfo gVictoryRoad_1F_LandMonsInfo = {10, gVictoryRoad_1F_LandMons}; - -const struct WildPokemon gSafariZone_South_LandMons[] = -{ - {25, 25, SPECIES_ODDISH}, - {27, 27, SPECIES_ODDISH}, - {25, 25, SPECIES_GIRAFARIG}, - {27, 27, SPECIES_GIRAFARIG}, - {25, 25, SPECIES_NATU}, - {25, 25, SPECIES_DODUO}, - {25, 25, SPECIES_GLOOM}, - {27, 27, SPECIES_WOBBUFFET}, - {25, 25, SPECIES_PIKACHU}, - {27, 27, SPECIES_WOBBUFFET}, - {27, 27, SPECIES_PIKACHU}, - {29, 29, SPECIES_WOBBUFFET}, -}; - -const struct WildPokemonInfo gSafariZone_South_LandMonsInfo = {25, gSafariZone_South_LandMons}; - -const struct WildPokemon gUnderwater2_WaterMons[] = -{ - {20, 30, SPECIES_CLAMPERL}, - {20, 30, SPECIES_CHINCHOU}, - {30, 35, SPECIES_CLAMPERL}, - {30, 35, SPECIES_RELICANTH}, - {30, 35, SPECIES_RELICANTH}, -}; - -const struct WildPokemonInfo gUnderwater2_WaterMonsInfo = {4, gUnderwater2_WaterMons}; - -const struct WildPokemon gAbandonedShip_Rooms_B1F_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {5, 35, SPECIES_TENTACOOL}, - {5, 35, SPECIES_TENTACOOL}, - {5, 35, SPECIES_TENTACOOL}, - {30, 35, SPECIES_TENTACRUEL}, -}; - -const struct WildPokemonInfo gAbandonedShip_Rooms_B1F_WaterMonsInfo = {4, gAbandonedShip_Rooms_B1F_WaterMons}; - -const struct WildPokemon gAbandonedShip_Rooms_B1F_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_TENTACOOL}, - {25, 30, SPECIES_TENTACOOL}, - {30, 35, SPECIES_TENTACOOL}, - {30, 35, SPECIES_TENTACRUEL}, - {25, 30, SPECIES_TENTACRUEL}, - {20, 25, SPECIES_TENTACRUEL}, -}; - -const struct WildPokemonInfo gAbandonedShip_Rooms_B1F_FishingMonsInfo = {20, gAbandonedShip_Rooms_B1F_FishingMons}; - -const struct WildPokemon gGraniteCave_B2F_LandMons[] = -{ - {10, 10, SPECIES_ZUBAT}, - {11, 11, SPECIES_ARON}, - {10, 10, SPECIES_ARON}, - {11, 11, SPECIES_ZUBAT}, - {12, 12, SPECIES_ARON}, - {10, 10, SPECIES_ABRA}, - {10, 10, SPECIES_SABLEYE}, - {11, 11, SPECIES_SABLEYE}, - {12, 12, SPECIES_SABLEYE}, - {10, 10, SPECIES_SABLEYE}, - {12, 12, SPECIES_SABLEYE}, - {10, 10, SPECIES_SABLEYE}, -}; - -const struct WildPokemonInfo gGraniteCave_B2F_LandMonsInfo = {10, gGraniteCave_B2F_LandMons}; - -const struct WildPokemon gGraniteCave_B2F_RockSmashMons[] = -{ - {10, 15, SPECIES_GEODUDE}, - {10, 20, SPECIES_NOSEPASS}, - {5, 10, SPECIES_GEODUDE}, - {15, 20, SPECIES_GEODUDE}, - {15, 20, SPECIES_GEODUDE}, -}; - -const struct WildPokemonInfo gGraniteCave_B2F_RockSmashMonsInfo = {20, gGraniteCave_B2F_RockSmashMons}; - -const struct WildPokemon gFieryPath_LandMons[] = -{ - {15, 15, SPECIES_NUMEL}, - {15, 15, SPECIES_KOFFING}, - {16, 16, SPECIES_NUMEL}, - {15, 15, SPECIES_MACHOP}, - {15, 15, SPECIES_TORKOAL}, - {15, 15, SPECIES_SLUGMA}, - {16, 16, SPECIES_KOFFING}, - {16, 16, SPECIES_MACHOP}, - {14, 14, SPECIES_TORKOAL}, - {16, 16, SPECIES_TORKOAL}, - {14, 14, SPECIES_GRIMER}, - {14, 14, SPECIES_GRIMER}, -}; - -const struct WildPokemonInfo gFieryPath_LandMonsInfo = {10, gFieryPath_LandMons}; - -const struct WildPokemon gMeteorFalls_B1F_2R_LandMons[] = -{ - {33, 33, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {30, 30, SPECIES_BAGON}, - {35, 35, SPECIES_SOLROCK}, - {35, 35, SPECIES_BAGON}, - {37, 37, SPECIES_SOLROCK}, - {25, 25, SPECIES_BAGON}, - {39, 39, SPECIES_SOLROCK}, - {38, 38, SPECIES_GOLBAT}, - {40, 40, SPECIES_GOLBAT}, - {38, 38, SPECIES_GOLBAT}, - {40, 40, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gMeteorFalls_B1F_2R_LandMonsInfo = {10, gMeteorFalls_B1F_2R_LandMons}; - -const struct WildPokemon gMeteorFalls_B1F_2R_WaterMons[] = -{ - {30, 35, SPECIES_GOLBAT}, - {30, 35, SPECIES_GOLBAT}, - {25, 35, SPECIES_SOLROCK}, - {15, 25, SPECIES_SOLROCK}, - {5, 15, SPECIES_SOLROCK}, -}; - -const struct WildPokemonInfo gMeteorFalls_B1F_2R_WaterMonsInfo = {4, gMeteorFalls_B1F_2R_WaterMons}; - -const struct WildPokemon gMeteorFalls_B1F_2R_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_GOLDEEN}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_GOLDEEN}, - {10, 30, SPECIES_BARBOACH}, - {25, 30, SPECIES_BARBOACH}, - {30, 35, SPECIES_BARBOACH}, - {30, 35, SPECIES_WHISCASH}, - {35, 40, SPECIES_WHISCASH}, - {40, 45, SPECIES_WHISCASH}, -}; - -const struct WildPokemonInfo gMeteorFalls_B1F_2R_FishingMonsInfo = {30, gMeteorFalls_B1F_2R_FishingMons}; - -const struct WildPokemon gJaggedPass_LandMons[] = -{ - {21, 21, SPECIES_NUMEL}, - {21, 21, SPECIES_NUMEL}, - {21, 21, SPECIES_MACHOP}, - {20, 20, SPECIES_NUMEL}, - {20, 20, SPECIES_SPOINK}, - {20, 20, SPECIES_MACHOP}, - {21, 21, SPECIES_SPOINK}, - {22, 22, SPECIES_MACHOP}, - {22, 22, SPECIES_NUMEL}, - {22, 22, SPECIES_SPOINK}, - {22, 22, SPECIES_NUMEL}, - {22, 22, SPECIES_SPOINK}, -}; - -const struct WildPokemonInfo gJaggedPass_LandMonsInfo = {20, gJaggedPass_LandMons}; - -const struct WildPokemon gRoute106_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute106_WaterMonsInfo = {4, gRoute106_WaterMons}; - -const struct WildPokemon gRoute106_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute106_FishingMonsInfo = {30, gRoute106_FishingMons}; - -const struct WildPokemon gRoute107_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute107_WaterMonsInfo = {4, gRoute107_WaterMons}; - -const struct WildPokemon gRoute107_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute107_FishingMonsInfo = {30, gRoute107_FishingMons}; - -const struct WildPokemon gRoute108_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute108_WaterMonsInfo = {4, gRoute108_WaterMons}; - -const struct WildPokemon gRoute108_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute108_FishingMonsInfo = {30, gRoute108_FishingMons}; - -const struct WildPokemon gRoute109_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute109_WaterMonsInfo = {4, gRoute109_WaterMons}; - -const struct WildPokemon gRoute109_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute109_FishingMonsInfo = {30, gRoute109_FishingMons}; - -const struct WildPokemon gRoute115_LandMons[] = -{ - {23, 23, SPECIES_SWABLU}, - {23, 23, SPECIES_TAILLOW}, - {25, 25, SPECIES_SWABLU}, - {24, 24, SPECIES_TAILLOW}, - {25, 25, SPECIES_TAILLOW}, - {25, 25, SPECIES_SWELLOW}, - {24, 24, SPECIES_JIGGLYPUFF}, - {25, 25, SPECIES_JIGGLYPUFF}, - {24, 24, SPECIES_WINGULL}, - {24, 24, SPECIES_WINGULL}, - {26, 26, SPECIES_WINGULL}, - {25, 25, SPECIES_WINGULL}, -}; - -const struct WildPokemonInfo gRoute115_LandMonsInfo = {20, gRoute115_LandMons}; - -const struct WildPokemon gRoute115_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute115_WaterMonsInfo = {4, gRoute115_WaterMons}; - -const struct WildPokemon gRoute115_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute115_FishingMonsInfo = {30, gRoute115_FishingMons}; - -const struct WildPokemon gNewMauville_Inside_LandMons[] = -{ - {24, 24, SPECIES_VOLTORB}, - {24, 24, SPECIES_MAGNEMITE}, - {25, 25, SPECIES_VOLTORB}, - {25, 25, SPECIES_MAGNEMITE}, - {23, 23, SPECIES_VOLTORB}, - {23, 23, SPECIES_MAGNEMITE}, - {26, 26, SPECIES_VOLTORB}, - {26, 26, SPECIES_MAGNEMITE}, - {22, 22, SPECIES_VOLTORB}, - {22, 22, SPECIES_MAGNEMITE}, - {26, 26, SPECIES_ELECTRODE}, - {26, 26, SPECIES_MAGNETON}, -}; - -const struct WildPokemonInfo gNewMauville_Inside_LandMonsInfo = {10, gNewMauville_Inside_LandMons}; - -const struct WildPokemon gRoute119_LandMons[] = -{ - {25, 25, SPECIES_ZIGZAGOON}, - {25, 25, SPECIES_LINOONE}, - {27, 27, SPECIES_ZIGZAGOON}, - {25, 25, SPECIES_ODDISH}, - {27, 27, SPECIES_LINOONE}, - {26, 26, SPECIES_ODDISH}, - {27, 27, SPECIES_ODDISH}, - {24, 24, SPECIES_ODDISH}, - {25, 25, SPECIES_TROPIUS}, - {26, 26, SPECIES_TROPIUS}, - {27, 27, SPECIES_TROPIUS}, - {25, 25, SPECIES_KECLEON}, -}; - -const struct WildPokemonInfo gRoute119_LandMonsInfo = {15, gRoute119_LandMons}; - -const struct WildPokemon gRoute119_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute119_WaterMonsInfo = {4, gRoute119_WaterMons}; - -const struct WildPokemon gRoute119_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_CARVANHA}, - {25, 30, SPECIES_CARVANHA}, - {30, 35, SPECIES_CARVANHA}, - {20, 25, SPECIES_CARVANHA}, - {35, 40, SPECIES_CARVANHA}, - {40, 45, SPECIES_CARVANHA}, -}; - -const struct WildPokemonInfo gRoute119_FishingMonsInfo = {30, gRoute119_FishingMons}; - -const struct WildPokemon gRoute120_LandMons[] = -{ - {25, 25, SPECIES_POOCHYENA}, - {25, 25, SPECIES_MIGHTYENA}, - {27, 27, SPECIES_MIGHTYENA}, - {25, 25, SPECIES_ODDISH}, - {25, 25, SPECIES_MARILL}, - {26, 26, SPECIES_ODDISH}, - {27, 27, SPECIES_ODDISH}, - {27, 27, SPECIES_MARILL}, - {25, 25, SPECIES_ABSOL}, - {27, 27, SPECIES_ABSOL}, - {25, 25, SPECIES_KECLEON}, - {25, 25, SPECIES_SEEDOT}, -}; - -const struct WildPokemonInfo gRoute120_LandMonsInfo = {20, gRoute120_LandMons}; - -const struct WildPokemon gRoute120_WaterMons[] = -{ - {20, 30, SPECIES_MARILL}, - {10, 20, SPECIES_MARILL}, - {30, 35, SPECIES_MARILL}, - {5, 10, SPECIES_MARILL}, - {20, 30, SPECIES_GOLDEEN}, -}; - -const struct WildPokemonInfo gRoute120_WaterMonsInfo = {4, gRoute120_WaterMons}; - -const struct WildPokemon gRoute120_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_GOLDEEN}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_GOLDEEN}, - {10, 30, SPECIES_BARBOACH}, - {25, 30, SPECIES_BARBOACH}, - {30, 35, SPECIES_BARBOACH}, - {20, 25, SPECIES_BARBOACH}, - {35, 40, SPECIES_BARBOACH}, - {40, 45, SPECIES_BARBOACH}, -}; - -const struct WildPokemonInfo gRoute120_FishingMonsInfo = {30, gRoute120_FishingMons}; - -const struct WildPokemon gRoute121_LandMons[] = -{ - {26, 26, SPECIES_POOCHYENA}, - {26, 26, SPECIES_SHUPPET}, - {26, 26, SPECIES_MIGHTYENA}, - {28, 28, SPECIES_SHUPPET}, - {28, 28, SPECIES_MIGHTYENA}, - {26, 26, SPECIES_ODDISH}, - {28, 28, SPECIES_ODDISH}, - {28, 28, SPECIES_GLOOM}, - {26, 26, SPECIES_WINGULL}, - {27, 27, SPECIES_WINGULL}, - {28, 28, SPECIES_WINGULL}, - {25, 25, SPECIES_KECLEON}, -}; - -const struct WildPokemonInfo gRoute121_LandMonsInfo = {20, gRoute121_LandMons}; - -const struct WildPokemon gRoute121_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute121_WaterMonsInfo = {4, gRoute121_WaterMons}; - -const struct WildPokemon gRoute121_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute121_FishingMonsInfo = {30, gRoute121_FishingMons}; - -const struct WildPokemon gRoute122_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute122_WaterMonsInfo = {4, gRoute122_WaterMons}; - -const struct WildPokemon gRoute122_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute122_FishingMonsInfo = {30, gRoute122_FishingMons}; - -const struct WildPokemon gRoute123_LandMons[] = -{ - {26, 26, SPECIES_POOCHYENA}, - {26, 26, SPECIES_SHUPPET}, - {26, 26, SPECIES_MIGHTYENA}, - {28, 28, SPECIES_SHUPPET}, - {28, 28, SPECIES_MIGHTYENA}, - {26, 26, SPECIES_ODDISH}, - {28, 28, SPECIES_ODDISH}, - {28, 28, SPECIES_GLOOM}, - {26, 26, SPECIES_WINGULL}, - {27, 27, SPECIES_WINGULL}, - {28, 28, SPECIES_WINGULL}, - {25, 25, SPECIES_KECLEON}, -}; - -const struct WildPokemonInfo gRoute123_LandMonsInfo = {20, gRoute123_LandMons}; - -const struct WildPokemon gRoute123_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute123_WaterMonsInfo = {4, gRoute123_WaterMons}; - -const struct WildPokemon gRoute123_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute123_FishingMonsInfo = {30, gRoute123_FishingMons}; - -const struct WildPokemon gMtPyre_2F_LandMons[] = -{ - {27, 27, SPECIES_SHUPPET}, - {28, 28, SPECIES_SHUPPET}, - {26, 26, SPECIES_SHUPPET}, - {25, 25, SPECIES_SHUPPET}, - {29, 29, SPECIES_SHUPPET}, - {24, 24, SPECIES_SHUPPET}, - {23, 23, SPECIES_SHUPPET}, - {22, 22, SPECIES_SHUPPET}, - {29, 29, SPECIES_SHUPPET}, - {24, 24, SPECIES_SHUPPET}, - {29, 29, SPECIES_SHUPPET}, - {24, 24, SPECIES_SHUPPET}, -}; - -const struct WildPokemonInfo gMtPyre_2F_LandMonsInfo = {10, gMtPyre_2F_LandMons}; - -const struct WildPokemon gMtPyre_3F_LandMons[] = -{ - {27, 27, SPECIES_SHUPPET}, - {28, 28, SPECIES_SHUPPET}, - {26, 26, SPECIES_SHUPPET}, - {25, 25, SPECIES_SHUPPET}, - {29, 29, SPECIES_SHUPPET}, - {24, 24, SPECIES_SHUPPET}, - {23, 23, SPECIES_SHUPPET}, - {22, 22, SPECIES_SHUPPET}, - {29, 29, SPECIES_SHUPPET}, - {24, 24, SPECIES_SHUPPET}, - {29, 29, SPECIES_SHUPPET}, - {24, 24, SPECIES_SHUPPET}, -}; - -const struct WildPokemonInfo gMtPyre_3F_LandMonsInfo = {10, gMtPyre_3F_LandMons}; - -const struct WildPokemon gMtPyre_4F_LandMons[] = -{ - {27, 27, SPECIES_SHUPPET}, - {28, 28, SPECIES_SHUPPET}, - {26, 26, SPECIES_SHUPPET}, - {25, 25, SPECIES_SHUPPET}, - {29, 29, SPECIES_SHUPPET}, - {24, 24, SPECIES_SHUPPET}, - {23, 23, SPECIES_SHUPPET}, - {22, 22, SPECIES_SHUPPET}, - {27, 27, SPECIES_DUSKULL}, - {27, 27, SPECIES_DUSKULL}, - {25, 25, SPECIES_DUSKULL}, - {29, 29, SPECIES_DUSKULL}, -}; - -const struct WildPokemonInfo gMtPyre_4F_LandMonsInfo = {10, gMtPyre_4F_LandMons}; - -const struct WildPokemon gMtPyre_5F_LandMons[] = -{ - {27, 27, SPECIES_SHUPPET}, - {28, 28, SPECIES_SHUPPET}, - {26, 26, SPECIES_SHUPPET}, - {25, 25, SPECIES_SHUPPET}, - {29, 29, SPECIES_SHUPPET}, - {24, 24, SPECIES_SHUPPET}, - {23, 23, SPECIES_SHUPPET}, - {22, 22, SPECIES_SHUPPET}, - {27, 27, SPECIES_DUSKULL}, - {27, 27, SPECIES_DUSKULL}, - {25, 25, SPECIES_DUSKULL}, - {29, 29, SPECIES_DUSKULL}, -}; - -const struct WildPokemonInfo gMtPyre_5F_LandMonsInfo = {10, gMtPyre_5F_LandMons}; - -const struct WildPokemon gMtPyre_6F_LandMons[] = -{ - {27, 27, SPECIES_SHUPPET}, - {28, 28, SPECIES_SHUPPET}, - {26, 26, SPECIES_SHUPPET}, - {25, 25, SPECIES_SHUPPET}, - {29, 29, SPECIES_SHUPPET}, - {24, 24, SPECIES_SHUPPET}, - {23, 23, SPECIES_SHUPPET}, - {22, 22, SPECIES_SHUPPET}, - {27, 27, SPECIES_DUSKULL}, - {27, 27, SPECIES_DUSKULL}, - {25, 25, SPECIES_DUSKULL}, - {29, 29, SPECIES_DUSKULL}, -}; - -const struct WildPokemonInfo gMtPyre_6F_LandMonsInfo = {10, gMtPyre_6F_LandMons}; - -const struct WildPokemon gMtPyre_Exterior_LandMons[] = -{ - {27, 27, SPECIES_SHUPPET}, - {27, 27, SPECIES_SHUPPET}, - {28, 28, SPECIES_SHUPPET}, - {29, 29, SPECIES_SHUPPET}, - {29, 29, SPECIES_VULPIX}, - {27, 27, SPECIES_VULPIX}, - {29, 29, SPECIES_VULPIX}, - {25, 25, SPECIES_VULPIX}, - {27, 27, SPECIES_WINGULL}, - {27, 27, SPECIES_WINGULL}, - {26, 26, SPECIES_WINGULL}, - {28, 28, SPECIES_WINGULL}, -}; - -const struct WildPokemonInfo gMtPyre_Exterior_LandMonsInfo = {10, gMtPyre_Exterior_LandMons}; - -const struct WildPokemon gMtPyre_Summit_LandMons[] = -{ - {28, 28, SPECIES_SHUPPET}, - {29, 29, SPECIES_SHUPPET}, - {27, 27, SPECIES_SHUPPET}, - {26, 26, SPECIES_SHUPPET}, - {30, 30, SPECIES_SHUPPET}, - {25, 25, SPECIES_SHUPPET}, - {24, 24, SPECIES_SHUPPET}, - {28, 28, SPECIES_DUSKULL}, - {26, 26, SPECIES_DUSKULL}, - {30, 30, SPECIES_DUSKULL}, - {28, 28, SPECIES_CHIMECHO}, - {28, 28, SPECIES_CHIMECHO}, -}; - -const struct WildPokemonInfo gMtPyre_Summit_LandMonsInfo = {10, gMtPyre_Summit_LandMons}; - -const struct WildPokemon gGraniteCave_StevensRoom_LandMons[] = -{ - {7, 7, SPECIES_ZUBAT}, - {8, 8, SPECIES_MAKUHITA}, - {7, 7, SPECIES_MAKUHITA}, - {8, 8, SPECIES_ZUBAT}, - {9, 9, SPECIES_MAKUHITA}, - {8, 8, SPECIES_ABRA}, - {10, 10, SPECIES_MAKUHITA}, - {6, 6, SPECIES_MAKUHITA}, - {7, 7, SPECIES_ARON}, - {8, 8, SPECIES_ARON}, - {7, 7, SPECIES_ARON}, - {8, 8, SPECIES_ARON}, -}; - -const struct WildPokemonInfo gGraniteCave_StevensRoom_LandMonsInfo = {10, gGraniteCave_StevensRoom_LandMons}; - -const struct WildPokemon gRoute125_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute125_WaterMonsInfo = {4, gRoute125_WaterMons}; - -const struct WildPokemon gRoute125_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute125_FishingMonsInfo = {30, gRoute125_FishingMons}; - -const struct WildPokemon gRoute126_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute126_WaterMonsInfo = {4, gRoute126_WaterMons}; - -const struct WildPokemon gRoute126_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute126_FishingMonsInfo = {30, gRoute126_FishingMons}; - -const struct WildPokemon gRoute127_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute127_WaterMonsInfo = {4, gRoute127_WaterMons}; - -const struct WildPokemon gRoute127_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute127_FishingMonsInfo = {30, gRoute127_FishingMons}; - -const struct WildPokemon gRoute128_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute128_WaterMonsInfo = {4, gRoute128_WaterMons}; - -const struct WildPokemon gRoute128_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_LUVDISC}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_LUVDISC}, - {30, 35, SPECIES_WAILMER}, - {30, 35, SPECIES_CORSOLA}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute128_FishingMonsInfo = {30, gRoute128_FishingMons}; - -const struct WildPokemon gRoute129_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_WAILORD}, -}; - -const struct WildPokemonInfo gRoute129_WaterMonsInfo = {4, gRoute129_WaterMons}; - -const struct WildPokemon gRoute129_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute129_FishingMonsInfo = {30, gRoute129_FishingMons}; - -const struct WildPokemon gRoute130_LandMons[] = -{ - {30, 30, SPECIES_WYNAUT}, - {35, 35, SPECIES_WYNAUT}, - {25, 25, SPECIES_WYNAUT}, - {40, 40, SPECIES_WYNAUT}, - {20, 20, SPECIES_WYNAUT}, - {45, 45, SPECIES_WYNAUT}, - {15, 15, SPECIES_WYNAUT}, - {50, 50, SPECIES_WYNAUT}, - {10, 10, SPECIES_WYNAUT}, - {5, 5, SPECIES_WYNAUT}, - {10, 10, SPECIES_WYNAUT}, - {5, 5, SPECIES_WYNAUT}, -}; - -const struct WildPokemonInfo gRoute130_LandMonsInfo = {20, gRoute130_LandMons}; - -const struct WildPokemon gRoute130_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute130_WaterMonsInfo = {4, gRoute130_WaterMons}; - -const struct WildPokemon gRoute130_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute130_FishingMonsInfo = {30, gRoute130_FishingMons}; - -const struct WildPokemon gRoute131_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute131_WaterMonsInfo = {4, gRoute131_WaterMons}; - -const struct WildPokemon gRoute131_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute131_FishingMonsInfo = {30, gRoute131_FishingMons}; - -const struct WildPokemon gRoute132_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute132_WaterMonsInfo = {4, gRoute132_WaterMons}; - -const struct WildPokemon gRoute132_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_HORSEA}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute132_FishingMonsInfo = {30, gRoute132_FishingMons}; - -const struct WildPokemon gRoute133_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute133_WaterMonsInfo = {4, gRoute133_WaterMons}; - -const struct WildPokemon gRoute133_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_HORSEA}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute133_FishingMonsInfo = {30, gRoute133_FishingMons}; - -const struct WildPokemon gRoute134_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute134_WaterMonsInfo = {4, gRoute134_WaterMons}; - -const struct WildPokemon gRoute134_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_HORSEA}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute134_FishingMonsInfo = {30, gRoute134_FishingMons}; - -const struct WildPokemon gAbandonedShip_HiddenFloorCorridors_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {5, 35, SPECIES_TENTACOOL}, - {5, 35, SPECIES_TENTACOOL}, - {5, 35, SPECIES_TENTACOOL}, - {30, 35, SPECIES_TENTACRUEL}, -}; - -const struct WildPokemonInfo gAbandonedShip_HiddenFloorCorridors_WaterMonsInfo = {4, gAbandonedShip_HiddenFloorCorridors_WaterMons}; - -const struct WildPokemon gAbandonedShip_HiddenFloorCorridors_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_TENTACOOL}, - {25, 30, SPECIES_TENTACOOL}, - {30, 35, SPECIES_TENTACOOL}, - {30, 35, SPECIES_TENTACRUEL}, - {25, 30, SPECIES_TENTACRUEL}, - {20, 25, SPECIES_TENTACRUEL}, -}; - -const struct WildPokemonInfo gAbandonedShip_HiddenFloorCorridors_FishingMonsInfo = {20, gAbandonedShip_HiddenFloorCorridors_FishingMons}; - -const struct WildPokemon gSeafloorCavern_Room1_LandMons[] = -{ - {30, 30, SPECIES_ZUBAT}, - {31, 31, SPECIES_ZUBAT}, - {32, 32, SPECIES_ZUBAT}, - {33, 33, SPECIES_ZUBAT}, - {28, 28, SPECIES_ZUBAT}, - {29, 29, SPECIES_ZUBAT}, - {34, 34, SPECIES_ZUBAT}, - {35, 35, SPECIES_ZUBAT}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {36, 36, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gSeafloorCavern_Room1_LandMonsInfo = {4, gSeafloorCavern_Room1_LandMons}; - -const struct WildPokemon gSeafloorCavern_Room2_LandMons[] = -{ - {30, 30, SPECIES_ZUBAT}, - {31, 31, SPECIES_ZUBAT}, - {32, 32, SPECIES_ZUBAT}, - {33, 33, SPECIES_ZUBAT}, - {28, 28, SPECIES_ZUBAT}, - {29, 29, SPECIES_ZUBAT}, - {34, 34, SPECIES_ZUBAT}, - {35, 35, SPECIES_ZUBAT}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {36, 36, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gSeafloorCavern_Room2_LandMonsInfo = {4, gSeafloorCavern_Room2_LandMons}; - -const struct WildPokemon gSeafloorCavern_Room3_LandMons[] = -{ - {30, 30, SPECIES_ZUBAT}, - {31, 31, SPECIES_ZUBAT}, - {32, 32, SPECIES_ZUBAT}, - {33, 33, SPECIES_ZUBAT}, - {28, 28, SPECIES_ZUBAT}, - {29, 29, SPECIES_ZUBAT}, - {34, 34, SPECIES_ZUBAT}, - {35, 35, SPECIES_ZUBAT}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {36, 36, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gSeafloorCavern_Room3_LandMonsInfo = {4, gSeafloorCavern_Room3_LandMons}; - -const struct WildPokemon gSeafloorCavern_Room4_LandMons[] = -{ - {30, 30, SPECIES_ZUBAT}, - {31, 31, SPECIES_ZUBAT}, - {32, 32, SPECIES_ZUBAT}, - {33, 33, SPECIES_ZUBAT}, - {28, 28, SPECIES_ZUBAT}, - {29, 29, SPECIES_ZUBAT}, - {34, 34, SPECIES_ZUBAT}, - {35, 35, SPECIES_ZUBAT}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {36, 36, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gSeafloorCavern_Room4_LandMonsInfo = {4, gSeafloorCavern_Room4_LandMons}; - -const struct WildPokemon gSeafloorCavern_Room5_LandMons[] = -{ - {30, 30, SPECIES_ZUBAT}, - {31, 31, SPECIES_ZUBAT}, - {32, 32, SPECIES_ZUBAT}, - {33, 33, SPECIES_ZUBAT}, - {28, 28, SPECIES_ZUBAT}, - {29, 29, SPECIES_ZUBAT}, - {34, 34, SPECIES_ZUBAT}, - {35, 35, SPECIES_ZUBAT}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {36, 36, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gSeafloorCavern_Room5_LandMonsInfo = {4, gSeafloorCavern_Room5_LandMons}; - -const struct WildPokemon gSeafloorCavern_Room6_LandMons[] = -{ - {30, 30, SPECIES_ZUBAT}, - {31, 31, SPECIES_ZUBAT}, - {32, 32, SPECIES_ZUBAT}, - {33, 33, SPECIES_ZUBAT}, - {28, 28, SPECIES_ZUBAT}, - {29, 29, SPECIES_ZUBAT}, - {34, 34, SPECIES_ZUBAT}, - {35, 35, SPECIES_ZUBAT}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {36, 36, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gSeafloorCavern_Room6_LandMonsInfo = {4, gSeafloorCavern_Room6_LandMons}; - -const struct WildPokemon gSeafloorCavern_Room6_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {5, 35, SPECIES_ZUBAT}, - {30, 35, SPECIES_ZUBAT}, - {30, 35, SPECIES_GOLBAT}, - {30, 35, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gSeafloorCavern_Room6_WaterMonsInfo = {4, gSeafloorCavern_Room6_WaterMons}; - -const struct WildPokemon gSeafloorCavern_Room6_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gSeafloorCavern_Room6_FishingMonsInfo = {10, gSeafloorCavern_Room6_FishingMons}; - -const struct WildPokemon gSeafloorCavern_Room7_LandMons[] = -{ - {30, 30, SPECIES_ZUBAT}, - {31, 31, SPECIES_ZUBAT}, - {32, 32, SPECIES_ZUBAT}, - {33, 33, SPECIES_ZUBAT}, - {28, 28, SPECIES_ZUBAT}, - {29, 29, SPECIES_ZUBAT}, - {34, 34, SPECIES_ZUBAT}, - {35, 35, SPECIES_ZUBAT}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {36, 36, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gSeafloorCavern_Room7_LandMonsInfo = {4, gSeafloorCavern_Room7_LandMons}; - -const struct WildPokemon gSeafloorCavern_Room7_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {5, 35, SPECIES_ZUBAT}, - {30, 35, SPECIES_ZUBAT}, - {30, 35, SPECIES_GOLBAT}, - {30, 35, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gSeafloorCavern_Room7_WaterMonsInfo = {4, gSeafloorCavern_Room7_WaterMons}; - -const struct WildPokemon gSeafloorCavern_Room7_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gSeafloorCavern_Room7_FishingMonsInfo = {10, gSeafloorCavern_Room7_FishingMons}; - -const struct WildPokemon gSeafloorCavern_Room8_LandMons[] = -{ - {30, 30, SPECIES_ZUBAT}, - {31, 31, SPECIES_ZUBAT}, - {32, 32, SPECIES_ZUBAT}, - {33, 33, SPECIES_ZUBAT}, - {28, 28, SPECIES_ZUBAT}, - {29, 29, SPECIES_ZUBAT}, - {34, 34, SPECIES_ZUBAT}, - {35, 35, SPECIES_ZUBAT}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {36, 36, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gSeafloorCavern_Room8_LandMonsInfo = {4, gSeafloorCavern_Room8_LandMons}; - -const struct WildPokemon gSeafloorCavern_Entrance_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {5, 35, SPECIES_ZUBAT}, - {30, 35, SPECIES_ZUBAT}, - {30, 35, SPECIES_GOLBAT}, - {30, 35, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gSeafloorCavern_Entrance_WaterMonsInfo = {4, gSeafloorCavern_Entrance_WaterMons}; - -const struct WildPokemon gSeafloorCavern_Entrance_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gSeafloorCavern_Entrance_FishingMonsInfo = {10, gSeafloorCavern_Entrance_FishingMons}; - -const struct WildPokemon gCaveOfOrigin_Entrance_LandMons[] = -{ - {30, 30, SPECIES_ZUBAT}, - {31, 31, SPECIES_ZUBAT}, - {32, 32, SPECIES_ZUBAT}, - {33, 33, SPECIES_ZUBAT}, - {28, 28, SPECIES_ZUBAT}, - {29, 29, SPECIES_ZUBAT}, - {34, 34, SPECIES_ZUBAT}, - {35, 35, SPECIES_ZUBAT}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {36, 36, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gCaveOfOrigin_Entrance_LandMonsInfo = {4, gCaveOfOrigin_Entrance_LandMons}; - -const struct WildPokemon gCaveOfOrigin_1F_LandMons[] = -{ - {30, 30, SPECIES_ZUBAT}, - {31, 31, SPECIES_ZUBAT}, - {32, 32, SPECIES_ZUBAT}, - {30, 30, SPECIES_SABLEYE}, - {32, 32, SPECIES_SABLEYE}, - {34, 34, SPECIES_SABLEYE}, - {33, 33, SPECIES_ZUBAT}, - {34, 34, SPECIES_ZUBAT}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {36, 36, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gCaveOfOrigin_1F_LandMonsInfo = {4, gCaveOfOrigin_1F_LandMons}; - -const struct WildPokemon gCaveOfOrigin_UnusedRubySapphireMap1_LandMons[] = -{ - {30, 30, SPECIES_ZUBAT}, - {31, 31, SPECIES_ZUBAT}, - {32, 32, SPECIES_ZUBAT}, - {30, 30, SPECIES_SABLEYE}, - {32, 32, SPECIES_SABLEYE}, - {34, 34, SPECIES_SABLEYE}, - {33, 33, SPECIES_ZUBAT}, - {34, 34, SPECIES_ZUBAT}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {36, 36, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gCaveOfOrigin_UnusedRubySapphireMap1_LandMonsInfo = {4, gCaveOfOrigin_UnusedRubySapphireMap1_LandMons}; - -const struct WildPokemon gCaveOfOrigin_UnusedRubySapphireMap2_LandMons[] = -{ - {30, 30, SPECIES_ZUBAT}, - {31, 31, SPECIES_ZUBAT}, - {32, 32, SPECIES_ZUBAT}, - {30, 30, SPECIES_SABLEYE}, - {32, 32, SPECIES_SABLEYE}, - {34, 34, SPECIES_SABLEYE}, - {33, 33, SPECIES_ZUBAT}, - {34, 34, SPECIES_ZUBAT}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {36, 36, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gCaveOfOrigin_UnusedRubySapphireMap2_LandMonsInfo = {4, gCaveOfOrigin_UnusedRubySapphireMap2_LandMons}; - -const struct WildPokemon gCaveOfOrigin_UnusedRubySapphireMap3_LandMons[] = -{ - {30, 30, SPECIES_ZUBAT}, - {31, 31, SPECIES_ZUBAT}, - {32, 32, SPECIES_ZUBAT}, - {30, 30, SPECIES_SABLEYE}, - {32, 32, SPECIES_SABLEYE}, - {34, 34, SPECIES_SABLEYE}, - {33, 33, SPECIES_ZUBAT}, - {34, 34, SPECIES_ZUBAT}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {36, 36, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gCaveOfOrigin_UnusedRubySapphireMap3_LandMonsInfo = {4, gCaveOfOrigin_UnusedRubySapphireMap3_LandMons}; - -const struct WildPokemon gNewMauville_Entrance_LandMons[] = -{ - {24, 24, SPECIES_VOLTORB}, - {24, 24, SPECIES_MAGNEMITE}, - {25, 25, SPECIES_VOLTORB}, - {25, 25, SPECIES_MAGNEMITE}, - {23, 23, SPECIES_VOLTORB}, - {23, 23, SPECIES_MAGNEMITE}, - {26, 26, SPECIES_VOLTORB}, - {26, 26, SPECIES_MAGNEMITE}, - {22, 22, SPECIES_VOLTORB}, - {22, 22, SPECIES_MAGNEMITE}, - {22, 22, SPECIES_VOLTORB}, - {22, 22, SPECIES_MAGNEMITE}, -}; - -const struct WildPokemonInfo gNewMauville_Entrance_LandMonsInfo = {10, gNewMauville_Entrance_LandMons}; - -const struct WildPokemon gSafariZone_Southwest_LandMons[] = -{ - {25, 25, SPECIES_ODDISH}, - {27, 27, SPECIES_ODDISH}, - {25, 25, SPECIES_GIRAFARIG}, - {27, 27, SPECIES_GIRAFARIG}, - {25, 25, SPECIES_NATU}, - {27, 27, SPECIES_DODUO}, - {25, 25, SPECIES_GLOOM}, - {27, 27, SPECIES_WOBBUFFET}, - {25, 25, SPECIES_PIKACHU}, - {27, 27, SPECIES_WOBBUFFET}, - {27, 27, SPECIES_PIKACHU}, - {29, 29, SPECIES_WOBBUFFET}, -}; - -const struct WildPokemonInfo gSafariZone_Southwest_LandMonsInfo = {25, gSafariZone_Southwest_LandMons}; - -const struct WildPokemon gSafariZone_Southwest_WaterMons[] = -{ - {20, 30, SPECIES_PSYDUCK}, - {20, 30, SPECIES_PSYDUCK}, - {30, 35, SPECIES_PSYDUCK}, - {30, 35, SPECIES_PSYDUCK}, - {30, 35, SPECIES_PSYDUCK}, -}; - -const struct WildPokemonInfo gSafariZone_Southwest_WaterMonsInfo = {9, gSafariZone_Southwest_WaterMons}; - -const struct WildPokemon gSafariZone_Southwest_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_GOLDEEN}, - {10, 30, SPECIES_MAGIKARP}, - {10, 25, SPECIES_GOLDEEN}, - {10, 30, SPECIES_GOLDEEN}, - {25, 30, SPECIES_GOLDEEN}, - {30, 35, SPECIES_GOLDEEN}, - {30, 35, SPECIES_SEAKING}, - {35, 40, SPECIES_SEAKING}, - {25, 30, SPECIES_SEAKING}, -}; - -const struct WildPokemonInfo gSafariZone_Southwest_FishingMonsInfo = {35, gSafariZone_Southwest_FishingMons}; - -const struct WildPokemon gSafariZone_North_LandMons[] = -{ - {27, 27, SPECIES_PHANPY}, - {27, 27, SPECIES_ODDISH}, - {29, 29, SPECIES_PHANPY}, - {29, 29, SPECIES_ODDISH}, - {27, 27, SPECIES_NATU}, - {29, 29, SPECIES_GLOOM}, - {31, 31, SPECIES_GLOOM}, - {29, 29, SPECIES_NATU}, - {29, 29, SPECIES_XATU}, - {27, 27, SPECIES_HERACROSS}, - {31, 31, SPECIES_XATU}, - {29, 29, SPECIES_HERACROSS}, -}; - -const struct WildPokemonInfo gSafariZone_North_LandMonsInfo = {25, gSafariZone_North_LandMons}; - -const struct WildPokemon gSafariZone_North_RockSmashMons[] = -{ - {10, 15, SPECIES_GEODUDE}, - {5, 10, SPECIES_GEODUDE}, - {15, 20, SPECIES_GEODUDE}, - {20, 25, SPECIES_GEODUDE}, - {25, 30, SPECIES_GEODUDE}, -}; - -const struct WildPokemonInfo gSafariZone_North_RockSmashMonsInfo = {25, gSafariZone_North_RockSmashMons}; - -const struct WildPokemon gSafariZone_Northwest_LandMons[] = -{ - {27, 27, SPECIES_RHYHORN}, - {27, 27, SPECIES_ODDISH}, - {29, 29, SPECIES_RHYHORN}, - {29, 29, SPECIES_ODDISH}, - {27, 27, SPECIES_DODUO}, - {29, 29, SPECIES_GLOOM}, - {31, 31, SPECIES_GLOOM}, - {29, 29, SPECIES_DODUO}, - {29, 29, SPECIES_DODRIO}, - {27, 27, SPECIES_PINSIR}, - {31, 31, SPECIES_DODRIO}, - {29, 29, SPECIES_PINSIR}, -}; - -const struct WildPokemonInfo gSafariZone_Northwest_LandMonsInfo = {25, gSafariZone_Northwest_LandMons}; - -const struct WildPokemon gSafariZone_Northwest_WaterMons[] = -{ - {20, 30, SPECIES_PSYDUCK}, - {20, 30, SPECIES_PSYDUCK}, - {30, 35, SPECIES_PSYDUCK}, - {30, 35, SPECIES_GOLDUCK}, - {25, 40, SPECIES_GOLDUCK}, -}; - -const struct WildPokemonInfo gSafariZone_Northwest_WaterMonsInfo = {9, gSafariZone_Northwest_WaterMons}; - -const struct WildPokemon gSafariZone_Northwest_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_GOLDEEN}, - {10, 30, SPECIES_MAGIKARP}, - {10, 25, SPECIES_GOLDEEN}, - {10, 30, SPECIES_GOLDEEN}, - {25, 30, SPECIES_GOLDEEN}, - {30, 35, SPECIES_GOLDEEN}, - {30, 35, SPECIES_SEAKING}, - {35, 40, SPECIES_SEAKING}, - {25, 30, SPECIES_SEAKING}, -}; - -const struct WildPokemonInfo gSafariZone_Northwest_FishingMonsInfo = {35, gSafariZone_Northwest_FishingMons}; - -const struct WildPokemon gVictoryRoad_B1F_LandMons[] = -{ - {40, 40, SPECIES_GOLBAT}, - {40, 40, SPECIES_HARIYAMA}, - {40, 40, SPECIES_LAIRON}, - {40, 40, SPECIES_LAIRON}, - {38, 38, SPECIES_GOLBAT}, - {38, 38, SPECIES_HARIYAMA}, - {42, 42, SPECIES_GOLBAT}, - {42, 42, SPECIES_HARIYAMA}, - {42, 42, SPECIES_LAIRON}, - {38, 38, SPECIES_MAWILE}, - {42, 42, SPECIES_LAIRON}, - {38, 38, SPECIES_MAWILE}, -}; - -const struct WildPokemonInfo gVictoryRoad_B1F_LandMonsInfo = {10, gVictoryRoad_B1F_LandMons}; - -const struct WildPokemon gVictoryRoad_B1F_RockSmashMons[] = -{ - {30, 40, SPECIES_GRAVELER}, - {30, 40, SPECIES_GEODUDE}, - {35, 40, SPECIES_GRAVELER}, - {35, 40, SPECIES_GRAVELER}, - {35, 40, SPECIES_GRAVELER}, -}; - -const struct WildPokemonInfo gVictoryRoad_B1F_RockSmashMonsInfo = {20, gVictoryRoad_B1F_RockSmashMons}; - -const struct WildPokemon gVictoryRoad_B2F_LandMons[] = -{ - {40, 40, SPECIES_GOLBAT}, - {40, 40, SPECIES_SABLEYE}, - {40, 40, SPECIES_LAIRON}, - {40, 40, SPECIES_LAIRON}, - {42, 42, SPECIES_GOLBAT}, - {42, 42, SPECIES_SABLEYE}, - {44, 44, SPECIES_GOLBAT}, - {44, 44, SPECIES_SABLEYE}, - {42, 42, SPECIES_LAIRON}, - {42, 42, SPECIES_MAWILE}, - {44, 44, SPECIES_LAIRON}, - {44, 44, SPECIES_MAWILE}, -}; - -const struct WildPokemonInfo gVictoryRoad_B2F_LandMonsInfo = {10, gVictoryRoad_B2F_LandMons}; - -const struct WildPokemon gVictoryRoad_B2F_WaterMons[] = -{ - {30, 35, SPECIES_GOLBAT}, - {25, 30, SPECIES_GOLBAT}, - {35, 40, SPECIES_GOLBAT}, - {35, 40, SPECIES_GOLBAT}, - {35, 40, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gVictoryRoad_B2F_WaterMonsInfo = {4, gVictoryRoad_B2F_WaterMons}; - -const struct WildPokemon gVictoryRoad_B2F_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_GOLDEEN}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_GOLDEEN}, - {10, 30, SPECIES_BARBOACH}, - {25, 30, SPECIES_BARBOACH}, - {30, 35, SPECIES_BARBOACH}, - {30, 35, SPECIES_WHISCASH}, - {35, 40, SPECIES_WHISCASH}, - {40, 45, SPECIES_WHISCASH}, -}; - -const struct WildPokemonInfo gVictoryRoad_B2F_FishingMonsInfo = {30, gVictoryRoad_B2F_FishingMons}; - -const struct WildPokemon gMeteorFalls_1F_1R_LandMons[] = -{ - {16, 16, SPECIES_ZUBAT}, - {17, 17, SPECIES_ZUBAT}, - {18, 18, SPECIES_ZUBAT}, - {15, 15, SPECIES_ZUBAT}, - {14, 14, SPECIES_ZUBAT}, - {16, 16, SPECIES_SOLROCK}, - {18, 18, SPECIES_SOLROCK}, - {14, 14, SPECIES_SOLROCK}, - {19, 19, SPECIES_ZUBAT}, - {20, 20, SPECIES_ZUBAT}, - {19, 19, SPECIES_ZUBAT}, - {20, 20, SPECIES_ZUBAT}, -}; - -const struct WildPokemonInfo gMeteorFalls_1F_1R_LandMonsInfo = {10, gMeteorFalls_1F_1R_LandMons}; - -const struct WildPokemon gMeteorFalls_1F_1R_WaterMons[] = -{ - {5, 35, SPECIES_ZUBAT}, - {30, 35, SPECIES_ZUBAT}, - {25, 35, SPECIES_SOLROCK}, - {15, 25, SPECIES_SOLROCK}, - {5, 15, SPECIES_SOLROCK}, -}; - -const struct WildPokemonInfo gMeteorFalls_1F_1R_WaterMonsInfo = {4, gMeteorFalls_1F_1R_WaterMons}; - -const struct WildPokemon gMeteorFalls_1F_1R_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_GOLDEEN}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_GOLDEEN}, - {10, 30, SPECIES_BARBOACH}, - {25, 30, SPECIES_BARBOACH}, - {30, 35, SPECIES_BARBOACH}, - {20, 25, SPECIES_BARBOACH}, - {35, 40, SPECIES_BARBOACH}, - {40, 45, SPECIES_BARBOACH}, -}; - -const struct WildPokemonInfo gMeteorFalls_1F_1R_FishingMonsInfo = {30, gMeteorFalls_1F_1R_FishingMons}; - -const struct WildPokemon gMeteorFalls_1F_2R_LandMons[] = -{ - {33, 33, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {35, 35, SPECIES_SOLROCK}, - {33, 33, SPECIES_SOLROCK}, - {37, 37, SPECIES_SOLROCK}, - {35, 35, SPECIES_GOLBAT}, - {39, 39, SPECIES_SOLROCK}, - {38, 38, SPECIES_GOLBAT}, - {40, 40, SPECIES_GOLBAT}, - {38, 38, SPECIES_GOLBAT}, - {40, 40, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gMeteorFalls_1F_2R_LandMonsInfo = {10, gMeteorFalls_1F_2R_LandMons}; - -const struct WildPokemon gMeteorFalls_1F_2R_WaterMons[] = -{ - {30, 35, SPECIES_GOLBAT}, - {30, 35, SPECIES_GOLBAT}, - {25, 35, SPECIES_SOLROCK}, - {15, 25, SPECIES_SOLROCK}, - {5, 15, SPECIES_SOLROCK}, -}; - -const struct WildPokemonInfo gMeteorFalls_1F_2R_WaterMonsInfo = {4, gMeteorFalls_1F_2R_WaterMons}; - -const struct WildPokemon gMeteorFalls_1F_2R_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_GOLDEEN}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_GOLDEEN}, - {10, 30, SPECIES_BARBOACH}, - {25, 30, SPECIES_BARBOACH}, - {30, 35, SPECIES_BARBOACH}, - {30, 35, SPECIES_WHISCASH}, - {35, 40, SPECIES_WHISCASH}, - {40, 45, SPECIES_WHISCASH}, -}; - -const struct WildPokemonInfo gMeteorFalls_1F_2R_FishingMonsInfo = {30, gMeteorFalls_1F_2R_FishingMons}; - -const struct WildPokemon gMeteorFalls_B1F_1R_LandMons[] = -{ - {33, 33, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {35, 35, SPECIES_SOLROCK}, - {33, 33, SPECIES_SOLROCK}, - {37, 37, SPECIES_SOLROCK}, - {35, 35, SPECIES_GOLBAT}, - {39, 39, SPECIES_SOLROCK}, - {38, 38, SPECIES_GOLBAT}, - {40, 40, SPECIES_GOLBAT}, - {38, 38, SPECIES_GOLBAT}, - {40, 40, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gMeteorFalls_B1F_1R_LandMonsInfo = {10, gMeteorFalls_B1F_1R_LandMons}; - -const struct WildPokemon gMeteorFalls_B1F_1R_WaterMons[] = -{ - {30, 35, SPECIES_GOLBAT}, - {30, 35, SPECIES_GOLBAT}, - {25, 35, SPECIES_SOLROCK}, - {15, 25, SPECIES_SOLROCK}, - {5, 15, SPECIES_SOLROCK}, -}; - -const struct WildPokemonInfo gMeteorFalls_B1F_1R_WaterMonsInfo = {4, gMeteorFalls_B1F_1R_WaterMons}; - -const struct WildPokemon gMeteorFalls_B1F_1R_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_GOLDEEN}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_GOLDEEN}, - {10, 30, SPECIES_BARBOACH}, - {25, 30, SPECIES_BARBOACH}, - {30, 35, SPECIES_BARBOACH}, - {30, 35, SPECIES_WHISCASH}, - {35, 40, SPECIES_WHISCASH}, - {40, 45, SPECIES_WHISCASH}, -}; - -const struct WildPokemonInfo gMeteorFalls_B1F_1R_FishingMonsInfo = {30, gMeteorFalls_B1F_1R_FishingMons}; - -const struct WildPokemon gShoalCave_LowTideStairsRoom_LandMons[] = -{ - {26, 26, SPECIES_ZUBAT}, - {26, 26, SPECIES_SPHEAL}, - {28, 28, SPECIES_ZUBAT}, - {28, 28, SPECIES_SPHEAL}, - {30, 30, SPECIES_ZUBAT}, - {30, 30, SPECIES_SPHEAL}, - {32, 32, SPECIES_ZUBAT}, - {32, 32, SPECIES_SPHEAL}, - {32, 32, SPECIES_GOLBAT}, - {32, 32, SPECIES_SPHEAL}, - {32, 32, SPECIES_GOLBAT}, - {32, 32, SPECIES_SPHEAL}, -}; - -const struct WildPokemonInfo gShoalCave_LowTideStairsRoom_LandMonsInfo = {10, gShoalCave_LowTideStairsRoom_LandMons}; - -const struct WildPokemon gShoalCave_LowTideLowerRoom_LandMons[] = -{ - {26, 26, SPECIES_ZUBAT}, - {26, 26, SPECIES_SPHEAL}, - {28, 28, SPECIES_ZUBAT}, - {28, 28, SPECIES_SPHEAL}, - {30, 30, SPECIES_ZUBAT}, - {30, 30, SPECIES_SPHEAL}, - {32, 32, SPECIES_ZUBAT}, - {32, 32, SPECIES_SPHEAL}, - {32, 32, SPECIES_GOLBAT}, - {32, 32, SPECIES_SPHEAL}, - {32, 32, SPECIES_GOLBAT}, - {32, 32, SPECIES_SPHEAL}, -}; - -const struct WildPokemonInfo gShoalCave_LowTideLowerRoom_LandMonsInfo = {10, gShoalCave_LowTideLowerRoom_LandMons}; - -const struct WildPokemon gShoalCave_LowTideInnerRoom_LandMons[] = -{ - {26, 26, SPECIES_ZUBAT}, - {26, 26, SPECIES_SPHEAL}, - {28, 28, SPECIES_ZUBAT}, - {28, 28, SPECIES_SPHEAL}, - {30, 30, SPECIES_ZUBAT}, - {30, 30, SPECIES_SPHEAL}, - {32, 32, SPECIES_ZUBAT}, - {32, 32, SPECIES_SPHEAL}, - {32, 32, SPECIES_GOLBAT}, - {32, 32, SPECIES_SPHEAL}, - {32, 32, SPECIES_GOLBAT}, - {32, 32, SPECIES_SPHEAL}, -}; - -const struct WildPokemonInfo gShoalCave_LowTideInnerRoom_LandMonsInfo = {10, gShoalCave_LowTideInnerRoom_LandMons}; - -const struct WildPokemon gShoalCave_LowTideInnerRoom_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {5, 35, SPECIES_ZUBAT}, - {25, 30, SPECIES_SPHEAL}, - {25, 30, SPECIES_SPHEAL}, - {25, 35, SPECIES_SPHEAL}, -}; - -const struct WildPokemonInfo gShoalCave_LowTideInnerRoom_WaterMonsInfo = {4, gShoalCave_LowTideInnerRoom_WaterMons}; - -const struct WildPokemon gShoalCave_LowTideInnerRoom_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gShoalCave_LowTideInnerRoom_FishingMonsInfo = {10, gShoalCave_LowTideInnerRoom_FishingMons}; - -const struct WildPokemon gShoalCave_LowTideEntranceRoom_LandMons[] = -{ - {26, 26, SPECIES_ZUBAT}, - {26, 26, SPECIES_SPHEAL}, - {28, 28, SPECIES_ZUBAT}, - {28, 28, SPECIES_SPHEAL}, - {30, 30, SPECIES_ZUBAT}, - {30, 30, SPECIES_SPHEAL}, - {32, 32, SPECIES_ZUBAT}, - {32, 32, SPECIES_SPHEAL}, - {32, 32, SPECIES_GOLBAT}, - {32, 32, SPECIES_SPHEAL}, - {32, 32, SPECIES_GOLBAT}, - {32, 32, SPECIES_SPHEAL}, -}; - -const struct WildPokemonInfo gShoalCave_LowTideEntranceRoom_LandMonsInfo = {10, gShoalCave_LowTideEntranceRoom_LandMons}; - -const struct WildPokemon gShoalCave_LowTideEntranceRoom_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {5, 35, SPECIES_ZUBAT}, - {25, 30, SPECIES_SPHEAL}, - {25, 30, SPECIES_SPHEAL}, - {25, 35, SPECIES_SPHEAL}, -}; - -const struct WildPokemonInfo gShoalCave_LowTideEntranceRoom_WaterMonsInfo = {4, gShoalCave_LowTideEntranceRoom_WaterMons}; - -const struct WildPokemon gShoalCave_LowTideEntranceRoom_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gShoalCave_LowTideEntranceRoom_FishingMonsInfo = {10, gShoalCave_LowTideEntranceRoom_FishingMons}; - -const struct WildPokemon gLilycoveCity_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gLilycoveCity_WaterMonsInfo = {4, gLilycoveCity_WaterMons}; - -const struct WildPokemon gLilycoveCity_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_STARYU}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gLilycoveCity_FishingMonsInfo = {10, gLilycoveCity_FishingMons}; - -const struct WildPokemon gDewfordTown_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gDewfordTown_WaterMonsInfo = {4, gDewfordTown_WaterMons}; - -const struct WildPokemon gDewfordTown_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gDewfordTown_FishingMonsInfo = {10, gDewfordTown_FishingMons}; - -const struct WildPokemon gSlateportCity_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gSlateportCity_WaterMonsInfo = {4, gSlateportCity_WaterMons}; - -const struct WildPokemon gSlateportCity_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gSlateportCity_FishingMonsInfo = {10, gSlateportCity_FishingMons}; - -const struct WildPokemon gMossdeepCity_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gMossdeepCity_WaterMonsInfo = {4, gMossdeepCity_WaterMons}; - -const struct WildPokemon gMossdeepCity_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gMossdeepCity_FishingMonsInfo = {10, gMossdeepCity_FishingMons}; - -const struct WildPokemon gPacifidlogTown_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gPacifidlogTown_WaterMonsInfo = {4, gPacifidlogTown_WaterMons}; - -const struct WildPokemon gPacifidlogTown_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gPacifidlogTown_FishingMonsInfo = {10, gPacifidlogTown_FishingMons}; - -const struct WildPokemon gEverGrandeCity_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gEverGrandeCity_WaterMonsInfo = {4, gEverGrandeCity_WaterMons}; - -const struct WildPokemon gEverGrandeCity_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_LUVDISC}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_LUVDISC}, - {30, 35, SPECIES_WAILMER}, - {30, 35, SPECIES_CORSOLA}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gEverGrandeCity_FishingMonsInfo = {10, gEverGrandeCity_FishingMons}; - -const struct WildPokemon gPetalburgCity_WaterMons[] = -{ - {20, 30, SPECIES_MARILL}, - {10, 20, SPECIES_MARILL}, - {30, 35, SPECIES_MARILL}, - {5, 10, SPECIES_MARILL}, - {5, 10, SPECIES_MARILL}, -}; - -const struct WildPokemonInfo gPetalburgCity_WaterMonsInfo = {1, gPetalburgCity_WaterMons}; - -const struct WildPokemon gPetalburgCity_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_GOLDEEN}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_GOLDEEN}, - {10, 30, SPECIES_CORPHISH}, - {25, 30, SPECIES_CORPHISH}, - {30, 35, SPECIES_CORPHISH}, - {20, 25, SPECIES_CORPHISH}, - {35, 40, SPECIES_CORPHISH}, - {40, 45, SPECIES_CORPHISH}, -}; - -const struct WildPokemonInfo gPetalburgCity_FishingMonsInfo = {10, gPetalburgCity_FishingMons}; - -const struct WildPokemon gUnderwater1_WaterMons[] = -{ - {20, 30, SPECIES_CLAMPERL}, - {20, 30, SPECIES_CHINCHOU}, - {30, 35, SPECIES_CLAMPERL}, - {30, 35, SPECIES_RELICANTH}, - {30, 35, SPECIES_RELICANTH}, -}; - -const struct WildPokemonInfo gUnderwater1_WaterMonsInfo = {4, gUnderwater1_WaterMons}; - -const struct WildPokemon gShoalCave_LowTideIceRoom_LandMons[] = -{ - {26, 26, SPECIES_ZUBAT}, - {26, 26, SPECIES_SPHEAL}, - {28, 28, SPECIES_ZUBAT}, - {28, 28, SPECIES_SPHEAL}, - {30, 30, SPECIES_ZUBAT}, - {30, 30, SPECIES_SPHEAL}, - {26, 26, SPECIES_SNORUNT}, - {32, 32, SPECIES_SPHEAL}, - {30, 30, SPECIES_GOLBAT}, - {28, 28, SPECIES_SNORUNT}, - {32, 32, SPECIES_GOLBAT}, - {30, 30, SPECIES_SNORUNT}, -}; - -const struct WildPokemonInfo gShoalCave_LowTideIceRoom_LandMonsInfo = {10, gShoalCave_LowTideIceRoom_LandMons}; - -const struct WildPokemon gSkyPillar_1F_LandMons[] = -{ - {33, 33, SPECIES_SABLEYE}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {34, 34, SPECIES_SABLEYE}, - {36, 36, SPECIES_CLAYDOL}, - {37, 37, SPECIES_BANETTE}, - {38, 38, SPECIES_BANETTE}, - {36, 36, SPECIES_CLAYDOL}, - {37, 37, SPECIES_CLAYDOL}, - {38, 38, SPECIES_CLAYDOL}, - {37, 37, SPECIES_CLAYDOL}, - {38, 38, SPECIES_CLAYDOL}, -}; - -const struct WildPokemonInfo gSkyPillar_1F_LandMonsInfo = {10, gSkyPillar_1F_LandMons}; - -const struct WildPokemon gSootopolisCity_WaterMons[] = -{ - {5, 35, SPECIES_MAGIKARP}, - {10, 30, SPECIES_MAGIKARP}, - {15, 25, SPECIES_MAGIKARP}, - {25, 30, SPECIES_MAGIKARP}, - {25, 30, SPECIES_MAGIKARP}, -}; - -const struct WildPokemonInfo gSootopolisCity_WaterMonsInfo = {1, gSootopolisCity_WaterMons}; - -const struct WildPokemon gSootopolisCity_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_MAGIKARP}, - {30, 35, SPECIES_MAGIKARP}, - {30, 35, SPECIES_MAGIKARP}, - {35, 40, SPECIES_GYARADOS}, - {35, 45, SPECIES_GYARADOS}, - {5, 45, SPECIES_GYARADOS}, -}; - -const struct WildPokemonInfo gSootopolisCity_FishingMonsInfo = {10, gSootopolisCity_FishingMons}; - -const struct WildPokemon gSkyPillar_3F_LandMons[] = -{ - {33, 33, SPECIES_SABLEYE}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {34, 34, SPECIES_SABLEYE}, - {36, 36, SPECIES_CLAYDOL}, - {37, 37, SPECIES_BANETTE}, - {38, 38, SPECIES_BANETTE}, - {36, 36, SPECIES_CLAYDOL}, - {37, 37, SPECIES_CLAYDOL}, - {38, 38, SPECIES_CLAYDOL}, - {37, 37, SPECIES_CLAYDOL}, - {38, 38, SPECIES_CLAYDOL}, -}; - -const struct WildPokemonInfo gSkyPillar_3F_LandMonsInfo = {10, gSkyPillar_3F_LandMons}; - -const struct WildPokemon gSkyPillar_5F_LandMons[] = -{ - {33, 33, SPECIES_SABLEYE}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {34, 34, SPECIES_SABLEYE}, - {36, 36, SPECIES_CLAYDOL}, - {37, 37, SPECIES_BANETTE}, - {38, 38, SPECIES_BANETTE}, - {36, 36, SPECIES_CLAYDOL}, - {37, 37, SPECIES_CLAYDOL}, - {38, 38, SPECIES_ALTARIA}, - {39, 39, SPECIES_ALTARIA}, - {39, 39, SPECIES_ALTARIA}, -}; - -const struct WildPokemonInfo gSkyPillar_5F_LandMonsInfo = {10, gSkyPillar_5F_LandMons}; - -const struct WildPokemon gSafariZone_Southeast_LandMons[] = -{ - {33, 33, SPECIES_SUNKERN}, - {34, 34, SPECIES_MAREEP}, - {35, 35, SPECIES_SUNKERN}, - {36, 36, SPECIES_MAREEP}, - {34, 34, SPECIES_AIPOM}, - {33, 33, SPECIES_SPINARAK}, - {35, 35, SPECIES_HOOTHOOT}, - {34, 34, SPECIES_SNUBBULL}, - {36, 36, SPECIES_STANTLER}, - {37, 37, SPECIES_GLIGAR}, - {39, 39, SPECIES_STANTLER}, - {40, 40, SPECIES_GLIGAR}, -}; - -const struct WildPokemonInfo gSafariZone_Southeast_LandMonsInfo = {25, gSafariZone_Southeast_LandMons}; - -const struct WildPokemon gSafariZone_Southeast_WaterMons[] = -{ - {25, 30, SPECIES_WOOPER}, - {25, 30, SPECIES_MARILL}, - {25, 30, SPECIES_MARILL}, - {30, 35, SPECIES_MARILL}, - {35, 40, SPECIES_QUAGSIRE}, -}; - -const struct WildPokemonInfo gSafariZone_Southeast_WaterMonsInfo = {9, gSafariZone_Southeast_WaterMons}; - -const struct WildPokemon gSafariZone_Southeast_FishingMons[] = -{ - {25, 30, SPECIES_MAGIKARP}, - {25, 30, SPECIES_GOLDEEN}, - {25, 30, SPECIES_MAGIKARP}, - {25, 30, SPECIES_GOLDEEN}, - {30, 35, SPECIES_REMORAID}, - {25, 30, SPECIES_GOLDEEN}, - {25, 30, SPECIES_REMORAID}, - {30, 35, SPECIES_REMORAID}, - {30, 35, SPECIES_REMORAID}, - {35, 40, SPECIES_OCTILLERY}, -}; - -const struct WildPokemonInfo gSafariZone_Southeast_FishingMonsInfo = {35, gSafariZone_Southeast_FishingMons}; - -const struct WildPokemon gSafariZone_Northeast_LandMons[] = -{ - {33, 33, SPECIES_AIPOM}, - {34, 34, SPECIES_TEDDIURSA}, - {35, 35, SPECIES_AIPOM}, - {36, 36, SPECIES_TEDDIURSA}, - {34, 34, SPECIES_SUNKERN}, - {33, 33, SPECIES_LEDYBA}, - {35, 35, SPECIES_HOOTHOOT}, - {34, 34, SPECIES_PINECO}, - {36, 36, SPECIES_HOUNDOUR}, - {37, 37, SPECIES_MILTANK}, - {39, 39, SPECIES_HOUNDOUR}, - {40, 40, SPECIES_MILTANK}, -}; - -const struct WildPokemonInfo gSafariZone_Northeast_LandMonsInfo = {25, gSafariZone_Northeast_LandMons}; - -const struct WildPokemon gSafariZone_Northeast_RockSmashMons[] = -{ - {25, 30, SPECIES_SHUCKLE}, - {20, 25, SPECIES_SHUCKLE}, - {30, 35, SPECIES_SHUCKLE}, - {30, 35, SPECIES_SHUCKLE}, - {35, 40, SPECIES_SHUCKLE}, -}; - -const struct WildPokemonInfo gSafariZone_Northeast_RockSmashMonsInfo = {25, gSafariZone_Northeast_RockSmashMons}; - -const struct WildPokemon gMagmaHideout_1F_LandMons[] = -{ - {27, 27, SPECIES_GEODUDE}, - {28, 28, SPECIES_TORKOAL}, - {28, 28, SPECIES_GEODUDE}, - {30, 30, SPECIES_TORKOAL}, - {29, 29, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GRAVELER}, - {30, 30, SPECIES_GRAVELER}, - {31, 31, SPECIES_GRAVELER}, - {32, 32, SPECIES_GRAVELER}, - {33, 33, SPECIES_GRAVELER}, -}; - -const struct WildPokemonInfo gMagmaHideout_1F_LandMonsInfo = {10, gMagmaHideout_1F_LandMons}; - -const struct WildPokemon gMagmaHideout_2F_1R_LandMons[] = -{ - {27, 27, SPECIES_GEODUDE}, - {28, 28, SPECIES_TORKOAL}, - {28, 28, SPECIES_GEODUDE}, - {30, 30, SPECIES_TORKOAL}, - {29, 29, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GRAVELER}, - {30, 30, SPECIES_GRAVELER}, - {31, 31, SPECIES_GRAVELER}, - {32, 32, SPECIES_GRAVELER}, - {33, 33, SPECIES_GRAVELER}, -}; - -const struct WildPokemonInfo gMagmaHideout_2F_1R_LandMonsInfo = {10, gMagmaHideout_2F_1R_LandMons}; - -const struct WildPokemon gMagmaHideout_2F_2R_LandMons[] = -{ - {27, 27, SPECIES_GEODUDE}, - {28, 28, SPECIES_TORKOAL}, - {28, 28, SPECIES_GEODUDE}, - {30, 30, SPECIES_TORKOAL}, - {29, 29, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GRAVELER}, - {30, 30, SPECIES_GRAVELER}, - {31, 31, SPECIES_GRAVELER}, - {32, 32, SPECIES_GRAVELER}, - {33, 33, SPECIES_GRAVELER}, -}; - -const struct WildPokemonInfo gMagmaHideout_2F_2R_LandMonsInfo = {10, gMagmaHideout_2F_2R_LandMons}; - -const struct WildPokemon gMagmaHideout_3F_1R_LandMons[] = -{ - {27, 27, SPECIES_GEODUDE}, - {28, 28, SPECIES_TORKOAL}, - {28, 28, SPECIES_GEODUDE}, - {30, 30, SPECIES_TORKOAL}, - {29, 29, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GRAVELER}, - {30, 30, SPECIES_GRAVELER}, - {31, 31, SPECIES_GRAVELER}, - {32, 32, SPECIES_GRAVELER}, - {33, 33, SPECIES_GRAVELER}, -}; - -const struct WildPokemonInfo gMagmaHideout_3F_1R_LandMonsInfo = {10, gMagmaHideout_3F_1R_LandMons}; - -const struct WildPokemon gMagmaHideout_3F_2R_LandMons[] = -{ - {27, 27, SPECIES_GEODUDE}, - {28, 28, SPECIES_TORKOAL}, - {28, 28, SPECIES_GEODUDE}, - {30, 30, SPECIES_TORKOAL}, - {29, 29, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GRAVELER}, - {30, 30, SPECIES_GRAVELER}, - {31, 31, SPECIES_GRAVELER}, - {32, 32, SPECIES_GRAVELER}, - {33, 33, SPECIES_GRAVELER}, -}; - -const struct WildPokemonInfo gMagmaHideout_3F_2R_LandMonsInfo = {10, gMagmaHideout_3F_2R_LandMons}; - -const struct WildPokemon gMagmaHideout_4F_LandMons[] = -{ - {27, 27, SPECIES_GEODUDE}, - {28, 28, SPECIES_TORKOAL}, - {28, 28, SPECIES_GEODUDE}, - {30, 30, SPECIES_TORKOAL}, - {29, 29, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GRAVELER}, - {30, 30, SPECIES_GRAVELER}, - {31, 31, SPECIES_GRAVELER}, - {32, 32, SPECIES_GRAVELER}, - {33, 33, SPECIES_GRAVELER}, -}; - -const struct WildPokemonInfo gMagmaHideout_4F_LandMonsInfo = {10, gMagmaHideout_4F_LandMons}; - -const struct WildPokemon gMagmaHideout_3F_3R_LandMons[] = -{ - {27, 27, SPECIES_GEODUDE}, - {28, 28, SPECIES_TORKOAL}, - {28, 28, SPECIES_GEODUDE}, - {30, 30, SPECIES_TORKOAL}, - {29, 29, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GRAVELER}, - {30, 30, SPECIES_GRAVELER}, - {31, 31, SPECIES_GRAVELER}, - {32, 32, SPECIES_GRAVELER}, - {33, 33, SPECIES_GRAVELER}, -}; - -const struct WildPokemonInfo gMagmaHideout_3F_3R_LandMonsInfo = {10, gMagmaHideout_3F_3R_LandMons}; - -const struct WildPokemon gMagmaHideout_2F_3R_LandMons[] = -{ - {27, 27, SPECIES_GEODUDE}, - {28, 28, SPECIES_TORKOAL}, - {28, 28, SPECIES_GEODUDE}, - {30, 30, SPECIES_TORKOAL}, - {29, 29, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GRAVELER}, - {30, 30, SPECIES_GRAVELER}, - {31, 31, SPECIES_GRAVELER}, - {32, 32, SPECIES_GRAVELER}, - {33, 33, SPECIES_GRAVELER}, -}; - -const struct WildPokemonInfo gMagmaHideout_2F_3R_LandMonsInfo = {10, gMagmaHideout_2F_3R_LandMons}; - -const struct WildPokemon gMirageTower_1F_LandMons[] = -{ - {21, 21, SPECIES_SANDSHREW}, - {21, 21, SPECIES_TRAPINCH}, - {20, 20, SPECIES_SANDSHREW}, - {20, 20, SPECIES_TRAPINCH}, - {20, 20, SPECIES_SANDSHREW}, - {20, 20, SPECIES_TRAPINCH}, - {22, 22, SPECIES_SANDSHREW}, - {22, 22, SPECIES_TRAPINCH}, - {23, 23, SPECIES_SANDSHREW}, - {23, 23, SPECIES_TRAPINCH}, - {24, 24, SPECIES_SANDSHREW}, - {24, 24, SPECIES_TRAPINCH}, -}; - -const struct WildPokemonInfo gMirageTower_1F_LandMonsInfo = {10, gMirageTower_1F_LandMons}; - -const struct WildPokemon gMirageTower_2F_LandMons[] = -{ - {21, 21, SPECIES_SANDSHREW}, - {21, 21, SPECIES_TRAPINCH}, - {20, 20, SPECIES_SANDSHREW}, - {20, 20, SPECIES_TRAPINCH}, - {20, 20, SPECIES_SANDSHREW}, - {20, 20, SPECIES_TRAPINCH}, - {22, 22, SPECIES_SANDSHREW}, - {22, 22, SPECIES_TRAPINCH}, - {23, 23, SPECIES_SANDSHREW}, - {23, 23, SPECIES_TRAPINCH}, - {24, 24, SPECIES_SANDSHREW}, - {24, 24, SPECIES_TRAPINCH}, -}; - -const struct WildPokemonInfo gMirageTower_2F_LandMonsInfo = {10, gMirageTower_2F_LandMons}; - -const struct WildPokemon gMirageTower_3F_LandMons[] = -{ - {21, 21, SPECIES_SANDSHREW}, - {21, 21, SPECIES_TRAPINCH}, - {20, 20, SPECIES_SANDSHREW}, - {20, 20, SPECIES_TRAPINCH}, - {20, 20, SPECIES_SANDSHREW}, - {20, 20, SPECIES_TRAPINCH}, - {22, 22, SPECIES_SANDSHREW}, - {22, 22, SPECIES_TRAPINCH}, - {23, 23, SPECIES_SANDSHREW}, - {23, 23, SPECIES_TRAPINCH}, - {24, 24, SPECIES_SANDSHREW}, - {24, 24, SPECIES_TRAPINCH}, -}; - -const struct WildPokemonInfo gMirageTower_3F_LandMonsInfo = {10, gMirageTower_3F_LandMons}; - -const struct WildPokemon gMirageTower_4F_LandMons[] = -{ - {21, 21, SPECIES_SANDSHREW}, - {21, 21, SPECIES_TRAPINCH}, - {20, 20, SPECIES_SANDSHREW}, - {20, 20, SPECIES_TRAPINCH}, - {20, 20, SPECIES_SANDSHREW}, - {20, 20, SPECIES_TRAPINCH}, - {22, 22, SPECIES_SANDSHREW}, - {22, 22, SPECIES_TRAPINCH}, - {23, 23, SPECIES_SANDSHREW}, - {23, 23, SPECIES_TRAPINCH}, - {24, 24, SPECIES_SANDSHREW}, - {24, 24, SPECIES_TRAPINCH}, -}; - -const struct WildPokemonInfo gMirageTower_4F_LandMonsInfo = {10, gMirageTower_4F_LandMons}; - -const struct WildPokemon gDesertUnderpass_LandMons[] = -{ - {38, 38, SPECIES_DITTO}, - {35, 35, SPECIES_WHISMUR}, - {40, 40, SPECIES_DITTO}, - {40, 40, SPECIES_LOUDRED}, - {41, 41, SPECIES_DITTO}, - {36, 36, SPECIES_WHISMUR}, - {38, 38, SPECIES_LOUDRED}, - {42, 42, SPECIES_DITTO}, - {38, 38, SPECIES_WHISMUR}, - {43, 43, SPECIES_DITTO}, - {44, 44, SPECIES_LOUDRED}, - {45, 45, SPECIES_DITTO}, -}; - -const struct WildPokemonInfo gDesertUnderpass_LandMonsInfo = {10, gDesertUnderpass_LandMons}; - -const struct WildPokemon gArtisanCave_B1F_LandMons[] = -{ - {40, 40, SPECIES_SMEARGLE}, - {41, 41, SPECIES_SMEARGLE}, - {42, 42, SPECIES_SMEARGLE}, - {43, 43, SPECIES_SMEARGLE}, - {44, 44, SPECIES_SMEARGLE}, - {45, 45, SPECIES_SMEARGLE}, - {46, 46, SPECIES_SMEARGLE}, - {47, 47, SPECIES_SMEARGLE}, - {48, 48, SPECIES_SMEARGLE}, - {49, 49, SPECIES_SMEARGLE}, - {50, 50, SPECIES_SMEARGLE}, - {50, 50, SPECIES_SMEARGLE}, -}; - -const struct WildPokemonInfo gArtisanCave_B1F_LandMonsInfo = {10, gArtisanCave_B1F_LandMons}; - -const struct WildPokemon gArtisanCave_1F_LandMons[] = -{ - {40, 40, SPECIES_SMEARGLE}, - {41, 41, SPECIES_SMEARGLE}, - {42, 42, SPECIES_SMEARGLE}, - {43, 43, SPECIES_SMEARGLE}, - {44, 44, SPECIES_SMEARGLE}, - {45, 45, SPECIES_SMEARGLE}, - {46, 46, SPECIES_SMEARGLE}, - {47, 47, SPECIES_SMEARGLE}, - {48, 48, SPECIES_SMEARGLE}, - {49, 49, SPECIES_SMEARGLE}, - {50, 50, SPECIES_SMEARGLE}, - {50, 50, SPECIES_SMEARGLE}, -}; - -const struct WildPokemonInfo gArtisanCave_1F_LandMonsInfo = {10, gArtisanCave_1F_LandMons}; - -const struct WildPokemon gAlteringCave1_LandMons[] = -{ - {10, 10, SPECIES_ZUBAT}, - {12, 12, SPECIES_ZUBAT}, - {8, 8, SPECIES_ZUBAT}, - {14, 14, SPECIES_ZUBAT}, - {10, 10, SPECIES_ZUBAT}, - {12, 12, SPECIES_ZUBAT}, - {16, 16, SPECIES_ZUBAT}, - {6, 6, SPECIES_ZUBAT}, - {8, 8, SPECIES_ZUBAT}, - {14, 14, SPECIES_ZUBAT}, - {8, 8, SPECIES_ZUBAT}, - {14, 14, SPECIES_ZUBAT}, -}; - -const struct WildPokemonInfo gAlteringCave1_LandMonsInfo = {7, gAlteringCave1_LandMons}; - -const struct WildPokemon gAlteringCave2_LandMons[] = -{ - {7, 7, SPECIES_MAREEP}, - {9, 9, SPECIES_MAREEP}, - {5, 5, SPECIES_MAREEP}, - {11, 11, SPECIES_MAREEP}, - {7, 7, SPECIES_MAREEP}, - {9, 9, SPECIES_MAREEP}, - {13, 13, SPECIES_MAREEP}, - {3, 3, SPECIES_MAREEP}, - {5, 5, SPECIES_MAREEP}, - {11, 11, SPECIES_MAREEP}, - {5, 5, SPECIES_MAREEP}, - {11, 11, SPECIES_MAREEP}, -}; - -const struct WildPokemonInfo gAlteringCave2_LandMonsInfo = {7, gAlteringCave2_LandMons}; - -const struct WildPokemon gAlteringCave3_LandMons[] = -{ - {23, 23, SPECIES_PINECO}, - {25, 25, SPECIES_PINECO}, - {22, 22, SPECIES_PINECO}, - {27, 27, SPECIES_PINECO}, - {23, 23, SPECIES_PINECO}, - {25, 25, SPECIES_PINECO}, - {29, 29, SPECIES_PINECO}, - {19, 19, SPECIES_PINECO}, - {21, 21, SPECIES_PINECO}, - {27, 27, SPECIES_PINECO}, - {21, 21, SPECIES_PINECO}, - {27, 27, SPECIES_PINECO}, -}; - -const struct WildPokemonInfo gAlteringCave3_LandMonsInfo = {7, gAlteringCave3_LandMons}; - -const struct WildPokemon gAlteringCave4_LandMons[] = -{ - {16, 16, SPECIES_HOUNDOUR}, - {18, 18, SPECIES_HOUNDOUR}, - {14, 14, SPECIES_HOUNDOUR}, - {20, 20, SPECIES_HOUNDOUR}, - {16, 16, SPECIES_HOUNDOUR}, - {18, 18, SPECIES_HOUNDOUR}, - {22, 22, SPECIES_HOUNDOUR}, - {12, 12, SPECIES_HOUNDOUR}, - {14, 14, SPECIES_HOUNDOUR}, - {20, 20, SPECIES_HOUNDOUR}, - {14, 14, SPECIES_HOUNDOUR}, - {20, 20, SPECIES_HOUNDOUR}, -}; - -const struct WildPokemonInfo gAlteringCave4_LandMonsInfo = {7, gAlteringCave4_LandMons}; - -const struct WildPokemon gAlteringCave5_LandMons[] = -{ - {10, 10, SPECIES_TEDDIURSA}, - {12, 12, SPECIES_TEDDIURSA}, - {8, 8, SPECIES_TEDDIURSA}, - {14, 14, SPECIES_TEDDIURSA}, - {10, 10, SPECIES_TEDDIURSA}, - {12, 12, SPECIES_TEDDIURSA}, - {16, 16, SPECIES_TEDDIURSA}, - {6, 6, SPECIES_TEDDIURSA}, - {8, 8, SPECIES_TEDDIURSA}, - {14, 14, SPECIES_TEDDIURSA}, - {8, 8, SPECIES_TEDDIURSA}, - {14, 14, SPECIES_TEDDIURSA}, -}; - -const struct WildPokemonInfo gAlteringCave5_LandMonsInfo = {7, gAlteringCave5_LandMons}; - -const struct WildPokemon gAlteringCave6_LandMons[] = -{ - {22, 22, SPECIES_AIPOM}, - {24, 24, SPECIES_AIPOM}, - {20, 20, SPECIES_AIPOM}, - {26, 26, SPECIES_AIPOM}, - {22, 22, SPECIES_AIPOM}, - {24, 24, SPECIES_AIPOM}, - {28, 28, SPECIES_AIPOM}, - {18, 18, SPECIES_AIPOM}, - {20, 20, SPECIES_AIPOM}, - {26, 26, SPECIES_AIPOM}, - {20, 20, SPECIES_AIPOM}, - {26, 26, SPECIES_AIPOM}, -}; - -const struct WildPokemonInfo gAlteringCave6_LandMonsInfo = {7, gAlteringCave6_LandMons}; - -const struct WildPokemon gAlteringCave7_LandMons[] = -{ - {22, 22, SPECIES_SHUCKLE}, - {24, 24, SPECIES_SHUCKLE}, - {20, 20, SPECIES_SHUCKLE}, - {26, 26, SPECIES_SHUCKLE}, - {22, 22, SPECIES_SHUCKLE}, - {24, 24, SPECIES_SHUCKLE}, - {28, 28, SPECIES_SHUCKLE}, - {18, 18, SPECIES_SHUCKLE}, - {20, 20, SPECIES_SHUCKLE}, - {26, 26, SPECIES_SHUCKLE}, - {20, 20, SPECIES_SHUCKLE}, - {26, 26, SPECIES_SHUCKLE}, -}; - -const struct WildPokemonInfo gAlteringCave7_LandMonsInfo = {7, gAlteringCave7_LandMons}; - -const struct WildPokemon gAlteringCave8_LandMons[] = -{ - {22, 22, SPECIES_STANTLER}, - {24, 24, SPECIES_STANTLER}, - {20, 20, SPECIES_STANTLER}, - {26, 26, SPECIES_STANTLER}, - {22, 22, SPECIES_STANTLER}, - {24, 24, SPECIES_STANTLER}, - {28, 28, SPECIES_STANTLER}, - {18, 18, SPECIES_STANTLER}, - {20, 20, SPECIES_STANTLER}, - {26, 26, SPECIES_STANTLER}, - {20, 20, SPECIES_STANTLER}, - {26, 26, SPECIES_STANTLER}, -}; - -const struct WildPokemonInfo gAlteringCave8_LandMonsInfo = {7, gAlteringCave8_LandMons}; - -const struct WildPokemon gAlteringCave9_LandMons[] = -{ - {22, 22, SPECIES_SMEARGLE}, - {24, 24, SPECIES_SMEARGLE}, - {20, 20, SPECIES_SMEARGLE}, - {26, 26, SPECIES_SMEARGLE}, - {22, 22, SPECIES_SMEARGLE}, - {24, 24, SPECIES_SMEARGLE}, - {28, 28, SPECIES_SMEARGLE}, - {18, 18, SPECIES_SMEARGLE}, - {20, 20, SPECIES_SMEARGLE}, - {26, 26, SPECIES_SMEARGLE}, - {20, 20, SPECIES_SMEARGLE}, - {26, 26, SPECIES_SMEARGLE}, -}; - -const struct WildPokemonInfo gAlteringCave9_LandMonsInfo = {7, gAlteringCave9_LandMons}; - -const struct WildPokemon gMeteorFalls_StevensCave_LandMons[] = -{ - {33, 33, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {35, 35, SPECIES_SOLROCK}, - {33, 33, SPECIES_SOLROCK}, - {37, 37, SPECIES_SOLROCK}, - {35, 35, SPECIES_GOLBAT}, - {39, 39, SPECIES_SOLROCK}, - {38, 38, SPECIES_GOLBAT}, - {40, 40, SPECIES_GOLBAT}, - {38, 38, SPECIES_GOLBAT}, - {40, 40, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gMeteorFalls_StevensCave_LandMonsInfo = {10, gMeteorFalls_StevensCave_LandMons}; - -//The actual headers that link the encounter tables to particular maps start here. - -const struct WildPokemonHeader gWildMonHeaders[] = -{ - { - .mapGroup = MAP_GROUP(ROUTE101), - .mapNum = MAP_NUM(ROUTE101), - .landMonsInfo = &gRoute101_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ROUTE102), - .mapNum = MAP_NUM(ROUTE102), - .landMonsInfo = &gRoute102_LandMonsInfo, - .waterMonsInfo = &gRoute102_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute102_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE103), - .mapNum = MAP_NUM(ROUTE103), - .landMonsInfo = &gRoute103_LandMonsInfo, - .waterMonsInfo = &gRoute103_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute103_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE104), - .mapNum = MAP_NUM(ROUTE104), - .landMonsInfo = &gRoute104_LandMonsInfo, - .waterMonsInfo = &gRoute104_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute104_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE105), - .mapNum = MAP_NUM(ROUTE105), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute105_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute105_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE110), - .mapNum = MAP_NUM(ROUTE110), - .landMonsInfo = &gRoute110_LandMonsInfo, - .waterMonsInfo = &gRoute110_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute110_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE111), - .mapNum = MAP_NUM(ROUTE111), - .landMonsInfo = &gRoute111_LandMonsInfo, - .waterMonsInfo = &gRoute111_WaterMonsInfo, - .rockSmashMonsInfo = &gRoute111_RockSmashMonsInfo, - .fishingMonsInfo = &gRoute111_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE112), - .mapNum = MAP_NUM(ROUTE112), - .landMonsInfo = &gRoute112_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ROUTE113), - .mapNum = MAP_NUM(ROUTE113), - .landMonsInfo = &gRoute113_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ROUTE114), - .mapNum = MAP_NUM(ROUTE114), - .landMonsInfo = &gRoute114_LandMonsInfo, - .waterMonsInfo = &gRoute114_WaterMonsInfo, - .rockSmashMonsInfo = &gRoute114_RockSmashMonsInfo, - .fishingMonsInfo = &gRoute114_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE116), - .mapNum = MAP_NUM(ROUTE116), - .landMonsInfo = &gRoute116_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ROUTE117), - .mapNum = MAP_NUM(ROUTE117), - .landMonsInfo = &gRoute117_LandMonsInfo, - .waterMonsInfo = &gRoute117_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute117_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE118), - .mapNum = MAP_NUM(ROUTE118), - .landMonsInfo = &gRoute118_LandMonsInfo, - .waterMonsInfo = &gRoute118_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute118_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE124), - .mapNum = MAP_NUM(ROUTE124), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute124_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute124_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(PETALBURG_WOODS), - .mapNum = MAP_NUM(PETALBURG_WOODS), - .landMonsInfo = &gPetalburgWoods_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(RUSTURF_TUNNEL), - .mapNum = MAP_NUM(RUSTURF_TUNNEL), - .landMonsInfo = &gRusturfTunnel_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(GRANITE_CAVE_1F), - .mapNum = MAP_NUM(GRANITE_CAVE_1F), - .landMonsInfo = &gGraniteCave_1F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(GRANITE_CAVE_B1F), - .mapNum = MAP_NUM(GRANITE_CAVE_B1F), - .landMonsInfo = &gGraniteCave_B1F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MT_PYRE_1F), - .mapNum = MAP_NUM(MT_PYRE_1F), - .landMonsInfo = &gMtPyre_1F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(VICTORY_ROAD_1F), - .mapNum = MAP_NUM(VICTORY_ROAD_1F), - .landMonsInfo = &gVictoryRoad_1F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SAFARI_ZONE_SOUTH), - .mapNum = MAP_NUM(SAFARI_ZONE_SOUTH), - .landMonsInfo = &gSafariZone_South_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(UNDERWATER2), - .mapNum = MAP_NUM(UNDERWATER2), - .landMonsInfo = NULL, - .waterMonsInfo = &gUnderwater2_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ABANDONED_SHIP_ROOMS_B1F), - .mapNum = MAP_NUM(ABANDONED_SHIP_ROOMS_B1F), - .landMonsInfo = NULL, - .waterMonsInfo = &gAbandonedShip_Rooms_B1F_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gAbandonedShip_Rooms_B1F_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(GRANITE_CAVE_B2F), - .mapNum = MAP_NUM(GRANITE_CAVE_B2F), - .landMonsInfo = &gGraniteCave_B2F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = &gGraniteCave_B2F_RockSmashMonsInfo, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(FIERY_PATH), - .mapNum = MAP_NUM(FIERY_PATH), - .landMonsInfo = &gFieryPath_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(METEOR_FALLS_B1F_2R), - .mapNum = MAP_NUM(METEOR_FALLS_B1F_2R), - .landMonsInfo = &gMeteorFalls_B1F_2R_LandMonsInfo, - .waterMonsInfo = &gMeteorFalls_B1F_2R_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gMeteorFalls_B1F_2R_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(JAGGED_PASS), - .mapNum = MAP_NUM(JAGGED_PASS), - .landMonsInfo = &gJaggedPass_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ROUTE106), - .mapNum = MAP_NUM(ROUTE106), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute106_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute106_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE107), - .mapNum = MAP_NUM(ROUTE107), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute107_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute107_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE108), - .mapNum = MAP_NUM(ROUTE108), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute108_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute108_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE109), - .mapNum = MAP_NUM(ROUTE109), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute109_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute109_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE115), - .mapNum = MAP_NUM(ROUTE115), - .landMonsInfo = &gRoute115_LandMonsInfo, - .waterMonsInfo = &gRoute115_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute115_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(NEW_MAUVILLE_INSIDE), - .mapNum = MAP_NUM(NEW_MAUVILLE_INSIDE), - .landMonsInfo = &gNewMauville_Inside_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ROUTE119), - .mapNum = MAP_NUM(ROUTE119), - .landMonsInfo = &gRoute119_LandMonsInfo, - .waterMonsInfo = &gRoute119_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute119_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE120), - .mapNum = MAP_NUM(ROUTE120), - .landMonsInfo = &gRoute120_LandMonsInfo, - .waterMonsInfo = &gRoute120_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute120_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE121), - .mapNum = MAP_NUM(ROUTE121), - .landMonsInfo = &gRoute121_LandMonsInfo, - .waterMonsInfo = &gRoute121_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute121_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE122), - .mapNum = MAP_NUM(ROUTE122), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute122_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute122_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE123), - .mapNum = MAP_NUM(ROUTE123), - .landMonsInfo = &gRoute123_LandMonsInfo, - .waterMonsInfo = &gRoute123_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute123_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(MT_PYRE_2F), - .mapNum = MAP_NUM(MT_PYRE_2F), - .landMonsInfo = &gMtPyre_2F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MT_PYRE_3F), - .mapNum = MAP_NUM(MT_PYRE_3F), - .landMonsInfo = &gMtPyre_3F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MT_PYRE_4F), - .mapNum = MAP_NUM(MT_PYRE_4F), - .landMonsInfo = &gMtPyre_4F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MT_PYRE_5F), - .mapNum = MAP_NUM(MT_PYRE_5F), - .landMonsInfo = &gMtPyre_5F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MT_PYRE_6F), - .mapNum = MAP_NUM(MT_PYRE_6F), - .landMonsInfo = &gMtPyre_6F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MT_PYRE_EXTERIOR), - .mapNum = MAP_NUM(MT_PYRE_EXTERIOR), - .landMonsInfo = &gMtPyre_Exterior_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MT_PYRE_SUMMIT), - .mapNum = MAP_NUM(MT_PYRE_SUMMIT), - .landMonsInfo = &gMtPyre_Summit_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(GRANITE_CAVE_STEVENS_ROOM), - .mapNum = MAP_NUM(GRANITE_CAVE_STEVENS_ROOM), - .landMonsInfo = &gGraniteCave_StevensRoom_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ROUTE125), - .mapNum = MAP_NUM(ROUTE125), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute125_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute125_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE126), - .mapNum = MAP_NUM(ROUTE126), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute126_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute126_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE127), - .mapNum = MAP_NUM(ROUTE127), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute127_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute127_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE128), - .mapNum = MAP_NUM(ROUTE128), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute128_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute128_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE129), - .mapNum = MAP_NUM(ROUTE129), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute129_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute129_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE130), - .mapNum = MAP_NUM(ROUTE130), - .landMonsInfo = &gRoute130_LandMonsInfo, - .waterMonsInfo = &gRoute130_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute130_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE131), - .mapNum = MAP_NUM(ROUTE131), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute131_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute131_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE132), - .mapNum = MAP_NUM(ROUTE132), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute132_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute132_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE133), - .mapNum = MAP_NUM(ROUTE133), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute133_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute133_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE134), - .mapNum = MAP_NUM(ROUTE134), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute134_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute134_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS), - .mapNum = MAP_NUM(ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS), - .landMonsInfo = NULL, - .waterMonsInfo = &gAbandonedShip_HiddenFloorCorridors_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gAbandonedShip_HiddenFloorCorridors_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM1), - .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM1), - .landMonsInfo = &gSeafloorCavern_Room1_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM2), - .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM2), - .landMonsInfo = &gSeafloorCavern_Room2_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM3), - .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM3), - .landMonsInfo = &gSeafloorCavern_Room3_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM4), - .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM4), - .landMonsInfo = &gSeafloorCavern_Room4_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM5), - .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM5), - .landMonsInfo = &gSeafloorCavern_Room5_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM6), - .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM6), - .landMonsInfo = &gSeafloorCavern_Room6_LandMonsInfo, - .waterMonsInfo = &gSeafloorCavern_Room6_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gSeafloorCavern_Room6_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM7), - .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM7), - .landMonsInfo = &gSeafloorCavern_Room7_LandMonsInfo, - .waterMonsInfo = &gSeafloorCavern_Room7_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gSeafloorCavern_Room7_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM8), - .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM8), - .landMonsInfo = &gSeafloorCavern_Room8_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ENTRANCE), - .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ENTRANCE), - .landMonsInfo = NULL, - .waterMonsInfo = &gSeafloorCavern_Entrance_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gSeafloorCavern_Entrance_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_ENTRANCE), - .mapNum = MAP_NUM(CAVE_OF_ORIGIN_ENTRANCE), - .landMonsInfo = &gCaveOfOrigin_Entrance_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_1F), - .mapNum = MAP_NUM(CAVE_OF_ORIGIN_1F), - .landMonsInfo = &gCaveOfOrigin_1F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP1), - .mapNum = MAP_NUM(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP1), - .landMonsInfo = &gCaveOfOrigin_UnusedRubySapphireMap1_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP2), - .mapNum = MAP_NUM(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP2), - .landMonsInfo = &gCaveOfOrigin_UnusedRubySapphireMap2_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP3), - .mapNum = MAP_NUM(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP3), - .landMonsInfo = &gCaveOfOrigin_UnusedRubySapphireMap3_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(NEW_MAUVILLE_ENTRANCE), - .mapNum = MAP_NUM(NEW_MAUVILLE_ENTRANCE), - .landMonsInfo = &gNewMauville_Entrance_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SAFARI_ZONE_SOUTHWEST), - .mapNum = MAP_NUM(SAFARI_ZONE_SOUTHWEST), - .landMonsInfo = &gSafariZone_Southwest_LandMonsInfo, - .waterMonsInfo = &gSafariZone_Southwest_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gSafariZone_Southwest_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(SAFARI_ZONE_NORTH), - .mapNum = MAP_NUM(SAFARI_ZONE_NORTH), - .landMonsInfo = &gSafariZone_North_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = &gSafariZone_North_RockSmashMonsInfo, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SAFARI_ZONE_NORTHWEST), - .mapNum = MAP_NUM(SAFARI_ZONE_NORTHWEST), - .landMonsInfo = &gSafariZone_Northwest_LandMonsInfo, - .waterMonsInfo = &gSafariZone_Northwest_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gSafariZone_Northwest_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(VICTORY_ROAD_B1F), - .mapNum = MAP_NUM(VICTORY_ROAD_B1F), - .landMonsInfo = &gVictoryRoad_B1F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = &gVictoryRoad_B1F_RockSmashMonsInfo, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(VICTORY_ROAD_B2F), - .mapNum = MAP_NUM(VICTORY_ROAD_B2F), - .landMonsInfo = &gVictoryRoad_B2F_LandMonsInfo, - .waterMonsInfo = &gVictoryRoad_B2F_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gVictoryRoad_B2F_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(METEOR_FALLS_1F_1R), - .mapNum = MAP_NUM(METEOR_FALLS_1F_1R), - .landMonsInfo = &gMeteorFalls_1F_1R_LandMonsInfo, - .waterMonsInfo = &gMeteorFalls_1F_1R_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gMeteorFalls_1F_1R_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(METEOR_FALLS_1F_2R), - .mapNum = MAP_NUM(METEOR_FALLS_1F_2R), - .landMonsInfo = &gMeteorFalls_1F_2R_LandMonsInfo, - .waterMonsInfo = &gMeteorFalls_1F_2R_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gMeteorFalls_1F_2R_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(METEOR_FALLS_B1F_1R), - .mapNum = MAP_NUM(METEOR_FALLS_B1F_1R), - .landMonsInfo = &gMeteorFalls_B1F_1R_LandMonsInfo, - .waterMonsInfo = &gMeteorFalls_B1F_1R_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gMeteorFalls_B1F_1R_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM), - .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM), - .landMonsInfo = &gShoalCave_LowTideStairsRoom_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_LOWER_ROOM), - .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_LOWER_ROOM), - .landMonsInfo = &gShoalCave_LowTideLowerRoom_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_INNER_ROOM), - .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_INNER_ROOM), - .landMonsInfo = &gShoalCave_LowTideInnerRoom_LandMonsInfo, - .waterMonsInfo = &gShoalCave_LowTideInnerRoom_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gShoalCave_LowTideInnerRoom_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM), - .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM), - .landMonsInfo = &gShoalCave_LowTideEntranceRoom_LandMonsInfo, - .waterMonsInfo = &gShoalCave_LowTideEntranceRoom_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gShoalCave_LowTideEntranceRoom_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(LILYCOVE_CITY), - .mapNum = MAP_NUM(LILYCOVE_CITY), - .landMonsInfo = NULL, - .waterMonsInfo = &gLilycoveCity_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gLilycoveCity_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(DEWFORD_TOWN), - .mapNum = MAP_NUM(DEWFORD_TOWN), - .landMonsInfo = NULL, - .waterMonsInfo = &gDewfordTown_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gDewfordTown_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(SLATEPORT_CITY), - .mapNum = MAP_NUM(SLATEPORT_CITY), - .landMonsInfo = NULL, - .waterMonsInfo = &gSlateportCity_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gSlateportCity_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(MOSSDEEP_CITY), - .mapNum = MAP_NUM(MOSSDEEP_CITY), - .landMonsInfo = NULL, - .waterMonsInfo = &gMossdeepCity_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gMossdeepCity_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(PACIFIDLOG_TOWN), - .mapNum = MAP_NUM(PACIFIDLOG_TOWN), - .landMonsInfo = NULL, - .waterMonsInfo = &gPacifidlogTown_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gPacifidlogTown_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(EVER_GRANDE_CITY), - .mapNum = MAP_NUM(EVER_GRANDE_CITY), - .landMonsInfo = NULL, - .waterMonsInfo = &gEverGrandeCity_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gEverGrandeCity_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(PETALBURG_CITY), - .mapNum = MAP_NUM(PETALBURG_CITY), - .landMonsInfo = NULL, - .waterMonsInfo = &gPetalburgCity_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gPetalburgCity_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(UNDERWATER1), - .mapNum = MAP_NUM(UNDERWATER1), - .landMonsInfo = NULL, - .waterMonsInfo = &gUnderwater1_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_ICE_ROOM), - .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_ICE_ROOM), - .landMonsInfo = &gShoalCave_LowTideIceRoom_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SKY_PILLAR_1F), - .mapNum = MAP_NUM(SKY_PILLAR_1F), - .landMonsInfo = &gSkyPillar_1F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SOOTOPOLIS_CITY), - .mapNum = MAP_NUM(SOOTOPOLIS_CITY), - .landMonsInfo = NULL, - .waterMonsInfo = &gSootopolisCity_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gSootopolisCity_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(SKY_PILLAR_3F), - .mapNum = MAP_NUM(SKY_PILLAR_3F), - .landMonsInfo = &gSkyPillar_3F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SKY_PILLAR_5F), - .mapNum = MAP_NUM(SKY_PILLAR_5F), - .landMonsInfo = &gSkyPillar_5F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SAFARI_ZONE_SOUTHEAST), - .mapNum = MAP_NUM(SAFARI_ZONE_SOUTHEAST), - .landMonsInfo = &gSafariZone_Southeast_LandMonsInfo, - .waterMonsInfo = &gSafariZone_Southeast_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gSafariZone_Southeast_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(SAFARI_ZONE_NORTHEAST), - .mapNum = MAP_NUM(SAFARI_ZONE_NORTHEAST), - .landMonsInfo = &gSafariZone_Northeast_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = &gSafariZone_Northeast_RockSmashMonsInfo, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_1F), - .mapNum = MAP_NUM(MAGMA_HIDEOUT_1F), - .landMonsInfo = &gMagmaHideout_1F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_2F_1R), - .mapNum = MAP_NUM(MAGMA_HIDEOUT_2F_1R), - .landMonsInfo = &gMagmaHideout_2F_1R_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_2F_2R), - .mapNum = MAP_NUM(MAGMA_HIDEOUT_2F_2R), - .landMonsInfo = &gMagmaHideout_2F_2R_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_3F_1R), - .mapNum = MAP_NUM(MAGMA_HIDEOUT_3F_1R), - .landMonsInfo = &gMagmaHideout_3F_1R_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_3F_2R), - .mapNum = MAP_NUM(MAGMA_HIDEOUT_3F_2R), - .landMonsInfo = &gMagmaHideout_3F_2R_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_4F), - .mapNum = MAP_NUM(MAGMA_HIDEOUT_4F), - .landMonsInfo = &gMagmaHideout_4F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_3F_3R), - .mapNum = MAP_NUM(MAGMA_HIDEOUT_3F_3R), - .landMonsInfo = &gMagmaHideout_3F_3R_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_2F_3R), - .mapNum = MAP_NUM(MAGMA_HIDEOUT_2F_3R), - .landMonsInfo = &gMagmaHideout_2F_3R_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MIRAGE_TOWER_1F), - .mapNum = MAP_NUM(MIRAGE_TOWER_1F), - .landMonsInfo = &gMirageTower_1F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MIRAGE_TOWER_2F), - .mapNum = MAP_NUM(MIRAGE_TOWER_2F), - .landMonsInfo = &gMirageTower_2F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MIRAGE_TOWER_3F), - .mapNum = MAP_NUM(MIRAGE_TOWER_3F), - .landMonsInfo = &gMirageTower_3F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MIRAGE_TOWER_4F), - .mapNum = MAP_NUM(MIRAGE_TOWER_4F), - .landMonsInfo = &gMirageTower_4F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(DESERT_UNDERPASS), - .mapNum = MAP_NUM(DESERT_UNDERPASS), - .landMonsInfo = &gDesertUnderpass_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ARTISAN_CAVE_B1F), - .mapNum = MAP_NUM(ARTISAN_CAVE_B1F), - .landMonsInfo = &gArtisanCave_B1F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ARTISAN_CAVE_1F), - .mapNum = MAP_NUM(ARTISAN_CAVE_1F), - .landMonsInfo = &gArtisanCave_1F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ALTERING_CAVE), - .mapNum = MAP_NUM(ALTERING_CAVE), - .landMonsInfo = &gAlteringCave1_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ALTERING_CAVE), - .mapNum = MAP_NUM(ALTERING_CAVE), - .landMonsInfo = &gAlteringCave2_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ALTERING_CAVE), - .mapNum = MAP_NUM(ALTERING_CAVE), - .landMonsInfo = &gAlteringCave3_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ALTERING_CAVE), - .mapNum = MAP_NUM(ALTERING_CAVE), - .landMonsInfo = &gAlteringCave4_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ALTERING_CAVE), - .mapNum = MAP_NUM(ALTERING_CAVE), - .landMonsInfo = &gAlteringCave5_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ALTERING_CAVE), - .mapNum = MAP_NUM(ALTERING_CAVE), - .landMonsInfo = &gAlteringCave6_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ALTERING_CAVE), - .mapNum = MAP_NUM(ALTERING_CAVE), - .landMonsInfo = &gAlteringCave7_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ALTERING_CAVE), - .mapNum = MAP_NUM(ALTERING_CAVE), - .landMonsInfo = &gAlteringCave8_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ALTERING_CAVE), - .mapNum = MAP_NUM(ALTERING_CAVE), - .landMonsInfo = &gAlteringCave9_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(METEOR_FALLS_STEVENS_CAVE), - .mapNum = MAP_NUM(METEOR_FALLS_STEVENS_CAVE), - .landMonsInfo = &gMeteorFalls_StevensCave_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(UNDEFINED), - .mapNum = MAP_NUM(UNDEFINED), - .landMonsInfo = NULL, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, -}; - -//Battle Pyramid-specific tables and headers start here. - -const struct WildPokemon gBattlePyramidPlaceholders_1[] = -{ - {5, 5, SPECIES_BULBASAUR}, - {5, 5, SPECIES_BULBASAUR}, - {5, 5, SPECIES_BULBASAUR}, - {5, 5, SPECIES_BULBASAUR}, - {5, 5, SPECIES_IVYSAUR}, - {5, 5, SPECIES_IVYSAUR}, - {5, 5, SPECIES_VENUSAUR}, - {5, 5, SPECIES_VENUSAUR}, - {5, 5, SPECIES_VENUSAUR}, - {5, 5, SPECIES_CHARMANDER}, - {5, 5, SPECIES_VENUSAUR}, - {5, 5, SPECIES_CHARMANDER}, -}; - -const struct WildPokemonInfo gBattlePyramidPlaceholders_1Info = {4, gBattlePyramidPlaceholders_1}; - -const struct WildPokemon gBattlePyramidPlaceholders_2[] = -{ - {5, 5, SPECIES_IVYSAUR}, - {5, 5, SPECIES_IVYSAUR}, - {5, 5, SPECIES_IVYSAUR}, - {5, 5, SPECIES_IVYSAUR}, - {5, 5, SPECIES_VENUSAUR}, - {5, 5, SPECIES_VENUSAUR}, - {5, 5, SPECIES_CHARMANDER}, - {5, 5, SPECIES_CHARMANDER}, - {5, 5, SPECIES_CHARMANDER}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARMANDER}, -}; - -const struct WildPokemonInfo gBattlePyramidPlaceholders_2Info = {4, gBattlePyramidPlaceholders_2}; - -const struct WildPokemon gBattlePyramidPlaceholders_3[] = -{ - {5, 5, SPECIES_VENUSAUR}, - {5, 5, SPECIES_VENUSAUR}, - {5, 5, SPECIES_VENUSAUR}, - {5, 5, SPECIES_VENUSAUR}, - {5, 5, SPECIES_CHARMANDER}, - {5, 5, SPECIES_CHARMANDER}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARIZARD}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARIZARD}, -}; - -const struct WildPokemonInfo gBattlePyramidPlaceholders_3Info = {4, gBattlePyramidPlaceholders_3}; - -const struct WildPokemon gBattlePyramidPlaceholders_4[] = -{ - {5, 5, SPECIES_CHARMANDER}, - {5, 5, SPECIES_CHARMANDER}, - {5, 5, SPECIES_CHARMANDER}, - {5, 5, SPECIES_CHARMANDER}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARIZARD}, - {5, 5, SPECIES_CHARIZARD}, - {5, 5, SPECIES_CHARIZARD}, - {5, 5, SPECIES_SQUIRTLE}, - {5, 5, SPECIES_CHARIZARD}, - {5, 5, SPECIES_SQUIRTLE}, -}; - -const struct WildPokemonInfo gBattlePyramidPlaceholders_4Info = {4, gBattlePyramidPlaceholders_4}; - -const struct WildPokemon gBattlePyramidPlaceholders_5[] = -{ - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARIZARD}, - {5, 5, SPECIES_CHARIZARD}, - {5, 5, SPECIES_SQUIRTLE}, - {5, 5, SPECIES_SQUIRTLE}, - {5, 5, SPECIES_SQUIRTLE}, - {5, 5, SPECIES_WARTORTLE}, - {5, 5, SPECIES_SQUIRTLE}, - {5, 5, SPECIES_WARTORTLE}, -}; - -const struct WildPokemonInfo gBattlePyramidPlaceholders_5Info = {4, gBattlePyramidPlaceholders_5}; - -const struct WildPokemon gBattlePyramidPlaceholders_6[] = -{ - {5, 5, SPECIES_CHARIZARD}, - {5, 5, SPECIES_CHARIZARD}, - {5, 5, SPECIES_CHARIZARD}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_SQUIRTLE}, - {5, 5, SPECIES_SQUIRTLE}, - {5, 5, SPECIES_WARTORTLE}, - {5, 5, SPECIES_WARTORTLE}, - {5, 5, SPECIES_WARTORTLE}, - {5, 5, SPECIES_WARTORTLE}, - {5, 5, SPECIES_WARTORTLE}, - {5, 5, SPECIES_WARTORTLE}, -}; - -const struct WildPokemonInfo gBattlePyramidPlaceholders_6Info = {4, gBattlePyramidPlaceholders_6}; - -const struct WildPokemon gBattlePyramidPlaceholders_7[] = -{ - {5, 5, SPECIES_WARTORTLE}, - {5, 5, SPECIES_WARTORTLE}, - {5, 5, SPECIES_SQUIRTLE}, - {5, 5, SPECIES_SQUIRTLE}, - {5, 5, SPECIES_SQUIRTLE}, - {5, 5, SPECIES_CHARIZARD}, - {5, 5, SPECIES_CHARIZARD}, - {5, 5, SPECIES_CHARIZARD}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARMELEON}, -}; - -const struct WildPokemonInfo gBattlePyramidPlaceholders_7Info = {8, gBattlePyramidPlaceholders_7}; - -const struct WildPokemonHeader gBattlePyramidWildMonHeaders[] = -{ - { - .mapGroup = 0, - .mapNum = 1, - .landMonsInfo = &gBattlePyramidPlaceholders_1Info, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = 0, - .mapNum = 2, - .landMonsInfo = &gBattlePyramidPlaceholders_2Info, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = 0, - .mapNum = 3, - .landMonsInfo = &gBattlePyramidPlaceholders_3Info, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = 0, - .mapNum = 4, - .landMonsInfo = &gBattlePyramidPlaceholders_4Info, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = 0, - .mapNum = 5, - .landMonsInfo = &gBattlePyramidPlaceholders_5Info, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = 0, - .mapNum = 6, - .landMonsInfo = &gBattlePyramidPlaceholders_6Info, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = 0, - .mapNum = 7, - .landMonsInfo = &gBattlePyramidPlaceholders_7Info, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = 255, - .mapNum = 255, - .landMonsInfo = NULL, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, -}; - -//Battle Pike-specific tables and headers start here. - -const struct WildPokemon gBattlePikeMons_1[] = -{ - {5, 5, SPECIES_SEVIPER}, - {5, 5, SPECIES_MILOTIC}, - {5, 5, SPECIES_DUSCLOPS}, - {5, 5, SPECIES_DUSCLOPS}, - {5, 5, SPECIES_DUSCLOPS}, - {5, 5, SPECIES_DUSCLOPS}, - {5, 5, SPECIES_SEVIPER}, - {5, 5, SPECIES_MILOTIC}, - {5, 5, SPECIES_DUSCLOPS}, - {5, 5, SPECIES_DUSCLOPS}, - {5, 5, SPECIES_SEVIPER}, - {5, 5, SPECIES_MILOTIC}, -}; - -const struct WildPokemonInfo gBattlePikeMonsInfo_1 = {10, gBattlePikeMons_1}; - -const struct WildPokemon gBattlePikeMons_2[] = -{ - {5, 5, SPECIES_SEVIPER}, - {5, 5, SPECIES_MILOTIC}, - {5, 5, SPECIES_ELECTRODE}, - {5, 5, SPECIES_ELECTRODE}, - {5, 5, SPECIES_ELECTRODE}, - {5, 5, SPECIES_ELECTRODE}, - {5, 5, SPECIES_SEVIPER}, - {5, 5, SPECIES_MILOTIC}, - {5, 5, SPECIES_ELECTRODE}, - {5, 5, SPECIES_ELECTRODE}, - {5, 5, SPECIES_SEVIPER}, - {5, 5, SPECIES_MILOTIC}, -}; - -const struct WildPokemonInfo gBattlePikeMonsInfo_2 = {10, gBattlePikeMons_2}; - -const struct WildPokemon gBattlePikeMons_3[] = -{ - {5, 5, SPECIES_SEVIPER}, - {5, 5, SPECIES_MILOTIC}, - {5, 5, SPECIES_BRELOOM}, - {5, 5, SPECIES_BRELOOM}, - {5, 5, SPECIES_BRELOOM}, - {5, 5, SPECIES_BRELOOM}, - {5, 5, SPECIES_SEVIPER}, - {5, 5, SPECIES_MILOTIC}, - {5, 5, SPECIES_BRELOOM}, - {5, 5, SPECIES_BRELOOM}, - {5, 5, SPECIES_SEVIPER}, - {5, 5, SPECIES_MILOTIC}, -}; - -const struct WildPokemonInfo gBattlePikeMonsInfo_3 = {10, gBattlePikeMons_3}; - -const struct WildPokemon gBattlePikeMons_4[] = -{ - {5, 5, SPECIES_SEVIPER}, - {5, 5, SPECIES_MILOTIC}, - {5, 5, SPECIES_WOBBUFFET}, - {5, 5, SPECIES_WOBBUFFET}, - {5, 5, SPECIES_WOBBUFFET}, - {5, 5, SPECIES_WOBBUFFET}, - {5, 5, SPECIES_SEVIPER}, - {5, 5, SPECIES_MILOTIC}, - {5, 5, SPECIES_WOBBUFFET}, - {5, 5, SPECIES_WOBBUFFET}, - {5, 5, SPECIES_SEVIPER}, - {5, 5, SPECIES_MILOTIC}, -}; - -const struct WildPokemonInfo gBattlePikeMonsInfo_4 = {10, gBattlePikeMons_4}; - -const struct WildPokemonHeader gBattlePikeWildMonHeaders[] = -{ - { - .mapGroup = 0, - .mapNum = 1, - .landMonsInfo = &gBattlePikeMonsInfo_1, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = 0, - .mapNum = 2, - .landMonsInfo = &gBattlePikeMonsInfo_2, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = 0, - .mapNum = 3, - .landMonsInfo = &gBattlePikeMonsInfo_3, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = 0, - .mapNum = 4, - .landMonsInfo = &gBattlePikeMonsInfo_4, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = 255, - .mapNum = 255, - .landMonsInfo = NULL, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, -}; - -//Special Feebas-related data. - -const struct WildPokemon gWildFeebasRoute119Data = {20, 25, SPECIES_FEEBAS}; - -const u16 gRoute119WaterTileData[] = -{ - 0, 0x2D, 0, - 0x2E, 0x5B, 0x83, - 0x5C, 0x8B, 0x12A, -}; - diff --git a/src/data/wild_encounters.json b/src/data/wild_encounters.json new file mode 100755 index 0000000000..6dd24bfedf --- /dev/null +++ b/src/data/wild_encounters.json @@ -0,0 +1,12186 @@ +{ + "wild_encounter_groups": [ + { + "label": "gWildMonHeaders", + "for_maps": true, + "encounters": [ + { + "map": "MAP_ROUTE101", + "base_label": "gRoute101", + "land_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 2, + "max_level": 2, + "species": "SPECIES_WURMPLE" + }, + { + "min_level": 2, + "max_level": 2, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 2, + "max_level": 2, + "species": "SPECIES_WURMPLE" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_WURMPLE" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_WURMPLE" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 2, + "max_level": 2, + "species": "SPECIES_ZIGZAGOON" + }, + { + "min_level": 2, + "max_level": 2, + "species": "SPECIES_ZIGZAGOON" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_ZIGZAGOON" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_ZIGZAGOON" + } + ] + } + }, + { + "map": "MAP_ROUTE102", + "base_label": "gRoute102", + "land_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_WURMPLE" + }, + { + "min_level": 4, + "max_level": 4, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 4, + "max_level": 4, + "species": "SPECIES_WURMPLE" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_LOTAD" + }, + { + "min_level": 4, + "max_level": 4, + "species": "SPECIES_LOTAD" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_ZIGZAGOON" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_ZIGZAGOON" + }, + { + "min_level": 4, + "max_level": 4, + "species": "SPECIES_ZIGZAGOON" + }, + { + "min_level": 4, + "max_level": 4, + "species": "SPECIES_RALTS" + }, + { + "min_level": 4, + "max_level": 4, + "species": "SPECIES_ZIGZAGOON" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_SEEDOT" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_MARILL" + }, + { + "min_level": 10, + "max_level": 20, + "species": "SPECIES_MARILL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_MARILL" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MARILL" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_CORPHISH" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_CORPHISH" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_CORPHISH" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_CORPHISH" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_CORPHISH" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_CORPHISH" + } + ] + } + }, + { + "map": "MAP_ROUTE103", + "base_label": "gRoute103", + "land_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 2, + "max_level": 2, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 4, + "max_level": 4, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 2, + "max_level": 2, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_ZIGZAGOON" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_ZIGZAGOON" + }, + { + "min_level": 4, + "max_level": 4, + "species": "SPECIES_ZIGZAGOON" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 2, + "max_level": 2, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 4, + "max_level": 4, + "species": "SPECIES_WINGULL" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SHARPEDO" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_ROUTE104", + "base_label": "gRoute104", + "land_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 4, + "max_level": 4, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 4, + "max_level": 4, + "species": "SPECIES_WURMPLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MARILL" + }, + { + "min_level": 4, + "max_level": 4, + "species": "SPECIES_MARILL" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 4, + "max_level": 4, + "species": "SPECIES_TAILLOW" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_TAILLOW" + }, + { + "min_level": 4, + "max_level": 4, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 4, + "max_level": 4, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WINGULL" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_MAGIKARP" + } + ] + } + }, + { + "map": "MAP_ROUTE105", + "base_label": "gRoute105", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_ROUTE110", + "base_label": "gRoute110", + "land_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_ELECTRIKE" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_GULPIN" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_ELECTRIKE" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_MINUN" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_MINUN" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_GULPIN" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_PLUSLE" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_PLUSLE" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_ROUTE111", + "base_label": "gRoute111", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 21, + "max_level": 21, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 21, + "max_level": 21, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 19, + "max_level": 19, + "species": "SPECIES_BALTOY" + }, + { + "min_level": 21, + "max_level": 21, + "species": "SPECIES_BALTOY" + }, + { + "min_level": 19, + "max_level": 19, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 19, + "max_level": 19, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_BALTOY" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_CACNEA" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_CACNEA" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_CACNEA" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_MARILL" + }, + { + "min_level": 10, + "max_level": 20, + "species": "SPECIES_MARILL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_MARILL" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MARILL" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + } + ] + }, + "rock_smash_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 10, + "max_level": 15, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 15, + "max_level": 20, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 15, + "max_level": 20, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 15, + "max_level": 20, + "species": "SPECIES_GEODUDE" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_BARBOACH" + } + ] + } + }, + { + "map": "MAP_ROUTE112", + "base_label": "gRoute112", + "land_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_NUMEL" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_NUMEL" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_MARILL" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_NUMEL" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_NUMEL" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_MARILL" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_NUMEL" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_MARILL" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_NUMEL" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_NUMEL" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_NUMEL" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_NUMEL" + } + ] + } + }, + { + "map": "MAP_ROUTE113", + "base_label": "gRoute113", + "land_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_SPINDA" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_SPINDA" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_SLUGMA" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_SPINDA" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_SPINDA" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_SLUGMA" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_SPINDA" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_SLUGMA" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_SPINDA" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_SKARMORY" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_SPINDA" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_SKARMORY" + } + ] + } + }, + { + "map": "MAP_ROUTE114", + "base_label": "gRoute114", + "land_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_SWABLU" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_LOTAD" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_SWABLU" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_SWABLU" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_LOTAD" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_LOMBRE" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_LOMBRE" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_LOMBRE" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_SEVIPER" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_SEVIPER" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_SEVIPER" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_NUZLEAF" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_MARILL" + }, + { + "min_level": 10, + "max_level": 20, + "species": "SPECIES_MARILL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_MARILL" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MARILL" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + } + ] + }, + "rock_smash_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 10, + "max_level": 15, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 15, + "max_level": 20, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 15, + "max_level": 20, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 15, + "max_level": 20, + "species": "SPECIES_GEODUDE" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_BARBOACH" + } + ] + } + }, + { + "map": "MAP_ROUTE116", + "base_label": "gRoute116", + "land_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_WHISMUR" + }, + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_NINCADA" + }, + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_ABRA" + }, + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_NINCADA" + }, + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_TAILLOW" + }, + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_TAILLOW" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_TAILLOW" + }, + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_SKITTY" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_SKITTY" + } + ] + } + }, + { + "map": "MAP_ROUTE117", + "base_label": "gRoute117", + "land_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_MARILL" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_ILLUMISE" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_ILLUMISE" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_ILLUMISE" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_ILLUMISE" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_VOLBEAT" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_SEEDOT" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_MARILL" + }, + { + "min_level": 10, + "max_level": 20, + "species": "SPECIES_MARILL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_MARILL" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MARILL" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_CORPHISH" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_CORPHISH" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_CORPHISH" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_CORPHISH" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_CORPHISH" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_CORPHISH" + } + ] + } + }, + { + "map": "MAP_ROUTE118", + "base_label": "gRoute118", + "land_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_ZIGZAGOON" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_ELECTRIKE" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_ZIGZAGOON" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_ELECTRIKE" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_LINOONE" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_MANECTRIC" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_KECLEON" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_CARVANHA" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SHARPEDO" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_CARVANHA" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_CARVANHA" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_CARVANHA" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_CARVANHA" + } + ] + } + }, + { + "map": "MAP_ROUTE124", + "base_label": "gRoute124", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SHARPEDO" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_PETALBURG_WOODS", + "base_label": "gPetalburgWoods", + "land_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WURMPLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SHROOMISH" + }, + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SILCOON" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CASCOON" + }, + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_WURMPLE" + }, + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_SHROOMISH" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_TAILLOW" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SLAKOTH" + }, + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_TAILLOW" + }, + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_SLAKOTH" + } + ] + } + }, + { + "map": "MAP_RUSTURF_TUNNEL", + "base_label": "gRusturfTunnel", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_WHISMUR" + }, + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_WHISMUR" + }, + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_WHISMUR" + }, + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_WHISMUR" + }, + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_WHISMUR" + }, + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_WHISMUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WHISMUR" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_WHISMUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WHISMUR" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_WHISMUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WHISMUR" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_WHISMUR" + } + ] + } + }, + { + "map": "MAP_GRANITE_CAVE_1F", + "base_label": "gGraniteCave_1F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_MAKUHITA" + }, + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_MAKUHITA" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 9, + "max_level": 9, + "species": "SPECIES_MAKUHITA" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_ABRA" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_MAKUHITA" + }, + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_MAKUHITA" + }, + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 9, + "max_level": 9, + "species": "SPECIES_GEODUDE" + } + ] + } + }, + { + "map": "MAP_GRANITE_CAVE_B1F", + "base_label": "gGraniteCave_B1F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 9, + "max_level": 9, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_ARON" + }, + { + "min_level": 9, + "max_level": 9, + "species": "SPECIES_ARON" + }, + { + "min_level": 11, + "max_level": 11, + "species": "SPECIES_ARON" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 9, + "max_level": 9, + "species": "SPECIES_ABRA" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_MAKUHITA" + }, + { + "min_level": 11, + "max_level": 11, + "species": "SPECIES_MAKUHITA" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 9, + "max_level": 9, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 11, + "max_level": 11, + "species": "SPECIES_SABLEYE" + } + ] + } + }, + { + "map": "MAP_MT_PYRE_1F", + "base_label": "gMtPyre_1F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SHUPPET" + } + ] + } + }, + { + "map": "MAP_VICTORY_ROAD_1F", + "base_label": "gVictoryRoad_1F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_HARIYAMA" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_LAIRON" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_LOUDRED" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_MAKUHITA" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_HARIYAMA" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_ARON" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_WHISMUR" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_ARON" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_WHISMUR" + } + ] + } + }, + { + "map": "MAP_SAFARI_ZONE_SOUTH", + "base_label": "gSafariZone_South", + "land_mons": { + "encounter_rate": 25, + "mons": [ + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_GIRAFARIG" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_GIRAFARIG" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_NATU" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_DODUO" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_GLOOM" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_WOBBUFFET" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_PIKACHU" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_WOBBUFFET" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_PIKACHU" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_WOBBUFFET" + } + ] + } + }, + { + "map": "MAP_UNDERWATER2", + "base_label": "gUnderwater2", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_CLAMPERL" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_CHINCHOU" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_CLAMPERL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_RELICANTH" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_RELICANTH" + } + ] + } + }, + { + "map": "MAP_ABANDONED_SHIP_ROOMS_B1F", + "base_label": "gAbandonedShip_Rooms_B1F", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_TENTACRUEL" + } + ] + }, + "fishing_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_TENTACRUEL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_TENTACRUEL" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_TENTACRUEL" + } + ] + } + }, + { + "map": "MAP_GRANITE_CAVE_B2F", + "base_label": "gGraniteCave_B2F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 11, + "max_level": 11, + "species": "SPECIES_ARON" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_ARON" + }, + { + "min_level": 11, + "max_level": 11, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_ARON" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_ABRA" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 11, + "max_level": 11, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_SABLEYE" + } + ] + }, + "rock_smash_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 10, + "max_level": 15, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 10, + "max_level": 20, + "species": "SPECIES_NOSEPASS" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 15, + "max_level": 20, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 15, + "max_level": 20, + "species": "SPECIES_GEODUDE" + } + ] + } + }, + { + "map": "MAP_FIERY_PATH", + "base_label": "gFieryPath", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_NUMEL" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_KOFFING" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_NUMEL" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_MACHOP" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_TORKOAL" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_SLUGMA" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_KOFFING" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_MACHOP" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_TORKOAL" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_TORKOAL" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_GRIMER" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_GRIMER" + } + ] + } + }, + { + "map": "MAP_METEOR_FALLS_B1F_2R", + "base_label": "gMeteorFalls_B1F_2R", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_BAGON" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_BAGON" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_BAGON" + }, + { + "min_level": 39, + "max_level": 39, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GOLBAT" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_SOLROCK" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WHISCASH" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WHISCASH" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WHISCASH" + } + ] + } + }, + { + "map": "MAP_JAGGED_PASS", + "base_label": "gJaggedPass", + "land_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 21, + "max_level": 21, + "species": "SPECIES_NUMEL" + }, + { + "min_level": 21, + "max_level": 21, + "species": "SPECIES_NUMEL" + }, + { + "min_level": 21, + "max_level": 21, + "species": "SPECIES_MACHOP" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_NUMEL" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_SPOINK" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_MACHOP" + }, + { + "min_level": 21, + "max_level": 21, + "species": "SPECIES_SPOINK" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_MACHOP" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_NUMEL" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SPOINK" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_NUMEL" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SPOINK" + } + ] + } + }, + { + "map": "MAP_ROUTE106", + "base_label": "gRoute106", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_ROUTE107", + "base_label": "gRoute107", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_ROUTE108", + "base_label": "gRoute108", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_ROUTE109", + "base_label": "gRoute109", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_ROUTE115", + "base_label": "gRoute115", + "land_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_SWABLU" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_TAILLOW" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_SWABLU" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_TAILLOW" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_TAILLOW" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_SWELLOW" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_JIGGLYPUFF" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_JIGGLYPUFF" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_WINGULL" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_NEW_MAUVILLE_INSIDE", + "base_label": "gNewMauville_Inside", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_VOLTORB" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_MAGNEMITE" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_VOLTORB" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_MAGNEMITE" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_VOLTORB" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_MAGNEMITE" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_VOLTORB" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_MAGNEMITE" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_VOLTORB" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_MAGNEMITE" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_ELECTRODE" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_MAGNETON" + } + ] + } + }, + { + "map": "MAP_ROUTE119", + "base_label": "gRoute119", + "land_mons": { + "encounter_rate": 15, + "mons": [ + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_ZIGZAGOON" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_LINOONE" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_ZIGZAGOON" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_LINOONE" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_TROPIUS" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_TROPIUS" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_TROPIUS" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_KECLEON" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_CARVANHA" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_CARVANHA" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_CARVANHA" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_CARVANHA" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_CARVANHA" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_CARVANHA" + } + ] + } + }, + { + "map": "MAP_ROUTE120", + "base_label": "gRoute120", + "land_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_MIGHTYENA" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_MIGHTYENA" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_MARILL" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_MARILL" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_ABSOL" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_ABSOL" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_KECLEON" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_SEEDOT" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_MARILL" + }, + { + "min_level": 10, + "max_level": 20, + "species": "SPECIES_MARILL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_MARILL" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MARILL" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_BARBOACH" + } + ] + } + }, + { + "map": "MAP_ROUTE121", + "base_label": "gRoute121", + "land_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_MIGHTYENA" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_MIGHTYENA" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_GLOOM" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_KECLEON" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_ROUTE122", + "base_label": "gRoute122", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SHARPEDO" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_ROUTE123", + "base_label": "gRoute123", + "land_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_MIGHTYENA" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_MIGHTYENA" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_GLOOM" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_KECLEON" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_MT_PYRE_2F", + "base_label": "gMtPyre_2F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SHUPPET" + } + ] + } + }, + { + "map": "MAP_MT_PYRE_3F", + "base_label": "gMtPyre_3F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SHUPPET" + } + ] + } + }, + { + "map": "MAP_MT_PYRE_4F", + "base_label": "gMtPyre_4F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_DUSKULL" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_DUSKULL" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_DUSKULL" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_DUSKULL" + } + ] + } + }, + { + "map": "MAP_MT_PYRE_5F", + "base_label": "gMtPyre_5F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_DUSKULL" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_DUSKULL" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_DUSKULL" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_DUSKULL" + } + ] + } + }, + { + "map": "MAP_MT_PYRE_6F", + "base_label": "gMtPyre_6F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_DUSKULL" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_DUSKULL" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_DUSKULL" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_DUSKULL" + } + ] + } + }, + { + "map": "MAP_MT_PYRE_EXTERIOR", + "base_label": "gMtPyre_Exterior", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_VULPIX" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_VULPIX" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_VULPIX" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_VULPIX" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_WINGULL" + } + ] + } + }, + { + "map": "MAP_MT_PYRE_SUMMIT", + "base_label": "gMtPyre_Summit", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_DUSKULL" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_DUSKULL" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_DUSKULL" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_CHIMECHO" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_CHIMECHO" + } + ] + } + }, + { + "map": "MAP_GRANITE_CAVE_STEVENS_ROOM", + "base_label": "gGraniteCave_StevensRoom", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_MAKUHITA" + }, + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_MAKUHITA" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 9, + "max_level": 9, + "species": "SPECIES_MAKUHITA" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_ABRA" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_MAKUHITA" + }, + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_MAKUHITA" + }, + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_ARON" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_ARON" + }, + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_ARON" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_ARON" + } + ] + } + }, + { + "map": "MAP_ROUTE125", + "base_label": "gRoute125", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SHARPEDO" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_ROUTE126", + "base_label": "gRoute126", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SHARPEDO" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_ROUTE127", + "base_label": "gRoute127", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SHARPEDO" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_ROUTE128", + "base_label": "gRoute128", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_LUVDISC" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_LUVDISC" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_CORSOLA" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_ROUTE129", + "base_label": "gRoute129", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILORD" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SHARPEDO" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_ROUTE130", + "base_label": "gRoute130", + "land_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_WYNAUT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_WYNAUT" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_WYNAUT" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_WYNAUT" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_WYNAUT" + }, + { + "min_level": 45, + "max_level": 45, + "species": "SPECIES_WYNAUT" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_WYNAUT" + }, + { + "min_level": 50, + "max_level": 50, + "species": "SPECIES_WYNAUT" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_WYNAUT" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WYNAUT" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_WYNAUT" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WYNAUT" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SHARPEDO" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_ROUTE131", + "base_label": "gRoute131", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SHARPEDO" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_ROUTE132", + "base_label": "gRoute132", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SHARPEDO" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_HORSEA" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_ROUTE133", + "base_label": "gRoute133", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SHARPEDO" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_HORSEA" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_ROUTE134", + "base_label": "gRoute134", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SHARPEDO" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_HORSEA" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS", + "base_label": "gAbandonedShip_HiddenFloorCorridors", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_TENTACRUEL" + } + ] + }, + "fishing_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_TENTACRUEL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_TENTACRUEL" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_TENTACRUEL" + } + ] + } + }, + { + "map": "MAP_SEAFLOOR_CAVERN_ROOM1", + "base_label": "gSeafloorCavern_Room1", + "land_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_GOLBAT" + } + ] + } + }, + { + "map": "MAP_SEAFLOOR_CAVERN_ROOM2", + "base_label": "gSeafloorCavern_Room2", + "land_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_GOLBAT" + } + ] + } + }, + { + "map": "MAP_SEAFLOOR_CAVERN_ROOM3", + "base_label": "gSeafloorCavern_Room3", + "land_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_GOLBAT" + } + ] + } + }, + { + "map": "MAP_SEAFLOOR_CAVERN_ROOM4", + "base_label": "gSeafloorCavern_Room4", + "land_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_GOLBAT" + } + ] + } + }, + { + "map": "MAP_SEAFLOOR_CAVERN_ROOM5", + "base_label": "gSeafloorCavern_Room5", + "land_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_GOLBAT" + } + ] + } + }, + { + "map": "MAP_SEAFLOOR_CAVERN_ROOM6", + "base_label": "gSeafloorCavern_Room6", + "land_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_GOLBAT" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_GOLBAT" + } + ] + }, + "fishing_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_SEAFLOOR_CAVERN_ROOM7", + "base_label": "gSeafloorCavern_Room7", + "land_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_GOLBAT" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_GOLBAT" + } + ] + }, + "fishing_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_SEAFLOOR_CAVERN_ROOM8", + "base_label": "gSeafloorCavern_Room8", + "land_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_GOLBAT" + } + ] + } + }, + { + "map": "MAP_SEAFLOOR_CAVERN_ENTRANCE", + "base_label": "gSeafloorCavern_Entrance", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_GOLBAT" + } + ] + }, + "fishing_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_CAVE_OF_ORIGIN_ENTRANCE", + "base_label": "gCaveOfOrigin_Entrance", + "land_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_GOLBAT" + } + ] + } + }, + { + "map": "MAP_CAVE_OF_ORIGIN_1F", + "base_label": "gCaveOfOrigin_1F", + "land_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_GOLBAT" + } + ] + } + }, + { + "map": "MAP_CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP1", + "base_label": "gCaveOfOrigin_UnusedRubySapphireMap1", + "land_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_GOLBAT" + } + ] + } + }, + { + "map": "MAP_CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP2", + "base_label": "gCaveOfOrigin_UnusedRubySapphireMap2", + "land_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_GOLBAT" + } + ] + } + }, + { + "map": "MAP_CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP3", + "base_label": "gCaveOfOrigin_UnusedRubySapphireMap3", + "land_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_GOLBAT" + } + ] + } + }, + { + "map": "MAP_NEW_MAUVILLE_ENTRANCE", + "base_label": "gNewMauville_Entrance", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_VOLTORB" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_MAGNEMITE" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_VOLTORB" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_MAGNEMITE" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_VOLTORB" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_MAGNEMITE" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_VOLTORB" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_MAGNEMITE" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_VOLTORB" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_MAGNEMITE" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_VOLTORB" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_MAGNEMITE" + } + ] + } + }, + { + "map": "MAP_SAFARI_ZONE_SOUTHWEST", + "base_label": "gSafariZone_Southwest", + "land_mons": { + "encounter_rate": 25, + "mons": [ + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_GIRAFARIG" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_GIRAFARIG" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_NATU" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_DODUO" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_GLOOM" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_WOBBUFFET" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_PIKACHU" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_WOBBUFFET" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_PIKACHU" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_WOBBUFFET" + } + ] + }, + "water_mons": { + "encounter_rate": 9, + "mons": [ + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_PSYDUCK" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_PSYDUCK" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_PSYDUCK" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_PSYDUCK" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_PSYDUCK" + } + ] + }, + "fishing_mons": { + "encounter_rate": 35, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 25, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SEAKING" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_SEAKING" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_SEAKING" + } + ] + } + }, + { + "map": "MAP_SAFARI_ZONE_NORTH", + "base_label": "gSafariZone_North", + "land_mons": { + "encounter_rate": 25, + "mons": [ + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_PHANPY" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_PHANPY" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_NATU" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_GLOOM" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_GLOOM" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_NATU" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_XATU" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_HERACROSS" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_XATU" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_HERACROSS" + } + ] + }, + "rock_smash_mons": { + "encounter_rate": 25, + "mons": [ + { + "min_level": 10, + "max_level": 15, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 15, + "max_level": 20, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_GEODUDE" + } + ] + } + }, + { + "map": "MAP_SAFARI_ZONE_NORTHWEST", + "base_label": "gSafariZone_Northwest", + "land_mons": { + "encounter_rate": 25, + "mons": [ + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_RHYHORN" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_RHYHORN" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_DODUO" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_GLOOM" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_GLOOM" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_DODUO" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_DODRIO" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_PINSIR" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_DODRIO" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_PINSIR" + } + ] + }, + "water_mons": { + "encounter_rate": 9, + "mons": [ + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_PSYDUCK" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_PSYDUCK" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_PSYDUCK" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_GOLDUCK" + }, + { + "min_level": 25, + "max_level": 40, + "species": "SPECIES_GOLDUCK" + } + ] + }, + "fishing_mons": { + "encounter_rate": 35, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 25, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SEAKING" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_SEAKING" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_SEAKING" + } + ] + } + }, + { + "map": "MAP_VICTORY_ROAD_B1F", + "base_label": "gVictoryRoad_B1F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_HARIYAMA" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_LAIRON" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_LAIRON" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_HARIYAMA" + }, + { + "min_level": 42, + "max_level": 42, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 42, + "max_level": 42, + "species": "SPECIES_HARIYAMA" + }, + { + "min_level": 42, + "max_level": 42, + "species": "SPECIES_LAIRON" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_MAWILE" + }, + { + "min_level": 42, + "max_level": 42, + "species": "SPECIES_LAIRON" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_MAWILE" + } + ] + }, + "rock_smash_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 30, + "max_level": 40, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 30, + "max_level": 40, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_GRAVELER" + } + ] + } + }, + { + "map": "MAP_VICTORY_ROAD_B2F", + "base_label": "gVictoryRoad_B2F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_LAIRON" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_LAIRON" + }, + { + "min_level": 42, + "max_level": 42, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 42, + "max_level": 42, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 42, + "max_level": 42, + "species": "SPECIES_LAIRON" + }, + { + "min_level": 42, + "max_level": 42, + "species": "SPECIES_MAWILE" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_LAIRON" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_MAWILE" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_GOLBAT" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WHISCASH" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WHISCASH" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WHISCASH" + } + ] + } + }, + { + "map": "MAP_METEOR_FALLS_1F_1R", + "base_label": "gMeteorFalls_1F_1R", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 19, + "max_level": 19, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 19, + "max_level": 19, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_ZUBAT" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_SOLROCK" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_BARBOACH" + } + ] + } + }, + { + "map": "MAP_METEOR_FALLS_1F_2R", + "base_label": "gMeteorFalls_1F_2R", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 39, + "max_level": 39, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GOLBAT" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_SOLROCK" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WHISCASH" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WHISCASH" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WHISCASH" + } + ] + } + }, + { + "map": "MAP_METEOR_FALLS_B1F_1R", + "base_label": "gMeteorFalls_B1F_1R", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 39, + "max_level": 39, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GOLBAT" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_SOLROCK" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WHISCASH" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WHISCASH" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WHISCASH" + } + ] + } + }, + { + "map": "MAP_SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM", + "base_label": "gShoalCave_LowTideStairsRoom", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SPHEAL" + } + ] + } + }, + { + "map": "MAP_SHOAL_CAVE_LOW_TIDE_LOWER_ROOM", + "base_label": "gShoalCave_LowTideLowerRoom", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SPHEAL" + } + ] + } + }, + { + "map": "MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM", + "base_label": "gShoalCave_LowTideInnerRoom", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SPHEAL" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SPHEAL" + } + ] + }, + "fishing_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM", + "base_label": "gShoalCave_LowTideEntranceRoom", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SPHEAL" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SPHEAL" + } + ] + }, + "fishing_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_LILYCOVE_CITY", + "base_label": "gLilycoveCity", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_STARYU" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_DEWFORD_TOWN", + "base_label": "gDewfordTown", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_SLATEPORT_CITY", + "base_label": "gSlateportCity", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_MOSSDEEP_CITY", + "base_label": "gMossdeepCity", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SHARPEDO" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_PACIFIDLOG_TOWN", + "base_label": "gPacifidlogTown", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SHARPEDO" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_EVER_GRANDE_CITY", + "base_label": "gEverGrandeCity", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_LUVDISC" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_LUVDISC" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_CORSOLA" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_PETALBURG_CITY", + "base_label": "gPetalburgCity", + "water_mons": { + "encounter_rate": 1, + "mons": [ + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_MARILL" + }, + { + "min_level": 10, + "max_level": 20, + "species": "SPECIES_MARILL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_MARILL" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MARILL" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MARILL" + } + ] + }, + "fishing_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_CORPHISH" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_CORPHISH" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_CORPHISH" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_CORPHISH" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_CORPHISH" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_CORPHISH" + } + ] + } + }, + { + "map": "MAP_UNDERWATER1", + "base_label": "gUnderwater1", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_CLAMPERL" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_CHINCHOU" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_CLAMPERL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_RELICANTH" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_RELICANTH" + } + ] + } + }, + { + "map": "MAP_SHOAL_CAVE_LOW_TIDE_ICE_ROOM", + "base_label": "gShoalCave_LowTideIceRoom", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SNORUNT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SNORUNT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_SNORUNT" + } + ] + } + }, + { + "map": "MAP_SKY_PILLAR_1F", + "base_label": "gSkyPillar_1F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_CLAYDOL" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_BANETTE" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_BANETTE" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_CLAYDOL" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_CLAYDOL" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_CLAYDOL" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_CLAYDOL" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_CLAYDOL" + } + ] + } + }, + { + "map": "MAP_SOOTOPOLIS_CITY", + "base_label": "gSootopolisCity", + "water_mons": { + "encounter_rate": 1, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + } + ] + }, + "fishing_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 35, + "max_level": 45, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 5, + "max_level": 45, + "species": "SPECIES_GYARADOS" + } + ] + } + }, + { + "map": "MAP_SKY_PILLAR_3F", + "base_label": "gSkyPillar_3F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_CLAYDOL" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_BANETTE" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_BANETTE" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_CLAYDOL" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_CLAYDOL" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_CLAYDOL" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_CLAYDOL" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_CLAYDOL" + } + ] + } + }, + { + "map": "MAP_SKY_PILLAR_5F", + "base_label": "gSkyPillar_5F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_CLAYDOL" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_BANETTE" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_BANETTE" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_CLAYDOL" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_CLAYDOL" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_ALTARIA" + }, + { + "min_level": 39, + "max_level": 39, + "species": "SPECIES_ALTARIA" + }, + { + "min_level": 39, + "max_level": 39, + "species": "SPECIES_ALTARIA" + } + ] + } + }, + { + "map": "MAP_SAFARI_ZONE_SOUTHEAST", + "base_label": "gSafariZone_Southeast", + "land_mons": { + "encounter_rate": 25, + "mons": [ + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_SUNKERN" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_MAREEP" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_SUNKERN" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_MAREEP" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_AIPOM" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_SPINARAK" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_HOOTHOOT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_SNUBBULL" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_STANTLER" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_GLIGAR" + }, + { + "min_level": 39, + "max_level": 39, + "species": "SPECIES_STANTLER" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GLIGAR" + } + ] + }, + "water_mons": { + "encounter_rate": 9, + "mons": [ + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WOOPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_MARILL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_MARILL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_MARILL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_QUAGSIRE" + } + ] + }, + "fishing_mons": { + "encounter_rate": 35, + "mons": [ + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_REMORAID" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_REMORAID" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_REMORAID" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_REMORAID" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_OCTILLERY" + } + ] + } + }, + { + "map": "MAP_SAFARI_ZONE_NORTHEAST", + "base_label": "gSafariZone_Northeast", + "land_mons": { + "encounter_rate": 25, + "mons": [ + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_AIPOM" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_TEDDIURSA" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_AIPOM" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_TEDDIURSA" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_SUNKERN" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_LEDYBA" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_HOOTHOOT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_PINECO" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_HOUNDOUR" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_MILTANK" + }, + { + "min_level": 39, + "max_level": 39, + "species": "SPECIES_HOUNDOUR" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_MILTANK" + } + ] + }, + "rock_smash_mons": { + "encounter_rate": 25, + "mons": [ + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_SHUCKLE" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_SHUCKLE" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SHUCKLE" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SHUCKLE" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_SHUCKLE" + } + ] + } + }, + { + "map": "MAP_MAGMA_HIDEOUT_1F", + "base_label": "gMagmaHideout_1F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_TORKOAL" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_TORKOAL" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GRAVELER" + } + ] + } + }, + { + "map": "MAP_MAGMA_HIDEOUT_2F_1R", + "base_label": "gMagmaHideout_2F_1R", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_TORKOAL" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_TORKOAL" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GRAVELER" + } + ] + } + }, + { + "map": "MAP_MAGMA_HIDEOUT_2F_2R", + "base_label": "gMagmaHideout_2F_2R", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_TORKOAL" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_TORKOAL" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GRAVELER" + } + ] + } + }, + { + "map": "MAP_MAGMA_HIDEOUT_3F_1R", + "base_label": "gMagmaHideout_3F_1R", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_TORKOAL" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_TORKOAL" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GRAVELER" + } + ] + } + }, + { + "map": "MAP_MAGMA_HIDEOUT_3F_2R", + "base_label": "gMagmaHideout_3F_2R", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_TORKOAL" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_TORKOAL" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GRAVELER" + } + ] + } + }, + { + "map": "MAP_MAGMA_HIDEOUT_4F", + "base_label": "gMagmaHideout_4F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_TORKOAL" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_TORKOAL" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GRAVELER" + } + ] + } + }, + { + "map": "MAP_MAGMA_HIDEOUT_3F_3R", + "base_label": "gMagmaHideout_3F_3R", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_TORKOAL" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_TORKOAL" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GRAVELER" + } + ] + } + }, + { + "map": "MAP_MAGMA_HIDEOUT_2F_3R", + "base_label": "gMagmaHideout_2F_3R", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_TORKOAL" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_TORKOAL" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GRAVELER" + } + ] + } + }, + { + "map": "MAP_MIRAGE_TOWER_1F", + "base_label": "gMirageTower_1F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 21, + "max_level": 21, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 21, + "max_level": 21, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_TRAPINCH" + } + ] + } + }, + { + "map": "MAP_MIRAGE_TOWER_2F", + "base_label": "gMirageTower_2F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 21, + "max_level": 21, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 21, + "max_level": 21, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_TRAPINCH" + } + ] + } + }, + { + "map": "MAP_MIRAGE_TOWER_3F", + "base_label": "gMirageTower_3F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 21, + "max_level": 21, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 21, + "max_level": 21, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_TRAPINCH" + } + ] + } + }, + { + "map": "MAP_MIRAGE_TOWER_4F", + "base_label": "gMirageTower_4F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 21, + "max_level": 21, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 21, + "max_level": 21, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_TRAPINCH" + } + ] + } + }, + { + "map": "MAP_DESERT_UNDERPASS", + "base_label": "gDesertUnderpass", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_DITTO" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_WHISMUR" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_DITTO" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_LOUDRED" + }, + { + "min_level": 41, + "max_level": 41, + "species": "SPECIES_DITTO" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_WHISMUR" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_LOUDRED" + }, + { + "min_level": 42, + "max_level": 42, + "species": "SPECIES_DITTO" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_WHISMUR" + }, + { + "min_level": 43, + "max_level": 43, + "species": "SPECIES_DITTO" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_LOUDRED" + }, + { + "min_level": 45, + "max_level": 45, + "species": "SPECIES_DITTO" + } + ] + } + }, + { + "map": "MAP_ARTISAN_CAVE_B1F", + "base_label": "gArtisanCave_B1F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 41, + "max_level": 41, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 42, + "max_level": 42, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 43, + "max_level": 43, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 45, + "max_level": 45, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 46, + "max_level": 46, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 47, + "max_level": 47, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 48, + "max_level": 48, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 49, + "max_level": 49, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 50, + "max_level": 50, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 50, + "max_level": 50, + "species": "SPECIES_SMEARGLE" + } + ] + } + }, + { + "map": "MAP_ARTISAN_CAVE_1F", + "base_label": "gArtisanCave_1F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 41, + "max_level": 41, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 42, + "max_level": 42, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 43, + "max_level": 43, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 45, + "max_level": 45, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 46, + "max_level": 46, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 47, + "max_level": 47, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 48, + "max_level": 48, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 49, + "max_level": 49, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 50, + "max_level": 50, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 50, + "max_level": 50, + "species": "SPECIES_SMEARGLE" + } + ] + } + }, + { + "map": "MAP_ALTERING_CAVE", + "base_label": "gAlteringCave1", + "land_mons": { + "encounter_rate": 7, + "mons": [ + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_ZUBAT" + } + ] + } + }, + { + "map": "MAP_ALTERING_CAVE", + "base_label": "gAlteringCave2", + "land_mons": { + "encounter_rate": 7, + "mons": [ + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_MAREEP" + }, + { + "min_level": 9, + "max_level": 9, + "species": "SPECIES_MAREEP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAREEP" + }, + { + "min_level": 11, + "max_level": 11, + "species": "SPECIES_MAREEP" + }, + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_MAREEP" + }, + { + "min_level": 9, + "max_level": 9, + "species": "SPECIES_MAREEP" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_MAREEP" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_MAREEP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAREEP" + }, + { + "min_level": 11, + "max_level": 11, + "species": "SPECIES_MAREEP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAREEP" + }, + { + "min_level": 11, + "max_level": 11, + "species": "SPECIES_MAREEP" + } + ] + } + }, + { + "map": "MAP_ALTERING_CAVE", + "base_label": "gAlteringCave3", + "land_mons": { + "encounter_rate": 7, + "mons": [ + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_PINECO" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_PINECO" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_PINECO" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_PINECO" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_PINECO" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_PINECO" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_PINECO" + }, + { + "min_level": 19, + "max_level": 19, + "species": "SPECIES_PINECO" + }, + { + "min_level": 21, + "max_level": 21, + "species": "SPECIES_PINECO" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_PINECO" + }, + { + "min_level": 21, + "max_level": 21, + "species": "SPECIES_PINECO" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_PINECO" + } + ] + } + }, + { + "map": "MAP_ALTERING_CAVE", + "base_label": "gAlteringCave4", + "land_mons": { + "encounter_rate": 7, + "mons": [ + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_HOUNDOUR" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_HOUNDOUR" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_HOUNDOUR" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_HOUNDOUR" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_HOUNDOUR" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_HOUNDOUR" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_HOUNDOUR" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_HOUNDOUR" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_HOUNDOUR" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_HOUNDOUR" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_HOUNDOUR" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_HOUNDOUR" + } + ] + } + }, + { + "map": "MAP_ALTERING_CAVE", + "base_label": "gAlteringCave5", + "land_mons": { + "encounter_rate": 7, + "mons": [ + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_TEDDIURSA" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_TEDDIURSA" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_TEDDIURSA" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_TEDDIURSA" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_TEDDIURSA" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_TEDDIURSA" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_TEDDIURSA" + }, + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_TEDDIURSA" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_TEDDIURSA" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_TEDDIURSA" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_TEDDIURSA" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_TEDDIURSA" + } + ] + } + }, + { + "map": "MAP_ALTERING_CAVE", + "base_label": "gAlteringCave6", + "land_mons": { + "encounter_rate": 7, + "mons": [ + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_AIPOM" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_AIPOM" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_AIPOM" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_AIPOM" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_AIPOM" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_AIPOM" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_AIPOM" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_AIPOM" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_AIPOM" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_AIPOM" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_AIPOM" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_AIPOM" + } + ] + } + }, + { + "map": "MAP_ALTERING_CAVE", + "base_label": "gAlteringCave7", + "land_mons": { + "encounter_rate": 7, + "mons": [ + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SHUCKLE" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SHUCKLE" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_SHUCKLE" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SHUCKLE" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SHUCKLE" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SHUCKLE" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SHUCKLE" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_SHUCKLE" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_SHUCKLE" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SHUCKLE" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_SHUCKLE" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SHUCKLE" + } + ] + } + }, + { + "map": "MAP_ALTERING_CAVE", + "base_label": "gAlteringCave8", + "land_mons": { + "encounter_rate": 7, + "mons": [ + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_STANTLER" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_STANTLER" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_STANTLER" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_STANTLER" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_STANTLER" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_STANTLER" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_STANTLER" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_STANTLER" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_STANTLER" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_STANTLER" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_STANTLER" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_STANTLER" + } + ] + } + }, + { + "map": "MAP_ALTERING_CAVE", + "base_label": "gAlteringCave9", + "land_mons": { + "encounter_rate": 7, + "mons": [ + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SMEARGLE" + } + ] + } + }, + { + "map": "MAP_METEOR_FALLS_STEVENS_CAVE", + "base_label": "gMeteorFalls_StevensCave", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 39, + "max_level": 39, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GOLBAT" + } + ] + } + } + ] + }, + { + "label": "gBattlePyramidWildMonHeaders", + "for_maps": false, + "encounters": [ + { + "base_label": "gBattlePyramid_1", + "land_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_BULBASAUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_BULBASAUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_BULBASAUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_BULBASAUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_IVYSAUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_IVYSAUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_VENUSAUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_VENUSAUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_VENUSAUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMANDER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_VENUSAUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMANDER" + } + ] + } + }, + { + "base_label": "gBattlePyramid_2", + "land_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_IVYSAUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_IVYSAUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_IVYSAUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_IVYSAUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_VENUSAUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_VENUSAUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMANDER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMANDER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMANDER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMELEON" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMELEON" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMANDER" + } + ] + } + }, + { + "base_label": "gBattlePyramid_3", + "land_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_VENUSAUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_VENUSAUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_VENUSAUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_VENUSAUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMANDER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMANDER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMELEON" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMELEON" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMELEON" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARIZARD" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMELEON" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARIZARD" + } + ] + } + }, + { + "base_label": "gBattlePyramid_4", + "land_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMANDER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMANDER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMANDER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMANDER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMELEON" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMELEON" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARIZARD" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARIZARD" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARIZARD" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SQUIRTLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARIZARD" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SQUIRTLE" + } + ] + } + }, + { + "base_label": "gBattlePyramid_5", + "land_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMELEON" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMELEON" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMELEON" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMELEON" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARIZARD" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARIZARD" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SQUIRTLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SQUIRTLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SQUIRTLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WARTORTLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SQUIRTLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WARTORTLE" + } + ] + } + }, + { + "base_label": "gBattlePyramid_6", + "land_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARIZARD" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARIZARD" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARIZARD" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMELEON" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SQUIRTLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SQUIRTLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WARTORTLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WARTORTLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WARTORTLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WARTORTLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WARTORTLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WARTORTLE" + } + ] + } + }, + { + "base_label": "gBattlePyramid_7", + "land_mons": { + "encounter_rate": 8, + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WARTORTLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WARTORTLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SQUIRTLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SQUIRTLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SQUIRTLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARIZARD" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARIZARD" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARIZARD" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMELEON" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMELEON" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMELEON" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMELEON" + } + ] + } + } + ] + }, + { + "label": "gBattlePikeWildMonHeaders", + "for_maps": false, + "encounters": [ + { + "base_label": "gBattlePike_1", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SEVIPER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MILOTIC" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_DUSCLOPS" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_DUSCLOPS" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_DUSCLOPS" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_DUSCLOPS" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SEVIPER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MILOTIC" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_DUSCLOPS" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_DUSCLOPS" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SEVIPER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MILOTIC" + } + ] + } + }, + { + "base_label": "gBattlePike_2", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SEVIPER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MILOTIC" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_ELECTRODE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_ELECTRODE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_ELECTRODE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_ELECTRODE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SEVIPER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MILOTIC" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_ELECTRODE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_ELECTRODE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SEVIPER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MILOTIC" + } + ] + } + }, + { + "base_label": "gBattlePike_3", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SEVIPER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MILOTIC" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_BRELOOM" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_BRELOOM" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_BRELOOM" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_BRELOOM" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SEVIPER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MILOTIC" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_BRELOOM" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_BRELOOM" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SEVIPER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MILOTIC" + } + ] + } + }, + { + "base_label": "gBattlePike_4", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SEVIPER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MILOTIC" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WOBBUFFET" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WOBBUFFET" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WOBBUFFET" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WOBBUFFET" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SEVIPER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MILOTIC" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WOBBUFFET" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WOBBUFFET" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SEVIPER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MILOTIC" + } + ] + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/data/wild_encounters.json.txt b/src/data/wild_encounters.json.txt new file mode 100755 index 0000000000..8f88cc587f --- /dev/null +++ b/src/data/wild_encounters.json.txt @@ -0,0 +1,67 @@ +{{ doNotModifyHeader }} +## for wild_encounter_group in wild_encounter_groups +## for encounter in wild_encounter_group.encounters +{% if existsIn(encounter, "land_mons") %} +const struct WildPokemon {{ encounter.base_label }}_LandMons[] = +{ +## for wild_mon in encounter.land_mons.mons + { {{ wild_mon.min_level }}, {{ wild_mon.max_level }}, {{ wild_mon.species }} }, +## endfor +}; + +const struct WildPokemonInfo {{ encounter.base_label }}_LandMonsInfo = { {{encounter.land_mons.encounter_rate}}, {{ encounter.base_label }}_LandMons }; +{% endif %} +{% if existsIn(encounter, "water_mons") %} +const struct WildPokemon {{ encounter.base_label }}_WaterMons[] = +{ +## for wild_mon in encounter.water_mons.mons + { {{ wild_mon.min_level }}, {{ wild_mon.max_level }}, {{ wild_mon.species }} }, +## endfor +}; + +const struct WildPokemonInfo {{ encounter.base_label }}_WaterMonsInfo = { {{encounter.water_mons.encounter_rate}}, {{ encounter.base_label }}_WaterMons }; +{% endif %} +{% if existsIn(encounter, "rock_smash_mons") %} +const struct WildPokemon {{ encounter.base_label }}_RockSmashMons[] = +{ +## for wild_mon in encounter.rock_smash_mons.mons + { {{ wild_mon.min_level }}, {{ wild_mon.max_level }}, {{ wild_mon.species }} }, +## endfor +}; + +const struct WildPokemonInfo {{ encounter.base_label }}_RockSmashMonsInfo = { {{encounter.rock_smash_mons.encounter_rate}}, {{ encounter.base_label }}_RockSmashMons }; +{% endif %} +{% if existsIn(encounter, "fishing_mons") %} +const struct WildPokemon {{ encounter.base_label }}_FishingMons[] = +{ +## for wild_mon in encounter.fishing_mons.mons + { {{ wild_mon.min_level }}, {{ wild_mon.max_level }}, {{ wild_mon.species }} }, +## endfor +}; + +const struct WildPokemonInfo {{ encounter.base_label }}_FishingMonsInfo = { {{encounter.fishing_mons.encounter_rate}}, {{ encounter.base_label }}_FishingMons }; +{% endif %} +## endfor + +const struct WildPokemonHeader {{ wild_encounter_group.label }}[] = +{ +## for encounter in wild_encounter_group.encounters + { + .mapGroup = {% if wild_encounter_group.for_maps %}MAP_GROUP({{ removePrefix(encounter.map, "MAP_") }}){% else %}0{% endif %}, + .mapNum = {% if wild_encounter_group.for_maps %}MAP_NUM({{ removePrefix(encounter.map, "MAP_") }}){% else %}{{ loop.index1 }}{% endif %}, + .landMonsInfo = {% if existsIn(encounter, "land_mons") %}&{{ encounter.base_label }}_LandMonsInfo{% else %}NULL{% endif %}, + .waterMonsInfo = {% if existsIn(encounter, "water_mons") %}&{{ encounter.base_label }}_WaterMonsInfo{% else %}NULL{% endif %}, + .rockSmashMonsInfo = {% if existsIn(encounter, "rock_smash_mons") %}&{{ encounter.base_label }}_RockSmashMonsInfo{% else %}NULL{% endif %}, + .fishingMonsInfo = {% if existsIn(encounter, "fishing_mons") %}&{{ encounter.base_label }}_FishingMonsInfo{% else %}NULL{% endif %}, + }, +## endfor + { + .mapGroup = MAP_GROUP(UNDEFINED), + .mapNum = MAP_NUM(UNDEFINED), + .landMonsInfo = NULL, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, +}; +## endfor diff --git a/src/decompress.c b/src/decompress.c index 949b969901..46e4ef6149 100644 --- a/src/decompress.c +++ b/src/decompress.c @@ -1,15 +1,13 @@ #include "global.h" -#include "decompress.h" -#include "constants/species.h" -#include "text.h" #include "alloc.h" +#include "data.h" +#include "decompress.h" #include "pokemon.h" +#include "text.h" +#include "constants/species.h" EWRAM_DATA ALIGNED(4) u8 gDecompressionBuffer[0x4000] = {0}; -extern const struct CompressedSpriteSheet gMonFrontPicTable[]; -extern const struct CompressedSpriteSheet gMonBackPicTable[]; - static void DuplicateDeoxysTiles(void *pointer, s32 species); void LZDecompressWram(const u32 *src, void *dest) diff --git a/src/decoration.c b/src/decoration.c index 4baa6d4c8e..0f6dd082bb 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -1,84 +1,83 @@ #include "global.h" -#include "constants/decorations.h" -#include "decompress.h" #include "alloc.h" -#include "text.h" -#include "string_util.h" -#include "international_string_util.h" -#include "script.h" -#include "task.h" -#include "main.h" -#include "palette.h" -#include "constants/songs.h" -#include "overworld.h" -#include "fieldmap.h" -#include "metatile_behavior.h" -#include "field_weather.h" -#include "field_player_avatar.h" -#include "field_camera.h" -#include "field_screen_effect.h" -#include "event_object_movement.h" -#include "list_menu.h" -#include "menu_helpers.h" -#include "menu.h" -#include "sound.h" -#include "event_scripts.h" -#include "event_data.h" -#include "constants/region_map_sections.h" -#include "player_pc.h" -#include "strings.h" -#include "tv.h" -#include "secret_base.h" -#include "tilesets.h" -#include "item_icon.h" -#include "trader.h" -#include "constants/event_objects.h" -#include "decoration_inventory.h" +#include "decompress.h" #include "decoration.h" +#include "decoration_inventory.h" +#include "event_data.h" +#include "event_object_movement.h" +#include "event_scripts.h" +#include "field_camera.h" +#include "field_player_avatar.h" +#include "field_screen_effect.h" +#include "field_weather.h" +#include "fieldmap.h" #include "graphics.h" +#include "international_string_util.h" +#include "item_icon.h" +#include "list_menu.h" +#include "main.h" +#include "menu.h" +#include "menu_helpers.h" +#include "metatile_behavior.h" +#include "overworld.h" +#include "palette.h" +#include "player_pc.h" +#include "script.h" +#include "secret_base.h" +#include "sound.h" +#include "string_util.h" +#include "strings.h" +#include "task.h" +#include "text.h" +#include "tilesets.h" +#include "trader.h" +#include "tv.h" +#include "constants/decorations.h" +#include "constants/event_objects.h" +#include "constants/songs.h" +#include "constants/region_map_sections.h" -// Static type declarations +#define PLACE_DECORATION_SELECTOR_TAG 0xbe5 +#define PLACE_DECORATION_PLAYER_TAG 0x008 -#define OVERWORLD_PLACE_DECOR_SELECTOR_PAL_TAG 0xbe5 -#define OVERWORLD_PLACE_DECOR_PLAYER_PAL_TAG 0x008 - -struct DecorPCBuffer { +struct DecorationItemsMenu +{ struct ListMenuItem items[41]; u8 names[41][24]; - u8 unk_520; - u8 unk_521; - u8 unk_522; + u8 numMenuItems; + u8 maxShownItems; + u8 scrollIndicatorsTaskId; }; -struct PlaceDecorationGraphicsDataBuffer { - /*0x000; 0x0203a190*/ const struct Decoration *decoration; - /*0x004; 0x0203a194*/ u16 tiles[0x40]; - /*0x084; 0x0203a214*/ u8 image[0x800]; - /*0x884; 0x0203aa14*/ u16 palette[16]; +struct PlaceDecorationGraphicsDataBuffer +{ + const struct Decoration *decoration; + u16 tiles[0x40]; + u8 image[0x800]; + u16 palette[16]; }; -struct DecorRearrangementDataBuffer { +struct DecorRearrangementDataBuffer +{ u8 idx; u8 width; u8 height; u16 flagId; }; -// Static RAM declarations - -EWRAM_DATA u8 *gCurDecorInventoryItems = NULL; -EWRAM_DATA static u8 sSecretBasePCMenuCursorPos = 0; -EWRAM_DATA static u8 sCurDecorCatCount = 0; +EWRAM_DATA u8 *gCurDecorationItems = NULL; +EWRAM_DATA static u8 sDecorationActionsCursorPos = 0; +EWRAM_DATA static u8 sNumOwnedDecorationsInCurCategory = 0; EWRAM_DATA static u8 sSecretBaseItemsIndicesBuffer[16] = {}; EWRAM_DATA static u8 sPlayerRoomItemsIndicesBuffer[12] = {}; -EWRAM_DATA static u16 sSecretBasePCSelectDecorLineNo = 0; -EWRAM_DATA static u16 sSecretBasePCSelectDecorPageNo = 0; +EWRAM_DATA static u16 sDecorationsCursorPos = 0; +EWRAM_DATA static u16 sDecorationsScrollOffset = 0; EWRAM_DATA u8 gCurDecorationIndex = 0; EWRAM_DATA static u8 sCurDecorationCategory = DECORCAT_DESK; EWRAM_DATA static u32 filler_0203a174[2] = {}; -EWRAM_DATA struct DecorPCPointers gUnknown_0203A17C = {}; -EWRAM_DATA static u8 sDecorMenuWindowIndices[4] = {}; -EWRAM_DATA struct DecorPCBuffer *sDecorPCBuffer = NULL; +EWRAM_DATA struct DecorationPCContext gDecorationContext = {}; +EWRAM_DATA static u8 sDecorMenuWindowIds[4] = {}; +EWRAM_DATA static struct DecorationItemsMenu *sDecorationItemsMenu = NULL; EWRAM_DATA struct PlaceDecorationGraphicsDataBuffer sPlaceDecorationGraphicsDataBuffer = {}; EWRAM_DATA static u16 sCurDecorMapX = 0; EWRAM_DATA static u16 sCurDecorMapY = 0; @@ -89,38 +88,36 @@ EWRAM_DATA static struct OamData sDecorSelectorOam = {}; EWRAM_DATA static struct DecorRearrangementDataBuffer sDecorRearrangementDataBuffer[16] = {}; EWRAM_DATA static u8 sCurDecorSelectedInRearrangement = 0; -// Static ROM declarations - -void sub_8126B80(u8 taskId); -void sub_8126C08(void); -void SecretBasePC_Decorate(u8 taskId); -void SecretBasePC_PutAway(u8 taskId); -void SecretBasePC_Toss(u8 taskId); -void sub_8126DA4(u8 taskId); -void SecretBasePC_Cancel(u8 taskId); -void SecretBasePC_PrepMenuForSelectingStoredDecors(u8 taskId); -void sub_8126DFC(u8 taskId); -void sub_8126E8C(u8 taskId); -void sub_8126F68(u8 winid, u8 decorCat, u8 x, u8 y, bool8 flag, u8 speed); -void sub_8127058(u8 *str, bool8 flag); -void sub_8127088(u8 taskId); -void sub_81270E8(u8 taskId); -void sub_8127180(u8 taskId); -void sub_812719C(u8 taskId); -void sub_81271CC(u8 taskId); -void sub_8127268(u8 taskId); -void sub_8127454(u8 *dest, u16 decorId); -void sub_8127480(s32 a0, bool8 flag, struct ListMenu *menu); +static void HandleDecorationActionsMenuInput(u8 taskId); +static void PrintCurMainMenuDescription(void); +static void DecorationMenuAction_Decorate(u8 taskId); +static void DecorationMenuAction_PutAway(u8 taskId); +static void DecorationMenuAction_Toss(u8 taskId); +static void DecorationMenuAction_Cancel(u8 taskId); +static void ReturnToDecorationActionsAfterInvalidSelection(u8 taskId); +static void SecretBasePC_PrepMenuForSelectingStoredDecors(u8 taskId); +static void InitDecorationCategoriesWindow(u8 taskId); +static void PrintDecorationCategoryMenuItems(u8 taskId); +static void PrintDecorationCategoryMenuItem(u8 winid, u8 category, u8 x, u8 y, bool8 disabled, u8 speed); +static void ColorMenuItemString(u8 *str, bool8 disabled); +static void HandleDecorationCategoriesMenuInput(u8 taskId); +static void SelectDecorationCategory(u8 taskId); +static void ReturnToDecorationCategoriesAfterInvalidSelection(u8 taskId); +static void ExitDecorationCategoriesMenu(u8 taskId); +static void ReturnToActionsMenuFromCategories(u8 taskId); +static void ExitTraderDecorationMenu(u8 taskId); +static void CopyDecorationMenuItemName(u8 *dest, u16 decoration); +static void DecorationItemsMenu_OnCursorMove(s32 itemIndex, bool8 flag, struct ListMenu *menu); void sub_81274A0(u8 a0, s32 a1, u8 a2); -void sub_8127620(u8 taskId); -void sub_812764C(u8 taskId); -void sub_8127744(u32 a0); -void sub_81277A8(void); +static void ShowDecorationItemsWindow(u8 taskId); +static void HandleDecorationItemsMenuInput(u8 taskId); +static void PrintDecorationItemDescription(u32 itemIndex); +static void RemoveDecorationItemsOtherWindows(void); bool8 sub_81277BC(u8 idx); bool8 sub_81277E8(u8 idx); -void IdentifyOwnedDecorationsCurrentlyInUse(u8 taskId); -void sub_812759C(u8 taskId); -void sub_8127718(u8 decorCat); +static void IdentifyOwnedDecorationsCurrentlyInUse(u8 taskId); +static void InitDecorationItemsWindow(u8 taskId); +static void ShowDecorationCategorySummaryWindow(u8 category); void sub_8127A30(u8 taskId); void sub_8127A8C(u8 taskId); void sub_8127F68(u8 taskId); @@ -168,13 +165,12 @@ void sub_812A3D4(u8 taskId); void sub_812A458(u8 taskId); void sub_812A478(u8 taskId); -// .rodata - #include "data/decoration/tiles.h" #include "data/decoration/description.h" #include "data/decoration/header.h" -const u8 *const sDecorCatNames[] = { +static const u8 *const sDecorationCategoryNames[] = +{ gText_Desk, gText_Chair, gText_Plant, @@ -185,36 +181,42 @@ const u8 *const sDecorCatNames[] = { gText_Cushion }; -const struct MenuAction sSecretBasePCMenuActions[] = { +static const struct MenuAction sDecorationMainMenuActions[] = +{ { - gText_Decorate, {.void_u8=SecretBasePC_Decorate} - }, { - gText_PutAway, {.void_u8=SecretBasePC_PutAway} - }, { - gText_Toss2, {.void_u8=SecretBasePC_Toss} - }, { - gText_Cancel, {.void_u8=SecretBasePC_Cancel} - } + .text = gText_Decorate, + .func = { .void_u8 = DecorationMenuAction_Decorate }, + }, + { + .text = gText_PutAway, + .func = { .void_u8 = DecorationMenuAction_PutAway }, + }, + { + .text = gText_Toss2, + .func = { .void_u8 = DecorationMenuAction_Toss }, + }, + { + .text = gText_Cancel, + .func = { .void_u8 = DecorationMenuAction_Cancel }, + }, }; -const u8 *const sSecretBasePCMenuItemDescriptions[] = { +static const u8 *const sSecretBasePCMenuItemDescriptions[] = +{ gText_PutOutSelectedDecorItem, gText_StoreChosenDecorInPC, gText_ThrowAwayUnwantedDecors, gText_GoBackPrevMenu }; -void (*const SecretBasePC_SelectedDecorActions[][2])(u8 taskId) = { - { - sub_8127F68, sub_8127A8C - }, { - sub_812A3D4, sub_8127A8C - }, { - sub_8133DA0, sub_8127A8C - } +static const TaskFunc sSecretBasePC_SelectedDecorationActions[][2] = +{ + { sub_8127F68, sub_8127A8C }, + { sub_812A3D4, sub_8127A8C }, + { sub_8133DA0, sub_8127A8C }, }; -const struct WindowTemplate gUnknown_085A6B90[4] = +static const struct WindowTemplate sDecorationWindowTemplates[4] = { { .bg = 0, @@ -254,12 +256,12 @@ const struct WindowTemplate gUnknown_085A6B90[4] = } }; -const u16 gUnknown_085A6BB0[] = INCBIN_U16("graphics/decorations/unk_85a6bb0.gbapal"); +static const u16 sDecorationMenuPalette[] = INCBIN_U16("graphics/decorations/decoration_menu.gbapal"); -const struct ListMenuTemplate gUnknown_085A6BD0 = +static const struct ListMenuTemplate sDecorationItemsListMenuTemplate = { .items = NULL, - .moveCursorFunc = sub_8127480, + .moveCursorFunc = DecorationItemsMenu_OnCursorMove, .itemPrintFunc = sub_81274A0, .totalItems = 0, .maxShowed = 0, @@ -280,118 +282,140 @@ const struct ListMenuTemplate gUnknown_085A6BD0 = #include "data/decoration/icon.h" #include "data/decoration/tilemaps.h" -const struct { +static const struct { u8 shape; u8 size; - u8 x; - u8 y; -} gUnknown_085A7250[] = { - {0, 1, 0x78, 0x4e}, - {1, 2, 0x80, 0x4e}, - {1, 3, 0x90, 0x56}, - {1, 3, 0x90, 0x46}, - {0, 2, 0x80, 0x46}, - {2, 2, 0x78, 0x46}, - {2, 3, 0x80, 0x56}, - {2, 3, 0x80, 0x36}, - {0, 3, 0x90, 0x46}, - {1, 3, 0x90, 0x46} + u8 cameraX; + u8 cameraY; +} sDecorationMovementInfo[] = +{ + [DECORSHAPE_1x1] = {SPRITE_SHAPE(16x16), SPRITE_SIZE(16x16), 120, 78}, + [DECORSHAPE_2x1] = {SPRITE_SHAPE(32x16), SPRITE_SIZE(32x16), 128, 78}, + [DECORSHAPE_3x1] = {SPRITE_SHAPE(64x32), SPRITE_SIZE(64x32), 144, 86}, + [DECORSHAPE_4x2] = {SPRITE_SHAPE(64x32), SPRITE_SIZE(64x32), 144, 70}, + [DECORSHAPE_2x2] = {SPRITE_SHAPE(32x32), SPRITE_SIZE(32x32), 128, 70}, + [DECORSHAPE_1x2] = {SPRITE_SHAPE(16x32), SPRITE_SIZE(16x32), 120, 70}, + [DECORSHAPE_1x3] = {SPRITE_SHAPE(32x64), SPRITE_SIZE(32x64), 128, 86}, + [DECORSHAPE_2x4] = {SPRITE_SHAPE(32x64), SPRITE_SIZE(32x64), 128, 54}, + [DECORSHAPE_3x3] = {SPRITE_SHAPE(64x64), SPRITE_SIZE(64x64), 144, 70}, + [DECORSHAPE_3x2] = {SPRITE_SHAPE(64x32), SPRITE_SIZE(64x32), 144, 70}, }; -const union AnimCmd gUnknown_085A7278[] = { +static const union AnimCmd sDecorSelectorAnimCmd0[] = +{ ANIMCMD_FRAME(0, 0, FALSE, FALSE), ANIMCMD_END }; -const union AnimCmd *const sDecorSelectorAnims[] = { - gUnknown_085A7278 +static const union AnimCmd *const sDecorSelectorAnimCmds[] = { sDecorSelectorAnimCmd0 }; + +static const struct SpriteFrameImage sDecorSelectorSpriteFrameImages = +{ + .data = (const u8 *)&sPlaceDecorationGraphicsDataBuffer.image, + .size = 0x800, }; -const struct SpriteFrameImage sDecorSelectorSpriteFrameImages = { - (const u8 *)&sPlaceDecorationGraphicsDataBuffer.image, 0x800 -}; - -const struct SpriteTemplate sDecorSelectorSpriteTemplate = { +static const struct SpriteTemplate sDecorationSelectorSpriteTemplate = +{ 0xFFFF, - OVERWORLD_PLACE_DECOR_SELECTOR_PAL_TAG, + PLACE_DECORATION_SELECTOR_TAG, &sDecorSelectorOam, - sDecorSelectorAnims, + sDecorSelectorAnimCmds, &sDecorSelectorSpriteFrameImages, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -const struct SpriteTemplate sDecorWhilePlacingSpriteTemplate = { +const struct SpriteTemplate sDecorWhilePlacingSpriteTemplate = +{ 0x0000, 0x0000, &sDecorSelectorOam, - sDecorSelectorAnims, + sDecorSelectorAnimCmds, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -const struct SpritePalette gUnknown_085A72BC = { - (const u16 *)&sPlaceDecorationGraphicsDataBuffer.palette, OVERWORLD_PLACE_DECOR_SELECTOR_PAL_TAG +const struct SpritePalette gUnknown_085A72BC = +{ + .data = (const u16 *)&sPlaceDecorationGraphicsDataBuffer.palette, + .tag = PLACE_DECORATION_SELECTOR_TAG, }; -const struct YesNoFuncTable gUnknown_085A72C4 = { - sub_81289F0, - sub_8128FD8 +const struct YesNoFuncTable gUnknown_085A72C4 = +{ + .yesFunc = sub_81289F0, + .noFunc = sub_8128FD8, }; -const struct YesNoFuncTable gUnknown_085A72CC = { - sub_8128BA0, - sub_8128FD8 +const struct YesNoFuncTable gUnknown_085A72CC = +{ + .yesFunc = sub_8128BA0, + .noFunc = sub_8128FD8, }; -const struct YesNoFuncTable gUnknown_085A72D4[] = { +const struct YesNoFuncTable gUnknown_085A72D4[] = +{ { - sub_81283BC, - sub_8128414 - }, { - sub_8129BCC, - sub_8129BF8 + .yesFunc = sub_81283BC, + .noFunc = sub_8128414, + }, + { + .yesFunc = sub_8129BCC, + .noFunc = sub_8129BF8, } }; -const u8 gUnknown_085A72E4[] = { - 0x04, 0x04, 0x04, 0x04, 0x00, 0x03, 0x03, 0x00 +static const u8 sDecorationStandElevations[] = +{ + 4, 4, 4, 4, + 0, 3, 3, 0 }; -const u8 gUnknown_085A72EC[] = { - 0x04, 0x04, 0x04, 0x04, 0x00, 0x04, 0x03, 0x00 +static const u8 sDecorationSlideElevation[] = +{ + 4, 4, + 4, 4, + 0, 4, + 3, 0, }; const u16 gUnknown_085A72F4[] = { 0x04, 0x08, 0x10, 0x20, 0x10, 0x08, 0x10, 0x20, 0x40, 0x20 }; -const u16 Unknown_085A7308[] = INCBIN_U16("graphics/decorations/unk_85a7308.gbapal"); +const u16 gUnknown_085A7308[] = INCBIN_U16("graphics/decorations/unk_85a7308.gbapal"); -const u16 Unknown_085A7328[] = INCBIN_U16("graphics/decorations/unk_85a7328.gbapal"); +const u16 gUnknown_085A7328[] = INCBIN_U16("graphics/decorations/unk_85a7328.gbapal"); -const struct YesNoFuncTable gUnknown_085A7348 = { - sub_812A1C0, - sub_8129B34 +const struct YesNoFuncTable gUnknown_085A7348 = +{ + .yesFunc = sub_812A1C0, + .noFunc = sub_8129B34, }; -const struct YesNoFuncTable gUnknown_085A7350 = { - sub_812A210, - sub_8129B34 +const struct YesNoFuncTable gUnknown_085A7350 = +{ + .yesFunc = sub_812A210, + .noFunc = sub_8129B34, }; -const u8 Unknown_085A7358[] = INCBIN_U8("graphics/misc/decoration_unk_85a7358.4bpp"); +const u8 gUnknown_085A7358[] = INCBIN_U8("graphics/misc/decoration_unk_85a7358.4bpp"); -const struct SpritePalette gUnknown_085A73D8 = { - Unknown_085A7308, OVERWORLD_PLACE_DECOR_PLAYER_PAL_TAG +const struct SpritePalette gUnknown_085A73D8 = +{ + .data = gUnknown_085A7308, + .tag = PLACE_DECORATION_PLAYER_TAG, }; -const struct SpritePalette gUnknown_085A73E0 = { - Unknown_085A7328, OVERWORLD_PLACE_DECOR_PLAYER_PAL_TAG +const struct SpritePalette gUnknown_085A73E0 = +{ + .data = gUnknown_085A7328, + .tag = PLACE_DECORATION_PLAYER_TAG, }; -const struct OamData Unknown_085A73E8 = +const struct OamData gUnknown_085A73E8 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -405,164 +429,163 @@ const struct OamData Unknown_085A73E8 = .paletteNum = 0, }; -const union AnimCmd Unknown_085A73F0[] = { +const union AnimCmd gUnknown_085A73F0[] = +{ ANIMCMD_FRAME(0, 0, 0), ANIMCMD_END }; -const union AnimCmd *const Unknown_085A73F8[] = { - Unknown_085A73F0 +const union AnimCmd *const gUnknown_085A73F8[] = +{ + gUnknown_085A73F0, }; -const struct SpriteFrameImage Unknown_085A73FC = { - Unknown_085A7358, 0x80 +const struct SpriteFrameImage gUnknown_085A73FC = +{ + .data = gUnknown_085A7358, + .size = 0x80, }; -const struct SpriteTemplate gUnknown_085A7404 = { +const struct SpriteTemplate gUnknown_085A7404 = +{ 0xFFFF, - OVERWORLD_PLACE_DECOR_PLAYER_PAL_TAG, - &Unknown_085A73E8, - Unknown_085A73F8, - &Unknown_085A73FC, + PLACE_DECORATION_PLAYER_TAG, + &gUnknown_085A73E8, + gUnknown_085A73F8, + &gUnknown_085A73FC, gDummySpriteAffineAnimTable, sub_812A36C }; -const struct YesNoFuncTable gUnknown_085A741C = { - sub_812A478, - sub_8127A30 +const struct YesNoFuncTable gUnknown_085A741C = +{ + .yesFunc = sub_812A478, + .noFunc = sub_8127A30, }; -// .text -void sub_8126968(void) +void InitDecorationContextItems(void) { - if (sCurDecorationCategory < 8) + if (sCurDecorationCategory < DECORCAT_COUNT) + gCurDecorationItems = gDecorationInventories[sCurDecorationCategory].items; + + if (gDecorationContext.isPlayerRoom == FALSE) { - gCurDecorInventoryItems = gDecorationInventories[sCurDecorationCategory].items; + gDecorationContext.items = gSaveBlock1Ptr->secretBases[0].decorations; + gDecorationContext.pos = gSaveBlock1Ptr->secretBases[0].decorationPositions; } - if (gUnknown_0203A17C.isPlayerRoom == FALSE) + + if (gDecorationContext.isPlayerRoom == TRUE) { - gUnknown_0203A17C.items = gSaveBlock1Ptr->secretBases[0].decorations; - gUnknown_0203A17C.pos = gSaveBlock1Ptr->secretBases[0].decorationPos; - } - if (gUnknown_0203A17C.isPlayerRoom == TRUE) - { - gUnknown_0203A17C.items = gSaveBlock1Ptr->playerRoomDecor; - gUnknown_0203A17C.pos = gSaveBlock1Ptr->playerRoomDecorPos; + gDecorationContext.items = gSaveBlock1Ptr->playerRoomDecor; + gDecorationContext.pos = gSaveBlock1Ptr->playerRoomDecorPos; } } -u8 sub_81269D4(u8 idx) +static u8 AddDecorationWindow(u8 windowIndex) { - u8 *winidx; + u8 *windowId; struct WindowTemplate template; - winidx = &sDecorMenuWindowIndices[idx]; - if (idx == 0) + windowId = &sDecorMenuWindowIds[windowIndex]; + if (windowIndex == 0) { - template = gUnknown_085A6B90[0]; - template.width = GetMaxWidthInMenuTable(sSecretBasePCMenuActions, 4); + template = sDecorationWindowTemplates[0]; + template.width = GetMaxWidthInMenuTable(sDecorationMainMenuActions, ARRAY_COUNT(sDecorationMainMenuActions)); if (template.width > 18) - { template.width = 18; - } - *winidx = AddWindow(&template); + + *windowId = AddWindow(&template); } else { - *winidx = AddWindow(&gUnknown_085A6B90[idx]); + *windowId = AddWindow(&sDecorationWindowTemplates[windowIndex]); } - DrawStdFrameWithCustomTileAndPalette(*winidx, 0, 0x214, 0xe); + + DrawStdFrameWithCustomTileAndPalette(*windowId, FALSE, 0x214, 14); schedule_bg_copy_tilemap_to_vram(0); - return *winidx; + return *windowId; } -void sub_8126A58(u8 idx) +static void RemoveDecorationWindow(u8 windowIndex) { - ClearStdWindowAndFrameToTransparent(sDecorMenuWindowIndices[idx], FALSE); - ClearWindowTilemap(sDecorMenuWindowIndices[idx]); - RemoveWindow(sDecorMenuWindowIndices[idx]); + ClearStdWindowAndFrameToTransparent(sDecorMenuWindowIds[windowIndex], FALSE); + ClearWindowTilemap(sDecorMenuWindowIds[windowIndex]); + RemoveWindow(sDecorMenuWindowIds[windowIndex]); schedule_bg_copy_tilemap_to_vram(0); } -void sub_8126A88(void) +static void AddDecorationActionsWindow(void) { - u8 idx; - - idx = sub_81269D4(0); - PrintMenuTable(idx, 4, sSecretBasePCMenuActions); - InitMenuInUpperLeftCornerPlaySoundWhenAPressed(idx, 4, sSecretBasePCMenuCursorPos); + u8 windowId = AddDecorationWindow(0); + PrintMenuTable(windowId, 4, sDecorationMainMenuActions); + InitMenuInUpperLeftCornerPlaySoundWhenAPressed(windowId, 4, sDecorationActionsCursorPos); } -void sub_8126ABC(void) +static void InitDecorationActionsWindow(void) { - sSecretBasePCMenuCursorPos = 0; + sDecorationActionsCursorPos = 0; ScriptContext2_Enable(); - sub_8126A88(); - sub_8126C08(); + AddDecorationActionsWindow(); + PrintCurMainMenuDescription(); } -void sub_8126AD8(u8 taskId) +void DoSecretBaseDecorationMenu(u8 taskId) { - sub_8126ABC(); - gUnknown_0203A17C.items = gSaveBlock1Ptr->secretBases[0].decorations; - gUnknown_0203A17C.pos = gSaveBlock1Ptr->secretBases[0].decorationPos; - gUnknown_0203A17C.size = sizeof(gSaveBlock1Ptr->secretBases[0].decorations); - gUnknown_0203A17C.isPlayerRoom = FALSE; - gTasks[taskId].func = sub_8126B80; + InitDecorationActionsWindow(); + gDecorationContext.items = gSaveBlock1Ptr->secretBases[0].decorations; + gDecorationContext.pos = gSaveBlock1Ptr->secretBases[0].decorationPositions; + gDecorationContext.size = sizeof(gSaveBlock1Ptr->secretBases[0].decorations); + gDecorationContext.isPlayerRoom = FALSE; + gTasks[taskId].func = HandleDecorationActionsMenuInput; } -void sub_8126B2C(u8 taskId) +void DoPlayerRoomDecorationMenu(u8 taskId) { - sub_8126ABC(); - gUnknown_0203A17C.items = gSaveBlock1Ptr->playerRoomDecor; - gUnknown_0203A17C.pos = gSaveBlock1Ptr->playerRoomDecorPos; - gUnknown_0203A17C.size = sizeof(gSaveBlock1Ptr->playerRoomDecor); - gUnknown_0203A17C.isPlayerRoom = TRUE; - gTasks[taskId].func = sub_8126B80; + InitDecorationActionsWindow(); + gDecorationContext.items = gSaveBlock1Ptr->playerRoomDecor; + gDecorationContext.pos = gSaveBlock1Ptr->playerRoomDecorPos; + gDecorationContext.size = sizeof(gSaveBlock1Ptr->playerRoomDecor); + gDecorationContext.isPlayerRoom = TRUE; + gTasks[taskId].func = HandleDecorationActionsMenuInput; } -void sub_8126B80(u8 taskId) +static void HandleDecorationActionsMenuInput(u8 taskId) { - u8 menuPos; - if (!gPaletteFade.active) { - menuPos = Menu_GetCursorPos(); + s8 menuPos = Menu_GetCursorPos(); switch (Menu_ProcessInput()) { - default: - PlaySE(SE_SELECT); - sSecretBasePCMenuActions[sSecretBasePCMenuCursorPos].func.void_u8(taskId); - break; - case MENU_NOTHING_CHOSEN: - sSecretBasePCMenuCursorPos = Menu_GetCursorPos(); - if ((s8)menuPos != sSecretBasePCMenuCursorPos) - { - sub_8126C08(); - } - break; - case MENU_B_PRESSED: - PlaySE(SE_SELECT); - SecretBasePC_Cancel(taskId); - break; + default: + PlaySE(SE_SELECT); + sDecorationMainMenuActions[sDecorationActionsCursorPos].func.void_u8(taskId); + break; + case MENU_NOTHING_CHOSEN: + sDecorationActionsCursorPos = Menu_GetCursorPos(); + if (menuPos != sDecorationActionsCursorPos) + PrintCurMainMenuDescription(); + break; + case MENU_B_PRESSED: + PlaySE(SE_SELECT); + DecorationMenuAction_Cancel(taskId); + break; } } } -void sub_8126C08(void) +static void PrintCurMainMenuDescription(void) { FillWindowPixelBuffer(0, PIXEL_FILL(1)); - AddTextPrinterParameterized2(0, 1, sSecretBasePCMenuItemDescriptions[sSecretBasePCMenuCursorPos], 0, 0, 2, 1, 3); + AddTextPrinterParameterized2(0, 1, sSecretBasePCMenuItemDescriptions[sDecorationActionsCursorPos], 0, 0, 2, 1, 3); } -void SecretBasePC_Decorate(u8 taskId) +static void DecorationMenuAction_Decorate(u8 taskId) { - if (CountDecorations() == 0) + if (GetNumOwnedDecorations() == 0) { StringExpandPlaceholders(gStringVar4, gText_NoDecorations); - DisplayItemMessageOnField(taskId, gStringVar4, sub_8126DA4); + DisplayItemMessageOnField(taskId, gStringVar4, ReturnToDecorationActionsAfterInvalidSelection); } else { @@ -572,16 +595,16 @@ void SecretBasePC_Decorate(u8 taskId) } } -void SecretBasePC_PutAway(u8 taskId) +static void DecorationMenuAction_PutAway(u8 taskId) { if (!sub_81299AC(taskId)) { StringExpandPlaceholders(gStringVar4, gText_NoDecorationsInUse); - DisplayItemMessageOnField(taskId, gStringVar4, sub_8126DA4); + DisplayItemMessageOnField(taskId, gStringVar4, ReturnToDecorationActionsAfterInvalidSelection); } else { - sub_8126A58(0); + RemoveDecorationWindow(0); ClearDialogWindowAndFrame(0, 0); FadeScreen(1, 0); gTasks[taskId].data[2] = 0; @@ -589,12 +612,12 @@ void SecretBasePC_PutAway(u8 taskId) } } -void SecretBasePC_Toss(u8 taskId) +static void DecorationMenuAction_Toss(u8 taskId) { - if (CountDecorations() == 0) + if (GetNumOwnedDecorations() == 0) { StringExpandPlaceholders(gStringVar4, gText_NoDecorations); - DisplayItemMessageOnField(taskId, gStringVar4, sub_8126DA4); + DisplayItemMessageOnField(taskId, gStringVar4, ReturnToDecorationActionsAfterInvalidSelection); } else { @@ -604,10 +627,10 @@ void SecretBasePC_Toss(u8 taskId) } } -void SecretBasePC_Cancel(u8 taskId) +static void DecorationMenuAction_Cancel(u8 taskId) { - sub_8126A58(0); - if (!gUnknown_0203A17C.isPlayerRoom) + RemoveDecorationWindow(0); + if (!gDecorationContext.isPlayerRoom) { ScriptContext1_SetupScript(gUnknown_0823B4E8); DestroyTask(taskId); @@ -618,260 +641,237 @@ void SecretBasePC_Cancel(u8 taskId) } } -void sub_8126DA4(u8 taskId) +static void ReturnToDecorationActionsAfterInvalidSelection(u8 taskId) { - sub_8126C08(); - gTasks[taskId].func = sub_8126B80; + PrintCurMainMenuDescription(); + gTasks[taskId].func = HandleDecorationActionsMenuInput; } -void SecretBasePC_PrepMenuForSelectingStoredDecors(u8 taskId) +static void SecretBasePC_PrepMenuForSelectingStoredDecors(u8 taskId) { - LoadPalette(gUnknown_085A6BB0, 0xd0, 0x20); + LoadPalette(sDecorationMenuPalette, 0xd0, 0x20); ClearDialogWindowAndFrame(0, 0); - sub_8126A58(0); - sub_8126DFC(taskId); + RemoveDecorationWindow(0); + InitDecorationCategoriesWindow(taskId); } -void sub_8126DFC(u8 taskId) +static void InitDecorationCategoriesWindow(u8 taskId) { - u8 winIdx; - - winIdx = sub_81269D4(1); - sub_8126E8C(taskId); - InitMenuInUpperLeftCornerPlaySoundWhenAPressed(winIdx, 9, sCurDecorationCategory); - gTasks[taskId].func = sub_8127088; + u8 windowId = AddDecorationWindow(1); + PrintDecorationCategoryMenuItems(taskId); + InitMenuInUpperLeftCornerPlaySoundWhenAPressed(windowId, DECORCAT_COUNT + 1, sCurDecorationCategory); + gTasks[taskId].func = HandleDecorationCategoriesMenuInput; } -void sub_8126E44(u8 taskId) +static void sub_8126E44(u8 taskId) { - FillWindowPixelBuffer(sDecorMenuWindowIndices[1], PIXEL_FILL(1)); - sub_8126E8C(taskId); - InitMenuInUpperLeftCornerPlaySoundWhenAPressed(sDecorMenuWindowIndices[1], 9, sCurDecorationCategory); - gTasks[taskId].func = sub_8127088; + FillWindowPixelBuffer(sDecorMenuWindowIds[1], PIXEL_FILL(1)); + PrintDecorationCategoryMenuItems(taskId); + InitMenuInUpperLeftCornerPlaySoundWhenAPressed(sDecorMenuWindowIds[1], DECORCAT_COUNT + 1, sCurDecorationCategory); + gTasks[taskId].func = HandleDecorationCategoriesMenuInput; } -void sub_8126E8C(u8 taskId) +static void PrintDecorationCategoryMenuItems(u8 taskId) { - s16 *data; - u8 r5; - bool8 r8; u8 i; - bool8 fl; + s16 *data = gTasks[taskId].data; + u8 windowId = sDecorMenuWindowIds[1]; + bool8 isPlayerRoom = gDecorationContext.isPlayerRoom; + bool8 shouldDisable = FALSE; + if (isPlayerRoom == TRUE && data[11] == 0) + shouldDisable = TRUE; - data = gTasks[taskId].data; - r5 = sDecorMenuWindowIndices[1]; - fl = gUnknown_0203A17C.isPlayerRoom; - r8 = FALSE; - if (fl == TRUE && data[11] == 0) + for (i = 0; i < DECORCAT_COUNT; i++) { - r8 = TRUE; - } - for (i = 0; i < 8; i ++) - { - if (r8 == TRUE && i != DECORCAT_DOLL && i != DECORCAT_CUSHION) - { - sub_8126F68(r5, i, 8, i << 4, TRUE, 0xFF); - } + // Only DOLL and CUSHION decorations are enabled when decorating the player's room. + if (shouldDisable == TRUE && i != DECORCAT_DOLL && i != DECORCAT_CUSHION) + PrintDecorationCategoryMenuItem(windowId, i, 8, i * 16, TRUE, TEXT_SPEED_FF); else - { - sub_8126F68(r5, i, 8, i << 4, FALSE, 0xFF); - } + PrintDecorationCategoryMenuItem(windowId, i, 8, i * 16, FALSE, TEXT_SPEED_FF); } - AddTextPrinterParameterized(r5, 1, gTasks[taskId].data[11] == 2 ? gText_Exit : gText_Cancel, 8, (i << 4) + 1, 0, 0); + + AddTextPrinterParameterized(windowId, 1, gTasks[taskId].data[11] == 2 ? gText_Exit : gText_Cancel, 8, i * 16 + 1, 0, NULL); schedule_bg_copy_tilemap_to_vram(0); } -void sub_8126F68(u8 winid, u8 decorCat, u8 x, u8 y, bool8 flag, u8 speed) +static void PrintDecorationCategoryMenuItem(u8 winid, u8 category, u8 x, u8 y, bool8 disabled, u8 speed) { u8 width; - u8 *strbuf; + u8 *str; - width = x == 8 ? 0x68 : 0x60; - y ++; - sub_8127058(gStringVar4, flag); - strbuf = StringLength(gStringVar4) + gStringVar4; - StringCopy(strbuf, sDecorCatNames[decorCat]); + width = x == 8 ? 104 : 96; + y++; + ColorMenuItemString(gStringVar4, disabled); + str = StringLength(gStringVar4) + gStringVar4; + StringCopy(str, sDecorationCategoryNames[category]); AddTextPrinterParameterized(winid, 1, gStringVar4, x, y, speed, NULL); - strbuf = ConvertIntToDecimalStringN(strbuf, CountDecorationCategoryN(decorCat), STR_CONV_MODE_RIGHT_ALIGN, 2); - *strbuf++ = CHAR_SLASH; - ConvertIntToDecimalStringN(strbuf, gDecorationInventories[decorCat].size, STR_CONV_MODE_RIGHT_ALIGN, 2); + str = ConvertIntToDecimalStringN(str, GetNumOwnedDecorationsInCategory(category), STR_CONV_MODE_RIGHT_ALIGN, 2); + *(str++) = CHAR_SLASH; + ConvertIntToDecimalStringN(str, gDecorationInventories[category].size, STR_CONV_MODE_RIGHT_ALIGN, 2); x = GetStringRightAlignXOffset(1, gStringVar4, width); AddTextPrinterParameterized(winid, 1, gStringVar4, x, y, speed, NULL); } -void sub_8127058(u8 *str, bool8 flag) +static void ColorMenuItemString(u8 *str, bool8 disabled) { StringCopy(str, gText_Color161Shadow161); - if (flag == TRUE) + if (disabled == TRUE) { - str[2] = 0x04; // RED - str[5] = 0x05; // LIGHT_RED + str[2] = 4; + str[5] = 5; } else { - str[2] = 0x02; // DARK_GREY - str[5] = 0x03; // LIGHT_GREY + str[2] = 2; + str[5] = 3; } } -void sub_8127088(u8 taskId) +static void HandleDecorationCategoriesMenuInput(u8 taskId) { - s8 input; - if (!gPaletteFade.active) { - input = Menu_ProcessInput(); + s8 input = Menu_ProcessInput(); switch (input) { - case MENU_B_PRESSED: - case 8: - PlaySE(SE_SELECT); - sub_812719C(taskId); - break; - case MENU_NOTHING_CHOSEN: - break; - default: - PlaySE(SE_SELECT); - sCurDecorationCategory = input; - sub_81270E8(taskId); - break; + case MENU_B_PRESSED: + case DECORCAT_COUNT: // CANCEL + PlaySE(SE_SELECT); + ExitDecorationCategoriesMenu(taskId); + break; + case MENU_NOTHING_CHOSEN: + break; + default: + PlaySE(SE_SELECT); + sCurDecorationCategory = input; + SelectDecorationCategory(taskId); + break; } } } -void sub_81270E8(u8 taskId) +static void SelectDecorationCategory(u8 taskId) { - sCurDecorCatCount = CountDecorationCategoryN(sCurDecorationCategory); - if (sCurDecorCatCount != 0) + sNumOwnedDecorationsInCurCategory = GetNumOwnedDecorationsInCategory(sCurDecorationCategory); + if (sNumOwnedDecorationsInCurCategory != 0) { - CondenseDecorationCategoryN(sCurDecorationCategory); - gCurDecorInventoryItems = gDecorationInventories[sCurDecorationCategory].items; + CondenseDecorationsInCategory(sCurDecorationCategory); + gCurDecorationItems = gDecorationInventories[sCurDecorationCategory].items; IdentifyOwnedDecorationsCurrentlyInUse(taskId); - sSecretBasePCSelectDecorPageNo = 0; - sSecretBasePCSelectDecorLineNo = 0; - gTasks[taskId].func = sub_8127620; + sDecorationsScrollOffset = 0; + sDecorationsCursorPos = 0; + gTasks[taskId].func = ShowDecorationItemsWindow; } else { - sub_8126A58(1); + RemoveDecorationWindow(1); StringExpandPlaceholders(gStringVar4, gText_NoDecorations); - DisplayItemMessageOnField(taskId, gStringVar4, sub_8127180); + DisplayItemMessageOnField(taskId, gStringVar4, ReturnToDecorationCategoriesAfterInvalidSelection); } } -void sub_8127180(u8 taskId) +static void ReturnToDecorationCategoriesAfterInvalidSelection(u8 taskId) { ClearDialogWindowAndFrame(0, 0); - sub_8126DFC(taskId); + InitDecorationCategoriesWindow(taskId); } -void sub_812719C(u8 taskId) +static void ExitDecorationCategoriesMenu(u8 taskId) { if (gTasks[taskId].data[11] != 2) - { - sub_81271CC(taskId); - } + ReturnToActionsMenuFromCategories(taskId); else - { - sub_8127268(taskId); - } + ExitTraderDecorationMenu(taskId); } -void sub_81271CC(u8 taskId) +static void ReturnToActionsMenuFromCategories(u8 taskId) { - sub_8126A58(1); - sub_8126A88(); + RemoveDecorationWindow(1); + AddDecorationActionsWindow(); DrawDialogueFrame(0, 0); - sub_8126C08(); - gTasks[taskId].func = sub_8126B80; + PrintCurMainMenuDescription(); + gTasks[taskId].func = HandleDecorationActionsMenuInput; } -void sub_8127208(u8 taskId) +void ShowDecorationCategoriesWindow(u8 taskId) { - LoadPalette(gUnknown_085A6BB0, 0xd0, 0x20); + LoadPalette(sDecorationMenuPalette, 0xd0, 0x20); ClearDialogWindowAndFrame(0, 0); gTasks[taskId].data[11] = 2; sCurDecorationCategory = DECORCAT_DESK; - sub_8126DFC(taskId); + InitDecorationCategoriesWindow(taskId); } -void sub_8127250(u8 *dest, u8 decorCat) +void CopyDecorationCategoryName(u8 *dest, u8 category) { - StringCopy(dest, sDecorCatNames[decorCat]); + StringCopy(dest, sDecorationCategoryNames[category]); } -void sub_8127268(u8 taskId) +static void ExitTraderDecorationMenu(u8 taskId) { - sub_8126A58(1); - sub_8133E1C(taskId); + RemoveDecorationWindow(1); + ExitTraderMenu(taskId); } -void sub_8127284(void) +static void InitDecorationItemsMenuLimits(void) { - sDecorPCBuffer->unk_520 = sCurDecorCatCount + 1; - if (sDecorPCBuffer->unk_520 > 8) - { - sDecorPCBuffer->unk_521 = 8; - } + sDecorationItemsMenu->numMenuItems = sNumOwnedDecorationsInCurCategory + 1; + if (sDecorationItemsMenu->numMenuItems > 8) + sDecorationItemsMenu->maxShownItems = 8; else - { - sDecorPCBuffer->unk_521 = sDecorPCBuffer->unk_520; - } + sDecorationItemsMenu->maxShownItems = sDecorationItemsMenu->numMenuItems; } -void sub_81272C8(void) +static void sub_81272C8(void) { - sub_812225C(&sSecretBasePCSelectDecorPageNo, &sSecretBasePCSelectDecorLineNo, sDecorPCBuffer->unk_521, sDecorPCBuffer->unk_520); + sub_812225C(&sDecorationsScrollOffset, &sDecorationsCursorPos, sDecorationItemsMenu->maxShownItems, sDecorationItemsMenu->numMenuItems); } -void sub_81272F8(void) +static void sub_81272F8(void) { - sub_8122298(&sSecretBasePCSelectDecorPageNo, &sSecretBasePCSelectDecorLineNo, sDecorPCBuffer->unk_521, sDecorPCBuffer->unk_520, 8); + sub_8122298(&sDecorationsScrollOffset, &sDecorationsCursorPos, sDecorationItemsMenu->maxShownItems, sDecorationItemsMenu->numMenuItems, 8); } -void sub_8127330(u8 taskId) +static void PrintDecorationItemMenuItems(u8 taskId) { s16 *data; u16 i; data = gTasks[taskId].data; - if ((sCurDecorationCategory < DECORCAT_DOLL || sCurDecorationCategory > DECORCAT_CUSHION) && gUnknown_0203A17C.isPlayerRoom == TRUE && data[11] == 0) - { - sub_8127058(gStringVar1, TRUE); - } + if ((sCurDecorationCategory < DECORCAT_DOLL || sCurDecorationCategory > DECORCAT_CUSHION) && gDecorationContext.isPlayerRoom == TRUE && data[11] == 0) + ColorMenuItemString(gStringVar1, TRUE); else + ColorMenuItemString(gStringVar1, FALSE); + + for (i = 0; i < sDecorationItemsMenu->numMenuItems - 1; i++) { - sub_8127058(gStringVar1, FALSE); + CopyDecorationMenuItemName(sDecorationItemsMenu->names[i], gCurDecorationItems[i]); + sDecorationItemsMenu->items[i].name = sDecorationItemsMenu->names[i]; + sDecorationItemsMenu->items[i].id = i; } - for (i = 0; i < sDecorPCBuffer->unk_520 - 1; i ++) - { - sub_8127454(sDecorPCBuffer->names[i], gCurDecorInventoryItems[i]); - sDecorPCBuffer->items[i].name = sDecorPCBuffer->names[i]; - sDecorPCBuffer->items[i].id = i; - } - StringCopy(sDecorPCBuffer->names[i], gText_Cancel); - sDecorPCBuffer->items[i].name = sDecorPCBuffer->names[i]; - sDecorPCBuffer->items[i].id = -2; - gMultiuseListMenuTemplate = gUnknown_085A6BD0; - gMultiuseListMenuTemplate.windowId = sDecorMenuWindowIndices[1]; - gMultiuseListMenuTemplate.totalItems = sDecorPCBuffer->unk_520; - gMultiuseListMenuTemplate.items = sDecorPCBuffer->items; - gMultiuseListMenuTemplate.maxShowed = sDecorPCBuffer->unk_521; + + StringCopy(sDecorationItemsMenu->names[i], gText_Cancel); + sDecorationItemsMenu->items[i].name = sDecorationItemsMenu->names[i]; + sDecorationItemsMenu->items[i].id = -2; + gMultiuseListMenuTemplate = sDecorationItemsListMenuTemplate; + gMultiuseListMenuTemplate.windowId = sDecorMenuWindowIds[1]; + gMultiuseListMenuTemplate.totalItems = sDecorationItemsMenu->numMenuItems; + gMultiuseListMenuTemplate.items = sDecorationItemsMenu->items; + gMultiuseListMenuTemplate.maxShowed = sDecorationItemsMenu->maxShownItems; } -void sub_8127454(u8 *dest, u16 decorId) +static void CopyDecorationMenuItemName(u8 *dest, u16 decoration) { StringCopy(dest, gStringVar1); - StringAppend(dest, gDecorations[decorId].name); + StringAppend(dest, gDecorations[decoration].name); } -void sub_8127480(s32 a0, bool8 flag, struct ListMenu *menu) +static void DecorationItemsMenu_OnCursorMove(s32 itemIndex, bool8 flag, struct ListMenu *menu) { if (flag != TRUE) - { PlaySE(SE_SELECT); - } - sub_8127744(a0); + + PrintDecorationItemDescription(itemIndex); } void sub_81274A0(u8 a0, s32 a1, u8 a2) @@ -889,53 +889,59 @@ void sub_81274A0(u8 a0, s32 a1, u8 a2) } } -void sub_8127500(void) +static void AddDecorationItemsScrollIndicators(void) { - if (sDecorPCBuffer->unk_522 == 0xFF) + if (sDecorationItemsMenu->scrollIndicatorsTaskId == 0xFF) { - sDecorPCBuffer->unk_522 = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 0x3c, 0x0c, 0x94, sDecorPCBuffer->unk_520 - sDecorPCBuffer->unk_521, 0x6e, 0x6e, &sSecretBasePCSelectDecorPageNo); + sDecorationItemsMenu->scrollIndicatorsTaskId = AddScrollIndicatorArrowPairParameterized( + SCROLL_ARROW_UP, + 0x3c, + 0x0c, + 0x94, + sDecorationItemsMenu->numMenuItems - sDecorationItemsMenu->maxShownItems, + 0x6e, + 0x6e, + &sDecorationsScrollOffset); } } -void sub_8127554(void) +static void RemoveDecorationItemsScrollIndicators(void) { - if (sDecorPCBuffer->unk_522 != 0xFF) + if (sDecorationItemsMenu->scrollIndicatorsTaskId != 0xFF) { - RemoveScrollIndicatorArrowPair(sDecorPCBuffer->unk_522); - sDecorPCBuffer->unk_522 = 0xFF; + RemoveScrollIndicatorArrowPair(sDecorationItemsMenu->scrollIndicatorsTaskId); + sDecorationItemsMenu->scrollIndicatorsTaskId = 0xFF; } } void sub_8127580(u8 taskId) { - sub_81269D4(1); - sub_812759C(taskId); + AddDecorationWindow(1); + InitDecorationItemsWindow(taskId); } -void sub_812759C(u8 taskId) +static void InitDecorationItemsWindow(u8 taskId) { - s16 *data; - - data = gTasks[taskId].data; - sub_81269D4(3); - sub_8127718(sCurDecorationCategory); - sDecorPCBuffer = calloc(1, sizeof(struct DecorPCBuffer)); - sDecorPCBuffer->unk_522 = 0xFF; - sub_8127284(); + s16 *data = gTasks[taskId].data; + AddDecorationWindow(3); + ShowDecorationCategorySummaryWindow(sCurDecorationCategory); + sDecorationItemsMenu = AllocZeroed(sizeof(*sDecorationItemsMenu)); + sDecorationItemsMenu->scrollIndicatorsTaskId = 0xFF; + InitDecorationItemsMenuLimits(); sub_81272C8(); sub_81272F8(); - sub_8127330(taskId); - data[13] = ListMenuInit(&gMultiuseListMenuTemplate, sSecretBasePCSelectDecorPageNo, sSecretBasePCSelectDecorLineNo); - sub_8127500(); + PrintDecorationItemMenuItems(taskId); + data[13] = ListMenuInit(&gMultiuseListMenuTemplate, sDecorationsScrollOffset, sDecorationsCursorPos); + AddDecorationItemsScrollIndicators(); } -void sub_8127620(u8 taskId) +static void ShowDecorationItemsWindow(u8 taskId) { - sub_812759C(taskId); - gTasks[taskId].func = sub_812764C; + InitDecorationItemsWindow(taskId); + gTasks[taskId].func = HandleDecorationItemsMenuInput; } -void sub_812764C(u8 taskId) +static void HandleDecorationItemsMenuInput(u8 taskId) { s16 *data; s32 input; @@ -944,129 +950,125 @@ void sub_812764C(u8 taskId) if (!gPaletteFade.active) { input = ListMenu_ProcessInput(data[13]); - ListMenuGetScrollAndRow(data[13], &sSecretBasePCSelectDecorPageNo, &sSecretBasePCSelectDecorLineNo); + ListMenuGetScrollAndRow(data[13], &sDecorationsScrollOffset, &sDecorationsCursorPos); switch (input) { - case LIST_NOTHING_CHOSEN: - break; - case LIST_CANCEL: - PlaySE(SE_SELECT); - SecretBasePC_SelectedDecorActions[data[11]][1](taskId); - break; - default: - PlaySE(SE_SELECT); - gCurDecorationIndex = input; - sub_8127554(); - DestroyListMenuTask(data[13], &sSecretBasePCSelectDecorPageNo, &sSecretBasePCSelectDecorLineNo); - sub_8126A58(1); - sub_81277A8(); - free(sDecorPCBuffer); - SecretBasePC_SelectedDecorActions[data[11]][0](taskId); - break; + case LIST_NOTHING_CHOSEN: + break; + case LIST_CANCEL: + PlaySE(SE_SELECT); + sSecretBasePC_SelectedDecorationActions[data[11]][1](taskId); + break; + default: + PlaySE(SE_SELECT); + gCurDecorationIndex = input; + RemoveDecorationItemsScrollIndicators(); + DestroyListMenuTask(data[13], &sDecorationsScrollOffset, &sDecorationsCursorPos); + RemoveDecorationWindow(1); + RemoveDecorationItemsOtherWindows(); + free(sDecorationItemsMenu); + sSecretBasePC_SelectedDecorationActions[data[11]][0](taskId); + break; } } } -void sub_8127718(u8 decorCat) +static void ShowDecorationCategorySummaryWindow(u8 category) { - sub_8126F68(sub_81269D4(2), decorCat, 0, 0, 0, 0); + PrintDecorationCategoryMenuItem(AddDecorationWindow(2), category, 0, 0, 0, 0); } -void sub_8127744(u32 a0) +static void PrintDecorationItemDescription(u32 itemIndex) { - u8 winidx; - const u8 *txt; + u8 windowId; + const u8 *str; - winidx = sDecorMenuWindowIndices[3]; - FillWindowPixelBuffer(winidx, PIXEL_FILL(1)); - if (a0 >= sCurDecorCatCount) - { - txt = gText_GoBackPrevMenu; - } + windowId = sDecorMenuWindowIds[3]; + FillWindowPixelBuffer(windowId, PIXEL_FILL(1)); + if (itemIndex >= sNumOwnedDecorationsInCurCategory) + str = gText_GoBackPrevMenu; else - { - txt = gDecorations[gCurDecorInventoryItems[a0]].description; - } - AddTextPrinterParameterized(winidx, 1, txt, 0, 1, 0, 0); + str = gDecorations[gCurDecorationItems[itemIndex]].description; + + AddTextPrinterParameterized(windowId, 1, str, 0, 1, 0, 0); } -void sub_81277A8(void) +static void RemoveDecorationItemsOtherWindows(void) { - sub_8126A58(3); - sub_8126A58(2); + // Remove description and category summary windows + RemoveDecorationWindow(3); + RemoveDecorationWindow(2); } bool8 sub_81277BC(u8 idx) { u8 i; - - for (i = 0; i < 16; i ++) + for (i = 0; i < ARRAY_COUNT(sSecretBaseItemsIndicesBuffer); i++) { if (sSecretBaseItemsIndicesBuffer[i] == idx) - { return TRUE; - } } + return FALSE; } bool8 sub_81277E8(u8 idx) { u8 i; - - for (i = 0; i < 12; i ++) + for (i = 0; i < ARRAY_COUNT(sPlayerRoomItemsIndicesBuffer); i++) { if (sPlayerRoomItemsIndicesBuffer[i] == idx) - { return TRUE; - } } + return FALSE; } -void IdentifyOwnedDecorationsCurrentlyInUseInternal(u8 taskId) +static void IdentifyOwnedDecorationsCurrentlyInUseInternal(u8 taskId) { - u16 i; - u16 j; - u16 k; - u16 cnt; + u16 i, j, k; + u16 count; - cnt = 0; - memset(sSecretBaseItemsIndicesBuffer, 0, 16); - memset(sPlayerRoomItemsIndicesBuffer, 0, 12); - for (i = 0; i < 16; i ++) + count = 0; + memset(sSecretBaseItemsIndicesBuffer, 0, sizeof(sSecretBaseItemsIndicesBuffer)); + memset(sPlayerRoomItemsIndicesBuffer, 0, sizeof(sPlayerRoomItemsIndicesBuffer)); + + for (i = 0; i < ARRAY_COUNT(sSecretBaseItemsIndicesBuffer); i++) { if (gSaveBlock1Ptr->secretBases[0].decorations[i] != DECOR_NONE) { - for (j = 0; j < gDecorationInventories[sCurDecorationCategory].size; j ++) + for (j = 0; j < gDecorationInventories[sCurDecorationCategory].size; j++) { - if (gCurDecorInventoryItems[j] == gSaveBlock1Ptr->secretBases[0].decorations[i]) + if (gCurDecorationItems[j] == gSaveBlock1Ptr->secretBases[0].decorations[i]) { - for (k = 0; k < cnt && sSecretBaseItemsIndicesBuffer[k] != j + 1; k ++); - if (k == cnt) + for (k = 0; k < count && sSecretBaseItemsIndicesBuffer[k] != j + 1; k++) + ; + + if (k == count) { - sSecretBaseItemsIndicesBuffer[cnt] = j + 1; - cnt ++; + sSecretBaseItemsIndicesBuffer[count] = j + 1; + count++; break; } } } } } - cnt = 0; - for (i = 0; i < 12; i ++) + + count = 0; + for (i = 0; i < ARRAY_COUNT(sPlayerRoomItemsIndicesBuffer); i++) { if (gSaveBlock1Ptr->playerRoomDecor[i] != DECOR_NONE) { - for (j = 0; j < gDecorationInventories[sCurDecorationCategory].size; j ++) + for (j = 0; j < gDecorationInventories[sCurDecorationCategory].size; j++) { - if (gCurDecorInventoryItems[j] == gSaveBlock1Ptr->playerRoomDecor[i] && sub_81277BC(j + 1) != TRUE) + if (gCurDecorationItems[j] == gSaveBlock1Ptr->playerRoomDecor[i] && sub_81277BC(j + 1) != TRUE) { - for (k = 0; k < cnt && sPlayerRoomItemsIndicesBuffer[k] != j + 1; k ++); - if (k == cnt) + for (k = 0; k < count && sPlayerRoomItemsIndicesBuffer[k] != j + 1; k++); + if (k == count) { - sPlayerRoomItemsIndicesBuffer[cnt] = j + 1; - cnt ++; + sPlayerRoomItemsIndicesBuffer[count] = j + 1; + count++; break; } } @@ -1075,7 +1077,7 @@ void IdentifyOwnedDecorationsCurrentlyInUseInternal(u8 taskId) } } -void IdentifyOwnedDecorationsCurrentlyInUse(u8 taskId) +static void IdentifyOwnedDecorationsCurrentlyInUse(u8 taskId) { IdentifyOwnedDecorationsCurrentlyInUseInternal(taskId); } @@ -1083,24 +1085,25 @@ void IdentifyOwnedDecorationsCurrentlyInUse(u8 taskId) bool8 IsSelectedDecorInThePC(void) { u16 i; - for (i = 0; i < 16; i ++) + for (i = 0; i < ARRAY_COUNT(sSecretBaseItemsIndicesBuffer); i++) { - if (sSecretBaseItemsIndicesBuffer[i] == sSecretBasePCSelectDecorPageNo + sSecretBasePCSelectDecorLineNo + 1) - { + if (sSecretBaseItemsIndicesBuffer[i] == sDecorationsScrollOffset + sDecorationsCursorPos + 1) return FALSE; - } - if (i < 12 && sPlayerRoomItemsIndicesBuffer[i] == sSecretBasePCSelectDecorPageNo + sSecretBasePCSelectDecorLineNo + 1) + + if (i < ARRAY_COUNT(sPlayerRoomItemsIndicesBuffer) + && sPlayerRoomItemsIndicesBuffer[i] == sDecorationsScrollOffset + sDecorationsCursorPos + 1) { return FALSE; } } + return TRUE; } -void sub_8127A14(u8 taskId) +static void sub_8127A14(u8 taskId) { - sub_81269D4(1); - sub_8127620(taskId); + AddDecorationWindow(1); + ShowDecorationItemsWindow(taskId); } void sub_8127A30(u8 taskId) @@ -1114,20 +1117,18 @@ void sub_8127A5C(u8 taskId) if (gMain.newKeys & (A_BUTTON | B_BUTTON)) { ClearDialogWindowAndFrame(0, 0); - sub_81269D4(1); - sub_8127620(taskId); + AddDecorationWindow(1); + ShowDecorationItemsWindow(taskId); } } void sub_8127A8C(u8 taskId) { - s16 *data; - - data = gTasks[taskId].data; - sub_8127554(); - sub_81277A8(); + s16 *data = gTasks[taskId].data; + RemoveDecorationItemsScrollIndicators(); + RemoveDecorationItemsOtherWindows(); DestroyListMenuTask(data[13], NULL, NULL); - free(sDecorPCBuffer); + free(sDecorationItemsMenu); sub_8126E44(taskId); } @@ -1145,105 +1146,91 @@ void sub_8127B04(u8 taskId) WarpIntoMap(); } -u16 sub_8127B54(u8 decor, u8 a1) +static u16 GetDecorationElevation(u8 decoration, u8 tileIndex) { - u16 resp; - - resp = -1; - switch (decor) + u16 elevation = -1; + switch (decoration) { - case DECOR_STAND: - resp = gUnknown_085A72E4[a1] << 12; - return resp; - case DECOR_SLIDE: - resp = gUnknown_085A72EC[a1] << 12; - return resp; - default: - return resp; + case DECOR_STAND: + elevation = sDecorationStandElevations[tileIndex] << 12; + return elevation; + case DECOR_SLIDE: + elevation = sDecorationSlideElevation[tileIndex] << 12; + return elevation; + default: + return elevation; } } -void sub_8127B90(u16 mapX, u16 mapY, u8 decWidth, u8 decHeight, u16 decor) +static void ShowDecorationOnMap_(u16 mapX, u16 mapY, u8 decWidth, u8 decHeight, u16 decoration) { - u16 i; - u16 j; + u16 i, j; + s16 x, y; u16 behavior; u16 impassableFlag; - u16 v0; - u16 v1; - s16 decLeft; - s16 decBottom; + u16 posterSide; + u16 elevation; - for (i = 0; i < decHeight; i ++) + for (j = 0; j < decHeight; j++) { - decBottom = mapY - decHeight + 1 + i; - for (j = 0; j < decWidth; j ++) + y = mapY - decHeight + 1 + j; + for (i = 0; i < decWidth; i++) { - decLeft = mapX + j; - behavior = GetBehaviorByMetatileId(0x200 + gDecorations[decor].tiles[i * decWidth + j]); - if (MetatileBehavior_IsSecretBaseImpassable(behavior) == TRUE || (gDecorations[decor].permission != DECORPERM_PASS_FLOOR && (behavior >> 12))) - { + x = mapX + i; + behavior = GetBehaviorByMetatileId(0x200 + gDecorations[decoration].tiles[j * decWidth + i]); + if (MetatileBehavior_IsSecretBaseImpassable(behavior) == TRUE || (gDecorations[decoration].permission != DECORPERM_PASS_FLOOR && (behavior >> 12))) impassableFlag = METATILE_COLLISION_MASK; - } else - { - impassableFlag = 0x000; - } - if (gDecorations[decor].permission != DECORPERM_NA_WALL && MetatileBehavior_IsSecretBaseNorthWall(MapGridGetMetatileBehaviorAt(decLeft, decBottom)) == TRUE) - { - v0 = 1; - } + impassableFlag = 0; + + if (gDecorations[decoration].permission != DECORPERM_NA_WALL && MetatileBehavior_IsSecretBaseNorthWall(MapGridGetMetatileBehaviorAt(x, y)) == TRUE) + posterSide = 1; else - { - v0 = 0; - } - v1 = sub_8127B54(gDecorations[decor].id, i * decWidth + j); - if (v1 != 0xFFFF) - { - MapGridSetMetatileEntryAt(decLeft, decBottom, (gDecorations[decor].tiles[i * decWidth + j] + (0x200 | v0)) | impassableFlag | v1); - } + posterSide = 0; + + elevation = GetDecorationElevation(gDecorations[decoration].id, j * decWidth + i); + if (elevation != 0xFFFF) + MapGridSetMetatileEntryAt(x, y, (gDecorations[decoration].tiles[j * decWidth + i] + (0x200 | posterSide)) | impassableFlag | elevation); else - { - MapGridSetMetatileIdAt(decLeft, decBottom, (gDecorations[decor].tiles[i * decWidth + j] + (0x200 | v0)) | impassableFlag); - } + MapGridSetMetatileIdAt(x, y, (gDecorations[decoration].tiles[j * decWidth + i] + (0x200 | posterSide)) | impassableFlag); } } } -void sub_8127D38(u16 mapX, u16 mapY, u16 decor) +void ShowDecorationOnMap(u16 mapX, u16 mapY, u16 decoration) { - switch (gDecorations[decor].shape) + switch (gDecorations[decoration].shape) { - case DECORSHAPE_1x1: - sub_8127B90(mapX, mapY, 1, 1, decor); - break; - case DECORSHAPE_2x1: - sub_8127B90(mapX, mapY, 2, 1, decor); - break; - case DECORSHAPE_3x1: // unused - sub_8127B90(mapX, mapY, 3, 1, decor); - break; - case DECORSHAPE_4x2: - sub_8127B90(mapX, mapY, 4, 2, decor); - break; - case DECORSHAPE_2x2: - sub_8127B90(mapX, mapY, 2, 2, decor); - break; - case DECORSHAPE_1x2: - sub_8127B90(mapX, mapY, 1, 2, decor); - break; - case DECORSHAPE_1x3: // unused - sub_8127B90(mapX, mapY, 1, 3, decor); - break; - case DECORSHAPE_2x4: - sub_8127B90(mapX, mapY, 2, 4, decor); - break; - case DECORSHAPE_3x3: - sub_8127B90(mapX, mapY, 3, 3, decor); - break; - case DECORSHAPE_3x2: - sub_8127B90(mapX, mapY, 3, 2, decor); - break; + case DECORSHAPE_1x1: + ShowDecorationOnMap_(mapX, mapY, 1, 1, decoration); + break; + case DECORSHAPE_2x1: + ShowDecorationOnMap_(mapX, mapY, 2, 1, decoration); + break; + case DECORSHAPE_3x1: // unused + ShowDecorationOnMap_(mapX, mapY, 3, 1, decoration); + break; + case DECORSHAPE_4x2: + ShowDecorationOnMap_(mapX, mapY, 4, 2, decoration); + break; + case DECORSHAPE_2x2: + ShowDecorationOnMap_(mapX, mapY, 2, 2, decoration); + break; + case DECORSHAPE_1x2: + ShowDecorationOnMap_(mapX, mapY, 1, 2, decoration); + break; + case DECORSHAPE_1x3: // unused + ShowDecorationOnMap_(mapX, mapY, 1, 3, decoration); + break; + case DECORSHAPE_2x4: + ShowDecorationOnMap_(mapX, mapY, 2, 4, decoration); + break; + case DECORSHAPE_3x3: + ShowDecorationOnMap_(mapX, mapY, 3, 3, decoration); + break; + case DECORSHAPE_3x2: + ShowDecorationOnMap_(mapX, mapY, 3, 2, decoration); + break; } } @@ -1252,25 +1239,27 @@ void sub_8127E18(void) u8 i; u8 j; - for (i = 0; i < 14; i ++) + for (i = 0; i < 14; i++) { if (FlagGet(FLAG_DECORATION_1 + i) == TRUE) { FlagClear(FLAG_DECORATION_1 + i); - for (j = 0; j < gMapHeader.events->eventObjectCount; j ++) + for (j = 0; j < gMapHeader.events->eventObjectCount; j++) { if (gMapHeader.events->eventObjects[j].flagId == FLAG_DECORATION_1 + i) - { break; - } } - VarSet(UNKNOWN_VAR_OFFSET_3F20 + gMapHeader.events->eventObjects[j].graphicsId, sPlaceDecorationGraphicsDataBuffer.decoration->tiles[0]); + + VarSet( + VAR_OBJ_GFX_ID_0 + (gMapHeader.events->eventObjects[j].graphicsId - EVENT_OBJ_GFX_VAR_0), + sPlaceDecorationGraphicsDataBuffer.decoration->tiles[0]); + gSpecialVar_0x8005 = gMapHeader.events->eventObjects[j].localId; gSpecialVar_0x8006 = sCurDecorMapX; gSpecialVar_0x8007 = sCurDecorMapY; - show_sprite(gSpecialVar_0x8005, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); - sub_808EBA8(gSpecialVar_0x8005, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gSpecialVar_0x8006, gSpecialVar_0x8007); - sub_808F254(gSpecialVar_0x8005, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + TrySpawnEventObject(gSpecialVar_0x8005, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + TryMoveEventObjectToMapCoords(gSpecialVar_0x8005, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gSpecialVar_0x8006, gSpecialVar_0x8007); + TryOverrideEventObjectTemplateCoords(gSpecialVar_0x8005, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); break; } } @@ -1280,9 +1269,9 @@ bool8 sub_8127F38(void) { u16 i; - for (i = 0; i < gUnknown_0203A17C.size; i ++) + for (i = 0; i < gDecorationContext.size; i++) { - if (gUnknown_0203A17C.items[i] == DECOR_NONE) + if (gDecorationContext.items[i] == DECOR_NONE) { return TRUE; } @@ -1292,7 +1281,7 @@ bool8 sub_8127F38(void) void sub_8127F68(u8 taskId) { - if (gUnknown_0203A17C.isPlayerRoom == TRUE && sCurDecorationCategory != DECORCAT_DOLL && sCurDecorationCategory != DECORCAT_CUSHION) + if (gDecorationContext.isPlayerRoom == TRUE && sCurDecorationCategory != DECORCAT_DOLL && sCurDecorationCategory != DECORCAT_CUSHION) { StringExpandPlaceholders(gStringVar4, gText_CantPlaceInRoom); DisplayItemMessageOnField(taskId, gStringVar4, sub_8127A5C); @@ -1307,8 +1296,8 @@ void sub_8127F68(u8 taskId) } else { - ConvertIntToDecimalStringN(gStringVar1, gUnknown_0203A17C.size, STR_CONV_MODE_RIGHT_ALIGN, 2); - if (gUnknown_0203A17C.isPlayerRoom == FALSE) { + ConvertIntToDecimalStringN(gStringVar1, gDecorationContext.size, STR_CONV_MODE_RIGHT_ALIGN, 2); + if (gDecorationContext.isPlayerRoom == FALSE) { StringExpandPlaceholders(gStringVar4, gText_NoMoreDecorations); } else @@ -1338,7 +1327,7 @@ void sub_8128060(u8 taskId) break; case 1: gPaletteFade.bufferTransferDisabled = TRUE; - ConfigureCameraObjectForPlacingDecoration(&sPlaceDecorationGraphicsDataBuffer, gCurDecorInventoryItems[gCurDecorationIndex]); + ConfigureCameraObjectForPlacingDecoration(&sPlaceDecorationGraphicsDataBuffer, gCurDecorationItems[gCurDecorationIndex]); sub_812826C(taskId); SetUpPlacingDecorationPlayerAvatar(taskId, &sPlaceDecorationGraphicsDataBuffer); pal_fill_black(); @@ -1361,27 +1350,23 @@ void ConfigureCameraObjectForPlacingDecoration(struct PlaceDecorationGraphicsDat gFieldCamera.spriteId = gpu_pal_decompress_alloc_tag_and_upload(data, decor); gSprites[gFieldCamera.spriteId].oam.priority = 1; gSprites[gFieldCamera.spriteId].callback = sub_81292D0; - gSprites[gFieldCamera.spriteId].pos1.x = gUnknown_085A7250[data->decoration->shape].x; - gSprites[gFieldCamera.spriteId].pos1.y = gUnknown_085A7250[data->decoration->shape].y; + gSprites[gFieldCamera.spriteId].pos1.x = sDecorationMovementInfo[data->decoration->shape].cameraX; + gSprites[gFieldCamera.spriteId].pos1.y = sDecorationMovementInfo[data->decoration->shape].cameraY; } void SetUpPlacingDecorationPlayerAvatar(u8 taskId, struct PlaceDecorationGraphicsDataBuffer *data) { - u8 v0; + u8 x; - v0 = 16 * (u8)gTasks[taskId].data[5] + gUnknown_085A7250[data->decoration->shape].x - 8 * ((u8)gTasks[taskId].data[5] - 1); + x = 16 * (u8)gTasks[taskId].data[5] + sDecorationMovementInfo[data->decoration->shape].cameraX - 8 * ((u8)gTasks[taskId].data[5] - 1); if (data->decoration->shape == DECORSHAPE_3x1 || data->decoration->shape == DECORSHAPE_3x3 || data->decoration->shape == DECORSHAPE_3x2) - { - v0 -= 8; - } + x -= 8; + if (gSaveBlock2Ptr->playerGender == MALE) - { - sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(0xC1, SpriteCallbackDummy, v0, 0x48, 0); - } + sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(EVENT_OBJ_GFX_BRENDAN_DECORATING, SpriteCallbackDummy, x, 72, 0); else - { - sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(0xC2, SpriteCallbackDummy, v0, 0x48, 0); - } + sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(EVENT_OBJ_GFX_MAY_DECORATING, SpriteCallbackDummy, x, 72, 0); + gSprites[sDecor_CameraSpriteObjectIdx2].oam.priority = 1; DestroySprite(&gSprites[sDecor_CameraSpriteObjectIdx1]); sDecor_CameraSpriteObjectIdx1 = gFieldCamera.spriteId; @@ -1389,7 +1374,7 @@ void SetUpPlacingDecorationPlayerAvatar(u8 taskId, struct PlaceDecorationGraphic void sub_812826C(u8 taskId) { - switch (gDecorations[gCurDecorInventoryItems[gCurDecorationIndex]].shape) + switch (gDecorations[gCurDecorationItems[gCurDecorationIndex]].shape) { case DECORSHAPE_1x1: gTasks[taskId].data[5] = 1; @@ -1477,14 +1462,12 @@ bool8 sub_81284F4(u16 behaviorAt, const struct Decoration *decoration) if (MetatileBehavior_IsBlockDecoration(behaviorAt) != TRUE) { if (decoration->id == DECOR_SOLID_BOARD && MetatileBehavior_IsSecretBaseHole(behaviorAt) == TRUE) - { return TRUE; - } + if (MetatileBehavior_IsNormal(behaviorAt)) - { return TRUE; - } } + return FALSE; } @@ -1503,127 +1486,108 @@ bool8 sub_812853C(u8 taskId, const struct Decoration *decoration) switch (decoration->permission) { - case DECORPERM_SOLID_FLOOR: - case DECORPERM_PASS_FLOOR: - for (i=0; itiles[(mapY - 1 - i) * mapX + j]) & METATILE_ELEVATION_MASK; - if (!sub_81284F4(behaviorAt, decoration)) - { - return FALSE; - } - if (!sub_81284AC(taskId, curX, curY, behaviorBy)) - { - return FALSE; - } - behaviorAt = GetEventObjectIdByXYZ(curX, curY, 0); - if (behaviorAt != 0 && behaviorAt != 16) - { - return FALSE; - } - } - } - break; - case DECORPERM_BEHIND_FLOOR: - for (i=0; itiles[(mapY - 1 - i) * mapX + j]) & METATILE_ELEVATION_MASK; - if (!MetatileBehavior_IsNormal(behaviorAt) && !sub_8128484(behaviorAt, behaviorBy)) - { - return FALSE; - } - if (!sub_81284AC(taskId, curX, curY, behaviorBy)) - { - return FALSE; - } - if (GetEventObjectIdByXYZ(curX, curY, 0) != 16) - { - return FALSE; - } - } - } - curY = gTasks[taskId].data[1] - mapY + 1; - for (j=0; jtiles[j]) & METATILE_ELEVATION_MASK; - if (!MetatileBehavior_IsNormal(behaviorAt) && !MetatileBehavior_IsSecretBaseNorthWall(behaviorAt)) - { + behaviorBy = GetBehaviorByMetatileId(0x200 + decoration->tiles[(mapY - 1 - i) * mapX + j]) & METATILE_ELEVATION_MASK; + if (!sub_81284F4(behaviorAt, decoration)) return FALSE; - } + if (!sub_81284AC(taskId, curX, curY, behaviorBy)) - { return FALSE; - } + behaviorAt = GetEventObjectIdByXYZ(curX, curY, 0); if (behaviorAt != 0 && behaviorAt != 16) - { return FALSE; - } } - break; - case DECORPERM_NA_WALL: - for (i=0; ishape == DECORSHAPE_1x2) - { - if (!MetatileBehavior_IsLargeMatCenter(behaviorAt)) - { - return FALSE; - } - } - else if (!MetatileBehavior_IsSecretBaseLargeMatEdge(behaviorAt)) - { - if (!MetatileBehavior_IsLargeMatCenter(behaviorAt)) - { - return FALSE; - } - } - if (GetEventObjectIdByXYZ(curX, curY, 0) != 16) - { + behaviorBy = GetBehaviorByMetatileId(0x200 + decoration->tiles[(mapY - 1 - i) * mapX + j]) & METATILE_ELEVATION_MASK; + if (!MetatileBehavior_IsNormal(behaviorAt) && !sub_8128484(behaviorAt, behaviorBy)) + return FALSE; + + if (!sub_81284AC(taskId, curX, curY, behaviorBy)) + return FALSE; + + if (GetEventObjectIdByXYZ(curX, curY, 0) != 16) return FALSE; - } } - break; + } + + curY = gTasks[taskId].data[1] - mapY + 1; + for (j = 0; j < mapX; j++) + { + curX = gTasks[taskId].data[0] + j; + behaviorAt = MapGridGetMetatileBehaviorAt(curX, curY); + behaviorBy = GetBehaviorByMetatileId(0x200 + decoration->tiles[j]) & METATILE_ELEVATION_MASK; + if (!MetatileBehavior_IsNormal(behaviorAt) && !MetatileBehavior_IsSecretBaseNorthWall(behaviorAt)) + return FALSE; + + if (!sub_81284AC(taskId, curX, curY, behaviorBy)) + return FALSE; + + behaviorAt = GetEventObjectIdByXYZ(curX, curY, 0); + if (behaviorAt != 0 && behaviorAt != 16) + return FALSE; + } + break; + case DECORPERM_NA_WALL: + for (i = 0; i < mapY; i++) + { + curY = gTasks[taskId].data[1] - i; + for (j = 0; j < mapX; j++) + { + curX = gTasks[taskId].data[0] + j; + if (!MetatileBehavior_IsSecretBaseNorthWall(MapGridGetMetatileBehaviorAt(curX, curY))) + return FALSE; + + if (MapGridGetMetatileIdAt(curX, curY + 1) == 0x28c) + return FALSE; + } + } + break; + case DECORPERM_SPRITE: + curY = gTasks[taskId].data[1]; + for (j = 0; j < mapX; j++) + { + curX = gTasks[taskId].data[0] + j; + behaviorAt = MapGridGetMetatileBehaviorAt(curX, curY); + if (decoration->shape == DECORSHAPE_1x2) + { + if (!MetatileBehavior_HoldsLargeDecoration(behaviorAt)) + return FALSE; + } + else if (!MetatileBehavior_HoldsSmallDecoration(behaviorAt)) + { + if (!MetatileBehavior_HoldsLargeDecoration(behaviorAt)) + return FALSE; + } + + if (GetEventObjectIdByXYZ(curX, curY, 0) != 16) + return FALSE; + } + break; } return TRUE; } void sub_8128950(u8 taskId) { - if (sub_812853C(taskId, &gDecorations[gCurDecorInventoryItems[gCurDecorationIndex]]) == TRUE) + if (sub_812853C(taskId, &gDecorations[gCurDecorationItems[gCurDecorationIndex]]) == TRUE) { StringExpandPlaceholders(gStringVar4, gText_PlaceItHere); DisplayItemMessageOnField(taskId, gStringVar4, sub_81289D0); @@ -1646,9 +1610,9 @@ void sub_81289F0(u8 taskId) { ClearDialogWindowAndFrame(0, 0); sub_8128AAC(taskId); - if (gDecorations[gCurDecorInventoryItems[gCurDecorationIndex]].permission != DECORPERM_SOLID_MAT) + if (gDecorations[gCurDecorationItems[gCurDecorationIndex]].permission != DECORPERM_SPRITE) { - sub_8127D38(gTasks[taskId].data[0], gTasks[taskId].data[1], gCurDecorInventoryItems[gCurDecorationIndex]); + ShowDecorationOnMap(gTasks[taskId].data[0], gTasks[taskId].data[1], gCurDecorationItems[gCurDecorationIndex]); } else { @@ -1656,11 +1620,11 @@ void sub_81289F0(u8 taskId) sCurDecorMapY = gTasks[taskId].data[1] - 7; ScriptContext1_SetupScript(EventScript_275D1F); } + gSprites[sDecor_CameraSpriteObjectIdx1].pos1.y += 2; if (gMapHeader.regionMapSectionId == MAPSEC_SECRET_BASE) - { TV_PutSecretBaseVisitOnTheAir(); - } + sub_8128BBC(taskId); } @@ -1668,18 +1632,19 @@ void sub_8128AAC(u8 taskId) { u16 i; - for (i = 0; i < gUnknown_0203A17C.size; i ++) + for (i = 0; i < gDecorationContext.size; i++) { - if (gUnknown_0203A17C.items[i] == DECOR_NONE) + if (gDecorationContext.items[i] == DECOR_NONE) { - gUnknown_0203A17C.items[i] = gCurDecorInventoryItems[gCurDecorationIndex]; - gUnknown_0203A17C.pos[i] = ((gTasks[taskId].data[0] - 7) << 4) + (gTasks[taskId].data[1] - 7); + gDecorationContext.items[i] = gCurDecorationItems[gCurDecorationIndex]; + gDecorationContext.pos[i] = ((gTasks[taskId].data[0] - 7) << 4) + (gTasks[taskId].data[1] - 7); break; } } - if (!gUnknown_0203A17C.isPlayerRoom) + + if (!gDecorationContext.isPlayerRoom) { - for (i = 0; i < 16; i ++) + for (i = 0; i < 16; i++) { if (sSecretBaseItemsIndicesBuffer[i] == 0) { @@ -1690,7 +1655,7 @@ void sub_8128AAC(u8 taskId) } else { - for (i = 0; i < 12; i ++) + for (i = 0; i < 12; i++) { if (sPlayerRoomItemsIndicesBuffer[i] == 0) { @@ -1724,49 +1689,45 @@ void c1_overworld_prev_quest(u8 taskId) { switch (gTasks[taskId].data[2]) { - case 0: - ScriptContext2_Enable(); - if (!gPaletteFade.active) - { - sub_8127B04(taskId); - gTasks[taskId].data[2] = 1; - } - break; - case 1: - sub_812A3C8(); - FreeSpritePaletteByTag(OVERWORLD_PLACE_DECOR_SELECTOR_PAL_TAG); - gFieldCallback = sub_8128CD4; - SetMainCallback2(CB2_ReturnToField); - DestroyTask(taskId); - break; + case 0: + ScriptContext2_Enable(); + if (!gPaletteFade.active) + { + sub_8127B04(taskId); + gTasks[taskId].data[2] = 1; + } + break; + case 1: + sub_812A3C8(); + FreeSpritePaletteByTag(PLACE_DECORATION_SELECTOR_TAG); + gFieldCallback = sub_8128CD4; + SetMainCallback2(CB2_ReturnToField); + DestroyTask(taskId); + break; } } void sub_8128C64(u8 taskId) { - s16 *data; - - data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; switch (data[2]) { - case 0: - sub_80E9578(); - data[2] ++; - break; - case 1: - ScriptContext1_SetupScript(EventScript_275D0C); - data[2] ++; - break; - case 2: - ScriptContext2_Enable(); - data[2] ++; - break; - case 3: - if (IsWeatherNotFadingIn() == TRUE) - { - gTasks[taskId].func = sub_812764C; - } - break; + case 0: + HideSecretBaseDecorationSprites(); + data[2]++; + break; + case 1: + ScriptContext1_SetupScript(EventScript_275D0C); + data[2]++; + break; + case 2: + ScriptContext2_Enable(); + data[2]++; + break; + case 3: + if (IsWeatherNotFadingIn() == TRUE) + gTasks[taskId].func = HandleDecorationItemsMenuInput; + break; } } @@ -1783,41 +1744,40 @@ void sub_8128CD4(void) bool8 sub_8128D10(u8 taskId) { - s16 *data; - - data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; if (sDecorationLastDirectionMoved == DIR_SOUTH && data[1] - data[6] - 6 < 0) { - data[1] ++; + data[1]++; return FALSE; } + if (sDecorationLastDirectionMoved == DIR_NORTH && data[1] - 7 >= gMapHeader.mapLayout->height) { - data[1] --; + data[1]--; return FALSE; } + if (sDecorationLastDirectionMoved == DIR_WEST && data[0] - 7 < 0) { - data[0] ++; + data[0]++; return FALSE; } + if (sDecorationLastDirectionMoved == DIR_EAST && data[0] + data[5] - 8 >= gMapHeader.mapLayout->width) { - data[0] --; + data[0]--; return FALSE; } + return TRUE; } bool8 sub_8128DB4(void) { - u16 heldKeys; - - heldKeys = gMain.heldKeys & 0x0F0; + u16 heldKeys = gMain.heldKeys & DPAD_ANY; if (heldKeys != DPAD_UP && heldKeys != DPAD_DOWN && heldKeys != DPAD_LEFT && heldKeys != DPAD_RIGHT) - { return FALSE; - } + return TRUE; } @@ -1830,68 +1790,69 @@ void sub_8128DE0(void) void sub_8128E18(u8 taskId) { - s16 *data; - - data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; if (!gSprites[sDecor_CameraSpriteObjectIdx1].data[4]) { if (data[10] == 1) { gUnknown_085A72D4[data[12]].yesFunc(taskId); return; - } else if (data[10] == 2) + } + else if (data[10] == 2) { gUnknown_085A72D4[data[12]].noFunc(taskId); return; } - if ((gMain.heldKeys & 0x0F0) == DPAD_UP) + + if ((gMain.heldKeys & DPAD_ANY) == DPAD_UP) { sDecorationLastDirectionMoved = DIR_SOUTH; gSprites[sDecor_CameraSpriteObjectIdx1].data[2] = 0; gSprites[sDecor_CameraSpriteObjectIdx1].data[3] = -2; data[1]--; } - if ((gMain.heldKeys & 0x0F0) == DPAD_DOWN) + + if ((gMain.heldKeys & DPAD_ANY) == DPAD_DOWN) { sDecorationLastDirectionMoved = DIR_NORTH; gSprites[sDecor_CameraSpriteObjectIdx1].data[2] = 0; gSprites[sDecor_CameraSpriteObjectIdx1].data[3] = 2; data[1]++; } - if ((gMain.heldKeys & 0x0F0) == DPAD_LEFT) + + if ((gMain.heldKeys & DPAD_ANY) == DPAD_LEFT) { sDecorationLastDirectionMoved = DIR_WEST; gSprites[sDecor_CameraSpriteObjectIdx1].data[2] = -2; gSprites[sDecor_CameraSpriteObjectIdx1].data[3] = 0; data[0]--; } - if ((gMain.heldKeys & 0x0F0) == DPAD_RIGHT) + + if ((gMain.heldKeys & DPAD_ANY) == DPAD_RIGHT) { sDecorationLastDirectionMoved = DIR_EAST; gSprites[sDecor_CameraSpriteObjectIdx1].data[2] = 2; gSprites[sDecor_CameraSpriteObjectIdx1].data[3] = 0; data[0]++; } + if (!sub_8128DB4() || !sub_8128D10(taskId)) - { sub_8128DE0(); - } } + if (sDecorationLastDirectionMoved) { gSprites[sDecor_CameraSpriteObjectIdx1].data[4]++; gSprites[sDecor_CameraSpriteObjectIdx1].data[4] &= 7; } + if (!data[10]) { if (gMain.newKeys & A_BUTTON) - { data[10] = A_BUTTON; - } + if (gMain.newKeys & B_BUTTON) - { data[10] = B_BUTTON; - } } } @@ -1906,9 +1867,7 @@ void sub_8128FD8(u8 taskId) void sub_8129020(u8 taskId) { if (gMain.newKeys & A_BUTTON || gMain.newKeys & B_BUTTON) - { sub_8128FD8(taskId); - } } void sub_8129048(struct PlaceDecorationGraphicsDataBuffer *data) @@ -1929,49 +1888,46 @@ void sub_8129088(u8 *dest, u16 tile) mode = tile >> 10; if (tile != 0) - { tile &= 0x03FF; - } + CpuFastCopy(&((u8 *)gTilesetPointer_SecretBase->tiles)[tile << 5], buffer, 32); switch (mode) { - case 0: - CpuFastCopy(buffer, dest, 32); - break; - case 1: - for (i = 0; i < 8; i ++) - { - dest[4 * i] = (buffer[4 * (i + 1) - 1] >> 4) + ((buffer[4 * (i + 1) - 1] & 0x0F) << 4); - dest[4 * i + 1] = (buffer[4 * (i + 1) - 2] >> 4) + ((buffer[4 * (i + 1) - 2] & 0x0F) << 4); - dest[4 * i + 2] = (buffer[4 * (i + 1) - 3] >> 4) + ((buffer[4 * (i + 1) - 3] & 0x0F) << 4); - dest[4 * i + 3] = (buffer[4 * (i + 1) - 4] >> 4) + ((buffer[4 * (i + 1) - 4] & 0x0F) << 4); - } - break; - case 2: - for (i = 0; i < 8; i ++) - { - dest[4 * i] = buffer[4 * (7 - i)]; - dest[4 * i + 1] = buffer[4 * (7 - i) + 1]; - dest[4 * i + 2] = buffer[4 * (7 - i) + 2]; - dest[4 * i + 3] = buffer[4 * (7 - i) + 3]; - } - break; - case 3: - for (i = 0; i < 32; i ++) - { - dest[i] = (buffer[31 - i] >> 4) + ((buffer[31 - i] & 0x0F) << 4); - } - break; + case 0: + CpuFastCopy(buffer, dest, 32); + break; + case 1: + for (i = 0; i < 8; i++) + { + dest[4 * i] = (buffer[4 * (i + 1) - 1] >> 4) + ((buffer[4 * (i + 1) - 1] & 0x0F) << 4); + dest[4 * i + 1] = (buffer[4 * (i + 1) - 2] >> 4) + ((buffer[4 * (i + 1) - 2] & 0x0F) << 4); + dest[4 * i + 2] = (buffer[4 * (i + 1) - 3] >> 4) + ((buffer[4 * (i + 1) - 3] & 0x0F) << 4); + dest[4 * i + 3] = (buffer[4 * (i + 1) - 4] >> 4) + ((buffer[4 * (i + 1) - 4] & 0x0F) << 4); + } + break; + case 2: + for (i = 0; i < 8; i++) + { + dest[4 * i] = buffer[4 * (7 - i)]; + dest[4 * i + 1] = buffer[4 * (7 - i) + 1]; + dest[4 * i + 2] = buffer[4 * (7 - i) + 2]; + dest[4 * i + 3] = buffer[4 * (7 - i) + 3]; + } + break; + case 3: + for (i = 0; i < 32; i++) + { + dest[i] = (buffer[31 - i] >> 4) + ((buffer[31 - i] & 0x0F) << 4); + } + break; } } void sub_81291A4(struct PlaceDecorationGraphicsDataBuffer *data) { u16 i; - for (i = 0; i < 64; i ++) - { + for (i = 0; i < 64; i++) sub_8129088(&data->image[i * 32], data->tiles[i]); - } } u16 sub_81291CC(u16 tile) @@ -1985,7 +1941,7 @@ void sub_81291E8(struct PlaceDecorationGraphicsDataBuffer *data) u8 shape; shape = data->decoration->shape; - for (i = 0; i < gUnknown_085A71B0[shape].size; i ++) + for (i = 0; i < gUnknown_085A71B0[shape].size; i++) { data->tiles[gUnknown_085A71B0[shape].tiles[i]] = sub_81291CC(data->decoration->tiles[gUnknown_085A71B0[shape].y[i]] * 8 + gUnknown_085A71B0[shape].x[i]); } @@ -1998,10 +1954,10 @@ void SetDecorSelectionBoxOamAttributes(u8 decorShape) sDecorSelectorOam.objMode = ST_OAM_OBJ_NORMAL; sDecorSelectorOam.mosaic = 0; sDecorSelectorOam.bpp = ST_OAM_4BPP; - sDecorSelectorOam.shape = gUnknown_085A7250[decorShape].shape; + sDecorSelectorOam.shape = sDecorationMovementInfo[decorShape].shape; sDecorSelectorOam.x = 0; sDecorSelectorOam.matrixNum = 0; - sDecorSelectorOam.size = gUnknown_085A7250[decorShape].size; + sDecorSelectorOam.size = sDecorationMovementInfo[decorShape].size; sDecorSelectorOam.tileNum = 0; sDecorSelectorOam.priority = 0; sDecorSelectorOam.paletteNum = 0; @@ -2023,14 +1979,11 @@ void sub_81292E8(struct Sprite *sprite) if (sprite->data[7] == 0) { if (sprite->data[6] < 15) - { - sprite->invisible = FALSE; - } + sprite->invisible = 0; else - { - sprite->invisible = TRUE; - } - sprite->data[6] ++; + sprite->invisible = 1; + + sprite->data[6]++; sprite->data[6] &= 0x1F; } else @@ -2043,17 +1996,16 @@ u8 gpu_pal_decompress_alloc_tag_and_upload(struct PlaceDecorationGraphicsDataBuf { sub_8129048(data); data->decoration = &gDecorations[decor]; - if (data->decoration->permission == DECORPERM_SOLID_MAT) - { + if (data->decoration->permission == DECORPERM_SPRITE) return AddPseudoEventObject(data->decoration->tiles[0], SpriteCallbackDummy, 0, 0, 1); - } - FreeSpritePaletteByTag(OVERWORLD_PLACE_DECOR_SELECTOR_PAL_TAG); + + FreeSpritePaletteByTag(PLACE_DECORATION_SELECTOR_TAG); sub_81291E8(data); SetDecorSelectionBoxOamAttributes(data->decoration->shape); sub_81291A4(data); sub_8129068(data->palette, ((u16 *)gTilesetPointer_SecretBaseRedCave->metatiles)[(data->decoration->tiles[0] * 8) + 7] >> 12); LoadSpritePalette(&gUnknown_085A72BC); - return CreateSprite(&sDecorSelectorSpriteTemplate, 0, 0, 0); + return CreateSprite(&sDecorationSelectorSpriteTemplate, 0, 0, 0); } u8 AddDecorationIconObjectFromIconTable(u16 tilesTag, u16 paletteTag, u8 decor) @@ -2064,9 +2016,8 @@ u8 AddDecorationIconObjectFromIconTable(u16 tilesTag, u16 paletteTag, u8 decor) u8 spriteId; if (!AllocItemIconTemporaryBuffers()) - { return MAX_SPRITES; - } + LZDecompressWram(GetDecorationIconPicOrPalette(decor, 0), gItemIconDecompressionBuffer); CopyItemIconPicTo4x4Buffer(gItemIconDecompressionBuffer, gItemIcon4x4Buffer); sheet.data = gItemIcon4x4Buffer; @@ -2088,10 +2039,9 @@ u8 AddDecorationIconObjectFromIconTable(u16 tilesTag, u16 paletteTag, u8 decor) const u32 *GetDecorationIconPicOrPalette(u16 decor, u8 mode) { - if (decor > 120) - { + if (decor > NUM_DECORATIONS) decor = DECOR_NONE; - } + return gUnknown_085A6BE8[decor][mode]; } @@ -2104,7 +2054,7 @@ u8 AddDecorationIconObjectFromEventObject(u16 tilesTag, u16 paletteTag, u8 decor sub_8129048(&sPlaceDecorationGraphicsDataBuffer); sPlaceDecorationGraphicsDataBuffer.decoration = &gDecorations[decor]; - if (sPlaceDecorationGraphicsDataBuffer.decoration->permission != DECORPERM_SOLID_MAT) + if (sPlaceDecorationGraphicsDataBuffer.decoration->permission != DECORPERM_SPRITE) { sub_81291E8(&sPlaceDecorationGraphicsDataBuffer); SetDecorSelectionBoxOamAttributes(sPlaceDecorationGraphicsDataBuffer.decoration->shape); @@ -2135,13 +2085,12 @@ u8 AddDecorationIconObject(u8 decor, s16 x, s16 y, u8 priority, u16 tilesTag, u1 { u8 spriteId; - if (decor > 120) + if (decor > NUM_DECORATIONS) { spriteId = AddDecorationIconObjectFromIconTable(tilesTag, paletteTag, DECOR_NONE); if (spriteId == MAX_SPRITES) - { return MAX_SPRITES; - } + gSprites[spriteId].pos2.x = x + 4; gSprites[spriteId].pos2.y = y + 4; } @@ -2149,37 +2098,32 @@ u8 AddDecorationIconObject(u8 decor, s16 x, s16 y, u8 priority, u16 tilesTag, u1 { spriteId = AddDecorationIconObjectFromEventObject(tilesTag, paletteTag, decor); if (spriteId == MAX_SPRITES) - { return MAX_SPRITES; - } + gSprites[spriteId].pos2.x = x; if (decor == DECOR_SILVER_SHIELD || decor == DECOR_GOLD_SHIELD) - { gSprites[spriteId].pos2.y = y - 4; - } else - { gSprites[spriteId].pos2.y = y; - } } else { spriteId = AddDecorationIconObjectFromIconTable(tilesTag, paletteTag, decor); if (spriteId == MAX_SPRITES) - { return MAX_SPRITES; - } + gSprites[spriteId].pos2.x = x + 4; gSprites[spriteId].pos2.y = y + 4; } + gSprites[spriteId].oam.priority = priority; return spriteId; } void sub_81296EC(u8 idx) { - gUnknown_0203A17C.items[idx] = 0; - gUnknown_0203A17C.pos[idx] = 0; + gDecorationContext.items[idx] = 0; + gDecorationContext.pos[idx] = 0; } void sub_8129708(void) @@ -2192,11 +2136,11 @@ void sub_8129708(void) { gSpecialVar_Result = 1; } - else if (gDecorations[gUnknown_0203A17C.items[sDecorRearrangementDataBuffer[gSpecialVar_0x8004].idx]].permission == DECORPERM_SOLID_MAT) + else if (gDecorations[gDecorationContext.items[sDecorRearrangementDataBuffer[gSpecialVar_0x8004].idx]].permission == DECORPERM_SPRITE) { gSpecialVar_0x8005 = sDecorRearrangementDataBuffer[gSpecialVar_0x8004].flagId; sub_81296EC(sDecorRearrangementDataBuffer[gSpecialVar_0x8004].idx); - for (i = 0; i < gMapHeader.events->eventObjectCount; i ++) + for (i = 0; i < gMapHeader.events->eventObjectCount; i++) { if (gMapHeader.events->eventObjects[i].flagId == gSpecialVar_0x8005) { @@ -2211,7 +2155,7 @@ void sub_81297AC(void) { u8 i; - for (i = 0; i < gMapHeader.events->eventObjectCount; i ++) + for (i = 0; i < gMapHeader.events->eventObjectCount; i++) { if (gMapHeader.events->eventObjects[i].flagId == gSpecialVar_0x8004) { @@ -2230,20 +2174,21 @@ void sub_81297F8(void) int posY; u8 perm; - for (i = 0; i < sCurDecorSelectedInRearrangement; i ++) + for (i = 0; i < sCurDecorSelectedInRearrangement; i++) { - perm = gDecorations[gUnknown_0203A17C.items[sDecorRearrangementDataBuffer[i].idx]].permission; - posX = gUnknown_0203A17C.pos[sDecorRearrangementDataBuffer[i].idx] >> 4; - posY = gUnknown_0203A17C.pos[sDecorRearrangementDataBuffer[i].idx] & 0x0F; - if (perm != DECORPERM_SOLID_MAT) + perm = gDecorations[gDecorationContext.items[sDecorRearrangementDataBuffer[i].idx]].permission; + posX = gDecorationContext.pos[sDecorRearrangementDataBuffer[i].idx] >> 4; + posY = gDecorationContext.pos[sDecorRearrangementDataBuffer[i].idx] & 0x0F; + if (perm != DECORPERM_SPRITE) { - for (y = 0; y < sDecorRearrangementDataBuffer[i].height; y ++) + for (y = 0; y < sDecorRearrangementDataBuffer[i].height; y++) { - for (x = 0; x < sDecorRearrangementDataBuffer[i].width; x ++) + for (x = 0; x < sDecorRearrangementDataBuffer[i].width; x++) { MapGridSetMetatileEntryAt(posX + 7 + x, posY + 7 - y, gMapHeader.mapLayout->map[posX + x + gMapHeader.mapLayout->width * (posY - y)] | 0x3000); } } + sub_81296EC(sDecorRearrangementDataBuffer[i].idx); } } @@ -2253,35 +2198,33 @@ void sub_81298EC(u8 taskId) { switch (gTasks[taskId].data[2]) { - case 0: - sub_81297F8(); - gTasks[taskId].data[2] = 1; - break; - case 1: - if (!gPaletteFade.active) { - DrawWholeMapView(); - ScriptContext1_SetupScript(EventScript_275D2E); - ClearDialogWindowAndFrame(0, 1); - gTasks[taskId].data[2] = 2; - } - break; - case 2: - ScriptContext2_Enable(); - IdentifyOwnedDecorationsCurrentlyInUseInternal(taskId); - pal_fill_black(); - gTasks[taskId].data[2] = 3; - break; - case 3: - if (IsWeatherNotFadingIn() == TRUE) - { - StringExpandPlaceholders(gStringVar4, gText_DecorationReturnedToPC); - DisplayItemMessageOnField(taskId, gStringVar4, sub_8129D64); - if (gMapHeader.regionMapSectionId == MAPSEC_SECRET_BASE) - { - TV_PutSecretBaseVisitOnTheAir(); - } - } - break; + case 0: + sub_81297F8(); + gTasks[taskId].data[2] = 1; + break; + case 1: + if (!gPaletteFade.active) { + DrawWholeMapView(); + ScriptContext1_SetupScript(EventScript_275D2E); + ClearDialogWindowAndFrame(0, 1); + gTasks[taskId].data[2] = 2; + } + break; + case 2: + ScriptContext2_Enable(); + IdentifyOwnedDecorationsCurrentlyInUseInternal(taskId); + pal_fill_black(); + gTasks[taskId].data[2] = 3; + break; + case 3: + if (IsWeatherNotFadingIn() == TRUE) + { + StringExpandPlaceholders(gStringVar4, gText_DecorationReturnedToPC); + DisplayItemMessageOnField(taskId, gStringVar4, sub_8129D64); + if (gMapHeader.regionMapSectionId == MAPSEC_SECRET_BASE) + TV_PutSecretBaseVisitOnTheAir(); + } + break; } } @@ -2289,14 +2232,12 @@ void sub_81298EC(u8 taskId) bool8 sub_81299AC(u8 taskId) { u16 i; - - for (i = 0; i < gUnknown_0203A17C.size; i ++) + for (i = 0; i < gDecorationContext.size; i++) { - if (gUnknown_0203A17C.items[i] != DECOR_NONE) - { + if (gDecorationContext.items[i] != DECOR_NONE) return TRUE; - } } + return FALSE; } @@ -2305,15 +2246,12 @@ void SetUpPuttingAwayDecorationPlayerAvatar(void) GetPlayerFacingDirection(); sDecor_CameraSpriteObjectIdx1 = gSprites[gFieldCamera.spriteId].data[0]; sub_812A39C(); - gFieldCamera.spriteId = CreateSprite(&gUnknown_085A7404, 0x78, 0x50, 0); + gFieldCamera.spriteId = CreateSprite(&gUnknown_085A7404, 120, 80, 0); if (gSaveBlock2Ptr->playerGender == MALE) - { - sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(0xC1, SpriteCallbackDummy, 0x88, 0x48, 0); - } + sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(EVENT_OBJ_GFX_BRENDAN_DECORATING, SpriteCallbackDummy, 136, 72, 0); else - { - sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(0xC2, SpriteCallbackDummy, 0x88, 0x48, 0); - } + sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(EVENT_OBJ_GFX_MAY_DECORATING, SpriteCallbackDummy, 136, 72, 0); + gSprites[sDecor_CameraSpriteObjectIdx2].oam.priority = 1; DestroySprite(&gSprites[sDecor_CameraSpriteObjectIdx1]); sDecor_CameraSpriteObjectIdx1 = gFieldCamera.spriteId; @@ -2327,27 +2265,27 @@ void sub_8129ABC(u8 taskId) data = gTasks[taskId].data; switch (data[2]) { - case 0: - if (!gPaletteFade.active) - { - sub_8127ACC(taskId); - data[2] = 1; - data[6] = 1; - data[5] = 1; - } - break; - case 1: - SetUpPuttingAwayDecorationPlayerAvatar(); - pal_fill_black(); - data[2] = 2; - break; - case 2: - if (IsWeatherNotFadingIn() == TRUE) - { - data[12] = 1; - sub_8129B34(taskId); - } - break; + case 0: + if (!gPaletteFade.active) + { + sub_8127ACC(taskId); + data[2] = 1; + data[6] = 1; + data[5] = 1; + } + break; + case 1: + SetUpPuttingAwayDecorationPlayerAvatar(); + pal_fill_black(); + data[2] = 2; + break; + case 2: + if (IsWeatherNotFadingIn() == TRUE) + { + data[12] = 1; + sub_8129B34(taskId); + } + break; } } @@ -2357,8 +2295,8 @@ void sub_8129B34(u8 taskId) gSprites[sDecor_CameraSpriteObjectIdx1].data[7] = 0; gSprites[sDecor_CameraSpriteObjectIdx1].invisible = FALSE; gSprites[sDecor_CameraSpriteObjectIdx1].callback = sub_812A36C; - gSprites[sDecor_CameraSpriteObjectIdx2].pos1.x = 0x88; - gSprites[sDecor_CameraSpriteObjectIdx2].pos1.y = 0x48; + gSprites[sDecor_CameraSpriteObjectIdx2].pos1.x = 136; + gSprites[sDecor_CameraSpriteObjectIdx2].pos1.y = 72; gTasks[taskId].data[10] = 0; gTasks[taskId].func = sub_8128E18; } @@ -2413,9 +2351,7 @@ void sub_8129C74(u8 taskId) void sub_8129D64(u8 taskId) { if (gMain.newKeys & A_BUTTON || gMain.newKeys & B_BUTTON) - { sub_8129B34(taskId); - } } void sub_8129D8C(u8 decor, struct DecorRearrangementDataBuffer *data) @@ -2424,39 +2360,48 @@ void sub_8129D8C(u8 decor, struct DecorRearrangementDataBuffer *data) { data->width = 1; data->height = 1; - } else if (gDecorations[decor].shape == DECORSHAPE_2x1) + } + else if (gDecorations[decor].shape == DECORSHAPE_2x1) { data->width = 2; data->height = 1; - } else if (gDecorations[decor].shape == DECORSHAPE_3x1) + } + else if (gDecorations[decor].shape == DECORSHAPE_3x1) { data->width = 3; data->height = 1; - } else if (gDecorations[decor].shape == DECORSHAPE_4x2) + } + else if (gDecorations[decor].shape == DECORSHAPE_4x2) { data->width = 4; data->height = 2; - } else if (gDecorations[decor].shape == DECORSHAPE_2x2) + } + else if (gDecorations[decor].shape == DECORSHAPE_2x2) { data->width = 2; data->height = 2; - } else if (gDecorations[decor].shape == DECORSHAPE_1x2) + } + else if (gDecorations[decor].shape == DECORSHAPE_1x2) { data->width = 1; data->height = 2; - } else if (gDecorations[decor].shape == DECORSHAPE_1x3) + } + else if (gDecorations[decor].shape == DECORSHAPE_1x3) { data->width = 1; data->height = 3; - } else if (gDecorations[decor].shape == DECORSHAPE_2x4) + } + else if (gDecorations[decor].shape == DECORSHAPE_2x4) { data->width = 2; data->height = 4; - } else if (gDecorations[decor].shape == DECORSHAPE_3x3) + } + else if (gDecorations[decor].shape == DECORSHAPE_3x3) { data->width = 3; data->height = 3; - } else if (gDecorations[decor].shape == DECORSHAPE_3x2) + } + else if (gDecorations[decor].shape == DECORSHAPE_3x2) { data->width = 3; data->height = 2; @@ -2467,8 +2412,8 @@ void sub_8129E0C(u8 x, u8 y) { gSprites[sDecor_CameraSpriteObjectIdx1].invisible = TRUE; gSprites[sDecor_CameraSpriteObjectIdx1].callback = SpriteCallbackDummy; - gSprites[sDecor_CameraSpriteObjectIdx2].pos1.x = (x << 4) + 0x88; - gSprites[sDecor_CameraSpriteObjectIdx2].pos1.y = (y << 4) + 0x48; + gSprites[sDecor_CameraSpriteObjectIdx2].pos1.x = (x << 4) + 136; + gSprites[sDecor_CameraSpriteObjectIdx2].pos1.y = (y << 4) + 72; } bool8 sub_8129E74(u8 taskId, u8 idx, struct DecorRearrangementDataBuffer *data) @@ -2481,18 +2426,18 @@ bool8 sub_8129E74(u8 taskId, u8 idx, struct DecorRearrangementDataBuffer *data) x = gTasks[taskId].data[0] - 7; y = gTasks[taskId].data[1] - 7; - xOff = gUnknown_0203A17C.pos[idx] >> 4; - yOff = gUnknown_0203A17C.pos[idx] & 0x0F; + xOff = gDecorationContext.pos[idx] >> 4; + yOff = gDecorationContext.pos[idx] & 0x0F; ht = data->height; - if (gUnknown_0203A17C.items[idx] == DECOR_SAND_ORNAMENT && MapGridGetMetatileIdAt(xOff + 7, yOff + 7) == 0x28C) - { - ht --; - } + if (gDecorationContext.items[idx] == DECOR_SAND_ORNAMENT && MapGridGetMetatileIdAt(xOff + 7, yOff + 7) == 0x28C) + ht--; + if (x >= xOff && x < xOff + data->width && y > yOff - ht && y <= yOff) { sub_8129E0C(data->width - (x - xOff + 1), yOff - y); return TRUE; } + return FALSE; } @@ -2502,9 +2447,9 @@ void sub_8129F20(void) u8 yOff; u16 i; - xOff = gUnknown_0203A17C.pos[sDecorRearrangementDataBuffer[sCurDecorSelectedInRearrangement].idx] >> 4; - yOff = gUnknown_0203A17C.pos[sDecorRearrangementDataBuffer[sCurDecorSelectedInRearrangement].idx] & 0x0F; - for (i = 0; i < 0x40; i ++) + xOff = gDecorationContext.pos[sDecorRearrangementDataBuffer[sCurDecorSelectedInRearrangement].idx] >> 4; + yOff = gDecorationContext.pos[sDecorRearrangementDataBuffer[sCurDecorSelectedInRearrangement].idx] & 0x0F; + for (i = 0; i < 0x40; i++) { if (gSaveBlock1Ptr->eventObjectTemplates[i].x == xOff && gSaveBlock1Ptr->eventObjectTemplates[i].y == yOff && !FlagGet(gSaveBlock1Ptr->eventObjectTemplates[i].flagId)) { @@ -2518,13 +2463,13 @@ bool8 sub_8129FC8(u8 taskId) { u16 i; - for (i = 0; i < gUnknown_0203A17C.size; i ++) + for (i = 0; i < gDecorationContext.size; i++) { - if (gUnknown_0203A17C.items[i] != 0) + if (gDecorationContext.items[i] != 0) { - if (gDecorations[gUnknown_0203A17C.items[i]].permission == DECORPERM_SOLID_MAT) + if (gDecorations[gDecorationContext.items[i]].permission == DECORPERM_SPRITE) { - sub_8129D8C(gUnknown_0203A17C.items[i], sDecorRearrangementDataBuffer); + sub_8129D8C(gDecorationContext.items[i], sDecorRearrangementDataBuffer); if (sub_8129E74(taskId, i, sDecorRearrangementDataBuffer) == TRUE) { sDecorRearrangementDataBuffer->idx = i; @@ -2545,12 +2490,12 @@ void sub_812A040(u8 left, u8 top, u8 right, u8 bottom) u8 yOff; u8 decorIdx; - for (i = 0; i < gUnknown_0203A17C.size; i ++) + for (i = 0; i < gDecorationContext.size; i++) { - decorIdx = gUnknown_0203A17C.items[i]; - xOff = gUnknown_0203A17C.pos[i] >> 4; - yOff = gUnknown_0203A17C.pos[i] & 0x0F; - if (decorIdx != 0 && gDecorations[decorIdx].permission == DECORPERM_SOLID_MAT && left <= xOff && top <= yOff && right >= xOff && bottom >= yOff) + decorIdx = gDecorationContext.items[i]; + xOff = gDecorationContext.pos[i] >> 4; + yOff = gDecorationContext.pos[i] & 0x0F; + if (decorIdx != 0 && gDecorations[decorIdx].permission == DECORPERM_SPRITE && left <= xOff && top <= yOff && right >= xOff && bottom >= yOff) { sDecorRearrangementDataBuffer[sCurDecorSelectedInRearrangement].idx = i; sub_8129F20(); @@ -2570,9 +2515,9 @@ void sub_812A0E8(u8 taskId) sCurDecorSelectedInRearrangement = 0; if (sub_8129FC8(taskId) != TRUE) { - for (i = 0; i < gUnknown_0203A17C.size; i++) + for (i = 0; i < gDecorationContext.size; i++) { - var1 = gUnknown_0203A17C.items[i]; + var1 = gDecorationContext.items[i]; if (var1 != DECOR_NONE) { sub_8129D8C(var1, &sDecorRearrangementDataBuffer[0]); @@ -2586,8 +2531,8 @@ void sub_812A0E8(u8 taskId) } if (sCurDecorSelectedInRearrangement != 0) { - xOff = gUnknown_0203A17C.pos[sDecorRearrangementDataBuffer[0].idx] >> 4; - yOff = gUnknown_0203A17C.pos[sDecorRearrangementDataBuffer[0].idx] & 0x0F; + xOff = gDecorationContext.pos[sDecorRearrangementDataBuffer[0].idx] >> 4; + yOff = gDecorationContext.pos[sDecorRearrangementDataBuffer[0].idx] & 0x0F; var1 = yOff - sDecorRearrangementDataBuffer[0].height + 1; var2 = sDecorRearrangementDataBuffer[0].width + xOff - 1; @@ -2632,47 +2577,43 @@ void sub_812A25C(u8 taskId) { switch (gTasks[taskId].data[2]) { - case 0: - if (!gPaletteFade.active) - { - sub_8127B04(taskId); - gTasks[taskId].data[2] = 1; - } - break; - case 1: - sub_812A3C8(); - gFieldCallback = sub_812A334; - SetMainCallback2(CB2_ReturnToField); - DestroyTask(taskId); - break; + case 0: + if (!gPaletteFade.active) + { + sub_8127B04(taskId); + gTasks[taskId].data[2] = 1; + } + break; + case 1: + sub_812A3C8(); + gFieldCallback = sub_812A334; + SetMainCallback2(CB2_ReturnToField); + DestroyTask(taskId); + break; } } void sub_812A2C4(u8 taskId) { - s16 *data; - - data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; switch (data[2]) { - case 0: - sub_80E9578(); - data[2] ++; - break; - case 1: - ScriptContext1_SetupScript(EventScript_275D0C); - data[2] ++; - break; - case 2: - ScriptContext2_Enable(); - data[2] ++; - break; - case 3: - if (IsWeatherNotFadingIn() == TRUE) - { - gTasks[taskId].func = sub_8126B80; - } - break; + case 0: + HideSecretBaseDecorationSprites(); + data[2]++; + break; + case 1: + ScriptContext1_SetupScript(EventScript_275D0C); + data[2]++; + break; + case 2: + ScriptContext2_Enable(); + data[2]++; + break; + case 3: + if (IsWeatherNotFadingIn() == TRUE) + gTasks[taskId].func = HandleDecorationActionsMenuInput; + break; } } @@ -2682,47 +2623,39 @@ void sub_812A334(void) pal_fill_black(); DrawDialogueFrame(0, 1); - sub_8126ABC(); + InitDecorationActionsWindow(); taskId = CreateTask(sub_812A2C4, 8); gTasks[taskId].data[2] = 0; } void sub_812A36C(struct Sprite *sprite) { - sprite->data[0] ++; + sprite->data[0]++; sprite->data[0] &= 0x1F; if (sprite->data[0] > 15) - { sprite->invisible = TRUE; - } else - { sprite->invisible = FALSE; - } } void sub_812A39C(void) { if (gSaveBlock2Ptr->playerGender == MALE) - { LoadSpritePalette(&gUnknown_085A73D8); - } else - { LoadSpritePalette(&gUnknown_085A73E0); - } } void sub_812A3C8(void) { - FreeSpritePaletteByTag(OVERWORLD_PLACE_DECOR_PLAYER_PAL_TAG); + FreeSpritePaletteByTag(PLACE_DECORATION_PLAYER_TAG); } void sub_812A3D4(u8 taskId) { if (IsSelectedDecorInThePC() == TRUE) { - StringCopy(gStringVar1, gDecorations[gCurDecorInventoryItems[gCurDecorationIndex]].name); + StringCopy(gStringVar1, gDecorations[gCurDecorationItems[gCurDecorationIndex]].name); StringExpandPlaceholders(gStringVar4, gText_DecorationWillBeDiscarded); DisplayItemMessageOnField(taskId, gStringVar4, sub_812A458); } @@ -2741,9 +2674,9 @@ void sub_812A458(u8 taskId) void sub_812A478(u8 taskId) { - gCurDecorInventoryItems[gCurDecorationIndex] = DECOR_NONE; - sCurDecorCatCount = CountDecorationCategoryN(sCurDecorationCategory); - CondenseDecorationCategoryN(sCurDecorationCategory); + gCurDecorationItems[gCurDecorationIndex] = DECOR_NONE; + sNumOwnedDecorationsInCurCategory = GetNumOwnedDecorationsInCategory(sCurDecorationCategory); + CondenseDecorationsInCategory(sCurDecorationCategory); IdentifyOwnedDecorationsCurrentlyInUseInternal(taskId); StringExpandPlaceholders(gStringVar4, gText_DecorationThrownAway); DisplayItemMessageOnField(taskId, gStringVar4, sub_8127A5C); diff --git a/src/decoration_inventory.c b/src/decoration_inventory.c index 308320206c..80646c69c0 100644 --- a/src/decoration_inventory.c +++ b/src/decoration_inventory.c @@ -32,7 +32,7 @@ void SetDecorationInventoriesPointers(void) SET_DECOR_INV(5, gSaveBlock1Ptr->decorPoster); SET_DECOR_INV(6, gSaveBlock1Ptr->decorDoll); SET_DECOR_INV(7, gSaveBlock1Ptr->decorCushion); - sub_8126968(); + InitDecorationContextItems(); } static void ClearDecorationInventory(u8 idx) @@ -120,7 +120,7 @@ bool8 DecorationCheckSpace(u8 decor) s8 DecorationRemove(u8 decor) { u8 i; - u8 idx; + u8 category; i = 0; if (decor == DECOR_NONE) @@ -129,38 +129,38 @@ s8 DecorationRemove(u8 decor) } for (i = 0; i < gDecorationInventories[gDecorations[decor].category].size; i ++) { - idx = gDecorations[decor].category; - if (gDecorationInventories[idx].items[i] == decor) + category = gDecorations[decor].category; + if (gDecorationInventories[category].items[i] == decor) { - gDecorationInventories[idx].items[i] = DECOR_NONE; - CondenseDecorationCategoryN(idx); + gDecorationInventories[category].items[i] = DECOR_NONE; + CondenseDecorationsInCategory(category); return 1; } } return 0; } -void CondenseDecorationCategoryN(u8 idx) +void CondenseDecorationsInCategory(u8 category) { u8 i; u8 j; u8 tmp; - for (i = 0; i < gDecorationInventories[idx].size; i ++) + for (i = 0; i < gDecorationInventories[category].size; i ++) { - for (j = i + 1; j < gDecorationInventories[idx].size; j ++) + for (j = i + 1; j < gDecorationInventories[category].size; j ++) { - if (gDecorationInventories[idx].items[j] != DECOR_NONE && (gDecorationInventories[idx].items[i] == DECOR_NONE || gDecorationInventories[idx].items[i] > gDecorationInventories[idx].items[j])) + if (gDecorationInventories[category].items[j] != DECOR_NONE && (gDecorationInventories[category].items[i] == DECOR_NONE || gDecorationInventories[category].items[i] > gDecorationInventories[category].items[j])) { - tmp = gDecorationInventories[idx].items[i]; - gDecorationInventories[idx].items[i] = gDecorationInventories[idx].items[j]; - gDecorationInventories[idx].items[j] = tmp; + tmp = gDecorationInventories[category].items[i]; + gDecorationInventories[category].items[i] = gDecorationInventories[category].items[j]; + gDecorationInventories[category].items[j] = tmp; } } } } -u8 CountDecorationCategoryN(u8 idx) +u8 GetNumOwnedDecorationsInCategory(u8 idx) { u8 i; u8 ct; @@ -176,15 +176,14 @@ u8 CountDecorationCategoryN(u8 idx) return ct; } -u8 CountDecorations(void) +u8 GetNumOwnedDecorations(void) { - u8 idx; - u8 ct; + u8 category; + u8 count; - ct = 0; - for (idx = 0; idx < 8; idx ++) - { - ct += CountDecorationCategoryN(idx); - } - return ct; + count = 0; + for (category = 0; category < DECORCAT_COUNT; category++) + count += GetNumOwnedDecorationsInCategory(category); + + return count; } diff --git a/src/diploma.c b/src/diploma.c index 2113b09edc..92c7df7036 100644 --- a/src/diploma.c +++ b/src/diploma.c @@ -14,6 +14,7 @@ #include "overworld.h" #include "menu.h" #include "pokedex.h" +#include "constants/rgb.h" extern const u8 gText_DexNational[]; extern const u8 gText_DexHoenn[]; @@ -83,7 +84,7 @@ void CB2_ShowDiploma(void) CopyBgTilemapBufferToVram(1); DisplayDiplomaText(); BlendPalettes(-1, 16, 0); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); EnableInterrupts(1); SetVBlankCallback(VBlankCB); SetMainCallback2(MainCB2); @@ -108,7 +109,7 @@ static void Task_DiplomaWaitForKeyPress(u8 taskId) { if (gMain.newKeys & (A_BUTTON | B_BUTTON)) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); gTasks[taskId].func = Task_DiplomaFadeOut; } } diff --git a/src/dodrio_berry_picking.c b/src/dodrio_berry_picking.c index 38157aa92d..966dccfcf8 100644 --- a/src/dodrio_berry_picking.c +++ b/src/dodrio_berry_picking.c @@ -360,7 +360,7 @@ void sub_8024BC8(u8 taskId) { if (gReceivedRemoteLinkPlayers != 0) { - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(0, 0); } gUnknown_02022C98->unk_000C++; diff --git a/src/easy_chat.c b/src/easy_chat.c index 4388592f77..93456631aa 100644 --- a/src/easy_chat.c +++ b/src/easy_chat.c @@ -2,7 +2,7 @@ #include "alloc.h" #include "bard_music.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "dewford_trend.h" #include "dynamic_placeholder_text_util.h" @@ -32,6 +32,7 @@ #include "constants/flags.h" #include "constants/songs.h" #include "constants/species.h" +#include "constants/rgb.h" #define EZCHAT_TASK_STATE 0 #define EZCHAT_TASK_TYPE 1 @@ -1139,20 +1140,20 @@ static void sub_811A2FC(u8 taskId) case 0: SetVBlankCallback(VBlankCallback_EasyChatScreen); BlendPalettes(0xFFFFFFFF, 16, 0); - BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); data[EZCHAT_TASK_STATE] = 5; break; case 1: v0 = sub_811AAAC(); if (sub_811A88C(v0)) { - BeginNormalPaletteFade(0xFFFFFFFF, -2, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, -2, 0, 16, RGB_BLACK); data[EZCHAT_TASK_STATE] = 3; data[EZCHAT_TASK_UNK06] = v0; } else if (v0 == 0x18) { - BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK); data[EZCHAT_TASK_STATE] = 4; } else if (v0 != 0) diff --git a/src/egg_hatch.c b/src/egg_hatch.c index fc559e0018..605cd0366c 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -33,7 +33,9 @@ #include "naming_screen.h" #include "pokemon_storage_system.h" #include "field_screen_effect.h" +#include "data.h" #include "battle.h" // to get rid of later +#include "constants/rgb.h" struct EggHatchData { @@ -52,7 +54,6 @@ struct EggHatchData u8 textColor[3]; }; -extern const struct CompressedSpriteSheet gMonFrontPicTable[]; extern const u32 gUnknown_08331F60[]; // tilemap gameboy circle extern const u8 gText_HatchedFromEgg[]; extern const u8 gText_NickHatchPrompt[]; @@ -596,7 +597,7 @@ static void CB2_EggHatch_1(void) switch (sEggHatchData->CB2_state) { case 0: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); sEggHatchData->eggSpriteID = CreateSprite(&sSpriteTemplate_EggHatch, 120, 75, 5); ShowBg(0); ShowBg(1); @@ -679,7 +680,7 @@ static void CB2_EggHatch_1(void) } break; case 11: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); sEggHatchData->CB2_state++; break; case 12: @@ -789,7 +790,7 @@ static void SpriteCB_Egg_4(struct Sprite* sprite) { s16 i; if (sprite->data[0] == 0) - BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 0x10, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 0x10, RGB_WHITEALPHA); if (sprite->data[0] < 4u) { for (i = 0; i <= 3; i++) @@ -813,7 +814,7 @@ static void SpriteCB_Egg_5(struct Sprite* sprite) StartSpriteAffineAnim(&gSprites[sEggHatchData->pokeSpriteID], 1); } if (sprite->data[0] == 8) - BeginNormalPaletteFade(0xFFFFFFFF, -1, 0x10, 0, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0x10, 0, RGB_WHITEALPHA); if (sprite->data[0] <= 9) gSprites[sEggHatchData->pokeSpriteID].pos1.y -= 1; if (sprite->data[0] > 40) diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 45b721f560..75f758a129 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -25,6 +25,7 @@ #include "constants/event_object_movement_constants.h" #include "constants/event_objects.h" #include "constants/field_effects.h" +#include "constants/items.h" // this file was known as evobjmv.c in Game Freak's original source @@ -1534,10 +1535,10 @@ static u8 TrySetupEventObjectSprite(struct EventObjectTemplate *eventObjectTempl paletteSlot -= 16; sub_808EAB0(graphicsInfo->paletteTag1, paletteSlot); } + if (eventObject->movementType == MOVEMENT_TYPE_INVISIBLE) - { eventObject->invisible = TRUE; - } + *(u16 *)&spriteTemplate->paletteTag = 0xFFFF; spriteId = CreateSprite(spriteTemplate, 0, 0, 0); if (spriteId == MAX_SPRITES) @@ -1545,6 +1546,7 @@ static u8 TrySetupEventObjectSprite(struct EventObjectTemplate *eventObjectTempl gEventObjects[eventObjectId].active = FALSE; return EVENT_OBJECTS_COUNT; } + sprite = &gSprites[spriteId]; sub_8092FF0(eventObject->currentCoords.x + cameraX, eventObject->currentCoords.y + cameraY, &sprite->pos1.x, &sprite->pos1.y); sprite->centerToCornerVecX = -(graphicsInfo->width >> 1); @@ -1557,15 +1559,14 @@ static u8 TrySetupEventObjectSprite(struct EventObjectTemplate *eventObjectTempl eventObject->spriteId = spriteId; eventObject->inanimate = graphicsInfo->inanimate; if (!eventObject->inanimate) - { StartSpriteAnim(sprite, GetFaceDirectionAnimNum(eventObject->facingDirection)); - } + SetObjectSubpriorityByZCoord(eventObject->previousElevation, sprite, 1); UpdateEventObjectVisibility(eventObject, sprite); return eventObjectId; } -static u8 TrySpawnEventObject(struct EventObjectTemplate *eventObjectTemplate, u8 mapNum, u8 mapGroup, s16 cameraX, s16 cameraY) +static u8 TrySpawnEventObjectTemplate(struct EventObjectTemplate *eventObjectTemplate, u8 mapNum, u8 mapGroup, s16 cameraX, s16 cameraY) { u8 eventObjectId; struct SpriteTemplate spriteTemplate; @@ -1579,14 +1580,12 @@ static u8 TrySpawnEventObject(struct EventObjectTemplate *eventObjectTemplate, u spriteTemplate.images = &spriteFrameImage; eventObjectId = TrySetupEventObjectSprite(eventObjectTemplate, &spriteTemplate, mapNum, mapGroup, cameraX, cameraY); if (eventObjectId == EVENT_OBJECTS_COUNT) - { return EVENT_OBJECTS_COUNT; - } + gSprites[gEventObjects[eventObjectId].spriteId].images = graphicsInfo->images; - if (subspriteTables != NULL) - { + if (subspriteTables) SetSubspriteTables(&gSprites[gEventObjects[eventObjectId].spriteId], subspriteTables); - } + return eventObjectId; } @@ -1596,7 +1595,7 @@ u8 SpawnSpecialEventObject(struct EventObjectTemplate *eventObjectTemplate) s16 cameraY; GetEventObjectMovingCameraOffset(&cameraX, &cameraY); - return TrySpawnEventObject(eventObjectTemplate, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, cameraX, cameraY); + return TrySpawnEventObjectTemplate(eventObjectTemplate, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, cameraX, cameraY); } u8 SpawnSpecialEventObjectParameterized(u8 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 z) @@ -1619,19 +1618,17 @@ u8 SpawnSpecialEventObjectParameterized(u8 graphicsId, u8 movementBehavior, u8 l return SpawnSpecialEventObject(&eventObjectTemplate); } -u8 show_sprite(u8 localId, u8 mapNum, u8 mapGroup) +u8 TrySpawnEventObject(u8 localId, u8 mapNum, u8 mapGroup) { struct EventObjectTemplate *eventObjectTemplate; - s16 cameraX; - s16 cameraY; + s16 cameraX, cameraY; eventObjectTemplate = GetEventObjectTemplateByLocalIdAndMap(localId, mapNum, mapGroup); - if (eventObjectTemplate == NULL) - { + if (!eventObjectTemplate) return EVENT_OBJECTS_COUNT; - } + GetEventObjectMovingCameraOffset(&cameraX, &cameraY); - return TrySpawnEventObject(eventObjectTemplate, mapNum, mapGroup, cameraX, cameraY); + return TrySpawnEventObjectTemplate(eventObjectTemplate, mapNum, mapGroup, cameraX, cameraY); } static void MakeObjectTemplateFromEventObjectGraphicsInfo(u16 graphicsId, void (*callback)(struct Sprite *), struct SpriteTemplate *spriteTemplate, const struct SubspriteTable **subspriteTables) @@ -1765,7 +1762,7 @@ void TrySpawnEventObjects(s16 cameraX, s16 cameraY) if (top <= npcY && bottom >= npcY && left <= npcX && right >= npcX && !FlagGet(template->flagId)) - TrySpawnEventObject(template, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, cameraX, cameraY); + TrySpawnEventObjectTemplate(template, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, cameraX, cameraY); } } } @@ -2009,10 +2006,9 @@ static void get_berry_tree_graphics(struct EventObject *eventObject, struct Spri sprite->invisible = FALSE; berryId = GetBerryTypeByBerryTreeId(eventObject->trainerRange_berryTreeId) - 1; berryStage--; - if (berryId >= NUM_BERRIES) - { + if (berryId > ITEM_TO_BERRY(LAST_BERRY_INDEX)) berryId = 0; - } + EventObjectSetGraphicsId(eventObject, gBerryTreeEventObjectGraphicsIdTablePointers[berryId][berryStage]); sprite->images = gBerryTreePicTablePointers[berryId]; sprite->oam.paletteNum = gBerryTreePaletteSlotTablePointers[berryId][berryStage]; @@ -2245,7 +2241,7 @@ static void SetEventObjectCoords(struct EventObject *eventObject, s16 x, s16 y) eventObject->currentCoords.y = y; } -void sub_808EB08(struct EventObject *eventObject, s16 x, s16 y) +void MoveEventObjectToMapCoords(struct EventObject *eventObject, s16 x, s16 y) { struct Sprite *sprite; const struct EventObjectGraphicsInfo *graphicsInfo; @@ -2260,20 +2256,17 @@ void sub_808EB08(struct EventObject *eventObject, s16 x, s16 y) sprite->pos1.y += 16 + sprite->centerToCornerVecY; sub_808E38C(eventObject); if (eventObject->trackedByCamera) - { CameraObjectReset1(); - } } -void sub_808EBA8(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y) +void TryMoveEventObjectToMapCoords(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y) { u8 eventObjectId; - if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) { x += 7; y += 7; - sub_808EB08(&gEventObjects[eventObjectId], x, y); + MoveEventObjectToMapCoords(&gEventObjects[eventObjectId], x, y); } } @@ -2604,15 +2597,13 @@ void OverrideTemplateCoordsForEventObject(const struct EventObject *eventObject) } } -void OverrideMovementTypeForEventObject(const struct EventObject *eventObject, const u8 *script) +static void OverrideEventObjectTemplateScript(const struct EventObject *eventObject, const u8 *script) { struct EventObjectTemplate *eventObjectTemplate; eventObjectTemplate = GetBaseTemplateForEventObject(eventObject); - if (eventObjectTemplate != NULL) - { + if (eventObjectTemplate) eventObjectTemplate->script = script; - } } void TryOverrideTemplateCoordsForEventObject(const struct EventObject *eventObject, u8 movementType) @@ -2626,30 +2617,26 @@ void TryOverrideTemplateCoordsForEventObject(const struct EventObject *eventObje } } -void sub_808F254(u8 localId, u8 mapNum, u8 mapGroup) +void TryOverrideEventObjectTemplateCoords(u8 localId, u8 mapNum, u8 mapGroup) { u8 eventObjectId; - if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) - { OverrideTemplateCoordsForEventObject(&gEventObjects[eventObjectId]); - } } -void sub_808F28C(u8 localId, u8 mapNum, u8 mapGroup, u8 decorCat) +void OverrideSecretBaseDecorationSpriteScript(u8 localId, u8 mapNum, u8 mapGroup, u8 decorationCategory) { u8 eventObjectId; - if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) { - switch (decorCat) + switch (decorationCategory) { - case DECORCAT_DOLL: - OverrideMovementTypeForEventObject(&gEventObjects[eventObjectId], EventScript_SecretPower1); - break; - case DECORCAT_CUSHION: - OverrideMovementTypeForEventObject(&gEventObjects[eventObjectId], EventScript_SecretPower2); - break; + case DECORCAT_DOLL: + OverrideEventObjectTemplateScript(&gEventObjects[eventObjectId], SecretBase_EventScript_DollInteract); + break; + case DECORCAT_CUSHION: + OverrideEventObjectTemplateScript(&gEventObjects[eventObjectId], SecretBase_EventScript_CushionInteract); + break; } } } diff --git a/src/evolution_graphics.c b/src/evolution_graphics.c index e36d47c2bb..816929f8b4 100644 --- a/src/evolution_graphics.c +++ b/src/evolution_graphics.c @@ -8,6 +8,7 @@ #include "sound.h" #include "constants/songs.h" #include "palette.h" +#include "constants/rgb.h" // this file's functions static void EvoSparkle_DummySpriteCb(struct Sprite* sprite); @@ -268,7 +269,7 @@ static void EvoTask_BeginPreSet1_FadeAndPlaySE(u8 taskID) { SetEvoSparklesMatrices(); gTasks[taskID].tFrameCounter = 0; - BeginNormalPaletteFade(3 << gTasks[taskID].data[1], 0xA, 0, 0x10, 0x7FFF); + BeginNormalPaletteFade(3 << gTasks[taskID].data[1], 0xA, 0, 0x10, RGB_WHITE); gTasks[taskID].func = EvoTask_CreatePreEvoSparkleSet1; PlaySE(SE_W025); } @@ -386,7 +387,7 @@ static void EvoTask_BeginPostSparklesSet2_AndFlash(u8 taskID) SetEvoSparklesMatrices(); gTasks[taskID].tFrameCounter = 0; CpuSet(&gPlttBufferFaded[0x20], &gPlttBufferUnfaded[0x20], 0x30); - BeginNormalPaletteFade(0xFFF9041C, 0, 0, 0x10, 0x7FFF); // was 0xFFF9001C in R/S + BeginNormalPaletteFade(0xFFF9041C, 0, 0, 0x10, RGB_WHITE); // was 0xFFF9001C in R/S gTasks[taskID].func = EvoTask_CreatePostEvoSparklesSet2_AndFlash; PlaySE(SE_W080); } @@ -407,7 +408,7 @@ static void EvoTask_CreatePostEvoSparklesSet2_AndFlash(u8 taskID) CreatePostEvoSparkleSet2(i); break; case 32: - BeginNormalPaletteFade(0xFFFF041C, 0x10, 0x10, 0, 0x7FFF); // was 0xFFF9001C in R/S + BeginNormalPaletteFade(0xFFFF041C, 0x10, 0x10, 0, RGB_WHITE); // was 0xFFF9001C in R/S break; } gTasks[taskID].tFrameCounter++; @@ -434,7 +435,7 @@ static void EvoTask_BeginPostSparklesSet2_AndFlash_Trade(u8 taskID) SetEvoSparklesMatrices(); gTasks[taskID].tFrameCounter = 0; CpuSet(&gPlttBufferFaded[0x20], &gPlttBufferUnfaded[0x20], 0x30); - BeginNormalPaletteFade(0xFFF90400, 0, 0, 0x10, 0x7FFF); // was 0xFFFF0001 in R/S + BeginNormalPaletteFade(0xFFF90400, 0, 0, 0x10, RGB_WHITE); // was 0xFFFF0001 in R/S gTasks[taskID].func = EvoTask_CreatePostEvoSparklesSet2_AndFlash_Trade; PlaySE(SE_W080); } @@ -455,7 +456,7 @@ static void EvoTask_CreatePostEvoSparklesSet2_AndFlash_Trade(u8 taskID) CreatePostEvoSparkleSet2(i); break; case 32: - BeginNormalPaletteFade(0xFFFF0400, 0x10, 0x10, 0, 0x7FFF); // was 0xFFFF0001 in R/S + BeginNormalPaletteFade(0xFFFF0400, 0x10, 0x10, 0, RGB_WHITE); // was 0xFFFF0001 in R/S break; } gTasks[taskID].tFrameCounter++; diff --git a/src/evolution_scene.c b/src/evolution_scene.c index 8c4847b8da..96ca2ed1ca 100644 --- a/src/evolution_scene.c +++ b/src/evolution_scene.c @@ -3,7 +3,7 @@ #include "battle.h" #include "battle_message.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "evolution_scene.h" #include "evolution_graphics.h" @@ -32,6 +32,7 @@ #include "constants/battle_string_ids.h" #include "constants/species.h" #include "constants/songs.h" +#include "constants/rgb.h" struct EvoInfo { @@ -52,8 +53,6 @@ void (*gCB2_AfterEvolution)(void); #define sEvoCursorPos gBattleCommunication[1] // when learning a new move #define sEvoGraphicsTaskID gBattleCommunication[2] -extern const struct CompressedSpriteSheet gMonFrontPicTable[]; - // this file's functions static void Task_EvolutionScene(u8 taskID); static void Task_TradeEvolutionScene(u8 taskID); @@ -171,7 +170,7 @@ static void Task_BeginEvolutionScene(u8 taskID) switch (gTasks[taskID].tState) { case 0: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gTasks[taskID].tState++; break; case 1: @@ -368,7 +367,7 @@ static void CB2_EvolutionSceneLoadGraphics(void) SetVBlankCallback(VBlankCB_EvolutionScene); SetMainCallback2(CB2_EvolutionSceneUpdate); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); ShowBg(0); ShowBg(1); @@ -445,14 +444,14 @@ static void CB2_TradeEvolutionSceneLoadGraphics(void) case 6: if (gWirelessCommType) { - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(0, 0); } BlendPalettes(-1,0x10, 0); gMain.state++; break; case 7: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); sub_807B140(); ShowBg(0); ShowBg(1); @@ -557,7 +556,7 @@ static void CreateShedinja(u16 preEvoSpecies, struct Pokemon* mon) SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_NICKNAME, (gSpeciesNames[gEvolutionTable[preEvoSpecies][1].targetSpecies])); SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_HELD_ITEM, (&data)); SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_MARKINGS, (&data)); - SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_10, (&data)); + SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_ENCRYPT_SEPARATOR, (&data)); for (i = MON_DATA_COOL_RIBBON; i < MON_DATA_COOL_RIBBON + 5; i++) SetMonData(&gPlayerParty[gPlayerPartyCount], i, (&data)); @@ -605,7 +604,7 @@ static void Task_EvolutionScene(u8 taskID) switch (gTasks[taskID].tState) { case 0: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); gSprites[sEvoStructPtr->preEvoSpriteID].invisible = FALSE; gTasks[taskID].tState++; ShowBg(0); @@ -640,7 +639,7 @@ static void Task_EvolutionScene(u8 taskID) { PlayNewMapMusic(MUS_SHINKA); gTasks[taskID].tState++; - BeginNormalPaletteFade(0x1C, 4, 0, 0x10, 0); + BeginNormalPaletteFade(0x1C, 4, 0, 0x10, RGB_BLACK); } break; case 5: // launch moving bg task, preapre evo sparkles @@ -698,7 +697,7 @@ static void Task_EvolutionScene(u8 taskID) m4aMPlayAllStop(); memcpy(&gPlttBufferUnfaded[0x20], sEvoStructPtr->savedPalette, 0x60); sub_8140174(); - BeginNormalPaletteFade(0x1C, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0x1C, 0, 0x10, 0, RGB_BLACK); gTasks[taskID].tState++; } break; @@ -753,7 +752,7 @@ static void Task_EvolutionScene(u8 taskID) } else // no move to learn { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gTasks[taskID].tState++; } } @@ -781,7 +780,7 @@ static void Task_EvolutionScene(u8 taskID) if (!gTasks[sEvoGraphicsTaskID].isActive) { m4aMPlayAllStop(); - BeginNormalPaletteFade(0x6001C, 0, 0x10, 0, 0x7FFF); + BeginNormalPaletteFade(0x6001C, 0, 0x10, 0, RGB_WHITE); gTasks[taskID].tState++; } break; @@ -887,7 +886,7 @@ static void Task_EvolutionScene(u8 taskID) { gTasks[taskID].tLearnMoveState = gTasks[taskID].tData7; if (gTasks[taskID].tLearnMoveState == 5) - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); } } if (gMain.newKeys & B_BUTTON) @@ -1009,7 +1008,7 @@ static void Task_TradeEvolutionScene(u8 taskID) { PlayBGM(MUS_SHINKA); gTasks[taskID].tState++; - BeginNormalPaletteFade(0x1C, 4, 0, 0x10, 0); + BeginNormalPaletteFade(0x1C, 4, 0, 0x10, RGB_BLACK); } break; case 4: @@ -1130,7 +1129,7 @@ static void Task_TradeEvolutionScene(u8 taskID) if (!gTasks[sEvoGraphicsTaskID].isActive) { m4aMPlayAllStop(); - BeginNormalPaletteFade((1 << (gSprites[sEvoStructPtr->preEvoSpriteID].oam.paletteNum + 16)) | (0x4001C), 0, 0x10, 0, 0x7FFF); + BeginNormalPaletteFade((1 << (gSprites[sEvoStructPtr->preEvoSpriteID].oam.paletteNum + 16)) | (0x4001C), 0, 0x10, 0, RGB_WHITE); gTasks[taskID].tState++; } break; @@ -1213,7 +1212,7 @@ static void Task_TradeEvolutionScene(u8 taskID) sub_807F1A8(0, gDisplayedStringBattle, 1); gTasks[taskID].tLearnMoveState = gTasks[taskID].tData7; if (gTasks[taskID].tLearnMoveState == 5) - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); break; case 1: case -1: diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index 5b685173e0..455c38debb 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -16,6 +16,7 @@ #include "fldeff_misc.h" #include "item_menu.h" #include "link.h" +#include "match_call.h" #include "metatile_behavior.h" #include "overworld.h" #include "pokemon.h" @@ -32,7 +33,6 @@ #include "constants/map_types.h" #include "constants/maps.h" #include "constants/songs.h" -#include "match_call.h" static EWRAM_DATA u8 sWildEncounterImmunitySteps = 0; static EWRAM_DATA u16 sPreviousPlayerMetatileBehavior = 0; @@ -227,8 +227,8 @@ static bool8 TryStartInteractionScript(struct MapPosition *position, u16 metatil && script != EventScript_PlayerPCFemale && script != EventScript_SecretBasePC && script != EventScript_RecordMixingSecretBasePC - && script != EventScript_SecretPower1 - && script != EventScript_SecretPower2 + && script != SecretBase_EventScript_DollInteract + && script != SecretBase_EventScript_CushionInteract && script != EventScript_PC) PlaySE(SE_SELECT); @@ -354,7 +354,7 @@ static const u8 *GetInteractedBackgroundEventScript(struct MapPosition *position if (direction == DIR_NORTH) { gSpecialVar_0x8004 = bgEvent->bgUnion.secretBaseId; - if (sub_80E9680()) + if (TrySetCurSecretBase()) return EventScript_2759F1; } return NULL; @@ -421,23 +421,23 @@ static const u8 *GetInteractedMetatileScript(struct MapPosition *position, u8 me return EventScript_SecretBaseShieldOrToyTV; if (MetatileBehavior_IsMB_C6(metatileBehavior) == TRUE) { - sub_80EB56C(); + SetSecretBaseSecretsTvFlags_MiscFurnature(); return NULL; } - if (MetatileBehavior_IsLargeMatCenter(metatileBehavior) == TRUE) + if (MetatileBehavior_HoldsLargeDecoration(metatileBehavior) == TRUE) { - sub_80EB9E0(); + SetSecretBaseSecretsTvFlags_LargeDecorationSpot(); return NULL; } - if (MetatileBehavior_IsSecretBaseLargeMatEdge(metatileBehavior) == TRUE) + if (MetatileBehavior_HoldsSmallDecoration(metatileBehavior) == TRUE) { - sub_80EBB28(); + SetSecretBaseSecretsTvFlags_SmallDecorationSpot(); return NULL; } } else if (MetatileBehavior_IsSecretBasePoster(metatileBehavior) == TRUE) { - sub_80EB498(); + SetSecretBaseSecretsTvFlags_Poster(); return NULL; } diff --git a/src/field_effect.c b/src/field_effect.c index 93d7e5ef82..22bf44f281 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -33,8 +33,6 @@ #define subsprite_table(ptr) {.subsprites = ptr, .subspriteCount = (sizeof ptr) / (sizeof(struct Subsprite))} -extern struct CompressedSpritePalette gMonPaletteTable[]; // GF made a mistake and did not extern it as const. - EWRAM_DATA s32 gFieldEffectArguments[8] = {0}; // Static type declarations @@ -237,7 +235,9 @@ static void Fldeff_MoveDeoxysRock_Step(u8 taskId); static IWRAM_DATA u8 sActiveList[32]; // External declarations - +extern struct CompressedSpritePalette gMonPaletteTable[]; // GF made a mistake and did not extern it as const. +extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; +extern const struct CompressedSpriteSheet gTrainerFrontPicTable[]; extern u8 *gFieldEffectScriptPointers[]; extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[]; @@ -3485,7 +3485,7 @@ static void sub_80B9978(struct Task *task) eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; sprite = &gSprites[eventObject->spriteId]; eventObject->inanimate = 0; - sub_808EB08(eventObject, eventObject->currentCoords.x, eventObject->currentCoords.y); + MoveEventObjectToMapCoords(eventObject, eventObject->currentCoords.x, eventObject->currentCoords.y); sprite->pos2.x = 0; sprite->pos2.y = 0; sprite->coordOffsetEnabled = 1; diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index a070fe0e10..ab2667c8c7 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -1188,9 +1188,9 @@ u8 PlayerGetZCoord(void) return gEventObjects[gPlayerAvatar.eventObjectId].previousElevation; } -void sub_808BC90(s16 a, s16 b) +void sub_808BC90(s16 x, s16 y) { - sub_808EB08(&gEventObjects[gPlayerAvatar.eventObjectId], a, b); + MoveEventObjectToMapCoords(&gEventObjects[gPlayerAvatar.eventObjectId], x, y); } u8 TestPlayerAvatarFlags(u8 a) diff --git a/src/field_region_map.c b/src/field_region_map.c index 1d54333fb6..ac1b26154b 100644 --- a/src/field_region_map.c +++ b/src/field_region_map.c @@ -11,6 +11,7 @@ #include "text.h" #include "text_window.h" #include "window.h" +#include "constants/rgb.h" // Static type declarations @@ -145,7 +146,7 @@ static void FieldUpdateRegionMap(void) schedule_bg_copy_tilemap_to_vram(0); DrawStdFrameWithCustomTileAndPalette(0, 0, 0x27, 0xd); PrintRegionMapSecName(); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); sFieldRegionMapHandler->state++; break; case 2: @@ -173,7 +174,7 @@ static void FieldUpdateRegionMap(void) } break; case 5: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); sFieldRegionMapHandler->state++; break; case 6: diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c index 5769f44afa..9a5d471569 100644 --- a/src/field_screen_effect.c +++ b/src/field_screen_effect.c @@ -1132,7 +1132,7 @@ static void sub_80B0318(u8 taskId) data[0] = 1; break; case 1: - sub_8199DF0(0, 17, 0, 1); + sub_8199DF0(0, PIXEL_FILL(1), 0, 1); sub_80B028C(data[1]); sub_80B003C(data[2], data[3], 1, 160, 1, 2); data[0] = 2; @@ -1179,7 +1179,7 @@ static void sub_80B0318(u8 taskId) if (sub_80B02C8(data[5]) == TRUE) { data[0] = 5; - sub_8199DF0(0, 0, 0, 1); + sub_8199DF0(0, PIXEL_FILL(0), 0, 1); } } break; diff --git a/src/field_specials.c b/src/field_specials.c index 20c2e61739..8bd9900634 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -3,7 +3,7 @@ #include "battle.h" #include "battle_tower.h" #include "cable_club.h" -#include "data2.h" +#include "data.h" #include "decoration.h" #include "diploma.h" #include "event_data.h" @@ -59,20 +59,20 @@ EWRAM_DATA bool8 gBikeCyclingChallenge = FALSE; EWRAM_DATA u8 gBikeCollisions = 0; -EWRAM_DATA u32 gBikeCyclingTimer = 0; -EWRAM_DATA u8 gUnknown_0203AB5C = 0; -EWRAM_DATA u8 gUnknown_0203AB5D = 0; -EWRAM_DATA u8 gUnknown_0203AB5E = 0; -EWRAM_DATA u16 gUnknown_0203AB60 = 0; -EWRAM_DATA u16 gUnknown_0203AB62 = 0; -EWRAM_DATA struct ListMenuItem *gUnknown_0203AB64 = NULL; -EWRAM_DATA u16 gUnknown_0203AB68 = 0; -EWRAM_DATA u16 gUnknown_0203AB6A = 0; -EWRAM_DATA u8 gUnknown_0203AB6C = 0; -EWRAM_DATA u8 gUnknown_0203AB6D = 0; -EWRAM_DATA u8 gUnknown_0203AB6E = 0; -EWRAM_DATA u8 gUnknown_0203AB6F = 0; -EWRAM_DATA u32 gUnknown_0203AB70 = 0; +static EWRAM_DATA u32 gBikeCyclingTimer = 0; +static EWRAM_DATA u8 gUnknown_0203AB5C = 0; +static EWRAM_DATA u8 gUnknown_0203AB5D = 0; +static EWRAM_DATA u8 gUnknown_0203AB5E = 0; +static EWRAM_DATA u16 gUnknown_0203AB60 = 0; +static EWRAM_DATA u16 gUnknown_0203AB62 = 0; +static EWRAM_DATA struct ListMenuItem *gUnknown_0203AB64 = NULL; +static EWRAM_DATA u16 gUnknown_0203AB68 = 0; +static EWRAM_DATA u16 gUnknown_0203AB6A = 0; +static EWRAM_DATA u8 gUnknown_0203AB6C = 0; +static EWRAM_DATA u8 gUnknown_0203AB6D = 0; +static EWRAM_DATA u8 gUnknown_0203AB6E = 0; +static EWRAM_DATA u8 gUnknown_0203AB6F = 0; +static EWRAM_DATA u32 gUnknown_0203AB70 = 0; struct ListMenuTemplate gUnknown_030061D0; diff --git a/src/fieldmap.c b/src/fieldmap.c index a96b71c0fd..b2b80a2df8 100644 --- a/src/fieldmap.c +++ b/src/fieldmap.c @@ -52,15 +52,15 @@ struct MapHeader const *const mapconnection_get_mapheader(struct MapConnection * void InitMap(void) { InitMapLayoutData(&gMapHeader); - sub_80E8EE0(gMapHeader.events); + SetOccupiedSecretBaseEntranceMetatiles(gMapHeader.events); RunOnLoadMapScript(); } void InitMapFromSavedGame(void) { InitMapLayoutData(&gMapHeader); - sub_80E9238(0); - sub_80E8EE0(gMapHeader.events); + InitSecretBaseAppearance(FALSE); + SetOccupiedSecretBaseEntranceMetatiles(gMapHeader.events); LoadSavedMapView(); RunOnLoadMapScript(); UpdateTVScreensOnMap(gBackupMapLayout.width, gBackupMapLayout.height); diff --git a/src/fldeff_cut.c b/src/fldeff_cut.c index 3da1a9217a..be655b86a8 100644 --- a/src/fldeff_cut.c +++ b/src/fldeff_cut.c @@ -23,7 +23,7 @@ extern struct MapPosition gPlayerFacingPosition; -extern const u8 Route103_EventScript_290705[]; +extern const u8 EventScript_FldEffCut[]; extern const u8 FarawayIsland_Interior_EventScript_267EDB[]; extern const u8 gFieldEffectPic_CutGrass[]; @@ -327,7 +327,7 @@ bool8 FldEff_UseCutOnGrass(void) static void FieldCallback_CutTree(void) { gFieldEffectArguments[0] = GetCursorSelectionMonId(); - ScriptContext1_SetupScript(Route103_EventScript_290705); + ScriptContext1_SetupScript(EventScript_FldEffCut); } bool8 FldEff_UseCutOnTree(void) diff --git a/src/fldeff_misc.c b/src/fldeff_misc.c index efde43b764..39ed302609 100644 --- a/src/fldeff_misc.c +++ b/src/fldeff_misc.c @@ -488,8 +488,8 @@ static void sub_80F9DFC(u8 taskId) static void SetCurrentSecretBase(void) { - sub_80E9608(&gPlayerFacingPosition, gMapHeader.events); - sub_80E8B6C(); + SetCurSecretBaseIdFromPosition(&gPlayerFacingPosition, gMapHeader.events); + TrySetCurSecretBaseIndex(); } static void AdjustSecretPowerSpritePixelOffsets(void) @@ -544,7 +544,7 @@ bool8 SetUpFieldMove_SecretPower(void) { u8 mb; - sub_80E8BC8(); + CheckPlayerHasSecretBase(); if (gSpecialVar_Result == 1 || GetPlayerFacingDirection() != DIR_NORTH) return FALSE; @@ -623,10 +623,8 @@ static void CaveEntranceSpriteCallback2(struct Sprite *sprite) { if (sprite->data[0] < 40) { - sprite->data[0]++; - - if (sprite->data[0] == 20) - sub_80E8D4C(); + if (++sprite->data[0] == 20) + ToggleSecretBaseEntranceMetatile(); } else { @@ -681,7 +679,7 @@ bool8 FldEff_SecretPowerTree(void) 148); if (gFieldEffectArguments[7] == 1 || gFieldEffectArguments[7] == 3) - sub_80E8D4C(); + ToggleSecretBaseEntranceMetatile(); return FALSE; } @@ -702,7 +700,7 @@ static void TreeEntranceSpriteCallback2(struct Sprite *sprite) if (sprite->data[0] >= 40) { if (gFieldEffectArguments[7] == 0 || gFieldEffectArguments[7] == 2) - sub_80E8D4C(); + ToggleSecretBaseEntranceMetatile(); sprite->data[0] = 0; sprite->callback = TreeEntranceSpriteCallbackEnd; @@ -764,7 +762,7 @@ static void ShrubEntranceSpriteCallback2(struct Sprite *sprite) sprite->data[0]++; if (sprite->data[0] == 20) - sub_80E8D4C(); + ToggleSecretBaseEntranceMetatile(); } else { @@ -1168,7 +1166,7 @@ void GetShieldToyTVDecorationInfo(void) bool8 sub_80FADE4(u16 metatileId, u8 arg1) { - if (!CurrentMapIsSecretBase()) + if (!CurMapIsSecretBase()) return FALSE; if (!arg1) diff --git a/src/fldeff_rocksmash.c b/src/fldeff_rocksmash.c index a9077f2ff9..18cebdf112 100644 --- a/src/fldeff_rocksmash.c +++ b/src/fldeff_rocksmash.c @@ -140,7 +140,7 @@ bool8 SetUpFieldMove_RockSmash(void) static void sub_81356C4(void) { gFieldEffectArguments[0] = GetCursorSelectionMonId(); - ScriptContext1_SetupScript(Route111_EventScript_2907F0); + ScriptContext1_SetupScript(EventScript_FldEffRockSmash); } bool8 FldEff_UseRockSmash(void) diff --git a/src/fldeff_strength.c b/src/fldeff_strength.c index c57ab8cdc6..47fc7061cb 100644 --- a/src/fldeff_strength.c +++ b/src/fldeff_strength.c @@ -30,7 +30,7 @@ bool8 SetUpFieldMove_Strength(void) static void FldEff_UseStrength(void) { gFieldEffectArguments[0] = GetCursorSelectionMonId(); - ScriptContext1_SetupScript(FieryPath_EventScript_2908FD); + ScriptContext1_SetupScript(EventScript_FldEffStrength); } bool8 sub_8145E2C(void) diff --git a/src/fldeff_sweetscent.c b/src/fldeff_sweetscent.c index a187353ff8..788310b5dd 100644 --- a/src/fldeff_sweetscent.c +++ b/src/fldeff_sweetscent.c @@ -93,7 +93,7 @@ static void FailSweetScentEncounter(u8 taskId) { CpuFastSet(gPaletteDecompressionBuffer, gPlttBufferUnfaded, 0x100); sub_80AC3E4(); - ScriptContext1_SetupScript(EventScript_290CAE); + ScriptContext1_SetupScript(EventScript_FailSweetScent); DestroyTask(taskId); } } diff --git a/src/frontier_util.c b/src/frontier_util.c index bce7b926f2..4dd8159cb6 100644 --- a/src/frontier_util.c +++ b/src/frontier_util.c @@ -21,7 +21,7 @@ #include "apprentice.h" #include "pokedex.h" #include "recorded_battle.h" -#include "data2.h" +#include "data.h" #include "record_mixing.h" #include "strings.h" #include "alloc.h" diff --git a/src/graphics.c b/src/graphics.c index c243c64a54..0832101d8e 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -21,112 +21,112 @@ const u32 gSmokescreenImpactPalette[] = INCBIN_U32("graphics/battle_anims/sprite const u32 gBlankGfxCompressed[] = INCBIN_U32("graphics/interface/blank.4bpp.lz"); // Battle anims -const u32 gBattleAnimSpriteSheet_146[] = INCBIN_U32("graphics/battle_anims/sprites/146.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_000[] = INCBIN_U32("graphics/battle_anims/sprites/000.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_003[] = INCBIN_U32("graphics/battle_anims/sprites/003.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_004[] = INCBIN_U32("graphics/battle_anims/sprites/004.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_005[] = INCBIN_U32("graphics/battle_anims/sprites/005.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_006[] = INCBIN_U32("graphics/battle_anims/sprites/006.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Bubble[] = INCBIN_U32("graphics/battle_anims/sprites/bubble.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Bone[] = INCBIN_U32("graphics/battle_anims/sprites/bone.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_AirWave[] = INCBIN_U32("graphics/battle_anims/sprites/air_wave.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Orb[] = INCBIN_U32("graphics/battle_anims/sprites/orb.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Sword[] = INCBIN_U32("graphics/battle_anims/sprites/sword.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Seed[] = INCBIN_U32("graphics/battle_anims/sprites/seed.4bpp.lz"); -const u32 gBattleAnimSpritePalette_115[] = INCBIN_U32("graphics/battle_anims/sprites/115.gbapal.lz"); -const u32 gBattleAnimSpritePalette_000[] = INCBIN_U32("graphics/battle_anims/sprites/000.gbapal.lz"); -const u32 gBattleAnimSpritePalette_003[] = INCBIN_U32("graphics/battle_anims/sprites/003.gbapal.lz"); -const u32 gBattleAnimSpritePalette_004[] = INCBIN_U32("graphics/battle_anims/sprites/004.gbapal.lz"); -const u32 gBattleAnimSpritePalette_005[] = INCBIN_U32("graphics/battle_anims/sprites/005.gbapal.lz"); -const u32 gBattleAnimSpritePalette_006[] = INCBIN_U32("graphics/battle_anims/sprites/006.gbapal.lz"); +const u32 gBattleAnimSpritePal_RainDrops[] = INCBIN_U32("graphics/battle_anims/sprites/rain_drops.gbapal.lz"); +const u32 gBattleAnimSpritePal_Bone[] = INCBIN_U32("graphics/battle_anims/sprites/bone.gbapal.lz"); +const u32 gBattleAnimSpritePal_AirWave[] = INCBIN_U32("graphics/battle_anims/sprites/air_wave.gbapal.lz"); +const u32 gBattleAnimSpritePal_Orb[] = INCBIN_U32("graphics/battle_anims/sprites/orb.gbapal.lz"); +const u32 gBattleAnimSpritePal_Sword[] = INCBIN_U32("graphics/battle_anims/sprites/sword.gbapal.lz"); +const u32 gBattleAnimSpritePal_Seed[] = INCBIN_U32("graphics/battle_anims/sprites/seed.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_161[] = INCBIN_U32("graphics/battle_anims/sprites/161.4bpp.lz"); -const u32 gBattleAnimSpritePalette_161[] = INCBIN_U32("graphics/battle_anims/sprites/161.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Needle[] = INCBIN_U32("graphics/battle_anims/sprites/needle.4bpp.lz"); +const u32 gBattleAnimSpritePal_Needle[] = INCBIN_U32("graphics/battle_anims/sprites/needle.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_007[] = INCBIN_U32("graphics/battle_anims/sprites/007.4bpp.lz"); -const u32 gBattleAnimSpritePalette_007[] = INCBIN_U32("graphics/battle_anims/sprites/007.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Explosion6[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_6.4bpp.lz"); +const u32 gBattleAnimSpritePal_Explosion6[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_6.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_008[] = INCBIN_U32("graphics/battle_anims/sprites/008.4bpp.lz"); -const u32 gBattleAnimSpritePalette_008[] = INCBIN_U32("graphics/battle_anims/sprites/008.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PinkOrb[] = INCBIN_U32("graphics/battle_anims/sprites/pink_orb.4bpp.lz"); +const u32 gBattleAnimSpritePal_PinkOrb[] = INCBIN_U32("graphics/battle_anims/sprites/pink_orb.gbapal.lz"); -const u32 gBattleAnimSpritePalette_010[] = INCBIN_U32("graphics/battle_anims/sprites/010.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_010[] = INCBIN_U32("graphics/battle_anims/sprites/010.4bpp.lz"); +const u32 gBattleAnimSpritePal_IceCube[] = INCBIN_U32("graphics/battle_anims/sprites/ice_cube.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_IceCube[] = INCBIN_U32("graphics/battle_anims/sprites/ice_cube.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_009[] = INCBIN_U32("graphics/battle_anims/sprites/009.4bpp.lz"); -const u32 gBattleAnimSpritePalette_009[] = INCBIN_U32("graphics/battle_anims/sprites/009.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Gust[] = INCBIN_U32("graphics/battle_anims/sprites/gust.4bpp.lz"); +const u32 gBattleAnimSpritePal_Gust[] = INCBIN_U32("graphics/battle_anims/sprites/gust.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_011[] = INCBIN_U32("graphics/battle_anims/sprites/011.4bpp.lz"); -const u32 gBattleAnimSpritePalette_011[] = INCBIN_U32("graphics/battle_anims/sprites/011.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Spark2[] = INCBIN_U32("graphics/battle_anims/sprites/spark_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_Spark2[] = INCBIN_U32("graphics/battle_anims/sprites/spark_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_012[] = INCBIN_U32("graphics/battle_anims/sprites/012.4bpp.lz"); -const u32 gBattleAnimSpritePalette_012[] = INCBIN_U32("graphics/battle_anims/sprites/012.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Orange[] = INCBIN_U32("graphics/battle_anims/sprites/orange.4bpp.lz"); +const u32 gBattleAnimSpritePal_Orange[] = INCBIN_U32("graphics/battle_anims/sprites/orange.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_152[] = INCBIN_U32("graphics/battle_anims/sprites/152.4bpp.lz"); -const u32 gBattleAnimSpritePalette_152[] = INCBIN_U32("graphics/battle_anims/sprites/152.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Spikes[] = INCBIN_U32("graphics/battle_anims/sprites/spikes.4bpp.lz"); +const u32 gBattleAnimSpritePal_Spikes[] = INCBIN_U32("graphics/battle_anims/sprites/spikes.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_013[] = INCBIN_U32("graphics/battle_anims/sprites/013.4bpp.lz"); -const u32 gBattleAnimSpritePalette_013[] = INCBIN_U32("graphics/battle_anims/sprites/013.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_YellowBall[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_ball.4bpp.lz"); +const u32 gBattleAnimSpritePal_YellowBall[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_ball.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_015[] = INCBIN_U32("graphics/battle_anims/sprites/015.4bpp.lz"); -const u32 gBattleAnimSpritePalette_015[] = INCBIN_U32("graphics/battle_anims/sprites/015.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_TiedBag[] = INCBIN_U32("graphics/battle_anims/sprites/tied_bag.4bpp.lz"); +const u32 gBattleAnimSpritePal_TiedBag[] = INCBIN_U32("graphics/battle_anims/sprites/tied_bag.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_016[] = INCBIN_U32("graphics/battle_anims/sprites/016.4bpp.lz"); -const u32 gBattleAnimSpritePalette_016[] = INCBIN_U32("graphics/battle_anims/sprites/016.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_BlackSmoke[] = INCBIN_U32("graphics/battle_anims/sprites/black_smoke.4bpp.lz"); +const u32 gBattleAnimSpritePal_BlackSmoke[] = INCBIN_U32("graphics/battle_anims/sprites/black_smoke.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_017[] = INCBIN_U32("graphics/battle_anims/sprites/017.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_BlackBall[] = INCBIN_U32("graphics/battle_anims/sprites/black_ball.4bpp.lz"); const u32 gUnknownGfx_C035B8[] = INCBIN_U32("graphics/unknown/unknown_C035B8.4bpp.lz"); -const u32 gBattleAnimSpritePalette_019[] = INCBIN_U32("graphics/battle_anims/sprites/019.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_019[] = INCBIN_U32("graphics/battle_anims/sprites/019.4bpp.lz"); +const u32 gBattleAnimSpritePal_Glass[] = INCBIN_U32("graphics/battle_anims/sprites/glass.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Glass[] = INCBIN_U32("graphics/battle_anims/sprites/glass.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_020[] = INCBIN_U32("graphics/battle_anims/sprites/020.4bpp.lz"); -const u32 gBattleAnimSpritePalette_020[] = INCBIN_U32("graphics/battle_anims/sprites/020.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_HornHit[] = INCBIN_U32("graphics/battle_anims/sprites/horn_hit.4bpp.lz"); +const u32 gBattleAnimSpritePal_HornHit[] = INCBIN_U32("graphics/battle_anims/sprites/horn_hit.gbapal.lz"); -const u32 gBattleAnimSpritePalette_023[] = INCBIN_U32("graphics/battle_anims/sprites/023.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_023[] = INCBIN_U32("graphics/battle_anims/sprites/023.4bpp.lz"); +const u32 gBattleAnimSpritePal_BlueShards[] = INCBIN_U32("graphics/battle_anims/sprites/blue_shards.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_BlueShards[] = INCBIN_U32("graphics/battle_anims/sprites/blue_shards.4bpp.lz"); const u32 gUnused_BattleSpritePalette_023[] = INCBIN_U32("graphics/unused/battle_anim_023.gbapal.lz"); const u32 gUnusedGfx_MusicNotes[] = INCBIN_U32("graphics/unused/music_notes.4bpp.lz"); -const u32 gBattleAnimSpritePalette_021[] = INCBIN_U32("graphics/battle_anims/sprites/021.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_021[] = INCBIN_U32("graphics/battle_anims/sprites/021.4bpp.lz"); +const u32 gBattleAnimSpritePal_Hit[] = INCBIN_U32("graphics/battle_anims/sprites/hit.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Hit[] = INCBIN_U32("graphics/battle_anims/sprites/hit.4bpp.lz"); -const u32 gBattleAnimSpritePalette_022[] = INCBIN_U32("graphics/battle_anims/sprites/022.gbapal.lz"); +const u32 gBattleAnimSpritePal_Hit2[] = INCBIN_U32("graphics/battle_anims/sprites/hit_2.gbapal.lz"); -const u32 gBattleAnimSpritePalette_025[] = INCBIN_U32("graphics/battle_anims/sprites/025.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_025[] = INCBIN_U32("graphics/battle_anims/sprites/025.4bpp.lz"); +const u32 gBattleAnimSpritePal_WavingHand[] = INCBIN_U32("graphics/battle_anims/sprites/waving_hand.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_WavingHand[] = INCBIN_U32("graphics/battle_anims/sprites/waving_hand.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_024[] = INCBIN_U32("graphics/battle_anims/sprites/024.4bpp.lz"); -const u32 gBattleAnimSpritePalette_024[] = INCBIN_U32("graphics/battle_anims/sprites/024.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_ClosingEye[] = INCBIN_U32("graphics/battle_anims/sprites/closing_eye.4bpp.lz"); +const u32 gBattleAnimSpritePal_ClosingEye[] = INCBIN_U32("graphics/battle_anims/sprites/closing_eye.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_031[] = INCBIN_U32("graphics/battle_anims/sprites/031.4bpp.lz"); -const u32 gBattleAnimSpritePalette_031[] = INCBIN_U32("graphics/battle_anims/sprites/031.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_BlueStar[] = INCBIN_U32("graphics/battle_anims/sprites/blue_star.4bpp.lz"); +const u32 gBattleAnimSpritePal_BlueStar[] = INCBIN_U32("graphics/battle_anims/sprites/blue_star.gbapal.lz"); -const u32 gBattleAnimSpritePalette_032[] = INCBIN_U32("graphics/battle_anims/sprites/032.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_032[] = INCBIN_U32("graphics/battle_anims/sprites/032.4bpp.lz"); +const u32 gBattleAnimSpritePal_BubbleBurst[] = INCBIN_U32("graphics/battle_anims/sprites/bubble_burst.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_BubbleBurst[] = INCBIN_U32("graphics/battle_anims/sprites/bubble_burst.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_026[] = INCBIN_U32("graphics/battle_anims/sprites/026.4bpp.lz"); -const u32 gBattleAnimSpritePalette_026[] = INCBIN_U32("graphics/battle_anims/sprites/026.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_HitDuplicate[] = INCBIN_U32("graphics/battle_anims/sprites/hit_duplicate.4bpp.lz"); +const u32 gBattleAnimSpritePal_HitDuplicate[] = INCBIN_U32("graphics/battle_anims/sprites/hit_duplicate.gbapal.lz"); -const u32 gBattleAnimSpritePalette_027[] = INCBIN_U32("graphics/battle_anims/sprites/027.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_027[] = INCBIN_U32("graphics/battle_anims/sprites/027.4bpp.lz"); +const u32 gBattleAnimSpritePal_Leer[] = INCBIN_U32("graphics/battle_anims/sprites/leer.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Leer[] = INCBIN_U32("graphics/battle_anims/sprites/leer.4bpp.lz"); -const u32 gBattleAnimSpritePalette_028[] = INCBIN_U32("graphics/battle_anims/sprites/028.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_028[] = INCBIN_U32("graphics/battle_anims/sprites/028.4bpp.lz"); +const u32 gBattleAnimSpritePal_BlueBurst[] = INCBIN_U32("graphics/battle_anims/sprites/blue_burst.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_BlueBurst[] = INCBIN_U32("graphics/battle_anims/sprites/blue_burst.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_029[] = INCBIN_U32("graphics/battle_anims/sprites/029.4bpp.lz"); -const u32 gBattleAnimSpritePalette_029[] = INCBIN_U32("graphics/battle_anims/sprites/029.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_SmallEmber[] = INCBIN_U32("graphics/battle_anims/sprites/small_ember.4bpp.lz"); +const u32 gBattleAnimSpritePal_SmallEmber[] = INCBIN_U32("graphics/battle_anims/sprites/small_ember.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_030[] = INCBIN_U32("graphics/battle_anims/sprites/030.4bpp.lz"); -const u32 gBattleAnimSpritePalette_030[] = INCBIN_U32("graphics/battle_anims/sprites/030.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_GraySmoke[] = INCBIN_U32("graphics/battle_anims/sprites/gray_smoke.4bpp.lz"); +const u32 gBattleAnimSpritePal_GraySmoke[] = INCBIN_U32("graphics/battle_anims/sprites/gray_smoke.gbapal.lz"); -const u32 gBattleAnimSpritePalette_033[] = INCBIN_U32("graphics/battle_anims/sprites/033.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_033[] = INCBIN_U32("graphics/battle_anims/sprites/033.4bpp.lz"); +const u32 gBattleAnimSpritePal_Fire[] = INCBIN_U32("graphics/battle_anims/sprites/fire.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Fire[] = INCBIN_U32("graphics/battle_anims/sprites/fire.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_034[] = INCBIN_U32("graphics/battle_anims/sprites/034.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_035[] = INCBIN_U32("graphics/battle_anims/sprites/035.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_SpinningFire[] = INCBIN_U32("graphics/battle_anims/sprites/spinning_fire.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_FirePlume[] = INCBIN_U32("graphics/battle_anims/sprites/fire_plume.4bpp.lz"); -const u32 gBattleAnimSpritePalette_036[] = INCBIN_U32("graphics/battle_anims/sprites/036.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_036[] = INCBIN_U32("graphics/battle_anims/sprites/036.4bpp.lz"); +const u32 gBattleAnimSpritePal_Lightning2[] = INCBIN_U32("graphics/battle_anims/sprites/lightning_2.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Lightning2[] = INCBIN_U32("graphics/battle_anims/sprites/lightning_2.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_037[] = INCBIN_U32("graphics/battle_anims/sprites/037.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Lightning[] = INCBIN_U32("graphics/battle_anims/sprites/lightning.4bpp.lz"); const u32 gUnknownGfx_C06D98[] = INCBIN_U32("graphics/unknown/unknown_C06D98.4bpp.lz"); const u32 gUnknownPal_C06D98[] = INCBIN_U32("graphics/unknown/unknown_C06D98.gbapal.lz"); @@ -141,118 +141,118 @@ const u32 gOldBattleInterfacePal_5_6_7[] = INCBIN_U32("graphics/unused/obi_palpa const u32 gOldBattleInterfaceGfx2[] = INCBIN_U32("graphics/unused/obi2.4bpp.lz"); const u32 gOldBattleInterfaceTilemap[] = INCBIN_U32("graphics/unused/old_battle_interface_tilemap.bin.lz"); -const u32 gBattleAnimSpritePalette_038[] = INCBIN_U32("graphics/battle_anims/sprites/038.gbapal.lz"); -const u32 gBattleAnimSpritePalette_039[] = INCBIN_U32("graphics/battle_anims/sprites/039.gbapal.lz"); +const u32 gBattleAnimSpritePal_ClawSlash2[] = INCBIN_U32("graphics/battle_anims/sprites/claw_slash_2.gbapal.lz"); +const u32 gBattleAnimSpritePal_ClawSlash[] = INCBIN_U32("graphics/battle_anims/sprites/claw_slash.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_038[] = INCBIN_U32("graphics/battle_anims/sprites/038.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_039[] = INCBIN_U32("graphics/battle_anims/sprites/039.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_040[] = INCBIN_U32("graphics/battle_anims/sprites/040.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_041[] = INCBIN_U32("graphics/battle_anims/sprites/041.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_ClawSlash2[] = INCBIN_U32("graphics/battle_anims/sprites/claw_slash_2.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_ClawSlash[] = INCBIN_U32("graphics/battle_anims/sprites/claw_slash.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Scratch3[] = INCBIN_U32("graphics/battle_anims/sprites/scratch_3.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Scratch2[] = INCBIN_U32("graphics/battle_anims/sprites/scratch_2.4bpp.lz"); const u32 gPartyMenuHpBar_Gfx[] = INCBIN_U32("graphics/interface/party_menu_hpbar.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_042[] = INCBIN_U32("graphics/battle_anims/sprites/042.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_BubbleBurst2[] = INCBIN_U32("graphics/battle_anims/sprites/bubble_burst_2.4bpp.lz"); -const u32 gBattleAnimSpritePalette_042[] = INCBIN_U32("graphics/battle_anims/sprites/042.gbapal.lz"); +const u32 gBattleAnimSpritePal_BubbleBurst2[] = INCBIN_U32("graphics/battle_anims/sprites/bubble_burst_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_043[] = INCBIN_U32("graphics/battle_anims/sprites/043.4bpp.lz"); -const u32 gBattleAnimSpritePalette_043[] = INCBIN_U32("graphics/battle_anims/sprites/043.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_IceChunk[] = INCBIN_U32("graphics/battle_anims/sprites/ice_chunk.4bpp.lz"); +const u32 gBattleAnimSpritePal_IceChunk[] = INCBIN_U32("graphics/battle_anims/sprites/ice_chunk.gbapal.lz"); -const u32 gBattleAnimSpritePalette_044[] = INCBIN_U32("graphics/battle_anims/sprites/044.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_044[] = INCBIN_U32("graphics/battle_anims/sprites/044.4bpp.lz"); +const u32 gBattleAnimSpritePal_Glass2[] = INCBIN_U32("graphics/battle_anims/sprites/glass_2.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Glass2[] = INCBIN_U32("graphics/battle_anims/sprites/glass_2.4bpp.lz"); -const u32 gBattleAnimSpritePalette_045[] = INCBIN_U32("graphics/battle_anims/sprites/045.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_045[] = INCBIN_U32("graphics/battle_anims/sprites/045.4bpp.lz"); +const u32 gBattleAnimSpritePal_PinkHeart2[] = INCBIN_U32("graphics/battle_anims/sprites/pink_heart_2.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PinkHeart2[] = INCBIN_U32("graphics/battle_anims/sprites/pink_heart_2.4bpp.lz"); const u32 gUnknown_08C08F0C[] = INCBIN_U32("graphics/battle_interface/unused_window.4bpp.lz"); const u32 gUnknown_08C093C8[] = INCBIN_U32("graphics/battle_interface/unused_window.gbapal.lz"); const u32 gUnknown_08C093F0[] = INCBIN_U32("graphics/interface/hp_numbers.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_046[] = INCBIN_U32("graphics/battle_anims/sprites/046.4bpp.lz"); -const u32 gBattleAnimSpritePalette_046[] = INCBIN_U32("graphics/battle_anims/sprites/046.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_SapDrip[] = INCBIN_U32("graphics/battle_anims/sprites/sap_drip.4bpp.lz"); +const u32 gBattleAnimSpritePal_SapDrip[] = INCBIN_U32("graphics/battle_anims/sprites/sap_drip.gbapal.lz"); -const u32 gBattleAnimSpritePalette_047[] = INCBIN_U32("graphics/battle_anims/sprites/047.gbapal.lz"); +const u32 gBattleAnimSpritePal_SapDrip2[] = INCBIN_U32("graphics/battle_anims/sprites/sap_drip_2.gbapal.lz"); const u32 gUnusedGfx_Window2[] = INCBIN_U32("graphics/battle_interface/unused_window2.4bpp.lz"); const u32 gUnusedGfx_Window2Bar[] = INCBIN_U32("graphics/battle_interface/unused_window2bar.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_048[] = INCBIN_U32("graphics/battle_anims/sprites/048.4bpp.lz"); -const u32 gBattleAnimSpritePalette_048[] = INCBIN_U32("graphics/battle_anims/sprites/048.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Sparkle1[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_1.4bpp.lz"); +const u32 gBattleAnimSpritePal_Sparkle1[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_1.gbapal.lz"); -const u32 gBattleAnimSpritePalette_049[] = INCBIN_U32("graphics/battle_anims/sprites/049.gbapal.lz"); -const u32 gBattleAnimSpritePalette_050[] = INCBIN_U32("graphics/battle_anims/sprites/050.gbapal.lz"); +const u32 gBattleAnimSpritePal_Sparkle2[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_2.gbapal.lz"); +const u32 gBattleAnimSpritePal_HumanoidFoot[] = INCBIN_U32("graphics/battle_anims/sprites/humanoid_foot.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_050[] = INCBIN_U32("graphics/battle_anims/sprites/050.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_051[] = INCBIN_U32("graphics/battle_anims/sprites/051.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_052[] = INCBIN_U32("graphics/battle_anims/sprites/052.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_HumanoidFoot[] = INCBIN_U32("graphics/battle_anims/sprites/humanoid_foot.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_MonsterFoot[] = INCBIN_U32("graphics/battle_anims/sprites/monster_foot.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_HumanoidHand[] = INCBIN_U32("graphics/battle_anims/sprites/humanoid_hand.4bpp.lz"); const u32 gUnusedGfx_LineSketch[] = INCBIN_U32("graphics/unused/line_sketch.4bpp.lz"); const u32 gUnusedPal_LineSketch[] = INCBIN_U32("graphics/unused/line_sketch.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_054[] = INCBIN_U32("graphics/battle_anims/sprites/054.4bpp.lz"); -const u32 gBattleAnimSpritePalette_054[] = INCBIN_U32("graphics/battle_anims/sprites/054.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_YellowUnk[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_unk.4bpp.lz"); +const u32 gBattleAnimSpritePal_YellowUnk[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_unk.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_056[] = INCBIN_U32("graphics/battle_anims/sprites/056.4bpp.lz"); -const u32 gBattleAnimSpritePalette_056[] = INCBIN_U32("graphics/battle_anims/sprites/056.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_SlamHit[] = INCBIN_U32("graphics/battle_anims/sprites/slam_hit.4bpp.lz"); +const u32 gBattleAnimSpritePal_SlamHit[] = INCBIN_U32("graphics/battle_anims/sprites/slam_hit.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_055[] = INCBIN_U32("graphics/battle_anims/sprites/055.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_RedFist[] = INCBIN_U32("graphics/battle_anims/sprites/red_fist.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_057[] = INCBIN_U32("graphics/battle_anims/sprites/057.4bpp.lz"); -const u32 gBattleAnimSpritePalette_057[] = INCBIN_U32("graphics/battle_anims/sprites/057.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Ring[] = INCBIN_U32("graphics/battle_anims/sprites/ring.4bpp.lz"); +const u32 gBattleAnimSpritePal_Ring[] = INCBIN_U32("graphics/battle_anims/sprites/ring.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_058[] = INCBIN_U32("graphics/battle_anims/sprites/058.4bpp.lz"); -const u32 gBattleAnimSpritePalette_058[] = INCBIN_U32("graphics/battle_anims/sprites/058.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Rocks[] = INCBIN_U32("graphics/battle_anims/sprites/rocks.4bpp.lz"); +const u32 gBattleAnimSpritePal_Rocks[] = INCBIN_U32("graphics/battle_anims/sprites/rocks.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_059[] = INCBIN_U32("graphics/battle_anims/sprites/059.4bpp.lz"); -const u32 gBattleAnimSpritePalette_059[] = INCBIN_U32("graphics/battle_anims/sprites/059.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Z[] = INCBIN_U32("graphics/battle_anims/sprites/z.4bpp.lz"); +const u32 gBattleAnimSpritePal_Z[] = INCBIN_U32("graphics/battle_anims/sprites/z.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_060[] = INCBIN_U32("graphics/battle_anims/sprites/060.4bpp.lz"); -const u32 gBattleAnimSpritePalette_060[] = INCBIN_U32("graphics/battle_anims/sprites/060.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_YellowUnk2[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_unk_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_YellowUnk2[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_unk_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_061[] = INCBIN_U32("graphics/battle_anims/sprites/061.4bpp.lz"); -const u32 gBattleAnimSpritePalette_061[] = INCBIN_U32("graphics/battle_anims/sprites/061.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_AirSlash[] = INCBIN_U32("graphics/battle_anims/sprites/air_slash.4bpp.lz"); +const u32 gBattleAnimSpritePal_AirSlash[] = INCBIN_U32("graphics/battle_anims/sprites/air_slash.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_062[] = INCBIN_U32("graphics/battle_anims/sprites/062.4bpp.lz"); -const u32 gBattleAnimSpritePalette_062[] = INCBIN_U32("graphics/battle_anims/sprites/062.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_SpinningGreenOrbs[] = INCBIN_U32("graphics/battle_anims/sprites/spinning_green_orbs.4bpp.lz"); +const u32 gBattleAnimSpritePal_SpinningGreenOrbs[] = INCBIN_U32("graphics/battle_anims/sprites/spinning_green_orbs.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_063[] = INCBIN_U32("graphics/battle_anims/sprites/063.4bpp.lz"); -const u32 gBattleAnimSpritePalette_063[] = INCBIN_U32("graphics/battle_anims/sprites/063.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Leaf[] = INCBIN_U32("graphics/battle_anims/sprites/leaf.4bpp.lz"); +const u32 gBattleAnimSpritePal_Leaf[] = INCBIN_U32("graphics/battle_anims/sprites/leaf.gbapal.lz"); const u32 gUnusedGfx_Metronome[] = INCBIN_U32("graphics/unused/metronome_hand_small.4bpp.lz"); // unused, was for metronome at one point -const u32 gBattleAnimSpritePalette_091[] = INCBIN_U32("graphics/battle_anims/sprites/091.gbapal.lz"); +const u32 gBattleAnimSpritePal_Clapping[] = INCBIN_U32("graphics/battle_anims/sprites/clapping.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_065[] = INCBIN_U32("graphics/battle_anims/sprites/065.4bpp.lz"); -const u32 gBattleAnimSpritePalette_065[] = INCBIN_U32("graphics/battle_anims/sprites/065.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PoisonPowder[] = INCBIN_U32("graphics/battle_anims/sprites/poison_powder.4bpp.lz"); +const u32 gBattleAnimSpritePal_PoisonPowder[] = INCBIN_U32("graphics/battle_anims/sprites/poison_powder.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_066[] = INCBIN_U32("graphics/battle_anims/sprites/066.4bpp.lz"); -const u32 gBattleAnimSpritePalette_066[] = INCBIN_U32("graphics/battle_anims/sprites/066.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_BrownTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/brown_triangle.4bpp.lz"); +const u32 gBattleAnimSpritePal_BrownTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/brown_triangle.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_070[] = INCBIN_U32("graphics/battle_anims/sprites/070.4bpp.lz"); -const u32 gBattleAnimSpritePalette_070[] = INCBIN_U32("graphics/battle_anims/sprites/070.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Sparkle3[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_3.4bpp.lz"); +const u32 gBattleAnimSpritePal_Sparkle3[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_3.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_071[] = INCBIN_U32("graphics/battle_anims/sprites/071.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Sparkle4[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_4.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_072[] = INCBIN_U32("graphics/battle_anims/sprites/072.4bpp.lz"); -const u32 gBattleAnimSpritePalette_072[] = INCBIN_U32("graphics/battle_anims/sprites/072.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_MusicNotes[] = INCBIN_U32("graphics/battle_anims/sprites/music_notes.4bpp.lz"); +const u32 gBattleAnimSpritePal_MusicNotes[] = INCBIN_U32("graphics/battle_anims/sprites/music_notes.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_073[] = INCBIN_U32("graphics/battle_anims/sprites/073.4bpp.lz"); -const u32 gBattleAnimSpritePalette_073[] = INCBIN_U32("graphics/battle_anims/sprites/073.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Duck[] = INCBIN_U32("graphics/battle_anims/sprites/duck.4bpp.lz"); +const u32 gBattleAnimSpritePal_Duck[] = INCBIN_U32("graphics/battle_anims/sprites/duck.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_075[] = INCBIN_U32("graphics/battle_anims/sprites/075.4bpp.lz"); -const u32 gBattleAnimSpritePalette_075[] = INCBIN_U32("graphics/battle_anims/sprites/075.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Alert[] = INCBIN_U32("graphics/battle_anims/sprites/alert.4bpp.lz"); +const u32 gBattleAnimSpritePal_Alert[] = INCBIN_U32("graphics/battle_anims/sprites/alert.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_078[] = INCBIN_U32("graphics/battle_anims/sprites/078.4bpp.lz"); -const u32 gBattleAnimSpritePalette_078[] = INCBIN_U32("graphics/battle_anims/sprites/078.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Shock4[] = INCBIN_U32("graphics/battle_anims/sprites/shock_4.4bpp.lz"); +const u32 gBattleAnimSpritePal_Shock4[] = INCBIN_U32("graphics/battle_anims/sprites/shock_4.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_079[] = INCBIN_U32("graphics/battle_anims/sprites/079.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Shock[] = INCBIN_U32("graphics/battle_anims/sprites/shock.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_080[] = INCBIN_U32("graphics/battle_anims/sprites/080.4bpp.lz"); -const u32 gBattleAnimSpritePalette_080[] = INCBIN_U32("graphics/battle_anims/sprites/080.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Bell2[] = INCBIN_U32("graphics/battle_anims/sprites/bell_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_Bell2[] = INCBIN_U32("graphics/battle_anims/sprites/bell_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_081[] = INCBIN_U32("graphics/battle_anims/sprites/081.4bpp.lz"); -const u32 gBattleAnimSpritePalette_081[] = INCBIN_U32("graphics/battle_anims/sprites/081.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PinkGlove[] = INCBIN_U32("graphics/battle_anims/sprites/pink_glove.4bpp.lz"); +const u32 gBattleAnimSpritePal_PinkGlove[] = INCBIN_U32("graphics/battle_anims/sprites/pink_glove.gbapal.lz"); const u16 gUnknown_C0CA1C[] = INCBIN_U16("graphics/unknown/unknown_C0CA1C.bin"); const u16 gUnknown_C0CA40[] = INCBIN_U16("graphics/unknown/unknown_C0CA40.bin"); @@ -261,85 +261,85 @@ const u32 gUnusedGfx8bpp_LineSketch2[] = INCBIN_U32("graphics/unused/line_sketch const u16 gUnknown_C0CAE0[] = INCBIN_U16("graphics/unknown/unknown_C0CAE0.bin"); const u32 gUnusedTilemap_LineSketch2[] = INCBIN_U32("graphics/unused/line_sketch_2.bin.lz"); -const u32 gBattleAnimSpriteSheet_082[] = INCBIN_U32("graphics/battle_anims/sprites/082.4bpp.lz"); -const u32 gBattleAnimSpritePalette_082[] = INCBIN_U32("graphics/battle_anims/sprites/082.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_BlueLines[] = INCBIN_U32("graphics/battle_anims/sprites/blue_lines.4bpp.lz"); +const u32 gBattleAnimSpritePal_BlueLines[] = INCBIN_U32("graphics/battle_anims/sprites/blue_lines.gbapal.lz"); -const u32 gBattleAnimSpritePalette_083[] = INCBIN_U32("graphics/battle_anims/sprites/083.gbapal.lz"); -const u32 gBattleAnimSpritePalette_084[] = INCBIN_U32("graphics/battle_anims/sprites/084.gbapal.lz"); -const u32 gBattleAnimSpritePalette_085[] = INCBIN_U32("graphics/battle_anims/sprites/085.gbapal.lz"); -const u32 gBattleAnimSpritePalette_086[] = INCBIN_U32("graphics/battle_anims/sprites/086.gbapal.lz"); -const u32 gBattleAnimSpritePalette_088[] = INCBIN_U32("graphics/battle_anims/sprites/088.gbapal.lz"); -const u32 gBattleAnimSpritePalette_089[] = INCBIN_U32("graphics/battle_anims/sprites/089.gbapal.lz"); -const u32 gBattleAnimSpritePalette_090[] = INCBIN_U32("graphics/battle_anims/sprites/090.gbapal.lz"); -const u32 gBattleAnimSpritePalette_092[] = INCBIN_U32("graphics/battle_anims/sprites/092.gbapal.lz"); -const u32 gBattleAnimSpritePalette_093[] = INCBIN_U32("graphics/battle_anims/sprites/093.gbapal.lz"); -const u32 gBattleAnimSpritePalette_094[] = INCBIN_U32("graphics/battle_anims/sprites/094.gbapal.lz"); +const u32 gBattleAnimSpritePal_Impact3[] = INCBIN_U32("graphics/battle_anims/sprites/impact_3.gbapal.lz"); +const u32 gBattleAnimSpritePal_Impact2[] = INCBIN_U32("graphics/battle_anims/sprites/impact_2.gbapal.lz"); +const u32 gBattleAnimSpritePal_Reticle[] = INCBIN_U32("graphics/battle_anims/sprites/reticle.gbapal.lz"); +const u32 gBattleAnimSpritePal_Breath[] = INCBIN_U32("graphics/battle_anims/sprites/breath.gbapal.lz"); +const u32 gBattleAnimSpritePal_Snowball[] = INCBIN_U32("graphics/battle_anims/sprites/snowball.gbapal.lz"); +const u32 gBattleAnimSpritePal_Vine[] = INCBIN_U32("graphics/battle_anims/sprites/vine.gbapal.lz"); +const u32 gBattleAnimSpritePal_Sword2[] = INCBIN_U32("graphics/battle_anims/sprites/sword_2.gbapal.lz"); +const u32 gBattleAnimSpritePal_RedTube[] = INCBIN_U32("graphics/battle_anims/sprites/red_tube.gbapal.lz"); +const u32 gBattleAnimSpritePal_Amnesia[] = INCBIN_U32("graphics/battle_anims/sprites/amnesia.gbapal.lz"); +const u32 gBattleAnimSpritePal_String2[] = INCBIN_U32("graphics/battle_anims/sprites/string_2.gbapal.lz"); const u32 gUnknown_D0D2B4[] = INCBIN_U32("graphics/unknown/unknown_D0D2B4.bin.lz"); -const u32 gBattleAnimSpritePalette_095[] = INCBIN_U32("graphics/battle_anims/sprites/095.gbapal.lz"); -const u32 gBattleAnimSpritePalette_096[] = INCBIN_U32("graphics/battle_anims/sprites/096.gbapal.lz"); -const u32 gBattleAnimSpritePalette_097[] = INCBIN_U32("graphics/battle_anims/sprites/097.gbapal.lz"); -const u32 gBattleAnimSpritePalette_100[] = INCBIN_U32("graphics/battle_anims/sprites/100.gbapal.lz"); -const u32 gBattleAnimSpritePalette_101[] = INCBIN_U32("graphics/battle_anims/sprites/101.gbapal.lz"); -const u32 gBattleAnimSpritePalette_103[] = INCBIN_U32("graphics/battle_anims/sprites/103.gbapal.lz"); +const u32 gBattleAnimSpritePal_Pencil2[] = INCBIN_U32("graphics/battle_anims/sprites/pencil_2.gbapal.lz"); +const u32 gBattleAnimSpritePal_Petal[] = INCBIN_U32("graphics/battle_anims/sprites/petal.gbapal.lz"); +const u32 gBattleAnimSpritePal_BentSpoon[] = INCBIN_U32("graphics/battle_anims/sprites/bent_spoon.gbapal.lz"); +const u32 gBattleAnimSpritePal_Coin[] = INCBIN_U32("graphics/battle_anims/sprites/coin.gbapal.lz"); +const u32 gBattleAnimSpritePal_CrackedEgg[] = INCBIN_U32("graphics/battle_anims/sprites/cracked_egg.gbapal.lz"); +const u32 gBattleAnimSpritePal_FreshEgg[] = INCBIN_U32("graphics/battle_anims/sprites/fresh_egg.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_083[] = INCBIN_U32("graphics/battle_anims/sprites/083.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_084[] = INCBIN_U32("graphics/battle_anims/sprites/084.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_085[] = INCBIN_U32("graphics/battle_anims/sprites/085.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_086[] = INCBIN_U32("graphics/battle_anims/sprites/086.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_088[] = INCBIN_U32("graphics/battle_anims/sprites/088.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_089[] = INCBIN_U32("graphics/battle_anims/sprites/089.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_090[] = INCBIN_U32("graphics/battle_anims/sprites/090.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_091[] = INCBIN_U32("graphics/battle_anims/sprites/091.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_092[] = INCBIN_U32("graphics/battle_anims/sprites/092.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_093[] = INCBIN_U32("graphics/battle_anims/sprites/093.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_094[] = INCBIN_U32("graphics/battle_anims/sprites/094.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_095[] = INCBIN_U32("graphics/battle_anims/sprites/095.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_096[] = INCBIN_U32("graphics/battle_anims/sprites/096.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_097[] = INCBIN_U32("graphics/battle_anims/sprites/097.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_098[] = INCBIN_U32("graphics/battle_anims/sprites/098.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_100[] = INCBIN_U32("graphics/battle_anims/sprites/100.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_101[] = INCBIN_U32("graphics/battle_anims/sprites/101.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_102[] = INCBIN_U32("graphics/battle_anims/sprites/102.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_103[] = INCBIN_U32("graphics/battle_anims/sprites/103.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Impact3[] = INCBIN_U32("graphics/battle_anims/sprites/impact_3.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Impact2[] = INCBIN_U32("graphics/battle_anims/sprites/impact_2.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Reticle[] = INCBIN_U32("graphics/battle_anims/sprites/reticle.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Breath[] = INCBIN_U32("graphics/battle_anims/sprites/breath.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Snowball[] = INCBIN_U32("graphics/battle_anims/sprites/snowball.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Vine[] = INCBIN_U32("graphics/battle_anims/sprites/vine.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Sword2[] = INCBIN_U32("graphics/battle_anims/sprites/sword_2.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Clapping[] = INCBIN_U32("graphics/battle_anims/sprites/clapping.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_RedTube[] = INCBIN_U32("graphics/battle_anims/sprites/red_tube.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Amnesia[] = INCBIN_U32("graphics/battle_anims/sprites/amnesia.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_String2[] = INCBIN_U32("graphics/battle_anims/sprites/string_2.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Pencil2[] = INCBIN_U32("graphics/battle_anims/sprites/pencil_2.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Petal[] = INCBIN_U32("graphics/battle_anims/sprites/petal.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_BentSpoon[] = INCBIN_U32("graphics/battle_anims/sprites/bent_spoon.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Web[] = INCBIN_U32("graphics/battle_anims/sprites/web.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Coin[] = INCBIN_U32("graphics/battle_anims/sprites/coin.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_CrackedEgg[] = INCBIN_U32("graphics/battle_anims/sprites/cracked_egg.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_HatchedEgg[] = INCBIN_U32("graphics/battle_anims/sprites/hatched_egg.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_FreshEgg[] = INCBIN_U32("graphics/battle_anims/sprites/fresh_egg.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_104[] = INCBIN_U32("graphics/battle_anims/sprites/104.4bpp.lz"); -const u32 gBattleAnimSpritePalette_104[] = INCBIN_U32("graphics/battle_anims/sprites/104.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Fangs[] = INCBIN_U32("graphics/battle_anims/sprites/fangs.4bpp.lz"); +const u32 gBattleAnimSpritePal_Fangs[] = INCBIN_U32("graphics/battle_anims/sprites/fangs.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_105[] = INCBIN_U32("graphics/battle_anims/sprites/105.4bpp.lz"); -const u32 gBattleAnimSpritePalette_105[] = INCBIN_U32("graphics/battle_anims/sprites/105.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Explosion2[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_Explosion2[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_106[] = INCBIN_U32("graphics/battle_anims/sprites/106.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Explosion3[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_3.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_107[] = INCBIN_U32("graphics/battle_anims/sprites/107.4bpp.lz"); -const u32 gBattleAnimSpritePalette_107[] = INCBIN_U32("graphics/battle_anims/sprites/107.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_WaterDroplet[] = INCBIN_U32("graphics/battle_anims/sprites/water_droplet.4bpp.lz"); +const u32 gBattleAnimSpritePal_WaterDroplet[] = INCBIN_U32("graphics/battle_anims/sprites/water_droplet.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_108[] = INCBIN_U32("graphics/battle_anims/sprites/108.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_WaterDroplet2[] = INCBIN_U32("graphics/battle_anims/sprites/water_droplet_2.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_109[] = INCBIN_U32("graphics/battle_anims/sprites/109.4bpp.lz"); -const u32 gBattleAnimSpritePalette_109[] = INCBIN_U32("graphics/battle_anims/sprites/109.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Seed2[] = INCBIN_U32("graphics/battle_anims/sprites/seed_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_Seed2[] = INCBIN_U32("graphics/battle_anims/sprites/seed_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_110[] = INCBIN_U32("graphics/battle_anims/sprites/110.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Sprout[] = INCBIN_U32("graphics/battle_anims/sprites/sprout.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_111[] = INCBIN_U32("graphics/battle_anims/sprites/111.4bpp.lz"); -const u32 gBattleAnimSpritePalette_111[] = INCBIN_U32("graphics/battle_anims/sprites/111.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_RedWand[] = INCBIN_U32("graphics/battle_anims/sprites/red_wand.4bpp.lz"); +const u32 gBattleAnimSpritePal_RedWand[] = INCBIN_U32("graphics/battle_anims/sprites/red_wand.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_112[] = INCBIN_U32("graphics/battle_anims/sprites/112.4bpp.lz"); -const u32 gBattleAnimSpritePalette_112[] = INCBIN_U32("graphics/battle_anims/sprites/112.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PurpleGreenUnk[] = INCBIN_U32("graphics/battle_anims/sprites/purple_green_unk.4bpp.lz"); +const u32 gBattleAnimSpritePal_PurpleGreenUnk[] = INCBIN_U32("graphics/battle_anims/sprites/purple_green_unk.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_113[] = INCBIN_U32("graphics/battle_anims/sprites/113.4bpp.lz"); -const u32 gBattleAnimSpritePalette_113[] = INCBIN_U32("graphics/battle_anims/sprites/113.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_WaterColumn[] = INCBIN_U32("graphics/battle_anims/sprites/water_column.4bpp.lz"); +const u32 gBattleAnimSpritePal_WaterColumn[] = INCBIN_U32("graphics/battle_anims/sprites/water_column.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_114[] = INCBIN_U32("graphics/battle_anims/sprites/114.4bpp.lz"); -const u32 gBattleAnimSpritePalette_114[] = INCBIN_U32("graphics/battle_anims/sprites/114.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_MudUnk[] = INCBIN_U32("graphics/battle_anims/sprites/mud_unk.4bpp.lz"); +const u32 gBattleAnimSpritePal_MudUnk[] = INCBIN_U32("graphics/battle_anims/sprites/mud_unk.gbapal.lz"); const u32 gUnusedTilemap_BlueFrame[] = INCBIN_U32("graphics/unused/blue_frame.bin.lz"); // P1, P2, P3 and P4 tilemaps? const u32 gUnusedTilemap_RedYellowGreenFrame[] = INCBIN_U32("graphics/unused/redyellowgreen_frame.bin.lz"); const u32 gUnusedGfx_ColorFrames[] = INCBIN_U32("graphics/unused/color_frames.4bpp.lz"); const u32 gUnusedPal_ColorFrames[] = INCBIN_U32("graphics/unused/color_frames.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_115[] = INCBIN_U32("graphics/battle_anims/sprites/115.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_RainDrops[] = INCBIN_U32("graphics/battle_anims/sprites/rain_drops.4bpp.lz"); const u32 gUnusedGfx8bpp_WaterSplash [] = INCBIN_U32("graphics/unused/water_splash.8bpp.lz"); const u32 gUnusedTilemap_WaterSplash[] = INCBIN_U32("graphics/unused/water_splash.bin.lz"); @@ -379,63 +379,63 @@ const u8 gUnknown_D1300C[] = INCBIN_U8("graphics/unknown/unknown_D1300C.4bpp"); const u32 gBattleInterfaceGfx_UnusedWindow3[] = INCBIN_U32("graphics/battle_interface/unused_window3.4bpp.lz"); const u32 gBattleInterfaceGfx_UnusedWindow4[] = INCBIN_U32("graphics/battle_interface/unused_window4.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_116[] = INCBIN_U32("graphics/battle_anims/sprites/116.4bpp.lz"); -const u32 gBattleAnimSpritePalette_116[] = INCBIN_U32("graphics/battle_anims/sprites/116.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_FurySwipes[] = INCBIN_U32("graphics/battle_anims/sprites/fury_swipes.4bpp.lz"); +const u32 gBattleAnimSpritePal_FurySwipes[] = INCBIN_U32("graphics/battle_anims/sprites/fury_swipes.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_117[] = INCBIN_U32("graphics/battle_anims/sprites/117.4bpp.lz"); -const u32 gBattleAnimSpritePalette_117[] = INCBIN_U32("graphics/battle_anims/sprites/117.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Vine2[] = INCBIN_U32("graphics/battle_anims/sprites/vine_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_Vine2[] = INCBIN_U32("graphics/battle_anims/sprites/vine_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_118[] = INCBIN_U32("graphics/battle_anims/sprites/118.4bpp.lz"); -const u32 gBattleAnimSpritePalette_118[] = INCBIN_U32("graphics/battle_anims/sprites/118.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Teeth[] = INCBIN_U32("graphics/battle_anims/sprites/teeth.4bpp.lz"); +const u32 gBattleAnimSpritePal_Teeth[] = INCBIN_U32("graphics/battle_anims/sprites/teeth.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_119[] = INCBIN_U32("graphics/battle_anims/sprites/119.4bpp.lz"); -const u32 gBattleAnimSpritePalette_119[] = INCBIN_U32("graphics/battle_anims/sprites/119.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Bone2[] = INCBIN_U32("graphics/battle_anims/sprites/bone_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_Bone2[] = INCBIN_U32("graphics/battle_anims/sprites/bone_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_120[] = INCBIN_U32("graphics/battle_anims/sprites/120.4bpp.lz"); -const u32 gBattleAnimSpritePalette_120[] = INCBIN_U32("graphics/battle_anims/sprites/120.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_WhiteBag[] = INCBIN_U32("graphics/battle_anims/sprites/white_bag.4bpp.lz"); +const u32 gBattleAnimSpritePal_WhiteBag[] = INCBIN_U32("graphics/battle_anims/sprites/white_bag.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_121[] = INCBIN_U32("graphics/battle_anims/sprites/121.4bpp.lz"); -const u32 gBattleAnimSpritePalette_121[] = INCBIN_U32("graphics/battle_anims/sprites/121.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Unknown[] = INCBIN_U32("graphics/battle_anims/sprites/unknown.4bpp.lz"); +const u32 gBattleAnimSpritePal_Unknown[] = INCBIN_U32("graphics/battle_anims/sprites/unknown.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_122[] = INCBIN_U32("graphics/battle_anims/sprites/122.4bpp.lz"); -const u32 gBattleAnimSpritePalette_122[] = INCBIN_U32("graphics/battle_anims/sprites/122.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PurpleCoral[] = INCBIN_U32("graphics/battle_anims/sprites/purple_coral.4bpp.lz"); +const u32 gBattleAnimSpritePal_PurpleCoral[] = INCBIN_U32("graphics/battle_anims/sprites/purple_coral.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_123[] = INCBIN_U32("graphics/battle_anims/sprites/123.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_PurpleDroplet[] = INCBIN_U32("graphics/battle_anims/sprites/purple_droplet.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_124[] = INCBIN_U32("graphics/battle_anims/sprites/124.4bpp.lz"); -const u32 gBattleAnimSpritePalette_124[] = INCBIN_U32("graphics/battle_anims/sprites/124.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Shock2[] = INCBIN_U32("graphics/battle_anims/sprites/shock_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_Shock2[] = INCBIN_U32("graphics/battle_anims/sprites/shock_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_125[] = INCBIN_U32("graphics/battle_anims/sprites/125.4bpp.lz"); -const u32 gBattleAnimSpritePalette_125[] = INCBIN_U32("graphics/battle_anims/sprites/125.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_ClosingEye2[] = INCBIN_U32("graphics/battle_anims/sprites/closing_eye_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_ClosingEye2[] = INCBIN_U32("graphics/battle_anims/sprites/closing_eye_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_126[] = INCBIN_U32("graphics/battle_anims/sprites/126.4bpp.lz"); -const u32 gBattleAnimSpritePalette_126[] = INCBIN_U32("graphics/battle_anims/sprites/126.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_MetalBall[] = INCBIN_U32("graphics/battle_anims/sprites/metal_ball.4bpp.lz"); +const u32 gBattleAnimSpritePal_MetalBall[] = INCBIN_U32("graphics/battle_anims/sprites/metal_ball.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_127[] = INCBIN_U32("graphics/battle_anims/sprites/127.4bpp.lz"); -const u32 gBattleAnimSpritePalette_127[] = INCBIN_U32("graphics/battle_anims/sprites/127.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_MonsterDoll[] = INCBIN_U32("graphics/battle_anims/sprites/monster_doll.4bpp.lz"); +const u32 gBattleAnimSpritePal_MonsterDoll[] = INCBIN_U32("graphics/battle_anims/sprites/monster_doll.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_128[] = INCBIN_U32("graphics/battle_anims/sprites/128.4bpp.lz"); -const u32 gBattleAnimSpritePalette_128[] = INCBIN_U32("graphics/battle_anims/sprites/128.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Whirlwind[] = INCBIN_U32("graphics/battle_anims/sprites/whirlwind.4bpp.lz"); +const u32 gBattleAnimSpritePal_Whirlwind[] = INCBIN_U32("graphics/battle_anims/sprites/whirlwind.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_129[] = INCBIN_U32("graphics/battle_anims/sprites/129.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Whirlwind2[] = INCBIN_U32("graphics/battle_anims/sprites/whirlwind_2.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_130[] = INCBIN_U32("graphics/battle_anims/sprites/130.4bpp.lz"); -const u32 gBattleAnimSpritePalette_130[] = INCBIN_U32("graphics/battle_anims/sprites/130.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Explosion4[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_4.4bpp.lz"); +const u32 gBattleAnimSpritePal_Explosion4[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_4.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_131[] = INCBIN_U32("graphics/battle_anims/sprites/131.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Explosion5[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_5.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_132[] = INCBIN_U32("graphics/battle_anims/sprites/132.4bpp.lz"); -const u32 gBattleAnimSpritePalette_132[] = INCBIN_U32("graphics/battle_anims/sprites/132.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Tongue[] = INCBIN_U32("graphics/battle_anims/sprites/tongue.4bpp.lz"); +const u32 gBattleAnimSpritePal_Tongue[] = INCBIN_U32("graphics/battle_anims/sprites/tongue.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_133[] = INCBIN_U32("graphics/battle_anims/sprites/133.4bpp.lz"); -const u32 gBattleAnimSpritePalette_133[] = INCBIN_U32("graphics/battle_anims/sprites/133.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Smoke[] = INCBIN_U32("graphics/battle_anims/sprites/smoke.4bpp.lz"); +const u32 gBattleAnimSpritePal_Smoke[] = INCBIN_U32("graphics/battle_anims/sprites/smoke.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_134[] = INCBIN_U32("graphics/battle_anims/sprites/134.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Smoke2[] = INCBIN_U32("graphics/battle_anims/sprites/smoke_2.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_076[] = INCBIN_U32("graphics/battle_anims/sprites/076.4bpp.lz"); -const u32 gBattleAnimSpritePalette_076[] = INCBIN_U32("graphics/battle_anims/sprites/076.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_BlueFlames[] = INCBIN_U32("graphics/battle_anims/sprites/blue_flames.4bpp.lz"); +const u32 gBattleAnimSpritePal_BlueFlames[] = INCBIN_U32("graphics/battle_anims/sprites/blue_flames.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_077[] = INCBIN_U32("graphics/battle_anims/sprites/077.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_BlueFlames2[] = INCBIN_U32("graphics/battle_anims/sprites/blue_flames_2.4bpp.lz"); // Contest @@ -446,8 +446,8 @@ const u32 gUnusedTilemap_OldContest[] = INCBIN_U32("graphics/unused/old_contest. const u32 gUnknownTilemap_C15BC0[] = INCBIN_U32("graphics/unknown/unknown_C15BC0.bin.lz"); const u32 gUnusedGfx_OldContest2[] = INCBIN_U32("graphics/unused/old_contest_2.4bpp.lz"); -const u32 gUnknown_08C16E90[] = INCBIN_U32("graphics/unused/old_contest_2.gbapal.lz"); -const u32 gUnknown_08C16FA8[] = INCBIN_U32("graphics/unused/old_contest_2.bin.lz"); +const u32 gOldContestPalette[] = INCBIN_U32("graphics/unused/old_contest_2.gbapal.lz"); +const u32 gOldContestGfx[] = INCBIN_U32("graphics/unused/old_contest_2.bin.lz"); const u32 gUnknown_08C17170[] = INCBIN_U32("graphics/unknown/unknown_C17170.bin.lz"); @@ -479,118 +479,118 @@ const u32 gUnknown_08C1A12C[] = INCBIN_U32("graphics/contest/misc_2_tilemap_3.bi const u32 gUnknown_08C1A2B4[] = INCBIN_U32("graphics/contest/misc_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_135[] = INCBIN_U32("graphics/battle_anims/sprites/135.4bpp.lz"); -const u32 gBattleAnimSpritePalette_135[] = INCBIN_U32("graphics/battle_anims/sprites/135.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Impact[] = INCBIN_U32("graphics/battle_anims/sprites/impact.4bpp.lz"); +const u32 gBattleAnimSpritePal_Impact[] = INCBIN_U32("graphics/battle_anims/sprites/impact.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Particles[] = INCBIN_U32("graphics/battle_anims/sprites/particles.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Particles[] = INCBIN_U32("graphics/battle_anims/sprites/particles.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_136[] = INCBIN_U32("graphics/battle_anims/sprites/136.4bpp.lz"); -const u32 gBattleAnimSpritePalette_136[] = INCBIN_U32("graphics/battle_anims/sprites/136.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_CircleImpact[] = INCBIN_U32("graphics/battle_anims/sprites/circle_impact.4bpp.lz"); +const u32 gBattleAnimSpritePal_CircleImpact[] = INCBIN_U32("graphics/battle_anims/sprites/circle_impact.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_137[] = INCBIN_U32("graphics/battle_anims/sprites/137.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Scratch[] = INCBIN_U32("graphics/battle_anims/sprites/scratch.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_139[] = INCBIN_U32("graphics/battle_anims/sprites/139.4bpp.lz"); -const u32 gBattleAnimSpritePalette_139[] = INCBIN_U32("graphics/battle_anims/sprites/139.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_SharpTeeth[] = INCBIN_U32("graphics/battle_anims/sprites/sharp_teeth.4bpp.lz"); +const u32 gBattleAnimSpritePal_SharpTeeth[] = INCBIN_U32("graphics/battle_anims/sprites/sharp_teeth.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_145[] = INCBIN_U32("graphics/battle_anims/sprites/145.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Clamp[] = INCBIN_U32("graphics/battle_anims/sprites/clamp.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_138[] = INCBIN_U32("graphics/battle_anims/sprites/138.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Cut[] = INCBIN_U32("graphics/battle_anims/sprites/cut.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_140[] = INCBIN_U32("graphics/battle_anims/sprites/140.4bpp.lz"); -const u32 gBattleAnimSpritePalette_140[] = INCBIN_U32("graphics/battle_anims/sprites/140.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_RainbowRings[] = INCBIN_U32("graphics/battle_anims/sprites/rainbow_rings.4bpp.lz"); +const u32 gBattleAnimSpritePal_RainbowRings[] = INCBIN_U32("graphics/battle_anims/sprites/rainbow_rings.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_141[] = INCBIN_U32("graphics/battle_anims/sprites/141.4bpp.lz"); -const u32 gBattleAnimSpritePalette_141[] = INCBIN_U32("graphics/battle_anims/sprites/141.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_IceCrystals[] = INCBIN_U32("graphics/battle_anims/sprites/ice_crystals.4bpp.lz"); +const u32 gBattleAnimSpritePal_IceCrystals[] = INCBIN_U32("graphics/battle_anims/sprites/ice_crystals.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_142[] = INCBIN_U32("graphics/battle_anims/sprites/142.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_IceSpikes[] = INCBIN_U32("graphics/battle_anims/sprites/ice_spikes.4bpp.lz"); const u32 gUnusedGfx_OldBeatUp[] = INCBIN_U32("graphics/unused/old_beatup.4bpp.lz"); const u32 gUnusedPal_OldBeatUp[] = INCBIN_U32("graphics/unused/old_beatup.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_147[] = INCBIN_U32("graphics/battle_anims/sprites/147.4bpp.lz"); -const u32 gBattleAnimSpritePalette_147[] = INCBIN_U32("graphics/battle_anims/sprites/147.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Orbs[] = INCBIN_U32("graphics/battle_anims/sprites/orbs.4bpp.lz"); +const u32 gBattleAnimSpritePal_Orbs[] = INCBIN_U32("graphics/battle_anims/sprites/orbs.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_149[] = INCBIN_U32("graphics/battle_anims/sprites/149.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_WaterOrb[] = INCBIN_U32("graphics/battle_anims/sprites/water_orb.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_148[] = INCBIN_U32("graphics/battle_anims/sprites/148.4bpp.lz"); -const u32 gBattleAnimSpritePalette_148[] = INCBIN_U32("graphics/battle_anims/sprites/148.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_WaterImpact[] = INCBIN_U32("graphics/battle_anims/sprites/water_impact.4bpp.lz"); +const u32 gBattleAnimSpritePal_WaterImpact[] = INCBIN_U32("graphics/battle_anims/sprites/water_impact.gbapal.lz"); -const u32 gBattleAnimSpritePalette_259[] = INCBIN_U32("graphics/battle_anims/sprites/259.gbapal.lz"); +const u32 gBattleAnimSpritePal_BrownOrb[] = INCBIN_U32("graphics/battle_anims/sprites/brown_orb.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_074[] = INCBIN_U32("graphics/battle_anims/sprites/074.4bpp.lz"); -const u32 gBattleAnimSpritePalette_074[] = INCBIN_U32("graphics/battle_anims/sprites/074.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_MudSand[] = INCBIN_U32("graphics/battle_anims/sprites/mud_sand.4bpp.lz"); +const u32 gBattleAnimSpritePal_MudSand[] = INCBIN_U32("graphics/battle_anims/sprites/mud_sand.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_150[] = INCBIN_U32("graphics/battle_anims/sprites/150.4bpp.lz"); -const u32 gBattleAnimSpritePalette_150[] = INCBIN_U32("graphics/battle_anims/sprites/150.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PoisonBubble[] = INCBIN_U32("graphics/battle_anims/sprites/poison_bubble.4bpp.lz"); +const u32 gBattleAnimSpritePal_PoisonBubble[] = INCBIN_U32("graphics/battle_anims/sprites/poison_bubble.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_151[] = INCBIN_U32("graphics/battle_anims/sprites/151.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_ToxicBubble[] = INCBIN_U32("graphics/battle_anims/sprites/toxic_bubble.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_153[] = INCBIN_U32("graphics/battle_anims/sprites/153.4bpp.lz"); -const u32 gBattleAnimSpritePalette_153[] = INCBIN_U32("graphics/battle_anims/sprites/153.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_HornHit2[] = INCBIN_U32("graphics/battle_anims/sprites/horn_hit_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_HornHit2[] = INCBIN_U32("graphics/battle_anims/sprites/horn_hit_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_154[] = INCBIN_U32("graphics/battle_anims/sprites/154.4bpp.lz"); -const u32 gBattleAnimSpritePalette_154[] = INCBIN_U32("graphics/battle_anims/sprites/154.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_AirWave2[] = INCBIN_U32("graphics/battle_anims/sprites/air_wave_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_AirWave2[] = INCBIN_U32("graphics/battle_anims/sprites/air_wave_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_155[] = INCBIN_U32("graphics/battle_anims/sprites/155.4bpp.lz"); -const u32 gBattleAnimSpritePalette_155[] = INCBIN_U32("graphics/battle_anims/sprites/155.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_SmallBubbles[] = INCBIN_U32("graphics/battle_anims/sprites/small_bubbles.4bpp.lz"); +const u32 gBattleAnimSpritePal_SmallBubbles[] = INCBIN_U32("graphics/battle_anims/sprites/small_bubbles.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_156[] = INCBIN_U32("graphics/battle_anims/sprites/156.4bpp.lz"); -const u32 gBattleAnimSpritePalette_156[] = INCBIN_U32("graphics/battle_anims/sprites/156.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_RoundShadow[] = INCBIN_U32("graphics/battle_anims/sprites/round_shadow.4bpp.lz"); +const u32 gBattleAnimSpritePal_RoundShadow[] = INCBIN_U32("graphics/battle_anims/sprites/round_shadow.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_157[] = INCBIN_U32("graphics/battle_anims/sprites/157.4bpp.lz"); -const u32 gBattleAnimSpritePalette_157[] = INCBIN_U32("graphics/battle_anims/sprites/157.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Sunlight[] = INCBIN_U32("graphics/battle_anims/sprites/sunlight.4bpp.lz"); +const u32 gBattleAnimSpritePal_Sunlight[] = INCBIN_U32("graphics/battle_anims/sprites/sunlight.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_158[] = INCBIN_U32("graphics/battle_anims/sprites/158.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Spore[] = INCBIN_U32("graphics/battle_anims/sprites/spore.4bpp.lz"); -const u32 gBattleAnimSpritePalette_158[] = INCBIN_U32("graphics/battle_anims/sprites/158.gbapal.lz"); +const u32 gBattleAnimSpritePal_Spore[] = INCBIN_U32("graphics/battle_anims/sprites/spore.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_159[] = INCBIN_U32("graphics/battle_anims/sprites/159.4bpp.lz"); -const u32 gBattleAnimSpritePalette_159[] = INCBIN_U32("graphics/battle_anims/sprites/159.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Flower[] = INCBIN_U32("graphics/battle_anims/sprites/flower.4bpp.lz"); +const u32 gBattleAnimSpritePal_Flower[] = INCBIN_U32("graphics/battle_anims/sprites/flower.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_160[] = INCBIN_U32("graphics/battle_anims/sprites/160.4bpp.lz"); -const u32 gBattleAnimSpritePalette_160[] = INCBIN_U32("graphics/battle_anims/sprites/160.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_RazorLeaf[] = INCBIN_U32("graphics/battle_anims/sprites/razor_leaf.4bpp.lz"); +const u32 gBattleAnimSpritePal_RazorLeaf[] = INCBIN_U32("graphics/battle_anims/sprites/razor_leaf.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_144[] = INCBIN_U32("graphics/battle_anims/sprites/144.4bpp.lz"); -const u32 gBattleAnimSpritePalette_144[] = INCBIN_U32("graphics/battle_anims/sprites/144.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_MistCloud[] = INCBIN_U32("graphics/battle_anims/sprites/mist_cloud.4bpp.lz"); +const u32 gBattleAnimSpritePal_MistCloud[] = INCBIN_U32("graphics/battle_anims/sprites/mist_cloud.gbapal.lz"); const u32 gUnknownGfx_D1C060[] = INCBIN_U32("graphics/unknown/unknown_D1C060.4bpp.lz"); const u32 gUnknownPal_D1C060[] = INCBIN_U32("graphics/unknown/unknown_D1C060.gbapal.lz"); const u32 gUnknownTilemap_D1C060[] = INCBIN_U32("graphics/unknown/unknown_D1C060.bin.lz"); -const u32 gBattleAnimSpriteSheet_162[] = INCBIN_U32("graphics/battle_anims/sprites/162.4bpp.lz"); -const u32 gBattleAnimSpritePalette_162[] = INCBIN_U32("graphics/battle_anims/sprites/162.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_WhirlwindLines[] = INCBIN_U32("graphics/battle_anims/sprites/whirlwind_lines.4bpp.lz"); +const u32 gBattleAnimSpritePal_WhirlwindLines[] = INCBIN_U32("graphics/battle_anims/sprites/whirlwind_lines.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_163[] = INCBIN_U32("graphics/battle_anims/sprites/163.4bpp.lz"); -const u32 gBattleAnimSpritePalette_163[] = INCBIN_U32("graphics/battle_anims/sprites/163.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_GoldRing[] = INCBIN_U32("graphics/battle_anims/sprites/gold_ring.4bpp.lz"); +const u32 gBattleAnimSpritePal_GoldRing[] = INCBIN_U32("graphics/battle_anims/sprites/gold_ring.gbapal.lz"); -const u32 gBattleAnimSpritePalette_288[] = INCBIN_U32("graphics/battle_anims/sprites/288.gbapal.lz"); -const u32 gBattleAnimSpritePalette_164[] = INCBIN_U32("graphics/battle_anims/sprites/164.gbapal.lz"); -const u32 gBattleAnimSpritePalette_165[] = INCBIN_U32("graphics/battle_anims/sprites/165.gbapal.lz"); +const u32 gBattleAnimSpritePal_BlueRing2[] = INCBIN_U32("graphics/battle_anims/sprites/blue_ring_2.gbapal.lz"); +const u32 gBattleAnimSpritePal_PurpleRing[] = INCBIN_U32("graphics/battle_anims/sprites/purple_ring.gbapal.lz"); +const u32 gBattleAnimSpritePal_BlueRing[] = INCBIN_U32("graphics/battle_anims/sprites/blue_ring.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_166[] = INCBIN_U32("graphics/battle_anims/sprites/166.4bpp.lz"); -const u32 gBattleAnimSpritePalette_166[] = INCBIN_U32("graphics/battle_anims/sprites/166.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_GreenLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/green_light_wall.4bpp.lz"); +const u32 gBattleAnimSpritePal_GreenLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/green_light_wall.gbapal.lz"); -const u32 gBattleAnimSpritePalette_167[] = INCBIN_U32("graphics/battle_anims/sprites/167.gbapal.lz"); -const u32 gBattleAnimSpritePalette_168[] = INCBIN_U32("graphics/battle_anims/sprites/168.gbapal.lz"); -const u32 gBattleAnimSpritePalette_169[] = INCBIN_U32("graphics/battle_anims/sprites/169.gbapal.lz"); -const u32 gBattleAnimSpritePalette_170[] = INCBIN_U32("graphics/battle_anims/sprites/170.gbapal.lz"); +const u32 gBattleAnimSpritePal_BlueLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/blue_light_wall.gbapal.lz"); +const u32 gBattleAnimSpritePal_RedLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/red_light_wall.gbapal.lz"); +const u32 gBattleAnimSpritePal_GrayLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/gray_light_wall.gbapal.lz"); +const u32 gBattleAnimSpritePal_OrangeLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/orange_light_wall.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_171[] = INCBIN_U32("graphics/battle_anims/sprites/171.4bpp.lz"); -const u32 gBattleAnimSpritePalette_171[] = INCBIN_U32("graphics/battle_anims/sprites/171.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_BlackBall2[] = INCBIN_U32("graphics/battle_anims/sprites/black_ball_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_BlackBall2[] = INCBIN_U32("graphics/battle_anims/sprites/black_ball_2.gbapal.lz"); -const u32 gBattleAnimSpritePalette_172[] = INCBIN_U32("graphics/battle_anims/sprites/172.gbapal.lz"); +const u32 gBattleAnimSpritePal_PurpleGasCloud[] = INCBIN_U32("graphics/battle_anims/sprites/purple_gas_cloud.gbapal.lz"); const u32 gContestJudgeGfx[] = INCBIN_U32("graphics/contest/judge.4bpp.lz"); const u32 gContest2Pal[] = INCBIN_U32("graphics/contest/judge.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_001[] = INCBIN_U32("graphics/battle_anims/sprites/001.4bpp.lz"); -const u32 gBattleAnimSpritePalette_001[] = INCBIN_U32("graphics/battle_anims/sprites/001.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Spark[] = INCBIN_U32("graphics/battle_anims/sprites/spark.4bpp.lz"); +const u32 gBattleAnimSpritePal_Spark[] = INCBIN_U32("graphics/battle_anims/sprites/spark.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_173[] = INCBIN_U32("graphics/battle_anims/sprites/173.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_SparkH[] = INCBIN_U32("graphics/battle_anims/sprites/spark_h.4bpp.lz"); -const u32 gBattleAnimBackgroundImage_00[] = INCBIN_U32("graphics/battle_anims/backgrounds/00.4bpp.lz"); -const u32 gBattleAnimBackgroundPalette_00[] = INCBIN_U32("graphics/battle_anims/backgrounds/00.gbapal.lz"); -const u32 gBattleAnimBackgroundTilemap_00[] = INCBIN_U32("graphics/battle_anims/backgrounds/00.bin.lz"); +const u32 gBattleAnimBgImage_Dark[] = INCBIN_U32("graphics/battle_anims/backgrounds/dark.4bpp.lz"); +const u32 gBattleAnimBgPalette_Dark[] = INCBIN_U32("graphics/battle_anims/backgrounds/dark.gbapal.lz"); +const u32 gBattleAnimBgTilemap_Dark[] = INCBIN_U32("graphics/battle_anims/backgrounds/dark.bin.lz"); const u32 gMetalShineGfx[] = INCBIN_U32("graphics/battle_anims/masks/metal_shine.4bpp.lz"); const u32 gMetalShinePalette[] = INCBIN_U32("graphics/battle_anims/masks/metal_shine.gbapal.lz"); @@ -600,48 +600,48 @@ const u32 gUnusedGfx_Goosuto[] = INCBIN_U32("graphics/unused/goosuto.4bpp.lz"); const u32 gUnusedPal_Goosuto[] = INCBIN_U32("graphics/unused/goosuto.gbapal.lz"); const u32 gUnusedTilemap_Goosuto[] = INCBIN_U32("graphics/unused/goosuto.bin.lz"); -const u32 gBattleAnimSpriteSheet_174[] = INCBIN_U32("graphics/battle_anims/sprites/174.4bpp.lz"); -const u32 gBattleAnimSpritePalette_174[] = INCBIN_U32("graphics/battle_anims/sprites/174.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_YellowStar[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_star.4bpp.lz"); +const u32 gBattleAnimSpritePal_YellowStar[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_star.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_175[] = INCBIN_U32("graphics/battle_anims/sprites/175.4bpp.lz"); -const u32 gBattleAnimSpritePalette_175[] = INCBIN_U32("graphics/battle_anims/sprites/175.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_LargeFreshEgg[] = INCBIN_U32("graphics/battle_anims/sprites/large_fresh_egg.4bpp.lz"); +const u32 gBattleAnimSpritePal_LargeFreshEgg[] = INCBIN_U32("graphics/battle_anims/sprites/large_fresh_egg.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_176[] = INCBIN_U32("graphics/battle_anims/sprites/176.4bpp.lz"); -const u32 gBattleAnimSpritePalette_176[] = INCBIN_U32("graphics/battle_anims/sprites/176.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_ShadowBall[] = INCBIN_U32("graphics/battle_anims/sprites/shadow_ball.4bpp.lz"); +const u32 gBattleAnimSpritePal_ShadowBall[] = INCBIN_U32("graphics/battle_anims/sprites/shadow_ball.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_177[] = INCBIN_U32("graphics/battle_anims/sprites/177.4bpp.lz"); -const u32 gBattleAnimSpritePalette_177[] = INCBIN_U32("graphics/battle_anims/sprites/177.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Lick[] = INCBIN_U32("graphics/battle_anims/sprites/lick.4bpp.lz"); +const u32 gBattleAnimSpritePal_Lick[] = INCBIN_U32("graphics/battle_anims/sprites/lick.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_178[] = INCBIN_U32("graphics/battle_anims/sprites/178.4bpp.lz"); -const u32 gBattleAnimSpritePalette_178[] = INCBIN_U32("graphics/battle_anims/sprites/178.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_VoidLines[] = INCBIN_U32("graphics/battle_anims/sprites/void_lines.4bpp.lz"); +const u32 gBattleAnimSpritePal_VoidLines[] = INCBIN_U32("graphics/battle_anims/sprites/void_lines.gbapal.lz"); -const u32 gBattleAnimSpritePalette_179[] = INCBIN_U32("graphics/battle_anims/sprites/179.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_179[] = INCBIN_U32("graphics/battle_anims/sprites/179.4bpp.lz"); +const u32 gBattleAnimSpritePal_String[] = INCBIN_U32("graphics/battle_anims/sprites/string.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_String[] = INCBIN_U32("graphics/battle_anims/sprites/string.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_180[] = INCBIN_U32("graphics/battle_anims/sprites/180.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_181[] = INCBIN_U32("graphics/battle_anims/sprites/181.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_WebThread[] = INCBIN_U32("graphics/battle_anims/sprites/web_thread.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_SpiderWeb[] = INCBIN_U32("graphics/battle_anims/sprites/spider_web.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_182[] = INCBIN_U32("graphics/battle_anims/sprites/182.4bpp.lz"); -const u32 gBattleAnimSpritePalette_182[] = INCBIN_U32("graphics/battle_anims/sprites/182.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Lightbulb[] = INCBIN_U32("graphics/battle_anims/sprites/lightbulb.4bpp.lz"); +const u32 gBattleAnimSpritePal_Lightbulb[] = INCBIN_U32("graphics/battle_anims/sprites/lightbulb.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_183[] = INCBIN_U32("graphics/battle_anims/sprites/183.4bpp.lz"); -const u32 gBattleAnimSpritePalette_183[] = INCBIN_U32("graphics/battle_anims/sprites/183.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Slash[] = INCBIN_U32("graphics/battle_anims/sprites/slash.4bpp.lz"); +const u32 gBattleAnimSpritePal_Slash[] = INCBIN_U32("graphics/battle_anims/sprites/slash.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_184[] = INCBIN_U32("graphics/battle_anims/sprites/184.4bpp.lz"); -const u32 gBattleAnimSpritePalette_184[] = INCBIN_U32("graphics/battle_anims/sprites/184.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_FocusEnergy[] = INCBIN_U32("graphics/battle_anims/sprites/focus_energy.4bpp.lz"); +const u32 gBattleAnimSpritePal_FocusEnergy[] = INCBIN_U32("graphics/battle_anims/sprites/focus_energy.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_185[] = INCBIN_U32("graphics/battle_anims/sprites/185.4bpp.lz"); -const u32 gBattleAnimSpritePalette_185[] = INCBIN_U32("graphics/battle_anims/sprites/185.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_SphereToCube[] = INCBIN_U32("graphics/battle_anims/sprites/sphere_to_cube.4bpp.lz"); +const u32 gBattleAnimSpritePal_SphereToCube[] = INCBIN_U32("graphics/battle_anims/sprites/sphere_to_cube.gbapal.lz"); -const u32 gBattleAnimBackgroundImage_03[] = INCBIN_U32("graphics/battle_anims/backgrounds/03.4bpp.lz"); -const u32 gBattleAnimBackgroundPalette_03[] = INCBIN_U32("graphics/battle_anims/backgrounds/03.gbapal.lz"); -const u32 gBattleAnimBackgroundTilemap_03[] = INCBIN_U32("graphics/battle_anims/backgrounds/03.bin.lz"); +const u32 gBattleAnimBgImage_Psychic[] = INCBIN_U32("graphics/battle_anims/backgrounds/psychic.4bpp.lz"); +const u32 gBattleAnimBgPalette_Psychic[] = INCBIN_U32("graphics/battle_anims/backgrounds/psychic.gbapal.lz"); +const u32 gBattleAnimBgTilemap_Psychic[] = INCBIN_U32("graphics/battle_anims/backgrounds/psychic.bin.lz"); -const u32 gBattleAnimSpriteSheet_187[] = INCBIN_U32("graphics/battle_anims/sprites/187.4bpp.lz"); -const u32 gBattleAnimSpritePalette_187[] = INCBIN_U32("graphics/battle_anims/sprites/187.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Eye[] = INCBIN_U32("graphics/battle_anims/sprites/eye.4bpp.lz"); +const u32 gBattleAnimSpritePal_Eye[] = INCBIN_U32("graphics/battle_anims/sprites/eye.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_186[] = INCBIN_U32("graphics/battle_anims/sprites/186.4bpp.lz"); -const u32 gBattleAnimSpritePalette_186[] = INCBIN_U32("graphics/battle_anims/sprites/186.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Tendrils[] = INCBIN_U32("graphics/battle_anims/sprites/tendrils.4bpp.lz"); +const u32 gBattleAnimSpritePal_Tendrils[] = INCBIN_U32("graphics/battle_anims/sprites/tendrils.gbapal.lz"); const u32 gHealthboxSinglesPlayerGfx[] = INCBIN_U32("graphics/battle_interface/healthbox_singles_player.4bpp.lz"); const u32 gHealthboxSinglesOpponentGfx[] = INCBIN_U32("graphics/battle_interface/healthbox_singles_opponent.4bpp.lz"); @@ -652,237 +652,237 @@ const u32 gHealthboxSafariGfx[] = INCBIN_U32("graphics/battle_interface/healthbo const u32 gUnusedGfx_Shadow[] = INCBIN_U32("graphics/unused/shadow.4bpp.lz"); const u32 gUnusedPal_Shadow[] = INCBIN_U32("graphics/unused/shadow.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_014[] = INCBIN_U32("graphics/battle_anims/sprites/014.4bpp.lz"); -const u32 gBattleAnimSpritePalette_014[] = INCBIN_U32("graphics/battle_anims/sprites/014.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_LockOn[] = INCBIN_U32("graphics/battle_anims/sprites/lock_on.4bpp.lz"); +const u32 gBattleAnimSpritePal_LockOn[] = INCBIN_U32("graphics/battle_anims/sprites/lock_on.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_190[] = INCBIN_U32("graphics/battle_anims/sprites/190.4bpp.lz"); -const u32 gBattleAnimSpritePalette_190[] = INCBIN_U32("graphics/battle_anims/sprites/190.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_OpeningEye[] = INCBIN_U32("graphics/battle_anims/sprites/opening_eye.4bpp.lz"); +const u32 gBattleAnimSpritePal_OpeningEye[] = INCBIN_U32("graphics/battle_anims/sprites/opening_eye.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_191[] = INCBIN_U32("graphics/battle_anims/sprites/191.4bpp.lz"); -const u32 gBattleAnimSpritePalette_191[] = INCBIN_U32("graphics/battle_anims/sprites/191.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_RoundWhiteHalo[] = INCBIN_U32("graphics/battle_anims/sprites/round_white_halo.4bpp.lz"); +const u32 gBattleAnimSpritePal_RoundWhiteHalo[] = INCBIN_U32("graphics/battle_anims/sprites/round_white_halo.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_189[] = INCBIN_U32("graphics/battle_anims/sprites/189.4bpp.lz"); -const u32 gBattleAnimSpritePalette_189[] = INCBIN_U32("graphics/battle_anims/sprites/189.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_TealAlert[] = INCBIN_U32("graphics/battle_anims/sprites/teal_alert.4bpp.lz"); +const u32 gBattleAnimSpritePal_TealAlert[] = INCBIN_U32("graphics/battle_anims/sprites/teal_alert.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_192[] = INCBIN_U32("graphics/battle_anims/sprites/192.4bpp.lz"); -const u32 gBattleAnimSpritePalette_192[] = INCBIN_U32("graphics/battle_anims/sprites/192.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_FangAttack[] = INCBIN_U32("graphics/battle_anims/sprites/fang_attack.4bpp.lz"); +const u32 gBattleAnimSpritePal_FangAttack[] = INCBIN_U32("graphics/battle_anims/sprites/fang_attack.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_193[] = INCBIN_U32("graphics/battle_anims/sprites/193.4bpp.lz"); -const u32 gBattleAnimSpritePalette_193[] = INCBIN_U32("graphics/battle_anims/sprites/193.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PurpleHandOutline[] = INCBIN_U32("graphics/battle_anims/sprites/purple_hand_outline.4bpp.lz"); +const u32 gBattleAnimSpritePal_PurpleHandOutline[] = INCBIN_U32("graphics/battle_anims/sprites/purple_hand_outline.gbapal.lz"); const u32 gUnknown_08C20668[] = INCBIN_U32("graphics/battle_anims/masks/curse.4bpp.lz"); const u32 gUnknown_08C20684[] = INCBIN_U32("graphics/battle_anims/masks/curse.bin.lz"); -const u32 gBattleAnimSpriteSheet_002[] = INCBIN_U32("graphics/battle_anims/sprites/002.4bpp.lz"); -const u32 gBattleAnimSpritePalette_002[] = INCBIN_U32("graphics/battle_anims/sprites/002.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Pencil[] = INCBIN_U32("graphics/battle_anims/sprites/pencil.4bpp.lz"); +const u32 gBattleAnimSpritePal_Pencil[] = INCBIN_U32("graphics/battle_anims/sprites/pencil.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_196[] = INCBIN_U32("graphics/battle_anims/sprites/196.4bpp.lz"); -const u32 gBattleAnimSpritePalette_196[] = INCBIN_U32("graphics/battle_anims/sprites/196.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Spiral[] = INCBIN_U32("graphics/battle_anims/sprites/spiral.4bpp.lz"); +const u32 gBattleAnimSpritePal_Spiral[] = INCBIN_U32("graphics/battle_anims/sprites/spiral.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_194[] = INCBIN_U32("graphics/battle_anims/sprites/194.4bpp.lz"); -const u32 gBattleAnimSpritePalette_194[] = INCBIN_U32("graphics/battle_anims/sprites/194.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Moon[] = INCBIN_U32("graphics/battle_anims/sprites/moon.4bpp.lz"); +const u32 gBattleAnimSpritePal_Moon[] = INCBIN_U32("graphics/battle_anims/sprites/moon.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_195[] = INCBIN_U32("graphics/battle_anims/sprites/195.4bpp.lz"); -const u32 gBattleAnimSpritePalette_195[] = INCBIN_U32("graphics/battle_anims/sprites/195.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_GreenSparkle[] = INCBIN_U32("graphics/battle_anims/sprites/green_sparkle.4bpp.lz"); +const u32 gBattleAnimSpritePal_GreenSparkle[] = INCBIN_U32("graphics/battle_anims/sprites/green_sparkle.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_197[] = INCBIN_U32("graphics/battle_anims/sprites/197.4bpp.lz"); -const u32 gBattleAnimSpritePalette_197[] = INCBIN_U32("graphics/battle_anims/sprites/197.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_SnoreZ[] = INCBIN_U32("graphics/battle_anims/sprites/snore_z.4bpp.lz"); +const u32 gBattleAnimSpritePal_SnoreZ[] = INCBIN_U32("graphics/battle_anims/sprites/snore_z.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_198[] = INCBIN_U32("graphics/battle_anims/sprites/198.4bpp.lz"); -const u32 gBattleAnimSpritePalette_198[] = INCBIN_U32("graphics/battle_anims/sprites/198.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Explosion[] = INCBIN_U32("graphics/battle_anims/sprites/explosion.4bpp.lz"); +const u32 gBattleAnimSpritePal_Explosion[] = INCBIN_U32("graphics/battle_anims/sprites/explosion.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_199[] = INCBIN_U32("graphics/battle_anims/sprites/199.4bpp.lz"); -const u32 gBattleAnimSpritePalette_199[] = INCBIN_U32("graphics/battle_anims/sprites/199.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Nail[] = INCBIN_U32("graphics/battle_anims/sprites/nail.4bpp.lz"); +const u32 gBattleAnimSpritePal_Nail[] = INCBIN_U32("graphics/battle_anims/sprites/nail.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_200[] = INCBIN_U32("graphics/battle_anims/sprites/200.4bpp.lz"); -const u32 gBattleAnimSpritePalette_200[] = INCBIN_U32("graphics/battle_anims/sprites/200.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_GhostlySpirit[] = INCBIN_U32("graphics/battle_anims/sprites/ghostly_spirit.4bpp.lz"); +const u32 gBattleAnimSpritePal_GhostlySpirit[] = INCBIN_U32("graphics/battle_anims/sprites/ghostly_spirit.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_201[] = INCBIN_U32("graphics/battle_anims/sprites/201.4bpp.lz"); -const u32 gBattleAnimSpritePalette_201[] = INCBIN_U32("graphics/battle_anims/sprites/201.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_WarmRock[] = INCBIN_U32("graphics/battle_anims/sprites/warm_rock.4bpp.lz"); +const u32 gBattleAnimSpritePal_WarmRock[] = INCBIN_U32("graphics/battle_anims/sprites/warm_rock.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_204[] = INCBIN_U32("graphics/battle_anims/sprites/204.4bpp.lz"); -const u32 gBattleAnimSpritePalette_204[] = INCBIN_U32("graphics/battle_anims/sprites/204.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PunchImpact[] = INCBIN_U32("graphics/battle_anims/sprites/punch_impact.4bpp.lz"); +const u32 gBattleAnimSpritePal_PunchImpact[] = INCBIN_U32("graphics/battle_anims/sprites/punch_impact.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_202[] = INCBIN_U32("graphics/battle_anims/sprites/202.4bpp.lz"); -const u32 gBattleAnimSpritePalette_202[] = INCBIN_U32("graphics/battle_anims/sprites/202.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_BreakingEgg[] = INCBIN_U32("graphics/battle_anims/sprites/breaking_egg.4bpp.lz"); +const u32 gBattleAnimSpritePal_BreakingEgg[] = INCBIN_U32("graphics/battle_anims/sprites/breaking_egg.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_203[] = INCBIN_U32("graphics/battle_anims/sprites/203.4bpp.lz"); -const u32 gBattleAnimSpritePalette_203[] = INCBIN_U32("graphics/battle_anims/sprites/203.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_ThinRing[] = INCBIN_U32("graphics/battle_anims/sprites/thin_ring.4bpp.lz"); +const u32 gBattleAnimSpritePal_ThinRing[] = INCBIN_U32("graphics/battle_anims/sprites/thin_ring.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_206[] = INCBIN_U32("graphics/battle_anims/sprites/206.4bpp.lz"); -const u32 gBattleAnimSpritePalette_206[] = INCBIN_U32("graphics/battle_anims/sprites/206.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_MusicNotes2[] = INCBIN_U32("graphics/battle_anims/sprites/music_notes_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_MusicNotes2[] = INCBIN_U32("graphics/battle_anims/sprites/music_notes_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_205[] = INCBIN_U32("graphics/battle_anims/sprites/205.4bpp.lz"); -const u32 gBattleAnimSpritePalette_205[] = INCBIN_U32("graphics/battle_anims/sprites/205.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Bell[] = INCBIN_U32("graphics/battle_anims/sprites/bell.4bpp.lz"); +const u32 gBattleAnimSpritePal_Bell[] = INCBIN_U32("graphics/battle_anims/sprites/bell.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_207[] = INCBIN_U32("graphics/battle_anims/sprites/207.4bpp.lz"); -const u32 gBattleAnimSpritePalette_207[] = INCBIN_U32("graphics/battle_anims/sprites/207.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_SpeedDust[] = INCBIN_U32("graphics/battle_anims/sprites/speed_dust.4bpp.lz"); +const u32 gBattleAnimSpritePal_SpeedDust[] = INCBIN_U32("graphics/battle_anims/sprites/speed_dust.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_208[] = INCBIN_U32("graphics/battle_anims/sprites/208.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_TornMetal[] = INCBIN_U32("graphics/battle_anims/sprites/torn_metal.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_209[] = INCBIN_U32("graphics/battle_anims/sprites/209.4bpp.lz"); -const u32 gBattleAnimSpritePalette_209[] = INCBIN_U32("graphics/battle_anims/sprites/209.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_ThoughtBubble[] = INCBIN_U32("graphics/battle_anims/sprites/thought_bubble.4bpp.lz"); +const u32 gBattleAnimSpritePal_ThoughtBubble[] = INCBIN_U32("graphics/battle_anims/sprites/thought_bubble.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_064[] = INCBIN_U32("graphics/battle_anims/sprites/064.4bpp.lz"); -const u32 gBattleAnimSpritePalette_064[] = INCBIN_U32("graphics/battle_anims/sprites/064.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Finger[] = INCBIN_U32("graphics/battle_anims/sprites/finger.4bpp.lz"); +const u32 gBattleAnimSpritePal_Finger[] = INCBIN_U32("graphics/battle_anims/sprites/finger.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_210[] = INCBIN_U32("graphics/battle_anims/sprites/210.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_MagentaHeart[] = INCBIN_U32("graphics/battle_anims/sprites/magenta_heart.4bpp.lz"); -const u32 gBattleAnimSpritePalette_219[] = INCBIN_U32("graphics/battle_anims/sprites/219.gbapal.lz"); -const u32 gBattleAnimSpritePalette_210[] = INCBIN_U32("graphics/battle_anims/sprites/210.gbapal.lz"); -const u32 gBattleAnimSpritePalette_216[] = INCBIN_U32("graphics/battle_anims/sprites/216.gbapal.lz"); +const u32 gBattleAnimSpritePal_PinkHeart[] = INCBIN_U32("graphics/battle_anims/sprites/pink_heart.gbapal.lz"); +const u32 gBattleAnimSpritePal_MagentaHeart[] = INCBIN_U32("graphics/battle_anims/sprites/magenta_heart.gbapal.lz"); +const u32 gBattleAnimSpritePal_RedHeart[] = INCBIN_U32("graphics/battle_anims/sprites/red_heart.gbapal.lz"); const u32 gUnknown_08C232E0[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.4bpp.lz"); const u32 gUnknown_08C23D50[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.gbapal.lz"); const u32 gUnknown_08C23D78[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.bin.lz"); -const u32 gBattleAnimSpriteSheet_217[] = INCBIN_U32("graphics/battle_anims/sprites/217.4bpp.lz"); -const u32 gBattleAnimSpritePalette_217[] = INCBIN_U32("graphics/battle_anims/sprites/217.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_RedOrb[] = INCBIN_U32("graphics/battle_anims/sprites/red_orb.4bpp.lz"); +const u32 gBattleAnimSpritePal_RedOrb[] = INCBIN_U32("graphics/battle_anims/sprites/red_orb.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_212[] = INCBIN_U32("graphics/battle_anims/sprites/212.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_211[] = INCBIN_U32("graphics/battle_anims/sprites/211.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_213[] = INCBIN_U32("graphics/battle_anims/sprites/213.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_CircleOfLight[] = INCBIN_U32("graphics/battle_anims/sprites/circle_of_light.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_ElectricOrbs[] = INCBIN_U32("graphics/battle_anims/sprites/electric_orbs.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Electricity[] = INCBIN_U32("graphics/battle_anims/sprites/electricity.4bpp.lz"); -const u32 gBattleAnimSpritePalette_211[] = INCBIN_U32("graphics/battle_anims/sprites/211.gbapal.lz"); +const u32 gBattleAnimSpritePal_ElectricOrbs[] = INCBIN_U32("graphics/battle_anims/sprites/electric_orbs.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_214[] = INCBIN_U32("graphics/battle_anims/sprites/214.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Finger2[] = INCBIN_U32("graphics/battle_anims/sprites/finger_2.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_215[] = INCBIN_U32("graphics/battle_anims/sprites/215.4bpp.lz"); -const u32 gBattleAnimSpritePalette_215[] = INCBIN_U32("graphics/battle_anims/sprites/215.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_MovementWaves[] = INCBIN_U32("graphics/battle_anims/sprites/movement_waves.4bpp.lz"); +const u32 gBattleAnimSpritePal_MovementWaves[] = INCBIN_U32("graphics/battle_anims/sprites/movement_waves.gbapal.lz"); const u32 gUnknown_08C249D0[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face.gbapal.lz"); const u32 gUnknown_08C249F8[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face.4bpp.lz"); -const u32 gBattleAnimSpritePalette_218[] = INCBIN_U32("graphics/battle_anims/sprites/218.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_218[] = INCBIN_U32("graphics/battle_anims/sprites/218.4bpp.lz"); +const u32 gBattleAnimSpritePal_EyeSparkle[] = INCBIN_U32("graphics/battle_anims/sprites/eye_sparkle.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_EyeSparkle[] = INCBIN_U32("graphics/battle_anims/sprites/eye_sparkle.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_087[] = INCBIN_U32("graphics/battle_anims/sprites/087.4bpp.lz"); -const u32 gBattleAnimSpritePalette_087[] = INCBIN_U32("graphics/battle_anims/sprites/087.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Anger[] = INCBIN_U32("graphics/battle_anims/sprites/anger.4bpp.lz"); +const u32 gBattleAnimSpritePal_Anger[] = INCBIN_U32("graphics/battle_anims/sprites/anger.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_018[] = INCBIN_U32("graphics/battle_anims/sprites/018.4bpp.lz"); -const u32 gBattleAnimSpritePalette_018[] = INCBIN_U32("graphics/battle_anims/sprites/018.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Conversion[] = INCBIN_U32("graphics/battle_anims/sprites/conversion.4bpp.lz"); +const u32 gBattleAnimSpritePal_Conversion[] = INCBIN_U32("graphics/battle_anims/sprites/conversion.gbapal.lz"); -const u32 gBattleAnimSpritePalette_220[] = INCBIN_U32("graphics/battle_anims/sprites/220.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_220[] = INCBIN_U32("graphics/battle_anims/sprites/220.4bpp.lz"); +const u32 gBattleAnimSpritePal_Angel[] = INCBIN_U32("graphics/battle_anims/sprites/angel.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Angel[] = INCBIN_U32("graphics/battle_anims/sprites/angel.4bpp.lz"); -const u32 gBattleAnimSpritePalette_221[] = INCBIN_U32("graphics/battle_anims/sprites/221.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_221[] = INCBIN_U32("graphics/battle_anims/sprites/221.4bpp.lz"); +const u32 gBattleAnimSpritePal_Devil[] = INCBIN_U32("graphics/battle_anims/sprites/devil.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Devil[] = INCBIN_U32("graphics/battle_anims/sprites/devil.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_222[] = INCBIN_U32("graphics/battle_anims/sprites/222.4bpp.lz"); -const u32 gBattleAnimSpritePalette_222[] = INCBIN_U32("graphics/battle_anims/sprites/222.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Swipe[] = INCBIN_U32("graphics/battle_anims/sprites/swipe.4bpp.lz"); +const u32 gBattleAnimSpritePal_Swipe[] = INCBIN_U32("graphics/battle_anims/sprites/swipe.gbapal.lz"); -const u32 gBattleAnimSpritePalette_223[] = INCBIN_U32("graphics/battle_anims/sprites/223.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_223[] = INCBIN_U32("graphics/battle_anims/sprites/223.4bpp.lz"); +const u32 gBattleAnimSpritePal_Roots[] = INCBIN_U32("graphics/battle_anims/sprites/roots.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Roots[] = INCBIN_U32("graphics/battle_anims/sprites/roots.4bpp.lz"); -const u32 gBattleAnimSpritePalette_224[] = INCBIN_U32("graphics/battle_anims/sprites/224.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_224[] = INCBIN_U32("graphics/battle_anims/sprites/224.4bpp.lz"); +const u32 gBattleAnimSpritePal_ItemBag[] = INCBIN_U32("graphics/battle_anims/sprites/item_bag.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_ItemBag[] = INCBIN_U32("graphics/battle_anims/sprites/item_bag.4bpp.lz"); -const u32 gBattleAnimSpritePalette_230[] = INCBIN_U32("graphics/battle_anims/sprites/230.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_230[] = INCBIN_U32("graphics/battle_anims/sprites/230.4bpp.lz"); +const u32 gBattleAnimSpritePal_TriForceTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/tri_force_triangle.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_TriForceTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/tri_force_triangle.4bpp.lz"); -const u32 gBattleAnimSpritePalette_228[] = INCBIN_U32("graphics/battle_anims/sprites/228.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_228[] = INCBIN_U32("graphics/battle_anims/sprites/228.4bpp.lz"); +const u32 gBattleAnimSpritePal_LetterZ[] = INCBIN_U32("graphics/battle_anims/sprites/letter_z.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_LetterZ[] = INCBIN_U32("graphics/battle_anims/sprites/letter_z.4bpp.lz"); -const u32 gBattleAnimBackgroundPalette_04[] = INCBIN_U32("graphics/battle_anims/backgrounds/04.gbapal.lz"); -const u32 gBattleAnimBackgroundImage_04[] = INCBIN_U32("graphics/battle_anims/backgrounds/04.4bpp.lz"); -const u32 gBattleAnimBackgroundTilemap_04[] = INCBIN_U32("graphics/battle_anims/backgrounds/04.bin.lz"); +const u32 gBattleAnimBgPalette_Impact[] = INCBIN_U32("graphics/battle_anims/backgrounds/impact.gbapal.lz"); +const u32 gBattleAnimBgImage_Impact[] = INCBIN_U32("graphics/battle_anims/backgrounds/impact.4bpp.lz"); +const u32 gBattleAnimBgTilemap_ImpactOpponent[] = INCBIN_U32("graphics/battle_anims/backgrounds/impact_opponent.bin.lz"); -const u32 gBattleAnimBackgroundTilemap_05[] = INCBIN_U32("graphics/battle_anims/backgrounds/05.bin.lz"); -const u32 gBattleAnimBackgroundTilemap_06[] = INCBIN_U32("graphics/battle_anims/backgrounds/06.bin.lz"); +const u32 gBattleAnimBgTilemap_ImpactPlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/impact_player.bin.lz"); +const u32 gBattleAnimBgTilemap_ImpactContests[] = INCBIN_U32("graphics/battle_anims/backgrounds/impact_contests.bin.lz"); -const u32 gBattleAnimSpriteSheet_225[] = INCBIN_U32("graphics/battle_anims/sprites/225.4bpp.lz"); -const u32 gBattleAnimSpritePalette_225[] = INCBIN_U32("graphics/battle_anims/sprites/225.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_JaggedMusicNote[] = INCBIN_U32("graphics/battle_anims/sprites/jagged_music_note.4bpp.lz"); +const u32 gBattleAnimSpritePal_JaggedMusicNote[] = INCBIN_U32("graphics/battle_anims/sprites/jagged_music_note.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_227[] = INCBIN_U32("graphics/battle_anims/sprites/227.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Spotlight[] = INCBIN_U32("graphics/battle_anims/sprites/spotlight.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_226[] = INCBIN_U32("graphics/battle_anims/sprites/226.4bpp.lz"); -const u32 gBattleAnimSpritePalette_226[] = INCBIN_U32("graphics/battle_anims/sprites/226.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Pokeball[] = INCBIN_U32("graphics/battle_anims/sprites/pokeball.4bpp.lz"); +const u32 gBattleAnimSpritePal_Pokeball[] = INCBIN_U32("graphics/battle_anims/sprites/pokeball.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_229[] = INCBIN_U32("graphics/battle_anims/sprites/229.4bpp.lz"); -const u32 gBattleAnimSpritePalette_229[] = INCBIN_U32("graphics/battle_anims/sprites/229.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_RapidSpin[] = INCBIN_U32("graphics/battle_anims/sprites/rapid_spin.4bpp.lz"); +const u32 gBattleAnimSpritePal_RapidSpin[] = INCBIN_U32("graphics/battle_anims/sprites/rapid_spin.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_099[] = INCBIN_U32("graphics/battle_anims/sprites/099.4bpp.lz"); -const u32 gBattleAnimSpritePalette_099[] = INCBIN_U32("graphics/battle_anims/sprites/099.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_MilkBottle[] = INCBIN_U32("graphics/battle_anims/sprites/milk_bottle.4bpp.lz"); +const u32 gBattleAnimSpritePal_MilkBottle[] = INCBIN_U32("graphics/battle_anims/sprites/milk_bottle.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_232[] = INCBIN_U32("graphics/battle_anims/sprites/232.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_WispFire[] = INCBIN_U32("graphics/battle_anims/sprites/wisp_fire.4bpp.lz"); -const u32 gBattleAnimSpritePalette_231[] = INCBIN_U32("graphics/battle_anims/sprites/231.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_231[] = INCBIN_U32("graphics/battle_anims/sprites/231.4bpp.lz"); +const u32 gBattleAnimSpritePal_WispOrb[] = INCBIN_U32("graphics/battle_anims/sprites/wisp_orb.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_WispOrb[] = INCBIN_U32("graphics/battle_anims/sprites/wisp_orb.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_233[] = INCBIN_U32("graphics/battle_anims/sprites/233.4bpp.lz"); -const u32 gBattleAnimSpritePalette_233[] = INCBIN_U32("graphics/battle_anims/sprites/233.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_GoldStars[] = INCBIN_U32("graphics/battle_anims/sprites/gold_stars.4bpp.lz"); +const u32 gBattleAnimSpritePal_GoldStars[] = INCBIN_U32("graphics/battle_anims/sprites/gold_stars.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_234[] = INCBIN_U32("graphics/battle_anims/sprites/234.4bpp.lz"); -const u32 gBattleAnimSpritePalette_234[] = INCBIN_U32("graphics/battle_anims/sprites/234.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_EclipsingOrb[] = INCBIN_U32("graphics/battle_anims/sprites/eclipsing_orb.4bpp.lz"); +const u32 gBattleAnimSpritePal_EclipsingOrb[] = INCBIN_U32("graphics/battle_anims/sprites/eclipsing_orb.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_238[] = INCBIN_U32("graphics/battle_anims/sprites/238.4bpp.lz"); -const u32 gBattleAnimSpritePalette_238[] = INCBIN_U32("graphics/battle_anims/sprites/238.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PinkPetal[] = INCBIN_U32("graphics/battle_anims/sprites/pink_petal.4bpp.lz"); +const u32 gBattleAnimSpritePal_PinkPetal[] = INCBIN_U32("graphics/battle_anims/sprites/pink_petal.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_235[] = INCBIN_U32("graphics/battle_anims/sprites/235.4bpp.lz"); -const u32 gBattleAnimSpritePalette_235[] = INCBIN_U32("graphics/battle_anims/sprites/235.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_GrayOrb[] = INCBIN_U32("graphics/battle_anims/sprites/gray_orb.4bpp.lz"); +const u32 gBattleAnimSpritePal_GrayOrb[] = INCBIN_U32("graphics/battle_anims/sprites/gray_orb.gbapal.lz"); -const u32 gBattleAnimSpritePalette_236[] = INCBIN_U32("graphics/battle_anims/sprites/236.gbapal.lz"); -const u32 gBattleAnimSpritePalette_237[] = INCBIN_U32("graphics/battle_anims/sprites/237.gbapal.lz"); +const u32 gBattleAnimSpritePal_BlueOrb[] = INCBIN_U32("graphics/battle_anims/sprites/blue_orb.gbapal.lz"); +const u32 gBattleAnimSpritePal_RedOrb2[] = INCBIN_U32("graphics/battle_anims/sprites/red_orb_2.gbapal.lz"); -const u32 gBattleAnimBackgroundImage_07[] = INCBIN_U32("graphics/battle_anims/backgrounds/07.4bpp.lz"); -const u32 gBattleAnimBackgroundPalette_07[] = INCBIN_U32("graphics/battle_anims/backgrounds/07.gbapal.lz"); +const u32 gBattleAnimBgImage_Drill[] = INCBIN_U32("graphics/battle_anims/backgrounds/drill.4bpp.lz"); +const u32 gBattleAnimBgPalette_Drill[] = INCBIN_U32("graphics/battle_anims/backgrounds/drill.gbapal.lz"); -const u32 gBattleAnimBackgroundPalette_18[] = INCBIN_U32("graphics/battle_anims/backgrounds/18.gbapal.lz"); +const u32 gBattleAnimBgPalette_Sky[] = INCBIN_U32("graphics/battle_anims/backgrounds/sky.gbapal.lz"); -const u32 gBattleAnimBackgroundTilemap_07[] = INCBIN_U32("graphics/battle_anims/backgrounds/07.bin.lz"); -const u32 gBattleAnimBackgroundTilemap_08[] = INCBIN_U32("graphics/battle_anims/backgrounds/08.bin.lz"); +const u32 gBattleAnimBgTilemap_Drill[] = INCBIN_U32("graphics/battle_anims/backgrounds/drill.bin.lz"); +const u32 gBattleAnimBgTilemap_DrillContests[] = INCBIN_U32("graphics/battle_anims/backgrounds/drill_contests.bin.lz"); -const u32 gBattleAnimBackgroundImage_20[] = INCBIN_U32("graphics/battle_anims/backgrounds/20.4bpp.lz"); -const u32 gBattleAnimBackgroundPalette_20[] = INCBIN_U32("graphics/battle_anims/backgrounds/20.gbapal.lz"); -const u32 gBattleAnimBackgroundTilemap_20[] = INCBIN_U32("graphics/battle_anims/backgrounds/20.bin.lz"); +const u32 gBattleAnimBgImage_Aurora[] = INCBIN_U32("graphics/battle_anims/backgrounds/aurora.4bpp.lz"); +const u32 gBattleAnimBgPalette_Aurora[] = INCBIN_U32("graphics/battle_anims/backgrounds/aurora.gbapal.lz"); +const u32 gBattleAnimBgTilemap_Aurora[] = INCBIN_U32("graphics/battle_anims/backgrounds/aurora.bin.lz"); -const u32 gBattleAnimBackgroundTilemap_09[] = INCBIN_U32("graphics/battle_anims/backgrounds/09.bin.lz"); -const u32 gBattleAnimBackgroundPalette_09[] = INCBIN_U32("graphics/battle_anims/backgrounds/09.gbapal.lz"); +const u32 gBattleAnimBgTilemap_HighspeedOpponent[] = INCBIN_U32("graphics/battle_anims/backgrounds/highspeed_opponent.bin.lz"); +const u32 gBattleAnimBgPalette_Highspeed[] = INCBIN_U32("graphics/battle_anims/backgrounds/highspeed.gbapal.lz"); -const u32 gBattleAnimBackgroundPalette_22[] = INCBIN_U32("graphics/battle_anims/backgrounds/22.gbapal.lz"); +const u32 gBattleAnimBgPalette_Bug[] = INCBIN_U32("graphics/battle_anims/backgrounds/bug.gbapal.lz"); -const u32 gBattleAnimBackgroundImage_09[] = INCBIN_U32("graphics/battle_anims/backgrounds/09.4bpp.lz"); -const u32 gBattleAnimBackgroundTilemap_10[] = INCBIN_U32("graphics/battle_anims/backgrounds/10.bin.lz"); +const u32 gBattleAnimBgImage_Highspeed[] = INCBIN_U32("graphics/battle_anims/backgrounds/highspeed.4bpp.lz"); +const u32 gBattleAnimBgTilemap_HighspeedPlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/highspeed_player.bin.lz"); const u32 gUnknown_08C2A634[] = INCBIN_U32("graphics/battle_anims/masks/morning_sun.4bpp.lz"); const u32 gUnknown_08C2A6D4[] = INCBIN_U32("graphics/battle_anims/masks/morning_sun.gbapal.lz"); const u32 gUnknown_08C2A6EC[] = INCBIN_U32("graphics/battle_anims/masks/morning_sun.bin.lz"); -const u32 gBattleAnimBackgroundTilemap_12[] = INCBIN_U32("graphics/battle_anims/backgrounds/12.bin.lz"); -const u32 gBattleAnimBackgroundTilemap_13[] = INCBIN_U32("graphics/battle_anims/backgrounds/13.bin.lz"); -const u32 gBattleAnimBackgroundTilemap_14[] = INCBIN_U32("graphics/battle_anims/backgrounds/14.bin.lz"); +const u32 gBattleAnimBgTilemap_GuillotineOpponent[] = INCBIN_U32("graphics/battle_anims/backgrounds/guillotine_opponent.bin.lz"); +const u32 gBattleAnimBgTilemap_GuillotinePlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/guillotine_player.bin.lz"); +const u32 gBattleAnimBgTilemap_GuillotineContests[] = INCBIN_U32("graphics/battle_anims/backgrounds/guillotine_contests.bin.lz"); -const u32 gBattleAnimBackgroundImage_12[] = INCBIN_U32("graphics/battle_anims/backgrounds/12.4bpp.lz"); -const u32 gBattleAnimBackgroundPalette_12[] = INCBIN_U32("graphics/battle_anims/backgrounds/12.gbapal.lz"); +const u32 gBattleAnimBgImage_Guillotine[] = INCBIN_U32("graphics/battle_anims/backgrounds/guillotine.4bpp.lz"); +const u32 gBattleAnimBgPalette_Guillotine[] = INCBIN_U32("graphics/battle_anims/backgrounds/guillotine.gbapal.lz"); -const u32 gBattleAnimBackgroundImage_11[] = INCBIN_U32("graphics/battle_anims/backgrounds/11.4bpp.lz"); -const u32 gBattleAnimBackgroundPalette_11[] = INCBIN_U32("graphics/battle_anims/backgrounds/11.gbapal.lz"); -const u32 gBattleAnimBackgroundTilemap_11[] = INCBIN_U32("graphics/battle_anims/backgrounds/11.bin.lz"); +const u32 gBattleAnimBgImage_Thunder[] = INCBIN_U32("graphics/battle_anims/backgrounds/thunder.4bpp.lz"); +const u32 gBattleAnimBgPalette_Thunder[] = INCBIN_U32("graphics/battle_anims/backgrounds/thunder.gbapal.lz"); +const u32 gBattleAnimBgTilemap_Thunder[] = INCBIN_U32("graphics/battle_anims/backgrounds/thunder.bin.lz"); -const u32 gBattleAnimSpriteSheet_239[] = INCBIN_U32("graphics/battle_anims/sprites/239.4bpp.lz"); -const u32 gBattleAnimSpritePalette_239[] = INCBIN_U32("graphics/battle_anims/sprites/239.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PainSplit[] = INCBIN_U32("graphics/battle_anims/sprites/pain_split.4bpp.lz"); +const u32 gBattleAnimSpritePal_PainSplit[] = INCBIN_U32("graphics/battle_anims/sprites/pain_split.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_143[] = INCBIN_U32("graphics/battle_anims/sprites/143.4bpp.lz"); -const u32 gBattleAnimSpritePalette_143[] = INCBIN_U32("graphics/battle_anims/sprites/143.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_HandsAndFeet[] = INCBIN_U32("graphics/battle_anims/sprites/hands_and_feet.4bpp.lz"); +const u32 gBattleAnimSpritePal_HandsAndFeet[] = INCBIN_U32("graphics/battle_anims/sprites/hands_and_feet.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_240[] = INCBIN_U32("graphics/battle_anims/sprites/240.4bpp.lz"); -const u32 gBattleAnimSpritePalette_240[] = INCBIN_U32("graphics/battle_anims/sprites/240.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Confetti[] = INCBIN_U32("graphics/battle_anims/sprites/confetti.4bpp.lz"); +const u32 gBattleAnimSpritePal_Confetti[] = INCBIN_U32("graphics/battle_anims/sprites/confetti.gbapal.lz"); const u32 gSubstituteDollPal[] = INCBIN_U32("graphics/battle_anims/sprites/substitute.gbapal.lz"); const u32 gSubstituteDollGfx[] = INCBIN_U32("graphics/battle_anims/sprites/substitute.4bpp.lz"); const u32 gSubstituteDollTilemap[] = INCBIN_U32("graphics/battle_anims/sprites/substitute.bin.lz"); -const u32 gBattleAnimSpriteSheet_241[] = INCBIN_U32("graphics/battle_anims/sprites/241.4bpp.lz"); -const u32 gBattleAnimSpritePalette_241[] = INCBIN_U32("graphics/battle_anims/sprites/241.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_GreenStar[] = INCBIN_U32("graphics/battle_anims/sprites/green_star.4bpp.lz"); +const u32 gBattleAnimSpritePal_GreenStar[] = INCBIN_U32("graphics/battle_anims/sprites/green_star.gbapal.lz"); const u32 gContestConfetti_Gfx[] = INCBIN_U32("graphics/misc/confetti.4bpp.lz"); const u32 gContestConfetti_Pal[] = INCBIN_U32("graphics/misc/confetti.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_242[] = INCBIN_U32("graphics/battle_anims/sprites/242.4bpp.lz"); -const u32 gBattleAnimSpritePalette_242[] = INCBIN_U32("graphics/battle_anims/sprites/242.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PinkCloud[] = INCBIN_U32("graphics/battle_anims/sprites/pink_cloud.4bpp.lz"); +const u32 gBattleAnimSpritePal_PinkCloud[] = INCBIN_U32("graphics/battle_anims/sprites/pink_cloud.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_243[] = INCBIN_U32("graphics/battle_anims/sprites/243.4bpp.lz"); -const u32 gBattleAnimSpritePalette_243[] = INCBIN_U32("graphics/battle_anims/sprites/243.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_SweatDrop[] = INCBIN_U32("graphics/battle_anims/sprites/sweat_drop.4bpp.lz"); +const u32 gBattleAnimSpritePal_SweatDrop[] = INCBIN_U32("graphics/battle_anims/sprites/sweat_drop.gbapal.lz"); const u32 gBattleStatMask_Gfx[] = INCBIN_U32("graphics/battle_anims/masks/stat.4bpp.lz"); const u32 gBattleStatMask1_Tilemap[] = INCBIN_U32("graphics/battle_anims/masks/stat_tilemap_1.bin.lz"); @@ -901,52 +901,52 @@ const u32 gCureBubblesGfx[] = INCBIN_U32("graphics/battle_anims/masks/cure_bubbl 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"); +const u32 gBattleAnimSpritePal_PurpleScratch[] = INCBIN_U32("graphics/battle_anims/sprites/purple_scratch.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PurpleScratch[] = INCBIN_U32("graphics/battle_anims/sprites/purple_scratch.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_246[] = INCBIN_U32("graphics/battle_anims/sprites/246.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_PurpleSwipe[] = INCBIN_U32("graphics/battle_anims/sprites/purple_swipe.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_244[] = INCBIN_U32("graphics/battle_anims/sprites/244.4bpp.lz"); -const u32 gBattleAnimSpritePalette_244[] = INCBIN_U32("graphics/battle_anims/sprites/244.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_GuardRing[] = INCBIN_U32("graphics/battle_anims/sprites/guard_ring.4bpp.lz"); +const u32 gBattleAnimSpritePal_GuardRing[] = INCBIN_U32("graphics/battle_anims/sprites/guard_ring.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_247[] = INCBIN_U32("graphics/battle_anims/sprites/247.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_TagHand[] = INCBIN_U32("graphics/battle_anims/sprites/tag_hand.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_053[] = INCBIN_U32("graphics/battle_anims/sprites/053.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_NoiseLine[] = INCBIN_U32("graphics/battle_anims/sprites/noise_line.4bpp.lz"); const u32 gUnknown_08C2EA50[] = INCBIN_U32("graphics/battle_anims/masks/unknown_C2EA50.4bpp.lz"); const u32 gUnknown_08C2EA9C[] = INCBIN_U32("graphics/battle_anims/masks/unknown_C2EA50.bin.lz"); -const u32 gBattleAnimSpriteSheet_248[] = INCBIN_U32("graphics/battle_anims/sprites/248.4bpp.lz"); -const u32 gBattleAnimSpritePalette_248[] = INCBIN_U32("graphics/battle_anims/sprites/248.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_SmallRedEye[] = INCBIN_U32("graphics/battle_anims/sprites/small_red_eye.4bpp.lz"); +const u32 gBattleAnimSpritePal_SmallRedEye[] = INCBIN_U32("graphics/battle_anims/sprites/small_red_eye.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_249[] = INCBIN_U32("graphics/battle_anims/sprites/249.4bpp.lz"); -const u32 gBattleAnimSpritePalette_249[] = INCBIN_U32("graphics/battle_anims/sprites/249.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_HollowOrb[] = INCBIN_U32("graphics/battle_anims/sprites/hollow_orb.4bpp.lz"); +const u32 gBattleAnimSpritePal_HollowOrb[] = INCBIN_U32("graphics/battle_anims/sprites/hollow_orb.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_250[] = INCBIN_U32("graphics/battle_anims/sprites/250.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_XSign[] = INCBIN_U32("graphics/battle_anims/sprites/x_sign.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_251[] = INCBIN_U32("graphics/battle_anims/sprites/251.4bpp.lz"); -const u32 gBattleAnimSpritePalette_251[] = INCBIN_U32("graphics/battle_anims/sprites/251.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_BluegreenOrb[] = INCBIN_U32("graphics/battle_anims/sprites/bluegreen_orb.4bpp.lz"); +const u32 gBattleAnimSpritePal_BluegreenOrb[] = INCBIN_U32("graphics/battle_anims/sprites/bluegreen_orb.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_252[] = INCBIN_U32("graphics/battle_anims/sprites/252.4bpp.lz"); -const u32 gBattleAnimSpritePalette_252[] = INCBIN_U32("graphics/battle_anims/sprites/252.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PawPrint[] = INCBIN_U32("graphics/battle_anims/sprites/paw_print.4bpp.lz"); +const u32 gBattleAnimSpritePal_PawPrint[] = INCBIN_U32("graphics/battle_anims/sprites/paw_print.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_253[] = INCBIN_U32("graphics/battle_anims/sprites/253.4bpp.lz"); -const u32 gBattleAnimSpritePalette_253[] = INCBIN_U32("graphics/battle_anims/sprites/253.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PurpleFlame[] = INCBIN_U32("graphics/battle_anims/sprites/purple_flame.4bpp.lz"); +const u32 gBattleAnimSpritePal_PurpleFlame[] = INCBIN_U32("graphics/battle_anims/sprites/purple_flame.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_254[] = INCBIN_U32("graphics/battle_anims/sprites/254.4bpp.lz"); -const u32 gBattleAnimSpritePalette_254[] = INCBIN_U32("graphics/battle_anims/sprites/254.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_RedBall[] = INCBIN_U32("graphics/battle_anims/sprites/red_ball.4bpp.lz"); +const u32 gBattleAnimSpritePal_RedBall[] = INCBIN_U32("graphics/battle_anims/sprites/red_ball.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_255[] = INCBIN_U32("graphics/battle_anims/sprites/255.4bpp.lz"); -const u32 gBattleAnimSpritePalette_255[] = INCBIN_U32("graphics/battle_anims/sprites/255.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_SmellingsaltEffect[] = INCBIN_U32("graphics/battle_anims/sprites/smellingsalt_effect.4bpp.lz"); +const u32 gBattleAnimSpritePal_SmellingsaltEffect[] = INCBIN_U32("graphics/battle_anims/sprites/smellingsalt_effect.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_258[] = INCBIN_U32("graphics/battle_anims/sprites/258.4bpp.lz"); -const u32 gBattleAnimSpritePalette_258[] = INCBIN_U32("graphics/battle_anims/sprites/258.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_MagnifyingGlass[] = INCBIN_U32("graphics/battle_anims/sprites/magnifying_glass.4bpp.lz"); +const u32 gBattleAnimSpritePal_MagnifyingGlass[] = INCBIN_U32("graphics/battle_anims/sprites/magnifying_glass.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_256[] = INCBIN_U32("graphics/battle_anims/sprites/256.4bpp.lz"); -const u32 gBattleAnimSpritePalette_256[] = INCBIN_U32("graphics/battle_anims/sprites/256.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Meteor[] = INCBIN_U32("graphics/battle_anims/sprites/meteor.4bpp.lz"); +const u32 gBattleAnimSpritePal_Meteor[] = INCBIN_U32("graphics/battle_anims/sprites/meteor.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_257[] = INCBIN_U32("graphics/battle_anims/sprites/257.4bpp.lz"); -const u32 gBattleAnimSpritePalette_257[] = INCBIN_U32("graphics/battle_anims/sprites/257.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_FlatRock[] = INCBIN_U32("graphics/battle_anims/sprites/flat_rock.4bpp.lz"); +const u32 gBattleAnimSpritePal_FlatRock[] = INCBIN_U32("graphics/battle_anims/sprites/flat_rock.gbapal.lz"); const u32 gUnknownPal_C2F9E0[] = INCBIN_U32("graphics/unknown/unknown_C2F9E0.gbapal.lz"); @@ -1005,58 +1005,58 @@ const u32 gUnknown_08D85A1C[] = INCBIN_U32("graphics/battle_frontier/battle_tile #include "data/graphics/intro_scene.h" -const u32 gBattleAnimSpriteSheet_261[] = INCBIN_U32("graphics/battle_anims/sprites/261.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_FlyingDirt[] = INCBIN_U32("graphics/battle_anims/sprites/flying_dirt.4bpp.lz"); const u32 gUnknown_08D8D410[] = INCBIN_U32("graphics/battle_anims/backgrounds/sandstorm_brew.bin.lz"); const u32 gUnknown_08D8D58C[] = INCBIN_U32("graphics/battle_anims/backgrounds/sandstorm_brew.4bpp.lz"); -const u32 gBattleAnimSpritePalette_261[] = INCBIN_U32("graphics/battle_anims/sprites/261.gbapal.lz"); +const u32 gBattleAnimSpritePal_FlyingDirt[] = INCBIN_U32("graphics/battle_anims/sprites/flying_dirt.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_260[] = INCBIN_U32("graphics/battle_anims/sprites/260.4bpp.lz"); -const u32 gBattleAnimSpritePalette_260[] = INCBIN_U32("graphics/battle_anims/sprites/260.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_MetalSoundWaves[] = INCBIN_U32("graphics/battle_anims/sprites/metal_sound_waves.4bpp.lz"); +const u32 gBattleAnimSpritePal_MetalSoundWaves[] = INCBIN_U32("graphics/battle_anims/sprites/metal_sound_waves.gbapal.lz"); -const u32 gBattleAnimBackgroundImage_15[] = INCBIN_U32("graphics/battle_anims/backgrounds/15.4bpp.lz"); -const u32 gBattleAnimBackgroundPalette_15[] = INCBIN_U32("graphics/battle_anims/backgrounds/15.gbapal.lz"); -const u32 gBattleAnimBackgroundTilemap_15[] = INCBIN_U32("graphics/battle_anims/backgrounds/15.bin.lz"); +const u32 gBattleAnimBgImage_Ice[] = INCBIN_U32("graphics/battle_anims/backgrounds/ice.4bpp.lz"); +const u32 gBattleAnimBgPalette_Ice[] = INCBIN_U32("graphics/battle_anims/backgrounds/ice.gbapal.lz"); +const u32 gBattleAnimBgTilemap_Ice[] = INCBIN_U32("graphics/battle_anims/backgrounds/ice.bin.lz"); -const u32 gBattleAnimSpriteSheet_262[] = INCBIN_U32("graphics/battle_anims/sprites/262.4bpp.lz"); -const u32 gBattleAnimSpritePalette_262[] = INCBIN_U32("graphics/battle_anims/sprites/262.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_IcicleSpear[] = INCBIN_U32("graphics/battle_anims/sprites/icicle_spear.4bpp.lz"); +const u32 gBattleAnimSpritePal_IcicleSpear[] = INCBIN_U32("graphics/battle_anims/sprites/icicle_spear.gbapal.lz"); const u32 gContestNextTurnGfx[] = INCBIN_U32("graphics/contest/nextturn.4bpp.lz"); const u8 gContestNextTurnNumbersGfx[] = INCBIN_U8("graphics/contest/nextturn_numbers.4bpp"); const u8 gContestNextTurnRandomGfx[] = INCBIN_U8("graphics/contest/nextturn_random.4bpp"); -const u32 gBattleAnimSpriteSheet_264[] = INCBIN_U32("graphics/battle_anims/sprites/264.4bpp.lz"); -const u32 gBattleAnimSpritePalette_264[] = INCBIN_U32("graphics/battle_anims/sprites/264.gbapal.lz"); -const u32 gBattleAnimSpritePalette_265[] = INCBIN_U32("graphics/battle_anims/sprites/265.gbapal.lz"); -const u32 gBattleAnimSpritePalette_067[] = INCBIN_U32("graphics/battle_anims/sprites/067.gbapal.lz"); -const u32 gBattleAnimSpritePalette_068[] = INCBIN_U32("graphics/battle_anims/sprites/068.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_GlowyRedOrb[] = INCBIN_U32("graphics/battle_anims/sprites/glowy_red_orb.4bpp.lz"); +const u32 gBattleAnimSpritePal_GlowyRedOrb[] = INCBIN_U32("graphics/battle_anims/sprites/glowy_red_orb.gbapal.lz"); +const u32 gBattleAnimSpritePal_GlowyGreenOrb[] = INCBIN_U32("graphics/battle_anims/sprites/glowy_green_orb.gbapal.lz"); +const u32 gBattleAnimSpritePal_SleepPowder[] = INCBIN_U32("graphics/battle_anims/sprites/sleep_powder.gbapal.lz"); +const u32 gBattleAnimSpritePal_StunSpore[] = INCBIN_U32("graphics/battle_anims/sprites/stun_spore.gbapal.lz"); const u32 gContestApplauseGfx[] = INCBIN_U32("graphics/contest/applause.4bpp.lz"); const u8 gContestApplauseMeterGfx[] = INCBIN_U8("graphics/contest/applause_meter.4bpp"); const u16 gContestPal[] = INCBIN_U16("graphics/contest/nextturn.gbapal"); -const u32 gBattleAnimSpriteSheet_272[] = INCBIN_U32("graphics/battle_anims/sprites/272.4bpp.lz"); -const u32 gBattleAnimSpritePalette_272[] = INCBIN_U32("graphics/battle_anims/sprites/272.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Splash[] = INCBIN_U32("graphics/battle_anims/sprites/splash.4bpp.lz"); +const u32 gBattleAnimSpritePal_Splash[] = INCBIN_U32("graphics/battle_anims/sprites/splash.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_273[] = INCBIN_U32("graphics/battle_anims/sprites/273.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_SweatBead[] = INCBIN_U32("graphics/battle_anims/sprites/sweat_bead.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_269[] = INCBIN_U32("graphics/battle_anims/sprites/269.4bpp.lz"); -const u32 gBattleAnimSpritePalette_269[] = INCBIN_U32("graphics/battle_anims/sprites/269.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Pokeblock[] = INCBIN_U32("graphics/battle_anims/sprites/pokeblock.4bpp.lz"); +const u32 gBattleAnimSpritePal_Pokeblock[] = INCBIN_U32("graphics/battle_anims/sprites/pokeblock.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_274[] = INCBIN_U32("graphics/battle_anims/sprites/274.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_275[] = INCBIN_U32("graphics/battle_anims/sprites/275.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_276[] = INCBIN_U32("graphics/battle_anims/sprites/276.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Gem1[] = INCBIN_U32("graphics/battle_anims/sprites/gem_1.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Gem2[] = INCBIN_U32("graphics/battle_anims/sprites/gem_2.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Gem3[] = INCBIN_U32("graphics/battle_anims/sprites/gem_3.4bpp.lz"); -const u32 gBattleAnimSpritePalette_274[] = INCBIN_U32("graphics/battle_anims/sprites/274.gbapal.lz"); +const u32 gBattleAnimSpritePal_Gem1[] = INCBIN_U32("graphics/battle_anims/sprites/gem_1.gbapal.lz"); -const u32 gBattleAnimBackgroundImage_17[] = INCBIN_U32("graphics/battle_anims/backgrounds/17.4bpp.lz"); -const u32 gBattleAnimBackgroundPalette_17[] = INCBIN_U32("graphics/battle_anims/backgrounds/17.gbapal.lz"); -const u32 gBattleAnimBackgroundTilemap_17[] = INCBIN_U32("graphics/battle_anims/backgrounds/17.bin.lz"); +const u32 gBattleAnimBgImage_InAir[] = INCBIN_U32("graphics/battle_anims/backgrounds/in_air.4bpp.lz"); +const u32 gBattleAnimBgPalette_InAir[] = INCBIN_U32("graphics/battle_anims/backgrounds/in_air.gbapal.lz"); +const u32 gBattleAnimBgTilemap_InAir[] = INCBIN_U32("graphics/battle_anims/backgrounds/in_air.bin.lz"); -const u32 gBattleAnimSpriteSheet_280[] = INCBIN_U32("graphics/battle_anims/sprites/280.4bpp.lz"); -const u32 gBattleAnimSpritePalette_280[] = INCBIN_U32("graphics/battle_anims/sprites/280.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Protect[] = INCBIN_U32("graphics/battle_anims/sprites/protect.4bpp.lz"); +const u32 gBattleAnimSpritePal_Protect[] = INCBIN_U32("graphics/battle_anims/sprites/protect.gbapal.lz"); const u32 gBattleAnimBackgroundImageMuddyWater_Pal[] = INCBIN_U32("graphics/battle_anims/backgrounds/water_muddy.gbapal.lz"); @@ -1066,13 +1066,13 @@ const u32 gBattleInterface_BallStatusBarGfx[] = INCBIN_U32("graphics/battle_inte const u8 gMonIcon_Egg[] = INCBIN_U8("graphics/pokemon/egg/icon.4bpp"); -const u32 gBattleAnimBackgroundImage_02[] = INCBIN_U32("graphics/battle_anims/backgrounds/02.4bpp.lz"); -const u32 gBattleAnimBackgroundPalette_02[] = INCBIN_U32("graphics/battle_anims/backgrounds/02.gbapal.lz"); -const u32 gBattleAnimBackgroundTilemap_02[] = INCBIN_U32("graphics/battle_anims/backgrounds/02.bin.lz"); +const u32 gBattleAnimBgImage_Ghost[] = INCBIN_U32("graphics/battle_anims/backgrounds/ghost.4bpp.lz"); +const u32 gBattleAnimBgPalette_Ghost[] = INCBIN_U32("graphics/battle_anims/backgrounds/ghost.gbapal.lz"); +const u32 gBattleAnimBgTilemap_Ghost[] = INCBIN_U32("graphics/battle_anims/backgrounds/ghost.bin.lz"); -const u32 gBattleAnimSpritePalette_287[] = INCBIN_U32("graphics/battle_anims/sprites/287.gbapal.lz"); +const u32 gBattleAnimSpritePal_WhipHit[] = INCBIN_U32("graphics/battle_anims/sprites/whip_hit.gbapal.lz"); -const u32 gBattleAnimBackgroundPalette_24[] = INCBIN_U32("graphics/battle_anims/backgrounds/24.gbapal.lz"); +const u32 gBattleAnimBgPalette_Solarbeam[] = INCBIN_U32("graphics/battle_anims/backgrounds/solarbeam.gbapal.lz"); const u32 gUnknown_E6BC04[] = INCBIN_U32("graphics/unknown/unknown_E6BC04.bin.lz"); @@ -1081,51 +1081,51 @@ const u32 sBlenderCenterGfx[] = INCBIN_U32("graphics/berry_blender/center.8bpp.l const u32 gUnknown_08D91DB8[] = INCBIN_U32("graphics/berry_blender/outer.4bpp.lz"); const u32 gUnknown_08D927EC[] = INCBIN_U32("graphics/berry_blender/outer_map.bin.lz"); -const u32 gBattleAnimBackgroundPalette_16[] = INCBIN_U32("graphics/battle_anims/backgrounds/16.gbapal.lz"); -const u32 gBattleAnimBackgroundImage_16[] = INCBIN_U32("graphics/battle_anims/backgrounds/16.4bpp.lz"); -const u32 gBattleAnimBackgroundTilemap_16[] = INCBIN_U32("graphics/battle_anims/backgrounds/16.bin.lz"); +const u32 gBattleAnimBgPalette_Cosmic[] = INCBIN_U32("graphics/battle_anims/backgrounds/cosmic.gbapal.lz"); +const u32 gBattleAnimBgImage_Cosmic[] = INCBIN_U32("graphics/battle_anims/backgrounds/cosmic.4bpp.lz"); +const u32 gBattleAnimBgTilemap_Cosmic[] = INCBIN_U32("graphics/battle_anims/backgrounds/cosmic.bin.lz"); -const u32 gBattleAnimSpritePalette_277[] = INCBIN_U32("graphics/battle_anims/sprites/277.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_277[] = INCBIN_U32("graphics/battle_anims/sprites/277.4bpp.lz"); +const u32 gBattleAnimSpritePal_SlamHit2[] = INCBIN_U32("graphics/battle_anims/sprites/slam_hit_2.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_SlamHit2[] = INCBIN_U32("graphics/battle_anims/sprites/slam_hit_2.4bpp.lz"); const u32 gBattleAnimFogTilemap[] = INCBIN_U32("graphics/battle_anims/backgrounds/fog.bin.lz"); -const u32 gBattleAnimSpritePalette_283[] = INCBIN_U32("graphics/battle_anims/sprites/283.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_283[] = INCBIN_U32("graphics/battle_anims/sprites/283.4bpp.lz"); +const u32 gBattleAnimSpritePal_WeatherBall[] = INCBIN_U32("graphics/battle_anims/sprites/weather_ball.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_WeatherBall[] = INCBIN_U32("graphics/battle_anims/sprites/weather_ball.4bpp.lz"); -const u32 gBattleAnimBackgroundTilemap_ScaryFacePlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face_player.bin.lz"); -const u32 gBattleAnimBackgroundTilemap_ScaryFaceOpponent[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face_opponent.bin.lz"); -const u32 gBattleAnimBackgroundTilemap_ScaryFaceContest[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face_contest.bin.lz"); +const u32 gBattleAnimBgTilemap_ScaryFacePlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face_player.bin.lz"); +const u32 gBattleAnimBgTilemap_ScaryFaceOpponent[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face_opponent.bin.lz"); +const u32 gBattleAnimBgTilemap_ScaryFaceContest[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face_contest.bin.lz"); -const u32 gBattleAnimSpriteSheet_263[] = INCBIN_U32("graphics/battle_anims/sprites/263.4bpp.lz"); -const u32 gBattleAnimSpritePalette_263[] = INCBIN_U32("graphics/battle_anims/sprites/263.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Hail[] = INCBIN_U32("graphics/battle_anims/sprites/hail.4bpp.lz"); +const u32 gBattleAnimSpritePal_Hail[] = INCBIN_U32("graphics/battle_anims/sprites/hail.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_266[] = INCBIN_U32("graphics/battle_anims/sprites/266.4bpp.lz"); -const u32 gBattleAnimSpritePalette_266[] = INCBIN_U32("graphics/battle_anims/sprites/266.gbapal.lz"); -const u32 gBattleAnimSpritePalette_267[] = INCBIN_U32("graphics/battle_anims/sprites/267.gbapal.lz"); -const u32 gBattleAnimSpritePalette_268[] = INCBIN_U32("graphics/battle_anims/sprites/268.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_GreenSpike[] = INCBIN_U32("graphics/battle_anims/sprites/green_spike.4bpp.lz"); +const u32 gBattleAnimSpritePal_GreenSpike[] = INCBIN_U32("graphics/battle_anims/sprites/green_spike.gbapal.lz"); +const u32 gBattleAnimSpritePal_WhiteCircleOfLight[] = INCBIN_U32("graphics/battle_anims/sprites/white_circle_of_light.gbapal.lz"); +const u32 gBattleAnimSpritePal_GlowyBlueOrb[] = INCBIN_U32("graphics/battle_anims/sprites/glowy_blue_orb.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_278[] = INCBIN_U32("graphics/battle_anims/sprites/278.4bpp.lz"); -const u32 gBattleAnimSpritePalette_278[] = INCBIN_U32("graphics/battle_anims/sprites/278.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Recycle[] = INCBIN_U32("graphics/battle_anims/sprites/recycle.4bpp.lz"); +const u32 gBattleAnimSpritePal_Recycle[] = INCBIN_U32("graphics/battle_anims/sprites/recycle.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_279[] = INCBIN_U32("graphics/battle_anims/sprites/279.4bpp.lz"); -const u32 gBattleAnimSpritePalette_279[] = INCBIN_U32("graphics/battle_anims/sprites/279.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_RedParticles[] = INCBIN_U32("graphics/battle_anims/sprites/red_particles.4bpp.lz"); +const u32 gBattleAnimSpritePal_RedParticles[] = INCBIN_U32("graphics/battle_anims/sprites/red_particles.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_281[] = INCBIN_U32("graphics/battle_anims/sprites/281.4bpp.lz"); -const u32 gBattleAnimSpritePalette_281[] = INCBIN_U32("graphics/battle_anims/sprites/281.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_DirtMound[] = INCBIN_U32("graphics/battle_anims/sprites/dirt_mound.4bpp.lz"); +const u32 gBattleAnimSpritePal_DirtMound[] = INCBIN_U32("graphics/battle_anims/sprites/dirt_mound.gbapal.lz"); -const u32 gBattleAnimBackgroundImage_21[] = INCBIN_U32("graphics/battle_anims/backgrounds/21.4bpp.lz"); -const u32 gBattleAnimBackgroundPalette_21[] = INCBIN_U32("graphics/battle_anims/backgrounds/21.gbapal.lz"); -const u32 gBattleAnimBackgroundTilemap_21[] = INCBIN_U32("graphics/battle_anims/backgrounds/21.bin.lz"); +const u32 gBattleAnimBgImage_Fissure[] = INCBIN_U32("graphics/battle_anims/backgrounds/fissure.4bpp.lz"); +const u32 gBattleAnimBgPalette_Fissure[] = INCBIN_U32("graphics/battle_anims/backgrounds/fissure.gbapal.lz"); +const u32 gBattleAnimBgTilemap_Fissure[] = INCBIN_U32("graphics/battle_anims/backgrounds/fissure.bin.lz"); -const u32 gBattleAnimSpriteSheet_284[] = INCBIN_U32("graphics/battle_anims/sprites/284.4bpp.lz"); -const u32 gBattleAnimSpritePalette_284[] = INCBIN_U32("graphics/battle_anims/sprites/284.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Bird[] = INCBIN_U32("graphics/battle_anims/sprites/bird.4bpp.lz"); +const u32 gBattleAnimSpritePal_Bird[] = INCBIN_U32("graphics/battle_anims/sprites/bird.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_285[] = INCBIN_U32("graphics/battle_anims/sprites/285.4bpp.lz"); -const u32 gBattleAnimSpritePalette_285[] = INCBIN_U32("graphics/battle_anims/sprites/285.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_CrossImpact[] = INCBIN_U32("graphics/battle_anims/sprites/cross_impact.4bpp.lz"); +const u32 gBattleAnimSpritePal_CrossImpact[] = INCBIN_U32("graphics/battle_anims/sprites/cross_impact.gbapal.lz"); -const u32 gBattleAnimBackgroundImage_Surf[] = INCBIN_U32("graphics/battle_anims/backgrounds/water.4bpp.lz"); -const u32 gBattleAnimBackgroundPalette_Surf[] = INCBIN_U32("graphics/battle_anims/backgrounds/water.gbapal.lz"); +const u32 gBattleAnimBgImage_Surf[] = INCBIN_U32("graphics/battle_anims/backgrounds/water.4bpp.lz"); +const u32 gBattleAnimBgPalette_Surf[] = INCBIN_U32("graphics/battle_anims/backgrounds/water.gbapal.lz"); const u32 gUnknown_08D95E00[] = INCBIN_U32("graphics/unknown/unknown_D95E00.bin.lz"); @@ -1133,10 +1133,10 @@ const u32 gUnknown_08D960D0[] = INCBIN_U32("graphics/unknown/unknown_D960D0.bin. const u32 gUnknown_08D963A4[] = INCBIN_U32("graphics/unknown/unknown_D963A4.bin.lz"); -const u32 gBattleAnimSpritePalette_286[] = INCBIN_U32("graphics/battle_anims/sprites/286.gbapal.lz"); +const u32 gBattleAnimSpritePal_Slash2[] = INCBIN_U32("graphics/battle_anims/sprites/slash_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_188[] = INCBIN_U32("graphics/battle_anims/sprites/188.4bpp.lz"); -const u32 gBattleAnimSpritePalette_188[] = INCBIN_U32("graphics/battle_anims/sprites/188.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_WhiteShadow[] = INCBIN_U32("graphics/battle_anims/sprites/white_shadow.4bpp.lz"); +const u32 gBattleAnimSpritePal_WhiteShadow[] = INCBIN_U32("graphics/battle_anims/sprites/white_shadow.gbapal.lz"); const u32 gPartyMenuMisc_Gfx[] = INCBIN_U32("graphics/interface/party_menu_misc.4bpp.lz"); const u32 gPartyMenuMisc_Pal[] = INCBIN_U32("graphics/interface/party_menu_misc.gbapal.lz"); @@ -1223,14 +1223,14 @@ const u32 gUnknown_08D9BA44[] = INCBIN_U32("graphics/interface/pokeblock_feeding #include "data/graphics/items.h" #include "data/graphics/decorations.h" -const u32 gBattleAnimSpritePalette_282[] = INCBIN_U32("graphics/battle_anims/sprites/282.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_282[] = INCBIN_U32("graphics/battle_anims/sprites/282.4bpp.lz"); +const u32 gBattleAnimSpritePal_Shock3[] = INCBIN_U32("graphics/battle_anims/sprites/shock_3.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Shock3[] = INCBIN_U32("graphics/battle_anims/sprites/shock_3.4bpp.lz"); -const u32 gBattleAnimSpritePalette_270[] = INCBIN_U32("graphics/battle_anims/sprites/270.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_270[] = INCBIN_U32("graphics/battle_anims/sprites/270.4bpp.lz"); +const u32 gBattleAnimSpritePal_WhiteFeather[] = INCBIN_U32("graphics/battle_anims/sprites/white_feather.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_WhiteFeather[] = INCBIN_U32("graphics/battle_anims/sprites/white_feather.4bpp.lz"); -const u32 gBattleAnimSpritePalette_271[] = INCBIN_U32("graphics/battle_anims/sprites/271.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_271[] = INCBIN_U32("graphics/battle_anims/sprites/271.4bpp.lz"); +const u32 gBattleAnimSpritePal_Sparkle6[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_6.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Sparkle6[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_6.4bpp.lz"); const u16 gUnknown_08DBA518[] = INCBIN_U16("graphics/misc/cable_car_bg.gbapal"); const u16 gCableCar_Pal[] = INCBIN_U16("graphics/misc/cable_car.gbapal"); @@ -1363,7 +1363,7 @@ const u16 gPokenavMessageBox_Pal[] = INCBIN_U16("graphics/pokenav/message.gbapal const u32 gPokenavMessageBox_Gfx[] = INCBIN_U32("graphics/pokenav/message.4bpp.lz"); const u32 gPokenavMessageBox_Tilemap[] = INCBIN_U32("graphics/pokenav/message.bin.lz"); -const u16 gHoennMapZoomIcons_Pal[] = INCBIN_U16("graphics/pokenav/zoom.gbapal"); +const u16 gHoennMapZoomIcons_Pal[] = INCBIN_U16("graphics/pokenav/zoom_tiles.gbapal"); const u32 gHoennMapZoomIcons_Gfx[] = INCBIN_U32("graphics/pokenav/zoom.4bpp.lz"); const u16 gPokenavConditionCancel_Pal[] = INCBIN_U16("graphics/pokenav/cancel.gbapal"); diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c index 8eba90d962..fdf2020ff3 100644 --- a/src/hall_of_fame.c +++ b/src/hall_of_fame.c @@ -32,7 +32,7 @@ #include "menu.h" #include "fldeff_misc.h" #include "trainer_pokemon_sprites.h" -#include "data2.h" +#include "data.h" #include "rom_81520A8.h" #include "constants/rgb.h" diff --git a/src/hof_pc.c b/src/hof_pc.c index d76f043725..01015ee813 100644 --- a/src/hof_pc.c +++ b/src/hof_pc.c @@ -6,6 +6,7 @@ #include "script.h" #include "script_menu.h" #include "task.h" +#include "constants/rgb.h" static void ReshowPCMenuAfterHallOfFamePC(void); static void Task_WaitForPaletteFade(u8); @@ -28,7 +29,7 @@ static void ReshowPCMenuAfterHallOfFamePC(void) Overworld_PlaySpecialMapMusic(); ScrSpecial_CreatePCMenu(); ScriptMenu_DisplayPCStartupPrompt(); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); CreateTask(Task_WaitForPaletteFade, 10); } diff --git a/src/ice.c b/src/ice.c index fa1913b967..8f0c97d821 100644 --- a/src/ice.c +++ b/src/ice.c @@ -47,7 +47,7 @@ void AnimIceBallParticle(struct Sprite *); void AnimTask_Haze2(u8); void AnimTask_OverlayFogTiles(u8); void AnimTask_Hail2(u8); -bool8 GenerateHailParticle(u8, u8, u8, u8); +bool8 GenerateHailParticle(u8 hailStructId, u8 affineAnimNum, u8 taskId, u8 c); const union AnimCmd gUnknown_08595A48[] = { @@ -522,37 +522,33 @@ const struct SpriteTemplate gUnknown_08595DFC = .callback = InitIceBallParticle, }; - // probably unused -#ifdef NONMATCHING static void sub_810B6C4(struct Sprite *sprite) { s16 targetX, targetY, attackerX, attackerY; - s16 i; sprite->oam.tileNum += 7; - targetX = GetBattlerSpriteCoord(gBattleAnimTarget, 2); - targetY = GetBattlerSpriteCoord(gBattleAnimTarget, 3); - attackerX = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); - attackerY = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); + targetX = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2); + targetY = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET); + attackerX = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); + attackerY = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); sprite->data[0] = gBattleAnimArgs[4]; sprite->data[1] = gBattleAnimArgs[0] + attackerX; sprite->data[2] = gBattleAnimArgs[2] + targetX; sprite->data[3] = gBattleAnimArgs[1] + attackerY; sprite->data[4] = gBattleAnimArgs[3] + targetY; sub_80A64EC(sprite); - while ((targetX >= -32 && targetX <= 272) && (targetY >= -32 && targetY <= 192)) - { - targetX += sprite->data[1]; - targetY += sprite->data[2]; - } + + for (;(targetX >= -32 && targetX <= 272) && (targetY >= -32 && targetY <= 192); + targetX += sprite->data[1], targetY += sprite->data[2]) + ; + sprite->data[1] = -sprite->data[1]; sprite->data[2] = -sprite->data[2]; - while ((attackerX >= -32 && attackerX <= 272) && (attackerY >= -32 && attackerY <= 192)) - { - attackerX += sprite->data[1]; - attackerY += sprite->data[2]; - } + for (;(attackerX >= -32 && attackerX <= 272) && (attackerY >= -32 && attackerY <= 192); + attackerX += sprite->data[1], attackerY += sprite->data[2]) + ; + sprite->pos1.x = attackerX; sprite->pos1.y = attackerY; sprite->data[0] = gBattleAnimArgs[4]; @@ -565,195 +561,6 @@ static void sub_810B6C4(struct Sprite *sprite) sprite->data[4] = gBattleAnimArgs[6]; sprite->callback = sub_810B848; } -#else -NAKED -static void sub_810B6C4(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, 0x4\n\ - adds r5, r0, 0\n\ - ldrh r2, [r5, 0x4]\n\ - lsls r1, r2, 22\n\ - lsrs r1, 22\n\ - adds r1, 0x7\n\ - ldr r3, =0x000003ff\n\ - adds r0, r3, 0\n\ - ands r1, r0\n\ - ldr r0, =0xfffffc00\n\ - ands r0, r2\n\ - orrs r0, r1\n\ - strh r0, [r5, 0x4]\n\ - ldr r4, =gBattleAnimTarget\n\ - ldrb r0, [r4]\n\ - movs r1, 0x2\n\ - bl GetBattlerSpriteCoord\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - mov r9, r0\n\ - ldrb r0, [r4]\n\ - movs r1, 0x3\n\ - bl GetBattlerSpriteCoord\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - mov r8, r0\n\ - ldr r4, =gBattleAnimAttacker\n\ - ldrb r0, [r4]\n\ - movs r1, 0x2\n\ - bl GetBattlerSpriteCoord\n\ - lsls r0, 24\n\ - lsrs r3, r0, 24\n\ - ldrb r0, [r4]\n\ - movs r1, 0x3\n\ - str r3, [sp]\n\ - bl GetBattlerSpriteCoord\n\ - lsls r0, 24\n\ - lsrs r6, r0, 24\n\ - ldr r1, =gBattleAnimArgs\n\ - ldrh r0, [r1, 0x8]\n\ - strh r0, [r5, 0x2E]\n\ - ldrh r0, [r1]\n\ - ldr r3, [sp]\n\ - adds r0, r3\n\ - strh r0, [r5, 0x30]\n\ - ldrh r0, [r1, 0x4]\n\ - mov r4, r9\n\ - adds r0, r4, r0\n\ - strh r0, [r5, 0x32]\n\ - ldrh r0, [r1, 0x2]\n\ - adds r0, r6\n\ - strh r0, [r5, 0x34]\n\ - ldrh r0, [r1, 0x6]\n\ - mov r7, r8\n\ - adds r0, r7, r0\n\ - strh r0, [r5, 0x36]\n\ - adds r0, r5, 0\n\ - bl sub_80A64EC\n\ - adds r4, 0x20\n\ - movs r0, 0x98\n\ - lsls r0, 1\n\ - mov r12, r0\n\ - ldr r3, [sp]\n\ - cmp r4, r12\n\ - bhi _0810B79E\n\ - adds r0, r7, 0\n\ - adds r0, 0x20\n\ - ldrh r1, [r5, 0x30]\n\ - ldrh r2, [r5, 0x32]\n\ - cmp r0, 0xE0\n\ - bhi _0810B79E\n\ - adds r4, r1, 0\n\ - mov r10, r12\n\ -_0810B76A:\n\ - mov r7, r9\n\ - lsls r1, r7, 16\n\ - asrs r1, 16\n\ - adds r1, r4\n\ - lsls r1, 16\n\ - mov r7, r8\n\ - lsls r0, r7, 16\n\ - asrs r0, 16\n\ - adds r0, r2\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - mov r8, r0\n\ - lsrs r0, r1, 16\n\ - mov r9, r0\n\ - movs r7, 0x80\n\ - lsls r7, 14\n\ - adds r1, r7\n\ - lsrs r1, 16\n\ - cmp r1, r10\n\ - bhi _0810B79E\n\ - mov r1, r8\n\ - lsls r0, r1, 16\n\ - adds r0, r7\n\ - lsrs r0, 16\n\ - cmp r0, 0xE0\n\ - bls _0810B76A\n\ -_0810B79E:\n\ - ldrh r0, [r5, 0x30]\n\ - negs r7, r0\n\ - strh r7, [r5, 0x30]\n\ - ldrh r0, [r5, 0x32]\n\ - negs r4, r0\n\ - strh r4, [r5, 0x32]\n\ - lsls r0, r3, 16\n\ - movs r1, 0x80\n\ - lsls r1, 14\n\ - adds r0, r1\n\ - lsrs r0, 16\n\ - movs r2, 0x98\n\ - lsls r2, 1\n\ - mov r12, r2\n\ - ldr r1, =gBattleAnimArgs\n\ - mov r10, r1\n\ - cmp r0, r12\n\ - bhi _0810B80A\n\ - lsls r1, r6, 16\n\ - movs r2, 0x80\n\ - lsls r2, 14\n\ - adds r0, r1, r2\n\ - b _0810B802\n\ - .pool\n\ -_0810B7E0:\n\ - lsls r1, r3, 16\n\ - asrs r1, 16\n\ - adds r1, r7\n\ - lsls r1, 16\n\ - asrs r0, r2, 16\n\ - adds r0, r4\n\ - lsls r0, 16\n\ - lsrs r6, r0, 16\n\ - lsrs r3, r1, 16\n\ - movs r0, 0x80\n\ - lsls r0, 14\n\ - adds r1, r0\n\ - lsrs r1, 16\n\ - cmp r1, r12\n\ - bhi _0810B80A\n\ - lsls r1, r6, 16\n\ - adds r0, r1, r0\n\ -_0810B802:\n\ - lsrs r0, 16\n\ - adds r2, r1, 0\n\ - cmp r0, 0xE0\n\ - bls _0810B7E0\n\ -_0810B80A:\n\ - strh r3, [r5, 0x20]\n\ - strh r6, [r5, 0x22]\n\ - mov r1, r10\n\ - ldrh r0, [r1, 0x8]\n\ - strh r0, [r5, 0x2E]\n\ - strh r3, [r5, 0x30]\n\ - mov r2, r9\n\ - strh r2, [r5, 0x32]\n\ - strh r6, [r5, 0x34]\n\ - mov r3, r8\n\ - strh r3, [r5, 0x36]\n\ - adds r0, r5, 0\n\ - bl sub_80A64EC\n\ - mov r7, r10\n\ - ldrh r0, [r7, 0xA]\n\ - strh r0, [r5, 0x34]\n\ - ldrh r0, [r7, 0xC]\n\ - strh r0, [r5, 0x36]\n\ - ldr r0, =sub_810B848\n\ - str r0, [r5, 0x1C]\n\ - add sp, 0x4\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\n"); -} -#endif void sub_810B848(struct Sprite *sprite) { @@ -797,14 +604,14 @@ void AnimIcePunchSwirlingParticle(struct Sprite *sprite) void AnimIceBeamParticle(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, TRUE); - sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2); + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2); if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) sprite->data[2] -= gBattleAnimArgs[2]; else sprite->data[2] += gBattleAnimArgs[2]; - sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3]; + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[3]; sprite->data[0] = gBattleAnimArgs[4]; StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); sprite->callback = StartAnimLinearTranslation; @@ -863,8 +670,8 @@ void AnimSwirlingSnowball_Step1(struct Sprite *sprite) if (!gBattleAnimArgs[5]) { - sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2); - sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3]; + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2); + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[3]; } else { @@ -983,8 +790,8 @@ void AnimMoveParticleBeyondTarget(struct Sprite *sprite) if (!gBattleAnimArgs[7]) { - sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2); - sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3); + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2); + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET); } else { @@ -1274,8 +1081,8 @@ void AnimTask_Haze2(u8 taskId) // arg 5: ??? unknown (seems to vibrate target mon somehow) void AnimThrowMistBall(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->callback = TranslateAnimSpriteToTargetMonLocation; } @@ -1380,7 +1187,7 @@ void InitPoisonGasCloudAnim(struct Sprite *sprite) { sprite->data[0] = gBattleAnimArgs[0]; - if (GetBattlerSpriteCoord(gBattleAnimAttacker, 2) < GetBattlerSpriteCoord(gBattleAnimTarget, 2)) + if (GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) < GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2)) sprite->data[7] = 0x8000; if (!(gBattlerPositions[gBattleAnimTarget] & 1)) @@ -1394,22 +1201,22 @@ void InitPoisonGasCloudAnim(struct Sprite *sprite) sprite->data[6] = 1; } - 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); if (gBattleAnimArgs[7]) { sprite->data[1] = sprite->pos1.x + gBattleAnimArgs[1]; - sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[3]; + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[3]; sprite->data[3] = sprite->pos1.y + gBattleAnimArgs[2]; - sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[4]; + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[4]; sprite->data[7] |= GetBattlerSpriteBGPriority(gBattleAnimTarget) << 8; } else { sprite->data[1] = sprite->pos1.x + gBattleAnimArgs[1]; - sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 0) + gBattleAnimArgs[3]; + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X) + gBattleAnimArgs[3]; sprite->data[3] = sprite->pos1.y + gBattleAnimArgs[2]; - sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + gBattleAnimArgs[4]; + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y) + gBattleAnimArgs[4]; sprite->data[7] |= GetBattlerSpriteBGPriority(gBattleAnimTarget) << 8; } @@ -1441,7 +1248,7 @@ void MovePoisonGasCloud(struct Sprite *sprite) if (sprite->data[0] <= 0) { sprite->data[0] = 80; - sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0); + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X); sprite->data[1] = sprite->pos1.x; sprite->data[2] = sprite->pos1.x; sprite->pos1.y += sprite->pos2.y; @@ -1575,238 +1382,63 @@ void AnimTask_Hail2(u8 taskId) } } -#ifdef NONMATCHING -bool8 GenerateHailParticle(u8 a, u8 b, u8 taskId, u8 c) +bool8 GenerateHailParticle(u8 hailStructId, u8 affineAnimNum, u8 taskId, u8 c) { - bool8 possibleBool = FALSE; - // s8 unk = gUnknown_08595CB4[a].unk3; - const struct HailStruct *hailData = &gUnknown_08595CB4[a]; - s8 unk = hailData->unk3; - u8 battler; + u8 id; s16 battlerX, battlerY; - u8 spriteId; - // struct Sprite *sprite; s16 spriteX; + bool8 possibleBool = FALSE; + s8 unk = gUnknown_08595CB4[hailStructId].unk3; if (unk != 2) { - battler = GetBattlerAtPosition(hailData->unk2); - if (IsBattlerSpriteVisible(battler)) + id = GetBattlerAtPosition(gUnknown_08595CB4[hailStructId].unk2); + if (IsBattlerSpriteVisible(id)) { possibleBool = TRUE; - battlerX = GetBattlerSpriteCoord(battler, 2); - battlerY = GetBattlerSpriteCoord(battler, 3); + battlerX = GetBattlerSpriteCoord(id, BATTLER_COORD_X_2); + battlerY = GetBattlerSpriteCoord(id, BATTLER_COORD_Y_PIC_OFFSET); switch (unk) { - case 0: - battlerX -= GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_WIDTH) / 6; - battlerY -= GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_HEIGHT) / 6; - break; - case 1: - battlerX += GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_WIDTH) / 6; - battlerY += GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_HEIGHT) / 6; - break; + case 0: + battlerX -= GetBattlerSpriteCoordAttr(id, BATTLER_COORD_ATTR_WIDTH) / 6; + battlerY -= GetBattlerSpriteCoordAttr(id, BATTLER_COORD_ATTR_HEIGHT) / 6; + break; + case 1: + battlerX += GetBattlerSpriteCoordAttr(id, BATTLER_COORD_ATTR_WIDTH) / 6; + battlerY += GetBattlerSpriteCoordAttr(id, BATTLER_COORD_ATTR_HEIGHT) / 6; + break; } } + else + { + battlerX = (gUnknown_08595CB4[hailStructId].unk0); + battlerY = (gUnknown_08595CB4[hailStructId].unk1); + } } else { - battlerX = (hailData->unk0); - battlerY = (hailData->unk1); + battlerX = (gUnknown_08595CB4[hailStructId].unk0); + battlerY = (gUnknown_08595CB4[hailStructId].unk1); } spriteX = battlerX - ((battlerY + 8) / 2); - spriteId = CreateSprite(&gUnknown_08595D2C, spriteX, -8, 18); - if (spriteId == MAX_SPRITES) + id = CreateSprite(&gUnknown_08595D2C, spriteX, -8, 18); + if (id == MAX_SPRITES) + { return FALSE; - // sprite = &gSprites[spriteId]; - StartSpriteAffineAnim(&gSprites[spriteId], b); - gSprites[spriteId].data[0] = possibleBool; - gSprites[spriteId].data[3] = battlerX; - gSprites[spriteId].data[4] = battlerY; - gSprites[spriteId].data[5] = b; - gSprites[spriteId].data[6] = taskId; - gSprites[spriteId].data[7] = c; - return TRUE; + } + else + { + StartSpriteAffineAnim(&gSprites[id], affineAnimNum); + gSprites[id].data[0] = possibleBool; + gSprites[id].data[3] = battlerX; + gSprites[id].data[4] = battlerY; + gSprites[id].data[5] = affineAnimNum; + gSprites[id].data[6] = taskId; + gSprites[id].data[7] = c; + return TRUE; + } } -#else -NAKED -bool8 GenerateHailParticle(u8 a, u8 b, u8 taskId, u8 c) -{ - 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\ - lsls r1, 24\n\ - lsrs r1, 24\n\ - mov r9, r1\n\ - lsls r2, 24\n\ - lsrs r2, 24\n\ - str r2, [sp]\n\ - lsls r3, 24\n\ - lsrs r3, 24\n\ - mov r10, r3\n\ - movs r1, 0\n\ - str r1, [sp, 0x4]\n\ - ldr r1, =gUnknown_08595CB4\n\ - lsrs r0, 22\n\ - adds r4, r0, r1\n\ - ldrb r0, [r4, 0x3]\n\ - lsls r0, 24\n\ - asrs r0, 28\n\ - mov r8, r0\n\ - cmp r0, 0x2\n\ - beq _0810CAD0\n\ - ldrh r0, [r4, 0x2]\n\ - lsls r0, 20\n\ - lsrs r0, 24\n\ - bl GetBattlerAtPosition\n\ - lsls r0, 24\n\ - lsrs r5, r0, 24\n\ - adds r0, r5, 0\n\ - bl IsBattlerSpriteVisible\n\ - lsls r0, 24\n\ - cmp r0, 0\n\ - beq _0810CAD0\n\ - movs r0, 0x1\n\ - str r0, [sp, 0x4]\n\ - adds r0, r5, 0\n\ - movs r1, 0x2\n\ - bl GetBattlerSpriteCoord\n\ - lsls r0, 24\n\ - lsrs r7, r0, 24\n\ - adds r0, r5, 0\n\ - movs r1, 0x3\n\ - bl GetBattlerSpriteCoord\n\ - lsls r0, 24\n\ - lsrs r6, r0, 24\n\ - mov r1, r8\n\ - cmp r1, 0\n\ - beq _0810CA60\n\ - cmp r1, 0x1\n\ - beq _0810CA96\n\ - b _0810CAE2\n\ - .pool\n\ -_0810CA60:\n\ - adds r0, r5, 0\n\ - movs r1, 0x1\n\ - bl GetBattlerSpriteCoordAttr\n\ - lsls r0, 16\n\ - asrs r0, 16\n\ - movs r1, 0x6\n\ - bl __divsi3\n\ - lsls r1, r7, 16\n\ - asrs r1, 16\n\ - subs r1, r0\n\ - lsls r1, 16\n\ - lsrs r7, r1, 16\n\ - adds r0, r5, 0\n\ - movs r1, 0\n\ - bl GetBattlerSpriteCoordAttr\n\ - lsls r0, 16\n\ - asrs r0, 16\n\ - movs r1, 0x6\n\ - bl __divsi3\n\ - lsls r1, r6, 16\n\ - asrs r1, 16\n\ - subs r1, r0\n\ - b _0810CACA\n\ -_0810CA96:\n\ - adds r0, r5, 0\n\ - movs r1, 0x1\n\ - bl GetBattlerSpriteCoordAttr\n\ - lsls r0, 16\n\ - asrs r0, 16\n\ - movs r1, 0x6\n\ - bl __divsi3\n\ - lsls r1, r7, 16\n\ - asrs r1, 16\n\ - adds r1, r0\n\ - lsls r1, 16\n\ - lsrs r7, r1, 16\n\ - adds r0, r5, 0\n\ - movs r1, 0\n\ - bl GetBattlerSpriteCoordAttr\n\ - lsls r0, 16\n\ - asrs r0, 16\n\ - movs r1, 0x6\n\ - bl __divsi3\n\ - lsls r1, r6, 16\n\ - asrs r1, 16\n\ - adds r1, r0\n\ -_0810CACA:\n\ - lsls r1, 16\n\ - lsrs r6, r1, 16\n\ - b _0810CAE2\n\ -_0810CAD0:\n\ - ldrh r0, [r4]\n\ - lsls r0, 22\n\ - asrs r0, 6\n\ - lsrs r7, r0, 16\n\ - ldr r0, [r4]\n\ - lsls r0, 12\n\ - asrs r0, 22\n\ - lsls r0, 16\n\ - lsrs r6, r0, 16\n\ -_0810CAE2:\n\ - lsls r0, r6, 16\n\ - asrs r0, 16\n\ - adds r0, 0x8\n\ - lsrs r1, r0, 31\n\ - adds r0, r1\n\ - asrs r0, 1\n\ - lsls r1, r7, 16\n\ - asrs r1, 16\n\ - subs r1, r0\n\ - ldr r0, =gUnknown_08595D2C\n\ - lsls r1, 16\n\ - asrs r1, 16\n\ - movs r2, 0x8\n\ - negs r2, r2\n\ - movs r3, 0x12\n\ - bl CreateSprite\n\ - lsls r0, 24\n\ - lsrs r5, r0, 24\n\ - cmp r5, 0x40\n\ - beq _0810CB44\n\ - lsls r4, r5, 4\n\ - adds r4, r5\n\ - lsls r4, 2\n\ - ldr r0, =gSprites\n\ - adds r4, r0\n\ - adds r0, r4, 0\n\ - mov r1, r9\n\ - bl StartSpriteAffineAnim\n\ - mov r0, sp\n\ - ldrh r0, [r0, 0x4]\n\ - strh r0, [r4, 0x2E]\n\ - strh r7, [r4, 0x34]\n\ - strh r6, [r4, 0x36]\n\ - mov r1, r9\n\ - strh r1, [r4, 0x38]\n\ - mov r0, sp\n\ - ldrh r0, [r0]\n\ - strh r0, [r4, 0x3A]\n\ - mov r1, r10\n\ - strh r1, [r4, 0x3C]\n\ - movs r0, 0x1\n\ - b _0810CB46\n\ - .pool\n\ -_0810CB44:\n\ - movs r0, 0\n\ -_0810CB46:\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 {r1}\n\ - bx r1\n"); -} -#endif void AnimHailBegin(struct Sprite *sprite) { @@ -1874,8 +1506,8 @@ void InitIceBallAnim(struct Sprite *sprite) if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; - sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2]; - sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3]; + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[3]; sprite->data[5] = gBattleAnimArgs[5]; InitAnimArcTranslation(sprite); diff --git a/src/international_string_util.c b/src/international_string_util.c index dfeda49e38..9dc795dd04 100644 --- a/src/international_string_util.c +++ b/src/international_string_util.c @@ -93,7 +93,7 @@ void CopyMonCategoryText(int dexNum, u8 *dest) StringCopy(str + 1, gText_Pokemon); } -u8 *sub_81DB494(u8 *str, int fontId, u8 *str2, int totalStringWidth) +u8 *sub_81DB494(u8 *str, int fontId, const u8 *str2, int totalStringWidth) { u8 *buffer; int width; diff --git a/src/item.c b/src/item.c index 0e13ddf4cd..fe8e8eadde 100644 --- a/src/item.c +++ b/src/item.c @@ -537,7 +537,7 @@ bool8 RemoveBagItem(u16 itemId, u16 count) if (totalQuantity < count) return FALSE; // We don't have enough of the item - if (CurrentMapIsSecretBase() == TRUE) + if (CurMapIsSecretBase() == TRUE) { VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x200); VarSet(VAR_SECRET_BASE_LAST_ITEM_USED, itemId); diff --git a/src/item_menu.c b/src/item_menu.c index 8edf6f2797..bfeeaacd02 100755 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -8,7 +8,7 @@ #include "bg.h" #include "constants/items.h" #include "constants/songs.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "event_data.h" #include "event_object_movement.h" @@ -49,6 +49,7 @@ #include "window.h" #include "apprentice.h" #include "battle_pike.h" +#include "constants/rgb.h" void GoToBagMenu(u8 bagMenuType, u8 pocketId, void ( *postExitMenuMainCallback2)()); void CB2_Bag(void); @@ -659,7 +660,7 @@ bool8 setup_bag_menu(void) gMain.state++; break; case 20: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); gPaletteFade.bufferTransferDisabled = FALSE; gMain.state++; break; @@ -942,7 +943,7 @@ void free_bag_item_list_buffers(void) void unknown_ItemMenu_Confirm(u8 taskId) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); gTasks[taskId].func = task_close_bag_menu_2; } diff --git a/src/item_use.c b/src/item_use.c index 159ece398e..97aceb7ad8 100755 --- a/src/item_use.c +++ b/src/item_use.c @@ -7,7 +7,7 @@ #include "berry_powder.h" #include "bike.h" #include "coins.h" -#include "data2.h" +#include "data.h" #include "event_data.h" #include "event_object_movement.h" #include "fieldmap.h" @@ -37,6 +37,7 @@ #include "constants/bg_event_constants.h" #include "constants/event_objects.h" #include "constants/flags.h" +#include "constants/item_effects.h" #include "constants/items.h" #include "constants/songs.h" #include "constants/vars.h" @@ -389,7 +390,7 @@ bool8 sub_80FD6D4(const struct MapEvents *events, s16 x, s16 y) bool8 sub_80FD730(struct MapConnection *connection, int x, int y) { - + u16 localX, localY; u32 localOffset; s32 localLength; @@ -1026,44 +1027,45 @@ void ItemUseInBattle_Escape(u8 taskId) void ItemUseOutOfBattle_EnigmaBerry(u8 taskId) { - switch (GetItemEffectType(gSpecialVar_ItemId) - 1) + switch (GetItemEffectType(gSpecialVar_ItemId)) { - case 1: - case 2: - case 3: - case 4: - case 5: - case 6: - case 10: - case 11: - case 12: - case 13: - case 14: - case 15: - case 16: + case ITEM_EFFECT_HEAL_HP: + case ITEM_EFFECT_CURE_POISON: + case ITEM_EFFECT_CURE_SLEEP: + case ITEM_EFFECT_CURE_BURN: + case ITEM_EFFECT_CURE_FREEZE: + case ITEM_EFFECT_CURE_PARALYSIS: + case ITEM_EFFECT_CURE_ALL_STATUS: + case ITEM_EFFECT_ATK_EV: + case ITEM_EFFECT_HP_EV: + case ITEM_EFFECT_SPATK_EV: + case ITEM_EFFECT_SPDEF_EV: + case ITEM_EFFECT_SPEED_EV: + case ITEM_EFFECT_DEF_EV: gTasks[taskId].data[4] = 1; ItemUseOutOfBattle_Medicine(taskId); break; - case 9: + case ITEM_EFFECT_SACRED_ASH: gTasks[taskId].data[4] = 1; ItemUseOutOfBattle_SacredAsh(taskId); break; - case 0: + case ITEM_EFFECT_RAISE_LEVEL: gTasks[taskId].data[4] = 1; ItemUseOutOfBattle_RareCandy(taskId); break; - case 18: - case 19: + case ITEM_EFFECT_PP_UP: + case ITEM_EFFECT_PP_MAX: gTasks[taskId].data[4] = 1; ItemUseOutOfBattle_PPUp(taskId); break; - case 20: + case ITEM_EFFECT_HEAL_PP: gTasks[taskId].data[4] = 1; ItemUseOutOfBattle_PPRecovery(taskId); break; default: gTasks[taskId].data[4] = 4; ItemUseOutOfBattle_CannotUse(taskId); + break; } } @@ -1071,25 +1073,26 @@ void ItemUseInBattle_EnigmaBerry(u8 taskId) { switch (GetItemEffectType(gSpecialVar_ItemId)) { - case 0: + case ITEM_EFFECT_X_ITEM: ItemUseInBattle_StatIncrease(taskId); break; - case 2: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - case 11: + case ITEM_EFFECT_HEAL_HP: + case ITEM_EFFECT_CURE_POISON: + case ITEM_EFFECT_CURE_SLEEP: + case ITEM_EFFECT_CURE_BURN: + case ITEM_EFFECT_CURE_FREEZE: + case ITEM_EFFECT_CURE_PARALYSIS: + case ITEM_EFFECT_CURE_ALL_STATUS: + case ITEM_EFFECT_CURE_CONFUSION: + case ITEM_EFFECT_CURE_INFATUATION: ItemUseInBattle_Medicine(taskId); break; - case 21: + case ITEM_EFFECT_HEAL_PP: ItemUseInBattle_PPRecovery(taskId); break; default: ItemUseOutOfBattle_CannotUse(taskId); + break; } } diff --git a/src/link.c b/src/link.c index 525d50d7cf..bcdcb52a4a 100644 --- a/src/link.c +++ b/src/link.c @@ -27,6 +27,7 @@ #include "battle.h" #include "link.h" #include "link_rfu.h" +#include "constants/rgb.h" extern u16 gHeldKeyCodeToSend; @@ -444,7 +445,7 @@ static void LinkTestProcessKeyInput(void) } if (gMain.newKeys & L_BUTTON) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 2); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(2, 0, 0)); } if (gMain.newKeys & START_BUTTON) { diff --git a/src/link_rfu.c b/src/link_rfu.c index 7c55df7839..9732e98891 100644 --- a/src/link_rfu.c +++ b/src/link_rfu.c @@ -2263,7 +2263,7 @@ void DestroyWirelessStatusIndicatorSprite(void) } } -void sub_800E0E8(void) +void LoadWirelessStatusIndicatorSpriteGfx(void) { if (GetSpriteTileStartByTag(sWirelessStatusIndicatorSpriteSheet.tag) == 0xFFFF) { diff --git a/src/mail.c b/src/mail.c index 9cca4492e1..0078bc4fc6 100644 --- a/src/mail.c +++ b/src/mail.c @@ -19,6 +19,7 @@ #include "constants/species.h" #include "alloc.h" #include "easy_chat.h" +#include "constants/rgb.h" extern const u16 gMailPalette_Orange[]; extern const u16 gMailPalette_Harbor[]; @@ -417,7 +418,7 @@ static bool8 MailReadBuildGraphics(void) ShowBg(0); ShowBg(1); ShowBg(2); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); gPaletteFade.bufferTransferDisabled = FALSE; sMailRead->callback2 = CB2_WaitForPaletteExitOnKeyPress; return TRUE; @@ -526,7 +527,7 @@ static void CB2_ExitOnKeyPress(void) { if (gMain.newKeys & (A_BUTTON | B_BUTTON)) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); sMailRead->callback2 = CB2_ExitMailReadFreeVars; } } diff --git a/src/main_menu.c b/src/main_menu.c index 504c1bd33d..bc509c70df 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -584,9 +584,9 @@ static u32 InitMainMenu(bool8 returningFromOptionsMenu) ResetSpriteData(); FreeAllSpritePalettes(); if (returningFromOptionsMenu) - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0x0000); // fade to black + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); // fade to black else - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0xFFFF); // fade to white + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_WHITEALPHA); // fade to white ResetBgsAndClearDma3BusyFlags(0); InitBgsFromTemplates(0, sMainMenuBgTemplates, ARRAY_COUNT(sMainMenuBgTemplates)); ChangeBgX(0, 0, 0); @@ -1098,7 +1098,7 @@ static void Task_HandleMainMenuAPressed(u8 taskId) SetGpuReg(REG_OFFSET_BG1VOFS, 0); SetGpuReg(REG_OFFSET_BG0HOFS, 0); SetGpuReg(REG_OFFSET_BG0VOFS, 0); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); return; } FreeAllWindowBuffers(); @@ -1287,7 +1287,7 @@ static void Task_NewGameBirchSpeech_Init(u8 taskId) FreeAllSpritePalettes(); ResetAllPicSprites(); AddBirchSpeechObjects(taskId); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); gTasks[taskId].tBG1HOFS = 0; gTasks[taskId].func = Task_NewGameBirchSpeech_WaitToShowBirch; gTasks[taskId].tPlayerSpriteId = 0xFF; @@ -1846,7 +1846,7 @@ static void CB2_NewGameBirchSpeech_ReturnFromNamingScreen(void) gSprites[spriteId].invisible = FALSE; gTasks[taskId].tPlayerSpriteId = spriteId; SetGpuReg(REG_OFFSET_BG1HOFS, -60); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); SetGpuReg(REG_OFFSET_WIN0H, 0); SetGpuReg(REG_OFFSET_WIN0V, 0); SetGpuReg(REG_OFFSET_WININ, 0); diff --git a/src/match_call.c b/src/match_call.c index 641079ba9f..6221affe1c 100644 --- a/src/match_call.c +++ b/src/match_call.c @@ -3,11 +3,12 @@ #include "battle.h" #include "battle_setup.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "event_data.h" #include "event_object_movement.h" #include "field_player_avatar.h" #include "main.h" +#include "match_call.h" #include "menu.h" #include "new_game.h" #include "overworld.h" @@ -74,7 +75,6 @@ struct BattleFrontierStreakInfo 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); @@ -1098,13 +1098,13 @@ bool32 TryStartMatchCall(void) return FALSE; } -void StartMatchCallFromScript(void) +void StartMatchCallFromScript(u8 *message) { gMatchCallState.triggeredFromScript = 1; StartMatchCall(); } -bool8 IsMatchCallTaskActive(void) +bool32 IsMatchCallTaskActive(void) { return FuncIsActiveTask(ExecuteMatchCall); } @@ -2002,7 +2002,7 @@ void sub_8197080(u8 *destStr) Free(buffer); } -void sub_8197184(u8 windowId, u32 destOffset, u32 paletteId) +void sub_8197184(u32 windowId, u32 destOffset, u32 paletteId) { u8 bg = GetWindowAttribute(windowId, WINDOW_BG); LoadBgTiles(bg, sUnknown_0860EA6C, 0x100, destOffset); diff --git a/src/menu.c b/src/menu.c index b766b1b869..354346d272 100644 --- a/src/menu.c +++ b/src/menu.c @@ -1919,7 +1919,7 @@ void sub_8199D3C(void *ptr, int delta, int width, int height, bool32 is8BPP) } } -void sub_8199D98(void) +void ResetBgPositions(void) { ChangeBgX(0, 0, 0); ChangeBgX(1, 0, 0); diff --git a/src/menu_helpers.c b/src/menu_helpers.c index b5745d812d..801e2546b3 100644 --- a/src/menu_helpers.c +++ b/src/menu_helpers.c @@ -344,17 +344,17 @@ void sub_812220C(struct ItemSlot *slots, u8 count, u8 *arg2, u8 *usedSlotsCount, *arg2 = (*usedSlotsCount); } -void sub_812225C(u16 *arg0, u16 *arg1, u8 arg2, u8 arg3) +void sub_812225C(u16 *scrollOffset, u16 *cursorPos, u8 maxShownItems, u8 numItems) { - if ((*arg0) != 0 && (*arg0) + arg2 > arg3) - (*arg0) = arg3 - arg2; + if (*scrollOffset != 0 && *scrollOffset + maxShownItems > numItems) + *scrollOffset = numItems - maxShownItems; - if ((*arg0) + (*arg1) >= arg3) + if (*scrollOffset + *cursorPos >= numItems) { - if (arg3 == 0) - (*arg1) = 0; + if (numItems == 0) + *cursorPos = 0; else - (*arg1) = arg3 - 1; + *cursorPos = numItems - 1; } } diff --git a/src/menu_specialized.c b/src/menu_specialized.c index cbdef3d39e..34dd1fe2be 100644 --- a/src/menu_specialized.c +++ b/src/menu_specialized.c @@ -2,7 +2,7 @@ #include "alloc.h" #include "battle_main.h" #include "contest_effect.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "gpu_regs.h" #include "graphics.h" @@ -28,7 +28,6 @@ #include "gba/io_reg.h" extern const struct CompressedSpriteSheet gMonFrontPicTable[]; -extern const u8 *gUnknown_08625B54[]; EWRAM_DATA static u8 sUnknown_0203CF48[3] = {0}; EWRAM_DATA static struct ListMenuItem *sUnknown_0203CF4C = NULL; @@ -39,7 +38,7 @@ static void sub_81D2634(struct UnknownStruct_81D1ED4 *a0); static void MoveRelearnerCursorCallback(s32 itemIndex, bool8 onInit, struct ListMenu *list); static void nullsub_79(void); static void sub_81D3408(struct Sprite *sprite); -/*static*/ void sub_81D3564(struct Sprite *sprite); +static void sub_81D3564(struct Sprite *sprite); static void sub_81D35E8(struct Sprite *sprite); static const struct WindowTemplate sUnknown_086253E8[] = @@ -1474,9 +1473,77 @@ static void sub_81D32F4(struct Sprite *sprite) } } -// Todo: Move these variables to C. -extern const s16 gUnknown_08625B2C[][2]; -extern const struct SpriteTemplate gUnknown_08625B14; +static const struct OamData sOamData_8625AD0 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x16), + .x = 0, + .size = SPRITE_SIZE(16x16), + .priority = 0, +}; + +static const union AnimCmd sSpriteAnim_8625AD8[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(4, 5), + ANIMCMD_FRAME(8, 5), + ANIMCMD_FRAME(12, 5), + ANIMCMD_FRAME(16, 5), + ANIMCMD_FRAME(20, 5), + ANIMCMD_FRAME(24, 5), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_8625AF8[] = +{ + sSpriteAnim_8625AD8, + sSpriteAnim_8625AD8 + 2, +}; + +// unused +static const union AnimCmd *const sSpriteAnimTable_8625B00[] = +{ + sSpriteAnim_8625AD8 + 4, + sSpriteAnim_8625AD8 + 6, +}; + +// unused +static const union AnimCmd *const sSpriteAnimTable_8625B08[] = +{ + sSpriteAnim_8625AD8 + 8, + sSpriteAnim_8625AD8 + 10, +}; + +// unused +static const union AnimCmd *const *const sUnknown_08625B10 = sSpriteAnimTable_8625B08; + +const struct SpriteTemplate gUnknown_08625B14 = +{ + .tileTag = 104, + .paletteTag = 104, + .oam = &sOamData_8625AD0, + .anims = sSpriteAnimTable_8625AF8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_81D3564, +}; + +static const s16 gUnknown_08625B2C[][2] = +{ + {0, -35}, + {20, -28}, + {33, -10}, + {33, 10}, + {20, 28}, + {0, 35}, + {-20, 28}, + {-33, 10}, + {-33, -10}, + {-20, -28}, +}; void sub_81D3314(struct Sprite *sprite) { @@ -1595,7 +1662,7 @@ void sub_81D354C(struct Sprite **sprites) FreeSpritePaletteByTag(104); } -/*static*/ void sub_81D3564(struct Sprite *sprite) +static void sub_81D3564(struct Sprite *sprite) { if (sprite->data[1] != 0) { @@ -1641,440 +1708,127 @@ static void sub_81D35E8(struct Sprite *sprite) } } - -#ifdef NONMATCHING -void DrawLevelUpWindowPg1(u16 arg0, u16 *statStoreLocation1, u16 *statStoreLocation2, u8 arg3, u8 arg4, u8 arg5) +static const u8 *const sLvlUpStatStrings[] = { - u16 i; - s16 array[6]; - u8 *text; - u8 text2; - s16 *statVal; - s32 var; - u8 padding; - s32 var3; - u8 color[11]; - - FillWindowPixelBuffer(arg0, PIXEL_FILL(arg3)); - - array[0] = statStoreLocation2[STAT_HP] - statStoreLocation1[STAT_HP]; - array[1] = statStoreLocation2[STAT_ATK] - statStoreLocation1[STAT_ATK]; - array[2] = statStoreLocation2[STAT_DEF] - statStoreLocation1[STAT_DEF]; - array[3] = statStoreLocation2[STAT_SPATK] - statStoreLocation1[STAT_SPATK]; - array[4] = statStoreLocation2[STAT_SPDEF] - statStoreLocation1[STAT_SPDEF]; - array[5] = statStoreLocation2[STAT_SPEED] - statStoreLocation1[STAT_SPEED]; - - color[0] = arg3; - color[1] = arg4; - color[2] = arg5; - - for(i = 0; i <= 5; i++) + gUnknown_085EEA46, + gUnknown_085EEA4E, + gUnknown_085EEA55, + gUnknown_085EEA63, + gUnknown_085EEA6B, + gUnknown_085EEA5D +}; + +void DrawLevelUpWindowPg1(u16 windowId, u16 *statsBefore, u16 *statsAfter, u8 bgClr, u8 fgClr, u8 shadowClr) +{ + u16 i, x; + s16 statsDiff[NUM_STATS]; + u8 text[12]; + u8 color[3]; + + FillWindowPixelBuffer(windowId, PIXEL_FILL(bgClr)); + + statsDiff[0] = statsAfter[STAT_HP] - statsBefore[STAT_HP]; + statsDiff[1] = statsAfter[STAT_ATK] - statsBefore[STAT_ATK]; + statsDiff[2] = statsAfter[STAT_DEF] - statsBefore[STAT_DEF]; + statsDiff[3] = statsAfter[STAT_SPATK] - statsBefore[STAT_SPATK]; + statsDiff[4] = statsAfter[STAT_SPDEF] - statsBefore[STAT_SPDEF]; + statsDiff[5] = statsAfter[STAT_SPEED] - statsBefore[STAT_SPEED]; + + color[0] = bgClr; + color[1] = fgClr; + color[2] = shadowClr; + + for (i = 0; i < NUM_STATS; i++) { - AddTextPrinterParameterized3(arg0, - 1, - 0, - 15 * i, - color, - TEXT_SPEED_FF, - gUnknown_08625B54[i]); - statVal = &array[i]; - text = array[i] >= 0 ? (u8 *) gText_UnkCtrlF904 : (u8 *) gText_Dash;//Plus sign for stat gain, dash for none maybe - StringCopy(&text2, text); - AddTextPrinterParameterized3(arg0, - 1, - 56, - 15 * i, - color, - TEXT_SPEED_FF, - &text2); - var3 = *statVal; - var = var3; - - if(var3 < 0) - { - var = -var3; - } - - padding = 12; //amount of padding - - if(var <= 9) - { - padding = 18; //more padding for single digit numbers - } - - if(var3 < 0) - { - var3 = -var3; - } - - ConvertIntToDecimalStringN(&text2, var3, STR_CONV_MODE_LEFT_ALIGN, 2); - AddTextPrinterParameterized3(arg0, - 1, - padding + 56, - 15 * i, - color, - TEXT_SPEED_FF, - &text2); + + AddTextPrinterParameterized3(windowId, + 1, + 0, + 15 * i, + color, + -1, + sLvlUpStatStrings[i]); + + StringCopy(text, (statsDiff[i] >= 0) ? gText_UnkCtrlF904 : gText_Dash); + AddTextPrinterParameterized3(windowId, + 1, + 56, + 15 * i, + color, + -1, + text); + if (abs(statsDiff[i]) <= 9) + x = 18; + else + x = 12; + + ConvertIntToDecimalStringN(text, abs(statsDiff[i]), STR_CONV_MODE_LEFT_ALIGN, 2); + AddTextPrinterParameterized3(windowId, + 1, + 56 + x, + 15 * i, + color, + -1, + text); } } -#else -NAKED -void DrawLevelUpWindowPg1(u16 arg0, u16 *statStoreLocation1, u16 *statStoreLocation2, u8 arg3, u8 arg4, u8 arg5) -{ - asm(".syntax 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, 0x2C\n\ - mov r8, r0\n\ - adds r6, r1, 0\n\ - adds r5, r2, 0\n\ - adds r4, r3, 0\n\ - ldr r3, [sp, 0x4C]\n\ - ldr r0, [sp, 0x50]\n\ - mov r9, r0\n\ - lsls r4, 24\n\ - lsrs r4, 24\n\ - lsls r3, 24\n\ - lsrs r3, 24\n\ - mov r1, r9\n\ - lsls r1, 24\n\ - lsrs r1, 24\n\ - mov r9, r1\n\ - mov r0, r8\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - mov r8, r0\n\ - lsls r1, r4, 4\n\ - orrs r1, r4\n\ - lsls r1, 24\n\ - lsrs r1, 24\n\ - str r3, [sp, 0x28]\n\ - bl FillWindowPixelBuffer\n\ - add r2, sp, 0xC\n\ - ldrh r0, [r5]\n\ - ldrh r1, [r6]\n\ - subs r0, r1\n\ - strh r0, [r2]\n\ - ldrh r0, [r5, 0x2]\n\ - ldrh r1, [r6, 0x2]\n\ - subs r0, r1\n\ - strh r0, [r2, 0x2]\n\ - ldrh r0, [r5, 0x4]\n\ - ldrh r1, [r6, 0x4]\n\ - subs r0, r1\n\ - strh r0, [r2, 0x4]\n\ - ldrh r0, [r5, 0x8]\n\ - ldrh r1, [r6, 0x8]\n\ - subs r0, r1\n\ - strh r0, [r2, 0x6]\n\ - ldrh r0, [r5, 0xA]\n\ - ldrh r1, [r6, 0xA]\n\ - subs r0, r1\n\ - strh r0, [r2, 0x8]\n\ - ldrh r0, [r5, 0x6]\n\ - ldrh r1, [r6, 0x6]\n\ - subs r0, r1\n\ - strh r0, [r2, 0xA]\n\ - add r0, sp, 0x24\n\ - strb r4, [r0]\n\ - ldr r3, [sp, 0x28]\n\ - strb r3, [r0, 0x1]\n\ - mov r1, r9\n\ - strb r1, [r0, 0x2]\n\ - movs r7, 0\n\ - mov r10, r0\n\ - movs r0, 0x1\n\ - negs r0, r0\n\ - mov r9, r0\n\ - add r6, sp, 0x18\n\ -_081D36CA:\n\ - lsls r0, r7, 4\n\ - subs r0, r7\n\ - lsls r0, 24\n\ - lsrs r5, r0, 24\n\ - mov r1, r10\n\ - str r1, [sp]\n\ - mov r0, r9\n\ - str r0, [sp, 0x4]\n\ - ldr r1, =gUnknown_08625B54\n\ - lsls r0, r7, 2\n\ - adds r0, r1\n\ - ldr r0, [r0]\n\ - str r0, [sp, 0x8]\n\ - mov r0, r8\n\ - movs r1, 0x1\n\ - movs r2, 0\n\ - adds r3, r5, 0\n\ - bl AddTextPrinterParameterized3\n\ - lsls r0, r7, 1\n\ - mov r4, sp\n\ - adds r4, r0\n\ - adds r4, 0xC\n\ - movs r1, 0\n\ - ldrsh r0, [r4, r1]\n\ - ldr r1, =gText_Dash\n\ - cmp r0, 0\n\ - blt _081D3704\n\ - ldr r1, =gText_UnkCtrlF904\n\ -_081D3704:\n\ - adds r0, r6, 0\n\ - bl StringCopy\n\ - mov r0, r10\n\ - str r0, [sp]\n\ - mov r1, r9\n\ - str r1, [sp, 0x4]\n\ - str r6, [sp, 0x8]\n\ - mov r0, r8\n\ - movs r1, 0x1\n\ - movs r2, 0x38\n\ - adds r3, r5, 0\n\ - bl AddTextPrinterParameterized3\n\ - movs r0, 0\n\ - ldrsh r1, [r4, r0]\n\ - adds r0, r1, 0\n\ - cmp r1, 0\n\ - bge _081D372C\n\ - negs r0, r1\n\ -_081D372C:\n\ - movs r4, 0xC\n\ - cmp r0, 0x9\n\ - bgt _081D3734\n\ - movs r4, 0x12\n\ -_081D3734:\n\ - cmp r1, 0\n\ - bge _081D373A\n\ - negs r1, r1\n\ -_081D373A:\n\ - adds r0, r6, 0\n\ - movs r2, 0\n\ - movs r3, 0x2\n\ - bl ConvertIntToDecimalStringN\n\ - adds r2, r4, 0\n\ - adds r2, 0x38\n\ - mov r1, r10\n\ - str r1, [sp]\n\ - mov r0, r9\n\ - str r0, [sp, 0x4]\n\ - str r6, [sp, 0x8]\n\ - mov r0, r8\n\ - movs r1, 0x1\n\ - adds r3, r5, 0\n\ - bl AddTextPrinterParameterized3\n\ - adds r0, r7, 0x1\n\ - lsls r0, 16\n\ - lsrs r7, r0, 16\n\ - cmp r7, 0x5\n\ - bls _081D36CA\n\ - add sp, 0x2C\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\n\ - .syntax divided"); -} -#endif // NONMATCHING -#ifdef NONMATCHING -void DrawLevelUpWindowPg2(u16 arg0, u16 *statStoreLocation1, u8 arg2, u8 arg3, u8 arg4) +void DrawLevelUpWindowPg2(u16 windowId, u16 *currStats, u8 bgClr, u8 fgClr, u8 shadowClr) { - s32 i; - s16 *var; - s32 numDigits; - u8 text; - s16 array[6]; - u8 color[11]; - - FillWindowPixelBuffer(arg0, PIXEL_FILL(arg2)); - - array[0] = statStoreLocation1[STAT_HP]; - array[1] = statStoreLocation1[STAT_ATK]; - array[2] = statStoreLocation1[STAT_DEF]; - array[3] = statStoreLocation1[STAT_SPATK]; - array[4] = statStoreLocation1[STAT_SPDEF]; - array[5] = statStoreLocation1[STAT_SPEED]; - - color[0] = arg2; - color[1] = arg3; - color[2] = arg4; - - for(i = 0; i <= 5; i++) + u16 i, numDigits, x; + s16 stats[NUM_STATS]; + u8 text[12]; + u8 color[3]; + + FillWindowPixelBuffer(windowId, PIXEL_FILL(bgClr)); + + stats[0] = currStats[STAT_HP]; + stats[1] = currStats[STAT_ATK]; + stats[2] = currStats[STAT_DEF]; + stats[3] = currStats[STAT_SPATK]; + stats[4] = currStats[STAT_SPDEF]; + stats[5] = currStats[STAT_SPEED]; + + color[0] = bgClr; + color[1] = fgClr; + color[2] = shadowClr; + + for (i = 0; i < NUM_STATS; i++) { - numDigits = 3; //3 digit stat - if(array[i] <= 99) - { - numDigits = 1; //1 digit stat - if(array[i] > 9) - { - numDigits = 2; //2 digit stat - } - } - ConvertIntToDecimalStringN(&text, array[i], STR_CONV_MODE_LEFT_ALIGN, numDigits); - AddTextPrinterParameterized3(arg0, - 1, - 0, - 15 * i, - color, - TEXT_SPEED_FF, - gUnknown_08625B54[i]); - AddTextPrinterParameterized3(arg0, - 1, - 6 * (4 - numDigits) + 56, - 15 * i, - color, - TEXT_SPEED_FF, - &text); + if (stats[i] > 99) + numDigits = 3; + else if (stats[i] > 9) + numDigits = 2; + else + numDigits = 1; + + ConvertIntToDecimalStringN(text, stats[i], STR_CONV_MODE_LEFT_ALIGN, numDigits); + x = 6 * (4 - numDigits); + + AddTextPrinterParameterized3(windowId, + 1, + 0, + 15 * i, + color, + -1, + sLvlUpStatStrings[i]); + + AddTextPrinterParameterized3(windowId, + 1, + 56 + x, + 15 * i, + color, + -1, + text); } } -#else -NAKED -void DrawLevelUpWindowPg2(u16 arg0, u16 *statStoreLocation1, u8 arg2, u8 arg3, u8 arg4) -{ - asm(".syntax 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, 0x2C\n\ - mov r8, r0\n\ - adds r5, r1, 0\n\ - adds r4, r2, 0\n\ - adds r6, r3, 0\n\ - ldr r2, [sp, 0x4C]\n\ - lsls r4, 24\n\ - lsrs r4, 24\n\ - lsls r6, 24\n\ - lsrs r6, 24\n\ - lsls r2, 24\n\ - lsrs r2, 24\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - mov r8, r0\n\ - lsls r1, r4, 4\n\ - orrs r1, r4\n\ - lsls r1, 24\n\ - lsrs r1, 24\n\ - str r2, [sp, 0x28]\n\ - bl FillWindowPixelBuffer\n\ - add r1, sp, 0xC\n\ - ldrh r0, [r5]\n\ - strh r0, [r1]\n\ - ldrh r0, [r5, 0x2]\n\ - strh r0, [r1, 0x2]\n\ - ldrh r0, [r5, 0x4]\n\ - strh r0, [r1, 0x4]\n\ - ldrh r0, [r5, 0x8]\n\ - strh r0, [r1, 0x6]\n\ - ldrh r0, [r5, 0xA]\n\ - strh r0, [r1, 0x8]\n\ - ldrh r0, [r5, 0x6]\n\ - strh r0, [r1, 0xA]\n\ - add r0, sp, 0x24\n\ - strb r4, [r0]\n\ - strb r6, [r0, 0x1]\n\ - ldr r2, [sp, 0x28]\n\ - strb r2, [r0, 0x2]\n\ - movs r6, 0\n\ - add r1, sp, 0x18\n\ - mov r9, r1\n\ - mov r7, r8\n\ - mov r10, r0\n\ - movs r2, 0x1\n\ - negs r2, r2\n\ - mov r8, r2\n\ -_081D37EE:\n\ - lsls r1, r6, 1\n\ - mov r0, sp\n\ - adds r0, r1\n\ - adds r0, 0xC\n\ - movs r2, 0\n\ - ldrsh r0, [r0, r2]\n\ - movs r4, 0x3\n\ - cmp r0, 0x63\n\ - bgt _081D3808\n\ - movs r4, 0x1\n\ - cmp r0, 0x9\n\ - ble _081D3808\n\ - movs r4, 0x2\n\ -_081D3808:\n\ - mov r0, sp\n\ - adds r0, r1\n\ - adds r0, 0xC\n\ - movs r2, 0\n\ - ldrsh r1, [r0, r2]\n\ - mov r0, r9\n\ - movs r2, 0\n\ - adds r3, r4, 0\n\ - bl ConvertIntToDecimalStringN\n\ - movs r0, 0x4\n\ - subs r0, r4\n\ - lsls r4, r0, 1\n\ - adds r4, r0\n\ - lsls r4, 17\n\ - lsrs r4, 16\n\ - lsls r5, r6, 4\n\ - subs r5, r6\n\ - lsls r5, 24\n\ - lsrs r5, 24\n\ - mov r0, r10\n\ - str r0, [sp]\n\ - mov r1, r8\n\ - str r1, [sp, 0x4]\n\ - ldr r1, =gUnknown_08625B54\n\ - lsls r0, r6, 2\n\ - adds r0, r1\n\ - ldr r0, [r0]\n\ - str r0, [sp, 0x8]\n\ - adds r0, r7, 0\n\ - movs r1, 0x1\n\ - movs r2, 0\n\ - adds r3, r5, 0\n\ - bl AddTextPrinterParameterized3\n\ - adds r4, 0x38\n\ - lsls r4, 24\n\ - lsrs r4, 24\n\ - mov r2, r10\n\ - str r2, [sp]\n\ - mov r0, r8\n\ - str r0, [sp, 0x4]\n\ - mov r1, r9\n\ - str r1, [sp, 0x8]\n\ - adds r0, r7, 0\n\ - movs r1, 0x1\n\ - adds r2, r4, 0\n\ - adds r3, r5, 0\n\ - bl AddTextPrinterParameterized3\n\ - adds r0, r6, 0x1\n\ - lsls r0, 16\n\ - lsrs r6, r0, 16\n\ - cmp r6, 0x5\n\ - bls _081D37EE\n\ - add sp, 0x2C\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\n\ - .syntax divided"); -} -#endif // NONMATCHING -void GetMonLevelUpWindowStats(struct Pokemon *mon, u16 *statStoreLocation) +void GetMonLevelUpWindowStats(struct Pokemon *mon, u16 *currStats) { - statStoreLocation[STAT_HP] = GetMonData(mon, MON_DATA_MAX_HP); - statStoreLocation[STAT_ATK] = GetMonData(mon, MON_DATA_ATK); - statStoreLocation[STAT_DEF] = GetMonData(mon, MON_DATA_DEF); - statStoreLocation[STAT_SPEED] = GetMonData(mon, MON_DATA_SPEED); - statStoreLocation[STAT_SPATK] = GetMonData(mon, MON_DATA_SPATK); - statStoreLocation[STAT_SPDEF] = GetMonData(mon, MON_DATA_SPDEF); + currStats[STAT_HP] = GetMonData(mon, MON_DATA_MAX_HP); + currStats[STAT_ATK] = GetMonData(mon, MON_DATA_ATK); + currStats[STAT_DEF] = GetMonData(mon, MON_DATA_DEF); + currStats[STAT_SPEED] = GetMonData(mon, MON_DATA_SPEED); + currStats[STAT_SPATK] = GetMonData(mon, MON_DATA_SPATK); + currStats[STAT_SPDEF] = GetMonData(mon, MON_DATA_SPDEF); } diff --git a/src/metatile_behavior.c b/src/metatile_behavior.c index 8a2c3ad918..16298183b5 100644 --- a/src/metatile_behavior.c +++ b/src/metatile_behavior.c @@ -191,7 +191,7 @@ static const u8 sTileBitAttributes[] = [MB_SECRET_BASE_UNUSED] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE), [MB_BLOCK_DECORATION] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE), [MB_SECRET_BASE_DECORATION] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - [MB_SECRET_BASE_LARGE_MAT_EDGE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE), + [MB_HOLDS_SMALL_DECORATION] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE), [MB_UNUSED_B6] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE), [MB_SECRET_BASE_NORTH_WALL] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE), [MB_SECRET_BASE_BALLOON] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE), @@ -205,7 +205,7 @@ static const u8 sTileBitAttributes[] = [MB_IMPASSABLE_SOUTH_AND_NORTH] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE), [MB_IMPASSABLE_WEST_AND_EAST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE), [MB_SECRET_BASE_HOLE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - [MB_LARGE_MAT_CENTER] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE), + [MB_HOLDS_LARGE_DECORATION] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE), [MB_SECRET_BASE_TV_SHIELD] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE), [MB_PLAYER_ROOM_PC_ON] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE), [MB_C6] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE), @@ -751,17 +751,17 @@ bool8 Unref_MetatileBehavior_IsSecretBaseUnused_B2_2(u8 metatileBehavior) return FALSE; } -bool8 MetatileBehavior_IsSecretBaseLargeMatEdge(u8 metatileBehavior) +bool8 MetatileBehavior_HoldsSmallDecoration(u8 metatileBehavior) { - if (metatileBehavior == MB_SECRET_BASE_LARGE_MAT_EDGE) + if (metatileBehavior == MB_HOLDS_SMALL_DECORATION) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsLargeMatCenter(u8 metatileBehavior) +bool8 MetatileBehavior_HoldsLargeDecoration(u8 metatileBehavior) { - if (metatileBehavior == MB_LARGE_MAT_CENTER) + if (metatileBehavior == MB_HOLDS_LARGE_DECORATION) return TRUE; else return FALSE; diff --git a/src/mevent_801BAAC.c b/src/mevent_801BAAC.c index 62240af986..8f5b2d6361 100644 --- a/src/mevent_801BAAC.c +++ b/src/mevent_801BAAC.c @@ -14,6 +14,7 @@ #include "link_rfu.h" #include "mevent.h" #include "mystery_gift.h" +#include "constants/rgb.h" struct UnkStruct_8467FB8 { @@ -186,7 +187,7 @@ s32 FadeToWonderCardMenu(void) switch(sWonderCardData->unk_0174) { case 0: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); break; case 1: if (UpdatePaletteFade()) @@ -231,7 +232,7 @@ s32 FadeToWonderCardMenu(void) ShowBg(2); gPaletteFade.bufferTransferDisabled = FALSE; sub_801C4C0(); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); UpdatePaletteFade(); break; default: @@ -251,7 +252,7 @@ s32 FadeOutFromWonderCard(bool32 flag) switch (sWonderCardData->unk_0174) { case 0: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); break; case 1: if (UpdatePaletteFade()) @@ -279,7 +280,7 @@ s32 FadeOutFromWonderCard(bool32 flag) case 5: PrintMysteryGiftOrEReaderTopMenu(gGiftIsFromEReader, flag); CopyBgTilemapBufferToVram(0); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); break; default: if (UpdatePaletteFade()) @@ -575,7 +576,7 @@ s32 FadeToWonderNewsMenu(void) switch (sWonderNewsData->unk_01C0_1) { case 0: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); break; case 1: if (UpdatePaletteFade()) @@ -629,7 +630,7 @@ s32 FadeToWonderNewsMenu(void) ShowBg(3); gPaletteFade.bufferTransferDisabled = FALSE; sWonderNewsData->unk_01C1 = AddScrollIndicatorArrowPair(&sWonderNewsData->unk_0394, &sWonderNewsData->unk_01C6); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); UpdatePaletteFade(); break; default: @@ -650,7 +651,7 @@ s32 FadeOutFromWonderNews(bool32 flag) switch (sWonderNewsData->unk_01C0_1) { case 0: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); break; case 1: if (UpdatePaletteFade()) @@ -692,7 +693,7 @@ s32 FadeOutFromWonderNews(bool32 flag) MG_DrawCheckerboardPattern(3); CopyBgTilemapBufferToVram(0); CopyBgTilemapBufferToVram(3); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); break; default: if (UpdatePaletteFade()) diff --git a/src/move_relearner.c b/src/move_relearner.c index e148b9ace0..0b0b4a5aa5 100644 --- a/src/move_relearner.c +++ b/src/move_relearner.c @@ -3,7 +3,7 @@ #include "battle.h" #include "bg.h" #include "contest_effect.h" -#include "data2.h" +#include "data.h" #include "event_data.h" #include "field_screen_effect.h" #include "gpu_regs.h" diff --git a/src/mystery_event_menu.c b/src/mystery_event_menu.c index 850b22d5b8..c77a486155 100644 --- a/src/mystery_event_menu.c +++ b/src/mystery_event_menu.c @@ -18,6 +18,7 @@ #include "gpu_regs.h" #include "text_window.h" #include "decompress.h" +#include "constants/rgb.h" // this file's functions static void CB2_MysteryEventMenu(void); @@ -137,7 +138,7 @@ static void CB2_MysteryEventMenu(void) PutWindowTilemap(0); CopyWindowToVram(0, 3); ShowBg(0); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); gMain.state++; break; case 1: @@ -280,7 +281,7 @@ static void CB2_MysteryEventMenu(void) } break; case 15: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gMain.state++; break; case 16: diff --git a/src/naming_screen.c b/src/naming_screen.c index e43a259e7a..7da7d99b02 100644 --- a/src/naming_screen.c +++ b/src/naming_screen.c @@ -21,12 +21,13 @@ #include "trig.h" #include "field_effect.h" #include "pokemon_icon.h" -#include "data2.h" +#include "data.h" #include "strings.h" #include "menu.h" #include "text_window.h" #include "overworld.h" #include "constants/event_objects.h" +#include "constants/rgb.h" EWRAM_DATA static struct NamingScreenData *gNamingScreenData = NULL; extern u16 gKeyRepeatStartDelay; @@ -463,7 +464,7 @@ static bool8 MainState_BeginFadeIn(void) CopyBgTilemapBufferToVram(2); CopyBgTilemapBufferToVram(3); BlendPalettes(-1, 16, 0); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); gNamingScreenData->state++; return FALSE; } @@ -517,7 +518,7 @@ static bool8 MainState_6(void) static bool8 MainState_BeginFadeInOut(void) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); gNamingScreenData->state++; return FALSE; } diff --git a/src/new_game.c b/src/new_game.c index 19f3461b4b..7a0c668a4d 100644 --- a/src/new_game.c +++ b/src/new_game.c @@ -56,7 +56,7 @@ static void ResetMiniGamesResults(void); // EWRAM vars EWRAM_DATA bool8 gDifferentSaveFile = FALSE; -EWRAM_DATA bool8 gUnknown_020322D5 = FALSE; +EWRAM_DATA bool8 gEnableContestDebugging = FALSE; // const rom data static const struct ContestWinner sContestWinnerPicDummy = @@ -170,7 +170,7 @@ void NewGameInitData(void) InitEventData(); ClearTVShowData(); ResetGabbyAndTy(); - ResetSecretBases(); + ClearSecretBases(); ClearBerryTrees(); SetMoney(&gSaveBlock1Ptr->money, 3000); SetCoins(0); diff --git a/src/option_menu.c b/src/option_menu.c index 2fc0d6f3e0..3ffb2738fd 100644 --- a/src/option_menu.c +++ b/src/option_menu.c @@ -14,6 +14,7 @@ #include "international_string_util.h" #include "strings.h" #include "gba/m4a_internal.h" +#include "constants/rgb.h" // Task data enum @@ -250,7 +251,7 @@ void CB2_InitOptionMenu(void) break; } case 11: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); SetVBlankCallback(VBlankCB); SetMainCallback2(MainCB2); return; @@ -359,7 +360,7 @@ static void Task_OptionMenuSave(u8 taskId) gSaveBlock2Ptr->optionsButtonMode = gTasks[taskId].data[TD_BUTTONMODE]; gSaveBlock2Ptr->optionsWindowFrameType = gTasks[taskId].data[TD_FRAMETYPE]; - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gTasks[taskId].func = Task_OptionMenuFadeOut; } diff --git a/src/overworld.c b/src/overworld.c index 9ed147c0ab..4356752c17 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -889,7 +889,7 @@ static void mli0_load_map(u32 a1) if (a1 != 1 && isIndoors) { UpdateTVScreensOnMap(gBackupMapLayout.width, gBackupMapLayout.height); - sub_80E9238(1); + InitSecretBaseAppearance(TRUE); } } @@ -1508,7 +1508,7 @@ void SetUnusedCallback(void *func) static bool8 map_post_load_hook_exec(void) { - if (gFieldCallback2 != NULL) + if (gFieldCallback2) { if (!gFieldCallback2()) { @@ -1522,7 +1522,7 @@ static bool8 map_post_load_hook_exec(void) } else { - if (gFieldCallback != NULL) + if (gFieldCallback) gFieldCallback(); else mapldr_default(); @@ -1701,7 +1701,7 @@ void sub_80861E8(void) static void sub_8086204(void) { - if ((gMapHeader.flags & 0xF8) == 8 && sub_80E909C() == TRUE) + if ((gMapHeader.flags & 0xF8) == 8 && SecretBaseMapPopupEnabled() == TRUE) ShowMapNamePopup(); sub_80AF3C8(); } @@ -1874,7 +1874,7 @@ static bool32 map_loading_iteration_3(u8 *state) case 11: if (gWirelessCommType != 0) { - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(0, 0); } (*state)++; @@ -1947,7 +1947,7 @@ static bool32 load_map_stuff(u8 *state, u32 a2) (*state)++; break; case 11: - if ((gMapHeader.flags & 0xF8) == 8 && sub_80E909C() == 1) + if ((gMapHeader.flags & 0xF8) == 8 && SecretBaseMapPopupEnabled() == TRUE) ShowMapNamePopup(); (*state)++; break; @@ -2046,7 +2046,7 @@ static bool32 map_loading_iteration_2_link(u8 *state) case 11: if (gWirelessCommType != 0) { - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(0, 0); } (*state)++; diff --git a/src/party_menu.c b/src/party_menu.c index 6233558fff..d13dc1e970 100755 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -10,7 +10,7 @@ #include "battle_pyramid_bag.h" #include "bg.h" #include "contest.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "easy_chat.h" #include "event_data.h" @@ -45,11 +45,11 @@ #include "player_pc.h" #include "pokemon.h" #include "pokemon_icon.h" +#include "pokemon_jump.h" #include "pokemon_storage_system.h" #include "pokemon_summary_screen.h" #include "region_map.h" #include "reshow_battle_screen.h" -#include "union_room.h" #include "scanline_effect.h" #include "script.h" #include "sound.h" @@ -61,12 +61,14 @@ #include "text.h" #include "text_window.h" #include "trade.h" +#include "union_room.h" #include "window.h" #include "constants/battle.h" #include "constants/battle_frontier.h" #include "constants/easy_chat.h" #include "constants/field_effects.h" #include "constants/flags.h" +#include "constants/item_effects.h" #include "constants/items.h" #include "constants/maps.h" #include "constants/moves.h" @@ -297,8 +299,8 @@ static u8 sub_81B8984(void); static void sub_81B6280(u8); static void c2_815ABFC(void); static void sub_81B672C(u8); -static u16 sub_81B691C(struct Pokemon*, u8); -static void option_menu_get_string(u8, u8*); +static u16 ItemEffectToMonEv(struct Pokemon*, u8); +static void ItemEffectToStatString(u8, u8*); static void sub_81B6BB4(u8); static void ether_effect_related_2(u8); static void ether_effect_related(u8); @@ -5229,7 +5231,7 @@ void sub_81B617C(void) doubleBattleStatus = 0; } - if (GetItemEffectType(gSpecialVar_ItemId) == 10) + if (GetItemEffectType(gSpecialVar_ItemId) == ITEM_EFFECT_SACRED_ASH) { gUnknown_0203CEC8.unk9 = 0; for (i = 0; i < PARTY_SIZE; i++) @@ -5283,7 +5285,7 @@ static bool8 IsHPRecoveryItem(u16 item) else effect = gItemEffectTable[item - ITEM_POTION]; - if ((effect[4] & 4) != 0) + if (effect[4] & ITEM4_HEAL_HP) return TRUE; else return FALSE; @@ -5293,59 +5295,59 @@ static void GetMedicineItemEffectMessage(u16 item) { switch (GetItemEffectType(item)) { - case 3: + case ITEM_EFFECT_CURE_POISON: StringExpandPlaceholders(gStringVar4, gText_PkmnCuredOfPoison); break; - case 4: + case ITEM_EFFECT_CURE_SLEEP: StringExpandPlaceholders(gStringVar4, gText_PkmnWokeUp2); break; - case 5: + case ITEM_EFFECT_CURE_BURN: StringExpandPlaceholders(gStringVar4, gText_PkmnBurnHealed); break; - case 6: + case ITEM_EFFECT_CURE_FREEZE: StringExpandPlaceholders(gStringVar4, gText_PkmnThawedOut); break; - case 7: + case ITEM_EFFECT_CURE_PARALYSIS: StringExpandPlaceholders(gStringVar4, gText_PkmnCuredOfParalysis); break; - case 8: + case ITEM_EFFECT_CURE_CONFUSION: StringExpandPlaceholders(gStringVar4, gText_PkmnSnappedOutOfConfusion); break; - case 9: + case ITEM_EFFECT_CURE_INFATUATION: StringExpandPlaceholders(gStringVar4, gText_PkmnGotOverInfatuation); break; - case 11: + case ITEM_EFFECT_CURE_ALL_STATUS: StringExpandPlaceholders(gStringVar4, gText_PkmnBecameHealthy); break; - case 13: + case ITEM_EFFECT_HP_EV: StringCopy(gStringVar2, gText_HP3); StringExpandPlaceholders(gStringVar4, gText_PkmnBaseVar2StatIncreased); break; - case 12: + case ITEM_EFFECT_ATK_EV: StringCopy(gStringVar2, gText_Attack3); StringExpandPlaceholders(gStringVar4, gText_PkmnBaseVar2StatIncreased); break; - case 17: + case ITEM_EFFECT_DEF_EV: StringCopy(gStringVar2, gText_Defense3); StringExpandPlaceholders(gStringVar4, gText_PkmnBaseVar2StatIncreased); break; - case 16: + case ITEM_EFFECT_SPEED_EV: StringCopy(gStringVar2, gText_Speed2); StringExpandPlaceholders(gStringVar4, gText_PkmnBaseVar2StatIncreased); break; - case 14: + case ITEM_EFFECT_SPATK_EV: StringCopy(gStringVar2, gText_SpAtk3); StringExpandPlaceholders(gStringVar4, gText_PkmnBaseVar2StatIncreased); break; - case 15: + case ITEM_EFFECT_SPDEF_EV: StringCopy(gStringVar2, gText_SpDef3); StringExpandPlaceholders(gStringVar4, gText_PkmnBaseVar2StatIncreased); break; - case 19: - case 20: + case ITEM_EFFECT_PP_UP: + case ITEM_EFFECT_PP_MAX: StringExpandPlaceholders(gStringVar4, gText_MovesPPIncreased); break; - case 21: + case ITEM_EFFECT_HEAL_PP: StringExpandPlaceholders(gStringVar4, gText_PPWasRestored); break; default: @@ -5356,12 +5358,12 @@ static void GetMedicineItemEffectMessage(u16 item) static bool8 UsingHPEVItemOnShedinja(struct Pokemon *mon, u16 item) { - if (GetItemEffectType(item) == 13 && GetMonData(mon, MON_DATA_SPECIES) == SPECIES_SHEDINJA) + if (GetItemEffectType(item) == ITEM_EFFECT_HP_EV && GetMonData(mon, MON_DATA_SPECIES) == SPECIES_SHEDINJA) return FALSE; return TRUE; } -static bool8 IsBlueYellowRedFlute(u16 item) +static bool8 IsItemFlute(u16 item) { if (item == ITEM_BLUE_FLUTE || item == ITEM_RED_FLUTE || item == ITEM_YELLOW_FLUTE) return TRUE; @@ -5408,7 +5410,7 @@ void ItemUseCB_Medicine(u8 taskId, TaskFunc task) goto iTriedHonestlyIDid; } gUnknown_0203CEE8 = 1; - if (IsBlueYellowRedFlute(item) == FALSE) + if (IsItemFlute(item) == FALSE) { PlaySE(SE_KAIFUKU); if (gUnknown_0203CEC8.unkB != 14) @@ -5465,10 +5467,10 @@ void sub_81B67C8(u8 taskId, TaskFunc task) u16 item = gSpecialVar_ItemId; u8 effectType = GetItemEffectType(item); u16 friendship = GetMonData(mon, MON_DATA_FRIENDSHIP); - u16 relevantEV = sub_81B691C(mon, effectType); + u16 relevantEV = ItemEffectToMonEv(mon, effectType); bool8 cannotUseEffect = ExecuteTableBasedItemEffect__(gUnknown_0203CEC8.unk9, item, 0); u16 newFriendship = GetMonData(mon, MON_DATA_FRIENDSHIP); - u16 newRelevantEV = sub_81B691C(mon, effectType); + u16 newRelevantEV = ItemEffectToMonEv(mon, effectType); if (cannotUseEffect || (friendship == newFriendship && relevantEV == newRelevantEV)) { @@ -5484,7 +5486,7 @@ void sub_81B67C8(u8 taskId, TaskFunc task) PlaySE(SE_KAIFUKU); RemoveBagItem(item, 1); GetMonNickname(mon, gStringVar1); - option_menu_get_string(effectType, gStringVar2); + ItemEffectToStatString(effectType, gStringVar2); if (friendship != newFriendship) { if (relevantEV != newRelevantEV) @@ -5502,48 +5504,48 @@ void sub_81B67C8(u8 taskId, TaskFunc task) } } -static u16 sub_81B691C(struct Pokemon *mon, u8 effectType) +static u16 ItemEffectToMonEv(struct Pokemon *mon, u8 effectType) { switch (effectType) { - case 13: + case ITEM_EFFECT_HP_EV: if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_SHEDINJA) return GetMonData(mon, MON_DATA_HP_EV); break; - case 12: + case ITEM_EFFECT_ATK_EV: return GetMonData(mon, MON_DATA_ATK_EV); - case 17: + case ITEM_EFFECT_DEF_EV: return GetMonData(mon, MON_DATA_DEF_EV); - case 16: + case ITEM_EFFECT_SPEED_EV: return GetMonData(mon, MON_DATA_SPEED_EV); - case 14: + case ITEM_EFFECT_SPATK_EV: return GetMonData(mon, MON_DATA_SPATK_EV); - case 15: + case ITEM_EFFECT_SPDEF_EV: return GetMonData(mon, MON_DATA_SPDEF_EV); } return 0; } -static void option_menu_get_string(u8 effectType, u8 *dest) +static void ItemEffectToStatString(u8 effectType, u8 *dest) { switch (effectType) { - case 13: + case ITEM_EFFECT_HP_EV: StringCopy(dest, gText_HP3); break; - case 12: + case ITEM_EFFECT_ATK_EV: StringCopy(dest, gText_Attack3); break; - case 17: + case ITEM_EFFECT_DEF_EV: StringCopy(dest, gText_Defense3); break; - case 16: + case ITEM_EFFECT_SPEED_EV: StringCopy(dest, gText_Speed2); break; - case 14: + case ITEM_EFFECT_SPATK_EV: StringCopy(dest, gText_SpAtk3); break; - case 15: + case ITEM_EFFECT_SPDEF_EV: StringCopy(dest, gText_SpDef3); break; } @@ -5597,7 +5599,7 @@ void dp05_ether(u8 taskId, TaskFunc task) else effect = gItemEffectTable[item - ITEM_POTION]; - if ((effect[4] & 0x10) == 0) + if (!(effect[4] & ITEM4_HEAL_PP_ONE)) { gUnknown_0203CEC8.unkE = 0; ether_effect_related(taskId); @@ -6220,8 +6222,8 @@ u8 GetItemEffectType(u16 item) const u8 *itemEffect; u32 statusCure; - if (!IS_POKEMON_ITEM(item)) - return 22; + if (!ITEM_HAS_EFFECT(item)) + return ITEM_EFFECT_NONE; // Read the item's effect properties. if (item == ITEM_ENIGMA_BERRY) @@ -6229,58 +6231,58 @@ u8 GetItemEffectType(u16 item) else itemEffect = gItemEffectTable[item - ITEM_POTION]; - if ((itemEffect[0] & 0x3F) || itemEffect[1] || itemEffect[2] || (itemEffect[3] & 0x80)) - return 0; - else if (itemEffect[0] & 0x40) - return 10; - else if (itemEffect[3] & 0x40) - return 1; + if ((itemEffect[0] & (ITEM0_HIGH_CRIT | ITEM0_X_ATTACK)) || itemEffect[1] || itemEffect[2] || (itemEffect[3] & ITEM3_MIST)) + return ITEM_EFFECT_X_ITEM; + else if (itemEffect[0] & ITEM0_SACRED_ASH) + return ITEM_EFFECT_SACRED_ASH; + else if (itemEffect[3] & ITEM3_LEVEL_UP) + return ITEM_EFFECT_RAISE_LEVEL; - statusCure = itemEffect[3] & 0x3F; + statusCure = itemEffect[3] & ITEM3_STATUS_ALL; if (statusCure || (itemEffect[0] >> 7)) { - if (statusCure == 0x20) - return 4; - else if (statusCure == 0x10) - return 3; - else if (statusCure == 0x8) - return 5; - else if (statusCure == 0x4) - return 6; - else if (statusCure == 0x2) - return 7; - else if (statusCure == 0x1) - return 8; + if (statusCure == ITEM3_SLEEP) + return ITEM_EFFECT_CURE_SLEEP; + else if (statusCure == ITEM3_POISON) + return ITEM_EFFECT_CURE_POISON; + else if (statusCure == ITEM3_BURN) + return ITEM_EFFECT_CURE_BURN; + else if (statusCure == ITEM3_FREEZE) + return ITEM_EFFECT_CURE_FREEZE; + else if (statusCure == ITEM3_PARALYSIS) + return ITEM_EFFECT_CURE_PARALYSIS; + else if (statusCure == ITEM3_CONFUSION) + return ITEM_EFFECT_CURE_CONFUSION; else if (itemEffect[0] >> 7 && !statusCure) - return 9; + return ITEM_EFFECT_CURE_INFATUATION; else - return 11; + return ITEM_EFFECT_CURE_ALL_STATUS; } - if (itemEffect[4] & 0x44) - return 2; - else if (itemEffect[4] & 0x2) - return 12; - else if (itemEffect[4] & 0x1) - return 13; - else if (itemEffect[5] & 0x8) - return 14; - else if (itemEffect[5] & 0x4) - return 15; - else if (itemEffect[5] & 0x2) - return 16; - else if (itemEffect[5] & 0x1) - return 17; - else if (itemEffect[4] & 0x80) - return 18; - else if (itemEffect[4] & 0x20) - return 19; - else if (itemEffect[5] & 0x10) - return 20; - else if (itemEffect[4] & 0x18) - return 21; + if (itemEffect[4] & (ITEM4_REVIVE | ITEM4_HEAL_HP)) + return ITEM_EFFECT_HEAL_HP; + else if (itemEffect[4] & ITEM4_EV_ATK) + return ITEM_EFFECT_ATK_EV; + else if (itemEffect[4] & ITEM4_EV_HP) + return ITEM_EFFECT_HP_EV; + else if (itemEffect[5] & ITEM5_EV_SPATK) + return ITEM_EFFECT_SPATK_EV; + else if (itemEffect[5] & ITEM5_EV_SPDEF) + return ITEM_EFFECT_SPDEF_EV; + else if (itemEffect[5] & ITEM5_EV_SPEED) + return ITEM_EFFECT_SPEED_EV; + else if (itemEffect[5] & ITEM5_EV_DEF) + return ITEM_EFFECT_DEF_EV; + else if (itemEffect[4] & ITEM4_EVO_STONE) + return ITEM_EFFECT_EVO_STONE; + else if (itemEffect[4] & ITEM4_PP_UP) + return ITEM_EFFECT_PP_UP; + else if (itemEffect[5] & ITEM5_PP_MAX) + return ITEM_EFFECT_PP_MAX; + else if (itemEffect[4] & (ITEM4_HEAL_PP_ALL | ITEM4_HEAL_PP_ONE)) + return ITEM_EFFECT_HEAL_PP; else - return 22; + return ITEM_EFFECT_NONE; } static void sub_81B7E4C(u8 taskId) diff --git a/src/player_pc.c b/src/player_pc.c index 49b9cc5f5c..08f24d379e 100644 --- a/src/player_pc.c +++ b/src/player_pc.c @@ -412,9 +412,9 @@ static void PlayerPC_Mailbox(u8 taskId) } } -static void PlayerPC_Decoration(u8 var) +static void PlayerPC_Decoration(u8 taskId) { - sub_8126B2C(var); //DoPlayerPCDecoration(var); + DoPlayerRoomDecorationMenu(taskId); } static void PlayerPC_TurnOff(u8 taskId) diff --git a/src/pokeblock.c b/src/pokeblock.c index 325c2d5d0a..0d8469132a 100644 --- a/src/pokeblock.c +++ b/src/pokeblock.c @@ -32,6 +32,7 @@ #include "text_window.h" #include "constants/items.h" #include "constants/songs.h" +#include "constants/rgb.h" #define POKEBLOCK_MAX_FEEL 99 #define FIELD_E75_COUNT 7 @@ -585,7 +586,7 @@ static bool8 InitPokeblockMenu(void) gMain.state++; break; case 18: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); gPaletteFade.bufferTransferDisabled = 0; gMain.state++; break; @@ -948,7 +949,7 @@ static void sub_8136470(struct Sprite *sprite) static void FadePaletteAndSetTaskToClosePokeblockCase(u8 taskId) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gTasks[taskId].func = Task_FreeDataAndExitPokeblockCase; } diff --git a/src/pokeblock_feed.c b/src/pokeblock_feed.c index 59ba1b4dcb..4ad15414dc 100644 --- a/src/pokeblock_feed.c +++ b/src/pokeblock_feed.c @@ -1,13 +1,14 @@ #include "global.h" -#include "battle.h" // to get rid of once gMonSpritesGfxPtr is put elsewhere +#include "alloc.h" +#include "battle.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "event_data.h" #include "gpu_regs.h" #include "graphics.h" +#include "item_menu.h" #include "main.h" -#include "alloc.h" #include "menu.h" #include "menu_helpers.h" #include "m4a.h" @@ -23,6 +24,7 @@ #include "text_window.h" #include "trig.h" #include "util.h" +#include "constants/rgb.h" struct PokeblockFeedStruct { @@ -49,10 +51,8 @@ struct PokeblockFeedStruct u8 unused; }; -extern u16 gSpecialVar_ItemId; extern struct MusicPlayerInfo gMPlayInfo_BGM; -extern const struct CompressedSpriteSheet gMonFrontPicTable[]; extern const u16 gUnknown_0860F074[]; // this file's functions @@ -591,7 +591,7 @@ static bool8 TransitionToPokeblockFeedScene(void) gMain.state++; break; case 13: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); gPaletteFade.bufferTransferDisabled = 0; gMain.state++; break; @@ -805,7 +805,7 @@ static void Task_ReturnAfterPaletteFade(u8 taskId) static void Task_PaletteFadeToReturn(u8 taskId) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gTasks[taskId].func = Task_ReturnAfterPaletteFade; } diff --git a/src/pokedex.c b/src/pokedex.c index cceb50ba13..2588e2b73a 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -1,7 +1,7 @@ #include "global.h" #include "battle_main.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "event_data.h" #include "gpu_regs.h" @@ -205,7 +205,7 @@ void blockset_load_palette_to_gpu(u8); void sub_80C01CC(struct Sprite *sprite); void sub_80C020C(u32, u32, u32, u32); void sub_80C0354(u16, u8, u8); -void sub_80C0460(u16, u8, u8); +void sub_80C0460(u16 weight, u8 left, u8 top); void sub_80C09B0(u16); u8 sub_80C0B44(u8, u16, u8, u8); void sub_80C0D30(u8, u16); @@ -2969,7 +2969,7 @@ void sub_80BEA24(u8 taskId) r3 = 0x14; if (gTasks[taskId].data[1] != 0) r3 |= (1 << (gSprites[gTasks[taskId].data[4]].oam.paletteNum + 16)); - BeginNormalPaletteFade(~r3, 0, 16, 0, 0); + BeginNormalPaletteFade(~r3, 0, 16, 0, RGB_BLACK); SetVBlankCallback(gUnknown_030060B4); gMain.state++; } @@ -3926,9 +3926,6 @@ void sub_80C020C(u32 num, u32 value, u32 c, u32 d) sub_80BE8DC(text3, GetStringCenterAlignXOffset(1, text3, 0xF0), 0x5F); } -#define CHAR_PRIME (0xB4) -#define CHAR_DOUBLE_PRIME (0xB2) - void sub_80C0354(u16 height, u8 left, u8 top) { u8 buffer[16]; @@ -3954,10 +3951,10 @@ void sub_80C0354(u16 height, u8 left, u8 top) buffer[i++] = feet / 10 + CHAR_0; buffer[i++] = (feet % 10) + CHAR_0; } - buffer[i++] = CHAR_PRIME; + buffer[i++] = CHAR_SGL_QUOT_RIGHT; buffer[i++] = (inches / 10) + CHAR_0; buffer[i++] = (inches % 10) + CHAR_0; - buffer[i++] = CHAR_DOUBLE_PRIME; + buffer[i++] = CHAR_DBL_QUOT_RIGHT; buffer[i++] = EOS; sub_80BE8DC(buffer, left, top); } @@ -3968,12 +3965,11 @@ void sub_80C0354(u16 height, u8 left, u8 top) void sub_80C0460(u16 weight, u8 left, u8 top) { u8 buffer[16]; - u32 lbs; - u8 i = 0; bool8 output; + u8 i = 0; + u32 lbs = (weight * 100000) / 4536; - lbs = (weight * 100000) / 4536; - if (lbs % 10 >= 5) + if (lbs % 10u >= 5) lbs += 10; output = FALSE; @@ -3988,9 +3984,9 @@ void sub_80C0460(u16 weight, u8 left, u8 top) i++; } - lbs = (lbs % 100000); + lbs %= 100000; buffer[i] = (lbs / 10000) + CHAR_0; - if (buffer[i] == CHAR_0 && output == FALSE) + if (buffer[i] == CHAR_0 && !output) { buffer[i++] = 0x77; } @@ -4000,9 +3996,9 @@ void sub_80C0460(u16 weight, u8 left, u8 top) i++; } - lbs = (lbs % 10000); + lbs %= 10000; buffer[i] = (lbs / 1000) + CHAR_0; - if (buffer[i] == CHAR_0 && output == FALSE) + if (buffer[i] == CHAR_0 && !output) { buffer[i++] = 0x77; } @@ -4010,9 +4006,10 @@ void sub_80C0460(u16 weight, u8 left, u8 top) { i++; } - lbs = (lbs % 1000); + + lbs %= 1000; buffer[i++] = (lbs / 100) + CHAR_0; - lbs = (lbs % 100); + lbs %= 100; buffer[i++] = CHAR_PERIOD; buffer[i++] = (lbs / 10) + CHAR_0; buffer[i++] = CHAR_SPACE; @@ -4042,7 +4039,7 @@ void sub_80C0460(u16 weight, u8 left, u8 top) lsls r2, 24\n\ lsrs r2, 24\n\ str r2, [sp, 0x10]\n\ - ldr r5, =0x000186a0 @ Note to decompiler: See UNKNOWN_OFFSET\n\ + ldr r5, =0x000186a0\n\ muls r0, r5\n\ ldr r1, =0x000011b8\n\ bl __divsi3\n\ @@ -4076,7 +4073,7 @@ _080C04C0:\n\ mov r8, r1\n\ movs r6, 0x1\n\ _080C04C6:\n\ - ldr r1, =0x000186a0 @ Note to decompiler: See UNKNOWN_OFFSET\n\ + ldr r1, =0x000186a0\n\ adds r0, r7, 0\n\ bl __umodsi3\n\ adds r7, r0, 0\n\ diff --git a/src/pokemon.c b/src/pokemon.c index a75701cb0f..4479fa4489 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -9,6 +9,7 @@ #include "battle_pyramid.h" #include "battle_setup.h" #include "battle_tower.h" +#include "data.h" #include "event_data.h" #include "evolution_scene.h" #include "field_specials.h" @@ -38,6 +39,7 @@ #include "constants/battle_frontier.h" #include "constants/battle_move_effects.h" #include "constants/hold_effects.h" +#include "constants/item_effects.h" #include "constants/items.h" #include "constants/layouts.h" #include "constants/moves.h" @@ -51,29 +53,6 @@ struct SpeciesItem u16 item; }; -extern const struct SpriteFrameImage gUnknown_082FF3A8[]; -extern const struct SpriteFrameImage gUnknown_082FF3C8[]; -extern const struct SpriteFrameImage gUnknown_082FF3E8[]; -extern const struct SpriteFrameImage gUnknown_082FF408[]; -extern const struct SpriteFrameImage gTrainerBackPicTable_Brendan[]; -extern const struct SpriteFrameImage gTrainerBackPicTable_May[]; -extern const struct SpriteFrameImage gTrainerBackPicTable_Red[]; -extern const struct SpriteFrameImage gTrainerBackPicTable_Leaf[]; -extern const struct SpriteFrameImage gTrainerBackPicTable_RubySapphireBrendan[]; -extern const struct SpriteFrameImage gTrainerBackPicTable_RubySapphireMay[]; -extern const struct SpriteFrameImage gTrainerBackPicTable_Wally[]; -extern const struct SpriteFrameImage gTrainerBackPicTable_Steven[]; -extern const union AffineAnimCmd *const gUnknown_082FF618[]; -extern const union AffineAnimCmd *const gUnknown_082FF694[]; -extern const union AnimCmd *gPlayerMonSpriteAnimsTable[]; -extern const union AnimCmd *const *const gMonAnimationsSpriteAnimsPtrTable[]; -extern const union AnimCmd *const *const gTrainerBackAnimsPtrTable[]; -extern const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[]; -extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1]; -extern const struct CompressedSpritePalette gMonPaletteTable[]; -extern const struct CompressedSpritePalette gMonShinyPaletteTable[]; -extern const u8 gTrainerClassNames[][13]; - // this file's functions static u16 CalculateBoxMonChecksum(struct BoxPokemon *boxMon); static union PokemonSubstruct *GetSubstruct(struct BoxPokemon *boxMon, u32 personality, u8 substructType); @@ -3315,7 +3294,7 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de } // flash fire triggered - if ((gBattleResources->flags->flags[battlerIdAtk] & UNKNOWN_FLAG_FLASH_FIRE) && type == TYPE_FIRE) + if ((gBattleResources->flags->flags[battlerIdAtk] & RESOURCE_FLAG_FLASH_FIRE) && type == TYPE_FIRE) damage = (15 * damage) / 10; } @@ -3435,7 +3414,7 @@ u8 GetGenderFromSpeciesAndPersonality(u16 species, u32 personality) return MON_MALE; } -void SetMultiuseSpriteTemplateToPokemon(u16 species, u8 battlerPosition) +void SetMultiuseSpriteTemplateToPokemon(u16 speciesTag, u8 battlerPosition) { if (gMonSpritesGfxPtr != NULL) gMultiuseSpriteTemplate = gMonSpritesGfxPtr->templates[battlerPosition]; @@ -3446,13 +3425,13 @@ void SetMultiuseSpriteTemplateToPokemon(u16 species, u8 battlerPosition) else gMultiuseSpriteTemplate = gUnknown_08329D98[battlerPosition]; - gMultiuseSpriteTemplate.paletteTag = species; + gMultiuseSpriteTemplate.paletteTag = speciesTag; if (battlerPosition == B_POSITION_PLAYER_LEFT || battlerPosition == B_POSITION_PLAYER_RIGHT) - gMultiuseSpriteTemplate.anims = gPlayerMonSpriteAnimsTable; - else if (species > 500) - gMultiuseSpriteTemplate.anims = gMonAnimationsSpriteAnimsPtrTable[species - 500]; + gMultiuseSpriteTemplate.anims = gUnknown_082FF70C; + else if (speciesTag > SPECIES_SHINY_TAG) + gMultiuseSpriteTemplate.anims = gMonFrontAnimsPtrTable[speciesTag - SPECIES_SHINY_TAG]; else - gMultiuseSpriteTemplate.anims = gMonAnimationsSpriteAnimsPtrTable[species]; + gMultiuseSpriteTemplate.anims = gMonFrontAnimsPtrTable[speciesTag]; } void SetMultiuseSpriteTemplateToTrainerBack(u16 trainerSpriteId, u8 battlerPosition) @@ -3663,7 +3642,8 @@ u32 GetBoxMonData(struct BoxPokemon *boxMon, s32 field, u8 *data) struct PokemonSubstruct2 *substruct2 = NULL; struct PokemonSubstruct3 *substruct3 = NULL; - if (field > MON_DATA_10) + // Any field greater than MON_DATA_ENCRYPT_SEPARATOR is encrypted and must be treated as such + if (field > MON_DATA_ENCRYPT_SEPARATOR) { substruct0 = &(GetSubstruct(boxMon, boxMon->personality, 0)->type0); substruct1 = &(GetSubstruct(boxMon, boxMon->personality, 1)->type1); @@ -3757,7 +3737,7 @@ u32 GetBoxMonData(struct BoxPokemon *boxMon, s32 field, u8 *data) case MON_DATA_CHECKSUM: retVal = boxMon->checksum; break; - case MON_DATA_10: + case MON_DATA_ENCRYPT_SEPARATOR: retVal = boxMon->unknown; break; case MON_DATA_SPECIES: @@ -3998,7 +3978,7 @@ u32 GetBoxMonData(struct BoxPokemon *boxMon, s32 field, u8 *data) break; } - if (field > MON_DATA_10) + if (field > MON_DATA_ENCRYPT_SEPARATOR) EncryptBoxMon(boxMon); return retVal; @@ -4061,7 +4041,7 @@ void SetBoxMonData(struct BoxPokemon *boxMon, s32 field, const void *dataArg) struct PokemonSubstruct2 *substruct2 = NULL; struct PokemonSubstruct3 *substruct3 = NULL; - if (field > MON_DATA_10) + if (field > MON_DATA_ENCRYPT_SEPARATOR) { substruct0 = &(GetSubstruct(boxMon, boxMon->personality, 0)->type0); substruct1 = &(GetSubstruct(boxMon, boxMon->personality, 1)->type1); @@ -4120,7 +4100,7 @@ void SetBoxMonData(struct BoxPokemon *boxMon, s32 field, const void *dataArg) case MON_DATA_CHECKSUM: SET16(boxMon->checksum); break; - case MON_DATA_10: + case MON_DATA_ENCRYPT_SEPARATOR: SET16(boxMon->unknown); break; case MON_DATA_SPECIES: @@ -4316,7 +4296,7 @@ void SetBoxMonData(struct BoxPokemon *boxMon, s32 field, const void *dataArg) break; } - if (field > MON_DATA_10) + if (field > MON_DATA_ENCRYPT_SEPARATOR) { boxMon->checksum = CalculateBoxMonChecksum(boxMon); EncryptBoxMon(boxMon); @@ -4466,7 +4446,7 @@ u8 GetMonAbility(struct Pokemon *mon) return GetAbilityBySpecies(species, altAbility); } -void CreateSecretBaseEnemyParty(struct SecretBaseRecord *secretBaseRecord) +void CreateSecretBaseEnemyParty(struct SecretBase *secretBaseRecord) { s32 i, j; @@ -4686,9 +4666,9 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov battlerId = MAX_BATTLERS_COUNT; } - if (!IS_POKEMON_ITEM(item)) + if (!ITEM_HAS_EFFECT(item)) return TRUE; - if (gItemEffectTable[item - 13] == NULL && item != ITEM_ENIGMA_BERRY) + if (gItemEffectTable[item - ITEM_POTION] == NULL && item != ITEM_ENIGMA_BERRY) return TRUE; if (item == ITEM_ENIGMA_BERRY) @@ -4700,82 +4680,82 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov } else { - itemEffect = gItemEffectTable[item - 13]; + itemEffect = gItemEffectTable[item - ITEM_POTION]; } for (cmdIndex = 0; cmdIndex < 6; cmdIndex++) { switch (cmdIndex) { - // status healing effects + // infatuation heal, x attack, sacred ash and dire hit case 0: - if ((itemEffect[cmdIndex] & 0x80) - && gMain.inBattle && battlerId != 4 && (gBattleMons[battlerId].status2 & STATUS2_INFATUATION)) + if ((itemEffect[cmdIndex] & ITEM0_INFATUATION) + && gMain.inBattle && battlerId != MAX_BATTLERS_COUNT && (gBattleMons[battlerId].status2 & STATUS2_INFATUATION)) { gBattleMons[battlerId].status2 &= ~STATUS2_INFATUATION; retVal = FALSE; } - if ((itemEffect[cmdIndex] & 0x30) + if ((itemEffect[cmdIndex] & ITEM0_HIGH_CRIT) && !(gBattleMons[gActiveBattler].status2 & STATUS2_FOCUS_ENERGY)) { gBattleMons[gActiveBattler].status2 |= STATUS2_FOCUS_ENERGY; retVal = FALSE; } - if ((itemEffect[cmdIndex] & 0xF) + if ((itemEffect[cmdIndex] & ITEM0_X_ATTACK) && gBattleMons[gActiveBattler].statStages[STAT_ATK] < 12) { - gBattleMons[gActiveBattler].statStages[STAT_ATK] += itemEffect[cmdIndex] & 0xF; + gBattleMons[gActiveBattler].statStages[STAT_ATK] += itemEffect[cmdIndex] & ITEM0_X_ATTACK; if (gBattleMons[gActiveBattler].statStages[STAT_ATK] > 12) gBattleMons[gActiveBattler].statStages[STAT_ATK] = 12; retVal = FALSE; } break; - // in-battle stat boosting effects? + // in-battle stat boosting effects case 1: - if ((itemEffect[cmdIndex] & 0xF0) + if ((itemEffect[cmdIndex] & ITEM1_X_DEFEND) && gBattleMons[gActiveBattler].statStages[STAT_DEF] < 12) { - gBattleMons[gActiveBattler].statStages[STAT_DEF] += (itemEffect[cmdIndex] & 0xF0) >> 4; + gBattleMons[gActiveBattler].statStages[STAT_DEF] += (itemEffect[cmdIndex] & ITEM1_X_DEFEND) >> 4; if (gBattleMons[gActiveBattler].statStages[STAT_DEF] > 12) gBattleMons[gActiveBattler].statStages[STAT_DEF] = 12; retVal = FALSE; } - if ((itemEffect[cmdIndex] & 0xF) + if ((itemEffect[cmdIndex] & ITEM1_X_SPEED) && gBattleMons[gActiveBattler].statStages[STAT_SPEED] < 12) { - gBattleMons[gActiveBattler].statStages[STAT_SPEED] += itemEffect[cmdIndex] & 0xF; + gBattleMons[gActiveBattler].statStages[STAT_SPEED] += itemEffect[cmdIndex] & ITEM1_X_SPEED; if (gBattleMons[gActiveBattler].statStages[STAT_SPEED] > 12) gBattleMons[gActiveBattler].statStages[STAT_SPEED] = 12; retVal = FALSE; } break; - // more stat boosting effects? + // more stat boosting effects case 2: - if ((itemEffect[cmdIndex] & 0xF0) + if ((itemEffect[cmdIndex] & ITEM2_X_ACCURACY) && gBattleMons[gActiveBattler].statStages[STAT_ACC] < 12) { - gBattleMons[gActiveBattler].statStages[STAT_ACC] += (itemEffect[cmdIndex] & 0xF0) >> 4; + gBattleMons[gActiveBattler].statStages[STAT_ACC] += (itemEffect[cmdIndex] & ITEM2_X_ACCURACY) >> 4; if (gBattleMons[gActiveBattler].statStages[STAT_ACC] > 12) gBattleMons[gActiveBattler].statStages[STAT_ACC] = 12; retVal = FALSE; } - if ((itemEffect[cmdIndex] & 0xF) + if ((itemEffect[cmdIndex] & ITEM2_X_SPATK) && gBattleMons[gActiveBattler].statStages[STAT_SPATK] < 12) { - gBattleMons[gActiveBattler].statStages[STAT_SPATK] += itemEffect[cmdIndex] & 0xF; + gBattleMons[gActiveBattler].statStages[STAT_SPATK] += itemEffect[cmdIndex] & ITEM2_X_SPATK; if (gBattleMons[gActiveBattler].statStages[STAT_SPATK] > 12) gBattleMons[gActiveBattler].statStages[STAT_SPATK] = 12; retVal = FALSE; } break; case 3: - if ((itemEffect[cmdIndex] & 0x80) + if ((itemEffect[cmdIndex] & ITEM3_MIST) && gSideTimers[GetBattlerSide(gActiveBattler)].mistTimer == 0) { gSideTimers[GetBattlerSide(gActiveBattler)].mistTimer = 5; retVal = FALSE; } - if ((itemEffect[cmdIndex] & 0x40) // raise level + if ((itemEffect[cmdIndex] & ITEM3_LEVEL_UP) && GetMonData(mon, MON_DATA_LEVEL, NULL) != MAX_LEVEL) { dataUnsigned = gExperienceTables[gBaseStats[GetMonData(mon, MON_DATA_SPECIES, NULL)].growthRate][GetMonData(mon, MON_DATA_LEVEL, NULL) + 1]; @@ -4783,23 +4763,23 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov CalculateMonStats(mon); retVal = FALSE; } - if ((itemEffect[cmdIndex] & 0x20) + if ((itemEffect[cmdIndex] & ITEM3_SLEEP) && HealStatusConditions(mon, partyIndex, 7, battlerId) == 0) { if (battlerId != 4) gBattleMons[battlerId].status2 &= ~STATUS2_NIGHTMARE; retVal = FALSE; } - if ((itemEffect[cmdIndex] & 0x10) && HealStatusConditions(mon, partyIndex, STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER, battlerId) == 0) + if ((itemEffect[cmdIndex] & ITEM3_POISON) && HealStatusConditions(mon, partyIndex, STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER, battlerId) == 0) retVal = FALSE; - if ((itemEffect[cmdIndex] & 8) && HealStatusConditions(mon, partyIndex, STATUS1_BURN, battlerId) == 0) + if ((itemEffect[cmdIndex] & ITEM3_BURN) && HealStatusConditions(mon, partyIndex, STATUS1_BURN, battlerId) == 0) retVal = FALSE; - if ((itemEffect[cmdIndex] & 4) && HealStatusConditions(mon, partyIndex, STATUS1_FREEZE, battlerId) == 0) + if ((itemEffect[cmdIndex] & ITEM3_FREEZE) && HealStatusConditions(mon, partyIndex, STATUS1_FREEZE, battlerId) == 0) retVal = FALSE; - if ((itemEffect[cmdIndex] & 2) && HealStatusConditions(mon, partyIndex, STATUS1_PARALYSIS, battlerId) == 0) + if ((itemEffect[cmdIndex] & ITEM3_PARALYSIS) && HealStatusConditions(mon, partyIndex, STATUS1_PARALYSIS, battlerId) == 0) retVal = FALSE; - if ((itemEffect[cmdIndex] & 1) // heal confusion - && gMain.inBattle && battlerId != 4 && (gBattleMons[battlerId].status2 & STATUS2_CONFUSION)) + if ((itemEffect[cmdIndex] & ITEM3_CONFUSION) // heal confusion + && gMain.inBattle && battlerId != MAX_BATTLERS_COUNT && (gBattleMons[battlerId].status2 & STATUS2_CONFUSION)) { gBattleMons[battlerId].status2 &= ~STATUS2_CONFUSION; retVal = FALSE; @@ -4808,9 +4788,9 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov // EV, HP, and PP raising effects case 4: r10 = itemEffect[cmdIndex]; - if (r10 & 0x20) + if (r10 & ITEM4_PP_UP) { - r10 &= ~0x20; + r10 &= ~ITEM4_PP_UP; dataUnsigned = (GetMonData(mon, MON_DATA_PP_BONUSES, NULL) & gPPUpGetMask[moveIndex]) >> (moveIndex * 2); var_38 = CalculatePPWithBonus(GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL), GetMonData(mon, MON_DATA_PP_BONUSES, NULL), moveIndex); if (dataUnsigned <= 2 && var_38 > 4) @@ -4833,6 +4813,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov { case 0: case 1: + // ev raise evCount = GetMonEVCount(mon); r5 = itemEffect[var_3C]; dataSigned = GetMonData(mon, sGetMonDataEVConstants[var_38], NULL); @@ -4871,7 +4852,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov retVal = FALSE; break; case 2: - // revive? + // revive if (r10 & 0x10) { if (GetMonData(mon, MON_DATA_HP, NULL) != 0) @@ -4952,6 +4933,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov r10 &= 0xEF; break; case 3: + // Heal pp in all moves. if (!(r10 & 2)) { for (r5 = 0; (signed)(r5) < (signed)(4); r5++) @@ -4971,7 +4953,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov } SetMonData(mon, MON_DATA_PP1 + r5, &dataUnsigned); if (gMain.inBattle - && battlerId != 4 && !(gBattleMons[battlerId].status2 & STATUS2_TRANSFORMED) + && battlerId != MAX_BATTLERS_COUNT && !(gBattleMons[battlerId].status2 & STATUS2_TRANSFORMED) && !(gDisableStructs[battlerId].mimickedMoves & gBitTable[r5])) gBattleMons[battlerId].pp[r5] = dataUnsigned; retVal = FALSE; @@ -4979,6 +4961,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov } var_3C++; } + // Heal pp in one move. else { u16 moveId; @@ -5003,6 +4986,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov } } break; + // Evolution stone case 7: { u16 targetSpecies = GetEvolutionTargetSpecies(mon, 2, item); @@ -5020,6 +5004,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov r10 >>= 1; } break; + // EV and friendship case 5: r10 = itemEffect[cmdIndex]; var_38 = 0; @@ -5202,7 +5187,7 @@ u8 GetItemEffectParamOffset(u16 itemId, u8 effectByte, u8 effectBit) offset = 6; - temp = gItemEffectTable[itemId - 13]; + temp = gItemEffectTable[itemId - ITEM_POTION]; if (!temp && itemId != ITEM_ENIGMA_BERRY) return 0; @@ -5227,8 +5212,8 @@ u8 GetItemEffectParamOffset(u16 itemId, u8 effectByte, u8 effectBit) break; case 4: val = itemEffect[4]; - if (val & 0x20) - val &= 0xDF; + if (val & ITEM4_PP_UP) + val &= ~(ITEM4_PP_UP); j = 0; while (val) { @@ -5326,7 +5311,7 @@ u8 *sub_806CF78(u16 itemId) } else { - itemEffect = gItemEffectTable[itemId - 13]; + itemEffect = gItemEffectTable[itemId - ITEM_POTION]; } gPotentialItemEffectBattler = gBattlerInMenuId; @@ -5349,7 +5334,7 @@ u8 *sub_806CF78(u16 itemId) } } - if (itemEffect[3] & 0x80) + if (itemEffect[3] & ITEM3_MIST) { gBattlerAttacker = gBattlerInMenuId; BattleStringExpandPlaceholdersToDisplayedString(gText_PkmnShroudedInMist); @@ -6819,7 +6804,7 @@ static void sub_806F1FC(struct Unknown_806F160_Struct* structPtr) structPtr->frameImages[i * structPtr->field_0_0 + j].data = &structPtr->byteArrays[i][j * 0x800]; } structPtr->templates[i].images = &structPtr->frameImages[i * structPtr->field_0_0]; - structPtr->templates[i].anims = gPlayerMonSpriteAnimsTable; + structPtr->templates[i].anims = gUnknown_082FF70C; structPtr->templates[i].paletteTag = i; } } diff --git a/src/pokemon_jump.c b/src/pokemon_jump.c new file mode 100755 index 0000000000..4a457adc47 --- /dev/null +++ b/src/pokemon_jump.c @@ -0,0 +1,2406 @@ +#include "global.h" +#include "alloc.h" +#include "data.h" +#include "decompress.h" +#include "event_data.h" +#include "item.h" +#include "link.h" +#include "link_rfu.h" +#include "main.h" +#include "menu.h" +#include "palette.h" +#include "random.h" +#include "save.h" +#include "sound.h" +#include "sprite.h" +#include "string_util.h" +#include "task.h" +#include "trig.h" +#include "pokemon.h" +#include "pokemon_jump.h" +#include "constants/rgb.h" +#include "constants/songs.h" +#include "constants/species.h" + +struct PokemonJump1_MonInfo +{ + u16 species; + u32 otId; + u32 personality; +}; + +struct PokemonJump1_82E4 +{ + int unk0; + int unk4; + u8 filler8[0x4]; + u16 unkC; + u16 unkE; + u16 unk10; + u16 unk12; + int unk14; + int unk18; + u8 unk1C[11]; +}; + +struct PokemonJump1 +{ + MainCallback returnCallback; + u8 unk4; + u8 unk5; + u8 unk6; + u8 unk7; + u16 unk8; + u16 unkA; + u16 unkC; + u16 unkE; + int unk10; + u32 unk14; + u32 unk18; + int unk1C; + u32 unk20; + u32 unk24; + u32 unk28; + int unk2C; + u32 unk30; + u16 unk34; + u16 unk36; + u8 filler38[0x2]; + u16 unk3A; + u16 unk3C; + u16 unk3E; + u16 unk40; + u16 unk42; + u8 unk44; + u8 unk45; + u8 unk46; + u8 isLeader; + u8 unk48; + u8 unk49; + u16 unk4A; + u8 unk4C; + u8 unk4D; + u16 unk4E; + u8 unk50; + u8 unk51; + u8 filler52[0x2]; + int unk54; + int unk58; + int unk5C; + int unk60; + int unk64; + int unk68; + int unk6C; + u8 unk70; + u8 unk71; + u16 unk72; + u16 unk74; + u32 unk78; + u8 unk7C[MAX_RFU_PLAYERS]; + u8 unk81[MAX_RFU_PLAYERS]; + u8 unk86[MAX_RFU_PLAYERS]; + u8 unk8B[MAX_RFU_PLAYERS]; + u16 unk90[MAX_RFU_PLAYERS]; + u16 unk9A[MAX_RFU_PLAYERS]; + void **unkA4; + u8 fillerA8[0x8200]; + struct PokemonJump1_MonInfo unk82A8[MAX_RFU_PLAYERS]; + struct PokemonJump1_82E4 unk82E4[MAX_RFU_PLAYERS]; + struct PokemonJump1_82E4 *unk83AC; +}; + +struct PokemonJumpMons +{ + u16 species; + u16 unk2; +}; + +struct Unk802B078 +{ + u8 unk0; + u8 unk1; + u16 unk2; + u16 unk4; + u16 unk6; + int unk8; +}; + + +struct PokemonJump2 +{ + u8 filler0[0xE]; + u8 unkE; + u8 unkF; + u8 filler10[0x8198]; + struct Sprite *unk81A8[MAX_RFU_PLAYERS]; + struct Sprite *unk81BC[MAX_RFU_PLAYERS]; + struct Sprite *unk81D0[8]; + u8 filler81F0[0xC]; + u8 unk81FC[MAX_RFU_PLAYERS]; +}; + +static void sub_802AA60(struct PokemonJump1 *); +void sub_802AA94(struct PokemonJump1 *); +void sub_802AB20(void); +static void sub_802AB98(void); +static s16 sub_802AC00(u16 species); +static void sub_802AC2C(struct PokemonJump1_MonInfo *monInfo, struct Pokemon *mon); +static void sub_802AC6C(void); +static void sub_802ACA0(u8 taskId); +static void sub_802AF80(u8 taskId); +static void sub_802B008(void); +static void sub_802B194(u8 taskId); +static void sub_802B1FC(void); +static bool32 sub_802B248(void); +static bool32 sub_802B2D4(void); +static bool32 sub_802B368(void); +static bool32 sub_802B3D4(void); +static bool32 sub_802B470(void); +static bool32 sub_802B4CC(void); +static bool32 sub_802B568(void); +static bool32 sub_802B5C8(void); +static bool32 sub_802B628(void); +static bool32 sub_802B664(void); +static bool32 sub_802B6B8(void); +static bool32 sub_802B704(void); +static bool32 sub_802B720(void); +static bool32 sub_802B7E0(void); +static bool32 sub_802B8CC(void); +static bool32 sub_802B964(void); +static bool32 sub_802B29C(void); +static bool32 sub_802B31C(void); +static bool32 sub_802B3B4(void); +static bool32 sub_802BA58(void); +static bool32 sub_802BB84(void); +static bool32 sub_802BC60(void); +static bool32 sub_802BD30(void); +static void sub_802BD84(u8 taskId); +static void sub_802BE60(TaskFunc func, u8 taskPriority); +static void sub_802BE80(void); +static void sub_802BEA0(void); +static void sub_802BEE4(void); +static int sub_802BF48(void); +static void sub_802BF7C(void); +static int sub_802C098(void); +static void sub_802C0B8(void); +static void sub_802C0E8(void); +static void sub_802C114(void); +static bool32 sub_802C130(u16); +static void sub_802C164(void); +static void sub_802C1DC(void); +static void sub_802C240(void); +static void sub_802C260(void); +static void sub_802C270(void); +static void sub_802C280(void); +static void sub_802C398(int); +static void sub_802C43C(void); +static bool32 sub_802C538(void); +static bool32 sub_802C5DC(void); +static bool32 sub_802C618(void); +static bool32 sub_802C650(void); +static void sub_802C688(int); +static int sub_802C6B0(void); +static bool32 sub_802C70C(void); +static int sub_802C73C(u8 *); +static void sub_802C780(void); +static int sub_802C790(int); +static void sub_802C7A0(u16); +static bool32 sub_802C7BC(void); +static u16 sub_802C7E0(void); +static void sub_802C808(u16, u16 *, u16 *); +static u16 sub_802C818(void); +static u16 sub_802C838(void); +static u16 sub_802C880(u16 item, u16 quantity); +static void sub_802CB7C(struct Sprite *sprite); +static void sub_802CC40(struct Sprite *sprite); +static void sub_802CD08(struct Sprite *sprite); +static void sub_802CDD4(struct Sprite *sprite); +void sub_802DC9C(u32); +void sub_802D074(void *); +void sub_802D0AC(void); +void sub_802D0C8(int); +int sub_802D0F0(void); +void sub_802D764(void); +bool32 sub_802D788(void); +void sub_802D7E8(u16, u16); +void sub_802D884(u16); +void sub_802D8FC(u16); +bool32 sub_802D974(void); +void sub_802DA14(void); +void sub_802DC80(int, s8); +void sub_802DD88(u8); +bool32 sub_802DA44(void); +void sub_802DD64(int); +s8 sub_802DA8C(void); +int sub_802DCCC(u8); +void sub_802DD74(u16); +void sub_802DDA0(u8); +int sub_802DDB8(int); +void sub_802DDCC(void); +void sub_802DDE0(void); +void sub_802DDF4(int); +int sub_802DE08(void); +void sub_802E0AC(struct PokemonJump1_MonInfo *); +bool32 sub_802E0D0(int, struct PokemonJump1_MonInfo *); +void sub_802E138(struct PokemonJump1_82E4 *, u8 *); +bool32 sub_802E1BC(struct PokemonJump1_82E4 *, struct Unk802B078 *); +void sub_802E234(struct PokemonJump1_82E4 *, u8 , u16); +bool32 sub_802E264(struct PokemonJump1_82E4 *, int, u8 *, u16 *); +bool32 sub_802E2D0(struct PokemonJump1_82E4 *, int); +int sub_802E354(int, u16, u16); +void sub_802E3A8(void); + +extern struct PokemonJump1 *gUnknown_02022CFC; +extern struct PokemonJump2 *gUnknown_02022D00; + +const struct PokemonJumpMons gPkmnJumpSpecies[] = +{ + { .species = SPECIES_BULBASAUR, .unk2 = 2, }, + { .species = SPECIES_CHARMANDER, .unk2 = 1, }, + { .species = SPECIES_SQUIRTLE, .unk2 = 0, }, + { .species = SPECIES_CATERPIE, .unk2 = 1, }, + { .species = SPECIES_METAPOD, .unk2 = 1, }, + { .species = SPECIES_WEEDLE, .unk2 = 1, }, + { .species = SPECIES_KAKUNA, .unk2 = 1, }, + { .species = SPECIES_RATTATA, .unk2 = 1, }, + { .species = SPECIES_RATICATE, .unk2 = 1, }, + { .species = SPECIES_PIKACHU, .unk2 = 0, }, + { .species = SPECIES_SANDSHREW, .unk2 = 0, }, + { .species = SPECIES_NIDORAN_F, .unk2 = 0, }, + { .species = SPECIES_NIDORAN_M, .unk2 = 0, }, + { .species = SPECIES_CLEFAIRY, .unk2 = 0, }, + { .species = SPECIES_VULPIX, .unk2 = 0, }, + { .species = SPECIES_JIGGLYPUFF, .unk2 = 2, }, + { .species = SPECIES_ODDISH, .unk2 = 2, }, + { .species = SPECIES_PARAS, .unk2 = 1, }, + { .species = SPECIES_MEOWTH, .unk2 = 0, }, + { .species = SPECIES_PSYDUCK, .unk2 = 2, }, + { .species = SPECIES_MANKEY, .unk2 = 1, }, + { .species = SPECIES_GROWLITHE, .unk2 = 1, }, + { .species = SPECIES_POLIWAG, .unk2 = 2, }, + { .species = SPECIES_BELLSPROUT, .unk2 = 2, }, + { .species = SPECIES_SHELLDER, .unk2 = 1, }, + { .species = SPECIES_KRABBY, .unk2 = 1, }, + { .species = SPECIES_EXEGGCUTE, .unk2 = 2, }, + { .species = SPECIES_CUBONE, .unk2 = 0, }, + { .species = SPECIES_DITTO, .unk2 = 2, }, + { .species = SPECIES_EEVEE, .unk2 = 0, }, + { .species = SPECIES_OMANYTE, .unk2 = 1, }, + { .species = SPECIES_KABUTO, .unk2 = 1, }, + { .species = SPECIES_CHIKORITA, .unk2 = 2, }, + { .species = SPECIES_CYNDAQUIL, .unk2 = 1, }, + { .species = SPECIES_TOTODILE, .unk2 = 0, }, + { .species = SPECIES_SPINARAK, .unk2 = 1, }, + { .species = SPECIES_PICHU, .unk2 = 0, }, + { .species = SPECIES_CLEFFA, .unk2 = 0, }, + { .species = SPECIES_IGGLYBUFF, .unk2 = 2, }, + { .species = SPECIES_TOGEPI, .unk2 = 2, }, + { .species = SPECIES_MAREEP, .unk2 = 0, }, + { .species = SPECIES_BELLOSSOM, .unk2 = 2, }, + { .species = SPECIES_MARILL, .unk2 = 2, }, + { .species = SPECIES_SUNKERN, .unk2 = 2, }, + { .species = SPECIES_WOOPER, .unk2 = 2, }, + { .species = SPECIES_PINECO, .unk2 = 2, }, + { .species = SPECIES_SNUBBULL, .unk2 = 0, }, + { .species = SPECIES_SHUCKLE, .unk2 = 2, }, + { .species = SPECIES_TEDDIURSA, .unk2 = 0, }, + { .species = SPECIES_SLUGMA, .unk2 = 2, }, + { .species = SPECIES_SWINUB, .unk2 = 0, }, + { .species = SPECIES_HOUNDOUR, .unk2 = 1, }, + { .species = SPECIES_PHANPY, .unk2 = 0, }, + { .species = SPECIES_PORYGON2, .unk2 = 0, }, + { .species = SPECIES_TYROGUE, .unk2 = 1, }, + { .species = SPECIES_SMOOCHUM, .unk2 = 2, }, + { .species = SPECIES_ELEKID, .unk2 = 1, }, + { .species = SPECIES_MAGBY, .unk2 = 1, }, + { .species = SPECIES_LARVITAR, .unk2 = 1, }, + { .species = SPECIES_TREECKO, .unk2 = 1, }, + { .species = SPECIES_TORCHIC, .unk2 = 2, }, + { .species = SPECIES_MUDKIP, .unk2 = 0, }, + { .species = SPECIES_MARSHTOMP, .unk2 = 0, }, + { .species = SPECIES_POOCHYENA, .unk2 = 1, }, + { .species = SPECIES_ZIGZAGOON, .unk2 = 0, }, + { .species = SPECIES_LINOONE, .unk2 = 0, }, + { .species = SPECIES_WURMPLE, .unk2 = 1, }, + { .species = SPECIES_SILCOON, .unk2 = 2, }, + { .species = SPECIES_CASCOON, .unk2 = 2, }, + { .species = SPECIES_LOTAD, .unk2 = 2, }, + { .species = SPECIES_SEEDOT, .unk2 = 1, }, + { .species = SPECIES_RALTS, .unk2 = 0, }, + { .species = SPECIES_KIRLIA, .unk2 = 0, }, + { .species = SPECIES_SURSKIT, .unk2 = 2, }, + { .species = SPECIES_SHROOMISH, .unk2 = 2, }, + { .species = SPECIES_NINCADA, .unk2 = 1, }, + { .species = SPECIES_WHISMUR, .unk2 = 0, }, + { .species = SPECIES_AZURILL, .unk2 = 2, }, + { .species = SPECIES_SKITTY, .unk2 = 0, }, + { .species = SPECIES_SABLEYE, .unk2 = 0, }, + { .species = SPECIES_MAWILE, .unk2 = 0, }, + { .species = SPECIES_ARON, .unk2 = 1, }, + { .species = SPECIES_MEDITITE, .unk2 = 2, }, + { .species = SPECIES_ELECTRIKE, .unk2 = 1, }, + { .species = SPECIES_PLUSLE, .unk2 = 1, }, + { .species = SPECIES_MINUN, .unk2 = 1, }, + { .species = SPECIES_VOLBEAT, .unk2 = 0, }, + { .species = SPECIES_ILLUMISE, .unk2 = 0, }, + { .species = SPECIES_ROSELIA, .unk2 = 2, }, + { .species = SPECIES_GULPIN, .unk2 = 2, }, + { .species = SPECIES_NUMEL, .unk2 = 2, }, + { .species = SPECIES_TORKOAL, .unk2 = 2, }, + { .species = SPECIES_SPOINK, .unk2 = 0, }, + { .species = SPECIES_TRAPINCH, .unk2 = 2, }, + { .species = SPECIES_CACNEA, .unk2 = 2, }, + { .species = SPECIES_ANORITH, .unk2 = 1, }, + { .species = SPECIES_WYNAUT, .unk2 = 0, }, + { .species = SPECIES_SNORUNT, .unk2 = 0, }, + { .species = SPECIES_CLAMPERL, .unk2 = 1, }, + { .species = SPECIES_BAGON, .unk2 = 1, }, +}; + +bool32 (* const gUnknown_082FB5F4[])(void) = +{ + sub_802B248, + sub_802B2D4, + sub_802B368, + sub_802B3D4, + sub_802B4CC, + sub_802B5C8, + sub_802B664, + sub_802B6B8, + sub_802B720, +}; + +bool32 (* const gUnknown_082FB618[])(void) = +{ + sub_802B29C, + sub_802B31C, + sub_802B3B4, + sub_802B470, + sub_802B568, + sub_802B628, + sub_802B664, + sub_802B704, + sub_802B720, +}; + +extern const u16 gUnknown_082FB63C[]; +extern const u16 gUnknown_082FB64C[4]; +extern const u16 gUnknown_082FB654[]; +extern const s8 gUnknown_082FB65C[][48]; +extern const int gUnknown_082FB6EC[]; +extern const int gUnknown_082FB714[]; +extern const u16 gUnknown_082FB704[8]; +extern const struct CompressedSpriteSheet gUnknown_082FBE08[5]; +extern const struct SpritePalette gUnknown_082FBE30[2]; +extern const struct SpriteTemplate gUnknown_082FBE40; +extern const struct SpriteTemplate gUnknown_082FC00C; +extern const s16 gUnknown_082FBE58[]; +extern const s16 gUnknown_082FBEA8[8]; +extern const struct SpriteTemplate gUnknown_082FBEB8[4]; + +void sub_802A9A8(u16 partyIndex, MainCallback callback) +{ + u8 taskId; + + if (gReceivedRemoteLinkPlayers) + { + gUnknown_02022CFC = Alloc(sizeof(*gUnknown_02022CFC)); + if (gUnknown_02022CFC) + { + ResetTasks(); + taskId = CreateTask(sub_802ACA0, 1); + gUnknown_02022CFC->unk8 = 0; + gUnknown_02022CFC->returnCallback = callback; + gUnknown_02022CFC->unk4 = taskId; + gUnknown_02022CFC->unk6 = GetMultiplayerId(); + sub_802AC2C(&gUnknown_02022CFC->unk82A8[gUnknown_02022CFC->unk6], &gPlayerParty[partyIndex]); + sub_802AA60(gUnknown_02022CFC); + SetWordTaskArg(taskId, 2, (u32)gUnknown_02022CFC); + SetMainCallback2(sub_802AC6C); + return; + } + } + + SetMainCallback2(callback); +} + +static void sub_802AA48(void) +{ + sub_802D0AC(); + Free(gUnknown_02022CFC); +} + +static void sub_802AA60(struct PokemonJump1 *arg0) +{ + arg0->unk5 = GetLinkPlayerCount(); + arg0->unk70 = 5; + arg0->unk72 = 0; + sub_802AB20(); + sub_802AA94(arg0); + if (arg0->unk5 == MAX_RFU_PLAYERS) + sub_802E3A8(); +} + +void sub_802AA94(struct PokemonJump1 *arg0) +{ + int i; + + arg0->unk14 = 6; + arg0->unk18 = 6; + arg0->unk4A = 0; + arg0->unk1C = 0; + arg0->unk5C = 0; + arg0->isLeader = GetMultiplayerId() == 0; + arg0->unk8 = 0; + arg0->unkA = 0; + arg0->unkC = 0; + arg0->unkE = 0; + arg0->unk58 = 0; + arg0->unk3A = 0; + arg0->unk44 = 0; + arg0->unk54 = 0; + arg0->unk46 = 0; + arg0->unk49 = 0; + arg0->unk48 = 1; + arg0->unk78 = 0; + arg0->unk71 = 0; + arg0->unk74 = 0; + arg0->unk60 = 1; + arg0->unk4D = 0; + arg0->unk68 = 0; + arg0->unk64 = 0; + arg0->unk2C = 0; + arg0->unk30 = 0; + sub_802AB98(); + sub_802C0E8(); + + for (i = 0; i < MAX_RFU_PLAYERS; i++) + { + arg0->unk7C[i] = 0; + arg0->unk9A[i] = 0; + } +} + +void sub_802AB20(void) +{ + int i, index; + + for (i = 0; i < MAX_RFU_PLAYERS; i++) + { + index = sub_802AC00(gUnknown_02022CFC->unk82A8[i].species); + gUnknown_02022CFC->unk82E4[i].unkC = gPkmnJumpSpecies[index].unk2; + } + + gUnknown_02022CFC->unk83AC = &gUnknown_02022CFC->unk82E4[gUnknown_02022CFC->unk6]; +} + +static void sub_802AB98(void) +{ + int i; + + for (i = 0; i < MAX_RFU_PLAYERS; i++) + { + gUnknown_02022CFC->unk82E4[i].unkE = 0; + gUnknown_02022CFC->unk82E4[i].unk10 = 0; + gUnknown_02022CFC->unk82E4[i].unk12 = 0; + gUnknown_02022CFC->unk82E4[i].unk0 = 0; + gUnknown_02022CFC->unk82E4[i].unk4 = 0x7FFFFFFF; + gUnknown_02022CFC->unk82E4[i].unk14 = 0; + gUnknown_02022CFC->unk8B[i] = 9; + } +} + +static s16 sub_802AC00(u16 species) +{ + u32 i; + for (i = 0; i < ARRAY_COUNT(gPkmnJumpSpecies); i++) + { + if (gPkmnJumpSpecies[i].species == species) + return i; + } + + return -1; +} + +static void sub_802AC2C(struct PokemonJump1_MonInfo *monInfo, struct Pokemon *mon) +{ + monInfo->species = GetMonData(mon, MON_DATA_SPECIES); + monInfo->otId = GetMonData(mon, MON_DATA_OT_ID); + monInfo->personality = GetMonData(mon, MON_DATA_PERSONALITY); +} + +static void sub_802AC58(void) +{ + TransferPlttBuffer(); + LoadOam(); + ProcessSpriteCopyRequests(); +} + +static void sub_802AC6C(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +static void sub_802AC84(TaskFunc func) +{ + gUnknown_02022CFC->unk4 = CreateTask(func, 1); + gUnknown_02022CFC->unk8 = 0; +} + +static void sub_802ACA0(u8 taskId) +{ + switch (gUnknown_02022CFC->unk8) + { + case 0: + SetVBlankCallback(NULL); + ResetSpriteData(); + FreeAllSpritePalettes(); + sub_802BE60(sub_802BD84, 5); + FadeOutMapMusic(4); + gUnknown_02022CFC->unk8++; + break; + case 1: + if (!FuncIsActiveTask(sub_802BD84)) + { + sub_802D074(&gUnknown_02022CFC->unkA4); + LoadWirelessStatusIndicatorSpriteGfx(); + CreateWirelessStatusIndicatorSprite(0, 0); + gUnknown_02022CFC->unk8++; + } + break; + case 2: + if (!sub_802D0F0() && IsNotWaitingForBGMStop() == TRUE) + { + FadeOutAndPlayNewMapMusic(MUS_RG_JUMP, 8); + gUnknown_02022CFC->unk8++; + } + break; + case 3: + if (IsLinkTaskFinished()) + { + BlendPalettes(0xFFFFFFFF, 16, RGB_BLACK); + BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); + SetVBlankCallback(sub_802AC58); + gUnknown_02022CFC->unk8++; + } + break; + case 4: + UpdatePaletteFade(); + if (!gPaletteFade.active) + { + gUnknown_02022CFC->unk7 = 0; + gUnknown_02022CFC->unk8++; + } + break; + case 5: + gUnknown_02022CFC->unk7++; + if (gUnknown_02022CFC->unk7 >= 20) + { + if (gUnknown_02022CFC->isLeader) + sub_802AC84(sub_802AF80); + else + sub_802AC84(sub_802B194); + + sub_802BE80(); + DestroyTask(taskId); + } + break; + } +} + +static void sub_802AE14(int arg0) +{ + if (arg0 == 0) + { + gUnknown_02022CFC->unk30 = 0x1111; + gUnknown_02022CFC->unk2C = 1; + } + else + { + gUnknown_02022CFC->unk30 = (1 << (arg0 - 1)) - 1; + gUnknown_02022CFC->unk2C = 0; + } +} + +static void sub_802AE50(u8 arg0) +{ + int i; + + gUnknown_02022CFC->unk70 = arg0; + gUnknown_02022CFC->unk8 = 0; + gUnknown_02022CFC->unkA = 0; + gUnknown_02022CFC->unk48 = 1; + gUnknown_02022CFC->unk49 = 0; + for (i = 1; i < gUnknown_02022CFC->unk5; i++) + gUnknown_02022CFC->unk82E4[i].unk18 = 0; +} + +static void sub_802AEA4(void) +{ + int i; + int count; + u16 var0; + u8 var1; + u16 var2; + + for (i = 1, count = 0; i < gUnknown_02022CFC->unk5; i++) + { + var0 = gUnknown_02022CFC->unk82E4[i].unk10; + if (sub_802E264(&gUnknown_02022CFC->unk82E4[i], i, &var1, &var2)) + { + gUnknown_02022CFC->unk90[i] = var2; + gUnknown_02022CFC->unk8B[i] = var1; + gUnknown_02022CFC->unk82E4[i].unk12 = var0; + } + + if (gUnknown_02022CFC->unk82E4[i].unk18 && gUnknown_02022CFC->unk8B[i] == gUnknown_02022CFC->unk70) + count++; + } + + if (count == gUnknown_02022CFC->unk5 - 1) + gUnknown_02022CFC->unk49 = 1; +} + +static void sub_802AF80(u8 taskId) +{ + sub_802AEA4(); + sub_802C43C(); + if (!gUnknown_02022CFC->unk48 && gUnknown_02022CFC->unk49) + { + sub_802AE50(gUnknown_02022CFC->unk4C); + sub_802AE14(3); + } + + if (gUnknown_02022CFC->unk48 == 1) + { + if (!gUnknown_082FB5F4[gUnknown_02022CFC->unk70]()) + { + gUnknown_02022CFC->unk48 = 0; + gUnknown_02022CFC->unk82E4[gUnknown_02022CFC->unk6].unk18 = 1; + } + } + + sub_802C1DC(); + sub_802B008(); +} + +static void sub_802B008(void) +{ + if (!gUnknown_02022CFC->unk2C) + sub_802E138(gUnknown_02022CFC->unk82E4, &gUnknown_02022CFC->unk70); + + if (gUnknown_02022CFC->unk30 != 0x1111) + { + gUnknown_02022CFC->unk2C++; + gUnknown_02022CFC->unk2C &= gUnknown_02022CFC->unk30; + } +} + +static void sub_802B044(u8 arg0) +{ + gUnknown_02022CFC->unk70 = arg0; + gUnknown_02022CFC->unk8 = 0; + gUnknown_02022CFC->unkA = 0; + gUnknown_02022CFC->unk48 = 1; + gUnknown_02022CFC->unk82E4[gUnknown_02022CFC->unk6].unk18 = 0; +} + +static void sub_802B078(void) +{ + int i; + u16 var0; + struct Unk802B078 sp0; + + var0 = gUnknown_02022CFC->unk82E4[0].unk10; + if (sub_802E1BC(gUnknown_02022CFC->unk82E4, &sp0)) + { + if (gUnknown_02022CFC->unk82E4[gUnknown_02022CFC->unk6].unk18 == 1 + && sp0.unk0 != gUnknown_02022CFC->unk70) + { + sub_802B044(sp0.unk0); + } + + if (gUnknown_02022CFC->unk78 != sp0.unk8) + { + gUnknown_02022CFC->unk78 = sp0.unk8; + gUnknown_02022CFC->unk5C = 1; + gUnknown_02022CFC->unk71 = sp0.unk1; + if (gUnknown_02022CFC->unk71) + gUnknown_02022CFC->unk4D = 1; + else + gUnknown_02022CFC->unk4D = 0; + } + + gUnknown_02022CFC->unk72 = sp0.unk2; + gUnknown_02022CFC->unk74 = sp0.unk4; + gUnknown_02022CFC->unk82E4[0].unk12 = var0; + } + + for (i = 1; i < gUnknown_02022CFC->unk5; i++) + { + if (i != gUnknown_02022CFC->unk6) + { + var0 = gUnknown_02022CFC->unk82E4[i].unk10; + if (sub_802E2D0(&gUnknown_02022CFC->unk82E4[i], i)) + gUnknown_02022CFC->unk82E4[i].unk12 = var0; + } + } +} + +static void sub_802B194(u8 taskId) +{ + sub_802B078(); + if (gUnknown_02022CFC->unk48) + { + if (!gUnknown_082FB618[gUnknown_02022CFC->unk70]()) + { + gUnknown_02022CFC->unk48 = 0; + gUnknown_02022CFC->unk82E4[gUnknown_02022CFC->unk6].unk18 = 1; + sub_802AE14(3); + } + } + + sub_802C1DC(); + sub_802B1FC(); +} + +static void sub_802B1FC(void) +{ + if (!gUnknown_02022CFC->unk2C) + sub_802E234(&gUnknown_02022CFC->unk82E4[gUnknown_02022CFC->unk6], gUnknown_02022CFC->unk70, gUnknown_02022CFC->unk42); + + if (gUnknown_02022CFC->unk30 != 0x1111) + { + gUnknown_02022CFC->unk2C++; + gUnknown_02022CFC->unk2C &= gUnknown_02022CFC->unk30; + } +} + +static bool32 sub_802B248(void) +{ + switch (gUnknown_02022CFC->unk8) + { + case 0: + sub_802AE14(3); + gUnknown_02022CFC->unk8++; + // fall through + case 1: + if (!sub_802B7E0()) + { + gUnknown_02022CFC->unk72 = gUnknown_02022CFC->unk4A; + gUnknown_02022CFC->unk4C = 1; + return FALSE; + } + break; + } + + return TRUE; +} + +static bool32 sub_802B29C(void) +{ + switch (gUnknown_02022CFC->unk8) + { + case 0: + sub_802AE14(0); + gUnknown_02022CFC->unk24 = gUnknown_02022CFC->unk72; + gUnknown_02022CFC->unk8++; + // fall through + case 1: + return sub_802B7E0(); + } + + return TRUE; +} + +static bool32 sub_802B2D4(void) +{ + switch (gUnknown_02022CFC->unk8) + { + case 0: + sub_802C0E8(); + sub_802AE14(5); + gUnknown_02022CFC->unk8++; + break; + case 1: + if (gUnknown_02022CFC->unk49) + { + gUnknown_02022CFC->unk4C = 2; + return FALSE; + } + break; + } + + return TRUE; +} + +static bool32 sub_802B31C(void) +{ + switch (gUnknown_02022CFC->unk8) + { + case 0: + sub_802C0E8(); + sub_802AE14(0); + gUnknown_02022CFC->unk4A = gUnknown_02022CFC->unk72; + gUnknown_02022CFC->unk8++; + // fall through + case 1: + if (sub_802C70C()) + return FALSE; + break; + } + + return TRUE; +} + +static bool32 sub_802B368(void) +{ + if (!sub_802B8CC()) + { + gUnknown_02022CFC->unk72 = gUnknown_02022CFC->unk4A; + gUnknown_02022CFC->unk4C = 1; + } + else if (sub_802C538()) + { + return TRUE; + } + else + { + sub_802C0B8(); + gUnknown_02022CFC->unk4C = 3; + } + + return FALSE; +} + +static bool32 sub_802B3B4(void) +{ + if (!sub_802B8CC()) + ; + else if (sub_802C538()) + return TRUE; + else + sub_802C0B8(); + + return FALSE; +} + +static bool32 sub_802B3D4(void) +{ + switch (gUnknown_02022CFC->unk8) + { + case 0: + sub_802C538(); + if (sub_802C5DC()) + gUnknown_02022CFC->unk8++; + break; + case 1: + if (!sub_802B964()) + { + if (sub_802C7BC()) + { + gUnknown_02022CFC->unk72 = sub_802C7E0(); + gUnknown_02022CFC->unk4C = 7; + } + else if (gUnknown_02022CFC->unk74 >= 200) + { + gUnknown_02022CFC->unk72 = gUnknown_02022CFC->unkE; + gUnknown_02022CFC->unk4C = 8; + } + else + { + gUnknown_02022CFC->unk72 = gUnknown_02022CFC->unkE; + gUnknown_02022CFC->unk4C = 4; + } + + gUnknown_02022CFC->unk8++; + return FALSE; + } + break; + case 2: + return FALSE; + } + + return TRUE; +} + +static bool32 sub_802B470(void) +{ + switch (gUnknown_02022CFC->unk8) + { + case 0: + if (!sub_802C538()) + sub_802C0B8(); + if (sub_802C5DC()) + gUnknown_02022CFC->unk8++; + break; + case 1: + if (!sub_802B964()) + { + gUnknown_02022CFC->unk8++; + return FALSE; + } + break; + case 2: + return FALSE; + } + + return TRUE; +} + +static bool32 sub_802B4CC(void) +{ + switch (gUnknown_02022CFC->unk8) + { + case 0: + sub_802AE14(4); + gUnknown_02022CFC->unk8++; + // fall through + case 1: + if (!sub_802BB84()) + { + sub_802E354(gUnknown_02022CFC->unk78, gUnknown_02022CFC->unk74, gUnknown_02022CFC->unk72); + gUnknown_02022CFC->unk8++; + } + break; + case 2: + if (gUnknown_02022CFC->unk49) + { + if (sub_802C650()) + gUnknown_02022CFC->unk4C = 5; + else + gUnknown_02022CFC->unk4C = 6; + + gUnknown_02022CFC->unk8++; + return FALSE; + } + break; + case 3: + return FALSE; + } + + return TRUE; +} + +static bool32 sub_802B568(void) +{ + switch (gUnknown_02022CFC->unk8) + { + case 0: + sub_802AE14(0); + gUnknown_02022CFC->unk8++; + // fall through + case 1: + if (!sub_802BB84()) + { + sub_802E354(gUnknown_02022CFC->unk78, gUnknown_02022CFC->unk74, gUnknown_02022CFC->unk72); + gUnknown_02022CFC->unk42 = gUnknown_02022CFC->unk45; + return FALSE; + } + break; + } + + return TRUE; +} + +static bool32 sub_802B5C8(void) +{ + switch (gUnknown_02022CFC->unk8) + { + case 0: + if (!sub_802BD30()) + gUnknown_02022CFC->unk8++; + break; + case 1: + if (gUnknown_02022CFC->unk49) + { + sub_802AA94(gUnknown_02022CFC); + gUnknown_02022CFC->unk24 = Random(); + gUnknown_02022CFC->unk72 = gUnknown_02022CFC->unk24; + gUnknown_02022CFC->unk4C = 0; + return FALSE; + } + break; + } + + return TRUE; +} + +static bool32 sub_802B628(void) +{ + switch (gUnknown_02022CFC->unk8) + { + case 0: + if (!sub_802BD30()) + { + sub_802AA94(gUnknown_02022CFC); + gUnknown_02022CFC->unk8++; + return FALSE; + } + break; + case 1: + return FALSE; + } + + return TRUE; +} + +static bool32 sub_802B664(void) +{ + switch (gUnknown_02022CFC->unk8) + { + case 0: + gUnknown_02022CFC->unk8 = 1; + break; + case 1: + sub_802AE14(0); + gUnknown_02022CFC->unk8++; + break; + case 2: + if (!sub_802BC60()) + { + SetMainCallback2(gUnknown_02022CFC->returnCallback); + sub_802AA48(); + } + break; + } + + return TRUE; +} + +static bool32 sub_802B6B8(void) +{ + switch (gUnknown_02022CFC->unk8) + { + case 0: + sub_802AE14(4); + gUnknown_02022CFC->unk8++; + break; + case 1: + if (!sub_802BA58()) + { + gUnknown_02022CFC->unk72 = gUnknown_02022CFC->unkE; + gUnknown_02022CFC->unk4C = 8; + return FALSE; + } + break; + } + + return TRUE; +} + +static bool32 sub_802B704(void) +{ + sub_802AE14(0); + if (!sub_802BA58()) + return FALSE; + else + return TRUE; +} + +static bool32 sub_802B720(void) +{ + switch (gUnknown_02022CFC->unk8) + { + case 0: + sub_802E354(gUnknown_02022CFC->unk78, gUnknown_02022CFC->unk74, gUnknown_02022CFC->unk72); + sub_802D0C8(5); + gUnknown_02022CFC->unk8++; + break; + case 1: + if (!sub_802D0F0()) + { + sub_802AE14(0); + gUnknown_02022CFC->unk8++; + } + break; + case 2: + if (sub_802C70C()) + { + CreateTask(sub_8153688, 6); + gUnknown_02022CFC->unk8++; + } + break; + case 3: + if (!FuncIsActiveTask(sub_8153688)) + { + sub_802DA14(); + gUnknown_02022CFC->unk8++; + } + break; + case 4: + if (!sub_802DA44()) + { + gUnknown_02022CFC->unk4C = 4; + return FALSE; + } + break; + } + + return TRUE; +} + +static bool32 sub_802B7E0(void) +{ + int var0; + + switch (gUnknown_02022CFC->unkA) + { + case 0: + sub_802D0C8(2); + sub_802DDE0(); + gUnknown_02022CFC->unkA++; + break; + case 1: + var0 = sub_802D0F0(); + if (!var0) + { + sub_802DDF4(gUnknown_02022CFC->unk6); + gUnknown_02022CFC->unk3C = 0; + gUnknown_02022CFC->unkA++; + } + break; + case 2: + if (++gUnknown_02022CFC->unk3C > 120) + { + sub_802D0C8(3); + gUnknown_02022CFC->unkA++; + } + break; + case 3: + if (sub_802D0F0() != 1 && sub_802DE08() != 1) + gUnknown_02022CFC->unkA++; + break; + case 4: + sub_802D0C8(9); + gUnknown_02022CFC->unkA++; + break; + case 5: + if (!sub_802D0F0()) + { + sub_802C260(); + sub_802D764(); + gUnknown_02022CFC->unkA++; + } + break; + case 6: + if (!sub_802D788()) + { + sub_802C270(); + sub_802BEA0(); + gUnknown_02022CFC->unkA++; + return FALSE; + } + break; + case 7: + return FALSE; + } + + return TRUE; +} + +static bool32 sub_802B8CC(void) +{ + sub_802BEE4(); + if (gUnknown_02022CFC->unk36) + { + gUnknown_02022CFC->unk36 = 0; + return FALSE; + } + + switch (gUnknown_02022CFC->unkA) + { + case 0: + if (sub_802C130(0)) + gUnknown_02022CFC->unkA++; + else + break; + // fall through + case 1: + if (gMain.newKeys & A_BUTTON) + { + sub_802C164(); + sub_802AE14(3); + gUnknown_02022CFC->unkA++; + } + break; + case 2: + if (sub_802C130(1) == TRUE) + gUnknown_02022CFC->unkA++; + break; + case 3: + if (sub_802C130(0) == TRUE) + gUnknown_02022CFC->unkA = 0; + break; + } + + return TRUE; +} + +static bool32 sub_802B964(void) +{ + int i; + + switch (gUnknown_02022CFC->unkA) + { + case 0: + for (i = 0; i < gUnknown_02022CFC->unk5; i++) + { + if (sub_802DDB8(i) == 1) + return TRUE; + } + + gUnknown_02022CFC->unkA++; + break; + case 1: + for (i = 0; i < gUnknown_02022CFC->unk5; i++) + { + if (gUnknown_02022CFC->unk82E4[i].unk10 == 2) + sub_802DDA0(i); + } + + sub_802D0C8(1); + gUnknown_02022CFC->unk3C = 0; + gUnknown_02022CFC->unkA++; + break; + case 2: + if (++gUnknown_02022CFC->unk3C > 100) + { + sub_802D0C8(3); + gUnknown_02022CFC->unk3C = 0; + gUnknown_02022CFC->unkA++; + } + break; + case 3: + if (!sub_802D0F0()) + { + sub_802DDCC(); + gUnknown_02022CFC->unk71 = 0; + sub_802C114(); + gUnknown_02022CFC->unkA++; + return FALSE; + } + break; + case 4: + return FALSE; + } + + return TRUE; +} + +static bool32 sub_802BA58(void) +{ + switch (gUnknown_02022CFC->unkA) + { + case 0: + sub_802C808(gUnknown_02022CFC->unk72, &gUnknown_02022CFC->unk3E, &gUnknown_02022CFC->unk40); + sub_802D7E8(gUnknown_02022CFC->unk3E, gUnknown_02022CFC->unk40); + gUnknown_02022CFC->unkA++; + break; + case 1: + case 4: + if (!sub_802D974()) + { + gUnknown_02022CFC->unk3C = 0; + gUnknown_02022CFC->unkA++; + } + break; + case 2: + case 5: + gUnknown_02022CFC->unk3C++; + if (gMain.newKeys & (A_BUTTON | B_BUTTON) || gUnknown_02022CFC->unk3C > 180) + { + sub_802DA14(); + gUnknown_02022CFC->unkA++; + } + break; + case 3: + if (!sub_802DA44()) + { + gUnknown_02022CFC->unk40 = sub_802C880(gUnknown_02022CFC->unk3E, gUnknown_02022CFC->unk40); + if (gUnknown_02022CFC->unk40 && AddBagItem(gUnknown_02022CFC->unk3E, gUnknown_02022CFC->unk40)) + { + if (!CheckBagHasSpace(gUnknown_02022CFC->unk3E, 1)) + { + sub_802D884(gUnknown_02022CFC->unk3E); + gUnknown_02022CFC->unkA = 4; + } + else + { + gUnknown_02022CFC->unkA = 6; + break; + } + } + else + { + sub_802D8FC(gUnknown_02022CFC->unk3E); + gUnknown_02022CFC->unkA = 4; + } + } + break; + case 6: + if (!sub_802DA44()) + return FALSE; + break; + } + + return TRUE; +} + +static bool32 sub_802BB84(void) +{ + s8 input; + + switch (gUnknown_02022CFC->unkA) + { + case 0: + sub_802D0C8(4); + gUnknown_02022CFC->unkA++; + break; + case 1: + if (!sub_802D0F0()) + gUnknown_02022CFC->unkA++; + break; + case 2: + input = sub_802DA8C(); + switch (input) + { + case MENU_B_PRESSED: + case 1: + gUnknown_02022CFC->unk45 = 1; + sub_802D0C8(6); + gUnknown_02022CFC->unkA++; + break; + case 0: + gUnknown_02022CFC->unk45 = 2; + sub_802D0C8(6); + gUnknown_02022CFC->unkA++; + break; + } + break; + case 3: + if (!sub_802D0F0()) + gUnknown_02022CFC->unkA++; + break; + case 4: + sub_802D0C8(8); + gUnknown_02022CFC->unkA++; + break; + case 5: + if (!sub_802D0F0()) + { + gUnknown_02022CFC->unkA++; + return FALSE; + } + break; + case 6: + return FALSE; + } + + return TRUE; +} + +static bool32 sub_802BC60(void) +{ + int var0; + + switch (gUnknown_02022CFC->unkA) + { + case 0: + sub_802DA14(); + gUnknown_02022CFC->unkA++; + break; + case 1: + if (!sub_802DA44()) + { + sub_802D0C8(7); + gUnknown_02022CFC->unkA++; + } + break; + case 2: + var0 = sub_802D0F0(); + if (!var0) + { + gUnknown_02022CFC->unk3C = var0; + gUnknown_02022CFC->unkA++; + } + break; + case 3: + if (++gUnknown_02022CFC->unk3C > 120) + { + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK); + gUnknown_02022CFC->unkA++; + } + break; + case 4: + if (!gPaletteFade.active) + { + sub_800AC34(); + gUnknown_02022CFC->unkA++; + } + break; + case 5: + if (!gReceivedRemoteLinkPlayers) + return FALSE; + break; + } + + return TRUE; +} + +static bool32 sub_802BD30(void) +{ + switch (gUnknown_02022CFC->unkA) + { + case 0: + sub_802DA14(); + sub_802DD64(0); + gUnknown_02022CFC->unkA++; + break; + case 1: + if (!sub_802DA44()) + { + gUnknown_02022CFC->unkA++; + return FALSE; + } + break; + case 2: + return FALSE; + } + + return TRUE; +} + +static void sub_802BD84(u8 taskId) +{ + int i; + s16 *taskData = gTasks[taskId].data; + struct PokemonJump1 *ptr = (struct PokemonJump1 *)GetWordTaskArg(taskId, 14); + + switch (taskData[0]) + { + case 0: + for (i = 0; i < MAX_RFU_PLAYERS; i++) + taskData[i + 2] = 0; + + taskData[0]++; + // fall through + case 1: + sub_802E0AC(&ptr->unk82A8[ptr->unk6]); + for (i = 0; i < MAX_RFU_PLAYERS; i++) + { + if (!taskData[i + 2] && sub_802E0D0(i, &ptr->unk82A8[i])) + { + StringCopy(ptr->unk82E4[i].unk1C, gLinkPlayers[i].name); + taskData[i + 2] = 1; + taskData[1]++; + if (taskData[1] == ptr->unk5) + { + sub_802AB20(); + DestroyTask(taskId); + break; + } + } + } + break; + } +} + +static void sub_802BE60(TaskFunc func, u8 taskPriority) +{ + u8 taskId = CreateTask(func, taskPriority); + SetWordTaskArg(taskId, 14, (u32)gUnknown_02022CFC); +} + +static void sub_802BE80(void) +{ + gUnknown_02022CFC->unk4A = 0; + gUnknown_02022CFC->unk14 = 6; + gUnknown_02022CFC->unk34 = 0; + gUnknown_02022CFC->unk1C = 0; + gUnknown_02022CFC->unk36 = 0; + gUnknown_02022CFC->unk10 = 0; +} + +static void sub_802BEA0(void) +{ + gUnknown_02022CFC->unk4A = 0; + gUnknown_02022CFC->unk34 = 0x6FF; + gUnknown_02022CFC->unk14 = 7; + gUnknown_02022CFC->unk36 = 0; + gUnknown_02022CFC->unk10 = 0; + gUnknown_02022CFC->unk51 = 0; + gUnknown_02022CFC->unk50 = 0; + gUnknown_02022CFC->unk20 = 0; + gUnknown_02022CFC->unk4E = 0; + gUnknown_02022CFC->unk6C = 0; + sub_802BF7C(); +} + +static void sub_802BEE4(void) +{ + if (gUnknown_02022CFC->unk46) + { + gUnknown_02022CFC->unk4A++; + gUnknown_02022CFC->unk34 += sub_802BF48(); + if (gUnknown_02022CFC->unk34 >= 0x9FF) + gUnknown_02022CFC->unk34 -= 0x9FF; + + gUnknown_02022CFC->unk18 = gUnknown_02022CFC->unk14; + gUnknown_02022CFC->unk14 = gUnknown_02022CFC->unk34 >> 8; + if (gUnknown_02022CFC->unk14 > 6 && gUnknown_02022CFC->unk18 < 7) + { + gUnknown_02022CFC->unk36++; + sub_802BF7C(); + } + } +} + +static int sub_802BF48(void) +{ + int result; + + if (gUnknown_02022CFC->unk10) + return 0; + + result = gUnknown_02022CFC->unk1C; + if (gUnknown_02022CFC->unk34 <= 0x5FF) + { + gUnknown_02022CFC->unk20 += 80; + result += gUnknown_02022CFC->unk20 >> 8; + } + + return result; +} + +static void sub_802BF7C(void) +{ + int var0; + + gUnknown_02022CFC->unk20 = 0; + if (gUnknown_02022CFC->unk4E) + { + gUnknown_02022CFC->unk4E--; + if (gUnknown_02022CFC->unk6C) + { + if (sub_802C098() % 4 != 0) + { + gUnknown_02022CFC->unk1C = gUnknown_02022CFC->unk28; + } + else + { + if (gUnknown_02022CFC->unk28 > 54) + gUnknown_02022CFC->unk1C = 30; + else + gUnknown_02022CFC->unk1C = 82; + } + } + } + else + { + if (!(gUnknown_02022CFC->unk50 & 8)) + { + gUnknown_02022CFC->unk28 = gUnknown_082FB63C[gUnknown_02022CFC->unk50] + (gUnknown_02022CFC->unk51 * 7); + gUnknown_02022CFC->unk4E = gUnknown_082FB64C[sub_802C098() % ARRAY_COUNT(gUnknown_082FB64C)] + 2; + gUnknown_02022CFC->unk50++; + } + else + { + if (gUnknown_02022CFC->unk50 == 8) + { + if (gUnknown_02022CFC->unk51 < 3) + gUnknown_02022CFC->unk51++; + else + gUnknown_02022CFC->unk6C = 1; + } + + var0 = gUnknown_082FB63C[15 - gUnknown_02022CFC->unk50]; + gUnknown_02022CFC->unk28 = var0 + (gUnknown_02022CFC->unk51 * 7); + if (++gUnknown_02022CFC->unk50 > 15) + { + if (sub_802C098() % 4 == 0) + gUnknown_02022CFC->unk28 -= 5; + + gUnknown_02022CFC->unk50 = 0; + } + } + + gUnknown_02022CFC->unk1C = gUnknown_02022CFC->unk28; + } +} + +static int sub_802C098(void) +{ + // The number 1103515245 comes from the example implementation of rand and srand + gUnknown_02022CFC->unk24 = gUnknown_02022CFC->unk24 * 1103515245 + 24691; + return gUnknown_02022CFC->unk24 >> 16; +} + +static void sub_802C0B8(void) +{ + gUnknown_02022CFC->unk10 = 1; + gUnknown_02022CFC->unk14 = 6; + gUnknown_02022CFC->unk34 = 0x5FF; + sub_802C270(); +} + +static int sub_802C0DC(void) +{ + return gUnknown_02022CFC->unk10; +} + +static void sub_802C0E8(void) +{ + int i; + for (i = 0; i < MAX_RFU_PLAYERS; i++) + gUnknown_02022CFC->unk82E4[i].unk14 = 0; +} + +static void sub_802C114(void) +{ + gUnknown_02022CFC->unk83AC->unk10 = 0; + gUnknown_02022CFC->unk83AC->unk12 = 0; +} + +static bool32 sub_802C130(u16 arg0) +{ + if (gUnknown_02022CFC->unk82E4[gUnknown_02022CFC->unk6].unk10 == arg0) + return TRUE; + else + return FALSE; +} + +static void sub_802C164(void) +{ + gUnknown_02022CFC->unk83AC->unkE = gUnknown_02022CFC->unk4A; + gUnknown_02022CFC->unk83AC->unk12 = gUnknown_02022CFC->unk83AC->unk10; + gUnknown_02022CFC->unk83AC->unk10 = 1; +} + +static void sub_802C18C(void) +{ + gUnknown_02022CFC->unk83AC->unk12 = gUnknown_02022CFC->unk83AC->unk10; + gUnknown_02022CFC->unk83AC->unk10 = 2; + gUnknown_02022CFC->unk83AC->unkE = gUnknown_02022CFC->unk4A; + gUnknown_02022CFC->unk83AC->unk14 = 2; +} + +static void sub_802C1BC(void) +{ + gUnknown_02022CFC->unk83AC->unk12 = gUnknown_02022CFC->unk83AC->unk10; + gUnknown_02022CFC->unk83AC->unk10 = 0; +} + +static void sub_802C1DC(void) +{ + if (gUnknown_02022CFC->unk5C) + { + sub_802DD64(gUnknown_02022CFC->unk78); + gUnknown_02022CFC->unk5C = 0; + if (gUnknown_02022CFC->unk4D) + { + int index = sub_802DCCC(gUnknown_02022CFC->unk71); + PlaySE(gUnknown_082FB654[index - 2]); + gUnknown_02022CFC->unk4D = 0; + } + } + + sub_802DD74(gUnknown_02022CFC->unk74); + sub_802C280(); + sub_802C240(); +} + +static void sub_802C240(void) +{ + if (gUnknown_02022CFC->unk46) + sub_802DC9C(gUnknown_02022CFC->unk14); +} + +static void sub_802C260(void) +{ + gUnknown_02022CFC->unk46 = 0; +} + +static void sub_802C270(void) +{ + gUnknown_02022CFC->unk46 = 1; +} + +static void sub_802C280(void) +{ + int i; + int whichSound = 0; + int numLinkPlayers = gUnknown_02022CFC->unk5; + + for (i = 0; i < numLinkPlayers; i++) + { + switch (gUnknown_02022CFC->unk82E4[i].unk10) + { + case 0: + sub_802DC80(i, 0); + break; + case 1: + if (gUnknown_02022CFC->unk82E4[i].unk12 != 1 || gUnknown_02022CFC->unk82E4[i].unkE != gUnknown_02022CFC->unk9A[i]) + { + if (i == gUnknown_02022CFC->unk6) + gUnknown_02022CFC->unk82E4[i].unk12 = 1; + + whichSound |= 0x1; + gUnknown_02022CFC->unk82E4[i].unk4 = 0x7FFFFFFF; + gUnknown_02022CFC->unk9A[i] = gUnknown_02022CFC->unk82E4[i].unkE; + } + + sub_802C398(i); + break; + case 2: + if (gUnknown_02022CFC->unk82E4[i].unk12 != 2) + { + if (i == gUnknown_02022CFC->unk6) + gUnknown_02022CFC->unk82E4[i].unk12 = 2; + + whichSound |= 0x2; + sub_802DD88(i); + } + break; + } + } + + if (whichSound & 0x2) + PlaySE(SE_RG_NAWAMISS); + else if (whichSound & 0x1) + PlaySE(SE_DANSA); +} + +static void sub_802C398(int multiplayerId) +{ + int var0; + int var1; + struct PokemonJump1_82E4 *player; + + if (gUnknown_02022CFC->unk68) + return; + + player = &gUnknown_02022CFC->unk82E4[multiplayerId]; + if (player->unk4 != 0x7FFFFFFF) + { + player->unk4++; + var0 = player->unk4; + } + else + { + var0 = gUnknown_02022CFC->unk4A - player->unkE; + if (var0 >= 65000) + { + var0 -= 65000; + var0 += gUnknown_02022CFC->unk4A; + } + + player->unk4 = var0; + } + + if (var0 < 4) + return; + + var0 -= 4; + if (var0 < 48) + var1 = gUnknown_082FB65C[player->unkC][var0]; + else + var1 = 0; + + sub_802DC80(multiplayerId, var1); + if (!var1 && multiplayerId == gUnknown_02022CFC->unk6) + sub_802C1BC(); + + player->unk0 = var1; +} + +static void sub_802C43C(void) +{ + if (gUnknown_02022CFC->unk14 == 8 && gUnknown_02022CFC->unk18 == 7) + { + if (gUnknown_02022CFC->unk58 == 0) + { + sub_802C780(); + gUnknown_02022CFC->unk54 = 0; + gUnknown_02022CFC->unk58 = 1; + gUnknown_02022CFC->unk71 = 0; + } + else + { + if (gUnknown_02022CFC->unk54 == 5) + { + gUnknown_02022CFC->unkC++; + sub_802C7A0(gUnknown_02022CFC->unkC); + } + else + { + gUnknown_02022CFC->unkC = 0; + } + + if (gUnknown_02022CFC->unk54 > 1) + { + gUnknown_02022CFC->unk64 = 1; + memcpy(gUnknown_02022CFC->unk86, gUnknown_02022CFC->unk81, sizeof(u8) * MAX_RFU_PLAYERS); + } + + sub_802C780(); + gUnknown_02022CFC->unk54 = 0; + gUnknown_02022CFC->unk58 = 1; + gUnknown_02022CFC->unk71 = 0; + if (gUnknown_02022CFC->unk74 < 9999) + gUnknown_02022CFC->unk74++; + + sub_802C688(10); + sub_802AE14(3); + } + } + + if (gUnknown_02022CFC->unk64 && (sub_802C618() == TRUE || !gUnknown_02022CFC->unk14)) + { + int var0 = sub_802C73C(gUnknown_02022CFC->unk86); + sub_802C688(sub_802C790(var0)); + sub_802AE14(3); + gUnknown_02022CFC->unk64 = 0; + } + + if (gUnknown_02022CFC->unk58) + { + int var1 = sub_802C6B0(); + if (var1 > gUnknown_02022CFC->unk54) + { + gUnknown_02022CFC->unk54 = var1; + memcpy(gUnknown_02022CFC->unk81, gUnknown_02022CFC->unk7C, sizeof(u8) * MAX_RFU_PLAYERS); + } + } +} + +static bool32 sub_802C538(void) +{ + int i; + + if (gUnknown_02022CFC->unk14 == 6 && !gUnknown_02022CFC->unk83AC->unk0) + { + if (gUnknown_02022CFC->unk83AC->unk12 == 1 && sub_802C0DC() == 1) + { + gUnknown_02022CFC->unk83AC->unk14 = 1; + } + else + { + sub_802C18C(); + sub_802AE14(3); + } + } + + if (gUnknown_02022CFC->unk14 == 7 + && gUnknown_02022CFC->unk18 == 6 + && gUnknown_02022CFC->unk83AC->unk10 != 2) + { + gUnknown_02022CFC->unk83AC->unk14 = 1; + sub_802AE14(3); + } + + for (i = 0; i < gUnknown_02022CFC->unk5; i++) + { + if (gUnknown_02022CFC->unk82E4[i].unk10 == 2) + return FALSE; + } + + return TRUE; +} + +static bool32 sub_802C5DC(void) +{ + int i; + int numPlayers = gUnknown_02022CFC->unk5; + int count = 0; + for (i = 0; i < numPlayers; i++) + { + if (gUnknown_02022CFC->unk82E4[i].unk14) + count++; + } + + return count == numPlayers; +} + +static bool32 sub_802C618(void) +{ + int i; + for (i = 0; i < gUnknown_02022CFC->unk5; i++) + { + if (gUnknown_02022CFC->unk82E4[i].unk14 != 1) + return FALSE; + } + + return TRUE; +} + +static bool32 sub_802C650(void) +{ + int i; + + if (gUnknown_02022CFC->unk45 == 1) + return FALSE; + + for (i = 1; i < gUnknown_02022CFC->unk5; i++) + { + if (gUnknown_02022CFC->unk90[i] == 1) + return FALSE; + } + + return TRUE; +} + +static void sub_802C688(int arg0) +{ + gUnknown_02022CFC->unk78 += arg0; + gUnknown_02022CFC->unk5C = 1; + if (gUnknown_02022CFC->unk78 >= 99990) + gUnknown_02022CFC->unk78 = 99990; +} + +static int sub_802C6B0(void) +{ + int i; + int count = 0; + int numPlayers = gUnknown_02022CFC->unk5; + + for (i = 0; i < numPlayers; i++) + { + if (gUnknown_02022CFC->unk82E4[i].unk0 == -30) + { + gUnknown_02022CFC->unk7C[i] = 1; + count++; + } + else + { + gUnknown_02022CFC->unk7C[i] = 0; + } + } + + return count; +} + +static bool32 sub_802C70C(void) +{ + return !gUnknown_03005000.unk_124.unk_8c2 && !gUnknown_03005000.unk_9e8.unk_232; +} + +static int sub_802C73C(u8 *arg0) +{ + int i; + int flags; + int count; + + for (i = 0, flags = 0, count = 0; i < MAX_RFU_PLAYERS; i++) + { + if (arg0[i]) + { + flags |= 1 << i; + count++; + } + } + + gUnknown_02022CFC->unk71 = flags; + if (flags) + gUnknown_02022CFC->unk4D = 1; + + return count; +} + +static void sub_802C780(void) +{ + gUnknown_02022CFC->unk44 = 0; +} + +static int sub_802C790(int arg0) +{ + return gUnknown_082FB6EC[arg0]; +} + +static void sub_802C7A0(u16 arg0) +{ + if (arg0 > gUnknown_02022CFC->unkE) + gUnknown_02022CFC->unkE = arg0; +} + +static bool32 sub_802C7BC(void) +{ + if (gUnknown_02022CFC->unk78 >= gUnknown_082FB714[0]) + return TRUE; + else + return FALSE; +} + +static u16 sub_802C7E0(void) +{ + u16 lo = sub_802C818(); + u16 hi = sub_802C838(); + return (hi << 12) | (lo & 0xFFF); +} + +static void sub_802C808(u16 arg0, u16 *arg1, u16 *arg2) +{ + *arg2 = arg0 >> 12; + *arg1 = arg0 & 0xFFF; +} + +static u16 sub_802C818(void) +{ + u16 index = Random() % ARRAY_COUNT(gUnknown_082FB704); + return gUnknown_082FB704[index]; +} + +NAKED +static u16 sub_802C838(void) +{ + asm_unified("\n\ + push {r4-r6,lr}\n\ + movs r5, 0\n\ + movs r4, 0\n\ + ldr r3, =gUnknown_02022CFC\n\ + ldr r0, [r3]\n\ + ldr r2, =gUnknown_082FB714\n\ + ldr r1, [r0, 0x78]\n\ + ldr r0, [r2]\n\ + cmp r1, r0\n\ + bcc _0802C874\n\ + ldr r5, [r2, 0x4]\n\ + adds r6, r3, 0\n\ + adds r3, r2, 0x4\n\ +_0802C852:\n\ + adds r3, 0x8\n\ + adds r2, 0x8\n\ + adds r4, 0x1\n\ + cmp r4, 0x4\n\ + bhi _0802C874\n\ + ldr r0, [r6]\n\ + ldr r1, [r0, 0x78]\n\ + ldr r0, [r2]\n\ + cmp r1, r0\n\ + bcc _0802C874\n\ + ldr r5, [r3]\n\ + b _0802C852\n\ + .pool\n\ +_0802C874:\n\ + lsls r0, r5, 16\n\ + lsrs r0, 16\n\ + pop {r4-r6}\n\ + pop {r1}\n\ + bx r1"); +} + +static u16 sub_802C880(u16 item, u16 quantity) +{ + while (quantity && !CheckBagHasSpace(item, quantity)) + quantity--; + + return quantity; +} + +u16 sub_802C8AC(void) +{ + return GetLinkPlayerCount(); +} + +u16 sub_802C8BC(void) +{ + return gUnknown_02022CFC->unk6; +} + +struct PokemonJump1_MonInfo *sub_802C8C8(u8 multiplayerId) +{ + return &gUnknown_02022CFC->unk82A8[multiplayerId]; +} + +u8 *sub_802C8E8(u8 multiplayerId) +{ + return gUnknown_02022CFC->unk82E4[multiplayerId].unk1C; +} + +bool32 sub_802C908(u16 species) +{ + return sub_802AC00(species) > -1; +} + +void sub_802C920(void) +{ + int i; + + for (i = 0; i < PARTY_SIZE; i++) + { + if (GetMonData(&gPlayerParty[i], MON_DATA_SANITY_HAS_SPECIES)) + { + u16 species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2); + if (sub_802C908(species)) + { + gSpecialVar_Result = 1; + return; + } + } + } + + gSpecialVar_Result = 0; +} + +void sub_802C974(struct PokemonJump2 *arg0) +{ + int i; + + for (i = 0; i < ARRAY_COUNT(gUnknown_082FBE08); i++) + LoadCompressedSpriteSheet(&gUnknown_082FBE08[i]); + + for (i = 0; i < ARRAY_COUNT(gUnknown_082FBE30); i++) + LoadSpritePalette(&gUnknown_082FBE30[i]); + + arg0->unkE = IndexOfSpritePaletteTag(5); + arg0->unkF = IndexOfSpritePaletteTag(6); +} + +static void sub_802C9BC(struct Sprite *sprite) +{ + int i; + for (i = 0; i < 8; i++) + sprite->data[i] = 0; +} + +void sub_802C9D4(struct PokemonJump2 *arg0, struct PokemonJump1_MonInfo *jumpMon, u16 x, u16 y, u8 multiplayerId) +{ + struct SpriteTemplate spriteTemplate; + struct SpriteSheet spriteSheet; + struct CompressedSpritePalette spritePalette; + u8 *buffer; + u8 *unusedBuffer; + u8 subpriority; + u8 spriteId; + + spriteTemplate = gUnknown_082FBE40; + buffer = Alloc(0x2000); + unusedBuffer = Alloc(0x800); + if (multiplayerId == sub_802C8BC()) + subpriority = 3; + else + subpriority = multiplayerId + 4; + + if (buffer && unusedBuffer) + { + HandleLoadSpecialPokePic( + &gMonStillFrontPicTable[jumpMon->species], + buffer, + jumpMon->species, + jumpMon->personality); + + spriteSheet.data = buffer; + spriteSheet.tag = multiplayerId; + spriteSheet.size = 0x800; + LoadSpriteSheet(&spriteSheet); + + spritePalette.data = GetFrontSpritePalFromSpeciesAndPersonality(jumpMon->species, jumpMon->otId, jumpMon->personality); + spritePalette.tag = multiplayerId; + LoadCompressedSpritePalette(&spritePalette); + + Free(buffer); + Free(unusedBuffer); + + spriteTemplate.tileTag += multiplayerId; + spriteTemplate.paletteTag += multiplayerId; + spriteId = CreateSprite(&spriteTemplate, x, y, subpriority); + if (spriteId != MAX_SPRITES) + { + arg0->unk81A8[multiplayerId] = &gSprites[spriteId]; + arg0->unk81FC[multiplayerId] = subpriority; + return; + } + } + + arg0->unk81A8[multiplayerId] = NULL; +} + +void sub_802CB14(struct PokemonJump2 *arg0, int multiplayerId) +{ + sub_802C9BC(arg0->unk81BC[multiplayerId]); + arg0->unk81BC[multiplayerId]->data[7] = arg0->unk81A8[multiplayerId] - gSprites; + arg0->unk81BC[multiplayerId]->invisible = 0; + arg0->unk81BC[multiplayerId]->pos1.y = 96; + arg0->unk81BC[multiplayerId]->callback = sub_802CB7C; + StartSpriteAnim(arg0->unk81BC[multiplayerId], 1); +} + +static void sub_802CB7C(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + if (sprite->animEnded) + { + sprite->invisible = 1; + sprite->callback = SpriteCallbackDummy; + } + break; + case 1: + sprite->pos1.y--; + sprite->data[1]++; + if (sprite->pos1.y <= 72) + { + sprite->pos1.y = 72; + sprite->data[0]++; + } + break; + case 2: + if (++sprite->data[1] >= 48) + { + sprite->invisible = 1; + sprite->callback = SpriteCallbackDummy; + } + break; + } +} + +void sub_802CBF0(struct PokemonJump2 *arg0, int multiplayerId) +{ + arg0->unk81A8[multiplayerId]->callback = sub_802CC40; + arg0->unk81A8[multiplayerId]->pos2.y = 0; + sub_802C9BC(arg0->unk81A8[multiplayerId]); +} + +bool32 sub_802CC18(struct PokemonJump2 *arg0, int multiplayerId) +{ + return arg0->unk81A8[multiplayerId]->callback == sub_802CC40; +} + +static void sub_802CC40(struct Sprite *sprite) +{ + if (++sprite->data[1] > 1) + { + if (++sprite->data[2] & 1) + sprite->pos2.y = 2; + else + sprite->pos2.y = -2; + + sprite->data[1] = 0; + } + + if (sprite->data[2] > 12) + { + sprite->pos2.y = 0; + sprite->callback = SpriteCallbackDummy; + } +} + +void sub_802CC88(struct PokemonJump2 *arg0, int multiplayerId) +{ + sub_802C9BC(arg0->unk81A8[multiplayerId]); + arg0->unk81A8[multiplayerId]->callback = sub_802CD08; +} + +void sub_802CCB0(struct PokemonJump2 *arg0) +{ + int i; + u16 numPlayers = sub_802C8AC(); + for (i = 0; i < numPlayers; i++) + { + if (arg0->unk81A8[i]->callback == sub_802CD08) + { + arg0->unk81A8[i]->invisible = 0; + arg0->unk81A8[i]->callback = SpriteCallbackDummy; + arg0->unk81A8[i]->subpriority = 10; + } + } +} + +static void sub_802CD08(struct Sprite *sprite) +{ + if (++sprite->data[0] > 3) + { + sprite->data[0] = 0; + sprite->invisible ^= 1; + } +} + +void sub_802CD3C(struct PokemonJump2 *arg0) +{ + int i; + u16 numPlayers = sub_802C8AC(); + for (i = 0; i < numPlayers; i++) + arg0->unk81A8[i]->subpriority = arg0->unk81FC[i]; +} + +void sub_802CD70(struct PokemonJump2 *arg0, int multiplayerId) +{ + sub_802C9BC(arg0->unk81A8[multiplayerId]); + arg0->unk81A8[multiplayerId]->callback = sub_802CDD4; +} + +bool32 sub_802CD98(struct PokemonJump2 *arg0) +{ + int i; + u16 numPlayers = sub_802C8AC(); + for (i = 0; i < numPlayers; i++) + { + if (arg0->unk81A8[i]->callback == sub_802CDD4) + return TRUE; + } + + return FALSE; +} + +static void sub_802CDD4(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + PlaySE(SE_JITE_PYOKO); + sprite->data[1] = 0; + sprite->data[0]++; + // fall through + case 1: + sprite->data[1] += 4; + if (sprite->data[1] > 0x7F) + sprite->data[1] = 0; + + sprite->pos2.y = -(gSineTable[sprite->data[1]] >> 3); + if (sprite->data[1] == 0) + { + if (++sprite->data[2] < 2) + sprite->data[0] = 0; + else + sprite->callback = SpriteCallbackDummy; + } + break; + } +} + +void sub_802CE48(struct PokemonJump2 *arg0, s16 x, s16 y, u8 multiplayerId) +{ + u8 spriteId = CreateSprite(&gUnknown_082FC00C, x, y, 1); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].invisible = 1; + arg0->unk81BC[multiplayerId] = &gSprites[spriteId]; + } +} + +// void sub_802CE9C(struct PokemonJump2 *arg0) +// { +// int i; +// int count; +// u8 spriteId; + +// count = 0; +// for (i = 0; i < 4; i++) +// { +// spriteId = CreateSprite(&gUnknown_082FBEB8[i], gUnknown_082FBEA8[count], gUnknown_082FBE58[i * 10], 2); +// arg0->unk81D0[count] = &gSprites[spriteId]; +// count++; +// } + +// for (i = 0; i < 4; i++) +// { +// spriteId = CreateSprite(&gUnknown_082FBEB8[i], gUnknown_082FBEA8[count], gUnknown_082FBE58[i * 10], 2); +// arg0->unk81D0[count] = &gSprites[spriteId]; +// arg0->unk81D0[count]->hFlip = 1; +// count++; +// } +// } diff --git a/src/pokemon_size_record.c b/src/pokemon_size_record.c index 98d83d8ce4..f63e1ccbab 100644 --- a/src/pokemon_size_record.c +++ b/src/pokemon_size_record.c @@ -1,4 +1,5 @@ #include "global.h" +#include "data.h" #include "event_data.h" #include "pokedex.h" #include "pokemon.h" @@ -45,7 +46,6 @@ static const u8 sGiftRibbonsMonDataIds[] = extern const u8 gText_DecimalPoint[]; extern const u8 gText_Marco[]; -extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1]; #define CM_PER_INCH 2.54 diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index fb1be06984..148be7c5c9 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -1,7 +1,7 @@ #include "global.h" #include "alloc.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "dma3.h" #include "dynamic_placeholder_text_util.h" @@ -463,8 +463,6 @@ EWRAM_DATA static u8 sMovingMonOrigBoxId = 0; EWRAM_DATA static u8 sMovingMonOrigBoxPos = 0; EWRAM_DATA static bool8 sCanOnlyMove = 0; -extern const struct CompressedSpriteSheet gMonFrontPicTable[]; - // This file's functions. static void CreatePCMenu(u8 whichMenu, s16 *windowIdPtr); static void Cb2_EnterPSS(u8 boxOption); diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 3a5b06d45f..2ec0886283 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -9,7 +9,7 @@ #include "bg.h" #include "contest.h" #include "contest_effect.h" -#include "data2.h" +#include "data.h" #include "daycare.h" #include "decompress.h" #include "dynamic_placeholder_text_util.h" @@ -164,7 +164,6 @@ static EWRAM_DATA struct PokemonSummaryScreenData EWRAM_DATA u8 gLastViewedMonIndex = 0; static EWRAM_DATA u8 sUnknown_0203CF21 = 0; ALIGNED(4) static EWRAM_DATA u8 sUnknownTaskId = 0; -extern const struct CompressedSpriteSheet gMonFrontPicTable[]; struct UnkStruct_61CC04 { diff --git a/src/pokenav.c b/src/pokenav.c index 42114a4b27..be3826beda 100644 --- a/src/pokenav.c +++ b/src/pokenav.c @@ -6,500 +6,356 @@ #include "field_weather.h" #include "palette.h" #include "pokemon_storage_system.h" -#include "sound.h" -#include "constants/songs.h" -#include "window.h" -#include "gpu_regs.h" -#include "bg.h" -#include "menu.h" -#include "graphics.h" -#include "dma3.h" -#include "gba/macro.h" -#include "decompress.h" -#include "strings.h" -#include "constants/rgb.h" +#include "pokenav.h" -enum -{ - MODE_NORMAL, // Chosen from Start menu. - MODE_FORCE_CALL_1, // Used for the script's special. Has to choose Match Call and make a call. - MODE_FORCE_CALL_2, // Set after making a call, has to exit Pokenav. -}; +#define LOOPED_TASK_DECODE_STATE(action) (action - 5) -#define UNKNOWN_OFFSET 100000 - -struct UnknownSubStruct_0203CF40 -{ - void (*unk0)(u32); - u32 (*unk4)(void); - u32 unk8; - u32 unkC; - u32 unk10; - u32 unk14; - struct Sprite *unk18; - struct Sprite *unk1C[2]; - struct Sprite *unk24[2]; - u8 tilemapBuffer[0x1000]; -}; +#define LOOPED_TASK_ID(primary, secondary) (((secondary) << 16) |(primary)) +#define LOOPED_TASK_PRIMARY_ID(taskId) (taskId & 0xFFFF) +#define LOOPED_TASK_SECONDARY_ID(taskId) (taskId >> 16) #define SUBSTRUCT_COUNT 19 -struct UnknownStruct_0203CF40 +struct PokenavResources { - u32 (*field0)(void); - u32 field4; + u32 (*currentMenuCb1)(void); + u32 currentMenuIndex; u16 mode; u16 fieldA; bool32 hasAnyRibbons; - struct UnknownSubStruct_0203CF40 *field10[SUBSTRUCT_COUNT]; + void *field10[SUBSTRUCT_COUNT]; }; -extern u32 sub_81C9430(void); -extern void sub_81CAADC(void); -extern u32 sub_81C99D4(void); -extern void sub_8199D98(void); -extern void sub_81C7D28(void); -extern u32 sub_81C9298(void); -extern u32 sub_81C941C(void); -extern u32 sub_81C9924(void); +struct UnknownPokenavCallbackStruct +{ + bool32 (*unk0)(void); + u32 (*unk4)(void); + bool32 (*unk8)(void); + void (*unkC)(int); + u32 (*unk10)(void); + void (*unk14)(void); + void (*unk18)(void); +}; + +extern bool32 sub_81C9924(void); extern u32 sub_81C99C0(void); -extern u32 sub_81C9990(void); -extern u32 sub_81C9940(void); -extern u32 sub_81C9338(void); -extern u32 sub_81C9368(void); -extern u32 sub_81C92CC(void); -extern u32 sub_81C9304(void); -extern u32 sub_81CC4D4(void); -extern u32 sub_81CC554(void); -extern u32 sub_81CC5F4(void); -extern u32 sub_81CC62C(void); -extern u32 sub_81CC65C(void); -extern u32 sub_81CC524(void); -extern u32 sub_81CC670(void); +extern void sub_81C9990(int); +extern bool32 sub_81C9940(void); extern u32 sub_81CCFD8(void); extern u32 sub_81CD070(void); -extern u32 sub_81CDDD4(void); -extern u32 sub_81CDE2C(void); +extern bool32 sub_81CDDD4(void); +extern void sub_81CDE2C(int); extern u32 sub_81CDE64(void); -extern u32 sub_81CD1C0(void); -extern u32 sub_81CECA0(void); +extern void sub_81CD1C0(void); +extern void sub_81CECA0(void); extern u32 sub_81CEF3C(void); extern u32 sub_81CEFDC(void); -extern u32 sub_81CF330(void); -extern u32 sub_81CF3A0(void); +extern bool32 sub_81CF330(void); +extern void sub_81CF3A0(int); extern u32 sub_81CF3D0(void); -extern u32 sub_81CEFF0(void); -extern u32 sub_81CF3F8(void); +extern void sub_81CEFF0(void); +extern void sub_81CF3F8(void); extern u32 sub_81CD024(void); extern u32 sub_81CEF98(void); -extern u32 sub_81CF368(void); -extern u32 sub_81CAAE8(void); -extern u32 sub_81CAB24(void); -extern u32 sub_81CB260(void); -extern u32 sub_81CB29C(void); -extern u32 sub_81CB2CC(void); -extern u32 sub_81CAB38(void); -extern u32 sub_81CB2E0(void); +extern bool32 sub_81CF368(void); extern u32 sub_81CF9BC(void); extern u32 sub_81CFA34(void); -extern u32 sub_81CFDD0(void); -extern u32 sub_81CFE40(void); +extern bool32 sub_81CFDD0(void); +extern void sub_81CFE40(int); extern u32 sub_81CFE70(void); -extern u32 sub_81CFA48(void); -extern u32 sub_81CFE98(void); +extern void sub_81CFA48(void); +extern void sub_81CFE98(void); extern u32 sub_81D0450(void); extern u32 sub_81D04A0(void); -extern u32 sub_81D0978(void); -extern u32 sub_81D09B0(void); +extern bool32 sub_81D0978(void); +extern void sub_81D09B0(int); extern u32 sub_81D09E0(void); -extern u32 sub_81D04B8(void); -extern u32 sub_81D09F4(void); +extern void sub_81D04B8(void); +extern void sub_81D09F4(void); extern u32 sub_81CFA04(void); -extern u32 sub_81CFE08(void); +extern bool32 sub_81CFE08(void); -u32 sub_81C791C(s32 a0); -bool32 sub_81C756C(u32 a0); -bool32 sub_81C76C4(void); +static bool32 SetActivePokenavMenu(u32 menuId); static bool32 AnyMonHasRibbon(void); u32 sub_81C75E0(void); u32 sub_81C75D4(void); -u32 sub_81C76FC(void); -u32 sub_81C786C(void); -u32 sub_81C7764(s32 a0); -u32 sub_81C78D4(s32 a0); -bool32 sub_81C7738(void); -void CopyPaletteIntoBufferUnfaded(const u16 *palette, u32 a1, u32 a2); +u32 PokenavMainMenuLoopedTaskIsActive(void); +bool32 WaitForPokenavShutdownFade(void); void sub_81C7834(void *func1, void *func2); -static void InitMainStruct(struct UnknownStruct_0203CF40 *a0); -void FreeSubstruct(u32 index); -void sub_81C7850(u32 a0); -void sub_81C7BF8(u32 a0); -void sub_81C71E4(u8 a0); -void sub_81C7170(u8 taskId); +static void InitPokenavResources(struct PokenavResources *a0); +void Task_RunLoopedTask_LinkMode(u8 a0); +void Task_RunLoopedTask(u8 taskId); void sub_81C742C(u8 taskId); -void sub_81C7710(void); +void ShutdownPokenav(void); static void InitKeys_(void); -static void FreeVars(void); -static void VblankCb_Pokenav(void); +static void FreePokenavResources(void); +static void VBlankCB_Pokenav(void); static void CB2_Pokenav(void); -void sub_81C7C28(void); void sub_81C72BC(void); -void sub_81C7B74(void); -void sub_81C7C94(void); -void sub_81C7F24(u32 arg0); -void sub_81C7E58(u32 arg0); -void sub_81C8110(bool32 arg0); -void sub_81C80D4(bool32 arg0); -void sub_81C803C(u32 arg0, bool32 arg1); -void sub_81C8088(u32 arg0, bool32 arg1); -void sub_81C814C(struct Sprite *sprite, s32 arg1, s32 arg2, s32 arg3); -void sub_81C817C(struct Sprite *sprite); -// Const rom data. -u32 (*const gUnknown_0861F3EC[15][7])(void) = +const struct UnknownPokenavCallbackStruct PokenavMenuCallbacks[15] = { { - sub_81C9298, - sub_81C941C, - sub_81C9924, - sub_81C9990, - sub_81C99C0, - sub_81C9430, - sub_81C99D4, + .unk0 = sub_81C9298, + .unk4 = sub_81C941C, + .unk8 = sub_81C9924, + .unkC = sub_81C9990, + .unk10 = sub_81C99C0, + .unk14 = sub_81C9430, + .unk18 = sub_81C99D4, }, { - sub_81C9298, - sub_81C941C, - sub_81C9940, - sub_81C9990, - sub_81C99C0, - sub_81C9430, - sub_81C99D4, + .unk0 = sub_81C9298, + .unk4 = sub_81C941C, + .unk8 = sub_81C9940, + .unkC = sub_81C9990, + .unk10 = sub_81C99C0, + .unk14 = sub_81C9430, + .unk18 = sub_81C99D4, }, { - sub_81C9338, - sub_81C941C, - sub_81C9940, - sub_81C9990, - sub_81C99C0, - sub_81C9430, - sub_81C99D4, + .unk0 = sub_81C9338, + .unk4 = sub_81C941C, + .unk8 = sub_81C9940, + .unkC = sub_81C9990, + .unk10 = sub_81C99C0, + .unk14 = sub_81C9430, + .unk18 = sub_81C99D4, }, { - sub_81C9368, - sub_81C941C, - sub_81C9940, - sub_81C9990, - sub_81C99C0, - sub_81C9430, - sub_81C99D4, + .unk0 = sub_81C9368, + .unk4 = sub_81C941C, + .unk8 = sub_81C9940, + .unkC = sub_81C9990, + .unk10 = sub_81C99C0, + .unk14 = sub_81C9430, + .unk18 = sub_81C99D4, }, { - sub_81C92CC, - sub_81C941C, - sub_81C9940, - sub_81C9990, - sub_81C99C0, - sub_81C9430, - sub_81C99D4, + .unk0 = sub_81C92CC, + .unk4 = sub_81C941C, + .unk8 = sub_81C9940, + .unkC = sub_81C9990, + .unk10 =sub_81C99C0, + .unk14 = sub_81C9430, + .unk18 = sub_81C99D4, }, { - sub_81C9304, - sub_81C941C, - sub_81C9940, - sub_81C9990, - sub_81C99C0, - sub_81C9430, - sub_81C99D4, + .unk0 = sub_81C9304, + .unk4 = sub_81C941C, + .unk8 = sub_81C9940, + .unkC = sub_81C9990, + .unk10 = sub_81C99C0, + .unk14 = sub_81C9430, + .unk18 = sub_81C99D4, }, { - sub_81CC4D4, - sub_81CC554, - sub_81CC5F4, - sub_81CC62C, - sub_81CC65C, - sub_81CC524, - sub_81CC670, + .unk0 = sub_81CC4D4, + .unk4 = sub_81CC554, + .unk8 = sub_81CC5F4, + .unkC = sub_81CC62C, + .unk10 = sub_81CC65C, + .unk14 = sub_81CC524, + .unk18 = sub_81CC670, }, { - sub_81CCFD8, - sub_81CD070, - sub_81CDDD4, - sub_81CDE2C, - sub_81CDE64, - sub_81CD1C0, - sub_81CECA0, + .unk0 = sub_81CCFD8, + .unk4 = sub_81CD070, + .unk8 = sub_81CDDD4, + .unkC = sub_81CDE2C, + .unk10 = sub_81CDE64, + .unk14 = sub_81CD1C0, + .unk18 = sub_81CECA0, }, { - sub_81CEF3C, - sub_81CEFDC, - sub_81CF330, - sub_81CF3A0, - sub_81CF3D0, - sub_81CEFF0, - sub_81CF3F8, + .unk0 = sub_81CEF3C, + .unk4 = sub_81CEFDC, + .unk8 = sub_81CF330, + .unkC = sub_81CF3A0, + .unk10 = sub_81CF3D0, + .unk14 = sub_81CEFF0, + .unk18 = sub_81CF3F8, }, { - sub_81CD024, - sub_81CD070, - sub_81CDDD4, - sub_81CDE2C, - sub_81CDE64, - sub_81CD1C0, - sub_81CECA0, + .unk0 = sub_81CD024, + .unk4 = sub_81CD070, + .unk8 = sub_81CDDD4, + .unkC = sub_81CDE2C, + .unk10 = sub_81CDE64, + .unk14 = sub_81CD1C0, + .unk18 = sub_81CECA0, }, { - sub_81CEF98, - sub_81CEFDC, - sub_81CF368, - sub_81CF3A0, - sub_81CF3D0, - sub_81CEFF0, - sub_81CF3F8, + .unk0 = sub_81CEF98, + .unk4 = sub_81CEFDC, + .unk8 = sub_81CF368, + .unkC = sub_81CF3A0, + .unk10 = sub_81CF3D0, + .unk14 = sub_81CEFF0, + .unk18 = sub_81CF3F8, }, { - sub_81CAAE8, - sub_81CAB24, - sub_81CB260, - sub_81CB29C, - sub_81CB2CC, - sub_81CAB38, - sub_81CB2E0, + .unk0 = sub_81CAAE8, + .unk4 = sub_81CAB24, + .unk8 = sub_81CB260, + .unkC = sub_81CB29C, + .unk10 = sub_81CB2CC, + .unk14 = sub_81CAB38, + .unk18 = sub_81CB2E0, }, { - sub_81CF9BC, - sub_81CFA34, - sub_81CFDD0, - sub_81CFE40, - sub_81CFE70, - sub_81CFA48, - sub_81CFE98, + .unk0 = sub_81CF9BC, + .unk4 = sub_81CFA34, + .unk8 = sub_81CFDD0, + .unkC = sub_81CFE40, + .unk10 = sub_81CFE70, + .unk14 = sub_81CFA48, + .unk18 = sub_81CFE98, }, { - sub_81D0450, - sub_81D04A0, - sub_81D0978, - sub_81D09B0, - sub_81D09E0, - sub_81D04B8, - sub_81D09F4, + .unk0 = sub_81D0450, + .unk4 = sub_81D04A0, + .unk8 = sub_81D0978, + .unkC = sub_81D09B0, + .unk10 = sub_81D09E0, + .unk14 = sub_81D04B8, + .unk18 = sub_81D09F4, }, { - sub_81CFA04, - sub_81CFA34, - sub_81CFE08, - sub_81CFE40, - sub_81CFE70, - sub_81CFA48, - sub_81CFE98, + .unk0 = sub_81CFA04, + .unk4 = sub_81CFA34, + .unk8 = sub_81CFE08, + .unkC = sub_81CFE40, + .unk10 = sub_81CFE70, + .unk14 = sub_81CFA48, + .unk18 = sub_81CFE98, }, }; -const u16 gUnknown_0861F590[] = INCBIN_U16("graphics/pokenav/icon2.gbapal"); -const u32 gUnknown_0861F5B0[] = INCBIN_U32("graphics/pokenav/icon2.4bpp.lz"); -const u32 gUnknown_0861F994[] = INCBIN_U32("graphics/pokenav/icon2_unused.4bpp.lz"); - -const struct BgTemplate gUnknown_0861FA04[] = -{ - { - .bg = 0, - .charBaseIndex = 0, - .mapBaseIndex = 5, - .screenSize = 0, - .paletteMode = 0, - .priority = 0, - .baseTile = 0, - } -}; - -const struct WindowTemplate gUnknown_0861FA08[2] = -{ - { - .bg = 0, - .tilemapLeft = 1, - .tilemapTop = 22, - .width = 16, - .height = 2, - .paletteNum = 0, - .baseBlock = 0x36, - }, - { - .bg = 0xFF, - .tilemapLeft = 0, - .tilemapTop = 0, - .width = 0, - .height = 0, - .paletteNum = 0, - .baseBlock = 0, - }, -}; - -const u8 *const (sMenuButtonReminders[12]) = -{ - gText_Navgear_ClearButtonList, - gText_NavgearMap_ZoomedOutButtons, - gText_NavgearMap_ZoomedInButtons, - gText_NavgearCondition_MonListButtons, - gText_NavgearCondition_MonStatusButtons, - gText_NavgearCondition_MarkingButtons, - gText_NavgearMatchCall_TrainerListButtons, - gText_NavgearMatchCall_CallMenuButtons, - gText_NavgearMatchCall_CheckTrainerButtons, - gText_NavgearRibbons_MonListButtons, - gText_NavgearRibbons_RibbonListButtons, - gText_NavgearRibbons_RibbonCheckButtons, -}; - -const u8 gMenuButtonReminderColor[4] = -{ - 4, 1, 2, 0 -}; - -const struct CompressedSpriteSheet gUnknown_0861FA4C[] = -{ - { - .data = gUnknown_0861F5B0, - .size = 0x1000, - .tag = 0, - } -}; - -const struct SpritePalette gUnknown_0861FA54[2] = -{ - { - .data = gUnknown_0861F590, - .tag = 0, - }, -}; - -const struct CompressedSpriteSheet gUnknown_0861FA64 = -{ - .data = gPokenavLeftHeaderHoennMap_Gfx, - .size = 0xC00, - .tag = 2 -}; - -extern struct UnknownStruct_0203CF40 *gUnknown_0203CF40; -extern u8 gUnknown_0203CF3C; -extern const struct SpriteTemplate gUnknown_0861FB04; +EWRAM_DATA u8 gNextLoopedTaskId = 0; +EWRAM_DATA struct PokenavResources *gPokenavResources = NULL; // code -u32 sub_81C7078(u32 (*func)(s32), u32 priority) +u32 CreateLoopedTask(LoopedTask loopedTask, u32 priority) { u16 taskId; if (!IsUpdateLinkStateCBActive()) - taskId = CreateTask(sub_81C7170, priority); + taskId = CreateTask(Task_RunLoopedTask, priority); else - taskId = CreateTask(sub_81C71E4, priority); + taskId = CreateTask(Task_RunLoopedTask_LinkMode, priority); - SetWordTaskArg(taskId, 1, (u32)func); + SetWordTaskArg(taskId, 1, (u32)loopedTask); - gTasks[taskId].data[3] = gUnknown_0203CF3C; - return ((gUnknown_0203CF3C++) << 16) | taskId; + gTasks[taskId].data[3] = gNextLoopedTaskId; + return LOOPED_TASK_ID(taskId, gNextLoopedTaskId++); } -bool32 sub_81C70D8(u32 a0) +bool32 IsLoopedTaskActive(u32 taskId) { - u32 taskId = a0 & 0xFFFF; - u32 v2 = a0 >> 16; + u32 primaryId = LOOPED_TASK_PRIMARY_ID(taskId); + u32 secondaryId = LOOPED_TASK_SECONDARY_ID(taskId); - if (gTasks[taskId].isActive - && (gTasks[taskId].func == sub_81C7170 || gTasks[taskId].func == sub_81C71E4) - && gTasks[taskId].data[3] == v2) + if (gTasks[primaryId].isActive + && (gTasks[primaryId].func == Task_RunLoopedTask || gTasks[primaryId].func == Task_RunLoopedTask_LinkMode) + && gTasks[primaryId].data[3] == secondaryId) return TRUE; else return FALSE; } -bool32 sub_81C7124(u32 a0) +bool32 FuncIsActiveLoopedTask(LoopedTask func) { - s32 i; + int i; for (i = 0; i < NUM_TASKS; i++) { if (gTasks[i].isActive - && (gTasks[i].func == sub_81C7170 || gTasks[i].func == sub_81C71E4) - && GetWordTaskArg(i, 1) == a0) + && (gTasks[i].func == Task_RunLoopedTask || gTasks[i].func == Task_RunLoopedTask_LinkMode) + && (LoopedTask)GetWordTaskArg(i, 1) == func) return TRUE; } return FALSE; } -void sub_81C7170(u8 taskId) +void Task_RunLoopedTask(u8 taskId) { - u32 (*func)(s32) = (void *)GetWordTaskArg(taskId, 1); - s16 *data = gTasks[taskId].data; + LoopedTask loopedTask = (LoopedTask)GetWordTaskArg(taskId, 1); + s16 *state = &gTasks[taskId].data[0]; bool32 exitLoop = FALSE; while (!exitLoop) { - u32 var = func(data[0]); - switch (var) + u32 action = loopedTask(*state); + switch (action) { - case 1: - data[0] = data[0] + 1; + case LT_INC_AND_CONTINUE: + (*state)++; break; - case 0: - data[0]++; + case LT_INC_AND_PAUSE: + (*state)++; return; - case 4: + case LT_FINISH: DestroyTask(taskId); return; + // case LT_SET_STATE: default: - data[0] = var - 5; + *state = LOOPED_TASK_DECODE_STATE(action); break; - case 3: + case LT_CONTINUE: break; - case 2: + case LT_PAUSE: return; } } } -void sub_81C71E4(u8 taskId) +// Every "Continue" action pauses instead. +void Task_RunLoopedTask_LinkMode(u8 taskId) { - u32 (*func)(u32); - s16 *data; - u32 v1; + LoopedTask task; + s16 *state; + u32 action; if (sub_8087598()) return; - func = (u32 (*)(u32))GetWordTaskArg(taskId, 1); - data = gTasks[taskId].data; - v1 = func(data[0]); - switch (v1) + + task = (LoopedTask)GetWordTaskArg(taskId, 1); + state = &gTasks[taskId].data[0]; + action = task(*state); + switch (action) { - case 0: - case 1: - data[0]++; + case LT_INC_AND_PAUSE: + case LT_INC_AND_CONTINUE: + (*state)++; break; - case 4: + case LT_FINISH: DestroyTask(taskId); break; + // case: LT_SET_STATE: default: - data[0] = v1 - 5; + *state = LOOPED_TASK_DECODE_STATE(action); break; - case 2: - case 3: + case LT_PAUSE: + case LT_CONTINUE: break; } } void CB2_InitPokeNav(void) { - gUnknown_0203CF40 = Alloc(sizeof(*gUnknown_0203CF40)); - if (gUnknown_0203CF40 == NULL) + gPokenavResources = Alloc(sizeof(*gPokenavResources)); + if (gPokenavResources == NULL) { SetMainCallback2(CB2_ReturnToFieldWithOpenMenu); } else { - InitMainStruct(gUnknown_0203CF40); + InitPokenavResources(gPokenavResources); ResetTasks(); SetVBlankCallback(NULL); CreateTask(sub_81C742C, 0); SetMainCallback2(CB2_Pokenav); - SetVBlankCallback(VblankCb_Pokenav); + SetVBlankCallback(VBlankCB_Pokenav); } } @@ -515,53 +371,52 @@ void sub_81C72BC(void) if (gPaletteFade.active) return; - gUnknown_0203CF40 = Alloc(sizeof(*gUnknown_0203CF40)); - if (gUnknown_0203CF40 == NULL) + gPokenavResources = Alloc(sizeof(*gPokenavResources)); + if (gPokenavResources == NULL) { SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); } else { - InitMainStruct(gUnknown_0203CF40); - gUnknown_0203CF40->mode = MODE_FORCE_CALL_1; + InitPokenavResources(gPokenavResources); + gPokenavResources->mode = POKENAV_MODE_FORCE_CALL_1; ResetTasks(); ResetSpriteData(); FreeAllSpritePalettes(); SetVBlankCallback(NULL); CreateTask(sub_81C742C, 0); SetMainCallback2(CB2_Pokenav); - SetVBlankCallback(VblankCb_Pokenav); + SetVBlankCallback(VBlankCB_Pokenav); } } -static void FreeVars(void) +static void FreePokenavResources(void) { - s32 i; + int i; for (i = 0; i < SUBSTRUCT_COUNT; i++) - FreeSubstruct(i); + FreePokenavSubstruct(i); - FREE_AND_SET_NULL(gUnknown_0203CF40); + FREE_AND_SET_NULL(gPokenavResources); InitKeys(); } -// Clears UnknownStruct_0203CF40 -static void InitMainStruct(struct UnknownStruct_0203CF40 *a0) +static void InitPokenavResources(struct PokenavResources *a0) { - s32 i; + int i; for (i = 0; i < SUBSTRUCT_COUNT; i++) a0->field10[i] = NULL; - a0->mode = MODE_NORMAL; - a0->field4 = 0; + a0->mode = POKENAV_MODE_NORMAL; + a0->currentMenuIndex = 0; a0->hasAnyRibbons = AnyMonHasRibbon(); - a0->field0 = NULL; + a0->currentMenuCb1 = NULL; } static bool32 AnyMonHasRibbon(void) { - s32 i, j; + int i, j; for (i = 0; i < PARTY_SIZE; i++) { @@ -596,7 +451,7 @@ static void CB2_Pokenav(void) UpdatePaletteFade(); } -static void VblankCb_Pokenav(void) +static void VBlankCB_Pokenav(void) { TransferPlttBuffer(); LoadOam(); @@ -611,13 +466,14 @@ void sub_81C742C(u8 taskId) switch (data[0]) { case 0: - sub_81C76C4(); + InitPokenavMainMenu(); data[0] = 1; break; case 1: - if (sub_81C76FC()) + // Wait for LoopedTask_InitPokenavMenu to finish + if (PokenavMainMenuLoopedTaskIsActive()) break; - sub_81C756C(UNKNOWN_OFFSET); + SetActivePokenavMenu(POKENAV_MENU_0); data[0] = 4; break; case 2: @@ -628,20 +484,20 @@ void sub_81C742C(u8 taskId) v1 = sub_81C75E0(); if (v1 == -1) { - sub_81C7710(); + ShutdownPokenav(); data[0] = 5; } - else if (v1 >= UNKNOWN_OFFSET) + else if (v1 >= POKENAV_MENU_IDS_START) { - gUnknown_0861F3EC[gUnknown_0203CF40->field4][6](); - gUnknown_0861F3EC[gUnknown_0203CF40->field4][5](); - if (sub_81C756C(v1)) + PokenavMenuCallbacks[gPokenavResources->currentMenuIndex].unk18(); + PokenavMenuCallbacks[gPokenavResources->currentMenuIndex].unk14(); + if (SetActivePokenavMenu(v1)) { data[0] = 4; } else { - sub_81C7710(); + ShutdownPokenav(); data[0] = 5; } } @@ -657,12 +513,12 @@ void sub_81C742C(u8 taskId) data[0] = 3; break; case 5: - if (!sub_81C7738()) + if (!WaitForPokenavShutdownFade()) { - bool32 calledFromScript = (gUnknown_0203CF40->mode != MODE_NORMAL); + bool32 calledFromScript = (gPokenavResources->mode != POKENAV_MODE_NORMAL); sub_81C9430(); - FreeVars(); + FreePokenavResources(); if (calledFromScript) SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); else @@ -672,19 +528,19 @@ void sub_81C742C(u8 taskId) } } -bool32 sub_81C756C(u32 a0) +static bool32 SetActivePokenavMenu(u32 menuId) { - u32 index = a0 - UNKNOWN_OFFSET; + u32 index = menuId - POKENAV_MENU_IDS_START; InitKeys_(); - if (!gUnknown_0861F3EC[index][0]()) + if (!PokenavMenuCallbacks[index].unk0()) return FALSE; - if (!gUnknown_0861F3EC[index][2]()) + if (!PokenavMenuCallbacks[index].unk8()) return FALSE; - sub_81C7834(gUnknown_0861F3EC[index][3], gUnknown_0861F3EC[index][4]); - gUnknown_0203CF40->field0 = gUnknown_0861F3EC[index][1]; - gUnknown_0203CF40->field4 = index; + sub_81C7834(PokenavMenuCallbacks[index].unkC, PokenavMenuCallbacks[index].unk10); + gPokenavResources->currentMenuCb1 = PokenavMenuCallbacks[index].unk4; + gPokenavResources->currentMenuIndex = index; return TRUE; } @@ -695,7 +551,7 @@ u32 sub_81C75D4(void) u32 sub_81C75E0(void) { - return gUnknown_0203CF40->field0(); + return gPokenavResources->currentMenuCb1(); } static void InitKeys_(void) @@ -710,33 +566,34 @@ void SetVBlankCallback_(IntrCallback callback) void SetPokenavVBlankCallback(void) { - SetVBlankCallback(VblankCb_Pokenav); + SetVBlankCallback(VBlankCB_Pokenav); } void *AllocSubstruct(u32 index, u32 size) { - return gUnknown_0203CF40->field10[index] = Alloc(size); + gPokenavResources->field10[index] = Alloc(size); + return gPokenavResources->field10[index]; } -struct UnknownSubStruct_0203CF40 *GetSubstructPtr(u32 index) +void *GetSubstructPtr(u32 index) { - return gUnknown_0203CF40->field10[index]; + return gPokenavResources->field10[index]; } -void FreeSubstruct(u32 index) +void FreePokenavSubstruct(u32 index) { - if (gUnknown_0203CF40->field10[index] != NULL) - FREE_AND_SET_NULL(gUnknown_0203CF40->field10[index]); + if (gPokenavResources->field10[index] != NULL) + FREE_AND_SET_NULL(gPokenavResources->field10[index]); } -u16 GetPokenavMode(void) +u32 GetPokenavMode(void) { - return gUnknown_0203CF40->mode; + return gPokenavResources->mode; } void SetPokenavMode(u16 mode) { - gUnknown_0203CF40->mode = mode; + gPokenavResources->mode = mode; } void sub_81C7694(u32 a0) @@ -745,689 +602,15 @@ void sub_81C7694(u32 a0) if (value > 4) value = 0; - gUnknown_0203CF40->fieldA = value; + gPokenavResources->fieldA = value; } u16 sub_81C76AC(void) { - return gUnknown_0203CF40->fieldA; + return gPokenavResources->fieldA; } bool32 CanViewRibbonsMenu(void) { - return gUnknown_0203CF40->hasAnyRibbons; + return gPokenavResources->hasAnyRibbons; } - -bool32 sub_81C76C4(void) -{ - struct UnknownSubStruct_0203CF40 *structPtr = AllocSubstruct(0, 0x82C); - if (structPtr == NULL) - return FALSE; - - ResetSpriteData(); - FreeAllSpritePalettes(); - structPtr->unkC = sub_81C7078(sub_81C7764, 1); - return TRUE; -} - -u32 sub_81C76FC(void) -{ - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - return sub_81C70D8(structPtr->unkC); -} - -void sub_81C7710(void) -{ - PlaySE(SE_PN_OFF); - sub_81CAADC(); - BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK); -} - -bool32 sub_81C7738(void) -{ - if (!gPaletteFade.active) - { - sub_81C99D4(); - sub_81C7C94(); - FreeAllWindowBuffers(); - return FALSE; - } - - return TRUE; -} - -u32 sub_81C7764(s32 a0) -{ - struct UnknownSubStruct_0203CF40 *structPtr; - - switch (a0) - { - case 0: - SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); - FreeAllWindowBuffers(); - ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, gUnknown_0861FA04, ARRAY_COUNT(gUnknown_0861FA04)); - sub_8199D98(); - reset_temp_tile_data_buffers(); - return 1; - case 1: - structPtr = GetSubstructPtr(0); - decompress_and_copy_tile_data_to_vram(0, &gPokenavHeader_Gfx, 0, 0, 0); - SetBgTilemapBuffer(0, structPtr->tilemapBuffer); - CopyToBgTilemapBuffer(0, &gPokenavHeader_Tilemap, 0, 0); - CopyPaletteIntoBufferUnfaded(gPokenavHeader_Pal, 0, 0x20); - CopyBgTilemapBufferToVram(0); - return 0; - case 2: - if (free_temp_tile_data_buffers_if_possible()) - return 2; - - sub_81C7B74(); - return 0; - case 3: - if (IsDma3ManagerBusyWithBgCopy()) - return 2; - - sub_81C7C28(); - sub_81C7D28(); - ShowBg(0); - return 4; - default: - return 4; - } -} - -void sub_81C7834(void *func1, void *func2) // Fix types later. -{ - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - structPtr->unk0 = func1; - structPtr->unk4 = func2; - structPtr->unk8 = 0; -} - -void sub_81C7850(u32 a0) -{ - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - structPtr->unk8 = 0; - structPtr->unk0(a0); -} - -u32 sub_81C786C(void) -{ - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - return structPtr->unk4(); -} - -void sub_81C7880(void) -{ - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - structPtr->unkC = sub_81C7078(sub_81C78D4, 4); -} - -void sub_81C78A0(void) -{ - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - structPtr->unkC = sub_81C7078(sub_81C791C, 4); -} - -bool32 sub_81C78C0(void) -{ - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - return sub_81C70D8(structPtr->unkC); -} - -u32 sub_81C78D4(s32 a0) -{ - switch (a0) - { - default: - return 4; - case 1: - return 0; - case 0: - return 0; - case 2: - if (ChangeBgY(0, 384, 1) >= 0x2000u) - { - ChangeBgY(0, 0x2000, 0); - return 4; - } - - return 2; - } -} - -u32 sub_81C791C(s32 a0) -{ - if (ChangeBgY(0, 384, 2) <= 0) - { - ChangeBgY(0, 0, 0); - return 4; - } - return 2; -} - -void CopyPaletteIntoBufferUnfaded(const u16 *palette, u32 bufferOffset, u32 size) -{ - CpuCopy16(palette, gPlttBufferUnfaded + bufferOffset, size); -} - -void sub_81C795C(const struct SpritePalette *palettes) -{ - const struct SpritePalette *current; - u32 index; - - for (current = palettes; current->data != NULL; current++) - { - index = AllocSpritePalette(current->tag); - if (index == 0xFF) - { - break; - } - else - { - index = (index * 16) + 0x100; - CopyPaletteIntoBufferUnfaded(current->data, index, 0x20); - } - } -} - -void sub_81C7990(u32 a0, u16 a1) -{ - CpuFill16(a1, gPlttBufferFaded + 0x100 + (a0 * 16), 16 * sizeof(u16)); -} - -__attribute__((naked)) -void sub_81C79BC(u16 *a0, u16 *a1, u32 a2, u32 a3, u32 a4, u32 a5) -{ - asm(".syntax 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, 0xC\n\ - str r0, [sp]\n\ - str r1, [sp, 0x4]\n\ - mov r10, r2\n\ - str r3, [sp, 0x8]\n\ - ldr r0, [sp, 0x2C]\n\ - cmp r0, 0\n\ - bne _081C79E4\n\ - ldr r2, =0x001fffff\n\ - mov r1, r10\n\ - ands r2, r1\n\ - ldr r0, [sp]\n\ - b _081C79F4\n\ - .pool\n\ -_081C79E4:\n\ - ldr r2, [sp, 0x2C]\n\ - ldr r0, [sp, 0x8]\n\ - cmp r2, r0\n\ - blt _081C7A00\n\ - ldr r2, =0x001fffff\n\ - mov r1, r10\n\ - ands r2, r1\n\ - ldr r0, [sp, 0x4]\n\ -_081C79F4:\n\ - ldr r1, [sp, 0x30]\n\ - bl CpuSet\n\ - b _081C7AAE\n\ - .pool\n\ -_081C7A00:\n\ - movs r2, 0x1\n\ - negs r2, r2\n\ - add r10, r2\n\ - b _081C7AA6\n\ -_081C7A08:\n\ - ldr r1, [sp]\n\ - ldrh r0, [r1]\n\ - movs r2, 0x1F\n\ - mov r9, r2\n\ - mov r1, r9\n\ - ands r1, r0\n\ - mov r9, r1\n\ - lsls r0, 16\n\ - lsrs r2, r0, 21\n\ - movs r1, 0x1F\n\ - ands r1, r2\n\ - mov r8, r1\n\ - lsrs r7, r0, 26\n\ - movs r2, 0x1F\n\ - ands r7, r2\n\ - ldr r0, [sp, 0x4]\n\ - ldrh r4, [r0]\n\ - movs r0, 0x1F\n\ - ands r0, r4\n\ - mov r1, r9\n\ - subs r0, r1\n\ - lsls r0, 8\n\ - ldr r1, [sp, 0x8]\n\ - bl __divsi3\n\ - ldr r2, [sp, 0x2C]\n\ - adds r6, r0, 0\n\ - muls r6, r2\n\ - asrs r6, 8\n\ - lsls r4, 16\n\ - lsrs r0, r4, 21\n\ - movs r1, 0x1F\n\ - ands r0, r1\n\ - mov r2, r8\n\ - subs r0, r2\n\ - lsls r0, 8\n\ - ldr r1, [sp, 0x8]\n\ - bl __divsi3\n\ - ldr r1, [sp, 0x2C]\n\ - adds r5, r0, 0\n\ - muls r5, r1\n\ - asrs r5, 8\n\ - lsrs r4, 26\n\ - movs r2, 0x1F\n\ - ands r4, r2\n\ - subs r4, r7\n\ - lsls r4, 8\n\ - adds r0, r4, 0\n\ - ldr r1, [sp, 0x8]\n\ - bl __divsi3\n\ - ldr r1, [sp, 0x2C]\n\ - muls r0, r1\n\ - asrs r0, 8\n\ - add r6, r9\n\ - movs r2, 0x1F\n\ - ands r6, r2\n\ - add r5, r8\n\ - ands r5, r2\n\ - adds r0, r7, r0\n\ - ands r0, r2\n\ - lsls r0, 10\n\ - lsls r5, 5\n\ - orrs r0, r5\n\ - orrs r0, r6\n\ - ldr r1, [sp, 0x30]\n\ - strh r0, [r1]\n\ - ldr r2, [sp]\n\ - adds r2, 0x2\n\ - str r2, [sp]\n\ - ldr r0, [sp, 0x4]\n\ - adds r0, 0x2\n\ - str r0, [sp, 0x4]\n\ - adds r1, 0x2\n\ - str r1, [sp, 0x30]\n\ - movs r1, 0x1\n\ - negs r1, r1\n\ - add r10, r1\n\ -_081C7AA6:\n\ - movs r0, 0x1\n\ - negs r0, r0\n\ - cmp r10, r0\n\ - bne _081C7A08\n\ -_081C7AAE:\n\ - add sp, 0xC\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\ - .syntax divided"); -} - -void sub_81C7AC0(s32 a0) -{ - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - - switch (a0) - { - case 0: - BeginNormalPaletteFade(structPtr->unk14, -2, 0, 16, RGB_BLACK); - break; - case 1: - BeginNormalPaletteFade(structPtr->unk14, -2, 16, 0, RGB_BLACK); - break; - case 2: - BeginNormalPaletteFade(0xFFFFFFFF, -2, 0, 16, RGB_BLACK); - break; - case 3: - BeginNormalPaletteFade(0xFFFFFFFF, -2, 16, 0, RGB_BLACK); - break; - } -} - -bool32 IsPaletteFadeActive(void) -{ - return gPaletteFade.active; -} - -void sub_81C7B40(void) -{ - BlendPalettes(0xFFFEFFFE, 16, RGB_BLACK); -} - -void InitBgTemplates(const struct BgTemplate *templates, s32 count) -{ - s32 i; - - for (i = 0; i < count; i++) - InitBgFromTemplate(templates++); -} - -void sub_81C7B74(void) -{ - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - - InitWindows(&gUnknown_0861FA08[0]); - structPtr->unk10 = 0; - sub_81C7BF8(structPtr->unk10); - PutWindowTilemap(structPtr->unk10); - CopyWindowToVram(structPtr->unk10, 3); // TODO: Use a defined constant here. -} - -void sub_81C7BA4(u32 a0) -{ - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - - sub_81C7BF8(structPtr->unk10); - AddTextPrinterParameterized3(structPtr->unk10, 1, 0, 1, gMenuButtonReminderColor, 0, sMenuButtonReminders[a0]); -} - -bool32 IsDma3ManagerBusyWithBgCopy_(void) -{ - return IsDma3ManagerBusyWithBgCopy(); -} - -void sub_81C7BF8(u32 windowId) -{ - FillWindowPixelBuffer(windowId, PIXEL_FILL(4)); - FillWindowPixelRect(windowId, PIXEL_FILL(5), 0, 0, 0x80, 1); -} - -void sub_81C7C28(void) -{ - s32 i; - u8 spriteId; - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - - for (i = 0; i < ARRAY_COUNT(gUnknown_0861FA4C); i++) - LoadCompressedSpriteSheet(&gUnknown_0861FA4C[i]); - - sub_81C795C(gUnknown_0861FA54); - structPtr->unk14 = ~1 & ~(0x10000 << IndexOfSpritePaletteTag(0)); - spriteId = CreateSprite(&gUnknown_0861FB04, 220, 12, 0); - structPtr->unk18 = &gSprites[spriteId]; -} - -void sub_81C7C94(void) -{ - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - - DestroySprite(structPtr->unk18); - FreeSpriteTilesByTag(0); - FreeSpritePaletteByTag(0); -} - -void sub_81C7CB4(struct Sprite *sprite) -{ - sprite->pos2.y = (GetBgY(0) / 256u) * -1; -} - -struct Sprite *sub_81C7CCC(void) -{ - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - - structPtr->unk18->callback = SpriteCallbackDummy; - return structPtr->unk18; -} - -void sub_81C7CE4(void) -{ - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - - structPtr->unk18->pos1.x = 220; - structPtr->unk18->pos1.y = 12; - structPtr->unk18->callback = sub_81C7CB4; - structPtr->unk18->invisible = FALSE; - structPtr->unk18->oam.priority = 0; - structPtr->unk18->subpriority = 0; -} - -extern const struct SpriteTemplate gUnknown_0861FB2C; -extern const struct SpriteTemplate gUnknown_0861FB44; -extern const struct CompressedSpriteSheet gUnknown_0861FA6C[]; - -void sub_81C7D28(void) -{ - s32 i, spriteId; - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - - LoadCompressedSpriteSheet(&gUnknown_0861FA64); - AllocSpritePalette(1); - AllocSpritePalette(2); - for (i = 0; i < 2; i++) - { - spriteId = CreateSprite(&gUnknown_0861FB2C, 0, 0, 1); - structPtr->unk1C[i] = &gSprites[spriteId]; - structPtr->unk1C[i]->invisible = TRUE; - structPtr->unk1C[i]->pos2.x = i * 64; - - spriteId = CreateSprite(&gUnknown_0861FB44, 0, 0, 2); - structPtr->unk24[i] = &gSprites[spriteId]; - structPtr->unk24[i]->invisible = TRUE; - structPtr->unk24[i]->pos2.x = i * 32; - structPtr->unk24[i]->pos2.y = 18; - structPtr->unk24[i]->oam.tileNum += (i * 8) + 64; - } -} - -void sub_81C7DFC(u32 arg0) -{ - if (arg0 < 6) - sub_81C7E58(arg0); - else - sub_81C7F24(arg0 - 6); -} - -void sub_81C7E14(u32 arg0) -{ - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - - if (arg0 == 4) - structPtr->unk1C[1]->oam.tileNum = GetSpriteTileStartByTag(2) + 32; - else - structPtr->unk1C[1]->oam.tileNum = GetSpriteTileStartByTag(2) + 64; -} - -void sub_81C7E58(u32 arg0) -{ - struct UnknownSubStruct_0203CF40 *structPtr; - u32 size, tag; - - if (arg0 >= 6) - return; - - structPtr = GetSubstructPtr(0); - tag = gUnknown_0861FA6C[arg0].tag; - size = GetDecompressedDataSize(gUnknown_0861FA6C[arg0].data); - LoadPalette(&gPokenavLeftHeader_Pal[tag * 16], (IndexOfSpritePaletteTag(1) * 16) + 0x100, 0x20); - LZ77UnCompWram(gUnknown_0861FA6C[arg0].data, gDecompressionBuffer); - RequestDma3Copy(gDecompressionBuffer, (void *)VRAM + 0x10000 + (GetSpriteTileStartByTag(2) * 32), size, 1); - structPtr->unk1C[1]->oam.tileNum = GetSpriteTileStartByTag(2) + gUnknown_0861FA6C[arg0].size; - - if (arg0 == 4 || arg0 == 5) - structPtr->unk1C[1]->pos2.x = 56; - else - structPtr->unk1C[1]->pos2.x = 64; -} - -// Needed to match u32/u16 tag field difference. -struct CompressedSpritePalette_ -{ - const u32 *data; // LZ77 compressed palette data - u32 tag; -}; - -extern const struct CompressedSpritePalette_ gUnknown_0861FA9C[]; - -void sub_81C7F24(u32 arg0) -{ - u32 size, tag; - - if (arg0 >= 7) - return; - - tag = gUnknown_0861FA9C[arg0].tag; - size = GetDecompressedDataSize(gUnknown_0861FA9C[arg0].data); - LoadPalette(&gPokenavLeftHeader_Pal[tag * 16], (IndexOfSpritePaletteTag(2) * 16) + 0x100, 0x20); - LZ77UnCompWram(gUnknown_0861FA9C[arg0].data, &gDecompressionBuffer[0x1000]); - RequestDma3Copy(&gDecompressionBuffer[0x1000], (void *)VRAM + 0x10800 + (GetSpriteTileStartByTag(2) * 32), size, 1); -} - -void sub_81C7FA0(u32 arg0, bool32 arg1, bool32 arg2) -{ - u32 var; - - if (!arg1) - var = 0x30; - else - var = 0x10; - - if (arg0 < 6) - sub_81C803C(var, arg2); - else - sub_81C8088(var, arg2); -} - -void sub_81C7FC4(u32 arg0, bool32 arg1) -{ - if (arg0 < 6) - sub_81C80D4(arg1); - else - sub_81C8110(arg1); -} - -void sub_81C7FDC(void) -{ - s32 i; - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - - for (i = 0; i < 2; i++) - { - structPtr->unk1C[i]->invisible = TRUE; - structPtr->unk24[i]->invisible = TRUE; - } -} - -bool32 sub_81C8010(void) -{ - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - - if (structPtr->unk1C[0]->callback == SpriteCallbackDummy && structPtr->unk24[0]->callback == SpriteCallbackDummy) - return FALSE; - else - return TRUE; -} - -void sub_81C803C(u32 arg0, bool32 arg1) -{ - s32 var1, var2, i; - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - - if (!arg1) - var1 = -96, var2 = 32; - else - var1 = 256, var2 = 160; - - for (i = 0; i < 2; i++) - { - structPtr->unk1C[i]->pos1.y = arg0; - sub_81C814C(structPtr->unk1C[i], var1, var2, 12); - } -} - -void sub_81C8088(u32 arg0, bool32 arg1) -{ - s32 var1, var2, i; - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - - if (!arg1) - var1 = -96, var2 = 16; - else - var1 = 256, var2 = 192; - - for (i = 0; i < 2; i++) - { - structPtr->unk24[i]->pos1.y = arg0; - sub_81C814C(structPtr->unk24[i], var1, var2, 12); - } -} - -void sub_81C80D4(bool32 arg0) -{ - s32 var1, var2, i; - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - - if (!arg0) - var1 = 32, var2 = -96; - else - var1 = 192, var2 = 256; - - for (i = 0; i < 2; i++) - { - sub_81C814C(structPtr->unk1C[i], var1, var2, 12); - } -} - -void sub_81C8110(bool32 arg0) -{ - s32 var1, var2, i; - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - - if (!arg0) - var1 = 16, var2 = -96; - else - var1 = 192, var2 = 256; - - for (i = 0; i < 2; i++) - { - sub_81C814C(structPtr->unk24[i], var1, var2, 12); - } -} - -void sub_81C814C(struct Sprite *sprite, s32 arg1, s32 arg2, s32 arg3) -{ - sprite->pos1.x = arg1; - sprite->data[0] = arg1 * 16; - sprite->data[1] = (arg2 - arg1) * 16 / arg3; - sprite->data[2] = arg3; - sprite->data[7] = arg2; - sprite->callback = sub_81C817C; -} - -void sub_81C817C(struct Sprite *sprite) -{ - if (sprite->data[2] != 0) - { - sprite->data[2]--; - sprite->data[0] += sprite->data[1]; - sprite->pos1.x = sprite->data[0] >> 4; - if (sprite->pos1.x < -16 || sprite->pos1.x > 256) - sprite->invisible = TRUE; - else - sprite->invisible = FALSE; - } - else - { - sprite->pos1.x = sprite->data[7]; - sprite->callback = SpriteCallbackDummy; - } -} - -/* -bool32 sub_81C81D4(const void *arg0, void *arg1, s32 arg3) -{ - struct UnknownSubStruct_0203CF40 *structPtr = AllocSubstruct(0x11, 0x8A4); - - if (structPtr == NULL) - return FALSE; -} -*/ diff --git a/src/pokenav_main_menu.c b/src/pokenav_main_menu.c new file mode 100644 index 0000000000..94dab60bbd --- /dev/null +++ b/src/pokenav_main_menu.c @@ -0,0 +1,975 @@ +#include "global.h" +#include "pokenav.h" +#include "constants/songs.h" +#include "sound.h" +#include "constants/rgb.h" +#include "palette.h" +#include "bg.h" +#include "window.h" +#include "strings.h" +#include "graphics.h" +#include "decompress.h" +#include "gpu_regs.h" +#include "menu.h" +#include "dma3.h" + +enum +{ + POKENAV_GFX_MAIN_MENU, + POKENAV_GFX_CONDITION_MENU, + POKENAV_GFX_RIBBONS_MENU, + POKENAV_GFX_MATCH_CALL_MENU, + // One of these is for the zoomed-in map, and the other is for the + // zoomed-out map. Don't know which is which yet. + POKENAV_GFX_MAP_MENU_UNK0, + POKENAV_GFX_MAP_MENU_UNK1, + POKENAV_GFX_PARTY_MENU, + POKENAV_GFX_SEARCH_MENU, + POKENAV_GFX_COOL_MENU, + POKENAV_GFX_BEAUTY_MENU, + POKENAV_GFX_CUTE_MENU, + POKENAV_GFX_SMART_MENU, + POKENAV_GFX_TOUGH_MENU, + POKENAV_GFX_MENUS_END, +}; + +#define POKENAV_GFX_SUBMENUS_START POKENAV_GFX_PARTY_MENU + +struct PokenavMainMenuResources +{ + void (*unk0)(u32); + u32 (*unk4)(void); + u32 unk8; + u32 currentTaskId; + u32 unk10; + u32 unk14; + struct Sprite *spinningPokenav; + struct Sprite *leftHeaderSprites[2]; + struct Sprite *submenuLeftHeaderSprites[2]; + u8 tilemapBuffer[0x800]; +}; + +// This struct uses a 32bit tag, and doesn't have a size field. +// Needed to match LoadLeftHeaderGfxForSubMenu. +struct CompressedSpriteSheetNoSize +{ + const u32 *data; // LZ77 compressed palette data + u32 tag; +}; + +static void CleanupPokenavMainMenuResources(void); +static void LoadLeftHeaderGfxForSubMenu(u32 arg0); +static void LoadLeftHeaderGfxForMenu(u32 index); +static void HideLeftHeaderSubmenuSprites(bool32 isOnRightSide); +static void HideLeftHeaderSprites(bool32 isOnRightSide); +static void ShowLeftHeaderSprites(u32 startY, bool32 isOnRightSide); +static void ShowLeftHeaderSubmenuSprites(u32 startY, bool32 isOnRightSide); +static void MoveLeftHeader(struct Sprite *sprite, int startX, int endX, int duration); +static void SpriteCB_MoveLeftHeader(struct Sprite *sprite); +static void InitPokenavMainMenuResources(void); +static void InitHoennMapHeaderSprites(void); +static void sub_81C7B74(void); +static u32 LoopedTask_ScrollMenuHeaderDown(int a0); +static u32 LoopedTask_ScrollMenuHeaderUp(int a0); +static void sub_81C7BF8(u32 a0); +static void SpriteCB_SpinningPokenav(struct Sprite* sprite); +static u32 LoopedTask_InitPokenavMenu(int a0); + +const u16 gSpinningPokenavPaletteData[] = INCBIN_U16("graphics/pokenav/icon2.gbapal"); +const u32 gSpinningPokenavGfx[] = INCBIN_U32("graphics/pokenav/icon2.4bpp.lz"); +const u32 gUnused_SpinningPokenavGfx2[] = INCBIN_U32("graphics/pokenav/icon2_unused.4bpp.lz"); + +const struct BgTemplate gPokenavMainMenuBgTemplates[] = +{ + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 5, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0, + } +}; + +const struct WindowTemplate gUnknown_0861FA08[2] = +{ + { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 22, + .width = 16, + .height = 2, + .paletteNum = 0, + .baseBlock = 0x36, + }, + { + .bg = 0xFF, + .tilemapLeft = 0, + .tilemapTop = 0, + .width = 0, + .height = 0, + .paletteNum = 0, + .baseBlock = 0, + }, +}; + +const u8 *const sHelpBarTexts[12] = +{ + gText_Pokenav_ClearButtonList, + gText_PokenavMap_ZoomedOutButtons, + gText_PokenavMap_ZoomedInButtons, + gText_PokenavCondition_MonListButtons, + gText_PokenavCondition_MonStatusButtons, + gText_PokenavCondition_MarkingButtons, + gText_PokenavMatchCall_TrainerListButtons, + gText_PokenavMatchCall_CallMenuButtons, + gText_PokenavMatchCall_CheckTrainerButtons, + gText_PokenavRibbons_MonListButtons, + gText_PokenavRibbons_RibbonListButtons, + gText_PokenavRibbons_RibbonCheckButtons, +}; + +const u8 gMenuButtonReminderColor[3] = +{ + 4, 1, 2 +}; + +static const struct CompressedSpriteSheet gSpinningPokenavSpriteSheet[] = +{ + { + .data = gSpinningPokenavGfx, + .size = 0x1000, + .tag = 0, + } +}; + +static const struct SpritePalette gSpinningNavgearPalettes[] = +{ + { + .data = gSpinningPokenavPaletteData, + .tag = 0, + }, + {} +}; + +static const struct CompressedSpriteSheet sPokenavHoennMapLeftHeaderSpriteSheet = +{ + .data = gPokenavLeftHeaderHoennMap_Gfx, + .size = 0xC00, + .tag = 2 +}; + +static const struct CompressedSpriteSheet sPokenavMenuLeftHeaderSpriteSheets[] = +{ + [POKENAV_GFX_MAIN_MENU] = { + .data = gPokenavLeftHeaderMainMenu_Gfx, + .size = 0x20, + .tag = 3 + }, + [POKENAV_GFX_CONDITION_MENU] = { + .data = gPokenavLeftHeaderCondition_Gfx, + .size = 0x20, + .tag = 1 + }, + [POKENAV_GFX_RIBBONS_MENU] = { + .data = gPokenavLeftHeaderRibbons_Gfx, + .size = 0x20, + .tag = 2 + }, + [POKENAV_GFX_MATCH_CALL_MENU] = { + .data = gPokenavLeftHeaderMatchCall_Gfx, + .size = 0x20, + .tag = 4 + }, + [POKENAV_GFX_MAP_MENU_UNK0] = { + .data = gPokenavLeftHeaderHoennMap_Gfx, + .size = 0x20, + .tag = 0 + }, + [POKENAV_GFX_MAP_MENU_UNK1] = { + .data = gPokenavLeftHeaderHoennMap_Gfx, + .size = 0x40, + .tag = 0 + } +}; + +static const struct CompressedSpriteSheetNoSize sPokenavSubMenuLeftHeaderSpriteSheets[] = +{ + [POKENAV_GFX_PARTY_MENU - POKENAV_GFX_SUBMENUS_START] = { + .data = gPokenavLeftHeaderParty_Gfx, + .tag = 1 + }, + [POKENAV_GFX_SEARCH_MENU - POKENAV_GFX_SUBMENUS_START] = { + .data = gPokenavLeftHeaderSearch_Gfx, + .tag = 1 + }, + [POKENAV_GFX_COOL_MENU - POKENAV_GFX_SUBMENUS_START] = { + .data = gPokenavLeftHeaderCool_Gfx, + .tag = 4 + }, + [POKENAV_GFX_BEAUTY_MENU - POKENAV_GFX_SUBMENUS_START] = { + .data = gPokenavLeftHeaderBeauty_Gfx, + .tag = 1 + }, + [POKENAV_GFX_CUTE_MENU - POKENAV_GFX_SUBMENUS_START] = { + .data = gPokenavLeftHeaderCute_Gfx, + .tag = 2 + }, + [POKENAV_GFX_SMART_MENU - POKENAV_GFX_SUBMENUS_START] = { + .data = gPokenavLeftHeaderSmart_Gfx, + .tag = 0 + }, + [POKENAV_GFX_TOUGH_MENU - POKENAV_GFX_SUBMENUS_START] = { + .data = gPokenavLeftHeaderTough_Gfx, + .tag = 0 + } +}; + +static const struct OamData sSpinningPokenavSpriteOam = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x32), + .x = 0, + .size = SPRITE_SIZE(32x32), + .tileNum = 0, + .priority = 0, + .paletteNum = 0, +}; + +static const union AnimCmd sSpinningPokenavAnims[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(16, 8), + ANIMCMD_FRAME(32, 8), + ANIMCMD_FRAME(48, 8), + ANIMCMD_FRAME(64, 8), + ANIMCMD_FRAME(80, 8), + ANIMCMD_FRAME(96, 8), + ANIMCMD_FRAME(112, 8), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd *const sSpinningPokenavAnimTable[] = +{ + sSpinningPokenavAnims +}; + +static const struct SpriteTemplate sSpinningPokenavSpriteTemplate = +{ + .tileTag = 0, + .paletteTag = 0, + .oam = &sSpinningPokenavSpriteOam, + .anims = sSpinningPokenavAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_SpinningPokenav +}; + +static const struct OamData sPokenavLeftHeaderHoennMapSpriteOam = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(64x32), + .x = 0, + .size = SPRITE_SIZE(64x32), + .tileNum = 0, + .priority = 1, + .paletteNum = 0, +}; + +static const struct OamData sUnknown_0861FB24 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = 0, + .shape = SPRITE_SHAPE(32x16), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(32x16), + .tileNum = 0, + .priority = 1, + .paletteNum = 0, +}; + +static const struct SpriteTemplate sPokenavLeftHeaderHoennMapSpriteTemplate = +{ + .tileTag = 2, + .paletteTag = 1, + .oam = &sPokenavLeftHeaderHoennMapSpriteOam, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate sUnknown_0861FB44 = +{ + .tileTag = 2, + .paletteTag = 2, + .oam = &sUnknown_0861FB24, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +bool32 InitPokenavMainMenu(void) +{ + struct PokenavMainMenuResources *structPtr; + + structPtr = AllocSubstruct(0, sizeof(struct PokenavMainMenuResources)); + if (structPtr == NULL) + return FALSE; + + ResetSpriteData(); + FreeAllSpritePalettes(); + structPtr->currentTaskId = CreateLoopedTask(LoopedTask_InitPokenavMenu, 1); + return TRUE; +} + +u32 PokenavMainMenuLoopedTaskIsActive(void) +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + return IsLoopedTaskActive(structPtr->currentTaskId); +} + +void ShutdownPokenav(void) +{ + PlaySE(SE_PN_OFF); + sub_81CAADC(); + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK); +} + +bool32 WaitForPokenavShutdownFade(void) +{ + if (!gPaletteFade.active) + { + sub_81C99D4(); + CleanupPokenavMainMenuResources(); + FreeAllWindowBuffers(); + return FALSE; + } + + return TRUE; +} + +static u32 LoopedTask_InitPokenavMenu(int a0) +{ + struct PokenavMainMenuResources *structPtr; + + switch (a0) + { + case 0: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); + FreeAllWindowBuffers(); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, gPokenavMainMenuBgTemplates, ARRAY_COUNT(gPokenavMainMenuBgTemplates)); + ResetBgPositions(); + reset_temp_tile_data_buffers(); + return LT_INC_AND_CONTINUE; + case 1: + structPtr = GetSubstructPtr(0); + decompress_and_copy_tile_data_to_vram(0, &gPokenavHeader_Gfx, 0, 0, 0); + SetBgTilemapBuffer(0, structPtr->tilemapBuffer); + CopyToBgTilemapBuffer(0, &gPokenavHeader_Tilemap, 0, 0); + CopyPaletteIntoBufferUnfaded(gPokenavHeader_Pal, 0, 0x20); + CopyBgTilemapBufferToVram(0); + return LT_INC_AND_PAUSE; + case 2: + if (free_temp_tile_data_buffers_if_possible()) + return LT_PAUSE; + + sub_81C7B74(); + return LT_INC_AND_PAUSE; + case 3: + if (IsDma3ManagerBusyWithBgCopy()) + return LT_PAUSE; + + InitPokenavMainMenuResources(); + InitHoennMapHeaderSprites(); + ShowBg(0); + return LT_FINISH; + default: + return LT_FINISH; + } +} + +void sub_81C7834(void *func1, void *func2) // Fix types later. +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + structPtr->unk0 = func1; + structPtr->unk4 = func2; + structPtr->unk8 = 0; +} + +void sub_81C7850(u32 a0) +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + structPtr->unk8 = 0; + structPtr->unk0(a0); +} + +u32 sub_81C786C(void) +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + return structPtr->unk4(); +} + +void sub_81C7880(void) +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + structPtr->currentTaskId = CreateLoopedTask(LoopedTask_ScrollMenuHeaderDown, 4); +} + +void sub_81C78A0(void) +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + structPtr->currentTaskId = CreateLoopedTask(LoopedTask_ScrollMenuHeaderUp, 4); +} + +bool32 MainMenuLoopedTaskIsBusy(void) +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + return IsLoopedTaskActive(structPtr->currentTaskId); +} + +static u32 LoopedTask_ScrollMenuHeaderDown(int a0) +{ + switch (a0) + { + default: + return LT_FINISH; + case 1: + return LT_INC_AND_PAUSE; + case 0: + return LT_INC_AND_PAUSE; + case 2: + if (ChangeBgY(0, 384, 1) >= 0x2000u) + { + ChangeBgY(0, 0x2000, 0); + return LT_FINISH; + } + + return LT_PAUSE; + } +} + +static u32 LoopedTask_ScrollMenuHeaderUp(int a0) +{ + if (ChangeBgY(0, 384, 2) <= 0) + { + ChangeBgY(0, 0, 0); + return 4; + } + return 2; +} + +void CopyPaletteIntoBufferUnfaded(const u16 *palette, u32 bufferOffset, u32 size) +{ + CpuCopy16(palette, gPlttBufferUnfaded + bufferOffset, size); +} + +void Pokenav_AllocAndLoadPalettes(const struct SpritePalette *palettes) +{ + const struct SpritePalette *current; + u32 index; + + for (current = palettes; current->data != NULL; current++) + { + index = AllocSpritePalette(current->tag); + if (index == 0xFF) + { + break; + } + else + { + index = (index * 16) + 0x100; + CopyPaletteIntoBufferUnfaded(current->data, index, 0x20); + } + } +} + +void sub_81C7990(u32 a0, u16 a1) +{ + CpuFill16(a1, gPlttBufferFaded + 0x100 + (a0 * 16), 16 * sizeof(u16)); +} + +NAKED +void sub_81C79BC(const u16 *a0, const u16 *a1, u32 a2, u32 a3, u32 a4, u16 *a5) +{ + asm(".syntax 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, 0xC\n\ + str r0, [sp]\n\ + str r1, [sp, 0x4]\n\ + mov r10, r2\n\ + str r3, [sp, 0x8]\n\ + ldr r0, [sp, 0x2C]\n\ + cmp r0, 0\n\ + bne _081C79E4\n\ + ldr r2, =0x001fffff\n\ + mov r1, r10\n\ + ands r2, r1\n\ + ldr r0, [sp]\n\ + b _081C79F4\n\ + .pool\n\ +_081C79E4:\n\ + ldr r2, [sp, 0x2C]\n\ + ldr r0, [sp, 0x8]\n\ + cmp r2, r0\n\ + blt _081C7A00\n\ + ldr r2, =0x001fffff\n\ + mov r1, r10\n\ + ands r2, r1\n\ + ldr r0, [sp, 0x4]\n\ +_081C79F4:\n\ + ldr r1, [sp, 0x30]\n\ + bl CpuSet\n\ + b _081C7AAE\n\ + .pool\n\ +_081C7A00:\n\ + movs r2, 0x1\n\ + negs r2, r2\n\ + add r10, r2\n\ + b _081C7AA6\n\ +_081C7A08:\n\ + ldr r1, [sp]\n\ + ldrh r0, [r1]\n\ + movs r2, 0x1F\n\ + mov r9, r2\n\ + mov r1, r9\n\ + ands r1, r0\n\ + mov r9, r1\n\ + lsls r0, 16\n\ + lsrs r2, r0, 21\n\ + movs r1, 0x1F\n\ + ands r1, r2\n\ + mov r8, r1\n\ + lsrs r7, r0, 26\n\ + movs r2, 0x1F\n\ + ands r7, r2\n\ + ldr r0, [sp, 0x4]\n\ + ldrh r4, [r0]\n\ + movs r0, 0x1F\n\ + ands r0, r4\n\ + mov r1, r9\n\ + subs r0, r1\n\ + lsls r0, 8\n\ + ldr r1, [sp, 0x8]\n\ + bl __divsi3\n\ + ldr r2, [sp, 0x2C]\n\ + adds r6, r0, 0\n\ + muls r6, r2\n\ + asrs r6, 8\n\ + lsls r4, 16\n\ + lsrs r0, r4, 21\n\ + movs r1, 0x1F\n\ + ands r0, r1\n\ + mov r2, r8\n\ + subs r0, r2\n\ + lsls r0, 8\n\ + ldr r1, [sp, 0x8]\n\ + bl __divsi3\n\ + ldr r1, [sp, 0x2C]\n\ + adds r5, r0, 0\n\ + muls r5, r1\n\ + asrs r5, 8\n\ + lsrs r4, 26\n\ + movs r2, 0x1F\n\ + ands r4, r2\n\ + subs r4, r7\n\ + lsls r4, 8\n\ + adds r0, r4, 0\n\ + ldr r1, [sp, 0x8]\n\ + bl __divsi3\n\ + ldr r1, [sp, 0x2C]\n\ + muls r0, r1\n\ + asrs r0, 8\n\ + add r6, r9\n\ + movs r2, 0x1F\n\ + ands r6, r2\n\ + add r5, r8\n\ + ands r5, r2\n\ + adds r0, r7, r0\n\ + ands r0, r2\n\ + lsls r0, 10\n\ + lsls r5, 5\n\ + orrs r0, r5\n\ + orrs r0, r6\n\ + ldr r1, [sp, 0x30]\n\ + strh r0, [r1]\n\ + ldr r2, [sp]\n\ + adds r2, 0x2\n\ + str r2, [sp]\n\ + ldr r0, [sp, 0x4]\n\ + adds r0, 0x2\n\ + str r0, [sp, 0x4]\n\ + adds r1, 0x2\n\ + str r1, [sp, 0x30]\n\ + movs r1, 0x1\n\ + negs r1, r1\n\ + add r10, r1\n\ +_081C7AA6:\n\ + movs r0, 0x1\n\ + negs r0, r0\n\ + cmp r10, r0\n\ + bne _081C7A08\n\ +_081C7AAE:\n\ + add sp, 0xC\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\ + .syntax divided"); +} + +void sub_81C7AC0(int a0) +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + switch (a0) + { + case 0: + BeginNormalPaletteFade(structPtr->unk14, -2, 0, 16, RGB_BLACK); + break; + case 1: + BeginNormalPaletteFade(structPtr->unk14, -2, 16, 0, RGB_BLACK); + break; + case 2: + BeginNormalPaletteFade(0xFFFFFFFF, -2, 0, 16, RGB_BLACK); + break; + case 3: + BeginNormalPaletteFade(0xFFFFFFFF, -2, 16, 0, RGB_BLACK); + break; + } +} + +bool32 IsPaletteFadeActive(void) +{ + return gPaletteFade.active; +} + +void sub_81C7B40(void) +{ + BlendPalettes(0xFFFEFFFE, 16, RGB_BLACK); +} + +void InitBgTemplates(const struct BgTemplate *templates, int count) +{ + int i; + + for (i = 0; i < count; i++) + InitBgFromTemplate(templates++); +} + +static void sub_81C7B74(void) +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + InitWindows(&gUnknown_0861FA08[0]); + structPtr->unk10 = 0; + sub_81C7BF8(structPtr->unk10); + PutWindowTilemap(structPtr->unk10); + CopyWindowToVram(structPtr->unk10, 3); // TODO: Use a defined constant here. +} + +void sub_81C7BA4(u32 helpBarIndex) +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + sub_81C7BF8(structPtr->unk10); + AddTextPrinterParameterized3(structPtr->unk10, 1, 0, 1, gMenuButtonReminderColor, 0, sHelpBarTexts[helpBarIndex]); +} + +bool32 IsDma3ManagerBusyWithBgCopy_(void) +{ + return IsDma3ManagerBusyWithBgCopy(); +} + +static void sub_81C7BF8(u32 windowId) +{ + FillWindowPixelBuffer(windowId, PIXEL_FILL(4)); + FillWindowPixelRect(windowId, PIXEL_FILL(5), 0, 0, 0x80, 1); +} + +static void InitPokenavMainMenuResources(void) +{ + int i; + u8 spriteId; + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + for (i = 0; i < ARRAY_COUNT(gSpinningPokenavSpriteSheet); i++) + LoadCompressedSpriteSheet(&gSpinningPokenavSpriteSheet[i]); + + Pokenav_AllocAndLoadPalettes(gSpinningNavgearPalettes); + structPtr->unk14 = ~1 & ~(0x10000 << IndexOfSpritePaletteTag(0)); + spriteId = CreateSprite(&sSpinningPokenavSpriteTemplate, 220, 12, 0); + structPtr->spinningPokenav = &gSprites[spriteId]; +} + +static void CleanupPokenavMainMenuResources(void) +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + DestroySprite(structPtr->spinningPokenav); + FreeSpriteTilesByTag(0); + FreeSpritePaletteByTag(0); +} + +static void SpriteCB_SpinningPokenav(struct Sprite *sprite) +{ + // If the background starts scrolling, follow it. + sprite->pos2.y = (GetBgY(0) / 256u) * -1; +} + +struct Sprite *PauseSpinningPokenavSprite(void) +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + structPtr->spinningPokenav->callback = SpriteCallbackDummy; + return structPtr->spinningPokenav; +} + +void ResumeSpinningPokenavSprite(void) +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + structPtr->spinningPokenav->pos1.x = 220; + structPtr->spinningPokenav->pos1.y = 12; + structPtr->spinningPokenav->callback = SpriteCB_SpinningPokenav; + structPtr->spinningPokenav->invisible = FALSE; + structPtr->spinningPokenav->oam.priority = 0; + structPtr->spinningPokenav->subpriority = 0; +} + +static void InitHoennMapHeaderSprites(void) +{ + int i, spriteId; + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + LoadCompressedSpriteSheet(&sPokenavHoennMapLeftHeaderSpriteSheet); + AllocSpritePalette(1); + AllocSpritePalette(2); + for (i = 0; i < (int)ARRAY_COUNT(structPtr->leftHeaderSprites); i++) + { + spriteId = CreateSprite(&sPokenavLeftHeaderHoennMapSpriteTemplate, 0, 0, 1); + structPtr->leftHeaderSprites[i] = &gSprites[spriteId]; + structPtr->leftHeaderSprites[i]->invisible = TRUE; + structPtr->leftHeaderSprites[i]->pos2.x = i * 64; + + spriteId = CreateSprite(&sUnknown_0861FB44, 0, 0, 2); + structPtr->submenuLeftHeaderSprites[i] = &gSprites[spriteId]; + structPtr->submenuLeftHeaderSprites[i]->invisible = TRUE; + structPtr->submenuLeftHeaderSprites[i]->pos2.x = i * 32; + structPtr->submenuLeftHeaderSprites[i]->pos2.y = 18; + structPtr->submenuLeftHeaderSprites[i]->oam.tileNum += (i * 8) + 64; + } +} + +void LoadLeftHeaderGfxForIndex(u32 arg0) +{ + if (arg0 < POKENAV_GFX_SUBMENUS_START) + LoadLeftHeaderGfxForMenu(arg0); + else + LoadLeftHeaderGfxForSubMenu(arg0 - POKENAV_GFX_SUBMENUS_START); +} + +void sub_81C7E14(u32 arg0) +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + if (arg0 == 4) + structPtr->leftHeaderSprites[1]->oam.tileNum = GetSpriteTileStartByTag(2) + 32; + else + structPtr->leftHeaderSprites[1]->oam.tileNum = GetSpriteTileStartByTag(2) + 64; +} + +static void LoadLeftHeaderGfxForMenu(u32 index) +{ + struct PokenavMainMenuResources *structPtr; + u32 size, tag; + + if (index >= POKENAV_GFX_SUBMENUS_START) + return; + + structPtr = GetSubstructPtr(0); + tag = sPokenavMenuLeftHeaderSpriteSheets[index].tag; + size = GetDecompressedDataSize(sPokenavMenuLeftHeaderSpriteSheets[index].data); + LoadPalette(&gPokenavLeftHeader_Pal[tag * 16], (IndexOfSpritePaletteTag(1) * 16) + 0x100, 0x20); + LZ77UnCompWram(sPokenavMenuLeftHeaderSpriteSheets[index].data, gDecompressionBuffer); + RequestDma3Copy(gDecompressionBuffer, (void *)VRAM + 0x10000 + (GetSpriteTileStartByTag(2) * 32), size, 1); + structPtr->leftHeaderSprites[1]->oam.tileNum = GetSpriteTileStartByTag(2) + sPokenavMenuLeftHeaderSpriteSheets[index].size; + + if (index == POKENAV_GFX_MAP_MENU_UNK0 || index == POKENAV_GFX_MAP_MENU_UNK1) + structPtr->leftHeaderSprites[1]->pos2.x = 56; + else + structPtr->leftHeaderSprites[1]->pos2.x = 64; +} + +static void LoadLeftHeaderGfxForSubMenu(u32 arg0) +{ + u32 size, tag; + + if (arg0 >= POKENAV_GFX_MENUS_END - POKENAV_GFX_SUBMENUS_START) + return; + + tag = sPokenavSubMenuLeftHeaderSpriteSheets[arg0].tag; + size = GetDecompressedDataSize(sPokenavSubMenuLeftHeaderSpriteSheets[arg0].data); + LoadPalette(&gPokenavLeftHeader_Pal[tag * 16], (IndexOfSpritePaletteTag(2) * 16) + 0x100, 0x20); + LZ77UnCompWram(sPokenavSubMenuLeftHeaderSpriteSheets[arg0].data, &gDecompressionBuffer[0x1000]); + RequestDma3Copy(&gDecompressionBuffer[0x1000], (void *)VRAM + 0x10800 + (GetSpriteTileStartByTag(2) * 32), size, 1); +} + +void sub_81C7FA0(u32 arg0, bool32 arg1, bool32 arg2) +{ + u32 var; + + if (!arg1) + var = 0x30; + else + var = 0x10; + + if (arg0 < 6) + ShowLeftHeaderSprites(var, arg2); + else + ShowLeftHeaderSubmenuSprites(var, arg2); +} + +void sub_81C7FC4(u32 arg0, bool32 arg1) +{ + if (arg0 < 6) + HideLeftHeaderSprites(arg1); + else + HideLeftHeaderSubmenuSprites(arg1); +} + +void sub_81C7FDC(void) +{ + int i; + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + for (i = 0; i < (int)ARRAY_COUNT(structPtr->leftHeaderSprites); i++) + { + structPtr->leftHeaderSprites[i]->invisible = TRUE; + structPtr->submenuLeftHeaderSprites[i]->invisible = TRUE; + } +} + +bool32 sub_81C8010(void) +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + if (structPtr->leftHeaderSprites[0]->callback == SpriteCallbackDummy && structPtr->submenuLeftHeaderSprites[0]->callback == SpriteCallbackDummy) + return FALSE; + else + return TRUE; +} + +static void ShowLeftHeaderSprites(u32 startY, bool32 isOnRightSide) +{ + int start, end, i; + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + if (!isOnRightSide) + start = -96, end = 32; + else + start = 256, end = 160; + + for (i = 0; i < (int)ARRAY_COUNT(structPtr->leftHeaderSprites); i++) + { + structPtr->leftHeaderSprites[i]->pos1.y = startY; + MoveLeftHeader(structPtr->leftHeaderSprites[i], start, end, 12); + } +} + +static void ShowLeftHeaderSubmenuSprites(u32 startY, bool32 isOnRightSide) +{ + int start, end, i; + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + if (!isOnRightSide) + start = -96, end = 16; + else + start = 256, end = 192; + + for (i = 0; i < (int)ARRAY_COUNT(structPtr->submenuLeftHeaderSprites); i++) + { + structPtr->submenuLeftHeaderSprites[i]->pos1.y = startY; + MoveLeftHeader(structPtr->submenuLeftHeaderSprites[i], start, end, 12); + } +} + +static void HideLeftHeaderSprites(bool32 isOnRightSide) +{ + int start, end, i; + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + if (!isOnRightSide) + start = 32, end = -96; + else + start = 192, end = 256; + + for (i = 0; i < (int)ARRAY_COUNT(structPtr->leftHeaderSprites); i++) + { + MoveLeftHeader(structPtr->leftHeaderSprites[i], start, end, 12); + } +} + +static void HideLeftHeaderSubmenuSprites(bool32 isOnRightSide) +{ + int start, end, i; + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + if (!isOnRightSide) + start = 16, end = -96; + else + start = 192, end = 256; + + for (i = 0; i < (int)ARRAY_COUNT(structPtr->submenuLeftHeaderSprites); i++) + { + MoveLeftHeader(structPtr->submenuLeftHeaderSprites[i], start, end, 12); + } +} + +static void MoveLeftHeader(struct Sprite *sprite, int startX, int endX, int duration) +{ + sprite->pos1.x = startX; + sprite->data[0] = startX * 16; + sprite->data[1] = (endX - startX) * 16 / duration; + sprite->data[2] = duration; + sprite->data[7] = endX; + sprite->callback = SpriteCB_MoveLeftHeader; +} + +static void SpriteCB_MoveLeftHeader(struct Sprite *sprite) +{ + if (sprite->data[2] != 0) + { + sprite->data[2]--; + sprite->data[0] += sprite->data[1]; + sprite->pos1.x = sprite->data[0] >> 4; + if (sprite->pos1.x < -16 || sprite->pos1.x > 256) + sprite->invisible = TRUE; + else + sprite->invisible = FALSE; + } + else + { + sprite->pos1.x = sprite->data[7]; + sprite->callback = SpriteCallbackDummy; + } +} diff --git a/src/pokenav_match_call.c b/src/pokenav_match_call_data.c similarity index 89% rename from src/pokenav_match_call.c rename to src/pokenav_match_call_data.c index ce00401a9d..70fa42541f 100644 --- a/src/pokenav_match_call.c +++ b/src/pokenav_match_call_data.c @@ -1,13 +1,12 @@ #include "global.h" #include "battle_setup.h" +#include "data.h" #include "event_data.h" #include "string_util.h" #include "battle.h" #include "gym_leader_rematch.h" #include "match_call.h" -extern const u8 gTrainerClassNames[][13]; - // Static type declarations typedef struct MatchCallTextDataStruct { @@ -423,7 +422,7 @@ static const match_call_text_data_t sMayTextScripts[] = { { NULL, 0xFFFF, 0xFFFF } }; -static const struct MatchCallStruct4 sMayMatchCallHeader = +static const struct MatchCallStruct4 sBrendanMatchCallHeader = { .type = 4, .gender = MALE, @@ -452,7 +451,7 @@ static const match_call_text_data_t sBrendanTextScripts[] = { { NULL, 0xFFFF, 0xFFFF } }; -static const struct MatchCallStruct4 sBrendanMatchCallHeader = +static const struct MatchCallStruct4 sMayMatchCallHeader = { .type = 4, .gender = FEMALE, @@ -729,8 +728,8 @@ static const struct MatchCallStruct5 sWallaceMatchCallHeader = static const match_call_t sMatchCallHeaders[] = { {.type0 = &sMrStoneMatchCallHeader}, {.type3 = &sProfBirchMatchCallHeader}, - {.type4 = &sBrendanMatchCallHeader}, {.type4 = &sMayMatchCallHeader}, + {.type4 = &sBrendanMatchCallHeader}, {.type2 = &sWallyMatchCallHeader}, {.type5 = &sNormanMatchCallHeader}, {.type0 = &sMomMatchCallHeader}, @@ -1102,7 +1101,7 @@ 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) +static void sub_81D1920(const match_call_text_data_t *sub0, u8 *dest) { u32 i; for (i = 0; sub0[i].text != NULL; i++) @@ -1120,8 +1119,6 @@ void sub_81D1920(const match_call_text_data_t *sub0, u8 *dest) 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; @@ -1129,7 +1126,7 @@ static void sub_81D199C(const match_call_text_data_t *sub0, u16 idx, u8 *dest) { if (sub0[i].flag == 0xfffe) break; - if (sub0[i].flag == 0xffff && !FlagGet(sub0[i].flag)) + if (sub0[i].flag != 0xffff && !FlagGet(sub0[i].flag)) break; } if (sub0[i].flag != 0xfffe) @@ -1142,127 +1139,22 @@ static void sub_81D199C(const match_call_text_data_t *sub0, u16 idx, u8 *dest) } else { - if (!FlagGet(FLAG_SYS_GAME_CLEAR)) - ; - else if (gSaveBlock1Ptr->trainerRematches[idx]) - i += 2; - else if (CountBattledRematchTeams(idx) >= 2) - i += 3; - else - i++; + if (FlagGet(FLAG_SYS_GAME_CLEAR)) + { + do + { + if (gSaveBlock1Ptr->trainerRematches[idx]) + i += 2; + else if (CountBattledRematchTeams(idx) >= 2) + i += 3; + else + i++; + } while (0); + } + 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) { @@ -1416,7 +1308,7 @@ NAKED const u8 *sub_81D1B40(u32 idx, u32 offset) } #endif -s32 sub_81D1BD0(u32 idx) +int sub_81D1BD0(u32 idx) { u32 i; @@ -1430,9 +1322,9 @@ s32 sub_81D1BD0(u32 idx) bool32 sub_81D1BF8(u32 idx) { - s32 i; + int i; - for (i = 0; i < (s32)ARRAY_COUNT(sMatchCallHeaders); i++) + for (i = 0; i < (int)ARRAY_COUNT(sMatchCallHeaders); i++) { u32 r0 = MatchCall_GetRematchTableIdx(i); if (r0 != REMATCH_TABLE_ENTRIES && r0 == idx) @@ -1443,7 +1335,7 @@ bool32 sub_81D1BF8(u32 idx) void SetMatchCallRegisteredFlag(void) { - s32 r0 = GetRematchIdxByTrainerIdx(gSpecialVar_0x8004); + int r0 = GetRematchIdxByTrainerIdx(gSpecialVar_0x8004); if (r0 >= 0) FlagSet(FLAG_MATCH_CALL_REGISTERED + r0); } diff --git a/src/pokenav_match_call_ui.c b/src/pokenav_match_call_ui.c new file mode 100644 index 0000000000..795b4d599f --- /dev/null +++ b/src/pokenav_match_call_ui.c @@ -0,0 +1,1167 @@ +#include "global.h" +#include "pokenav.h" +#include "window.h" +#include "strings.h" +#include "text.h" +#include "bg.h" +#include "menu.h" +#include "decompress.h" + +struct UnknownSubSubStruct_0203CF40 { + u8 bg; + u8 unk1; + u8 unk2; + u8 unk3; + u8 unk4; + u8 fontId; + u16 unk6; + u16 windowId; + u16 unkA; + u16 unkC; + u16 unkE; +}; + +struct MatchCallWindowState { + // The index of the element at the top of the window. + u16 windowTopIndex; + u16 listLength; + u16 unk4; + // The index of the cursor, relative to the top of the window. + u16 selectedIndexOffset; + u16 visibleEntries; + u16 unkA; + u32 unkC; + u32 unk10; +}; + +struct UnknownInnerStruct_81C81D4 +{ + struct UnknownSubSubStruct_0203CF40 unk0; + u32 unk10; + u32 unk14; + u32 unk18; + u32 unk1C; + s32 unk20; + s32 unk24; + u32 unk28; + s32 unk2C; + u32 unk30; + void (*unk34)(u32, u8*); + void (*unk38)(u16, u32, u32); + struct Sprite *rightArrow; + struct Sprite *upArrow; + struct Sprite *downArrow; + u8 unkTextBuffer[0x40]; +}; + +// Generally at index 0x11 (17) +struct UnknownSubStruct_81C81D4 +{ + struct UnknownInnerStruct_81C81D4 unk0; + u8 tilemapBuffer[0x800]; + struct MatchCallWindowState unk888; + u32 unk89C; + u32 unk8A0; +}; + +extern void sub_81DB620(u32 windowId, u32 a1, u32 a2, u32 a3, u32 a4); + +void sub_81C82E4(struct UnknownSubStruct_81C81D4 *a0); +u32 sub_81C91AC(struct UnknownInnerStruct_81C81D4 *a0, const struct BgTemplate *a1, struct MatchCallListTemplate *a2, s32 a3); +void sub_81C9160(struct MatchCallWindowState *a0, struct MatchCallListTemplate *a1); +void SpriteCB_MatchCallUpArrow(struct Sprite *sprite); +void SpriteCB_MatchCallDownArrow(struct Sprite *sprite); +void SpriteCB_MatchCallRightArrow(struct Sprite *sprite); +void ToggleMatchCallArrows(struct UnknownInnerStruct_81C81D4 *a0, u32 a1); +void sub_81C8FE0(struct UnknownInnerStruct_81C81D4 *a0); +void sub_81C8EF8(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1); +void sub_81C8ED0(void); +void sub_81C8E54(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1, u32 a2); +void PrintMatchCallFieldNames(struct UnknownInnerStruct_81C81D4 *a0, u32 a1); +void sub_81C8D4C(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1); +void sub_81C8CB4(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1); +void sub_81C8B70(struct UnknownSubSubStruct_0203CF40 *a0, u32 a1, u32 a2); +void sub_81C8568(s32 a0, struct UnknownInnerStruct_81C81D4 *a1); +void sub_81C83AC(u32 a0, u32 a1, u32 a2, u32 a3, u32 a4, struct UnknownInnerStruct_81C81D4 *a5); +void sub_81C837C(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1); +void sub_81C835C(struct UnknownSubSubStruct_0203CF40 *a0); +u32 LoopedTask_sub_81C8254(s32 a0); +bool32 sub_81C83E0(void); +u32 LoopedTask_sub_81C83F0(s32 a0); +u32 LoopedTask_sub_81C85A0(s32 a0); +u32 LoopedTask_sub_81C8870(s32 a0); +u32 LoopedTask_sub_81C8A28(s32 a0); +u32 LoopedTask_sub_81C8958(s32 a0); + +static const u16 sMatchcallArrowPaletteData[] = INCBIN_U16("graphics/pokenav/arrows_matchcall.gbapal"); +static const u32 sMatchcallArrowSpriteSheetData[] = INCBIN_U32("graphics/pokenav/arrows_matchcall.4bpp.lz"); + +static const u8 sPokenavColors_0861FBE4[] = +{ + 0, 2, 5 +}; + +static const u8 *const sMatchCallFieldNames[] = +{ + gText_PokenavMatchCall_Strategy, + gText_PokenavMatchCall_TrainerPokemon, + gText_PokenavMatchCall_SelfIntroduction +}; + +static const u8 sMatchCallFieldColors[] = +{ + 1, 4, 5 +}; + +static const u8 sUnknown_0861FBF7[] = +{ + 2, 4, 6, 7, 0 +}; + +static const struct CompressedSpriteSheet sMatchcallArrowSpriteSheets[] = +{ + { + .data = sMatchcallArrowSpriteSheetData, + .size = 192, + .tag = 0xA + } +}; + +static const struct SpritePalette sMatchcallArrowPalettes[] = +{ + { + .data = sMatchcallArrowPaletteData, + .tag = 0x14 + }, + {} +}; + +static const struct OamData sMatchCallRightArrowSpriteOam = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(8x16), + .x = 0, + .size = SPRITE_SIZE(8x16), + .tileNum = 0, + .priority = 2, + .paletteNum = 0 +}; + +static const struct SpriteTemplate sMatchCallRightArrowSprite = +{ + .tileTag = 0xA, + .paletteTag = 0x14, + .oam = &sMatchCallRightArrowSpriteOam, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_MatchCallRightArrow +}; + +static const struct OamData sMatchCallUpDownArrowSpriteOam = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x8), + .x = 0, + .size = SPRITE_SIZE(16x8), + .tileNum = 0, + .priority = 2, + .paletteNum = 0 +}; + +static const struct SpriteTemplate sMatchCallUpDownArrowSprite = +{ + .tileTag = 0xA, + .paletteTag = 0x14, + .oam = &sMatchCallUpDownArrowSpriteOam, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +EWRAM_DATA u32 gUnknown_0203CF44 = 0; + +bool32 sub_81C81D4(const struct BgTemplate *arg0, struct MatchCallListTemplate *arg1, s32 arg2) +{ + u32 v1; + struct UnknownSubStruct_81C81D4 *structPtr; + + structPtr = AllocSubstruct(0x11, sizeof(struct UnknownSubStruct_81C81D4)); + + if (structPtr == NULL) + return FALSE; + + sub_81C9160(&structPtr->unk888, arg1); + + v1 = sub_81C91AC(&structPtr->unk0, arg0, arg1, arg2); + if (v1 == 0) + return FALSE; + + CreateLoopedTask(LoopedTask_sub_81C8254, 6); + return TRUE; +} + +bool32 sub_81C8224(void) +{ + return FuncIsActiveLoopedTask(LoopedTask_sub_81C8254); +} + +void sub_81C8234(void) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + + structPtr = GetSubstructPtr(0x11); + sub_81C8FE0(&structPtr->unk0); + RemoveWindow(structPtr->unk0.unk0.windowId); + FreePokenavSubstruct(0x11); +} + +u32 LoopedTask_sub_81C8254(s32 a0) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + + if (IsDma3ManagerBusyWithBgCopy()) + return 2; + + structPtr = GetSubstructPtr(0x11); + + switch (a0) + { + case 0: + sub_81C82E4(structPtr); + return 0; + case 1: + sub_81C835C(&structPtr->unk0.unk0); + return 0; + case 2: + sub_81C837C(&structPtr->unk888, &structPtr->unk0); + return 0; + case 3: + if (sub_81C83E0()) + { + return 2; + } + else + { + sub_81C8ED0(); + return 1; + } + case 4: + sub_81C8EF8(&structPtr->unk888, &structPtr->unk0); + return 4; + default: + return 4; + } +} + +void sub_81C82E4(struct UnknownSubStruct_81C81D4 *a0) +{ + u16 v1 = (a0->unk0.unk0.unk1 << 12) | a0->unk0.unk0.unk6; + sub_8199DF0(a0->unk0.unk0.bg, PIXEL_FILL(1), a0->unk0.unk0.unk6, 1); + sub_8199DF0(a0->unk0.unk0.bg, PIXEL_FILL(4), a0->unk0.unk0.unk6 + 1, 1); + SetBgTilemapBuffer(a0->unk0.unk0.bg, a0->tilemapBuffer); + FillBgTilemapBufferRect_Palette0(a0->unk0.unk0.bg, v1, 0, 0, 32, 32); + ChangeBgY(a0->unk0.unk0.bg, 0, 0); + ChangeBgX(a0->unk0.unk0.bg, 0, 0); + ChangeBgY(a0->unk0.unk0.bg, a0->unk0.unk0.unk3 << 11, 2); + CopyBgTilemapBufferToVram(a0->unk0.unk0.bg); +} + +void sub_81C835C(struct UnknownSubSubStruct_0203CF40 *a0) +{ + FillWindowPixelBuffer(a0->windowId, PIXEL_FILL(1)); + PutWindowTilemap(a0->windowId); + CopyWindowToVram(a0->windowId, 1); +} + +void sub_81C837C(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1) +{ + s32 v1; + s32 v2; + + // TODO: Clean this up. + v1 = a0->listLength - a0->windowTopIndex; + v2 = a0->visibleEntries; + if (v1 > a0->visibleEntries) + v1 = v2; + sub_81C83AC(a0->unk10, a0->windowTopIndex, v1, a0->unkC, 0, a1); +} + +void sub_81C83AC(u32 a0, u32 a1, u32 a2, u32 a3, u32 a4, struct UnknownInnerStruct_81C81D4 *a5) +{ + if (a2 == 0) + return; + + a5->unk1C = a0 + a1 * a3; + a5->unk18 = a3; + a5->unk0.unkC = 0; + a5->unk0.unkE = a2; + a5->unk14 = a1; + a5->unk10 = a4; + CreateLoopedTask(LoopedTask_sub_81C83F0, 5); +} + +bool32 sub_81C83E0(void) +{ + return FuncIsActiveLoopedTask(LoopedTask_sub_81C83F0); +} + +u32 LoopedTask_sub_81C83F0(s32 a0) +{ + struct UnknownInnerStruct_81C81D4 *structPtr; + u32 v1; + + structPtr = &((struct UnknownSubStruct_81C81D4*)GetSubstructPtr(0x11))->unk0; + switch (a0) + { + case 0: + v1 = (structPtr->unk0.unkA + structPtr->unk0.unkC + structPtr->unk10) & 0xF; + structPtr->unk34(structPtr->unk1C, structPtr->unkTextBuffer); + if (structPtr->unk38 != NULL) + // Accessing unk0.windowId as if it were a u16...? + // It's accessed as a u8 again in the very next line... + structPtr->unk38(*(u16*)(&structPtr->unk0.windowId), structPtr->unk14, v1); + + AddTextPrinterParameterized(structPtr->unk0.windowId, structPtr->unk0.fontId, structPtr->unkTextBuffer, 8, (v1 << 4) + 1, 255, NULL); + + if (++structPtr->unk0.unkC >= structPtr->unk0.unkE) + { + if (structPtr->unk38 != NULL) + CopyWindowToVram(structPtr->unk0.windowId, 3); + else + CopyWindowToVram(structPtr->unk0.windowId, 2); + return 0; + } + else + { + structPtr->unk1C += structPtr->unk18; + structPtr->unk14++; + return 3; + } + case 1: + if (IsDma3ManagerBusyWithBgCopy()) + return 2; + else + return 4; + default: + return 4; + } +} + +bool32 ShouldShowUpArrow(void) +{ + u16 v1; + s32 v2; + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + + return structPtr->unk888.windowTopIndex != 0; +} + +bool32 ShouldShowDownArrow(void) +{ + struct MatchCallWindowState *subPtr; + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + subPtr = &structPtr->unk888; + + return subPtr->windowTopIndex + subPtr->visibleEntries < subPtr->listLength; +} + +void MatchCall_MoveWindow(s32 a0, bool32 a1_) +{ + register bool32 a1 asm("r4")= a1_; + s32 v1; + struct UnknownSubStruct_81C81D4 *structPtr = GetSubstructPtr(0x11); + register struct MatchCallWindowState *subPtr asm("r5") = &structPtr->unk888; + + if (a0 < 0) + { + u16 temp = subPtr->windowTopIndex; + if (temp + a0 < 0) + v1 = -1 * temp; + else + v1 = a0; + if (a1) + sub_81C83AC(subPtr->unk10, temp + v1, v1 * -1, subPtr->unkC, v1, &structPtr->unk0); + } + else if (a1) + { + s32 temp = gUnknown_0203CF44 = subPtr->windowTopIndex + subPtr->visibleEntries; + s32 listLength; + if (temp + a0 >= (listLength = subPtr->listLength)) + v1 = listLength - temp; + else + v1 = a0; + + sub_81C83AC(subPtr->unk10, gUnknown_0203CF44, v1, subPtr->unkC, subPtr->visibleEntries, &structPtr->unk0); + // Needed to prevent GCC from combining the two sub_81C83AC calls. + asm(""); + } + else + { + v1 = a0; + } + + sub_81C8568(v1, &structPtr->unk0); + subPtr->windowTopIndex += v1; +} + +void sub_81C8568(s32 a0, struct UnknownInnerStruct_81C81D4 *a1) +{ + a1->unk20 = GetBgY(a1->unk0.bg); + a1->unk24 = a1->unk20 + (a0 << 12); + if (a0 > 0) + a1->unk30 = 1; + else + a1->unk30 = 2; + a1->unk2C = a0; + a1->unk28 = CreateLoopedTask(LoopedTask_sub_81C85A0, 6); +} + +u32 LoopedTask_sub_81C85A0(s32 a0) +{ + s32 y; + s32 v1; + bool32 flag; + struct UnknownInnerStruct_81C81D4 *structPtr; + structPtr = &((struct UnknownSubStruct_81C81D4 *)GetSubstructPtr(0x11))->unk0; + + switch (a0) + { + case 0: + if (sub_81C83E0() == FALSE) + return 1; + else + return 2; + case 1: + flag = FALSE; + y = GetBgY(structPtr->unk0.bg); + v1 = ChangeBgY(structPtr->unk0.bg, 0x1000, structPtr->unk30); + if (structPtr->unk30 == 2) + { + if ((y > structPtr->unk24 || y <= structPtr->unk20) && v1 <= structPtr->unk24) + { + flag = TRUE; + } + } + else + { + if ((y < structPtr->unk24 || y >= structPtr->unk20) && v1 >= structPtr->unk24) + { + flag = TRUE; + } + } + if (flag) + { + structPtr->unk0.unkA = (structPtr->unk0.unkA + structPtr->unk2C) & 0xF; + ChangeBgY(structPtr->unk0.bg, structPtr->unk24, 0); + return 4; + } + else + { + return 2; + } + default: + return 4; + } +} + +bool32 sub_81C8630(void) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + return IsLoopedTaskActive(structPtr->unk0.unk28); +} + +struct MatchCallWindowState *GetMatchCallWindowStruct(void) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + return &structPtr->unk888; +} + +int MatchCall_MoveCursorUp(void) +{ + struct MatchCallWindowState *structPtr; + structPtr = GetMatchCallWindowStruct(); + + if (structPtr->selectedIndexOffset != 0) + { + structPtr->selectedIndexOffset--; + return 1; + } + else + { + if (ShouldShowUpArrow()) + { + MatchCall_MoveWindow(-1, TRUE); + return 2; + } + else + { + return 0; + } + } +} + +int MatchCall_MoveCursorDown(void) +{ + struct MatchCallWindowState *structPtr; + structPtr = GetMatchCallWindowStruct(); + + if (structPtr->windowTopIndex + structPtr->selectedIndexOffset < structPtr->listLength - 1) + { + if (structPtr->selectedIndexOffset < structPtr->visibleEntries - 1) + { + structPtr->selectedIndexOffset++; + return 1; + } + else if (!ShouldShowDownArrow()) + { + return 0; + } + } + else + { + return 0; + } + MatchCall_MoveWindow(1, TRUE); + return 2; +} + +int MatchCall_PageUp(void) +{ + struct MatchCallWindowState *structPtr; + s32 scroll; + + structPtr = GetMatchCallWindowStruct(); + if (ShouldShowUpArrow()) + { + if (structPtr->windowTopIndex >= structPtr->visibleEntries) + scroll = structPtr->visibleEntries; + else + scroll = structPtr->windowTopIndex; + MatchCall_MoveWindow(scroll * -1, TRUE); + return 2; + } + else if (structPtr->selectedIndexOffset != 0) + { + structPtr->selectedIndexOffset = 0; + return 1; + } + else + { + return 0; + } +} + +int MatchCall_PageDown(void) +{ + struct MatchCallWindowState *structPtr; + structPtr = GetMatchCallWindowStruct(); + + if (ShouldShowDownArrow()) + { + s32 scroll; + s32 windowBottomIndex; + s32 v3; + windowBottomIndex = structPtr->windowTopIndex + structPtr->visibleEntries; + scroll = structPtr->unk4 - structPtr->windowTopIndex; + if (windowBottomIndex <= structPtr->unk4) + scroll = structPtr->visibleEntries; + MatchCall_MoveWindow(scroll, TRUE); + return 2; + } + else + { + s32 cursor; + s32 lastVisibleIndex; + if (structPtr->listLength >= structPtr->visibleEntries) + { + cursor = structPtr->selectedIndexOffset; + lastVisibleIndex = structPtr->visibleEntries; + } + else + { + cursor = structPtr->selectedIndexOffset; + lastVisibleIndex = structPtr->listLength; + } + lastVisibleIndex -= 1; + if (cursor >= lastVisibleIndex) + { + return 0; + } + else + { + structPtr->selectedIndexOffset = lastVisibleIndex; + return 1; + } + } +} + +u32 GetSelectedMatchCall(void) +{ + struct MatchCallWindowState *structPtr; + structPtr = GetMatchCallWindowStruct(); + + return structPtr->windowTopIndex + structPtr->selectedIndexOffset; +} + +u32 GetMatchCallListTopIndex(void) +{ + struct MatchCallWindowState *structPtr; + structPtr = GetMatchCallWindowStruct(); + + return structPtr->windowTopIndex; +} + +void sub_81C877C(void) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + structPtr->unk89C = 0; + structPtr->unk8A0 = CreateLoopedTask(LoopedTask_sub_81C8870, 6); +} + +void sub_81C87AC(s16 a0) +{ + u16 temp; + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + temp = structPtr->unk888.windowTopIndex; + temp += a0; + structPtr->unk888.windowTopIndex = temp; + structPtr->unk89C = 0; + structPtr->unk8A0 = CreateLoopedTask(LoopedTask_sub_81C8958, 6); +} + +void sub_81C87F0(void) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + structPtr->unk89C = 0; + structPtr->unk8A0 = CreateLoopedTask(LoopedTask_sub_81C8A28, 6); +} + +bool32 sub_81C8820(void) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + return IsLoopedTaskActive(structPtr->unk8A0); +} + +void sub_81C8838(void) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + struct MatchCallWindowState *subStr; + structPtr = GetSubstructPtr(0x11); + subStr = &structPtr->unk888; + structPtr->unk0.unk38(structPtr->unk0.unk0.windowId, subStr->windowTopIndex + subStr->selectedIndexOffset, (structPtr->unk0.unk0.unkA + subStr->selectedIndexOffset) & 0xF); + CopyWindowToVram(structPtr->unk0.unk0.windowId, 1); +} + +u32 LoopedTask_sub_81C8870(s32 a0) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + u16 v1; + u32 v2; + + // Needed to fix a register renaming issue. + register u16* temp asm("r1"); + structPtr = GetSubstructPtr(0x11); + + switch (a0) + { + case 0: + ToggleMatchCallArrows(&structPtr->unk0, 1); + // fall-through + case 1: + if (structPtr->unk89C != structPtr->unk888.selectedIndexOffset) + sub_81C8B70(&structPtr->unk0.unk0, structPtr->unk89C, 1); + + structPtr->unk89C++; + return 0; + case 2: + if (IsDma3ManagerBusyWithBgCopy()) + return 2; + + if (structPtr->unk89C != structPtr->unk888.visibleEntries) + return 6; + + if (structPtr->unk888.selectedIndexOffset != 0) + sub_81C8B70(&structPtr->unk0.unk0, structPtr->unk89C, structPtr->unk888.selectedIndexOffset); + + return 0; + case 3: + if (IsDma3ManagerBusyWithBgCopy()) + return 2; + temp = &structPtr->unk888.selectedIndexOffset; + v1 = *temp; + if (v1 == 0) + return 4; + + MatchCall_MoveWindow(v1, FALSE); + return 0; + case 4: + v2 = sub_81C8630(); + if (v2) + return 2; + + structPtr->unk888.selectedIndexOffset = v2; + return 4; + default: + return 4; + } +} + +u32 LoopedTask_sub_81C8958(s32 a0) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + if (IsDma3ManagerBusyWithBgCopy()) + return 2; + + switch (a0) + { + case 0: + sub_81C8CB4(&structPtr->unk888, &structPtr->unk0); + break; + case 1: + PrintMatchCallFieldNames(&structPtr->unk0, 0); + break; + case 2: + sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 0); + break; + case 3: + PrintMatchCallFieldNames(&structPtr->unk0, 1); + break; + case 4: + sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 1); + break; + case 5: + PrintMatchCallFieldNames(&structPtr->unk0, 2); + break; + case 6: + sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 2); + break; + case 7: + sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 3); + break; + default: + return 4; + } + return 0; +} + +u32 LoopedTask_sub_81C8A28(s32 a0) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + struct MatchCallWindowState *subPtr888; + register struct UnknownInnerStruct_81C81D4 *subPtr0 asm("r2"); + s32 v4; + + if (IsDma3ManagerBusyWithBgCopy()) + { + return 2; + } + + structPtr = GetSubstructPtr(0x11); + subPtr888 = &structPtr->unk888; + subPtr0 = &structPtr->unk0; + + switch (a0) + { + default: + return 4; + case 0: + sub_81C8D4C(subPtr888, subPtr0); + return 0; + case 1: + { + s32 v1; + s32 v2; + u32 *v3; + register s32 v4 asm("r5"); + + v3 = &structPtr->unk89C; + v1 = *v3 + 1; + *v3 = v1; + if (v1 < structPtr->unk888.visibleEntries) + { + sub_81C8B70(&subPtr0->unk0, v1, 1); + return 2; + } + + *v3 = 0; + if (subPtr888->listLength <= subPtr888->visibleEntries) + { + register u32 temp asm("r0"); + temp = subPtr888->windowTopIndex; + if (temp == 0) + return 9; + v2 = temp; + } + else + { + register s32 temp asm("r1"); + v2 = subPtr888->windowTopIndex + subPtr888->visibleEntries; + temp = (s32)subPtr888->listLength; + if (v2 <= temp) + return 9; + v2 -= temp; + } + v4 = v2 * -1; + sub_81C8B70(&subPtr0->unk0, v4, v2); + subPtr888->selectedIndexOffset = v2; + *v3 = v4; + return 0; + } + case 2: + MatchCall_MoveWindow(structPtr->unk89C, FALSE); + return 0; + case 3: + if (sub_81C8630()) + return 2; + + structPtr->unk89C = 0; + return 1; + case 4: + sub_81C83AC(subPtr888->unk10, subPtr888->windowTopIndex + structPtr->unk89C, 1, subPtr888->unkC, structPtr->unk89C, &structPtr->unk0); + return 0; + case 5: + if (sub_81C83E0()) + return 2; + + v4 = ++structPtr->unk89C; + if (v4 >= subPtr888->listLength || v4 >= subPtr888->visibleEntries) + return 1; + return 9; + case 6: + ToggleMatchCallArrows(subPtr0, 0); + return 4; + } +} + +void sub_81C8B70(struct UnknownSubSubStruct_0203CF40 *a0, u32 a1, u32 a2) +{ + u8 *v1; + u32 v2; + + v1 = (u8*)GetWindowAttribute(a0->windowId, WINDOW_TILE_DATA); + v2 = a0->unk4 * 64; + + a1 = (a0->unkA + a1) & 0xF; + if ((s32)(a1 + a2) <= 16) + { + CpuFastFill8(PIXEL_FILL(1), v1 + a1 * v2, a2 * v2); + CopyWindowToVram(a0->windowId, 2); + } + else + { + u32 v3; + u32 v4; + + v3 = 16 - a1; + v4 = a2 - v3; + + CpuFastFill8(PIXEL_FILL(1), v1 + a1 * v2, v3 * v2); + CpuFastFill8(PIXEL_FILL(1), v1, v4 * v2); + CopyWindowToVram(a0->windowId, 2); + } + + a2 -= 1; + for (a2; a2 != -1; a1 = (a1 + 1) & 0xF, a2--) + { + sub_81CBD48(a0->windowId, a1); + } + + CopyWindowToVram(a0->windowId, 1); +} + +void sub_81C8C64(struct UnknownSubSubStruct_0203CF40 *a0, u32 a1) +{ + u16 *v1; + register u32 v2 asm("r0"); + u32 v3; + + v1 = (u16*)GetBgTilemapBuffer(GetWindowAttribute(a0->windowId, WINDOW_BG)); + + v1 = &v1[(a0->unkA << 6) + a0->unk2 - 1]; + + if (a1 != 0) + { + v2 = a0->unk1 << 12; + v3 = a0->unk6 + 1; + } + else + { + v2 = a0->unk1 << 12; + v3 = a0->unk6; + } + { + register u16 v5 asm("r1"); + register u32 v6 asm("r0"); + v6 = (v3 | v2); + v6 = v6 << 16; + v5 = v6 >> 16; + v1[0] = v5; + v1[0x20] = v5; + } +} + +void sub_81C8CB4(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1) +{ + u8 colors[3]; + + + memcpy(colors, sPokenavColors_0861FBE4, ARRAY_COUNT(sPokenavColors_0861FBE4)); + + a1->unk34(a0->unk10 + a0->unkC * a0->windowTopIndex, a1->unkTextBuffer); + a1->unk38(a1->unk0.windowId, a0->windowTopIndex, a1->unk0.unkA); + FillWindowPixelRect(a1->unk0.windowId, PIXEL_FILL(4), 0, a1->unk0.unkA * 16, a1->unk0.unk4 * 8, 16); + AddTextPrinterParameterized3(a1->unk0.windowId, a1->unk0.fontId, 8, (a1->unk0.unkA * 16) + 1, colors, TEXT_SPEED_FF, a1->unkTextBuffer); + sub_81C8C64(&a1->unk0, 1); + CopyWindowRectToVram(a1->unk0.windowId, 3, 0, a1->unk0.unkA * 2, a1->unk0.unk4, 2); +} + +void sub_81C8D4C(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1) +{ + a1->unk34(a0->unk10 + a0->unkC * a0->windowTopIndex, a1->unkTextBuffer); + FillWindowPixelRect(a1->unk0.windowId, PIXEL_FILL(1), 0, a1->unk0.unkA * 16, a1->unk0.unk4 * 8, 16); + AddTextPrinterParameterized(a1->unk0.windowId, a1->unk0.fontId, a1->unkTextBuffer, 8, a1->unk0.unkA * 16 + 1, TEXT_SPEED_FF, NULL); + sub_81C8C64(&a1->unk0, 0); + CopyWindowToVram(a1->unk0.windowId, 3); +} + +void PrintMatchCallFieldNames(struct UnknownInnerStruct_81C81D4 *a0, u32 fieldId) +{ + const u8 *fieldNames[3]; + u8 colors[3]; + u32 r4; + u32 r5; + u32 tmp; + u32 one; + + memcpy(fieldNames, sMatchCallFieldNames, sizeof(sMatchCallFieldNames)); + memcpy(colors, sMatchCallFieldColors, sizeof(sMatchCallFieldColors)); + + r4 = a0->unk0.unkA; + tmp = fieldId * 2 + 1; + r4 += tmp; + r4 &= 0xF; + FillWindowPixelRect(a0->unk0.windowId, PIXEL_FILL(1), 0, r4 << 4, a0->unk0.unk4, 16); + + // This is a fake match. It should be this: + // AddTextPrinterParameterized3(a0->unk0.windowId, 7, 2, r4 << 4 + 1, colors, TEXT_SPEED_FF, fieldNames[fieldId]); + // But the original GCC does some clever reuse of the `1` constant that the current GCC doesn't. + one = 1; + AddTextPrinterParameterized3(a0->unk0.windowId, 7, 2, (r4 << 4) + one, colors, one - 2, fieldNames[fieldId]); + CopyWindowRectToVram(a0->unk0.windowId, 2, 0, r4 << 1, a0->unk0.unk4, 2); +} + +void sub_81C8E54(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1, u32 a2) +{ + const u8 *str; + u32 r6; + + r6 = (a1->unk0.unkA + sUnknown_0861FBF7[a2]) & 0xF; + + str = sub_81CAFD8(a0->windowTopIndex, a2); + if (str != NULL) { + sub_81DB620(a1->unk0.windowId, 1, r6 * 2, a1->unk0.unk4 - 1, 2); + AddTextPrinterParameterized(a1->unk0.windowId, 7, str, 2, (r6 << 4) + 1, TEXT_SPEED_FF, NULL); + CopyWindowRectToVram(a1->unk0.windowId, 2, 0, r6 * 2, a1->unk0.unk4, 2); + } +} + +void sub_81C8ED0(void) +{ + u32 i; + const struct CompressedSpriteSheet *ptr; + + for (i = 0, ptr = sMatchcallArrowSpriteSheets; i < ARRAY_COUNT(sMatchcallArrowSpriteSheets); ptr++, i++) + { + LoadCompressedSpriteSheet(ptr); + } + Pokenav_AllocAndLoadPalettes(sMatchcallArrowPalettes); +} + +void sub_81C8EF8(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1) +{ + register u32 spriteId asm("r3"); + s16 temp; + + spriteId = (u8)CreateSprite(&sMatchCallRightArrowSprite, a1->unk0.unk2 * 8 + 3, (a1->unk0.unk3 + 1) * 8, 7); + a1->rightArrow = &gSprites[spriteId]; + + temp = a1->unk0.unk2 * 8 + (a1->unk0.unk4 - 1) * 4; + spriteId = (u8)CreateSprite(&sMatchCallUpDownArrowSprite, temp, a1->unk0.unk3 * 8 + a0->visibleEntries * 16, 7); + a1->downArrow = &gSprites[spriteId]; + a1->downArrow->oam.tileNum += 2; + a1->downArrow->callback = SpriteCB_MatchCallDownArrow; + + spriteId = (u8)CreateSprite(&sMatchCallUpDownArrowSprite, temp, a1->unk0.unk3 * 8, 7); + a1->upArrow = &gSprites[spriteId]; + a1->upArrow->oam.tileNum += 4; + a1->upArrow->callback = SpriteCB_MatchCallUpArrow; +} + +void sub_81C8FE0(struct UnknownInnerStruct_81C81D4 *a0) +{ + DestroySprite(a0->rightArrow); + DestroySprite(a0->upArrow); + DestroySprite(a0->downArrow); + FreeSpriteTilesByTag(0xA); + FreeSpritePaletteByTag(0x14); +} + +void ToggleMatchCallArrows(struct UnknownInnerStruct_81C81D4 *a0, bool32 shouldHide) +{ + if (shouldHide) + { + a0->rightArrow->callback = SpriteCallbackDummy; + a0->upArrow->callback = SpriteCallbackDummy; + a0->downArrow->callback = SpriteCallbackDummy; + } + else + { + a0->rightArrow->callback = SpriteCB_MatchCallRightArrow; + a0->upArrow->callback = SpriteCB_MatchCallUpArrow; + a0->downArrow->callback = SpriteCB_MatchCallDownArrow; + } + a0->rightArrow->invisible = shouldHide; + a0->upArrow->invisible = shouldHide; + a0->downArrow->invisible = shouldHide; +} + +void SpriteCB_MatchCallRightArrow(struct Sprite *sprite) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + sprite->pos2.y = structPtr->unk888.selectedIndexOffset << 4; +} + +void SpriteCB_MatchCallDownArrow(struct Sprite *sprite) +{ + if (sprite->data[7] == 0 && ShouldShowDownArrow()) + sprite->invisible = FALSE; + else + sprite->invisible = TRUE; + + if (++sprite->data[0] > 3) + { + s16 offset; + + sprite->data[0] = 0; + offset = (sprite->data[1] + 1) & 7; + sprite->data[1] = offset; + sprite->pos2.y = offset; + } +} + +void SpriteCB_MatchCallUpArrow(struct Sprite *sprite) +{ + if (sprite->data[7] == 0 && ShouldShowUpArrow()) + sprite->invisible = FALSE; + else + sprite->invisible = TRUE; + + if (++sprite->data[0] > 3) + { + s16 offset; + + sprite->data[0] = 0; + offset = (sprite->data[1] + 1) & 7; + sprite->data[1] = offset; + sprite->pos2.y = -1 * offset; + } +} + +void ToggleMatchCallVerticalArrows(bool32 shouldHide) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + structPtr->unk0.upArrow->data[7] = shouldHide; + structPtr->unk0.downArrow->data[7] = shouldHide; +} + +void sub_81C9160(struct MatchCallWindowState *a0, struct MatchCallListTemplate *a1) +{ + u32 unused1 = a0->unk10 = a1->unk0; + u32 v0 = a1->unk6; + u32 zero = 0; + u32 unused2 = a0->windowTopIndex = v0; + u32 v1 = a0->listLength = a1->unk4; + + a0->unkC = a1->unk8; + a0->visibleEntries = a1->unkC; + if (a0->visibleEntries >= (u16)v1) + { + a0->windowTopIndex = 0; + a0->unk4 = 0; + a0->selectedIndexOffset = v0; + } + else + { + s32 v2; + a0->unk4 = a0->listLength - a0->visibleEntries; + v2 = a0->windowTopIndex + a0->visibleEntries; + if (v2 > a0->listLength) { + a0->selectedIndexOffset = v2 - a0->listLength; + a0->windowTopIndex = v0 - a0->selectedIndexOffset; + } + else + { + a0->selectedIndexOffset = 0; + } + } +} + +u32 sub_81C91AC(struct UnknownInnerStruct_81C81D4 *a0, const struct BgTemplate *a1, struct MatchCallListTemplate *a2, s32 a3) +{ + register u32 raw_bg asm("r4") = ((a1->bg) << 30); + u8 bg = raw_bg >> 30; + u32 unknown = 0; + struct WindowTemplate window; + u8 bg_again; + + a0->unk0.bg = bg; + a0->unk0.unk6 = a3; + a0->unk34 = a2->unk10; + a0->unk38 = a2->unk14; + a0->unk0.unk1 = a2->unkD; + a0->unk0.unk2 = a2->unk9; + a0->unk0.unk3 = a2->unkB; + a0->unk0.unk4 = a2->unkA; + a0->unk0.fontId = a2->unkE; + + window.bg = raw_bg >> 30; + window.tilemapLeft = a2->unk9; + window.tilemapTop = 0; + window.width = a2->unkA; + window.height = 32; + window.paletteNum = a2->unkD; + window.baseBlock = a3 + 2; + + a0->unk0.windowId = AddWindow(&window); + if (a0->unk0.windowId == 0xFF) + { + return 0; + } + else + { + a0->unk0.unkA = unknown; + a0->rightArrow = NULL; + a0->upArrow = NULL; + a0->downArrow = NULL; + return 1; + } +} \ No newline at end of file diff --git a/src/pokenav_unk_1.c b/src/pokenav_unk_1.c new file mode 100644 index 0000000000..96ecf9c8b7 --- /dev/null +++ b/src/pokenav_unk_1.c @@ -0,0 +1,466 @@ +#include "global.h" +#include "pokenav.h" +#include "event_data.h" +#include "main.h" +#include "sound.h" +#include "constants/songs.h" + +struct Pokenav1Struct +{ + u16 menuType; + s16 cursorPos; + u16 descriptionId; + u16 helpBarIndex; + u32 unk8; + u32 (*callback)(struct Pokenav1Struct*); +}; + +static bool32 sub_81C9814(struct Pokenav1Struct *a0); +static void sub_81C97F8(struct Pokenav1Struct *a0); +static void sub_81C97C0(struct Pokenav1Struct *a0); +static u32 sub_81C97BC(struct Pokenav1Struct *a0); +static void sub_81C97B0(struct Pokenav1Struct *a0, u32 a1); +static u32 sub_81C97A4(struct Pokenav1Struct *a0); +static u32 sub_81C9798(struct Pokenav1Struct *a0); +static u32 sub_81C96FC(struct Pokenav1Struct *a0); +static u32 sub_81C963C(struct Pokenav1Struct *a0); +static u32 sub_81C9600(struct Pokenav1Struct *a0); +static u32 sub_81C9588(struct Pokenav1Struct *a0); +static u32 sub_81C9520(struct Pokenav1Struct *a0); +static u32 sub_81C943C(struct Pokenav1Struct *a0); +static u32 (*sub_81C93EC(void))(struct Pokenav1Struct*); +static void sub_81C939C(struct Pokenav1Struct *state); + +static const u8 sLastCursorPositions[] = {2, 3, 4, 2, 5}; + +static const u8 sDescriptionIds[][6] = +{ + { 0, 1, 4, 4, 4, 4 }, + { 0, 1, 2, 4, 4, 4 }, + { 0, 1, 2, 3, 4, 4 }, + { 5, 6, 7, 4, 4, 4 }, + { 8, 9, 10, 11, 12, 13 }, +}; + +static u8 GetPokenavMainMenuType(void) +{ + u8 retVal = 0; + if (FlagGet(FLAG_ADDED_MATCH_CALL_TO_POKENAV)) + { + retVal = 1; + if (FlagGet(FLAG_SYS_RIBBON_GET)) + retVal = 2; + } + + return retVal; +} + +bool32 sub_81C9298(void) +{ + struct Pokenav1Struct *state = AllocSubstruct(1, sizeof(struct Pokenav1Struct)); + if (!state) + return FALSE; + + state->menuType = GetPokenavMainMenuType(); + state->cursorPos = 0; + state->descriptionId = 0; + state->helpBarIndex = 0; + sub_81C939C(state); + return TRUE; +} + +bool32 sub_81C92CC(void) +{ + struct Pokenav1Struct *state = AllocSubstruct(1, sizeof(struct Pokenav1Struct)); + if (!state) + return FALSE; + + state->menuType = GetPokenavMainMenuType(); + state->cursorPos = 2; + state->descriptionId = 2; + state->helpBarIndex = 0; + sub_81C939C(state); + return TRUE; +} + +bool32 sub_81C9304(void) +{ + struct Pokenav1Struct *state = AllocSubstruct(1, sizeof(struct Pokenav1Struct)); + if (!state) + return FALSE; + + state->menuType = GetPokenavMainMenuType(); + state->cursorPos = 3; + state->descriptionId = 3; + sub_81C939C(state); + return TRUE; +} + +bool32 sub_81C9338(void) +{ + struct Pokenav1Struct *state = AllocSubstruct(1, sizeof(struct Pokenav1Struct)); + if (!state) + return FALSE; + + state->menuType = 3; + state->cursorPos = 0; + state->descriptionId = 5; + state->helpBarIndex = 0; + sub_81C939C(state); + return TRUE; +} + +bool32 sub_81C9368(void) +{ + struct Pokenav1Struct *state = AllocSubstruct(1, sizeof(struct Pokenav1Struct)); + if (!state) + return FALSE; + + state->menuType = 4; + state->cursorPos = sub_81C76AC(); + state->descriptionId = state->cursorPos + 8; + state->helpBarIndex = 0; + sub_81C939C(state); + return TRUE; +} + +static void sub_81C939C(struct Pokenav1Struct *state) +{ + switch (state->menuType) + { + case 0: + SetPokenavMode(POKENAV_MODE_NORMAL); + // fallthrough + case 1: + case 2: + state->callback = sub_81C93EC(); + break; + case 3: + state->callback = sub_81C963C; + break; + case 4: + state->callback = sub_81C96FC; + break; + } +} + +static u32 (*sub_81C93EC(void))(struct Pokenav1Struct*) +{ + switch (GetPokenavMode()) + { + default: + case POKENAV_MODE_NORMAL: + return sub_81C943C; + case POKENAV_MODE_FORCE_CALL_1: + return sub_81C9520; + case POKENAV_MODE_FORCE_CALL_2: + return sub_81C9588; + } +} + +u32 sub_81C941C(void) +{ + struct Pokenav1Struct *state = GetSubstructPtr(1); + return state->callback(state); +} + +void sub_81C9430(void) +{ + FreePokenavSubstruct(1); +} + +static u32 sub_81C943C(struct Pokenav1Struct *a0) +{ + if (sub_81C9814(a0)) + return 1; + + if (gMain.newKeys & A_BUTTON) + { + switch (sDescriptionIds[a0->menuType][a0->cursorPos]) + { + case 0: + a0->helpBarIndex = gSaveBlock2Ptr->regionMapZoom ? 2 : 1; + sub_81C97B0(a0, POKENAV_MENU_6); + return 8; + case 1: + a0->menuType = 3; + a0->cursorPos = 0; + a0->descriptionId = sDescriptionIds[3][0]; + a0->callback = sub_81C963C; + return 2; + case 2: + a0->helpBarIndex = 6; + sub_81C97B0(a0, POKENAV_MENU_B); + return 8; + case 3: + if (CanViewRibbonsMenu()) + { + a0->helpBarIndex = 9; + sub_81C97B0(a0, POKENAV_MENU_C); + return 8; + } + else + { + a0->callback = sub_81C9600; + return 6; + } + case 4: + return -1; + } + } + + if (gMain.newKeys & B_BUTTON) + return -1; + + return 0; +} + +static u32 sub_81C9520(struct Pokenav1Struct *a0) +{ + if (sub_81C9814(a0)) + return 1; + + if (gMain.newKeys & A_BUTTON) + { + if (sDescriptionIds[a0->menuType][a0->cursorPos] == 2) + { + a0->helpBarIndex = 6; + sub_81C97B0(a0, POKENAV_MENU_B); + return 8; + } + else + { + PlaySE(SE_HAZURE); + return 0; + } + } + + if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_HAZURE); + return 0; + } + + return 0; +} + +static u32 sub_81C9588(struct Pokenav1Struct *a0) +{ + if (sub_81C9814(a0)) + return 1; + + if (gMain.newKeys & A_BUTTON) + { + u32 v0 = sDescriptionIds[a0->menuType][a0->cursorPos]; + if (v0 != 2 && v0 != 4) + { + PlaySE(SE_HAZURE); + return 0; + } + else if (v0 == 2) + { + a0->helpBarIndex = 6; + sub_81C97B0(a0, POKENAV_MENU_B); + return 8; + } + else + { + return -1; + } + } + else if (gMain.newKeys & B_BUTTON) + { + return -1; + } + return 0; +} + +static u32 sub_81C9600(struct Pokenav1Struct *a0) +{ + if (sub_81C9814(a0)) + { + a0->callback = sub_81C93EC(); + return 1; + } + + if (gMain.newKeys & (A_BUTTON | B_BUTTON)) + { + a0->callback = sub_81C93EC(); + return 7; + } + + return 0; +} + +static u32 sub_81C963C(struct Pokenav1Struct *a0) +{ + u32 v0 = sub_81C9814(a0); + if (v0) + return 1; + + if (gMain.newKeys & A_BUTTON) + { + switch (sDescriptionIds[a0->menuType][a0->cursorPos]) + { + case 6: + a0->menuType = 4; + a0->cursorPos = v0; + a0->descriptionId = sDescriptionIds[4][0]; + a0->callback = sub_81C96FC; + return 4; + case 5: + a0->helpBarIndex = v0; + sub_81C97B0(a0, POKENAV_MENU_7); + return 8; + case 7: + PlaySE(SE_SELECT); + sub_81C97C0(a0); + return 3; + } + } + if (gMain.newKeys & B_BUTTON) + { + if (a0->cursorPos != sLastCursorPositions[a0->menuType]) + { + a0->cursorPos = sLastCursorPositions[a0->menuType]; + a0->callback = sub_81C9798; + return 1; + } + else + { + PlaySE(SE_SELECT); + sub_81C97C0(a0); + return 3; + } + } + + return 0; +} + +static u32 sub_81C96FC(struct Pokenav1Struct *a0) +{ + if (sub_81C9814(a0)) + return 1; + + if (gMain.newKeys & A_BUTTON) + { + u8 v0 = sDescriptionIds[a0->menuType][a0->cursorPos]; + if (v0 != 13) + { + sub_81C7694(v0 - 8); + sub_81C97B0(a0, POKENAV_MENU_8); + a0->helpBarIndex = 3; + return 8; + } + else + { + PlaySE(SE_SELECT); + sub_81C97F8(a0); + return 5; + } + } + if (gMain.newKeys & B_BUTTON) + { + if (a0->cursorPos != sLastCursorPositions[a0->menuType]) + { + a0->cursorPos = sLastCursorPositions[a0->menuType]; + a0->callback = sub_81C97A4; + return 1; + } + else + { + PlaySE(SE_SELECT); + sub_81C97F8(a0); + return 5; + } + } + return 0; +} + +static u32 sub_81C9798(struct Pokenav1Struct *a0) +{ + sub_81C97C0(a0); + return 3; +} + +static u32 sub_81C97A4(struct Pokenav1Struct *a0) +{ + sub_81C97F8(a0); + return 5; +} + +static void sub_81C97B0(struct Pokenav1Struct *a0, u32 a1) +{ + a0->unk8 = a1; + a0->callback = sub_81C97BC; +} + +static u32 sub_81C97BC(struct Pokenav1Struct *a0) +{ + return a0->unk8; +} + +static void sub_81C97C0(struct Pokenav1Struct *a0) +{ + a0->menuType = GetPokenavMainMenuType(); + a0->cursorPos = 1; + a0->descriptionId = sDescriptionIds[a0->menuType][a0->cursorPos]; + a0->callback = sub_81C943C; +} + +static void sub_81C97F8(struct Pokenav1Struct *a0) +{ + a0->menuType = 3; + a0->cursorPos = 1; + a0->descriptionId = sDescriptionIds[3][1]; + a0->callback = sub_81C963C; +} + +static bool32 sub_81C9814(struct Pokenav1Struct *a0) +{ + if (gMain.newKeys & DPAD_UP) + { + if (--a0->cursorPos < 0) + a0->cursorPos = sLastCursorPositions[a0->menuType]; + + a0->descriptionId = sDescriptionIds[a0->menuType][a0->cursorPos]; + return TRUE; + } + else if (gMain.newKeys & DPAD_DOWN) + { + a0->cursorPos++; + if (a0->cursorPos > sLastCursorPositions[a0->menuType]) + a0->cursorPos = 0; + + a0->descriptionId = sDescriptionIds[a0->menuType][a0->cursorPos]; + return TRUE; + } + else + { + return FALSE; + } +} + +int sub_81C9894(void) +{ + struct Pokenav1Struct *state = GetSubstructPtr(1); + return state->menuType; +} + +int sub_81C98A4(void) +{ + struct Pokenav1Struct *state = GetSubstructPtr(1); + return state->cursorPos; +} + +int sub_81C98B4(void) +{ + struct Pokenav1Struct *state = GetSubstructPtr(1); + return state->descriptionId; +} + +int sub_81C98C4(void) +{ + struct Pokenav1Struct *state = GetSubstructPtr(1); + return state->helpBarIndex; +} diff --git a/src/pokenav_unk_3.c b/src/pokenav_unk_3.c new file mode 100755 index 0000000000..c6705a352f --- /dev/null +++ b/src/pokenav_unk_3.c @@ -0,0 +1,504 @@ +#include "global.h" +#include "battle_setup.h" +#include "data.h" +#include "event_data.h" +#include "gym_leader_rematch.h" +#include "international_string_util.h" +#include "main.h" +#include "match_call.h" +#include "overworld.h" +#include "pokemon.h" +#include "pokenav.h" +#include "sound.h" +#include "string_util.h" +#include "strings.h" +#include "constants/flags.h" +#include "constants/songs.h" + +struct Pokenav3Struct +{ + u16 unk0; + u16 unk2; + const u8 *unk4; + u16 unk8; + u16 unkA; + u16 unkC; + u32 unk10; + u32 unk14; + u32 (*callback)(struct Pokenav3Struct*); + struct Pokenav3Struct_Unk1C unk1C[99]; +}; + +static u32 sub_81CAB44(struct Pokenav3Struct *); +static u32 sub_81CABFC(struct Pokenav3Struct *); +static u32 sub_81CAC04(struct Pokenav3Struct *); +static u32 sub_81CACB8(struct Pokenav3Struct *); +static u32 sub_81CACF8(struct Pokenav3Struct *); +static u32 sub_81CAD20(int); +static bool32 sub_81CB1D0(void); + +extern const u8 gUnknown_08622508[]; +extern const u8 gUnknown_0862250A[]; +extern const u8 *const gUnknown_08622028[][4]; + +bool32 sub_81CAAE8(void) +{ + struct Pokenav3Struct *state = AllocSubstruct(5, sizeof(struct Pokenav3Struct)); + if (!state) + return FALSE; + + state->callback = sub_81CAB44; + state->unk8 = 0; + state->unk10 = 0; + state->unk14 = CreateLoopedTask(sub_81CAD20, 1); + return TRUE; +} + +u32 sub_81CAB24(void) +{ + struct Pokenav3Struct *state = GetSubstructPtr(5); + return state->callback(state); +} + +void sub_81CAB38(void) +{ + FreePokenavSubstruct(5); +} + +static u32 sub_81CAB44(struct Pokenav3Struct *state) +{ + int selectedMatchCall; + + if (gMain.newAndRepeatedKeys & DPAD_UP) + return 2; + if (gMain.newAndRepeatedKeys & DPAD_DOWN) + return 1; + if (gMain.newAndRepeatedKeys & DPAD_LEFT) + return 4; + if (gMain.newAndRepeatedKeys & DPAD_RIGHT) + return 3; + + if (gMain.newKeys & A_BUTTON) + { + state->callback = sub_81CAC04; + state->unk0 = 0; + selectedMatchCall = GetSelectedMatchCall(); + if (!state->unk1C[selectedMatchCall].unk0 || sub_81D17E8(state->unk1C[selectedMatchCall].unk2)) + { + state->unk4 = gUnknown_0862250A; + state->unk2 = 2; + } + else + { + state->unk4 = gUnknown_08622508; + state->unk2 = 1; + } + + return 5; + } + + if (gMain.newKeys & B_BUTTON) + { + if (GetPokenavMode() != POKENAV_MODE_FORCE_CALL_1) + { + state->callback = sub_81CABFC; + return 15; + } + else + { + PlaySE(SE_HAZURE); + } + } + + return 0; +} + +static u32 sub_81CABFC(struct Pokenav3Struct *state) +{ + return POKENAV_MENU_4; +} + +static u32 sub_81CAC04(struct Pokenav3Struct *state) +{ + if ((gMain.newKeys & DPAD_UP) && state->unk0) + { + state->unk0--; + return 6; + } + + if ((gMain.newKeys & DPAD_DOWN) && state->unk0 < state->unk2) + { + state->unk0++; + return 6; + } + + if (gMain.newKeys & A_BUTTON) + { + switch (state->unk4[state->unk0]) + { + case 2: + state->callback = sub_81CAB44; + return 7; + case 0: + if (GetPokenavMode() == POKENAV_MODE_FORCE_CALL_1) + SetPokenavMode(POKENAV_MODE_FORCE_CALL_2); + + state->callback = sub_81CACF8; + if (sub_81CB1D0()) + return 9; + + return 8; + case 1: + state->callback = sub_81CACB8; + return 11; + } + } + + if (gMain.newKeys & B_BUTTON) + { + state->callback = sub_81CAB44; + return 7; + } + + return 0; +} + +static u32 sub_81CACB8(struct Pokenav3Struct *state) +{ + if (gMain.newAndRepeatedKeys & DPAD_UP) + return 12; + if (gMain.newAndRepeatedKeys & DPAD_DOWN) + return 13; + + if (gMain.newKeys & B_BUTTON) + { + state->callback = sub_81CAB44; + return 14; + } + + return 0; +} + +static u32 sub_81CACF8(struct Pokenav3Struct *state) +{ + if (gMain.newKeys & (A_BUTTON | B_BUTTON)) + { + state->callback = sub_81CAB44; + return 10; + } + + return 0; +} + +static u32 sub_81CAD20(int taskState) +{ + int i, j; + struct Pokenav3Struct *state = GetSubstructPtr(5); + switch (taskState) + { + case 0: + state->unk8 = 0; + state->unkA = 0; + return LT_INC_AND_CONTINUE; + case 1: + for (i = 0, j = state->unk8; i < 30; i++, j++) + { + if (MatchCallFlagGetByIndex(j)) + { + state->unk1C[state->unkA].unk2 = j; + state->unk1C[state->unkA].unk0 = 1; + state->unk1C[state->unkA].unk1 = sub_81D16DC(j); + state->unkA++; + } + + if (++state->unk8 >= 21) // TODO: This is the size of sMatchCallHeaders + { + state->unkC = state->unk8; + state->unk8 = 0; + return LT_INC_AND_CONTINUE; + } + } + + return LT_CONTINUE; + case 2: + for (i = 0, j = state->unk8; i < 30; i++, j++) + { + if (!sub_81D1BF8(state->unk8) && sub_81CAE08(state->unk8)) + { + state->unk1C[state->unkA].unk2 = state->unk8; + state->unk1C[state->unkA].unk0 = 0; + state->unk1C[state->unkA].unk1 = sub_81CB0C8(j); + state->unkA++; + } + + if (++state->unk8 > REMATCH_TABLE_ENTRIES - 1) + return LT_INC_AND_CONTINUE; + } + + return LT_CONTINUE; + case 3: + state->unk10 = 1; + break; + } + + return LT_FINISH; +} + +bool32 sub_81CAE08(int rematchIndex) +{ + if (rematchIndex < REMATCH_TABLE_ENTRIES) + return FlagGet(FLAG_MATCH_CALL_REGISTERED + rematchIndex); + + return FALSE; +} + +int sub_81CAE28(void) +{ + struct Pokenav3Struct *state = GetSubstructPtr(5); + return state->unk10; +} + +int sub_81CAE38(void) +{ + struct Pokenav3Struct *state = GetSubstructPtr(5); + return state->unkA; +} + +int sub_81CAE48(void) +{ + struct Pokenav3Struct *state = GetSubstructPtr(5); + return state->unkC; +} + +int unref_sub_81CAE58(void) +{ + struct Pokenav3Struct *state = GetSubstructPtr(5); + return state->unkA - state->unkC; +} + +int unref_sub_81CAE6C(int arg0) +{ + struct Pokenav3Struct *state = GetSubstructPtr(5); + arg0 += state->unkC; + if (arg0 >= state->unkA) + return REMATCH_TABLE_ENTRIES; + + return state->unk1C[arg0].unk2; +} + +struct Pokenav3Struct_Unk1C *sub_81CAE94(void) +{ + struct Pokenav3Struct *state = GetSubstructPtr(5); + return state->unk1C; +} + +u16 sub_81CAEA4(int index) +{ + struct Pokenav3Struct *state = GetSubstructPtr(5); + return state->unk1C[index].unk1; +} + +bool32 sub_81CAEBC(int index) +{ + struct Pokenav3Struct *state = GetSubstructPtr(5); + if (!state->unk1C[index].unk0) + index = state->unk1C[index].unk2; + else + index = MatchCall_GetRematchTableIdx(state->unk1C[index].unk2); + + if (index == REMATCH_TABLE_ENTRIES) + return FALSE; + + return gSaveBlock1Ptr->trainerRematches[index] != 0; +} + +int sub_81CAF04(int index) +{ + int var0; + struct Pokenav3Struct *state = GetSubstructPtr(5); + if (!state->unk1C[index].unk0) + { + index = GetTrainerIdxByRematchIdx(state->unk1C[index].unk2); + return gTrainers[index].trainerPic; + } + + var0 = state->unk1C[index].unk2; + index = MatchCall_GetRematchTableIdx(var0); + if (index != REMATCH_TABLE_ENTRIES) + { + index = GetTrainerIdxByRematchIdx(index); + return gTrainers[index].trainerPic; + } + + index = sub_81D1BD0(var0); + return gFacilityClassToPicIndex[index]; +} + +const u8 *sub_81CAF78(int index, u8 *arg1) +{ + struct Pokenav3Struct *state = GetSubstructPtr(5); + *arg1 = 0; + if (!Overworld_MapTypeAllowsTeleportAndFly(gMapHeader.mapType)) + return gText_CallCantBeMadeHere; + + if (!state->unk1C[index].unk0) + *arg1 = SelectMatchCallMessage(GetTrainerIdxByRematchIdx(state->unk1C[index].unk2), gStringVar4); + else + MatchCall_GetMessage(state->unk1C[index].unk2, gStringVar4); + + return gStringVar4; +} + +const u8 *sub_81CAFD8(int index, int textType) +{ + int var0; + struct Pokenav3Struct *state = GetSubstructPtr(5); + if (state->unk1C[index].unk0) + { + var0 = MatchCall_GetRematchTableIdx(state->unk1C[index].unk2); + if (var0 == REMATCH_TABLE_ENTRIES) + return sub_81D1B40(state->unk1C[index].unk2, textType); + } + else + { + var0 = state->unk1C[index].unk2; + } + + return gUnknown_08622028[var0][textType]; +} + +u16 sub_81CB01C(void) +{ + struct Pokenav3Struct *state = GetSubstructPtr(5); + return state->unk0; +} + +u16 sub_81CB02C(int arg0) +{ + struct Pokenav3Struct *state = GetSubstructPtr(5); + if (state->unk2 < arg0) + return 3; + + return state->unk4[arg0]; +} + +void sub_81CB050(u32 arg0, u8 *str) +{ + struct Pokenav3Struct_Unk1C *var0 = (struct Pokenav3Struct_Unk1C *)arg0; + const u8 *trainerName; + const u8 *className; + if (!var0->unk0) + { + int index = GetTrainerIdxByRematchIdx(var0->unk2); + const struct Trainer *trainer = &gTrainers[index]; + int class = trainer->trainerClass; + className = gTrainerClassNames[class]; + trainerName = trainer->trainerName; + } + else + { + sub_81D1A78(var0->unk2, &className, &trainerName); + } + + if (className && trainerName) + { + u8 *str2 = sub_81DB494(str, 7, className, 69); + sub_81DB494(str2, 7, trainerName, 51); + } + else + { + sub_81DB494(str, 7, NULL, 120); + } +} + +int sub_81CB0C8(int rematchIndex) +{ + int mapGroup = gRematchTable[rematchIndex].mapGroup; + int mapNum = gRematchTable[rematchIndex].mapNum; + return Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum)->regionMapSectionId; +} + +int sub_81CB0E4(int index) +{ + struct Pokenav3Struct *state = GetSubstructPtr(5); + int count = 1; + while (++index < state->unkA) + { + if (!state->unk1C[index].unk0) + return count; + if (sub_81D17E8(state->unk1C[index].unk2)) + return count; + + count++; + } + + return 0; +} + +int sub_81CB128(int index) +{ + struct Pokenav3Struct *state = GetSubstructPtr(5); + int count = -1; + while (--index >= 0) + { + if (!state->unk1C[index].unk0) + return count; + if (sub_81D17E8(state->unk1C[index].unk2)) + return count; + + count--; + } + + return 0; +} + +bool32 unref_sub_81CB16C(void) +{ + int i; + + for (i = 0; i < REMATCH_TABLE_ENTRIES; i++) + { + if (sub_81CAE08(i) && gSaveBlock1Ptr->trainerRematches[i]) + return TRUE; + } + + for (i = 0; i < 21; i++) // TODO: This is the size of sMatchCallHeaders + { + if (MatchCallFlagGetByIndex(i)) + { + int index = MatchCall_GetRematchTableIdx(i); + if (gSaveBlock1Ptr->trainerRematches[index]) + return TRUE; + } + } + + return FALSE; +} + +static bool32 sub_81CB1D0(void) +{ + struct Pokenav3Struct *state = GetSubstructPtr(5); + int index = GetSelectedMatchCall(); + if (!state->unk1C[index].unk0) + { + if (sub_81CAEA4(index) == gMapHeader.regionMapSectionId) + { + if (!gSaveBlock1Ptr->trainerRematches[state->unk1C[index].unk2]) + return TRUE; + } + } + else + { + if (state->unk1C[index].unk2 == 11) + { + if (sub_81CAEA4(index) == gMapHeader.regionMapSectionId + && FlagGet(FLAG_BADGE05_GET) == TRUE) + { + if (!FlagGet(FLAG_WATTSON_REMATCH_AVAILABLE)) + return TRUE; + } + } + } + + return FALSE; +} diff --git a/src/pokenav_unk_4.c b/src/pokenav_unk_4.c new file mode 100755 index 0000000000..6fa76daf2b --- /dev/null +++ b/src/pokenav_unk_4.c @@ -0,0 +1,1119 @@ +#include "global.h" +#include "bg.h" +#include "data.h" +#include "decompress.h" +#include "dma3.h" +#include "international_string_util.h" +#include "main.h" +#include "match_call.h" +#include "menu.h" +#include "overworld.h" +#include "palette.h" +#include "pokenav.h" +#include "region_map.h" +#include "sound.h" +#include "sprite.h" +#include "string_util.h" +#include "strings.h" +#include "task.h" +#include "text.h" +#include "text_window.h" +#include "trig.h" +#include "window.h" +#include "constants/game_stat.h" +#include "constants/region_map_sections.h" +#include "constants/songs.h" +#include "constants/species.h" + +struct Pokenav4Struct +{ + bool32 (*unk0)(void); + u32 unk4; + u8 filler8[0x6]; + u8 unkE; + u8 unkF; + u16 unk10; + u16 unk12; + u16 unk14; + s16 unk16; + u8 unused18; + u8 unk19; + u16 unk1A; + struct Sprite *unk1C; + struct Sprite *unk20; + u8 unk24[0x800]; + u8 unk824[0x800]; + u8 unk1024[0x800]; + u8 *unk1824; + u8 unk1828[0x800]; + u8 unk2028[0x20]; +}; + +static bool32 sub_81CB310(void); +static u32 sub_81CB324(int); +static void sub_81CBBB8(void); +static void sub_81CBC1C(void); +static void sub_81CC2B4(void); +static void sub_81CC034(struct Pokenav4Struct *); +static void sub_81CBD78(struct Pokenav4Struct *); +static void sub_81CBDC0(struct Pokenav4Struct *); +static void sub_81CBEF8(struct Pokenav4Struct *, int); +static void sub_81CC214(void); +static void sub_81CBC38(int); +static void sub_81CBF60(struct Pokenav4Struct *); +static bool32 sub_81CBFC4(struct Pokenav4Struct *); +static void sub_81CC344(struct Pokenav4Struct *, int); +static bool32 sub_81CC004(struct Pokenav4Struct *); +static void sub_81CBFF0(struct Pokenav4Struct *); +static void sub_81CC058(struct Pokenav4Struct *); +static bool32 sub_81CC0D0(struct Pokenav4Struct *); +static void sub_81CC0E0(struct Pokenav4Struct *); +static bool32 sub_81CC104(struct Pokenav4Struct *); +static void sub_81CC158(struct Pokenav4Struct *); +static bool32 sub_81CC194(struct Pokenav4Struct *); +static void sub_81CC09C(struct Pokenav4Struct *); +static void sub_81CC11C(struct Pokenav4Struct *); +static bool32 sub_81CC140(struct Pokenav4Struct *); +static void sub_81CC1DC(struct Pokenav4Struct *); +static bool32 sub_81CC204(struct Pokenav4Struct *); +static void sub_81CC014(struct Pokenav4Struct *); +static void sub_81CC39C(struct Pokenav4Struct *); +static bool32 sub_81CC42C(struct Pokenav4Struct *); +static void sub_81CC420(struct Pokenav4Struct *); +static void sub_81CBC64(u8 taskId); +static void sub_81CBCEC(u16 windowId, u32, u32); +static void sub_81CBDF4(u16 windowId); +static void sub_81CBE0C(u16 windowId); +static void sub_81CBE38(u16 windowId); +static void sub_81CBE50(u16 windowId); +static void sub_81CBE88(u16 windowId, const u8 *str, int top); +static void sub_81CBEB4(u16 windowId, const u8 *str, int top); +static void sub_81CC2F0(struct Pokenav4Struct *, int); +static void sub_81CC330(struct Pokenav4Struct *); +static struct Sprite *sub_81CC370(void); +static void sub_81CC440(struct Sprite *sprite); +static void sub_81CC4A4(struct Sprite *sprite); + +extern const LoopedTask gUnknown_08622798[]; +extern const struct BgTemplate gUnknown_0862278C[3]; +extern const u16 gUnknown_08622510[]; +extern const u32 gUnknown_08622530[]; +extern const u32 gUnknown_08622760[]; +extern const u16 gUnknown_08622700[]; +extern const u16 gUnknown_08622720[]; +extern const u8 gUnknown_086225D4[]; +extern const u16 gUnknown_086226E0[]; +extern const struct BgTemplate gUnknown_08622794; +extern const struct WindowTemplate gUnknown_086227D8; +extern const struct WindowTemplate gUnknown_086227E0; +extern const u8 *const gUnknown_086227E8[]; +extern const struct WindowTemplate gUnknown_08622808; +extern const u8 gUnknown_086227F4[]; +extern const struct CompressedSpriteSheet gUnknown_08622810[1]; +extern const struct SpritePalette gUnknown_08622818[]; +extern const struct SpriteTemplate gUnknown_08622830; +extern const struct SpriteTemplate gUnknown_08622850; + +bool32 sub_81CB260(void) +{ + struct Pokenav4Struct *state = AllocSubstruct(6, sizeof(struct Pokenav4Struct)); + if (!state) + return FALSE; + + state->unk19 = 0; + state->unk4 = CreateLoopedTask(sub_81CB324, 1); + state->unk0 = sub_81CB310; + return TRUE; +} + +void sub_81CB29C(int index) +{ + struct Pokenav4Struct *state = GetSubstructPtr(6); + state->unk4 = CreateLoopedTask(gUnknown_08622798[index], 1); + state->unk0 = sub_81CB310; +} + +u32 sub_81CB2CC(void) +{ + struct Pokenav4Struct *state = GetSubstructPtr(6); + return state->unk0(); +} + +void sub_81CB2E0(void) +{ + struct Pokenav4Struct *state = GetSubstructPtr(6); + sub_81CC2B4(); + sub_81CBC1C(); + RemoveWindow(state->unk12); + RemoveWindow(state->unk10); + RemoveWindow(state->unk14); + FreePokenavSubstruct(6); +} + +static bool32 sub_81CB310(void) +{ + struct Pokenav4Struct *state = GetSubstructPtr(6); + return IsLoopedTaskActive(state->unk4); +} + +static u32 sub_81CB324(int taskState) +{ + struct Pokenav4Struct *state = GetSubstructPtr(6); + switch (taskState) + { + case 0: + InitBgTemplates(gUnknown_0862278C, ARRAY_COUNT(gUnknown_0862278C)); + ChangeBgX(2, 0, 0); + ChangeBgY(2, 0, 0); + decompress_and_copy_tile_data_to_vram(2, gUnknown_08622530, 0, 0, 0); + SetBgTilemapBuffer(2, state->unk1024); + CopyToBgTilemapBuffer(2, gUnknown_086225D4, 0, 0); + CopyBgTilemapBufferToVram(2); + CopyPaletteIntoBufferUnfaded(gUnknown_08622510, 0x20, 0x20); + CopyBgTilemapBufferToVram(2); + return 0; + case 1: + if (free_temp_tile_data_buffers_if_possible()) + return 2; + + sub_8199DF0(1, 0, 0, 1); + SetBgTilemapBuffer(1, state->unk24); + FillBgTilemapBufferRect_Palette0(1, 0x1000, 0, 0, 32, 20); + CopyPaletteIntoBufferUnfaded(gUnknown_086226E0, 0x10, 0x20); + CopyBgTilemapBufferToVram(1); + return 0; + case 2: + if (free_temp_tile_data_buffers_if_possible()) + return 2; + + sub_81CC034(state); + decompress_and_copy_tile_data_to_vram(3, gUnknown_08622760, 0, 0, 0); + CopyPaletteIntoBufferUnfaded(gUnknown_08622700, 0x30, 0x20); + CopyPaletteIntoBufferUnfaded(gUnknown_08622720, 0x50, 0x20); + return 0; + case 3: + if (free_temp_tile_data_buffers_if_possible() || !sub_81CAE28()) + return 2; + + sub_81CBBB8(); + return 0; + case 4: + if (sub_81C8224()) + return 2; + + sub_81CBD78(state); + return 0; + case 5: + sub_81CBDC0(state); + sub_81CBEF8(state, 0); + return 0; + case 6: + ChangeBgX(1, 0, 0); + ChangeBgY(1, 0, 0); + ShowBg(2); + ShowBg(3); + ShowBg(1); + sub_81CC214(); + LoadLeftHeaderGfxForIndex(3); + sub_81C7FA0(3, 1, 0); + sub_81C7AC0(1); + return 0; + case 7: + if (IsPaletteFadeActive() || sub_81C8010()) + return 2; + + sub_81CBC38(1); + return 4; + default: + return 4; + } +} + +u32 sub_81CB510(int taskState) +{ + struct Pokenav4Struct *state = GetSubstructPtr(6); + switch (taskState) + { + case 0: + switch (MatchCall_MoveCursorDown()) + { + case 0: + break; + case 1: + PlaySE(SE_SELECT); + return 7; + case 2: + PlaySE(SE_SELECT); + // fall through + default: + return 0; + } + break; + case 1: + if (sub_81C8630()) + return 2; + + sub_81CBEF8(state, 0); + return 0; + case 2: + sub_81CBEF8(state, 0); + return 0; + case 3: + if (IsDma3ManagerBusyWithBgCopy()) + return 2; + break; + } + return 4; +} + +u32 sub_81CB588(int taskState) +{ + struct Pokenav4Struct *state = GetSubstructPtr(6); + switch (taskState) + { + case 0: + switch (MatchCall_MoveCursorUp()) + { + case 0: + break; + case 1: + PlaySE(SE_SELECT); + return 7; + case 2: + PlaySE(SE_SELECT); + // fall through + default: + return 0; + } + break; + case 1: + if (sub_81C8630()) + return 2; + + sub_81CBEF8(state, 0); + return 0; + case 2: + sub_81CBEF8(state, 0); + return 0; + case 3: + if (IsDma3ManagerBusyWithBgCopy()) + return 2; + break; + } + return 4; +} + +u32 sub_81CB600(int taskState) +{ + struct Pokenav4Struct *state = GetSubstructPtr(6); + switch (taskState) + { + case 0: + switch (MatchCall_PageDown()) + { + case 0: + break; + case 1: + PlaySE(SE_SELECT); + return 7; + case 2: + PlaySE(SE_SELECT); + // fall through + default: + return 0; + } + break; + case 1: + if (sub_81C8630()) + return 2; + + sub_81CBEF8(state, 0); + return 0; + case 2: + sub_81CBEF8(state, 0); + return 0; + case 3: + if (IsDma3ManagerBusyWithBgCopy()) + return 2; + break; + } + return 4; +} + +u32 sub_81CB678(int taskState) +{ + struct Pokenav4Struct *state = GetSubstructPtr(6); + switch (taskState) + { + case 0: + switch (MatchCall_PageUp()) + { + case 0: + break; + case 1: + PlaySE(SE_SELECT); + return 7; + case 2: + PlaySE(SE_SELECT); + // fall through + default: + return 0; + } + break; + case 1: + if (sub_81C8630()) + return 2; + + sub_81CBEF8(state, 0); + return 0; + case 2: + sub_81CBEF8(state, 0); + return 0; + case 3: + if (IsDma3ManagerBusyWithBgCopy()) + return 2; + break; + } + return 4; +} + +u32 sub_81CB6F0(int taskState) +{ + struct Pokenav4Struct *state = GetSubstructPtr(6); + switch (taskState) + { + case 0: + PlaySE(SE_SELECT); + sub_81CBF60(state); + sub_81C7BA4(7); + return 0; + case 1: + if (sub_81CBFC4(state)) + return 2; + break; + } + + return 4; +} + +u32 sub_81CB734(int taskState) +{ + struct Pokenav4Struct *state; + u16 var0; + + PlaySE(SE_SELECT); + state = GetSubstructPtr(6); + var0 = sub_81CB01C(); + sub_81CC344(state, var0); + return 4; +} + +u32 sub_81CB75C(int taskState) +{ + struct Pokenav4Struct *state = GetSubstructPtr(6); + switch (taskState) + { + case 0: + PlaySE(SE_SELECT); + sub_81CBFF0(state); + sub_81C7BA4(6); + return 0; + case 1: + if (sub_81CC004(state)) + return 2; + break; + } + + return 4; +} + +u32 sub_81CB7A0(int taskState) +{ + struct Pokenav4Struct *state = GetSubstructPtr(6); + switch (taskState) + { + case 0: + ToggleMatchCallVerticalArrows(TRUE); + sub_81CC058(state); + return 0; + case 1: + if (sub_81CC0D0(state)) + return 2; + + sub_81CC0E0(state); + PlaySE(SE_TOREEYE); + state->unkE = 0; + return 0; + case 2: + if (sub_81CC104(state)) + return 2; + + sub_81CC158(state); + return 0; + case 3: + if (sub_81CC194(state)) + return 2; + break; + } + + return 4; +} + +u32 sub_81CB824(int taskState) +{ + struct Pokenav4Struct *state = GetSubstructPtr(6); + switch (taskState) + { + case 0: + PlaySE(SE_SELECT); + sub_81CC09C(state); + ToggleMatchCallVerticalArrows(TRUE); + state->unkE = 1; + return 0; + case 1: + if (sub_81CC0D0(state)) + return 2; + + sub_81CC11C(state); + return 0; + case 2: + if (sub_81CC140(state)) + return 2; + break; + } + + return 4; +} + +u32 sub_81CB888(int taskState) +{ + struct Pokenav4Struct *state = GetSubstructPtr(6); + u32 result = 0; + + switch (taskState) + { + case 0: + if (!state->unkE) + PlaySE(SE_TOREOFF); + + PlaySE(SE_SELECT); + break; + case 1: + sub_81CC1DC(state); + break; + case 2: + if (sub_81CC204(state)) + result = 2; + break; + case 3: + sub_81CBFF0(state); + break; + case 4: + if (sub_81CC004(state)) + result = 2; + + sub_81C7BA4(6); + break; + case 5: + if (IsDma3ManagerBusyWithBgCopy_()) + { + result = 2; + } + else + { + if (state->unkF) + { + sub_81C8838(); + result = 1; + } + else + { + ToggleMatchCallVerticalArrows(FALSE); + result = 4; + } + } + break; + case 6: + if (IsDma3ManagerBusyWithBgCopy()) + { + result = 2; + } + else + { + ToggleMatchCallVerticalArrows(FALSE); + result = 4; + } + break; + } + + return result; +} + +u32 sub_81CB93C(int taskState) +{ + struct Pokenav4Struct *state = GetSubstructPtr(6); + switch (taskState) + { + case 0: + PlaySE(SE_SELECT); + sub_81C877C(); + sub_81CC014(state); + return 0; + case 1: + if (sub_81C8820() || sub_81CC004(state)) + return 2; + + sub_81C7BA4(8); + return 0; + case 2: + sub_81C87AC(0); + sub_81CC39C(state); + return 0; + case 3: + if (sub_81C8820() || sub_81CC42C(state) || IsDma3ManagerBusyWithBgCopy_()) + return 2; + break; + } + + return 4; +} + +u32 sub_81CB9C8(int taskState) +{ + int index; + int var0; + struct Pokenav4Struct *state = GetSubstructPtr(6); + switch (taskState) + { + case 0: + index = GetMatchCallListTopIndex(); + var0 = sub_81CB0E4(index); + if (var0) + { + PlaySE(SE_SELECT); + state->unk16 = var0; + sub_81CC420(state); + return 0; + } + break; + case 1: + if (sub_81CC42C(state)) + return 2; + + sub_81CBEF8(state, state->unk16); + return 0; + case 2: + sub_81C87AC(state->unk16); + return 0; + case 3: + sub_81CC39C(state); + return 0; + case 4: + if (sub_81C8820() || sub_81CC42C(state)) + return 2; + break; + } + + return 4; +} + +u32 sub_81CBA68(int taskState) +{ + struct Pokenav4Struct *state = GetSubstructPtr(6); + switch (taskState) + { + case 0: + PlaySE(SE_SELECT); + sub_81CC420(state); + sub_81C87F0(); + return 0; + case 1: + if (sub_81C8820() || sub_81CC42C(state)) + return 2; + + sub_81C7BA4(6); + sub_81CBDC0(state); + return 0; + case 2: + if (IsDma3ManagerBusyWithBgCopy()) + return 2; + break; + } + + return 4; +} + +u32 sub_81CBAD4(int taskState) +{ + int index; + int var0; + struct Pokenav4Struct *state = GetSubstructPtr(6); + switch (taskState) + { + case 0: + index = GetMatchCallListTopIndex(); + var0 = sub_81CB128(index); + if (var0) + { + PlaySE(SE_SELECT); + state->unk16 = var0; + sub_81CC420(state); + return 0; + } + break; + case 1: + if (sub_81CC42C(state)) + return 2; + + sub_81CBEF8(state, state->unk16); + return 0; + case 2: + sub_81C87AC(state->unk16); + return 0; + case 3: + sub_81CC39C(state); + return 0; + case 4: + if (sub_81C8820() || sub_81CC42C(state)) + return 2; + break; + } + + return 4; +} + +u32 sub_81CBB74(int taskState) +{ + switch (taskState) + { + case 0: + PlaySE(SE_SELECT); + sub_81CBC38(0); + sub_81C7AC0(0); + sub_81C78A0(); + return 0; + case 1: + if (IsPaletteFadeActive() || MainMenuLoopedTaskIsBusy()) + return 2; + + sub_81C7FDC(); + break; + } + + return 4; +} + +static void sub_81CBBB8(void) +{ + struct MatchCallListTemplate template; + template.unk0 = (u32)sub_81CAE94(); + template.unk4 = sub_81CAE38(); + template.unk8 = 4; + template.unk6 = 0; + template.unk9 = 13; + template.unkA = 16; + template.unkB = 1; + template.unkC = 8; + template.unkD = 3; + template.unkE = 7; + template.unk10 = sub_81CB050; + template.unk14 = sub_81CBCEC; + sub_81C81D4(&gUnknown_08622794, &template, 2); + CreateTask(sub_81CBC64, 7); +} + +static void sub_81CBC1C(void) +{ + sub_81C8234(); + DestroyTask(FindTaskIdByFunc(sub_81CBC64)); +} + +static void sub_81CBC38(int arg0) +{ + u8 taskId = FindTaskIdByFunc(sub_81CBC64); + if (taskId != 0xFF) + gTasks[taskId].data[15] = arg0; +} + +static void sub_81CBC64(u8 taskId) +{ + s16 *taskData = gTasks[taskId].data; + if (taskData[15]) + { + taskData[0] += 4; + taskData[0] &= 0x7F; + taskData[1] = gSineTable[taskData[0]] >> 4; + sub_81C79BC(gUnknown_08622720, gUnknown_08622720 + 0x10, 0x10, 0x10, taskData[1], gPlttBufferUnfaded + 0x50); + if (!gPaletteFade.active) + CpuCopy32(gPlttBufferUnfaded + 0x50, gPlttBufferFaded + 0x50, 0x20); + } +} + +static void sub_81CBCEC(u16 windowId, u32 arg1, u32 arg2) +{ + u8 bg = GetWindowAttribute(windowId, WINDOW_BG); + u16 *tilemap = GetBgTilemapBuffer(bg); + tilemap += arg2 * 0x40 + 0x1D; + if (sub_81CAEBC(arg1)) + { + tilemap[0] = 0x5000; + tilemap[0x20] = 0x5001; + } + else + { + tilemap[0] = 0x5002; + tilemap[0x20] = 0x5002; + } +} + +void sub_81CBD48(u16 windowId, u32 arg0) +{ + u8 bg = GetWindowAttribute(windowId, WINDOW_BG); + u16 *tilemap = GetBgTilemapBuffer(bg); + tilemap += arg0 * 0x40 + 0x1D; + tilemap[0] = 0x5002; + tilemap[0x20] = 0x5002; +} + +static void sub_81CBD78(struct Pokenav4Struct *state) +{ + state->unk10 = AddWindow(&gUnknown_086227D8); + state->unk12 = AddWindow(&gUnknown_086227E0); + FillWindowPixelBuffer(state->unk10, PIXEL_FILL(1)); + PutWindowTilemap(state->unk10); + FillWindowPixelBuffer(state->unk12, PIXEL_FILL(1)); + PutWindowTilemap(state->unk12); + CopyWindowToVram(state->unk10, 1); +} + +static void sub_81CBDC0(struct Pokenav4Struct *state) +{ + FillWindowPixelBuffer(state->unk12, PIXEL_FILL(1)); + sub_81CBDF4(state->unk12); + sub_81CBE0C(state->unk12); + sub_81CBE38(state->unk12); + sub_81CBE50(state->unk12); + CopyWindowToVram(state->unk12, 2); +} + +static void sub_81CBDF4(u16 windowId) +{ + sub_81CBE88(windowId, gText_NumberRegistered, 0); +} + +static void sub_81CBE0C(u16 windowId) +{ + u8 str[3]; + ConvertIntToDecimalStringN(str, sub_81CAE38(), STR_CONV_MODE_LEFT_ALIGN, 3); + sub_81CBEB4(windowId, str, 1); +} + +static void sub_81CBE38(u16 windowId) +{ + sub_81CBE88(windowId, gText_NumberOfBattles, 2); +} + +static void sub_81CBE50(u16 windowId) +{ + u8 str[5]; + int numTrainerBattles = GetGameStat(GAME_STAT_TRAINER_BATTLES); + if (numTrainerBattles > 99999) + numTrainerBattles = 99999; + + ConvertIntToDecimalStringN(str, numTrainerBattles, STR_CONV_MODE_LEFT_ALIGN, 5); + sub_81CBEB4(windowId, str, 3); +} + +static void sub_81CBE88(u16 windowId, const u8 *str, int top) +{ + int y = top * 16 + 1; + AddTextPrinterParameterized(windowId, 7, str, 2, y, TEXT_SPEED_FF, NULL); +} + +static void sub_81CBEB4(u16 windowId, const u8 *str, int top) +{ + int x = GetStringRightAlignXOffset(7, str, 86); + int y = top * 16 + 1; + AddTextPrinterParameterized(windowId, 7, str, x, y, TEXT_SPEED_FF, NULL); +} + +static void sub_81CBEF8(struct Pokenav4Struct *state, int arg1) +{ + u8 mapName[32]; + int x; + int index = GetSelectedMatchCall() + arg1; + int regionMapSection = sub_81CAEA4(index); + if (regionMapSection != MAPSEC_NONE) + GetMapName(mapName, regionMapSection, 0); + else + StringCopy(mapName, gText_Unknown); + + x = GetStringCenterAlignXOffset(7, mapName, 88); + FillWindowPixelBuffer(state->unk10, PIXEL_FILL(1)); + AddTextPrinterParameterized(state->unk10, 7, mapName, x, 1, 0, NULL); +} + +static void sub_81CBF60(struct Pokenav4Struct *state) +{ + u32 i; + + FillWindowPixelBuffer(state->unk12, PIXEL_FILL(1)); + for (i = 0; i < 3; i++) + { + int messageId = sub_81CB02C(i); + if (messageId == 3) + break; + + AddTextPrinterParameterized(state->unk12, 7, gUnknown_086227E8[messageId], 16, i * 16 + 1, TEXT_SPEED_FF, NULL); + } + + CopyWindowToVram(state->unk12, 2); +} + +static bool32 sub_81CBFC4(struct Pokenav4Struct *state) +{ + if (!IsDma3ManagerBusyWithBgCopy()) + { + sub_81CC2F0(state, sub_81CB01C()); + return FALSE; + } + + return TRUE; +} + +static void sub_81CBFF0(struct Pokenav4Struct *state) +{ + sub_81CC330(state); + sub_81CBDC0(state); +} + +static bool32 sub_81CC004(struct Pokenav4Struct *state) +{ + return IsDma3ManagerBusyWithBgCopy(); +} + +static void sub_81CC014(struct Pokenav4Struct *state) +{ + sub_81CC330(state); + FillWindowPixelBuffer(state->unk12, PIXEL_FILL(1)); + CopyWindowToVram(state->unk12, 2); +} + +static void sub_81CC034(struct Pokenav4Struct *state) +{ + state->unk14 = AddWindow(&gUnknown_08622808); + sub_8197184(state->unk14, 1, 4); + sub_81C7B40(); +} + +static void sub_81CC058(struct Pokenav4Struct *state) +{ + struct Sprite *sprite; + sub_8197184(state->unk14, 1, 4); + sub_81971C4(state->unk14, 1, 4); + FillWindowPixelBuffer(state->unk14, PIXEL_FILL(1)); + PutWindowTilemap(state->unk14); + CopyWindowToVram(state->unk14, 3); + sprite = PauseSpinningPokenavSprite(); + sprite->pos1.x = 24; + sprite->pos1.y = 112; + sprite->pos2.y = 0; +} + +static void sub_81CC09C(struct Pokenav4Struct *state) +{ + LoadUserWindowBorderGfx(state->unk14, 1, 0x40); + DrawTextBorderOuter(state->unk14, 1, 4); + FillWindowPixelBuffer(state->unk14, PIXEL_FILL(1)); + PutWindowTilemap(state->unk14); + CopyWindowToVram(state->unk14, 3); +} + +static bool32 sub_81CC0D0(struct Pokenav4Struct *state) +{ + return IsDma3ManagerBusyWithBgCopy(); +} + +static void sub_81CC0E0(struct Pokenav4Struct *state) +{ + AddTextPrinterParameterized(state->unk14, 1, gUnknown_086227F4, 32, 1, 1, NULL); +} + +static bool32 sub_81CC104(struct Pokenav4Struct *state) +{ + RunTextPrinters(); + return IsTextPrinterActive(state->unk14); +} + +static void sub_81CC11C(struct Pokenav4Struct *state) +{ + AddTextPrinterParameterized(state->unk14, 1, gText_TrainerCloseBy, 0, 1, 1, NULL); +} + +static bool32 sub_81CC140(struct Pokenav4Struct *state) +{ + RunTextPrinters(); + return IsTextPrinterActive(state->unk14); +} + +static void sub_81CC158(struct Pokenav4Struct *state) +{ + int index = GetSelectedMatchCall(); + const u8 *str = sub_81CAF78(index, &state->unkF); + u8 speed = GetPlayerTextSpeedDelay(); + AddTextPrinterParameterized(state->unk14, 1, str, 32, 1, speed, NULL); +} + +static bool32 sub_81CC194(struct Pokenav4Struct *state) +{ + if (gMain.heldKeys & A_BUTTON) + gTextFlags.canABSpeedUpPrint = 1; + else + gTextFlags.canABSpeedUpPrint = 0; + + RunTextPrinters(); + return IsTextPrinterActive(state->unk14); +} + +static void sub_81CC1DC(struct Pokenav4Struct *state) +{ + ResumeSpinningPokenavSprite(); + FillBgTilemapBufferRect_Palette0(1, 0, 0, 0, 32, 20); + CopyBgTilemapBufferToVram(1); +} + +static bool32 sub_81CC204(struct Pokenav4Struct *state) +{ + return IsDma3ManagerBusyWithBgCopy(); +} + +static void sub_81CC214(void) +{ + int i; + u8 paletteNum; + struct SpriteSheet spriteSheet; + struct Pokenav4Struct *state = GetSubstructPtr(6); + + for (i = 0; i < ARRAY_COUNT(gUnknown_08622810); i++) + LoadCompressedSpriteSheet(&gUnknown_08622810[i]); + + Pokenav_AllocAndLoadPalettes(gUnknown_08622818); + state->unk1C = NULL; + spriteSheet.data = state->unk1828; + spriteSheet.size = 0x800; + spriteSheet.tag = 8; + state->unk1824 = (u8 *)OBJ_VRAM0 + LoadSpriteSheet(&spriteSheet) * 0x20; + paletteNum = AllocSpritePalette(13); + state->unk1A = 0x100 + paletteNum * 0x10; + state->unk20 = sub_81CC370(); + state->unk20->invisible = 1; +} + +static void sub_81CC2B4(void) +{ + struct Pokenav4Struct *state = GetSubstructPtr(6); + if (state->unk1C) + DestroySprite(state->unk1C); + if (state->unk20) + DestroySprite(state->unk20); + + FreeSpriteTilesByTag(8); + FreeSpriteTilesByTag(7); + FreeSpritePaletteByTag(12); + FreeSpritePaletteByTag(13); +} + +static void sub_81CC2F0(struct Pokenav4Struct *state, int top) +{ + if (!state->unk1C) + { + u8 spriteId = CreateSprite(&gUnknown_08622830, 4, 80, 5); + state->unk1C = &gSprites[spriteId]; + sub_81CC344(state, top); + } +} + +static void sub_81CC330(struct Pokenav4Struct *state) +{ + DestroySprite(state->unk1C); + state->unk1C = NULL; +} + +static void sub_81CC344(struct Pokenav4Struct *state, int top) +{ + state->unk1C->pos2.y = top * 16; +} + +void sub_81CC34C(struct Sprite *sprite) +{ + if (++sprite->data[0] > 3) + { + sprite->data[0] = 0; + sprite->pos2.x = (sprite->pos2.x + 1) & 0x7; + } +} + +static struct Sprite *sub_81CC370(void) +{ + u8 spriteId = CreateSprite(&gUnknown_08622850, 44, 104, 6); + return &gSprites[spriteId]; +} + +static void sub_81CC39C(struct Pokenav4Struct *state) +{ + u16 cursor; + int trainerId = sub_81CAF04(GetSelectedMatchCall()); + if (trainerId >= 0) + { + DecompressPicFromTable(&gTrainerFrontPicTable[trainerId], state->unk1828, SPECIES_NONE); + LZ77UnCompWram(gTrainerFrontPicPaletteTable[trainerId].data, state->unk2028); + cursor = RequestDma3Copy(state->unk1828, state->unk1824, 0x800, 1); + LoadPalette(state->unk2028, state->unk1A, 0x20); + state->unk20->data[0] = 0; + state->unk20->data[7] = cursor; + state->unk20->callback = sub_81CC440; + } +} + +static void sub_81CC420(struct Pokenav4Struct *state) +{ + state->unk20->callback = sub_81CC4A4; +} + +static bool32 sub_81CC42C(struct Pokenav4Struct *state) +{ + return state->unk20->callback != SpriteCallbackDummy; +} + +static void sub_81CC440(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + if (CheckForSpaceForDma3Request(sprite->data[7]) != -1) + { + sprite->pos2.x = -80; + sprite->invisible = 0; + sprite->data[0]++; + } + break; + case 1: + sprite->pos2.x += 8; + if (sprite->pos2.x >= 0) + { + sprite->pos2.x = 0; + sprite->callback = SpriteCallbackDummy; + } + break; + } +} + +static void sub_81CC4A4(struct Sprite *sprite) +{ + sprite->pos2.x -= 8; + if (sprite->pos2.x <= -80) + { + sprite->invisible = 1; + sprite->callback = SpriteCallbackDummy; + } +} diff --git a/src/pokenav_unk_5.c b/src/pokenav_unk_5.c new file mode 100755 index 0000000000..eccc200d56 --- /dev/null +++ b/src/pokenav_unk_5.c @@ -0,0 +1,636 @@ +#include "global.h" +#include "bg.h" +#include "decompress.h" +#include "landmark.h" +#include "main.h" +#include "menu.h" +#include "palette.h" +#include "pokenav.h" +#include "region_map.h" +#include "sound.h" +#include "sprite.h" +#include "string_util.h" +#include "task.h" +#include "text_window.h" +#include "window.h" +#include "constants/songs.h" + +struct Pokenav5Struct +{ + u8 filler0[0xC]; + bool32 unkC; + u32 (*unk10)(struct Pokenav5Struct *); +}; + +struct Pokenav5Struct_2 +{ + bool32 (*unk0)(void); + u32 unk4; + u16 unk8; + struct Sprite *cityFeatureTextSprites[3]; + u8 unk18[0x800]; + u8 cityZoomPics[22][0xC8]; +}; + +struct CityZoomPic +{ + u16 mapSecId; + u16 unk2; + const u32 *data; +}; + +static u32 sub_81CC568(struct Pokenav5Struct *); +static u32 sub_81CC5B4(struct Pokenav5Struct *); +static u32 sub_81CC5DC(struct Pokenav5Struct *); +static u32 sub_81CC6F4(int); +static u32 sub_81CCD34(int); +static bool32 sub_81CC6BC(void); +static void sub_81CC9EC(void); +static void sub_81CC9C0(void); +static void sub_81CCD10(void); +static bool32 sub_81CCD24(void); +static void sub_81CCA1C(struct Pokenav5Struct_2 *); +static bool32 sub_81CCAFC(void); +static void sub_81CCB0C(struct Pokenav5Struct_2 *); +static bool32 sub_81CCC4C(struct Pokenav5Struct_2 *); +static void sub_81CCC5C(int); +static bool32 sub_81CCC88(void); +static void sub_81CCE58(void); +static void sub_81CCD70(struct Pokenav5Struct_2 *, int, int); +static void sub_81CCDE8(struct Pokenav5Struct_2 *, int, int); +static void sub_81CCFA4(int); +static void sub_81CCC9C(u8 taskId); +static void sub_81CCF78(void); + +extern const LoopedTask gUnknown_086230E4[]; +extern const struct BgTemplate gUnknown_086230D8[2]; +extern const struct CompressedSpriteSheet gUnknown_086230F8[1]; +extern const struct SpritePalette gUnknown_08623100[]; +extern const struct WindowTemplate gUnknown_08623110; +extern const u32 gUnknown_08622888[]; +extern const u16 gUnknown_08622868[]; +extern const u16 gHoennMapZoomIcons_Pal[]; +extern const struct CityZoomPic gUnknown_08623118[22]; +extern const struct SpriteTemplate gUnknown_086231D0; + +u32 sub_81CC4D4(void) +{ + struct Pokenav5Struct *state = AllocSubstruct(3, sizeof(struct Pokenav5Struct)); + if (!state) + return FALSE; + + if (!AllocSubstruct(16, sizeof(struct RegionMap))) + return FALSE; + + state->unkC = sub_8124668(gMapHeader.regionMapSectionId); + if (!state->unkC) + state->unk10 = sub_81CC568; + else + state->unk10 = sub_81CC5B4; + + return TRUE; +} + +void sub_81CC524(void) +{ + gSaveBlock2Ptr->regionMapZoom = sub_8124658(); + FreePokenavSubstruct(16); + FreePokenavSubstruct(3); +} + +u32 sub_81CC554(void) +{ + struct Pokenav5Struct *state = GetSubstructPtr(3); + state->unk10(state); +} + +static u32 sub_81CC568(struct Pokenav5Struct *state) +{ + switch (sub_81230AC()) + { + case 3: + return 1; + case 4: + if (!sub_8124658()) + return 3; + return 2; + case 5: + state->unk10 = sub_81CC5DC; + return 4; + } + + return 0; +} + +static u32 sub_81CC5B4(struct Pokenav5Struct *state) +{ + if (gMain.newKeys & B_BUTTON) + { + state->unk10 = sub_81CC5DC; + return 4; + } + + return 0; +} + +static u32 sub_81CC5DC(struct Pokenav5Struct *state) +{ + return POKENAV_MENU_1; +} + +bool32 sub_81CC5E4(void) +{ + struct Pokenav5Struct *state = GetSubstructPtr(3); + return state->unkC; +} + +bool32 sub_81CC5F4(void) +{ + struct Pokenav5Struct_2 *state = AllocSubstruct(4, sizeof(struct Pokenav5Struct_2)); + if (!state) + return FALSE; + + state->unk4 = CreateLoopedTask(sub_81CC6F4, 1); + state->unk0 = sub_81CC6BC; + return TRUE; +} + +void sub_81CC62C(int index) +{ + struct Pokenav5Struct_2 *state = GetSubstructPtr(4); + state->unk4 = CreateLoopedTask(gUnknown_086230E4[index], 1); + state->unk0 = sub_81CC6BC; +} + +u32 sub_81CC65C(void) +{ + struct Pokenav5Struct_2 *state = GetSubstructPtr(4); + return state->unk0(); +} + +void sub_81CC670(void) +{ + struct Pokenav5Struct_2 *state = GetSubstructPtr(4); + FreeRegionMapIconResources(); + sub_81CC9EC(); + RemoveWindow(state->unk8); + FreePokenavSubstruct(16); + FreePokenavSubstruct(4); + SetPokenavVBlankCallback(); + SetBgMode(0); +} + +static void sub_81CC6A4(void) +{ + TransferPlttBuffer(); + LoadOam(); + ProcessSpriteCopyRequests(); + UpdateRegionMapVideoRegs(); +} + +static bool32 sub_81CC6BC(void) +{ + struct Pokenav5Struct_2 *state = GetSubstructPtr(4); + return IsLoopedTaskActive(state->unk4); +} + +static bool8 sub_81CC6D0(void) +{ + if (sub_81CC5E4()) + return FALSE; + + return gSaveBlock2Ptr->regionMapZoom == 1; +} + +static u32 sub_81CC6F4(int taskState) +{ + int var0; + struct RegionMap *regionMap; + struct Pokenav5Struct_2 *state = GetSubstructPtr(4); + switch (taskState) + { + case 0: + SetVBlankCallback_(NULL); + HideBg(1); + HideBg(2); + HideBg(3); + SetBgMode(1); + InitBgTemplates(gUnknown_086230D8, ARRAY_COUNT(gUnknown_086230D8)); + regionMap = GetSubstructPtr(16); + sub_8122CF8(regionMap, &gUnknown_086230D8[1], sub_81CC6D0()); + sub_81CC9C0(); + return 0; + case 1: + if (sub_8122DB0()) + return 2; + + if (!sub_81CC5E4()) + { + CreateRegionMapPlayerIcon(4, 9); + CreateRegionMapCursor(5, 10); + sub_812454C(); + } + else + { + sub_8123030(0, 6); + } + return 0; + case 2: + sub_81CCD10(); + return 1; + case 3: + if (sub_81CCD24()) + return 2; + + sub_81CCA1C(state); + return 1; + case 4: + if (sub_81CCAFC()) + return 2; + + sub_81CCB0C(state); + sub_81C7B40(); + return 0; + case 5: + if (sub_81CCC4C(state)) + return 2; + + ShowBg(1); + ShowBg(2); + SetVBlankCallback_(sub_81CC6A4); + return 0; + case 6: + if (!sub_81CC6D0()) + var0 = 4; + else + var0 = 5; + + LoadLeftHeaderGfxForIndex(var0); + sub_81C7FA0(var0, 1, 1); + sub_81C7AC0(1); + return 0; + case 7: + if (IsPaletteFadeActive() || sub_81C8010()) + return 2; + return 1; + default: + return 4; + } +} + +u32 sub_81CC848(int taskState) +{ + struct Pokenav5Struct_2 *state = GetSubstructPtr(4); + switch (taskState) + { + case 0: + sub_81CCB0C(state); + return 0; + case 1: + if (sub_81CCC4C(state)) + return 2; + break; + } + + return 4; +} + +u32 sub_81CC878(int taskState) +{ + switch (taskState) + { + case 0: + PlaySE(SE_SELECT); + sub_81CCC5C(0); + sub_8123418(); + return 0; + case 1: + if (sub_8123514() || sub_81CCC88()) + return 2; + + sub_81C7BA4(1); + return 0; + case 2: + if (IsDma3ManagerBusyWithBgCopy_()) + return 2; + + sub_81C7E14(4); + break; + } + + return 4; +} + +u32 sub_81CC8D8(int taskState) +{ + struct Pokenav5Struct_2 *state = GetSubstructPtr(4); + switch (taskState) + { + case 0: + PlaySE(SE_SELECT); + sub_81CCB0C(state); + return 0; + case 1: + if (sub_81CCC4C(state)) + return 2; + + sub_81CCC5C(1); + sub_8123418(); + return 0; + case 2: + if (sub_8123514() || sub_81CCC88()) + return 2; + + sub_81C7BA4(2); + return 0; + case 3: + if (IsDma3ManagerBusyWithBgCopy_()) + return 2; + + sub_81C7E14(5); + break; + } + + return 4; +} + +u32 sub_81CC95C(int taskState) +{ + switch (taskState) + { + case 0: + PlaySE(SE_SELECT); + sub_81C7AC0(0); + return 0; + case 1: + if (IsPaletteFadeActive()) + return 2; + + sub_81C7FDC(); + sub_81C78A0(); + return 0; + case 2: + if (MainMenuLoopedTaskIsBusy()) + return 2; + + HideBg(1); + HideBg(2); + HideBg(3); + return 0; + } + + return 4; +} + +static void sub_81CC9C0(void) +{ + int i; + for (i = 0; i < ARRAY_COUNT(gUnknown_086230F8); i++) + LoadCompressedSpriteSheet(&gUnknown_086230F8[i]); + + Pokenav_AllocAndLoadPalettes(gUnknown_08623100); + sub_81CCE58(); +} + +static void sub_81CC9EC(void) +{ + int i; + struct Pokenav5Struct_2 *state = GetSubstructPtr(4); + FreeSpriteTilesByTag(6); + FreeSpritePaletteByTag(11); + for (i = 0; i < 3; i++) + DestroySprite(state->cityFeatureTextSprites[i]); +} + +static void sub_81CCA1C(struct Pokenav5Struct_2 *state) +{ + sub_8199DF0(1, PIXEL_FILL(0), 0x40, 1); + sub_8199DF0(1, PIXEL_FILL(1), 0x41, 1); + CpuFill16(0x1040, state->unk18, 0x800); + SetBgTilemapBuffer(1, state->unk18); + state->unk8 = AddWindow(&gUnknown_08623110); + LoadUserWindowBorderGfx_(state->unk8, 0x42, 0x40); + DrawTextBorderOuter(state->unk8, 0x42, 4); + decompress_and_copy_tile_data_to_vram(1, gUnknown_08622888, 0, 0, 0); + FillWindowPixelBuffer(state->unk8, PIXEL_FILL(1)); + PutWindowTilemap(state->unk8); + CopyWindowToVram(state->unk8, 3); + CopyPaletteIntoBufferUnfaded(gUnknown_08622868, 0x10, 0x20); + CopyPaletteIntoBufferUnfaded(gHoennMapZoomIcons_Pal, 0x30, 0x20); + if (!sub_8124658()) + ChangeBgY(1, -0x6000, 0); + else + ChangeBgY(1, 0, 0); + + ChangeBgX(1, 0, 0); +} + +static bool32 sub_81CCAFC(void) +{ + return free_temp_tile_data_buffers_if_possible(); +} + +static void sub_81CCB0C(struct Pokenav5Struct_2 *state) +{ + struct RegionMap *regionMap = GetSubstructPtr(16); + switch (regionMap->iconDrawType) + { + case MAPSECTYPE_CITY_CANFLY: + FillWindowPixelBuffer(state->unk8, PIXEL_FILL(1)); + PutWindowRectTilemap(state->unk8, 0, 0, 12, 2); + AddTextPrinterParameterized(state->unk8, 7, regionMap->mapSecName, 0, 1, TEXT_SPEED_FF, NULL); + sub_81CCD70(state, regionMap->mapSecId, regionMap->posWithinMapSec); + CopyWindowToVram(state->unk8, 3); + sub_81CCFA4(0); + break; + case MAPSECTYPE_CITY_CANTFLY: + FillWindowPixelBuffer(state->unk8, PIXEL_FILL(1)); + PutWindowRectTilemap(state->unk8, 0, 0, 12, 2); + AddTextPrinterParameterized(state->unk8, 7, regionMap->mapSecName, 0, 1, TEXT_SPEED_FF, NULL); + FillBgTilemapBufferRect(1, 0x1041, 17, 6, 12, 11, 17); + CopyWindowToVram(state->unk8, 3); + sub_81CCFA4(1); + break; + case MAPSECTYPE_PLAIN: + case MAPSECTYPE_BATTLE_FRONTIER: + FillWindowPixelBuffer(state->unk8, PIXEL_FILL(1)); + PutWindowTilemap(state->unk8); + AddTextPrinterParameterized(state->unk8, 7, regionMap->mapSecName, 0, 1, TEXT_SPEED_FF, NULL); + sub_81CCDE8(state, regionMap->mapSecId, regionMap->posWithinMapSec); + CopyWindowToVram(state->unk8, 3); + sub_81CCFA4(1); + break; + case MAPSECTYPE_NONE: + FillBgTilemapBufferRect(1, 0x1041, 17, 4, 12, 13, 17); + CopyBgTilemapBufferToVram(1); + sub_81CCFA4(1); + break; + } +} + +static bool32 sub_81CCC4C(struct Pokenav5Struct_2 *state) +{ + return IsDma3ManagerBusyWithBgCopy(); +} + +static void sub_81CCC5C(int arg0) +{ + u8 taskId = CreateTask(sub_81CCC9C, 3); + gTasks[taskId].data[0] = arg0; +} + +static bool32 sub_81CCC88(void) +{ + return FuncIsActiveTask(sub_81CCC9C); +} + +static void sub_81CCC9C(u8 taskId) +{ + if (gTasks[taskId].data[0]) + { + if (ChangeBgY(1, 0x480, 1) >= 0) + { + ChangeBgY(1, 0, 0); + DestroyTask(taskId); + } + + sub_81CCF78(); + } + else + { + if (ChangeBgY(1, 0x480, 2) <= -0x6000) + { + ChangeBgY(1, -0x6000, 0); + DestroyTask(taskId); + } + + sub_81CCF78(); + } +} + +static void sub_81CCD10(void) +{ + CreateLoopedTask(sub_81CCD34, 1); +} + +static bool32 sub_81CCD24(void) +{ + return FuncIsActiveLoopedTask(sub_81CCD34); +} + +static u32 sub_81CCD34(int taskState) +{ + struct Pokenav5Struct_2 *state = GetSubstructPtr(4); + if (taskState < (int)ARRAY_COUNT(gUnknown_08623118)) + { + LZ77UnCompWram(gUnknown_08623118[taskState].data, state->cityZoomPics[taskState]); + return 1; + } + + return 4; +} + +static void sub_81CCD70(struct Pokenav5Struct_2 *state, int mapSecId, int pos) +{ + int i; + for (i = 0; i < (int)ARRAY_COUNT(gUnknown_08623118) && (gUnknown_08623118[i].mapSecId != mapSecId || gUnknown_08623118[i].unk2 != pos); i++) + ; + + if (i == ARRAY_COUNT(gUnknown_08623118)) + return; + + FillBgTilemapBufferRect_Palette0(1, 0x1041, 17, 6, 12, 11); + CopyToBgTilemapBufferRect(1, state->cityZoomPics[i], 18, 6, 10, 10); +} + +static void sub_81CCDE8(struct Pokenav5Struct_2 *state, int mapSecId, int pos) +{ + int i = 0; + while (1) + { + const u8 *landmarkName = GetLandmarkName(mapSecId, pos, i); + if (!landmarkName) + break; + + StringCopyPadded(gStringVar1, landmarkName, CHAR_SPACE, 12); + AddTextPrinterParameterized(state->unk8, 7, gStringVar1, 0, i * 16 + 17, TEXT_SPEED_FF, NULL); + i++; + } +} + +static void sub_81CCE58(void) +{ + int i; + int y; + struct Sprite *sprite; + struct Pokenav5Struct_2 *state = GetSubstructPtr(4); + + if (!sub_8124658()) + y = 228; + else + y = 132; + + for (i = 0; i < 3; i++) + { + u8 spriteId = CreateSprite(&gUnknown_086231D0, 152 + i * 32, y, 8); + sprite = &gSprites[spriteId]; + sprite->data[0] = 0; + sprite->data[1] = i * 4; + sprite->data[2] = sprite->oam.tileNum; + sprite->data[3] = 150; + sprite->data[4] = i * 4; + sprite->oam.tileNum += i * 4; + state->cityFeatureTextSprites[i] = sprite; + } +} + +void sub_81CCEF4(struct Sprite *sprite) +{ + if (sprite->data[3]) + { + sprite->data[3]--; + return; + } + + if (++sprite->data[0] > 11) + sprite->data[0] = 0; + + if (++sprite->data[1] > 60) + sprite->data[1] = 0; + + sprite->oam.tileNum = sprite->data[2] + sprite->data[1]; + if (sprite->data[5] < 4) + { + if (sprite->data[0] == 0) + { + sprite->data[5]++; + sprite->data[3] = 120; + } + } + else + { + if (sprite->data[1] == sprite->data[4]) + { + sprite->data[5] = 0; + sprite->data[0] = 0; + sprite->data[3] = 120; + } + } +} + +static void sub_81CCF78(void) +{ + int i; + struct Pokenav5Struct_2 *state = GetSubstructPtr(4); + int y = 132 - (GetBgY(1) >> 8); + for (i = 0; i < 3; i++) + state->cityFeatureTextSprites[i]->pos1.y = y; +} + +static void sub_81CCFA4(int invisible) +{ + int i; + struct Pokenav5Struct_2 *state = GetSubstructPtr(4); + for (i = 0; i < 3; i++) + state->cityFeatureTextSprites[i]->invisible = invisible; +} diff --git a/src/rayquaza_scene.c b/src/rayquaza_scene.c index e2497a8dcd..fc28607972 100644 --- a/src/rayquaza_scene.c +++ b/src/rayquaza_scene.c @@ -1563,7 +1563,7 @@ static void Task_DuoFightAnim(u8 taskId) } BlendPalettes(-1, 0x10, 0); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); SetVBlankCallback(VBlankCB_DuoFight); PlaySE(SE_T_OOAME); } @@ -1715,7 +1715,7 @@ static void sub_81D752C(u8 taskId) static void DuoFightEnd(u8 taskId, s8 palDelay) { PlaySE(SE_T_OOAME_E); - BeginNormalPaletteFade(0xFFFFFFFF, palDelay, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, palDelay, 0, 0x10, RGB_BLACK); gTasks[taskId].func = Task_DuoFightEnd; } @@ -1971,7 +1971,7 @@ static void Task_HandleRayTakesFlight(u8 taskId) case 0: if (data[1] == 8) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); data[2] = 0; data[3] = 30; data[4] = 0; @@ -2012,7 +2012,7 @@ static void Task_HandleRayTakesFlight(u8 taskId) if (data[1] > 295) { data[0]++; - BeginNormalPaletteFade(0xFFFFFFFF, 6, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 6, 0, 0x10, RGB_BLACK); } } break; @@ -2174,7 +2174,7 @@ static void Task_HandleRayDescends(u8 taskId) case 0: if (data[1] == 8) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); data[1] = 0; data[0]++; } @@ -2219,7 +2219,7 @@ static void Task_HandleRayDescends(u8 taskId) } break; case 4: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gTasks[taskId].func = Task_RayDescendsEnd; break; } @@ -2366,7 +2366,7 @@ static void Task_HandleRayCharges(u8 taskId) case 0: if (data[1] == 8) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); data[1] = 0; data[0]++; } @@ -2399,7 +2399,7 @@ static void Task_HandleRayCharges(u8 taskId) } break; case 3: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gTasks[taskId].func = Task_RayChargesEnd; break; } @@ -2532,7 +2532,7 @@ static void Task_HandleRayChasesAway(u8 taskId) if (data[1] == 8) { sub_81D90A8(taskId); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); data[1] = 0; data[0]++; } @@ -2574,7 +2574,7 @@ static void Task_HandleRayChasesAway(u8 taskId) } break; case 3: - BeginNormalPaletteFade(0xFFFFFFFF, 4, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 4, 0, 0x10, RGB_BLACK); gTasks[taskId].func = Task_RayChasesAwayEnd; break; } diff --git a/src/record_mixing.c b/src/record_mixing.c index 3a16f817e8..85b52e478b 100644 --- a/src/record_mixing.c +++ b/src/record_mixing.c @@ -47,7 +47,7 @@ struct RecordMixingHallRecords struct PlayerRecordsRS { - struct SecretBaseRecord secretBases[SECRET_BASES_COUNT]; + struct SecretBase secretBases[SECRET_BASES_COUNT]; TVShow tvShows[TV_SHOWS_COUNT]; PokeNews pokeNews[POKE_NEWS_COUNT]; OldMan oldMan; @@ -60,7 +60,7 @@ struct PlayerRecordsRS struct PlayerRecordsEmerald { - /* 0x0000 */ struct SecretBaseRecord secretBases[SECRET_BASES_COUNT]; + /* 0x0000 */ struct SecretBase secretBases[SECRET_BASES_COUNT]; /* 0x0c80 */ TVShow tvShows[TV_SHOWS_COUNT]; /* 0x1004 */ PokeNews pokeNews[POKE_NEWS_COUNT]; /* 0x1044 */ OldMan oldMan; @@ -83,7 +83,7 @@ union PlayerRecords // Static RAM declarations static IWRAM_DATA bool8 gUnknown_03001130; -static IWRAM_DATA struct SecretBaseRecord *sSecretBasesSave; +static IWRAM_DATA struct SecretBase *sSecretBasesSave; static IWRAM_DATA TVShow *sTvShowsSave; static IWRAM_DATA PokeNews *sPokeNewsSave; static IWRAM_DATA OldMan *sOldManSave; @@ -208,7 +208,7 @@ static void PrepareUnknownExchangePacket(struct PlayerRecordsRS *dest) static void PrepareExchangePacketForRubySapphire(struct PlayerRecordsRS *dest) { memcpy(dest->secretBases, sSecretBasesSave, sizeof(dest->secretBases)); - sub_80EB18C(dest->secretBases); + ClearJapaneseSecretBases(dest->secretBases); memcpy(dest->tvShows, sTvShowsSave, sizeof(dest->tvShows)); sub_80F1208(dest->tvShows); memcpy(dest->pokeNews, sPokeNewsSave, sizeof(dest->pokeNews)); @@ -226,7 +226,7 @@ static void PrepareExchangePacketForRubySapphire(struct PlayerRecordsRS *dest) static void PrepareExchangePacket(void) { - sub_80E9914(); + SetPlayerSecretBaseParty(); sub_80F0BB8(); SetSrcLookupPointers(); diff --git a/src/recorded_battle.c b/src/recorded_battle.c index 9f2be36afe..ac97dfcd67 100644 --- a/src/recorded_battle.c +++ b/src/recorded_battle.c @@ -17,6 +17,7 @@ #include "battle_setup.h" #include "frontier_util.h" #include "constants/trainers.h" +#include "constants/rgb.h" #define BATTLER_RECORD_SIZE 664 #define ILLEGAL_BATTLE_TYPES ((BATTLE_TYPE_LINK | BATTLE_TYPE_SAFARI | BATTLE_TYPE_FIRST_BATTLE \ @@ -220,7 +221,7 @@ u8 RecordedBattle_GetBattlerAction(u8 battlerId) { gSpecialVar_Result = gBattleOutcome = B_OUTCOME_PLAYER_TELEPORTED; // hah ResetPaletteFadeControl(); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); SetMainCallback2(CB2_QuitRecordedBattle); return 0xFF; } diff --git a/src/region_map.c b/src/region_map.c index 25b47479d6..a98964e5c6 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -26,6 +26,7 @@ #include "heal_location.h" #include "constants/heal_locations.h" #include "constants/map_types.h" +#include "constants/rgb.h" #define MAP_WIDTH 28 #define MAP_HEIGHT 15 @@ -492,7 +493,7 @@ void InitRegionMap(struct RegionMap *regionMap, bool8 zoomed) while (sub_8122DB0()); } -void sub_8122CF8(struct RegionMap *regionMap, struct BgTemplate *template, bool8 zoomed) +void sub_8122CF8(struct RegionMap *regionMap, const struct BgTemplate *template, bool8 zoomed) { gRegionMap = regionMap; gRegionMap->initStep = 0; @@ -1941,7 +1942,7 @@ static void sub_8124D14(void) switch (sFlyMap->unk_004) { case 0: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); sFlyMap->unk_004++; break; case 1: @@ -1988,7 +1989,7 @@ static void sub_8124E0C(void) switch (sFlyMap->unk_004) { case 0: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); sFlyMap->unk_004++; break; case 1: diff --git a/src/reset_rtc_screen.c b/src/reset_rtc_screen.c index 6ee757607b..d675c49d1d 100644 --- a/src/reset_rtc_screen.c +++ b/src/reset_rtc_screen.c @@ -17,6 +17,7 @@ #include "bg.h" #include "window.h" #include "gpu_regs.h" +#include "constants/rgb.h" struct ResetRtcStruct { @@ -552,7 +553,7 @@ static void Task_ResetRtcScreen(u8 taskId) switch (data[0]) { case 0: - BeginNormalPaletteFade(0xFFFFFFFF, 1, 0x10, 0, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, 1, 0x10, 0, RGB_WHITEALPHA); data[0] = 1; break; case 1: @@ -621,7 +622,7 @@ static void Task_ResetRtcScreen(u8 taskId) case 5: if (gMain.newKeys & A_BUTTON) { - BeginNormalPaletteFade(0xFFFFFFFF, 1, 0, 0x10, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, 1, 0, 0x10, RGB_WHITEALPHA); data[0] = 6; } else diff --git a/src/reshow_battle_screen.c b/src/reshow_battle_screen.c index dd177f8842..46fc4cd41d 100644 --- a/src/reshow_battle_screen.c +++ b/src/reshow_battle_screen.c @@ -15,9 +15,7 @@ #include "constants/trainers.h" #include "battle_interface.h" #include "battle_anim.h" -#include "data2.h" - -extern const union AnimCmd * const * const gMonAnimationsSpriteAnimsPtrTable[]; +#include "data.h" // this file's functions static void CB2_ReshowBattleScreenAfterMenu(void); @@ -154,7 +152,7 @@ static void CB2_ReshowBattleScreenAfterMenu(void) if (gWirelessCommType != 0 && gReceivedRemoteLinkPlayers != 0) { - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(0, 0); } } @@ -233,7 +231,7 @@ static void CreateBattlerSprite(u8 battler) StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], gBattleMonForms[battler]); if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies == SPECIES_CASTFORM) - gSprites[gBattlerSpriteIds[battler]].anims = gMonAnimationsSpriteAnimsPtrTable[SPECIES_CASTFORM]; + gSprites[gBattlerSpriteIds[battler]].anims = gMonFrontAnimsPtrTable[SPECIES_CASTFORM]; } else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI && battler == B_POSITION_PLAYER_LEFT) { @@ -269,7 +267,7 @@ static void CreateBattlerSprite(u8 battler) StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], gBattleMonForms[battler]); if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies == SPECIES_CASTFORM) - gSprites[gBattlerSpriteIds[battler]].anims = gMonAnimationsSpriteAnimsPtrTable[SPECIES_CASTFORM]; + gSprites[gBattlerSpriteIds[battler]].anims = gMonFrontAnimsPtrTable[SPECIES_CASTFORM]; } gSprites[gBattlerSpriteIds[battler]].invisible = gBattleSpritesDataPtr->battlerData[battler].invisible; diff --git a/src/rock.c b/src/rock.c index 814b1d88bf..f05816362e 100644 --- a/src/rock.c +++ b/src/rock.c @@ -419,7 +419,7 @@ void AnimTask_LoadSandstormBackground(u8 taskId) sub_80A6B30(&animBg); AnimLoadCompressedBgGfx(animBg.bgId, gUnknown_08D8D58C, animBg.tilesOffset); sub_80A6D60(&animBg, gUnknown_08D8D410, 0); - LoadCompressedPalette(gBattleAnimSpritePalette_261, animBg.paletteId * 16, 32); + LoadCompressedPalette(gBattleAnimSpritePal_FlyingDirt, animBg.paletteId * 16, 32); if (gBattleAnimArgs[0] && GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) var0 = 1; diff --git a/src/roulette.c b/src/roulette.c index 39db5630ba..25c079cda0 100644 --- a/src/roulette.c +++ b/src/roulette.c @@ -902,7 +902,7 @@ static void sub_8140470(void) { sub_815168C(&gUnknown_0203AB88->varB8, i, &gUnknown_085B6388[i]); } - + for (i = 0; i < PARTY_SIZE; i++) { switch (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2)) @@ -953,7 +953,7 @@ static void sub_81405CC(void) case 4: if (free_temp_tile_data_buffers_if_possible()) return; - + sub_8140470(); CopyToBgTilemapBuffer(2, gUnknown_085B5FA0, 0, 0); break; @@ -1379,8 +1379,6 @@ static u8 sub_814118C(u16 r0, u16 r1) } } -// r7/r8 swap -#ifdef NONMATCHING static void sub_8141344(u8 taskId) { u8 randf; @@ -1412,8 +1410,7 @@ static void sub_8141344(u8 taskId) g = S16TOPOSFLOAT(g) / 5.0f; gUnknown_0203AB88->var82 = g * 3; - gUnknown_0203AB88->var84 = g; - gUnknown_0203AB88->var86 = g; + gUnknown_0203AB88->var86 = gUnknown_0203AB88->var84 = g; gUnknown_0203AB88->var88 = S16TOPOSFLOAT(angles[(rand & 1) + r5]); gUnknown_0203AB88->var8C = S16TOPOSFLOAT(gUnknown_085B6348[gUnknown_0203AB88->var04_0].var18); @@ -1424,260 +1421,6 @@ static void sub_8141344(u8 taskId) 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) { @@ -4345,17 +4088,17 @@ static void sub_81448B8(struct Sprite *sprite) 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) + u8 h = 0; + u8 j = 5; + u8 p = 0; + u8 i = 0; + u8 val; + u8 s[10] = {}; + u16 rand = Random(); gUnknown_0203AB88->var7D = 1; gUnknown_0203AB88->var03_5 = TRUE; @@ -4364,13 +4107,14 @@ static void sub_8144A24(struct Sprite *sprite) 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; + gUnknown_0203AB88->var03_0 = i % 2; break; } if (i == 3) @@ -4381,354 +4125,52 @@ static void sub_8144A24(struct Sprite *sprite) } 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; + + val = 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++) + j += val; + + for (i = val; 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)) - { + if (p == 0 && (gUnknown_085B62E4[z].var04 & gUnknown_085B6154[gUnknown_0203AB88->var1B[gUnknown_0203AB88->var1A_0]].var0C)) p = i; - } } z = (z + 1) % 0xC; } + if ((gUnknown_0203AB88->var03_0 + 1) & gUnknown_0203AB88->var02) { - if (p && (t & 0xFF) < 0xc0) - { + if (p && (rand & 0xFF) < 0xc0) sprite->data[7] = p; - } else - { - sprite->data[7] = s[t % h]; - } + sprite->data[7] = s[rand % h]; } else { - sprite->data[7] = s[t % h]; + sprite->data[7] = s[rand % 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, @@ -4955,7 +4397,7 @@ static void sub_81450D8(struct Sprite *sprite) 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; diff --git a/src/save_failed_screen.c b/src/save_failed_screen.c index 415907585a..6d45370b8f 100644 --- a/src/save_failed_screen.c +++ b/src/save_failed_screen.c @@ -321,7 +321,7 @@ static void CB2_FadeAndReturnToTitleScreen(void) if (gMain.newKeys & A_BUTTON) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); SetVBlankCallback(VBlankCB); SetMainCallback2(CB2_ReturnToTitleScreen); } diff --git a/src/scanline_effect.c b/src/scanline_effect.c index a9ae9427b6..0a4b0b8fd5 100644 --- a/src/scanline_effect.c +++ b/src/scanline_effect.c @@ -1,6 +1,6 @@ #include "global.h" #include "battle.h" -#include "data2.h" +#include "data.h" #include "task.h" #include "trig.h" #include "scanline_effect.h" diff --git a/src/scrcmd.c b/src/scrcmd.c index 125a57c011..8d597b8874 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -7,7 +7,7 @@ #include "contest.h" #include "contest_link_80F57C4.h" #include "contest_painting.h" -#include "data2.h" +#include "data.h" #include "decoration.h" #include "decoration_inventory.h" #include "event_data.h" @@ -1068,7 +1068,7 @@ bool8 ScrCmd_addobject(struct ScriptContext *ctx) { u16 objectId = VarGet(ScriptReadHalfword(ctx)); - show_sprite(objectId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + TrySpawnEventObject(objectId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); return FALSE; } @@ -1078,7 +1078,7 @@ bool8 ScrCmd_addobject_at(struct ScriptContext *ctx) u8 mapGroup = ScriptReadByte(ctx); u8 mapNum = ScriptReadByte(ctx); - show_sprite(objectId, mapNum, mapGroup); + TrySpawnEventObject(objectId, mapNum, mapGroup); return FALSE; } @@ -1088,7 +1088,7 @@ bool8 ScrCmd_setobjectxy(struct ScriptContext *ctx) u16 x = VarGet(ScriptReadHalfword(ctx)); u16 y = VarGet(ScriptReadHalfword(ctx)); - sub_808EBA8(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, x, y); + TryMoveEventObjectToMapCoords(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, x, y); return FALSE; } @@ -1106,7 +1106,7 @@ bool8 ScrCmd_moveobjectoffscreen(struct ScriptContext *ctx) { u16 localId = VarGet(ScriptReadHalfword(ctx)); - sub_808F254(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + TryOverrideEventObjectTemplateCoords(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); return FALSE; } diff --git a/src/script_pokemon_util_80F87D8.c b/src/script_pokemon_util_80F87D8.c index ece0303950..2c7a9c7750 100755 --- a/src/script_pokemon_util_80F87D8.c +++ b/src/script_pokemon_util_80F87D8.c @@ -5,6 +5,7 @@ #include "contest.h" #include "contest_link_80F57C4.h" #include "contest_painting.h" +#include "data.h" #include "daycare.h" #include "decompress.h" #include "event_data.h" @@ -35,7 +36,6 @@ extern const u16 gEventObjectPalette8[]; extern const u16 gEventObjectPalette17[]; extern const u16 gEventObjectPalette33[]; extern const u16 gEventObjectPalette34[]; -extern const struct CompressedSpriteSheet gMonFrontPicTable[]; static const u8 gUnknown_0858D8EC[] = { 3, 4, 5, 14 }; @@ -227,7 +227,7 @@ void sub_80F8AFC(void) { int i; - if (gIsLinkContest & 1) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) { for (i = 0; i < gNumLinkContestPlayers; i++) { @@ -256,7 +256,7 @@ void sub_80F8B94(void) struct Sprite *sprite; gReservedSpritePaletteCount = 12; - if (gIsLinkContest & 1) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) { for (i = 0; i < gNumLinkContestPlayers; i++) { @@ -339,9 +339,9 @@ void ShowContestEntryMonPic(void) gMultiuseSpriteTemplate.paletteTag = palette->tag; spriteId = CreateSprite(&gMultiuseSpriteTemplate, (left + 1) * 8 + 32, (top * 8) + 40, 0); - if (gIsLinkContest & 1) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) { - if (!(gIsLinkContest & 4)) + if (!(gLinkContestFlags & LINK_CONTEST_FLAG_HAS_RS_PLAYER)) DoMonFrontSpriteAnimation(&gSprites[spriteId], species, FALSE, 0); } else @@ -403,7 +403,7 @@ static void sub_80F8EE8(u8 taskId) void ScriptGetMultiplayerId(void) { - if ((gIsLinkContest & 1) && gNumLinkContestPlayers == 4 && !(gIsLinkContest & 2)) + if ((gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) && gNumLinkContestPlayers == 4 && !(gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS)) gSpecialVar_Result = GetMultiplayerId(); else gSpecialVar_Result = 4; @@ -414,7 +414,7 @@ void ScriptRandom(void) u16 random; u16 *scriptPtr; - if (gIsLinkContest & 1) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) { gContestRngValue = 1103515245 * gContestRngValue + 24691; random = gContestRngValue >> 16; @@ -436,7 +436,7 @@ u16 sub_80F903C(void) u8 sub_80F905C(void) { - if (gIsLinkContest & 2) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS) { CreateTask(sub_80F9088, 5); return 1; @@ -473,11 +473,11 @@ static void sub_80F9088(u8 taskId) void sub_80F90DC(void) { - if (gIsLinkContest & 2) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS) { if (gReceivedRemoteLinkPlayers) { - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(8, 8); } } @@ -485,7 +485,7 @@ void sub_80F90DC(void) void sub_80F910C(void) { - if (gIsLinkContest & 2) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS) { if (gReceivedRemoteLinkPlayers) DestroyWirelessStatusIndicatorSprite(); @@ -494,7 +494,7 @@ void sub_80F910C(void) u8 sub_80F9134(void) { - if (gIsLinkContest & 4) + if (gLinkContestFlags & LINK_CONTEST_FLAG_HAS_RS_PLAYER) return 1; else return 0; @@ -502,12 +502,12 @@ u8 sub_80F9134(void) void sub_80F9154(void) { - gIsLinkContest = 0; + gLinkContestFlags = 0; } u8 sub_80F9160(void) { - if (gIsLinkContest & 2) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS) return 1; else return 0; diff --git a/src/secret_base.c b/src/secret_base.c index e19aecba3e..ac35a090a0 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -35,322 +35,351 @@ #include "window.h" #include "constants/bg_event_constants.h" #include "constants/decorations.h" +#include "constants/event_objects.h" +#include "constants/items.h" #include "constants/maps.h" #include "constants/map_types.h" #include "constants/metatile_behaviors.h" +#include "constants/moves.h" #include "constants/secret_bases.h" #include "constants/songs.h" #include "constants/species.h" #include "constants/trainers.h" -// Static type declarations - -struct SecretBaseListMenuBuffer { +struct SecretBaseRegistryMenu +{ struct ListMenuItem items[11]; u8 names[11][32]; }; -struct SecretBaseRecordMixer { - struct SecretBaseRecord *records; +struct SecretBaseRecordMixer +{ + struct SecretBase *secretBases; u32 version; u32 language; }; -// Static RAM declarations -EWRAM_DATA u8 sCurSecretBaseId = 0; -EWRAM_DATA bool8 gInFriendSecretBase = FALSE; -EWRAM_DATA struct SecretBaseListMenuBuffer *gUnknown_0203A020 = NULL; - -// Static ROM declarations - -void sub_80E9C9C(u8 taskId); -void game_continue(u8 taskId); -void sub_80E9DEC(s32 a0, bool8 flag, struct ListMenu *menu); -void sub_80E9E00(u8 taskId); -void sub_80E9E44(u8 taskId); -void sub_80E9E90(u8 taskId); -void sub_80E9F20(u8 taskId); -void sub_80E9FB0(u8 taskId); -void sub_80E9FFC(u8 taskId); -void sub_80EA06C(u8 taskId); -void sub_80EA120(u8 taskId); -void sub_80EA13C(u8 taskId); -void sub_80EA18C(u8 taskId); -void task_pc_turn_off(u8 taskId); -u8 sub_80EA20C(u8 secretBaseRecordId); - -// .rodata - -const struct { - u16 tile1; - u16 tile2; -} gUnknown_0858CFCC[] = { - {0x0026, 0x0036}, - {0x0027, 0x0037}, - {0x01a0, 0x01a1}, - {0x01a8, 0x01a9}, - {0x01b0, 0x01b1}, - {0x0208, 0x0210}, - {0x0271, 0x0278} +struct SecretBaseEntranceMetatiles +{ + u16 closedMetatileId; + u16 openMetatileId; }; -const u8 gUnknown_0858CFE8[] = { - MAP_NUM(SECRET_BASE_RED_CAVE1), 0x00, 0x01, 0x03, - MAP_NUM(SECRET_BASE_RED_CAVE2), 0x00, 0x05, 0x09, - MAP_NUM(SECRET_BASE_RED_CAVE3), 0x00, 0x01, 0x03, - MAP_NUM(SECRET_BASE_RED_CAVE4), 0x00, 0x07, 0x0d, - MAP_NUM(SECRET_BASE_BROWN_CAVE1), 0x00, 0x02, 0x03, - MAP_NUM(SECRET_BASE_BROWN_CAVE2), 0x00, 0x09, 0x02, - MAP_NUM(SECRET_BASE_BROWN_CAVE3), 0x00, 0x0d, 0x04, - MAP_NUM(SECRET_BASE_BROWN_CAVE4), 0x00, 0x01, 0x02, - MAP_NUM(SECRET_BASE_BLUE_CAVE1), 0x00, 0x01, 0x03, - MAP_NUM(SECRET_BASE_BLUE_CAVE2), 0x00, 0x01, 0x02, - MAP_NUM(SECRET_BASE_BLUE_CAVE3), 0x00, 0x03, 0x0f, - MAP_NUM(SECRET_BASE_BLUE_CAVE4), 0x00, 0x03, 0x0e, - MAP_NUM(SECRET_BASE_YELLOW_CAVE1), 0x00, 0x09, 0x03, - MAP_NUM(SECRET_BASE_YELLOW_CAVE2), 0x00, 0x08, 0x07, - MAP_NUM(SECRET_BASE_YELLOW_CAVE3), 0x00, 0x03, 0x06, - MAP_NUM(SECRET_BASE_YELLOW_CAVE4), 0x00, 0x05, 0x09, - MAP_NUM(SECRET_BASE_TREE1), 0x00, 0x02, 0x03, - MAP_NUM(SECRET_BASE_TREE2), 0x00, 0x05, 0x06, - MAP_NUM(SECRET_BASE_TREE3), 0x00, 0x0f, 0x03, - MAP_NUM(SECRET_BASE_TREE4), 0x00, 0x04, 0x0a, - MAP_NUM(SECRET_BASE_SHRUB1), 0x00, 0x03, 0x03, - MAP_NUM(SECRET_BASE_SHRUB2), 0x00, 0x01, 0x02, - MAP_NUM(SECRET_BASE_SHRUB3), 0x00, 0x07, 0x08, - MAP_NUM(SECRET_BASE_SHRUB4), 0x00, 0x09, 0x06 +static EWRAM_DATA u8 sCurSecretBaseId = 0; +static EWRAM_DATA bool8 sInFriendSecretBase = FALSE; +static EWRAM_DATA struct SecretBaseRegistryMenu *sRegistryMenu = NULL; + +static void Task_ShowSecretBaseRegistryMenu(u8 taskId); +static void BuildRegistryMenuItems(u8 taskId); +static void RegistryMenu_OnCursorMove(int unused, bool8 flag, struct ListMenu *menu); +static void FinalizeRegistryMenu(u8 taskId); +static void AddRegistryMenuScrollArrows(u8 taskId); +static void HandleRegistryMenuInput(u8 taskId); +static void ShowRegistryMenuActions(u8 taskId); +static void HandleRegistryMenuActionsInput(u8 taskId); +static void ShowRegistryMenuDeleteConfirmation(u8 taskId); +static void ShowRegistryMenuDeleteYesNo(u8 taskId); +static void DeleteRegistry_Yes(u8 taskId); +static void DeleteRegistry_No(u8 taskId); +static void ReturnToMainRegistryMenu(u8 taskId); +static void GoToSecretBasePCMainMenu(u8 taskId); +static u8 GetSecretBaseOwnerType(u8 secretBaseId); + +static const struct SecretBaseEntranceMetatiles sSecretBaseEntranceMetatiles[] = +{ + {.closedMetatileId = 0x0026, .openMetatileId = 0x0036}, + {.closedMetatileId = 0x0027, .openMetatileId = 0x0037}, + {.closedMetatileId = 0x01a0, .openMetatileId = 0x01a1}, + {.closedMetatileId = 0x01a8, .openMetatileId = 0x01a9}, + {.closedMetatileId = 0x01b0, .openMetatileId = 0x01b1}, + {.closedMetatileId = 0x0208, .openMetatileId = 0x0210}, + {.closedMetatileId = 0x0271, .openMetatileId = 0x0278}, }; -const struct MenuAction gUnknown_0858D048[] = { - {gUnknown_085EA79D, {.void_u8 = sub_80E9FFC}}, - {gText_Cancel, {.void_u8 = sub_80EA18C}} +// mapNum, warpId, x, y +// x, y positions are for when the player warps in for the first time (in front of the computer) +static const u8 sSecretBaseEntrancePositions[] = +{ + MAP_NUM(SECRET_BASE_RED_CAVE1), 0, 1, 3, + MAP_NUM(SECRET_BASE_RED_CAVE2), 0, 5, 9, + MAP_NUM(SECRET_BASE_RED_CAVE3), 0, 1, 3, + MAP_NUM(SECRET_BASE_RED_CAVE4), 0, 7, 13, + MAP_NUM(SECRET_BASE_BROWN_CAVE1), 0, 2, 3, + MAP_NUM(SECRET_BASE_BROWN_CAVE2), 0, 9, 2, + MAP_NUM(SECRET_BASE_BROWN_CAVE3), 0, 13, 4, + MAP_NUM(SECRET_BASE_BROWN_CAVE4), 0, 1, 2, + MAP_NUM(SECRET_BASE_BLUE_CAVE1), 0, 1, 3, + MAP_NUM(SECRET_BASE_BLUE_CAVE2), 0, 1, 2, + MAP_NUM(SECRET_BASE_BLUE_CAVE3), 0, 3, 15, + MAP_NUM(SECRET_BASE_BLUE_CAVE4), 0, 3, 14, + MAP_NUM(SECRET_BASE_YELLOW_CAVE1), 0, 9, 3, + MAP_NUM(SECRET_BASE_YELLOW_CAVE2), 0, 8, 7, + MAP_NUM(SECRET_BASE_YELLOW_CAVE3), 0, 3, 6, + MAP_NUM(SECRET_BASE_YELLOW_CAVE4), 0, 5, 9, + MAP_NUM(SECRET_BASE_TREE1), 0, 2, 3, + MAP_NUM(SECRET_BASE_TREE2), 0, 5, 6, + MAP_NUM(SECRET_BASE_TREE3), 0, 15, 3, + MAP_NUM(SECRET_BASE_TREE4), 0, 4, 10, + MAP_NUM(SECRET_BASE_SHRUB1), 0, 3, 3, + MAP_NUM(SECRET_BASE_SHRUB2), 0, 1, 2, + MAP_NUM(SECRET_BASE_SHRUB3), 0, 7, 8, + MAP_NUM(SECRET_BASE_SHRUB4), 0, 9, 6, }; -const struct YesNoFuncTable gUnknown_0858D058 = { - sub_80EA120, sub_80EA13C +static const struct MenuAction sRegistryMenuActions[] = +{ + { + .text = gText_DelRegist, + .func = { .void_u8 = ShowRegistryMenuDeleteConfirmation }, + }, + { + .text = gText_Cancel, + .func = { .void_u8 = ReturnToMainRegistryMenu }, + }, }; -const u8 gUnknown_0858D060[10] = { - 0x23, 0x24, 0x0f, 0x1f, 0x21, - 0x2f, 0x0e, 0x14, 0x20, 0x22 +static const struct YesNoFuncTable sDeleteRegistryYesNoFuncs = +{ + .yesFunc = DeleteRegistry_Yes, + .noFunc = DeleteRegistry_No, }; -const struct WindowTemplate gUnknown_0858D06C[] = { - { 0, 18, 1, 11, 18, 15, 0x01 }, - { 0, 2, 1, 28, 4, 15, 0xc7 } +static const u8 sSecretBaseOwnerGfxIds[10] = +{ + // Male + EVENT_OBJ_GFX_YOUNGSTER, + EVENT_OBJ_GFX_BUG_CATCHER, + EVENT_OBJ_GFX_RICH_BOY, + EVENT_OBJ_GFX_CAMPER, + EVENT_OBJ_GFX_MAN_3, + // Female + EVENT_OBJ_GFX_LASS, + EVENT_OBJ_GFX_GIRL_3, + EVENT_OBJ_GFX_WOMAN_2, + EVENT_OBJ_GFX_PICNICKER, + EVENT_OBJ_GFX_WOMAN_5, }; -const struct ListMenuTemplate gUnknown_0858D07C = { - NULL, - sub_80E9DEC, - NULL, - 0, 0, - 0, 0, 8, 0, - 9, 2, 1, 3, FALSE, 0, FALSE, 1 +static const struct WindowTemplate sRegistryWindowTemplates[] = +{ + { + .bg = 0, + .tilemapLeft = 18, + .tilemapTop = 1, + .width = 11, + .height = 18, + .paletteNum = 15, + .baseBlock = 0x01, + }, + { + .bg = 0, + .tilemapLeft = 2, + .tilemapTop = 1, + .width = 28, + .height = 4, + .paletteNum = 15, + .baseBlock = 0xc7, + } }; -// .text +static const struct ListMenuTemplate sRegistryListMenuTemplate = +{ + .items = NULL, + .moveCursorFunc = RegistryMenu_OnCursorMove, + .itemPrintFunc = NULL, + .totalItems = 0, + .maxShowed = 0, + .windowId = 0, + .header_X = 0, + .item_X = 8, + .cursor_X = 0, + .upText_Y = 9, + .cursorPal = 2, + .fillValue = 1, + .cursorShadowPal = 3, + .lettersSpacing = 0, + .itemVerticalPadding = 0, + .scrollMultiple = LIST_NO_MULTIPLE_SCROLL, + .fontId = 1, + .cursorKind = 0, +}; -void ClearSecretBase(struct SecretBaseRecord *sbr) +static void ClearSecretBase(struct SecretBase *secretBase) { u16 i; - - CpuFastFill16(0, sbr, sizeof(struct SecretBaseRecord)); - for (i = 0; i < 7; i ++) - { - sbr->trainerName[i] = EOS; - } + CpuFastFill16(0, secretBase, sizeof(struct SecretBase)); + for (i = 0; i < PLAYER_NAME_LENGTH; i++) + secretBase->trainerName[i] = EOS; } -void ResetSecretBases(void) +void ClearSecretBases(void) { u16 i; - - for (i = 0; i < SECRET_BASES_COUNT; i ++) - { + for (i = 0; i < SECRET_BASES_COUNT; i++) ClearSecretBase(&gSaveBlock1Ptr->secretBases[i]); - } } -void sub_80E8B58(void) +static void SetCurSecretBaseId(void) { sCurSecretBaseId = gSpecialVar_0x8004; } -void sub_80E8B6C(void) +void TrySetCurSecretBaseIndex(void) { u16 i; gSpecialVar_Result = FALSE; - for (i = 0; i < SECRET_BASES_COUNT; i ++) + for (i = 0; i < SECRET_BASES_COUNT; i++) { - if (sCurSecretBaseId != gSaveBlock1Ptr->secretBases[i].secretBaseId) + if (sCurSecretBaseId == gSaveBlock1Ptr->secretBases[i].secretBaseId) { - continue; + gSpecialVar_Result = TRUE; + VarSet(VAR_CURRENT_SECRET_BASE, i); + break; } - gSpecialVar_Result = TRUE; - VarSet(VAR_CURRENT_SECRET_BASE, i); - break; } } -void sub_80E8BC8(void) +void CheckPlayerHasSecretBase(void) { - if (gSaveBlock1Ptr->secretBases[0].secretBaseId != 0) - { + // The player's secret base is always the first in the array. + if (gSaveBlock1Ptr->secretBases[0].secretBaseId) gSpecialVar_Result = TRUE; - } else - { gSpecialVar_Result = FALSE; - } } -u8 sub_80E8BF8(void) +static u8 GetSecretBaseTypeInFrontOfPlayer_(void) { - s16 x; - s16 y; + s16 x, y; s16 behavior; GetXYCoordsOneStepInFrontOfPlayer(&x, &y); behavior = MapGridGetMetatileBehaviorAt(x, y) & 0xFFF; if (behavior == MB_SECRET_BASE_SPOT_RED_CAVE || behavior == MB_SECRET_BASE_SPOT_RED_CAVE_OPEN) - { return SECRET_BASE_RED_CAVE; - } + if (behavior == MB_SECRET_BASE_SPOT_BROWN_CAVE || behavior == MB_SECRET_BASE_SPOT_BROWN_CAVE_OPEN) - { return SECRET_BASE_BROWN_CAVE; - } + if (behavior == MB_SECRET_BASE_SPOT_BLUE_CAVE || behavior == MB_SECRET_BASE_SPOT_BLUE_CAVE_OPEN) - { return SECRET_BASE_BLUE_CAVE; - } + if (behavior == MB_SECRET_BASE_SPOT_YELLOW_CAVE || behavior == MB_SECRET_BASE_SPOT_YELLOW_CAVE_OPEN) - { return SECRET_BASE_YELLOW_CAVE; - } - if (behavior == MB_SECRET_BASE_SPOT_TREE_LEFT || behavior == MB_SECRET_BASE_SPOT_TREE_LEFT_OPEN || behavior == MB_SECRET_BASE_SPOT_TREE_RIGHT || behavior == MB_SECRET_BASE_SPOT_TREE_RIGHT_OPEN) - { + + if (behavior == MB_SECRET_BASE_SPOT_TREE_LEFT || behavior == MB_SECRET_BASE_SPOT_TREE_LEFT_OPEN + || behavior == MB_SECRET_BASE_SPOT_TREE_RIGHT || behavior == MB_SECRET_BASE_SPOT_TREE_RIGHT_OPEN) return SECRET_BASE_TREE; - } + if (behavior == MB_SECRET_BASE_SPOT_SHRUB || behavior == MB_SECRET_BASE_SPOT_SHRUB_OPEN) - { return SECRET_BASE_SHRUB; - } + return 0; } -void sub_80E8C98(void) +void GetSecretBaseTypeInFrontOfPlayer(void) { - gSpecialVar_0x8007 = sub_80E8BF8(); + gSpecialVar_0x8007 = GetSecretBaseTypeInFrontOfPlayer_(); } -void sub_80E8CB0(s16 *xPtr, s16 *yPtr, u16 tile) +static void FindMetatileIdMapCoords(s16 *x, s16 *y, u16 metatileId) { - const struct MapLayout *mapLayout; - s16 x; - s16 y; + s16 i, j; + const struct MapLayout *mapLayout = gMapHeader.mapLayout; - mapLayout = gMapHeader.mapLayout; - for (y = 0; y < mapLayout->height; y ++) + for (j = 0; j < mapLayout->height; j++) { - for (x = 0; x < mapLayout->width; x ++) + for (i = 0; i < mapLayout->width; i++) { - if ((mapLayout->map[y * mapLayout->width + x] & METATILE_ID_MASK) == tile) + if ((mapLayout->map[j * mapLayout->width + i] & METATILE_ID_MASK) == metatileId) { - *xPtr = x; - *yPtr = y; + *x = i; + *y = j; return; } } } } -void sub_80E8D4C(void) +// Opens or closes the secret base entrance metatile in front of the player. +void ToggleSecretBaseEntranceMetatile(void) { - s16 x; - s16 y; - s16 tile; u16 i; + s16 x, y; + s16 metatileId; GetXYCoordsOneStepInFrontOfPlayer(&x, &y); - tile = MapGridGetMetatileIdAt(x, y); - for (i = 0; i < 7; i ++) + metatileId = MapGridGetMetatileIdAt(x, y); + for (i = 0; i < ARRAY_COUNT(sSecretBaseEntranceMetatiles); i++) { - if (gUnknown_0858CFCC[i].tile1 == tile) + if (sSecretBaseEntranceMetatiles[i].closedMetatileId == metatileId) { - MapGridSetMetatileIdAt(x, y, gUnknown_0858CFCC[i].tile2 | METATILE_COLLISION_MASK); + MapGridSetMetatileIdAt(x, y, sSecretBaseEntranceMetatiles[i].openMetatileId | METATILE_COLLISION_MASK); CurrentMapDrawMetatileAt(x, y); return; } } - for (i = 0; i < 7; i ++) + + for (i = 0; i < ARRAY_COUNT(sSecretBaseEntranceMetatiles); i++) { - if (gUnknown_0858CFCC[i].tile2 == tile) + if (sSecretBaseEntranceMetatiles[i].openMetatileId == metatileId) { - MapGridSetMetatileIdAt(x, y, gUnknown_0858CFCC[i].tile1 | METATILE_COLLISION_MASK); + MapGridSetMetatileIdAt(x, y, sSecretBaseEntranceMetatiles[i].closedMetatileId | METATILE_COLLISION_MASK); CurrentMapDrawMetatileAt(x, y); return; } } } -u8 sub_80E8DF4(const u8 *src) +static u8 GetNameLength(const u8 *secretBaseOwnerName) { u8 i; - - for (i = 0; i < 7; i ++) + for (i = 0; i < PLAYER_NAME_LENGTH; i++) { - if (src[i] == EOS) - { + if (secretBaseOwnerName[i] == EOS) return i; - } } - return 7; + + return PLAYER_NAME_LENGTH; } -void sub_80E8E18(void) +void SetPlayerSecretBase(void) { u16 i; gSaveBlock1Ptr->secretBases[0].secretBaseId = sCurSecretBaseId; - for (i = 0; i < 4; i ++) - { + for (i = 0; i < 4; i++) gSaveBlock1Ptr->secretBases[0].trainerId[i] = gSaveBlock2Ptr->playerTrainerId[i]; - } + VarSet(VAR_CURRENT_SECRET_BASE, 0); - StringCopyN(gSaveBlock1Ptr->secretBases[0].trainerName, gSaveBlock2Ptr->playerName, sub_80E8DF4(gSaveBlock2Ptr->playerName)); + StringCopyN(gSaveBlock1Ptr->secretBases[0].trainerName, gSaveBlock2Ptr->playerName, GetNameLength(gSaveBlock2Ptr->playerName)); gSaveBlock1Ptr->secretBases[0].gender = gSaveBlock2Ptr->playerGender; gSaveBlock1Ptr->secretBases[0].language = GAME_LANGUAGE; VarSet(VAR_SECRET_BASE_MAP, gMapHeader.regionMapSectionId); } -void sub_80E8EE0(struct MapEvents const *events) +void SetOccupiedSecretBaseEntranceMetatiles(struct MapEvents const *events) { - u16 bgEventIndex; - u16 i; - u16 j; - s16 tile_id; - s16 x; - s16 y; + u16 bgId; + u16 i, j; - for (bgEventIndex = 0; bgEventIndex < events->bgEventCount; bgEventIndex ++) + for (bgId = 0; bgId < events->bgEventCount; bgId++) { - if (events->bgEvents[bgEventIndex].kind == BG_EVENT_SECRET_BASE) + if (events->bgEvents[bgId].kind == BG_EVENT_SECRET_BASE) { - for (j = 0; j < SECRET_BASES_COUNT; j ++) + for (j = 0; j < SECRET_BASES_COUNT; j++) { - if (gSaveBlock1Ptr->secretBases[j].secretBaseId == events->bgEvents[bgEventIndex].bgUnion.secretBaseId) + if (gSaveBlock1Ptr->secretBases[j].secretBaseId == events->bgEvents[bgId].bgUnion.secretBaseId) { - x = events->bgEvents[bgEventIndex].x + 7; - y = events->bgEvents[bgEventIndex].y + 7; - tile_id = MapGridGetMetatileIdAt(x, y); - for (i = 0; i < 7; i ++) + s16 x = events->bgEvents[bgId].x + 7; + s16 y = events->bgEvents[bgId].y + 7; + s16 tile_id = MapGridGetMetatileIdAt(x, y); + for (i = 0; i < ARRAY_COUNT(sSecretBaseEntranceMetatiles); i++) { - if (gUnknown_0858CFCC[i].tile1 == tile_id) + if (sSecretBaseEntranceMetatiles[i].closedMetatileId == tile_id) { - MapGridSetMetatileIdAt(x, y, gUnknown_0858CFCC[i].tile2 | METATILE_COLLISION_MASK); + MapGridSetMetatileIdAt(x, y, sSecretBaseEntranceMetatiles[i].openMetatileId | METATILE_COLLISION_MASK); break; } } @@ -361,58 +390,52 @@ void sub_80E8EE0(struct MapEvents const *events) } } -void sub_80E8F9C(void) +static void SetSecretBaseWarpDestination(void) { - s8 idx; - - idx = sCurSecretBaseId / 10 * 4; - SetWarpDestinationToMapWarp(MAP_GROUP(SECRET_BASE_RED_CAVE1), gUnknown_0858CFE8[idx], gUnknown_0858CFE8[idx + 1]); + s8 offset = (sCurSecretBaseId / 10) * 4; + SetWarpDestinationToMapWarp(MAP_GROUP(SECRET_BASE_RED_CAVE1), sSecretBaseEntrancePositions[offset], sSecretBaseEntrancePositions[offset + 1]); } -void sub_80E8FD0(u8 taskId) +static void Task_EnterSecretBase(u8 taskId) { - u16 secretBaseRecordId; + u16 secretBaseId; switch (gTasks[taskId].data[0]) { - case 0: - if (!gPaletteFade.active) - { - gTasks[taskId].data[0] = 1; - } - break; - case 1: - secretBaseRecordId = VarGet(VAR_CURRENT_SECRET_BASE); - if (gSaveBlock1Ptr->secretBases[secretBaseRecordId].sbr_field_10 < 255) - { - gSaveBlock1Ptr->secretBases[secretBaseRecordId].sbr_field_10 ++; - } - sub_80E8F9C(); - WarpIntoMap(); - gFieldCallback = FieldCallback_ReturnToEventScript2; - SetMainCallback2(CB2_LoadMap); - DestroyTask(taskId); - break; + case 0: + if (!gPaletteFade.active) + gTasks[taskId].data[0] = 1; + break; + case 1: + secretBaseId = VarGet(VAR_CURRENT_SECRET_BASE); + if (gSaveBlock1Ptr->secretBases[secretBaseId].numTimesEntered < 255) + gSaveBlock1Ptr->secretBases[secretBaseId].numTimesEntered++; + + SetSecretBaseWarpDestination(); + WarpIntoMap(); + gFieldCallback = FieldCallback_ReturnToEventScript2; + SetMainCallback2(CB2_LoadMap); + DestroyTask(taskId); + break; } } -void sub_80E9068(void) +void EnterSecretBase(void) { - CreateTask(sub_80E8FD0, 0); + CreateTask(Task_EnterSecretBase, 0); FadeScreen(1, 0); SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); } -bool8 sub_80E909C(void) +bool8 SecretBaseMapPopupEnabled(void) { if (gMapHeader.mapType == MAP_TYPE_SECRET_BASE && VarGet(VAR_INIT_SECRET_BASE) == 0) - { return FALSE; - } + return TRUE; } -void sub_80E90C8(u8 taskId) +static void EnterNewlyCreatedSecretBase_WaitFadeIn(u8 taskId) { EventObjectTurn(&gEventObjects[gPlayerAvatar.eventObjectId], DIR_NORTH); if (IsWeatherNotFadingIn() == TRUE) @@ -422,189 +445,202 @@ void sub_80E90C8(u8 taskId) } } -void sub_80E9108(void) +static void EnterNewlyCreatedSecretBase_StartFadeIn(void) { - s16 x; - s16 y; + s16 x, y; ScriptContext2_Enable(); HideMapNamePopUpWindow(); - sub_80E8CB0(&x, &y, 0x220); + FindMetatileIdMapCoords(&x, &y, 0x220); x += 7; y += 7; MapGridSetMetatileIdAt(x, y, 0x220 | METATILE_COLLISION_MASK); CurrentMapDrawMetatileAt(x, y); pal_fill_black(); - CreateTask(sub_80E90C8, 0); + CreateTask(EnterNewlyCreatedSecretBase_WaitFadeIn, 0); } -void sub_80E916C(u8 taskId) +static void Task_EnterNewlyCreatedSecretBase(u8 taskId) { - s8 idx; - if (!gPaletteFade.active) { - idx = sCurSecretBaseId / 10 * 4; - SetWarpDestination(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, gUnknown_0858CFE8[idx + 2], gUnknown_0858CFE8[idx + 3]); + s8 offset = sCurSecretBaseId / 10 * 4; + SetWarpDestination( + gSaveBlock1Ptr->location.mapGroup, + gSaveBlock1Ptr->location.mapNum, + -1, + sSecretBaseEntrancePositions[offset + 2], + sSecretBaseEntrancePositions[offset + 3]); WarpIntoMap(); - gFieldCallback = sub_80E9108; + gFieldCallback = EnterNewlyCreatedSecretBase_StartFadeIn; SetMainCallback2(CB2_LoadMap); DestroyTask(taskId); } } -void sub_80E91F8(void) +void EnterNewlyCreatedSecretBase(void) { - CreateTask(sub_80E916C, 0); - FadeScreen(1, 0); + CreateTask(Task_EnterNewlyCreatedSecretBase, 0); + FadeScreen(FADE_TO_BLACK, 0); } -bool8 CurrentMapIsSecretBase(void) +bool8 CurMapIsSecretBase(void) { - if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(SECRET_BASE_RED_CAVE1) && (u8)gSaveBlock1Ptr->location.mapNum <= MAP_NUM(SECRET_BASE_SHRUB4)) - { + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(SECRET_BASE_RED_CAVE1) + && (u8)gSaveBlock1Ptr->location.mapNum <= MAP_NUM(SECRET_BASE_SHRUB4)) return TRUE; - } - return FALSE; + else + return FALSE; } -void sub_80E9238(u8 flagIn) +void InitSecretBaseAppearance(bool8 hidePC) { - u16 curBaseId; - u16 x; - u16 y; + u16 secretBaseId; + u16 x, y; u8 *decorations; u8 *decorPos; - if (CurrentMapIsSecretBase()) + if (CurMapIsSecretBase()) { - curBaseId = VarGet(VAR_CURRENT_SECRET_BASE); - decorations = gSaveBlock1Ptr->secretBases[curBaseId].decorations; - decorPos = gSaveBlock1Ptr->secretBases[curBaseId].decorationPos; - for (x = 0; x < 16; x ++) + secretBaseId = VarGet(VAR_CURRENT_SECRET_BASE); + decorations = gSaveBlock1Ptr->secretBases[secretBaseId].decorations; + decorPos = gSaveBlock1Ptr->secretBases[secretBaseId].decorationPositions; + for (x = 0; x < 16; x++) { - if (decorations[x] > 0 && decorations[x] <= 0x78 && gDecorations[decorations[x]].permission != DECORPERM_SOLID_MAT) { - sub_8127D38((decorPos[x] >> 4) + 7, (decorPos[x] & 0xF) + 7, decorations[x]); - } + if (decorations[x] > 0 && decorations[x] <= NUM_DECORATIONS && gDecorations[decorations[x]].permission != DECORPERM_SPRITE) + ShowDecorationOnMap((decorPos[x] >> 4) + 7, (decorPos[x] & 0xF) + 7, decorations[x]); } - if (curBaseId != 0) + + if (secretBaseId != 0) { - sub_80E8CB0(&x, &y, 0x220); + // Another player's secret base. Change PC type to the "Register" PC. + FindMetatileIdMapCoords(&x, &y, 0x220); MapGridSetMetatileIdAt(x + 7, y + 7, 0x221 | METATILE_COLLISION_MASK); } - else if (flagIn == 1 && VarGet(VAR_SECRET_BASE_INITIALIZED) == 1) + else if (hidePC == TRUE && VarGet(VAR_SECRET_BASE_INITIALIZED) == 1) { - sub_80E8CB0(&x, &y, 0x220); + // Change PC to regular ground tile. + FindMetatileIdMapCoords(&x, &y, 0x220); MapGridSetMetatileIdAt(x + 7, y + 7, 0x20a | METATILE_COLLISION_MASK); } } } -void sub_80E933C(void) +void InitSecretBaseDecorationSprites(void) { - u8 *roomDecor; - u8 *roomDecorPos; - u8 decorIdx; - u8 objIdx; - u8 metatile; + u8 i; + u8 *decorations; + u8 *decorationPositions; + u8 eventObjectId; + u8 metatileBehavior; u8 category; u8 permission; - u8 nDecor; - u16 curBase; + u8 numDecorations; - objIdx = 0; - if (!CurrentMapIsSecretBase()) + eventObjectId = 0; + if (!CurMapIsSecretBase()) { - roomDecor = gSaveBlock1Ptr->playerRoomDecor; - roomDecorPos = gSaveBlock1Ptr->playerRoomDecorPos; - nDecor = 12; + decorations = gSaveBlock1Ptr->playerRoomDecor; + decorationPositions = gSaveBlock1Ptr->playerRoomDecorPos; + numDecorations = 12; } else { - curBase = VarGet(VAR_CURRENT_SECRET_BASE); - roomDecor = gSaveBlock1Ptr->secretBases[curBase].decorations; - roomDecorPos = gSaveBlock1Ptr->secretBases[curBase].decorationPos; - nDecor = 16; + u16 secretBaseId = VarGet(VAR_CURRENT_SECRET_BASE); + decorations = gSaveBlock1Ptr->secretBases[secretBaseId].decorations; + decorationPositions = gSaveBlock1Ptr->secretBases[secretBaseId].decorationPositions; + numDecorations = 16; } - for (decorIdx = 0; decorIdx < nDecor; decorIdx ++) + + for (i = 0; i < numDecorations; i++) { - if (roomDecor[decorIdx] != DECOR_NONE) + if (decorations[i] == DECOR_NONE) + continue; + + permission = gDecorations[decorations[i]].permission; + category = gDecorations[decorations[i]].category; + if (permission == DECORPERM_SPRITE) { - permission = gDecorations[roomDecor[decorIdx]].permission; - category = gDecorations[roomDecor[decorIdx]].category; - if (permission == DECORPERM_SOLID_MAT) + for (eventObjectId = 0; eventObjectId < gMapHeader.events->eventObjectCount; eventObjectId++) { - for (objIdx = 0; objIdx < gMapHeader.events->eventObjectCount; objIdx ++) + if (gMapHeader.events->eventObjects[eventObjectId].flagId == FLAG_DECORATION_1 + gSpecialVar_0x8004) + break; + } + + if (eventObjectId == gMapHeader.events->eventObjectCount) + continue; + + gSpecialVar_0x8006 = decorationPositions[i] >> 4; + gSpecialVar_0x8007 = decorationPositions[i] & 0xF; + metatileBehavior = MapGridGetMetatileBehaviorAt(gSpecialVar_0x8006 + 7, gSpecialVar_0x8007 + 7); + if (MetatileBehavior_HoldsSmallDecoration(metatileBehavior) == TRUE + || MetatileBehavior_HoldsLargeDecoration(metatileBehavior) == TRUE) + { + gSpecialVar_Result = VAR_OBJ_GFX_ID_0 + (gMapHeader.events->eventObjects[eventObjectId].graphicsId - EVENT_OBJ_GFX_VAR_0); + VarSet(gSpecialVar_Result, gDecorations[decorations[i]].tiles[0]); + gSpecialVar_Result = gMapHeader.events->eventObjects[eventObjectId].localId; + FlagClear(FLAG_DECORATION_1 + gSpecialVar_0x8004); + TrySpawnEventObject(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + TryMoveEventObjectToMapCoords(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gSpecialVar_0x8006, gSpecialVar_0x8007); + TryOverrideEventObjectTemplateCoords(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + if (CurMapIsSecretBase() == TRUE && VarGet(VAR_CURRENT_SECRET_BASE) != 0) { - if (gMapHeader.events->eventObjects[objIdx].flagId == gSpecialVar_0x8004 + 0xAE) + if (category == DECORCAT_DOLL) { - break; + OverrideSecretBaseDecorationSpriteScript( + gSpecialVar_Result, + gSaveBlock1Ptr->location.mapNum, + gSaveBlock1Ptr->location.mapGroup, + DECORCAT_DOLL); + } + else if (category == DECORCAT_CUSHION) + { + OverrideSecretBaseDecorationSpriteScript( + gSpecialVar_Result, + gSaveBlock1Ptr->location.mapNum, + gSaveBlock1Ptr->location.mapGroup, + DECORCAT_CUSHION); } } - if (objIdx == gMapHeader.events->eventObjectCount) - { - continue; - } - gSpecialVar_0x8006 = roomDecorPos[decorIdx] >> 4; - gSpecialVar_0x8007 = roomDecorPos[decorIdx] & 0xF; - metatile = MapGridGetMetatileBehaviorAt(gSpecialVar_0x8006 + 7, gSpecialVar_0x8007 + 7); - if (MetatileBehavior_IsSecretBaseLargeMatEdge(metatile) == TRUE || MetatileBehavior_IsLargeMatCenter(metatile) == TRUE) - { - gSpecialVar_Result = gMapHeader.events->eventObjects[objIdx].graphicsId + UNKNOWN_VAR_OFFSET_3F20; - VarSet(gSpecialVar_Result, gDecorations[roomDecor[decorIdx]].tiles[0]); - gSpecialVar_Result = gMapHeader.events->eventObjects[objIdx].localId; - FlagClear(gSpecialVar_0x8004 + 0xAE); - show_sprite(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); - sub_808EBA8(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gSpecialVar_0x8006, gSpecialVar_0x8007); - sub_808F254(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); - if (CurrentMapIsSecretBase() == TRUE && VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { - if (category == DECORCAT_DOLL) - { - sub_808F28C(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, DECORCAT_DOLL); - } - else if (category == DECORCAT_CUSHION) - { - sub_808F28C(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, DECORCAT_CUSHION); - } - } - gSpecialVar_0x8004 ++; - } + + gSpecialVar_0x8004++; } } } } -void sub_80E9578(void) +void HideSecretBaseDecorationSprites(void) { - u8 objectEventIdx; - u16 flagId; + u8 eventObjectId; + u16 flag; - for (objectEventIdx = 0; objectEventIdx < gMapHeader.events->eventObjectCount; objectEventIdx ++) + for (eventObjectId = 0; eventObjectId < gMapHeader.events->eventObjectCount; eventObjectId++) { - flagId = gMapHeader.events->eventObjects[objectEventIdx].flagId; - if (flagId >= FLAG_DECORATION_1 && flagId <= FLAG_DECORATION_14) + flag = gMapHeader.events->eventObjects[eventObjectId].flagId; + if (flag >= FLAG_DECORATION_1 && flag <= FLAG_DECORATION_14) { - RemoveEventObjectByLocalIdAndMap(gMapHeader.events->eventObjects[objectEventIdx].localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); - FlagSet(flagId); + RemoveEventObjectByLocalIdAndMap( + gMapHeader.events->eventObjects[eventObjectId].localId, + gSaveBlock1Ptr->location.mapNum, + gSaveBlock1Ptr->location.mapGroup); + FlagSet(flag); } } } -void sub_80E95D4(void) +void SetSecretBaseOwnerGfxId(void) { - VarSet(VAR_OBJ_GFX_ID_F, gUnknown_0858D060[sub_80EA20C(VarGet(VAR_CURRENT_SECRET_BASE))]); + VarSet(VAR_OBJ_GFX_ID_F, sSecretBaseOwnerGfxIds[GetSecretBaseOwnerType(VarGet(VAR_CURRENT_SECRET_BASE))]); } -void sub_80E9608(const struct MapPosition *position, const struct MapEvents *events) +void SetCurSecretBaseIdFromPosition(const struct MapPosition *position, const struct MapEvents *events) { - s16 bgEventIdx; - - for (bgEventIdx = 0; bgEventIdx < events->bgEventCount; bgEventIdx ++) + s16 i; + for (i = 0; i < events->bgEventCount; i++) { - if (events->bgEvents[bgEventIdx].kind == BG_EVENT_SECRET_BASE && position->x == events->bgEvents[bgEventIdx].x + 7 && position->y == events->bgEvents[bgEventIdx].y + 7) + if (events->bgEvents[i].kind == BG_EVENT_SECRET_BASE && position->x == events->bgEvents[i].x + 7 && position->y == events->bgEvents[i].y + 7) { - sCurSecretBaseId = events->bgEvents[bgEventIdx].bgUnion.secretBaseId; + sCurSecretBaseId = events->bgEvents[i].bgUnion.secretBaseId; break; } } @@ -612,101 +648,92 @@ void sub_80E9608(const struct MapPosition *position, const struct MapEvents *eve void WarpIntoSecretBase(const struct MapPosition *position, const struct MapEvents *events) { - sub_80E9608(position, events); - sub_80E8B6C(); + SetCurSecretBaseIdFromPosition(position, events); + TrySetCurSecretBaseIndex(); ScriptContext1_SetupScript(EventScript_275BB7); } -bool8 sub_80E9680(void) +bool8 TrySetCurSecretBase(void) { - sub_80E8B58(); - sub_80E8B6C(); + SetCurSecretBaseId(); + TrySetCurSecretBaseIndex(); if (gSpecialVar_Result == TRUE) - { return FALSE; - } + return TRUE; } -void sub_80E96A4(u8 taskId) +static void Task_WarpOutOfSecretBase(u8 taskId) { switch (gTasks[taskId].data[0]) { - case 0: - ScriptContext2_Enable(); - gTasks[taskId].data[0] = 1; - break; - case 1: - if (!gPaletteFade.active) - { - gTasks[taskId].data[0] = 2; - } - break; - case 2: - SetWarpDestinationToDynamicWarp(0x7e); - WarpIntoMap(); - gFieldCallback = mapldr_default; - SetMainCallback2(CB2_LoadMap); - ScriptContext2_Disable(); - DestroyTask(taskId); - break; + case 0: + ScriptContext2_Enable(); + gTasks[taskId].data[0] = 1; + break; + case 1: + if (!gPaletteFade.active) + gTasks[taskId].data[0] = 2; + break; + case 2: + SetWarpDestinationToDynamicWarp(0x7e); + WarpIntoMap(); + gFieldCallback = mapldr_default; + SetMainCallback2(CB2_LoadMap); + ScriptContext2_Disable(); + DestroyTask(taskId); + break; } } -void sub_80E9728(void) +static void WarpOutOfSecretBase(void) { - CreateTask(sub_80E96A4, 0); - FadeScreen(1, 0); + CreateTask(Task_WarpOutOfSecretBase, 0); + FadeScreen(FADE_TO_BLACK, 0); } -void sub_80E9744(void) +void IsCurSecretBaseOwnedByAnotherPlayer(void) { if (gSaveBlock1Ptr->secretBases[0].secretBaseId != sCurSecretBaseId) - { gSpecialVar_Result = TRUE; - } else - { gSpecialVar_Result = FALSE; - } } -u8 *sub_80E9780(u8 *dest, u8 secretBaseRecordId) +static u8 *GetSecretBaseName(u8 *dest, u8 secretBaseId) { - *StringCopyN(dest, gSaveBlock1Ptr->secretBases[secretBaseRecordId].trainerName, sub_80E8DF4(gSaveBlock1Ptr->secretBases[secretBaseRecordId].trainerName)) = EOS; - ConvertInternationalString(dest, gSaveBlock1Ptr->secretBases[secretBaseRecordId].language); + *StringCopyN(dest, gSaveBlock1Ptr->secretBases[secretBaseId].trainerName, GetNameLength(gSaveBlock1Ptr->secretBases[secretBaseId].trainerName)) = EOS; + ConvertInternationalString(dest, gSaveBlock1Ptr->secretBases[secretBaseId].language); return StringAppend(dest, gText_ApostropheSBase); } u8 *GetSecretBaseMapName(u8 *dest) { - return sub_80E9780(dest, VarGet(VAR_CURRENT_SECRET_BASE)); + return GetSecretBaseName(dest, VarGet(VAR_CURRENT_SECRET_BASE)); } -void sub_80E980C(void) +void CopyCurSecretBaseOwnerName_StrVar1(void) { - u8 secretBaseRecordId; - const u8 *src; + u8 secretBaseId; + const u8 *name; - secretBaseRecordId = VarGet(VAR_CURRENT_SECRET_BASE); - src = gSaveBlock1Ptr->secretBases[secretBaseRecordId].trainerName; - *StringCopyN(gStringVar1, src, sub_80E8DF4(src)) = EOS; - ConvertInternationalString(gStringVar1, gSaveBlock1Ptr->secretBases[secretBaseRecordId].language); + secretBaseId = VarGet(VAR_CURRENT_SECRET_BASE); + name = gSaveBlock1Ptr->secretBases[secretBaseId].trainerName; + *StringCopyN(gStringVar1, name, GetNameLength(name)) = EOS; + ConvertInternationalString(gStringVar1, gSaveBlock1Ptr->secretBases[secretBaseId].language); } -bool8 sub_80E9878(u8 secretBaseRecordId) +static bool8 IsSecretBaseRegistered(u8 secretBaseId) { - if (gSaveBlock1Ptr->secretBases[secretBaseRecordId].sbr_field_1_6 != 0) - { + if (gSaveBlock1Ptr->secretBases[secretBaseId].registryStatus) return TRUE; - } + return FALSE; } -u8 sub_80E98AC(struct Pokemon *pokemon) +static u8 GetAverageEVs(struct Pokemon *pokemon) { u16 evTotal; - evTotal = GetMonData(pokemon, MON_DATA_HP_EV); evTotal += GetMonData(pokemon, MON_DATA_ATK_EV); evTotal += GetMonData(pokemon, MON_DATA_DEF_EV); @@ -716,173 +743,162 @@ u8 sub_80E98AC(struct Pokemon *pokemon) return evTotal / 6; } -void sub_80E9914(void) +void SetPlayerSecretBaseParty(void) { - u16 partyIdx; + u16 i; u16 moveIdx; - u16 sbPartyIdx; + u16 partyId; struct SecretBaseParty *party; - sbPartyIdx = 0; + partyId = 0; party = &gSaveBlock1Ptr->secretBases[0].party; - if (gSaveBlock1Ptr->secretBases[0].secretBaseId != 0) + if (gSaveBlock1Ptr->secretBases[0].secretBaseId) { - for (partyIdx = 0; partyIdx < PARTY_SIZE; partyIdx++) + for (i = 0; i < PARTY_SIZE; i++) { - for (moveIdx = 0; moveIdx < 4; moveIdx++) + for (moveIdx = 0; moveIdx < MAX_MON_MOVES; moveIdx++) + party->moves[i * MAX_MON_MOVES + moveIdx] = MOVE_NONE; + + party->species[i] = SPECIES_NONE; + party->heldItems[i] = ITEM_NONE; + party->levels[i] = 0; + party->personality[i] = 0; + party->EVs[i] = 0; + + if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES) != SPECIES_NONE + && !GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG)) { - party->moves[partyIdx * 4 + moveIdx] = 0; - } - party->species[partyIdx] = 0; - party->heldItems[partyIdx] = 0; - party->levels[partyIdx] = 0; - party->personality[partyIdx] = 0; - party->EVs[partyIdx] = 0; - if (GetMonData(&gPlayerParty[partyIdx], MON_DATA_SPECIES) != SPECIES_NONE - && !GetMonData(&gPlayerParty[partyIdx], MON_DATA_IS_EGG)) - { - for (moveIdx = 0; moveIdx < 4; moveIdx++) - { - party->moves[sbPartyIdx * 4 + moveIdx] = GetMonData(&gPlayerParty[partyIdx], MON_DATA_MOVE1 + moveIdx); - } - party->species[sbPartyIdx] = GetMonData(&gPlayerParty[partyIdx], MON_DATA_SPECIES); - party->heldItems[sbPartyIdx] = GetMonData(&gPlayerParty[partyIdx], MON_DATA_HELD_ITEM); - party->levels[sbPartyIdx] = GetMonData(&gPlayerParty[partyIdx], MON_DATA_LEVEL); - party->personality[sbPartyIdx] = GetMonData(&gPlayerParty[partyIdx], MON_DATA_PERSONALITY); - party->EVs[sbPartyIdx] = sub_80E98AC(&gPlayerParty[partyIdx]); - sbPartyIdx++; + for (moveIdx = 0; moveIdx < MAX_MON_MOVES; moveIdx++) + party->moves[partyId * MAX_MON_MOVES + moveIdx] = GetMonData(&gPlayerParty[i], MON_DATA_MOVE1 + moveIdx); + + party->species[partyId] = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES); + party->heldItems[partyId] = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM); + party->levels[partyId] = GetMonData(&gPlayerParty[i], MON_DATA_LEVEL); + party->personality[partyId] = GetMonData(&gPlayerParty[i], MON_DATA_PERSONALITY); + party->EVs[partyId] = GetAverageEVs(&gPlayerParty[i]); + partyId++; } } } } -void sub_80E9A90(void) +void ClearAndLeaveSecretBase(void) { - u16 sbr_e; - - sbr_e = gSaveBlock1Ptr->secretBases[0].sbr_field_e; + u16 temp = gSaveBlock1Ptr->secretBases[0].numSecretBasesReceived; ClearSecretBase(&gSaveBlock1Ptr->secretBases[0]); - gSaveBlock1Ptr->secretBases[0].sbr_field_e = sbr_e; - sub_80E9728(); + gSaveBlock1Ptr->secretBases[0].numSecretBasesReceived = temp; + WarpOutOfSecretBase(); } -void sub_80E9AC0(void) +void MoveOutOfSecretBase(void) { IncrementGameStat(GAME_STAT_MOVED_SECRET_BASE); - sub_80E9A90(); + ClearAndLeaveSecretBase(); } -void sub_80E9AD0(void) +static void ClosePlayerSecretBaseEntrance(void) { u16 i; u16 j; - s16 tile; - const struct MapEvents *events; + s16 metatileId; + const struct MapEvents *events = gMapHeader.events; - events = gMapHeader.events; - for (i = 0; i < events->bgEventCount; i ++) + for (i = 0; i < events->bgEventCount; i++) { - if (events->bgEvents[i].kind == BG_EVENT_SECRET_BASE && gSaveBlock1Ptr->secretBases[0].secretBaseId == events->bgEvents[i].bgUnion.secretBaseId) + if (events->bgEvents[i].kind == BG_EVENT_SECRET_BASE + && gSaveBlock1Ptr->secretBases[0].secretBaseId == events->bgEvents[i].bgUnion.secretBaseId) { - tile = MapGridGetMetatileIdAt(events->bgEvents[i].x + 7, events->bgEvents[i].y + 7); - for (j = 0; j < 7; j ++) + metatileId = MapGridGetMetatileIdAt(events->bgEvents[i].x + 7, events->bgEvents[i].y + 7); + for (j = 0; j < 7; j++) { - if (gUnknown_0858CFCC[j].tile2 == tile) + if (sSecretBaseEntranceMetatiles[j].openMetatileId == metatileId) { - MapGridSetMetatileIdAt(events->bgEvents[i].x + 7, events->bgEvents[i].y + 7, gUnknown_0858CFCC[j].tile1 | METATILE_COLLISION_MASK); + MapGridSetMetatileIdAt(events->bgEvents[i].x + 7, events->bgEvents[i].y + 7, sSecretBaseEntranceMetatiles[j].closedMetatileId | METATILE_COLLISION_MASK); break; } } + DrawWholeMapView(); break; } } } -void sub_80E9B70(void) +// When the player moves to a new secret base by interacting with a new secret base +// entrance in the overworld. +void MoveOutOfSecretBaseFromOutside(void) { - u16 sbr_e; + u16 temp; - sub_80E9AD0(); + ClosePlayerSecretBaseEntrance(); IncrementGameStat(GAME_STAT_MOVED_SECRET_BASE); - sbr_e = gSaveBlock1Ptr->secretBases[0].sbr_field_e; + temp = gSaveBlock1Ptr->secretBases[0].numSecretBasesReceived; ClearSecretBase(&gSaveBlock1Ptr->secretBases[0]); - gSaveBlock1Ptr->secretBases[0].sbr_field_e = sbr_e; + gSaveBlock1Ptr->secretBases[0].numSecretBasesReceived = temp; } -u8 sub_80E9BA8(void) +static u8 GetNumRegisteredSecretBases(void) { - u8 sum; s16 i; - - sum = 0; - for (i = 1; i < SECRET_BASES_COUNT; i ++) + u8 count = 0; + for (i = 1; i < SECRET_BASES_COUNT; i++) { - if (sub_80E9878(i) == TRUE) - { - sum ++; - } + if (IsSecretBaseRegistered(i) == TRUE) + count++; } - return sum; + + return count; } -void sub_80E9BDC(void) +void GetCurSecretBaseRegistrationValidity(void) { - if (sub_80E9878(VarGet(VAR_CURRENT_SECRET_BASE)) == TRUE) - { + if (IsSecretBaseRegistered(VarGet(VAR_CURRENT_SECRET_BASE)) == TRUE) gSpecialVar_Result = 1; - } - else if (sub_80E9BA8() > 9) - { + else if (GetNumRegisteredSecretBases() >= 10) gSpecialVar_Result = 2; - } else - { gSpecialVar_Result = 0; - } } -void sub_80E9C2C(void) +void ToggleCurSecretBaseRegistry(void) { - gSaveBlock1Ptr->secretBases[VarGet(VAR_CURRENT_SECRET_BASE)].sbr_field_1_6 ^= 1; - FlagSet(FLAG_DECORATION_16); + gSaveBlock1Ptr->secretBases[VarGet(VAR_CURRENT_SECRET_BASE)].registryStatus ^= 1; + FlagSet(FLAG_SECRET_BASE_REGISTRY_ENABLED); } -void sub_80E9C74(void) +void ShowSecretBaseDecorationMenu(void) { - CreateTask(sub_8126AD8, 0); + CreateTask(DoSecretBaseDecorationMenu, 0); } -void sub_80E9C88(void) +void ShowSecretBaseRegistryMenu(void) { - CreateTask(sub_80E9C9C, 0); + CreateTask(Task_ShowSecretBaseRegistryMenu, 0); } -void sub_80E9C9C(u8 taskId) +static void Task_ShowSecretBaseRegistryMenu(u8 taskId) { - s16 *data; - - data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; ScriptContext2_Enable(); - data[0] = sub_80E9BA8(); + data[0] = GetNumRegisteredSecretBases(); if (data[0] != 0) { data[1] = 0; data[2] = 0; ClearDialogWindowAndFrame(0, 0); - gUnknown_0203A020 = calloc(1, sizeof(struct SecretBaseListMenuBuffer)); - data[6] = AddWindow(&gUnknown_0858D06C[0]); - game_continue(taskId); - sub_80E9E00(taskId); - gTasks[taskId].func = sub_80E9E90; + sRegistryMenu = calloc(1, sizeof(*sRegistryMenu)); + data[6] = AddWindow(&sRegistryWindowTemplates[0]); + BuildRegistryMenuItems(taskId); + FinalizeRegistryMenu(taskId); + gTasks[taskId].func = HandleRegistryMenuInput; } else { - DisplayItemMessageOnField(taskId, gText_NoRegistry, task_pc_turn_off); + DisplayItemMessageOnField(taskId, gText_NoRegistry, GoToSecretBasePCMainMenu); } } -void game_continue(u8 taskId) +static void BuildRegistryMenuItems(u8 taskId) { s16 *data; u8 i; @@ -890,62 +906,54 @@ void game_continue(u8 taskId) data = gTasks[taskId].data; count = 0; - for (i = 1; i < SECRET_BASES_COUNT; i ++) + for (i = 1; i < SECRET_BASES_COUNT; i++) { - if (sub_80E9878(i)) + if (IsSecretBaseRegistered(i)) { - sub_80E9780(gUnknown_0203A020->names[count], i); - gUnknown_0203A020->items[count].name = gUnknown_0203A020->names[count]; - gUnknown_0203A020->items[count].id = i; - count ++; + GetSecretBaseName(sRegistryMenu->names[count], i); + sRegistryMenu->items[count].name = sRegistryMenu->names[count]; + sRegistryMenu->items[count].id = i; + count++; } } - gUnknown_0203A020->items[count].name = gText_Cancel; - gUnknown_0203A020->items[count].id = -2; + + sRegistryMenu->items[count].name = gText_Cancel; + sRegistryMenu->items[count].id = -2; data[0] = count + 1; if (data[0] < 8) - { data[3] = data[0]; - } else - { data[3] = 8; - } - gMultiuseListMenuTemplate = gUnknown_0858D07C; + + gMultiuseListMenuTemplate = sRegistryListMenuTemplate; gMultiuseListMenuTemplate.windowId = data[6]; gMultiuseListMenuTemplate.totalItems = data[0]; - gMultiuseListMenuTemplate.items = gUnknown_0203A020->items; + gMultiuseListMenuTemplate.items = sRegistryMenu->items; gMultiuseListMenuTemplate.maxShowed = data[3]; } -void sub_80E9DEC(s32 a0, bool8 flag, struct ListMenu *menu) +static void RegistryMenu_OnCursorMove(int unused, bool8 flag, struct ListMenu *menu) { if (flag != TRUE) - { PlaySE(SE_SELECT); - } } -void sub_80E9E00(u8 taskId) +static void FinalizeRegistryMenu(u8 taskId) { - s16 *data; - - data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; SetStandardWindowBorderStyle(data[6], 0); data[5] = ListMenuInit(&gMultiuseListMenuTemplate, data[2], data[1]); - sub_80E9E44(taskId); + AddRegistryMenuScrollArrows(taskId); schedule_bg_copy_tilemap_to_vram(0); } -void sub_80E9E44(u8 taskId) +static void AddRegistryMenuScrollArrows(u8 taskId) { - s16 *data; - - data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; data[8] = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 0xbc, 0x0c, 0x94, data[0] - data[3], 0x13f8, 0x13f8, &data[2]); } -void sub_80E9E90(u8 taskId) +static void HandleRegistryMenuInput(u8 taskId) { s16 *data; s32 input; @@ -955,219 +963,185 @@ void sub_80E9E90(u8 taskId) ListMenuGetScrollAndRow(data[5], &data[2], &data[1]); switch (input) { - case LIST_NOTHING_CHOSEN: - break; - case LIST_CANCEL: - PlaySE(SE_SELECT); - DestroyListMenuTask(data[5], NULL, NULL); - RemoveScrollIndicatorArrowPair(data[8]); - ClearStdWindowAndFrame(data[6], 0); - ClearWindowTilemap(data[6]); - RemoveWindow(data[6]); - schedule_bg_copy_tilemap_to_vram(0); - free(gUnknown_0203A020); - task_pc_turn_off(taskId); - break; - default: - PlaySE(SE_SELECT); - data[4] = input; - sub_80E9F20(taskId); - break; + case LIST_NOTHING_CHOSEN: + break; + case LIST_CANCEL: + PlaySE(SE_SELECT); + DestroyListMenuTask(data[5], NULL, NULL); + RemoveScrollIndicatorArrowPair(data[8]); + ClearStdWindowAndFrame(data[6], 0); + ClearWindowTilemap(data[6]); + RemoveWindow(data[6]); + schedule_bg_copy_tilemap_to_vram(0); + free(sRegistryMenu); + GoToSecretBasePCMainMenu(taskId); + break; + default: + PlaySE(SE_SELECT); + data[4] = input; + ShowRegistryMenuActions(taskId); + break; } } -void sub_80E9F20(u8 taskId) +static void ShowRegistryMenuActions(u8 taskId) { struct WindowTemplate template; - s16 *data; - - data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; RemoveScrollIndicatorArrowPair(data[8]); - template = gUnknown_0858D06C[1]; - template.width = GetMaxWidthInMenuTable(gUnknown_0858D048, 2); + template = sRegistryWindowTemplates[1]; + template.width = GetMaxWidthInMenuTable(sRegistryMenuActions, 2); data[7] = AddWindow(&template); SetStandardWindowBorderStyle(data[7], 0); - PrintMenuTable(data[7], 2, gUnknown_0858D048); + PrintMenuTable(data[7], 2, sRegistryMenuActions); InitMenuInUpperLeftCornerPlaySoundWhenAPressed(data[7], 2, 0); schedule_bg_copy_tilemap_to_vram(0); - gTasks[taskId].func = sub_80E9FB0; + gTasks[taskId].func = HandleRegistryMenuActionsInput; } -void sub_80E9FB0(u8 taskId) +static void HandleRegistryMenuActionsInput(u8 taskId) { - s8 input; - - input = Menu_ProcessInputNoWrap(); + s8 input = Menu_ProcessInputNoWrap(); switch (input) { - case MENU_B_PRESSED: - PlaySE(SE_SELECT); - sub_80EA18C(taskId); - break; - case MENU_NOTHING_CHOSEN: - break; - default: - PlaySE(SE_SELECT); - gUnknown_0858D048[input].func.void_u8(taskId); - break; + case MENU_B_PRESSED: + PlaySE(SE_SELECT); + ReturnToMainRegistryMenu(taskId); + break; + case MENU_NOTHING_CHOSEN: + break; + default: + PlaySE(SE_SELECT); + sRegistryMenuActions[input].func.void_u8(taskId); + break; } } -void sub_80E9FFC(u8 taskId) +static void ShowRegistryMenuDeleteConfirmation(u8 taskId) { - s16 *data; - - data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; ClearStdWindowAndFrame(data[6], FALSE); ClearStdWindowAndFrame(data[7], FALSE); ClearWindowTilemap(data[6]); ClearWindowTilemap(data[7]); RemoveWindow(data[7]); schedule_bg_copy_tilemap_to_vram(0); - sub_80E9780(gStringVar1, data[4]); + GetSecretBaseName(gStringVar1, data[4]); StringExpandPlaceholders(gStringVar4, gText_OkayToDeleteFromRegistry); - DisplayItemMessageOnField(taskId, gStringVar4, sub_80EA06C); + DisplayItemMessageOnField(taskId, gStringVar4, ShowRegistryMenuDeleteYesNo); } -void sub_80EA06C(u8 taskId) +static void ShowRegistryMenuDeleteYesNo(u8 taskId) { DisplayYesNoMenuDefaultYes(); - DoYesNoFuncWithChoice(taskId, &gUnknown_0858D058); + DoYesNoFuncWithChoice(taskId, &sDeleteRegistryYesNoFuncs); } -void sub_80EA08C(u8 taskId) +void DeleteRegistry_Yes_Callback(u8 taskId) { - s16 *data; - - data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; ClearDialogWindowAndFrame(0, 0); DestroyListMenuTask(data[5], &data[2], &data[1]); - gSaveBlock1Ptr->secretBases[data[4]].sbr_field_1_6 = 0; - game_continue(taskId); + gSaveBlock1Ptr->secretBases[data[4]].registryStatus = 0; + BuildRegistryMenuItems(taskId); sub_812225C(&data[2], &data[1], data[3], data[0]); - sub_80E9E00(taskId); - gTasks[taskId].func = sub_80E9E90; + FinalizeRegistryMenu(taskId); + gTasks[taskId].func = HandleRegistryMenuInput; } -void sub_80EA120(u8 taskId) +static void DeleteRegistry_Yes(u8 taskId) { - DisplayItemMessageOnField(taskId, gText_RegisteredDataDeleted, sub_80EA08C); + DisplayItemMessageOnField(taskId, gText_RegisteredDataDeleted, DeleteRegistry_Yes_Callback); } -void sub_80EA13C(u8 taskId) +static void DeleteRegistry_No(u8 taskId) { - s16 *data; - - data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; ClearDialogWindowAndFrame(0, 0); DestroyListMenuTask(data[5], &data[2], &data[1]); - sub_80E9E00(taskId); - gTasks[taskId].func = sub_80E9E90; + FinalizeRegistryMenu(taskId); + gTasks[taskId].func = HandleRegistryMenuInput; } -void sub_80EA18C(u8 taskId) +static void ReturnToMainRegistryMenu(u8 taskId) { - s16 *data; - - data = gTasks[taskId].data; - sub_80E9E44(taskId); + s16 *data = gTasks[taskId].data; + AddRegistryMenuScrollArrows(taskId); ClearStdWindowAndFrame(data[7], 0); ClearWindowTilemap(data[7]); RemoveWindow(data[7]); schedule_bg_copy_tilemap_to_vram(0); - gTasks[taskId].func = sub_80E9E90; + gTasks[taskId].func = HandleRegistryMenuInput; } -void task_pc_turn_off(u8 taskId) +static void GoToSecretBasePCMainMenu(u8 taskId) { if (VarGet(VAR_CURRENT_SECRET_BASE) == 0) - { ScriptContext1_SetupScript(gUnknown_0823B4E8); - } else - { ScriptContext1_SetupScript(gUnknown_0823B5E9); - } + DestroyTask(taskId); } -u8 sub_80EA20C(u8 secretBaseRecordId) +static u8 GetSecretBaseOwnerType(u8 secretBaseId) { - return (gSaveBlock1Ptr->secretBases[secretBaseRecordId].trainerId[0] % 5) + (gSaveBlock1Ptr->secretBases[secretBaseRecordId].gender * 5); + return (gSaveBlock1Ptr->secretBases[secretBaseId].trainerId[0] % 5) + + (gSaveBlock1Ptr->secretBases[secretBaseId].gender * 5); } const u8 *GetSecretBaseTrainerLoseText(void) { - u8 param; - - param = sub_80EA20C(VarGet(VAR_CURRENT_SECRET_BASE)); - if (param == 0) - { + u8 ownerType = GetSecretBaseOwnerType(VarGet(VAR_CURRENT_SECRET_BASE)); + if (ownerType == 0) return SecretBase_RedCave1_Text_274966; - } - if (param == 1) - { + else if (ownerType == 1) return SecretBase_RedCave1_Text_274D13; - } - if (param == 2) - { + else if (ownerType == 2) return SecretBase_RedCave1_Text_274FFE; - } - if (param == 3) - { + else if (ownerType == 3) return SecretBase_RedCave1_Text_275367; - } - if (param == 4) - { + else if (ownerType == 4) return SecretBase_RedCave1_Text_2756C7; - } - if (param == 5) - { + else if (ownerType == 5) return SecretBase_RedCave1_Text_274B24; - } - if (param == 6) - { + else if (ownerType == 6) return SecretBase_RedCave1_Text_274E75; - } - if (param == 7) - { + else if (ownerType == 7) return SecretBase_RedCave1_Text_2751E1; - } - if (param == 8) - { + else if (ownerType == 8) return SecretBase_RedCave1_Text_2754F6; - } - return SecretBase_RedCave1_Text_2758CC; + else + return SecretBase_RedCave1_Text_2758CC; } -void sub_80EA2E4(void) +void PrepSecretBaseBattleFlags(void) { - sub_813BADC(TRUE); + sub_813BADC(1); gTrainerBattleOpponent_A = TRAINER_SECRET_BASE; gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_SECRET_BASE; } void sub_80EA30C(void) { - gSaveBlock1Ptr->secretBases[VarGet(VAR_CURRENT_SECRET_BASE)].sbr_field_1_5 = gSpecialVar_Result; + gSaveBlock1Ptr->secretBases[VarGet(VAR_CURRENT_SECRET_BASE)].battledOwnerToday = gSpecialVar_Result; } -void sub_80EA354(void) +void GetSecretBaseOwnerInteractionState(void) { - u16 secretBaseRecordId; + u16 secretBaseId; u8 i; - secretBaseRecordId = VarGet(VAR_CURRENT_SECRET_BASE); + secretBaseId = VarGet(VAR_CURRENT_SECRET_BASE); if (!FlagGet(FLAG_DAILY_SECRET_BASE)) { - for (i = 0; i < SECRET_BASES_COUNT; i ++) - { - gSaveBlock1Ptr->secretBases[i].sbr_field_1_5 = FALSE; - } + for (i = 0; i < SECRET_BASES_COUNT; i++) + gSaveBlock1Ptr->secretBases[i].battledOwnerToday = FALSE; + FlagSet(FLAG_DAILY_SECRET_BASE); } - gSpecialVar_0x8004 = sub_80EA20C(secretBaseRecordId); - gSpecialVar_Result = gSaveBlock1Ptr->secretBases[secretBaseRecordId].sbr_field_1_5; + gSpecialVar_0x8004 = GetSecretBaseOwnerType(secretBaseId); + gSpecialVar_Result = gSaveBlock1Ptr->secretBases[secretBaseId].battledOwnerToday; } void SecretBasePerStepCallback(u8 taskId) @@ -1181,318 +1155,286 @@ void SecretBasePerStepCallback(u8 taskId) data = gTasks[taskId].data; switch (data[1]) { - case 0: - if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) + case 0: + if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) + sInFriendSecretBase = TRUE; + else + sInFriendSecretBase = FALSE; + + PlayerGetDestCoords(&data[2], &data[3]); + data[1] = 1; + break; + case 1: + PlayerGetDestCoords(&x, &y); + if (x != data[2] || y != data[3]) + { + data[2] = x; + data[3] = y; + VarSet(VAR_SECRET_BASE_STEP_COUNTER, VarGet(VAR_SECRET_BASE_STEP_COUNTER) + 1); + behavior = MapGridGetMetatileBehaviorAt(x, y); + tileId = MapGridGetMetatileIdAt(x, y); + if (tileId == 0x234 || tileId == 0x23C) { - gInFriendSecretBase = TRUE; + if (sInFriendSecretBase == TRUE) + { + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x20); + } } - else + else if (tileId == 0x2b8 || tileId == 0x2b9 || tileId == 0x2ba || tileId == 0x2c0 || tileId == 0x2c1 || tileId == 0x2c2 || tileId == 0x2c8 || tileId == 0x2c9 || tileId == 0x2ca) { - gInFriendSecretBase = FALSE; + if (sInFriendSecretBase == TRUE) + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x01); } - PlayerGetDestCoords(&data[2], &data[3]); + else if (tileId == 0x239 || tileId == 0x241 || tileId == 0x251 || tileId == 0x259) + { + if (sInFriendSecretBase == TRUE) + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x04); + } + else if ((behavior == 0x34 && tileId == 0x26d) || (behavior == 0x35 && MapGridGetMetatileIdAt(x, y) == 0x26a)) + { + if (sInFriendSecretBase == TRUE) + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x200); + } + else if (behavior == 0xc1 && tileId == 0x23d) + { + if (sInFriendSecretBase == TRUE) + { + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) ^ 0x1000); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x2000); + } + } + else if (behavior == 0x47 && tileId == 0x23e) + { + if (sInFriendSecretBase == TRUE) + { + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x1000); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) ^ 0x2000); + } + } + else if (MetatileBehavior_IsSecretBaseGlitterMat(behavior) == TRUE) + { + if (sInFriendSecretBase == TRUE) + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x80); + } + else if (MetatileBehavior_IsSecretBaseBalloon(behavior) == TRUE) + { + PopSecretBaseBalloon(MapGridGetMetatileIdAt(x, y), x, y); + if (sInFriendSecretBase == TRUE) + { + switch ((int)MapGridGetMetatileIdAt(x, y)) + { + case 0x338: + case 0x33c: + case 0x340: + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x02); + break; + case 0x228: + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x100); + break; + } + } + } + else if (MetatileBehavior_IsSecretBaseBreakableDoor(behavior) == TRUE) + { + if (sInFriendSecretBase == TRUE) + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x400); + + ShatterSecretBaseBreakableDoor(x, y); + } + else if (MetatileBehavior_IsSecretBaseSoundMat(behavior) == TRUE){ + if (sInFriendSecretBase == TRUE) + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x8000); + } + else if (MetatileBehavior_IsSecretBaseJumpMat(behavior) == TRUE) + { + if (sInFriendSecretBase == TRUE) + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x4000); + } + else if (MetatileBehavior_IsSecretBaseSpinMat(behavior) == TRUE) + { + if (sInFriendSecretBase == TRUE) + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x02); + } + } + break; + case 2: + if (!FieldEffectActiveListContains(data[4])) data[1] = 1; - break; - case 1: - PlayerGetDestCoords(&x, &y); - if (x != data[2] || y != data[3]) - { - data[2] = x; - data[3] = y; - VarSet(VAR_SECRET_BASE_STEP_COUNTER, VarGet(VAR_SECRET_BASE_STEP_COUNTER) + 1); - behavior = MapGridGetMetatileBehaviorAt(x, y); - tileId = MapGridGetMetatileIdAt(x, y); - if (tileId == 0x234 || tileId == 0x23C) - { - if (gInFriendSecretBase == TRUE) - { - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x20); - } - } - else if (tileId == 0x2b8 || tileId == 0x2b9 || tileId == 0x2ba || tileId == 0x2c0 || tileId == 0x2c1 || tileId == 0x2c2 || tileId == 0x2c8 || tileId == 0x2c9 || tileId == 0x2ca) - { - if (gInFriendSecretBase == TRUE) - { - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x01); - } - } - else if (tileId == 0x239 || tileId == 0x241 || tileId == 0x251 || tileId == 0x259) - { - if (gInFriendSecretBase == TRUE) - { - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x04); - } - } - else if ((behavior == 0x34 && tileId == 0x26d) || (behavior == 0x35 && MapGridGetMetatileIdAt(x, y) == 0x26a)) - { - if (gInFriendSecretBase == TRUE) - { - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x200); - } - } - else if (behavior == 0xc1 && tileId == 0x23d) - { - if (gInFriendSecretBase == TRUE) - { - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) ^ 0x1000); - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x2000); - } - } - else if (behavior == 0x47 && tileId == 0x23e) - { - if (gInFriendSecretBase == TRUE) - { - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x1000); - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) ^ 0x2000); - } - } - else if (MetatileBehavior_IsSecretBaseGlitterMat(behavior) == TRUE) - { - if (gInFriendSecretBase == TRUE) - { - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x80); - } - } - else if (MetatileBehavior_IsSecretBaseBalloon(behavior) == TRUE) - { - PopSecretBaseBalloon(MapGridGetMetatileIdAt(x, y), x, y); - if (gInFriendSecretBase == TRUE) - { - switch ((int)MapGridGetMetatileIdAt(x, y)) - { - case 0x338: - case 0x33c: - case 0x340: - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x02); - break; - case 0x228: - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x100); - break; - } - } - } - else if (MetatileBehavior_IsSecretBaseBreakableDoor(behavior) == TRUE) - { - if (gInFriendSecretBase == TRUE) - { - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x400); - } - ShatterSecretBaseBreakableDoor(x, y); - } - else if (MetatileBehavior_IsSecretBaseSoundMat(behavior) == TRUE){ - if (gInFriendSecretBase == TRUE) { - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x8000); - } - } - else if (MetatileBehavior_IsSecretBaseJumpMat(behavior) == TRUE) - { - if (gInFriendSecretBase == TRUE) - { - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x4000); - } - } - else if (MetatileBehavior_IsSecretBaseSpinMat(behavior) == TRUE) - { - if (gInFriendSecretBase == TRUE) - { - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x02); - } - } - } - break; - case 2: - if (!FieldEffectActiveListContains(data[4])) - { - data[1] = 1; - } - break; + break; } } -void sub_80EA828(u8 secretBaseRecordId, struct SecretBaseRecord *base, u32 version, u32 language) +static void SetSecretBaseDataAndLanguage(u8 secretBaseId, struct SecretBase *secretBase, u32 version, u32 language) { int stringLength; u8 *name; - gSaveBlock1Ptr->secretBases[secretBaseRecordId] = *base; - gSaveBlock1Ptr->secretBases[secretBaseRecordId].sbr_field_1_6 = 2; + gSaveBlock1Ptr->secretBases[secretBaseId] = *secretBase; + gSaveBlock1Ptr->secretBases[secretBaseId].registryStatus = 2; if (version == VERSION_SAPPHIRE || version == VERSION_RUBY) - { - gSaveBlock1Ptr->secretBases[secretBaseRecordId].language = LANGUAGE_ENGLISH; - } + gSaveBlock1Ptr->secretBases[secretBaseId].language = LANGUAGE_ENGLISH; + if (version == VERSION_EMERALD && language == LANGUAGE_JAPANESE) { - name = gSaveBlock1Ptr->secretBases[secretBaseRecordId].trainerName; - for (stringLength = 0; stringLength < 7; stringLength ++) + name = gSaveBlock1Ptr->secretBases[secretBaseId].trainerName; + for (stringLength = 0; stringLength < 7; stringLength++) { if (name[stringLength] == EOS) - { break; - } } + if (stringLength > 5) - { - gSaveBlock1Ptr->secretBases[secretBaseRecordId].language = LANGUAGE_ENGLISH; - } + gSaveBlock1Ptr->secretBases[secretBaseId].language = LANGUAGE_ENGLISH; } } -bool8 sub_80EA8D4(struct SecretBaseRecord *sbr1, struct SecretBaseRecord *sbr2) +static bool8 SecretBasesHaveSameTrainerId(struct SecretBase *secretBase1, struct SecretBase *secretBase2) { u8 i; - for (i = 0; i < 4; i ++) + for (i = 0; i < 4; i++) { - if (sbr1->trainerId[i] != sbr2->trainerId[i]) - { + if (secretBase1->trainerId[i] != secretBase2->trainerId[i]) return FALSE; - } } + return TRUE; } -bool8 sub_80EA904(struct SecretBaseRecord *sbr1, struct SecretBaseRecord *sbr2) +static bool8 SecretBasesHaveSameTrainerName(struct SecretBase *sbr1, struct SecretBase *sbr2) { u8 i; - for (i = 0; i < PLAYER_NAME_LENGTH && (sbr1->trainerName[i] != EOS || sbr2->trainerName[i] != EOS); i++) { if (sbr1->trainerName[i] != sbr2->trainerName[i]) - { return FALSE; - } } + return TRUE; } -bool8 sub_80EA950(struct SecretBaseRecord *sbr1, struct SecretBaseRecord *sbr2) +static bool8 SecretBasesBelongToSamePlayer(struct SecretBase *secretBase1, struct SecretBase *secretBase2) { - if (sbr1->gender == sbr2->gender && sub_80EA8D4(sbr1, sbr2) && sub_80EA904(sbr1, sbr2)) + if (secretBase1->gender == secretBase2->gender + && SecretBasesHaveSameTrainerId(secretBase1, secretBase2) + && SecretBasesHaveSameTrainerName(secretBase1, secretBase2)) { return TRUE; } + return FALSE; } -s16 sub_80EA990(u8 secretBaseRecordId) +static s16 GetSecretBaseIndexFromId(u8 secretBaseId) { s16 i; - - for (i = 0; i < SECRET_BASES_COUNT; i ++) + for (i = 0; i < SECRET_BASES_COUNT; i++) { - if (gSaveBlock1Ptr->secretBases[i].secretBaseId == secretBaseRecordId) - { + if (gSaveBlock1Ptr->secretBases[i].secretBaseId == secretBaseId) return i; - } } + return -1; } -u8 sub_80EA9D8(void) +static u8 FindAvailableSecretBaseIndex(void) { s16 i; - - for (i = 1; i < SECRET_BASES_COUNT; i ++) + for (i = 1; i < SECRET_BASES_COUNT; i++) { if (gSaveBlock1Ptr->secretBases[i].secretBaseId == 0) - { return i; - } } + return 0; } -u8 sub_80EAA18(void) +static u8 sub_80EAA18(void) { s16 i; - - for (i = 1; i < SECRET_BASES_COUNT; i ++) + for (i = 1; i < SECRET_BASES_COUNT; i++) { - if (gSaveBlock1Ptr->secretBases[i].sbr_field_1_6 == 0 && gSaveBlock1Ptr->secretBases[i].sbr_field_1_0 == 0) - { + if (gSaveBlock1Ptr->secretBases[i].registryStatus == 0 && gSaveBlock1Ptr->secretBases[i].sbr_field_1_0 == 0) return i; - } } + return 0; } -u8 sub_80EAA64(struct SecretBaseRecord *base, u32 version, u32 language) +static u8 sub_80EAA64(struct SecretBase *secretBase, u32 version, u32 language) { - s16 secretBaseRecordId; + s16 index; - if (base->secretBaseId == 0) - { + if (!secretBase->secretBaseId) return 0; - } - secretBaseRecordId = sub_80EA990(base->secretBaseId); - if (secretBaseRecordId != 0) + + index = GetSecretBaseIndexFromId(secretBase->secretBaseId); + if (index != 0) { - if (secretBaseRecordId != -1) + if (index != -1) { - if (gSaveBlock1Ptr->secretBases[secretBaseRecordId].sbr_field_1_0 == 1) - { + if (gSaveBlock1Ptr->secretBases[index].sbr_field_1_0 == 1) return 0; - } - if (gSaveBlock1Ptr->secretBases[secretBaseRecordId].sbr_field_1_6 != 2 || base->sbr_field_1_0 == 1) + + if (gSaveBlock1Ptr->secretBases[index].registryStatus != 2 || secretBase->sbr_field_1_0 == 1) { - sub_80EA828(secretBaseRecordId, base, version, language); - return secretBaseRecordId; + SetSecretBaseDataAndLanguage(index, secretBase, version, language); + return index; } } else { - secretBaseRecordId = sub_80EA9D8(); - if (secretBaseRecordId != 0) + index = FindAvailableSecretBaseIndex(); + if (index != 0) { - sub_80EA828(secretBaseRecordId, base, version, language); - return secretBaseRecordId; + SetSecretBaseDataAndLanguage(index, secretBase, version, language); + return index; } - secretBaseRecordId = sub_80EAA18(); - if (secretBaseRecordId != 0) + + index = sub_80EAA18(); + if (index != 0) { - sub_80EA828(secretBaseRecordId, base, version, language); - return secretBaseRecordId; + SetSecretBaseDataAndLanguage(index, secretBase, version, language); + return index; } } } return 0; } -void sub_80EAAF4(void) +// Moves the registered secret bases to the beginning of the array, so that +// they won't be forgotten during record mixing. +static void SortSecretBasesByRegistryStatus(void) { u8 i; u8 j; - struct SecretBaseRecord base; - struct SecretBaseRecord *secretBases; + struct SecretBase *secretBases; secretBases = gSaveBlock1Ptr->secretBases; - for (i = 1; i < 19; i ++) + for (i = 1; i < 19; i++) { - for (j = i + 1; j < SECRET_BASES_COUNT; j ++) + for (j = i + 1; j < SECRET_BASES_COUNT; j++) { - if ((secretBases[i].sbr_field_1_6 == 0 && secretBases[j].sbr_field_1_6 == 1) || (secretBases[i].sbr_field_1_6 == 2 && secretBases[j].sbr_field_1_6 != 2)) + if ((secretBases[i].registryStatus == 0 && secretBases[j].registryStatus == 1) || (secretBases[i].registryStatus == 2 && secretBases[j].registryStatus != 2)) { - base = secretBases[i]; + struct SecretBase temp = secretBases[i]; secretBases[i] = secretBases[j]; - secretBases[j] = base; + secretBases[j] = temp; } } } } -void sub_80EABA4(struct SecretBaseRecordMixer *mixer, u8 b) +void sub_80EABA4(struct SecretBaseRecordMixer *mixer, u8 registryStatus) { u16 i; - - for (i = 1; i < SECRET_BASES_COUNT; i ++) + for (i = 1; i < SECRET_BASES_COUNT; i++) { - if (mixer->records[i].sbr_field_1_6 == b) - { - sub_80EAA64(&mixer->records[i], mixer->version, mixer->language); - } + if (mixer->secretBases[i].registryStatus == registryStatus) + sub_80EAA64(&mixer->secretBases[i], mixer->version, mixer->language); } } -bool8 DoesSecretBaseBelongToPlayer(struct SecretBaseRecord *secretBase) +bool8 SecretBaseBelongsToPlayer(struct SecretBase *secretBase) { u8 i; @@ -1503,13 +1445,13 @@ bool8 DoesSecretBaseBelongToPlayer(struct SecretBaseRecord *secretBase) return FALSE; // Check if the player's trainer Id matches the secret base's id. - for (i = 0; i < 4; i ++) + for (i = 0; i < 4; i++) { if (secretBase->trainerId[i] != gSaveBlock2Ptr->playerTrainerId[i]) return FALSE; } - for (i = 0; i < PLAYER_NAME_LENGTH && (secretBase->trainerName[i] != EOS || gSaveBlock2Ptr->playerName[i] != EOS); i ++) + for (i = 0; i < PLAYER_NAME_LENGTH && (secretBase->trainerName[i] != EOS || gSaveBlock2Ptr->playerName[i] != EOS); i++) { if (secretBase->trainerName[i] != gSaveBlock2Ptr->playerName[i]) return FALSE; @@ -1518,16 +1460,16 @@ bool8 DoesSecretBaseBelongToPlayer(struct SecretBaseRecord *secretBase) return TRUE; } -void DeleteFirstOldBaseFromPlayerInRecordMixingFriendsRecords(struct SecretBaseRecord *basesA, struct SecretBaseRecord *basesB, struct SecretBaseRecord *basesC) +void DeleteFirstOldBaseFromPlayerInRecordMixingFriendsRecords(struct SecretBase *basesA, struct SecretBase *basesB, struct SecretBase *basesC) { u8 i; u8 sbFlags = 0x0; - for (i = 0; i < SECRET_BASES_COUNT; i ++) + for (i = 0; i < SECRET_BASES_COUNT; i++) { if (!(sbFlags & 0x1)) // 001 { - if (DoesSecretBaseBelongToPlayer(&basesA[i]) == TRUE) + if (SecretBaseBelongsToPlayer(&basesA[i]) == TRUE) { ClearSecretBase(&basesA[i]); sbFlags |= 1; @@ -1536,7 +1478,7 @@ void DeleteFirstOldBaseFromPlayerInRecordMixingFriendsRecords(struct SecretBaseR if (!(sbFlags & 0x2)) // 010 { - if (DoesSecretBaseBelongToPlayer(&basesB[i]) == TRUE) + if (SecretBaseBelongsToPlayer(&basesB[i]) == TRUE) { ClearSecretBase(&basesB[i]); sbFlags |= 2; @@ -1545,7 +1487,7 @@ void DeleteFirstOldBaseFromPlayerInRecordMixingFriendsRecords(struct SecretBaseR if (!(sbFlags & 0x4)) // 100 { - if (DoesSecretBaseBelongToPlayer(&basesC[i]) == TRUE) + if (SecretBaseBelongsToPlayer(&basesC[i]) == TRUE) { ClearSecretBase(&basesC[i]); sbFlags |= 4; @@ -1559,15 +1501,15 @@ void DeleteFirstOldBaseFromPlayerInRecordMixingFriendsRecords(struct SecretBaseR } } -bool8 sub_80EAD14(struct SecretBaseRecord *base, struct SecretBaseRecord *secretBases, u8 c) +bool8 sub_80EAD14(struct SecretBase *secretBase, struct SecretBase *secretBases, u8 c) { u8 i; - for (i = 0; i < SECRET_BASES_COUNT; i ++) + for (i = 0; i < SECRET_BASES_COUNT; i++) { if (secretBases[i].secretBaseId != 0) { - if (sub_80EA950(base, &secretBases[i]) == TRUE) + if (SecretBasesBelongToSamePlayer(secretBase, &secretBases[i]) == TRUE) { if (c == 0) { @@ -1575,15 +1517,14 @@ bool8 sub_80EAD14(struct SecretBaseRecord *base, struct SecretBaseRecord *secret return FALSE; } - if (base->sbr_field_e > secretBases[i].sbr_field_e) + if (secretBase->numSecretBasesReceived > secretBases[i].numSecretBasesReceived) { ClearSecretBase(&secretBases[i]); return FALSE; } - secretBases[i].sbr_field_1_0 = base->sbr_field_1_0; - - ClearSecretBase(base); + secretBases[i].sbr_field_1_0 = secretBase->sbr_field_1_0; + ClearSecretBase(secretBase); return TRUE; } } @@ -1592,15 +1533,15 @@ bool8 sub_80EAD14(struct SecretBaseRecord *base, struct SecretBaseRecord *secret return FALSE; } -void sub_80EAD94(struct SecretBaseRecord *basesA, struct SecretBaseRecord *basesB, struct SecretBaseRecord *basesC, struct SecretBaseRecord *basesD) +void sub_80EAD94(struct SecretBase *basesA, struct SecretBase *basesB, struct SecretBase *basesC, struct SecretBase *basesD) { u8 i; - for (i = 1; i < SECRET_BASES_COUNT; i ++) + for (i = 1; i < SECRET_BASES_COUNT; i++) { if (basesA[i].secretBaseId) { - if (basesA[i].sbr_field_1_6 == 1) + if (basesA[i].registryStatus == 1) { basesA[i].sbr_field_1_0 = 1; } @@ -1613,32 +1554,32 @@ void sub_80EAD94(struct SecretBaseRecord *basesA, struct SecretBaseRecord *bases } } } - for (i = 0; i < SECRET_BASES_COUNT; i ++) + for (i = 0; i < SECRET_BASES_COUNT; i++) { if (basesB[i].secretBaseId) { - basesB[i].sbr_field_1_5 = 0; + basesB[i].battledOwnerToday = 0; if (!sub_80EAD14(&basesB[i], basesC, i)) { sub_80EAD14(&basesB[i], basesD, i); } } } - for (i = 0; i < SECRET_BASES_COUNT; i ++) + for (i = 0; i < SECRET_BASES_COUNT; i++) { if (basesC[i].secretBaseId) { - basesC[i].sbr_field_1_5 = 0; + basesC[i].battledOwnerToday = 0; sub_80EAD14(&basesC[i], basesD, i); } if (basesD[i].secretBaseId) { - basesD[i].sbr_field_1_5 = 0; + basesD[i].battledOwnerToday = 0; } } } -void sub_80EAE90(struct SecretBaseRecord *base, u32 version, u32 language) +void sub_80EAE90(struct SecretBase *base, u32 version, u32 language) { if (base->sbr_field_1_0 == 1) { @@ -1651,22 +1592,22 @@ void sub_80EAEB4(struct SecretBaseRecordMixer *mixers) { u16 i; - for (i = 0; i < SECRET_BASES_COUNT; i ++) + for (i = 0; i < SECRET_BASES_COUNT; i++) { - sub_80EAE90(&mixers[0].records[i], mixers[0].version, mixers[0].language); - sub_80EAE90(&mixers[1].records[i], mixers[1].version, mixers[1].language); - sub_80EAE90(&mixers[2].records[i], mixers[2].version, mixers[2].language); + sub_80EAE90(&mixers[0].secretBases[i], mixers[0].version, mixers[0].language); + sub_80EAE90(&mixers[1].secretBases[i], mixers[1].version, mixers[1].language); + sub_80EAE90(&mixers[2].secretBases[i], mixers[2].version, mixers[2].language); } } void sub_80EAEF4(struct SecretBaseRecordMixer *mixers) { - DeleteFirstOldBaseFromPlayerInRecordMixingFriendsRecords(mixers[0].records, mixers[1].records, mixers[2].records); - sub_80EAD94(gSaveBlock1Ptr->secretBases, mixers[0].records, mixers[1].records, mixers[2].records); + DeleteFirstOldBaseFromPlayerInRecordMixingFriendsRecords(mixers[0].secretBases, mixers[1].secretBases, mixers[2].secretBases); + sub_80EAD94(gSaveBlock1Ptr->secretBases, mixers[0].secretBases, mixers[1].secretBases, mixers[2].secretBases); sub_80EAEB4(mixers); - sub_80EAA64(mixers[0].records, mixers[0].version, mixers[0].language); - sub_80EAA64(mixers[1].records, mixers[1].version, mixers[1].language); - sub_80EAA64(mixers[2].records, mixers[2].version, mixers[2].language); + sub_80EAA64(mixers[0].secretBases, mixers[0].version, mixers[0].language); + sub_80EAA64(mixers[1].secretBases, mixers[1].version, mixers[1].language); + sub_80EAA64(mixers[2].secretBases, mixers[2].version, mixers[2].language); sub_80EABA4(&mixers[0], 1); sub_80EABA4(&mixers[1], 1); sub_80EABA4(&mixers[2], 1); @@ -1675,7 +1616,7 @@ void sub_80EAEF4(struct SecretBaseRecordMixer *mixers) sub_80EABA4(&mixers[2], 0); } -void ReceiveSecretBasesData(void *records, size_t recordSize, u8 linkIdx) +void ReceiveSecretBasesData(void *secretBases, size_t recordSize, u8 linkIdx) { struct SecretBaseRecordMixer mixers[3]; u16 i; @@ -1684,95 +1625,97 @@ void ReceiveSecretBasesData(void *records, size_t recordSize, u8 linkIdx) { switch (GetLinkPlayerCount()) { - case 2: - memset(records + 2 * recordSize, 0, recordSize); - memset(records + 3 * recordSize, 0, recordSize); - break; - case 3: - memset(records + 3 * recordSize, 0, recordSize); - break; + case 2: + memset(secretBases + 2 * recordSize, 0, recordSize); + memset(secretBases + 3 * recordSize, 0, recordSize); + break; + case 3: + memset(secretBases + 3 * recordSize, 0, recordSize); + break; } + switch (linkIdx) { - case 0: - mixers[0].records = records + 1 * recordSize; - mixers[0].version = gLinkPlayers[1].version & 0xFF; - mixers[0].language = gLinkPlayers[1].language; - mixers[1].records = records + 2 * recordSize; - mixers[1].version = gLinkPlayers[2].version & 0xFF; - mixers[1].language = gLinkPlayers[2].language; - mixers[2].records = records + 3 * recordSize; - mixers[2].version = gLinkPlayers[3].version & 0xFF; - mixers[2].language = gLinkPlayers[3].language; - break; - case 1: - mixers[0].records = records + 2 * recordSize; - mixers[0].version = gLinkPlayers[2].version & 0xFF; - mixers[0].language = gLinkPlayers[2].language; - mixers[1].records = records + 3 * recordSize; - mixers[1].version = gLinkPlayers[3].version & 0xFF; - mixers[1].language = gLinkPlayers[3].language; - mixers[2].records = records + 0 * recordSize; - mixers[2].version = gLinkPlayers[0].version & 0xFF; - mixers[2].language = gLinkPlayers[0].language; - break; - case 2: - mixers[0].records = records + 3 * recordSize; - mixers[0].version = gLinkPlayers[3].version & 0xFF; - mixers[0].language = gLinkPlayers[3].language; - mixers[1].records = records + 0 * recordSize; - mixers[1].version = gLinkPlayers[0].version & 0xFF; - mixers[1].language = gLinkPlayers[0].language; - mixers[2].records = records + 1 * recordSize; - mixers[2].version = gLinkPlayers[1].version & 0xFF; - mixers[2].language = gLinkPlayers[1].language; - break; - case 3: - mixers[0].records = records + 0 * recordSize; - mixers[0].version = gLinkPlayers[0].version & 0xFF; - mixers[0].language = gLinkPlayers[0].language; - mixers[1].records = records + 1 * recordSize; - mixers[1].version = gLinkPlayers[1].version & 0xFF; - mixers[1].language = gLinkPlayers[1].language; - mixers[2].records = records + 2 * recordSize; - mixers[2].version = gLinkPlayers[2].version & 0xFF; - mixers[2].language = gLinkPlayers[2].language; - break; + case 0: + mixers[0].secretBases = secretBases + 1 * recordSize; + mixers[0].version = gLinkPlayers[1].version & 0xFF; + mixers[0].language = gLinkPlayers[1].language; + mixers[1].secretBases = secretBases + 2 * recordSize; + mixers[1].version = gLinkPlayers[2].version & 0xFF; + mixers[1].language = gLinkPlayers[2].language; + mixers[2].secretBases = secretBases + 3 * recordSize; + mixers[2].version = gLinkPlayers[3].version & 0xFF; + mixers[2].language = gLinkPlayers[3].language; + break; + case 1: + mixers[0].secretBases = secretBases + 2 * recordSize; + mixers[0].version = gLinkPlayers[2].version & 0xFF; + mixers[0].language = gLinkPlayers[2].language; + mixers[1].secretBases = secretBases + 3 * recordSize; + mixers[1].version = gLinkPlayers[3].version & 0xFF; + mixers[1].language = gLinkPlayers[3].language; + mixers[2].secretBases = secretBases + 0 * recordSize; + mixers[2].version = gLinkPlayers[0].version & 0xFF; + mixers[2].language = gLinkPlayers[0].language; + break; + case 2: + mixers[0].secretBases = secretBases + 3 * recordSize; + mixers[0].version = gLinkPlayers[3].version & 0xFF; + mixers[0].language = gLinkPlayers[3].language; + mixers[1].secretBases = secretBases + 0 * recordSize; + mixers[1].version = gLinkPlayers[0].version & 0xFF; + mixers[1].language = gLinkPlayers[0].language; + mixers[2].secretBases = secretBases + 1 * recordSize; + mixers[2].version = gLinkPlayers[1].version & 0xFF; + mixers[2].language = gLinkPlayers[1].language; + break; + case 3: + mixers[0].secretBases = secretBases + 0 * recordSize; + mixers[0].version = gLinkPlayers[0].version & 0xFF; + mixers[0].language = gLinkPlayers[0].language; + mixers[1].secretBases = secretBases + 1 * recordSize; + mixers[1].version = gLinkPlayers[1].version & 0xFF; + mixers[1].language = gLinkPlayers[1].language; + mixers[2].secretBases = secretBases + 2 * recordSize; + mixers[2].version = gLinkPlayers[2].version & 0xFF; + mixers[2].language = gLinkPlayers[2].language; + break; } + sub_80EAEF4(mixers); - for (i = 1; i < SECRET_BASES_COUNT; i ++) + for (i = 1; i < SECRET_BASES_COUNT; i++) { if (gSaveBlock1Ptr->secretBases[i].sbr_field_1_0 == 1) { - gSaveBlock1Ptr->secretBases[i].sbr_field_1_6 = 1; + gSaveBlock1Ptr->secretBases[i].registryStatus = 1; gSaveBlock1Ptr->secretBases[i].sbr_field_1_0 = 0; } } - sub_80EAAF4(); - for (i = 1; i < SECRET_BASES_COUNT; i ++) + + SortSecretBasesByRegistryStatus(); + for (i = 1; i < SECRET_BASES_COUNT; i++) { - if (gSaveBlock1Ptr->secretBases[i].sbr_field_1_6 == 2) + if (gSaveBlock1Ptr->secretBases[i].registryStatus == 2) { - gSaveBlock1Ptr->secretBases[i].sbr_field_1_6 = 0; + gSaveBlock1Ptr->secretBases[i].registryStatus = 0; } } - if (gSaveBlock1Ptr->secretBases[0].secretBaseId != 0 && gSaveBlock1Ptr->secretBases[0].sbr_field_e != 0xFFFF) + + if (gSaveBlock1Ptr->secretBases[0].secretBaseId != 0 + && gSaveBlock1Ptr->secretBases[0].numSecretBasesReceived != 0xFFFF) { - gSaveBlock1Ptr->secretBases[0].sbr_field_e ++; + gSaveBlock1Ptr->secretBases[0].numSecretBasesReceived++; } } } -void sub_80EB18C(struct SecretBaseRecord *bases) +void ClearJapaneseSecretBases(struct SecretBase *bases) { u32 i; - - for (i = 0; i < SECRET_BASES_COUNT; i ++) + for (i = 0; i < SECRET_BASES_COUNT; i++) { if (bases[i].language == LANGUAGE_JAPANESE) - { ClearSecretBase(&bases[i]); - } } } @@ -1783,22 +1726,19 @@ void sub_80EB1AC(void) VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, 0); VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, 0); if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_IS_NOT_LOCAL, TRUE); - } else - { VarSet(VAR_SECRET_BASE_IS_NOT_LOCAL, FALSE); - } - gInFriendSecretBase = FALSE; + + sInFriendSecretBase = FALSE; } void sub_80EB218(void) { - if (VarGet(VAR_SECRET_BASE_IS_NOT_LOCAL) && gInFriendSecretBase == TRUE && !CurrentMapIsSecretBase()) + if (VarGet(VAR_SECRET_BASE_IS_NOT_LOCAL) && sInFriendSecretBase == TRUE && !CurMapIsSecretBase()) { VarSet(VAR_SECRET_BASE_IS_NOT_LOCAL, FALSE); - gInFriendSecretBase = FALSE; + sInFriendSecretBase = FALSE; sub_80EEA70(); VarSet(VAR_SECRET_BASE_STEP_COUNTER, 0); VarSet(VAR_SECRET_BASE_LAST_ITEM_USED, 0); @@ -1811,17 +1751,13 @@ void sub_80EB218(void) void sub_80EB290(void) { if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x800); - } } void sub_80EB2C8(void) { if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x400); - } } void sub_80EB300(void) @@ -1864,10 +1800,9 @@ void sub_80EB438(void) } } -void sub_80EB498(void) +void SetSecretBaseSecretsTvFlags_Poster(void) { - s16 x; - s16 y; + s16 x, y; GetXYCoordsOneStepInFrontOfPlayer(&x, &y); switch (MapGridGetMetatileIdAt(x, y)) @@ -1888,27 +1823,23 @@ void sub_80EB498(void) case 0x333: case 0x334: if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x4000); - } break; } } -void sub_80EB56C(void) +void SetSecretBaseSecretsTvFlags_MiscFurnature(void) { - s16 x; - s16 y; + s16 x, y; GetXYCoordsOneStepInFrontOfPlayer(&x, &y); switch (MapGridGetMetatileIdAt(x, y)) { case 0x28a: case 0x28b: + // Bird Statue if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x40); - } break; case 0x2d8: case 0x2d9: @@ -1928,32 +1859,28 @@ void sub_80EB56C(void) case 0x2f9: case 0x2fa: case 0x2fb: + // Plants if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x8); - } break; case 0x22c: case 0x233: + // Fence if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x40); - } break; case 0x288: case 0x289: + // Tire if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x100); - } break; case 0x22d: case 0x22e: case 0x22f: + // Bricks if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x10); - } break; case 0x287: case 0x28f: @@ -1978,18 +1905,16 @@ void sub_80EB56C(void) case 0x2cd: case 0x2ce: case 0x2cf: + // Tables if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x8); - } break; } } -void sub_80EB9E0(void) +void SetSecretBaseSecretsTvFlags_LargeDecorationSpot(void) { - s16 x; - s16 y; + s16 x, y; GetXYCoordsOneStepInFrontOfPlayer(&x, &y); switch (MapGridGetMetatileIdAt(x, y)) @@ -2006,17 +1931,14 @@ void sub_80EB9E0(void) case 0x2c3: case 0x2c6: if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x8); - } break; } } -void sub_80EBB28(void) +void SetSecretBaseSecretsTvFlags_SmallDecorationSpot(void) { - s16 x; - s16 y; + s16 x, y; GetXYCoordsOneStepInFrontOfPlayer(&x, &y); switch (MapGridGetMetatileIdAt(x, y)) @@ -2044,42 +1966,34 @@ void sub_80EBB28(void) case 0x2c5: case 0x2c7: if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x8); - } break; case 0x280: case 0x281: if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x100); - } break; case 0x225: case 0x226: case 0x227: if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x10); - } break; } } -void sub_80EBE7C(void) +void SetSecretBaseSecretsTvFlags_SandOrnament(void) { - s16 x; - s16 y; + s16 x, y; GetXYCoordsOneStepInFrontOfPlayer(&x, &y); switch ((int)MapGridGetMetatileIdAt(x, y)) { case 0x28d: case 0x28e: + // Sand Ornament if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x4); - } break; } } diff --git a/src/shop.c b/src/shop.c index 32caafb64c..1c6d7cf2ef 100755 --- a/src/shop.c +++ b/src/shop.c @@ -1,6 +1,6 @@ #include "global.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "decoration.h" #include "decoration_inventory.h" @@ -33,6 +33,7 @@ #include "strings.h" #include "text_window.h" #include "tv.h" +#include "constants/decorations.h" #include "constants/items.h" #include "constants/metatile_behaviors.h" #include "constants/rgb.h" @@ -276,7 +277,7 @@ static u8 CreateShopMenu(u8 martType) ScriptContext2_Enable(); gMartInfo.martType = martType; - if (martType == MART_TYPE_0) + if (martType == MART_TYPE_NORMAL) { struct WindowTemplate winTemplate; winTemplate = sShopMenuWindowTemplates[0]; @@ -396,7 +397,7 @@ static void Task_ReturnToShopMenu(u8 taskId) { if (IsWeatherNotFadingIn() == TRUE) { - if (gMartInfo.martType == MART_TYPE_2) + if (gMartInfo.martType == MART_TYPE_DECOR2) DisplayItemMessageOnField(taskId, gText_CanIHelpWithAnythingElse, ShowShopMenuAfterExitingBuyOrSellMenu); else DisplayItemMessageOnField(taskId, gText_AnythingElseICanHelp, ShowShopMenuAfterExitingBuyOrSellMenu); @@ -511,7 +512,7 @@ static void BuyMenuBuildListMenuTemplate(void) static void BuyMenuSetListEntry(struct ListMenuItem *menuItem, u16 item, u8 *name) { - if (gMartInfo.martType == MART_TYPE_0) + if (gMartInfo.martType == MART_TYPE_NORMAL) CopyItemName(item, name); else StringCopy(name, gDecorations[item].name); @@ -535,7 +536,7 @@ static void BuyMenuPrintItemDescriptionAndShowItemIcon(int item, bool8 onInit, s gShopDataPtr->iconSlot ^= 1; if (item != -2) { - if (gMartInfo.martType == MART_TYPE_0) + if (gMartInfo.martType == MART_TYPE_NORMAL) description = ItemId_GetDescription(item); else description = gDecorations[item].description; @@ -555,7 +556,7 @@ static void BuyMenuPrintPriceInList(u8 windowId, int item, u8 y) if (item != -2) { - if (gMartInfo.martType == MART_TYPE_0) + if (gMartInfo.martType == MART_TYPE_NORMAL) { ConvertIntToDecimalStringN( gStringVar1, @@ -616,7 +617,7 @@ static void BuyMenuAddItemIcon(u16 item, u8 iconSlot) if (*spriteIdPtr != 0xFF) return; - if (gMartInfo.martType == MART_TYPE_0 || item == 0xFFFF) + if (gMartInfo.martType == MART_TYPE_NORMAL || item == 0xFFFF) { spriteId = AddItemIconSprite(iconSlot + 2110, iconSlot + 2110, item); if (spriteId != MAX_SPRITES) @@ -929,7 +930,7 @@ static void Task_BuyMenu(u8 taskId) BuyMenuRemoveScrollIndicatorArrows(); BuyMenuPrintCursor(tListTaskId, 2); - if (gMartInfo.martType == MART_TYPE_0) + if (gMartInfo.martType == MART_TYPE_NORMAL) { gShopDataPtr->totalCost = (ItemId_GetPrice(itemId) >> GetPriceReduction(1)); } @@ -944,7 +945,7 @@ static void Task_BuyMenu(u8 taskId) } else { - if (gMartInfo.martType == MART_TYPE_0) + if (gMartInfo.martType == MART_TYPE_NORMAL) { CopyItemName(itemId, gStringVar1); if (ItemId_GetPocket(itemId) == POCKET_TM_HM) @@ -962,7 +963,7 @@ static void Task_BuyMenu(u8 taskId) StringCopy(gStringVar1, gDecorations[itemId].name); ConvertIntToDecimalStringN(gStringVar2, gShopDataPtr->totalCost, STR_CONV_MODE_LEFT_ALIGN, 6); - if (gMartInfo.martType == MART_TYPE_1) + if (gMartInfo.martType == MART_TYPE_DECOR) StringExpandPlaceholders(gStringVar4, gText_Var1IsItThatllBeVar2); else StringExpandPlaceholders(gStringVar4, gText_YouWantedVar1ThatllBeVar2); @@ -1051,7 +1052,7 @@ static void BuyMenuTryMakePurchase(u8 taskId) PutWindowTilemap(1); - if (gMartInfo.martType == MART_TYPE_0) + if (gMartInfo.martType == MART_TYPE_NORMAL) { if (AddBagItem(tItemId, tItemCount) == TRUE) { @@ -1067,7 +1068,7 @@ static void BuyMenuTryMakePurchase(u8 taskId) { if (DecorationAdd(tItemId)) { - if (gMartInfo.martType == MART_TYPE_1) + if (gMartInfo.martType == MART_TYPE_DECOR) { BuyMenuDisplayMessage(taskId, gText_ThankYouIllSendItHome, BuyMenuSubtractMoney); } @@ -1090,7 +1091,7 @@ static void BuyMenuSubtractMoney(u8 taskId) PlaySE(SE_REGI); PrintMoneyAmountInMoneyBox(0, GetMoney(&gSaveBlock1Ptr->money), 0); - if (gMartInfo.martType == MART_TYPE_0) + if (gMartInfo.martType == MART_TYPE_NORMAL) { gTasks[taskId].func = Task_ReturnToItemListAfterItemPurchase; } @@ -1154,7 +1155,7 @@ static void BuyMenuPrintItemQuantityAndPrice(u8 taskId) static void ExitBuyMenu(u8 taskId) { gFieldCallback = MapPostLoadHook_ReturnToShopMenu; - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); gTasks[taskId].func = Task_ExitBuyMenu; } @@ -1211,7 +1212,7 @@ static void RecordItemPurchase(u8 taskId) void CreatePokemartMenu(const u16 *itemsForSale) { - CreateShopMenu(MART_TYPE_0); + CreateShopMenu(MART_TYPE_NORMAL); SetShopItemsForSale(itemsForSale); ClearItemPurchases(); SetShopMenuCallback(EnableBothScriptContexts); @@ -1219,14 +1220,14 @@ void CreatePokemartMenu(const u16 *itemsForSale) void CreateDecorationShop1Menu(const u16 *itemsForSale) { - CreateShopMenu(MART_TYPE_1); + CreateShopMenu(MART_TYPE_DECOR); SetShopItemsForSale(itemsForSale); SetShopMenuCallback(EnableBothScriptContexts); } void CreateDecorationShop2Menu(const u16 *itemsForSale) { - CreateShopMenu(MART_TYPE_2); + CreateShopMenu(MART_TYPE_DECOR2); SetShopItemsForSale(itemsForSale); SetShopMenuCallback(EnableBothScriptContexts); -} +} \ No newline at end of file diff --git a/src/slot_machine.c b/src/slot_machine.c index a2e1f1554e..b853daa390 100644 --- a/src/slot_machine.c +++ b/src/slot_machine.c @@ -658,7 +658,7 @@ static void Task_FadeToSlotMachine(u8 taskId) switch (gTasks[taskId].tState) { case 0: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gTasks[taskId].tState++; break; case 1: @@ -718,7 +718,7 @@ static void CB2_SlotMachineSetup(void) gMain.state++; break; case 7: - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(-1, 0, 0x10, 0, RGB_BLACK); ShowBg(0); ShowBg(1); ShowBg(2); diff --git a/src/smokescreen.c b/src/smokescreen.c index d9780bbb61..61e011451f 100644 --- a/src/smokescreen.c +++ b/src/smokescreen.c @@ -1,11 +1,15 @@ #include "global.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "sprite.h" #include "util.h" static void sub_8075370(struct Sprite *); +extern const struct CompressedSpriteSheet gUnknown_0831C620; +extern const struct CompressedSpritePalette gUnknown_0831C628; +extern const struct SpriteTemplate gUnknown_0831C688; + u8 sub_807521C(s16 x, s16 y, u8 a3) { u8 mainSpriteId; diff --git a/src/start_menu.c b/src/start_menu.c index 5b527e15ee..fcde176ac2 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -45,6 +45,7 @@ #include "constants/songs.h" #include "rom_8011DC0.h" #include "union_room.h" +#include "constants/rgb.h" // Menu actions enum @@ -1237,7 +1238,7 @@ static void sub_80A0550(u8 taskId) DrawTextBorderOuter(0, 8, 14); PutWindowTilemap(0); CopyWindowToVram(0, 3); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); if (gWirelessCommType != 0 && InUnionRoom()) { @@ -1270,7 +1271,7 @@ static void sub_80A0550(u8 taskId) } break; case 3: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); *step = 4; break; case 4: diff --git a/src/starter_choose.c b/src/starter_choose.c index c3d6361758..886daa45a3 100644 --- a/src/starter_choose.c +++ b/src/starter_choose.c @@ -1,6 +1,6 @@ #include "global.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "event_data.h" #include "gpu_regs.h" @@ -22,6 +22,7 @@ #include "window.h" #include "constants/songs.h" #include "constants/species.h" +#include "constants/rgb.h" #define STARTER_MON_COUNT 3 @@ -429,7 +430,7 @@ void CB2_ChooseStarter(void) LoadCompressedSpriteSheet(&gUnknown_085B1ED8[0]); LoadCompressedSpriteSheet(&gUnknown_085B1EE8[0]); LoadSpritePalettes(gUnknown_085B1EF8); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); EnableInterrupts(DISPSTAT_VBLANK); SetVBlankCallback(VblankCB_StarterChoose); diff --git a/src/strings.c b/src/strings.c index 577d26f5c3..793256edb2 100644 --- a/src/strings.c +++ b/src/strings.c @@ -162,8 +162,8 @@ const u8 gText_DexSearchTypeNone[] = _("NONE"); const u8 gText_SelectorArrow[] = _("▶"); const u8 gUnknown_085E8B3C[] = _(" "); const u8 gText_WelcomeToHOF[] = _("Welcome to the HALL OF FAME!"); -const u8 gUnknown_085E8B5B[] = _("Spotted POKéMON: {STR_VAR_1}!\nOwned POKéMON: {STR_VAR_2}!\pPROF. BIRCH's POKéDEX rating!\pPROF. BIRCH: Let's see…\p"); -const u8 gUnknown_085E8BBA[] = _("SAVING…\nDON'T TURN OFF THE POWER."); +const u8 gText_HOFDexRating[] = _("Spotted POKéMON: {STR_VAR_1}!\nOwned POKéMON: {STR_VAR_2}!\pPROF. BIRCH's POKéDEX rating!\pPROF. BIRCH: Let's see…\p"); +const u8 gText_HOFDexSaving[] = _("SAVING…\nDON'T TURN OFF THE POWER."); const u8 gText_HOFCorrupted[] = _("The HALL OF FAME data is corrupted."); const u8 gText_HOFNumber[] = _("HALL OF FAME No. {STR_VAR_1}"); const u8 gText_LeagueChamp[] = _("LEAGUE CHAMPION!\nCONGRATULATIONS!"); @@ -529,7 +529,7 @@ const u8 gText_ApostropheSBase[] = _("'s BASE"); const u8 gText_OkayToDeleteFromRegistry[] = _("Is it okay to delete {STR_VAR_1}\nfrom the REGISTRY?"); const u8 gText_RegisteredDataDeleted[] = _("The registered data was deleted.{PAUSE_UNTIL_PRESS}"); const u8 gText_NoRegistry[] = _("There is no REGISTRY.{PAUSE_UNTIL_PRESS}"); -const u8 gUnknown_085EA79D[] = _("DEL REGIST."); +const u8 gText_DelRegist[] = _("DEL REGIST."); const u8 gUnknown_085EA7A9[] = _("{STR_VAR_3}{STR_VAR_1}/{STR_VAR_2}"); const u8 gText_Decorate[] = _("DECORATE"); const u8 gText_PutAway[] = _("PUT AWAY"); @@ -962,21 +962,21 @@ const u8 gUnknown_085EBE7D[] = _("DETAIL"); const u8 gUnknown_085EBE84[] = _("CALL"); const u8 gUnknown_085EBE89[] = _("EXIT"); const u8 gUnknown_085EBE8E[] = _("Can't call opponent here."); -const u8 gUnknown_085EBEA8[] = _("STRATEGY"); -const u8 gUnknown_085EBEB1[] = _("TRAINER'S POKéMON"); -const u8 gUnknown_085EBEC3[] = _("SELF-INTRODUCTION"); -const u8 gText_Navgear_ClearButtonList[] = _("{CLEAR 0x80}"); -const u8 gText_NavgearMap_ZoomedOutButtons[] = _("{A_BUTTON}ZOOM {B_BUTTON}CANCEL"); -const u8 gText_NavgearMap_ZoomedInButtons[] = _("{A_BUTTON}FULL {B_BUTTON}CANCEL"); -const u8 gText_NavgearCondition_MonListButtons[] = _("{A_BUTTON}CONDITION {B_BUTTON}CANCEL"); -const u8 gText_NavgearCondition_MonStatusButtons[] = _("{A_BUTTON}MARKINGS {B_BUTTON}CANCEL"); -const u8 gText_NavgearCondition_MarkingButtons[] = _("{A_BUTTON}SELECT MARK {B_BUTTON}CANCEL"); -const u8 gText_NavgearMatchCall_TrainerListButtons[] = _("{A_BUTTON}MENU {B_BUTTON}CANCEL"); -const u8 gText_NavgearMatchCall_CallMenuButtons[] = _("{A_BUTTON}OK {B_BUTTON}CANCEL"); -const u8 gText_NavgearMatchCall_CheckTrainerButtons[] = _("{B_BUTTON}CANCEL"); -const u8 gText_NavgearRibbons_MonListButtons[] = _("{A_BUTTON}RIBBONS {B_BUTTON}CANCEL"); -const u8 gText_NavgearRibbons_RibbonListButtons[] = _("{A_BUTTON}CHECK {B_BUTTON}CANCEL"); -const u8 gText_NavgearRibbons_RibbonCheckButtons[] = _("{B_BUTTON}CANCEL"); +const u8 gText_PokenavMatchCall_Strategy[] = _("STRATEGY"); +const u8 gText_PokenavMatchCall_TrainerPokemon[] = _("TRAINER'S POKéMON"); +const u8 gText_PokenavMatchCall_SelfIntroduction[] = _("SELF-INTRODUCTION"); +const u8 gText_Pokenav_ClearButtonList[] = _("{CLEAR 0x80}"); +const u8 gText_PokenavMap_ZoomedOutButtons[] = _("{A_BUTTON}ZOOM {B_BUTTON}CANCEL"); +const u8 gText_PokenavMap_ZoomedInButtons[] = _("{A_BUTTON}FULL {B_BUTTON}CANCEL"); +const u8 gText_PokenavCondition_MonListButtons[] = _("{A_BUTTON}CONDITION {B_BUTTON}CANCEL"); +const u8 gText_PokenavCondition_MonStatusButtons[] = _("{A_BUTTON}MARKINGS {B_BUTTON}CANCEL"); +const u8 gText_PokenavCondition_MarkingButtons[] = _("{A_BUTTON}SELECT MARK {B_BUTTON}CANCEL"); +const u8 gText_PokenavMatchCall_TrainerListButtons[] = _("{A_BUTTON}MENU {B_BUTTON}CANCEL"); +const u8 gText_PokenavMatchCall_CallMenuButtons[] = _("{A_BUTTON}OK {B_BUTTON}CANCEL"); +const u8 gText_PokenavMatchCall_CheckTrainerButtons[] = _("{B_BUTTON}CANCEL"); +const u8 gText_PokenavRibbons_MonListButtons[] = _("{A_BUTTON}RIBBONS {B_BUTTON}CANCEL"); +const u8 gText_PokenavRibbons_RibbonListButtons[] = _("{A_BUTTON}CHECK {B_BUTTON}CANCEL"); +const u8 gText_PokenavRibbons_RibbonCheckButtons[] = _("{B_BUTTON}CANCEL"); const u8 gText_NatureSlash[] = _("NATURE/"); const u8 gText_TrainerCloseBy[] = _("That TRAINER is close by.\nTalk to the TRAINER in person!"); const u8 gText_InParty[] = _("IN PARTY"); diff --git a/src/title_screen.c b/src/title_screen.c index b9ef530004..8310ef8119 100644 --- a/src/title_screen.c +++ b/src/title_screen.c @@ -575,7 +575,7 @@ void CB2_InitTitleScreen(void) break; } case 3: - BeginNormalPaletteFade(0xFFFFFFFF, 1, 0x10, 0, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, 1, 0x10, 0, RGB_WHITEALPHA); SetVBlankCallback(VBlankCB); gMain.state = 4; break; @@ -725,7 +725,7 @@ static void Task_TitleScreenPhase3(u8 taskId) if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & START_BUTTON)) { FadeOutBGM(4); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_WHITEALPHA); SetMainCallback2(CB2_GoToMainMenu); } else if ((gMain.heldKeys & CLEAR_SAVE_BUTTON_COMBO) == CLEAR_SAVE_BUTTON_COMBO) @@ -736,13 +736,13 @@ static void Task_TitleScreenPhase3(u8 taskId) && CanResetRTC() == TRUE) { FadeOutBGM(4); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); SetMainCallback2(CB2_GoToResetRtcScreen); } else if ((gMain.heldKeys & BERRY_UPDATE_BUTTON_COMBO) == BERRY_UPDATE_BUTTON_COMBO) { FadeOutBGM(4); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); SetMainCallback2(CB2_GoToBerryFixScreen); } else @@ -759,7 +759,7 @@ static void Task_TitleScreenPhase3(u8 taskId) UpdateLegendaryMarkingColor(gTasks[taskId].tCounter); if ((gMPlayInfo_BGM.status & 0xFFFF) == 0) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_WHITEALPHA); SetMainCallback2(CB2_GoToCopyrightScreen); } } diff --git a/src/trade.c b/src/trade.c index 80c74d2cd1..d97325174b 100644 --- a/src/trade.c +++ b/src/trade.c @@ -4,7 +4,7 @@ #include "battle_interface.h" #include "bg.h" #include "cable_club.h" -#include "data2.h" +#include "data.h" #include "daycare.h" #include "decompress.h" #include "event_data.h" @@ -1384,10 +1384,6 @@ static const u8 gUnknown_08339090[][2] = {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) @@ -1626,7 +1622,7 @@ static void sub_80773D0(void) if (sub_8010500()) { gMain.state++; - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(0, 0); } } @@ -1820,7 +1816,7 @@ static void sub_8077B74(void) case 5: if (gWirelessCommType) { - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(0, 0); } gMain.state++; @@ -4246,7 +4242,7 @@ void sub_807AE50(void) { if (gWirelessCommType) { - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(0, 0); } SetMainCallback2(sub_807EA2C); diff --git a/src/trader.c b/src/trader.c index 97bc4626f1..dcf1fa076d 100644 --- a/src/trader.c +++ b/src/trader.c @@ -142,7 +142,7 @@ void ScrSpecial_DoesPlayerHaveNoDecorations(void) for (i = 0; i < 8; i++) { - if (CountDecorationCategoryN(i)) + if (GetNumOwnedDecorationsInCategory(i)) { gSpecialVar_Result = FALSE; return; @@ -157,21 +157,21 @@ void ScrSpecial_IsDecorationFull(void) if (gDecorations[gSpecialVar_0x8004].category != gDecorations[gSpecialVar_0x8006].category && GetFirstEmptyDecorSlot(gDecorations[gSpecialVar_0x8004].category) == -1) { - sub_8127250(gStringVar2, gDecorations[gSpecialVar_0x8004].category); + CopyDecorationCategoryName(gStringVar2, gDecorations[gSpecialVar_0x8004].category); gSpecialVar_Result = TRUE; } } void ScrSpecial_TraderMenuGiveDecoration(void) { - CreateTask(sub_8127208, 0); + CreateTask(ShowDecorationCategoriesWindow, 0); } void sub_8133DA0(u8 taskId) { if (IsSelectedDecorInThePC() == TRUE) { - gSpecialVar_0x8006 = gCurDecorInventoryItems[gCurDecorationIndex]; + gSpecialVar_0x8006 = gCurDecorationItems[gCurDecorationIndex]; StringCopy(gStringVar3, gDecorations[gSpecialVar_0x8004].name); StringCopy(gStringVar2, gDecorations[gSpecialVar_0x8006].name); } @@ -183,7 +183,7 @@ void sub_8133DA0(u8 taskId) EnableBothScriptContexts(); } -void sub_8133E1C(u8 taskId) +void ExitTraderMenu(u8 taskId) { gSpecialVar_0x8006 = 0; DestroyTask(taskId); diff --git a/src/trainer_card.c b/src/trainer_card.c index 01839d5981..52a060ae9e 100755 --- a/src/trainer_card.c +++ b/src/trainer_card.c @@ -30,6 +30,7 @@ #include "constants/flags.h" #include "constants/game_stat.h" #include "constants/battle_frontier.h" +#include "constants/rgb.h" enum { @@ -381,7 +382,7 @@ static void sub_80C2760(u8 taskId) case 7: if (gWirelessCommType == 1 && gReceivedRemoteLinkPlayers == TRUE) { - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(230, 150); } BlendPalettes(0xFFFFFFFF, 16, sData->var_52C); diff --git a/src/trainer_pokemon_sprites.c b/src/trainer_pokemon_sprites.c index 8172f09e6c..6824e87477 100644 --- a/src/trainer_pokemon_sprites.c +++ b/src/trainer_pokemon_sprites.c @@ -6,21 +6,10 @@ #include "palette.h" #include "decompress.h" #include "trainer_pokemon_sprites.h" -#include "data2.h" +#include "data.h" #include "pokemon.h" #include "constants/trainers.h" -extern const struct CompressedSpriteSheet gMonFrontPicTable[NUM_SPECIES]; -extern const struct CompressedSpriteSheet gMonBackPicTable[NUM_SPECIES]; -extern const struct CompressedSpriteSheet gTrainerFrontPicTable[]; -extern const struct CompressedSpriteSheet gTrainerBackPicTable[]; -extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; -extern const union AffineAnimCmd *const gUnknown_082FF618[]; -extern const union AffineAnimCmd *const gUnknown_082FF694[]; -extern const union AnimCmd *const gPlayerMonSpriteAnimsTable[]; -extern const union AnimCmd *const *const gMonAnimationsSpriteAnimsPtrTable[NUM_SPECIES]; -extern const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[]; - // Static type declarations struct PicData @@ -149,7 +138,7 @@ static void LoadPicPaletteBySlot(u16 species, u32 otId, u32 personality, u8 pale static void AssignSpriteAnimsTable(bool8 isTrainer) { if (!isTrainer) - sCreatingSpriteTemplate.anims = gPlayerMonSpriteAnimsTable; + sCreatingSpriteTemplate.anims = gUnknown_082FF70C; else sCreatingSpriteTemplate.anims = gTrainerFrontAnimsPtrTable[0]; } @@ -270,7 +259,7 @@ u16 CreatePicSprite2(u16 species, u32 otId, u32 personality, u8 flags, s16 x, s1 images[j].size = 0x800; } sCreatingSpriteTemplate.tileTag = 0xFFFF; - sCreatingSpriteTemplate.anims = gMonAnimationsSpriteAnimsPtrTable[species]; + sCreatingSpriteTemplate.anims = gMonFrontAnimsPtrTable[species]; sCreatingSpriteTemplate.images = images; if (flags2 == 0x01) { diff --git a/src/tv.c b/src/tv.c index 17243a4563..01b43f1002 100644 --- a/src/tv.c +++ b/src/tv.c @@ -37,7 +37,7 @@ #include "decoration.h" #include "secret_base.h" #include "tv.h" -#include "data2.h" +#include "data.h" #include "constants/layouts.h" #include "constants/metatile_behaviors.h" @@ -2567,7 +2567,7 @@ void sub_80EEA70(void) show->secretBaseSecrets.active = FALSE; StringCopy(show->secretBaseSecrets.playerName, gSaveBlock2Ptr->playerName); show->secretBaseSecrets.stepsInBase = VarGet(VAR_SECRET_BASE_STEP_COUNTER); - sub_80E980C(); + CopyCurSecretBaseOwnerName_StrVar1(); StringCopy(strbuf, gStringVar1); StripExtCtrlCodes(strbuf); StringCopy(show->secretBaseSecrets.baseOwnersName, strbuf); @@ -7366,7 +7366,7 @@ u8 TVShowGetFlagCount(TVShow *show) return tot; } -u8 TVShowGetStateForFlagNumber(TVShow *show, u8 a1) +static u8 SecretBaseSecrets_GetStateForFlagNumber(TVShow *show, u8 a1) { u8 i; u8 tot; @@ -7409,7 +7409,7 @@ static void DoTVShowSecretBaseSecrets(void) { show->secretBaseSecrets.savedState = 1; sTVSecretBaseSecretsRandomValues[0] = Random() % bitCount; - sTVShowState = TVShowGetStateForFlagNumber(show, sTVSecretBaseSecretsRandomValues[0]); + sTVShowState = SecretBaseSecrets_GetStateForFlagNumber(show, sTVSecretBaseSecretsRandomValues[0]); } break; case 1: @@ -7424,11 +7424,11 @@ static void DoTVShowSecretBaseSecrets(void) show->secretBaseSecrets.savedState = 2; if (sTVSecretBaseSecretsRandomValues[0] == 0) { - sTVShowState = TVShowGetStateForFlagNumber(show, 1); + sTVShowState = SecretBaseSecrets_GetStateForFlagNumber(show, 1); } else { - sTVShowState = TVShowGetStateForFlagNumber(show, 0); + sTVShowState = SecretBaseSecrets_GetStateForFlagNumber(show, 0); } break; default: @@ -7441,7 +7441,7 @@ static void DoTVShowSecretBaseSecrets(void) } } show->secretBaseSecrets.savedState = 2; - sTVShowState = TVShowGetStateForFlagNumber(show, sTVSecretBaseSecretsRandomValues[1]); + sTVShowState = SecretBaseSecrets_GetStateForFlagNumber(show, sTVSecretBaseSecretsRandomValues[1]); break; } break; @@ -7463,7 +7463,7 @@ static void DoTVShowSecretBaseSecrets(void) } } show->secretBaseSecrets.savedState = 3; - sTVShowState = TVShowGetStateForFlagNumber(show, sTVSecretBaseSecretsRandomValues[2]); + sTVShowState = SecretBaseSecrets_GetStateForFlagNumber(show, sTVSecretBaseSecretsRandomValues[2]); } break; case 3: diff --git a/src/union_room.c b/src/union_room.c index ea3658903b..6e7c0965d4 100644 --- a/src/union_room.c +++ b/src/union_room.c @@ -32,7 +32,7 @@ #include "palette.h" #include "decompress.h" #include "start_menu.h" -#include "data2.h" +#include "data.h" #include "field_screen_effect.h" #include "script_pokemon_util_80F87D8.h" #include "international_string_util.h" @@ -47,6 +47,7 @@ #include "berry_crush.h" #include "mystery_gift.h" #include "union_room_player_avatar.h" +#include "pokemon_jump.h" EWRAM_DATA u8 gUnknown_02022C20[12] = {}; EWRAM_DATA u8 gUnknown_02022C2C = 0; @@ -97,7 +98,6 @@ bool32 sub_8017678(struct UnkStruct_Shared *arg0, struct UnkStruct_Shared *arg1) u32 sub_8018120(struct TradeUnkStruct *arg0, u8 multiplayerId); void sub_801807C(struct TradeUnkStruct *arg0); void sub_801AC54(void); -void sub_802A9A8(u8 monId, MainCallback callback); void sub_802493C(u8 monId, MainCallback callback); void sub_80149D8(void); void MG_DrawTextBorder(u8 windowId); @@ -1404,7 +1404,7 @@ void sub_8012780(u8 taskId) switch (sub_80170B8(&data->textState, sub_801064C(ReadAsU16(data->field_0->arr[data->field_13].unk.field_0.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName))) { case 0: - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(0, 0); data->field_19 = 5; sub_8010688(5, ReadAsU16(data->field_0->arr[data->field_13].unk.field_0.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName); @@ -2130,7 +2130,7 @@ u32 sub_8013B8C(struct UnkStruct_Group *arg0, s32 id) void sub_8013BD8(struct UnkStruct_Group *data, s32 id) { data->field_F = id; - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(0, 0); RedrawListMenu(data->listTaskId); sub_8018404(gStringVar1, &data->field_0->arr[data->field_F]); @@ -2782,7 +2782,7 @@ void sub_8014A40(u8 taskId) switch (mevent_message_print_and_prompt_yes_no(&data->textState, &data->field_14, 0, gStringVar4)) { case 0: - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(0, 0); data->field_0->arr[data->field_13].field_1B = 0; RedrawListMenu(data->listTaskId); @@ -2985,7 +2985,7 @@ void sub_8014F48(u8 taskId) if (data->field_0->arr[id].field_1A_0 == 1 && !data->field_0->arr[id].unk.field_0.unk_0a_7) { data->field_F = id; - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(0, 0); RedrawListMenu(data->listTaskId); sub_8018404(gStringVar1, &data->field_0->arr[data->field_F]); @@ -3148,7 +3148,7 @@ void sub_80152F4(u8 taskId) { data->field_F = 0; data->field_14 = 0; - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(0, 0); sub_8011FC8(data->field_0->arr[0].unk.playerName, ReadAsU16(data->field_0->arr[0].unk.field_0.unk_00.playerTrainerId)); PlaySE(SE_PN_ON); @@ -3905,7 +3905,7 @@ void sub_80156E0(u8 taskId) } break; case 53: - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(-1, 0, 0, 0x10, RGB_BLACK); data->state = 54; break; case 54: diff --git a/src/union_room_chat.c b/src/union_room_chat.c index 84a0406bee..4afeb99cfd 100755 --- a/src/union_room_chat.c +++ b/src/union_room_chat.c @@ -610,7 +610,7 @@ static void c2_081284E0(void) SetMainCallback2(sub_801DF38); gUnknown_02022C84->unkE = CreateTask(sub_801DF54, 8); gUnknown_02022C84->unkF = CreateTask(sub_801F2B4, 7); - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(232, 150); } break; diff --git a/src/union_room_player_avatar.c b/src/union_room_player_avatar.c index 61be86a374..4c302c5eb2 100644 --- a/src/union_room_player_avatar.c +++ b/src/union_room_player_avatar.c @@ -125,7 +125,7 @@ static void SetUnionRoomPlayerGfx(u32 playerIdx, u32 gfxId) static void CreateUnionRoomPlayerEventObject(u32 playerIdx) { - show_sprite(gUnknown_082F0774[playerIdx], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + TrySpawnEventObject(gUnknown_082F0774[playerIdx], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); } static void RemoveUnionRoomPlayerEventObject(u32 playerIdx) diff --git a/src/unk_transition.c b/src/unk_transition.c index 99479c8660..cd91af07e6 100644 --- a/src/unk_transition.c +++ b/src/unk_transition.c @@ -8,6 +8,7 @@ #include "trig.h" #include "bg.h" #include "gpu_regs.h" +#include "constants/rgb.h" typedef bool8 (*TransitionStateFunc)(struct Task *task); @@ -361,7 +362,7 @@ static bool8 sub_81DAB4C(struct Task *task) { if (task->data[3] == 31) { - BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 0x10, RGB_BLACK); task->tState++; } else diff --git a/src/use_pokeblock.c b/src/use_pokeblock.c index 4eaf60be40..f28b651ccf 100644 --- a/src/use_pokeblock.c +++ b/src/use_pokeblock.c @@ -21,6 +21,8 @@ #include "menu.h" #include "gpu_regs.h" #include "graphics.h" +#include "pokemon_summary_screen.h" +#include "item_menu.h" struct UsePokeblockSubStruct { @@ -83,8 +85,6 @@ struct UsePokeblockStruct /*0x7FD0*/ struct UsePokeblockSubStruct info; }; -extern u16 gKeyRepeatStartDelay; - extern void sub_81D21DC(u8); // this file's functions @@ -133,7 +133,6 @@ void sub_8168168(struct Sprite *sprite); extern const struct BgTemplate gUnknown_085DFCCC[4]; extern const struct WindowTemplate gUnknown_085DFCDC[]; -extern u16 gSpecialVar_ItemId; extern const struct WindowTemplate sUsePokeblockYesNoWinTemplate[]; extern const u8* sContestStatNames[]; extern const u32 gUnknown_085DFCB0[]; @@ -152,8 +151,6 @@ extern const u8 gUnknown_085DFCC9[]; extern const struct SpritePalette gUnknown_085DFDB8; extern const struct SpriteTemplate gUnknown_085DFDA0; -extern const u8 *const gNatureNamePointers[]; - // ram variables EWRAM_DATA struct UsePokeblockSubStruct *gUnknown_0203BC90 = NULL; EWRAM_DATA void (*gUnknown_0203BC94)(void) = NULL; diff --git a/src/wallclock.c b/src/wallclock.c index 810abb1d13..01900dc8ed 100644 --- a/src/wallclock.c +++ b/src/wallclock.c @@ -18,6 +18,7 @@ #include "trig.h" #include "wallclock.h" #include "window.h" +#include "constants/rgb.h" #include "constants/songs.h" // static declarations @@ -671,7 +672,7 @@ static void LoadWallClockGraphics(void) static void WallClockInit(void) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); EnableInterrupts(INTR_FLAG_VBLANK); SetVBlankCallback(WallClockVblankCallback); SetMainCallback2(WallClockMainCallback); @@ -864,7 +865,7 @@ static void Task_SetClock4(u8 taskId) static void Task_SetClock5(u8 taskId) { RtcInitLocalTimeOffset(gTasks[taskId].tHours, gTasks[taskId].tMinutes); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); gTasks[taskId].func = Task_SetClock6; } @@ -896,7 +897,7 @@ static void Task_ViewClock2(u8 taskId) static void Task_ViewClock3(u8 taskId) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); gTasks[taskId].func = Task_ViewClock4; } diff --git a/src/water.c b/src/water.c index 20bf2542d3..4480c3f439 100644 --- a/src/water.c +++ b/src/water.c @@ -483,7 +483,7 @@ extern const struct SpriteTemplate gUnknown_08597388; void AnimTask_CreateRaindrops(u8 taskId) { u8 x, y; - + if (gTasks[taskId].data[0] == 0) { gTasks[taskId].data[1] = gBattleAnimArgs[0]; @@ -520,7 +520,7 @@ void sub_8107228(struct Sprite *sprite) void sub_8107260(struct Sprite *sprite) { u8 spriteId; - + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) - gBattleAnimArgs[0]; @@ -559,7 +559,7 @@ void sub_8107380(struct Sprite *sprite) u8 otherSpriteId = sprite->data[5]; u8 timer = gSprites[otherSpriteId].data[4]; u16 trigIndex = gSprites[otherSpriteId].data[3]; - + sprite->data[0] = 1; AnimTranslateLinear(sprite); sprite->pos2.x += Sin(trigIndex >> 8, gSprites[otherSpriteId].data[0]); @@ -593,7 +593,7 @@ void sub_8107430(struct Sprite *sprite) void sub_810744C(struct Sprite *sprite) { s16 unkArg; - + InitSpritePosToAnimAttacker(sprite, TRUE); if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) unkArg = -gBattleAnimArgs[2]; @@ -636,7 +636,7 @@ void sub_810756C(u8 taskId) u16 *palPtr1; u16 *palPtr2; u16 rgbBuffer; - + if (++gTasks[taskId].data[10] == 3) { gTasks[taskId].data[10] = 0; @@ -724,7 +724,7 @@ _081075DE:\n\ void sub_81075EC(struct Sprite *sprite) { u16 retArg; - + InitSpritePosToAnimAttacker(sprite, TRUE); sprite->data[0] = 30; sprite->data[1] = sprite->pos1.x; @@ -781,7 +781,7 @@ void sub_81076F4(u8 taskId) void sub_8107730(struct Sprite *sprite) { u8 priority; - + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1); sprite->pos2.y = -10; @@ -797,7 +797,7 @@ void sub_8107730(struct Sprite *sprite) { sprite->pos2.x = -10; sprite->subpriority = priority - 2; - } + } } else { @@ -876,7 +876,7 @@ void AnimTask_CreateSurfWave(u8 taskId) { struct BattleAnimBgData animBg; u8 taskId2; - + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16)); SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1); @@ -894,9 +894,9 @@ void AnimTask_CreateSurfWave(u8 taskId) { sub_80A6D60(&animBg, gUnknown_08D963A4, 1); } - AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimBackgroundImage_Surf, animBg.tilesOffset); + AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimBgImage_Surf, animBg.tilesOffset); if (gBattleAnimArgs[0] == 0) - LoadCompressedPalette(gBattleAnimBackgroundPalette_Surf, animBg.paletteId * 16, 32); + LoadCompressedPalette(gBattleAnimBgPalette_Surf, animBg.paletteId * 16, 32); else LoadCompressedPalette(gBattleAnimBackgroundImageMuddyWater_Pal, animBg.paletteId * 16, 32); taskId2 = CreateTask(sub_8107D58, gTasks[taskId].priority + 1); @@ -1009,7 +1009,7 @@ _081079E0:\n\ _081079EA:\n\ mov r0, sp\n\ ldrb r0, [r0, 0x9]\n\ - ldr r1, =gBattleAnimBackgroundImage_Surf\n\ + ldr r1, =gBattleAnimBgImage_Surf\n\ mov r2, sp\n\ ldrh r2, [r2, 0xA]\n\ bl AnimLoadCompressedBgGfx\n\ @@ -1018,7 +1018,7 @@ _081079EA:\n\ ldrsh r0, [r0, r1]\n\ cmp r0, 0\n\ bne _08107A24\n\ - ldr r0, =gBattleAnimBackgroundPalette_Surf\n\ + ldr r0, =gBattleAnimBgPalette_Surf\n\ mov r1, sp\n\ ldrb r1, [r1, 0x8]\n\ lsls r1, 4\n\ @@ -1182,7 +1182,7 @@ void sub_8107B84(u8 taskId) s16 unkUse; u32 palOffset; u16 palNum; - + *BGptrX += gTasks[taskId].data[0]; *BGptrY += gTasks[taskId].data[1]; sub_80A6B30(&animBg); @@ -1405,485 +1405,77 @@ void sub_8107CC4(u8 taskId) } } -#ifdef NONMATCHING void sub_8107D58(u8 taskId) { s16 i; struct ScanlineEffectParams params; struct Task *task = &gTasks[taskId]; - // u16 *scanlineBuffer; - + switch (task->data[0]) { - case 0: - for (i = 0; i < task->data[4]; i++) - { - /* scanlineBuffer = &gScanlineEffectRegBuffers[0][i]; - *(u16 *)(&gScanlineEffect) = task->data[2]; - *scanlineBuffer = task->data[2] & -1; */ - gScanlineEffectRegBuffers[1][i] = task->data[2]; - gScanlineEffectRegBuffers[0][i] = (u16)((int)(task->data[2] & 0xFFFF)); - } - for (i = task->data[4]; i < task->data[5]; i++) - { - gScanlineEffectRegBuffers[1][i] = task->data[1]; - gScanlineEffectRegBuffers[0][i] = (u16)((int)(task->data[1] & 0xFFFF)); - } - for (i = task->data[5]; i < 160; i++) - { - gScanlineEffectRegBuffers[1][i] = task->data[2]; - gScanlineEffectRegBuffers[0][i] = (u16)((int)(task->data[2] & 0xFFFF)); - } - if (task->data[4] == 0) - { - gScanlineEffectRegBuffers[1][i] = task->data[1]; - gScanlineEffectRegBuffers[0][i] = task->data[1]; - } - else - { - gScanlineEffectRegBuffers[1][i] = task->data[2]; - gScanlineEffectRegBuffers[0][i] = task->data[2]; - } - params.dmaDest = (vu16 *)REG_ADDR_BLDALPHA; - params.dmaControl = SCANLINE_EFFECT_DMACNT_16BIT; - params.initState = 1; - params.unused9 = 0; - ScanlineEffect_SetParams(params); - task->data[0]++; - break; - case 1: - if (task->data[3] == 0) - { - if (--task->data[4] <= 0) - { - task->data[4] = 0; - task->data[0]++; - } - } - else if (++task->data[5] > 111) + case 0: + for (i = 0; i < task->data[4]; i++) + gScanlineEffectRegBuffers[0][i] = gScanlineEffectRegBuffers[1][i] = task->data[2]; + for (i = task->data[4]; i < task->data[5]; i++) + gScanlineEffectRegBuffers[0][i] = gScanlineEffectRegBuffers[1][i] = task->data[1]; + for (i = task->data[5]; i < 160; i++) + gScanlineEffectRegBuffers[0][i] = gScanlineEffectRegBuffers[1][i] = task->data[2]; + + if (task->data[4] == 0) + gScanlineEffectRegBuffers[0][i] = gScanlineEffectRegBuffers[1][i] = task->data[1]; + else + gScanlineEffectRegBuffers[0][i] = gScanlineEffectRegBuffers[1][i] = task->data[2]; + + params.dmaDest = (vu16 *)REG_ADDR_BLDALPHA; + params.dmaControl = SCANLINE_EFFECT_DMACNT_16BIT; + params.initState = 1; + params.unused9 = 0; + ScanlineEffect_SetParams(params); + task->data[0]++; + break; + case 1: + if (task->data[3] == 0) + { + if (--task->data[4] <= 0) { + task->data[4] = 0; task->data[0]++; } - for (i = 0; i < task->data[4]; i++) - { - gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[2]; - } - for (i = task->data[4]; i < task->data[5]; i++) - { - gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[1]; - } - for (i = task->data[5]; i < 160; i++) - { - gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[2]; - } - break; - case 2: - for (i = 0; i < task->data[4]; i++) - { - gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[2]; - } - for (i = task->data[4]; i < task->data[5]; i++) - { - gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[1]; - } - for (i = task->data[5]; i < 160; i++) - { - gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[2]; - } - if (task->data[15] == -1) - { - ScanlineEffect_Stop(); - DestroyTask(taskId); - } - break; + } + else if (++task->data[5] > 111) + { + task->data[0]++; + } + + for (i = 0; i < task->data[4]; i++) + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[2]; + for (i = task->data[4]; i < task->data[5]; i++) + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[1]; + for (i = task->data[5]; i < 160; i++) + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[2]; + break; + case 2: + for (i = 0; i < task->data[4]; i++) + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[2]; + for (i = task->data[4]; i < task->data[5]; i++) + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[1]; + for (i = task->data[5]; i < 160; i++) + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[2]; + + if (task->data[15] == -1) + { + ScanlineEffect_Stop(); + DestroyTask(taskId); + } + break; } } -#else -NAKED -void sub_8107D58(u8 taskId) -{ - asm_unified("push {r4-r7,lr}\n\ - sub sp, 0xC\n\ - lsls r0, 24\n\ - lsrs r7, r0, 24\n\ - lsls r0, r7, 2\n\ - adds r0, r7\n\ - lsls r0, 3\n\ - ldr r1, =gTasks\n\ - adds r4, r0, r1\n\ - movs r1, 0x8\n\ - ldrsh r0, [r4, r1]\n\ - cmp r0, 0x1\n\ - bne _08107D74\n\ - b _08107EAC\n\ -_08107D74:\n\ - cmp r0, 0x1\n\ - bgt _08107D84\n\ - cmp r0, 0\n\ - beq _08107D8C\n\ - b _08108022\n\ - .pool\n\ -_08107D84:\n\ - cmp r0, 0x2\n\ - bne _08107D8A\n\ - b _08107F78\n\ -_08107D8A:\n\ - b _08108022\n\ -_08107D8C:\n\ - movs r3, 0\n\ - movs r2, 0x10\n\ - ldrsh r0, [r4, r2]\n\ - ldr r1, =gScanlineEffectRegBuffers\n\ - mov r12, r1\n\ - cmp r3, r0\n\ - bge _08107DCA\n\ - mov r7, r12\n\ - movs r5, 0xF0\n\ - lsls r5, 3\n\ - add r5, r12\n\ - ldr r6, =0x0000ffff\n\ -_08107DA4:\n\ - lsls r2, r3, 16\n\ - asrs r2, 16\n\ - lsls r1, r2, 1\n\ - adds r3, r1, r7\n\ - adds r1, r5\n\ - ldrh r0, [r4, 0xC]\n\ - strh r0, [r1]\n\ - ldrh r1, [r4, 0xC]\n\ - adds r0, r6, 0\n\ - ands r0, r1\n\ - strh r0, [r3]\n\ - adds r2, 0x1\n\ - lsls r2, 16\n\ - lsrs r3, r2, 16\n\ - asrs r2, 16\n\ - movs r1, 0x10\n\ - ldrsh r0, [r4, r1]\n\ - cmp r2, r0\n\ - blt _08107DA4\n\ -_08107DCA:\n\ - ldrh r3, [r4, 0x10]\n\ - lsls r2, r3, 16\n\ - asrs r1, r2, 16\n\ - movs r3, 0x12\n\ - ldrsh r0, [r4, r3]\n\ - cmp r1, r0\n\ - bge _08107E04\n\ - ldr r5, =gScanlineEffectRegBuffers\n\ - movs r0, 0xF0\n\ - lsls r0, 3\n\ - adds r6, r5, r0\n\ - ldr r7, =0x0000ffff\n\ -_08107DE2:\n\ - asrs r2, 16\n\ - lsls r1, r2, 1\n\ - adds r3, r1, r5\n\ - adds r1, r6\n\ - ldrh r0, [r4, 0xA]\n\ - strh r0, [r1]\n\ - ldrh r1, [r4, 0xA]\n\ - adds r0, r7, 0\n\ - ands r0, r1\n\ - strh r0, [r3]\n\ - adds r2, 0x1\n\ - lsls r2, 16\n\ - asrs r1, r2, 16\n\ - movs r3, 0x12\n\ - ldrsh r0, [r4, r3]\n\ - cmp r1, r0\n\ - blt _08107DE2\n\ -_08107E04:\n\ - ldrh r3, [r4, 0x12]\n\ - lsls r2, r3, 16\n\ - asrs r0, r2, 16\n\ - cmp r0, 0x9F\n\ - bgt _08107E3A\n\ - ldr r5, =gScanlineEffectRegBuffers\n\ - movs r0, 0xF0\n\ - lsls r0, 3\n\ - adds r6, r5, r0\n\ - ldr r7, =0x0000ffff\n\ -_08107E18:\n\ - asrs r2, 16\n\ - lsls r1, r2, 1\n\ - adds r3, r1, r5\n\ - adds r1, r6\n\ - ldrh r0, [r4, 0xC]\n\ - strh r0, [r1]\n\ - ldrh r1, [r4, 0xC]\n\ - adds r0, r7, 0\n\ - ands r0, r1\n\ - strh r0, [r3]\n\ - adds r2, 0x1\n\ - lsls r2, 16\n\ - lsrs r3, r2, 16\n\ - lsls r2, r3, 16\n\ - asrs r0, r2, 16\n\ - cmp r0, 0x9F\n\ - ble _08107E18\n\ -_08107E3A:\n\ - movs r1, 0x10\n\ - ldrsh r0, [r4, r1]\n\ - cmp r0, 0\n\ - bne _08107E64\n\ - lsls r0, r3, 16\n\ - asrs r0, 15\n\ - mov r3, r12\n\ - adds r2, r0, r3\n\ - movs r1, 0xF0\n\ - lsls r1, 3\n\ - add r1, r12\n\ - adds r0, r1\n\ - ldrh r1, [r4, 0xA]\n\ - strh r1, [r0]\n\ - ldrh r0, [r4, 0xA]\n\ - b _08107E7A\n\ - .pool\n\ -_08107E64:\n\ - lsls r0, r3, 16\n\ - asrs r0, 15\n\ - mov r1, r12\n\ - adds r2, r0, r1\n\ - movs r1, 0xF0\n\ - lsls r1, 3\n\ - add r1, r12\n\ - adds r0, r1\n\ - ldrh r1, [r4, 0xC]\n\ - strh r1, [r0]\n\ - ldrh r0, [r4, 0xC]\n\ -_08107E7A:\n\ - strh r0, [r2]\n\ - ldr r0, =0x04000052\n\ - str r0, [sp]\n\ - ldr r0, =0xa2600001\n\ - str r0, [sp, 0x4]\n\ - mov r1, sp\n\ - movs r2, 0\n\ - movs r0, 0x1\n\ - strb r0, [r1, 0x8]\n\ - mov r0, sp\n\ - strb r2, [r0, 0x9]\n\ - ldr r0, [sp]\n\ - ldr r1, [sp, 0x4]\n\ - ldr r2, [sp, 0x8]\n\ - bl ScanlineEffect_SetParams\n\ - ldrh r0, [r4, 0x8]\n\ - adds r0, 0x1\n\ - strh r0, [r4, 0x8]\n\ - b _08108022\n\ - .pool\n\ -_08107EAC:\n\ - movs r2, 0xE\n\ - ldrsh r1, [r4, r2]\n\ - cmp r1, 0\n\ - bne _08107EC4\n\ - ldrh r0, [r4, 0x10]\n\ - subs r0, 0x1\n\ - strh r0, [r4, 0x10]\n\ - lsls r0, 16\n\ - cmp r0, 0\n\ - bgt _08107ED8\n\ - strh r1, [r4, 0x10]\n\ - b _08107ED2\n\ -_08107EC4:\n\ - ldrh r0, [r4, 0x12]\n\ - adds r0, 0x1\n\ - strh r0, [r4, 0x12]\n\ - lsls r0, 16\n\ - asrs r0, 16\n\ - cmp r0, 0x6F\n\ - ble _08107ED8\n\ -_08107ED2:\n\ - ldrh r0, [r4, 0x8]\n\ - adds r0, 0x1\n\ - strh r0, [r4, 0x8]\n\ -_08107ED8:\n\ - movs r3, 0\n\ - movs r1, 0x10\n\ - ldrsh r0, [r4, r1]\n\ - cmp r3, r0\n\ - bge _08107F0C\n\ - ldr r6, =gScanlineEffectRegBuffers\n\ - ldr r5, =gScanlineEffect\n\ -_08107EE6:\n\ - lsls r1, r3, 16\n\ - asrs r1, 16\n\ - lsls r3, r1, 1\n\ - ldrb r2, [r5, 0x14]\n\ - lsls r0, r2, 4\n\ - subs r0, r2\n\ - lsls r0, 7\n\ - adds r3, r0\n\ - adds r3, r6\n\ - ldrh r0, [r4, 0xC]\n\ - strh r0, [r3]\n\ - adds r1, 0x1\n\ - lsls r1, 16\n\ - lsrs r3, r1, 16\n\ - asrs r1, 16\n\ - movs r2, 0x10\n\ - ldrsh r0, [r4, r2]\n\ - cmp r1, r0\n\ - blt _08107EE6\n\ -_08107F0C:\n\ - ldrh r3, [r4, 0x10]\n\ - lsls r2, r3, 16\n\ - asrs r1, r2, 16\n\ - movs r3, 0x12\n\ - ldrsh r0, [r4, r3]\n\ - cmp r1, r0\n\ - bge _08107F40\n\ - ldr r6, =gScanlineEffectRegBuffers\n\ - ldr r5, =gScanlineEffect\n\ -_08107F1E:\n\ - asrs r3, r2, 16\n\ - lsls r2, r3, 1\n\ - ldrb r1, [r5, 0x14]\n\ - lsls r0, r1, 4\n\ - subs r0, r1\n\ - lsls r0, 7\n\ - adds r2, r0\n\ - adds r2, r6\n\ - ldrh r0, [r4, 0xA]\n\ - strh r0, [r2]\n\ - adds r3, 0x1\n\ - lsls r2, r3, 16\n\ - asrs r1, r2, 16\n\ - movs r3, 0x12\n\ - ldrsh r0, [r4, r3]\n\ - cmp r1, r0\n\ - blt _08107F1E\n\ -_08107F40:\n\ - ldrh r3, [r4, 0x12]\n\ - lsls r1, r3, 16\n\ - asrs r0, r1, 16\n\ - cmp r0, 0x9F\n\ - bgt _08108022\n\ - ldr r6, =gScanlineEffectRegBuffers\n\ - ldr r5, =gScanlineEffect\n\ -_08107F4E:\n\ - asrs r3, r1, 16\n\ - lsls r2, r3, 1\n\ - ldrb r1, [r5, 0x14]\n\ - lsls r0, r1, 4\n\ - subs r0, r1\n\ - lsls r0, 7\n\ - adds r2, r0\n\ - adds r2, r6\n\ - ldrh r0, [r4, 0xC]\n\ - strh r0, [r2]\n\ - adds r3, 0x1\n\ - lsls r1, r3, 16\n\ - asrs r0, r1, 16\n\ - cmp r0, 0x9F\n\ - ble _08107F4E\n\ - b _08108022\n\ - .pool\n\ -_08107F78:\n\ - movs r3, 0\n\ - movs r1, 0x10\n\ - ldrsh r0, [r4, r1]\n\ - cmp r3, r0\n\ - bge _08107FAC\n\ - ldr r6, =gScanlineEffectRegBuffers\n\ - ldr r5, =gScanlineEffect\n\ -_08107F86:\n\ - lsls r1, r3, 16\n\ - asrs r1, 16\n\ - lsls r3, r1, 1\n\ - ldrb r2, [r5, 0x14]\n\ - lsls r0, r2, 4\n\ - subs r0, r2\n\ - lsls r0, 7\n\ - adds r3, r0\n\ - adds r3, r6\n\ - ldrh r0, [r4, 0xC]\n\ - strh r0, [r3]\n\ - adds r1, 0x1\n\ - lsls r1, 16\n\ - lsrs r3, r1, 16\n\ - asrs r1, 16\n\ - movs r2, 0x10\n\ - ldrsh r0, [r4, r2]\n\ - cmp r1, r0\n\ - blt _08107F86\n\ -_08107FAC:\n\ - ldrh r3, [r4, 0x10]\n\ - lsls r2, r3, 16\n\ - asrs r1, r2, 16\n\ - movs r3, 0x12\n\ - ldrsh r0, [r4, r3]\n\ - cmp r1, r0\n\ - bge _08107FE0\n\ - ldr r6, =gScanlineEffectRegBuffers\n\ - ldr r5, =gScanlineEffect\n\ -_08107FBE:\n\ - asrs r3, r2, 16\n\ - lsls r2, r3, 1\n\ - ldrb r1, [r5, 0x14]\n\ - lsls r0, r1, 4\n\ - subs r0, r1\n\ - lsls r0, 7\n\ - adds r2, r0\n\ - adds r2, r6\n\ - ldrh r0, [r4, 0xA]\n\ - strh r0, [r2]\n\ - adds r3, 0x1\n\ - lsls r2, r3, 16\n\ - asrs r1, r2, 16\n\ - movs r3, 0x12\n\ - ldrsh r0, [r4, r3]\n\ - cmp r1, r0\n\ - blt _08107FBE\n\ -_08107FE0:\n\ - ldrh r3, [r4, 0x12]\n\ - lsls r1, r3, 16\n\ - asrs r0, r1, 16\n\ - cmp r0, 0x9F\n\ - bgt _0810800C\n\ - ldr r6, =gScanlineEffectRegBuffers\n\ - ldr r5, =gScanlineEffect\n\ -_08107FEE:\n\ - asrs r3, r1, 16\n\ - lsls r2, r3, 1\n\ - ldrb r1, [r5, 0x14]\n\ - lsls r0, r1, 4\n\ - subs r0, r1\n\ - lsls r0, 7\n\ - adds r2, r0\n\ - adds r2, r6\n\ - ldrh r0, [r4, 0xC]\n\ - strh r0, [r2]\n\ - adds r3, 0x1\n\ - lsls r1, r3, 16\n\ - asrs r0, r1, 16\n\ - cmp r0, 0x9F\n\ - ble _08107FEE\n\ -_0810800C:\n\ - movs r0, 0x26\n\ - ldrsh r1, [r4, r0]\n\ - movs r0, 0x1\n\ - negs r0, r0\n\ - cmp r1, r0\n\ - bne _08108022\n\ - bl ScanlineEffect_Stop\n\ - adds r0, r7, 0\n\ - bl DestroyTask\n\ -_08108022:\n\ - add sp, 0xC\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .pool\n"); -} -#endif void sub_8108034(struct Sprite *sprite) { s16 randData; s16 randData2; - + sprite->oam.tileNum += 8; InitSpritePosToAnimTarget(sprite, TRUE); randData = (Random2() & 0xFF) | 256; @@ -1911,7 +1503,7 @@ void sub_8108098(struct Sprite *sprite) void sub_81080E4(u8 taskId) { struct Task *task = &gTasks[taskId]; - + task->data[15] = GetAnimBattlerSpriteId(ANIM_ATTACKER); task->data[5] = gSprites[task->data[15]].pos1.y; task->data[1] = sub_8108384(); @@ -1922,85 +1514,85 @@ void sub_81080E4(u8 taskId) void sub_8108140(u8 taskId) { struct Task *task = &gTasks[taskId]; - + switch (task->data[0]) { - case 0: - sub_80A805C(task, task->data[15], 0x100, 0x100, 224, 0x200, 32); + case 0: + sub_80A805C(task, task->data[15], 0x100, 0x100, 224, 0x200, 32); + task->data[0]++; + case 1: + if (++task->data[3] > 1) + { + task->data[3] = 0; + if (++task->data[4] & 1) + { + gSprites[task->data[15]].pos2.x = 3; + gSprites[task->data[15]].pos1.y++; + } + else + { + gSprites[task->data[15]].pos2.x = -3; + } + } + if (sub_80A80C8(task) == 0) + { + SetBattlerSpriteYOffsetFromYScale(task->data[15]); + gSprites[task->data[15]].pos2.x = 0; + task->data[3] = 0; + task->data[4] = 0; task->data[0]++; - case 1: - if (++task->data[3] > 1) - { - task->data[3] = 0; - if (++task->data[4] & 1) - { - gSprites[task->data[15]].pos2.x = 3; - gSprites[task->data[15]].pos1.y++; - } - else - { - gSprites[task->data[15]].pos2.x = -3; - } - } - if (sub_80A80C8(task) == 0) - { - SetBattlerSpriteYOffsetFromYScale(task->data[15]); - gSprites[task->data[15]].pos2.x = 0; - task->data[3] = 0; - task->data[4] = 0; - task->data[0]++; - } - break; - case 2: - if (++task->data[3] > 4) - { - sub_80A805C(task, task->data[15], 224, 0x200, 384, 224, 8); - task->data[3] = 0; - task->data[0]++; - } - break; - case 3: - if (sub_80A80C8(task) == 0) - { - task->data[3] = 0; - task->data[4] = 0; - task->data[0]++; - } - break; - case 4: - sub_8108408(task, taskId); + } + break; + case 2: + if (++task->data[3] > 4) + { + sub_80A805C(task, task->data[15], 224, 0x200, 384, 224, 8); + task->data[3] = 0; task->data[0]++; - case 5: - if (++task->data[3] > 1) + } + break; + case 3: + if (sub_80A80C8(task) == 0) + { + task->data[3] = 0; + task->data[4] = 0; + task->data[0]++; + } + break; + case 4: + sub_8108408(task, taskId); + task->data[0]++; + case 5: + if (++task->data[3] > 1) + { + task->data[3] = 0; + if (++task->data[4] & 1) + gSprites[task->data[15]].pos2.y += 2; + else + gSprites[task->data[15]].pos2.y -= 2; + if (task->data[4] == 10) { + sub_80A805C(task, task->data[15], 384, 224, 0x100, 0x100, 8); task->data[3] = 0; - if (++task->data[4] & 1) - gSprites[task->data[15]].pos2.y += 2; - else - gSprites[task->data[15]].pos2.y -= 2; - if (task->data[4] == 10) - { - sub_80A805C(task, task->data[15], 384, 224, 0x100, 0x100, 8); - task->data[3] = 0; - task->data[4] = 0; - task->data[0]++; - } - } - break; - case 6: - gSprites[task->data[15]].pos1.y--; - if (sub_80A80C8(task) == 0) - { - ResetSpriteRotScale(task->data[15]); - gSprites[task->data[15]].pos1.y = task->data[5]; task->data[4] = 0; task->data[0]++; } - break; - case 7: - if (task->data[2] == 0) - DestroyAnimVisualTask(taskId); - break; + } + break; + case 6: + gSprites[task->data[15]].pos1.y--; + if (sub_80A80C8(task) == 0) + { + ResetSpriteRotScale(task->data[15]); + gSprites[task->data[15]].pos1.y = task->data[5]; + task->data[4] = 0; + task->data[0]++; + } + break; + case 7: + if (task->data[2] == 0) + DestroyAnimVisualTask(taskId); + break; } } @@ -2011,7 +1603,7 @@ u8 sub_8108384(void) u16 maxhp; u16 partyIndex; struct Pokemon *slot; - + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) { partyIndex = gBattlerPartyIndexes[gBattleAnimAttacker]; @@ -2045,7 +1637,7 @@ void sub_8108408(struct Task *task, u8 taskId) u8 subpriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker) - 1; s16 increment = 4 - task->data[1]; u8 spriteId; - + if (increment <= 0) increment = 1; for (i = 0; i < 20; i += increment) @@ -2073,28 +1665,28 @@ void sub_810851C(struct Sprite *sprite) { switch (sprite->data[0]) { - case 0: - sprite->data[4] += (sprite->data[1] % 6) * 3; - sprite->data[5] += (sprite->data[1] % 3) * 3; - sprite->data[0]++; - case 1: - sprite->data[2] += sprite->data[4]; - sprite->data[3] += sprite->data[5]; - sprite->pos1.x = sprite->data[2] >> 4; - sprite->pos1.y = sprite->data[3] >> 4; - if (sprite->pos1.x < -8 || sprite->pos1.x > 248 || sprite->pos1.y < -8 || sprite->pos1.y > 120) - { - gTasks[sprite->data[6]].data[sprite->data[7]]--; - DestroySprite(sprite); - } - break; + case 0: + sprite->data[4] += (sprite->data[1] % 6) * 3; + sprite->data[5] += (sprite->data[1] % 3) * 3; + sprite->data[0]++; + case 1: + sprite->data[2] += sprite->data[4]; + sprite->data[3] += sprite->data[5]; + sprite->pos1.x = sprite->data[2] >> 4; + sprite->pos1.y = sprite->data[3] >> 4; + if (sprite->pos1.x < -8 || sprite->pos1.x > 248 || sprite->pos1.y < -8 || sprite->pos1.y > 120) + { + gTasks[sprite->data[6]].data[sprite->data[7]]--; + DestroySprite(sprite); + } + break; } } void sub_81085C8(u8 taskId) { struct Task *task = &gTasks[taskId]; - + task->data[1] = sub_8108384(); if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) { @@ -2116,42 +1708,42 @@ void sub_810862C(u8 taskId) { struct Task *task = &gTasks[taskId]; u8 taskId2; - + switch (task->data[0]) { - case 0: - if (++task->data[2] > 2) + case 0: + if (++task->data[2] > 2) + { + task->data[2] = 0; + sub_810871C(task, taskId); + } + if (task->data[10] != 0 && task->data[13] == 0) + { + gBattleAnimArgs[0] = 1; + gBattleAnimArgs[1] = 0; + gBattleAnimArgs[2] = 12; + taskId2 = CreateTask(sub_81152DC, 80); + if (taskId2 != 0xFF) { - task->data[2] = 0; - sub_810871C(task, taskId); + gTasks[taskId2].func(taskId2); + gAnimVisualTaskCount++; } - if (task->data[10] != 0 && task->data[13] == 0) + gBattleAnimArgs[0] = 3; + taskId2 = CreateTask(sub_81152DC, 80); + if (taskId2 != 0xFF) { - gBattleAnimArgs[0] = 1; - gBattleAnimArgs[1] = 0; - gBattleAnimArgs[2] = 12; - taskId2 = CreateTask(sub_81152DC, 80); - if (taskId2 != 0xFF) - { - gTasks[taskId2].func(taskId2); - gAnimVisualTaskCount++; - } - gBattleAnimArgs[0] = 3; - taskId2 = CreateTask(sub_81152DC, 80); - if (taskId2 != 0xFF) - { - gTasks[taskId2].func(taskId2); - gAnimVisualTaskCount++; - } - task->data[13] = 1; + gTasks[taskId2].func(taskId2); + gAnimVisualTaskCount++; } - if (task->data[11] >= task->data[12]) - task->data[0]++; - break; - case 1: - if (task->data[9] == 0) - DestroyAnimVisualTask(taskId); - break; + task->data[13] = 1; + } + if (task->data[11] >= task->data[12]) + task->data[0]++; + break; + case 1: + if (task->data[9] == 0) + DestroyAnimVisualTask(taskId); + break; } } @@ -2159,7 +1751,7 @@ void sub_810871C(struct Task *task, u8 taskId) { u16 yPosArg = ((gSineTable[task->data[8]] + 3) >> 4) + task->data[6]; u8 spriteId = CreateSprite(&gUnknown_08595268, task->data[7], 0, 0); - + if (spriteId != MAX_SPRITES) { gSprites[spriteId].callback = sub_81087C0; @@ -2212,7 +1804,7 @@ void sub_810886C(struct Sprite *sprite) void sub_81088E4(u8 taskId) { struct Task *task = &gTasks[taskId]; - + task->data[3] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); task->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); task->data[7] = (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) ? 1 : -1; @@ -2229,76 +1821,76 @@ void sub_81088E4(u8 taskId) void sub_8108978(u8 taskId) { struct Task *task = &gTasks[taskId]; - + switch (task->data[0]) { - case 0: - sub_8108AC0(task); - if (task->data[10] != 0) - task->data[0]++; - break; - case 1: - sub_8108AC0(task); - if (++task->data[1] > 16) + case 0: + sub_8108AC0(task); + if (task->data[10] != 0) + task->data[0]++; + break; + case 1: + sub_8108AC0(task); + if (++task->data[1] > 16) + { + task->data[1] = 0; + task->data[0]++; + } + break; + case 2: + sub_8108AC0(task); + task->data[5] += task->data[7] * 6; + if (!(task->data[5] >= -16 && task->data[5] <= 256)) + { + if (++task->data[12] > 2) + { + task->data[13] = 1; + task->data[0] = 6; + task->data[1] = 0; + } + else { task->data[1] = 0; task->data[0]++; } - break; - case 2: - sub_8108AC0(task); - task->data[5] += task->data[7] * 6; - if (!(task->data[5] >= -16 && task->data[5] <= 256)) - { - if (++task->data[12] > 2) - { - task->data[13] = 1; - task->data[0] = 6; - task->data[1] = 0; - } - else - { - task->data[1] = 0; - task->data[0]++; - } - } - break; - case 3: - sub_8108AC0(task); - task->data[6] -= task->data[7] * 2; - if (++task->data[1] > 7) - task->data[0]++; - break; - case 4: - sub_8108AC0(task); - task->data[5] -= task->data[7] * 6; - if (!(task->data[5] >= -16 && task->data[5] <= 256)) - { - task->data[12]++; - task->data[1] = 0; - task->data[0]++; - } - break; - case 5: - sub_8108AC0(task); - task->data[6] -= task->data[7] * 2; - if (++task->data[1] > 7) - task->data[0] = 2; - break; - case 6: - if (task->data[8] == 0) - task->data[0]++; - break; - default: - DestroyAnimVisualTask(taskId); - break; + } + break; + case 3: + sub_8108AC0(task); + task->data[6] -= task->data[7] * 2; + if (++task->data[1] > 7) + task->data[0]++; + break; + case 4: + sub_8108AC0(task); + task->data[5] -= task->data[7] * 6; + if (!(task->data[5] >= -16 && task->data[5] <= 256)) + { + task->data[12]++; + task->data[1] = 0; + task->data[0]++; + } + break; + case 5: + sub_8108AC0(task); + task->data[6] -= task->data[7] * 2; + if (++task->data[1] > 7) + task->data[0] = 2; + break; + case 6: + if (task->data[8] == 0) + task->data[0]++; + break; + default: + DestroyAnimVisualTask(taskId); + break; } } void sub_8108AC0(struct Task *task) { u8 spriteId; - + if (++task->data[2] > 1) { task->data[2] = 0; @@ -2334,7 +1926,7 @@ void sub_8108B2C(struct Sprite *sprite) void sub_8108B94(struct Sprite *sprite) { u16 i; - + if (TranslateAnimHorizontalArc(sprite)) { for (i = 0; i < NUM_TASKS; i++) @@ -2397,7 +1989,7 @@ void sub_8108CDC(struct Sprite *sprite) { int xDiff = sprite->data[1] - sprite->pos1.x; int yDiff = sprite->data[2] - sprite->pos1.y; - + sprite->pos2.x = (sprite->data[0] * xDiff) / sprite->data[3]; sprite->pos2.y = (sprite->data[0] * yDiff) / sprite->data[3]; if (++sprite->data[5] == sprite->data[4]) @@ -2420,7 +2012,7 @@ void sub_8108D54(struct Sprite *sprite, int xDiff, int yDiff) s16 randomSomethingX = -xDiff + (Random2() % 10) - 5; s16 i; u8 spriteId; - + for (i = 0; i <= 0; i++) { spriteId = CreateSprite(&gUnknown_08595310, combinedX, combinedY + something, 130); diff --git a/src/wild_encounter.c b/src/wild_encounter.c index e42bf8a232..84275526e0 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -42,6 +42,16 @@ EWRAM_DATA static u32 sFeebasRngValue = 0; #include "data/wild_encounters.h" +//Special Feebas-related data. +const struct WildPokemon gWildFeebasRoute119Data = {20, 25, SPECIES_FEEBAS}; + +const u16 gRoute119WaterTileData[] = +{ + 0, 0x2D, 0, + 0x2E, 0x5B, 0x83, + 0x5C, 0x8B, 0x12A, +}; + // code void DisableWildEncounters(bool8 disabled) { diff --git a/sym_ewram.txt b/sym_ewram.txt index d12cfd76a9..5fbcba7795 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -146,17 +146,8 @@ gUnknown_02022D00: @ 2022D00 .include "src/pokemon_summary_screen.o" .include "src/unk_pokedex_area_screen_helper.o" .include "src/battle_pyramid_bag.o" - - @ pokenav -gUnknown_0203CF3C: @ 203CF3C - .space 0x4 - -gUnknown_0203CF40: @ 203CF40 - .space 0x4 - -gUnknown_0203CF44: @ 203CF44 - .space 0x4 - + .include "src/pokenav.o" + .include "src/pokenav_match_call_ui.o" .include "src/menu_specialized.o" .include "src/faraway_island.o" .include "src/trainer_hill.o" diff --git a/tools/jsonproc/.gitignore b/tools/jsonproc/.gitignore new file mode 100755 index 0000000000..a613cf2d74 --- /dev/null +++ b/tools/jsonproc/.gitignore @@ -0,0 +1 @@ +jsonproc diff --git a/tools/jsonproc/Makefile b/tools/jsonproc/Makefile new file mode 100755 index 0000000000..69093a216e --- /dev/null +++ b/tools/jsonproc/Makefile @@ -0,0 +1,17 @@ +CXX := g++ + +CXXFLAGS := -Wall -std=c++11 -O2 + +INCLUDES := -I . + +SRCS := jsonproc.cpp + +HEADERS := jsonproc.h inja.hpp nlohmann/json.hpp + +.PHONY: clean + +jsonproc: $(SRCS) $(HEADERS) + $(CXX) $(CXXFLAGS) $(INCLUDES) $(SRCS) -o $@ $(LDFLAGS) + +clean: + $(RM) jsonproc jsonproc.exe diff --git a/tools/jsonproc/inja.hpp b/tools/jsonproc/inja.hpp new file mode 100755 index 0000000000..3b72635460 --- /dev/null +++ b/tools/jsonproc/inja.hpp @@ -0,0 +1,3396 @@ +// MIT License + +// Copyright (c) 2018 lbersch + +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + + +// --- + + +// Copyright (c) 2009-2018 FIRST +// All rights reserved. + +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// * Neither the name of the FIRST nor the +// names of its contributors may be used to endorse or promote products +// derived from this software without specific prior written permission. + +// THIS SOFTWARE IS PROVIDED BY FIRST AND CONTRIBUTORS``AS IS'' AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY NONINFRINGEMENT AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL FIRST OR CONTRIBUTORS BE LIABLE FOR +// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef PANTOR_INJA_HPP +#define PANTOR_INJA_HPP + +#include +#include +#include +#include +#include +#include +#include + +#include + +// #include "environment.hpp" +#ifndef PANTOR_INJA_ENVIRONMENT_HPP +#define PANTOR_INJA_ENVIRONMENT_HPP + +#include +#include +#include +#include + +#include + +// #include "config.hpp" +#ifndef PANTOR_INJA_CONFIG_HPP +#define PANTOR_INJA_CONFIG_HPP + +#include +#include + +// #include "string_view.hpp" +// Copyright 2017-2019 by Martin Moene +// +// string-view lite, a C++17-like string_view for C++98 and later. +// For more information see https://github.com/martinmoene/string-view-lite +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + + +#ifndef NONSTD_SV_LITE_H_INCLUDED +#define NONSTD_SV_LITE_H_INCLUDED + +#define string_view_lite_MAJOR 1 +#define string_view_lite_MINOR 1 +#define string_view_lite_PATCH 0 + +#define string_view_lite_VERSION nssv_STRINGIFY(string_view_lite_MAJOR) "." nssv_STRINGIFY(string_view_lite_MINOR) "." nssv_STRINGIFY(string_view_lite_PATCH) + +#define nssv_STRINGIFY( x ) nssv_STRINGIFY_( x ) +#define nssv_STRINGIFY_( x ) #x + +// string-view lite configuration: + +#define nssv_STRING_VIEW_DEFAULT 0 +#define nssv_STRING_VIEW_NONSTD 1 +#define nssv_STRING_VIEW_STD 2 + +#if !defined( nssv_CONFIG_SELECT_STRING_VIEW ) +# define nssv_CONFIG_SELECT_STRING_VIEW ( nssv_HAVE_STD_STRING_VIEW ? nssv_STRING_VIEW_STD : nssv_STRING_VIEW_NONSTD ) +#endif + +#if defined( nssv_CONFIG_SELECT_STD_STRING_VIEW ) || defined( nssv_CONFIG_SELECT_NONSTD_STRING_VIEW ) +# error nssv_CONFIG_SELECT_STD_STRING_VIEW and nssv_CONFIG_SELECT_NONSTD_STRING_VIEW are deprecated and removed, please use nssv_CONFIG_SELECT_STRING_VIEW=nssv_STRING_VIEW_... +#endif + +#ifndef nssv_CONFIG_STD_SV_OPERATOR +# define nssv_CONFIG_STD_SV_OPERATOR 0 +#endif + +#ifndef nssv_CONFIG_USR_SV_OPERATOR +# define nssv_CONFIG_USR_SV_OPERATOR 1 +#endif + +#ifdef nssv_CONFIG_CONVERSION_STD_STRING +# define nssv_CONFIG_CONVERSION_STD_STRING_CLASS_METHODS nssv_CONFIG_CONVERSION_STD_STRING +# define nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS nssv_CONFIG_CONVERSION_STD_STRING +#endif + +#ifndef nssv_CONFIG_CONVERSION_STD_STRING_CLASS_METHODS +# define nssv_CONFIG_CONVERSION_STD_STRING_CLASS_METHODS 1 +#endif + +#ifndef nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS +# define nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS 1 +#endif + +// Control presence of exception handling (try and auto discover): + +#ifndef nssv_CONFIG_NO_EXCEPTIONS +# if defined(__cpp_exceptions) || defined(__EXCEPTIONS) || defined(_CPPUNWIND) +# define nssv_CONFIG_NO_EXCEPTIONS 0 +# else +# define nssv_CONFIG_NO_EXCEPTIONS 1 +# endif +#endif + +// C++ language version detection (C++20 is speculative): +// Note: VC14.0/1900 (VS2015) lacks too much from C++14. + +#ifndef nssv_CPLUSPLUS +# if defined(_MSVC_LANG ) && !defined(__clang__) +# define nssv_CPLUSPLUS (_MSC_VER == 1900 ? 201103L : _MSVC_LANG ) +# else +# define nssv_CPLUSPLUS __cplusplus +# endif +#endif + +#define nssv_CPP98_OR_GREATER ( nssv_CPLUSPLUS >= 199711L ) +#define nssv_CPP11_OR_GREATER ( nssv_CPLUSPLUS >= 201103L ) +#define nssv_CPP11_OR_GREATER_ ( nssv_CPLUSPLUS >= 201103L ) +#define nssv_CPP14_OR_GREATER ( nssv_CPLUSPLUS >= 201402L ) +#define nssv_CPP17_OR_GREATER ( nssv_CPLUSPLUS >= 201703L ) +#define nssv_CPP20_OR_GREATER ( nssv_CPLUSPLUS >= 202000L ) + +// use C++17 std::string_view if available and requested: + +#if nssv_CPP17_OR_GREATER && defined(__has_include ) +# if __has_include( ) +# define nssv_HAVE_STD_STRING_VIEW 1 +# else +# define nssv_HAVE_STD_STRING_VIEW 0 +# endif +#else +# define nssv_HAVE_STD_STRING_VIEW 0 +#endif + +#define nssv_USES_STD_STRING_VIEW ( (nssv_CONFIG_SELECT_STRING_VIEW == nssv_STRING_VIEW_STD) || ((nssv_CONFIG_SELECT_STRING_VIEW == nssv_STRING_VIEW_DEFAULT) && nssv_HAVE_STD_STRING_VIEW) ) + +#define nssv_HAVE_STARTS_WITH ( nssv_CPP20_OR_GREATER || !nssv_USES_STD_STRING_VIEW ) +#define nssv_HAVE_ENDS_WITH nssv_HAVE_STARTS_WITH + +// +// Use C++17 std::string_view: +// + +#if nssv_USES_STD_STRING_VIEW + +#include + +// Extensions for std::string: + +#if nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS + +namespace nonstd { + +template< class CharT, class Traits, class Allocator = std::allocator > +std::basic_string +to_string( std::basic_string_view v, Allocator const & a = Allocator() ) +{ + return std::basic_string( v.begin(), v.end(), a ); +} + +template< class CharT, class Traits, class Allocator > +std::basic_string_view +to_string_view( std::basic_string const & s ) +{ + return std::basic_string_view( s.data(), s.size() ); +} + +// Literal operators sv and _sv: + +#if nssv_CONFIG_STD_SV_OPERATOR + +using namespace std::literals::string_view_literals; + +#endif + +#if nssv_CONFIG_USR_SV_OPERATOR + +inline namespace literals { +inline namespace string_view_literals { + + +constexpr std::string_view operator "" _sv( const char* str, size_t len ) noexcept // (1) +{ + return std::string_view{ str, len }; +} + +constexpr std::u16string_view operator "" _sv( const char16_t* str, size_t len ) noexcept // (2) +{ + return std::u16string_view{ str, len }; +} + +constexpr std::u32string_view operator "" _sv( const char32_t* str, size_t len ) noexcept // (3) +{ + return std::u32string_view{ str, len }; +} + +constexpr std::wstring_view operator "" _sv( const wchar_t* str, size_t len ) noexcept // (4) +{ + return std::wstring_view{ str, len }; +} + +}} // namespace literals::string_view_literals + +#endif // nssv_CONFIG_USR_SV_OPERATOR + +} // namespace nonstd + +#endif // nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS + +namespace nonstd { + +using std::string_view; +using std::wstring_view; +using std::u16string_view; +using std::u32string_view; +using std::basic_string_view; + +// literal "sv" and "_sv", see above + +using std::operator==; +using std::operator!=; +using std::operator<; +using std::operator<=; +using std::operator>; +using std::operator>=; + +using std::operator<<; + +} // namespace nonstd + +#else // nssv_HAVE_STD_STRING_VIEW + +// +// Before C++17: use string_view lite: +// + +// Compiler versions: +// +// MSVC++ 6.0 _MSC_VER == 1200 (Visual Studio 6.0) +// MSVC++ 7.0 _MSC_VER == 1300 (Visual Studio .NET 2002) +// MSVC++ 7.1 _MSC_VER == 1310 (Visual Studio .NET 2003) +// MSVC++ 8.0 _MSC_VER == 1400 (Visual Studio 2005) +// MSVC++ 9.0 _MSC_VER == 1500 (Visual Studio 2008) +// MSVC++ 10.0 _MSC_VER == 1600 (Visual Studio 2010) +// MSVC++ 11.0 _MSC_VER == 1700 (Visual Studio 2012) +// MSVC++ 12.0 _MSC_VER == 1800 (Visual Studio 2013) +// MSVC++ 14.0 _MSC_VER == 1900 (Visual Studio 2015) +// MSVC++ 14.1 _MSC_VER >= 1910 (Visual Studio 2017) + +#if defined(_MSC_VER ) && !defined(__clang__) +# define nssv_COMPILER_MSVC_VER (_MSC_VER ) +# define nssv_COMPILER_MSVC_VERSION (_MSC_VER / 10 - 10 * ( 5 + (_MSC_VER < 1900 ) ) ) +#else +# define nssv_COMPILER_MSVC_VER 0 +# define nssv_COMPILER_MSVC_VERSION 0 +#endif + +#define nssv_COMPILER_VERSION( major, minor, patch ) (10 * ( 10 * major + minor) + patch) + +#if defined(__clang__) +# define nssv_COMPILER_CLANG_VERSION nssv_COMPILER_VERSION(__clang_major__, __clang_minor__, __clang_patchlevel__) +#else +# define nssv_COMPILER_CLANG_VERSION 0 +#endif + +#if defined(__GNUC__) && !defined(__clang__) +# define nssv_COMPILER_GNUC_VERSION nssv_COMPILER_VERSION(__GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__) +#else +# define nssv_COMPILER_GNUC_VERSION 0 +#endif + +// half-open range [lo..hi): +#define nssv_BETWEEN( v, lo, hi ) ( (lo) <= (v) && (v) < (hi) ) + +// Presence of language and library features: + +#ifdef _HAS_CPP0X +# define nssv_HAS_CPP0X _HAS_CPP0X +#else +# define nssv_HAS_CPP0X 0 +#endif + +// Unless defined otherwise below, consider VC14 as C++11 for variant-lite: + +#if nssv_COMPILER_MSVC_VER >= 1900 +# undef nssv_CPP11_OR_GREATER +# define nssv_CPP11_OR_GREATER 1 +#endif + +#define nssv_CPP11_90 (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1500) +#define nssv_CPP11_100 (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1600) +#define nssv_CPP11_110 (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1700) +#define nssv_CPP11_120 (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1800) +#define nssv_CPP11_140 (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1900) +#define nssv_CPP11_141 (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1910) + +#define nssv_CPP14_000 (nssv_CPP14_OR_GREATER) +#define nssv_CPP17_000 (nssv_CPP17_OR_GREATER) + +// Presence of C++11 language features: + +#define nssv_HAVE_CONSTEXPR_11 nssv_CPP11_140 +#define nssv_HAVE_EXPLICIT_CONVERSION nssv_CPP11_140 +#define nssv_HAVE_INLINE_NAMESPACE nssv_CPP11_140 +#define nssv_HAVE_NOEXCEPT nssv_CPP11_140 +#define nssv_HAVE_NULLPTR nssv_CPP11_100 +#define nssv_HAVE_REF_QUALIFIER nssv_CPP11_140 +#define nssv_HAVE_UNICODE_LITERALS nssv_CPP11_140 +#define nssv_HAVE_USER_DEFINED_LITERALS nssv_CPP11_140 +#define nssv_HAVE_WCHAR16_T nssv_CPP11_100 +#define nssv_HAVE_WCHAR32_T nssv_CPP11_100 + +#if ! ( ( nssv_CPP11 && nssv_COMPILER_CLANG_VERSION ) || nssv_BETWEEN( nssv_COMPILER_CLANG_VERSION, 300, 400 ) ) +# define nssv_HAVE_STD_DEFINED_LITERALS nssv_CPP11_140 +#endif + +// Presence of C++14 language features: + +#define nssv_HAVE_CONSTEXPR_14 nssv_CPP14_000 + +// Presence of C++17 language features: + +#define nssv_HAVE_NODISCARD nssv_CPP17_000 + +// Presence of C++ library features: + +#define nssv_HAVE_STD_HASH nssv_CPP11_120 + +// C++ feature usage: + +#if nssv_HAVE_CONSTEXPR_11 +# define nssv_constexpr constexpr +#else +# define nssv_constexpr /*constexpr*/ +#endif + +#if nssv_HAVE_CONSTEXPR_14 +# define nssv_constexpr14 constexpr +#else +# define nssv_constexpr14 /*constexpr*/ +#endif + +#if nssv_HAVE_EXPLICIT_CONVERSION +# define nssv_explicit explicit +#else +# define nssv_explicit /*explicit*/ +#endif + +#if nssv_HAVE_INLINE_NAMESPACE +# define nssv_inline_ns inline +#else +# define nssv_inline_ns /*inline*/ +#endif + +#if nssv_HAVE_NOEXCEPT +# define nssv_noexcept noexcept +#else +# define nssv_noexcept /*noexcept*/ +#endif + +//#if nssv_HAVE_REF_QUALIFIER +//# define nssv_ref_qual & +//# define nssv_refref_qual && +//#else +//# define nssv_ref_qual /*&*/ +//# define nssv_refref_qual /*&&*/ +//#endif + +#if nssv_HAVE_NULLPTR +# define nssv_nullptr nullptr +#else +# define nssv_nullptr NULL +#endif + +#if nssv_HAVE_NODISCARD +# define nssv_nodiscard [[nodiscard]] +#else +# define nssv_nodiscard /*[[nodiscard]]*/ +#endif + +// Additional includes: + +#include +#include +#include +#include +#include +#include // std::char_traits<> + +#if ! nssv_CONFIG_NO_EXCEPTIONS +# include +#endif + +#if nssv_CPP11_OR_GREATER +# include +#endif + +// Clang, GNUC, MSVC warning suppression macros: + +#if defined(__clang__) +# pragma clang diagnostic ignored "-Wreserved-user-defined-literal" +# pragma clang diagnostic push +# pragma clang diagnostic ignored "-Wuser-defined-literals" +#elif defined(__GNUC__) +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wliteral-suffix" +#endif // __clang__ + +#if nssv_COMPILER_MSVC_VERSION >= 140 +# define nssv_SUPPRESS_MSGSL_WARNING(expr) [[gsl::suppress(expr)]] +# define nssv_SUPPRESS_MSVC_WARNING(code, descr) __pragma(warning(suppress: code) ) +# define nssv_DISABLE_MSVC_WARNINGS(codes) __pragma(warning(push)) __pragma(warning(disable: codes)) +#else +# define nssv_SUPPRESS_MSGSL_WARNING(expr) +# define nssv_SUPPRESS_MSVC_WARNING(code, descr) +# define nssv_DISABLE_MSVC_WARNINGS(codes) +#endif + +#if defined(__clang__) +# define nssv_RESTORE_WARNINGS() _Pragma("clang diagnostic pop") +#elif defined(__GNUC__) +# define nssv_RESTORE_WARNINGS() _Pragma("GCC diagnostic pop") +#elif nssv_COMPILER_MSVC_VERSION >= 140 +# define nssv_RESTORE_WARNINGS() __pragma(warning(pop )) +#else +# define nssv_RESTORE_WARNINGS() +#endif + +// Suppress the following MSVC (GSL) warnings: +// - C4455, non-gsl : 'operator ""sv': literal suffix identifiers that do not +// start with an underscore are reserved +// - C26472, gsl::t.1 : don't use a static_cast for arithmetic conversions; +// use brace initialization, gsl::narrow_cast or gsl::narow +// - C26481: gsl::b.1 : don't use pointer arithmetic. Use span instead + +nssv_DISABLE_MSVC_WARNINGS( 4455 26481 26472 ) +//nssv_DISABLE_CLANG_WARNINGS( "-Wuser-defined-literals" ) +//nssv_DISABLE_GNUC_WARNINGS( -Wliteral-suffix ) + +namespace nonstd { namespace sv_lite { + +template +< + class CharT, + class Traits = std::char_traits +> +class basic_string_view; + +// +// basic_string_view: +// + +template +< + class CharT, + class Traits /* = std::char_traits */ +> +class basic_string_view +{ +public: + // Member types: + + typedef Traits traits_type; + typedef CharT value_type; + + typedef CharT * pointer; + typedef CharT const * const_pointer; + typedef CharT & reference; + typedef CharT const & const_reference; + + typedef const_pointer iterator; + typedef const_pointer const_iterator; + typedef std::reverse_iterator< const_iterator > reverse_iterator; + typedef std::reverse_iterator< const_iterator > const_reverse_iterator; + + typedef std::size_t size_type; + typedef std::ptrdiff_t difference_type; + + // 24.4.2.1 Construction and assignment: + + nssv_constexpr basic_string_view() nssv_noexcept + : data_( nssv_nullptr ) + , size_( 0 ) + {} + +#if nssv_CPP11_OR_GREATER + nssv_constexpr basic_string_view( basic_string_view const & other ) nssv_noexcept = default; +#else + nssv_constexpr basic_string_view( basic_string_view const & other ) nssv_noexcept + : data_( other.data_) + , size_( other.size_) + {} +#endif + + nssv_constexpr basic_string_view( CharT const * s, size_type count ) + : data_( s ) + , size_( count ) + {} + + nssv_constexpr basic_string_view( CharT const * s) + : data_( s ) + , size_( Traits::length(s) ) + {} + + // Assignment: + +#if nssv_CPP11_OR_GREATER + nssv_constexpr14 basic_string_view & operator=( basic_string_view const & other ) nssv_noexcept = default; +#else + nssv_constexpr14 basic_string_view & operator=( basic_string_view const & other ) nssv_noexcept + { + data_ = other.data_; + size_ = other.size_; + return *this; + } +#endif + + // 24.4.2.2 Iterator support: + + nssv_constexpr const_iterator begin() const nssv_noexcept { return data_; } + nssv_constexpr const_iterator end() const nssv_noexcept { return data_ + size_; } + + nssv_constexpr const_iterator cbegin() const nssv_noexcept { return begin(); } + nssv_constexpr const_iterator cend() const nssv_noexcept { return end(); } + + nssv_constexpr const_reverse_iterator rbegin() const nssv_noexcept { return const_reverse_iterator( end() ); } + nssv_constexpr const_reverse_iterator rend() const nssv_noexcept { return const_reverse_iterator( begin() ); } + + nssv_constexpr const_reverse_iterator crbegin() const nssv_noexcept { return rbegin(); } + nssv_constexpr const_reverse_iterator crend() const nssv_noexcept { return rend(); } + + // 24.4.2.3 Capacity: + + nssv_constexpr size_type size() const nssv_noexcept { return size_; } + nssv_constexpr size_type length() const nssv_noexcept { return size_; } + nssv_constexpr size_type max_size() const nssv_noexcept { return (std::numeric_limits< size_type >::max)(); } + + // since C++20 + nssv_nodiscard nssv_constexpr bool empty() const nssv_noexcept + { + return 0 == size_; + } + + // 24.4.2.4 Element access: + + nssv_constexpr const_reference operator[]( size_type pos ) const + { + return data_at( pos ); + } + + nssv_constexpr14 const_reference at( size_type pos ) const + { +#if nssv_CONFIG_NO_EXCEPTIONS + assert( pos < size() ); +#else + if ( pos >= size() ) + { + throw std::out_of_range("nonst::string_view::at()"); + } +#endif + return data_at( pos ); + } + + nssv_constexpr const_reference front() const { return data_at( 0 ); } + nssv_constexpr const_reference back() const { return data_at( size() - 1 ); } + + nssv_constexpr const_pointer data() const nssv_noexcept { return data_; } + + // 24.4.2.5 Modifiers: + + nssv_constexpr14 void remove_prefix( size_type n ) + { + assert( n <= size() ); + data_ += n; + size_ -= n; + } + + nssv_constexpr14 void remove_suffix( size_type n ) + { + assert( n <= size() ); + size_ -= n; + } + + nssv_constexpr14 void swap( basic_string_view & other ) nssv_noexcept + { + using std::swap; + swap( data_, other.data_ ); + swap( size_, other.size_ ); + } + + // 24.4.2.6 String operations: + + size_type copy( CharT * dest, size_type n, size_type pos = 0 ) const + { +#if nssv_CONFIG_NO_EXCEPTIONS + assert( pos <= size() ); +#else + if ( pos > size() ) + { + throw std::out_of_range("nonst::string_view::copy()"); + } +#endif + const size_type rlen = (std::min)( n, size() - pos ); + + (void) Traits::copy( dest, data() + pos, rlen ); + + return rlen; + } + + nssv_constexpr14 basic_string_view substr( size_type pos = 0, size_type n = npos ) const + { +#if nssv_CONFIG_NO_EXCEPTIONS + assert( pos <= size() ); +#else + if ( pos > size() ) + { + throw std::out_of_range("nonst::string_view::substr()"); + } +#endif + return basic_string_view( data() + pos, (std::min)( n, size() - pos ) ); + } + + // compare(), 6x: + + nssv_constexpr14 int compare( basic_string_view other ) const nssv_noexcept // (1) + { + if ( const int result = Traits::compare( data(), other.data(), (std::min)( size(), other.size() ) ) ) + return result; + + return size() == other.size() ? 0 : size() < other.size() ? -1 : 1; + } + + nssv_constexpr int compare( size_type pos1, size_type n1, basic_string_view other ) const // (2) + { + return substr( pos1, n1 ).compare( other ); + } + + nssv_constexpr int compare( size_type pos1, size_type n1, basic_string_view other, size_type pos2, size_type n2 ) const // (3) + { + return substr( pos1, n1 ).compare( other.substr( pos2, n2 ) ); + } + + nssv_constexpr int compare( CharT const * s ) const // (4) + { + return compare( basic_string_view( s ) ); + } + + nssv_constexpr int compare( size_type pos1, size_type n1, CharT const * s ) const // (5) + { + return substr( pos1, n1 ).compare( basic_string_view( s ) ); + } + + nssv_constexpr int compare( size_type pos1, size_type n1, CharT const * s, size_type n2 ) const // (6) + { + return substr( pos1, n1 ).compare( basic_string_view( s, n2 ) ); + } + + // 24.4.2.7 Searching: + + // starts_with(), 3x, since C++20: + + nssv_constexpr bool starts_with( basic_string_view v ) const nssv_noexcept // (1) + { + return size() >= v.size() && compare( 0, v.size(), v ) == 0; + } + + nssv_constexpr bool starts_with( CharT c ) const nssv_noexcept // (2) + { + return starts_with( basic_string_view( &c, 1 ) ); + } + + nssv_constexpr bool starts_with( CharT const * s ) const // (3) + { + return starts_with( basic_string_view( s ) ); + } + + // ends_with(), 3x, since C++20: + + nssv_constexpr bool ends_with( basic_string_view v ) const nssv_noexcept // (1) + { + return size() >= v.size() && compare( size() - v.size(), npos, v ) == 0; + } + + nssv_constexpr bool ends_with( CharT c ) const nssv_noexcept // (2) + { + return ends_with( basic_string_view( &c, 1 ) ); + } + + nssv_constexpr bool ends_with( CharT const * s ) const // (3) + { + return ends_with( basic_string_view( s ) ); + } + + // find(), 4x: + + nssv_constexpr14 size_type find( basic_string_view v, size_type pos = 0 ) const nssv_noexcept // (1) + { + return assert( v.size() == 0 || v.data() != nssv_nullptr ) + , pos >= size() + ? npos + : to_pos( std::search( cbegin() + pos, cend(), v.cbegin(), v.cend(), Traits::eq ) ); + } + + nssv_constexpr14 size_type find( CharT c, size_type pos = 0 ) const nssv_noexcept // (2) + { + return find( basic_string_view( &c, 1 ), pos ); + } + + nssv_constexpr14 size_type find( CharT const * s, size_type pos, size_type n ) const // (3) + { + return find( basic_string_view( s, n ), pos ); + } + + nssv_constexpr14 size_type find( CharT const * s, size_type pos = 0 ) const // (4) + { + return find( basic_string_view( s ), pos ); + } + + // rfind(), 4x: + + nssv_constexpr14 size_type rfind( basic_string_view v, size_type pos = npos ) const nssv_noexcept // (1) + { + if ( size() < v.size() ) + return npos; + + if ( v.empty() ) + return (std::min)( size(), pos ); + + const_iterator last = cbegin() + (std::min)( size() - v.size(), pos ) + v.size(); + const_iterator result = std::find_end( cbegin(), last, v.cbegin(), v.cend(), Traits::eq ); + + return result != last ? size_type( result - cbegin() ) : npos; + } + + nssv_constexpr14 size_type rfind( CharT c, size_type pos = npos ) const nssv_noexcept // (2) + { + return rfind( basic_string_view( &c, 1 ), pos ); + } + + nssv_constexpr14 size_type rfind( CharT const * s, size_type pos, size_type n ) const // (3) + { + return rfind( basic_string_view( s, n ), pos ); + } + + nssv_constexpr14 size_type rfind( CharT const * s, size_type pos = npos ) const // (4) + { + return rfind( basic_string_view( s ), pos ); + } + + // find_first_of(), 4x: + + nssv_constexpr size_type find_first_of( basic_string_view v, size_type pos = 0 ) const nssv_noexcept // (1) + { + return pos >= size() + ? npos + : to_pos( std::find_first_of( cbegin() + pos, cend(), v.cbegin(), v.cend(), Traits::eq ) ); + } + + nssv_constexpr size_type find_first_of( CharT c, size_type pos = 0 ) const nssv_noexcept // (2) + { + return find_first_of( basic_string_view( &c, 1 ), pos ); + } + + nssv_constexpr size_type find_first_of( CharT const * s, size_type pos, size_type n ) const // (3) + { + return find_first_of( basic_string_view( s, n ), pos ); + } + + nssv_constexpr size_type find_first_of( CharT const * s, size_type pos = 0 ) const // (4) + { + return find_first_of( basic_string_view( s ), pos ); + } + + // find_last_of(), 4x: + + nssv_constexpr size_type find_last_of( basic_string_view v, size_type pos = npos ) const nssv_noexcept // (1) + { + return empty() + ? npos + : pos >= size() + ? find_last_of( v, size() - 1 ) + : to_pos( std::find_first_of( const_reverse_iterator( cbegin() + pos + 1 ), crend(), v.cbegin(), v.cend(), Traits::eq ) ); + } + + nssv_constexpr size_type find_last_of( CharT c, size_type pos = npos ) const nssv_noexcept // (2) + { + return find_last_of( basic_string_view( &c, 1 ), pos ); + } + + nssv_constexpr size_type find_last_of( CharT const * s, size_type pos, size_type count ) const // (3) + { + return find_last_of( basic_string_view( s, count ), pos ); + } + + nssv_constexpr size_type find_last_of( CharT const * s, size_type pos = npos ) const // (4) + { + return find_last_of( basic_string_view( s ), pos ); + } + + // find_first_not_of(), 4x: + + nssv_constexpr size_type find_first_not_of( basic_string_view v, size_type pos = 0 ) const nssv_noexcept // (1) + { + return pos >= size() + ? npos + : to_pos( std::find_if( cbegin() + pos, cend(), not_in_view( v ) ) ); + } + + nssv_constexpr size_type find_first_not_of( CharT c, size_type pos = 0 ) const nssv_noexcept // (2) + { + return find_first_not_of( basic_string_view( &c, 1 ), pos ); + } + + nssv_constexpr size_type find_first_not_of( CharT const * s, size_type pos, size_type count ) const // (3) + { + return find_first_not_of( basic_string_view( s, count ), pos ); + } + + nssv_constexpr size_type find_first_not_of( CharT const * s, size_type pos = 0 ) const // (4) + { + return find_first_not_of( basic_string_view( s ), pos ); + } + + // find_last_not_of(), 4x: + + nssv_constexpr size_type find_last_not_of( basic_string_view v, size_type pos = npos ) const nssv_noexcept // (1) + { + return empty() + ? npos + : pos >= size() + ? find_last_not_of( v, size() - 1 ) + : to_pos( std::find_if( const_reverse_iterator( cbegin() + pos + 1 ), crend(), not_in_view( v ) ) ); + } + + nssv_constexpr size_type find_last_not_of( CharT c, size_type pos = npos ) const nssv_noexcept // (2) + { + return find_last_not_of( basic_string_view( &c, 1 ), pos ); + } + + nssv_constexpr size_type find_last_not_of( CharT const * s, size_type pos, size_type count ) const // (3) + { + return find_last_not_of( basic_string_view( s, count ), pos ); + } + + nssv_constexpr size_type find_last_not_of( CharT const * s, size_type pos = npos ) const // (4) + { + return find_last_not_of( basic_string_view( s ), pos ); + } + + // Constants: + +#if nssv_CPP17_OR_GREATER + static nssv_constexpr size_type npos = size_type(-1); +#elif nssv_CPP11_OR_GREATER + enum : size_type { npos = size_type(-1) }; +#else + enum { npos = size_type(-1) }; +#endif + +private: + struct not_in_view + { + const basic_string_view v; + + nssv_constexpr not_in_view( basic_string_view v ) : v( v ) {} + + nssv_constexpr bool operator()( CharT c ) const + { + return npos == v.find_first_of( c ); + } + }; + + nssv_constexpr size_type to_pos( const_iterator it ) const + { + return it == cend() ? npos : size_type( it - cbegin() ); + } + + nssv_constexpr size_type to_pos( const_reverse_iterator it ) const + { + return it == crend() ? npos : size_type( crend() - it - 1 ); + } + + nssv_constexpr const_reference data_at( size_type pos ) const + { +#if nssv_BETWEEN( nssv_COMPILER_GNUC_VERSION, 1, 500 ) + return data_[pos]; +#else + return assert( pos < size() ), data_[pos]; +#endif + } + +private: + const_pointer data_; + size_type size_; + +public: +#if nssv_CONFIG_CONVERSION_STD_STRING_CLASS_METHODS + + template< class Allocator > + basic_string_view( std::basic_string const & s ) nssv_noexcept + : data_( s.data() ) + , size_( s.size() ) + {} + +#if nssv_HAVE_EXPLICIT_CONVERSION + + template< class Allocator > + explicit operator std::basic_string() const + { + return to_string( Allocator() ); + } + +#endif // nssv_HAVE_EXPLICIT_CONVERSION + +#if nssv_CPP11_OR_GREATER + + template< class Allocator = std::allocator > + std::basic_string + to_string( Allocator const & a = Allocator() ) const + { + return std::basic_string( begin(), end(), a ); + } + +#else + + std::basic_string + to_string() const + { + return std::basic_string( begin(), end() ); + } + + template< class Allocator > + std::basic_string + to_string( Allocator const & a ) const + { + return std::basic_string( begin(), end(), a ); + } + +#endif // nssv_CPP11_OR_GREATER + +#endif // nssv_CONFIG_CONVERSION_STD_STRING_CLASS_METHODS +}; + +// +// Non-member functions: +// + +// 24.4.3 Non-member comparison functions: +// lexicographically compare two string views (function template): + +template< class CharT, class Traits > +nssv_constexpr bool operator== ( + basic_string_view lhs, + basic_string_view rhs ) nssv_noexcept +{ return lhs.compare( rhs ) == 0 ; } + +template< class CharT, class Traits > +nssv_constexpr bool operator!= ( + basic_string_view lhs, + basic_string_view rhs ) nssv_noexcept +{ return lhs.compare( rhs ) != 0 ; } + +template< class CharT, class Traits > +nssv_constexpr bool operator< ( + basic_string_view lhs, + basic_string_view rhs ) nssv_noexcept +{ return lhs.compare( rhs ) < 0 ; } + +template< class CharT, class Traits > +nssv_constexpr bool operator<= ( + basic_string_view lhs, + basic_string_view rhs ) nssv_noexcept +{ return lhs.compare( rhs ) <= 0 ; } + +template< class CharT, class Traits > +nssv_constexpr bool operator> ( + basic_string_view lhs, + basic_string_view rhs ) nssv_noexcept +{ return lhs.compare( rhs ) > 0 ; } + +template< class CharT, class Traits > +nssv_constexpr bool operator>= ( + basic_string_view lhs, + basic_string_view rhs ) nssv_noexcept +{ return lhs.compare( rhs ) >= 0 ; } + +// Let S be basic_string_view, and sv be an instance of S. +// Implementations shall provide sufficient additional overloads marked +// constexpr and noexcept so that an object t with an implicit conversion +// to S can be compared according to Table 67. + +#if nssv_CPP11_OR_GREATER && ! nssv_BETWEEN( nssv_COMPILER_MSVC_VERSION, 100, 141 ) + +#define nssv_BASIC_STRING_VIEW_I(T,U) typename std::decay< basic_string_view >::type + +#if nssv_BETWEEN( nssv_COMPILER_MSVC_VERSION, 140, 150 ) +# define nssv_MSVC_ORDER(x) , int=x +#else +# define nssv_MSVC_ORDER(x) /*, int=x*/ +#endif + +// == + +template< class CharT, class Traits nssv_MSVC_ORDER(1) > +nssv_constexpr bool operator==( + basic_string_view lhs, + nssv_BASIC_STRING_VIEW_I(CharT, Traits) rhs ) nssv_noexcept +{ return lhs.compare( rhs ) == 0; } + +template< class CharT, class Traits nssv_MSVC_ORDER(2) > +nssv_constexpr bool operator==( + nssv_BASIC_STRING_VIEW_I(CharT, Traits) lhs, + basic_string_view rhs ) nssv_noexcept +{ return lhs.size() == rhs.size() && lhs.compare( rhs ) == 0; } + +// != + +template< class CharT, class Traits nssv_MSVC_ORDER(1) > +nssv_constexpr bool operator!= ( + basic_string_view < CharT, Traits > lhs, + nssv_BASIC_STRING_VIEW_I( CharT, Traits ) rhs ) nssv_noexcept +{ return lhs.size() != rhs.size() || lhs.compare( rhs ) != 0 ; } + +template< class CharT, class Traits nssv_MSVC_ORDER(2) > +nssv_constexpr bool operator!= ( + nssv_BASIC_STRING_VIEW_I( CharT, Traits ) lhs, + basic_string_view < CharT, Traits > rhs ) nssv_noexcept +{ return lhs.compare( rhs ) != 0 ; } + +// < + +template< class CharT, class Traits nssv_MSVC_ORDER(1) > +nssv_constexpr bool operator< ( + basic_string_view < CharT, Traits > lhs, + nssv_BASIC_STRING_VIEW_I( CharT, Traits ) rhs ) nssv_noexcept +{ return lhs.compare( rhs ) < 0 ; } + +template< class CharT, class Traits nssv_MSVC_ORDER(2) > +nssv_constexpr bool operator< ( + nssv_BASIC_STRING_VIEW_I( CharT, Traits ) lhs, + basic_string_view < CharT, Traits > rhs ) nssv_noexcept +{ return lhs.compare( rhs ) < 0 ; } + +// <= + +template< class CharT, class Traits nssv_MSVC_ORDER(1) > +nssv_constexpr bool operator<= ( + basic_string_view < CharT, Traits > lhs, + nssv_BASIC_STRING_VIEW_I( CharT, Traits ) rhs ) nssv_noexcept +{ return lhs.compare( rhs ) <= 0 ; } + +template< class CharT, class Traits nssv_MSVC_ORDER(2) > +nssv_constexpr bool operator<= ( + nssv_BASIC_STRING_VIEW_I( CharT, Traits ) lhs, + basic_string_view < CharT, Traits > rhs ) nssv_noexcept +{ return lhs.compare( rhs ) <= 0 ; } + +// > + +template< class CharT, class Traits nssv_MSVC_ORDER(1) > +nssv_constexpr bool operator> ( + basic_string_view < CharT, Traits > lhs, + nssv_BASIC_STRING_VIEW_I( CharT, Traits ) rhs ) nssv_noexcept +{ return lhs.compare( rhs ) > 0 ; } + +template< class CharT, class Traits nssv_MSVC_ORDER(2) > +nssv_constexpr bool operator> ( + nssv_BASIC_STRING_VIEW_I( CharT, Traits ) lhs, + basic_string_view < CharT, Traits > rhs ) nssv_noexcept +{ return lhs.compare( rhs ) > 0 ; } + +// >= + +template< class CharT, class Traits nssv_MSVC_ORDER(1) > +nssv_constexpr bool operator>= ( + basic_string_view < CharT, Traits > lhs, + nssv_BASIC_STRING_VIEW_I( CharT, Traits ) rhs ) nssv_noexcept +{ return lhs.compare( rhs ) >= 0 ; } + +template< class CharT, class Traits nssv_MSVC_ORDER(2) > +nssv_constexpr bool operator>= ( + nssv_BASIC_STRING_VIEW_I( CharT, Traits ) lhs, + basic_string_view < CharT, Traits > rhs ) nssv_noexcept +{ return lhs.compare( rhs ) >= 0 ; } + +#undef nssv_MSVC_ORDER +#undef nssv_BASIC_STRING_VIEW_I + +#endif // nssv_CPP11_OR_GREATER + +// 24.4.4 Inserters and extractors: + +namespace detail { + +template< class Stream > +void write_padding( Stream & os, std::streamsize n ) +{ + for ( std::streamsize i = 0; i < n; ++i ) + os.rdbuf()->sputc( os.fill() ); +} + +template< class Stream, class View > +Stream & write_to_stream( Stream & os, View const & sv ) +{ + typename Stream::sentry sentry( os ); + + if ( !os ) + return os; + + const std::streamsize length = static_cast( sv.length() ); + + // Whether, and how, to pad: + const bool pad = ( length < os.width() ); + const bool left_pad = pad && ( os.flags() & std::ios_base::adjustfield ) == std::ios_base::right; + + if ( left_pad ) + write_padding( os, os.width() - length ); + + // Write span characters: + os.rdbuf()->sputn( sv.begin(), length ); + + if ( pad && !left_pad ) + write_padding( os, os.width() - length ); + + // Reset output stream width: + os.width( 0 ); + + return os; +} + +} // namespace detail + +template< class CharT, class Traits > +std::basic_ostream & +operator<<( + std::basic_ostream& os, + basic_string_view sv ) +{ + return detail::write_to_stream( os, sv ); +} + +// Several typedefs for common character types are provided: + +typedef basic_string_view string_view; +typedef basic_string_view wstring_view; +#if nssv_HAVE_WCHAR16_T +typedef basic_string_view u16string_view; +typedef basic_string_view u32string_view; +#endif + +}} // namespace nonstd::sv_lite + +// +// 24.4.6 Suffix for basic_string_view literals: +// + +#if nssv_HAVE_USER_DEFINED_LITERALS + +namespace nonstd { +nssv_inline_ns namespace literals { +nssv_inline_ns namespace string_view_literals { + +#if nssv_CONFIG_STD_SV_OPERATOR && nssv_HAVE_STD_DEFINED_LITERALS + +nssv_constexpr nonstd::sv_lite::string_view operator "" sv( const char* str, size_t len ) nssv_noexcept // (1) +{ + return nonstd::sv_lite::string_view{ str, len }; +} + +nssv_constexpr nonstd::sv_lite::u16string_view operator "" sv( const char16_t* str, size_t len ) nssv_noexcept // (2) +{ + return nonstd::sv_lite::u16string_view{ str, len }; +} + +nssv_constexpr nonstd::sv_lite::u32string_view operator "" sv( const char32_t* str, size_t len ) nssv_noexcept // (3) +{ + return nonstd::sv_lite::u32string_view{ str, len }; +} + +nssv_constexpr nonstd::sv_lite::wstring_view operator "" sv( const wchar_t* str, size_t len ) nssv_noexcept // (4) +{ + return nonstd::sv_lite::wstring_view{ str, len }; +} + +#endif // nssv_CONFIG_STD_SV_OPERATOR && nssv_HAVE_STD_DEFINED_LITERALS + +#if nssv_CONFIG_USR_SV_OPERATOR + +nssv_constexpr nonstd::sv_lite::string_view operator "" _sv( const char* str, size_t len ) nssv_noexcept // (1) +{ + return nonstd::sv_lite::string_view{ str, len }; +} + +nssv_constexpr nonstd::sv_lite::u16string_view operator "" _sv( const char16_t* str, size_t len ) nssv_noexcept // (2) +{ + return nonstd::sv_lite::u16string_view{ str, len }; +} + +nssv_constexpr nonstd::sv_lite::u32string_view operator "" _sv( const char32_t* str, size_t len ) nssv_noexcept // (3) +{ + return nonstd::sv_lite::u32string_view{ str, len }; +} + +nssv_constexpr nonstd::sv_lite::wstring_view operator "" _sv( const wchar_t* str, size_t len ) nssv_noexcept // (4) +{ + return nonstd::sv_lite::wstring_view{ str, len }; +} + +#endif // nssv_CONFIG_USR_SV_OPERATOR + +}}} // namespace nonstd::literals::string_view_literals + +#endif + +// +// Extensions for std::string: +// + +#if nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS + +namespace nonstd { +namespace sv_lite { + +// Exclude MSVC 14 (19.00): it yields ambiguous to_string(): + +#if nssv_CPP11_OR_GREATER && nssv_COMPILER_MSVC_VERSION != 140 + +template< class CharT, class Traits, class Allocator = std::allocator > +std::basic_string +to_string( basic_string_view v, Allocator const & a = Allocator() ) +{ + return std::basic_string( v.begin(), v.end(), a ); +} + +#else + +template< class CharT, class Traits > +std::basic_string +to_string( basic_string_view v ) +{ + return std::basic_string( v.begin(), v.end() ); +} + +template< class CharT, class Traits, class Allocator > +std::basic_string +to_string( basic_string_view v, Allocator const & a ) +{ + return std::basic_string( v.begin(), v.end(), a ); +} + +#endif // nssv_CPP11_OR_GREATER + +template< class CharT, class Traits, class Allocator > +basic_string_view +to_string_view( std::basic_string const & s ) +{ + return basic_string_view( s.data(), s.size() ); +} + +}} // namespace nonstd::sv_lite + +#endif // nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS + +// +// make types and algorithms available in namespace nonstd: +// + +namespace nonstd { + +using sv_lite::basic_string_view; +using sv_lite::string_view; +using sv_lite::wstring_view; + +#if nssv_HAVE_WCHAR16_T +using sv_lite::u16string_view; +#endif +#if nssv_HAVE_WCHAR32_T +using sv_lite::u32string_view; +#endif + +// literal "sv" + +using sv_lite::operator==; +using sv_lite::operator!=; +using sv_lite::operator<; +using sv_lite::operator<=; +using sv_lite::operator>; +using sv_lite::operator>=; + +using sv_lite::operator<<; + +#if nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS +using sv_lite::to_string; +using sv_lite::to_string_view; +#endif + +} // namespace nonstd + +// 24.4.5 Hash support (C++11): + +// Note: The hash value of a string view object is equal to the hash value of +// the corresponding string object. + +#if nssv_HAVE_STD_HASH + +#include + +namespace std { + +template<> +struct hash< nonstd::string_view > +{ +public: + std::size_t operator()( nonstd::string_view v ) const nssv_noexcept + { + return std::hash()( std::string( v.data(), v.size() ) ); + } +}; + +template<> +struct hash< nonstd::wstring_view > +{ +public: + std::size_t operator()( nonstd::wstring_view v ) const nssv_noexcept + { + return std::hash()( std::wstring( v.data(), v.size() ) ); + } +}; + +template<> +struct hash< nonstd::u16string_view > +{ +public: + std::size_t operator()( nonstd::u16string_view v ) const nssv_noexcept + { + return std::hash()( std::u16string( v.data(), v.size() ) ); + } +}; + +template<> +struct hash< nonstd::u32string_view > +{ +public: + std::size_t operator()( nonstd::u32string_view v ) const nssv_noexcept + { + return std::hash()( std::u32string( v.data(), v.size() ) ); + } +}; + +} // namespace std + +#endif // nssv_HAVE_STD_HASH + +nssv_RESTORE_WARNINGS() + +#endif // nssv_HAVE_STD_STRING_VIEW +#endif // NONSTD_SV_LITE_H_INCLUDED + + + +namespace inja { + +enum class ElementNotation { + Dot, + Pointer +}; + +struct LexerConfig { + std::string statement_open {"{%"}; + std::string statement_close {"%}"}; + std::string line_statement {"##"}; + std::string expression_open {"{{"}; + std::string expression_close {"}}"}; + std::string comment_open {"{#"}; + std::string comment_close {"#}"}; + std::string open_chars {"#{"}; + + void update_open_chars() { + open_chars = ""; + if (open_chars.find(line_statement[0]) == std::string::npos) { + open_chars += line_statement[0]; + } + if (open_chars.find(statement_open[0]) == std::string::npos) { + open_chars += statement_open[0]; + } + if (open_chars.find(expression_open[0]) == std::string::npos) { + open_chars += expression_open[0]; + } + if (open_chars.find(comment_open[0]) == std::string::npos) { + open_chars += comment_open[0]; + } + } +}; + +struct ParserConfig { + ElementNotation notation {ElementNotation::Dot}; +}; + +} + +#endif // PANTOR_INJA_CONFIG_HPP + +// #include "function_storage.hpp" +#ifndef PANTOR_INJA_FUNCTION_STORAGE_HPP +#define PANTOR_INJA_FUNCTION_STORAGE_HPP + +// #include "bytecode.hpp" +#ifndef PANTOR_INJA_BYTECODE_HPP +#define PANTOR_INJA_BYTECODE_HPP + +#include + +#include + +// #include "string_view.hpp" + + + +namespace inja { + +using namespace nlohmann; + + +struct Bytecode { + enum class Op : uint8_t { + Nop, + // print StringRef (always immediate) + PrintText, + // print value + PrintValue, + // push value onto stack (always immediate) + Push, + + // builtin functions + // result is pushed to stack + // args specify number of arguments + // all functions can take their "last" argument either immediate + // or popped off stack (e.g. if immediate, it's like the immediate was + // just pushed to the stack) + Not, + And, + Or, + In, + Equal, + Greater, + GreaterEqual, + Less, + LessEqual, + Different, + DivisibleBy, + Even, + First, + Float, + Int, + Last, + Length, + Lower, + Max, + Min, + Odd, + Range, + Result, + Round, + Sort, + Upper, + Exists, + ExistsInObject, + IsBoolean, + IsNumber, + IsInteger, + IsFloat, + IsObject, + IsArray, + IsString, + Default, + + // include another template + // value is the template name + Include, + + // callback function + // str is the function name (this means it cannot be a lookup) + // args specify number of arguments + // as with builtin functions, "last" argument can be immediate + Callback, + + // unconditional jump + // args is the index of the bytecode to jump to. + Jump, + + // conditional jump + // value popped off stack is checked for truthyness + // if false, args is the index of the bytecode to jump to. + // if true, no action is taken (falls through) + ConditionalJump, + + // start loop + // value popped off stack is what is iterated over + // args is index of bytecode after end loop (jumped to if iterable is + // empty) + // immediate value is key name (for maps) + // str is value name + StartLoop, + + // end a loop + // args is index of the first bytecode in the loop body + EndLoop, + }; + + enum Flag { + // location of value for value-taking ops (mask) + ValueMask = 0x03, + // pop value off stack + ValuePop = 0x00, + // value is immediate rather than on stack + ValueImmediate = 0x01, + // lookup immediate str (dot notation) + ValueLookupDot = 0x02, + // lookup immediate str (json pointer notation) + ValueLookupPointer = 0x03, + }; + + Op op {Op::Nop}; + uint32_t args: 30; + uint32_t flags: 2; + + json value; + std::string str; + + Bytecode(): args(0), flags(0) {} + explicit Bytecode(Op op, unsigned int args = 0): op(op), args(args), flags(0) {} + explicit Bytecode(Op op, nonstd::string_view str, unsigned int flags): op(op), args(0), flags(flags), str(str) {} + explicit Bytecode(Op op, json&& value, unsigned int flags): op(op), args(0), flags(flags), value(std::move(value)) {} +}; + +} // namespace inja + +#endif // PANTOR_INJA_BYTECODE_HPP + +// #include "string_view.hpp" + + + +namespace inja { + +using namespace nlohmann; + +using Arguments = std::vector; +using CallbackFunction = std::function; + +class FunctionStorage { + public: + void add_builtin(nonstd::string_view name, unsigned int num_args, Bytecode::Op op) { + auto& data = get_or_new(name, num_args); + data.op = op; + } + + void add_callback(nonstd::string_view name, unsigned int num_args, const CallbackFunction& function) { + auto& data = get_or_new(name, num_args); + data.function = function; + } + + Bytecode::Op find_builtin(nonstd::string_view name, unsigned int num_args) const { + if (auto ptr = get(name, num_args)) { + return ptr->op; + } + return Bytecode::Op::Nop; + } + + CallbackFunction find_callback(nonstd::string_view name, unsigned int num_args) const { + if (auto ptr = get(name, num_args)) { + return ptr->function; + } + return nullptr; + } + + private: + struct FunctionData { + unsigned int num_args {0}; + Bytecode::Op op {Bytecode::Op::Nop}; // for builtins + CallbackFunction function; // for callbacks + }; + + FunctionData& get_or_new(nonstd::string_view name, unsigned int num_args) { + auto &vec = m_map[static_cast(name)]; + for (auto &i: vec) { + if (i.num_args == num_args) return i; + } + vec.emplace_back(); + vec.back().num_args = num_args; + return vec.back(); + } + + const FunctionData* get(nonstd::string_view name, unsigned int num_args) const { + auto it = m_map.find(static_cast(name)); + if (it == m_map.end()) return nullptr; + for (auto &&i: it->second) { + if (i.num_args == num_args) return &i; + } + return nullptr; + } + + std::map> m_map; +}; + +} + +#endif // PANTOR_INJA_FUNCTION_STORAGE_HPP + +// #include "parser.hpp" +#ifndef PANTOR_INJA_PARSER_HPP +#define PANTOR_INJA_PARSER_HPP + +#include + +// #include "bytecode.hpp" + +// #include "config.hpp" + +// #include "function_storage.hpp" + +// #include "lexer.hpp" +#ifndef PANTOR_INJA_LEXER_HPP +#define PANTOR_INJA_LEXER_HPP + +#include +#include + +// #include "config.hpp" + +// #include "token.hpp" +#ifndef PANTOR_INJA_TOKEN_HPP +#define PANTOR_INJA_TOKEN_HPP + +// #include "string_view.hpp" + + + +namespace inja { + +struct Token { + enum class Kind { + Text, + ExpressionOpen, // {{ + ExpressionClose, // }} + LineStatementOpen, // ## + LineStatementClose, // \n + StatementOpen, // {% + StatementClose, // %} + CommentOpen, // {# + CommentClose, // #} + Id, // this, this.foo + Number, // 1, 2, -1, 5.2, -5.3 + String, // "this" + Comma, // , + Colon, // : + LeftParen, // ( + RightParen, // ) + LeftBracket, // [ + RightBracket, // ] + LeftBrace, // { + RightBrace, // } + Equal, // == + GreaterThan, // > + GreaterEqual, // >= + LessThan, // < + LessEqual, // <= + NotEqual, // != + Unknown, + Eof + } kind {Kind::Unknown}; + + nonstd::string_view text; + + constexpr Token() = default; + constexpr Token(Kind kind, nonstd::string_view text): kind(kind), text(text) {} + + std::string describe() const { + switch (kind) { + case Kind::Text: + return ""; + case Kind::LineStatementClose: + return ""; + case Kind::Eof: + return ""; + default: + return static_cast(text); + } + } +}; + +} + +#endif // PANTOR_INJA_TOKEN_HPP + +// #include "utils.hpp" +#ifndef PANTOR_INJA_UTILS_HPP +#define PANTOR_INJA_UTILS_HPP + +#include + +// #include "string_view.hpp" + + + +namespace inja { + +inline void inja_throw(const std::string& type, const std::string& message) { + throw std::runtime_error("[inja.exception." + type + "] " + message); +} + +namespace string_view { + inline nonstd::string_view slice(nonstd::string_view view, size_t start, size_t end) { + start = std::min(start, view.size()); + end = std::min(std::max(start, end), view.size()); + return view.substr(start, end - start); // StringRef(Data + Start, End - Start); + } + + inline std::pair split(nonstd::string_view view, char Separator) { + size_t idx = view.find(Separator); + if (idx == nonstd::string_view::npos) { + return std::make_pair(view, nonstd::string_view()); + } + return std::make_pair(slice(view, 0, idx), slice(view, idx + 1, nonstd::string_view::npos)); + } + + inline bool starts_with(nonstd::string_view view, nonstd::string_view prefix) { + return (view.size() >= prefix.size() && view.compare(0, prefix.size(), prefix) == 0); + } +} // namespace string + +} // namespace inja + +#endif // PANTOR_INJA_UTILS_HPP + + + +namespace inja { + +class Lexer { + enum class State { + Text, + ExpressionStart, + ExpressionBody, + LineStart, + LineBody, + StatementStart, + StatementBody, + CommentStart, + CommentBody + } m_state; + + const LexerConfig& m_config; + nonstd::string_view m_in; + size_t m_tok_start; + size_t m_pos; + + public: + explicit Lexer(const LexerConfig& config) : m_config(config) {} + + void start(nonstd::string_view in) { + m_in = in; + m_tok_start = 0; + m_pos = 0; + m_state = State::Text; + } + + Token scan() { + m_tok_start = m_pos; + + again: + if (m_tok_start >= m_in.size()) return make_token(Token::Kind::Eof); + + switch (m_state) { + default: + case State::Text: { + // fast-scan to first open character + size_t open_start = m_in.substr(m_pos).find_first_of(m_config.open_chars); + if (open_start == nonstd::string_view::npos) { + // didn't find open, return remaining text as text token + m_pos = m_in.size(); + return make_token(Token::Kind::Text); + } + m_pos += open_start; + + // try to match one of the opening sequences, and get the close + nonstd::string_view open_str = m_in.substr(m_pos); + if (inja::string_view::starts_with(open_str, m_config.expression_open)) { + m_state = State::ExpressionStart; + } else if (inja::string_view::starts_with(open_str, m_config.statement_open)) { + m_state = State::StatementStart; + } else if (inja::string_view::starts_with(open_str, m_config.comment_open)) { + m_state = State::CommentStart; + } else if ((m_pos == 0 || m_in[m_pos - 1] == '\n') && + inja::string_view::starts_with(open_str, m_config.line_statement)) { + m_state = State::LineStart; + } else { + m_pos += 1; // wasn't actually an opening sequence + goto again; + } + if (m_pos == m_tok_start) goto again; // don't generate empty token + return make_token(Token::Kind::Text); + } + case State::ExpressionStart: { + m_state = State::ExpressionBody; + m_pos += m_config.expression_open.size(); + return make_token(Token::Kind::ExpressionOpen); + } + case State::LineStart: { + m_state = State::LineBody; + m_pos += m_config.line_statement.size(); + return make_token(Token::Kind::LineStatementOpen); + } + case State::StatementStart: { + m_state = State::StatementBody; + m_pos += m_config.statement_open.size(); + return make_token(Token::Kind::StatementOpen); + } + case State::CommentStart: { + m_state = State::CommentBody; + m_pos += m_config.comment_open.size(); + return make_token(Token::Kind::CommentOpen); + } + case State::ExpressionBody: + return scan_body(m_config.expression_close, Token::Kind::ExpressionClose); + case State::LineBody: + return scan_body("\n", Token::Kind::LineStatementClose); + case State::StatementBody: + return scan_body(m_config.statement_close, Token::Kind::StatementClose); + case State::CommentBody: { + // fast-scan to comment close + size_t end = m_in.substr(m_pos).find(m_config.comment_close); + if (end == nonstd::string_view::npos) { + m_pos = m_in.size(); + return make_token(Token::Kind::Eof); + } + // return the entire comment in the close token + m_state = State::Text; + m_pos += end + m_config.comment_close.size(); + return make_token(Token::Kind::CommentClose); + } + } + } + + const LexerConfig& get_config() const { return m_config; } + + private: + Token scan_body(nonstd::string_view close, Token::Kind closeKind) { + again: + // skip whitespace (except for \n as it might be a close) + if (m_tok_start >= m_in.size()) return make_token(Token::Kind::Eof); + char ch = m_in[m_tok_start]; + if (ch == ' ' || ch == '\t' || ch == '\r') { + m_tok_start += 1; + goto again; + } + + // check for close + if (inja::string_view::starts_with(m_in.substr(m_tok_start), close)) { + m_state = State::Text; + m_pos = m_tok_start + close.size(); + return make_token(closeKind); + } + + // skip \n + if (ch == '\n') { + m_tok_start += 1; + goto again; + } + + m_pos = m_tok_start + 1; + if (std::isalpha(ch)) return scan_id(); + switch (ch) { + case ',': + return make_token(Token::Kind::Comma); + case ':': + return make_token(Token::Kind::Colon); + case '(': + return make_token(Token::Kind::LeftParen); + case ')': + return make_token(Token::Kind::RightParen); + case '[': + return make_token(Token::Kind::LeftBracket); + case ']': + return make_token(Token::Kind::RightBracket); + case '{': + return make_token(Token::Kind::LeftBrace); + case '}': + return make_token(Token::Kind::RightBrace); + case '>': + if (m_pos < m_in.size() && m_in[m_pos] == '=') { + m_pos += 1; + return make_token(Token::Kind::GreaterEqual); + } + return make_token(Token::Kind::GreaterThan); + case '<': + if (m_pos < m_in.size() && m_in[m_pos] == '=') { + m_pos += 1; + return make_token(Token::Kind::LessEqual); + } + return make_token(Token::Kind::LessThan); + case '=': + if (m_pos < m_in.size() && m_in[m_pos] == '=') { + m_pos += 1; + return make_token(Token::Kind::Equal); + } + return make_token(Token::Kind::Unknown); + case '!': + if (m_pos < m_in.size() && m_in[m_pos] == '=') { + m_pos += 1; + return make_token(Token::Kind::NotEqual); + } + return make_token(Token::Kind::Unknown); + case '\"': + return scan_string(); + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case '-': + return scan_number(); + case '_': + return scan_id(); + default: + return make_token(Token::Kind::Unknown); + } + } + + Token scan_id() { + for (;;) { + if (m_pos >= m_in.size()) { + break; + } + char ch = m_in[m_pos]; + if (!std::isalnum(ch) && ch != '.' && ch != '/' && ch != '_' && ch != '-') { + break; + } + m_pos += 1; + } + return make_token(Token::Kind::Id); + } + + Token scan_number() { + for (;;) { + if (m_pos >= m_in.size()) { + break; + } + char ch = m_in[m_pos]; + // be very permissive in lexer (we'll catch errors when conversion happens) + if (!std::isdigit(ch) && ch != '.' && ch != 'e' && ch != 'E' && ch != '+' && ch != '-') { + break; + } + m_pos += 1; + } + return make_token(Token::Kind::Number); + } + + Token scan_string() { + bool escape {false}; + for (;;) { + if (m_pos >= m_in.size()) break; + char ch = m_in[m_pos++]; + if (ch == '\\') { + escape = true; + } else if (!escape && ch == m_in[m_tok_start]) { + break; + } else { + escape = false; + } + } + return make_token(Token::Kind::String); + } + + Token make_token(Token::Kind kind) const { + return Token(kind, string_view::slice(m_in, m_tok_start, m_pos)); + } +}; + +} + +#endif // PANTOR_INJA_LEXER_HPP + +// #include "template.hpp" +#ifndef PANTOR_INJA_TEMPLATE_HPP +#define PANTOR_INJA_TEMPLATE_HPP + +#include +#include + +// #include "bytecode.hpp" + + + +namespace inja { + +struct Template { + std::vector bytecodes; + std::string content; +}; + +using TemplateStorage = std::map; + +} + +#endif // PANTOR_INJA_TEMPLATE_HPP + +// #include "token.hpp" + +// #include "utils.hpp" + + +#include + + +namespace inja { + +class ParserStatic { + ParserStatic() { + functions.add_builtin("default", 2, Bytecode::Op::Default); + functions.add_builtin("divisibleBy", 2, Bytecode::Op::DivisibleBy); + functions.add_builtin("even", 1, Bytecode::Op::Even); + functions.add_builtin("first", 1, Bytecode::Op::First); + functions.add_builtin("float", 1, Bytecode::Op::Float); + functions.add_builtin("int", 1, Bytecode::Op::Int); + functions.add_builtin("last", 1, Bytecode::Op::Last); + functions.add_builtin("length", 1, Bytecode::Op::Length); + functions.add_builtin("lower", 1, Bytecode::Op::Lower); + functions.add_builtin("max", 1, Bytecode::Op::Max); + functions.add_builtin("min", 1, Bytecode::Op::Min); + functions.add_builtin("odd", 1, Bytecode::Op::Odd); + functions.add_builtin("range", 1, Bytecode::Op::Range); + functions.add_builtin("round", 2, Bytecode::Op::Round); + functions.add_builtin("sort", 1, Bytecode::Op::Sort); + functions.add_builtin("upper", 1, Bytecode::Op::Upper); + functions.add_builtin("exists", 1, Bytecode::Op::Exists); + functions.add_builtin("existsIn", 2, Bytecode::Op::ExistsInObject); + functions.add_builtin("isBoolean", 1, Bytecode::Op::IsBoolean); + functions.add_builtin("isNumber", 1, Bytecode::Op::IsNumber); + functions.add_builtin("isInteger", 1, Bytecode::Op::IsInteger); + functions.add_builtin("isFloat", 1, Bytecode::Op::IsFloat); + functions.add_builtin("isObject", 1, Bytecode::Op::IsObject); + functions.add_builtin("isArray", 1, Bytecode::Op::IsArray); + functions.add_builtin("isString", 1, Bytecode::Op::IsString); + } + + public: + ParserStatic(const ParserStatic&) = delete; + ParserStatic& operator=(const ParserStatic&) = delete; + + static const ParserStatic& get_instance() { + static ParserStatic inst; + return inst; + } + + FunctionStorage functions; +}; + +class Parser { + public: + explicit Parser(const ParserConfig& parser_config, const LexerConfig& lexer_config, TemplateStorage& included_templates): m_config(parser_config), m_lexer(lexer_config), m_included_templates(included_templates), m_static(ParserStatic::get_instance()) { } + + bool parse_expression(Template& tmpl) { + if (!parse_expression_and(tmpl)) return false; + if (m_tok.kind != Token::Kind::Id || m_tok.text != "or") return true; + get_next_token(); + if (!parse_expression_and(tmpl)) return false; + append_function(tmpl, Bytecode::Op::Or, 2); + return true; + } + + bool parse_expression_and(Template& tmpl) { + if (!parse_expression_not(tmpl)) return false; + if (m_tok.kind != Token::Kind::Id || m_tok.text != "and") return true; + get_next_token(); + if (!parse_expression_not(tmpl)) return false; + append_function(tmpl, Bytecode::Op::And, 2); + return true; + } + + bool parse_expression_not(Template& tmpl) { + if (m_tok.kind == Token::Kind::Id && m_tok.text == "not") { + get_next_token(); + if (!parse_expression_not(tmpl)) return false; + append_function(tmpl, Bytecode::Op::Not, 1); + return true; + } else { + return parse_expression_comparison(tmpl); + } + } + + bool parse_expression_comparison(Template& tmpl) { + if (!parse_expression_datum(tmpl)) return false; + Bytecode::Op op; + switch (m_tok.kind) { + case Token::Kind::Id: + if (m_tok.text == "in") + op = Bytecode::Op::In; + else + return true; + break; + case Token::Kind::Equal: + op = Bytecode::Op::Equal; + break; + case Token::Kind::GreaterThan: + op = Bytecode::Op::Greater; + break; + case Token::Kind::LessThan: + op = Bytecode::Op::Less; + break; + case Token::Kind::LessEqual: + op = Bytecode::Op::LessEqual; + break; + case Token::Kind::GreaterEqual: + op = Bytecode::Op::GreaterEqual; + break; + case Token::Kind::NotEqual: + op = Bytecode::Op::Different; + break; + default: + return true; + } + get_next_token(); + if (!parse_expression_datum(tmpl)) return false; + append_function(tmpl, op, 2); + return true; + } + + bool parse_expression_datum(Template& tmpl) { + nonstd::string_view json_first; + size_t bracket_level = 0; + size_t brace_level = 0; + + for (;;) { + switch (m_tok.kind) { + case Token::Kind::LeftParen: { + get_next_token(); + if (!parse_expression(tmpl)) return false; + if (m_tok.kind != Token::Kind::RightParen) { + inja_throw("parser_error", "unmatched '('"); + } + get_next_token(); + return true; + } + case Token::Kind::Id: + get_peek_token(); + if (m_peek_tok.kind == Token::Kind::LeftParen) { + // function call, parse arguments + Token func_token = m_tok; + get_next_token(); // id + get_next_token(); // leftParen + unsigned int num_args = 0; + if (m_tok.kind == Token::Kind::RightParen) { + // no args + get_next_token(); + } else { + for (;;) { + if (!parse_expression(tmpl)) { + inja_throw("parser_error", "expected expression, got '" + m_tok.describe() + "'"); + } + num_args += 1; + if (m_tok.kind == Token::Kind::RightParen) { + get_next_token(); + break; + } + if (m_tok.kind != Token::Kind::Comma) { + inja_throw("parser_error", "expected ')' or ',', got '" + m_tok.describe() + "'"); + } + get_next_token(); + } + } + + auto op = m_static.functions.find_builtin(func_token.text, num_args); + + if (op != Bytecode::Op::Nop) { + // swap arguments for default(); see comment in RenderTo() + if (op == Bytecode::Op::Default) + std::swap(tmpl.bytecodes.back(), *(tmpl.bytecodes.rbegin() + 1)); + append_function(tmpl, op, num_args); + return true; + } else { + append_callback(tmpl, func_token.text, num_args); + return true; + } + } else if (m_tok.text == "true" || m_tok.text == "false" || m_tok.text == "null") { + // true, false, null are json literals + if (brace_level == 0 && bracket_level == 0) { + json_first = m_tok.text; + goto returnJson; + } + break; + } else { + // normal literal (json read) + tmpl.bytecodes.emplace_back( + Bytecode::Op::Push, m_tok.text, + m_config.notation == ElementNotation::Pointer ? Bytecode::Flag::ValueLookupPointer : Bytecode::Flag::ValueLookupDot); + get_next_token(); + return true; + } + // json passthrough + case Token::Kind::Number: + case Token::Kind::String: + if (brace_level == 0 && bracket_level == 0) { + json_first = m_tok.text; + goto returnJson; + } + break; + case Token::Kind::Comma: + case Token::Kind::Colon: + if (brace_level == 0 && bracket_level == 0) { + inja_throw("parser_error", "unexpected token '" + m_tok.describe() + "'"); + } + break; + case Token::Kind::LeftBracket: + if (brace_level == 0 && bracket_level == 0) { + json_first = m_tok.text; + } + bracket_level += 1; + break; + case Token::Kind::LeftBrace: + if (brace_level == 0 && bracket_level == 0) { + json_first = m_tok.text; + } + brace_level += 1; + break; + case Token::Kind::RightBracket: + if (bracket_level == 0) { + inja_throw("parser_error", "unexpected ']'"); + } + --bracket_level; + if (brace_level == 0 && bracket_level == 0) goto returnJson; + break; + case Token::Kind::RightBrace: + if (brace_level == 0) { + inja_throw("parser_error", "unexpected '}'"); + } + --brace_level; + if (brace_level == 0 && bracket_level == 0) goto returnJson; + break; + default: + if (brace_level != 0) { + inja_throw("parser_error", "unmatched '{'"); + } + if (bracket_level != 0) { + inja_throw("parser_error", "unmatched '['"); + } + return false; + } + + get_next_token(); + } + + returnJson: + // bridge across all intermediate tokens + nonstd::string_view json_text(json_first.data(), m_tok.text.data() - json_first.data() + m_tok.text.size()); + tmpl.bytecodes.emplace_back(Bytecode::Op::Push, json::parse(json_text), Bytecode::Flag::ValueImmediate); + get_next_token(); + return true; + } + + bool parse_statement(Template& tmpl, nonstd::string_view path) { + if (m_tok.kind != Token::Kind::Id) return false; + + if (m_tok.text == "if") { + get_next_token(); + + // evaluate expression + if (!parse_expression(tmpl)) return false; + + // start a new if block on if stack + m_if_stack.emplace_back(tmpl.bytecodes.size()); + + // conditional jump; destination will be filled in by else or endif + tmpl.bytecodes.emplace_back(Bytecode::Op::ConditionalJump); + } else if (m_tok.text == "endif") { + if (m_if_stack.empty()) { + inja_throw("parser_error", "endif without matching if"); + } + auto& if_data = m_if_stack.back(); + get_next_token(); + + // previous conditional jump jumps here + if (if_data.prev_cond_jump != std::numeric_limits::max()) { + tmpl.bytecodes[if_data.prev_cond_jump].args = tmpl.bytecodes.size(); + } + + // update all previous unconditional jumps to here + for (unsigned int i: if_data.uncond_jumps) { + tmpl.bytecodes[i].args = tmpl.bytecodes.size(); + } + + // pop if stack + m_if_stack.pop_back(); + } else if (m_tok.text == "else") { + if (m_if_stack.empty()) + inja_throw("parser_error", "else without matching if"); + auto& if_data = m_if_stack.back(); + get_next_token(); + + // end previous block with unconditional jump to endif; destination will be + // filled in by endif + if_data.uncond_jumps.push_back(tmpl.bytecodes.size()); + tmpl.bytecodes.emplace_back(Bytecode::Op::Jump); + + // previous conditional jump jumps here + tmpl.bytecodes[if_data.prev_cond_jump].args = tmpl.bytecodes.size(); + if_data.prev_cond_jump = std::numeric_limits::max(); + + // chained else if + if (m_tok.kind == Token::Kind::Id && m_tok.text == "if") { + get_next_token(); + + // evaluate expression + if (!parse_expression(tmpl)) return false; + + // update "previous jump" + if_data.prev_cond_jump = tmpl.bytecodes.size(); + + // conditional jump; destination will be filled in by else or endif + tmpl.bytecodes.emplace_back(Bytecode::Op::ConditionalJump); + } + } else if (m_tok.text == "for") { + get_next_token(); + + // options: for a in arr; for a, b in obj + if (m_tok.kind != Token::Kind::Id) + inja_throw("parser_error", "expected id, got '" + m_tok.describe() + "'"); + Token value_token = m_tok; + get_next_token(); + + Token key_token; + if (m_tok.kind == Token::Kind::Comma) { + get_next_token(); + if (m_tok.kind != Token::Kind::Id) + inja_throw("parser_error", "expected id, got '" + m_tok.describe() + "'"); + key_token = std::move(value_token); + value_token = m_tok; + get_next_token(); + } + + if (m_tok.kind != Token::Kind::Id || m_tok.text != "in") + inja_throw("parser_error", + "expected 'in', got '" + m_tok.describe() + "'"); + get_next_token(); + + if (!parse_expression(tmpl)) return false; + + m_loop_stack.push_back(tmpl.bytecodes.size()); + + tmpl.bytecodes.emplace_back(Bytecode::Op::StartLoop); + if (!key_token.text.empty()) { + tmpl.bytecodes.back().value = key_token.text; + } + tmpl.bytecodes.back().str = static_cast(value_token.text); + } else if (m_tok.text == "endfor") { + get_next_token(); + if (m_loop_stack.empty()) { + inja_throw("parser_error", "endfor without matching for"); + } + + // update loop with EndLoop index (for empty case) + tmpl.bytecodes[m_loop_stack.back()].args = tmpl.bytecodes.size(); + + tmpl.bytecodes.emplace_back(Bytecode::Op::EndLoop); + tmpl.bytecodes.back().args = m_loop_stack.back() + 1; // loop body + m_loop_stack.pop_back(); + } else if (m_tok.text == "include") { + get_next_token(); + + if (m_tok.kind != Token::Kind::String) { + inja_throw("parser_error", "expected string, got '" + m_tok.describe() + "'"); + } + + // build the relative path + json json_name = json::parse(m_tok.text); + std::string pathname = static_cast(path); + pathname += json_name.get_ref(); + if (pathname.compare(0, 2, "./") == 0) { + pathname.erase(0, 2); + } + // sys::path::remove_dots(pathname, true, sys::path::Style::posix); + + Template include_template = parse_template(pathname); + m_included_templates.emplace(pathname, include_template); + + // generate a reference bytecode + tmpl.bytecodes.emplace_back(Bytecode::Op::Include, json(pathname), Bytecode::Flag::ValueImmediate); + + get_next_token(); + } else { + return false; + } + return true; + } + + void append_function(Template& tmpl, Bytecode::Op op, unsigned int num_args) { + // we can merge with back-to-back push + if (!tmpl.bytecodes.empty()) { + Bytecode& last = tmpl.bytecodes.back(); + if (last.op == Bytecode::Op::Push) { + last.op = op; + last.args = num_args; + return; + } + } + + // otherwise just add it to the end + tmpl.bytecodes.emplace_back(op, num_args); + } + + void append_callback(Template& tmpl, nonstd::string_view name, unsigned int num_args) { + // we can merge with back-to-back push value (not lookup) + if (!tmpl.bytecodes.empty()) { + Bytecode& last = tmpl.bytecodes.back(); + if (last.op == Bytecode::Op::Push && + (last.flags & Bytecode::Flag::ValueMask) == Bytecode::Flag::ValueImmediate) { + last.op = Bytecode::Op::Callback; + last.args = num_args; + last.str = static_cast(name); + return; + } + } + + // otherwise just add it to the end + tmpl.bytecodes.emplace_back(Bytecode::Op::Callback, num_args); + tmpl.bytecodes.back().str = static_cast(name); + } + + void parse_into(Template& tmpl, nonstd::string_view path) { + m_lexer.start(tmpl.content); + + for (;;) { + get_next_token(); + switch (m_tok.kind) { + case Token::Kind::Eof: + if (!m_if_stack.empty()) inja_throw("parser_error", "unmatched if"); + if (!m_loop_stack.empty()) inja_throw("parser_error", "unmatched for"); + return; + case Token::Kind::Text: + tmpl.bytecodes.emplace_back(Bytecode::Op::PrintText, m_tok.text, 0u); + break; + case Token::Kind::StatementOpen: + get_next_token(); + if (!parse_statement(tmpl, path)) { + inja_throw("parser_error", "expected statement, got '" + m_tok.describe() + "'"); + } + if (m_tok.kind != Token::Kind::StatementClose) { + inja_throw("parser_error", "expected statement close, got '" + m_tok.describe() + "'"); + } + break; + case Token::Kind::LineStatementOpen: + get_next_token(); + parse_statement(tmpl, path); + if (m_tok.kind != Token::Kind::LineStatementClose && + m_tok.kind != Token::Kind::Eof) { + inja_throw("parser_error", "expected line statement close, got '" + m_tok.describe() + "'"); + } + break; + case Token::Kind::ExpressionOpen: + get_next_token(); + if (!parse_expression(tmpl)) { + inja_throw("parser_error", "expected expression, got '" + m_tok.describe() + "'"); + } + append_function(tmpl, Bytecode::Op::PrintValue, 1); + if (m_tok.kind != Token::Kind::ExpressionClose) { + inja_throw("parser_error", "expected expression close, got '" + m_tok.describe() + "'"); + } + break; + case Token::Kind::CommentOpen: + get_next_token(); + if (m_tok.kind != Token::Kind::CommentClose) { + inja_throw("parser_error", "expected comment close, got '" + m_tok.describe() + "'"); + } + break; + default: + inja_throw("parser_error", "unexpected token '" + m_tok.describe() + "'"); + break; + } + } + } + + Template parse(nonstd::string_view input, nonstd::string_view path) { + Template result; + result.content = static_cast(input); + parse_into(result, path); + return result; + } + + Template parse(nonstd::string_view input) { + return parse(input, "./"); + } + + Template parse_template(nonstd::string_view filename) { + Template result; + result.content = load_file(filename); + + nonstd::string_view path = filename.substr(0, filename.find_last_of("/\\") + 1); + // StringRef path = sys::path::parent_path(filename); + Parser(m_config, m_lexer.get_config(), m_included_templates).parse_into(result, path); + return result; + } + + std::string load_file(nonstd::string_view filename) { + std::ifstream file(static_cast(filename)); + std::string text((std::istreambuf_iterator(file)), std::istreambuf_iterator()); + return text; + } + + private: + const ParserConfig& m_config; + Lexer m_lexer; + Token m_tok; + Token m_peek_tok; + bool m_have_peek_tok {false}; + TemplateStorage& m_included_templates; + const ParserStatic& m_static; + + struct IfData { + unsigned int prev_cond_jump; + std::vector uncond_jumps; + + explicit IfData(unsigned int condJump): prev_cond_jump(condJump) {} + }; + + std::vector m_if_stack; + std::vector m_loop_stack; + + void get_next_token() { + if (m_have_peek_tok) { + m_tok = m_peek_tok; + m_have_peek_tok = false; + } else { + m_tok = m_lexer.scan(); + } + } + + void get_peek_token() { + if (!m_have_peek_tok) { + m_peek_tok = m_lexer.scan(); + m_have_peek_tok = true; + } + } +}; + +} // namespace inja + +#endif // PANTOR_INJA_PARSER_HPP + +// #include "polyfill.hpp" +#ifndef PANTOR_INJA_POLYFILL_HPP +#define PANTOR_INJA_POLYFILL_HPP + + +#if __cplusplus < 201402L + +#include +#include +#include + + +namespace stdinja { + template struct _Unique_if { + typedef std::unique_ptr _Single_object; + }; + + template struct _Unique_if { + typedef std::unique_ptr _Unknown_bound; + }; + + template struct _Unique_if { + typedef void _Known_bound; + }; + + template + typename _Unique_if::_Single_object + make_unique(Args&&... args) { + return std::unique_ptr(new T(std::forward(args)...)); + } + + template + typename _Unique_if::_Unknown_bound + make_unique(size_t n) { + typedef typename std::remove_extent::type U; + return std::unique_ptr(new U[n]()); + } + + template + typename _Unique_if::_Known_bound + make_unique(Args&&...) = delete; +} + +#else + +namespace stdinja = std; + +#endif // memory */ + + +#endif // PANTOR_INJA_POLYFILL_HPP + +// #include "renderer.hpp" +#ifndef PANTOR_INJA_RENDERER_HPP +#define PANTOR_INJA_RENDERER_HPP + +#include +#include + +#include + +// #include "bytecode.hpp" + +// #include "template.hpp" + +// #include "utils.hpp" + + + +namespace inja { + +inline nonstd::string_view convert_dot_to_json_pointer(nonstd::string_view dot, std::string& out) { + out.clear(); + do { + nonstd::string_view part; + std::tie(part, dot) = string_view::split(dot, '.'); + out.push_back('/'); + out.append(part.begin(), part.end()); + } while (!dot.empty()); + return nonstd::string_view(out.data(), out.size()); +} + +class Renderer { + std::vector& get_args(const Bytecode& bc) { + m_tmp_args.clear(); + + bool has_imm = ((bc.flags & Bytecode::Flag::ValueMask) != Bytecode::Flag::ValuePop); + + // get args from stack + unsigned int pop_args = bc.args; + if (has_imm) { + pop_args -= 1; + } + + for (auto i = std::prev(m_stack.end(), pop_args); i != m_stack.end(); i++) { + m_tmp_args.push_back(&(*i)); + } + + // get immediate arg + if (has_imm) { + m_tmp_args.push_back(get_imm(bc)); + } + + return m_tmp_args; + } + + void pop_args(const Bytecode& bc) { + unsigned int popArgs = bc.args; + if ((bc.flags & Bytecode::Flag::ValueMask) != Bytecode::Flag::ValuePop) { + popArgs -= 1; + } + for (unsigned int i = 0; i < popArgs; ++i) { + m_stack.pop_back(); + } + } + + const json* get_imm(const Bytecode& bc) { + std::string ptr_buffer; + nonstd::string_view ptr; + switch (bc.flags & Bytecode::Flag::ValueMask) { + case Bytecode::Flag::ValuePop: + return nullptr; + case Bytecode::Flag::ValueImmediate: + return &bc.value; + case Bytecode::Flag::ValueLookupDot: + ptr = convert_dot_to_json_pointer(bc.str, ptr_buffer); + break; + case Bytecode::Flag::ValueLookupPointer: + ptr_buffer += '/'; + ptr_buffer += bc.str; + ptr = ptr_buffer; + break; + } + try { + return &m_data->at(json::json_pointer(ptr.data())); + } catch (std::exception&) { + // try to evaluate as a no-argument callback + if (auto callback = m_callbacks.find_callback(bc.str, 0)) { + std::vector arguments {}; + m_tmp_val = callback(arguments); + return &m_tmp_val; + } + inja_throw("render_error", "variable '" + static_cast(bc.str) + "' not found"); + return nullptr; + } + } + + bool truthy(const json& var) const { + if (var.empty()) { + return false; + } else if (var.is_number()) { + return (var != 0); + } else if (var.is_string()) { + return !var.empty(); + } + + try { + return var.get(); + } catch (json::type_error& e) { + inja_throw("json_error", e.what()); + throw; + } + } + + void update_loop_data() { + LoopLevel& level = m_loop_stack.back(); + + if (level.loop_type == LoopLevel::Type::Array) { + level.data[static_cast(level.value_name)] = level.values.at(level.index); // *level.it; + auto& loopData = level.data["loop"]; + loopData["index"] = level.index; + loopData["index1"] = level.index + 1; + loopData["is_first"] = (level.index == 0); + loopData["is_last"] = (level.index == level.size - 1); + } else { + level.data[static_cast(level.key_name)] = level.map_it->first; + level.data[static_cast(level.value_name)] = *level.map_it->second; + } + } + + const TemplateStorage& m_included_templates; + const FunctionStorage& m_callbacks; + + std::vector m_stack; + + + struct LoopLevel { + enum class Type { Map, Array }; + + Type loop_type; + nonstd::string_view key_name; // variable name for keys + nonstd::string_view value_name; // variable name for values + json data; // data with loop info added + + json values; // values to iterate over + + // loop over list + size_t index; // current list index + size_t size; // length of list + + // loop over map + using KeyValue = std::pair; + using MapValues = std::vector; + MapValues map_values; // values to iterate over + MapValues::iterator map_it; // iterator over values + + }; + + std::vector m_loop_stack; + const json* m_data; + + std::vector m_tmp_args; + json m_tmp_val; + + + public: + Renderer(const TemplateStorage& included_templates, const FunctionStorage& callbacks): m_included_templates(included_templates), m_callbacks(callbacks) { + m_stack.reserve(16); + m_tmp_args.reserve(4); + m_loop_stack.reserve(16); + } + + void render_to(std::ostream& os, const Template& tmpl, const json& data) { + m_data = &data; + + for (size_t i = 0; i < tmpl.bytecodes.size(); ++i) { + const auto& bc = tmpl.bytecodes[i]; + + switch (bc.op) { + case Bytecode::Op::Nop: { + break; + } + case Bytecode::Op::PrintText: { + os << bc.str; + break; + } + case Bytecode::Op::PrintValue: { + const json& val = *get_args(bc)[0]; + if (val.is_string()) + os << val.get_ref(); + else + os << val.dump(); + // val.dump(os); + pop_args(bc); + break; + } + case Bytecode::Op::Push: { + m_stack.emplace_back(*get_imm(bc)); + break; + } + case Bytecode::Op::Upper: { + auto result = get_args(bc)[0]->get(); + std::transform(result.begin(), result.end(), result.begin(), ::toupper); + pop_args(bc); + m_stack.emplace_back(std::move(result)); + break; + } + case Bytecode::Op::Lower: { + auto result = get_args(bc)[0]->get(); + std::transform(result.begin(), result.end(), result.begin(), ::tolower); + pop_args(bc); + m_stack.emplace_back(std::move(result)); + break; + } + case Bytecode::Op::Range: { + int number = get_args(bc)[0]->get(); + std::vector result(number); + std::iota(std::begin(result), std::end(result), 0); + pop_args(bc); + m_stack.emplace_back(std::move(result)); + break; + } + case Bytecode::Op::Length: { + auto result = get_args(bc)[0]->size(); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::Sort: { + auto result = get_args(bc)[0]->get>(); + std::sort(result.begin(), result.end()); + pop_args(bc); + m_stack.emplace_back(std::move(result)); + break; + } + case Bytecode::Op::First: { + auto result = get_args(bc)[0]->front(); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::Last: { + auto result = get_args(bc)[0]->back(); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::Round: { + auto args = get_args(bc); + double number = args[0]->get(); + int precision = args[1]->get(); + pop_args(bc); + m_stack.emplace_back(std::round(number * std::pow(10.0, precision)) / std::pow(10.0, precision)); + break; + } + case Bytecode::Op::DivisibleBy: { + auto args = get_args(bc); + int number = args[0]->get(); + int divisor = args[1]->get(); + pop_args(bc); + m_stack.emplace_back((divisor != 0) && (number % divisor == 0)); + break; + } + case Bytecode::Op::Odd: { + int number = get_args(bc)[0]->get(); + pop_args(bc); + m_stack.emplace_back(number % 2 != 0); + break; + } + case Bytecode::Op::Even: { + int number = get_args(bc)[0]->get(); + pop_args(bc); + m_stack.emplace_back(number % 2 == 0); + break; + } + case Bytecode::Op::Max: { + auto args = get_args(bc); + auto result = *std::max_element(args[0]->begin(), args[0]->end()); + pop_args(bc); + m_stack.emplace_back(std::move(result)); + break; + } + case Bytecode::Op::Min: { + auto args = get_args(bc); + auto result = *std::min_element(args[0]->begin(), args[0]->end()); + pop_args(bc); + m_stack.emplace_back(std::move(result)); + break; + } + case Bytecode::Op::Not: { + bool result = !truthy(*get_args(bc)[0]); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::And: { + auto args = get_args(bc); + bool result = truthy(*args[0]) && truthy(*args[1]); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::Or: { + auto args = get_args(bc); + bool result = truthy(*args[0]) || truthy(*args[1]); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::In: { + auto args = get_args(bc); + bool result = std::find(args[1]->begin(), args[1]->end(), *args[0]) != + args[1]->end(); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::Equal: { + auto args = get_args(bc); + bool result = (*args[0] == *args[1]); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::Greater: { + auto args = get_args(bc); + bool result = (*args[0] > *args[1]); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::Less: { + auto args = get_args(bc); + bool result = (*args[0] < *args[1]); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::GreaterEqual: { + auto args = get_args(bc); + bool result = (*args[0] >= *args[1]); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::LessEqual: { + auto args = get_args(bc); + bool result = (*args[0] <= *args[1]); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::Different: { + auto args = get_args(bc); + bool result = (*args[0] != *args[1]); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::Float: { + double result = + std::stod(get_args(bc)[0]->get_ref()); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::Int: { + int result = std::stoi(get_args(bc)[0]->get_ref()); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::Exists: { + auto&& name = get_args(bc)[0]->get_ref(); + bool result = (data.find(name) != data.end()); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::ExistsInObject: { + auto args = get_args(bc); + auto&& name = args[1]->get_ref(); + bool result = (args[0]->find(name) != args[0]->end()); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::IsBoolean: { + bool result = get_args(bc)[0]->is_boolean(); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::IsNumber: { + bool result = get_args(bc)[0]->is_number(); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::IsInteger: { + bool result = get_args(bc)[0]->is_number_integer(); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::IsFloat: { + bool result = get_args(bc)[0]->is_number_float(); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::IsObject: { + bool result = get_args(bc)[0]->is_object(); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::IsArray: { + bool result = get_args(bc)[0]->is_array(); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::IsString: { + bool result = get_args(bc)[0]->is_string(); + pop_args(bc); + m_stack.emplace_back(result); + break; + } + case Bytecode::Op::Default: { + // default needs to be a bit "magic"; we can't evaluate the first + // argument during the push operation, so we swap the arguments during + // the parse phase so the second argument is pushed on the stack and + // the first argument is in the immediate + try { + const json* imm = get_imm(bc); + // if no exception was raised, replace the stack value with it + m_stack.back() = *imm; + } catch (std::exception&) { + // couldn't read immediate, just leave the stack as is + } + break; + } + case Bytecode::Op::Include: + Renderer(m_included_templates, m_callbacks).render_to(os, m_included_templates.find(get_imm(bc)->get_ref())->second, data); + break; + case Bytecode::Op::Callback: { + auto callback = m_callbacks.find_callback(bc.str, bc.args); + if (!callback) { + inja_throw("render_error", "function '" + static_cast(bc.str) + "' (" + std::to_string(static_cast(bc.args)) + ") not found"); + } + json result = callback(get_args(bc)); + pop_args(bc); + m_stack.emplace_back(std::move(result)); + break; + } + case Bytecode::Op::Jump: { + i = bc.args - 1; // -1 due to ++i in loop + break; + } + case Bytecode::Op::ConditionalJump: { + if (!truthy(m_stack.back())) { + i = bc.args - 1; // -1 due to ++i in loop + } + m_stack.pop_back(); + break; + } + case Bytecode::Op::StartLoop: { + // jump past loop body if empty + if (m_stack.back().empty()) { + m_stack.pop_back(); + i = bc.args; // ++i in loop will take it past EndLoop + break; + } + + m_loop_stack.emplace_back(); + LoopLevel& level = m_loop_stack.back(); + level.value_name = bc.str; + level.values = std::move(m_stack.back()); + level.data = (*m_data); + m_stack.pop_back(); + + if (bc.value.is_string()) { + // map iterator + if (!level.values.is_object()) { + m_loop_stack.pop_back(); + inja_throw("render_error", "for key, value requires object"); + } + level.loop_type = LoopLevel::Type::Map; + level.key_name = bc.value.get_ref(); + + // sort by key + for (auto it = level.values.begin(), end = level.values.end(); it != end; ++it) { + level.map_values.emplace_back(it.key(), &it.value()); + } + std::sort(level.map_values.begin(), level.map_values.end(), [](const LoopLevel::KeyValue& a, const LoopLevel::KeyValue& b) { return a.first < b.first; }); + level.map_it = level.map_values.begin(); + } else { + if (!level.values.is_array()) { + m_loop_stack.pop_back(); + inja_throw("render_error", "type must be array"); + } + + // list iterator + level.loop_type = LoopLevel::Type::Array; + level.index = 0; + level.size = level.values.size(); + } + + // provide parent access in nested loop + auto parent_loop_it = level.data.find("loop"); + if (parent_loop_it != level.data.end()) { + json loop_copy = *parent_loop_it; + (*parent_loop_it)["parent"] = std::move(loop_copy); + } + + // set "current" data to loop data + m_data = &level.data; + update_loop_data(); + break; + } + case Bytecode::Op::EndLoop: { + if (m_loop_stack.empty()) { + inja_throw("render_error", "unexpected state in renderer"); + } + LoopLevel& level = m_loop_stack.back(); + + bool done; + if (level.loop_type == LoopLevel::Type::Array) { + level.index += 1; + done = (level.index == level.values.size()); + } else { + level.map_it += 1; + done = (level.map_it == level.map_values.end()); + } + + if (done) { + m_loop_stack.pop_back(); + // set "current" data to outer loop data or main data as appropriate + if (!m_loop_stack.empty()) { + m_data = &m_loop_stack.back().data; + } else { + m_data = &data; + } + break; + } + + update_loop_data(); + + // jump back to start of loop + i = bc.args - 1; // -1 due to ++i in loop + break; + } + default: { + inja_throw("render_error", "unknown op in renderer: " + std::to_string(static_cast(bc.op))); + } + } + } + } +}; + +} // namespace inja + +#endif // PANTOR_INJA_RENDERER_HPP + +// #include "string_view.hpp" + +// #include "template.hpp" + + + +namespace inja { + +using namespace nlohmann; + +class Environment { + class Impl { + public: + std::string input_path; + std::string output_path; + + LexerConfig lexer_config; + ParserConfig parser_config; + + FunctionStorage callbacks; + TemplateStorage included_templates; + }; + + std::unique_ptr m_impl; + + public: + Environment(): Environment("./") { } + + explicit Environment(const std::string& global_path): m_impl(stdinja::make_unique()) { + m_impl->input_path = global_path; + m_impl->output_path = global_path; + } + + explicit Environment(const std::string& input_path, const std::string& output_path): m_impl(stdinja::make_unique()) { + m_impl->input_path = input_path; + m_impl->output_path = output_path; + } + + /// Sets the opener and closer for template statements + void set_statement(const std::string& open, const std::string& close) { + m_impl->lexer_config.statement_open = open; + m_impl->lexer_config.statement_close = close; + m_impl->lexer_config.update_open_chars(); + } + + /// Sets the opener for template line statements + void set_line_statement(const std::string& open) { + m_impl->lexer_config.line_statement = open; + m_impl->lexer_config.update_open_chars(); + } + + /// Sets the opener and closer for template expressions + void set_expression(const std::string& open, const std::string& close) { + m_impl->lexer_config.expression_open = open; + m_impl->lexer_config.expression_close = close; + m_impl->lexer_config.update_open_chars(); + } + + /// Sets the opener and closer for template comments + void set_comment(const std::string& open, const std::string& close) { + m_impl->lexer_config.comment_open = open; + m_impl->lexer_config.comment_close = close; + m_impl->lexer_config.update_open_chars(); + } + + /// Sets the element notation syntax + void set_element_notation(ElementNotation notation) { + m_impl->parser_config.notation = notation; + } + + + Template parse(nonstd::string_view input) { + Parser parser(m_impl->parser_config, m_impl->lexer_config, m_impl->included_templates); + return parser.parse(input); + } + + Template parse_template(const std::string& filename) { + Parser parser(m_impl->parser_config, m_impl->lexer_config, m_impl->included_templates); + return parser.parse_template(m_impl->input_path + static_cast(filename)); + } + + std::string render(nonstd::string_view input, const json& data) { + return render(parse(input), data); + } + + std::string render(const Template& tmpl, const json& data) { + std::stringstream os; + render_to(os, tmpl, data); + return os.str(); + } + + std::string render_file(const std::string& filename, const json& data) { + return render(parse_template(filename), data); + } + + std::string render_file_with_json_file(const std::string& filename, const std::string& filename_data) { + const json data = load_json(filename_data); + return render_file(filename, data); + } + + void write(const std::string& filename, const json& data, const std::string& filename_out) { + std::ofstream file(m_impl->output_path + filename_out); + file << render_file(filename, data); + file.close(); + } + + void write(const Template& temp, const json& data, const std::string& filename_out) { + std::ofstream file(m_impl->output_path + filename_out); + file << render(temp, data); + file.close(); + } + + void write_with_json_file(const std::string& filename, const std::string& filename_data, const std::string& filename_out) { + const json data = load_json(filename_data); + write(filename, data, filename_out); + } + + void write_with_json_file(const Template& temp, const std::string& filename_data, const std::string& filename_out) { + const json data = load_json(filename_data); + write(temp, data, filename_out); + } + + std::ostream& render_to(std::ostream& os, const Template& tmpl, const json& data) { + Renderer(m_impl->included_templates, m_impl->callbacks).render_to(os, tmpl, data); + return os; + } + + std::string load_file(const std::string& filename) { + Parser parser(m_impl->parser_config, m_impl->lexer_config, m_impl->included_templates); + return parser.load_file(m_impl->input_path + filename); + } + + json load_json(const std::string& filename) { + std::ifstream file(m_impl->input_path + filename); + json j; + file >> j; + return j; + } + + void add_callback(const std::string& name, unsigned int numArgs, const CallbackFunction& callback) { + m_impl->callbacks.add_callback(name, numArgs, callback); + } + + /** Includes a template with a given name into the environment. + * Then, a template can be rendered in another template using the + * include "" syntax. + */ + void include_template(const std::string& name, const Template& tmpl) { + m_impl->included_templates[name] = tmpl; + } +}; + +/*! +@brief render with default settings to a string +*/ +inline std::string render(nonstd::string_view input, const json& data) { + return Environment().render(input, data); +} + +/*! +@brief render with default settings to the given output stream +*/ +inline void render_to(std::ostream& os, nonstd::string_view input, const json& data) { + Environment env; + env.render_to(os, env.parse(input), data); +} + +} + +#endif // PANTOR_INJA_ENVIRONMENT_HPP + +// #include "string_view.hpp" + +// #include "template.hpp" + +// #include "parser.hpp" + +// #include "renderer.hpp" + + + +#endif // PANTOR_INJA_HPP diff --git a/tools/jsonproc/jsonproc.cpp b/tools/jsonproc/jsonproc.cpp new file mode 100755 index 0000000000..efe48f39f5 --- /dev/null +++ b/tools/jsonproc/jsonproc.cpp @@ -0,0 +1,91 @@ +// jsonproc.cpp + +#include "jsonproc.h" + +#include + +#include +using std::string; + +#include +using namespace inja; +using json = nlohmann::json; + +std::map customVars; + +void set_custom_var(string key, string value) +{ + customVars[key] = value; +} + +string get_custom_var(string key) +{ + return customVars[key]; +} + +int main(int argc, char *argv[]) +{ + if (argc != 4) + FATAL_ERROR("USAGE: jsonproc \n"); + + string jsonfilepath = argv[1]; + string templateFilepath = argv[2]; + string outputFilepath = argv[3]; + + Environment env; + + // Add custom command callbacks. + env.add_callback("doNotModifyHeader", 0, [jsonfilepath, templateFilepath](Arguments& args) { + return "//\n// DO NOT MODIFY THIS FILE! IT IS AUTO-GENERATED FROM " + jsonfilepath +" and Inja template " + templateFilepath + "\n//\n"; + }); + + env.add_callback("setVar", 2, [=](Arguments& args) { + string key = args.at(0)->get(); + string value = args.at(1)->get(); + set_custom_var(key, value); + return ""; + }); + + env.add_callback("getVar", 1, [=](Arguments& args) { + string key = args.at(0)->get(); + return get_custom_var(key); + }); + + env.add_callback("concat", 2, [](Arguments& args) { + string first = args.at(0)->get(); + string second = args.at(1)->get(); + return first + second; + }); + + env.add_callback("removePrefix", 2, [](Arguments& args) { + string rawValue = args.at(0)->get(); + string prefix = args.at(1)->get(); + string::size_type i = rawValue.find(prefix); + if (i != 0) + return rawValue; + + return rawValue.erase(0, prefix.length()); + }); + + // Add custom command callbacks. + env.add_callback("removeSuffix", 2, [](Arguments& args) { + string rawValue = args.at(0)->get(); + string suffix = args.at(1)->get(); + string::size_type i = rawValue.rfind(suffix); + if (i == string::npos) + return rawValue; + + return rawValue.substr(0, i); + }); + + try + { + env.write_with_json_file(templateFilepath, jsonfilepath, outputFilepath); + } + catch (const std::exception& e) + { + FATAL_ERROR("JSONPROC_ERROR: %s\n", e.what()); + } + + return 0; +} diff --git a/tools/jsonproc/jsonproc.h b/tools/jsonproc/jsonproc.h new file mode 100755 index 0000000000..575fb3756c --- /dev/null +++ b/tools/jsonproc/jsonproc.h @@ -0,0 +1,32 @@ +// jsonproc.h + +#ifndef JSONPROC_H +#define JSONPROC_H + +#include +#include +using std::fprintf; using std::exit; + +#include + +#ifdef _MSC_VER + +#define FATAL_ERROR(format, ...) \ +do \ +{ \ + fprintf(stderr, format, __VA_ARGS__); \ + exit(1); \ +} while (0) + +#else + +#define FATAL_ERROR(format, ...) \ +do \ +{ \ + fprintf(stderr, format, ##__VA_ARGS__); \ + exit(1); \ +} while (0) + +#endif // _MSC_VER + +#endif // JSONPROC_H diff --git a/tools/jsonproc/nlohmann/json.hpp b/tools/jsonproc/nlohmann/json.hpp new file mode 100755 index 0000000000..5003a4fa2d --- /dev/null +++ b/tools/jsonproc/nlohmann/json.hpp @@ -0,0 +1,20842 @@ +/* + __ _____ _____ _____ + __| | __| | | | JSON for Modern C++ +| | |__ | | | | | | version 3.6.1 +|_____|_____|_____|_|___| https://github.com/nlohmann/json + +Licensed under the MIT License . +SPDX-License-Identifier: MIT +Copyright (c) 2013-2019 Niels Lohmann . + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +#ifndef INCLUDE_NLOHMANN_JSON_HPP_ +#define INCLUDE_NLOHMANN_JSON_HPP_ + +#define NLOHMANN_JSON_VERSION_MAJOR 3 +#define NLOHMANN_JSON_VERSION_MINOR 6 +#define NLOHMANN_JSON_VERSION_PATCH 1 + +#include // all_of, find, for_each +#include // assert +#include // and, not, or +#include // nullptr_t, ptrdiff_t, size_t +#include // hash, less +#include // initializer_list +#include // istream, ostream +#include // random_access_iterator_tag +#include // unique_ptr +#include // accumulate +#include // string, stoi, to_string +#include // declval, forward, move, pair, swap +#include // vector + +// #include + + +#include + +// #include + + +#include // transform +#include // array +#include // and, not +#include // forward_list +#include // inserter, front_inserter, end +#include // map +#include // string +#include // tuple, make_tuple +#include // is_arithmetic, is_same, is_enum, underlying_type, is_convertible +#include // unordered_map +#include // pair, declval +#include // valarray + +// #include + + +#include // exception +#include // runtime_error +#include // to_string + +// #include + + +#include // size_t + +namespace nlohmann +{ +namespace detail +{ +/// struct to capture the start position of the current token +struct position_t +{ + /// the total number of characters read + std::size_t chars_read_total = 0; + /// the number of characters read in the current line + std::size_t chars_read_current_line = 0; + /// the number of lines read + std::size_t lines_read = 0; + + /// conversion to size_t to preserve SAX interface + constexpr operator size_t() const + { + return chars_read_total; + } +}; + +} // namespace detail +} // namespace nlohmann + + +namespace nlohmann +{ +namespace detail +{ +//////////////// +// exceptions // +//////////////// + +/*! +@brief general exception of the @ref basic_json class + +This class is an extension of `std::exception` objects with a member @a id for +exception ids. It is used as the base class for all exceptions thrown by the +@ref basic_json class. This class can hence be used as "wildcard" to catch +exceptions. + +Subclasses: +- @ref parse_error for exceptions indicating a parse error +- @ref invalid_iterator for exceptions indicating errors with iterators +- @ref type_error for exceptions indicating executing a member function with + a wrong type +- @ref out_of_range for exceptions indicating access out of the defined range +- @ref other_error for exceptions indicating other library errors + +@internal +@note To have nothrow-copy-constructible exceptions, we internally use + `std::runtime_error` which can cope with arbitrary-length error messages. + Intermediate strings are built with static functions and then passed to + the actual constructor. +@endinternal + +@liveexample{The following code shows how arbitrary library exceptions can be +caught.,exception} + +@since version 3.0.0 +*/ +class exception : public std::exception +{ + public: + /// returns the explanatory string + const char* what() const noexcept override + { + return m.what(); + } + + /// the id of the exception + const int id; + + protected: + exception(int id_, const char* what_arg) : id(id_), m(what_arg) {} + + static std::string name(const std::string& ename, int id_) + { + return "[json.exception." + ename + "." + std::to_string(id_) + "] "; + } + + private: + /// an exception object as storage for error messages + std::runtime_error m; +}; + +/*! +@brief exception indicating a parse error + +This exception is thrown by the library when a parse error occurs. Parse errors +can occur during the deserialization of JSON text, CBOR, MessagePack, as well +as when using JSON Patch. + +Member @a byte holds the byte index of the last read character in the input +file. + +Exceptions have ids 1xx. + +name / id | example message | description +------------------------------ | --------------- | ------------------------- +json.exception.parse_error.101 | parse error at 2: unexpected end of input; expected string literal | This error indicates a syntax error while deserializing a JSON text. The error message describes that an unexpected token (character) was encountered, and the member @a byte indicates the error position. +json.exception.parse_error.102 | parse error at 14: missing or wrong low surrogate | JSON uses the `\uxxxx` format to describe Unicode characters. Code points above above 0xFFFF are split into two `\uxxxx` entries ("surrogate pairs"). This error indicates that the surrogate pair is incomplete or contains an invalid code point. +json.exception.parse_error.103 | parse error: code points above 0x10FFFF are invalid | Unicode supports code points up to 0x10FFFF. Code points above 0x10FFFF are invalid. +json.exception.parse_error.104 | parse error: JSON patch must be an array of objects | [RFC 6902](https://tools.ietf.org/html/rfc6902) requires a JSON Patch document to be a JSON document that represents an array of objects. +json.exception.parse_error.105 | parse error: operation must have string member 'op' | An operation of a JSON Patch document must contain exactly one "op" member, whose value indicates the operation to perform. Its value must be one of "add", "remove", "replace", "move", "copy", or "test"; other values are errors. +json.exception.parse_error.106 | parse error: array index '01' must not begin with '0' | An array index in a JSON Pointer ([RFC 6901](https://tools.ietf.org/html/rfc6901)) may be `0` or any number without a leading `0`. +json.exception.parse_error.107 | parse error: JSON pointer must be empty or begin with '/' - was: 'foo' | A JSON Pointer must be a Unicode string containing a sequence of zero or more reference tokens, each prefixed by a `/` character. +json.exception.parse_error.108 | parse error: escape character '~' must be followed with '0' or '1' | In a JSON Pointer, only `~0` and `~1` are valid escape sequences. +json.exception.parse_error.109 | parse error: array index 'one' is not a number | A JSON Pointer array index must be a number. +json.exception.parse_error.110 | parse error at 1: cannot read 2 bytes from vector | When parsing CBOR or MessagePack, the byte vector ends before the complete value has been read. +json.exception.parse_error.112 | parse error at 1: error reading CBOR; last byte: 0xF8 | Not all types of CBOR or MessagePack are supported. This exception occurs if an unsupported byte was read. +json.exception.parse_error.113 | parse error at 2: expected a CBOR string; last byte: 0x98 | While parsing a map key, a value that is not a string has been read. +json.exception.parse_error.114 | parse error: Unsupported BSON record type 0x0F | The parsing of the corresponding BSON record type is not implemented (yet). + +@note For an input with n bytes, 1 is the index of the first character and n+1 + is the index of the terminating null byte or the end of file. This also + holds true when reading a byte vector (CBOR or MessagePack). + +@liveexample{The following code shows how a `parse_error` exception can be +caught.,parse_error} + +@sa - @ref exception for the base class of the library exceptions +@sa - @ref invalid_iterator for exceptions indicating errors with iterators +@sa - @ref type_error for exceptions indicating executing a member function with + a wrong type +@sa - @ref out_of_range for exceptions indicating access out of the defined range +@sa - @ref other_error for exceptions indicating other library errors + +@since version 3.0.0 +*/ +class parse_error : public exception +{ + public: + /*! + @brief create a parse error exception + @param[in] id_ the id of the exception + @param[in] pos the position where the error occurred (or with + chars_read_total=0 if the position cannot be + determined) + @param[in] what_arg the explanatory string + @return parse_error object + */ + static parse_error create(int id_, const position_t& pos, const std::string& what_arg) + { + std::string w = exception::name("parse_error", id_) + "parse error" + + position_string(pos) + ": " + what_arg; + return parse_error(id_, pos.chars_read_total, w.c_str()); + } + + static parse_error create(int id_, std::size_t byte_, const std::string& what_arg) + { + std::string w = exception::name("parse_error", id_) + "parse error" + + (byte_ != 0 ? (" at byte " + std::to_string(byte_)) : "") + + ": " + what_arg; + return parse_error(id_, byte_, w.c_str()); + } + + /*! + @brief byte index of the parse error + + The byte index of the last read character in the input file. + + @note For an input with n bytes, 1 is the index of the first character and + n+1 is the index of the terminating null byte or the end of file. + This also holds true when reading a byte vector (CBOR or MessagePack). + */ + const std::size_t byte; + + private: + parse_error(int id_, std::size_t byte_, const char* what_arg) + : exception(id_, what_arg), byte(byte_) {} + + static std::string position_string(const position_t& pos) + { + return " at line " + std::to_string(pos.lines_read + 1) + + ", column " + std::to_string(pos.chars_read_current_line); + } +}; + +/*! +@brief exception indicating errors with iterators + +This exception is thrown if iterators passed to a library function do not match +the expected semantics. + +Exceptions have ids 2xx. + +name / id | example message | description +----------------------------------- | --------------- | ------------------------- +json.exception.invalid_iterator.201 | iterators are not compatible | The iterators passed to constructor @ref basic_json(InputIT first, InputIT last) are not compatible, meaning they do not belong to the same container. Therefore, the range (@a first, @a last) is invalid. +json.exception.invalid_iterator.202 | iterator does not fit current value | In an erase or insert function, the passed iterator @a pos does not belong to the JSON value for which the function was called. It hence does not define a valid position for the deletion/insertion. +json.exception.invalid_iterator.203 | iterators do not fit current value | Either iterator passed to function @ref erase(IteratorType first, IteratorType last) does not belong to the JSON value from which values shall be erased. It hence does not define a valid range to delete values from. +json.exception.invalid_iterator.204 | iterators out of range | When an iterator range for a primitive type (number, boolean, or string) is passed to a constructor or an erase function, this range has to be exactly (@ref begin(), @ref end()), because this is the only way the single stored value is expressed. All other ranges are invalid. +json.exception.invalid_iterator.205 | iterator out of range | When an iterator for a primitive type (number, boolean, or string) is passed to an erase function, the iterator has to be the @ref begin() iterator, because it is the only way to address the stored value. All other iterators are invalid. +json.exception.invalid_iterator.206 | cannot construct with iterators from null | The iterators passed to constructor @ref basic_json(InputIT first, InputIT last) belong to a JSON null value and hence to not define a valid range. +json.exception.invalid_iterator.207 | cannot use key() for non-object iterators | The key() member function can only be used on iterators belonging to a JSON object, because other types do not have a concept of a key. +json.exception.invalid_iterator.208 | cannot use operator[] for object iterators | The operator[] to specify a concrete offset cannot be used on iterators belonging to a JSON object, because JSON objects are unordered. +json.exception.invalid_iterator.209 | cannot use offsets with object iterators | The offset operators (+, -, +=, -=) cannot be used on iterators belonging to a JSON object, because JSON objects are unordered. +json.exception.invalid_iterator.210 | iterators do not fit | The iterator range passed to the insert function are not compatible, meaning they do not belong to the same container. Therefore, the range (@a first, @a last) is invalid. +json.exception.invalid_iterator.211 | passed iterators may not belong to container | The iterator range passed to the insert function must not be a subrange of the container to insert to. +json.exception.invalid_iterator.212 | cannot compare iterators of different containers | When two iterators are compared, they must belong to the same container. +json.exception.invalid_iterator.213 | cannot compare order of object iterators | The order of object iterators cannot be compared, because JSON objects are unordered. +json.exception.invalid_iterator.214 | cannot get value | Cannot get value for iterator: Either the iterator belongs to a null value or it is an iterator to a primitive type (number, boolean, or string), but the iterator is different to @ref begin(). + +@liveexample{The following code shows how an `invalid_iterator` exception can be +caught.,invalid_iterator} + +@sa - @ref exception for the base class of the library exceptions +@sa - @ref parse_error for exceptions indicating a parse error +@sa - @ref type_error for exceptions indicating executing a member function with + a wrong type +@sa - @ref out_of_range for exceptions indicating access out of the defined range +@sa - @ref other_error for exceptions indicating other library errors + +@since version 3.0.0 +*/ +class invalid_iterator : public exception +{ + public: + static invalid_iterator create(int id_, const std::string& what_arg) + { + std::string w = exception::name("invalid_iterator", id_) + what_arg; + return invalid_iterator(id_, w.c_str()); + } + + private: + invalid_iterator(int id_, const char* what_arg) + : exception(id_, what_arg) {} +}; + +/*! +@brief exception indicating executing a member function with a wrong type + +This exception is thrown in case of a type error; that is, a library function is +executed on a JSON value whose type does not match the expected semantics. + +Exceptions have ids 3xx. + +name / id | example message | description +----------------------------- | --------------- | ------------------------- +json.exception.type_error.301 | cannot create object from initializer list | To create an object from an initializer list, the initializer list must consist only of a list of pairs whose first element is a string. When this constraint is violated, an array is created instead. +json.exception.type_error.302 | type must be object, but is array | During implicit or explicit value conversion, the JSON type must be compatible to the target type. For instance, a JSON string can only be converted into string types, but not into numbers or boolean types. +json.exception.type_error.303 | incompatible ReferenceType for get_ref, actual type is object | To retrieve a reference to a value stored in a @ref basic_json object with @ref get_ref, the type of the reference must match the value type. For instance, for a JSON array, the @a ReferenceType must be @ref array_t &. +json.exception.type_error.304 | cannot use at() with string | The @ref at() member functions can only be executed for certain JSON types. +json.exception.type_error.305 | cannot use operator[] with string | The @ref operator[] member functions can only be executed for certain JSON types. +json.exception.type_error.306 | cannot use value() with string | The @ref value() member functions can only be executed for certain JSON types. +json.exception.type_error.307 | cannot use erase() with string | The @ref erase() member functions can only be executed for certain JSON types. +json.exception.type_error.308 | cannot use push_back() with string | The @ref push_back() and @ref operator+= member functions can only be executed for certain JSON types. +json.exception.type_error.309 | cannot use insert() with | The @ref insert() member functions can only be executed for certain JSON types. +json.exception.type_error.310 | cannot use swap() with number | The @ref swap() member functions can only be executed for certain JSON types. +json.exception.type_error.311 | cannot use emplace_back() with string | The @ref emplace_back() member function can only be executed for certain JSON types. +json.exception.type_error.312 | cannot use update() with string | The @ref update() member functions can only be executed for certain JSON types. +json.exception.type_error.313 | invalid value to unflatten | The @ref unflatten function converts an object whose keys are JSON Pointers back into an arbitrary nested JSON value. The JSON Pointers must not overlap, because then the resulting value would not be well defined. +json.exception.type_error.314 | only objects can be unflattened | The @ref unflatten function only works for an object whose keys are JSON Pointers. +json.exception.type_error.315 | values in object must be primitive | The @ref unflatten function only works for an object whose keys are JSON Pointers and whose values are primitive. +json.exception.type_error.316 | invalid UTF-8 byte at index 10: 0x7E | The @ref dump function only works with UTF-8 encoded strings; that is, if you assign a `std::string` to a JSON value, make sure it is UTF-8 encoded. | +json.exception.type_error.317 | JSON value cannot be serialized to requested format | The dynamic type of the object cannot be represented in the requested serialization format (e.g. a raw `true` or `null` JSON object cannot be serialized to BSON) | + +@liveexample{The following code shows how a `type_error` exception can be +caught.,type_error} + +@sa - @ref exception for the base class of the library exceptions +@sa - @ref parse_error for exceptions indicating a parse error +@sa - @ref invalid_iterator for exceptions indicating errors with iterators +@sa - @ref out_of_range for exceptions indicating access out of the defined range +@sa - @ref other_error for exceptions indicating other library errors + +@since version 3.0.0 +*/ +class type_error : public exception +{ + public: + static type_error create(int id_, const std::string& what_arg) + { + std::string w = exception::name("type_error", id_) + what_arg; + return type_error(id_, w.c_str()); + } + + private: + type_error(int id_, const char* what_arg) : exception(id_, what_arg) {} +}; + +/*! +@brief exception indicating access out of the defined range + +This exception is thrown in case a library function is called on an input +parameter that exceeds the expected range, for instance in case of array +indices or nonexisting object keys. + +Exceptions have ids 4xx. + +name / id | example message | description +------------------------------- | --------------- | ------------------------- +json.exception.out_of_range.401 | array index 3 is out of range | The provided array index @a i is larger than @a size-1. +json.exception.out_of_range.402 | array index '-' (3) is out of range | The special array index `-` in a JSON Pointer never describes a valid element of the array, but the index past the end. That is, it can only be used to add elements at this position, but not to read it. +json.exception.out_of_range.403 | key 'foo' not found | The provided key was not found in the JSON object. +json.exception.out_of_range.404 | unresolved reference token 'foo' | A reference token in a JSON Pointer could not be resolved. +json.exception.out_of_range.405 | JSON pointer has no parent | The JSON Patch operations 'remove' and 'add' can not be applied to the root element of the JSON value. +json.exception.out_of_range.406 | number overflow parsing '10E1000' | A parsed number could not be stored as without changing it to NaN or INF. +json.exception.out_of_range.407 | number overflow serializing '9223372036854775808' | UBJSON and BSON only support integer numbers up to 9223372036854775807. | +json.exception.out_of_range.408 | excessive array size: 8658170730974374167 | The size (following `#`) of an UBJSON array or object exceeds the maximal capacity. | +json.exception.out_of_range.409 | BSON key cannot contain code point U+0000 (at byte 2) | Key identifiers to be serialized to BSON cannot contain code point U+0000, since the key is stored as zero-terminated c-string | + +@liveexample{The following code shows how an `out_of_range` exception can be +caught.,out_of_range} + +@sa - @ref exception for the base class of the library exceptions +@sa - @ref parse_error for exceptions indicating a parse error +@sa - @ref invalid_iterator for exceptions indicating errors with iterators +@sa - @ref type_error for exceptions indicating executing a member function with + a wrong type +@sa - @ref other_error for exceptions indicating other library errors + +@since version 3.0.0 +*/ +class out_of_range : public exception +{ + public: + static out_of_range create(int id_, const std::string& what_arg) + { + std::string w = exception::name("out_of_range", id_) + what_arg; + return out_of_range(id_, w.c_str()); + } + + private: + out_of_range(int id_, const char* what_arg) : exception(id_, what_arg) {} +}; + +/*! +@brief exception indicating other library errors + +This exception is thrown in case of errors that cannot be classified with the +other exception types. + +Exceptions have ids 5xx. + +name / id | example message | description +------------------------------ | --------------- | ------------------------- +json.exception.other_error.501 | unsuccessful: {"op":"test","path":"/baz", "value":"bar"} | A JSON Patch operation 'test' failed. The unsuccessful operation is also printed. + +@sa - @ref exception for the base class of the library exceptions +@sa - @ref parse_error for exceptions indicating a parse error +@sa - @ref invalid_iterator for exceptions indicating errors with iterators +@sa - @ref type_error for exceptions indicating executing a member function with + a wrong type +@sa - @ref out_of_range for exceptions indicating access out of the defined range + +@liveexample{The following code shows how an `other_error` exception can be +caught.,other_error} + +@since version 3.0.0 +*/ +class other_error : public exception +{ + public: + static other_error create(int id_, const std::string& what_arg) + { + std::string w = exception::name("other_error", id_) + what_arg; + return other_error(id_, w.c_str()); + } + + private: + other_error(int id_, const char* what_arg) : exception(id_, what_arg) {} +}; +} // namespace detail +} // namespace nlohmann + +// #include + + +#include // pair + +// This file contains all internal macro definitions +// You MUST include macro_unscope.hpp at the end of json.hpp to undef all of them + +// exclude unsupported compilers +#if !defined(JSON_SKIP_UNSUPPORTED_COMPILER_CHECK) + #if defined(__clang__) + #if (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__) < 30400 + #error "unsupported Clang version - see https://github.com/nlohmann/json#supported-compilers" + #endif + #elif defined(__GNUC__) && !(defined(__ICC) || defined(__INTEL_COMPILER)) + #if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) < 40800 + #error "unsupported GCC version - see https://github.com/nlohmann/json#supported-compilers" + #endif + #endif +#endif + +// disable float-equal warnings on GCC/clang +#if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__) + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wfloat-equal" +#endif + +// disable documentation warnings on clang +#if defined(__clang__) + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wdocumentation" +#endif + +// allow for portable deprecation warnings +#if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__) + #define JSON_DEPRECATED __attribute__((deprecated)) +#elif defined(_MSC_VER) + #define JSON_DEPRECATED __declspec(deprecated) +#else + #define JSON_DEPRECATED +#endif + +// allow for portable nodiscard warnings +#if defined(__has_cpp_attribute) + #if __has_cpp_attribute(nodiscard) + #define JSON_NODISCARD [[nodiscard]] + #elif __has_cpp_attribute(gnu::warn_unused_result) + #define JSON_NODISCARD [[gnu::warn_unused_result]] + #else + #define JSON_NODISCARD + #endif +#else + #define JSON_NODISCARD +#endif + +// allow to disable exceptions +#if (defined(__cpp_exceptions) || defined(__EXCEPTIONS) || defined(_CPPUNWIND)) && !defined(JSON_NOEXCEPTION) + #define JSON_THROW(exception) throw exception + #define JSON_TRY try + #define JSON_CATCH(exception) catch(exception) + #define JSON_INTERNAL_CATCH(exception) catch(exception) +#else + #include + #define JSON_THROW(exception) std::abort() + #define JSON_TRY if(true) + #define JSON_CATCH(exception) if(false) + #define JSON_INTERNAL_CATCH(exception) if(false) +#endif + +// override exception macros +#if defined(JSON_THROW_USER) + #undef JSON_THROW + #define JSON_THROW JSON_THROW_USER +#endif +#if defined(JSON_TRY_USER) + #undef JSON_TRY + #define JSON_TRY JSON_TRY_USER +#endif +#if defined(JSON_CATCH_USER) + #undef JSON_CATCH + #define JSON_CATCH JSON_CATCH_USER + #undef JSON_INTERNAL_CATCH + #define JSON_INTERNAL_CATCH JSON_CATCH_USER +#endif +#if defined(JSON_INTERNAL_CATCH_USER) + #undef JSON_INTERNAL_CATCH + #define JSON_INTERNAL_CATCH JSON_INTERNAL_CATCH_USER +#endif + +// manual branch prediction +#if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__) + #define JSON_LIKELY(x) __builtin_expect(x, 1) + #define JSON_UNLIKELY(x) __builtin_expect(x, 0) +#else + #define JSON_LIKELY(x) x + #define JSON_UNLIKELY(x) x +#endif + +// C++ language standard detection +#if (defined(__cplusplus) && __cplusplus >= 201703L) || (defined(_HAS_CXX17) && _HAS_CXX17 == 1) // fix for issue #464 + #define JSON_HAS_CPP_17 + #define JSON_HAS_CPP_14 +#elif (defined(__cplusplus) && __cplusplus >= 201402L) || (defined(_HAS_CXX14) && _HAS_CXX14 == 1) + #define JSON_HAS_CPP_14 +#endif + +/*! +@brief macro to briefly define a mapping between an enum and JSON +@def NLOHMANN_JSON_SERIALIZE_ENUM +@since version 3.4.0 +*/ +#define NLOHMANN_JSON_SERIALIZE_ENUM(ENUM_TYPE, ...) \ + template \ + inline void to_json(BasicJsonType& j, const ENUM_TYPE& e) \ + { \ + static_assert(std::is_enum::value, #ENUM_TYPE " must be an enum!"); \ + static const std::pair m[] = __VA_ARGS__; \ + auto it = std::find_if(std::begin(m), std::end(m), \ + [e](const std::pair& ej_pair) -> bool \ + { \ + return ej_pair.first == e; \ + }); \ + j = ((it != std::end(m)) ? it : std::begin(m))->second; \ + } \ + template \ + inline void from_json(const BasicJsonType& j, ENUM_TYPE& e) \ + { \ + static_assert(std::is_enum::value, #ENUM_TYPE " must be an enum!"); \ + static const std::pair m[] = __VA_ARGS__; \ + auto it = std::find_if(std::begin(m), std::end(m), \ + [j](const std::pair& ej_pair) -> bool \ + { \ + return ej_pair.second == j; \ + }); \ + e = ((it != std::end(m)) ? it : std::begin(m))->first; \ + } + +// Ugly macros to avoid uglier copy-paste when specializing basic_json. They +// may be removed in the future once the class is split. + +#define NLOHMANN_BASIC_JSON_TPL_DECLARATION \ + template class ObjectType, \ + template class ArrayType, \ + class StringType, class BooleanType, class NumberIntegerType, \ + class NumberUnsignedType, class NumberFloatType, \ + template class AllocatorType, \ + template class JSONSerializer> + +#define NLOHMANN_BASIC_JSON_TPL \ + basic_json + +// #include + + +#include // not +#include // size_t +#include // conditional, enable_if, false_type, integral_constant, is_constructible, is_integral, is_same, remove_cv, remove_reference, true_type + +namespace nlohmann +{ +namespace detail +{ +// alias templates to reduce boilerplate +template +using enable_if_t = typename std::enable_if::type; + +template +using uncvref_t = typename std::remove_cv::type>::type; + +// implementation of C++14 index_sequence and affiliates +// source: https://stackoverflow.com/a/32223343 +template +struct index_sequence +{ + using type = index_sequence; + using value_type = std::size_t; + static constexpr std::size_t size() noexcept + { + return sizeof...(Ints); + } +}; + +template +struct merge_and_renumber; + +template +struct merge_and_renumber, index_sequence> + : index_sequence < I1..., (sizeof...(I1) + I2)... > {}; + +template +struct make_index_sequence + : merge_and_renumber < typename make_index_sequence < N / 2 >::type, + typename make_index_sequence < N - N / 2 >::type > {}; + +template<> struct make_index_sequence<0> : index_sequence<> {}; +template<> struct make_index_sequence<1> : index_sequence<0> {}; + +template +using index_sequence_for = make_index_sequence; + +// dispatch utility (taken from ranges-v3) +template struct priority_tag : priority_tag < N - 1 > {}; +template<> struct priority_tag<0> {}; + +// taken from ranges-v3 +template +struct static_const +{ + static constexpr T value{}; +}; + +template +constexpr T static_const::value; +} // namespace detail +} // namespace nlohmann + +// #include + + +#include // not +#include // numeric_limits +#include // false_type, is_constructible, is_integral, is_same, true_type +#include // declval + +// #include + + +#include // random_access_iterator_tag + +// #include + + +namespace nlohmann +{ +namespace detail +{ +template struct make_void +{ + using type = void; +}; +template using void_t = typename make_void::type; +} // namespace detail +} // namespace nlohmann + +// #include + + +namespace nlohmann +{ +namespace detail +{ +template +struct iterator_types {}; + +template +struct iterator_types < + It, + void_t> +{ + using difference_type = typename It::difference_type; + using value_type = typename It::value_type; + using pointer = typename It::pointer; + using reference = typename It::reference; + using iterator_category = typename It::iterator_category; +}; + +// This is required as some compilers implement std::iterator_traits in a way that +// doesn't work with SFINAE. See https://github.com/nlohmann/json/issues/1341. +template +struct iterator_traits +{ +}; + +template +struct iterator_traits < T, enable_if_t < !std::is_pointer::value >> + : iterator_types +{ +}; + +template +struct iterator_traits::value>> +{ + using iterator_category = std::random_access_iterator_tag; + using value_type = T; + using difference_type = ptrdiff_t; + using pointer = T*; + using reference = T&; +}; +} // namespace detail +} // namespace nlohmann + +// #include + +// #include + +// #include + + +#include + +// #include + + +// http://en.cppreference.com/w/cpp/experimental/is_detected +namespace nlohmann +{ +namespace detail +{ +struct nonesuch +{ + nonesuch() = delete; + ~nonesuch() = delete; + nonesuch(nonesuch const&) = delete; + nonesuch(nonesuch const&&) = delete; + void operator=(nonesuch const&) = delete; + void operator=(nonesuch&&) = delete; +}; + +template class Op, + class... Args> +struct detector +{ + using value_t = std::false_type; + using type = Default; +}; + +template class Op, class... Args> +struct detector>, Op, Args...> +{ + using value_t = std::true_type; + using type = Op; +}; + +template