diff options
253 files changed, 10661 insertions, 20341 deletions
@@ -1,3 +1,7 @@ +include $(DEVKITARM)/base_tools +export CPP := $(PREFIX)cpp +export LD := $(PREFIX)ld + SHELL := /bin/bash -o pipefail ROM := pokeemerald.gba @@ -16,25 +20,16 @@ ASM_BUILDDIR = $(OBJ_DIR)/$(ASM_SUBDIR) DATA_ASM_BUILDDIR = $(OBJ_DIR)/$(DATA_ASM_SUBDIR) SONG_BUILDDIR = $(OBJ_DIR)/$(SONG_SUBDIR) -AS := $(DEVKITARM)/bin/arm-none-eabi-as ASFLAGS := -mcpu=arm7tdmi CC1 := tools/agbcc/bin/agbcc override CFLAGS += -mthumb-interwork -Wimplicit -Wparentheses -Werror -O2 -fhex-asm -CPP := $(DEVKITARM)/bin/arm-none-eabi-cpp CPPFLAGS := -I tools/agbcc/include -iquote include -nostdinc -undef -LD := $(DEVKITARM)/bin/arm-none-eabi-ld LDFLAGS = -Map ../../$(MAP) -OBJCOPY := $(DEVKITARM)/bin/arm-none-eabi-objcopy - -ifeq ($(OS),Windows_NT) - LIB := ../../tools/agbcc/lib/libgcc.a ../../tools/agbcc/lib/libc.a -else - LIB := -L ../../tools/agbcc/lib -lgcc -lc -endif +LIB := -L ../../tools/agbcc/lib -lgcc -lc SHA1 := sha1sum -c @@ -120,6 +115,8 @@ $(C_BUILDDIR)/agb_flash_mx.o: CFLAGS := -O -mthumb-interwork $(C_BUILDDIR)/m4a_2.o: CC1 := tools/agbcc/bin/old_agbcc $(C_BUILDDIR)/m4a_4.o: CC1 := tools/agbcc/bin/old_agbcc +$(C_BUILDDIR)/record_mixing.o: CFLAGS += -ffreestanding + ifeq ($(NODEP),) $(C_BUILDDIR)/%.o: c_dep = $(shell $(SCANINC) -I include $(C_SUBDIR)/$*.c) else diff --git a/asm/battle_tower.s b/asm/battle_tower.s index 6cee2dc0a..788061f2b 100644 --- a/asm/battle_tower.s +++ b/asm/battle_tower.s @@ -3746,7 +3746,7 @@ _08163FF4: ldr r0, [r6] ldr r1, =0x0000064c adds r0, r1 - bl sub_8164F70 + bl CalcEmeraldBattleTowerChecksum bl sub_8163E90 pop {r3,r4} mov r8, r3 @@ -5484,8 +5484,8 @@ _08164F52: .pool thumb_func_end sub_8164ED8 - thumb_func_start sub_8164F70 -sub_8164F70: @ 8164F70 + thumb_func_start CalcEmeraldBattleTowerChecksum +CalcEmeraldBattleTowerChecksum: @ 8164F70 push {r4,lr} adds r2, r0, 0 adds r2, 0xE8 @@ -5504,7 +5504,7 @@ _08164F7E: pop {r4} pop {r0} bx r0 - thumb_func_end sub_8164F70 + thumb_func_end CalcEmeraldBattleTowerChecksum thumb_func_start sub_8164F94 sub_8164F94: @ 8164F94 @@ -6750,7 +6750,7 @@ _08165988: ldr r1, [sp, 0x10] bl CpuSet adds r0, r5, 0 - bl sub_8164F70 + bl CalcEmeraldBattleTowerChecksum movs r0, 0x1 _081659BE: add sp, 0x14 diff --git a/asm/cable_club.s b/asm/cable_club.s index 7ef499226..201f23c17 100644 --- a/asm/cable_club.s +++ b/asm/cable_club.s @@ -795,7 +795,7 @@ sub_80B2A08: @ 80B2A08 ldrh r0, [r0] cmp r0, 0x4 bne _080B2A38 - bl sub_800A064 + bl Link_AnyPartnersPlayingRubyOrSapphire cmp r0, 0 bne _080B2A4A bl sub_800AC34 diff --git a/asm/field_effect.s b/asm/field_effect.s deleted file mode 100644 index 91cd0c972..000000000 --- a/asm/field_effect.s +++ /dev/null @@ -1,8533 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start FieldEffectStart -@ u8 FieldEffectStart(u8 id) -FieldEffectStart: @ 80B5B18 - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl FieldEffectActiveListAdd - ldr r0, =gFieldEffectScriptPointers - lsls r4, 2 - adds r4, r0 - ldr r0, [r4] - str r0, [sp] - add r4, sp, 0x4 - ldr r5, =gUnknown_0855C1F0 -_080B5B36: - ldr r0, [sp] - ldrb r0, [r0] - lsls r0, 2 - adds r0, r5 - ldr r2, [r0] - mov r0, sp - adds r1, r4, 0 - bl _call_via_r2 - lsls r0, 24 - cmp r0, 0 - bne _080B5B36 - ldr r0, [sp, 0x4] - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end FieldEffectStart - - thumb_func_start FieldEffectCmd_loadtiles -@ bool8 FieldEffectCmd_loadtiles(u8 **script, u8 *returnValue) -FieldEffectCmd_loadtiles: @ 80B5B60 - push {lr} - ldr r1, [r0] - adds r1, 0x1 - str r1, [r0] - bl FieldEffectScript_LoadTiles - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end FieldEffectCmd_loadtiles - - thumb_func_start FieldEffectCmd_loadfadedpal -@ bool8 FieldEffectCmd_loadfadedpal(u8 **script, u8 *returnValue) -FieldEffectCmd_loadfadedpal: @ 80B5B74 - push {lr} - ldr r1, [r0] - adds r1, 0x1 - str r1, [r0] - bl FieldEffectScript_LoadFadedPalette - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end FieldEffectCmd_loadfadedpal - - thumb_func_start FieldEffectCmd_loadpal -@ bool8 FieldEffectCmd_loadpal(u8 **script, u8 *returnValue) -FieldEffectCmd_loadpal: @ 80B5B88 - push {lr} - ldr r1, [r0] - adds r1, 0x1 - str r1, [r0] - bl FieldEffectScript_LoadPalette - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end FieldEffectCmd_loadpal - - thumb_func_start FieldEffectCmd_callnative -@ bool8 FieldEffectCmd_callnative(u8 **script, u8 *returnValue) -FieldEffectCmd_callnative: @ 80B5B9C - push {lr} - ldr r2, [r0] - adds r2, 0x1 - str r2, [r0] - bl FieldEffectScript_CallNative - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end FieldEffectCmd_callnative - - thumb_func_start FieldEffectCmd_end -@ bool8 FieldEffectCmd_end(u8 **script, u8 *returnValue) -FieldEffectCmd_end: @ 80B5BB0 - movs r0, 0 - bx lr - thumb_func_end FieldEffectCmd_end - - thumb_func_start FieldEffectCmd_loadgfx_callnative -@ bool8 FieldEffectCmd_loadgfx_callnative(u8 **script, u8 *returnValue) -FieldEffectCmd_loadgfx_callnative: @ 80B5BB4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r0, [r4] - adds r0, 0x1 - str r0, [r4] - adds r0, r4, 0 - bl FieldEffectScript_LoadTiles - adds r0, r4, 0 - bl FieldEffectScript_LoadFadedPalette - adds r0, r4, 0 - adds r1, r5, 0 - bl FieldEffectScript_CallNative - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end FieldEffectCmd_loadgfx_callnative - - thumb_func_start FieldEffectCmd_loadtiles_callnative -@ bool8 FieldEffectCmd_loadtiles_callnative(u8 **script, u8 *returnValue) -FieldEffectCmd_loadtiles_callnative: @ 80B5BDC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r0, [r4] - adds r0, 0x1 - str r0, [r4] - adds r0, r4, 0 - bl FieldEffectScript_LoadTiles - adds r0, r4, 0 - adds r1, r5, 0 - bl FieldEffectScript_CallNative - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end FieldEffectCmd_loadtiles_callnative - - thumb_func_start FieldEffectCmd_loadfadedpal_callnative -@ bool8 FieldEffectCmd_loadfadedpal_callnative(u8 **script, u8 *returnValue) -FieldEffectCmd_loadfadedpal_callnative: @ 80B5C00 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r0, [r4] - adds r0, 0x1 - str r0, [r4] - adds r0, r4, 0 - bl FieldEffectScript_LoadFadedPalette - adds r0, r4, 0 - adds r1, r5, 0 - bl FieldEffectScript_CallNative - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end FieldEffectCmd_loadfadedpal_callnative - - thumb_func_start FieldEffectScript_ReadWord -@ u32 FieldEffectScript_ReadWord(u8 **script) -FieldEffectScript_ReadWord: @ 80B5C24 - ldr r2, [r0] - ldrb r0, [r2] - ldrb r1, [r2, 0x1] - lsls r1, 8 - adds r0, r1 - ldrb r1, [r2, 0x2] - lsls r1, 16 - adds r0, r1 - ldrb r1, [r2, 0x3] - lsls r1, 24 - adds r0, r1 - bx lr - thumb_func_end FieldEffectScript_ReadWord - - thumb_func_start FieldEffectScript_LoadTiles -@ void FieldEffectScript_LoadTiles(u8 **script) -FieldEffectScript_LoadTiles: @ 80B5C3C - push {r4,r5,lr} - adds r4, r0, 0 - bl FieldEffectScript_ReadWord - adds r5, r0, 0 - ldrh r0, [r5, 0x6] - bl GetSpriteTileStartByTag - lsls r0, 16 - ldr r1, =0xffff0000 - cmp r0, r1 - bne _080B5C5A - adds r0, r5, 0 - bl LoadSpriteSheet -_080B5C5A: - ldr r0, [r4] - adds r0, 0x4 - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end FieldEffectScript_LoadTiles - - thumb_func_start FieldEffectScript_LoadFadedPalette -@ void FieldEffectScript_LoadFadedPalette(u8 **script) -FieldEffectScript_LoadFadedPalette: @ 80B5C6C - push {r4,r5,lr} - adds r5, r0, 0 - bl FieldEffectScript_ReadWord - adds r4, r0, 0 - bl LoadSpritePalette - ldrh r0, [r4, 0x4] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - bl sub_80ABE18 - ldr r0, [r5] - adds r0, 0x4 - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end FieldEffectScript_LoadFadedPalette - - thumb_func_start FieldEffectScript_LoadPalette -@ void FieldEffectScript_LoadPalette(u8 **script) -FieldEffectScript_LoadPalette: @ 80B5C94 - push {r4,lr} - adds r4, r0, 0 - bl FieldEffectScript_ReadWord - bl LoadSpritePalette - ldr r0, [r4] - adds r0, 0x4 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - thumb_func_end FieldEffectScript_LoadPalette - - thumb_func_start FieldEffectScript_CallNative -@ void FieldEffectScript_CallNative(u8 **script, u8 *returnValue) -FieldEffectScript_CallNative: @ 80B5CAC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl FieldEffectScript_ReadWord - bl _call_via_r0 - str r0, [r5] - ldr r0, [r4] - adds r0, 0x4 - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end FieldEffectScript_CallNative - - thumb_func_start FieldEffectFreeGraphicsResources -@ void FieldEffectFreeGraphicsResources(struct obj *object) -FieldEffectFreeGraphicsResources: @ 80B5CC8 - push {r4,r5,lr} - adds r1, r0, 0 - adds r1, 0x40 - ldrh r5, [r1] - ldrb r4, [r0, 0x5] - lsrs r4, 4 - bl DestroySprite - adds r0, r5, 0 - bl FieldEffectFreeTilesIfUnused - adds r0, r4, 0 - bl FieldEffectFreePaletteIfUnused - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end FieldEffectFreeGraphicsResources - - thumb_func_start FieldEffectStop -@ void FieldEffectStop(struct obj *object, u8 id) -FieldEffectStop: @ 80B5CEC - push {r4,lr} - lsls r4, r1, 24 - lsrs r4, 24 - bl FieldEffectFreeGraphicsResources - adds r0, r4, 0 - bl FieldEffectActiveListRemove - pop {r4} - pop {r0} - bx r0 - thumb_func_end FieldEffectStop - - thumb_func_start FieldEffectFreeTilesIfUnused -@ void FieldEffectFreeTilesIfUnused(u16 tileRangeStart) -FieldEffectFreeTilesIfUnused: @ 80B5D04 - push {r4,r5,lr} - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - bl GetSpriteTileTagByTileStart - lsls r0, 16 - lsrs r3, r0, 16 - ldr r0, =0x0000ffff - cmp r3, r0 - beq _080B5D58 - movs r2, 0 - ldr r5, =gSprites -_080B5D1E: - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r1, r0, r5 - adds r0, r1, 0 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 31 - cmp r0, 0 - beq _080B5D48 - adds r0, r1, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 25 - cmp r0, 0 - bge _080B5D48 - adds r0, r1, 0 - adds r0, 0x40 - ldrh r0, [r0] - cmp r4, r0 - beq _080B5D58 -_080B5D48: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3F - bls _080B5D1E - adds r0, r3, 0 - bl FreeSpriteTilesByTag -_080B5D58: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end FieldEffectFreeTilesIfUnused - - thumb_func_start FieldEffectFreePaletteIfUnused -@ void FieldEffectFreePaletteIfUnused(u8 paletteSlot) -FieldEffectFreePaletteIfUnused: @ 80B5D68 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl GetSpritePaletteTagByPaletteNum - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, =0x0000ffff - cmp r5, r0 - beq _080B5DB0 - movs r2, 0 - ldr r6, =gSprites - adds r3, r4, 0 -_080B5D84: - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r1, r0, r6 - adds r0, r1, 0 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 31 - cmp r0, 0 - beq _080B5DA0 - ldrb r0, [r1, 0x5] - lsrs r0, 4 - cmp r0, r3 - beq _080B5DB0 -_080B5DA0: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3F - bls _080B5D84 - adds r0, r5, 0 - bl FreeSpritePaletteByTag -_080B5DB0: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end FieldEffectFreePaletteIfUnused - - thumb_func_start FieldEffectActiveListClear -@ void FieldEffectActiveListClear() -FieldEffectActiveListClear: @ 80B5DC0 - push {r4,lr} - movs r2, 0 - ldr r4, =gUnknown_03000F58 - movs r3, 0xFF -_080B5DC8: - adds r0, r2, r4 - ldrb r1, [r0] - orrs r1, r3 - strb r1, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1F - bls _080B5DC8 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end FieldEffectActiveListClear - - thumb_func_start FieldEffectActiveListAdd -@ void FieldEffectActiveListAdd(u8 id) -FieldEffectActiveListAdd: @ 80B5DE4 - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - movs r2, 0 - ldr r4, =gUnknown_03000F58 -_080B5DEE: - adds r1, r2, r4 - ldrb r0, [r1] - cmp r0, 0xFF - bne _080B5E00 - strb r3, [r1] - b _080B5E0A - .pool -_080B5E00: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1F - bls _080B5DEE -_080B5E0A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end FieldEffectActiveListAdd - - thumb_func_start FieldEffectActiveListRemove -@ void FieldEffectActiveListRemove(u8 id) -FieldEffectActiveListRemove: @ 80B5E10 - push {r4,r5,lr} - lsls r0, 24 - lsrs r3, r0, 24 - movs r2, 0 - ldr r4, =gUnknown_03000F58 - movs r5, 0xFF -_080B5E1C: - adds r1, r2, r4 - ldrb r0, [r1] - cmp r0, r3 - bne _080B5E30 - orrs r0, r5 - strb r0, [r1] - b _080B5E3A - .pool -_080B5E30: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1F - bls _080B5E1C -_080B5E3A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end FieldEffectActiveListRemove - - thumb_func_start FieldEffectActiveListContains -@ void FieldEffectActiveListContains(u8 id) -FieldEffectActiveListContains: @ 80B5E40 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - movs r1, 0 - ldr r3, =gUnknown_03000F58 -_080B5E4A: - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, r2 - bne _080B5E5C - movs r0, 0x1 - b _080B5E68 - .pool -_080B5E5C: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x1F - bls _080B5E4A - movs r0, 0 -_080B5E68: - pop {r1} - bx r1 - thumb_func_end FieldEffectActiveListContains - - thumb_func_start CreateTrainerSprite -CreateTrainerSprite: @ 80B5E6C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x18 - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - mov r9, r3 - ldr r7, [sp, 0x34] - lsls r4, 24 - lsls r5, 16 - lsrs r5, 16 - lsls r6, 16 - lsrs r6, 16 - mov r0, r9 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsrs r4, 21 - ldr r3, =gTrainerFrontPicPaletteTable - mov r8, r3 - add r8, r4 - mov r0, r8 - adds r1, r7, 0 - bl LoadCompressedObjectPaletteOverrideBuffer - ldr r0, =gTrainerFrontPicTable - adds r4, r0 - adds r0, r4, 0 - adds r1, r7, 0 - bl LoadCompressedObjectPicOverrideBuffer - mov r1, sp - ldrh r0, [r4, 0x6] - movs r2, 0 - strh r0, [r1] - mov r3, r8 - ldrh r0, [r3, 0x4] - strh r0, [r1, 0x2] - ldr r0, =gNewGameBirchOamAttributes - str r0, [sp, 0x4] - ldr r0, =gDummySpriteAnimTable - str r0, [sp, 0x8] - str r2, [sp, 0xC] - ldr r0, =gDummySpriteAffineAnimTable - str r0, [sp, 0x10] - ldr r0, =SpriteCallbackDummy - str r0, [sp, 0x14] - lsls r5, 16 - asrs r5, 16 - lsls r6, 16 - asrs r6, 16 - mov r0, sp - adds r1, r5, 0 - adds r2, r6, 0 - mov r3, r9 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - add sp, 0x18 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end CreateTrainerSprite - - thumb_func_start sub_80B5F0C -sub_80B5F0C: @ 80B5F0C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r1, r2, 0 - lsls r4, 24 - lsls r5, 16 - lsrs r5, 16 - ldr r0, =gTrainerFrontPicTable - lsrs r4, 21 - adds r0, r4, r0 - ldr r0, [r0] - bl LZDecompressVram - ldr r0, =gTrainerFrontPicPaletteTable - adds r4, r0 - ldr r0, [r4] - adds r1, r5, 0 - movs r2, 0x20 - bl LoadCompressedPalette - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B5F0C - - thumb_func_start AddNewGameBirchObject -AddNewGameBirchObject: @ 80B5F44 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - lsls r6, 24 - lsrs r6, 24 - ldr r0, =gNewGameBirchObjectPaletteInfo - bl LoadSpritePalette - ldr r0, =gNewGameBirchObjectTemplate - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - adds r1, r4, 0 - adds r2, r5, 0 - adds r3, r6, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end AddNewGameBirchObject - - thumb_func_start sub_80B5F84 -sub_80B5F84: @ 80B5F84 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 16 - lsrs r0, 16 - movs r3, 0x80 - lsls r3, 8 - lsls r1, 16 - asrs r1, 16 - str r1, [sp] - lsls r2, 16 - asrs r2, 16 - str r2, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - ldr r1, =gMonPaletteTable - lsls r4, r0, 3 - adds r4, r1 - ldrh r1, [r4, 0x4] - str r1, [sp, 0xC] - movs r1, 0 - adds r2, r3, 0 - movs r3, 0x1 - bl sub_818D7D8 - lsls r0, 16 - lsrs r5, r0, 16 - ldrh r0, [r4, 0x4] - bl IndexOfSpritePaletteTag - adds r0, 0x10 - lsls r0, 24 - lsrs r0, 24 - bl sub_80AC3F8 - ldr r0, =0x0000ffff - cmp r5, r0 - beq _080B5FDC - lsls r0, r5, 24 - lsrs r0, 24 - b _080B5FDE - .pool -_080B5FDC: - movs r0, 0x40 -_080B5FDE: - add sp, 0x10 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80B5F84 - - thumb_func_start sub_80B5FE8 -sub_80B5FE8: @ 80B5FE8 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x10 - adds r6, r0, 0 - mov r9, r1 - mov r10, r2 - adds r4, r3, 0 - ldr r5, [sp, 0x2C] - lsls r6, 16 - lsrs r6, 16 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - adds r0, r6, 0 - bl GetMonSpritePalStructFromOtIdPersonality - mov r8, r0 - lsls r4, 16 - asrs r4, 16 - str r4, [sp] - lsls r5, 16 - asrs r5, 16 - str r5, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - mov r1, r8 - ldrh r0, [r1, 0x4] - str r0, [sp, 0xC] - adds r0, r6, 0 - mov r1, r9 - mov r2, r10 - movs r3, 0x1 - bl sub_818D7D8 - lsls r0, 16 - lsrs r4, r0, 16 - mov r1, r8 - ldrh r0, [r1, 0x4] - bl IndexOfSpritePaletteTag - adds r0, 0x10 - lsls r0, 24 - lsrs r0, 24 - bl sub_80AC3F8 - ldr r0, =0x0000ffff - cmp r4, r0 - beq _080B605C - lsls r0, r4, 24 - lsrs r0, 24 - b _080B605E - .pool -_080B605C: - movs r0, 0x40 -_080B605E: - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80B5FE8 - - thumb_func_start sub_80B6070 -sub_80B6070: @ 80B6070 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - bl sub_80AC428 - ldrb r0, [r4, 0x1] - lsls r0, 30 - cmp r0, 0 - beq _080B608E - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix -_080B608E: - adds r0, r5, 0 - bl sub_818D820 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80B6070 - - thumb_func_start MultiplyInvertedPaletteRGBComponents -MultiplyInvertedPaletteRGBComponents: @ 80B609C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 16 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - ldr r4, =gPlttBufferUnfaded - lsrs r0, 15 - adds r4, r0, r4 - ldrh r4, [r4] - movs r5, 0x1F - mov r9, r5 - mov r8, r4 - mov r6, r8 - ands r6, r5 - mov r8, r6 - movs r6, 0xF8 - lsls r6, 2 - ands r6, r4 - lsrs r6, 5 - movs r5, 0xF8 - lsls r5, 7 - ands r4, r5 - lsrs r4, 10 - mov r7, r9 - mov r5, r8 - subs r7, r5 - mov r12, r7 - mov r7, r12 - muls r7, r1 - adds r1, r7, 0 - asrs r1, 4 - add r8, r1 - mov r5, r9 - subs r1, r5, r6 - muls r1, r2 - asrs r1, 4 - adds r6, r1 - subs r5, r4 - mov r9, r5 - mov r1, r9 - muls r1, r3 - asrs r1, 4 - adds r4, r1 - mov r7, r8 - lsls r7, 16 - lsls r6, 21 - orrs r6, r7 - lsls r4, 26 - orrs r4, r6 - lsrs r4, 16 - ldr r1, =gPlttBufferFaded - adds r0, r1 - strh r4, [r0] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end MultiplyInvertedPaletteRGBComponents - - thumb_func_start sub_80B6128 -sub_80B6128: @ 80B6128 - push {r4-r6,lr} - mov r6, r8 - push {r6} - lsls r0, 16 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - ldr r4, =gPlttBufferUnfaded - lsrs r0, 15 - adds r4, r0, r4 - ldrh r4, [r4] - movs r5, 0x1F - mov r8, r5 - mov r6, r8 - ands r6, r4 - mov r8, r6 - movs r5, 0xF8 - lsls r5, 2 - ands r5, r4 - lsrs r5, 5 - movs r6, 0xF8 - lsls r6, 7 - ands r4, r6 - lsrs r4, 10 - mov r6, r8 - muls r6, r1 - adds r1, r6, 0 - asrs r1, 4 - mov r6, r8 - subs r6, r1 - adds r1, r5, 0 - muls r1, r2 - asrs r1, 4 - subs r5, r1 - adds r1, r4, 0 - muls r1, r3 - asrs r1, 4 - subs r4, r1 - lsls r6, 16 - lsls r5, 21 - orrs r5, r6 - lsls r4, 26 - orrs r4, r5 - lsrs r4, 16 - ldr r1, =gPlttBufferFaded - adds r0, r1 - strh r4, [r0] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B6128 - - thumb_func_start sub_80B61A0 -sub_80B61A0: @ 80B61A0 - push {r4,lr} - bl CalculatePlayerPartyCount - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =sub_80B61E4 - movs r1, 0xFF - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r1, r0 - strh r4, [r1, 0xA] - movs r0, 0x5D - strh r0, [r1, 0xC] - movs r0, 0x24 - strh r0, [r1, 0xE] - movs r0, 0x7C - strh r0, [r1, 0x10] - movs r0, 0x18 - strh r0, [r1, 0x12] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B61A0 - - thumb_func_start sub_80B61E4 -sub_80B61E4: @ 80B61E4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r1, r0 - ldr r2, =gUnknown_0855C364 - movs r3, 0x8 - ldrsh r0, [r1, r3] - lsls r0, 2 - adds r0, r2 - ldr r2, [r0] - adds r0, r1, 0 - bl _call_via_r2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B61E4 - - thumb_func_start sub_80B6214 -sub_80B6214: @ 80B6214 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r1, 0xA - ldrsh r0, [r4, r1] - movs r2, 0xC - ldrsh r1, [r4, r2] - movs r3, 0xE - ldrsh r2, [r4, r3] - movs r3, 0x1 - bl sub_80B646C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x14] - movs r1, 0x10 - ldrsh r0, [r4, r1] - movs r2, 0x12 - ldrsh r1, [r4, r2] - bl sub_80B6850 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x16] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B6214 - - thumb_func_start sub_80B6250 -sub_80B6250: @ 80B6250 - push {r4,lr} - adds r2, r0, 0 - ldr r3, =gSprites - movs r1, 0x14 - ldrsh r0, [r2, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - movs r4, 0x2E - ldrsh r0, [r1, r4] - cmp r0, 0x1 - ble _080B6282 - movs r0, 0x16 - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x2E] - adds r1, 0x1 - strh r1, [r0, 0x2E] - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] -_080B6282: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B6250 - - thumb_func_start sub_80B628C -sub_80B628C: @ 80B628C - push {lr} - adds r3, r0, 0 - ldr r2, =gSprites - movs r0, 0x14 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x2E - ldrsh r0, [r0, r1] - cmp r0, 0x4 - ble _080B62AC - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] -_080B62AC: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B628C - - thumb_func_start sub_80B62B4 -sub_80B62B4: @ 80B62B4 - push {lr} - ldr r2, =gSprites - movs r3, 0x14 - ldrsh r1, [r0, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0x6 - ble _080B62E6 - adds r0, r1, 0 - bl DestroySprite - movs r0, 0x19 - bl FieldEffectActiveListRemove - ldr r0, =sub_80B61E4 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_080B62E6: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B62B4 - - thumb_func_start sub_80B62F4 -sub_80B62F4: @ 80B62F4 - push {r4,lr} - bl CalculatePlayerPartyCount - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =sub_80B6330 - movs r1, 0xFF - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r1, r0 - strh r4, [r1, 0xA] - movs r0, 0x75 - strh r0, [r1, 0xC] - movs r0, 0x34 - strh r0, [r1, 0xE] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B62F4 - - thumb_func_start sub_80B6330 -sub_80B6330: @ 80B6330 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r1, r0 - ldr r2, =gUnknown_0855C374 - movs r3, 0x8 - ldrsh r0, [r1, r3] - lsls r0, 2 - adds r0, r2 - ldr r2, [r0] - adds r0, r1, 0 - bl _call_via_r2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B6330 - - thumb_func_start sub_80B6360 -sub_80B6360: @ 80B6360 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r1, 0xA - ldrsh r0, [r4, r1] - movs r2, 0xC - ldrsh r1, [r4, r2] - movs r3, 0xE - ldrsh r2, [r4, r3] - movs r3, 0 - bl sub_80B646C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x14] - ldr r0, =sub_80B6330 - bl FindTaskIdByFunc - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0x78 - movs r2, 0x18 - movs r3, 0 - bl sub_80B68EC - adds r0, r4, 0 - movs r1, 0x28 - movs r2, 0x8 - movs r3, 0x1 - bl sub_80B68EC - adds r0, r4, 0 - movs r1, 0x48 - movs r2, 0x8 - movs r3, 0x1 - bl sub_80B68EC - adds r0, r4, 0 - movs r1, 0xA8 - movs r2, 0x8 - movs r3, 0x1 - bl sub_80B68EC - adds r0, r4, 0 - movs r1, 0xC8 - movs r2, 0x8 - movs r3, 0x1 - bl sub_80B68EC - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B6360 - - thumb_func_start sub_80B63D4 -sub_80B63D4: @ 80B63D4 - push {lr} - adds r3, r0, 0 - ldr r2, =gSprites - movs r0, 0x14 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x2E - ldrsh r0, [r0, r1] - cmp r0, 0x1 - ble _080B63FA - ldrh r0, [r3, 0x26] - adds r0, 0x1 - strh r0, [r3, 0x26] - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] -_080B63FA: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B63D4 - - thumb_func_start sub_80B6404 -sub_80B6404: @ 80B6404 - push {lr} - adds r3, r0, 0 - ldr r2, =gSprites - movs r0, 0x14 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x2E - ldrsh r0, [r0, r1] - cmp r0, 0x4 - ble _080B6424 - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] -_080B6424: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B6404 - - thumb_func_start sub_80B642C -sub_80B642C: @ 80B642C - push {lr} - ldr r2, =gSprites - movs r3, 0x14 - ldrsh r1, [r0, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0x6 - ble _080B645E - adds r0, r1, 0 - bl DestroySprite - movs r0, 0x3E - bl FieldEffectActiveListRemove - ldr r0, =sub_80B6330 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_080B645E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B642C - - thumb_func_start sub_80B646C -sub_80B646C: @ 80B646C - push {r4-r6,lr} - mov r6, r8 - push {r6} - mov r8, r0 - adds r4, r1, 0 - adds r5, r2, 0 - adds r6, r3, 0 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - lsls r6, 16 - lsrs r6, 16 - ldr r0, =sub_80B64C0 - bl CreateInvisibleSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r2, =gSprites - adds r1, r2 - strh r4, [r1, 0x24] - strh r5, [r1, 0x26] - strh r6, [r1, 0x38] - mov r2, r8 - strh r2, [r1, 0x3A] - strh r0, [r1, 0x3C] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B646C - - thumb_func_start sub_80B64C0 -sub_80B64C0: @ 80B64C0 - push {lr} - ldr r2, =gUnknown_0855C384 - movs r3, 0x2E - ldrsh r1, [r0, r3] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B64C0 - - thumb_func_start sub_80B64DC -sub_80B64DC: @ 80B64DC - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _080B64F4 - subs r0, r1, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - cmp r0, 0 - bne _080B6550 -_080B64F4: - movs r0, 0x19 - strh r0, [r4, 0x30] - ldr r0, =gUnknown_0855C304 - ldr r1, =gUnknown_0855C3A4 - movs r2, 0x32 - ldrsh r3, [r4, r2] - lsls r3, 2 - adds r3, r1 - ldrh r1, [r4, 0x24] - ldrh r2, [r3] - adds r1, r2 - lsls r1, 16 - asrs r1, 16 - ldrh r2, [r4, 0x26] - ldrh r3, [r3, 0x2] - adds r2, r3 - lsls r2, 16 - asrs r2, 16 - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - movs r2, 0x8 - orrs r0, r2 - strb r0, [r1, 0x5] - ldrh r0, [r4, 0x3C] - strh r0, [r1, 0x2E] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x3A] - subs r0, 0x1 - strh r0, [r4, 0x3A] - movs r0, 0x17 - bl PlaySE -_080B6550: - movs r1, 0x3A - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080B6562 - movs r0, 0x20 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] -_080B6562: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B64DC - - thumb_func_start sub_80B6574 -sub_80B6574: @ 80B6574 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x30] - subs r0, 0x1 - strh r0, [r1, 0x30] - lsls r0, 16 - asrs r2, r0, 16 - cmp r2, 0 - bne _080B65A4 - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] - movs r0, 0x8 - strh r0, [r1, 0x30] - strh r2, [r1, 0x32] - strh r2, [r1, 0x34] - movs r2, 0x38 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _080B65A4 - movs r0, 0xB8 - lsls r0, 1 - bl PlayFanfare -_080B65A4: - pop {r0} - bx r0 - thumb_func_end sub_80B6574 - - thumb_func_start sub_80B65A8 -sub_80B65A8: @ 80B65A8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r7, r0, 0 - ldrh r0, [r7, 0x30] - subs r0, 0x1 - strh r0, [r7, 0x30] - lsls r0, 16 - cmp r0, 0 - bne _080B65D8 - movs r0, 0x8 - strh r0, [r7, 0x30] - ldrh r0, [r7, 0x32] - adds r0, 0x1 - movs r1, 0x3 - ands r0, r1 - strh r0, [r7, 0x32] - cmp r0, 0 - bne _080B65D8 - ldrh r0, [r7, 0x34] - adds r0, 0x1 - strh r0, [r7, 0x34] -_080B65D8: - ldrh r4, [r7, 0x32] - adds r4, 0x3 - movs r0, 0x3 - mov r8, r0 - mov r1, r8 - ands r4, r1 - ldr r3, =0x00001007 - mov r10, r3 - mov r0, r10 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 4 - movs r1, 0x84 - lsls r1, 17 - adds r0, r1 - lsrs r0, 16 - ldr r6, =gUnknown_0855C3BC - adds r1, r4, r6 - ldrb r1, [r1] - ldr r5, =gUnknown_0855C3C0 - adds r2, r4, r5 - ldrb r2, [r2] - ldr r3, =gUnknown_0855C3C4 - mov r9, r3 - add r4, r9 - ldrb r3, [r4] - bl MultiplyInvertedPaletteRGBComponents - ldrh r4, [r7, 0x32] - adds r4, 0x2 - mov r0, r8 - ands r4, r0 - mov r0, r10 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 4 - movs r1, 0x83 - lsls r1, 17 - adds r0, r1 - lsrs r0, 16 - adds r1, r4, r6 - ldrb r1, [r1] - adds r2, r4, r5 - ldrb r2, [r2] - add r4, r9 - ldrb r3, [r4] - bl MultiplyInvertedPaletteRGBComponents - ldrh r4, [r7, 0x32] - adds r4, 0x1 - mov r3, r8 - ands r4, r3 - mov r0, r10 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 4 - movs r1, 0x81 - lsls r1, 17 - adds r0, r1 - lsrs r0, 16 - adds r1, r4, r6 - ldrb r1, [r1] - adds r2, r4, r5 - ldrb r2, [r2] - add r4, r9 - ldrb r3, [r4] - bl MultiplyInvertedPaletteRGBComponents - ldrh r4, [r7, 0x32] - lsls r4, 24 - lsrs r4, 24 - mov r0, r10 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 4 - ldr r3, =0x01050000 - adds r0, r3 - lsrs r0, 16 - adds r6, r4, r6 - ldrb r6, [r6] - adds r5, r4, r5 - ldrb r5, [r5] - add r4, r9 - ldrb r4, [r4] - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r4, 0 - bl MultiplyInvertedPaletteRGBComponents - mov r0, r10 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 4 - ldr r1, =0x01030000 - adds r0, r1 - lsrs r0, 16 - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r4, 0 - bl MultiplyInvertedPaletteRGBComponents - movs r3, 0x34 - ldrsh r0, [r7, r3] - cmp r0, 0x2 - ble _080B66C2 - ldrh r0, [r7, 0x2E] - adds r0, 0x1 - movs r1, 0 - strh r0, [r7, 0x2E] - movs r0, 0x8 - strh r0, [r7, 0x30] - strh r1, [r7, 0x32] -_080B66C2: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B65A8 - - thumb_func_start sub_80B66E8 -sub_80B66E8: @ 80B66E8 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r2, r0, 0 - ldrh r0, [r2, 0x30] - subs r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - cmp r0, 0 - bne _080B6718 - movs r0, 0x8 - strh r0, [r2, 0x30] - ldrh r0, [r2, 0x32] - adds r0, 0x1 - movs r1, 0x3 - ands r0, r1 - strh r0, [r2, 0x32] - cmp r0, 0x3 - bne _080B6718 - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - movs r0, 0x1E - strh r0, [r2, 0x30] -_080B6718: - ldrh r4, [r2, 0x32] - lsls r4, 24 - lsrs r4, 24 - ldr r0, =0x00001007 - mov r8, r0 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 4 - movs r1, 0x84 - lsls r1, 17 - adds r0, r1 - lsrs r0, 16 - ldr r1, =gUnknown_0855C3BC - adds r1, r4, r1 - ldrb r6, [r1] - ldr r1, =gUnknown_0855C3C0 - adds r1, r4, r1 - ldrb r5, [r1] - ldr r1, =gUnknown_0855C3C4 - adds r4, r1 - ldrb r4, [r4] - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r4, 0 - bl MultiplyInvertedPaletteRGBComponents - mov r0, r8 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 4 - movs r1, 0x83 - lsls r1, 17 - adds r0, r1 - lsrs r0, 16 - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r4, 0 - bl MultiplyInvertedPaletteRGBComponents - mov r0, r8 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 4 - movs r1, 0x81 - lsls r1, 17 - adds r0, r1 - lsrs r0, 16 - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r4, 0 - bl MultiplyInvertedPaletteRGBComponents - mov r0, r8 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 4 - ldr r1, =0x01050000 - adds r0, r1 - lsrs r0, 16 - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r4, 0 - bl MultiplyInvertedPaletteRGBComponents - mov r0, r8 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 4 - ldr r1, =0x01030000 - adds r0, r1 - lsrs r0, 16 - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r4, 0 - bl MultiplyInvertedPaletteRGBComponents - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B66E8 - - thumb_func_start sub_80B67DC -sub_80B67DC: @ 80B67DC - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x30] - subs r0, 0x1 - strh r0, [r1, 0x30] - lsls r0, 16 - cmp r0, 0 - bne _080B67F2 - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] -_080B67F2: - pop {r0} - bx r0 - thumb_func_end sub_80B67DC - - thumb_func_start sub_80B67F8 -sub_80B67F8: @ 80B67F8 - ldrh r1, [r0, 0x2E] - adds r1, 0x1 - strh r1, [r0, 0x2E] - bx lr - thumb_func_end sub_80B67F8 - - thumb_func_start sub_80B6800 -sub_80B6800: @ 80B6800 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080B6816 - bl IsFanfareTaskInactive - lsls r0, 24 - cmp r0, 0 - beq _080B681C -_080B6816: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] -_080B681C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B6800 - - thumb_func_start nullsub_97 -nullsub_97: @ 80B6824 - bx lr - thumb_func_end nullsub_97 - - thumb_func_start sub_80B6828 -sub_80B6828: @ 80B6828 - push {lr} - adds r3, r0, 0 - ldr r2, =gSprites - movs r0, 0x2E - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x2E - ldrsh r0, [r0, r1] - cmp r0, 0x4 - ble _080B6848 - adds r0, r3, 0 - bl FieldEffectFreeGraphicsResources -_080B6848: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B6828 - - thumb_func_start sub_80B6850 -sub_80B6850: @ 80B6850 - push {r4,lr} - adds r3, r0, 0 - adds r2, r1, 0 - ldr r0, =gUnknown_0855C31C - lsls r3, 16 - asrs r3, 16 - lsls r2, 16 - asrs r2, 16 - adds r1, r3, 0 - movs r3, 0 - bl CreateSpriteAtEnd - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - ldrb r2, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0, 0x5] - adds r3, r0, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r3] - ldr r1, =gUnknown_0855C2AC - bl SetSubspriteTables - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B6850 - - thumb_func_start sub_80B68AC -sub_80B68AC: @ 80B68AC - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080B68D0 - movs r0, 0 - strh r0, [r4, 0x2E] - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - subs r0, 0x5 - ands r0, r1 - strb r0, [r2] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnim -_080B68D0: - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080B68E4 - adds r0, r4, 0 - bl FieldEffectFreeGraphicsResources -_080B68E4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B68AC - - thumb_func_start sub_80B68EC -sub_80B68EC: @ 80B68EC - push {r4,r5,lr} - lsls r0, 16 - lsrs r5, r0, 16 - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - lsls r3, 24 - cmp r3, 0 - bne _080B6934 - ldr r0, =gUnknown_0855C334 - lsls r1, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - ldr r1, =gUnknown_0855C2C4 - bl SetSubspriteTables - b _080B6948 - .pool -_080B6934: - ldr r0, =gUnknown_0855C34C - lsls r1, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r4, r0, 24 -_080B6948: - ldr r1, =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - adds r3, r0, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r3] - strh r5, [r0, 0x2E] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B68EC - - thumb_func_start sub_80B6970 -sub_80B6970: @ 80B6970 - push {lr} - adds r3, r0, 0 - ldr r2, =gTasks - movs r0, 0x2E - ldrsh r1, [r3, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r1, 0x26 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _080B69C6 - ldrh r1, [r3, 0x30] - movs r2, 0x30 - ldrsh r0, [r3, r2] - cmp r0, 0 - beq _080B699E - subs r0, r1, 0x1 - strh r0, [r3, 0x30] - lsls r0, 16 - cmp r0, 0 - bne _080B69C0 -_080B699E: - movs r0, 0x10 - strh r0, [r3, 0x30] - movs r0, 0x3E - adds r0, r3 - mov r12, r0 - ldrb r2, [r0] - 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 - mov r1, r12 - strb r0, [r1] -_080B69C0: - ldrh r0, [r3, 0x32] - adds r0, 0x1 - strh r0, [r3, 0x32] -_080B69C6: - movs r2, 0x32 - ldrsh r0, [r3, r2] - cmp r0, 0x7F - ble _080B69D4 - adds r0, r3, 0 - bl FieldEffectFreeGraphicsResources -_080B69D4: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B6970 - - thumb_func_start sub_80B69DC -sub_80B69DC: @ 80B69DC - push {lr} - ldr r0, =CB2_ReturnToField - bl SetMainCallback2 - ldr r1, =gFieldCallback - ldr r0, =mapldr_080842E8 - str r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B69DC - - thumb_func_start mapldr_080842E8 -mapldr_080842E8: @ 80B69FC - push {lr} - bl pal_fill_black - ldr r0, =task00_8084310 - movs r1, 0 - bl CreateTask - bl ScriptContext2_Enable - bl FreezeMapObjects - ldr r1, =gFieldCallback - movs r0, 0 - str r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end mapldr_080842E8 - - thumb_func_start task00_8084310 -task00_8084310: @ 80B6A24 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r0, 0x8 - ldrsh r6, [r4, r0] - cmp r6, 0 - bne _080B6A64 - bl sub_80ABDFC - lsls r0, 24 - cmp r0, 0 - beq _080B6A8A - bl GetCursorSelectionMonId - ldr r1, =gFieldEffectArguments - lsls r0, 24 - lsrs r0, 24 - str r0, [r1] - cmp r0, 0x5 - ble _080B6A58 - str r6, [r1] -_080B6A58: - movs r0, 0x1F - bl FieldEffectStart - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080B6A64: - movs r0, 0x1F - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _080B6A8A - bl Overworld_ResetStateAfterFly - bl warp_in - ldr r0, =CB2_LoadMap - bl SetMainCallback2 - ldr r1, =gFieldCallback - ldr r0, =mapldr_08084390 - str r0, [r1] - adds r0, r5, 0 - bl DestroyTask -_080B6A8A: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end task00_8084310 - - thumb_func_start mapldr_08084390 -mapldr_08084390: @ 80B6AA4 - push {r4,lr} - bl Overworld_PlaySpecialMapMusic - bl pal_fill_black - ldr r0, =c3_080843F8 - movs r1, 0 - bl CreateTask - ldr r4, =gMapObjects - ldr r3, =gPlayerAvatar - ldrb r1, [r3, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x1] - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0, 0x1] - ldrb r1, [r3] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080B6AE6 - ldrb r1, [r3, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x3 - bl FieldObjectTurn -_080B6AE6: - bl ScriptContext2_Enable - bl FreezeMapObjects - ldr r1, =gFieldCallback - movs r0, 0 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end mapldr_08084390 - - thumb_func_start c3_080843F8 -c3_080843F8: @ 80B6B0C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080B6B3E - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080B6B58 - movs r0, 0x20 - bl FieldEffectStart - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080B6B3E: - movs r0, 0x20 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _080B6B58 - bl ScriptContext2_Disable - bl UnfreezeMapObjects - adds r0, r5, 0 - bl DestroyTask -_080B6B58: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end c3_080843F8 - - thumb_func_start sub_80B6B68 -sub_80B6B68: @ 80B6B68 - push {lr} - bl Overworld_PlaySpecialMapMusic - bl pal_fill_for_maplights - bl ScriptContext2_Enable - bl FreezeMapObjects - ldr r0, =sub_80B6B94 - movs r1, 0 - bl CreateTask - ldr r1, =gFieldCallback - movs r0, 0 - str r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B6B68 - - thumb_func_start sub_80B6B94 -sub_80B6B94: @ 80B6B94 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r4, r1, r0 - ldr r5, =gUnknown_0855C3C8 -_080B6BA6: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _080B6BA6 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B6B94 - - thumb_func_start sub_80B6BCC -sub_80B6BCC: @ 80B6BCC - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - mov r9, r0 - ldr r6, =gPlayerAvatar - ldrb r0, [r6, 0x5] - lsls r5, r0, 3 - adds r5, r0 - lsls r5, 2 - ldr r0, =gMapObjects - mov r8, r0 - add r5, r8 - ldrb r0, [r6, 0x4] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, =gSprites - adds r4, r0 - bl CameraObjectReset2 - ldrb r1, [r6, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - add r0, r8 - ldrb r1, [r0, 0x1] - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0, 0x1] - movs r0, 0x1 - strb r0, [r6, 0x6] - bl player_get_direction_lower_nybble - lsls r0, 24 - lsrs r0, 24 - bl GetFaceDirectionAnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl FieldObjectSetSpecialAnim - adds r3, r4, 0 - adds r3, 0x42 - ldrb r0, [r3] - lsrs r0, 6 - mov r1, r9 - strh r0, [r1, 0x10] - ldrb r0, [r5, 0x3] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r5, 0x3] - ldrb r1, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, 0x5] - ldrb r1, [r3] - movs r0, 0x3F - ands r0, r1 - movs r1, 0x80 - orrs r0, r1 - strb r0, [r3] - mov r1, r9 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - movs r0, 0x1 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B6BCC - - thumb_func_start sub_80B6C74 -sub_80B6C74: @ 80B6C74 - push {r4,lr} - adds r4, r0, 0 - bl sub_80ABDFC - lsls r0, 24 - cmp r0, 0 - beq _080B6C88 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080B6C88: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80B6C74 - - thumb_func_start sub_80B6C90 -sub_80B6C90: @ 80B6C90 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r6, =gPlayerAvatar - ldrb r0, [r6, 0x4] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, =gSprites - adds r2, r0 - adds r0, r2, 0 - adds r0, 0x29 - movs r4, 0 - ldrsb r4, [r0, r4] - lsls r0, r4, 17 - negs r0, r0 - ldrh r1, [r2, 0x22] - ldr r3, =gSpriteCoordOffsetY - adds r1, r4 - ldrh r3, [r3] - adds r1, r3 - asrs r0, 16 - adds r0, r1 - negs r0, r0 - movs r1, 0 - strh r0, [r2, 0x26] - movs r0, 0x1 - strh r0, [r5, 0xA] - strh r1, [r5, 0xC] - ldr r2, =gMapObjects - ldrb r0, [r6, 0x5] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r2, [r1, 0x1] - movs r0, 0x21 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x1] - movs r0, 0x2B - bl PlaySE - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B6C90 - - thumb_func_start sub_80B6D04 -sub_80B6D04: @ 80B6D04 - push {r4-r6,lr} - adds r4, r0, 0 - ldr r2, =gPlayerAvatar - ldrb r1, [r2, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r6, r0, r1 - ldrb r1, [r2, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r5, r0, r1 - ldrh r0, [r4, 0xA] - ldrh r1, [r5, 0x26] - adds r0, r1 - strh r0, [r5, 0x26] - ldrh r2, [r4, 0xA] - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0x7 - bgt _080B6D46 - ldrh r1, [r4, 0xC] - adds r0, r2, r1 - strh r0, [r4, 0xC] - movs r1, 0xF - ands r0, r1 - cmp r0, 0 - beq _080B6D46 - lsls r0, r2, 1 - strh r0, [r4, 0xA] -_080B6D46: - ldrh r2, [r4, 0xE] - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080B6D84 - movs r0, 0x26 - ldrsh r1, [r5, r0] - movs r0, 0x10 - negs r0, r0 - cmp r1, r0 - blt _080B6D84 - adds r0, r2, 0x1 - strh r0, [r4, 0xE] - ldrb r1, [r6, 0x3] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r6, 0x3] - ldrb r1, [r4, 0x10] - adds r3, r5, 0 - adds r3, 0x42 - lsls r1, 6 - ldrb r2, [r3] - movs r0, 0x3F - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldrb r0, [r6] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r6] -_080B6D84: - movs r1, 0x26 - ldrsh r0, [r5, r1] - cmp r0, 0 - blt _080B6DA8 - movs r0, 0xD6 - bl PlaySE - ldrb r0, [r6] - movs r1, 0x8 - orrs r0, r1 - movs r1, 0x20 - orrs r0, r1 - strb r0, [r6] - movs r0, 0 - strh r0, [r5, 0x26] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080B6DA8: - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B6D04 - - thumb_func_start sub_80B6DBC -sub_80B6DBC: @ 80B6DBC - push {lr} - ldrh r1, [r0, 0x8] - adds r1, 0x1 - movs r2, 0 - strh r1, [r0, 0x8] - movs r1, 0x4 - strh r1, [r0, 0xA] - strh r2, [r0, 0xC] - movs r0, 0 - bl SetCameraPanningCallback - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end sub_80B6DBC - - thumb_func_start sub_80B6DD8 -sub_80B6DD8: @ 80B6DD8 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0xA - ldrsh r1, [r4, r0] - movs r0, 0 - bl SetCameraPanning - ldrh r0, [r4, 0xA] - negs r2, r0 - strh r2, [r4, 0xA] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - movs r1, 0x3 - ands r0, r1 - cmp r0, 0 - bne _080B6E00 - lsls r0, r2, 16 - asrs r0, 17 - strh r0, [r4, 0xA] -_080B6E00: - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080B6E0E - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080B6E0E: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80B6DD8 - - thumb_func_start sub_80B6E18 -sub_80B6E18: @ 80B6E18 - push {lr} - ldr r1, =gPlayerAvatar - movs r0, 0 - strb r0, [r1, 0x6] - bl ScriptContext2_Disable - bl CameraObjectReset1 - bl UnfreezeMapObjects - bl InstallCameraPanAheadCallback - ldr r0, =sub_80B6B94 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B6E18 - - thumb_func_start sub_80B6E4C -sub_80B6E4C: @ 80B6E4C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r0, =sub_80B6E88 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0xA] - cmp r4, 0x6A - bne _080B6E78 - movs r0, 0x1 - strh r0, [r1, 0xA] -_080B6E78: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B6E4C - - thumb_func_start sub_80B6E88 -sub_80B6E88: @ 80B6E88 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r4, r1, r0 - ldr r5, =gUnknown_0855C3E4 -_080B6E9A: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _080B6E9A - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B6E88 - - thumb_func_start sub_80B6EC0 -sub_80B6EC0: @ 80B6EC0 - push {r4,lr} - adds r4, r0, 0 - bl FreezeMapObjects - bl CameraObjectReset2 - ldrb r0, [r4, 0xA] - bl sub_80E1558 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80B6EC0 - - thumb_func_start sub_80B6EE0 -sub_80B6EE0: @ 80B6EE0 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r4, r0, r1 - adds r0, r4, 0 - bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive - lsls r0, 24 - cmp r0, 0 - beq _080B6F0A - adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - lsls r0, 24 - cmp r0, 0 - beq _080B6F3E -_080B6F0A: - bl player_get_direction_lower_nybble - lsls r0, 24 - lsrs r0, 24 - bl GetFaceDirectionAnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldObjectSetSpecialAnim - ldrh r0, [r5, 0x8] - adds r0, 0x1 - movs r1, 0 - strh r0, [r5, 0x8] - strh r1, [r5, 0xC] - strh r1, [r5, 0xE] - ldrb r0, [r5, 0xA] - cmp r0, 0 - bne _080B6F38 - movs r0, 0x4 - strh r0, [r5, 0x8] -_080B6F38: - movs r0, 0x50 - bl PlaySE -_080B6F3E: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B6EE0 - - thumb_func_start sub_80B6F50 -sub_80B6F50: @ 80B6F50 - push {r4,lr} - adds r4, r0, 0 - bl sub_80B6FB8 - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0x3 - ble _080B6F6A - bl sub_80B7050 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080B6F6A: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80B6F50 - - thumb_func_start sub_80B6F74 -sub_80B6F74: @ 80B6F74 - push {lr} - bl sub_80B6FB8 - bl sub_80B7060 - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_80B6F74 - - thumb_func_start sub_80B6F84 -sub_80B6F84: @ 80B6F84 - push {r4,lr} - adds r4, r0, 0 - bl sub_80B7004 - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0x3 - ble _080B6F9E - bl sub_80B7050 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080B6F9E: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80B6F84 - - thumb_func_start sub_80B6FA8 -sub_80B6FA8: @ 80B6FA8 - push {lr} - bl sub_80B7004 - bl sub_80B7060 - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_80B6FA8 - - thumb_func_start sub_80B6FB8 -sub_80B6FB8: @ 80B6FB8 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, =gPlayerAvatar - ldrb r0, [r0, 0x4] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, =gSprites - adds r4, r0 - movs r0, 0xC - ldrsh r1, [r5, r0] - movs r0, 0x84 - bl Cos - strh r0, [r4, 0x24] - movs r0, 0xC - ldrsh r1, [r5, r0] - movs r0, 0x94 - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r5, 0xE] - adds r0, 0x1 - strh r0, [r5, 0xE] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080B6FF6 - ldrh r0, [r5, 0xC] - adds r0, 0x1 - strh r0, [r5, 0xC] -_080B6FF6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B6FB8 - - thumb_func_start sub_80B7004 -sub_80B7004: @ 80B7004 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, =gPlayerAvatar - ldrb r0, [r0, 0x4] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, =gSprites - adds r4, r0 - movs r0, 0xC - ldrsh r1, [r5, r0] - movs r0, 0x7C - bl Cos - strh r0, [r4, 0x24] - movs r0, 0xC - ldrsh r1, [r5, r0] - movs r0, 0x76 - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r5, 0xE] - adds r0, 0x1 - strh r0, [r5, 0xE] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080B7042 - ldrh r0, [r5, 0xC] - adds r0, 0x1 - strh r0, [r5, 0xC] -_080B7042: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B7004 - - thumb_func_start sub_80B7050 -sub_80B7050: @ 80B7050 - push {lr} - bl music_something - bl sub_80AF0B4 - pop {r0} - bx r0 - thumb_func_end sub_80B7050 - - thumb_func_start sub_80B7060 -sub_80B7060: @ 80B7060 - push {lr} - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080B709C - bl sub_80859A0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B709C - bl sub_80E1570 - bl warp_in - ldr r1, =gFieldCallback - ldr r0, =sub_80B70B4 - str r0, [r1] - ldr r0, =CB2_LoadMap - bl SetMainCallback2 - ldr r0, =sub_80B6E88 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_080B709C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B7060 - - thumb_func_start sub_80B70B4 -sub_80B70B4: @ 80B70B4 - push {lr} - bl Overworld_PlaySpecialMapMusic - bl pal_fill_for_maplights - bl ScriptContext2_Enable - ldr r0, =sub_80B70DC - movs r1, 0 - bl CreateTask - ldr r1, =gFieldCallback - movs r0, 0 - str r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B70B4 - - thumb_func_start sub_80B70DC -sub_80B70DC: @ 80B70DC - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r4, r1, r0 - ldr r5, =gUnknown_0855C3FC -_080B70EE: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _080B70EE - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B70DC - - thumb_func_start sub_80B7114 -sub_80B7114: @ 80B7114 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - bl CameraObjectReset2 - ldr r0, =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, =gMapObjects - adds r4, r0 - movs r0, 0x4 - bl GetFaceDirectionAnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldObjectSetSpecialAnim - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r1, r0, 24 - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0x10 - strh r0, [r5, 0xA] - cmp r1, 0x6B - bne _080B717C - movs r1, 0x1 - movs r0, 0x3 - strh r0, [r5, 0x8] - b _080B717E - .pool -_080B717C: - movs r1, 0 -_080B717E: - adds r0, r1, 0 - bl sub_80E1558 - movs r0, 0x1 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80B7114 - - thumb_func_start sub_80B7190 -sub_80B7190: @ 80B7190 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, =gPlayerAvatar - ldrb r0, [r0, 0x4] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, =gSprites - adds r4, r0 - movs r0, 0xA - ldrsh r1, [r5, r0] - movs r0, 0x84 - bl Cos - strh r0, [r4, 0x24] - movs r0, 0xA - ldrsh r1, [r5, r0] - movs r0, 0x94 - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B7190 - - thumb_func_start sub_80B71D0 -sub_80B71D0: @ 80B71D0 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r5, r0, r1 - movs r0, 0xA - ldrsh r1, [r4, r0] - movs r0, 0x84 - bl Cos - strh r0, [r5, 0x24] - movs r0, 0xA - ldrsh r1, [r4, r0] - movs r0, 0x94 - bl Sin - strh r0, [r5, 0x26] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080B720E - ldrh r0, [r4, 0xA] - subs r0, 0x1 - strh r0, [r4, 0xA] -_080B720E: - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080B721E - strh r0, [r5, 0x24] - strh r0, [r5, 0x26] - movs r0, 0x5 - strh r0, [r4, 0x8] -_080B721E: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B71D0 - - thumb_func_start sub_80B7230 -sub_80B7230: @ 80B7230 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, =gPlayerAvatar - ldrb r0, [r0, 0x4] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, =gSprites - adds r4, r0 - movs r0, 0xA - ldrsh r1, [r5, r0] - movs r0, 0x7C - bl Cos - strh r0, [r4, 0x24] - movs r0, 0xA - ldrsh r1, [r5, r0] - movs r0, 0x76 - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B7230 - - thumb_func_start sub_80B7270 -sub_80B7270: @ 80B7270 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r5, r0, r1 - movs r0, 0xA - ldrsh r1, [r4, r0] - movs r0, 0x7C - bl Cos - strh r0, [r5, 0x24] - movs r0, 0xA - ldrsh r1, [r4, r0] - movs r0, 0x76 - bl Sin - strh r0, [r5, 0x26] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080B72AE - ldrh r0, [r4, 0xA] - subs r0, 0x1 - strh r0, [r4, 0xA] -_080B72AE: - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080B72C0 - strh r0, [r5, 0x24] - strh r0, [r5, 0x26] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080B72C0: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B7270 - - thumb_func_start sub_80B72D0 -sub_80B72D0: @ 80B72D0 - push {r4,lr} - adds r4, r0, 0 - bl sub_80E1584 - lsls r0, 24 - cmp r0, 0 - bne _080B72EC - bl sub_80E1570 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x1 - b _080B72EE -_080B72EC: - movs r0, 0 -_080B72EE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80B72D0 - - thumb_func_start sub_80B72F4 -sub_80B72F4: @ 80B72F4 - push {r4,lr} - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r4, r0, r1 - adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - lsls r0, 24 - cmp r0, 0 - beq _080B7338 - bl CameraObjectReset1 - bl ScriptContext2_Disable - movs r0, 0x4 - bl GetGoSpeed0AnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldObjectSetSpecialAnim - ldr r0, =sub_80B70DC - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_080B7338: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B72F4 - - thumb_func_start oei_waterfall -oei_waterfall: @ 80B734C - push {r4,lr} - ldr r4, =sub_80B7384 - adds r0, r4, 0 - movs r1, 0xFF - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, =gFieldEffectArguments - ldr r2, [r2] - strh r2, [r1, 0xA] - bl _call_via_r4 - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end oei_waterfall - - thumb_func_start sub_80B7384 -sub_80B7384: @ 80B7384 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_0855C418 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_080B7396: - movs r0, 0x8 - ldrsh r2, [r4, r0] - lsls r2, 2 - adds r2, r5 - ldr r0, =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, =gMapObjects - adds r1, r0 - ldr r2, [r2] - adds r0, r4, 0 - bl _call_via_r2 - lsls r0, 24 - cmp r0, 0 - bne _080B7396 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B7384 - - thumb_func_start sub_80B73D0 -sub_80B73D0: @ 80B73D0 - push {r4,lr} - adds r4, r0, 0 - bl ScriptContext2_Enable - ldr r1, =gPlayerAvatar - movs r0, 0x1 - strb r0, [r1, 0x6] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B73D0 - - thumb_func_start waterfall_1_do_anim_probably -waterfall_1_do_anim_probably: @ 80B73F0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl ScriptContext2_Enable - adds r0, r5, 0 - bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive - lsls r0, 24 - cmp r0, 0 - bne _080B7420 - adds r0, r5, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - ldr r1, =gFieldEffectArguments - movs r2, 0xA - ldrsh r0, [r4, r2] - str r0, [r1] - movs r0, 0x3B - bl FieldEffectStart - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080B7420: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end waterfall_1_do_anim_probably - - thumb_func_start waterfall_2_wait_anim_finish_probably -waterfall_2_wait_anim_finish_probably: @ 80B742C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x6 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _080B7446 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x1 - b _080B7448 -_080B7446: - movs r0, 0 -_080B7448: - pop {r4} - pop {r1} - bx r1 - thumb_func_end waterfall_2_wait_anim_finish_probably - - thumb_func_start sub_80B7450 -sub_80B7450: @ 80B7450 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r0, 0x2 - bl GetSimpleGoAnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldObjectSetSpecialAnim - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80B7450 - - thumb_func_start sub_80B7478 -sub_80B7478: @ 80B7478 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - lsls r0, 24 - cmp r0, 0 - bne _080B748E - movs r0, 0 - b _080B74CA -_080B748E: - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_IsWaterfall - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _080B74C4 - bl ScriptContext2_Disable - ldr r0, =gPlayerAvatar - strb r4, [r0, 0x6] - ldr r0, =sub_80B7384 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0x2B - bl FieldEffectActiveListRemove - movs r0, 0 - b _080B74CA - .pool -_080B74C4: - movs r0, 0x3 - strh r0, [r5, 0x8] - movs r0, 0x1 -_080B74CA: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80B7478 - - thumb_func_start sub_80B74D0 -sub_80B74D0: @ 80B74D0 - push {r4,lr} - ldr r4, =sub_80B750C - adds r0, r4, 0 - movs r1, 0xFF - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r3, =gFieldEffectArguments - ldr r2, [r3] - strh r2, [r1, 0x26] - ldr r2, [r3, 0x4] - strh r2, [r1, 0x24] - bl _call_via_r4 - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B74D0 - - thumb_func_start sub_80B750C -sub_80B750C: @ 80B750C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_0855C42C - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_080B751E: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _080B751E - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B750C - - thumb_func_start dive_1_lock -dive_1_lock: @ 80B7544 - ldr r2, =gPlayerAvatar - movs r1, 0x1 - strb r1, [r2, 0x6] - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - movs r0, 0 - bx lr - .pool - thumb_func_end dive_1_lock - - thumb_func_start dive_2_unknown -dive_2_unknown: @ 80B7558 - push {r4,lr} - adds r4, r0, 0 - bl ScriptContext2_Enable - ldr r1, =gFieldEffectArguments - movs r2, 0x26 - ldrsh r0, [r4, r2] - str r0, [r1] - movs r0, 0x3B - bl FieldEffectStart - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end dive_2_unknown - - thumb_func_start dive_3_unknown -dive_3_unknown: @ 80B7580 - push {lr} - sub sp, 0x8 - mov r1, sp - adds r1, 0x2 - mov r0, sp - bl PlayerGetDestCoords - movs r0, 0x6 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _080B75C4 - ldr r2, =gMapObjects - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x1E] - mov r0, sp - bl dive_warp - ldr r0, =sub_80B750C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0x2C - bl FieldEffectActiveListRemove -_080B75C4: - movs r0, 0 - add sp, 0x8 - pop {r1} - bx r1 - .pool - thumb_func_end dive_3_unknown - - thumb_func_start sub_80B75D8 -sub_80B75D8: @ 80B75D8 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r0, =sub_80B75F0 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B75D8 - - thumb_func_start sub_80B75F0 -sub_80B75F0: @ 80B75F0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r6, =gUnknown_0855C438 - ldr r2, =gTasks - ldr r5, =gPlayerAvatar - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_080B7604: - movs r0, 0x8 - ldrsh r3, [r4, r0] - lsls r3, 2 - adds r3, r6 - ldrb r0, [r5, 0x5] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, =gMapObjects - adds r1, r0 - ldrb r0, [r5, 0x4] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, =gSprites - adds r2, r0 - ldr r3, [r3] - adds r0, r4, 0 - bl _call_via_r3 - lsls r0, 24 - cmp r0, 0 - bne _080B7604 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B75F0 - - thumb_func_start sub_80B764C -sub_80B764C: @ 80B764C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl FreezeMapObjects - bl CameraObjectReset2 - movs r0, 0 - bl SetCameraPanningCallback - ldr r0, =gPlayerAvatar - movs r2, 0x1 - strb r2, [r0, 0x6] - ldrb r0, [r5, 0x3] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r5, 0x3] - strh r2, [r4, 0xA] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B764C - - thumb_func_start sub_80B7684 -sub_80B7684: @ 80B7684 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0xA - ldrsh r1, [r4, r0] - movs r0, 0 - bl SetCameraPanning - ldrh r0, [r4, 0xA] - negs r0, r0 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _080B76B0 - movs r0, 0 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080B76B0: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80B7684 - - thumb_func_start sub_80B76B8 -sub_80B76B8: @ 80B76B8 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0 - strh r0, [r2, 0x26] - movs r0, 0x1 - strh r0, [r4, 0xE] - ldr r3, =gFieldEffectArguments - movs r5, 0x10 - ldrsh r0, [r1, r5] - str r0, [r3] - movs r5, 0x12 - ldrsh r0, [r1, r5] - str r0, [r3, 0x4] - adds r0, r2, 0 - adds r0, 0x43 - ldrb r0, [r0] - subs r0, 0x1 - str r0, [r3, 0x8] - ldrb r0, [r2, 0x5] - lsls r0, 28 - lsrs r0, 30 - str r0, [r3, 0xC] - movs r0, 0x32 - bl FieldEffectStart - movs r0, 0xB2 - bl PlaySE - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B76B8 - - thumb_func_start sub_80B7704 -sub_80B7704: @ 80B7704 - push {r4-r7,lr} - adds r4, r0, 0 - adds r6, r1, 0 - adds r5, r2, 0 - movs r0, 0xA - ldrsh r1, [r4, r0] - movs r0, 0 - bl SetCameraPanning - ldrh r0, [r4, 0xA] - negs r2, r0 - strh r2, [r4, 0xA] - ldrh r0, [r4, 0xC] - adds r1, r0, 0x1 - strh r1, [r4, 0xC] - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x11 - bgt _080B773E - movs r0, 0x1 - ands r1, r0 - cmp r1, 0 - bne _080B7750 - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0x3 - bgt _080B7750 - lsls r0, r2, 1 - b _080B774E -_080B773E: - movs r0, 0x4 - ands r1, r0 - cmp r1, 0 - bne _080B7750 - lsls r0, r2, 16 - cmp r0, 0 - ble _080B7750 - asrs r0, 17 -_080B774E: - strh r0, [r4, 0xA] -_080B7750: - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0x6 - ble _080B779C - adds r0, r5, 0 - adds r0, 0x29 - movs r1, 0 - ldrsb r1, [r0, r1] - lsls r2, r1, 17 - negs r2, r2 - movs r7, 0x26 - ldrsh r3, [r5, r7] - movs r7, 0x22 - ldrsh r0, [r5, r7] - adds r0, r1 - ldr r1, =gSpriteCoordOffsetY - movs r7, 0 - ldrsh r1, [r1, r7] - adds r0, r1 - asrs r2, 16 - adds r0, r2 - cmn r3, r0 - ble _080B7798 - ldrh r0, [r5, 0x26] - ldrh r1, [r4, 0xE] - subs r0, r1 - strh r0, [r5, 0x26] - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x7 - bgt _080B779C - adds r0, r1, 0x1 - strh r0, [r4, 0xE] - b _080B779C - .pool -_080B7798: - movs r0, 0x1 - strh r0, [r4, 0x10] -_080B779C: - ldrh r2, [r4, 0x12] - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080B77DA - movs r7, 0x26 - ldrsh r1, [r5, r7] - movs r0, 0x10 - negs r0, r0 - cmp r1, r0 - bge _080B77DA - adds r0, r2, 0x1 - strh r0, [r4, 0x12] - ldrb r0, [r6, 0x3] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r6, 0x3] - ldrb r1, [r5, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, 0x5] - adds r2, r5, 0 - adds r2, 0x42 - ldrb r1, [r2] - movs r0, 0x3F - ands r0, r1 - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] -_080B77DA: - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080B77F0 - movs r7, 0x10 - ldrsh r0, [r4, r7] - cmp r0, 0 - beq _080B77F0 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080B77F0: - movs r0, 0 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80B7704 - - thumb_func_start sub_80B77F8 -sub_80B77F8: @ 80B77F8 - push {r4,lr} - adds r4, r0, 0 - bl music_something - bl sub_80AF0B4 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80B77F8 - - thumb_func_start sub_80B7814 -sub_80B7814: @ 80B7814 - push {lr} - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080B784C - bl sub_80859A0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B784C - bl warp_in - ldr r1, =gFieldCallback - ldr r0, =mapldr_080851BC - str r0, [r1] - ldr r0, =CB2_LoadMap - bl SetMainCallback2 - ldr r0, =sub_80B75F0 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_080B784C: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B7814 - - thumb_func_start mapldr_080851BC -mapldr_080851BC: @ 80B7868 - push {lr} - bl Overworld_PlaySpecialMapMusic - bl pal_fill_for_maplights - bl ScriptContext2_Enable - ldr r0, =gFieldCallback - movs r1, 0 - str r1, [r0] - ldr r0, =sub_80B7890 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end mapldr_080851BC - - thumb_func_start sub_80B7890 -sub_80B7890: @ 80B7890 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r6, =gUnknown_0855C450 - ldr r2, =gTasks - ldr r5, =gPlayerAvatar - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_080B78A4: - movs r0, 0x8 - ldrsh r3, [r4, r0] - lsls r3, 2 - adds r3, r6 - ldrb r0, [r5, 0x5] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, =gMapObjects - adds r1, r0 - ldrb r0, [r5, 0x4] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, =gSprites - adds r2, r0 - ldr r3, [r3] - adds r0, r4, 0 - bl _call_via_r3 - lsls r0, 24 - cmp r0, 0 - bne _080B78A4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B7890 - - thumb_func_start sub_80B78EC -sub_80B78EC: @ 80B78EC - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - bl CameraObjectReset2 - bl FreezeMapObjects - ldr r1, =gPlayerAvatar - movs r0, 0x1 - strb r0, [r1, 0x6] - ldrb r0, [r4, 0x1] - movs r1, 0x20 - orrs r0, r1 - strb r0, [r4, 0x1] - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B78EC - - thumb_func_start sub_80B791C -sub_80B791C: @ 80B791C - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - bl sub_80ABDFC - lsls r0, 24 - cmp r0, 0 - beq _080B795C - ldr r1, =gFieldEffectArguments - movs r2, 0x10 - ldrsh r0, [r5, r2] - str r0, [r1] - movs r2, 0x12 - ldrsh r0, [r5, r2] - str r0, [r1, 0x4] - adds r0, r6, 0 - adds r0, 0x43 - ldrb r0, [r0] - subs r0, 0x1 - str r0, [r1, 0x8] - ldrb r0, [r6, 0x5] - lsls r0, 28 - lsrs r0, 30 - str r0, [r1, 0xC] - movs r0, 0x31 - bl FieldEffectStart - strh r0, [r4, 0xA] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080B795C: - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B791C - - thumb_func_start sub_80B7968 -sub_80B7968: @ 80B7968 - push {r4,lr} - adds r2, r0, 0 - adds r4, r1, 0 - movs r0, 0xA - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - adds r0, 0x2B - ldrb r0, [r0] - cmp r0, 0x1 - bls _080B79B0 - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - ldrb r1, [r4, 0x1] - movs r0, 0x21 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x1] - bl CameraObjectReset1 - movs r0, 0xAF - bl PlaySE - movs r0, 0x4 - bl sub_8093514 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldObjectSetSpecialAnim -_080B79B0: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B7968 - - thumb_func_start sub_80B79BC -sub_80B79BC: @ 80B79BC - push {lr} - adds r0, r1, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - lsls r0, 24 - cmp r0, 0 - beq _080B79E6 - ldr r1, =gPlayerAvatar - movs r0, 0 - strb r0, [r1, 0x6] - bl ScriptContext2_Disable - bl UnfreezeMapObjects - ldr r0, =sub_80B7890 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_080B79E6: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B79BC - - thumb_func_start sub_80B79F4 -sub_80B79F4: @ 80B79F4 - push {r4,lr} - ldr r4, =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_80930E0 - ldr r0, =gFieldEffectObjectTemplatePointers - adds r0, 0x84 - ldr r0, [r0] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - ldrb r3, [r4, 0x8] - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r1 - movs r1, 0x3 - ldrb r3, [r4, 0xC] - ands r3, r1 - lsls r3, 2 - ldrb r4, [r2, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r4 - orrs r1, r3 - strb r1, [r2, 0x5] - adds r2, 0x3E - ldrb r1, [r2] - movs r3, 0x2 - orrs r1, r3 - strb r1, [r2] - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B79F4 - - thumb_func_start sub_80B7A58 -sub_80B7A58: @ 80B7A58 - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080B7A70 - adds r0, r2, 0 - movs r1, 0x32 - bl FieldEffectStop -_080B7A70: - pop {r0} - bx r0 - thumb_func_end sub_80B7A58 - - thumb_func_start sub_80B7A74 -sub_80B7A74: @ 80B7A74 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r0, =sub_80B7A8C - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B7A74 - - thumb_func_start sub_80B7A8C -sub_80B7A8C: @ 80B7A8C - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r6, =gUnknown_0855C460 - ldr r2, =gTasks - ldr r5, =gPlayerAvatar - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_080B7AA0: - movs r0, 0x8 - ldrsh r3, [r4, r0] - lsls r3, 2 - adds r3, r6 - ldrb r0, [r5, 0x5] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, =gMapObjects - adds r1, r0 - ldrb r0, [r5, 0x4] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, =gSprites - adds r2, r0 - ldr r3, [r3] - adds r0, r4, 0 - bl _call_via_r3 - lsls r0, 24 - cmp r0, 0 - bne _080B7AA0 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B7A8C - - thumb_func_start sub_80B7AE8 -sub_80B7AE8: @ 80B7AE8 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - bl FreezeMapObjects - bl CameraObjectReset2 - ldr r1, =gPlayerAvatar - movs r0, 0x1 - strb r0, [r1, 0x6] - ldrb r0, [r4, 0x3] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r4, 0x3] - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B7AE8 - - thumb_func_start sub_80B7B18 -sub_80B7B18: @ 80B7B18 - push {r4-r6,lr} - adds r5, r0, 0 - adds r4, r1, 0 - adds r6, r2, 0 - adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - lsls r0, 24 - cmp r0, 0 - beq _080B7B8C - ldrh r1, [r5, 0xA] - movs r2, 0xA - ldrsh r0, [r5, r2] - cmp r0, 0x3 - ble _080B7B6C - ldr r1, =gFieldEffectArguments - movs r2, 0x10 - ldrsh r0, [r4, r2] - str r0, [r1] - movs r2, 0x12 - ldrsh r0, [r4, r2] - str r0, [r1, 0x4] - adds r0, r6, 0 - adds r0, 0x43 - ldrb r0, [r0] - subs r0, 0x1 - str r0, [r1, 0x8] - ldrb r0, [r6, 0x5] - lsls r0, 28 - lsrs r0, 30 - str r0, [r1, 0xC] - movs r0, 0x31 - bl FieldEffectStart - strh r0, [r5, 0xA] - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - b _080B7B8C - .pool -_080B7B6C: - adds r0, r1, 0x1 - strh r0, [r5, 0xA] - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetStepInPlaceDelay4AnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldObjectSetSpecialAnim - movs r0, 0x27 - bl PlaySE -_080B7B8C: - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80B7B18 - - thumb_func_start sub_80B7B94 -sub_80B7B94: @ 80B7B94 - push {r4,lr} - adds r3, r0, 0 - adds r4, r1, 0 - ldr r2, =gSprites - movs r0, 0xA - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x2B - ldrb r0, [r0] - cmp r0, 0x2 - bne _080B7BBE - ldrb r0, [r4, 0x1] - movs r1, 0x20 - orrs r0, r1 - strb r0, [r4, 0x1] - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] -_080B7BBE: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B7B94 - - thumb_func_start sub_80B7BCC -sub_80B7BCC: @ 80B7BCC - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x31 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _080B7BEA - bl music_something - bl sub_80AF0B4 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080B7BEA: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80B7BCC - - thumb_func_start sub_80B7BF4 -sub_80B7BF4: @ 80B7BF4 - push {lr} - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080B7C2C - bl sub_80859A0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B7C2C - bl warp_in - ldr r1, =gFieldCallback - ldr r0, =sub_80B6B68 - str r0, [r1] - ldr r0, =CB2_LoadMap - bl SetMainCallback2 - ldr r0, =sub_80B7A8C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_080B7C2C: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B7BF4 - - thumb_func_start sub_80B7C48 -sub_80B7C48: @ 80B7C48 - push {r4,lr} - ldr r4, =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_80930E0 - ldr r0, =gFieldEffectObjectTemplatePointers - adds r0, 0x80 - ldr r0, [r0] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - ldrb r3, [r4, 0x8] - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r1 - movs r1, 0x3 - ldrb r3, [r4, 0xC] - ands r3, r1 - lsls r3, 2 - ldrb r4, [r2, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r4 - orrs r1, r3 - strb r1, [r2, 0x5] - adds r2, 0x3E - ldrb r1, [r2] - movs r3, 0x2 - orrs r1, r3 - strb r1, [r2] - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B7C48 - - thumb_func_start sub_80B7CAC -sub_80B7CAC: @ 80B7CAC - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080B7CC4 - adds r0, r2, 0 - movs r1, 0x31 - bl FieldEffectStop -_080B7CC4: - pop {r0} - bx r0 - thumb_func_end sub_80B7CAC - - thumb_func_start sub_80B7CC8 -sub_80B7CC8: @ 80B7CC8 - push {lr} - bl ScriptContext2_Enable - bl FreezeMapObjects - ldr r0, =sub_80B7CE4 - movs r1, 0x50 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B7CC8 - - thumb_func_start sub_80B7CE4 -sub_80B7CE4: @ 80B7CE4 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, =gUnknown_0855C474 - ldr r2, =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B7CE4 - - thumb_func_start sub_80B7D14 -sub_80B7D14: @ 80B7D14 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x40 - strh r0, [r4, 0x24] - bl player_get_direction_lower_nybble - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x26] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B7D14 - - thumb_func_start sub_80B7D34 -sub_80B7D34: @ 80B7D34 - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldr r1, =gUnknown_0855C47C - mov r0, sp - movs r2, 0x5 - bl memcpy - ldrh r1, [r4, 0x24] - movs r2, 0x24 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _080B7D60 - subs r0, r1, 0x1 - strh r0, [r4, 0x24] - lsls r0, 16 - cmp r0, 0 - bne _080B7D60 - bl music_something - bl sub_80AF0B4 -_080B7D60: - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r5, r0, r1 - adds r0, r5, 0 - bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive - lsls r0, 24 - cmp r0, 0 - beq _080B7D86 - adds r0, r5, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - lsls r0, 24 - cmp r0, 0 - beq _080B7E40 -_080B7D86: - movs r1, 0x24 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080B7DF8 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080B7DF8 - bl sub_80859A0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B7DF8 - ldrh r1, [r4, 0x26] - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl FieldObjectSetDirection - bl sub_8084E14 - bl warp_in - ldr r1, =gFieldCallback - ldr r0, =mapldr_080859D4 - str r0, [r1] - ldr r0, =CB2_LoadMap - bl SetMainCallback2 - ldr r0, =sub_80B7CE4 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - b _080B7E40 - .pool -_080B7DF8: - ldrh r1, [r4, 0xA] - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _080B7E0C - subs r0, r1, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - cmp r0, 0 - bne _080B7E40 -_080B7E0C: - ldrb r0, [r5, 0x18] - lsls r0, 28 - lsrs r0, 28 - add r0, sp - ldrb r0, [r0] - bl GetFaceDirectionAnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl FieldObjectSetSpecialAnim - ldrh r1, [r4, 0xC] - movs r2, 0xC - ldrsh r0, [r4, r2] - cmp r0, 0xB - bgt _080B7E34 - adds r0, r1, 0x1 - strh r0, [r4, 0xC] -_080B7E34: - ldrh r1, [r4, 0xC] - lsls r1, 16 - asrs r1, 18 - movs r0, 0x8 - asrs r0, r1 - strh r0, [r4, 0xA] -_080B7E40: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80B7D34 - - thumb_func_start mapldr_080859D4 -mapldr_080859D4: @ 80B7E48 - push {lr} - bl Overworld_PlaySpecialMapMusic - bl pal_fill_for_maplights - bl ScriptContext2_Enable - bl FreezeMapObjects - ldr r1, =gFieldCallback - movs r0, 0 - str r0, [r1] - ldr r2, =gMapObjects - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x1] - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0, 0x1] - ldr r0, =sub_80B7E94 - movs r1, 0 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end mapldr_080859D4 - - thumb_func_start sub_80B7E94 -sub_80B7E94: @ 80B7E94 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, =gUnknown_0855C484 - ldr r2, =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B7E94 - - thumb_func_start sub_80B7EC4 -sub_80B7EC4: @ 80B7EC4 - push {r4,lr} - adds r4, r0, 0 - bl sub_80ABDFC - lsls r0, 24 - cmp r0, 0 - beq _080B7EE2 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - bl player_get_direction_lower_nybble - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x26] -_080B7EE2: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B7EC4 - - thumb_func_start sub_80B7EE8 -sub_80B7EE8: @ 80B7EE8 - push {r4-r6,lr} - sub sp, 0x8 - adds r5, r0, 0 - ldr r1, =gUnknown_0855C47C - mov r0, sp - movs r2, 0x5 - bl memcpy - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r6, r0, r1 - ldrh r1, [r5, 0xA] - movs r2, 0xA - ldrsh r0, [r5, r2] - cmp r0, 0 - beq _080B7F1A - subs r0, r1, 0x1 - strh r0, [r5, 0xA] - lsls r0, 16 - cmp r0, 0 - bne _080B7FAC -_080B7F1A: - adds r0, r6, 0 - bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive - lsls r0, 24 - cmp r0, 0 - beq _080B7F32 - adds r0, r6, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - lsls r0, 24 - cmp r0, 0 - beq _080B7FC0 -_080B7F32: - movs r1, 0xC - ldrsh r0, [r5, r1] - cmp r0, 0x1F - ble _080B7F7C - movs r2, 0x26 - ldrsh r4, [r5, r2] - bl player_get_direction_lower_nybble - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _080B7F7C - ldrb r1, [r6, 0x1] - movs r0, 0x21 - negs r0, r0 - ands r0, r1 - strb r0, [r6, 0x1] - bl ScriptContext2_Disable - bl UnfreezeMapObjects - ldr r0, =sub_80B7E94 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - b _080B7FC0 - .pool -_080B7F7C: - ldrb r0, [r6, 0x18] - lsls r0, 28 - lsrs r0, 28 - add r0, sp - ldrb r0, [r0] - bl GetFaceDirectionAnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r6, 0 - bl FieldObjectSetSpecialAnim - ldrh r1, [r5, 0xC] - movs r2, 0xC - ldrsh r0, [r5, r2] - cmp r0, 0x1F - bgt _080B7FA4 - adds r0, r1, 0x1 - strh r0, [r5, 0xC] -_080B7FA4: - ldrh r0, [r5, 0xC] - lsls r0, 16 - asrs r0, 18 - strh r0, [r5, 0xA] -_080B7FAC: - ldrb r2, [r6, 0x1] - lsls r1, r2, 26 - lsrs r1, 31 - movs r0, 0x1 - eors r1, r0 - lsls r1, 5 - subs r0, 0x22 - ands r0, r2 - orrs r0, r1 - strb r0, [r6, 0x1] -_080B7FC0: - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80B7EE8 - - thumb_func_start sub_80B7FC8 -sub_80B7FC8: @ 80B7FC8 - push {lr} - ldr r0, =sub_80B7FDC - movs r1, 0 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B7FC8 - - thumb_func_start sub_80B7FDC -sub_80B7FDC: @ 80B7FDC - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, =gUnknown_0855C48C - ldr r2, =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B7FDC - - thumb_func_start sub_80B800C -sub_80B800C: @ 80B800C - push {r4,lr} - adds r4, r0, 0 - bl ScriptContext2_Enable - bl FreezeMapObjects - bl CameraObjectReset2 - bl player_get_direction_lower_nybble - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B800C - - thumb_func_start sub_80B8034 -sub_80B8034: @ 80B8034 - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldr r1, =gUnknown_0855C47C - mov r0, sp - movs r2, 0x5 - bl memcpy - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r5, r0, r1 - ldrh r1, [r4, 0xA] - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _080B8066 - subs r0, r1, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - cmp r0, 0 - bne _080B8080 -_080B8066: - ldrb r0, [r5, 0x18] - lsls r0, 28 - lsrs r0, 28 - add r0, sp - ldrb r1, [r0] - adds r0, r5, 0 - bl FieldObjectTurn - movs r0, 0x8 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] -_080B8080: - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0x7 - ble _080B80AE - movs r2, 0x26 - ldrsh r1, [r4, r2] - ldrb r0, [r5, 0x18] - lsls r0, 28 - lsrs r0, 28 - cmp r1, r0 - bne _080B80AE - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x4 - strh r0, [r4, 0xA] - movs r0, 0x8 - strh r0, [r4, 0xC] - movs r0, 0x1 - strh r0, [r4, 0xE] - movs r0, 0x2D - bl PlaySE -_080B80AE: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B8034 - - thumb_func_start sub_80B80C4 -sub_80B80C4: @ 80B80C4 - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldr r1, =gUnknown_0855C47C - mov r0, sp - movs r2, 0x5 - bl memcpy - ldr r2, =gPlayerAvatar - ldrb r1, [r2, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r3, r0, r1 - ldrb r1, [r2, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r5, r0, r1 - ldrh r0, [r4, 0xA] - subs r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - cmp r0, 0 - bgt _080B810E - movs r0, 0x4 - strh r0, [r4, 0xA] - ldrb r0, [r3, 0x18] - lsls r0, 28 - lsrs r0, 28 - add r0, sp - ldrb r1, [r0] - adds r0, r3, 0 - bl FieldObjectTurn -_080B810E: - ldrh r0, [r5, 0x22] - ldrh r1, [r4, 0xE] - subs r0, r1 - strh r0, [r5, 0x22] - ldrh r1, [r4, 0xE] - ldrh r2, [r4, 0x10] - adds r0, r1, r2 - strh r0, [r4, 0x10] - ldrh r0, [r4, 0xC] - subs r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - cmp r0, 0 - bgt _080B813A - movs r0, 0x4 - strh r0, [r4, 0xC] - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x7 - bgt _080B813A - lsls r0, r1, 1 - strh r0, [r4, 0xE] -_080B813A: - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r0, 0x8 - ble _080B8168 - ldrb r1, [r5, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r5, 0x5] - adds r2, r5, 0 - adds r2, 0x42 - ldrb r1, [r2] - movs r0, 0xC0 - ands r0, r1 - cmp r0, 0 - beq _080B8168 - movs r0, 0x3F - ands r0, r1 - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] -_080B8168: - movs r2, 0x10 - ldrsh r0, [r4, r2] - cmp r0, 0xA7 - ble _080B817E - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - bl music_something - bl sub_80AF0B4 -_080B817E: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B80C4 - - thumb_func_start sub_80B8198 -sub_80B8198: @ 80B8198 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080B81E6 - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080B81B8 - bl sub_81BE72C - movs r0, 0x1 - strh r0, [r4, 0x12] -_080B81B8: - bl sub_80859A0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B81E6 - bl Overworld_SetWarpDestToLastHealLoc - bl warp_in - ldr r0, =CB2_LoadMap - bl SetMainCallback2 - ldr r1, =gFieldCallback - ldr r0, =mapldr_08085D88 - str r0, [r1] - ldr r0, =sub_80B7FDC - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_080B81E6: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B8198 - - thumb_func_start mapldr_08085D88 -mapldr_08085D88: @ 80B8200 - push {lr} - bl Overworld_PlaySpecialMapMusic - bl pal_fill_for_maplights - bl ScriptContext2_Enable - bl FreezeMapObjects - ldr r1, =gFieldCallback - movs r0, 0 - str r0, [r1] - ldr r2, =gMapObjects - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x1] - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0, 0x1] - bl CameraObjectReset2 - ldr r0, =sub_80B8250 - movs r1, 0 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end mapldr_08085D88 - - thumb_func_start sub_80B8250 -sub_80B8250: @ 80B8250 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, =gUnknown_0855C49C - ldr r2, =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B8250 - - thumb_func_start sub_80B8280 -sub_80B8280: @ 80B8280 - push {r4-r6,lr} - adds r6, r0, 0 - bl sub_80ABDFC - lsls r0, 24 - cmp r0, 0 - beq _080B82F6 - ldr r5, =gPlayerAvatar - ldrb r0, [r5, 0x4] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, =gSprites - adds r2, r0 - adds r0, r2, 0 - adds r0, 0x29 - movs r4, 0 - ldrsb r4, [r0, r4] - lsls r0, r4, 17 - negs r0, r0 - ldrh r1, [r2, 0x22] - ldr r3, =gSpriteCoordOffsetY - adds r1, r4 - ldrh r3, [r3] - adds r1, r3 - asrs r0, 16 - adds r0, r1 - negs r0, r0 - strh r0, [r2, 0x26] - ldr r3, =gMapObjects - ldrb r0, [r5, 0x5] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrb r3, [r1, 0x1] - movs r0, 0x21 - negs r0, r0 - ands r0, r3 - strb r0, [r1, 0x1] - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] - movs r0, 0x8 - strh r0, [r6, 0xA] - movs r0, 0x1 - strh r0, [r6, 0xC] - adds r2, 0x42 - ldrb r0, [r2] - lsrs r0, 6 - strh r0, [r6, 0x24] - bl player_get_direction_lower_nybble - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x26] - movs r0, 0x2D - bl PlaySE -_080B82F6: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B8280 - - thumb_func_start sub_80B830C -sub_80B830C: @ 80B830C - push {r4-r7,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldr r1, =gUnknown_0855C47C - mov r0, sp - movs r2, 0x5 - bl memcpy - ldr r2, =gPlayerAvatar - ldrb r1, [r2, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r6, r0, r1 - ldrb r1, [r2, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r5, r0, r1 - ldrh r0, [r4, 0xA] - ldrh r1, [r5, 0x26] - adds r0, r1 - strh r0, [r5, 0x26] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x8 - negs r1, r1 - cmp r0, r1 - blt _080B8384 - ldrh r1, [r4, 0x22] - movs r2, 0x22 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _080B83AA - adds r0, r1, 0x1 - strh r0, [r4, 0x22] - ldrb r0, [r6] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r6] - ldrh r1, [r4, 0x24] - adds r3, r5, 0 - adds r3, 0x42 - lsls r1, 6 - ldrb r2, [r3] - movs r0, 0x3F - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - b _080B83AA - .pool -_080B8384: - ldrb r1, [r5, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r5, 0x5] - adds r2, r5, 0 - adds r2, 0x42 - ldrb r1, [r2] - movs r0, 0xC0 - ands r0, r1 - cmp r0, 0 - beq _080B83AA - movs r0, 0x3F - ands r0, r1 - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] -_080B83AA: - ldrh r2, [r5, 0x26] - movs r3, 0x26 - ldrsh r1, [r5, r3] - movs r0, 0x30 - negs r0, r0 - cmp r1, r0 - blt _080B83CE - ldrh r1, [r4, 0xA] - movs r3, 0xA - ldrsh r0, [r4, r3] - cmp r0, 0x1 - ble _080B83CE - movs r0, 0x1 - ands r0, r2 - cmp r0, 0 - bne _080B83CE - subs r0, r1, 0x1 - strh r0, [r4, 0xA] -_080B83CE: - ldrh r0, [r4, 0xC] - subs r0, 0x1 - movs r7, 0 - strh r0, [r4, 0xC] - lsls r0, 16 - cmp r0, 0 - bne _080B83F0 - movs r0, 0x4 - strh r0, [r4, 0xC] - ldrb r0, [r6, 0x18] - lsls r0, 28 - lsrs r0, 28 - add r0, sp - ldrb r1, [r0] - adds r0, r6, 0 - bl FieldObjectTurn -_080B83F0: - movs r1, 0x26 - ldrsh r0, [r5, r1] - cmp r0, 0 - blt _080B8406 - strh r7, [r5, 0x26] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x1 - strh r0, [r4, 0xA] - strh r7, [r4, 0xC] -_080B8406: - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80B830C - - thumb_func_start sub_80B8410 -sub_80B8410: @ 80B8410 - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldr r1, =gUnknown_0855C47C - mov r0, sp - movs r2, 0x5 - bl memcpy - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r5, r0, r1 - ldrh r0, [r4, 0xA] - subs r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - cmp r0, 0 - bne _080B8484 - ldrb r0, [r5, 0x18] - lsls r0, 28 - lsrs r0, 28 - add r0, sp - ldrb r1, [r0] - adds r0, r5, 0 - bl FieldObjectTurn - movs r0, 0x8 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _080B8484 - movs r0, 0x24 - ldrsh r1, [r4, r0] - ldrb r0, [r5, 0x18] - lsls r0, 28 - lsrs r0, 28 - cmp r1, r0 - bne _080B8484 - bl ScriptContext2_Disable - bl CameraObjectReset1 - bl UnfreezeMapObjects - ldr r0, =sub_80B8250 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_080B8484: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B8410 - - thumb_func_start sub_80B849C -sub_80B849C: @ 80B849C - push {r4,lr} - bl Overworld_GetMapTypeOfSaveblockLocation - lsls r0, 24 - lsrs r0, 24 - bl is_light_level_1_2_3_5_or_6 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B84BC - ldr r0, =sub_80B8554 - b _080B84BE - .pool -_080B84BC: - ldr r0, =sub_80B88B4 -_080B84BE: - movs r1, 0xFF - bl CreateTask - lsls r0, 24 - lsrs r4, r0, 24 - ldr r2, =gFieldEffectArguments - ldr r0, [r2] - ldr r1, [r2, 0x4] - ldr r2, [r2, 0x8] - bl sub_80B8C60 - ldr r2, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r2 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x26] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B849C - - thumb_func_start sub_80B84F8 -sub_80B84F8: @ 80B84F8 - push {r4-r6,lr} - ldr r5, =gFieldEffectArguments - ldr r0, [r5] - movs r6, 0x80 - lsls r6, 24 - ands r6, r0 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - adds r4, r0, 0 - muls r4, r1 - ldr r0, =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - str r0, [r5] - adds r0, r4, 0 - movs r1, 0x1 - bl GetMonData - str r0, [r5, 0x4] - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - str r0, [r5, 0x8] - ldr r0, [r5] - orrs r0, r6 - str r0, [r5] - movs r0, 0x6 - bl FieldEffectStart - movs r0, 0x3B - bl FieldEffectActiveListRemove - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B84F8 - - thumb_func_start sub_80B8554 -sub_80B8554: @ 80B8554 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, =gUnknown_0855C4A8 - ldr r2, =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B8554 - - thumb_func_start sub_80B8584 -sub_80B8584: @ 80B8584 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =0x04000048 - ldrh r0, [r0] - strh r0, [r4, 0x1E] - ldr r0, =0x0400004a - ldrh r0, [r0] - strh r0, [r4, 0x20] - adds r0, r4, 0 - adds r0, 0x22 - ldr r1, =gMain - ldr r1, [r1, 0xC] - bl StoreWordInTwoHalfwords - ldr r1, =0x0000f0f1 - strh r1, [r4, 0xA] - ldr r0, =0x00005051 - strh r0, [r4, 0xC] - movs r0, 0x3F - strh r0, [r4, 0xE] - movs r0, 0x3E - strh r0, [r4, 0x10] - movs r0, 0x40 - bl SetGpuReg - ldrh r1, [r4, 0xC] - movs r0, 0x44 - bl SetGpuReg - ldrh r1, [r4, 0xE] - movs r0, 0x48 - bl SetGpuReg - ldrh r1, [r4, 0x10] - movs r0, 0x4A - bl SetGpuReg - ldr r0, =sub_80B880C - bl SetVBlankCallback - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B8584 - - thumb_func_start sub_80B85F8 -sub_80B85F8: @ 80B85F8 - push {r4-r6,lr} - sub sp, 0x4 - adds r6, r0, 0 - ldr r0, =0x04000008 - ldrh r1, [r0] - lsrs r1, 2 - lsls r1, 30 - lsrs r1, 16 - ldrh r4, [r0] - lsrs r4, 8 - lsls r4, 27 - lsrs r4, 16 - ldr r0, =gUnknown_0855AE50 - movs r5, 0xC0 - lsls r5, 19 - adds r1, r5 - movs r2, 0x80 - lsls r2, 1 - bl CpuSet - movs r0, 0 - str r0, [sp] - adds r5, r4, r5 - ldr r2, =0x05000200 - mov r0, sp - adds r1, r5, 0 - bl CpuSet - ldr r0, =gUnknown_0855B050 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - adds r0, r4, 0 - bl sub_80B8874 - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B85F8 - - thumb_func_start sub_80B8660 -sub_80B8660: @ 80B8660 - push {r4-r7,lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x12] - subs r0, 0x10 - strh r0, [r3, 0x12] - ldrh r6, [r3, 0xA] - ldrh r2, [r3, 0xC] - movs r7, 0xFF - lsrs r1, r6, 8 - subs r1, 0x10 - lsls r1, 16 - lsrs r0, r2, 8 - subs r0, 0x2 - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r7, 0 - ands r0, r2 - adds r5, r0, 0x2 - lsrs r2, r1, 16 - cmp r1, 0 - bge _080B868C - movs r2, 0 -_080B868C: - lsls r0, r4, 16 - asrs r0, 16 - cmp r0, 0x27 - bgt _080B8696 - movs r4, 0x28 -_080B8696: - cmp r5, 0x78 - ble _080B869C - movs r5, 0x78 -_080B869C: - lsls r2, 16 - asrs r2, 16 - lsls r1, r2, 8 - adds r0, r7, 0 - ands r0, r6 - orrs r1, r0 - strh r1, [r3, 0xA] - lsls r0, r4, 16 - asrs r4, r0, 16 - lsls r0, r4, 8 - adds r1, r5, 0 - orrs r0, r1 - strh r0, [r3, 0xC] - cmp r2, 0 - bne _080B86DC - cmp r4, 0x28 - bne _080B86DC - cmp r1, 0x78 - bne _080B86DC - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, =sub_80B8CC0 - str r1, [r0] - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] -_080B86DC: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B8660 - - thumb_func_start sub_80B86EC -sub_80B86EC: @ 80B86EC - push {lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x12] - subs r0, 0x10 - strh r0, [r3, 0x12] - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x3C - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _080B8712 - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] -_080B8712: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B86EC - - thumb_func_start sub_80B871C -sub_80B871C: @ 80B871C - push {r4,lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x12] - subs r0, 0x10 - strh r0, [r3, 0x12] - ldrh r2, [r3, 0xC] - lsls r1, r2, 16 - movs r0, 0xFF - asrs r1, 24 - adds r1, 0x6 - lsls r1, 16 - ands r0, r2 - subs r0, 0x6 - lsls r0, 16 - lsrs r2, r0, 16 - lsrs r4, r1, 16 - asrs r1, 16 - cmp r1, 0x50 - ble _080B8744 - movs r4, 0x50 -_080B8744: - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0x50 - bgt _080B874E - movs r2, 0x51 -_080B874E: - lsls r0, r4, 16 - asrs r0, 16 - lsls r1, r0, 8 - lsls r2, 16 - asrs r2, 16 - orrs r1, r2 - strh r1, [r3, 0xC] - cmp r0, 0x50 - bne _080B876A - cmp r2, 0x51 - bne _080B876A - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] -_080B876A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B871C - - thumb_func_start sub_80B8770 -sub_80B8770: @ 80B8770 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldr r0, =0x04000008 - ldrh r1, [r0] - lsrs r1, 8 - lsls r1, 27 - lsrs r1, 16 - movs r0, 0 - str r0, [sp] - movs r0, 0xC0 - lsls r0, 19 - adds r1, r0 - ldr r2, =0x05000200 - mov r0, sp - bl CpuSet - movs r0, 0xF1 - strh r0, [r4, 0xA] - movs r0, 0xA1 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x1E] - strh r0, [r4, 0xE] - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x10] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B8770 - - thumb_func_start overworld_bg_setup_2 -overworld_bg_setup_2: @ 80B87B8 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r0, 0x22 - mov r1, sp - bl LoadWordFromTwoHalfwords - ldr r0, [sp] - bl SetVBlankCallback - bl sub_8197200 - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - ldrh r1, [r4, 0x26] - lsls r1, 24 - lsrs r1, 24 - bl sub_80B6070 - movs r0, 0x6 - bl FieldEffectActiveListRemove - ldr r0, =sub_80B8554 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end overworld_bg_setup_2 - - thumb_func_start sub_80B880C -sub_80B880C: @ 80B880C - push {r4,lr} - sub sp, 0x4 - ldr r0, =sub_80B8554 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, =gTasks - adds r4, r0 - adds r0, r4, 0 - adds r0, 0x22 - mov r1, sp - bl LoadWordFromTwoHalfwords - ldr r0, [sp] - bl _call_via_r0 - ldrh r1, [r4, 0xA] - movs r0, 0x40 - bl SetGpuReg - ldrh r1, [r4, 0xC] - movs r0, 0x44 - bl SetGpuReg - ldrh r1, [r4, 0xE] - movs r0, 0x48 - bl SetGpuReg - ldrh r1, [r4, 0x10] - movs r0, 0x4A - bl SetGpuReg - ldrh r1, [r4, 0x12] - movs r0, 0x10 - bl SetGpuReg - ldrh r1, [r4, 0x14] - movs r0, 0x12 - bl SetGpuReg - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B880C - - thumb_func_start sub_80B8874 -sub_80B8874: @ 80B8874 - push {r4,r5,lr} - lsls r0, 16 - lsrs r0, 16 - ldr r1, =0x06000140 - adds r2, r0, r1 - movs r1, 0 - ldr r5, =gUnknown_0855B070 - movs r0, 0xF0 - lsls r0, 8 - adds r4, r0, 0 - ldr r3, =0x0000013f -_080B888A: - lsls r0, r1, 1 - adds r0, r5 - ldrh r0, [r0] - orrs r0, r4 - strh r0, [r2] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - adds r2, 0x2 - cmp r1, r3 - bls _080B888A - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B8874 - - thumb_func_start sub_80B88B4 -sub_80B88B4: @ 80B88B4 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, =gUnknown_0855C4C4 - ldr r2, =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B88B4 - - thumb_func_start sub_80B88E4 -sub_80B88E4: @ 80B88E4 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0xA] - movs r0, 0x10 - bl SetGpuReg - ldrh r1, [r4, 0xC] - movs r0, 0x12 - bl SetGpuReg - adds r0, r4, 0 - adds r0, 0x22 - ldr r1, =gMain - ldr r1, [r1, 0xC] - bl StoreWordInTwoHalfwords - ldr r0, =sub_80B8AE0 - bl SetVBlankCallback - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B88E4 - - thumb_func_start sub_80B8920 -sub_80B8920: @ 80B8920 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x4 - adds r6, r0, 0 - ldr r0, =0x04000008 - ldrh r1, [r0] - lsrs r1, 2 - lsls r1, 30 - lsrs r1, 16 - ldrh r4, [r0] - lsrs r4, 8 - lsls r4, 27 - lsrs r4, 16 - movs r0, 0 - mov r8, r0 - strh r4, [r6, 0x20] - ldr r0, =gUnknown_0855B2F0 - movs r5, 0xC0 - lsls r5, 19 - adds r1, r5 - movs r2, 0x40 - bl CpuSet - mov r0, r8 - str r0, [sp] - adds r4, r5 - ldr r2, =0x05000200 - mov r0, sp - adds r1, r4, 0 - bl CpuSet - ldr r0, =gUnknown_0855B370 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B8920 - - thumb_func_start sub_80B898C -sub_80B898C: @ 80B898C - push {r4,lr} - adds r4, r0, 0 - bl sub_80B8B38 - lsls r0, 24 - cmp r0, 0 - beq _080B89C4 - movs r0, 0x42 - movs r1, 0xF0 - bl SetGpuReg - ldr r1, =0x00002878 - movs r0, 0x46 - bl SetGpuReg - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, =sub_80B8CC0 - str r1, [r0] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080B89C4: - adds r0, r4, 0 - bl sub_80B8B28 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B898C - - thumb_func_start sub_80B89DC -sub_80B89DC: @ 80B89DC - push {r4,lr} - adds r4, r0, 0 - bl sub_80B8B28 - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x3C - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _080B8A00 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080B8A00: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B89DC - - thumb_func_start sub_80B8A0C -sub_80B8A0C: @ 80B8A0C - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_80B8B28 - ldrh r1, [r4, 0xA] - movs r0, 0x7 - ands r0, r1 - movs r1, 0 - strh r0, [r4, 0xE] - strh r1, [r4, 0x10] - ldr r5, =0x0000ffff - movs r0, 0x42 - adds r1, r5, 0 - bl SetGpuReg - movs r0, 0x46 - adds r1, r5, 0 - bl SetGpuReg - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B8A0C - - thumb_func_start sub_80B8A44 -sub_80B8A44: @ 80B8A44 - push {r4,lr} - adds r4, r0, 0 - bl sub_80B8B28 - adds r0, r4, 0 - bl sub_80B8BF0 - lsls r0, 24 - cmp r0, 0 - beq _080B8A5E - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080B8A5E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B8A44 - - thumb_func_start sub_80B8A64 -sub_80B8A64: @ 80B8A64 - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldr r0, =0x04000008 - ldrh r1, [r0] - lsrs r1, 8 - lsls r1, 27 - lsrs r1, 16 - movs r0, 0 - str r0, [sp] - movs r0, 0xC0 - lsls r0, 19 - adds r1, r0 - ldr r2, =0x05000200 - mov r0, sp - bl CpuSet - adds r0, r4, 0 - adds r0, 0x22 - add r1, sp, 0x4 - bl LoadWordFromTwoHalfwords - ldr r0, [sp, 0x4] - bl SetVBlankCallback - bl sub_8197200 - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - ldrh r1, [r4, 0x26] - lsls r1, 24 - lsrs r1, 24 - bl sub_80B6070 - movs r0, 0x6 - bl FieldEffectActiveListRemove - ldr r0, =sub_80B88B4 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B8A64 - - thumb_func_start sub_80B8AE0 -sub_80B8AE0: @ 80B8AE0 - push {r4,lr} - sub sp, 0x4 - ldr r0, =sub_80B88B4 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, =gTasks - adds r4, r0 - adds r0, r4, 0 - adds r0, 0x22 - mov r1, sp - bl LoadWordFromTwoHalfwords - ldr r0, [sp] - bl _call_via_r0 - ldrh r1, [r4, 0xA] - movs r0, 0x10 - bl SetGpuReg - ldrh r1, [r4, 0xC] - movs r0, 0x12 - bl SetGpuReg - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B8AE0 - - thumb_func_start sub_80B8B28 -sub_80B8B28: @ 80B8B28 - ldrh r1, [r0, 0xA] - subs r1, 0x10 - strh r1, [r0, 0xA] - ldrh r1, [r0, 0xE] - adds r1, 0x10 - strh r1, [r0, 0xE] - bx lr - thumb_func_end sub_80B8B28 - - thumb_func_start sub_80B8B38 -sub_80B8B38: @ 80B8B38 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r5, r0, 0 - ldrh r2, [r5, 0x10] - movs r1, 0x10 - ldrsh r0, [r5, r1] - cmp r0, 0x1F - ble _080B8B54 - movs r0, 0x1 - b _080B8BD8 -_080B8B54: - ldrh r0, [r5, 0xE] - lsls r0, 16 - asrs r3, r0, 19 - movs r1, 0x1F - ands r3, r1 - movs r4, 0x10 - ldrsh r0, [r5, r4] - cmp r3, r0 - blt _080B8BD6 - movs r0, 0x20 - subs r3, r0, r3 - ands r3, r1 - subs r0, r2 - mov r12, r0 - mov r7, r12 - ands r7, r1 - mov r12, r7 - ldrh r0, [r5, 0x20] - ldr r1, =0x06000140 - adds r1, r0 - mov r8, r1 - movs r4, 0 - ldr r7, =gUnknown_0855B390 - mov r10, r7 - movs r0, 0xF0 - lsls r0, 8 - mov r9, r0 - adds r1, r3, 0x1 - movs r0, 0x1F - ands r1, r0 - str r1, [sp] - mov r6, r12 - adds r6, 0x1 - ands r6, r0 -_080B8B98: - lsls r1, r4, 5 - adds r2, r1, r3 - lsls r2, 1 - add r2, r8 - mov r7, r12 - adds r0, r7, r1 - lsls r0, 1 - add r0, r10 - ldrh r0, [r0] - mov r7, r9 - orrs r0, r7 - strh r0, [r2] - ldr r0, [sp] - adds r2, r1, r0 - lsls r2, 1 - add r2, r8 - adds r1, r6, r1 - lsls r1, 1 - add r1, r10 - ldrh r0, [r1] - mov r1, r9 - orrs r0, r1 - strh r0, [r2] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x9 - bls _080B8B98 - ldrh r0, [r5, 0x10] - adds r0, 0x2 - strh r0, [r5, 0x10] -_080B8BD6: - movs r0, 0 -_080B8BD8: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B8B38 - - thumb_func_start sub_80B8BF0 -sub_80B8BF0: @ 80B8BF0 - push {r4-r7,lr} - adds r5, r0, 0 - movs r1, 0x10 - ldrsh r0, [r5, r1] - cmp r0, 0x1F - ble _080B8C00 - movs r0, 0x1 - b _080B8C54 -_080B8C00: - ldrh r0, [r5, 0xE] - lsls r0, 16 - asrs r0, 19 - lsls r0, 16 - lsrs r2, r0, 16 - movs r1, 0x10 - ldrsh r0, [r5, r1] - cmp r2, r0 - blt _080B8C52 - ldrh r0, [r5, 0xA] - lsls r0, 16 - asrs r2, r0, 19 - movs r0, 0x1F - ands r2, r0 - ldrh r0, [r5, 0x20] - ldr r1, =0x06000140 - adds r6, r0, r1 - movs r3, 0 - movs r0, 0xF0 - lsls r0, 8 - adds r7, r0, 0 - adds r4, r2, 0x1 - movs r0, 0x1F - ands r4, r0 -_080B8C30: - lsls r0, r3, 5 - adds r1, r0, r2 - lsls r1, 1 - adds r1, r6 - strh r7, [r1] - adds r0, r4 - lsls r0, 1 - adds r0, r6 - strh r7, [r0] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x9 - bls _080B8C30 - ldrh r0, [r5, 0x10] - adds r0, 0x2 - strh r0, [r5, 0x10] -_080B8C52: - movs r0, 0 -_080B8C54: - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B8BF0 - - thumb_func_start sub_80B8C60 -sub_80B8C60: @ 80B8C60 - push {r4-r6,lr} - sub sp, 0x8 - adds r6, r0, 0 - movs r5, 0x80 - lsls r5, 24 - ands r5, r6 - lsrs r5, 16 - lsls r5, 16 - lsrs r5, 16 - ldr r0, =0x7fffffff - ands r6, r0 - lsls r0, r6, 16 - lsrs r0, 16 - movs r3, 0xA0 - lsls r3, 1 - movs r4, 0x50 - str r4, [sp] - movs r4, 0 - str r4, [sp, 0x4] - bl sub_80B5FE8 - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r1, =gSprites - adds r2, r1 - ldr r1, =SpriteCallbackDummy - str r1, [r2, 0x1C] - ldrb r3, [r2, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - strb r1, [r2, 0x5] - strh r6, [r2, 0x2E] - strh r5, [r2, 0x3A] - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B8C60 - - thumb_func_start sub_80B8CC0 -sub_80B8CC0: @ 80B8CC0 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x20] - subs r0, 0x14 - strh r0, [r1, 0x20] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x78 - bgt _080B8D00 - movs r0, 0x78 - strh r0, [r1, 0x20] - movs r0, 0x1E - strh r0, [r1, 0x30] - ldr r0, =sub_80B8D04 - str r0, [r1, 0x1C] - movs r2, 0x3A - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _080B8CF8 - ldrh r0, [r1, 0x2E] - movs r1, 0 - movs r2, 0x7D - movs r3, 0xA - bl PlayCry2 - b _080B8D00 - .pool -_080B8CF8: - ldrh r0, [r1, 0x2E] - movs r1, 0 - bl PlayCry1 -_080B8D00: - pop {r0} - bx r0 - thumb_func_end sub_80B8CC0 - - thumb_func_start sub_80B8D04 -sub_80B8D04: @ 80B8D04 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x30] - subs r0, 0x1 - strh r0, [r1, 0x30] - lsls r0, 16 - cmp r0, 0 - bne _080B8D18 - ldr r0, =sub_80B8D20 - str r0, [r1, 0x1C] -_080B8D18: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B8D04 - - thumb_func_start sub_80B8D20 -sub_80B8D20: @ 80B8D20 - push {lr} - adds r2, r0, 0 - ldrh r3, [r2, 0x20] - movs r0, 0x20 - ldrsh r1, [r2, r0] - movs r0, 0x40 - negs r0, r0 - cmp r1, r0 - bge _080B8D38 - movs r0, 0x1 - strh r0, [r2, 0x3C] - b _080B8D3E -_080B8D38: - adds r0, r3, 0 - subs r0, 0x14 - strh r0, [r2, 0x20] -_080B8D3E: - pop {r0} - bx r0 - thumb_func_end sub_80B8D20 - - thumb_func_start sub_80B8D44 -sub_80B8D44: @ 80B8D44 - push {lr} - ldr r0, =sub_80B8D84 - movs r1, 0xFF - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, =gFieldEffectArguments - ldr r0, [r0] - strh r0, [r1, 0x26] - bl Overworld_ClearSavedMusic - ldr r0, =0x0000016d - bl Overworld_ChangeMusicTo - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B8D44 - - thumb_func_start sub_80B8D84 -sub_80B8D84: @ 80B8D84 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, =gUnknown_0855C4E0 - ldr r2, =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B8D84 - - thumb_func_start sub_80B8DB4 -sub_80B8DB4: @ 80B8DB4 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r4, r0, 0 - bl ScriptContext2_Enable - bl FreezeMapObjects - ldr r5, =gPlayerAvatar - movs r0, 0x1 - strb r0, [r5, 0x6] - movs r0, 0x8 - bl SetPlayerAvatarStateMask - adds r6, r4, 0 - adds r6, 0xA - movs r0, 0xC - adds r0, r4 - mov r8, r0 - adds r0, r6, 0 - mov r1, r8 - bl PlayerGetDestCoords - ldr r2, =gMapObjects - ldrb r1, [r5, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x18] - lsrs r0, 4 - adds r1, r6, 0 - mov r2, r8 - bl MoveCoords - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B8DB4 - - thumb_func_start sub_80B8E14 -sub_80B8E14: @ 80B8E14 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r4, r0, r1 - adds r0, r4, 0 - bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive - lsls r0, 24 - cmp r0, 0 - beq _080B8E3E - adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - lsls r0, 24 - cmp r0, 0 - beq _080B8E50 -_080B8E3E: - bl sub_808C114 - adds r0, r4, 0 - movs r1, 0x39 - bl FieldObjectSetSpecialAnim - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_080B8E50: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B8E14 - - thumb_func_start sub_80B8E60 -sub_80B8E60: @ 80B8E60 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r0, r1 - bl FieldObjectCheckIfSpecialAnimFinishedOrInactive - lsls r0, 24 - cmp r0, 0 - beq _080B8E96 - ldr r2, =gFieldEffectArguments - movs r1, 0x26 - ldrsh r0, [r4, r1] - movs r1, 0x80 - lsls r1, 24 - orrs r0, r1 - str r0, [r2] - movs r0, 0x3B - bl FieldEffectStart - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080B8E96: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B8E60 - - thumb_func_start sub_80B8EA8 -sub_80B8EA8: @ 80B8EA8 - push {r4-r6,lr} - adds r6, r0, 0 - movs r0, 0x6 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _080B8F12 - ldr r5, =gPlayerAvatar - ldrb r0, [r5, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, =gMapObjects - adds r4, r0 - movs r0, 0x3 - bl GetPlayerAvatarGraphicsIdByStateId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldObjectSetGraphicsId - adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - ldrb r0, [r4, 0x18] - lsrs r0, 4 - bl sub_8093540 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldObjectSetSpecialAnim - ldr r1, =gFieldEffectArguments - movs r2, 0xA - ldrsh r0, [r6, r2] - str r0, [r1] - movs r2, 0xC - ldrsh r0, [r6, r2] - str r0, [r1, 0x4] - ldrb r0, [r5, 0x5] - str r0, [r1, 0x8] - movs r0, 0x8 - bl FieldEffectStart - strb r0, [r4, 0x1A] - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] -_080B8F12: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B8EA8 - - thumb_func_start sub_80B8F24 -sub_80B8F24: @ 80B8F24 - push {r4,r5,lr} - ldr r5, =gPlayerAvatar - ldrb r1, [r5, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r4, r0, r1 - adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - lsls r0, 24 - cmp r0, 0 - beq _080B8F84 - movs r0, 0 - strb r0, [r5, 0x6] - ldrb r1, [r5] - movs r0, 0xDF - ands r0, r1 - strb r0, [r5] - ldrb r0, [r4, 0x18] - lsrs r0, 4 - bl GetFaceDirectionAnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldObjectSetSpecialAnim - ldrb r0, [r4, 0x1A] - movs r1, 0x1 - bl sub_81555AC - bl UnfreezeMapObjects - bl ScriptContext2_Disable - movs r0, 0x9 - bl FieldEffectActiveListRemove - ldr r0, =sub_80B8D84 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_080B8F84: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B8F24 - - thumb_func_start sub_80B8F98 -sub_80B8F98: @ 80B8F98 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, =gFieldEffectObjectTemplatePointers - adds r0, 0x90 - ldr r0, [r0] - movs r2, 0x18 - negs r2, r2 - movs r1, 0x78 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, r0, 4 - add r1, r8 - lsls r1, 2 - ldr r0, =gSprites - adds r1, r0 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - movs r2, 0x4 - orrs r0, r2 - movs r2, 0xF - ands r0, r2 - movs r2, 0x40 - orrs r0, r2 - strb r0, [r1, 0x5] - movs r2, 0 - strh r2, [r1, 0x2E] - strh r2, [r1, 0x30] - strh r2, [r1, 0x32] - ldr r0, =0x0000ffff - strh r0, [r1, 0x34] - ldrh r0, [r1, 0x22] - strh r0, [r1, 0x36] - strh r2, [r1, 0x38] - ldr r1, =0x00003e41 - movs r0, 0x50 - bl SetGpuReg - ldr r1, =0x00000e0e - movs r0, 0x52 - bl SetGpuReg - ldr r1, =0x00003f3f - movs r0, 0x48 - bl SetGpuReg - ldr r0, =gUnknown_0855B610 - movs r1, 0xC0 - movs r2, 0x20 - bl LoadPalette - movs r0, 0x12 - movs r1, 0x78 - bl SetGpuReg - movs r4, 0x3 - ldr r7, =0x0600f800 - ldr r0, =0x0000bff4 - adds r6, r0, 0 -_080B901A: - movs r2, 0xC - lsls r0, r4, 1 - lsls r5, r4, 5 - adds r0, r4 - lsls r3, r0, 1 -_080B9024: - adds r0, r5, r2 - lsls r0, 1 - adds r0, r7 - adds r1, r2, r6 - adds r1, r3, r1 - adds r1, 0x1 - strh r1, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x11 - bls _080B9024 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xE - bls _080B901A - movs r0, 0 - ldr r5, =gUnknown_0855B630 -_080B904A: - movs r4, 0 - adds r7, r0, 0x1 - lsls r6, r0, 5 -_080B9050: - lsls r1, r4, 2 - adds r1, r6, r1 - ldr r0, =0x06008020 - adds r3, r1, r0 - adds r0, r1, 0x1 - adds r0, r5 - ldrb r2, [r0] - lsls r2, 8 - adds r0, r1, r5 - ldrb r0, [r0] - adds r0, r2 - strh r0, [r3] - ldr r0, =0x06008022 - adds r3, r1, r0 - adds r0, r1, 0x3 - adds r0, r5 - ldrb r2, [r0] - lsls r2, 8 - adds r1, 0x2 - adds r1, r5 - ldrb r0, [r1] - adds r0, r2 - strh r0, [r3] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x7 - bls _080B9050 - lsls r0, r7, 24 - lsrs r0, 24 - cmp r0, 0x59 - bls _080B904A - mov r0, r8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B8F98 - - thumb_func_start sub_80B90CC -sub_80B90CC: @ 80B90CC - push {r4,lr} - ldr r0, =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x68] - movs r1, 0x78 - movs r2, 0 - movs r3, 0x1 - bl CreateSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r2, r4, 4 - adds r2, r4 - lsls r2, 2 - ldr r0, =gSprites - adds r2, r0 - ldrb r1, [r2, 0x5] - movs r0, 0xF - ands r0, r1 - movs r1, 0xD - negs r1, r1 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, =sub_80B9128 - str r0, [r2, 0x1C] - ldr r0, =gFieldEffectArguments - ldr r0, [r0] - strh r0, [r2, 0x30] - movs r0, 0x9E - bl PlaySE - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B90CC - - thumb_func_start sub_80B9128 -sub_80B9128: @ 80B9128 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r1, 0x8C - bl Cos - movs r5, 0 - strh r0, [r4, 0x24] - movs r2, 0x32 - ldrsh r0, [r4, r2] - movs r1, 0x48 - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x4 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x32] - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080B918A - movs r2, 0x30 - ldrsh r0, [r4, r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, =gSprites - adds r1, r0 - adds r3, r1, 0 - adds r3, 0x3E - ldrb r2, [r3] - movs r0, 0x3 - negs r0, r0 - ands r0, r2 - strb r0, [r3] - ldrh r0, [r4, 0x24] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r1, 0x20] - ldrh r0, [r4, 0x26] - ldrh r2, [r4, 0x22] - adds r0, r2 - subs r0, 0x8 - strh r0, [r1, 0x22] - strh r5, [r1, 0x24] - strh r5, [r1, 0x26] -_080B918A: - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x7F - ble _080B919A - adds r0, r4, 0 - movs r1, 0x1E - bl FieldEffectStop -_080B919A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B9128 - - thumb_func_start sub_80B91A4 -sub_80B91A4: @ 80B91A4 - push {lr} - ldr r0, =sub_80B91D4 - movs r1, 0xFE - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, =gFieldEffectArguments - ldr r0, [r0] - strh r0, [r1, 0xA] - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B91A4 - - thumb_func_start sub_80B91D4 -sub_80B91D4: @ 80B91D4 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, =gUnknown_0855C4F4 - ldr r2, =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B91D4 - - thumb_func_start sub_80B9204 -sub_80B9204: @ 80B9204 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r6, =gPlayerAvatar - ldrb r1, [r6, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r4, r0, r1 - adds r0, r4, 0 - bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive - lsls r0, 24 - cmp r0, 0 - beq _080B922E - adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - lsls r0, 24 - cmp r0, 0 - beq _080B924C -_080B922E: - ldrb r0, [r6] - strh r0, [r5, 0x26] - movs r0, 0x1 - strb r0, [r6, 0x6] - bl SetPlayerAvatarStateMask - bl sub_808C114 - adds r0, r4, 0 - movs r1, 0x39 - bl FieldObjectSetSpecialAnim - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_080B924C: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B9204 - - thumb_func_start sub_80B925C -sub_80B925C: @ 80B925C - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r0, r1 - bl FieldObjectClearAnimIfSpecialAnimFinished - lsls r0, 24 - cmp r0, 0 - beq _080B928C - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - ldr r1, =gFieldEffectArguments - movs r2, 0xA - ldrsh r0, [r4, r2] - str r0, [r1] - movs r0, 0x3B - bl FieldEffectStart -_080B928C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B925C - - thumb_func_start sub_80B92A0 -sub_80B92A0: @ 80B92A0 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x6 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _080B92E8 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r5, r0, r1 - ldrh r1, [r4, 0x26] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080B92D8 - ldrb r0, [r5, 0x1A] - movs r1, 0x2 - bl sub_81555AC - ldrb r0, [r5, 0x1A] - movs r1, 0 - bl sub_81555D8 -_080B92D8: - bl sub_80B94C4 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080B92E8: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B92A0 - - thumb_func_start sub_80B92F8 -sub_80B92F8: @ 80B92F8 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0xA] - bl sub_80B9508 - lsls r0, 24 - cmp r0, 0 - beq _080B932C - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x10 - strh r0, [r4, 0xC] - movs r0, 0x1 - bl SetPlayerAvatarTransitionFlags - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r0, r1 - movs r1, 0x2 - bl FieldObjectSetSpecialAnim -_080B932C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B92F8 - - thumb_func_start sub_80B933C -sub_80B933C: @ 80B933C - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r2, r0, r1 - ldrh r1, [r4, 0xC] - movs r3, 0xC - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _080B9362 - subs r0, r1, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - cmp r0, 0 - bne _080B9380 -_080B9362: - adds r0, r2, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - lsls r0, 24 - cmp r0, 0 - beq _080B9380 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x9E - bl PlaySE - ldrb r0, [r4, 0xA] - bl sub_80B9524 -_080B9380: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B933C - - thumb_func_start sub_80B9390 -sub_80B9390: @ 80B9390 - push {r4-r6,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0xC] - adds r0, 0x1 - strh r0, [r5, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _080B9406 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r4, r0, r1 - movs r0, 0x3 - bl GetPlayerAvatarGraphicsIdByStateId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldObjectSetGraphicsId - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r6, =gSprites - adds r0, r6 - movs r1, 0x16 - bl StartSpriteAnim - ldrb r0, [r4, 0x1] - movs r1, 0x10 - orrs r0, r1 - strb r0, [r4, 0x1] - adds r0, r4, 0 - movs r1, 0x48 - bl FieldObjectSetSpecialAnim - ldrh r1, [r5, 0x26] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080B93FC - ldrb r1, [r4, 0x1A] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - bl DestroySprite -_080B93FC: - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0 - strh r0, [r5, 0xC] -_080B9406: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B9390 - - thumb_func_start sub_80B9418 -sub_80B9418: @ 80B9418 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0xC] - adds r0, 0x1 - strh r0, [r5, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x9 - ble _080B9464 - ldr r0, =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, =gMapObjects - adds r4, r0 - adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimActive - ldrb r1, [r4, 0x1] - movs r0, 0x11 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x1] - ldrb r1, [r4, 0x2] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x2] - ldrb r0, [r5, 0xA] - ldrb r1, [r4, 0x4] - bl sub_80B9560 - bl CameraObjectReset2 - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_080B9464: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B9418 - - thumb_func_start sub_80B9474 -sub_80B9474: @ 80B9474 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0xA] - bl sub_80B9508 - lsls r0, 24 - cmp r0, 0 - beq _080B948E - bl sub_80AF0B4 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080B948E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B9474 - - thumb_func_start sub_80B9494 -sub_80B9494: @ 80B9494 - push {lr} - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080B94B6 - movs r0, 0x1F - bl FieldEffectActiveListRemove - ldr r0, =sub_80B91D4 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_080B94B6: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B9494 - - thumb_func_start sub_80B94C4 -sub_80B94C4: @ 80B94C4 - push {lr} - ldr r0, =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x68] - movs r1, 0xFF - movs r2, 0xB4 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r1, =gSprites - adds r2, r1 - ldrb r3, [r2, 0x5] - movs r1, 0xF - ands r1, r3 - movs r3, 0xD - negs r3, r3 - ands r1, r3 - movs r3, 0x4 - orrs r1, r3 - strb r1, [r2, 0x5] - ldr r1, =sub_80B957C - str r1, [r2, 0x1C] - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B94C4 - - thumb_func_start sub_80B9508 -sub_80B9508: @ 80B9508 - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r1, 0x3C] - lsls r0, 24 - lsrs r0, 24 - bx lr - .pool - thumb_func_end sub_80B9508 - - thumb_func_start sub_80B9524 -sub_80B9524: @ 80B9524 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, =gSprites - adds r4, r0 - ldr r0, =sub_80B963C - str r0, [r4, 0x1C] - movs r1, 0 - movs r0, 0x78 - strh r0, [r4, 0x20] - strh r1, [r4, 0x22] - strh r1, [r4, 0x24] - strh r1, [r4, 0x26] - adds r0, r4, 0 - adds r0, 0x2E - movs r2, 0x10 - bl memset - movs r0, 0x40 - strh r0, [r4, 0x3A] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B9524 - - thumb_func_start sub_80B9560 -sub_80B9560: @ 80B9560 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r3, =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r3 - strh r1, [r2, 0x3A] - bx lr - .pool - thumb_func_end sub_80B9560 - - thumb_func_start sub_80B957C -sub_80B957C: @ 80B957C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080B9628 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080B95C0 - ldrb r0, [r4, 0x1] - movs r1, 0x3 - orrs r0, r1 - strb r0, [r4, 0x1] - ldr r0, =gUnknown_0855C548 - str r0, [r4, 0x10] - adds r0, r4, 0 - bl InitSpriteAffineAnim - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAffineAnim - movs r0, 0x76 - strh r0, [r4, 0x20] - ldr r0, =0x0000ffd0 - strh r0, [r4, 0x22] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - movs r0, 0x40 - strh r0, [r4, 0x30] - adds r0, 0xC0 - strh r0, [r4, 0x32] -_080B95C0: - ldrh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 24 - ldrh r1, [r4, 0x30] - adds r0, r1 - strh r0, [r4, 0x30] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x78 - bl Cos - strh r0, [r4, 0x24] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x78 - bl Sin - strh r0, [r4, 0x26] - ldrh r2, [r4, 0x32] - movs r0, 0x32 - ldrsh r1, [r4, r0] - ldr r0, =0x000007ff - cmp r1, r0 - bgt _080B95F6 - adds r0, r2, 0 - adds r0, 0x60 - strh r0, [r4, 0x32] -_080B95F6: - movs r1, 0x30 - ldrsh r0, [r4, r1] - cmp r0, 0x81 - ble _080B9628 - ldrh r0, [r4, 0x3C] - adds r0, 0x1 - strh r0, [r4, 0x3C] - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x1] - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldrb r1, [r4, 0x1] - lsrs r1, 6 - ldrb r2, [r4, 0x3] - lsrs r2, 6 - adds r0, r4, 0 - movs r3, 0 - bl CalcCenterToCornerVec -_080B9628: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B957C - - thumb_func_start sub_80B963C -sub_80B963C: @ 80B963C - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r1, 0x8C - bl Cos - movs r5, 0 - strh r0, [r4, 0x24] - movs r2, 0x32 - ldrsh r0, [r4, r2] - movs r1, 0x48 - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x4 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x32] - movs r1, 0x3A - ldrsh r0, [r4, r1] - cmp r0, 0x40 - beq _080B969A - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, =gSprites - adds r1, r0 - adds r3, r1, 0 - adds r3, 0x3E - ldrb r2, [r3] - movs r0, 0x3 - negs r0, r0 - ands r0, r2 - strb r0, [r3] - ldrh r0, [r4, 0x24] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r1, 0x20] - ldrh r0, [r4, 0x26] - ldrh r2, [r4, 0x22] - adds r0, r2 - subs r0, 0x8 - strh r0, [r1, 0x22] - strh r5, [r1, 0x24] - strh r5, [r1, 0x26] -_080B969A: - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x7F - ble _080B96A6 - movs r0, 0x1 - strh r0, [r4, 0x3C] -_080B96A6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B963C - - thumb_func_start sub_80B96B0 -sub_80B96B0: @ 80B96B0 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080B9784 - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _080B96FA - ldrb r0, [r4, 0x1] - movs r1, 0x3 - orrs r0, r1 - strb r0, [r4, 0x1] - ldr r0, =gUnknown_0855C548 - str r0, [r4, 0x10] - adds r0, r4, 0 - bl InitSpriteAffineAnim - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - movs r0, 0x5E - strh r0, [r4, 0x20] - ldr r0, =0x0000ffe0 - strh r0, [r4, 0x22] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - movs r0, 0xF0 - strh r0, [r4, 0x30] - movs r0, 0x80 - lsls r0, 4 - strh r0, [r4, 0x32] - movs r0, 0x80 - strh r0, [r4, 0x36] -_080B96FA: - ldrh r1, [r4, 0x32] - lsls r1, 16 - asrs r1, 24 - ldrh r2, [r4, 0x30] - adds r2, r1 - ldrh r0, [r4, 0x34] - adds r0, r1 - strh r0, [r4, 0x34] - movs r0, 0xFF - ands r2, r0 - strh r2, [r4, 0x30] - movs r3, 0x30 - ldrsh r0, [r4, r3] - movs r1, 0x20 - bl Cos - strh r0, [r4, 0x24] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x78 - bl Sin - strh r0, [r4, 0x26] - ldrh r1, [r4, 0x32] - movs r2, 0x32 - ldrsh r0, [r4, r2] - movs r2, 0x80 - lsls r2, 1 - cmp r0, r2 - ble _080B973C - ldrh r0, [r4, 0x36] - subs r0, r1, r0 - strh r0, [r4, 0x32] -_080B973C: - ldrh r1, [r4, 0x36] - movs r3, 0x36 - ldrsh r0, [r4, r3] - cmp r0, 0xFF - bgt _080B974C - adds r0, r1, 0 - adds r0, 0x18 - strh r0, [r4, 0x36] -_080B974C: - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0xFF - bgt _080B9756 - strh r2, [r4, 0x32] -_080B9756: - movs r2, 0x34 - ldrsh r0, [r4, r2] - cmp r0, 0x3B - ble _080B9784 - ldrh r0, [r4, 0x3C] - adds r0, 0x1 - strh r0, [r4, 0x3C] - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x1] - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_080B9784: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B96B0 - - thumb_func_start sub_80B9794 -sub_80B9794: @ 80B9794 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_80B9524 - ldr r1, =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r1, 0x1C - adds r0, r1 - ldr r1, =sub_80B96B0 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B9794 - - thumb_func_start sub_80B97C0 -sub_80B97C0: @ 80B97C0 - push {lr} - ldr r0, =sub_80B97D4 - movs r1, 0xFE - bl CreateTask - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B97C0 - - thumb_func_start sub_80B97D4 -sub_80B97D4: @ 80B97D4 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, =gUnknown_0855C550 - ldr r2, =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B97D4 - - thumb_func_start sub_80B9804 -sub_80B9804: @ 80B9804 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r6, =gPlayerAvatar - ldrb r1, [r6, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r4, r0, r1 - adds r0, r4, 0 - bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive - lsls r0, 24 - cmp r0, 0 - beq _080B982E - adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - lsls r0, 24 - cmp r0, 0 - beq _080B98A6 -_080B982E: - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0x11 - strh r0, [r5, 0xC] - ldrb r0, [r6] - strh r0, [r5, 0x26] - movs r0, 0x1 - strb r0, [r6, 0x6] - bl SetPlayerAvatarStateMask - ldrh r1, [r5, 0x26] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080B9856 - ldrb r0, [r4, 0x1A] - movs r1, 0 - bl sub_81555AC -_080B9856: - movs r0, 0x3 - bl GetPlayerAvatarGraphicsIdByStateId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldObjectSetGraphicsId - bl CameraObjectReset2 - adds r0, r4, 0 - movs r1, 0x3 - bl FieldObjectTurn - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r1, 0x16 - bl StartSpriteAnim - ldrb r1, [r4, 0x1] - movs r0, 0x21 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x1] - bl sub_80B94C4 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0xA] - bl sub_80B9524 - ldrb r0, [r5, 0xA] - ldrb r1, [r4, 0x4] - bl sub_80B9560 -_080B98A6: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B9804 - - thumb_func_start sub_80B98B8 -sub_80B98B8: @ 80B98B8 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r1, [r5, 0xC] - movs r2, 0xC - ldrsh r0, [r5, r2] - cmp r0, 0 - beq _080B98D0 - subs r0, r1, 0x1 - strh r0, [r5, 0xC] - lsls r0, 16 - cmp r0, 0 - bne _080B9910 -_080B98D0: - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r0, r1 - ldrb r0, [r0, 0x4] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, =gSprites - adds r4, r0 - ldrb r0, [r5, 0xA] - movs r1, 0x40 - bl sub_80B9560 - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - movs r1, 0 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x26] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] - strh r1, [r4, 0x24] - strh r1, [r4, 0x26] - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - strh r1, [r5, 0xC] -_080B9910: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B98B8 - - thumb_func_start sub_80B9924 -sub_80B9924: @ 80B9924 - push {r4,lr} - sub sp, 0x24 - adds r4, r0, 0 - ldr r1, =gUnknown_0855C56C - mov r0, sp - movs r2, 0x24 - bl memcpy - ldr r0, =gPlayerAvatar - ldrb r0, [r0, 0x4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, =gSprites - adds r1, r0 - movs r2, 0xC - ldrsh r0, [r4, r2] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - strh r0, [r1, 0x26] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x11 - ble _080B9962 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080B9962: - add sp, 0x24 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B9924 - - thumb_func_start sub_80B9978 -sub_80B9978: @ 80B9978 - push {r4-r6,lr} - adds r6, r0, 0 - ldrb r0, [r6, 0xA] - bl sub_80B9508 - lsls r0, 24 - cmp r0, 0 - beq _080B99DC - ldr r0, =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r5, r0, 3 - adds r5, r0 - lsls r5, 2 - ldr r0, =gMapObjects - adds r5, r0 - ldrb r0, [r5, 0x4] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, =gSprites - adds r4, r0 - ldrb r1, [r5, 0x1] - movs r0, 0x11 - negs r0, r0 - ands r0, r1 - strb r0, [r5, 0x1] - movs r0, 0x10 - ldrsh r1, [r5, r0] - movs r0, 0x12 - ldrsh r2, [r5, r0] - adds r0, r5, 0 - bl sub_808EB08 - movs r0, 0 - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - adds r4, 0x3E - ldrb r0, [r4] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4] - bl sub_808C114 - adds r0, r5, 0 - movs r1, 0x39 - bl FieldObjectSetSpecialAnim - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] -_080B99DC: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B9978 - - thumb_func_start sub_80B99F0 -sub_80B99F0: @ 80B99F0 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r0, r1 - bl FieldObjectClearAnimIfSpecialAnimFinished - lsls r0, 24 - cmp r0, 0 - beq _080B9A18 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - ldrb r0, [r4, 0xA] - bl sub_80B9794 -_080B9A18: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B99F0 - - thumb_func_start sub_80B9A28 -sub_80B9A28: @ 80B9A28 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0xA] - bl sub_80B9508 - lsls r0, 24 - cmp r0, 0 - beq _080B9A54 - movs r0, 0xA - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySprite - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x10 - strh r0, [r4, 0xA] -_080B9A54: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B9A28 - - thumb_func_start sub_80B9A60 -sub_80B9A60: @ 80B9A60 - push {r4-r7,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0xA] - subs r0, 0x1 - strh r0, [r5, 0xA] - lsls r0, 16 - cmp r0, 0 - bne _080B9ACA - ldr r6, =gPlayerAvatar - ldrb r1, [r6, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r4, r0, r1 - movs r7, 0 - ldrh r1, [r5, 0x26] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080B9A94 - movs r7, 0x3 - ldrb r0, [r4, 0x1A] - movs r1, 0x1 - bl sub_81555AC -_080B9A94: - adds r0, r7, 0 - bl GetPlayerAvatarGraphicsIdByStateId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldObjectSetGraphicsId - adds r0, r4, 0 - movs r1, 0x1 - bl FieldObjectTurn - ldrh r0, [r5, 0x26] - strb r0, [r6] - movs r0, 0 - strb r0, [r6, 0x6] - movs r0, 0x20 - bl FieldEffectActiveListRemove - ldr r0, =sub_80B97D4 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_080B9ACA: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B9A60 - - thumb_func_start sub_80B9ADC -sub_80B9ADC: @ 80B9ADC - push {r4,lr} - sub sp, 0x4 - ldr r4, =gFieldEffectArguments - ldrb r0, [r4] - ldrb r1, [r4, 0x4] - ldrb r2, [r4, 0x8] - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _080B9B2C - ldr r0, =sub_80B9BE8 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - mov r0, sp - ldrb r0, [r0] - strh r0, [r1, 0xC] - ldr r0, [r4] - strh r0, [r1, 0x14] - ldr r0, [r4, 0x4] - strh r0, [r1, 0x16] - ldr r0, [r4, 0x8] - strh r0, [r1, 0x18] - b _080B9B32 - .pool -_080B9B2C: - movs r0, 0x41 - bl FieldEffectActiveListRemove -_080B9B32: - movs r0, 0 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80B9ADC - - thumb_func_start sub_80B9B3C -sub_80B9B3C: @ 80B9B3C - 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 - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080B9B78 - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - ble _080B9B7C - movs r0, 0 - strh r0, [r4, 0xC] - ldrh r1, [r4, 0xA] - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _080B9B7C - subs r0, r1, 0x1 - b _080B9B7A - .pool -_080B9B78: - movs r0, 0x4 -_080B9B7A: - strh r0, [r4, 0xA] -_080B9B7C: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080B9BB6 - movs r0, 0 - strh r0, [r4] - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080B9BAC - ldrh r1, [r4, 0xA] - negs r1, r1 - lsls r1, 16 - asrs r1, 16 - movs r0, 0 - bl SetCameraPanning - b _080B9BB6 -_080B9BAC: - movs r0, 0xA - ldrsh r1, [r4, r0] - movs r0, 0 - bl SetCameraPanning -_080B9BB6: - bl UpdateCameraPanning - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080B9BC8 - adds r0, r5, 0 - bl DestroyTask -_080B9BC8: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80B9B3C - - thumb_func_start sub_80B9BD0 -sub_80B9BD0: @ 80B9BD0 - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0x1 - strh r0, [r1, 0x16] - bx lr - .pool - thumb_func_end sub_80B9BD0 - - thumb_func_start sub_80B9BE8 -sub_80B9BE8: @ 80B9BE8 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, =gTasks + 0x8 - adds r4, r0 - bl InstallCameraPanAheadCallback - movs r0, 0 - bl SetCameraPanningCallback - ldr r1, =gUnknown_0855C590 - movs r2, 0x2 - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r1 - ldr r2, [r0] - adds r0, r4, 0 - adds r1, r5, 0 - bl _call_via_r2 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B9BE8 - - thumb_func_start sub_80B9C28 -sub_80B9C28: @ 80B9C28 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, =sub_80B9B3C - movs r1, 0x5A - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x58 - bl PlaySE - strh r4, [r5, 0xA] - ldrh r0, [r5, 0x2] - adds r0, 0x1 - strh r0, [r5, 0x2] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B9C28 - - thumb_func_start sub_80B9C54 -sub_80B9C54: @ 80B9C54 - push {r4-r7,lr} - sub sp, 0x4 - adds r7, r0, 0 - ldrh r0, [r7, 0x6] - adds r0, 0x1 - strh r0, [r7, 0x6] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x78 - ble _080B9CC2 - ldr r2, =gMapObjects - movs r1, 0x4 - ldrsh r0, [r7, r1] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x4] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, =gSprites - adds r4, r0 - ldrb r0, [r1, 0x1] - movs r2, 0x20 - orrs r0, r2 - strb r0, [r1, 0x1] - ldr r6, =0x0000ffff - ldr r5, =0x00007fff - adds r0, r6, 0 - movs r1, 0x10 - adds r2, r5, 0 - bl BlendPalettes - str r5, [sp] - adds r0, r6, 0 - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - adds r0, r4, 0 - bl sub_80B9D24 - movs r0, 0x57 - bl PlaySE - ldrb r0, [r7, 0xA] - bl sub_80B9BD0 - movs r0, 0 - strh r0, [r7, 0x6] - ldrh r0, [r7, 0x2] - adds r0, 0x1 - strh r0, [r7, 0x2] -_080B9CC2: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B9C54 - - thumb_func_start sub_80B9CDC -sub_80B9CDC: @ 80B9CDC - push {r4,r5,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080B9D16 - ldr r0, =sub_80B9B3C - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _080B9D16 - bl InstallCameraPanAheadCallback - ldrb r0, [r4, 0xC] - ldrb r1, [r4, 0xE] - ldrb r2, [r4, 0x10] - bl RemoveFieldObjectByLocalIdAndMap - movs r0, 0x41 - bl FieldEffectActiveListRemove - adds r0, r5, 0 - bl DestroyTask -_080B9D16: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B9CDC - - thumb_func_start sub_80B9D24 -sub_80B9D24: @ 80B9D24 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - ldr r0, =gUnknown_03005DEC - movs r1, 0 - ldrsh r2, [r0, r1] - movs r3, 0x20 - ldrsh r0, [r6, r3] - adds r2, r0 - movs r1, 0x24 - ldrsh r0, [r6, r1] - adds r2, r0 - ldr r0, =gUnknown_03005DE8 - movs r3, 0 - ldrsh r0, [r0, r3] - movs r3, 0x22 - ldrsh r1, [r6, r3] - adds r0, r1 - movs r3, 0x26 - ldrsh r1, [r6, r3] - adds r0, r1 - subs r0, 0x4 - movs r5, 0 - lsls r2, 16 - mov r8, r2 - lsls r7, r0, 16 -_080B9D5A: - ldr r0, =gUnknown_0855C5EC - mov r2, r8 - asrs r1, r2, 16 - asrs r2, r7, 16 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080B9D96 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, =gSprites - adds r4, r0 - lsls r1, r5, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - strh r5, [r4, 0x2E] - ldrb r1, [r6, 0x5] - lsrs r1, 4 - lsls r1, 4 - ldrb r2, [r4, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x5] -_080B9D96: - adds r5, 0x1 - cmp r5, 0x3 - ble _080B9D5A - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B9D24 - - thumb_func_start sub_80B9DB8 -sub_80B9DB8: @ 80B9DB8 - push {lr} - adds r1, r0, 0 - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0x1 - beq _080B9DE4 - cmp r0, 0x1 - bgt _080B9DCE - cmp r0, 0 - beq _080B9DD8 - b _080B9E02 -_080B9DCE: - cmp r0, 0x2 - beq _080B9DF0 - cmp r0, 0x3 - beq _080B9DF6 - b _080B9E02 -_080B9DD8: - ldrh r0, [r1, 0x20] - subs r0, 0x10 - strh r0, [r1, 0x20] - ldrh r0, [r1, 0x22] - subs r0, 0xC - b _080B9E00 -_080B9DE4: - ldrh r0, [r1, 0x20] - adds r0, 0x10 - strh r0, [r1, 0x20] - ldrh r0, [r1, 0x22] - subs r0, 0xC - b _080B9E00 -_080B9DF0: - ldrh r0, [r1, 0x20] - subs r0, 0x10 - b _080B9DFA -_080B9DF6: - ldrh r0, [r1, 0x20] - adds r0, 0x10 -_080B9DFA: - strh r0, [r1, 0x20] - ldrh r0, [r1, 0x22] - adds r0, 0xC -_080B9E00: - strh r0, [r1, 0x22] -_080B9E02: - ldrh r0, [r1, 0x20] - adds r0, 0x4 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xF8 - bhi _080B9E1E - movs r0, 0x22 - ldrsh r2, [r1, r0] - movs r0, 0x4 - negs r0, r0 - cmp r2, r0 - blt _080B9E1E - cmp r2, 0xA4 - ble _080B9E24 -_080B9E1E: - adds r0, r1, 0 - bl DestroySprite -_080B9E24: - pop {r0} - bx r0 - thumb_func_end sub_80B9DB8 - - thumb_func_start sub_80B9E28 -sub_80B9E28: @ 80B9E28 - push {r4-r7,lr} - sub sp, 0x4 - ldr r7, =gFieldEffectArguments - ldrb r0, [r7] - ldrb r1, [r7, 0x4] - ldrb r2, [r7, 0x8] - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _080B9EBE - mov r0, sp - ldrb r0, [r0] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, =gMapObjects - adds r4, r0 - movs r0, 0x10 - ldrsh r5, [r4, r0] - subs r5, 0x7 - movs r0, 0x12 - ldrsh r6, [r4, r0] - subs r6, 0x7 - ldr r1, [r7, 0xC] - subs r5, r1, r5 - lsls r5, 4 - ldr r2, [r7, 0x10] - subs r6, r2, r6 - lsls r6, 4 - adds r1, 0x7 - lsls r1, 16 - asrs r1, 16 - adds r2, 0x7 - lsls r2, 16 - asrs r2, 16 - adds r0, r4, 0 - bl npc_coords_shift - ldr r0, =sub_80B9EDC - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gTasks - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - adds r2, r1 - ldrb r0, [r4, 0x4] - strh r0, [r2, 0xA] - ldr r3, =gSprites - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r0, [r0, 0x20] - adds r0, r5 - strh r0, [r2, 0xC] - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r0, [r0, 0x22] - adds r0, r6 - strh r0, [r2, 0xE] - ldr r0, [r7, 0x14] - strh r0, [r2, 0x18] - mov r0, sp - ldrb r0, [r0] - strh r0, [r2, 0x1A] -_080B9EBE: - movs r0, 0 - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B9E28 - - thumb_func_start sub_80B9EDC -sub_80B9EDC: @ 80B9EDC - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r5, r0, r1 - movs r0, 0x2 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r6, r0, r1 - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _080B9F10 - cmp r0, 0x1 - beq _080B9F4E - b _080B9FAC - .pool -_080B9F10: - ldrh r0, [r6, 0x20] - lsls r0, 4 - strh r0, [r5, 0x8] - ldrh r0, [r6, 0x22] - lsls r0, 4 - strh r0, [r5, 0xA] - movs r2, 0x4 - ldrsh r0, [r5, r2] - lsls r0, 4 - movs r2, 0x8 - ldrsh r1, [r5, r2] - subs r0, r1 - movs r2, 0x10 - ldrsh r1, [r5, r2] - bl __divsi3 - strh r0, [r5, 0xC] - movs r1, 0x6 - ldrsh r0, [r5, r1] - lsls r0, 4 - movs r2, 0xA - ldrsh r1, [r5, r2] - subs r0, r1 - movs r2, 0x10 - ldrsh r1, [r5, r2] - bl __divsi3 - strh r0, [r5, 0xE] - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] -_080B9F4E: - ldrh r1, [r5, 0x10] - movs r2, 0x10 - ldrsh r0, [r5, r2] - cmp r0, 0 - beq _080B9F7C - subs r0, r1, 0x1 - strh r0, [r5, 0x10] - ldrh r1, [r5, 0xC] - ldrh r0, [r5, 0x8] - adds r1, r0 - strh r1, [r5, 0x8] - ldrh r0, [r5, 0xE] - ldrh r2, [r5, 0xA] - adds r0, r2 - strh r0, [r5, 0xA] - lsls r1, 16 - asrs r1, 20 - strh r1, [r6, 0x20] - ldrh r0, [r5, 0xA] - lsls r0, 16 - asrs r0, 20 - strh r0, [r6, 0x22] - b _080B9FAC -_080B9F7C: - movs r1, 0x12 - ldrsh r0, [r5, r1] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, =gMapObjects - adds r4, r0 - ldrh r0, [r5, 0x4] - strh r0, [r6, 0x20] - ldrh r0, [r5, 0x6] - strh r0, [r6, 0x22] - adds r0, r4, 0 - bl npc_coords_shift_still - ldrb r0, [r4] - movs r1, 0x8 - orrs r0, r1 - strb r0, [r4] - movs r0, 0x42 - bl FieldEffectActiveListRemove - adds r0, r7, 0 - bl DestroyTask -_080B9FAC: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B9EDC - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/field_effect_helpers.s b/asm/field_effect_helpers.s index 754a8f7ff..77f8213b3 100644 --- a/asm/field_effect_helpers.s +++ b/asm/field_effect_helpers.s @@ -204,7 +204,7 @@ _0815405A: bl pal_patch_for_npc _0815406A: adds r0, r4, 0 - bl sub_80ABE18 + bl UpdateSpritePaletteWithWeather _08154070: pop {r4} pop {r0} @@ -227,7 +227,7 @@ npc_pal_op_A: @ 8154078 adds r1, r4, 0 bl pal_patch_for_npc adds r0, r4, 0 - bl sub_80ABE18 + bl UpdateSpritePaletteWithWeather _0815409C: pop {r4} pop {r0} diff --git a/asm/field_screen.s b/asm/field_screen.s index e3d48f882..e35c768dd 100644 --- a/asm/field_screen.s +++ b/asm/field_screen.s @@ -1764,8 +1764,8 @@ _080ABDE4: .pool thumb_func_end FadeScreen - thumb_func_start sub_80ABDFC -sub_80ABDFC: @ 80ABDFC + thumb_func_start IsWeatherNotFadingIn +IsWeatherNotFadingIn: @ 80ABDFC ldr r0, =gUnknown_02038454 ldr r1, =0x000006c6 adds r0, r1 @@ -1777,11 +1777,11 @@ sub_80ABDFC: @ 80ABDFC lsrs r0, 31 bx lr .pool - thumb_func_end sub_80ABDFC + thumb_func_end IsWeatherNotFadingIn - thumb_func_start sub_80ABE18 -@ void sub_80ABE18(u8 a1) -sub_80ABE18: @ 80ABE18 + thumb_func_start UpdateSpritePaletteWithWeather +@ void UpdateSpritePaletteWithWeather(u8 a1) +UpdateSpritePaletteWithWeather: @ 80ABE18 push {r4-r6,lr} lsls r0, 24 lsrs r0, 8 @@ -1882,7 +1882,7 @@ _080ABEF4: pop {r0} bx r0 .pool - thumb_func_end sub_80ABE18 + thumb_func_end UpdateSpritePaletteWithWeather thumb_func_start ApplyWeatherGammaShiftToPal ApplyWeatherGammaShiftToPal: @ 80ABF00 @@ -1939,7 +1939,7 @@ sub_80ABF4C: @ 80ABF4C movs r2, 0x20 bl LoadPalette ldrb r0, [r4] - bl sub_80ABE18 + bl UpdateSpritePaletteWithWeather pop {r4} pop {r0} bx r0 @@ -2504,8 +2504,8 @@ sub_80AC3E4: @ 80AC3E4 .pool thumb_func_end sub_80AC3E4 - thumb_func_start sub_80AC3F8 -sub_80AC3F8: @ 80AC3F8 + thumb_func_start PreservePaletteInWeather +PreservePaletteInWeather: @ 80AC3F8 push {r4,r5,lr} adds r4, r0, 0 lsls r4, 24 @@ -2524,16 +2524,16 @@ sub_80AC3F8: @ 80AC3F8 pop {r0} bx r0 .pool - thumb_func_end sub_80AC3F8 + thumb_func_end PreservePaletteInWeather - thumb_func_start sub_80AC428 -sub_80AC428: @ 80AC428 + thumb_func_start ResetPreservedPalettesInWeather +ResetPreservedPalettesInWeather: @ 80AC428 ldr r1, =gUnknown_03000F50 ldr r0, =gUnknown_0854C250 str r0, [r1] bx lr .pool - thumb_func_end sub_80AC428 + thumb_func_end ResetPreservedPalettesInWeather thumb_func_start sub_80AC438 sub_80AC438: @ 80AC438 @@ -8702,7 +8702,7 @@ sub_80AF710: @ 80AF710 thumb_func_start sub_80AF71C sub_80AF71C: @ 80AF71C push {lr} - bl sub_80ABDFC + bl IsWeatherNotFadingIn lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 diff --git a/asm/field_specials.s b/asm/field_specials.s index ca22af002..852d5ce7c 100644 --- a/asm/field_specials.s +++ b/asm/field_specials.s @@ -3155,7 +3155,7 @@ SetRoute119Weather: @ 8139648 bl get_map_light_from_warp0 lsls r0, 24 lsrs r0, 24 - bl is_light_level_1_2_3_5_or_6 + bl is_map_type_1_2_3_5_or_6 lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -3173,7 +3173,7 @@ SetRoute123Weather: @ 8139668 bl get_map_light_from_warp0 lsls r0, 24 lsrs r0, 24 - bl is_light_level_1_2_3_5_or_6 + bl is_map_type_1_2_3_5_or_6 lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 diff --git a/asm/field_tasks.s b/asm/field_tasks.s deleted file mode 100644 index 09f5bbc9b..000000000 --- a/asm/field_tasks.s +++ /dev/null @@ -1,1921 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start task_per_step_callback_manager -task_per_step_callback_manager: @ 809D88C - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0x8 - ldrsh r1, [r1, r2] - ldr r2, =gUnknown_08510348 - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .pool - thumb_func_end task_per_step_callback_manager - - thumb_func_start sub_809D8B8 -sub_809D8B8: @ 809D8B8 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0809D8CA - cmp r0, 0x1 - beq _0809D8E8 - b _0809D8FC -_0809D8CA: - ldr r0, =gMain - ldr r0, [r0, 0x20] - movs r1, 0x80 - lsls r1, 5 - ands r0, r1 - cmp r0, 0 - beq _0809D8FC - bl DoTimeBasedEvents - ldrh r0, [r4] - adds r0, 0x1 - b _0809D8FA - .pool -_0809D8E8: - ldr r0, =gMain - ldr r0, [r0, 0x20] - movs r1, 0x80 - lsls r1, 5 - ands r0, r1 - cmp r0, 0 - bne _0809D8FC - ldrh r0, [r4] - subs r0, 0x1 -_0809D8FA: - strh r0, [r4] -_0809D8FC: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_809D8B8 - - thumb_func_start sub_809D908 -sub_809D908: @ 809D908 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r4, r1, r0 - bl ScriptContext2_IsEnabled - lsls r0, 24 - cmp r0, 0 - bne _0809D930 - adds r0, r4, 0 - bl sub_809D8B8 - adds r0, r4, 0x2 - adds r1, r4, 0x4 - bl UpdateAmbientCry -_0809D930: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_809D908 - - thumb_func_start SetUpFieldTasks -SetUpFieldTasks: @ 809D93C - push {r4,r5,lr} - ldr r5, =task_per_step_callback_manager - adds r0, r5, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _0809D966 - adds r0, r5, 0 - movs r1, 0x50 - 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] -_0809D966: - ldr r4, =sub_809E638 - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _0809D97C - adds r0, r4, 0 - movs r1, 0x50 - bl CreateTask -_0809D97C: - ldr r4, =sub_809D908 - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _0809D992 - adds r0, r4, 0 - movs r1, 0x50 - bl CreateTask -_0809D992: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end SetUpFieldTasks - - thumb_func_start ActivatePerStepCallback -ActivatePerStepCallback: @ 809D9A8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =task_per_step_callback_manager - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xFF - beq _0809D9EA - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r1, r0, r1 - movs r2, 0 - adds r0, r1, 0 - adds r0, 0x1E -_0809D9CC: - strh r2, [r0] - subs r0, 0x2 - cmp r0, r1 - bge _0809D9CC - cmp r4, 0x7 - bls _0809D9E8 - movs r0, 0 - strh r0, [r1] - b _0809D9EA - .pool -_0809D9E8: - strh r4, [r1] -_0809D9EA: - pop {r4} - pop {r0} - bx r0 - thumb_func_end ActivatePerStepCallback - - thumb_func_start ResetFieldTasksArgs -ResetFieldTasksArgs: @ 809D9F0 - push {lr} - ldr r0, =task_per_step_callback_manager - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, =sub_809D908 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xFF - beq _0809DA1A - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x2] - strh r1, [r0, 0x4] -_0809DA1A: - pop {r0} - bx r0 - .pool - thumb_func_end ResetFieldTasksArgs - - thumb_func_start nullsub_34 -nullsub_34: @ 809DA2C - bx lr - thumb_func_end nullsub_34 - - thumb_func_start sub_809DA30 -sub_809DA30: @ 809DA30 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r1, 24 - lsrs r4, r1, 24 - adds r0, r4, 0 - bl MetatileBehavior_IsPacifilogVerticalLog1 - lsls r0, 24 - cmp r0, 0 - beq _0809DA48 - adds r0, r5, 0 - b _0809DA80 -_0809DA48: - adds r0, r4, 0 - bl MetatileBehavior_IsPacifilogVerticalLog2 - lsls r0, 24 - cmp r0, 0 - beq _0809DA5A - adds r0, r5, 0 - adds r0, 0x8 - b _0809DA80 -_0809DA5A: - adds r0, r4, 0 - bl MetatileBehavior_IsPacifilogHorizontalLog1 - lsls r0, 24 - cmp r0, 0 - beq _0809DA6C - adds r0, r5, 0 - adds r0, 0x10 - b _0809DA80 -_0809DA6C: - adds r0, r4, 0 - bl MetatileBehavior_IsPacifilogHorizontalLog2 - lsls r0, 24 - cmp r0, 0 - bne _0809DA7C - movs r0, 0 - b _0809DA80 -_0809DA7C: - adds r0, r5, 0 - adds r0, 0x18 -_0809DA80: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_809DA30 - - thumb_func_start sub_809DA88 -sub_809DA88: @ 809DA88 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - mov r8, r3 - lsls r1, 16 - asrs r6, r1, 16 - lsls r2, 16 - asrs r7, r2, 16 - adds r0, r6, 0 - adds r1, r7, 0 - bl MapGridGetMetatileBehaviorAt - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r5, 0 - bl sub_809DA30 - adds r4, r0, 0 - adds r5, r4, 0 - cmp r4, 0 - beq _0809DB06 - movs r0, 0 - ldrsb r0, [r4, r0] - adds r0, r6, r0 - movs r1, 0x1 - ldrsb r1, [r4, r1] - adds r1, r7, r1 - ldrh r2, [r4, 0x2] - bl MapGridSetMetatileIdAt - mov r0, r8 - cmp r0, 0 - beq _0809DADE - movs r0, 0 - ldrsb r0, [r4, r0] - adds r0, r6, r0 - movs r1, 0x1 - ldrsb r1, [r4, r1] - adds r1, r7, r1 - bl CurrentMapDrawMetatileAt -_0809DADE: - movs r0, 0x4 - ldrsb r0, [r5, r0] - adds r0, r6, r0 - movs r1, 0x5 - ldrsb r1, [r5, r1] - adds r1, r7, r1 - ldrh r2, [r5, 0x6] - bl MapGridSetMetatileIdAt - mov r0, r8 - cmp r0, 0 - beq _0809DB06 - movs r0, 0x4 - ldrsb r0, [r5, r0] - adds r0, r6, r0 - movs r1, 0x5 - ldrsb r1, [r5, r1] - adds r1, r7, r1 - bl CurrentMapDrawMetatileAt -_0809DB06: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_809DA88 - - thumb_func_start sub_809DB10 -sub_809DB10: @ 809DB10 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r3, r2, 0 - ldr r0, =gUnknown_08510368 - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_809DA88 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_809DB10 - - thumb_func_start sub_809DB34 -sub_809DB34: @ 809DB34 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r3, r2, 0 - ldr r0, =gUnknown_08510388 - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_809DA88 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_809DB34 - - thumb_func_start sub_809DB58 -sub_809DB58: @ 809DB58 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r3, r2, 0 - ldr r0, =gUnknown_085103A8 - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_809DA88 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_809DB58 - - thumb_func_start sub_809DB7C -sub_809DB7C: @ 809DB7C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - mov r10, r8 - lsls r1, 16 - lsrs r7, r1, 16 - mov r9, r7 - lsls r2, 16 - asrs r6, r2, 16 - lsls r3, 16 - asrs r5, r3, 16 - adds r0, r6, 0 - adds r1, r5, 0 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl MetatileBehavior_IsPacifilogVerticalLog1 - lsls r0, 24 - cmp r0, 0 - beq _0809DBC0 - lsls r0, r7, 16 - asrs r0, 16 - cmp r0, r5 - ble _0809DC06 -_0809DBBC: - movs r0, 0 - b _0809DC08 -_0809DBC0: - adds r0, r4, 0 - bl MetatileBehavior_IsPacifilogVerticalLog2 - lsls r0, 24 - cmp r0, 0 - beq _0809DBD8 - mov r1, r9 - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, r5 - bge _0809DC06 - b _0809DBBC -_0809DBD8: - adds r0, r4, 0 - bl MetatileBehavior_IsPacifilogHorizontalLog1 - lsls r0, 24 - cmp r0, 0 - beq _0809DBF0 - mov r1, r8 - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, r6 - ble _0809DC06 - b _0809DBBC -_0809DBF0: - adds r0, r4, 0 - bl MetatileBehavior_IsPacifilogHorizontalLog2 - lsls r0, 24 - cmp r0, 0 - beq _0809DC06 - mov r1, r10 - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, r6 - blt _0809DBBC -_0809DC06: - movs r0, 0x1 -_0809DC08: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_809DB7C - - thumb_func_start sub_809DC18 -sub_809DC18: @ 809DC18 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r2, 16 - lsrs r2, 16 - mov r8, r2 - mov r10, r8 - lsls r3, 16 - lsrs r7, r3, 16 - mov r9, r7 - lsls r0, 16 - asrs r6, r0, 16 - lsls r1, 16 - asrs r5, r1, 16 - adds r0, r6, 0 - adds r1, r5, 0 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl MetatileBehavior_IsPacifilogVerticalLog1 - lsls r0, 24 - cmp r0, 0 - beq _0809DC5C - lsls r0, r7, 16 - asrs r0, 16 - cmp r5, r0 - bge _0809DCA2 -_0809DC58: - movs r0, 0 - b _0809DCA4 -_0809DC5C: - adds r0, r4, 0 - bl MetatileBehavior_IsPacifilogVerticalLog2 - lsls r0, 24 - cmp r0, 0 - beq _0809DC74 - mov r1, r9 - lsls r0, r1, 16 - asrs r0, 16 - cmp r5, r0 - ble _0809DCA2 - b _0809DC58 -_0809DC74: - adds r0, r4, 0 - bl MetatileBehavior_IsPacifilogHorizontalLog1 - lsls r0, 24 - cmp r0, 0 - beq _0809DC8C - mov r1, r8 - lsls r0, r1, 16 - asrs r0, 16 - cmp r6, r0 - bge _0809DCA2 - b _0809DC58 -_0809DC8C: - adds r0, r4, 0 - bl MetatileBehavior_IsPacifilogHorizontalLog2 - lsls r0, 24 - cmp r0, 0 - beq _0809DCA2 - mov r1, r10 - lsls r0, r1, 16 - asrs r0, 16 - cmp r6, r0 - bgt _0809DC58 -_0809DCA2: - movs r0, 0x1 -_0809DCA4: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_809DC18 - - thumb_func_start sub_809DCB4 -sub_809DCB4: @ 809DCB4 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r4, r1, r0 - mov r5, sp - adds r5, 0x2 - mov r0, sp - adds r1, r5, 0 - bl PlayerGetDestCoords - movs r1, 0x2 - ldrsh r0, [r4, r1] - adds r6, r5, 0 - cmp r0, 0x1 - beq _0809DD0E - cmp r0, 0x1 - bgt _0809DCEC - cmp r0, 0 - beq _0809DCF2 - b _0809DE1E - .pool -_0809DCEC: - cmp r0, 0x2 - beq _0809DDDC - b _0809DE1E -_0809DCF2: - mov r0, sp - ldrh r0, [r0] - strh r0, [r4, 0x4] - ldrh r0, [r5] - strh r0, [r4, 0x6] - mov r0, sp - movs r2, 0 - ldrsh r0, [r0, r2] - movs r3, 0 - ldrsh r1, [r5, r3] - movs r2, 0x1 - bl sub_809DB34 - b _0809DE1A -_0809DD0E: - mov r0, sp - movs r7, 0 - ldrsh r1, [r0, r7] - movs r2, 0x4 - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _0809DD28 - movs r3, 0 - ldrsh r1, [r5, r3] - movs r7, 0x6 - ldrsh r0, [r4, r7] - cmp r1, r0 - beq _0809DE1E -_0809DD28: - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r5, 0x6 - ldrsh r3, [r4, r5] - bl sub_809DB7C - cmp r0, 0 - beq _0809DD70 - movs r7, 0x4 - ldrsh r0, [r4, r7] - movs r2, 0x6 - ldrsh r1, [r4, r2] - movs r2, 0x1 - bl sub_809DB10 - movs r3, 0x4 - ldrsh r0, [r4, r3] - movs r5, 0x6 - ldrsh r1, [r4, r5] - movs r2, 0 - bl sub_809DB58 - ldrh r0, [r4, 0x4] - strh r0, [r4, 0x8] - ldrh r0, [r4, 0x6] - strh r0, [r4, 0xA] - movs r0, 0x2 - strh r0, [r4, 0x2] - movs r0, 0x8 - strh r0, [r4, 0xC] - b _0809DD7A -_0809DD70: - movs r7, 0x1 - negs r7, r7 - adds r0, r7, 0 - strh r0, [r4, 0x8] - strh r0, [r4, 0xA] -_0809DD7A: - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - adds r5, r6, 0 - movs r2, 0 - ldrsh r1, [r5, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r7, 0x6 - ldrsh r3, [r4, r7] - bl sub_809DC18 - cmp r0, 0 - beq _0809DDAE - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - movs r2, 0x1 - bl sub_809DB10 - movs r0, 0x2 - strh r0, [r4, 0x2] - movs r0, 0x8 - strh r0, [r4, 0xC] -_0809DDAE: - mov r0, sp - ldrh r0, [r0] - strh r0, [r4, 0x4] - ldrh r0, [r6] - strh r0, [r4, 0x6] - mov r0, sp - movs r3, 0 - ldrsh r0, [r0, r3] - movs r5, 0 - ldrsh r1, [r6, r5] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsPacifidlogLog - lsls r0, 24 - cmp r0, 0 - beq _0809DE1E - movs r0, 0x46 - bl PlaySE - b _0809DE1E -_0809DDDC: - ldrh r0, [r4, 0xC] - subs r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - cmp r0, 0 - bne _0809DE1E - mov r0, sp - movs r7, 0 - ldrsh r0, [r0, r7] - movs r2, 0 - ldrsh r1, [r5, r2] - movs r2, 0x1 - bl sub_809DB34 - movs r3, 0x8 - ldrsh r0, [r4, r3] - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - beq _0809DE1A - movs r5, 0xA - ldrsh r0, [r4, r5] - cmp r0, r1 - beq _0809DE1A - movs r7, 0x8 - ldrsh r0, [r4, r7] - movs r2, 0xA - ldrsh r1, [r4, r2] - movs r2, 0x1 - bl sub_809DB58 -_0809DE1A: - movs r0, 0x1 - strh r0, [r4, 0x2] -_0809DE1E: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_809DCB4 - - thumb_func_start sub_809DE28 -sub_809DE28: @ 809DE28 - push {r4,r5,lr} - lsls r0, 16 - lsrs r4, r0, 16 - lsls r1, 16 - lsrs r5, r1, 16 - bl PlayerGetZCoord - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0809DE82 - lsls r0, r4, 16 - asrs r4, r0, 16 - lsls r0, r5, 16 - asrs r5, r0, 16 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetMetatileIdAt - adds r1, r0, 0 - ldr r0, =0x0000024e - cmp r1, r0 - beq _0809DE68 - adds r0, 0x8 - cmp r1, r0 - beq _0809DE78 - b _0809DE82 - .pool -_0809DE68: - ldr r2, =0x0000024f - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt - b _0809DE82 - .pool -_0809DE78: - ldr r2, =0x00000257 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt -_0809DE82: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_809DE28 - - thumb_func_start sub_809DE8C -sub_809DE8C: @ 809DE8C - push {r4,r5,lr} - lsls r0, 16 - lsrs r4, r0, 16 - lsls r1, 16 - lsrs r5, r1, 16 - bl PlayerGetZCoord - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0809DEE6 - lsls r0, r4, 16 - asrs r4, r0, 16 - lsls r0, r5, 16 - asrs r5, r0, 16 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetMetatileIdAt - adds r1, r0, 0 - ldr r0, =0x0000024f - cmp r1, r0 - beq _0809DECC - adds r0, 0x8 - cmp r1, r0 - beq _0809DEDC - b _0809DEE6 - .pool -_0809DECC: - ldr r2, =0x0000024e - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt - b _0809DEE6 - .pool -_0809DEDC: - ldr r2, =0x00000256 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt -_0809DEE6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_809DE8C - - thumb_func_start sub_809DEF0 -sub_809DEF0: @ 809DEF0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r6, r1, r0 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - movs r0, 0x2 - ldrsh r5, [r6, r0] - mov r9, r4 - cmp r5, 0x1 - beq _0809DF84 - cmp r5, 0x1 - bgt _0809DF30 - cmp r5, 0 - beq _0809DF38 - b _0809E0F6 - .pool -_0809DF30: - cmp r5, 0x2 - bne _0809DF36 - b _0809E064 -_0809DF36: - b _0809E0F6 -_0809DF38: - mov r0, sp - ldrh r0, [r0] - strh r0, [r6, 0x4] - mov r1, r9 - ldrh r0, [r1] - strh r0, [r6, 0x6] - mov r0, sp - movs r2, 0 - ldrsh r0, [r0, r2] - movs r3, 0 - ldrsh r1, [r1, r3] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsFortreeBridge - lsls r0, 24 - cmp r0, 0 - bne _0809DF62 - b _0809E0F2 -_0809DF62: - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - mov r2, r9 - movs r3, 0 - ldrsh r1, [r2, r3] - bl sub_809DE28 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - mov r2, r9 - movs r3, 0 - ldrsh r1, [r2, r3] - bl CurrentMapDrawMetatileAt - b _0809E0F2 -_0809DF84: - ldrh r0, [r6, 0x6] - mov r8, r0 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - ldrh r2, [r6, 0x4] - mov r10, r2 - movs r3, 0x4 - ldrsh r7, [r6, r3] - cmp r0, r7 - bne _0809DFAC - mov r0, r9 - movs r2, 0 - ldrsh r1, [r0, r2] - mov r3, r8 - lsls r0, r3, 16 - asrs r0, 16 - cmp r1, r0 - bne _0809DFAC - b _0809E0F6 -_0809DFAC: - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - mov r2, r9 - movs r3, 0 - ldrsh r1, [r2, r3] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsFortreeBridge - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - mov r0, r8 - lsls r4, r0, 16 - asrs r1, r4, 16 - adds r0, r7, 0 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsFortreeBridge - lsls r0, 24 - lsrs r7, r0, 24 - bl PlayerGetZCoord - movs r1, 0 - ands r5, r0 - lsls r0, r5, 24 - adds r5, r4, 0 - cmp r0, 0 - bne _0809DFF4 - movs r1, 0x1 -_0809DFF4: - cmp r1, 0 - beq _0809E008 - ldr r1, [sp, 0x4] - cmp r1, 0x1 - beq _0809E002 - cmp r7, 0x1 - bne _0809E008 -_0809E002: - movs r0, 0x47 - bl PlaySE -_0809E008: - cmp r7, 0 - beq _0809E044 - mov r2, r10 - lsls r4, r2, 16 - asrs r4, 16 - asrs r5, 16 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_809DE8C - adds r0, r4, 0 - adds r1, r5, 0 - bl CurrentMapDrawMetatileAt - mov r0, sp - movs r3, 0 - ldrsh r0, [r0, r3] - mov r2, r9 - movs r3, 0 - ldrsh r1, [r2, r3] - bl sub_809DE28 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - mov r2, r9 - movs r3, 0 - ldrsh r1, [r2, r3] - bl CurrentMapDrawMetatileAt -_0809E044: - mov r0, r10 - strh r0, [r6, 0x8] - mov r1, r8 - strh r1, [r6, 0xA] - mov r0, sp - ldrh r0, [r0] - strh r0, [r6, 0x4] - mov r2, r9 - ldrh r0, [r2] - strh r0, [r6, 0x6] - cmp r7, 0 - beq _0809E0F6 - movs r0, 0x10 - strh r0, [r6, 0xC] - movs r0, 0x2 - strh r0, [r6, 0x2] -_0809E064: - ldrh r0, [r6, 0xC] - subs r0, 0x1 - strh r0, [r6, 0xC] - ldrh r3, [r6, 0x8] - mov r10, r3 - ldrh r0, [r6, 0xA] - mov r8, r0 - movs r1, 0xC - ldrsh r0, [r6, r1] - movs r1, 0x7 - bl __modsi3 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - bhi _0809E0EA - lsls r0, 2 - ldr r1, =_0809E094 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0809E094: - .4byte _0809E0B4 - .4byte _0809E0EA - .4byte _0809E0EA - .4byte _0809E0EA - .4byte _0809E0C6 - .4byte _0809E0EA - .4byte _0809E0EA - .4byte _0809E0EA -_0809E0B4: - mov r2, r10 - lsls r0, r2, 16 - asrs r0, 16 - mov r3, r8 - lsls r1, r3, 16 - asrs r1, 16 - bl CurrentMapDrawMetatileAt - b _0809E0EA -_0809E0C6: - mov r0, r10 - lsls r5, r0, 16 - asrs r5, 16 - mov r1, r8 - lsls r4, r1, 16 - asrs r4, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_809DE28 - adds r0, r5, 0 - adds r1, r4, 0 - bl CurrentMapDrawMetatileAt - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_809DE8C -_0809E0EA: - movs r2, 0xC - ldrsh r0, [r6, r2] - cmp r0, 0 - bne _0809E0F6 -_0809E0F2: - movs r0, 0x1 - strh r0, [r6, 0x2] -_0809E0F6: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_809DEF0 - - thumb_func_start sub_809E108 -sub_809E108: @ 809E108 - push {lr} - lsls r1, 16 - lsrs r1, 16 - lsls r0, 16 - ldr r2, =0xfffd0000 - adds r0, r2 - lsrs r0, 16 - cmp r0, 0xA - bhi _0809E144 - lsls r0, r1, 16 - asrs r1, r0, 16 - ldr r2, =0xfffa0000 - adds r0, r2 - lsrs r0, 16 - cmp r0, 0xD - bhi _0809E144 - ldr r0, =gUnknown_085103C8 - lsls r1, 1 - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0 - beq _0809E144 - movs r0, 0x1 - b _0809E146 - .pool -_0809E144: - movs r0, 0 -_0809E146: - pop {r1} - bx r1 - thumb_func_end sub_809E108 - - thumb_func_start sub_809E14C -sub_809E14C: @ 809E14C - push {r4,r5,lr} - lsls r0, 16 - asrs r5, r0, 16 - lsls r1, 16 - asrs r4, r1, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_809E108 - cmp r0, 0 - beq _0809E17A - ldr r1, =gUnknown_085103C8 - lsls r0, r4, 1 - adds r0, r1 - ldrh r0, [r0] - bl GetVarPointer - subs r2, r5, 0x3 - movs r1, 0x1 - lsls r1, r2 - ldrh r2, [r0] - orrs r1, r2 - strh r1, [r0] -_0809E17A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_809E14C - - thumb_func_start sub_809E184 -sub_809E184: @ 809E184 - push {r4,r5,lr} - lsls r0, 16 - asrs r5, r0, 16 - lsls r1, 16 - asrs r4, r1, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_809E108 - cmp r0, 0 - beq _0809E1B6 - ldr r1, =gUnknown_085103C8 - lsls r0, r4, 1 - adds r0, r1 - ldrh r0, [r0] - bl VarGet - lsls r0, 16 - subs r2, r5, 0x3 - movs r1, 0x80 - lsls r1, 9 - lsls r1, r2 - ands r1, r0 - cmp r1, 0 - bne _0809E1C0 -_0809E1B6: - movs r0, 0 - b _0809E1C2 - .pool -_0809E1C0: - movs r0, 0x1 -_0809E1C2: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_809E184 - - thumb_func_start sub_809E1C8 -sub_809E1C8: @ 809E1C8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r0, =gMapHeader - ldr r0, [r0] - ldr r1, [r0] - mov r9, r1 - ldr r7, [r0, 0x4] - movs r5, 0 - cmp r5, r9 - bge _0809E210 -_0809E1E0: - movs r4, 0 - adds r0, r5, 0x1 - mov r8, r0 - cmp r4, r7 - bge _0809E20A - lsls r6, r5, 16 -_0809E1EC: - lsls r1, r4, 16 - asrs r1, 16 - asrs r0, r6, 16 - bl sub_809E184 - cmp r0, 0x1 - bne _0809E204 - adds r1, r4, 0x7 - adds r0, r5, 0x7 - ldr r2, =0x0000020e - bl MapGridSetMetatileIdAt -_0809E204: - adds r4, 0x1 - cmp r4, r7 - blt _0809E1EC -_0809E20A: - mov r5, r8 - cmp r5, r9 - blt _0809E1E0 -_0809E210: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_809E1C8 - - thumb_func_start sub_809E224 -sub_809E224: @ 809E224 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r5, r1, r0 - movs r1, 0x2 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _0809E270 - cmp r0, 0x1 - bgt _0809E24C - cmp r0, 0 - beq _0809E258 - b _0809E3A6 - .pool -_0809E24C: - cmp r0, 0x2 - beq _0809E306 - cmp r0, 0x3 - bne _0809E256 - b _0809E360 -_0809E256: - b _0809E3A6 -_0809E258: - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - ldrh r0, [r0] - strh r0, [r5, 0x4] - ldrh r0, [r4] - strh r0, [r5, 0x6] - b _0809E3A2 -_0809E270: - mov r7, sp - adds r7, 0x2 - mov r0, sp - adds r1, r7, 0 - bl PlayerGetDestCoords - mov r0, sp - ldrh r2, [r0] - movs r3, 0 - ldrsh r1, [r0, r3] - movs r3, 0x4 - ldrsh r0, [r5, r3] - cmp r1, r0 - bne _0809E29A - movs r0, 0 - ldrsh r1, [r7, r0] - movs r3, 0x6 - ldrsh r0, [r5, r3] - cmp r1, r0 - bne _0809E29A - b _0809E3A6 -_0809E29A: - strh r2, [r5, 0x4] - ldrh r0, [r7] - strh r0, [r5, 0x6] - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r7, r2] - bl MapGridGetMetatileBehaviorAt - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =0x00004022 - bl GetVarPointer - adds r6, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl MetatileBehavior_IsThinIce - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0809E2E0 - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] - movs r0, 0x4 - strh r0, [r5, 0xC] - movs r0, 0x2 - b _0809E2F8 - .pool -_0809E2E0: - adds r0, r4, 0 - bl MetatileBehavior_IsCrackedIce - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0809E3A6 - movs r0, 0 - strh r0, [r6] - movs r0, 0x4 - strh r0, [r5, 0xC] - movs r0, 0x3 -_0809E2F8: - strh r0, [r5, 0x2] - mov r0, sp - ldrh r0, [r0] - strh r0, [r5, 0x8] - ldrh r0, [r7] - strh r0, [r5, 0xA] - b _0809E3A6 -_0809E306: - ldrh r1, [r5, 0xC] - movs r3, 0xC - ldrsh r0, [r5, r3] - cmp r0, 0 - bne _0809E36A - mov r1, sp - ldrh r0, [r5, 0x8] - strh r0, [r1] - mov r4, sp - adds r4, 0x2 - ldrh r0, [r5, 0xA] - strh r0, [r4] - movs r0, 0x2A - bl PlaySE - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - ldr r2, =0x0000020e - bl MapGridSetMetatileIdAt - mov r0, sp - movs r3, 0 - ldrsh r0, [r0, r3] - movs r2, 0 - ldrsh r1, [r4, r2] - bl CurrentMapDrawMetatileAt - mov r0, sp - ldrh r0, [r0] - subs r0, 0x7 - lsls r0, 16 - asrs r0, 16 - ldrh r1, [r4] - subs r1, 0x7 - lsls r1, 16 - asrs r1, 16 - bl sub_809E14C - b _0809E3A2 - .pool -_0809E360: - ldrh r1, [r5, 0xC] - movs r3, 0xC - ldrsh r0, [r5, r3] - cmp r0, 0 - beq _0809E370 -_0809E36A: - subs r0, r1, 0x1 - strh r0, [r5, 0xC] - b _0809E3A6 -_0809E370: - mov r1, sp - ldrh r0, [r5, 0x8] - strh r0, [r1] - mov r4, sp - adds r4, 0x2 - ldrh r0, [r5, 0xA] - strh r0, [r4] - movs r0, 0x29 - bl PlaySE - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - ldr r2, =0x00000206 - bl MapGridSetMetatileIdAt - mov r0, sp - movs r3, 0 - ldrsh r0, [r0, r3] - movs r2, 0 - ldrsh r1, [r4, r2] - bl CurrentMapDrawMetatileAt -_0809E3A2: - movs r0, 0x1 - strh r0, [r5, 0x2] -_0809E3A6: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_809E224 - - thumb_func_start sub_809E3B4 -sub_809E3B4: @ 809E3B4 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r5, r1, r0 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - ldrh r2, [r0] - movs r3, 0 - ldrsh r1, [r0, r3] - movs r3, 0x2 - ldrsh r0, [r5, r3] - cmp r1, r0 - bne _0809E3EE - movs r0, 0 - ldrsh r1, [r4, r0] - movs r3, 0x4 - ldrsh r0, [r5, r3] - cmp r1, r0 - beq _0809E47A -_0809E3EE: - strh r2, [r5, 0x2] - ldrh r0, [r4] - strh r0, [r5, 0x4] - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsAsh - lsls r0, 24 - cmp r0, 0 - beq _0809E47A - mov r0, sp - movs r3, 0 - ldrsh r0, [r0, r3] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileIdAt - ldr r1, =0x0000020a - cmp r0, r1 - bne _0809E444 - mov r0, sp - movs r3, 0 - ldrsh r0, [r0, r3] - movs r2, 0 - ldrsh r1, [r4, r2] - ldr r2, =0x00000212 - movs r3, 0x4 - bl ash - b _0809E456 - .pool -_0809E444: - mov r0, sp - movs r3, 0 - ldrsh r0, [r0, r3] - movs r2, 0 - ldrsh r1, [r4, r2] - ldr r2, =0x00000206 - movs r3, 0x4 - bl ash -_0809E456: - movs r0, 0x87 - lsls r0, 1 - movs r1, 0x1 - bl CheckBagHasItem - lsls r0, 24 - cmp r0, 0 - beq _0809E47A - ldr r0, =0x00004048 - bl GetVarPointer - adds r2, r0, 0 - ldrh r1, [r2] - ldr r0, =0x0000270e - cmp r1, r0 - bhi _0809E47A - adds r0, r1, 0x1 - strh r0, [r2] -_0809E47A: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_809E3B4 - - thumb_func_start sub_809E490 -sub_809E490: @ 809E490 - push {r4,r5,lr} - lsls r0, 16 - asrs r5, r0, 16 - lsls r1, 16 - asrs r4, r1, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridGetMetatileIdAt - ldr r1, =0x0000022f - ldr r2, =0x00000237 - cmp r0, r1 - bne _0809E4AC - subs r2, 0x31 -_0809E4AC: - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridSetMetatileIdAt - adds r0, r5, 0 - adds r1, r4, 0 - bl CurrentMapDrawMetatileAt - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_809E490 - - thumb_func_start sub_809E4CC -sub_809E4CC: @ 809E4CC - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r5, r1, r0 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 16 - lsrs r6, r0, 16 - ldrh r1, [r5, 0x8] - movs r3, 0x8 - ldrsh r0, [r5, r3] - adds r7, r4, 0 - cmp r0, 0 - beq _0809E51E - subs r0, r1, 0x1 - strh r0, [r5, 0x8] - lsls r0, 16 - cmp r0, 0 - bne _0809E51E - movs r1, 0xA - ldrsh r0, [r5, r1] - movs r2, 0xC - ldrsh r1, [r5, r2] - bl sub_809E490 -_0809E51E: - ldrh r1, [r5, 0xE] - movs r3, 0xE - ldrsh r0, [r5, r3] - cmp r0, 0 - beq _0809E53E - subs r0, r1, 0x1 - strh r0, [r5, 0xE] - lsls r0, 16 - cmp r0, 0 - bne _0809E53E - movs r1, 0x10 - ldrsh r0, [r5, r1] - movs r2, 0x12 - ldrsh r1, [r5, r2] - bl sub_809E490 -_0809E53E: - lsls r0, r6, 24 - lsrs r6, r0, 24 - adds r0, r6, 0 - bl MetatileBehavior_IsCrackedFloorHole - lsls r0, 24 - cmp r0, 0 - beq _0809E556 - ldr r0, =0x00004022 - movs r1, 0 - bl VarSet -_0809E556: - mov r0, sp - ldrh r2, [r0] - movs r3, 0 - ldrsh r1, [r0, r3] - movs r3, 0x4 - ldrsh r0, [r5, r3] - cmp r1, r0 - bne _0809E572 - movs r0, 0 - ldrsh r1, [r7, r0] - movs r3, 0x6 - ldrsh r0, [r5, r3] - cmp r1, r0 - beq _0809E5D2 -_0809E572: - strh r2, [r5, 0x4] - adds r4, r7, 0 - ldrh r0, [r4] - strh r0, [r5, 0x6] - adds r0, r6, 0 - bl MetatileBehavior_IsCrackedFloor - lsls r0, 24 - cmp r0, 0 - beq _0809E5D2 - bl GetPlayerSpeed - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - beq _0809E59A - ldr r0, =0x00004022 - movs r1, 0 - bl VarSet -_0809E59A: - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0809E5BC - movs r0, 0x3 - strh r0, [r5, 0x8] - mov r0, sp - ldrh r0, [r0] - strh r0, [r5, 0xA] - ldrh r0, [r4] - strh r0, [r5, 0xC] - b _0809E5D2 - .pool -_0809E5BC: - movs r2, 0xE - ldrsh r0, [r5, r2] - cmp r0, 0 - bne _0809E5D2 - movs r0, 0x3 - strh r0, [r5, 0xE] - mov r0, sp - ldrh r0, [r0] - strh r0, [r5, 0x10] - ldrh r0, [r7] - strh r0, [r5, 0x12] -_0809E5D2: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_809E4CC - - thumb_func_start sub_809E5DC -sub_809E5DC: @ 809E5DC - push {r4,r5,lr} - adds r3, r0, 0 - lsls r1, 16 - lsrs r5, r1, 16 - lsls r2, 16 - lsrs r4, r2, 16 - ldrh r0, [r3] - subs r0, 0x1 - strh r0, [r3] - lsls r0, 16 - cmp r0, 0 - bne _0809E5F8 - movs r2, 0xE8 - b _0809E60C -_0809E5F8: - ldr r1, =gUnknown_085103FC - movs r2, 0 - ldrsh r0, [r3, r2] - cmp r0, 0 - bge _0809E604 - adds r0, 0x7 -_0809E604: - asrs r0, 3 - lsls r0, 1 - adds r0, r1 - ldrh r2, [r0] -_0809E60C: - lsls r5, 16 - asrs r5, 16 - lsls r4, 16 - asrs r4, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridSetMetatileIdAt - adds r0, r5, 0 - adds r1, r4, 0 - bl CurrentMapDrawMetatileAt - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0xE8 - bl MapGridSetMetatileIdAt - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_809E5DC - - thumb_func_start sub_809E638 -sub_809E638: @ 809E638 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r4, r1, r0 - mov r5, sp - adds r5, 0x2 - mov r0, sp - adds r1, r5, 0 - bl PlayerGetDestCoords - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0x4 - ldrsb r1, [r0, r1] - lsls r1, 8 - ldrb r0, [r0, 0x5] - lsls r0, 24 - asrs r0, 24 - orrs r0, r1 - lsls r0, 16 - lsrs r7, r0, 16 - movs r0, 0x2 - ldrsh r1, [r4, r0] - mov r8, r5 - cmp r1, 0 - beq _0809E688 - cmp r1, 0x1 - beq _0809E6B4 - b _0809E708 - .pool -_0809E688: - strh r7, [r4] - mov r0, sp - ldrh r0, [r0] - strh r0, [r4, 0x4] - ldrh r0, [r5] - strh r0, [r4, 0x6] - movs r0, 0x1 - strh r0, [r4, 0x2] - strh r1, [r4, 0x8] - strh r1, [r4, 0xE] - strh r1, [r4, 0x14] - strh r1, [r4, 0x1A] - b _0809E708 -_0809E6A2: - movs r0, 0x20 - strh r0, [r1] - mov r0, sp - ldrh r0, [r0] - strh r0, [r1, 0x2] - mov r2, r8 - ldrh r0, [r2] - strh r0, [r1, 0x4] - b _0809E708 -_0809E6B4: - mov r0, sp - movs r3, 0x4 - ldrsh r1, [r4, r3] - ldrh r2, [r0] - movs r3, 0 - ldrsh r0, [r0, r3] - cmp r1, r0 - bne _0809E6D0 - movs r0, 0x6 - ldrsh r1, [r4, r0] - movs r3, 0 - ldrsh r0, [r5, r3] - cmp r1, r0 - beq _0809E708 -_0809E6D0: - strh r2, [r4, 0x4] - ldrh r0, [r5] - strh r0, [r4, 0x6] - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsMuddySlope - lsls r0, 24 - cmp r0, 0 - beq _0809E708 - movs r6, 0x4 - adds r1, r4, 0 - adds r1, 0x8 -_0809E6F8: - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _0809E6A2 - adds r1, 0x6 - adds r6, 0x3 - cmp r6, 0xD - ble _0809E6F8 -_0809E708: - ldr r2, =gCamera - ldrb r1, [r2] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0809E728 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r7, r0 - beq _0809E728 - strh r7, [r4] - ldrh r0, [r2, 0x4] - ldrh r1, [r2, 0x8] - b _0809E72C - .pool -_0809E728: - movs r0, 0 - movs r1, 0 -_0809E72C: - lsls r0, 16 - asrs r0, 16 - mov r8, r0 - lsls r0, r1, 16 - asrs r7, r0, 16 - adds r5, r4, 0 - adds r5, 0x8 - adds r4, r5, 0 - movs r6, 0x9 -_0809E73E: - movs r2, 0 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _0809E762 - ldrh r0, [r4, 0x2] - mov r3, r8 - subs r0, r3 - strh r0, [r4, 0x2] - ldrh r0, [r4, 0x4] - subs r0, r7 - strh r0, [r4, 0x4] - movs r0, 0x2 - ldrsh r1, [r4, r0] - movs r3, 0x4 - ldrsh r2, [r4, r3] - adds r0, r5, 0 - bl sub_809E5DC -_0809E762: - adds r4, 0x6 - adds r5, 0x6 - subs r6, 0x3 - cmp r6, 0 - bge _0809E73E - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_809E638 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/fldeff_80F9BCC.s b/asm/fldeff_80F9BCC.s index e31375f9f..8f1e198b8 100644 --- a/asm/fldeff_80F9BCC.s +++ b/asm/fldeff_80F9BCC.s @@ -2431,8 +2431,8 @@ sub_80FAFF8: @ 80FAFF8 .pool thumb_func_end sub_80FAFF8 - thumb_func_start sub_80FB00C -sub_80FB00C: @ 80FB00C + thumb_func_start CreateRecordMixingSprite +CreateRecordMixingSprite: @ 80FB00C push {r4,r5,lr} ldr r0, =gUnknown_0858E864 bl LoadSpritePalette @@ -2478,10 +2478,10 @@ _080FB06E: pop {r4,r5} pop {r1} bx r1 - thumb_func_end sub_80FB00C + thumb_func_end CreateRecordMixingSprite - thumb_func_start sub_80FB074 -sub_80FB074: @ 80FB074 + thumb_func_start DestroyRecordMixingSprite +DestroyRecordMixingSprite: @ 80FB074 push {r4-r7,lr} ldr r4, =gSprites adds r7, r4, 0 @@ -2509,6 +2509,6 @@ _080FB098: pop {r0} bx r0 .pool - thumb_func_end sub_80FB074 + thumb_func_end DestroyRecordMixingSprite .align 2, 0 @ Don't pad with nop. diff --git a/asm/menu_helpers.s b/asm/menu_helpers.s deleted file mode 100644 index 90e846b97..000000000 --- a/asm/menu_helpers.s +++ /dev/null @@ -1,986 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start ResetVramOamAndBgCntRegs -ResetVramOamAndBgCntRegs: @ 8121DA0 - push {r4,lr} - sub sp, 0xC - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0xE - movs r1, 0 - bl SetGpuReg - movs r0, 0xC - movs r1, 0 - bl SetGpuReg - movs r0, 0xA - movs r1, 0 - bl SetGpuReg - movs r0, 0x8 - movs r1, 0 - bl SetGpuReg - mov r1, sp - movs r0, 0 - strh r0, [r1] - movs r1, 0xC0 - lsls r1, 19 - ldr r2, =0x0100c000 - mov r0, sp - bl CpuSet - movs r4, 0 - str r4, [sp, 0x4] - add r0, sp, 0x4 - movs r1, 0xE0 - lsls r1, 19 - ldr r2, =0x05000100 - bl CpuSet - add r0, sp, 0x8 - strh r4, [r0] - movs r1, 0xA0 - lsls r1, 19 - ldr r2, =0x01000200 - bl CpuSet - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ResetVramOamAndBgCntRegs - - thumb_func_start ResetAllBgsCoordinates -ResetAllBgsCoordinates: @ 8121E10 - push {lr} - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - pop {r0} - bx r0 - thumb_func_end ResetAllBgsCoordinates - - thumb_func_start SetVBlankHBlankCallbacksToNull -@ void SetVBlankHBlankCallbacksToNull() -SetVBlankHBlankCallbacksToNull: @ 8121E68 - push {lr} - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - bl SetHBlankCallback - pop {r0} - bx r0 - thumb_func_end SetVBlankHBlankCallbacksToNull - - thumb_func_start DisplayMessageAndContinueTask -@ void DisplayMessageAndContinueTask(u8 taskId, u8 windowId, u16 windowBorderFirstTileNum, u8 windowBorderPalette, u8 fontId, u8 speed, u8 *str, void ( *callback)(u8 taskId)) -DisplayMessageAndContinueTask: @ 8121E7C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - ldr r4, [sp, 0x28] - ldr r5, [sp, 0x2C] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 24 - lsrs r1, 24 - adds r6, r1, 0 - lsls r2, 16 - lsrs r2, 16 - lsls r3, 24 - lsrs r3, 24 - lsls r4, 24 - lsrs r7, r4, 24 - lsls r5, 24 - lsrs r5, 24 - ldr r0, =gUnknown_0203A140 - strb r6, [r0] - adds r0, r6, 0 - movs r1, 0x1 - bl sub_8197B1C - ldr r4, =gStringVar4 - ldr r0, [sp, 0x30] - cmp r0, r4 - beq _08121EC0 - adds r0, r4, 0 - ldr r1, [sp, 0x30] - bl StringExpandPlaceholders -_08121EC0: - ldr r2, =gTextFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - adds r0, r6, 0 - adds r1, r7, 0 - adds r2, r4, 0 - adds r3, r5, 0 - bl AddTextPrinterParameterized - ldr r1, =gUnknown_0300117C - ldr r0, [sp, 0x34] - str r0, [r1] - ldr r1, =gTasks - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - ldr r1, =Task_ContinueTaskAfterMessagePrints - str r1, [r0] - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end DisplayMessageAndContinueTask - - thumb_func_start RunTextPrintersRetIsActive -RunTextPrintersRetIsActive: @ 8121F20 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl RunTextPrinters - adds r0, r4, 0 - bl IsTextPrinterActive - lsls r0, 16 - lsrs r0, 16 - pop {r4} - pop {r1} - bx r1 - thumb_func_end RunTextPrintersRetIsActive - - thumb_func_start Task_ContinueTaskAfterMessagePrints -@ void Task_ContinueTaskAfterMessagePrints(u8 taskId) -Task_ContinueTaskAfterMessagePrints: @ 8121F3C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gUnknown_0203A140 - ldrb r0, [r0] - bl RunTextPrintersRetIsActive - lsls r0, 16 - cmp r0, 0 - bne _08121F5A - ldr r0, =gUnknown_0300117C - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 -_08121F5A: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end Task_ContinueTaskAfterMessagePrints - - thumb_func_start sub_8121F68 -sub_8121F68: @ 8121F68 - lsls r0, 24 - lsrs r0, 24 - ldr r3, =gUnknown_0203A138 - ldr r2, [r1, 0x4] - ldr r1, [r1] - str r1, [r3] - str r2, [r3, 0x4] - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, =Task_CallYesOrNoCallback - str r0, [r1] - bx lr - .pool - thumb_func_end sub_8121F68 - - thumb_func_start CreateYesNoMenuWithCallbacks -@ void CreateYesNoMenuWithCallbacks(u8 taskId, struct WindowTemplate *windowTemplate, int a3, int a4, int a5, u16 borderFirstTileNum, u8 borderPalette, void ( **callbacks)(u8 taskId)) -CreateYesNoMenuWithCallbacks: @ 8121F94 - push {r4,r5,lr} - adds r4, r0, 0 - adds r0, r1, 0 - ldr r1, [sp, 0x10] - ldr r2, [sp, 0x14] - ldr r5, [sp, 0x18] - lsls r4, 24 - lsrs r4, 24 - lsls r1, 16 - lsrs r1, 16 - lsls r2, 24 - lsrs r2, 24 - movs r3, 0 - bl CreateYesNoMenu - ldr r2, =gUnknown_0203A138 - ldr r0, [r5] - ldr r1, [r5, 0x4] - str r0, [r2] - str r1, [r2, 0x4] - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =Task_CallYesOrNoCallback - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end CreateYesNoMenuWithCallbacks - - thumb_func_start Task_CallYesOrNoCallback -@ void Task_CallYesOrNoCallback(u8 taskId) -Task_CallYesOrNoCallback: @ 8121FDC - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl ProcessMenuInputNoWrap_ - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _08122002 - cmp r1, 0 - bgt _08121FFC - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _08122018 - b _08122028 -_08121FFC: - cmp r1, 0x1 - beq _08122018 - b _08122028 -_08122002: - movs r0, 0x5 - bl PlaySE - ldr r0, =gUnknown_0203A138 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - b _08122028 - .pool -_08122018: - movs r0, 0x5 - bl PlaySE - ldr r0, =gUnknown_0203A138 - ldr r1, [r0, 0x4] - adds r0, r4, 0 - bl _call_via_r1 -_08122028: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end Task_CallYesOrNoCallback - - thumb_func_start AdjustQuantityAccordingToDPadInput -@ bool8 AdjustQuantityAccordingToDPadInput(u16 *quantity, u16 maxQuantity) -AdjustQuantityAccordingToDPadInput: @ 8122034 - push {r4-r6,lr} - adds r2, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r5, r1, 0 - ldrh r4, [r2] - adds r6, r4, 0 - ldr r0, =gMain - ldrh r0, [r0, 0x30] - movs r3, 0xF0 - ands r3, r0 - cmp r3, 0x40 - bne _0812206C - adds r0, r4, 0x1 - strh r0, [r2] - movs r3, 0 - ldrsh r0, [r2, r3] - cmp r0, r1 - ble _0812205E - movs r0, 0x1 - strh r0, [r2] -_0812205E: - movs r0, 0 - ldrsh r1, [r2, r0] -_08122062: - lsls r0, r4, 16 - b _081220B6 - .pool -_0812206C: - cmp r3, 0x80 - bne _08122082 - subs r0, r4, 0x1 - strh r0, [r2] - lsls r0, 16 - cmp r0, 0 - bgt _0812207C - strh r1, [r2] -_0812207C: - movs r3, 0 - ldrsh r1, [r2, r3] - b _08122062 -_08122082: - cmp r3, 0x10 - bne _0812209C - adds r0, r4, 0 - adds r0, 0xA - strh r0, [r2] - movs r1, 0 - ldrsh r0, [r2, r1] - cmp r0, r5 - ble _08122096 - strh r5, [r2] -_08122096: - movs r3, 0 - ldrsh r1, [r2, r3] - b _08122062 -_0812209C: - cmp r3, 0x20 - bne _081220C6 - adds r0, r4, 0 - subs r0, 0xA - strh r0, [r2] - lsls r0, 16 - cmp r0, 0 - bgt _081220B0 - movs r0, 0x1 - strh r0, [r2] -_081220B0: - movs r0, 0 - ldrsh r1, [r2, r0] - lsls r0, r6, 16 -_081220B6: - asrs r0, 16 - cmp r1, r0 - beq _081220C6 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - b _081220C8 -_081220C6: - movs r0, 0 -_081220C8: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end AdjustQuantityAccordingToDPadInput - - thumb_func_start GetLRKeysState -GetLRKeysState: @ 81220D0 - push {lr} - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x13] - cmp r0, 0x1 - bne _08122106 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x80 - lsls r0, 2 - ands r0, r1 - cmp r0, 0 - beq _081220F8 - movs r0, 0x1 - b _08122108 - .pool -_081220F8: - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _08122106 - movs r0, 0x2 - b _08122108 -_08122106: - movs r0, 0 -_08122108: - pop {r1} - bx r1 - thumb_func_end GetLRKeysState - - thumb_func_start sub_812210C -sub_812210C: @ 812210C - push {lr} - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x13] - cmp r0, 0x1 - bne _08122142 - ldr r0, =gMain - ldrh r1, [r0, 0x30] - movs r0, 0x80 - lsls r0, 2 - ands r0, r1 - cmp r0, 0 - beq _08122134 - movs r0, 0x1 - b _08122144 - .pool -_08122134: - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _08122142 - movs r0, 0x2 - b _08122144 -_08122142: - movs r0, 0 -_08122144: - pop {r1} - bx r1 - thumb_func_end sub_812210C - - thumb_func_start sub_8122148 -sub_8122148: @ 8122148 - push {lr} - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xAF - bne _08122174 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - ldr r0, =0x00001919 - cmp r1, r0 - beq _08122166 - bl InUnionRoom - cmp r0, 0x1 - bne _08122174 -_08122166: - movs r0, 0 - b _08122176 - .pool -_08122174: - movs r0, 0x1 -_08122176: - pop {r1} - bx r1 - thumb_func_end sub_8122148 - - thumb_func_start itemid_80BF6D8_mail_related -itemid_80BF6D8_mail_related: @ 812217C - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - bl is_c1_link_related_active - cmp r0, 0x1 - beq _08122192 - bl InUnionRoom - cmp r0, 0x1 - bne _081221A4 -_08122192: - adds r0, r4, 0 - bl ItemIsMail - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081221A4 - movs r0, 0 - b _081221A6 -_081221A4: - movs r0, 0x1 -_081221A6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end itemid_80BF6D8_mail_related - - thumb_func_start sub_81221AC -sub_81221AC: @ 81221AC - push {lr} - bl is_c1_link_related_active - cmp r0, 0x1 - beq _081221BE - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0x1 - bne _081221C8 -_081221BE: - movs r0, 0x1 - b _081221CA - .pool -_081221C8: - movs r0, 0 -_081221CA: - pop {r1} - bx r1 - thumb_func_end sub_81221AC - - thumb_func_start sub_81221D0 -sub_81221D0: @ 81221D0 - push {lr} - bl sub_81221AC - lsls r0, 24 - cmp r0, 0 - beq _081221E6 - bl sub_8087598 - lsls r0, 24 - lsrs r0, 24 - b _081221E8 -_081221E6: - movs r0, 0 -_081221E8: - pop {r1} - bx r1 - thumb_func_end sub_81221D0 - - thumb_func_start sub_81221EC -sub_81221EC: @ 81221EC - push {lr} - bl sub_81221D0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08122202 - bl sub_800B504 - cmp r0, 0x1 - bne _08122206 -_08122202: - movs r0, 0x1 - b _08122208 -_08122206: - movs r0, 0 -_08122208: - pop {r1} - bx r1 - thumb_func_end sub_81221EC - - thumb_func_start sub_812220C -sub_812220C: @ 812220C - push {r4-r6,lr} - adds r6, r2, 0 - ldr r2, [sp, 0x10] - lsls r1, 24 - lsls r2, 24 - lsrs r5, r2, 24 - adds r4, r0, 0 - movs r0, 0 - strb r0, [r3] - movs r2, 0 - lsrs r1, 24 - cmp r2, r1 - bcs _08122240 -_08122226: - lsls r0, r2, 2 - adds r0, r4 - ldrh r0, [r0] - cmp r0, 0 - beq _08122236 - ldrb r0, [r3] - adds r0, 0x1 - strb r0, [r3] -_08122236: - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, r1 - bcc _08122226 -_08122240: - ldrb r0, [r3] - adds r1, r0, 0x1 - strb r1, [r3] - lsls r0, r1, 24 - lsrs r0, 24 - cmp r0, r5 - bls _08122252 - strb r5, [r6] - b _08122254 -_08122252: - strb r1, [r6] -_08122254: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_812220C - - thumb_func_start sub_812225C -sub_812225C: @ 812225C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - ldrh r0, [r4] - cmp r0, 0 - beq _0812227A - adds r0, r2 - cmp r0, r3 - ble _0812227A - subs r0, r3, r2 - strh r0, [r4] -_0812227A: - ldrh r0, [r4] - ldrh r1, [r5] - adds r0, r1 - cmp r0, r3 - blt _08122290 - cmp r3, 0 - bne _0812228C - strh r3, [r5] - b _08122290 -_0812228C: - subs r0, r3, 0x1 - strh r0, [r5] -_08122290: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_812225C - - thumb_func_start sub_8122298 -sub_8122298: @ 8122298 - push {r4-r7,lr} - adds r5, r0, 0 - adds r4, r1, 0 - ldr r0, [sp, 0x14] - lsls r2, 24 - lsrs r7, r2, 24 - lsls r3, 24 - lsrs r6, r3, 24 - lsls r2, r0, 24 - lsrs r0, r2, 24 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081222F0 - lsrs r2, 25 - ldrh r0, [r4] - cmp r0, r2 - bcc _08122322 - movs r1, 0 - subs r0, r2 - cmp r1, r0 - bge _08122322 - ldrh r0, [r5] - adds r0, r7 - cmp r0, r6 - beq _08122322 -_081222CC: - ldrh r0, [r4] - subs r0, 0x1 - strh r0, [r4] - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - ldrh r0, [r4] - subs r0, r2 - cmp r1, r0 - bge _08122322 - ldrh r0, [r5] - adds r0, r7 - cmp r0, r6 - bne _081222CC - b _08122322 -_081222F0: - ldrh r3, [r4] - lsrs r2, 25 - adds r0, r2, 0x1 - cmp r3, r0 - blt _08122322 - movs r1, 0 - subs r0, r3, r2 - b _08122316 -_08122300: - ldrh r0, [r4] - subs r0, 0x1 - strh r0, [r4] - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - ldrh r0, [r4] - subs r0, r2 -_08122316: - cmp r1, r0 - bgt _08122322 - ldrh r0, [r5] - adds r0, r7 - cmp r0, r6 - bne _08122300 -_08122322: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8122298 - - thumb_func_start LoadListMenuArrowsGfx -LoadListMenuArrowsGfx: @ 8122328 - push {lr} - ldr r0, =gUnknown_0859F514 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0859F51C - bl LoadCompressedObjectPalette - pop {r0} - bx r0 - .pool - thumb_func_end LoadListMenuArrowsGfx - - thumb_func_start sub_8122344 -sub_8122344: @ 8122344 - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r8, r0 - lsls r1, 24 - lsrs r6, r1, 24 - movs r5, 0 - cmp r5, r6 - bcs _0812239C - ldr r7, =gSprites -_08122358: - lsls r1, r5, 4 - ldr r0, =gUnknown_0859F524 - movs r2, 0 - movs r3, 0 - bl CreateSprite - mov r1, r8 - adds r4, r1, r5 - strb r0, [r4] - cmp r5, 0 - beq _0812237E - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - movs r1, 0x1 - bl StartSpriteAnim -_0812237E: - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r6 - bcc _08122358 -_0812239C: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8122344 - - thumb_func_start sub_81223B0 -sub_81223B0: @ 81223B0 - push {r4-r7,lr} - adds r6, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - movs r4, 0 - cmp r4, r5 - bcs _081223F6 - ldr r7, =gSprites -_081223C0: - subs r0, r5, 0x1 - cmp r4, r0 - bne _081223DC - adds r0, r6, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - bl DestroySpriteAndFreeResources - b _081223EC - .pool -_081223DC: - adds r0, r6, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - bl DestroySprite -_081223EC: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _081223C0 -_081223F6: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81223B0 - - thumb_func_start sub_81223FC -sub_81223FC: @ 81223FC - push {r4-r7,lr} - adds r6, r0, 0 - lsls r1, 24 - lsrs r4, r1, 24 - lsls r2, 24 - lsrs r0, r2, 24 - movs r3, 0 - cmp r3, r4 - bcs _0812243E - ldr r1, =gSprites - mov r12, r1 - movs r1, 0x1 - ands r0, r1 - lsls r5, r0, 2 - movs r7, 0x5 - negs r7, r7 -_0812241C: - adds r0, r6, r3 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r12 - adds r1, 0x3E - ldrb r2, [r1] - adds r0, r7, 0 - ands r0, r2 - orrs r0, r5 - strb r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, r4 - bcc _0812241C -_0812243E: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81223FC - - thumb_func_start sub_8122448 -@ void sub_8122448(int a1, u8 a2, u16 x, u16 y) -sub_8122448: @ 8122448 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r6, r0, 0 - lsls r1, 24 - lsrs r4, r1, 24 - lsls r2, 16 - lsrs r7, r2, 16 - lsls r3, 16 - lsrs r3, 16 - mov r9, r3 - movs r0, 0x80 - ands r0, r4 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r0, 0x7F - ands r4, r0 - movs r3, 0 - cmp r3, r4 - bcs _081224C8 - ldr r5, =gSprites - lsls r0, r7, 16 - asrs r0, 16 - subs r0, 0x8 - mov r12, r0 -_0812247E: - subs r0, r4, 0x1 - cmp r3, r0 - bne _081224A0 - mov r0, r8 - cmp r0, 0 - beq _081224A0 - adds r2, r6, r3 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - mov r1, r12 - strh r1, [r0, 0x24] - b _081224AE - .pool -_081224A0: - adds r2, r6, r3 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r7, [r0, 0x24] -_081224AE: - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - mov r1, r9 - adds r1, 0x1 - strh r1, [r0, 0x22] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, r4 - bcc _0812247E -_081224C8: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8122448 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/menu_indicators.s b/asm/menu_indicators.s deleted file mode 100644 index b923b53d0..000000000 --- a/asm/menu_indicators.s +++ /dev/null @@ -1,1442 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_81AF08C -sub_81AF08C: @ 81AF08C - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r3, r1, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r2, r1, r0 - cmp r3, 0x10 - bhi _081AF154 - lsls r0, r3, 2 - ldr r1, =_081AF0B8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081AF0B8: - .4byte _081AF0FC - .4byte _081AF0FC - .4byte _081AF100 - .4byte _081AF104 - .4byte _081AF108 - .4byte _081AF10C - .4byte _081AF110 - .4byte _081AF114 - .4byte _081AF118 - .4byte _081AF11C - .4byte _081AF122 - .4byte _081AF12A - .4byte _081AF130 - .4byte _081AF138 - .4byte _081AF140 - .4byte _081AF146 - .4byte _081AF14E -_081AF0FC: - ldr r0, [r2, 0x4] - b _081AF158 -_081AF100: - ldrh r0, [r2, 0xC] - b _081AF158 -_081AF104: - ldrh r0, [r2, 0xE] - b _081AF158 -_081AF108: - ldrb r0, [r2, 0x10] - b _081AF158 -_081AF10C: - ldrb r0, [r2, 0x11] - b _081AF158 -_081AF110: - ldrb r0, [r2, 0x12] - b _081AF158 -_081AF114: - ldrb r0, [r2, 0x13] - b _081AF158 -_081AF118: - ldrb r0, [r2, 0x14] - b _081AF124 -_081AF11C: - ldrb r0, [r2, 0x14] - lsrs r0, 4 - b _081AF158 -_081AF122: - ldrb r0, [r2, 0x15] -_081AF124: - lsls r0, 28 - lsrs r0, 28 - b _081AF158 -_081AF12A: - ldrb r0, [r2, 0x15] - lsrs r0, 4 - b _081AF158 -_081AF130: - ldrb r0, [r2, 0x16] - lsls r0, 29 - lsrs r0, 29 - b _081AF158 -_081AF138: - ldrb r0, [r2, 0x16] - lsls r0, 26 - lsrs r0, 29 - b _081AF158 -_081AF140: - ldrb r0, [r2, 0x16] - lsrs r0, 6 - b _081AF158 -_081AF146: - ldrb r0, [r2, 0x17] - lsls r0, 26 - lsrs r0, 26 - b _081AF158 -_081AF14E: - ldrb r0, [r2, 0x17] - lsrs r0, 6 - b _081AF158 -_081AF154: - movs r0, 0x1 - negs r0, r0 -_081AF158: - pop {r1} - bx r1 - thumb_func_end sub_81AF08C - - thumb_func_start sub_81AF15C -sub_81AF15C: @ 81AF15C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r3, r1, r0 - cmp r4, 0x10 - bhi _081AF25C - lsls r0, r4, 2 - ldr r1, =_081AF188 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081AF188: - .4byte _081AF1CC - .4byte _081AF1CC - .4byte _081AF1D0 - .4byte _081AF1D4 - .4byte _081AF1D8 - .4byte _081AF1DC - .4byte _081AF1E0 - .4byte _081AF1E4 - .4byte _081AF1E8 - .4byte _081AF1F4 - .4byte _081AF202 - .4byte _081AF20E - .4byte _081AF21C - .4byte _081AF228 - .4byte _081AF236 - .4byte _081AF244 - .4byte _081AF250 -_081AF1CC: - str r2, [r3, 0x4] - b _081AF25C -_081AF1D0: - strh r2, [r3, 0xC] - b _081AF25C -_081AF1D4: - strh r2, [r3, 0xE] - b _081AF25C -_081AF1D8: - strb r2, [r3, 0x10] - b _081AF25C -_081AF1DC: - strb r2, [r3, 0x11] - b _081AF25C -_081AF1E0: - strb r2, [r3, 0x12] - b _081AF25C -_081AF1E4: - strb r2, [r3, 0x13] - b _081AF25C -_081AF1E8: - movs r0, 0xF - ands r2, r0 - ldrb r1, [r3, 0x14] - movs r0, 0x10 - negs r0, r0 - b _081AF1FA -_081AF1F4: - lsls r2, 4 - ldrb r1, [r3, 0x14] - movs r0, 0xF -_081AF1FA: - ands r0, r1 - orrs r0, r2 - strb r0, [r3, 0x14] - b _081AF25C -_081AF202: - movs r0, 0xF - ands r2, r0 - ldrb r1, [r3, 0x15] - movs r0, 0x10 - negs r0, r0 - b _081AF214 -_081AF20E: - lsls r2, 4 - ldrb r1, [r3, 0x15] - movs r0, 0xF -_081AF214: - ands r0, r1 - orrs r0, r2 - strb r0, [r3, 0x15] - b _081AF25C -_081AF21C: - movs r0, 0x7 - ands r2, r0 - ldrb r1, [r3, 0x16] - movs r0, 0x8 - negs r0, r0 - b _081AF23C -_081AF228: - movs r0, 0x7 - ands r2, r0 - lsls r2, 3 - ldrb r1, [r3, 0x16] - movs r0, 0x39 - negs r0, r0 - b _081AF23C -_081AF236: - lsls r2, 6 - ldrb r1, [r3, 0x16] - movs r0, 0x3F -_081AF23C: - ands r0, r1 - orrs r0, r2 - strb r0, [r3, 0x16] - b _081AF25C -_081AF244: - movs r0, 0x3F - ands r2, r0 - ldrb r1, [r3, 0x17] - movs r0, 0x40 - negs r0, r0 - b _081AF256 -_081AF250: - lsls r2, 6 - ldrb r1, [r3, 0x17] - movs r0, 0x3F -_081AF256: - ands r0, r1 - orrs r0, r2 - strb r0, [r3, 0x17] -_081AF25C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81AF15C - - thumb_func_start sub_81AF264 -sub_81AF264: @ 81AF264 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _081AF276 - cmp r0, 0x1 - beq _081AF28A - b _081AF2E4 -_081AF276: - ldrh r1, [r4, 0x30] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _081AF2E4 -_081AF28A: - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _081AF29A - cmp r0, 0x1 - beq _081AF2C0 - ldrh r2, [r4, 0x38] - b _081AF2DE -_081AF29A: - movs r0, 0x34 - ldrsh r3, [r4, r0] - ldr r1, =gSineTable - ldrh r2, [r4, 0x38] - lsls r0, r2, 24 - lsrs r0, 23 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - muls r0, r3 - cmp r0, 0 - bge _081AF2B4 - adds r0, 0xFF -_081AF2B4: - asrs r0, 8 - strh r0, [r4, 0x24] - b _081AF2DE - .pool -_081AF2C0: - movs r0, 0x34 - ldrsh r3, [r4, r0] - ldr r1, =gSineTable - ldrh r2, [r4, 0x38] - lsls r0, r2, 24 - lsrs r0, 23 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - muls r0, r3 - cmp r0, 0 - bge _081AF2DA - adds r0, 0xFF -_081AF2DA: - asrs r0, 8 - strh r0, [r4, 0x26] -_081AF2DE: - ldrh r0, [r4, 0x36] - adds r0, r2, r0 - strh r0, [r4, 0x38] -_081AF2E4: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81AF264 - - thumb_func_start AddScrollIndicatorArrowObject -AddScrollIndicatorArrowObject: @ 81AF2F0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x18 - adds r6, r0, 0 - ldr r5, [sp, 0x30] - lsls r6, 24 - lsrs r6, 24 - mov r8, r6 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r5, 16 - lsrs r5, 16 - mov r12, r5 - mov r4, sp - ldr r0, =gUnknown_08614244 - ldm r0!, {r5-r7} - stm r4!, {r5-r7} - ldm r0!, {r5-r7} - stm r4!, {r5-r7} - mov r0, sp - movs r4, 0 - strh r3, [r0] - mov r3, r12 - strh r3, [r0, 0x2] - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gSprites - lsls r3, r0, 4 - adds r3, r0 - lsls r3, 2 - adds r3, r1 - adds r5, r3, 0 - adds r5, 0x3E - ldrb r1, [r5] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r5] - strh r4, [r3, 0x2E] - ldr r1, =gUnknown_086141FC - mov r5, r8 - lsls r6, r5, 2 - adds r6, r1 - ldrb r2, [r6] - lsls r1, r2, 28 - lsrs r1, 28 - strh r1, [r3, 0x30] - lsrs r2, 4 - strh r2, [r3, 0x32] - ldrb r1, [r6, 0x1] - strh r1, [r3, 0x34] - ldrh r1, [r6, 0x2] - strh r1, [r3, 0x36] - strh r4, [r3, 0x38] - add sp, 0x18 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end AddScrollIndicatorArrowObject - - thumb_func_start AddScrollIndicatorArrowPair -AddScrollIndicatorArrowPair: @ 81AF380 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x14 - adds r6, r0, 0 - mov r9, r1 - ldr r0, =gUnknown_086142C8 - str r0, [sp, 0x4] - ldr r5, =0xffff0000 - ldr r0, [sp, 0x8] - ands r0, r5 - movs r1, 0x80 - lsls r1, 1 - orrs r0, r1 - ldrh r1, [r6, 0xA] - lsls r1, 16 - ldr r4, =0x0000ffff - ands r0, r4 - orrs r0, r1 - str r0, [sp, 0x8] - add r0, sp, 0x4 - bl LoadCompressedObjectPic - ldrh r2, [r6, 0xC] - cmp r2, r4 - bne _081AF3DC - ldr r0, =gUnknown_086142A8 - ldrb r1, [r6, 0xE] - lsls r1, 20 - movs r2, 0x80 - lsls r2, 17 - adds r1, r2 - lsrs r1, 16 - movs r2, 0x20 - bl LoadPalette - b _081AF3EE - .pool -_081AF3DC: - ldr r0, =gUnknown_086142A8 - str r0, [sp, 0xC] - add r0, sp, 0xC - ldr r1, [r0, 0x4] - ands r1, r5 - orrs r1, r2 - str r1, [r0, 0x4] - bl LoadSpritePalette -_081AF3EE: - ldr r0, =Task_ScrollIndicatorArrowPair - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r0, 2 - add r0, r8 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r7, r0, r1 - movs r0, 0 - strb r0, [r7] - mov r0, r9 - str r0, [r7, 0x4] - ldrh r0, [r6, 0x6] - strh r0, [r7, 0x8] - ldrh r0, [r6, 0x8] - strh r0, [r7, 0xA] - ldrh r0, [r6, 0xA] - strh r0, [r7, 0xE] - ldrh r0, [r6, 0xC] - strh r0, [r7, 0x10] - ldrb r0, [r6] - ldrb r1, [r6, 0x1] - ldrb r2, [r6, 0x2] - ldrh r3, [r6, 0xA] - ldrh r4, [r6, 0xC] - str r4, [sp] - bl AddScrollIndicatorArrowObject - strb r0, [r7, 0xC] - ldrb r0, [r6, 0x3] - ldrb r1, [r6, 0x4] - ldrb r2, [r6, 0x5] - ldrh r3, [r6, 0xA] - ldrh r4, [r6, 0xC] - str r4, [sp] - bl AddScrollIndicatorArrowObject - strb r0, [r7, 0xD] - ldrh r1, [r6, 0xC] - ldr r0, =0x0000ffff - cmp r1, r0 - bne _081AF47C - ldr r5, =gSprites - ldrb r0, [r7, 0xC] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - ldrb r3, [r6, 0xE] - lsls r3, 4 - ldrb r4, [r1, 0x5] - movs r2, 0xF - adds r0, r2, 0 - ands r0, r4 - orrs r0, r3 - strb r0, [r1, 0x5] - ldrb r1, [r7, 0xD] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r1, [r6, 0xE] - lsls r1, 4 - ldrb r3, [r0, 0x5] - ands r2, r3 - orrs r2, r1 - strb r2, [r0, 0x5] -_081AF47C: - mov r0, r8 - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end AddScrollIndicatorArrowPair - - thumb_func_start AddScrollIndicatorArrowPairParametrized -AddScrollIndicatorArrowPairParametrized: @ 81AF4A0 - push {r4,lr} - adds r4, r1, 0 - subs r0, 0x2 - cmp r0, 0x1 - bhi _081AF4C4 - ldr r0, =gUnknown_0203CE8C - movs r1, 0x2 - strb r1, [r0] - strb r4, [r0, 0x1] - strb r2, [r0, 0x2] - movs r1, 0x3 - strb r1, [r0, 0x3] - strb r4, [r0, 0x4] - strb r3, [r0, 0x5] - b _081AF4D6 - .pool -_081AF4C4: - ldr r0, =gUnknown_0203CE8C - movs r1, 0 - strb r1, [r0] - strb r2, [r0, 0x1] - strb r4, [r0, 0x2] - movs r1, 0x1 - strb r1, [r0, 0x3] - strb r3, [r0, 0x4] - strb r4, [r0, 0x5] -_081AF4D6: - adds r2, r0, 0 - movs r1, 0 - movs r0, 0 - strh r0, [r2, 0x6] - ldr r0, [sp, 0x8] - strh r0, [r2, 0x8] - ldr r0, [sp, 0xC] - strh r0, [r2, 0xA] - ldr r0, [sp, 0x10] - strh r0, [r2, 0xC] - strb r1, [r2, 0xE] - adds r0, r2, 0 - ldr r1, [sp, 0x14] - bl AddScrollIndicatorArrowPair - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end AddScrollIndicatorArrowPairParametrized - - thumb_func_start Task_ScrollIndicatorArrowPair -Task_ScrollIndicatorArrowPair: @ 81AF504 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r4, r1, r0 - ldr r0, [r4, 0x4] - ldrh r5, [r0] - ldrh r0, [r4, 0x8] - cmp r5, r0 - bne _081AF548 - ldr r0, =0x0000ffff - cmp r5, r0 - beq _081AF548 - ldr r3, =gSprites - ldrb r1, [r4, 0xC] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - b _081AF55E - .pool -_081AF548: - ldr r3, =gSprites - ldrb r1, [r4, 0xC] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 -_081AF55E: - strb r1, [r0] - ldrh r0, [r4, 0xA] - cmp r5, r0 - bne _081AF580 - ldrb r1, [r4, 0xD] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - b _081AF594 - .pool -_081AF580: - ldrb r1, [r4, 0xD] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 -_081AF594: - strb r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end Task_ScrollIndicatorArrowPair - - thumb_func_start Task_ScrollIndicatorArrowPairOnMainMenu -Task_ScrollIndicatorArrowPairOnMainMenu: @ 81AF59C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r4, r1, r0 - movs r1, 0x1E - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _081AF5E8 - ldr r3, =gSprites - ldrb r1, [r4, 0xC] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - ldrb r1, [r4, 0xD] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - b _081AF612 - .pool -_081AF5E8: - ldr r3, =gSprites - ldrb r1, [r4, 0xC] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldrb r1, [r4, 0xD] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 -_081AF612: - strb r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end Task_ScrollIndicatorArrowPairOnMainMenu - - thumb_func_start RemoveScrollIndicatorArrowPair -RemoveScrollIndicatorArrowPair: @ 81AF620 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r5, r0, r1 - ldrh r0, [r5, 0xE] - ldr r4, =0x0000ffff - cmp r0, r4 - beq _081AF63E - bl FreeSpriteTilesByTag -_081AF63E: - ldrh r0, [r5, 0x10] - cmp r0, r4 - beq _081AF648 - bl FreeSpritePaletteByTag -_081AF648: - ldrb r1, [r5, 0xC] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - bl DestroySprite - ldrb r1, [r5, 0xD] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - adds r0, r6, 0 - bl DestroyTask - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end RemoveScrollIndicatorArrowPair - - thumb_func_start ListMenuAddCursorObjectInternal -ListMenuAddCursorObjectInternal: @ 81AF680 - push {lr} - cmp r1, 0 - beq _081AF68A - cmp r1, 0x1 - beq _081AF690 -_081AF68A: - bl ListMenuAddRedOutlineCursorObject - b _081AF694 -_081AF690: - bl ListMenuAddRedArrowCursorObject -_081AF694: - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end ListMenuAddCursorObjectInternal - - thumb_func_start ListMenuUpdateCursorObject -@ void ListMenuUpdateCursorObject(u8 taskId, u16 x, u16 y, u32 a4) -ListMenuUpdateCursorObject: @ 81AF69C - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - cmp r3, 0 - beq _081AF6B4 - cmp r3, 0x1 - beq _081AF6BA - b _081AF6BE -_081AF6B4: - bl ListMenuUpdateRedOutlineCursorObject - b _081AF6BE -_081AF6BA: - bl ListMenuUpdateRedArrowCursorObject -_081AF6BE: - pop {r0} - bx r0 - thumb_func_end ListMenuUpdateCursorObject - - thumb_func_start ListMenuRemoveCursorObject -ListMenuRemoveCursorObject: @ 81AF6C4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r1, 0 - beq _081AF6D4 - cmp r1, 0x1 - beq _081AF6DA - b _081AF6DE -_081AF6D4: - bl ListMenuRemoveRedOutlineCursorObject - b _081AF6DE -_081AF6DA: - bl ListMenuRemoveRedArrowCursorObject -_081AF6DE: - pop {r0} - bx r0 - thumb_func_end ListMenuRemoveCursorObject - - thumb_func_start Task_RedOutlineCursor -Task_RedOutlineCursor: @ 81AF6E4 - bx lr - thumb_func_end Task_RedOutlineCursor - - thumb_func_start ListMenuGetRedOutlineCursorSpriteCount -ListMenuGetRedOutlineCursorSpriteCount: @ 81AF6E8 - push {lr} - lsls r0, 16 - lsrs r0, 16 - lsls r1, 16 - lsrs r1, 16 - movs r3, 0x4 - cmp r0, 0x10 - bls _081AF708 - movs r2, 0x8 - subs r0, 0x8 - cmp r2, r0 - bge _081AF708 -_081AF700: - adds r3, 0x2 - adds r2, 0x8 - cmp r2, r0 - blt _081AF700 -_081AF708: - cmp r1, 0x10 - bls _081AF71C - movs r2, 0x8 - subs r1, 0x8 - cmp r2, r1 - bge _081AF71C -_081AF714: - adds r3, 0x2 - adds r2, 0x8 - cmp r2, r1 - blt _081AF714 -_081AF71C: - lsls r0, r3, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end ListMenuGetRedOutlineCursorSpriteCount - - thumb_func_start ListMenuSetUpRedOutlineCursorSpriteOamTable -ListMenuSetUpRedOutlineCursorSpriteOamTable: @ 81AF724 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r3, r2, 0 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - lsls r1, 16 - lsrs r1, 16 - mov r9, r1 - ldr r0, =gUnknown_0861425C - ldr r0, [r0] - str r0, [r3] - movs r1, 0x88 - strb r1, [r3] - strb r1, [r3, 0x1] - ldr r0, =gUnknown_08614260 - ldr r0, [r0] - str r0, [r3, 0x4] - mov r2, r8 - adds r2, 0x80 - strb r2, [r3, 0x4] - strb r1, [r3, 0x5] - ldr r0, =gUnknown_08614274 - ldr r0, [r0] - str r0, [r3, 0x8] - strb r1, [r3, 0x8] - mov r4, r9 - adds r4, 0x80 - strb r4, [r3, 0x9] - ldr r0, =gUnknown_08614278 - ldr r0, [r0] - str r0, [r3, 0xC] - strb r2, [r3, 0xC] - strb r4, [r3, 0xD] - movs r0, 0x4 - mov r12, r0 - mov r2, r8 - cmp r2, 0x10 - bls _081AF7B8 - movs r2, 0x8 - mov r5, r8 - subs r5, 0x8 - cmp r2, r5 - bge _081AF7B8 - ldr r0, =gUnknown_08614264 - ldr r0, [r0] - str r0, [sp] - ldr r0, =gUnknown_08614270 - ldr r6, [r0] - adds r1, r3, 0 - adds r1, 0x10 - movs r7, 0x88 - mov r10, r7 -_081AF796: - ldr r0, [sp] - str r0, [r1] - adds r0, r2, 0 - subs r0, 0x78 - strb r0, [r1] - mov r7, r10 - strb r7, [r1, 0x1] - adds r1, 0x4 - str r6, [r1] - strb r0, [r1] - strb r4, [r1, 0x1] - adds r1, 0x4 - movs r0, 0x2 - add r12, r0 - adds r2, 0x8 - cmp r2, r5 - blt _081AF796 -_081AF7B8: - mov r2, r9 - cmp r2, 0x10 - bls _081AF7F6 - movs r1, 0x8 - mov r4, r9 - subs r4, 0x8 - cmp r1, r4 - bge _081AF7F6 - ldr r0, =gUnknown_08614268 - ldr r6, [r0] - ldr r0, =gUnknown_0861426C - ldr r5, [r0] - mov r7, r12 - lsls r0, r7, 2 - adds r2, r0, r3 - movs r7, 0x88 - mov r3, r8 - adds r3, 0x80 -_081AF7DC: - str r6, [r2] - strb r7, [r2] - adds r0, r1, 0 - subs r0, 0x78 - strb r0, [r2, 0x1] - adds r2, 0x4 - str r5, [r2] - strb r3, [r2] - strb r0, [r2, 0x1] - adds r2, 0x4 - adds r1, 0x8 - cmp r1, r4 - blt _081AF7DC -_081AF7F6: - 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 ListMenuSetUpRedOutlineCursorSpriteOamTable - - thumb_func_start ListMenuAddRedOutlineCursorObject -ListMenuAddRedOutlineCursorObject: @ 81AF828 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x28 - adds r6, r0, 0 - ldr r0, =gUnknown_08614338 - str r0, [sp, 0x18] - ldr r5, =0xffff0000 - add r0, sp, 0x18 - ldr r1, [r0, 0x4] - ands r1, r5 - movs r2, 0x80 - lsls r2, 1 - orrs r1, r2 - ldrh r2, [r6, 0x6] - lsls r2, 16 - ldr r3, =0x0000ffff - ands r1, r3 - orrs r1, r2 - str r1, [r0, 0x4] - bl LoadCompressedObjectPic - ldrh r2, [r6, 0x8] - ldr r7, =0x0000ffff - cmp r2, r7 - bne _081AF884 - ldr r0, =gUnknown_086142A8 - ldrb r1, [r6, 0xA] - lsls r1, 20 - movs r2, 0x80 - lsls r2, 17 - adds r1, r2 - lsrs r1, 16 - movs r2, 0x20 - bl LoadPalette - b _081AF896 - .pool -_081AF884: - ldr r0, =gUnknown_086142A8 - str r0, [sp, 0x20] - add r0, sp, 0x20 - ldr r1, [r0, 0x4] - ands r1, r5 - orrs r1, r2 - str r1, [r0, 0x4] - bl LoadSpritePalette -_081AF896: - ldr r0, =Task_RedOutlineCursor - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r5, r0, r1 - ldrh r0, [r6, 0x6] - movs r3, 0 - mov r8, r3 - strh r0, [r5, 0xE] - ldrh r0, [r6, 0x8] - strh r0, [r5, 0x10] - ldrh r0, [r6, 0x2] - ldrh r1, [r6, 0x4] - bl ListMenuGetRedOutlineCursorSpriteCount - strb r0, [r5] - ldrb r0, [r5] - lsls r0, 2 - bl Alloc - adds r2, r0, 0 - str r2, [r5, 0x8] - str r2, [r5, 0x4] - ldrh r0, [r6, 0x2] - ldrh r1, [r6, 0x4] - bl ListMenuSetUpRedOutlineCursorSpriteOamTable - mov r1, sp - ldr r0, =gDummySpriteTemplate - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - mov r1, sp - ldrh r0, [r6, 0x6] - strh r0, [r1] - ldrh r0, [r6, 0x8] - strh r0, [r1, 0x2] - ldrb r1, [r6] - adds r1, 0x78 - ldrb r2, [r6, 0x1] - adds r2, 0x78 - mov r0, sp - movs r3, 0 - bl CreateSprite - strb r0, [r5, 0xC] - ldrb r1, [r5, 0xC] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r7, =gSprites - adds r0, r7 - adds r1, r5, 0 - bl SetSubspriteTables - ldrb r0, [r5, 0xC] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r7 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x5] - ldrb r1, [r5, 0xC] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - adds r0, 0x43 - mov r1, r8 - strb r1, [r0] - ldrb r1, [r5, 0xC] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - adds r0, 0x42 - ldrb r2, [r0] - movs r1, 0x40 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - ldrh r1, [r6, 0x8] - ldr r0, =0x0000ffff - cmp r1, r0 - bne _081AF96E - ldrb r0, [r5, 0xC] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r7 - ldrb r2, [r6, 0xA] - lsls r2, 4 - ldrb r3, [r1, 0x5] - movs r0, 0xF - ands r0, r3 - orrs r0, r2 - strb r0, [r1, 0x5] -_081AF96E: - adds r0, r4, 0 - add sp, 0x28 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end ListMenuAddRedOutlineCursorObject - - thumb_func_start ListMenuUpdateRedOutlineCursorObject -@ void ListMenuUpdateRedOutlineCursorObject(u8 taskId, u16 x, u16 y) -ListMenuUpdateRedOutlineCursorObject: @ 81AF994 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - lsls r3, r0, 2 - adds r3, r0 - lsls r3, 3 - ldr r0, =gTasks + 0x8 - adds r3, r0 - ldr r5, =gSprites - ldrb r4, [r3, 0xC] - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r5 - adds r1, 0x78 - strh r1, [r0, 0x20] - ldrb r1, [r3, 0xC] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r2, 0x78 - strh r2, [r0, 0x22] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end ListMenuUpdateRedOutlineCursorObject - - thumb_func_start ListMenuRemoveRedOutlineCursorObject -ListMenuRemoveRedOutlineCursorObject: @ 81AF9D8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - ldr r0, [r4, 0x8] - bl Free - ldrh r0, [r4, 0xE] - ldr r6, =0x0000ffff - cmp r0, r6 - beq _081AF9FC - bl FreeSpriteTilesByTag -_081AF9FC: - ldrh r0, [r4, 0x10] - cmp r0, r6 - beq _081AFA06 - bl FreeSpritePaletteByTag -_081AFA06: - ldrb r1, [r4, 0xC] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySprite - adds r0, r5, 0 - bl DestroyTask - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end ListMenuRemoveRedOutlineCursorObject - - thumb_func_start ObjectCB_RedArrowCursor -ObjectCB_RedArrowCursor: @ 81AFA30 - push {lr} - adds r2, r0, 0 - ldr r1, =gSineTable - ldrh r3, [r2, 0x2E] - lsls r0, r3, 24 - lsrs r0, 23 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bge _081AFA48 - adds r0, 0x3F -_081AFA48: - asrs r0, 6 - strh r0, [r2, 0x24] - adds r0, r3, 0 - adds r0, 0x8 - strh r0, [r2, 0x2E] - pop {r0} - bx r0 - .pool - thumb_func_end ObjectCB_RedArrowCursor - - thumb_func_start Task_RedArrowCursor -Task_RedArrowCursor: @ 81AFA5C - bx lr - thumb_func_end Task_RedArrowCursor - - thumb_func_start ListMenuAddRedArrowCursorObject -ListMenuAddRedArrowCursorObject: @ 81AFA60 - push {r4-r7,lr} - sub sp, 0x28 - adds r5, r0, 0 - ldr r0, =gUnknown_08614378 - str r0, [sp, 0x18] - ldr r6, =0xffff0000 - add r0, sp, 0x18 - ldr r1, [r0, 0x4] - ands r1, r6 - movs r2, 0x80 - orrs r1, r2 - ldrh r2, [r5, 0x6] - lsls r2, 16 - ldr r4, =0x0000ffff - ands r1, r4 - orrs r1, r2 - str r1, [r0, 0x4] - bl LoadCompressedObjectPic - ldrh r2, [r5, 0x8] - cmp r2, r4 - bne _081AFAB4 - ldr r0, =gUnknown_086142A8 - ldrb r1, [r5, 0xA] - lsls r1, 20 - movs r2, 0x80 - lsls r2, 17 - adds r1, r2 - lsrs r1, 16 - movs r2, 0x20 - bl LoadPalette - b _081AFAC6 - .pool -_081AFAB4: - ldr r0, =gUnknown_086142A8 - str r0, [sp, 0x20] - add r0, sp, 0x20 - ldr r1, [r0, 0x4] - ands r1, r6 - orrs r1, r2 - str r1, [r0, 0x4] - bl LoadSpritePalette -_081AFAC6: - ldr r0, =Task_RedArrowCursor - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x2] - ldrh r0, [r5, 0x8] - strh r0, [r4, 0x4] - mov r1, sp - ldr r0, =gUnknown_08614290 - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - mov r1, sp - ldrh r0, [r5, 0x6] - strh r0, [r1] - ldrh r0, [r5, 0x8] - strh r0, [r1, 0x2] - ldrb r1, [r5] - ldrb r2, [r5, 0x1] - mov r0, sp - movs r3, 0 - bl CreateSprite - strb r0, [r4] - ldr r3, =gSprites - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r2, 0x8 - strh r2, [r0, 0x24] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r2, [r0, 0x26] - ldrh r1, [r5, 0x8] - ldr r0, =0x0000ffff - cmp r1, r0 - bne _081AFB46 - ldrb r0, [r4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrb r2, [r5, 0xA] - lsls r2, 4 - ldrb r3, [r1, 0x5] - movs r0, 0xF - ands r0, r3 - orrs r0, r2 - strb r0, [r1, 0x5] -_081AFB46: - adds r0, r6, 0 - add sp, 0x28 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end ListMenuAddRedArrowCursorObject - - thumb_func_start ListMenuUpdateRedArrowCursorObject -@ void ListMenuUpdateRedArrowCursorObject(u8 taskId, u16 x, u16 y) -ListMenuUpdateRedArrowCursorObject: @ 81AFB68 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r3, r0, 2 - adds r3, r0 - lsls r3, 3 - ldr r0, =gTasks + 0x8 - adds r3, r0 - ldr r5, =gSprites - ldrb r4, [r3] - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r5 - strh r1, [r0, 0x20] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r2, [r0, 0x22] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end ListMenuUpdateRedArrowCursorObject - - thumb_func_start ListMenuRemoveRedArrowCursorObject -ListMenuRemoveRedArrowCursorObject: @ 81AFBA0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - ldrh r0, [r4, 0x2] - ldr r6, =0x0000ffff - cmp r0, r6 - beq _081AFBBE - bl FreeSpriteTilesByTag -_081AFBBE: - ldrh r0, [r4, 0x4] - cmp r0, r6 - beq _081AFBC8 - bl FreeSpritePaletteByTag -_081AFBC8: - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySprite - adds r0, r5, 0 - bl DestroyTask - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end ListMenuRemoveRedArrowCursorObject - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/party_menu.s b/asm/party_menu.s index 185d26109..4001b7144 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -10231,7 +10231,7 @@ task_launch_hm_phase_2: @ 81B5750 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_80ABDFC + bl IsWeatherNotFadingIn lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -17337,7 +17337,7 @@ task_hm_without_phase_2: @ 81B93E0 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_80ABDFC + bl IsWeatherNotFadingIn lsls r0, 24 cmp r0, 0 beq _081B93FE diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index 111093bee..5988eb732 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -245,7 +245,7 @@ _080C72AC: b _080C7318 .pool _080C730C: - bl sub_80ABDFC + bl IsWeatherNotFadingIn lsls r0, 24 cmp r0, 0 bne _080C7318 diff --git a/asm/pokenav.s b/asm/pokenav.s index 9c42ed730..2cc643547 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -1568,7 +1568,7 @@ sub_81C7E58: @ 81C7E58 ldr r2, [r6] mov r8, r2 mov r0, r8 - bl sub_8034974 + bl GetDecompressedDataSize adds r5, r0, 0 lsls r4, 5 ldr r0, =gPokenavLeftHeader_Pal @@ -1650,7 +1650,7 @@ sub_81C7F24: @ 81C7F24 adds r1, r2 ldr r6, [r1] adds r0, r6, 0 - bl sub_8034974 + bl GetDecompressedDataSize adds r5, r0, 0 lsls r4, 5 ldr r0, =gPokenavLeftHeader_Pal @@ -26676,7 +26676,7 @@ _081D4B3A: bl IndexOfSpritePaletteTag lsls r0, 24 lsrs r0, 24 - bl sub_80ABE18 + bl UpdateSpritePaletteWithWeather ldrh r1, [r5, 0x10] mov r0, sp strh r1, [r0] diff --git a/asm/record_mixing.s b/asm/record_mixing.s deleted file mode 100644 index acfcf48ed..000000000 --- a/asm/record_mixing.s +++ /dev/null @@ -1,3711 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80E6BE8 -sub_80E6BE8: @ 80E6BE8 - push {lr} - ldr r0, =sub_80E715C - bl sub_80B37D4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E6BE8 - - thumb_func_start sub_80E6BF8 -sub_80E6BF8: @ 80E6BF8 - push {r4,lr} - ldr r2, =gUnknown_03001134 - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldr r3, =0x00001a9c - adds r0, r1, r3 - str r0, [r2] - ldr r2, =gUnknown_03001138 - ldr r4, =0x000027cc - adds r0, r1, r4 - str r0, [r2] - ldr r2, =gUnknown_0300113C - ldr r3, =0x00002b50 - adds r0, r1, r3 - str r0, [r2] - ldr r2, =gUnknown_03001140 - ldr r4, =0x00002e28 - adds r0, r1, r4 - str r0, [r2] - ldr r2, =gUnknown_03001144 - ldr r3, =0x00002e68 - adds r0, r1, r3 - str r0, [r2] - ldr r2, =gUnknown_03001148 - ldr r0, =gUnknown_02039F9C - str r0, [r2] - ldr r2, =gUnknown_0300114C - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r4, =0x0000064c - adds r3, r0, r4 - str r3, [r2] - ldr r2, =gUnknown_03001150 - ldr r4, =0x00003b58 - adds r1, r4 - str r1, [r2] - ldr r1, =gUnknown_03001154 - adds r0, 0xDC - str r0, [r1] - ldr r0, =gUnknown_03001158 - str r3, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E6BF8 - - thumb_func_start sub_80E6CA0 -sub_80E6CA0: @ 80E6CA0 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, =gUnknown_03001134 - ldr r1, [r0] - movs r4, 0xC8 - lsls r4, 4 - adds r0, r5, 0 - adds r2, r4, 0 - bl memcpy - adds r4, r5, r4 - ldr r0, =gUnknown_03001138 - ldr r1, [r0] - movs r2, 0xE1 - lsls r2, 2 - adds r0, r4, 0 - bl memcpy - adds r0, r4, 0 - bl sub_80F14F8 - ldr r1, =0x00001004 - adds r0, r5, r1 - ldr r1, =gUnknown_0300113C - ldr r1, [r1] - movs r2, 0x40 - bl memcpy - ldr r2, =0x00001044 - adds r0, r5, r2 - ldr r1, =gUnknown_03001140 - ldr r1, [r1] - movs r2, 0x40 - bl memcpy - ldr r1, =0x00001084 - adds r0, r5, r1 - ldr r1, =gUnknown_03001144 - ldr r1, [r1] - movs r2, 0x28 - bl memcpy - ldr r2, =0x000010ac - adds r0, r5, r2 - bl sub_80E89F8 - ldr r0, =gUnknown_0300114C - ldr r0, [r0] - ldr r2, =0x00001124 - adds r1, r5, r2 - bl sub_81659DC - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _080E6D1C - bl GetRecordMixingGift - ldr r2, =0x000011c8 - adds r1, r5, r2 - strh r0, [r1] -_080E6D1C: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E6CA0 - - thumb_func_start sub_80E6D54 -sub_80E6D54: @ 80E6D54 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, =gUnknown_03001134 - ldr r1, [r0] - movs r4, 0xC8 - lsls r4, 4 - adds r0, r5, 0 - adds r2, r4, 0 - bl memcpy - adds r0, r5, 0 - bl sub_80EB18C - adds r4, r5, r4 - ldr r0, =gUnknown_03001138 - ldr r1, [r0] - movs r2, 0xE1 - lsls r2, 2 - adds r0, r4, 0 - bl memcpy - adds r0, r4, 0 - bl sub_80F1208 - ldr r1, =0x00001004 - adds r0, r5, r1 - ldr r1, =gUnknown_0300113C - ldr r1, [r1] - movs r2, 0x40 - bl memcpy - ldr r2, =0x00001044 - adds r4, r5, r2 - ldr r0, =gUnknown_03001140 - ldr r1, [r0] - adds r0, r4, 0 - movs r2, 0x40 - bl memcpy - adds r0, r4, 0 - bl sub_8120B70 - ldr r1, =0x00001084 - adds r0, r5, r1 - ldr r1, =gUnknown_03001144 - ldr r1, [r1] - movs r2, 0x28 - bl memcpy - ldr r2, =0x000010ac - adds r4, r5, r2 - adds r0, r4, 0 - bl sub_80E89F8 - adds r0, r4, 0 - bl sub_80E8A54 - ldr r0, =gUnknown_0300114C - ldr r0, [r0] - ldr r1, =0x00001124 - adds r4, r5, r1 - adds r1, r4, 0 - bl sub_81659DC - adds r0, r4, 0 - bl TaskDummy4 - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _080E6DEE - bl GetRecordMixingGift - ldr r2, =0x000011c8 - adds r1, r5, r2 - strh r0, [r1] -_080E6DEE: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E6D54 - - thumb_func_start sub_80E6E24 -sub_80E6E24: @ 80E6E24 - push {r4,r5,lr} - bl sub_80E9914 - bl sub_80F0BB8 - bl sub_80E6BF8 - bl sub_800A064 - cmp r0, 0 - beq _080E6E60 - bl sub_800A03C - cmp r0, 0 - bne _080E6E50 - ldr r0, =gUnknown_0203A018 - ldr r0, [r0] - bl sub_80E6CA0 - b _080E6F12 - .pool -_080E6E50: - ldr r0, =gUnknown_0203A018 - ldr r0, [r0] - bl sub_80E6D54 - b _080E6F12 - .pool -_080E6E60: - ldr r5, =gUnknown_0203A018 - ldr r0, [r5] - ldr r1, =gUnknown_03001134 - ldr r1, [r1] - movs r4, 0xC8 - lsls r4, 4 - adds r2, r4, 0 - bl memcpy - ldr r0, [r5] - adds r0, r4 - ldr r1, =gUnknown_03001138 - ldr r1, [r1] - movs r2, 0xE1 - lsls r2, 2 - bl memcpy - ldr r0, [r5] - ldr r1, =0x00001004 - adds r0, r1 - ldr r1, =gUnknown_0300113C - ldr r1, [r1] - movs r2, 0x40 - bl memcpy - ldr r0, [r5] - ldr r2, =0x00001044 - adds r0, r2 - ldr r1, =gUnknown_03001140 - ldr r1, [r1] - movs r2, 0x40 - bl memcpy - ldr r0, [r5] - ldr r1, =0x00001214 - adds r0, r1 - ldr r1, =gUnknown_03001150 - ldr r1, [r1] - movs r2, 0x40 - bl memcpy - ldr r0, [r5] - ldr r2, =0x00001084 - adds r0, r2 - ldr r1, =gUnknown_03001144 - ldr r1, [r1] - movs r2, 0x28 - bl memcpy - ldr r0, [r5] - ldr r1, =0x000010ac - adds r0, r1 - bl sub_80E89F8 - ldr r0, [r5] - ldr r4, =0x00001124 - adds r0, r4 - ldr r1, =gUnknown_0300114C - ldr r1, [r1] - movs r2, 0xEC - bl memcpy - ldr r0, [r5] - adds r0, r4 - bl sub_80E8AC0 - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _080E6EFA - bl GetRecordMixingGift - ldr r1, [r5] - ldr r2, =0x00001210 - adds r1, r2 - strh r0, [r1] -_080E6EFA: - ldr r0, [r5] - ldr r1, =0x00001254 - adds r0, r1 - ldr r1, =gUnknown_03001154 - ldr r1, [r1] - bl sub_80E8110 - ldr r0, [r5] - ldr r2, =0x000012dc - adds r0, r2 - bl sub_80E8260 -_080E6F12: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E6E24 - - thumb_func_start sub_80E6F60 -sub_80E6F60: @ 80E6F60 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r4, r0, 0 - bl sub_800A064 - cmp r0, 0 - beq _080E7014 - ldr r5, =gUnknown_0203A014 - ldr r0, [r5] - movs r1, 0xC8 - lsls r1, 4 - mov r8, r1 - add r0, r8 - bl sub_80E7B2C - ldr r0, [r5] - ldr r6, =0x00001230 - lsls r4, 24 - lsrs r4, 24 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_80EAF80 - ldr r3, [r5] - ldr r1, =0x000010ac - adds r0, r3, r1 - add r3, r8 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_80E7B60 - ldr r0, [r5] - ldr r1, =0x00001124 - adds r0, r1 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_80E7948 - ldr r0, [r5] - add r0, r8 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_80F01E8 - ldr r0, [r5] - ldr r1, =0x00001004 - adds r0, r1 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_80F0C7C - ldr r0, [r5] - ldr r1, =0x00001044 - adds r0, r1 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_80E78C4 - ldr r0, [r5] - ldr r1, =0x00001084 - adds r0, r1 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_812287C - ldr r0, [r5] - ldr r1, =0x000011c8 - adds r0, r1 - adds r1, r4, 0 - bl sub_80E7F68 - b _080E70BE - .pool -_080E7014: - ldr r5, =gUnknown_0203A014 - ldr r0, [r5] - movs r1, 0xC8 - lsls r1, 4 - mov r8, r1 - add r0, r8 - bl sub_80E7B2C - ldr r0, [r5] - ldr r6, =0x00001444 - lsls r4, 24 - lsrs r4, 24 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_80EAF80 - ldr r0, [r5] - add r0, r8 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_80F01E8 - ldr r0, [r5] - ldr r1, =0x00001004 - adds r0, r1 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_80F0C7C - ldr r0, [r5] - ldr r1, =0x00001044 - adds r0, r1 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_80E78C4 - ldr r0, [r5] - ldr r1, =0x00001084 - adds r0, r1 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_812287C - ldr r3, [r5] - ldr r1, =0x000010ac - adds r0, r3, r1 - add r3, r8 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_80E7B60 - ldr r0, [r5] - ldr r1, =0x00001124 - adds r0, r1 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_80E7948 - ldr r0, [r5] - ldr r1, =0x00001210 - adds r0, r1 - adds r1, r4, 0 - bl sub_80E7F68 - ldr r0, [r5] - ldr r1, =0x00001214 - adds r0, r1 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_80E7A14 - ldr r0, [r5] - ldr r1, =0x00001254 - adds r0, r1 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_80E8468 - ldr r0, [r5] - ldr r1, =0x000012dc - adds r0, r1 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_80E89AC -_080E70BE: - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E6F60 - - thumb_func_start sub_80E70F4 -sub_80E70F4: @ 80E70F4 - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - movs r0, 0 - movs r1, 0 - bl NewMenuHelpers_DrawDialogueFrame - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r1, 0x1 - adds r2, r4, 0 - movs r3, 0 - bl PrintTextOnWindow - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80E70F4 - - thumb_func_start sub_80E7128 -sub_80E7128: @ 80E7128 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x32 - bne _080E7150 - movs r0, 0xE2 - bl PlaySE - movs r0, 0 - strh r0, [r4, 0x8] -_080E7150: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E7128 - - thumb_func_start sub_80E715C -sub_80E715C: @ 80E715C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r5, r0, r1 - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0x5 - bls _080E7176 - b _080E730A -_080E7176: - lsls r0, 2 - ldr r1, =_080E7188 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080E7188: - .4byte _080E71A0 - .4byte _080E7218 - .4byte _080E724C - .4byte _080E726C - .4byte _080E72AC - .4byte _080E72C0 -_080E71A0: - ldr r4, =gUnknown_0203A018 - ldr r0, =0x00001444 - bl Alloc - str r0, [r4] - ldr r4, =gUnknown_0203A014 - ldr r0, =0x00005110 - bl Alloc - str r0, [r4] - ldr r0, =gSpecialVar_0x8005 - ldrb r0, [r0] - bl sub_8009628 - movs r0, 0x80 - lsls r0, 7 - movs r1, 0x1 - bl VarSet - ldr r1, =gUnknown_03001130 - movs r0, 0 - strb r0, [r1] - bl sub_80E6E24 - bl sub_80FB00C - movs r0, 0x1 - strh r0, [r5] - ldr r0, =sub_80E7324 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x14] - ldr r0, =sub_80E7128 - movs r1, 0x51 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x1E] - b _080E730A - .pool -_080E7218: - ldr r2, =gTasks - movs r0, 0x14 - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x4] - cmp r0, 0 - bne _080E730A - movs r0, 0x2 - strh r0, [r5] - ldr r0, =0x00000894 - bl FlagSet - bl sub_80FB074 - ldrb r0, [r5, 0x1E] - bl DestroyTask - b _080E730A - .pool -_080E724C: - ldr r0, =sub_80E7FF8 - movs r1, 0xA - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x14] - movs r0, 0x3 - strh r0, [r5] - movs r0, 0xE0 - bl PlaySE - b _080E730A - .pool -_080E726C: - ldr r2, =gTasks - movs r0, 0x14 - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r4, [r0, 0x4] - cmp r4, 0 - bne _080E730A - movs r0, 0x4 - strh r0, [r5] - ldr r0, =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - bne _080E7296 - bl sub_80B3050 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x14] -_080E7296: - ldr r0, =gText_RecordMixingComplete - bl sub_80E70F4 - strh r4, [r5, 0x10] - b _080E730A - .pool -_080E72AC: - ldrh r0, [r5, 0x10] - adds r0, 0x1 - strh r0, [r5, 0x10] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3C - ble _080E730A - movs r0, 0x5 - strh r0, [r5] - b _080E730A -_080E72C0: - ldr r2, =gTasks - movs r0, 0x14 - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x4] - cmp r0, 0 - bne _080E730A - ldr r0, =gUnknown_0203A014 - ldr r0, [r0] - bl Free - ldr r0, =gUnknown_0203A018 - ldr r0, [r0] - bl Free - bl sub_808729C - ldr r0, =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _080E72F8 - ldr r0, =sub_80AF2B4 - movs r1, 0xA - bl CreateTask -_080E72F8: - movs r0, 0 - movs r1, 0x1 - bl sub_8197434 - adds r0, r4, 0 - bl DestroyTask - bl EnableBothScriptContexts -_080E730A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E715C - - thumb_func_start sub_80E7324 -sub_80E7324: @ 80E7324 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r6, =gTasks - adds r5, r0, r6 - movs r0, 0x8 - ldrsh r1, [r5, r0] - cmp r1, 0x64 - beq _080E73A0 - cmp r1, 0x64 - bgt _080E7362 - cmp r1, 0x1 - bne _080E7346 - b _080E7464 -_080E7346: - cmp r1, 0x1 - bgt _080E7354 - cmp r1, 0 - beq _080E7384 - b _080E7566 - .pool -_080E7354: - cmp r1, 0x2 - bne _080E735A - b _080E7490 -_080E735A: - cmp r1, 0x5 - bne _080E7360 - b _080E7550 -_080E7360: - b _080E7566 -_080E7362: - cmp r1, 0xC9 - beq _080E73F8 - cmp r1, 0xC9 - bgt _080E7370 - cmp r1, 0x65 - beq _080E73B8 - b _080E7566 -_080E7370: - ldr r0, =0x0000012d - cmp r1, r0 - beq _080E7432 - adds r0, 0x63 - cmp r1, r0 - beq _080E744A - b _080E7566 - .pool -_080E7384: - ldr r0, =gText_MixingRecords - bl sub_80E70F4 - movs r0, 0xE1 - lsls r0, 3 - strh r0, [r5, 0x18] - movs r0, 0xC8 - lsls r0, 1 - strh r0, [r5, 0x8] - bl ClearLinkCallback_2 - b _080E7566 - .pool -_080E73A0: - ldrh r0, [r5, 0x20] - adds r0, 0x1 - strh r0, [r5, 0x20] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - bgt _080E73B0 - b _080E7566 -_080E73B0: - movs r0, 0 - strh r0, [r5, 0x20] - movs r0, 0x65 - b _080E7564 -_080E73B8: - bl GetLinkPlayerCount_2 - lsls r0, 24 - lsrs r4, r0, 24 - bl IsLinkMaster - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080E73EA - bl sub_800AA48 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - beq _080E73DA - b _080E7566 -_080E73DA: - movs r0, 0x15 - bl PlaySE - movs r1, 0 - movs r0, 0xC9 - strh r0, [r5, 0x8] - strh r1, [r5, 0x20] - b _080E7566 -_080E73EA: - movs r0, 0x16 - bl PlaySE - ldr r0, =0x0000012d - b _080E7564 - .pool -_080E73F8: - bl sub_800AA48 - adds r4, r0, 0 - bl GetLinkPlayerCount_2 - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - beq _080E740C - b _080E7566 -_080E740C: - ldrh r4, [r5, 0x20] - adds r4, 0x1 - strh r4, [r5, 0x20] - lsls r4, 16 - asrs r4, 16 - bl GetLinkPlayerCount_2 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - subs r1, r0 - lsls r1, 1 - cmp r4, r1 - bgt _080E742A - b _080E7566 -_080E742A: - bl sub_800A620 - movs r0, 0x1 - b _080E7564 -_080E7432: - bl sub_800AA48 - adds r4, r0, 0 - bl GetLinkPlayerCount_2 - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - beq _080E7446 - b _080E7566 -_080E7446: - movs r0, 0x1 - b _080E7564 -_080E744A: - ldrh r0, [r5, 0x20] - adds r0, 0x1 - strh r0, [r5, 0x20] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - bgt _080E745A - b _080E7566 -_080E745A: - movs r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0 - strh r0, [r5, 0x20] - b _080E7566 -_080E7464: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _080E746E - b _080E7566 -_080E746E: - ldr r4, =gStringVar1 - bl sub_80E7810 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - movs r0, 0x5 - b _080E7564 - .pool -_080E7490: - bl GetLinkPlayerCount_2 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - strh r0, [r5, 0x14] - strh r1, [r5, 0x8] - bl sub_80E7810 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x12] - ldr r0, =sub_80E756C - str r0, [r5] - bl sub_800A064 - cmp r0, 0 - beq _080E7504 - ldr r0, =gUnknown_0203A018 - ldr r0, [r0] - adds r1, r5, 0 - adds r1, 0xC - bl sub_80E7808 - ldr r0, =sub_80E7630 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x1C] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r0, r1, r6 - strh r4, [r0, 0x8] - ldr r0, =gUnknown_0203A014 - ldr r0, [r0] - adds r1, r6, r1 - adds r1, 0x12 - bl sub_80E7808 - ldr r1, =gUnknown_0300115C - ldr r0, =0x00001230 - str r0, [r1] - b _080E7566 - .pool -_080E7504: - ldr r0, =gUnknown_0203A018 - ldr r0, [r0] - adds r1, r5, 0 - adds r1, 0xC - bl sub_80E7808 - ldr r0, =sub_80E7630 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x1C] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r0, r1, r6 - strh r4, [r0, 0x8] - ldr r0, =gUnknown_0203A014 - ldr r0, [r0] - adds r1, r6, r1 - adds r1, 0x12 - bl sub_80E7808 - ldr r1, =gUnknown_0300115C - ldr r0, =0x00001444 - str r0, [r1] - b _080E7566 - .pool -_080E7550: - ldrh r0, [r5, 0x1C] - adds r0, 0x1 - strh r0, [r5, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3C - ble _080E7566 - movs r0, 0 - strh r0, [r5, 0x1C] - movs r0, 0x2 -_080E7564: - strh r0, [r5, 0x8] -_080E7566: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80E7324 - - thumb_func_start sub_80E756C -sub_80E756C: @ 80E756C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r5, r1, r0 - movs r2, 0x8 - ldrsh r1, [r5, r2] - adds r2, r0, 0 - cmp r1, 0x4 - bhi _080E7624 - lsls r0, r1, 2 - ldr r1, =_080E7598 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080E7598: - .4byte _080E75AC - .4byte _080E75D0 - .4byte _080E7624 - .4byte _080E75E2 - .4byte _080E760E -_080E75AC: - adds r0, r5, 0 - adds r0, 0xC - bl sub_80E77FC - adds r1, r0, 0 - movs r0, 0x10 - ldrsh r2, [r5, r0] - movs r0, 0xC8 - muls r0, r2 - adds r1, r0 - ldr r0, =gBlockSendBuffer - movs r2, 0xC8 - bl memcpy - b _080E75FC - .pool -_080E75D0: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _080E75FC - movs r0, 0x1 - bl sub_800A4D8 - b _080E75FC -_080E75E2: - ldrh r0, [r5, 0x10] - adds r0, 0x1 - strh r0, [r5, 0x10] - movs r1, 0x10 - ldrsh r4, [r5, r1] - ldr r0, =gUnknown_0300115C - ldr r0, [r0] - movs r1, 0xC8 - bl __udivsi3 - adds r0, 0x1 - cmp r4, r0 - bne _080E7608 -_080E75FC: - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - b _080E7624 - .pool -_080E7608: - movs r0, 0 - strh r0, [r5, 0x8] - b _080E7624 -_080E760E: - movs r1, 0x1C - ldrsh r0, [r5, r1] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrb r0, [r1, 0x4] - cmp r0, 0 - bne _080E7624 - ldr r0, =sub_80E77D4 - str r0, [r5] -_080E7624: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E756C - - thumb_func_start sub_80E7630 -sub_80E7630: @ 80E7630 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - lsls r0, 2 - ldr r1, [sp] - adds r0, r1 - lsls r0, 3 - ldr r1, =gTasks - adds r0, r1 - mov r10, r0 - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - movs r2, 0 - str r2, [sp, 0x8] - bl sub_800A9D8 - lsls r0, 24 - lsrs r0, 24 - ldr r3, [sp, 0x4] - cmp r3, r0 - bne _080E773E - movs r4, 0 - mov r8, r4 - b _080E771C - .pool -_080E7678: - ldr r1, [sp, 0x4] - mov r0, r8 - asrs r1, r0 - movs r0, 0x1 - ands r1, r0 - movs r2, 0x1 - add r2, r8 - mov r9, r2 - cmp r1, 0 - beq _080E7714 - mov r0, r10 - adds r0, 0x12 - bl sub_80E77FC - mov r3, r9 - lsls r4, r3, 1 - mov r5, r10 - adds r5, 0x8 - adds r4, r5, r4 - movs r2, 0 - ldrsh r1, [r4, r2] - movs r7, 0xC8 - muls r1, r7 - adds r0, r1 - ldr r3, =gUnknown_0300115C - ldr r1, [r3] - mov r2, r8 - muls r2, r1 - adds r1, r2, 0 - adds r6, r0, r1 - mov r0, r8 - bl sub_80E7820 - adds r1, r0, 0 - movs r3, 0 - ldrsh r2, [r4, r3] - adds r0, r2, 0x1 - muls r0, r7 - ldr r4, =gUnknown_0300115C - ldr r3, [r4] - cmp r0, r3 - bls _080E76DC - muls r2, r7 - subs r2, r3, r2 - adds r0, r6, 0 - bl memcpy - b _080E76E4 - .pool -_080E76DC: - adds r0, r6, 0 - movs r2, 0xC8 - bl memcpy -_080E76E4: - mov r0, r8 - bl ResetBlockReceivedFlag - mov r0, r9 - lsls r1, r0, 1 - adds r1, r5, r1 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - movs r2, 0 - ldrsh r4, [r1, r2] - ldr r3, =gUnknown_0300115C - ldr r0, [r3] - movs r1, 0xC8 - bl __udivsi3 - adds r0, 0x1 - cmp r4, r0 - bne _080E7714 - ldr r0, [sp, 0x8] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x8] -_080E7714: - mov r4, r9 - lsls r0, r4, 24 - lsrs r0, 24 - mov r8, r0 -_080E771C: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r8, r0 - bcc _080E7678 - ldr r2, =gTasks - mov r0, r10 - movs r3, 0x8 - ldrsh r1, [r0, r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] -_080E773E: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - ldr r4, [sp, 0x8] - cmp r4, r0 - bne _080E7752 - ldr r0, [sp] - bl DestroyTask -_080E7752: - 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_80E7630 - - thumb_func_start sub_80E776C -sub_80E776C: @ 80E776C - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - ldr r2, =gTasks - adds r0, r2 - movs r4, 0x1C - ldrsh r1, [r0, r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x4] - cmp r0, 0 - bne _080E7794 - adds r0, r3, 0 - bl DestroyTask -_080E7794: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E776C - - thumb_func_start sub_80E77A0 -sub_80E77A0: @ 80E77A0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r1, r0 - ldr r0, =sub_80E776C - str r0, [r1] - ldr r0, =gUnknown_03001130 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080E77C4 - movs r2, 0x12 - ldrsh r0, [r1, r2] - bl sub_80E6F60 -_080E77C4: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E77A0 - - thumb_func_start sub_80E77D4 -sub_80E77D4: @ 80E77D4 - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, =sub_80E77A0 - str r0, [r1] - ldr r1, =gUnknown_03001130 - movs r0, 0x1 - strb r0, [r1] - bx lr - .pool - thumb_func_end sub_80E77D4 - - thumb_func_start sub_80E77FC -sub_80E77FC: @ 80E77FC - adds r1, r0, 0 - ldrh r0, [r1] - ldrh r1, [r1, 0x2] - lsls r1, 16 - orrs r0, r1 - bx lr - thumb_func_end sub_80E77FC - - thumb_func_start sub_80E7808 -sub_80E7808: @ 80E7808 - strh r0, [r1] - lsrs r0, 16 - strh r0, [r1, 0x2] - bx lr - thumb_func_end sub_80E7808 - - thumb_func_start sub_80E7810 -sub_80E7810: @ 80E7810 - push {lr} - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_80E7810 - - thumb_func_start sub_80E7820 -sub_80E7820: @ 80E7820 - lsls r0, 24 - lsrs r0, 16 - ldr r1, =gBlockRecvBuffer - adds r0, r1 - bx lr - .pool - thumb_func_end sub_80E7820 - - thumb_func_start sub_80E7830 -sub_80E7830: @ 80E7830 - push {r4,lr} - adds r4, r0, 0 - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _080E7868 - cmp r0, 0x3 - bhi _080E784A - cmp r0, 0x2 - beq _080E7850 - b _080E78B8 -_080E784A: - cmp r0, 0x4 - beq _080E7894 - b _080E78B8 -_080E7850: - movs r3, 0 - ldr r2, =gUnknown_0858CF8C - adds r1, r4, 0 -_080E7856: - adds r0, r3, r2 - ldrb r0, [r0] - stm r1!, {r0} - adds r3, 0x1 - cmp r3, 0x1 - bls _080E7856 - b _080E78B8 - .pool -_080E7868: - movs r0, 0 - bl GetLinkPlayerTrainerId - adds r2, r0, 0 - movs r0, 0x1 - ands r2, r0 - movs r3, 0 - ldr r1, =gUnknown_0858CF8E - lsls r0, r2, 1 - adds r0, r2 - adds r1, r0, r1 - adds r2, r4, 0 -_080E7880: - ldrb r0, [r1] - stm r2!, {r0} - adds r1, 0x1 - adds r3, 0x1 - cmp r3, 0x2 - bls _080E7880 - b _080E78B8 - .pool -_080E7894: - movs r0, 0 - bl GetLinkPlayerTrainerId - movs r1, 0x9 - bl __umodsi3 - adds r2, r0, 0 - movs r3, 0 - ldr r1, =gUnknown_0858CF94 - lsls r0, r2, 2 - adds r1, r0, r1 - adds r2, r4, 0 -_080E78AC: - ldrb r0, [r1] - stm r2!, {r0} - adds r1, 0x1 - adds r3, 0x1 - cmp r3, 0x3 - bls _080E78AC -_080E78B8: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E7830 - - thumb_func_start sub_80E78C4 -sub_80E78C4: @ 80E78C4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - mov r9, r0 - mov r8, r1 - lsls r2, 24 - lsrs r7, r2, 24 - mov r0, sp - bl sub_80E7830 - lsls r0, r7, 2 - add r0, sp - ldr r1, [r0] - mov r0, r8 - muls r0, r1 - mov r2, r9 - adds r6, r2, r0 - ldr r2, =gLinkPlayers - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r4, [r0] - ldrh r5, [r0, 0x1A] - bl sub_800A064 - cmp r0, 0 - beq _080E7910 - adds r0, r6, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_8120D34 - b _080E791A - .pool -_080E7910: - adds r0, r6, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_8120CD0 -_080E791A: - ldr r0, =gUnknown_03001140 - ldr r0, [r0] - lsls r1, r7, 2 - add r1, sp - ldr r1, [r1] - mov r2, r8 - muls r2, r1 - adds r1, r2, 0 - add r1, r9 - movs r2, 0x40 - bl memcpy - bl ResetMauvilleOldManFlag - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E78C4 - - thumb_func_start sub_80E7948 -sub_80E7948: @ 80E7948 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - mov r8, r0 - adds r7, r1, 0 - lsls r2, 24 - lsrs r6, r2, 24 - mov r0, sp - bl sub_80E7830 - bl sub_800A064 - cmp r0, 0 - beq _080E79AC - lsls r0, r6, 2 - mov r1, sp - adds r5, r1, r0 - ldr r0, [r5] - muls r0, r7 - add r0, r8 - adds r4, r7, 0 - muls r4, r6 - mov r1, r8 - adds r6, r1, r4 - adds r1, r6, 0 - bl sub_816587C - mov r9, r4 - cmp r0, 0x1 - bne _080E79FE - adds r7, r6, 0 - ldr r2, =gLinkPlayers - ldr r1, [r5] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x1A] - adds r0, r7, 0 - adds r0, 0xE4 - strb r1, [r0] - adds r0, r7, 0 - bl sub_8164F70 - b _080E79FE - .pool -_080E79AC: - adds r5, r7, 0 - muls r5, r6 - mov r0, r8 - adds r4, r0, r5 - lsls r0, r6, 2 - add r0, sp - ldr r0, [r0] - adds r1, r7, 0 - muls r1, r0 - add r1, r8 - adds r0, r4, 0 - movs r2, 0xEC - bl memcpy - adds r7, r4, 0 - movs r6, 0 - mov r9, r5 -_080E79CE: - movs r0, 0x2C - muls r0, r6 - adds r0, 0x34 - adds r1, r7, r0 - ldrh r0, [r1] - cmp r0, 0 - beq _080E79F2 - adds r4, r1, 0 - adds r4, 0x20 - adds r0, r4, 0 - bl IsStringJapanese - cmp r0, 0 - beq _080E79F2 - adds r0, r4, 0 - movs r1, 0x1 - bl ConvertInternationalString -_080E79F2: - adds r6, 0x1 - cmp r6, 0x3 - ble _080E79CE - adds r0, r7, 0 - bl sub_8164F70 -_080E79FE: - mov r0, r8 - add r0, r9 - bl sub_81628A0 - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80E7948 - - thumb_func_start sub_80E7A14 -sub_80E7A14: @ 80E7A14 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - mov r8, r0 - adds r7, r1, 0 - lsls r2, 24 - lsrs r5, r2, 24 - mov r0, sp - bl sub_80E7830 - adds r0, r7, 0 - muls r0, r5 - add r0, r8 - ldr r6, =gUnknown_03001150 - ldr r1, [r6] - movs r2, 0x40 - bl memcpy - bl GetLilycoveLadyId - lsls r0, 24 - cmp r0, 0 - bne _080E7A60 - movs r0, 0x40 - bl Alloc - adds r4, r0, 0 - cmp r4, 0 - beq _080E7A8A - ldr r1, [r6] - movs r2, 0x40 - bl memcpy - b _080E7A62 - .pool -_080E7A60: - movs r4, 0 -_080E7A62: - ldr r0, =gUnknown_03001150 - ldr r0, [r0] - lsls r1, r5, 2 - add r1, sp - ldr r1, [r1] - muls r1, r7 - add r1, r8 - movs r2, 0x40 - bl memcpy - bl sub_818DA78 - cmp r4, 0 - beq _080E7A8A - adds r0, r4, 0 - bl sub_818E570 - adds r0, r4, 0 - bl Free -_080E7A8A: - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E7A14 - - thumb_func_start sub_80E7A9C -sub_80E7A9C: @ 80E7A9C - ldrh r0, [r0, 0x20] - lsls r0, 24 - lsrs r0, 24 - bx lr - thumb_func_end sub_80E7A9C - - thumb_func_start sub_80E7AA4 -sub_80E7AA4: @ 80E7AA4 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x38 - mov r8, r0 - mov r10, r1 - mov r9, r2 - adds r4, r3, 0 - ldr r5, [sp, 0x54] - lsls r4, 24 - lsls r5, 24 - lsrs r5, 24 - lsrs r4, 23 - add r4, r9 - ldrb r0, [r4] - mov r6, r10 - muls r6, r0 - add r6, r8 - ldrb r0, [r4, 0x1] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 3 - adds r1, r6, r1 - mov r0, sp - movs r2, 0x38 - bl memcpy - lsls r5, 1 - add r5, r9 - ldrb r0, [r5] - mov r1, r10 - muls r1, r0 - adds r0, r1, 0 - add r8, r0 - ldrb r1, [r4, 0x1] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 3 - adds r6, r0 - ldrb r0, [r5, 0x1] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 3 - add r1, r8 - adds r0, r6, 0 - movs r2, 0x38 - bl memcpy - ldrb r1, [r5, 0x1] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 3 - add r8, r0 - mov r0, r8 - mov r1, sp - movs r2, 0x38 - bl memcpy - add sp, 0x38 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80E7AA4 - - thumb_func_start sub_80E7B2C -sub_80E7B2C: @ 80E7B2C - push {r4,lr} - adds r3, r0, 0 - movs r2, 0 - movs r1, 0 - ldr r4, =gUnknown_03001160 -_080E7B36: - adds r0, r3, r1 - ldrb r0, [r0] - adds r0, r2, r0 - lsls r0, 24 - lsrs r2, r0, 24 - adds r1, 0x1 - cmp r1, 0xFF - ble _080E7B36 - strb r2, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E7B2C - - thumb_func_start sub_80E7B54 -sub_80E7B54: @ 80E7B54 - ldr r0, =gUnknown_03001160 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_80E7B54 - - thumb_func_start sub_80E7B60 -sub_80E7B60: @ 80E7B60 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x58 - str r0, [sp, 0x2C] - str r1, [sp, 0x30] - lsls r2, 24 - lsrs r2, 24 - mov r9, r2 - bl Random2 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x38] - ldr r0, =gLinkPlayers - ldrh r0, [r0, 0x4] - bl SeedRng2 - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0 - mov r8, r0 - mov r1, sp - adds r1, 0x1C - str r1, [sp, 0x4C] - mov r2, sp - adds r2, 0x1D - str r2, [sp, 0x50] - mov r3, sp - adds r3, 0xC - str r3, [sp, 0x48] - movs r7, 0xFF - add r3, sp, 0x8 - movs r2, 0 - adds r6, r1, 0 - ldr r5, [sp, 0x50] -_080E7BB0: - mov r1, sp - add r1, r8 - adds r1, 0x4 - ldrb r0, [r1] - orrs r0, r7 - strb r0, [r1] - mov r1, r8 - adds r0, r3, r1 - strb r2, [r0] - lsls r1, 1 - adds r0, r6, r1 - strb r2, [r0] - adds r1, r5, r1 - strb r2, [r1] - mov r0, r8 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - cmp r0, 0x3 - bls _080E7BB0 - bl sub_800A064 - str r0, [sp, 0x3C] - movs r2, 0 - mov r8, r2 - lsls r4, 16 - str r4, [sp, 0x54] - ldr r0, [sp, 0x30] - mov r3, r9 - muls r3, r0 - str r3, [sp, 0x44] - b _080E7D04 - .pool -_080E7BF8: - ldr r1, [sp, 0x30] - mov r0, r8 - muls r0, r1 - ldr r2, [sp, 0x2C] - adds r7, r2, r0 - ldr r1, =gLinkPlayers - mov r3, r8 - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r0, r1 - ldrh r1, [r0, 0x1A] - mov r9, r1 - ldrb r0, [r0] - str r0, [sp, 0x40] - movs r6, 0 - ldr r0, [r7, 0x70] - cmp r6, r0 - bcs _080E7CFA - movs r2, 0x10 - negs r2, r2 - mov r10, r2 -_080E7C24: - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 3 - adds r5, r7, r0 - ldrh r0, [r5, 0x20] - cmp r0, 0 - beq _080E7CEE - ldr r3, [sp, 0x3C] - cmp r3, 0 - beq _080E7C9A - adds r4, r5, 0 - adds r4, 0x24 - adds r0, r4, 0 - bl StringLength - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x5 - bhi _080E7C54 - movs r4, 0x1 - b _080E7C5C - .pool -_080E7C54: - adds r0, r4, 0 - bl StripExtCtrlCodes - mov r4, r9 -_080E7C5C: - ldrh r1, [r5, 0x2C] - ldr r0, =0x000015fc - cmp r1, r0 - bne _080E7C74 - adds r0, r5, 0 - adds r0, 0x2C - bl StripExtCtrlCodes - movs r1, 0x1 - b _080E7C76 - .pool -_080E7C74: - mov r1, r9 -_080E7C76: - ldr r0, [sp, 0x40] - subs r0, 0x1 - cmp r0, 0x1 - bhi _080E7CEE - adds r2, r5, 0 - adds r2, 0x37 - movs r0, 0xF - ands r4, r0 - ldrb r0, [r2] - mov r3, r10 - ands r0, r3 - orrs r0, r4 - lsls r1, 4 - movs r3, 0xF - ands r0, r3 - orrs r0, r1 - strb r0, [r2] - b _080E7CEE -_080E7C9A: - mov r0, r9 - cmp r0, 0x1 - bne _080E7CEE - adds r0, r5, 0 - adds r0, 0x24 - bl IsStringJapanese - cmp r0, 0 - beq _080E7CBA - adds r0, r5, 0 - adds r0, 0x37 - ldrb r1, [r0] - mov r2, r10 - ands r1, r2 - movs r2, 0x1 - b _080E7CC6 -_080E7CBA: - adds r0, r5, 0 - adds r0, 0x37 - ldrb r1, [r0] - mov r3, r10 - ands r1, r3 - movs r2, 0x2 -_080E7CC6: - orrs r1, r2 - strb r1, [r0] - adds r4, r0, 0 - adds r0, r5, 0 - adds r0, 0x2C - bl IsStringJapanese - cmp r0, 0 - beq _080E7CE2 - ldrb r0, [r4] - movs r1, 0xF - ands r1, r0 - movs r0, 0x10 - b _080E7CEA -_080E7CE2: - ldrb r0, [r4] - movs r1, 0xF - ands r1, r0 - movs r0, 0x20 -_080E7CEA: - orrs r1, r0 - strb r1, [r4] -_080E7CEE: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, [r7, 0x70] - cmp r6, r0 - bcc _080E7C24 -_080E7CFA: - mov r0, r8 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 -_080E7D04: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r8, r0 - bcs _080E7D12 - b _080E7BF8 -_080E7D12: - movs r0, 0 - str r0, [sp, 0x34] - mov r8, r0 - ldr r1, [sp, 0x54] - lsrs r0, r1, 16 - ldr r2, [sp, 0x34] - cmp r2, r0 - bcs _080E7D70 - adds r5, r0, 0 -_080E7D24: - ldr r3, [sp, 0x30] - mov r0, r8 - muls r0, r3 - ldr r1, [sp, 0x2C] - adds r7, r1, r0 - ldr r0, [r7, 0x70] - cmp r0, 0 - beq _080E7D62 - movs r6, 0 - cmp r6, r0 - bcs _080E7D62 - adds r3, r7, 0 - adds r3, 0x74 - ldr r2, [sp, 0x4C] - mov r0, r8 - lsls r1, r0, 1 - movs r4, 0x1 -_080E7D46: - lsls r0, r6, 1 - adds r0, r3, r0 - ldrh r0, [r0] - cmp r0, 0 - bne _080E7D56 - adds r0, r6, r1 - adds r0, r2, r0 - strb r4, [r0] -_080E7D56: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, [r7, 0x70] - cmp r6, r0 - bcc _080E7D46 -_080E7D62: - mov r0, r8 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - cmp r8, r5 - bcc _080E7D24 -_080E7D70: - movs r6, 0 - mov r8, r6 - ldr r1, [sp, 0x54] - cmp r1, 0 - beq _080E7E64 - add r2, sp, 0x24 - mov r10, r2 - movs r3, 0x25 - add r3, sp - mov r9, r3 -_080E7D84: - ldr r1, [sp, 0x30] - mov r0, r8 - muls r0, r1 - ldr r2, [sp, 0x2C] - adds r7, r2, r0 - mov r3, r8 - lsls r1, r3, 1 - ldr r2, [sp, 0x4C] - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x1 - beq _080E7DA6 - ldr r3, [sp, 0x50] - adds r0, r3, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080E7DB0 -_080E7DA6: - ldr r0, [sp, 0x34] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x34] -_080E7DB0: - ldr r2, [sp, 0x4C] - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080E7DD4 - ldr r3, [sp, 0x50] - adds r0, r3, r1 - ldrb r2, [r0] - cmp r2, 0 - bne _080E7DD4 -_080E7DC4: - lsls r1, r6, 1 - mov r3, r10 - adds r0, r3, r1 - mov r3, r8 - strb r3, [r0] - add r1, r9 - strb r2, [r1] - b _080E7E4E -_080E7DD4: - ldr r2, [sp, 0x4C] - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080E7DE8 - ldr r3, [sp, 0x50] - adds r0, r3, r1 - ldrb r2, [r0] - cmp r2, 0x1 - beq _080E7DC4 -_080E7DE8: - ldr r2, [sp, 0x4C] - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080E7E54 - ldr r3, [sp, 0x50] - adds r0, r3, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080E7E54 - lsls r5, r6, 1 - mov r1, r10 - adds r0, r1, r5 - mov r2, r8 - strb r2, [r0] - adds r0, r7, 0 - bl sub_80E7A9C - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r7, 0 - adds r0, 0x38 - bl sub_80E7A9C - lsls r0, 24 - lsrs r1, r0, 24 - cmp r4, 0 - bne _080E7E30 - cmp r1, 0 - beq _080E7E34 - mov r3, r9 - adds r1, r3, r5 - movs r0, 0x1 - strb r0, [r1] - b _080E7E4E -_080E7E30: - cmp r1, 0 - beq _080E7E48 -_080E7E34: - bl Random2 - mov r1, r9 - adds r2, r1, r5 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - ands r0, r1 - strb r0, [r2] - b _080E7E4E -_080E7E48: - mov r2, r9 - adds r0, r2, r5 - strb r1, [r0] -_080E7E4E: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_080E7E54: - mov r0, r8 - adds r0, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - mov r8, r3 - ldr r1, [sp, 0x54] - cmp r0, r1 - bcc _080E7D84 -_080E7E64: - movs r2, 0 - mov r8, r2 - ldr r3, [sp, 0x44] - lsls r0, r3, 4 - subs r0, r3 - lsls r0, 3 - ldr r1, [sp, 0x2C] - adds r7, r1, r0 - ldr r1, [sp, 0x48] -_080E7E76: - mov r2, r8 - lsls r0, r2, 2 - adds r0, r1, r0 - str r7, [r0] - mov r0, r8 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - cmp r0, 0x3 - bls _080E7E76 - bl sub_80E7B54 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 24 - lsrs r1, r0, 24 - ldr r3, [sp, 0x34] - cmp r3, 0x3 - beq _080E7EC8 - cmp r3, 0x3 - bgt _080E7EAE - cmp r3, 0x2 - beq _080E7EB6 - b _080E7F1C -_080E7EAE: - ldr r0, [sp, 0x34] - cmp r0, 0x4 - beq _080E7EE8 - b _080E7F1C -_080E7EB6: - add r2, sp, 0x24 - movs r0, 0x1 - str r0, [sp] - ldr r0, [sp, 0x2C] - ldr r1, [sp, 0x30] - movs r3, 0 - bl sub_80E7AA4 - b _080E7F1C -_080E7EC8: - ldr r0, =gUnknown_0858CFB8 - lsls r1, 1 - adds r2, r1, r0 - ldrb r3, [r2] - adds r0, 0x1 - adds r1, r0 - ldrb r0, [r1] - add r2, sp, 0x24 - str r0, [sp] - ldr r0, [sp, 0x2C] - ldr r1, [sp, 0x30] - bl sub_80E7AA4 - b _080E7F1C - .pool -_080E7EE8: - add r6, sp, 0x24 - ldr r4, =gUnknown_0858CFBE - lsls r5, r1, 2 - adds r0, r5, r4 - ldrb r3, [r0] - adds r0, r4, 0x1 - adds r0, r5, r0 - ldrb r0, [r0] - str r0, [sp] - ldr r0, [sp, 0x2C] - ldr r1, [sp, 0x30] - adds r2, r6, 0 - bl sub_80E7AA4 - adds r0, r4, 0x2 - adds r0, r5, r0 - ldrb r3, [r0] - adds r4, 0x3 - adds r5, r4 - ldrb r0, [r5] - str r0, [sp] - ldr r0, [sp, 0x2C] - ldr r1, [sp, 0x30] - adds r2, r6, 0 - bl sub_80E7AA4 -_080E7F1C: - ldr r1, [sp, 0x2C] - ldr r2, [sp, 0x44] - adds r7, r1, r2 - ldr r4, =gSaveBlock1Ptr - ldr r0, [r4] - movs r3, 0xC2 - lsls r3, 6 - adds r0, r3 - adds r1, r7, 0 - movs r2, 0x38 - bl memcpy - ldr r0, [r4] - ldr r1, =0x0000310c - adds r0, r1 - adds r1, r7, 0 - adds r1, 0x38 - movs r2, 0x38 - bl memcpy - ldr r0, [sp, 0x38] - bl SeedRng - 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_80E7B60 - - thumb_func_start sub_80E7F68 -sub_80E7F68: @ 80E7F68 - push {r4,lr} - adds r4, r0, 0 - lsls r1, 24 - cmp r1, 0 - beq _080E7FEC - ldrh r0, [r4] - cmp r0, 0 - beq _080E7FEC - bl GetPocketByItemId - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bne _080E7FEC - ldrh r0, [r4] - movs r1, 0x1 - bl CheckBagHasItem - lsls r0, 24 - cmp r0, 0 - bne _080E7FE4 - ldrh r0, [r4] - movs r1, 0x1 - bl CheckPCHasItem - lsls r0, 24 - cmp r0, 0 - bne _080E7FE4 - ldrh r0, [r4] - movs r1, 0x1 - bl AddBagItem - lsls r0, 24 - cmp r0, 0 - beq _080E7FE4 - ldr r0, =0x00004001 - ldrh r1, [r4] - bl VarSet - ldr r0, =gStringVar1 - ldr r1, =gLinkPlayers + 8 - bl StringCopy - ldrh r1, [r4] - ldr r0, =0x00000113 - cmp r1, r0 - bne _080E7FEC - ldr r0, =0x000008b3 - bl FlagSet - b _080E7FEC - .pool -_080E7FE4: - ldr r0, =0x00004001 - movs r1, 0 - bl VarSet -_080E7FEC: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E7F68 - - thumb_func_start sub_80E7FF8 -sub_80E7FF8: @ 80E7FF8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x9 - bls _080E8012 - b _080E810A -_080E8012: - lsls r0, 2 - ldr r1, =_080E8024 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080E8024: - .4byte _080E80F2 - .4byte _080E804C - .4byte _080E805A - .4byte _080E8064 - .4byte _080E807C - .4byte _080E8090 - .4byte _080E80A4 - .4byte _080E80C0 - .4byte _080E80EE - .4byte _080E80FA -_080E804C: - bl sub_800A064 - cmp r0, 0 - bne _080E80F2 - movs r0, 0x6 - strh r0, [r4, 0x8] - b _080E810A -_080E805A: - bl sub_8076D5C - bl sub_8153430 - b _080E80F2 -_080E8064: - bl sub_8153474 - lsls r0, 24 - cmp r0, 0 - beq _080E810A - bl sav2_gender2_inplace_and_xFE - movs r1, 0 - movs r0, 0x4 - strh r0, [r4, 0x8] - strh r1, [r4, 0xA] - b _080E810A -_080E807C: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - ble _080E810A - bl sub_800AC34 - b _080E80F2 -_080E8090: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _080E810A - adds r0, r5, 0 - bl DestroyTask - b _080E810A - .pool -_080E80A4: - movs r0, 0 - bl sub_801048C - lsls r0, 24 - cmp r0, 0 - bne _080E810A - ldr r0, =sub_8153688 - movs r1, 0x5 - bl CreateTask - b _080E80F2 - .pool -_080E80C0: - ldr r0, =sub_8153688 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _080E810A - ldr r0, =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _080E80E8 - movs r0, 0x1 - bl sub_801048C - movs r0, 0x8 - strh r0, [r4, 0x8] - b _080E810A - .pool -_080E80E8: - movs r0, 0x4 - strh r0, [r4, 0x8] - b _080E810A -_080E80EE: - bl sub_800ADF8 -_080E80F2: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080E810A -_080E80FA: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _080E810A - adds r0, r5, 0 - bl DestroyTask -_080E810A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80E7FF8 - - thumb_func_start sub_80E8110 -sub_80E8110: @ 80E8110 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - str r0, [sp] - mov r10, r1 - adds r1, r0, 0 - adds r1, 0x38 - movs r0, 0xFF - strb r0, [r1] - ldr r1, [sp] - adds r1, 0x7C - movs r0, 0x1 - negs r0, r0 - strb r0, [r1] - ldr r0, [sp] - mov r1, r10 - movs r2, 0x44 - bl memcpy - movs r0, 0 - str r0, [sp, 0x8] - movs r1, 0 - str r1, [sp, 0xC] - movs r2, 0 - str r2, [sp, 0x4] - mov r8, r2 - movs r7, 0 - ldr r0, =gSaveBlock2Ptr - mov r9, r0 -_080E8150: - mov r1, r9 - ldr r0, [r1] - adds r0, 0xB2 - ldrb r0, [r0] - lsls r0, 27 - lsrs r0, 30 - adds r0, r7, r0 - movs r1, 0x3 - bl __modsi3 - adds r6, r0, 0x1 - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - mov r2, r10 - adds r1, r0, r2 - adds r0, r1, 0 - adds r0, 0x38 - ldrb r0, [r0] - cmp r0, 0xFF - beq _080E81B8 - adds r5, r1, 0 - adds r5, 0x34 - adds r0, r5, 0 - bl ReadUnalignedWord - adds r4, r0, 0 - mov r1, r9 - ldr r0, [r1] - adds r0, 0xA - bl ReadUnalignedWord - cmp r4, r0 - beq _080E819A - movs r2, 0x1 - add r8, r2 - str r6, [sp, 0x4] -_080E819A: - adds r0, r5, 0 - bl ReadUnalignedWord - adds r4, r0, 0 - mov r1, r9 - ldr r0, [r1] - adds r0, 0xA - bl ReadUnalignedWord - cmp r4, r0 - bne _080E81B8 - ldr r2, [sp, 0xC] - adds r2, 0x1 - str r2, [sp, 0xC] - str r6, [sp, 0x8] -_080E81B8: - adds r7, 0x1 - cmp r7, 0x1 - ble _080E8150 - mov r0, r8 - cmp r0, 0 - bne _080E81D0 - ldr r1, [sp, 0xC] - cmp r1, 0 - beq _080E81D0 - mov r8, r1 - ldr r2, [sp, 0x8] - str r2, [sp, 0x4] -_080E81D0: - mov r0, r8 - cmp r0, 0x1 - beq _080E81E0 - cmp r0, 0x2 - beq _080E81EC - b _080E824C - .pool -_080E81E0: - ldr r2, [sp, 0x4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - add r1, r10 - b _080E820E -_080E81EC: - bl Random2 - lsls r0, 16 - ldr r1, =0x33330000 - cmp r0, r1 - bls _080E8224 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - adds r0, 0xB2 - ldrb r0, [r0] - lsls r0, 27 - lsrs r0, 30 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r10 - adds r1, 0x44 -_080E820E: - ldr r0, [sp] - adds r0, 0x44 - movs r2, 0x44 - bl memcpy - b _080E824C - .pool -_080E8224: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - adds r0, 0xB2 - ldrb r0, [r0] - lsls r0, 27 - lsrs r0, 30 - adds r0, 0x1 - movs r1, 0x3 - bl __modsi3 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r10 - adds r1, 0x44 - ldr r0, [sp] - adds r0, 0x44 - movs r2, 0x44 - bl memcpy -_080E824C: - 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_80E8110 - - thumb_func_start sub_80E8260 -sub_80E8260: @ 80E8260 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - mov r8, r0 - movs r6, 0 - ldr r0, =gSaveBlock2Ptr - mov r10, r0 -_080E8274: - movs r7, 0 - lsls r0, r6, 5 - adds r6, 0x1 - mov r9, r6 - mov r1, r8 - adds r4, r0, r1 - adds r0, 0x6 - adds r6, r1, r0 - adds r5, r4, 0 -_080E8286: - mov r2, r10 - ldr r1, [r2] - adds r1, 0xA - adds r0, r5, 0 - bl CopyUnalignedWord - movs r0, 0x2 - strb r0, [r4, 0xE] - mov r0, r10 - ldr r1, [r0] - adds r0, r6, 0 - bl StringCopy - adds r4, 0x10 - adds r6, 0x10 - adds r5, 0x10 - adds r7, 0x1 - cmp r7, 0x1 - ble _080E8286 - mov r6, r9 - cmp r6, 0x8 - ble _080E8274 - ldr r1, =gSaveBlock2Ptr - mov r10, r1 - ldr r2, =0x00000ee1 - str r2, [sp, 0x4] - movs r4, 0x99 - lsls r4, 1 - add r4, r8 - movs r0, 0x95 - lsls r0, 1 - add r0, r8 - mov r9, r0 - ldr r1, =0x00000ef1 - str r1, [sp, 0x8] - movs r6, 0x92 - lsls r6, 1 - add r6, r8 - movs r5, 0x90 - lsls r5, 1 - add r5, r8 - movs r7, 0x1 -_080E82DA: - movs r0, 0x2 - strb r0, [r4, 0x8] - mov r2, r10 - ldr r1, [r2] - adds r1, 0xA - adds r0, r5, 0 - bl CopyUnalignedWord - mov r0, r10 - ldr r1, [r0] - ldr r2, [sp, 0x8] - adds r1, r2 - adds r0, r6, 0 - bl CopyUnalignedWord - mov r0, r10 - ldr r1, [r0] - mov r0, r9 - bl StringCopy - mov r2, r10 - ldr r1, [r2] - ldr r0, [sp, 0x4] - adds r1, r0 - adds r0, r4, 0 - bl StringCopy - ldr r1, [sp, 0x4] - adds r1, 0x8 - str r1, [sp, 0x4] - adds r4, 0x1C - movs r2, 0x1C - add r9, r2 - ldr r0, [sp, 0x8] - adds r0, 0x4 - str r0, [sp, 0x8] - adds r6, 0x1C - adds r5, 0x1C - subs r7, 0x1 - cmp r7, 0 - bge _080E82DA - movs r6, 0 - ldr r0, =gSaveBlock2Ptr - ldr r3, [r0] - mov r4, r8 - movs r1, 0xC4 - adds r1, r4 - mov r9, r1 - movs r2, 0x84 - adds r2, r4 - mov r8, r2 - movs r0, 0x44 - adds r0, r4 - mov r12, r0 - adds r7, r4, 0x4 - movs r1, 0xCF - lsls r1, 4 - adds r1, r3, r1 - str r1, [sp] - mov r10, r4 - ldr r2, =0x00000cf4 - adds r5, r3, r2 -_080E8356: - lsls r2, r6, 1 - ldr r1, [sp] - ldrh r0, [r1] - strh r0, [r7] - ldrh r0, [r5] - strh r0, [r7, 0x20] - ldrh r0, [r5, 0x4] - mov r1, r12 - strh r0, [r1] - ldr r1, =0x00000d14 - adds r0, r3, r1 - adds r0, r2 - ldrh r0, [r0] - mov r1, r12 - strh r0, [r1, 0x20] - movs r1, 0xDD - lsls r1, 4 - adds r0, r3, r1 - adds r0, r2 - ldrh r0, [r0] - mov r1, r8 - strh r0, [r1] - ldr r1, =0x00000dde - adds r0, r3, r1 - adds r0, r2 - ldrh r0, [r0] - mov r1, r8 - strh r0, [r1, 0x20] - ldr r1, =0x00000dea - adds r0, r3, r1 - adds r0, r2 - ldrh r0, [r0] - mov r1, r9 - strh r0, [r1] - ldr r1, =0x00000e08 - adds r0, r3, r1 - adds r0, r2 - ldrh r0, [r0] - mov r1, r9 - strh r0, [r1, 0x20] - ldr r1, =0x00000e1e - adds r0, r3, r1 - adds r0, r2 - ldrh r1, [r0] - movs r0, 0x82 - lsls r0, 1 - add r0, r10 - strh r1, [r0] - ldr r1, =0x00000cfc - adds r0, r3, r1 - adds r0, r2 - ldrh r1, [r0] - movs r2, 0x94 - lsls r2, 1 - adds r0, r4, r2 - strh r1, [r0] - adds r4, 0x1C - movs r0, 0x10 - add r9, r0 - add r8, r0 - add r12, r0 - adds r7, 0x10 - ldr r1, [sp] - adds r1, 0x2 - str r1, [sp] - add r10, r0 - adds r5, 0x2 - adds r6, 0x1 - cmp r6, 0x1 - ble _080E8356 - 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_80E8260 - - thumb_func_start sub_80E841C -sub_80E841C: @ 80E841C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r0, 0 - movs r0, 0 - mov r8, r0 - adds r6, r1, 0 - adds r6, 0x34 - adds r5, r1, 0 -_080E842E: - adds r0, r7, 0 - adds r0, 0x34 - bl ReadUnalignedWord - adds r4, r0, 0 - adds r0, r6, 0 - bl ReadUnalignedWord - cmp r4, r0 - bne _080E844E - ldrb r0, [r7, 0x2] - ldrb r1, [r5, 0x2] - cmp r0, r1 - bne _080E844E - movs r0, 0x1 - b _080E845E -_080E844E: - adds r6, 0x44 - adds r5, 0x44 - movs r0, 0x1 - add r8, r0 - mov r1, r8 - cmp r1, 0x3 - ble _080E842E - movs r0, 0 -_080E845E: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80E841C - - thumb_func_start sub_80E8468 -sub_80E8468: @ 80E8468 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x14 - adds r6, r0, 0 - adds r5, r1, 0 - adds r4, r2, 0 - mov r0, sp - bl sub_80E7830 - lsls r4, 2 - mov r1, sp - adds r0, r1, r4 - ldr r0, [r0] - muls r0, r5 - adds r3, r6, r0 - movs r7, 0 - movs r2, 0 - mov r8, r2 - movs r5, 0 - adds r6, r3, 0 - adds r6, 0x38 - adds r4, r3, 0 -_080E8496: - ldrb r0, [r6] - cmp r0, 0xFF - beq _080E84B4 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - adds r1, 0xDC - adds r0, r4, 0 - str r3, [sp, 0x10] - bl sub_80E841C - ldr r3, [sp, 0x10] - cmp r0, 0 - bne _080E84B4 - adds r7, 0x1 - mov r8, r5 -_080E84B4: - adds r6, 0x44 - adds r4, 0x44 - adds r5, 0x1 - cmp r5, 0x1 - ble _080E8496 - cmp r7, 0x1 - beq _080E84CC - cmp r7, 0x2 - beq _080E8508 - b _080E8566 - .pool -_080E84CC: - ldr r4, =gSaveBlock2Ptr - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0xB2 - ldrb r1, [r1] - lsls r1, 27 - lsrs r1, 30 - adds r2, r1, 0x1 - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r0, r1 - adds r0, 0xDC - mov r2, r8 - lsls r1, r2, 4 - add r1, r8 - lsls r1, 2 - adds r1, r3 - movs r2, 0x44 - bl memcpy - ldr r4, [r4] - adds r4, 0xB2 - ldrb r5, [r4] - lsls r0, r5, 27 - lsrs r0, 30 - adds r0, 0x1 - b _080E8550 - .pool -_080E8508: - movs r5, 0 - adds r6, r3, 0 -_080E850C: - movs r0, 0x1 - eors r0, r5 - ldr r7, =gSaveBlock2Ptr - ldr r4, [r7] - adds r1, r4, 0 - adds r1, 0xB2 - ldrb r1, [r1] - lsls r1, 27 - lsrs r1, 30 - adds r0, r1 - movs r1, 0x3 - bl __modsi3 - adds r2, r0, 0x1 - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r4, r0 - adds r4, 0xDC - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0x44 - bl memcpy - adds r6, 0x44 - adds r5, 0x1 - cmp r5, 0x1 - ble _080E850C - ldr r4, [r7] - adds r4, 0xB2 - ldrb r5, [r4] - lsls r0, r5, 27 - lsrs r0, 30 - adds r0, 0x2 -_080E8550: - movs r1, 0x3 - bl __modsi3 - movs r1, 0x3 - ands r0, r1 - lsls r0, 3 - movs r1, 0x19 - negs r1, r1 - ands r1, r5 - orrs r1, r0 - strb r1, [r4] -_080E8566: - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E8468 - - thumb_func_start sub_80E8578 -sub_80E8578: @ 80E8578 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x54 - str r0, [sp] - ldr r0, [sp, 0x74] - movs r4, 0 - mov r8, r4 - movs r5, 0 - str r5, [sp, 0x4] - ldr r4, =gUnknown_03001168 - b _080E85A0 - .pool -_080E8598: - adds r1, r2 - ldr r6, [sp, 0x4] - adds r6, 0x1 - str r6, [sp, 0x4] -_080E85A0: - ldr r5, [sp, 0x4] - cmp r5, r0 - bge _080E85B6 - cmp r5, r3 - beq _080E85B0 - stm r4!, {r1} - movs r6, 0x1 - add r8, r6 -_080E85B0: - mov r5, r8 - cmp r5, 0x3 - bne _080E8598 -_080E85B6: - movs r6, 0 - str r6, [sp, 0x4] - subs r0, 0x1 - str r0, [sp, 0x24] -_080E85BE: - movs r0, 0 - str r0, [sp, 0x8] - ldr r1, [sp, 0x4] - adds r1, 0x1 - str r1, [sp, 0x28] - ldr r2, [sp, 0x4] - lsls r2, 1 - str r2, [sp, 0x34] - ldr r3, [sp, 0x4] - adds r3, r2, r3 - str r3, [sp, 0x10] - movs r4, 0 - str r4, [sp, 0x44] - movs r5, 0 - str r5, [sp, 0x48] -_080E85DC: - movs r6, 0 - mov r8, r6 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - ldr r2, [sp, 0x10] - lsls r0, r2, 5 - ldr r3, [sp, 0x48] - adds r0, r3, r0 - adds r3, r0, r1 - lsls r0, r2, 6 - ldr r4, [sp, 0x44] - adds r0, r4, r0 - ldr r5, [sp] - adds r2, r0, r5 -_080E85F8: - adds r0, r2, 0 - movs r6, 0x87 - lsls r6, 2 - adds r1, r3, r6 - ldm r1!, {r4-r6} - stm r0!, {r4-r6} - ldr r1, [r1] - str r1, [r0] - adds r3, 0x10 - adds r2, 0x10 - movs r0, 0x1 - add r8, r0 - mov r1, r8 - cmp r1, 0x2 - ble _080E85F8 - movs r2, 0 - mov r8, r2 - ldr r3, [sp, 0x24] - cmp r8, r3 - bge _080E86DC - ldr r4, [sp, 0x4] - lsls r4, 5 - mov r9, r4 - ldr r5, [sp, 0x8] - lsls r7, r5, 4 - ldr r6, [sp, 0x34] - ldr r1, [sp, 0x4] - adds r0, r6, r1 - lsls r0, 6 - str r0, [sp, 0x14] - ldr r2, [sp] - adds r0, r2, r0 - ldr r3, [sp, 0x44] - str r3, [sp, 0x18] - adds r0, r3 - str r0, [sp, 0x1C] - ldr r4, [sp, 0x14] - adds r0, r3, r4 - adds r0, r2 - adds r0, 0x30 - mov r10, r0 -_080E864A: - movs r5, 0 - str r5, [sp, 0xC] - movs r3, 0 - mov r6, r8 - lsls r6, 2 - str r6, [sp, 0x38] - ldr r1, [sp, 0x18] - ldr r2, [sp, 0x14] - adds r0, r1, r2 - ldr r4, [sp] - adds r5, r0, r4 - ldr r0, =gUnknown_03001168 - adds r0, r6, r0 - str r0, [sp, 0x50] -_080E8666: - lsls r0, r3, 4 - ldr r6, [sp, 0x1C] - adds r0, r6, r0 - str r3, [sp, 0x4C] - bl ReadUnalignedWord - adds r4, r0, 0 - ldr r1, [sp, 0x50] - ldr r0, [r1] - add r0, r9 - adds r0, r7 - bl ReadUnalignedWord - ldr r3, [sp, 0x4C] - cmp r4, r0 - bne _080E86A8 - ldr r2, [sp, 0xC] - adds r2, 0x1 - str r2, [sp, 0xC] - ldr r4, [sp, 0x50] - ldr r0, [r4] - mov r6, r9 - adds r1, r7, r6 - adds r1, r0, r1 - ldrh r0, [r5, 0x4] - ldrh r2, [r1, 0x4] - cmp r0, r2 - bcs _080E86A8 - adds r0, r5, 0 - ldm r1!, {r2,r4,r6} - stm r0!, {r2,r4,r6} - ldr r1, [r1] - str r1, [r0] -_080E86A8: - adds r5, 0x10 - adds r3, 0x1 - cmp r3, 0x2 - ble _080E8666 - ldr r3, [sp, 0xC] - cmp r3, 0 - bne _080E86CE - ldr r0, =gUnknown_03001168 - ldr r4, [sp, 0x38] - adds r0, r4, r0 - ldr r0, [r0] - mov r5, r9 - adds r2, r7, r5 - mov r1, r10 - adds r0, r2 - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldr r0, [r0] - str r0, [r1] -_080E86CE: - movs r4, 0x10 - add r10, r4 - movs r5, 0x1 - add r8, r5 - ldr r6, [sp, 0x24] - cmp r8, r6 - blt _080E864A -_080E86DC: - ldr r0, [sp, 0x44] - adds r0, 0x60 - str r0, [sp, 0x44] - ldr r1, [sp, 0x48] - adds r1, 0x30 - str r1, [sp, 0x48] - ldr r2, [sp, 0x8] - adds r2, 0x1 - str r2, [sp, 0x8] - cmp r2, 0x1 - bgt _080E86F4 - b _080E85DC -_080E86F4: - ldr r3, [sp, 0x28] - str r3, [sp, 0x4] - cmp r3, 0x8 - bgt _080E86FE - b _080E85BE -_080E86FE: - movs r4, 0 - str r4, [sp, 0x8] -_080E8702: - ldr r5, [sp, 0x8] - adds r5, 0x1 - str r5, [sp, 0x2C] - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - movs r0, 0x54 - ldr r6, [sp, 0x8] - muls r0, r6 - adds r3, r0, r1 - movs r0, 0xA8 - muls r0, r6 - ldr r1, [sp] - adds r2, r0, r1 - movs r4, 0x2 - mov r8, r4 -_080E8720: - movs r5, 0xD8 - lsls r5, 3 - adds r0, r2, r5 - ldr r6, =0x0000057c - adds r1, r3, r6 - ldm r1!, {r4-r6} - stm r0!, {r4-r6} - ldm r1!, {r4-r6} - stm r0!, {r4-r6} - ldr r1, [r1] - str r1, [r0] - adds r3, 0x1C - adds r2, 0x1C - movs r0, 0x1 - negs r0, r0 - add r8, r0 - mov r1, r8 - cmp r1, 0 - bge _080E8720 - movs r2, 0 - mov r8, r2 - ldr r3, [sp, 0x24] - cmp r8, r3 - blt _080E8752 - b _080E885A -_080E8752: - ldr r4, [sp, 0x8] - lsls r1, r4, 3 - movs r0, 0xA8 - adds r5, r4, 0 - muls r5, r0 - str r5, [sp, 0x20] - str r5, [sp, 0x3C] - subs r1, r4 - lsls r1, 2 - mov r10, r1 -_080E8766: - movs r6, 0 - str r6, [sp, 0xC] - mov r0, r8 - lsls r0, 2 - str r0, [sp, 0x38] - mov r1, r8 - adds r1, 0x1 - str r1, [sp, 0x30] - ldr r0, =gUnknown_03001168 - ldr r2, [sp, 0x38] - adds r2, r0 - mov r9, r2 - ldr r3, [sp] - movs r4, 0xD8 - lsls r4, 3 - adds r0, r3, r4 - ldr r5, [sp, 0x3C] - adds r7, r5, r0 - str r6, [sp, 0x40] - movs r3, 0x2 -_080E878E: - ldr r1, [sp, 0x20] - movs r2, 0xD8 - lsls r2, 3 - adds r0, r1, r2 - ldr r4, [sp] - adds r0, r4, r0 - ldr r6, [sp, 0x40] - adds r5, r0, r6 - adds r0, r5, 0 - str r3, [sp, 0x4C] - bl ReadUnalignedWord - adds r4, r0, 0 - movs r6, 0x90 - lsls r6, 1 - add r6, r10 - mov r1, r9 - ldr r0, [r1] - adds r0, r6 - bl ReadUnalignedWord - ldr r3, [sp, 0x4C] - cmp r4, r0 - bne _080E8808 - adds r0, r5, 0x4 - bl ReadUnalignedWord - adds r4, r0, 0 - mov r2, r9 - ldr r0, [r2] - adds r0, r6 - adds r0, 0x4 - bl ReadUnalignedWord - ldr r3, [sp, 0x4C] - cmp r4, r0 - bne _080E8808 - ldr r4, [sp, 0xC] - adds r4, 0x1 - str r4, [sp, 0xC] - mov r5, r9 - ldr r0, [r5] - mov r6, r10 - adds r2, r0, r6 - movs r0, 0x94 - lsls r0, 1 - adds r1, r2, r0 - ldrh r0, [r7, 0x8] - ldrh r1, [r1] - cmp r0, r1 - bcs _080E8808 - adds r0, r7, 0 - movs r4, 0x90 - lsls r4, 1 - adds r1, r2, r4 - ldm r1!, {r2,r5,r6} - stm r0!, {r2,r5,r6} - ldm r1!, {r4-r6} - stm r0!, {r4-r6} - ldr r1, [r1] - str r1, [r0] -_080E8808: - adds r7, 0x1C - ldr r0, [sp, 0x40] - adds r0, 0x1C - str r0, [sp, 0x40] - subs r3, 0x1 - cmp r3, 0 - bge _080E878E - ldr r1, [sp, 0xC] - cmp r1, 0 - bne _080E8850 - mov r0, r8 - adds r0, 0x3 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - ldr r2, [sp, 0x20] - adds r1, r2 - ldr r3, [sp] - adds r1, r3, r1 - ldr r0, =gUnknown_03001168 - ldr r4, [sp, 0x38] - adds r0, r4, r0 - ldr r0, [r0] - add r0, r10 - movs r5, 0xD8 - lsls r5, 3 - adds r1, r5 - movs r6, 0x90 - lsls r6, 1 - adds r0, r6 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2,r5,r6} - stm r1!, {r2,r5,r6} - ldr r0, [r0] - str r0, [r1] -_080E8850: - ldr r3, [sp, 0x30] - mov r8, r3 - ldr r4, [sp, 0x24] - cmp r8, r4 - blt _080E8766 -_080E885A: - ldr r5, [sp, 0x2C] - str r5, [sp, 0x8] - cmp r5, 0x1 - bgt _080E8864 - b _080E8702 -_080E8864: - add sp, 0x54 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E8578 - - thumb_func_start sub_80E8880 -sub_80E8880: @ 80E8880 - push {r4-r7,lr} - mov r12, r0 - adds r7, r1, 0 - movs r5, 0 -_080E8888: - movs r2, 0 - movs r4, 0x1 - negs r4, r4 - movs r1, 0 - adds r6, r5, 0x1 - adds r3, r7, 0 -_080E8894: - ldrh r0, [r3, 0x4] - cmp r0, r2 - ble _080E889E - adds r4, r1, 0 - adds r2, r0, 0 -_080E889E: - adds r3, 0x10 - adds r1, 0x1 - cmp r1, 0x5 - ble _080E8894 - cmp r4, 0 - blt _080E88C0 - lsls r1, r5, 4 - lsls r2, r4, 4 - adds r2, r7 - add r1, r12 - adds r0, r2, 0 - ldm r0!, {r3-r5} - stm r1!, {r3-r5} - ldr r0, [r0] - str r0, [r1] - movs r0, 0 - strh r0, [r2, 0x4] -_080E88C0: - adds r5, r6, 0 - cmp r5, 0x2 - ble _080E8888 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80E8880 - - thumb_func_start sub_80E88CC -sub_80E88CC: @ 80E88CC - push {r4-r7,lr} - mov r12, r0 - adds r6, r1, 0 - movs r5, 0 -_080E88D4: - movs r3, 0 - movs r4, 0x1 - negs r4, r4 - movs r2, 0 - adds r7, r5, 0x1 - adds r1, r6, 0 -_080E88E0: - ldrh r0, [r1, 0x8] - cmp r0, r3 - ble _080E88EA - adds r4, r2, 0 - adds r3, r0, 0 -_080E88EA: - adds r1, 0x1C - adds r2, 0x1 - cmp r2, 0x5 - ble _080E88E0 - cmp r4, 0 - blt _080E8918 - lsls r1, r5, 3 - subs r1, r5 - lsls r1, 2 - lsls r2, r4, 3 - subs r2, r4 - lsls r2, 2 - adds r2, r6 - add r1, r12 - adds r0, r2, 0 - ldm r0!, {r3-r5} - stm r1!, {r3-r5} - ldm r0!, {r3-r5} - stm r1!, {r3-r5} - ldr r0, [r0] - str r0, [r1] - movs r0, 0 - strh r0, [r2, 0x8] -_080E8918: - adds r5, r7, 0 - cmp r5, 0x2 - ble _080E88D4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80E88CC - - thumb_func_start sub_80E8924 -sub_80E8924: @ 80E8924 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r9, r0 - movs r0, 0 - ldr r1, =gSaveBlock2Ptr - mov r10, r1 -_080E8936: - lsls r1, r0, 1 - adds r2, r0, 0x1 - mov r8, r2 - adds r1, r0 - lsls r0, r1, 5 - movs r2, 0x87 - lsls r2, 2 - adds r7, r0, r2 - lsls r1, 6 - mov r0, r9 - adds r4, r0, r1 - movs r6, 0 - movs r5, 0x1 -_080E8950: - mov r1, r10 - ldr r0, [r1] - adds r0, r7 - adds r0, r6 - adds r1, r4, 0 - bl sub_80E8880 - adds r4, 0x60 - adds r6, 0x30 - subs r5, 0x1 - cmp r5, 0 - bge _080E8950 - mov r0, r8 - cmp r0, 0x8 - ble _080E8936 - movs r5, 0 - ldr r4, =gSaveBlock2Ptr -_080E8972: - movs r0, 0x54 - adds r1, r5, 0 - muls r1, r0 - ldr r2, =0x0000057c - adds r1, r2 - ldr r0, [r4] - adds r0, r1 - movs r1, 0xA8 - muls r1, r5 - movs r2, 0xD8 - lsls r2, 3 - adds r1, r2 - add r1, r9 - bl sub_80E88CC - adds r5, 0x1 - cmp r5, 0x1 - ble _080E8972 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E8924 - - thumb_func_start sub_80E89AC -sub_80E89AC: @ 80E89AC - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x4 - adds r6, r0, 0 - mov r8, r1 - mov r9, r2 - bl GetLinkPlayerCount - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x81 - lsls r0, 4 - bl AllocZeroed - adds r5, r0, 0 - str r4, [sp] - adds r1, r6, 0 - mov r2, r8 - mov r3, r9 - bl sub_80E8578 - adds r0, r5, 0 - bl sub_80E8924 - adds r0, r5, 0 - bl Free - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80E89AC - - thumb_func_start sub_80E89F8 -sub_80E89F8: @ 80E89F8 - push {r4-r6,lr} - adds r6, r0, 0 - ldr r5, =gUnknown_02039F9C - ldr r4, =gSaveBlock1Ptr - ldr r1, [r4] - movs r0, 0xC2 - lsls r0, 6 - adds r1, r0 - adds r0, r5, 0 - movs r2, 0x38 - bl memcpy - ldr r1, [r4] - ldr r0, =0x0000310c - adds r1, r0 - adds r0, r5, 0 - adds r0, 0x38 - movs r2, 0x38 - bl memcpy - ldr r0, [r4] - ldr r1, =0x00003030 - adds r0, r1 - adds r1, r5, 0 - bl InitDaycareMailRecordMixing - ldr r0, =gUnknown_03001148 - ldr r1, [r0] - adds r0, r6, 0 - movs r2, 0x78 - bl memcpy - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E89F8 - - thumb_func_start sub_80E8A54 -sub_80E8A54: @ 80E8A54 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r5, r0, 0 - movs r0, 0 - mov r9, r0 - ldr r0, [r5, 0x70] - cmp r9, r0 - bcs _080E8AAE - adds r4, r5, 0 - adds r4, 0x2C - movs r0, 0x24 - adds r0, r5 - mov r8, r0 - adds r7, r5, 0 - adds r7, 0x37 - adds r6, r5, 0 -_080E8A78: - ldrh r0, [r6, 0x20] - cmp r0, 0 - beq _080E8A9A - ldrb r1, [r4, 0xB] - movs r0, 0xF - ands r0, r1 - cmp r0, 0x1 - beq _080E8A90 - mov r0, r8 - movs r1, 0xFC - bl PadNameString -_080E8A90: - ldrb r1, [r7] - lsrs r1, 4 - adds r0, r4, 0 - bl ConvertInternationalString -_080E8A9A: - adds r4, 0x38 - movs r0, 0x38 - add r8, r0 - adds r7, 0x38 - adds r6, 0x38 - movs r0, 0x1 - add r9, r0 - ldr r0, [r5, 0x70] - cmp r9, r0 - bcc _080E8A78 -_080E8AAE: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80E8A54 - - thumb_func_start TaskDummy4 -TaskDummy4: @ 80E8ABC - bx lr - thumb_func_end TaskDummy4 - - thumb_func_start sub_80E8AC0 -sub_80E8AC0: @ 80E8AC0 - push {r4,r5,lr} - adds r5, r0, 0 - movs r4, 0 -_080E8AC6: - movs r0, 0x2C - muls r0, r4 - adds r0, 0x34 - adds r1, r5, r0 - ldrh r0, [r1] - cmp r0, 0 - beq _080E8ADC - adds r0, r1, 0 - adds r0, 0x20 - bl StripExtCtrlCodes -_080E8ADC: - adds r4, 0x1 - cmp r4, 0x3 - ble _080E8AC6 - adds r0, r5, 0 - bl sub_8164F70 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80E8AC0 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/rom_8011DC0.s b/asm/rom_8011DC0.s index 2ba5926aa..b7f03739a 100644 --- a/asm/rom_8011DC0.s +++ b/asm/rom_8011DC0.s @@ -4,7 +4,7 @@ .syntax unified .text - + thumb_func_start nullsub_89 nullsub_89: @ 80124E8 bx lr diff --git a/asm/rom_8034C54.s b/asm/rom_8034C54.s deleted file mode 100644 index 4274f26b6..000000000 --- a/asm/rom_8034C54.s +++ /dev/null @@ -1,1312 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8034C54 -sub_8034C54: @ 8034C54 - push {r4-r7,lr} - adds r4, r0, 0 - ldr r5, =gUnknown_02022E10 - ldr r0, [r5] - cmp r0, 0 - beq _08034C64 - bl sub_8034CC8 -_08034C64: - movs r0, 0x8 - bl Alloc - str r0, [r5] - cmp r0, 0 - bne _08034C78 - movs r0, 0 - b _08034CC0 - .pool -_08034C78: - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - bl Alloc - ldr r1, [r5] - str r0, [r1, 0x4] - cmp r0, 0 - bne _08034C94 - adds r0, r1, 0 - bl Free - movs r0, 0 - b _08034CC0 -_08034C94: - str r4, [r1] - movs r3, 0 - cmp r3, r4 - bcs _08034CBE - movs r7, 0 - movs r6, 0xFF - movs r2, 0 -_08034CA2: - ldr r0, [r5] - ldr r0, [r0, 0x4] - adds r0, r2, r0 - strb r7, [r0] - ldr r0, [r5] - ldr r1, [r0, 0x4] - adds r1, r2, r1 - ldrb r0, [r1, 0x1] - orrs r0, r6 - strb r0, [r1, 0x1] - adds r2, 0x1C - adds r3, 0x1 - cmp r3, r4 - bcc _08034CA2 -_08034CBE: - movs r0, 0x1 -_08034CC0: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8034C54 - - thumb_func_start sub_8034CC8 -sub_8034CC8: @ 8034CC8 - push {r4,r5,lr} - ldr r2, =gUnknown_02022E10 - ldr r1, [r2] - cmp r1, 0 - beq _08034D08 - ldr r0, [r1, 0x4] - cmp r0, 0 - beq _08034CFC - movs r4, 0 - ldr r0, [r1] - cmp r4, r0 - bcs _08034CF2 - adds r5, r2, 0 -_08034CE2: - adds r0, r4, 0 - bl sub_80353DC - adds r4, 0x1 - ldr r0, [r5] - ldr r0, [r0] - cmp r4, r0 - bcc _08034CE2 -_08034CF2: - ldr r0, =gUnknown_02022E10 - ldr r0, [r0] - ldr r0, [r0, 0x4] - bl Free -_08034CFC: - ldr r4, =gUnknown_02022E10 - ldr r0, [r4] - bl Free - movs r0, 0 - str r0, [r4] -_08034D08: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8034CC8 - - thumb_func_start sub_8034D14 -sub_8034D14: @ 8034D14 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - mov r8, r0 - mov r10, r1 - adds r5, r2, 0 - ldr r6, =gUnknown_02022E10 - ldr r0, [r6] - cmp r0, 0 - beq _08034DD4 - ldr r1, [r0, 0x4] - mov r0, r8 - lsls r2, r0, 3 - subs r0, r2, r0 - lsls r4, r0, 2 - adds r1, r4, r1 - ldrb r0, [r1] - mov r9, r2 - cmp r0, 0 - bne _08034DD4 - ldrb r0, [r5, 0x1] - bl sub_8035518 - ldr r1, [r6] - ldr r1, [r1, 0x4] - adds r1, r4, r1 - strb r0, [r1, 0x1] - ldr r0, [r6] - ldr r0, [r0, 0x4] - adds r0, r4, r0 - ldrb r0, [r0, 0x1] - cmp r0, 0xFF - beq _08034DD4 - ldr r0, [r5, 0x8] - ldrh r0, [r0, 0x6] - bl GetSpriteTileStartByTag - ldr r2, [r6] - ldr r1, [r2, 0x4] - adds r1, r4, r1 - strh r0, [r1, 0xA] - ldr r0, [r2, 0x4] - adds r0, r4, r0 - ldrh r1, [r0, 0xA] - ldr r7, =0xffff0000 - lsrs r0, r7, 16 - cmp r1, r0 - bne _08034DE0 - ldr r2, [r5, 0x8] - ldrh r0, [r2, 0x4] - adds r1, r2, 0 - cmp r0, 0 - beq _08034D94 - adds r0, r1, 0 - bl LoadSpriteSheet - b _08034DB4 - .pool -_08034D94: - ldr r0, [r2] - ldr r1, [r2, 0x4] - str r0, [sp] - str r1, [sp, 0x4] - ldr r0, [r2] - bl sub_8034974 - lsls r0, 16 - lsrs r0, 16 - ldr r1, [sp, 0x4] - ands r1, r7 - orrs r1, r0 - str r1, [sp, 0x4] - mov r0, sp - bl LoadCompressedObjectPic -_08034DB4: - ldr r1, [r6] - ldr r1, [r1, 0x4] - adds r1, r4, r1 - strh r0, [r1, 0xA] - ldr r0, =gUnknown_02022E10 - ldr r0, [r0] - ldr r1, [r0, 0x4] - mov r2, r9 - mov r3, r8 - subs r0, r2, r3 - lsls r0, 2 - adds r0, r1 - ldrh r1, [r0, 0xA] - ldr r0, =0x0000ffff - cmp r1, r0 - bne _08034DE0 -_08034DD4: - movs r0, 0 - b _08034EE8 - .pool -_08034DE0: - ldr r0, [r5, 0xC] - ldrh r0, [r0, 0x4] - bl IndexOfSpritePaletteTag - ldr r6, =gUnknown_02022E10 - ldr r1, [r6] - ldr r1, [r1, 0x4] - mov r4, r9 - mov r3, r8 - subs r2, r4, r3 - lsls r4, r2, 2 - adds r1, r4, r1 - strb r0, [r1, 0x4] - ldr r0, [r6] - ldr r0, [r0, 0x4] - adds r0, r4, r0 - ldrb r0, [r0, 0x4] - cmp r0, 0xFF - bne _08034E14 - ldr r0, [r5, 0xC] - bl LoadSpritePalette - ldr r1, [r6] - ldr r1, [r1, 0x4] - adds r1, r4, r1 - strb r0, [r1, 0x4] -_08034E14: - ldr r0, [r6] - ldr r1, [r0, 0x4] - adds r1, r4, r1 - ldrb r0, [r5] - lsls r0, 30 - lsrs r0, 30 - strb r0, [r1, 0x2] - ldr r0, [r6] - ldr r0, [r0, 0x4] - adds r0, r4, r0 - ldrb r1, [r5, 0x1] - strb r1, [r0, 0x3] - ldr r2, [r6] - ldr r0, [r2, 0x4] - adds r0, r4, r0 - ldrh r1, [r5, 0x4] - strh r1, [r0, 0xC] - ldr r0, [r2, 0x4] - adds r0, r4, r0 - ldrh r1, [r5, 0x6] - strh r1, [r0, 0xE] - ldr r1, [r2, 0x4] - adds r1, r4, r1 - ldrb r0, [r5] - lsls r0, 28 - lsrs r0, 30 - strb r0, [r1, 0x6] - ldr r0, [r6] - ldr r1, [r0, 0x4] - adds r1, r4, r1 - ldrb r0, [r5] - lsls r0, 26 - lsrs r0, 30 - strb r0, [r1, 0x5] - ldr r0, [r6] - ldr r1, [r0, 0x4] - adds r1, r4, r1 - ldrb r0, [r5] - lsrs r0, 6 - strb r0, [r1, 0x7] - ldr r0, [r6] - ldr r0, [r0, 0x4] - adds r0, r4, r0 - ldrb r1, [r5, 0x2] - strb r1, [r0, 0x8] - ldrb r1, [r5] - lsls r0, r1, 28 - lsrs r0, 30 - lsls r1, 26 - lsrs r1, 30 - bl sub_80355F8 - ldr r1, [r6] - ldr r1, [r1, 0x4] - adds r1, r4, r1 - strb r0, [r1, 0x9] - ldr r2, [r6] - ldr r0, [r2, 0x4] - adds r0, r4, r0 - ldr r1, [r5, 0x8] - ldrh r1, [r1, 0x6] - strh r1, [r0, 0x10] - ldr r0, [r2, 0x4] - adds r0, r4, r0 - ldr r1, [r5, 0xC] - ldrh r1, [r1, 0x4] - strh r1, [r0, 0x12] - ldr r0, [r2, 0x4] - adds r0, r4, r0 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r6] - ldr r0, [r0, 0x4] - adds r0, r4, r0 - str r1, [r0, 0x14] - movs r3, 0x1 - ldrb r0, [r5, 0x1] - cmp r3, r0 - bcs _08034ECA -_08034EB2: - ldr r0, [r6] - ldr r2, [r0, 0x4] - adds r2, r4, r2 - ldr r1, [r2, 0x14] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 1 - str r0, [r2, 0x14] - adds r3, 0x1 - ldrb r2, [r5, 0x1] - cmp r3, r2 - bcc _08034EB2 -_08034ECA: - ldr r0, =gUnknown_02022E10 - ldr r0, [r0] - mov r3, r9 - mov r4, r8 - subs r1, r3, r4 - lsls r1, 2 - ldr r0, [r0, 0x4] - adds r0, r1 - bl sub_8034EFC - mov r0, r8 - mov r1, r10 - bl sub_8035044 - movs r0, 0x1 -_08034EE8: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8034D14 - - thumb_func_start sub_8034EFC -sub_8034EFC: @ 8034EFC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r4, r0, 0 - ldrb r5, [r4, 0x1] - movs r0, 0xC - ldrsh r7, [r4, r0] - ldrb r0, [r4, 0x3] - adds r0, 0x1 - mov r8, r0 - mov r1, sp - movs r0, 0 - strh r0, [r1] - lsls r1, r5, 3 - ldr r2, =gMain+0x38 - mov r9, r2 - add r1, r9 - mov r0, r8 - lsls r2, r0, 2 - movs r0, 0x80 - lsls r0, 17 - orrs r2, r0 - mov r0, sp - bl CpuSet - movs r6, 0 - ldrb r5, [r4, 0x1] - cmp r6, r8 - bcs _08034FCE - movs r1, 0x3F - mov r10, r1 - movs r2, 0xD - negs r2, r2 - mov r9, r2 -_08034F46: - lsls r0, r5, 3 - ldr r1, =gMain - adds r3, r0, r1 - ldrh r1, [r4, 0xE] - adds r0, r3, 0 - adds r0, 0x38 - strb r1, [r0] - ldr r2, =0x000001ff - adds r0, r2, 0 - adds r1, r7, 0 - ands r1, r0 - ldrh r2, [r3, 0x3A] - ldr r0, =0xfffffe00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, 0x3A] - ldrb r1, [r4, 0x6] - movs r0, 0x39 - adds r0, r3 - mov r12, r0 - lsls r1, 6 - ldrb r2, [r0] - mov r0, r10 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - ldrb r1, [r4, 0x5] - movs r2, 0x3B - adds r2, r3 - mov r12, r2 - lsls r1, 6 - ldrb r2, [r2] - mov r0, r10 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - ldrh r0, [r4, 0xA] - ldr r1, =0x000003ff - ands r1, r0 - ldrh r2, [r3, 0x3C] - ldr r0, =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, 0x3C] - adds r3, 0x3D - movs r0, 0x3 - ldrb r1, [r4, 0x7] - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3] - mov r0, r9 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldrb r2, [r4, 0x4] - lsls r2, 4 - movs r1, 0xF - ands r0, r1 - orrs r0, r2 - strb r0, [r3] - ldrb r0, [r4, 0x8] - adds r7, r0 - adds r6, 0x1 - adds r5, 0x1 - cmp r6, r8 - bcc _08034F46 -_08034FCE: - subs r5, 0x1 - ldr r0, =gMain - lsls r3, r5, 3 - adds r3, r0 - movs r2, 0xC - ldrsh r1, [r4, r2] - ldrb r0, [r4, 0x8] - subs r1, r0 - ldr r2, =0x000001ff - adds r0, r2, 0 - ands r1, r0 - ldrh r2, [r3, 0x3A] - ldr r0, =0xfffffe00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, 0x3A] - adds r2, r3, 0 - adds r2, 0x39 - ldrb r1, [r2] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r4, 0x9] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 1 - ldrh r4, [r4, 0xA] - adds r1, r4 - ldr r2, =0x000003ff - adds r0, r2, 0 - ands r1, r0 - ldrh r2, [r3, 0x3C] - ldr r0, =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, 0x3C] - 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_8034EFC - - thumb_func_start sub_8035044 -sub_8035044: @ 8035044 - push {r4-r6,lr} - adds r3, r0, 0 - adds r4, r1, 0 - ldr r0, =gUnknown_02022E10 - ldr r1, [r0] - adds r6, r0, 0 - cmp r1, 0 - beq _080350A8 - ldr r2, [r1, 0x4] - lsls r1, r3, 3 - subs r0, r1, r3 - lsls r0, 2 - adds r2, r0, r2 - ldrb r0, [r2] - adds r5, r1, 0 - cmp r0, 0 - beq _080350A8 - str r4, [r2, 0x18] - cmp r4, 0 - bge _08035078 - movs r2, 0x1 - negs r4, r4 - b _0803507A - .pool -_08035078: - movs r2, 0 -_0803507A: - ldr r0, [r6] - ldr r1, [r0, 0x4] - subs r0, r5, r3 - lsls r0, 2 - adds r0, r1 - ldrb r3, [r0, 0x2] - cmp r3, 0x1 - beq _0803509A - cmp r3, 0x1 - ble _08035092 - cmp r3, 0x2 - beq _080350A2 -_08035092: - adds r1, r4, 0 - bl sub_80350B0 - b _080350A8 -_0803509A: - adds r1, r4, 0 - bl sub_8035164 - b _080350A8 -_080350A2: - adds r1, r4, 0 - bl sub_80352C0 -_080350A8: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8035044 - - thumb_func_start sub_80350B0 -sub_80350B0: @ 80350B0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r8, r0 - mov r9, r1 - str r2, [sp] - ldr r5, [r0, 0x14] - ldrb r7, [r0, 0x1] - ldr r0, =gMain - mov r10, r0 - cmp r5, 0 - beq _0803511A - lsls r0, r7, 3 - adds r0, 0x3C - mov r1, r10 - adds r6, r0, r1 -_080350D6: - mov r0, r9 - adds r1, r5, 0 - bl __udivsi3 - adds r4, r0, 0 - adds r0, r4, 0 - muls r0, r5 - mov r2, r9 - subs r2, r0 - mov r9, r2 - adds r0, r5, 0 - movs r1, 0xA - bl __udivsi3 - adds r5, r0, 0 - mov r1, r8 - ldrb r0, [r1, 0x9] - adds r1, r4, 0 - muls r1, r0 - mov r2, r8 - ldrh r2, [r2, 0xA] - adds r1, r2 - ldr r2, =0x000003ff - adds r0, r2, 0 - ands r1, r0 - ldrh r0, [r6] - ldr r2, =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r6] - adds r6, 0x8 - adds r7, 0x1 - cmp r5, 0 - bne _080350D6 -_0803511A: - ldr r0, [sp] - cmp r0, 0 - beq _08035140 - lsls r0, r7, 3 - add r0, r10 - adds r0, 0x39 - ldrb r2, [r0] - movs r1, 0x4 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - b _08035154 - .pool -_08035140: - lsls r2, r7, 3 - add r2, r10 - adds r2, 0x39 - ldrb r1, [r2] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] -_08035154: - 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_80350B0 - - thumb_func_start sub_8035164 -sub_8035164: @ 8035164 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r6, r0, 0 - mov r8, r1 - str r2, [sp] - ldr r5, [r6, 0x14] - ldr r3, =gUnknown_03000DD4 - ldrb r0, [r6, 0x1] - str r0, [r3] - ldr r2, =gUnknown_03000DD8 - movs r0, 0 - str r0, [r2] - ldr r1, =gUnknown_03000DDC - subs r0, 0x1 - str r0, [r1] - adds r7, r3, 0 - mov r10, r1 - ldr r0, =gMain - mov r9, r0 - cmp r5, 0 - beq _0803524C -_08035196: - mov r0, r8 - adds r1, r5, 0 - bl __udivsi3 - adds r4, r0, 0 - adds r0, r4, 0 - muls r0, r5 - mov r1, r8 - subs r1, r0 - mov r8, r1 - adds r0, r5, 0 - movs r1, 0xA - bl __udivsi3 - adds r5, r0, 0 - cmp r4, 0 - bne _080351C8 - mov r2, r10 - ldr r1, [r2] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080351C8 - cmp r5, 0 - bne _08035224 -_080351C8: - ldr r2, [r7] - lsls r2, 3 - add r2, r9 - ldrb r0, [r6, 0x9] - adds r3, r4, 0 - muls r3, r0 - ldrh r4, [r6, 0xA] - adds r3, r4 - ldr r1, =0x000003ff - adds r0, r1, 0 - ands r3, r0 - ldrh r0, [r2, 0x3C] - ldr r4, =0xfffffc00 - adds r1, r4, 0 - ands r0, r1 - orrs r0, r3 - strh r0, [r2, 0x3C] - adds r2, 0x39 - ldrb r0, [r2] - movs r1, 0x4 - negs r1, r1 - ands r0, r1 - strb r0, [r2] - mov r2, r10 - ldr r1, [r2] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _0803523A - ldr r4, =gUnknown_03000DD8 - ldr r0, [r4] - str r0, [r2] - b _0803523A - .pool -_08035224: - ldr r0, [r7] - lsls r0, 3 - add r0, r9 - adds r0, 0x39 - ldrb r1, [r0] - movs r2, 0x4 - negs r2, r2 - ands r1, r2 - movs r2, 0x2 - orrs r1, r2 - strb r1, [r0] -_0803523A: - ldr r0, [r7] - adds r0, 0x1 - str r0, [r7] - ldr r4, =gUnknown_03000DD8 - ldr r0, [r4] - adds r0, 0x1 - str r0, [r4] - cmp r5, 0 - bne _08035196 -_0803524C: - ldr r0, [sp] - cmp r0, 0 - beq _08035298 - ldr r1, [r7] - lsls r1, 3 - add r1, r9 - adds r1, 0x39 - ldrb r2, [r1] - movs r0, 0x4 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldr r3, [r7] - lsls r3, 3 - add r3, r9 - movs r1, 0xC - ldrsh r2, [r6, r1] - mov r4, r10 - ldr r0, [r4] - subs r0, 0x1 - ldrb r1, [r6, 0x8] - muls r0, r1 - adds r2, r0 - ldr r1, =0x000001ff - adds r0, r1, 0 - ands r2, r0 - ldrh r1, [r3, 0x3A] - ldr r0, =0xfffffe00 - ands r0, r1 - orrs r0, r2 - strh r0, [r3, 0x3A] - b _080352AE - .pool -_08035298: - ldr r0, [r7] - lsls r0, 3 - add r0, r9 - adds r0, 0x39 - ldrb r2, [r0] - movs r1, 0x4 - negs r1, r1 - ands r1, r2 - movs r2, 0x2 - orrs r1, r2 - strb r1, [r0] -_080352AE: - 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_8035164 - - thumb_func_start sub_80352C0 -sub_80352C0: @ 80352C0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - mov r8, r0 - mov r10, r1 - str r2, [sp] - ldr r5, [r0, 0x14] - ldrb r3, [r0, 0x1] - movs r0, 0 - str r0, [sp, 0x4] - mov r9, r0 - cmp r5, 0 - beq _0803535A -_080352E0: - lsls r0, r3, 3 - adds r1, r0, 0 - adds r1, 0x39 - ldr r2, =gMain - adds r7, r1, r2 - adds r0, 0x3C - adds r6, r0, r2 -_080352EE: - mov r0, r10 - adds r1, r5, 0 - str r3, [sp, 0x8] - bl __udivsi3 - adds r4, r0, 0 - adds r0, r4, 0 - muls r0, r5 - mov r1, r10 - subs r1, r0 - mov r10, r1 - adds r0, r5, 0 - movs r1, 0xA - bl __udivsi3 - adds r5, r0, 0 - ldr r3, [sp, 0x8] - cmp r4, 0 - bne _0803531E - ldr r2, [sp, 0x4] - cmp r2, 0 - bne _0803531E - cmp r5, 0 - bne _080352E0 -_0803531E: - movs r0, 0x1 - str r0, [sp, 0x4] - mov r1, r8 - ldrb r0, [r1, 0x9] - adds r2, r4, 0 - muls r2, r0 - ldrh r4, [r1, 0xA] - adds r2, r4 - ldr r1, =0x000003ff - adds r0, r1, 0 - ands r2, r0 - ldrh r0, [r6] - ldr r4, =0xfffffc00 - adds r1, r4, 0 - ands r0, r1 - orrs r0, r2 - strh r0, [r6] - ldrb r0, [r7] - movs r2, 0x4 - negs r2, r2 - adds r1, r2, 0 - ands r0, r1 - strb r0, [r7] - adds r7, 0x8 - adds r6, 0x8 - adds r3, 0x1 - movs r4, 0x1 - add r9, r4 - cmp r5, 0 - bne _080352EE -_0803535A: - mov r0, r8 - ldrb r0, [r0, 0x3] - cmp r9, r0 - bge _0803538A - ldr r1, =gMain - movs r5, 0x4 - negs r5, r5 - movs r4, 0x2 - lsls r0, r3, 3 - adds r0, 0x39 - adds r2, r0, r1 -_08035370: - ldrb r1, [r2] - adds r0, r5, 0 - ands r0, r1 - orrs r0, r4 - strb r0, [r2] - adds r2, 0x8 - adds r3, 0x1 - movs r1, 0x1 - add r9, r1 - mov r0, r8 - ldrb r0, [r0, 0x3] - cmp r9, r0 - blt _08035370 -_0803538A: - ldr r1, [sp] - cmp r1, 0 - beq _080353B0 - lsls r0, r3, 3 - ldr r2, =gMain - adds r0, r2 - adds r0, 0x39 - ldrb r2, [r0] - movs r1, 0x4 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - b _080353C6 - .pool -_080353B0: - lsls r2, r3, 3 - ldr r4, =gMain - adds r2, r4 - adds r2, 0x39 - ldrb r1, [r2] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] -_080353C6: - 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_80352C0 - - thumb_func_start sub_80353DC -sub_80353DC: @ 80353DC - push {r4-r7,lr} - adds r4, r0, 0 - ldr r0, =gUnknown_02022E10 - ldr r0, [r0] - cmp r0, 0 - beq _0803546E - ldr r2, [r0, 0x4] - lsls r1, r4, 3 - subs r0, r1, r4 - lsls r0, 2 - adds r2, r0, r2 - ldrb r0, [r2] - adds r5, r1, 0 - cmp r0, 0 - beq _0803546E - ldrb r3, [r2, 0x3] - adds r0, r3, 0x1 - ldrb r2, [r2, 0x1] - cmp r0, 0 - beq _08035426 - ldr r1, =gMain - movs r7, 0x4 - negs r7, r7 - movs r6, 0x2 - adds r3, r0, 0 - lsls r0, r2, 3 - adds r0, 0x39 - adds r2, r0, r1 -_08035414: - ldrb r1, [r2] - adds r0, r7, 0 - ands r0, r1 - orrs r0, r6 - strb r0, [r2] - subs r3, 0x1 - adds r2, 0x8 - cmp r3, 0 - bne _08035414 -_08035426: - adds r0, r4, 0 - bl sub_8035570 - cmp r0, 0 - bne _08035442 - ldr r0, =gUnknown_02022E10 - ldr r0, [r0] - ldr r1, [r0, 0x4] - subs r0, r5, r4 - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x10] - bl FreeSpriteTilesByTag -_08035442: - adds r0, r4, 0 - bl sub_80355B4 - cmp r0, 0 - bne _0803545E - ldr r0, =gUnknown_02022E10 - ldr r0, [r0] - ldr r1, [r0, 0x4] - subs r0, r5, r4 - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x12] - bl FreeSpritePaletteByTag -_0803545E: - ldr r0, =gUnknown_02022E10 - ldr r0, [r0] - ldr r1, [r0, 0x4] - subs r0, r5, r4 - lsls r0, 2 - adds r0, r1 - movs r1, 0 - strb r1, [r0] -_0803546E: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80353DC - - thumb_func_start sub_803547C -sub_803547C: @ 803547C - push {r4-r7,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r0, =gUnknown_02022E10 - ldr r1, [r0] - adds r7, r0, 0 - cmp r1, 0 - beq _0803550C - ldr r2, [r1, 0x4] - lsls r1, r4, 3 - subs r0, r1, r4 - lsls r0, 2 - adds r2, r0, r2 - ldrb r0, [r2] - adds r6, r1, 0 - cmp r0, 0 - beq _0803550C - ldrb r3, [r2, 0x3] - adds r1, r3, 0x1 - ldrb r0, [r2, 0x1] - cmp r5, 0 - beq _080354D8 - cmp r1, 0 - beq _0803550C - ldr r1, =gMain - movs r5, 0x4 - negs r5, r5 - movs r4, 0x2 - adds r3, 0x1 - lsls r0, 3 - adds r0, 0x39 - adds r2, r0, r1 -_080354BC: - ldrb r1, [r2] - adds r0, r5, 0 - ands r0, r1 - orrs r0, r4 - strb r0, [r2] - subs r3, 0x1 - adds r2, 0x8 - cmp r3, 0 - bne _080354BC - b _0803550C - .pool -_080354D8: - cmp r1, 0 - beq _080354FA - ldr r1, =gMain - movs r5, 0x4 - negs r5, r5 - adds r3, 0x1 - lsls r0, 3 - adds r0, 0x39 - adds r2, r0, r1 -_080354EA: - ldrb r1, [r2] - adds r0, r5, 0 - ands r0, r1 - strb r0, [r2] - subs r3, 0x1 - adds r2, 0x8 - cmp r3, 0 - bne _080354EA -_080354FA: - ldr r0, [r7] - ldr r1, [r0, 0x4] - subs r0, r6, r4 - lsls r0, 2 - adds r0, r1 - ldr r1, [r0, 0x18] - adds r0, r4, 0 - bl sub_8035044 -_0803550C: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_803547C - - thumb_func_start sub_8035518 -sub_8035518: @ 8035518 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r5, 0x40 - movs r3, 0 - ldr r0, =gUnknown_02022E10 - ldr r0, [r0] - ldr r2, [r0] - cmp r3, r2 - bcs _0803555A - ldr r1, [r0, 0x4] -_0803552E: - ldrb r0, [r1] - cmp r0, 0 - bne _08035548 - ldrb r0, [r1, 0x1] - cmp r0, 0xFF - beq _08035552 - ldrb r0, [r1, 0x3] - cmp r0, r4 - bhi _08035552 - ldrb r0, [r1, 0x1] - b _0803556A - .pool -_08035548: - adds r0, r5, 0x1 - ldrb r5, [r1, 0x3] - adds r0, r5 - lsls r0, 16 - lsrs r5, r0, 16 -_08035552: - adds r1, 0x1C - adds r3, 0x1 - cmp r3, r2 - bcc _0803552E -_0803555A: - adds r0, r5, r4 - adds r0, 0x1 - cmp r0, 0x80 - bgt _08035568 - lsls r0, r5, 24 - lsrs r0, 24 - b _0803556A -_08035568: - movs r0, 0xFF -_0803556A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8035518 - - thumb_func_start sub_8035570 -sub_8035570: @ 8035570 - push {r4-r6,lr} - adds r3, r0, 0 - movs r2, 0 - ldr r0, =gUnknown_02022E10 - ldr r0, [r0] - ldr r4, [r0] - cmp r2, r4 - bcs _080355AC - ldr r1, [r0, 0x4] - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r5, r0, r1 -_0803558A: - ldrb r0, [r1] - cmp r0, 0 - beq _080355A4 - cmp r2, r3 - beq _080355A4 - ldrh r0, [r1, 0x10] - ldrh r6, [r5, 0x10] - cmp r0, r6 - bne _080355A4 - movs r0, 0x1 - b _080355AE - .pool -_080355A4: - adds r1, 0x1C - adds r2, 0x1 - cmp r2, r4 - bcc _0803558A -_080355AC: - movs r0, 0 -_080355AE: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8035570 - - thumb_func_start sub_80355B4 -sub_80355B4: @ 80355B4 - push {r4-r6,lr} - adds r3, r0, 0 - movs r2, 0 - ldr r0, =gUnknown_02022E10 - ldr r0, [r0] - ldr r4, [r0] - cmp r2, r4 - bcs _080355F0 - ldr r1, [r0, 0x4] - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r5, r0, r1 -_080355CE: - ldrb r0, [r1] - cmp r0, 0 - beq _080355E8 - cmp r2, r3 - beq _080355E8 - ldrh r0, [r1, 0x12] - ldrh r6, [r5, 0x12] - cmp r0, r6 - bne _080355E8 - movs r0, 0x1 - b _080355F2 - .pool -_080355E8: - adds r1, 0x1C - adds r2, 0x1 - cmp r2, r4 - bcc _080355CE -_080355F0: - movs r0, 0 -_080355F2: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80355B4 - - thumb_func_start sub_80355F8 -sub_80355F8: @ 80355F8 - ldr r2, =gUnknown_082FF1C8 - lsls r0, 2 - adds r1, r0 - adds r1, r2 - ldrb r0, [r1] - bx lr - .pool - thumb_func_end sub_80355F8 - - thumb_func_start sub_8035608 -sub_8035608: @ 8035608 - push {lr} - bl ResetSpriteData - ldr r0, =gUnknown_0831AC88 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - ldr r0, =sub_8035648 - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8035608 - - thumb_func_start sub_8035648 -sub_8035648: @ 8035648 - push {lr} - bl AnimateSprites - bl BuildOamBuffer - pop {r0} - bx r0 - thumb_func_end sub_8035648 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/script_menu.s b/asm/script_menu.s index 0624dba83..a2e2ec59e 100644 --- a/asm/script_menu.s +++ b/asm/script_menu.s @@ -1316,7 +1316,7 @@ _080E28CA: ldr r1, =gSprites adds r0, r1 ldrb r1, [r4, 0xC] - bl sub_80B6070 + bl FreeResourcesAndDestroySprite _080E28DE: ldrh r0, [r4, 0x8] adds r0, 0x1 @@ -1363,7 +1363,7 @@ ScriptMenu_ShowPokemonPic: @ 80E2900 asrs r2, 16 mov r0, r8 movs r3, 0 - bl sub_80B5F84 + bl CreateMonSprite_PicBox adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 diff --git a/asm/shop.s b/asm/shop.s index eac0956cb..a09d05323 100644 --- a/asm/shop.s +++ b/asm/shop.s @@ -316,7 +316,7 @@ Task_ExitSellMenu: @ 80DFCF8 lsls r0, 24 lsrs r4, r0, 24 adds r5, r4, 0 - bl sub_80ABDFC + bl IsWeatherNotFadingIn lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 88f73fe2c..fc475c2e3 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5583,7 +5583,7 @@ _0812D08E: lsrs r3, 24 adds r1, r3, 0 adds r2, r3, 0 - bl sub_80B6128 + bl MultiplyPaletteRGBComponents _0812D0A6: pop {r4-r7} pop {r0} diff --git a/common_syms/item_menu.txt b/common_syms/item_menu.txt deleted file mode 100755 index 112b591aa..000000000 --- a/common_syms/item_menu.txt +++ /dev/null @@ -1 +0,0 @@ -gFieldCallback diff --git a/common_syms/mauville_old_man.txt b/common_syms/mauville_old_man.txt index edb40a31c..9d77b8692 100644 --- a/common_syms/mauville_old_man.txt +++ b/common_syms/mauville_old_man.txt @@ -1 +1 @@ -gBardSong
\ No newline at end of file +gBardSong diff --git a/common_syms/overworld.txt b/common_syms/overworld.txt new file mode 100644 index 000000000..687b67545 --- /dev/null +++ b/common_syms/overworld.txt @@ -0,0 +1,5 @@ +gUnknown_03005DA8 +gFieldCallback +gUnknown_03005DB0 +gUnknown_03005DB4 +gFieldLinkPlayerCount diff --git a/data/battle_1.s b/data/battle_1.s deleted file mode 100644 index 37f68bfd6..000000000 --- a/data/battle_1.s +++ /dev/null @@ -1,12 +0,0 @@ - - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 -gUnknown_082FF1C8:: @ 82FF1C8 - .byte 0x01, 0x04, 0x10, 0x40 - .byte 0x02, 0x04, 0x08, 0x20 - .byte 0x02, 0x04, 0x08, 0x20 - .byte 0x00, 0x00, 0x00, 0x00 diff --git a/data/event_scripts.s b/data/event_scripts.s index c2906e649..841a9935c 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -1938,11 +1938,11 @@ RustboroCity_EventScript_271ED7:: @ 8271ED7 end RustboroCity_EventScript_271EEF:: @ 8271EEF - setvar VAR_0x4010, 105 + setvar VAR_OBJ_GFX_ID_0, 105 return RustboroCity_EventScript_271EF5:: @ 8271EF5 - setvar VAR_0x4010, 100 + setvar VAR_OBJ_GFX_ID_0, 100 return LavaridgeTown_EventScript_271EFB:: @ 8271EFB @@ -1956,11 +1956,11 @@ Route119_EventScript_271EFB:: @ 8271EFB end LavaridgeTown_EventScript_271F13:: @ 8271F13 - setvar VAR_0x4013, 106 + setvar VAR_OBJ_GFX_ID_3, 106 return LavaridgeTown_EventScript_271F19:: @ 8271F19 - setvar VAR_0x4013, 101 + setvar VAR_OBJ_GFX_ID_3, 101 return EventScript_271F1F:: @ 8271F1F @@ -1972,11 +1972,11 @@ EventScript_271F1F:: @ 8271F1F end EventScript_271F37:: @ 8271F37 - setvar VAR_0x4010, 100 + setvar VAR_OBJ_GFX_ID_0, 100 return EventScript_271F3D:: @ 8271F3D - setvar VAR_0x4010, 105 + setvar VAR_OBJ_GFX_ID_0, 105 return DewfordTown_Gym_EventScript_271F43:: @ 8271F43 @@ -2393,25 +2393,25 @@ EventScript_272274:: @ 8272274 waitse playmoncry SPECIES_KYOGRE, 2 waitmoncry - setvar VAR_0x4005, 1 + setvar VAR_TEMP_5, 1 releaseall end EventScript_272283:: @ 8272283 lockall - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 goto EventScript_2722A7 end EventScript_27228F:: @ 827228F lockall - setvar VAR_0x4002, 1 + setvar VAR_TEMP_2, 1 goto EventScript_2722A7 end EventScript_27229B:: @ 827229B lockall - setvar VAR_0x4003, 1 + setvar VAR_TEMP_3, 1 goto EventScript_2722A7 end @@ -2429,11 +2429,11 @@ CaveOfOrigin_1F_EventScript_2722C1:: @ 82722C1 CaveOfOrigin_UnusedRubySapphireMap1_EventScript_2722C1:: @ 82722C1 CaveOfOrigin_UnusedRubySapphireMap2_EventScript_2722C1:: @ 82722C1 CaveOfOrigin_UnusedRubySapphireMap3_EventScript_2722C1:: @ 82722C1 - setvar VAR_0x4001, 1 - setvar VAR_0x4002, 1 - setvar VAR_0x4003, 1 - setvar VAR_0x4004, 1 - setvar VAR_0x4005, 1 + setvar VAR_TEMP_1, 1 + setvar VAR_TEMP_2, 1 + setvar VAR_TEMP_3, 1 + setvar VAR_TEMP_4, 1 + setvar VAR_TEMP_5, 1 return Route120_EventScript_2722DB:: @ 82722DB @@ -3522,7 +3522,7 @@ MossdeepCity_StevensHouse_EventScript_2737A0:: @ 82737A0 Route119_WeatherInstitute_2F_EventScript_2737A0:: @ 82737A0 RustboroCity_DevonCorp_2F_EventScript_2737A0:: @ 82737A0 bufferboxname 0, 16438 - bufferspeciesname 1, VAR_0x4001 + bufferspeciesname 1, VAR_TEMP_1 checkflag FLAG_SYS_PC_LANETTE call_if 0, LittlerootTown_ProfessorBirchsLab_EventScript_2737BB checkflag FLAG_SYS_PC_LANETTE @@ -13216,12 +13216,12 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3ECF:: @ 82C3ECF end BattleFrontier_BattlePikeRandomRoom1_MapScript2_2C3EDE: @ 82C3EDE - map_script_2 VAR_0x4004, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EE8 + map_script_2 VAR_TEMP_4, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EE8 .2byte 0 BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EE8:: @ 82C3EE8 - setvar VAR_0x4011, 28 - setvar VAR_0x4010, 28 + setvar VAR_OBJ_GFX_ID_1, 28 + setvar VAR_OBJ_GFX_ID_0, 28 setvar VAR_0x8004, 5 special sub_81A703C compare VAR_RESULT, 3 @@ -13233,17 +13233,17 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EE8:: @ 82C3EE8 compare VAR_RESULT, 8 goto_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F3F hideobjectat 2, BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM_1 - setvar VAR_0x4004, 1 + setvar VAR_TEMP_4, 1 turnobject 255, 2 end BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F35:: @ 82C3F35 - setvar VAR_0x4004, 1 + setvar VAR_TEMP_4, 1 turnobject 255, 2 end BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F3F:: @ 82C3F3F - setvar VAR_0x4004, 1 + setvar VAR_TEMP_4, 1 turnobject 255, 2 hideobjectat 1, BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM_1 end @@ -13313,26 +13313,26 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4049:: @ 82C4049 end BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4062:: @ 82C4062 - setvar VAR_0x4003, 1 - setvar VAR_0x4002, 1 + setvar VAR_TEMP_3, 1 + setvar VAR_TEMP_2, 1 end BattleFrontier_BattlePikeThreePathRoom_EventScript_2C406D:: @ 82C406D - setvar VAR_0x4003, 0 - setvar VAR_0x4002, 0 + setvar VAR_TEMP_3, 0 + setvar VAR_TEMP_2, 0 lockall msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CE36, 4 closemessage end BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4082:: @ 82C4082 - setvar VAR_0x4003, 1 - setvar VAR_0x4002, 1 + setvar VAR_TEMP_3, 1 + setvar VAR_TEMP_2, 1 end BattleFrontier_BattlePikeRandomRoom1_EventScript_2C408D:: @ 82C408D - setvar VAR_0x4003, 0 - setvar VAR_0x4002, 0 + setvar VAR_TEMP_3, 0 + setvar VAR_TEMP_2, 0 lockall msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25CE36, 4 closemessage @@ -13435,13 +13435,13 @@ BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4174:: @ 82C4174 end BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4202:: @ 82C4202 - setvar VAR_0x4003, 1 - setvar VAR_0x4002, 1 + setvar VAR_TEMP_3, 1 + setvar VAR_TEMP_2, 1 end BattleFrontier_BattlePikeRandomRoom3_EventScript_2C420D:: @ 82C420D - setvar VAR_0x4003, 0 - setvar VAR_0x4002, 0 + setvar VAR_TEMP_3, 0 + setvar VAR_TEMP_2, 0 lockall msgbox BattleFrontier_BattlePikeRandomRoom3_Text_25CE36, 4 closemessage @@ -14632,7 +14632,7 @@ TrainerHill_2F_MapScript1_2C8336: @ 82C8336 TrainerHill_3F_MapScript1_2C8336: @ 82C8336 TrainerHill_4F_MapScript1_2C8336: @ 82C8336 TrainerHill_Roof_MapScript1_2C8336: @ 82C8336 - setvar VAR_0x4002, 0 + setvar VAR_TEMP_2, 0 setvar VAR_0x8004, 4 special sp194_trainer_tower setvar VAR_0x8004, 1 @@ -14648,11 +14648,11 @@ TrainerHill_Roof_MapScript1_2C8336: @ 82C8336 TrainerHill_1F_MapScript2_2C8372: @ 82C8372 TrainerHill_2F_MapScript2_2C8372: @ 82C8372 - map_script_2 VAR_0x4003, 0, TrainerHill_1F_EventScript_2C837C + map_script_2 VAR_TEMP_3, 0, TrainerHill_1F_EventScript_2C837C .2byte 0 TrainerHill_1F_EventScript_2C837C:: @ 82C837C - setvar VAR_0x4003, 1 + setvar VAR_TEMP_3, 1 @ forced stop TrainerHill_1F_MapScript2_2C8381: @ 82C8381 @@ -14660,8 +14660,8 @@ TrainerHill_2F_MapScript2_2C8381: @ 82C8381 TrainerHill_3F_MapScript2_2C8381: @ 82C8381 TrainerHill_4F_MapScript2_2C8381: @ 82C8381 TrainerHill_Roof_MapScript2_2C8381: @ 82C8381 - map_script_2 VAR_0x4002, 0, TrainerHill_1F_EventScript_2C83A6 - map_script_2 VAR_0x4001, 1, TrainerHill_1F_EventScript_2C83DF + map_script_2 VAR_TEMP_2, 0, TrainerHill_1F_EventScript_2C83A6 + map_script_2 VAR_TEMP_1, 1, TrainerHill_1F_EventScript_2C83DF .2byte 0 TrainerHill_1F_EventScript_2C8393:: @ 82C8393 @@ -14673,7 +14673,7 @@ TrainerHill_1F_EventScript_2C8393:: @ 82C8393 end TrainerHill_1F_EventScript_2C83A6:: @ 82C83A6 - setvar VAR_0x4002, 1 + setvar VAR_TEMP_2, 1 setvar VAR_0x8004, 9 special sp194_trainer_tower compare VAR_RESULT, 1 @@ -14690,12 +14690,12 @@ TrainerHill_1F_EventScript_2C83C9:: @ 82C83C9 special sp194_trainer_tower setvar VAR_0x8004, 5 special sp194_trainer_tower - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 end TrainerHill_1F_EventScript_2C83DF:: @ 82C83DF TrainerHill_Entrance_EventScript_2C83DF:: @ 82C83DF - setvar VAR_0x4001, 0 + setvar VAR_TEMP_1, 0 warp TRAINER_HILL_ENTRANCE, 255, 9, 6 waitstate end diff --git a/data/field_effect.s b/data/field_effect.s deleted file mode 100644 index e6f8a558e..000000000 --- a/data/field_effect.s +++ /dev/null @@ -1,451 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2, 0 - - .align 2 -gNewGameBirchPic:: @ 8553A90 - .incbin "graphics/birch_speech/birch.4bpp" - - .space 0x3800 - - .incbin "graphics/unused/intro_birch_beauty.4bpp" - - .align 2 -gNewGameBirchPalette:: @ 855A950 - .incbin "graphics/birch_speech/birch.gbapal" - - .align 2 -gSpriteImage_855A970:: @ 855A970 - .incbin "graphics/misc/pokeball_glow.4bpp" - - .align 2 -gFieldEffectObjectPalette4:: @ 855A990 - .incbin "graphics/map_objects/palettes/field_effect_object_palette_04.gbapal" - - .align 2 -gSpriteImage_855A9B0:: @ 855A9B0 - .incbin "graphics/misc/pokecenter_monitor/0.4bpp" - - .align 2 -gSpriteImage_855AA70:: @ 855AA70 - .incbin "graphics/misc/pokecenter_monitor/1.4bpp" - - .align 2 -gSpriteImage_855AB30:: @ 855AB30 - .incbin "graphics/misc/big_hof_monitor.4bpp" - - .align 2 -gSpriteImage_855AD30:: @ 855AD30 - .incbin "graphics/misc/small_hof_monitor.4bpp" - - .align 2 -gFieldEffectObjectPalette5:: @ 855AE30 - .incbin "graphics/map_objects/palettes/field_effect_object_palette_05.gbapal" - - .align 2 -gUnknown_0855AE50:: @ 855AE50 - .incbin "graphics/misc/field_move_streaks.4bpp" - - .align 2 -gUnknown_0855B050:: @ 855B050 - .incbin "graphics/misc/field_move_streaks.gbapal" - - .align 2 -gUnknown_0855B070:: @ 855B070 - .incbin "graphics/misc/field_move_streaks_map.bin" - - .align 2 -gUnknown_0855B2F0:: @ 855B2F0 - .incbin "graphics/misc/darkness_field_move_streaks.4bpp" - - .align 2 -gUnknown_0855B370:: @ 855B370 - .incbin "graphics/misc/darkness_field_move_streaks.gbapal" - - .align 2 -gUnknown_0855B390:: @ 855B390 - .incbin "graphics/misc/darkness_field_move_streaks_map.bin" - - .align 2 -gUnknown_0855B610:: @ 855B610 - .incbin "graphics/misc/spotlight.gbapal" - - .align 2 -gUnknown_0855B630:: @ 855B630 - .incbin "graphics/misc/spotlight.4bpp" - - .align 2 -gUnknown_0855C170:: @ 855C170 - .incbin "graphics/unknown/unknown_55C170.4bpp" - - .align 2 -gUnknown_0855C1F0:: @ 855C1F0 - .4byte FieldEffectCmd_loadtiles - .4byte FieldEffectCmd_loadfadedpal - .4byte FieldEffectCmd_loadpal - .4byte FieldEffectCmd_callnative - .4byte FieldEffectCmd_end - .4byte FieldEffectCmd_loadgfx_callnative - .4byte FieldEffectCmd_loadtiles_callnative - .4byte FieldEffectCmd_loadfadedpal_callnative - - .align 2 -@ TODO: something else uses these too -gNewGameBirchOamAttributes:: @ 855C210 - .4byte OAM_SIZE_64x64 - .2byte 0 - - .align 2 -gOamData_855C218:: @ 855C218 - .2byte 0x0000, 0x0000, 0x0000, 0x0000 - - .align 2 -gOamData_855C220:: @ 855C220 - .2byte 0x0000, 0x4000, 0x0000, 0x0000 - - .align 2 -gNewGameBirchPicTable:: @ 855C228 - obj_tiles gNewGameBirchPic, 0x800 - - .align 2 -gNewGameBirchObjectPaletteInfo:: @ 855C230 - obj_pal gNewGameBirchPalette, 0x1006 - - .align 2 -gNewGameBirchImageAnim:: @ 855C238 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gNewGameBirchImageAnimTable:: @ 855C240 - .4byte gNewGameBirchImageAnim - - .align 2 -gNewGameBirchObjectTemplate:: @ 855C244 - spr_template 0xFFFF, 0x1006, gNewGameBirchOamAttributes, gNewGameBirchImageAnimTable, gNewGameBirchPicTable, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gFieldEffectObjectPaletteInfo4:: @ 855C25C - obj_pal gFieldEffectObjectPalette4, 0x1007 - - .align 2 -gFieldEffectObjectPaletteInfo5:: @ 855C264 - obj_pal gFieldEffectObjectPalette5, 0x1010 - - .align 2 -gOamData_855C26C:: @ 855C26C - .2byte 0x4000, 0x8000, 0x0000, 0x0000 - - .align 2 -gUnknown_855C274:: @ 855C274 - obj_frame_tiles gSpriteImage_855A970, 0x0020 - - .align 2 -gUnknown_855C27C:: @ 855C27C - obj_frame_tiles gSpriteImage_855A9B0, 0x00c0 - obj_frame_tiles gSpriteImage_855AA70, 0x00c0 - - .align 2 -gUnknown_855C28C:: @ 855C28C - obj_frame_tiles gSpriteImage_855AB30, 0x0200 - - .align 2 -gUnknown_855C294:: @ 855C294 - obj_frame_tiles gSpriteImage_855AD30, 0x0200 - - .align 2 -gSubspriteTable_855C29C:: @ 855C29C - subsprite -12, -8, 2, 0, 16x8 - subsprite 4, -8, 2, 2, 8x8 - subsprite -12, 0, 2, 3, 16x8 - subsprite 4, 0, 2, 5, 8x8 - - .align 2 -gUnknown_0855C2AC:: @ 855C2AC - .4byte 4, gSubspriteTable_855C29C - - .align 2 -gSubspriteTable_855C2B4:: @ 855C2B4 - subsprite -32, -8, 2, 0, 32x8 - subsprite 0, -8, 2, 4, 32x8 - subsprite -32, 0, 2, 8, 32x8 - subsprite 0, 0, 2, 12, 32x8 - - .align 2 -gUnknown_0855C2C4:: @ 855C2C4 - .4byte 4, gSubspriteTable_855C2B4 - - .align 2 -gUnknown_0855C2CC:: @ 855C2CC - .2byte 0x0000, 0x0001, 0xfffe, 0x0000 - - .align 2 -gUnknown_0855C2D4:: @ 855C2D4 - .2byte 0x0000, 0x0010, 0x0001, 0x0010, 0x0000, 0x0010, 0x0001, 0x0010, 0x0000, 0x0010, 0x0001, 0x0010, 0x0000, 0x0010, 0x0001, 0x0010 - .2byte 0xffff, 0x0000 - - .align 2 -gUnknown_0855C2F8:: @ 855C2F8 - .4byte gUnknown_0855C2CC - .4byte gUnknown_0855C2D4 - - .align 2 -gUnknown_0855C300:: @ 855C300 - .4byte gUnknown_0855C2CC - - .align 2 -gUnknown_0855C304:: @ 855C304 - spr_template 0xffff, 0x1007, gOamData_855C218, gUnknown_0855C2F8, gUnknown_855C274, gDummySpriteAffineAnimTable, sub_80B6828 - - .align 2 -gUnknown_0855C31C:: @ 855C31C - spr_template 0xffff, 0x1004, gOamData_855C220, gUnknown_0855C2F8, gUnknown_855C27C, gDummySpriteAffineAnimTable, sub_80B68AC - - .align 2 -gUnknown_0855C334:: @ 855C334 - spr_template 0xffff, 0x1010, gOamData_855C220, gUnknown_0855C300, gUnknown_855C28C, gDummySpriteAffineAnimTable, sub_80B6970 - - .align 2 -gUnknown_0855C34C:: @ 855C34C - spr_template 0xffff, 0x1010, gOamData_855C26C, gUnknown_0855C300, gUnknown_855C294, gDummySpriteAffineAnimTable, sub_80B6970 - - .align 2 -gUnknown_0855C364:: @ 855C364 - .4byte sub_80B6214 - .4byte sub_80B6250 - .4byte sub_80B628C - .4byte sub_80B62B4 - - .align 2 -gUnknown_0855C374:: @ 855C374 - .4byte sub_80B6360 - .4byte sub_80B63D4 - .4byte sub_80B6404 - .4byte sub_80B642C - - .align 2 -gUnknown_0855C384:: @ 855C384 - .4byte sub_80B64DC - .4byte sub_80B6574 - .4byte sub_80B65A8 - .4byte sub_80B66E8 - .4byte sub_80B67DC - .4byte sub_80B67F8 - .4byte sub_80B6800 - .4byte nullsub_97 - - .align 1 -gUnknown_0855C3A4:: @ 855C3A4 - .2byte 0x0000, 0x0000, 0x0006, 0x0000, 0x0000, 0x0004, 0x0006, 0x0004, 0x0000, 0x0008, 0x0006, 0x0008 - -gUnknown_0855C3BC:: @ 855C3BC - .byte 0x10, 0x0c, 0x08, 0x00 - -gUnknown_0855C3C0:: @ 855C3C0 - .byte 0x10, 0x0c, 0x08, 0x00 - -gUnknown_0855C3C4:: @ 855C3C4 - .byte 0x00, 0x00, 0x00, 0x00 - - .align 2 -gUnknown_0855C3C8:: @ 855C3C8 - .4byte sub_80B6BCC - .4byte sub_80B6C74 - .4byte sub_80B6C90 - .4byte sub_80B6D04 - .4byte sub_80B6DBC - .4byte sub_80B6DD8 - .4byte sub_80B6E18 - - .align 2 -gUnknown_0855C3E4:: @ 855C3E4 - .4byte sub_80B6EC0 - .4byte sub_80B6EE0 - .4byte sub_80B6F50 - .4byte sub_80B6F74 - .4byte sub_80B6F84 - .4byte sub_80B6FA8 - - .align 2 -gUnknown_0855C3FC:: @ 855C3FC - .4byte sub_80B7114 - .4byte sub_80B7190 - .4byte sub_80B71D0 - .4byte sub_80B7230 - .4byte sub_80B7270 - .4byte sub_80B72D0 - .4byte sub_80B72F4 - - .align 2 -gUnknown_0855C418:: @ 855C418 - .4byte sub_80B73D0 - .4byte waterfall_1_do_anim_probably - .4byte waterfall_2_wait_anim_finish_probably - .4byte sub_80B7450 - .4byte sub_80B7478 - - .align 2 -gUnknown_0855C42C:: @ 855C42C - .4byte dive_1_lock - .4byte dive_2_unknown - .4byte dive_3_unknown - - .align 2 -gUnknown_0855C438:: @ 855C438 - .4byte sub_80B764C - .4byte sub_80B7684 - .4byte sub_80B76B8 - .4byte sub_80B7704 - .4byte sub_80B77F8 - .4byte sub_80B7814 - - .align 2 -gUnknown_0855C450:: @ 855C450 - .4byte sub_80B78EC - .4byte sub_80B791C - .4byte sub_80B7968 - .4byte sub_80B79BC - - .align 2 -gUnknown_0855C460:: @ 855C460 - .4byte sub_80B7AE8 - .4byte sub_80B7B18 - .4byte sub_80B7B94 - .4byte sub_80B7BCC - .4byte sub_80B7BF4 - - .align 2 -gUnknown_0855C474:: @ 855C474 - .4byte sub_80B7D14 - .4byte sub_80B7D34 - -gUnknown_0855C47C:: @ 855C47C - .byte 0x01, 0x03, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00 - - .align 2 -gUnknown_0855C484:: @ 855C484 - .4byte sub_80B7EC4 - .4byte sub_80B7EE8 - - .align 2 -gUnknown_0855C48C:: @ 855C48C - .4byte sub_80B800C - .4byte sub_80B8034 - .4byte sub_80B80C4 - .4byte sub_80B8198 - - .align 2 -gUnknown_0855C49C:: @ 855C49C - .4byte sub_80B8280 - .4byte sub_80B830C - .4byte sub_80B8410 - - .align 2 -gUnknown_0855C4A8:: @ 855C4A8 - .4byte sub_80B8584 - .4byte sub_80B85F8 - .4byte sub_80B8660 - .4byte sub_80B86EC - .4byte sub_80B871C - .4byte sub_80B8770 - .4byte overworld_bg_setup_2 - - .align 2 -gUnknown_0855C4C4:: @ 855C4C4 - .4byte sub_80B88E4 - .4byte sub_80B8920 - .4byte sub_80B898C - .4byte sub_80B89DC - .4byte sub_80B8A0C - .4byte sub_80B8A44 - .4byte sub_80B8A64 - - .align 2 -gUnknown_0855C4E0:: @ 855C4E0 - .4byte sub_80B8DB4 - .4byte sub_80B8E14 - .4byte sub_80B8E60 - .4byte sub_80B8EA8 - .4byte sub_80B8F24 - - .align 2 -gUnknown_0855C4F4:: @ 855C4F4 - .4byte sub_80B9204 - .4byte sub_80B925C - .4byte sub_80B92A0 - .4byte sub_80B92F8 - .4byte sub_80B933C - .4byte sub_80B9390 - .4byte sub_80B9418 - .4byte sub_80B9474 - .4byte sub_80B9494 - - .align 2 -gUnknown_0855C518:: @ 855C518 - .2byte 0x0008, 0x0008, 0x00e2, 0x0000, 0x001c, 0x001c, 0x1e00, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_0855C530:: @ 855C530 - .2byte 0x0100, 0x0100, 0x0040, 0x0000, 0xfff6, 0xfff6, 0x1600, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_0855C548:: @ 855C548 - .4byte gUnknown_0855C518 - .4byte gUnknown_0855C530 - - .align 2 -gUnknown_0855C550:: @ 855C550 - .4byte sub_80B9804 - .4byte sub_80B98B8 - .4byte sub_80B9924 - .4byte sub_80B9978 - .4byte sub_80B99F0 - .4byte sub_80B9A28 - .4byte sub_80B9A60 - -gUnknown_0855C56C:: @ 855C56C - .byte 0xfe, 0xff, 0xfc, 0xff, 0xfb, 0xff, 0xfa, 0xff, 0xf9, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf9, 0xff, 0xf9, 0xff, 0xfa, 0xff, 0xfb, 0xff, 0xfd, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x02, 0x00 - .byte 0x04, 0x00, 0x08, 0x00 - - .align 2 -gUnknown_0855C590:: @ 855C590 - .4byte sub_80B9C28 - .4byte sub_80B9C54 - .4byte sub_80B9CDC - - .align 2 -gUnknown_0855C59C:: @ 855C59C - obj_frame_tiles gUnknown_0855C170, 0x0020 - obj_frame_tiles gUnknown_0855C170 + 0x20, 0x0020 - obj_frame_tiles gUnknown_0855C170 + 0x40, 0x0020 - obj_frame_tiles gUnknown_0855C170 + 0x60, 0x0020 - - .align 2 -gUnknown_0855C5BC:: @ 855C5BC - .2byte 0x0000, 0x0000, 0xffff, 0x0000 - - .align 2 -gUnknown_0855C5C4:: @ 855C5C4 - .2byte 0x0001, 0x0000, 0xffff, 0x0000 - - .align 2 -gUnknown_0855C5CC:: @ 855C5CC - .2byte 0x0002, 0x0000, 0xffff, 0x0000 - - .align 2 -gUnknown_0855C5D4:: @ 855C5D4 - .2byte 0x0003, 0x0000, 0xffff, 0x0000 - - .align 2 -gUnknown_0855C5DC:: @ 855C5DC - .4byte gUnknown_0855C5BC - .4byte gUnknown_0855C5C4 - .4byte gUnknown_0855C5CC - .4byte gUnknown_0855C5D4 - - .align 2 -gUnknown_0855C5EC:: @ 855C5EC - spr_template 0xffff, 0x111a, gOamData_855C218, gUnknown_0855C5DC, gUnknown_0855C59C, gDummySpriteAffineAnimTable, sub_80B9DB8 - diff --git a/data/field_effect_scripts.s b/data/field_effect_scripts.s index c06497093..8dfbd6782 100644 --- a/data/field_effect_scripts.s +++ b/data/field_effect_scripts.s @@ -98,7 +98,7 @@ gFieldEffectScript_Ripple:: @ 82DBB02 field_eff_end gFieldEffectScript_FieldMoveShowMon:: @ 82DBB0C - field_eff_callnative sub_80B849C + field_eff_callnative FldEff_FieldMoveShowMon field_eff_end gFieldEffectScript_Ash:: @ 82DBB12 @@ -110,7 +110,7 @@ gFieldEffectScript_SurfBlob:: @ 82DBB1C field_eff_end gFieldEffectScript_UseSurf:: @ 82DBB22 - field_eff_callnative sub_80B8D44 + field_eff_callnative FldEff_UseSurf field_eff_end gFieldEffectScript_GroundImpactDust:: @ 82DBB28 @@ -175,7 +175,7 @@ gFieldEffectScript_DeepSandFootprints:: @ 82DBBAC gFieldEffectScript_Unknown25:: @ 82DBBB6 field_eff_loadfadedpal gFieldEffectObjectPaletteInfo4 - field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, sub_80B61A0 + field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, FldEff_PokecenterHeal field_eff_end gFieldEffectScript_Unknown26:: @ 82DBBC5 @@ -195,15 +195,15 @@ gFieldEffectScript_MountainDisguise:: @ 82DBBD7 field_eff_end gFieldEffectScript_Unknown30:: @ 82DBBDD - field_eff_callnative sub_80B90CC + field_eff_callnative FldEff_NPCFlyOut field_eff_end gFieldEffectScript_UseFly:: @ 82DBBE3 - field_eff_callnative sub_80B91A4 + field_eff_callnative FldEff_UseFly field_eff_end gFieldEffectScript_FlyIn:: @ 82DBBE9 - field_eff_callnative sub_80B97C0 + field_eff_callnative FldEff_FlyIn field_eff_end gFieldEffectScript_ExclamationMarkIcon2:: @ 82DBBEF @@ -247,11 +247,11 @@ gFieldEffectScript_HotSpringsWater:: @ 82DBC35 field_eff_end gFieldEffectScript_Unknown43:: @ 82DBC3F - field_eff_callnative oei_waterfall + field_eff_callnative FldEff_UseWaterfall field_eff_end gFieldEffectScript_Unknown44:: @ 82DBC45 - field_eff_callnative sub_80B74D0 + field_eff_callnative FldEff_UseDive field_eff_end gFieldEffectScript_Unknown45:: @ 82DBC4B @@ -272,11 +272,11 @@ gFieldEffectScript_Unknown48:: @ 82DBC66 field_eff_end gFieldEffectScript_JumpOutOfAsh:: @ 82DBC6C - field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo2, sub_80B7C48 + field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo2, FldEff_PopOutOfAsh field_eff_end gFieldEffectScript_Unknown50:: @ 82DBC76 - field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo2, sub_80B79F4 + field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo2, FldEff_LavaridgeGymWarp field_eff_end gFieldEffectScript_Unknown51:: @ 82DBC80 @@ -312,7 +312,7 @@ gFieldEffectScript_Unknown58:: @ 82DBCC2 field_eff_end gFieldEffectScript_FieldMoveShowMonInit:: @ 82DBCCC - field_eff_callnative sub_80B84F8 + field_eff_callnative FldEff_FieldMoveShowMonInit field_eff_end gFieldEffectScript_Unknown60:: @ 82DBCD2 @@ -325,7 +325,7 @@ gFieldEffectScript_Unknown61:: @ 82DBCD8 gFieldEffectScript_Unknown62:: @ 82DBCDE field_eff_loadfadedpal gFieldEffectObjectPaletteInfo4 - field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo5, sub_80B62F4 + field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo5, FldEff_HallOfFameRecord field_eff_end gFieldEffectScript_Unknown63:: @ 82DBCED diff --git a/data/field_tasks.s b/data/field_tasks.s deleted file mode 100644 index 310fd0e2a..000000000 --- a/data/field_tasks.s +++ /dev/null @@ -1,99 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2, 0 - -gUnknown_08510348:: @ 8510348 - .4byte nullsub_34 - .4byte sub_809E3B4 - .4byte sub_809DEF0 - .4byte sub_809DCB4 - .4byte sub_809E224 - .4byte EndTruckSequence - .4byte sub_80EA3E4 - .4byte sub_809E4CC - -gUnknown_08510368:: @ 8510368 - .byte 0 - .byte 0 - .2byte 0x259 - .byte 0 - .byte 1 - .2byte 0x261 - .byte 0 - .byte 0xFF - .2byte 0x259 - .byte 0 - .byte 0 - .2byte 0x261 - .byte 0 - .byte 0 - .2byte 0x252 - .byte 1 - .byte 0 - .2byte 0x253 - .byte 0xFF - .byte 0 - .2byte 0x252 - .byte 0 - .byte 0 - .2byte 0x253 - -gUnknown_08510388:: @ 8510388 - .byte 0 - .byte 0 - .2byte 0x25A - .byte 0 - .byte 1 - .2byte 0x262 - .byte 0 - .byte 0xFF - .2byte 0x25A - .byte 0 - .byte 0 - .2byte 0x262 - .byte 0 - .byte 0 - .2byte 0x254 - .byte 1 - .byte 0 - .2byte 0x255 - .byte 0xFF - .byte 0 - .2byte 0x254 - .byte 0 - .byte 0 - .2byte 0x255 - -gUnknown_085103A8:: @ 85103A8 - .byte 0 - .byte 0 - .2byte 0x258 - .byte 0 - .byte 1 - .2byte 0x260 - .byte 0 - .byte 0xFF - .2byte 0x258 - .byte 0 - .byte 0 - .2byte 0x260 - .byte 0 - .byte 0 - .2byte 0x250 - .byte 1 - .byte 0 - .2byte 0x251 - .byte 0xFF - .byte 0 - .2byte 0x250 - .byte 0 - .byte 0 - .2byte 0x251 - -gUnknown_085103C8:: @ 85103C8 - .2byte 0, 0, 0, 0, 0, 0, 0x4001, 0x4002, 0x4003, 0x4004, 0, 0, 0x4005, 0x4006, 0x4007, 0, 0, 0x4008, 0x4009, 0x400a, 0, 0, 0, 0, 0, 0 - -gUnknown_085103FC:: @ 85103FC - .2byte 0xE8, 0xeb, 0xea, 0xe9 diff --git a/data/maps/events/AquaHideout_B2F.inc b/data/maps/events/AquaHideout_B2F.inc index 8a338a2bb..24f97a1ea 100644 --- a/data/maps/events/AquaHideout_B2F.inc +++ b/data/maps/events/AquaHideout_B2F.inc @@ -19,8 +19,8 @@ AquaHideout_B2F_MapWarps: @ 85355BC warp_def 32, 20, 3, 4, AQUA_HIDEOUT_B1F AquaHideout_B2F_MapCoordEvents: @ 853560C - coord_event 28, 17, 3, 0, VAR_0x4001, 0, 0, AquaHideout_B2F_EventScript_233DE5 - coord_event 28, 16, 3, 0, VAR_0x4001, 0, 0, AquaHideout_B2F_EventScript_233DE5 + coord_event 28, 17, 3, 0, VAR_TEMP_1, 0, 0, AquaHideout_B2F_EventScript_233DE5 + coord_event 28, 16, 3, 0, VAR_TEMP_1, 0, 0, AquaHideout_B2F_EventScript_233DE5 AquaHideout_B2F_MapEvents:: @ 853562C map_events AquaHideout_B2F_MapObjects, AquaHideout_B2F_MapWarps, AquaHideout_B2F_MapCoordEvents, 0x0 diff --git a/data/maps/events/BattleFrontier_BattlePikeRandomRoom1.inc b/data/maps/events/BattleFrontier_BattlePikeRandomRoom1.inc index 40d5db12b..c7c3a36d0 100644 --- a/data/maps/events/BattleFrontier_BattlePikeRandomRoom1.inc +++ b/data/maps/events/BattleFrontier_BattlePikeRandomRoom1.inc @@ -3,13 +3,13 @@ BattleFrontier_BattlePikeRandomRoom1_MapObjects: @ 853CD54 object_event 2, MAP_OBJ_GFX_TRADER, 0, 0, 3, 4, 3, 8, 17, 0, 0, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D88D, 0, 0, 0 BattleFrontier_BattlePikeRandomRoom1_MapCoordEvents: @ 853CD84 - coord_event 4, 3, 3, 0, VAR_0x4001, 0, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C40A2 - coord_event 3, 6, 3, 0, VAR_0x4002, 0, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4082 - coord_event 3, 7, 3, 0, VAR_0x4003, 1, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C408D - coord_event 4, 6, 3, 0, VAR_0x4002, 0, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4082 - coord_event 5, 6, 3, 0, VAR_0x4002, 0, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4082 - coord_event 4, 7, 3, 0, VAR_0x4003, 1, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C408D - coord_event 5, 7, 3, 0, VAR_0x4003, 1, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C408D + coord_event 4, 3, 3, 0, VAR_TEMP_1, 0, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C40A2 + coord_event 3, 6, 3, 0, VAR_TEMP_2, 0, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4082 + coord_event 3, 7, 3, 0, VAR_TEMP_3, 1, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C408D + coord_event 4, 6, 3, 0, VAR_TEMP_2, 0, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4082 + coord_event 5, 6, 3, 0, VAR_TEMP_2, 0, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4082 + coord_event 4, 7, 3, 0, VAR_TEMP_3, 1, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C408D + coord_event 5, 7, 3, 0, VAR_TEMP_3, 1, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C408D BattleFrontier_BattlePikeRandomRoom1_MapEvents:: @ 853CDF4 map_events BattleFrontier_BattlePikeRandomRoom1_MapObjects, 0x0, BattleFrontier_BattlePikeRandomRoom1_MapCoordEvents, 0x0 diff --git a/data/maps/events/BattleFrontier_BattlePikeRandomRoom3.inc b/data/maps/events/BattleFrontier_BattlePikeRandomRoom3.inc index d2988ab50..20e6cb085 100644 --- a/data/maps/events/BattleFrontier_BattlePikeRandomRoom3.inc +++ b/data/maps/events/BattleFrontier_BattlePikeRandomRoom3.inc @@ -1,11 +1,11 @@ BattleFrontier_BattlePikeRandomRoom3_MapCoordEvents: @ 853CE34 - coord_event 4, 3, 3, 0, VAR_0x4001, 0, 0, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4174 - coord_event 3, 18, 3, 0, VAR_0x4002, 0, 0, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4202 - coord_event 4, 18, 3, 0, VAR_0x4002, 0, 0, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4202 - coord_event 5, 18, 3, 0, VAR_0x4002, 0, 0, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4202 - coord_event 3, 19, 3, 0, VAR_0x4003, 1, 0, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C420D - coord_event 4, 19, 3, 0, VAR_0x4003, 1, 0, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C420D - coord_event 5, 19, 3, 0, VAR_0x4003, 1, 0, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C420D + coord_event 4, 3, 3, 0, VAR_TEMP_1, 0, 0, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4174 + coord_event 3, 18, 3, 0, VAR_TEMP_2, 0, 0, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4202 + coord_event 4, 18, 3, 0, VAR_TEMP_2, 0, 0, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4202 + coord_event 5, 18, 3, 0, VAR_TEMP_2, 0, 0, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4202 + coord_event 3, 19, 3, 0, VAR_TEMP_3, 1, 0, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C420D + coord_event 4, 19, 3, 0, VAR_TEMP_3, 1, 0, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C420D + coord_event 5, 19, 3, 0, VAR_TEMP_3, 1, 0, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C420D BattleFrontier_BattlePikeRandomRoom3_MapEvents:: @ 853CEA4 map_events 0x0, 0x0, BattleFrontier_BattlePikeRandomRoom3_MapCoordEvents, 0x0 diff --git a/data/maps/events/BattleFrontier_BattlePikeThreePathRoom.inc b/data/maps/events/BattleFrontier_BattlePikeThreePathRoom.inc index 9345b5819..7894ab85a 100644 --- a/data/maps/events/BattleFrontier_BattlePikeThreePathRoom.inc +++ b/data/maps/events/BattleFrontier_BattlePikeThreePathRoom.inc @@ -3,15 +3,15 @@ BattleFrontier_BattlePikeThreePathRoom_MapObjects: @ 853CC80 object_event 2, MAP_OBJ_GFX_WOMAN_6, 0, 0, 8, 5, 3, 8, 0, 0, 0, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CABB, 0, 0, 0 BattleFrontier_BattlePikeThreePathRoom_MapCoordEvents: @ 853CCB0 - coord_event 2, 3, 3, 0, VAR_0x4001, 0, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F4E - coord_event 6, 3, 3, 0, VAR_0x4001, 0, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F59 - coord_event 10, 3, 3, 0, VAR_0x4001, 0, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F64 - coord_event 5, 10, 0, 0, VAR_0x4003, 1, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C406D - coord_event 6, 10, 0, 0, VAR_0x4003, 1, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C406D - coord_event 6, 9, 3, 0, VAR_0x4002, 0, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4062 - coord_event 5, 9, 3, 0, VAR_0x4002, 0, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4062 - coord_event 7, 9, 3, 0, VAR_0x4002, 0, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4062 - coord_event 7, 10, 0, 0, VAR_0x4003, 1, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C406D + coord_event 2, 3, 3, 0, VAR_TEMP_1, 0, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F4E + coord_event 6, 3, 3, 0, VAR_TEMP_1, 0, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F59 + coord_event 10, 3, 3, 0, VAR_TEMP_1, 0, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F64 + coord_event 5, 10, 0, 0, VAR_TEMP_3, 1, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C406D + coord_event 6, 10, 0, 0, VAR_TEMP_3, 1, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C406D + coord_event 6, 9, 3, 0, VAR_TEMP_2, 0, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4062 + coord_event 5, 9, 3, 0, VAR_TEMP_2, 0, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4062 + coord_event 7, 9, 3, 0, VAR_TEMP_2, 0, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4062 + coord_event 7, 10, 0, 0, VAR_TEMP_3, 1, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C406D BattleFrontier_BattlePikeThreePathRoom_MapEvents:: @ 853CD40 map_events BattleFrontier_BattlePikeThreePathRoom_MapObjects, 0x0, BattleFrontier_BattlePikeThreePathRoom_MapCoordEvents, 0x0 diff --git a/data/maps/events/BattleFrontier_BattlePyramidTop.inc b/data/maps/events/BattleFrontier_BattlePyramidTop.inc index d06650789..79e4770ea 100644 --- a/data/maps/events/BattleFrontier_BattlePyramidTop.inc +++ b/data/maps/events/BattleFrontier_BattlePyramidTop.inc @@ -3,7 +3,7 @@ BattleFrontier_BattlePyramidTop_MapObjects: @ 853C7C0 object_event 2, MAP_OBJ_GFX_BRANDON, 0, 0, 17, 7, 0, 7, 17, 0, 0, 0, 0x0, 0, 0, 0 BattleFrontier_BattlePyramidTop_MapCoordEvents: @ 853C7F0 - coord_event 17, 9, 4, 0, VAR_0x4002, 0, 0, BattleFrontier_BattlePyramidTop_EventScript_255256 + coord_event 17, 9, 4, 0, VAR_TEMP_2, 0, 0, BattleFrontier_BattlePyramidTop_EventScript_255256 BattleFrontier_BattlePyramidTop_MapEvents:: @ 853C800 map_events BattleFrontier_BattlePyramidTop_MapObjects, 0x0, BattleFrontier_BattlePyramidTop_MapCoordEvents, 0x0 diff --git a/data/maps/events/DoubleBattleColosseum.inc b/data/maps/events/DoubleBattleColosseum.inc index 401daaaf5..d1d4f0fef 100644 --- a/data/maps/events/DoubleBattleColosseum.inc +++ b/data/maps/events/DoubleBattleColosseum.inc @@ -5,10 +5,10 @@ DoubleBattleColosseum_MapWarps: @ 8539E88 warp_def 8, 8, 3, 127, NONE DoubleBattleColosseum_MapCoordEvents: @ 8539EA8 - coord_event 3, 4, 3, 0, VAR_0x4000, 0, 0, gUnknown_08277388 - coord_event 3, 6, 3, 0, VAR_0x4000, 0, 0, gUnknown_082773BE - coord_event 10, 4, 3, 0, VAR_0x4000, 0, 0, gUnknown_082773A3 - coord_event 10, 6, 3, 0, VAR_0x4000, 0, 0, gUnknown_082773D9 + coord_event 3, 4, 3, 0, VAR_TEMP_0, 0, 0, gUnknown_08277388 + coord_event 3, 6, 3, 0, VAR_TEMP_0, 0, 0, gUnknown_082773BE + coord_event 10, 4, 3, 0, VAR_TEMP_0, 0, 0, gUnknown_082773A3 + coord_event 10, 6, 3, 0, VAR_TEMP_0, 0, 0, gUnknown_082773D9 DoubleBattleColosseum_MapEvents:: @ 8539EE8 map_events 0x0, DoubleBattleColosseum_MapWarps, DoubleBattleColosseum_MapCoordEvents, 0x0 diff --git a/data/maps/events/EverGrandeCity.inc b/data/maps/events/EverGrandeCity.inc index 47fec07ea..fb471b4ff 100644 --- a/data/maps/events/EverGrandeCity.inc +++ b/data/maps/events/EverGrandeCity.inc @@ -5,17 +5,17 @@ EverGrandeCity_MapWarps: @ 8527588 warp_def 18, 27, 0, 1, VICTORY_ROAD_1F EverGrandeCity_MapCoordEvents: @ 85275A8 - coord_event 17, 58, 1, 0, VAR_0x4001, 0, 0, EverGrandeCity_EventScript_1E7D46 - coord_event 16, 58, 1, 0, VAR_0x4001, 0, 0, EverGrandeCity_EventScript_1E7D46 - coord_event 18, 58, 1, 0, VAR_0x4001, 0, 0, EverGrandeCity_EventScript_1E7D46 - coord_event 19, 58, 1, 0, VAR_0x4001, 0, 0, EverGrandeCity_EventScript_1E7D46 - coord_event 20, 58, 1, 0, VAR_0x4001, 0, 0, EverGrandeCity_EventScript_1E7D46 - coord_event 21, 58, 1, 0, VAR_0x4001, 0, 0, EverGrandeCity_EventScript_1E7D46 - coord_event 22, 58, 1, 0, VAR_0x4001, 0, 0, EverGrandeCity_EventScript_1E7D46 - coord_event 23, 58, 1, 0, VAR_0x4001, 0, 0, EverGrandeCity_EventScript_1E7D46 - coord_event 24, 58, 1, 0, VAR_0x4001, 0, 0, EverGrandeCity_EventScript_1E7D46 - coord_event 25, 58, 1, 0, VAR_0x4001, 0, 0, EverGrandeCity_EventScript_1E7D46 - coord_event 26, 58, 1, 0, VAR_0x4001, 0, 0, EverGrandeCity_EventScript_1E7D46 + coord_event 17, 58, 1, 0, VAR_TEMP_1, 0, 0, EverGrandeCity_EventScript_1E7D46 + coord_event 16, 58, 1, 0, VAR_TEMP_1, 0, 0, EverGrandeCity_EventScript_1E7D46 + coord_event 18, 58, 1, 0, VAR_TEMP_1, 0, 0, EverGrandeCity_EventScript_1E7D46 + coord_event 19, 58, 1, 0, VAR_TEMP_1, 0, 0, EverGrandeCity_EventScript_1E7D46 + coord_event 20, 58, 1, 0, VAR_TEMP_1, 0, 0, EverGrandeCity_EventScript_1E7D46 + coord_event 21, 58, 1, 0, VAR_TEMP_1, 0, 0, EverGrandeCity_EventScript_1E7D46 + coord_event 22, 58, 1, 0, VAR_TEMP_1, 0, 0, EverGrandeCity_EventScript_1E7D46 + coord_event 23, 58, 1, 0, VAR_TEMP_1, 0, 0, EverGrandeCity_EventScript_1E7D46 + coord_event 24, 58, 1, 0, VAR_TEMP_1, 0, 0, EverGrandeCity_EventScript_1E7D46 + coord_event 25, 58, 1, 0, VAR_TEMP_1, 0, 0, EverGrandeCity_EventScript_1E7D46 + coord_event 26, 58, 1, 0, VAR_TEMP_1, 0, 0, EverGrandeCity_EventScript_1E7D46 EverGrandeCity_MapBGEvents: @ 8527658 bg_event 19, 43, 5, 0, 0, EverGrandeCity_EventScript_1E7D2B diff --git a/data/maps/events/LilycoveCity_CoveLilyMotel_1F.inc b/data/maps/events/LilycoveCity_CoveLilyMotel_1F.inc index 11d501116..e765a7390 100644 --- a/data/maps/events/LilycoveCity_CoveLilyMotel_1F.inc +++ b/data/maps/events/LilycoveCity_CoveLilyMotel_1F.inc @@ -7,7 +7,7 @@ LilycoveCity_CoveLilyMotel_1F_MapWarps: @ 853114C warp_def 2, 1, 0, 0, LILYCOVE_CITY_COVE_LILY_MOTEL_2F LilycoveCity_CoveLilyMotel_1F_MapCoordEvents: @ 8531164 - coord_event 10, 2, 3, 0, VAR_0x4001, 0, 0, LilycoveCity_CoveLilyMotel_1F_EventScript_218211 + coord_event 10, 2, 3, 0, VAR_TEMP_1, 0, 0, LilycoveCity_CoveLilyMotel_1F_EventScript_218211 LilycoveCity_CoveLilyMotel_1F_MapEvents:: @ 8531174 map_events LilycoveCity_CoveLilyMotel_1F_MapObjects, LilycoveCity_CoveLilyMotel_1F_MapWarps, LilycoveCity_CoveLilyMotel_1F_MapCoordEvents, 0x0 diff --git a/data/maps/events/MarineCave_End.inc b/data/maps/events/MarineCave_End.inc index 385a05193..ad11733e1 100644 --- a/data/maps/events/MarineCave_End.inc +++ b/data/maps/events/MarineCave_End.inc @@ -5,7 +5,7 @@ MarineCave_End_MapWarps: @ 8537800 warp_def 20, 4, 0, 0, MARINE_CAVE_ENTRANCE MarineCave_End_MapCoordEvents: @ 8537808 - coord_event 9, 26, 3, 0, VAR_0x4001, 1, 0, MarineCave_End_EventScript_23B01B + coord_event 9, 26, 3, 0, VAR_TEMP_1, 1, 0, MarineCave_End_EventScript_23B01B MarineCave_End_MapEvents:: @ 8537818 map_events MarineCave_End_MapObjects, MarineCave_End_MapWarps, MarineCave_End_MapCoordEvents, 0x0 diff --git a/data/maps/events/MauvilleCity_Gym.inc b/data/maps/events/MauvilleCity_Gym.inc index acbbeccef..44ae41601 100644 --- a/data/maps/events/MauvilleCity_Gym.inc +++ b/data/maps/events/MauvilleCity_Gym.inc @@ -12,10 +12,10 @@ MauvilleCity_Gym_MapWarps: @ 852FE04 warp_def 5, 20, 0, 0, MAUVILLE_CITY MauvilleCity_Gym_MapCoordEvents: @ 852FE14 - coord_event 4, 12, 3, 0, VAR_0x4000, 0, 0, MauvilleCity_Gym_EventScript_20E01E - coord_event 3, 9, 3, 0, VAR_0x4000, 0, 0, MauvilleCity_Gym_EventScript_20E043 - coord_event 0, 15, 3, 0, VAR_0x4000, 0, 0, MauvilleCity_Gym_EventScript_20DFF9 - coord_event 8, 9, 3, 0, VAR_0x4000, 0, 0, MauvilleCity_Gym_EventScript_20E068 + coord_event 4, 12, 3, 0, VAR_TEMP_0, 0, 0, MauvilleCity_Gym_EventScript_20E01E + coord_event 3, 9, 3, 0, VAR_TEMP_0, 0, 0, MauvilleCity_Gym_EventScript_20E043 + coord_event 0, 15, 3, 0, VAR_TEMP_0, 0, 0, MauvilleCity_Gym_EventScript_20DFF9 + coord_event 8, 9, 3, 0, VAR_TEMP_0, 0, 0, MauvilleCity_Gym_EventScript_20E068 MauvilleCity_Gym_MapBGEvents: @ 852FE54 bg_event 3, 18, 0, 1, 0, MauvilleCity_Gym_EventScript_20E14B diff --git a/data/maps/events/MossdeepCity.inc b/data/maps/events/MossdeepCity.inc index 5d3717531..d048ecb5d 100644 --- a/data/maps/events/MossdeepCity.inc +++ b/data/maps/events/MossdeepCity.inc @@ -30,10 +30,10 @@ MossdeepCity_MapWarps: @ 85271B0 warp_def 36, 24, 0, 0, MOSSDEEP_CITY_GAME_CORNER_1F MossdeepCity_MapCoordEvents: @ 8527200 - coord_event 25, 25, 0, 0, VAR_0x4001, 0, 0, MossdeepCity_EventScript_1E4B38 - coord_event 26, 25, 0, 0, VAR_0x4001, 0, 0, MossdeepCity_EventScript_1E4B38 - coord_event 32, 27, 0, 0, VAR_0x4001, 0, 0, MossdeepCity_EventScript_1E4B38 - coord_event 33, 27, 0, 0, VAR_0x4001, 0, 0, MossdeepCity_EventScript_1E4B38 + coord_event 25, 25, 0, 0, VAR_TEMP_1, 0, 0, MossdeepCity_EventScript_1E4B38 + coord_event 26, 25, 0, 0, VAR_TEMP_1, 0, 0, MossdeepCity_EventScript_1E4B38 + coord_event 32, 27, 0, 0, VAR_TEMP_1, 0, 0, MossdeepCity_EventScript_1E4B38 + coord_event 33, 27, 0, 0, VAR_TEMP_1, 0, 0, MossdeepCity_EventScript_1E4B38 coord_event 42, 21, 5, 0, VAR_0x405D, 1, 0, MossdeepCity_EventScript_1E4B41 coord_event 41, 22, 5, 0, VAR_0x405D, 1, 0, MossdeepCity_EventScript_1E4B41 coord_event 41, 23, 5, 0, VAR_0x405D, 1, 0, MossdeepCity_EventScript_1E4B41 diff --git a/data/maps/events/MossdeepCity_Gym.inc b/data/maps/events/MossdeepCity_Gym.inc index cf3e42434..57a717638 100644 --- a/data/maps/events/MossdeepCity_Gym.inc +++ b/data/maps/events/MossdeepCity_Gym.inc @@ -53,15 +53,15 @@ MossdeepCity_Gym_MapWarps: @ 853284C warp_def 21, 10, 0, 12, MOSSDEEP_CITY_GYM MossdeepCity_Gym_MapCoordEvents: @ 85328BC - coord_event 2, 21, 3, 0, VAR_0x4001, 0, 0, MossdeepCity_Gym_EventScript_220C67 - coord_event 8, 10, 3, 0, VAR_0x4001, 0, 0, MossdeepCity_Gym_EventScript_220C7D - coord_event 6, 7, 3, 0, VAR_0x4001, 0, 0, MossdeepCity_Gym_EventScript_220C7D - coord_event 15, 34, 3, 0, VAR_0x4001, 0, 0, MossdeepCity_Gym_EventScript_220C93 - coord_event 23, 24, 3, 0, VAR_0x4001, 0, 0, MossdeepCity_Gym_EventScript_220CA9 - coord_event 23, 21, 3, 0, VAR_0x4001, 0, 0, MossdeepCity_Gym_EventScript_220CA9 - coord_event 8, 6, 3, 0, VAR_0x4001, 0, 0, MossdeepCity_Gym_EventScript_220CBF - coord_event 21, 6, 0, 0, VAR_0x4001, 0, 0, MossdeepCity_Gym_EventScript_220AF1 - coord_event 3, 30, 3, 0, VAR_0x4001, 0, 0, MossdeepCity_Gym_EventScript_220C67 + coord_event 2, 21, 3, 0, VAR_TEMP_1, 0, 0, MossdeepCity_Gym_EventScript_220C67 + coord_event 8, 10, 3, 0, VAR_TEMP_1, 0, 0, MossdeepCity_Gym_EventScript_220C7D + coord_event 6, 7, 3, 0, VAR_TEMP_1, 0, 0, MossdeepCity_Gym_EventScript_220C7D + coord_event 15, 34, 3, 0, VAR_TEMP_1, 0, 0, MossdeepCity_Gym_EventScript_220C93 + coord_event 23, 24, 3, 0, VAR_TEMP_1, 0, 0, MossdeepCity_Gym_EventScript_220CA9 + coord_event 23, 21, 3, 0, VAR_TEMP_1, 0, 0, MossdeepCity_Gym_EventScript_220CA9 + coord_event 8, 6, 3, 0, VAR_TEMP_1, 0, 0, MossdeepCity_Gym_EventScript_220CBF + coord_event 21, 6, 0, 0, VAR_TEMP_1, 0, 0, MossdeepCity_Gym_EventScript_220AF1 + coord_event 3, 30, 3, 0, VAR_TEMP_1, 0, 0, MossdeepCity_Gym_EventScript_220C67 MossdeepCity_Gym_MapBGEvents: @ 853294C bg_event 4, 34, 0, 1, 0, MossdeepCity_Gym_EventScript_220C33 diff --git a/data/maps/events/NavelRock_Top.inc b/data/maps/events/NavelRock_Top.inc index 6fb99be16..695011311 100644 --- a/data/maps/events/NavelRock_Top.inc +++ b/data/maps/events/NavelRock_Top.inc @@ -5,7 +5,7 @@ NavelRock_Top_MapWarps: @ 853DB8C warp_def 13, 20, 3, 1, NAVEL_ROCK_UP_4 NavelRock_Top_MapCoordEvents: @ 853DB94 - coord_event 12, 10, 3, 0, VAR_0x4001, 0, 0, NavelRock_Top_EventScript_26916F + coord_event 12, 10, 3, 0, VAR_TEMP_1, 0, 0, NavelRock_Top_EventScript_26916F NavelRock_Top_MapBGEvents: @ 853DBA4 bg_event 12, 9, 3, 7, 0, ITEM_SACRED_ASH, 109, 0 diff --git a/data/maps/events/NewMauville_Inside.inc b/data/maps/events/NewMauville_Inside.inc index 74255c763..a2d81c9c1 100644 --- a/data/maps/events/NewMauville_Inside.inc +++ b/data/maps/events/NewMauville_Inside.inc @@ -12,15 +12,15 @@ NewMauville_Inside_MapWarps: @ 8536568 warp_def 32, 33, 3, 1, NEW_MAUVILLE_ENTRANCE NewMauville_Inside_MapCoordEvents: @ 8536570 - coord_event 30, 38, 3, 0, VAR_0x4001, 0, 0, NewMauville_Inside_EventScript_237459 - coord_event 18, 36, 3, 0, VAR_0x4002, 0, 0, NewMauville_Inside_EventScript_237471 - coord_event 4, 26, 3, 0, VAR_0x4001, 0, 0, NewMauville_Inside_EventScript_237459 - coord_event 16, 22, 3, 0, VAR_0x4001, 0, 0, NewMauville_Inside_EventScript_237459 - coord_event 25, 18, 3, 0, VAR_0x4002, 0, 0, NewMauville_Inside_EventScript_237471 - coord_event 2, 11, 3, 0, VAR_0x4002, 0, 0, NewMauville_Inside_EventScript_237471 - coord_event 6, 11, 3, 0, VAR_0x4001, 0, 0, NewMauville_Inside_EventScript_237459 - coord_event 13, 10, 3, 0, VAR_0x4001, 0, 0, NewMauville_Inside_EventScript_237459 - coord_event 17, 10, 3, 0, VAR_0x4002, 0, 0, NewMauville_Inside_EventScript_237471 + coord_event 30, 38, 3, 0, VAR_TEMP_1, 0, 0, NewMauville_Inside_EventScript_237459 + coord_event 18, 36, 3, 0, VAR_TEMP_2, 0, 0, NewMauville_Inside_EventScript_237471 + coord_event 4, 26, 3, 0, VAR_TEMP_1, 0, 0, NewMauville_Inside_EventScript_237459 + coord_event 16, 22, 3, 0, VAR_TEMP_1, 0, 0, NewMauville_Inside_EventScript_237459 + coord_event 25, 18, 3, 0, VAR_TEMP_2, 0, 0, NewMauville_Inside_EventScript_237471 + coord_event 2, 11, 3, 0, VAR_TEMP_2, 0, 0, NewMauville_Inside_EventScript_237471 + coord_event 6, 11, 3, 0, VAR_TEMP_1, 0, 0, NewMauville_Inside_EventScript_237459 + coord_event 13, 10, 3, 0, VAR_TEMP_1, 0, 0, NewMauville_Inside_EventScript_237459 + coord_event 17, 10, 3, 0, VAR_TEMP_2, 0, 0, NewMauville_Inside_EventScript_237471 coord_event 33, 6, 3, 0, VAR_0x40BA, 1, 0, NewMauville_Inside_EventScript_237725 NewMauville_Inside_MapBGEvents: @ 8536610 diff --git a/data/maps/events/RecordCorner.inc b/data/maps/events/RecordCorner.inc index 67c2c56da..672abbbd4 100644 --- a/data/maps/events/RecordCorner.inc +++ b/data/maps/events/RecordCorner.inc @@ -8,10 +8,10 @@ RecordCorner_MapWarps: @ 8539E14 warp_def 10, 9, 3, 127, NONE RecordCorner_MapCoordEvents: @ 8539E34 - coord_event 6, 4, 3, 0, VAR_0x4000, 0, 0, gUnknown_0827741D - coord_event 6, 6, 3, 0, VAR_0x4000, 0, 0, gUnknown_08277447 - coord_event 13, 4, 3, 0, VAR_0x4000, 0, 0, gUnknown_08277432 - coord_event 13, 6, 3, 0, VAR_0x4000, 0, 0, gUnknown_0827745C + coord_event 6, 4, 3, 0, VAR_TEMP_0, 0, 0, gUnknown_0827741D + coord_event 6, 6, 3, 0, VAR_TEMP_0, 0, 0, gUnknown_08277447 + coord_event 13, 4, 3, 0, VAR_TEMP_0, 0, 0, gUnknown_08277432 + coord_event 13, 6, 3, 0, VAR_TEMP_0, 0, 0, gUnknown_0827745C RecordCorner_MapEvents:: @ 8539E74 map_events RecordCorner_MapObjects, RecordCorner_MapWarps, RecordCorner_MapCoordEvents, 0x0 diff --git a/data/maps/events/Route110_SeasideCyclingRoadEntrance1.inc b/data/maps/events/Route110_SeasideCyclingRoadEntrance1.inc index ec107e176..37d3065c5 100644 --- a/data/maps/events/Route110_SeasideCyclingRoadEntrance1.inc +++ b/data/maps/events/Route110_SeasideCyclingRoadEntrance1.inc @@ -8,8 +8,8 @@ Route110_SeasideCyclingRoadEntrance1_MapWarps: @ 853E9B8 warp_def 13, 5, 0, 5, ROUTE_110 Route110_SeasideCyclingRoadEntrance1_MapCoordEvents: @ 853E9D8 - coord_event 7, 4, 3, 0, VAR_0x4001, 0, 0, Route110_SeasideCyclingRoadEntrance1_EventScript_26EA84 - coord_event 5, 4, 3, 0, VAR_0x4001, 1, 0, Route110_SeasideCyclingRoadEntrance1_EventScript_26EAB6 + coord_event 7, 4, 3, 0, VAR_TEMP_1, 0, 0, Route110_SeasideCyclingRoadEntrance1_EventScript_26EA84 + coord_event 5, 4, 3, 0, VAR_TEMP_1, 1, 0, Route110_SeasideCyclingRoadEntrance1_EventScript_26EAB6 Route110_SeasideCyclingRoadEntrance1_MapEvents:: @ 853E9F8 map_events Route110_SeasideCyclingRoadEntrance1_MapObjects, Route110_SeasideCyclingRoadEntrance1_MapWarps, Route110_SeasideCyclingRoadEntrance1_MapCoordEvents, 0x0 diff --git a/data/maps/events/Route110_SeasideCyclingRoadEntrance2.inc b/data/maps/events/Route110_SeasideCyclingRoadEntrance2.inc index 23b8f7253..38e02b9ce 100644 --- a/data/maps/events/Route110_SeasideCyclingRoadEntrance2.inc +++ b/data/maps/events/Route110_SeasideCyclingRoadEntrance2.inc @@ -8,8 +8,8 @@ Route110_SeasideCyclingRoadEntrance2_MapWarps: @ 853EA24 warp_def 13, 5, 0, 3, ROUTE_110 Route110_SeasideCyclingRoadEntrance2_MapCoordEvents: @ 853EA44 - coord_event 7, 4, 3, 0, VAR_0x4001, 0, 0, Route110_SeasideCyclingRoadEntrance2_EventScript_26EBD0 - coord_event 5, 4, 3, 0, VAR_0x4001, 1, 0, Route110_SeasideCyclingRoadEntrance2_EventScript_26EC13 + coord_event 7, 4, 3, 0, VAR_TEMP_1, 0, 0, Route110_SeasideCyclingRoadEntrance2_EventScript_26EBD0 + coord_event 5, 4, 3, 0, VAR_TEMP_1, 1, 0, Route110_SeasideCyclingRoadEntrance2_EventScript_26EC13 Route110_SeasideCyclingRoadEntrance2_MapEvents:: @ 853EA64 map_events Route110_SeasideCyclingRoadEntrance2_MapObjects, Route110_SeasideCyclingRoadEntrance2_MapWarps, Route110_SeasideCyclingRoadEntrance2_MapCoordEvents, 0x0 diff --git a/data/maps/events/Route110_TrickHouseEnd.inc b/data/maps/events/Route110_TrickHouseEnd.inc index 42ff2196c..34ebbc229 100644 --- a/data/maps/events/Route110_TrickHouseEnd.inc +++ b/data/maps/events/Route110_TrickHouseEnd.inc @@ -6,7 +6,7 @@ Route110_TrickHouseEnd_MapWarps: @ 853DF14 warp_def 2, 1, 3, 0, ROUTE_110_TRICK_HOUSE_CORRIDOR Route110_TrickHouseEnd_MapCoordEvents: @ 853DF24 - coord_event 2, 2, 3, 0, VAR_0x4002, 0, 0, Route110_TrickHouseEnd_EventScript_26B041 + coord_event 2, 2, 3, 0, VAR_TEMP_2, 0, 0, Route110_TrickHouseEnd_EventScript_26B041 Route110_TrickHouseEnd_MapBGEvents: @ 853DF34 bg_event 4, 5, 3, 7, 0, ITEM_NUGGET, 1, 0 diff --git a/data/maps/events/Route110_TrickHousePuzzle2.inc b/data/maps/events/Route110_TrickHousePuzzle2.inc index 007be3861..92f2bad01 100644 --- a/data/maps/events/Route110_TrickHousePuzzle2.inc +++ b/data/maps/events/Route110_TrickHousePuzzle2.inc @@ -11,10 +11,10 @@ Route110_TrickHousePuzzle2_MapWarps: @ 853E1A0 warp_def 13, 1, 3, 0, ROUTE_110_TRICK_HOUSE_END Route110_TrickHousePuzzle2_MapCoordEvents: @ 853E1B8 - coord_event 11, 12, 3, 0, VAR_0x4001, 0, 0, Route110_TrickHousePuzzle2_EventScript_26BBDD - coord_event 0, 4, 0, 0, VAR_0x4002, 0, 0, Route110_TrickHousePuzzle2_EventScript_26BBF0 - coord_event 14, 5, 3, 0, VAR_0x4003, 0, 0, Route110_TrickHousePuzzle2_EventScript_26BC03 - coord_event 7, 11, 3, 0, VAR_0x4004, 0, 0, Route110_TrickHousePuzzle2_EventScript_26BC16 + coord_event 11, 12, 3, 0, VAR_TEMP_1, 0, 0, Route110_TrickHousePuzzle2_EventScript_26BBDD + coord_event 0, 4, 0, 0, VAR_TEMP_2, 0, 0, Route110_TrickHousePuzzle2_EventScript_26BBF0 + coord_event 14, 5, 3, 0, VAR_TEMP_3, 0, 0, Route110_TrickHousePuzzle2_EventScript_26BC03 + coord_event 7, 11, 3, 0, VAR_TEMP_4, 0, 0, Route110_TrickHousePuzzle2_EventScript_26BC16 Route110_TrickHousePuzzle2_MapBGEvents: @ 853E1F8 bg_event 14, 14, 0, 0, 0, Route110_TrickHousePuzzle2_EventScript_26BBC0 diff --git a/data/maps/events/Route110_TrickHousePuzzle3.inc b/data/maps/events/Route110_TrickHousePuzzle3.inc index 88aedca9f..c3070fafe 100644 --- a/data/maps/events/Route110_TrickHousePuzzle3.inc +++ b/data/maps/events/Route110_TrickHousePuzzle3.inc @@ -13,10 +13,10 @@ Route110_TrickHousePuzzle3_MapWarps: @ 853E2C0 warp_def 13, 1, 3, 0, ROUTE_110_TRICK_HOUSE_END Route110_TrickHousePuzzle3_MapCoordEvents: @ 853E2D8 - coord_event 4, 14, 3, 0, VAR_0x4001, 0, 0, Route110_TrickHousePuzzle3_EventScript_26C4CD - coord_event 3, 11, 3, 0, VAR_0x4002, 0, 0, Route110_TrickHousePuzzle3_EventScript_26C4D9 - coord_event 12, 5, 3, 0, VAR_0x4003, 0, 0, Route110_TrickHousePuzzle3_EventScript_26C4E5 - coord_event 8, 2, 3, 0, VAR_0x4004, 0, 0, Route110_TrickHousePuzzle3_EventScript_26C4F1 + coord_event 4, 14, 3, 0, VAR_TEMP_1, 0, 0, Route110_TrickHousePuzzle3_EventScript_26C4CD + coord_event 3, 11, 3, 0, VAR_TEMP_2, 0, 0, Route110_TrickHousePuzzle3_EventScript_26C4D9 + coord_event 12, 5, 3, 0, VAR_TEMP_3, 0, 0, Route110_TrickHousePuzzle3_EventScript_26C4E5 + coord_event 8, 2, 3, 0, VAR_TEMP_4, 0, 0, Route110_TrickHousePuzzle3_EventScript_26C4F1 Route110_TrickHousePuzzle3_MapBGEvents: @ 853E318 bg_event 0, 14, 0, 0, 0, Route110_TrickHousePuzzle3_EventScript_26C5A7 diff --git a/data/maps/events/Route110_TrickHousePuzzle5.inc b/data/maps/events/Route110_TrickHousePuzzle5.inc index 7d15de921..801448b12 100644 --- a/data/maps/events/Route110_TrickHousePuzzle5.inc +++ b/data/maps/events/Route110_TrickHousePuzzle5.inc @@ -11,28 +11,28 @@ Route110_TrickHousePuzzle5_MapWarps: @ 853E538 warp_def 13, 1, 3, 0, ROUTE_110_TRICK_HOUSE_END Route110_TrickHousePuzzle5_MapCoordEvents: @ 853E550 - coord_event 5, 17, 3, 0, VAR_0x4001, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CBD7 - coord_event 4, 17, 3, 0, VAR_0x4001, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CBE3 - coord_event 3, 17, 3, 0, VAR_0x4001, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CBEF - coord_event 2, 17, 3, 0, VAR_0x4001, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CBFB - coord_event 1, 7, 3, 0, VAR_0x4002, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC13 - coord_event 2, 7, 3, 0, VAR_0x4002, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC1F - coord_event 13, 10, 3, 0, VAR_0x4003, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC5B - coord_event 12, 10, 3, 0, VAR_0x4003, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC67 - coord_event 11, 10, 3, 0, VAR_0x4003, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC73 - coord_event 13, 19, 3, 0, VAR_0x4004, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC97 - coord_event 12, 19, 3, 0, VAR_0x4004, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CCA3 - coord_event 11, 4, 3, 0, VAR_0x4005, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CCDF - coord_event 1, 17, 3, 0, VAR_0x4001, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC07 - coord_event 3, 7, 3, 0, VAR_0x4002, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC2B - coord_event 4, 7, 3, 0, VAR_0x4002, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC37 - coord_event 5, 7, 3, 0, VAR_0x4002, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC43 - coord_event 6, 7, 3, 0, VAR_0x4002, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC4F - coord_event 10, 10, 3, 0, VAR_0x4003, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC7F - coord_event 9, 10, 3, 0, VAR_0x4003, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC8B - coord_event 11, 19, 3, 0, VAR_0x4004, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CCAF - coord_event 10, 19, 3, 0, VAR_0x4004, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CCBB - coord_event 9, 19, 3, 0, VAR_0x4004, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CCC7 + coord_event 5, 17, 3, 0, VAR_TEMP_1, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CBD7 + coord_event 4, 17, 3, 0, VAR_TEMP_1, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CBE3 + coord_event 3, 17, 3, 0, VAR_TEMP_1, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CBEF + coord_event 2, 17, 3, 0, VAR_TEMP_1, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CBFB + coord_event 1, 7, 3, 0, VAR_TEMP_2, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC13 + coord_event 2, 7, 3, 0, VAR_TEMP_2, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC1F + coord_event 13, 10, 3, 0, VAR_TEMP_3, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC5B + coord_event 12, 10, 3, 0, VAR_TEMP_3, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC67 + coord_event 11, 10, 3, 0, VAR_TEMP_3, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC73 + coord_event 13, 19, 3, 0, VAR_TEMP_4, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC97 + coord_event 12, 19, 3, 0, VAR_TEMP_4, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CCA3 + coord_event 11, 4, 3, 0, VAR_TEMP_5, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CCDF + coord_event 1, 17, 3, 0, VAR_TEMP_1, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC07 + coord_event 3, 7, 3, 0, VAR_TEMP_2, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC2B + coord_event 4, 7, 3, 0, VAR_TEMP_2, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC37 + coord_event 5, 7, 3, 0, VAR_TEMP_2, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC43 + coord_event 6, 7, 3, 0, VAR_TEMP_2, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC4F + coord_event 10, 10, 3, 0, VAR_TEMP_3, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC7F + coord_event 9, 10, 3, 0, VAR_TEMP_3, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC8B + coord_event 11, 19, 3, 0, VAR_TEMP_4, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CCAF + coord_event 10, 19, 3, 0, VAR_TEMP_4, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CCBB + coord_event 9, 19, 3, 0, VAR_TEMP_4, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CCC7 Route110_TrickHousePuzzle5_MapBGEvents: @ 853E6B0 bg_event 11, 21, 0, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CB15 diff --git a/data/maps/events/Route110_TrickHousePuzzle7.inc b/data/maps/events/Route110_TrickHousePuzzle7.inc index 49003a63e..8da2bab85 100644 --- a/data/maps/events/Route110_TrickHousePuzzle7.inc +++ b/data/maps/events/Route110_TrickHousePuzzle7.inc @@ -25,10 +25,10 @@ Route110_TrickHousePuzzle7_MapWarps: @ 853E840 warp_def 8, 12, 0, 11, ROUTE_110_TRICK_HOUSE_PUZZLE_7 Route110_TrickHousePuzzle7_MapCoordEvents: @ 853E8A8 - coord_event 8, 19, 0, 0, VAR_0x4001, 0, 0, Route110_TrickHousePuzzle7_EventScript_26E31B - coord_event 0, 14, 0, 0, VAR_0x4001, 0, 0, Route110_TrickHousePuzzle7_EventScript_26E331 - coord_event 6, 6, 0, 0, VAR_0x4001, 0, 0, Route110_TrickHousePuzzle7_EventScript_26E347 - coord_event 9, 7, 0, 0, VAR_0x4001, 0, 0, Route110_TrickHousePuzzle7_EventScript_26E35D + coord_event 8, 19, 0, 0, VAR_TEMP_1, 0, 0, Route110_TrickHousePuzzle7_EventScript_26E31B + coord_event 0, 14, 0, 0, VAR_TEMP_1, 0, 0, Route110_TrickHousePuzzle7_EventScript_26E331 + coord_event 6, 6, 0, 0, VAR_TEMP_1, 0, 0, Route110_TrickHousePuzzle7_EventScript_26E347 + coord_event 9, 7, 0, 0, VAR_TEMP_1, 0, 0, Route110_TrickHousePuzzle7_EventScript_26E35D Route110_TrickHousePuzzle7_MapBGEvents: @ 853E8E8 bg_event 6, 17, 0, 0, 0, Route110_TrickHousePuzzle7_EventScript_26E1D0 diff --git a/data/maps/events/Route111.inc b/data/maps/events/Route111.inc index 564b94797..9c79e2c52 100644 --- a/data/maps/events/Route111.inc +++ b/data/maps/events/Route111.inc @@ -55,21 +55,21 @@ Route111_MapWarps: @ 8529640 Route111_MapCoordEvents: @ 8529668 coord_event 12, 62, 3, 0, 0, 0, 0, Route111_EventScript_1F0FBD - coord_event 11, 61, 3, 0, VAR_0x4003, 0, 0, Route111_EventScript_1F0F0A - coord_event 12, 61, 3, 0, VAR_0x4003, 0, 0, Route111_EventScript_1F0F0A - coord_event 13, 61, 3, 0, VAR_0x4003, 0, 0, Route111_EventScript_1F0F0A + coord_event 11, 61, 3, 0, VAR_TEMP_3, 0, 0, Route111_EventScript_1F0F0A + coord_event 12, 61, 3, 0, VAR_TEMP_3, 0, 0, Route111_EventScript_1F0F0A + coord_event 13, 61, 3, 0, VAR_TEMP_3, 0, 0, Route111_EventScript_1F0F0A coord_event 7, 63, 3, 0, 0, 0, 0, Route111_EventScript_1F0FB0 - coord_event 12, 44, 3, 0, VAR_0x4003, 0, 0, Route111_EventScript_1F0F16 - coord_event 13, 43, 3, 0, VAR_0x4003, 0, 0, Route111_EventScript_1F0F16 - coord_event 14, 42, 3, 0, VAR_0x4003, 0, 0, Route111_EventScript_1F0F16 - coord_event 16, 40, 3, 0, VAR_0x4003, 0, 0, Route111_EventScript_1F0F16 - coord_event 14, 61, 3, 0, VAR_0x4003, 0, 0, Route111_EventScript_1F0F0A + coord_event 12, 44, 3, 0, VAR_TEMP_3, 0, 0, Route111_EventScript_1F0F16 + coord_event 13, 43, 3, 0, VAR_TEMP_3, 0, 0, Route111_EventScript_1F0F16 + coord_event 14, 42, 3, 0, VAR_TEMP_3, 0, 0, Route111_EventScript_1F0F16 + coord_event 16, 40, 3, 0, VAR_TEMP_3, 0, 0, Route111_EventScript_1F0F16 + coord_event 14, 61, 3, 0, VAR_TEMP_3, 0, 0, Route111_EventScript_1F0F0A coord_event 18, 32, 3, 0, 0, 0, 0, Route111_EventScript_1F0FB0 coord_event 17, 31, 3, 0, 0, 0, 0, Route111_EventScript_1F0FB0 coord_event 9, 37, 3, 0, 0, 0, 0, Route111_EventScript_1F0FB0 coord_event 10, 36, 3, 0, 0, 0, 0, Route111_EventScript_1F0FB0 - coord_event 17, 39, 3, 0, VAR_0x4003, 0, 0, Route111_EventScript_1F0F16 - coord_event 18, 38, 3, 0, VAR_0x4003, 0, 0, Route111_EventScript_1F0F16 + coord_event 17, 39, 3, 0, VAR_TEMP_3, 0, 0, Route111_EventScript_1F0F16 + coord_event 18, 38, 3, 0, VAR_TEMP_3, 0, 0, Route111_EventScript_1F0F16 coord_event 8, 64, 3, 0, 0, 0, 0, Route111_EventScript_1F0FB0 coord_event 9, 65, 3, 0, 0, 0, 0, Route111_EventScript_1F0FB0 coord_event 10, 65, 3, 0, 0, 0, 0, Route111_EventScript_1F0FB0 diff --git a/data/maps/events/Route121_SafariZoneEntrance.inc b/data/maps/events/Route121_SafariZoneEntrance.inc index cad82a51a..258571e17 100644 --- a/data/maps/events/Route121_SafariZoneEntrance.inc +++ b/data/maps/events/Route121_SafariZoneEntrance.inc @@ -10,7 +10,7 @@ Route121_SafariZoneEntrance_MapWarps: @ 8533F24 warp_def 15, 13, 0, 0, ROUTE_121 Route121_SafariZoneEntrance_MapCoordEvents: @ 8533F44 - coord_event 8, 4, 3, 0, VAR_0x4001, 0, 0, Route121_SafariZoneEntrance_EventScript_22BC18 + coord_event 8, 4, 3, 0, VAR_TEMP_1, 0, 0, Route121_SafariZoneEntrance_EventScript_22BC18 Route121_SafariZoneEntrance_MapBGEvents: @ 8533F54 bg_event 15, 1, 0, 0, 0, Route121_SafariZoneEntrance_EventScript_22BD21 diff --git a/data/maps/events/SingleBattleColosseum.inc b/data/maps/events/SingleBattleColosseum.inc index 6672b1221..ad8a393d6 100644 --- a/data/maps/events/SingleBattleColosseum.inc +++ b/data/maps/events/SingleBattleColosseum.inc @@ -6,8 +6,8 @@ SingleBattleColosseum_MapWarps: @ 8539D5C warp_def 7, 8, 3, 127, NONE SingleBattleColosseum_MapCoordEvents: @ 8539D6C - coord_event 3, 5, 3, 0, VAR_0x4000, 0, 0, gUnknown_08277374 - coord_event 10, 5, 3, 0, VAR_0x4000, 0, 0, gUnknown_0827737E + coord_event 3, 5, 3, 0, VAR_TEMP_0, 0, 0, gUnknown_08277374 + coord_event 10, 5, 3, 0, VAR_TEMP_0, 0, 0, gUnknown_0827737E SingleBattleColosseum_MapEvents:: @ 8539D8C map_events SingleBattleColosseum_MapObjects, SingleBattleColosseum_MapWarps, SingleBattleColosseum_MapCoordEvents, 0x0 diff --git a/data/maps/events/TerraCave_End.inc b/data/maps/events/TerraCave_End.inc index 2421cba40..0e3c0f0bb 100644 --- a/data/maps/events/TerraCave_End.inc +++ b/data/maps/events/TerraCave_End.inc @@ -5,7 +5,7 @@ TerraCave_End_MapWarps: @ 8537868 warp_def 5, 4, 3, 1, TERRA_CAVE_ENTRANCE TerraCave_End_MapCoordEvents: @ 8537870 - coord_event 17, 26, 3, 0, VAR_0x4001, 1, 0, TerraCave_End_EventScript_23B0EC + coord_event 17, 26, 3, 0, VAR_TEMP_1, 1, 0, TerraCave_End_EventScript_23B0EC TerraCave_End_MapEvents:: @ 8537880 map_events TerraCave_End_MapObjects, TerraCave_End_MapWarps, TerraCave_End_MapCoordEvents, 0x0 diff --git a/data/maps/events/TradeCenter.inc b/data/maps/events/TradeCenter.inc index ffb999b22..dea4f52c3 100644 --- a/data/maps/events/TradeCenter.inc +++ b/data/maps/events/TradeCenter.inc @@ -6,8 +6,8 @@ TradeCenter_MapWarps: @ 8539DB8 warp_def 6, 8, 3, 127, NONE TradeCenter_MapCoordEvents: @ 8539DC8 - coord_event 4, 5, 3, 0, VAR_0x4000, 0, 0, gUnknown_082773F5 - coord_event 7, 5, 3, 0, VAR_0x4000, 0, 0, gUnknown_082773FF + coord_event 4, 5, 3, 0, VAR_TEMP_0, 0, 0, gUnknown_082773F5 + coord_event 7, 5, 3, 0, VAR_TEMP_0, 0, 0, gUnknown_082773FF TradeCenter_MapEvents:: @ 8539DE8 map_events TradeCenter_MapObjects, TradeCenter_MapWarps, TradeCenter_MapCoordEvents, 0x0 diff --git a/data/menu_helpers.s b/data/menu_helpers.s deleted file mode 100644 index 25ca66485..000000000 --- a/data/menu_helpers.s +++ /dev/null @@ -1,37 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2, 0 - -gUnknown_0859F4E8:: @ 859F4E8 - .2byte 0x00 - .2byte 0x4000 - .2byte 0x00 - .2byte 0x00 - -gUnknown_0859F4F0:: @ 859F4F0 - obj_image_anim_frame 0x00, 0x00 - obj_image_anim_end - -gUnknown_0859F4F8:: @ 859F4F8 - obj_image_anim_frame 0x04, 0x00 - obj_image_anim_end - -gUnknown_0859F500:: @ 859F500 - obj_image_anim_frame 0x00, 0x40 - obj_image_anim_end - -gUnknown_0859F508:: @ 859F508 - .4byte gUnknown_0859F4F0 - .4byte gUnknown_0859F4F8 - .4byte gUnknown_0859F500 - -gUnknown_0859F514:: @ 859F514 - .4byte gBagSwapLineGfx, 0x6D0100 - -gUnknown_0859F51C:: @ 859F51C - .4byte gBagSwapLinePal, 0x6D - -gUnknown_0859F524:: @ 859F524 - spr_template 0x6D, 0x6D, gUnknown_0859F4E8, gUnknown_0859F508, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy diff --git a/data/menu_indicators.s b/data/menu_indicators.s deleted file mode 100644 index 24353b157..000000000 --- a/data/menu_indicators.s +++ /dev/null @@ -1,93 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - -gUnknown_086141FC:: @ 86141FC - .byte 0, 2, 8, 0 - .byte 1, 2, -8, -1 - .byte 18, 2, 8, 0 - .byte 19, 2, -8, -1 - -gUnknown_0861420C:: @ 861420C - .2byte 0 - .2byte 0x4000 - .2byte 0 - .2byte 0 - -gUnknown_08614214:: @ 8614214 - obj_image_anim_frame 0, 30 - obj_image_anim_end - -gUnknown_0861421C:: @ 861421C - obj_image_anim_frame 0, 0x5e - obj_image_anim_end - -gUnknown_08614224:: @ 8614224 - obj_image_anim_frame 4, 30 - obj_image_anim_end - -gUnknown_0861422C:: @ 861422C - obj_image_anim_frame 4, 0x9e - obj_image_anim_end - -gUnknown_08614234:: @ 8614234 - .4byte gUnknown_08614214 - .4byte gUnknown_0861421C - .4byte gUnknown_08614224 - .4byte gUnknown_0861422C - -gUnknown_08614244:: @ 8614244 - spr_template 0, 0, gUnknown_0861420C, gUnknown_08614234, NULL, gDummySpriteAffineAnimTable, sub_81AF264 - -gUnknown_0861425C:: @ 861425C - .4byte 0x00000000 - -gUnknown_08614260:: @ 8614260 - .4byte 0x00100000 - -gUnknown_08614264:: @ 8614264 - .4byte 0x00200000 - -gUnknown_08614268:: @ 8614268 - .4byte 0x00300000 - -gUnknown_0861426C:: @ 861426C - .4byte 0x00400000 - -gUnknown_08614270:: @ 8614270 - .4byte 0x00500000 - -gUnknown_08614274:: @ 8614274 - .4byte 0x00600000 - -gUnknown_08614278:: @ 8614278 - .4byte 0x00700000 - -gUnknown_0861427C:: @ 861427C - .2byte 0 - .2byte 0x4000 - .2byte 0 - .2byte 0 - -gUnknown_08614284:: @ 8614284 - obj_image_anim_frame 0, 30 - obj_image_anim_end - -gUnknown_0861428C:: @ 861428C - .4byte gUnknown_08614284 - -gUnknown_08614290:: @ 8614290 - spr_template 0, 0, gUnknown_0861427C, gUnknown_0861428C, NULL, gDummySpriteAffineAnimTable, ObjectCB_RedArrowCursor - -gUnknown_086142A8:: @ 86142A8 - .incbin "graphics/interface/red_arrow.gbapal" - -gUnknown_086142C8:: @ 86142C8 - .incbin "graphics/interface/red_arrow_other.4bpp.lz" - -gUnknown_08614338:: @ 8614338 - .incbin "graphics/interface/selector_outline.4bpp.lz" - -gUnknown_08614378:: @ 8614378 - .incbin "graphics/interface/red_arrow.4bpp.lz" diff --git a/data/record_mixing.s b/data/record_mixing.s deleted file mode 100644 index 20a37145c..000000000 --- a/data/record_mixing.s +++ /dev/null @@ -1,37 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2, 0 - -gUnknown_0858CF8C:: @ 858CF8C - .byte 1, 0 - -gUnknown_0858CF8E:: @ 858CF8E - .byte 1, 2, 0 - .byte 2, 0, 1 - -gUnknown_0858CF94:: @ 858CF94 - .byte 1, 0, 3 - .byte 2, 3, 0 - .byte 1, 2, 2 - .byte 0, 3, 1 - .byte 1, 3, 0 - .byte 2, 2, 3 - .byte 0, 1, 3 - .byte 2, 0, 1 - .byte 1, 2, 3 - .byte 0, 2, 3 - .byte 1, 0, 3 - .byte 2, 1, 0 - -gUnknown_0858CFB8:: @ 858CFB8 - .byte 0, 1 - .byte 1, 2 - .byte 2, 0 - -gUnknown_0858CFBE:: @ 858CFBE - .byte 0, 1, 2, 3 - .byte 0, 2, 1, 3 - .byte 0, 3, 2, 1 - .byte 0, 0 diff --git a/data/scripts/cable_club.inc b/data/scripts/cable_club.inc index bd633a115..9a34d2e61 100644 --- a/data/scripts/cable_club.inc +++ b/data/scripts/cable_club.inc @@ -880,7 +880,7 @@ gUnknown_0827741D:: @ 827741D setvar VAR_0x8005, 0 special sub_80E6BE8 waitstate - compare VAR_0x4001, 0 + compare VAR_TEMP_1, 0 goto_if 5, RecordCorner_EventScript_277471 end @@ -888,7 +888,7 @@ gUnknown_08277432:: @ 8277432 setvar VAR_0x8005, 1 special sub_80E6BE8 waitstate - compare VAR_0x4001, 0 + compare VAR_TEMP_1, 0 goto_if 5, RecordCorner_EventScript_277471 end @@ -896,7 +896,7 @@ gUnknown_08277447:: @ 8277447 setvar VAR_0x8005, 2 special sub_80E6BE8 waitstate - compare VAR_0x4001, 0 + compare VAR_TEMP_1, 0 goto_if 5, RecordCorner_EventScript_277471 end @@ -904,12 +904,12 @@ gUnknown_0827745C:: @ 827745C setvar VAR_0x8005, 3 special sub_80E6BE8 waitstate - compare VAR_0x4001, 0 + compare VAR_TEMP_1, 0 goto_if 5, RecordCorner_EventScript_277471 end RecordCorner_EventScript_277471:: @ 8277471 - bufferitemname 1, VAR_0x4001 + bufferitemname 1, VAR_TEMP_1 message RecordCorner_Text_27863C waitmessage waitbuttonpress @@ -950,7 +950,7 @@ TradeCenter_EventScript_2774B6:: @ 82774B6 end RecordCorner_EventScript_2774C6:: @ 82774C6 - compare VAR_0x4000, 0 + compare VAR_TEMP_0, 0 goto_if 5, RecordCorner_EventScript_2774E0 special sub_8098574 message RecordCorner_Text_27861C diff --git a/data/scripts/contest_hall.inc b/data/scripts/contest_hall.inc index 7eb12ac1f..a6a0ebcc2 100644 --- a/data/scripts/contest_hall.inc +++ b/data/scripts/contest_hall.inc @@ -309,7 +309,7 @@ LinkContestRoom1_EventScript_27A0F5:: @ 827A0F5 compare VAR_0x8006, 4 goto_if 5, LinkContestRoom1_EventScript_27A0F5 call LinkContestRoom1_EventScript_27A230 - setvar VAR_0x4001, 6 + setvar VAR_TEMP_1, 6 return LinkContestRoom1_EventScript_27A133:: @ 827A133 @@ -495,24 +495,24 @@ LinkContestRoom1_EventScript_27A34F:: @ 827A34F call_if 1, LinkContestRoom1_EventScript_27A56E compare VAR_0x4088, 5 call_if 1, LinkContestRoom1_EventScript_27A5CC - setvar VAR_0x4001, 9 - setvar VAR_0x4002, 9 - setvar VAR_0x4003, 9 - setvar VAR_0x4004, 9 - setvar VAR_0x4005, 9 - setvar VAR_0x4006, 9 - setvar VAR_0x4007, 9 - setvar VAR_0x4008, 9 - compare VAR_0x4000, 0 + setvar VAR_TEMP_1, 9 + setvar VAR_TEMP_2, 9 + setvar VAR_TEMP_3, 9 + setvar VAR_TEMP_4, 9 + setvar VAR_TEMP_5, 9 + setvar VAR_TEMP_6, 9 + setvar VAR_TEMP_7, 9 + setvar VAR_TEMP_8, 9 + compare VAR_TEMP_0, 0 call_if 2, LinkContestRoom1_EventScript_27A3E5 - setvar VAR_0x4001, 0 - setvar VAR_0x4002, 0 - setvar VAR_0x4003, 0 - setvar VAR_0x4004, 0 - setvar VAR_0x4005, 0 - setvar VAR_0x4006, 0 - setvar VAR_0x4007, 0 - setvar VAR_0x4008, 0 + setvar VAR_TEMP_1, 0 + setvar VAR_TEMP_2, 0 + setvar VAR_TEMP_3, 0 + setvar VAR_TEMP_4, 0 + setvar VAR_TEMP_5, 0 + setvar VAR_TEMP_6, 0 + setvar VAR_TEMP_7, 0 + setvar VAR_TEMP_8, 0 return LinkContestRoom1_EventScript_27A3E5:: @ 827A3E5 @@ -534,7 +534,7 @@ LinkContestRoom1_EventScript_27A3E5:: @ 827A3E5 call_if 1, LinkContestRoom1_EventScript_27A732 compare VAR_RESULT, 7 call_if 1, LinkContestRoom1_EventScript_27A756 - compare VAR_0x4000, 0 + compare VAR_TEMP_0, 0 goto_if 2, LinkContestRoom1_EventScript_27A3E5 waitmovement 0 return @@ -556,7 +556,7 @@ LinkContestRoom1_EventScript_27A454:: @ 827A454 goto_if 2, LinkContestRoom1_EventScript_27A630 compare VAR_0x8004, 10 goto_if 2, LinkContestRoom1_EventScript_27A62A - setvar VAR_0x4000, 0 + setvar VAR_TEMP_0, 0 return LinkContestRoom1_EventScript_27A4B2:: @ 827A4B2 @@ -576,7 +576,7 @@ LinkContestRoom1_EventScript_27A4B2:: @ 827A4B2 goto_if 2, LinkContestRoom1_EventScript_27A630 compare VAR_0x8004, 90 goto_if 2, LinkContestRoom1_EventScript_27A62A - setvar VAR_0x4000, 0 + setvar VAR_TEMP_0, 0 return LinkContestRoom1_EventScript_27A510:: @ 827A510 @@ -596,7 +596,7 @@ LinkContestRoom1_EventScript_27A510:: @ 827A510 goto_if 2, LinkContestRoom1_EventScript_27A630 compare VAR_0x8004, 170 goto_if 2, LinkContestRoom1_EventScript_27A62A - setvar VAR_0x4000, 0 + setvar VAR_TEMP_0, 0 return LinkContestRoom1_EventScript_27A56E:: @ 827A56E @@ -616,7 +616,7 @@ LinkContestRoom1_EventScript_27A56E:: @ 827A56E goto_if 2, LinkContestRoom1_EventScript_27A630 compare VAR_0x8004, 320 goto_if 2, LinkContestRoom1_EventScript_27A62A - setvar VAR_0x4000, 0 + setvar VAR_TEMP_0, 0 return LinkContestRoom1_EventScript_27A5CC:: @ 827A5CC @@ -636,140 +636,140 @@ LinkContestRoom1_EventScript_27A5CC:: @ 827A5CC goto_if 2, LinkContestRoom1_EventScript_27A630 compare VAR_0x8004, 100 goto_if 2, LinkContestRoom1_EventScript_27A62A - setvar VAR_0x4000, 0 + setvar VAR_TEMP_0, 0 return LinkContestRoom1_EventScript_27A62A:: @ 827A62A - setvar VAR_0x4000, 1 + setvar VAR_TEMP_0, 1 return LinkContestRoom1_EventScript_27A630:: @ 827A630 - setvar VAR_0x4000, 2 + setvar VAR_TEMP_0, 2 return LinkContestRoom1_EventScript_27A636:: @ 827A636 - setvar VAR_0x4000, 3 + setvar VAR_TEMP_0, 3 return LinkContestRoom1_EventScript_27A63C:: @ 827A63C - setvar VAR_0x4000, 4 + setvar VAR_TEMP_0, 4 return LinkContestRoom1_EventScript_27A642:: @ 827A642 - setvar VAR_0x4000, 5 + setvar VAR_TEMP_0, 5 return LinkContestRoom1_EventScript_27A648:: @ 827A648 - setvar VAR_0x4000, 6 + setvar VAR_TEMP_0, 6 return LinkContestRoom1_EventScript_27A64E:: @ 827A64E - setvar VAR_0x4000, 7 + setvar VAR_TEMP_0, 7 return LinkContestRoom1_EventScript_27A654:: @ 827A654 - setvar VAR_0x4000, 8 + setvar VAR_TEMP_0, 8 return LinkContestRoom1_EventScript_27A65A:: @ 827A65A - compare VAR_0x4001, 1 + compare VAR_TEMP_1, 1 goto_eq LinkContestRoom1_EventScript_27A67D applymovement 6, LinkContestRoom1_Movement_27AD11 playse SE_PIN delay 14 - setvar VAR_0x4001, 1 - addvar VAR_0x4000, 65535 + setvar VAR_TEMP_1, 1 + addvar VAR_TEMP_0, 65535 return LinkContestRoom1_EventScript_27A67D:: @ 827A67D return LinkContestRoom1_EventScript_27A67E:: @ 827A67E - compare VAR_0x4002, 1 + compare VAR_TEMP_2, 1 goto_eq LinkContestRoom1_EventScript_27A6A1 applymovement 12, LinkContestRoom1_Movement_27AD11 playse SE_PIN delay 14 - setvar VAR_0x4002, 1 - addvar VAR_0x4000, 65535 + setvar VAR_TEMP_2, 1 + addvar VAR_TEMP_0, 65535 return LinkContestRoom1_EventScript_27A6A1:: @ 827A6A1 return LinkContestRoom1_EventScript_27A6A2:: @ 827A6A2 - compare VAR_0x4003, 1 + compare VAR_TEMP_3, 1 goto_eq LinkContestRoom1_EventScript_27A6C5 applymovement 7, LinkContestRoom1_Movement_27AD11 playse SE_PIN delay 14 - setvar VAR_0x4003, 1 - addvar VAR_0x4000, 65535 + setvar VAR_TEMP_3, 1 + addvar VAR_TEMP_0, 65535 return LinkContestRoom1_EventScript_27A6C5:: @ 827A6C5 return LinkContestRoom1_EventScript_27A6C6:: @ 827A6C6 - compare VAR_0x4004, 1 + compare VAR_TEMP_4, 1 goto_eq LinkContestRoom1_EventScript_27A6E9 applymovement 8, LinkContestRoom1_Movement_27AD11 playse SE_PIN delay 14 - setvar VAR_0x4004, 1 - addvar VAR_0x4000, 65535 + setvar VAR_TEMP_4, 1 + addvar VAR_TEMP_0, 65535 return LinkContestRoom1_EventScript_27A6E9:: @ 827A6E9 return LinkContestRoom1_EventScript_27A6EA:: @ 827A6EA - compare VAR_0x4005, 1 + compare VAR_TEMP_5, 1 goto_eq LinkContestRoom1_EventScript_27A70D applymovement 9, LinkContestRoom1_Movement_27AD11 playse SE_PIN delay 14 - setvar VAR_0x4005, 1 - addvar VAR_0x4000, 65535 + setvar VAR_TEMP_5, 1 + addvar VAR_TEMP_0, 65535 return LinkContestRoom1_EventScript_27A70D:: @ 827A70D return LinkContestRoom1_EventScript_27A70E:: @ 827A70E - compare VAR_0x4006, 1 + compare VAR_TEMP_6, 1 goto_eq LinkContestRoom1_EventScript_27A731 applymovement 10, LinkContestRoom1_Movement_27AD11 playse SE_PIN delay 14 - setvar VAR_0x4006, 1 - addvar VAR_0x4000, 65535 + setvar VAR_TEMP_6, 1 + addvar VAR_TEMP_0, 65535 return LinkContestRoom1_EventScript_27A731:: @ 827A731 return LinkContestRoom1_EventScript_27A732:: @ 827A732 - compare VAR_0x4007, 1 + compare VAR_TEMP_7, 1 goto_eq LinkContestRoom1_EventScript_27A755 applymovement 11, LinkContestRoom1_Movement_27AD11 playse SE_PIN delay 14 - setvar VAR_0x4007, 1 - addvar VAR_0x4000, 65535 + setvar VAR_TEMP_7, 1 + addvar VAR_TEMP_0, 65535 return LinkContestRoom1_EventScript_27A755:: @ 827A755 return LinkContestRoom1_EventScript_27A756:: @ 827A756 - compare VAR_0x4008, 1 + compare VAR_TEMP_8, 1 goto_eq LinkContestRoom1_EventScript_27A779 applymovement 15, LinkContestRoom1_Movement_27AD11 playse SE_PIN delay 14 - setvar VAR_0x4008, 1 - addvar VAR_0x4000, 65535 + setvar VAR_TEMP_8, 1 + addvar VAR_TEMP_0, 65535 return LinkContestRoom1_EventScript_27A779:: @ 827A779 @@ -832,11 +832,11 @@ LinkContestRoom1_EventScript_27A801:: @ 827A801 waitmovement 0 releaseall call LinkContestRoom1_EventScript_27A133 - setvar VAR_0x4009, 1 + setvar VAR_TEMP_9, 1 special sub_80F910C startcontest special sub_80F90DC - setvar VAR_0x4009, 0 + setvar VAR_TEMP_9, 0 lockall applymovement 1, LinkContestRoom1_Movement_27AD19 applymovement 2, LinkContestRoom1_Movement_27AD15 @@ -888,9 +888,9 @@ LinkContestRoom1_EventScript_27A8A5:: @ 827A8A5 closemessage releaseall special sub_80F910C - setvar VAR_0x4009, 1 + setvar VAR_TEMP_9, 1 showcontestresults - setvar VAR_0x4009, 0 + setvar VAR_TEMP_9, 0 playbgm MUS_CON_FAN, 0 return @@ -956,19 +956,19 @@ LinkContestRoom1_EventScript_27A987:: @ 827A987 return LinkContestRoom1_EventScript_27A9BC:: @ 827A9BC - setvar VAR_0x4003, 3 + setvar VAR_TEMP_3, 3 return LinkContestRoom1_EventScript_27A9C2:: @ 827A9C2 - setvar VAR_0x4003, 4 + setvar VAR_TEMP_3, 4 return LinkContestRoom1_EventScript_27A9C8:: @ 827A9C8 - setvar VAR_0x4003, 5 + setvar VAR_TEMP_3, 5 return LinkContestRoom1_EventScript_27A9CE:: @ 827A9CE - setvar VAR_0x4003, 14 + setvar VAR_TEMP_3, 14 return LinkContestRoom1_EventScript_27A9D4:: @ 827A9D4 @@ -978,10 +978,10 @@ LinkContestRoom1_EventScript_27A9D4:: @ 827A9D4 buffernumberstring 1, VAR_0x8005 addvar VAR_0x8005, 65535 call LinkContestRoom1_EventScript_27AA00 - applymovement VAR_0x4003, LinkContestRoom1_Movement_27AD1D + applymovement VAR_TEMP_3, LinkContestRoom1_Movement_27AD1D waitmovement 0 playse SE_W227B - setvar VAR_0x4001, 0 + setvar VAR_TEMP_1, 0 return LinkContestRoom1_EventScript_27AA00:: @ 827AA00 @@ -996,7 +996,7 @@ LinkContestRoom1_EventScript_27AA14:: @ 827AA14 return LinkContestRoom1_EventScript_27AA1B:: @ 827AA1B - addvar VAR_0x4001, 1 + addvar VAR_TEMP_1, 1 lockall compare VAR_0x4088, 1 call_if 2, LinkContestRoom1_EventScript_27AA6F @@ -1008,7 +1008,7 @@ LinkContestRoom1_EventScript_27AA1B:: @ 827AA1B applymovement 11, LinkContestRoom1_Movement_27AD3F applymovement 6, LinkContestRoom1_Movement_27AD37 applymovement 8, LinkContestRoom1_Movement_27AD33 - compare VAR_0x4001, 4 + compare VAR_TEMP_1, 4 goto_if 5, LinkContestRoom1_EventScript_27AA1B delay 30 return @@ -1094,7 +1094,7 @@ LinkContestRoom1_EventScript_27AB36:: @ 827AB36 call LinkContestRoom1_EventScript_27ABF8 call LinkContestRoom1_EventScript_27AC5E playse SE_W227B - setvar VAR_0x4001, 0 + setvar VAR_TEMP_1, 0 call LinkContestRoom1_EventScript_27AA1B delay 30 special sub_80F88E8 @@ -1168,28 +1168,28 @@ LinkContestRoom1_EventScript_27ABF8:: @ 827ABF8 LinkContestRoom1_EventScript_27AC2A:: @ 827AC2A lockall - applymovement VAR_0x4003, LinkContestRoom1_Movement_27AD7A + applymovement VAR_TEMP_3, LinkContestRoom1_Movement_27AD7A waitmovement 0 releaseall return LinkContestRoom1_EventScript_27AC37:: @ 827AC37 lockall - applymovement VAR_0x4003, LinkContestRoom1_Movement_27AD7E + applymovement VAR_TEMP_3, LinkContestRoom1_Movement_27AD7E waitmovement 0 releaseall return LinkContestRoom1_EventScript_27AC44:: @ 827AC44 lockall - applymovement VAR_0x4003, LinkContestRoom1_Movement_27AD29 + applymovement VAR_TEMP_3, LinkContestRoom1_Movement_27AD29 waitmovement 0 releaseall return LinkContestRoom1_EventScript_27AC51:: @ 827AC51 lockall - applymovement VAR_0x4003, LinkContestRoom1_Movement_27AD2D + applymovement VAR_TEMP_3, LinkContestRoom1_Movement_27AD2D waitmovement 0 releaseall return diff --git a/data/scripts/maps/AbandonedShip_HiddenFloorRooms.inc b/data/scripts/maps/AbandonedShip_HiddenFloorRooms.inc index 23532b275..701b79fbf 100644 --- a/data/scripts/maps/AbandonedShip_HiddenFloorRooms.inc +++ b/data/scripts/maps/AbandonedShip_HiddenFloorRooms.inc @@ -3,20 +3,20 @@ AbandonedShip_HiddenFloorRooms_MapScripts:: @ 8238C49 .byte 0 AbandonedShip_HiddenFloorRooms_MapScript2_238C4F: @ 8238C4F - map_script_2 VAR_0x4001, 0, AbandonedShip_HiddenFloorRooms_EventScript_238C59 + map_script_2 VAR_TEMP_1, 0, AbandonedShip_HiddenFloorRooms_EventScript_238C59 .2byte 0 AbandonedShip_HiddenFloorRooms_EventScript_238C59:: @ 8238C59 - setvar VAR_0x4001, 1 - getplayerxy VAR_0x4002, VAR_0x4003 - setvar VAR_0x4004, 1 - compare VAR_0x4002, 21 + setvar VAR_TEMP_1, 1 + getplayerxy VAR_TEMP_2, VAR_TEMP_3 + setvar VAR_TEMP_4, 1 + compare VAR_TEMP_2, 21 call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_238CD1 - compare VAR_0x4002, 36 + compare VAR_TEMP_2, 36 call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_238CD7 - compare VAR_0x4003, 2 + compare VAR_TEMP_3, 2 call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_238CDD - switch VAR_0x4004 + switch VAR_TEMP_4 case 1, AbandonedShip_HiddenFloorRooms_EventScript_238CE3 case 2, AbandonedShip_HiddenFloorRooms_EventScript_238D0C case 3, AbandonedShip_HiddenFloorRooms_EventScript_238D0D @@ -26,15 +26,15 @@ AbandonedShip_HiddenFloorRooms_EventScript_238C59:: @ 8238C59 end AbandonedShip_HiddenFloorRooms_EventScript_238CD1:: @ 8238CD1 - addvar VAR_0x4004, 1 + addvar VAR_TEMP_4, 1 return AbandonedShip_HiddenFloorRooms_EventScript_238CD7:: @ 8238CD7 - addvar VAR_0x4004, 2 + addvar VAR_TEMP_4, 2 return AbandonedShip_HiddenFloorRooms_EventScript_238CDD:: @ 8238CDD - addvar VAR_0x4004, 3 + addvar VAR_TEMP_4, 3 return AbandonedShip_HiddenFloorRooms_EventScript_238CE3:: @ 8238CE3 diff --git a/data/scripts/maps/AquaHideout_B2F.inc b/data/scripts/maps/AquaHideout_B2F.inc index 85a94cc21..ccf8997d7 100644 --- a/data/scripts/maps/AquaHideout_B2F.inc +++ b/data/scripts/maps/AquaHideout_B2F.inc @@ -8,7 +8,7 @@ AquaHideout_B2F_MapScript1_233DD5: @ 8233DD5 end AquaHideout_B2F_EventScript_233DDF:: @ 8233DDF - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 return AquaHideout_B2F_EventScript_233DE5:: @ 8233DE5 @@ -19,7 +19,7 @@ AquaHideout_B2F_EventScript_233DE5:: @ 8233DE5 waitmovement 0 applymovement VAR_0x8008, AquaHideout_B2F_Movement_27259E waitmovement 0 - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 releaseall end diff --git a/data/scripts/maps/BattleFrontier_BattleArenaBattleRoom.inc b/data/scripts/maps/BattleFrontier_BattleArenaBattleRoom.inc index 88a0f9989..2f952936f 100644 --- a/data/scripts/maps/BattleFrontier_BattleArenaBattleRoom.inc +++ b/data/scripts/maps/BattleFrontier_BattleArenaBattleRoom.inc @@ -24,15 +24,15 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_2574AE:: @ 82574AE return BattleFrontier_BattleArenaBattleRoom_EventScript_2574C6:: @ 82574C6 - setvar VAR_0x4011, 100 + setvar VAR_OBJ_GFX_ID_1, 100 return BattleFrontier_BattleArenaBattleRoom_EventScript_2574CC:: @ 82574CC - setvar VAR_0x4011, 105 + setvar VAR_OBJ_GFX_ID_1, 105 return BattleFrontier_BattleArenaBattleRoom_MapScript2_2574D2: @ 82574D2 - map_script_2 VAR_0x4000, 0, BattleFrontier_BattleArenaBattleRoom_EventScript_2574DC + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleArenaBattleRoom_EventScript_2574DC .2byte 0 BattleFrontier_BattleArenaBattleRoom_EventScript_2574DC:: @ 82574DC @@ -47,7 +47,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_2574DC:: @ 82574DC goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_25752E applymovement 5, BattleFrontier_BattleArenaBattleRoom_Movement_257C08 applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BEB - setvar VAR_0x4002, 1 + setvar VAR_TEMP_2, 1 setvar VAR_0x8004, 2 setvar VAR_0x8005, 6 setvar VAR_0x8006, 1 @@ -148,7 +148,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_257630:: @ 8257630 BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0:: @ 82576B0 setvar VAR_0x8004, 9 special sub_81A1780 - copyvar VAR_0x400F, VAR_RESULT + copyvar VAR_TEMP_F, VAR_RESULT compare VAR_RESULT, 0 goto_if 5, BattleFrontier_BattleArenaBattleRoom_EventScript_2578BC setvar VAR_0x8004, 1 @@ -275,10 +275,10 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_25789A:: @ 825789A end BattleFrontier_BattleArenaBattleRoom_EventScript_2578BC:: @ 82578BC - compare VAR_0x4002, 1 + compare VAR_TEMP_2, 1 goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_2578D4 msgbox BattleFrontier_BattleArenaBattleRoom_Text_257F45, 4 - setvar VAR_0x4002, 1 + setvar VAR_TEMP_2, 1 BattleFrontier_BattleArenaBattleRoom_EventScript_2578D4:: @ 82578D4 message BattleFrontier_BattleArenaBattleRoom_Text_257FBB @@ -326,7 +326,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_257961:: @ 8257961 waitmovement 0 applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BF2 waitmovement 0 - switch VAR_0x400F + switch VAR_TEMP_F case 2, BattleFrontier_BattleArenaBattleRoom_EventScript_257AA5 case 3, BattleFrontier_BattleArenaBattleRoom_EventScript_257A3F case 4, BattleFrontier_BattleArenaBattleRoom_EventScript_257AF8 @@ -425,7 +425,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_257B5E:: @ 8257B5E BattleFrontier_BattleArenaBattleRoom_EventScript_257B6C:: @ 8257B6C FallarborTown_BattleTentBattleRoom_EventScript_257B6C:: @ 8257B6C closemessage - setvar VAR_0x4002, 0 + setvar VAR_TEMP_2, 0 setvar VAR_0x8004, 2 setvar VAR_0x8005, 6 setvar VAR_0x8006, 0 @@ -529,7 +529,7 @@ BattleFrontier_BattleArenaBattleRoom_Movement_257C0A: @ 8257C0A step_end BattleFrontier_BattleArenaBattleRoom_MapScript2_257C0C: @ 8257C0C - map_script_2 VAR_0x4001, 0, BattleFrontier_BattleArenaBattleRoom_EventScript_257C16 + map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleArenaBattleRoom_EventScript_257C16 .2byte 0 BattleFrontier_BattleArenaBattleRoom_EventScript_257C16:: @ 8257C16 @@ -537,7 +537,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_257C16:: @ 8257C16 removeobject 7 call BattleFrontier_BattleArenaBattleRoom_EventScript_24BCDC applymovement 255, BattleFrontier_BattleArenaBattleRoom_Movement_24C773 - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 end BattleFrontier_BattleArenaBattleRoom_Movement_257C30: @ 8257C30 diff --git a/data/scripts/maps/BattleFrontier_BattleArenaCorridor.inc b/data/scripts/maps/BattleFrontier_BattleArenaCorridor.inc index ed7371dab..cecd5b44c 100644 --- a/data/scripts/maps/BattleFrontier_BattleArenaCorridor.inc +++ b/data/scripts/maps/BattleFrontier_BattleArenaCorridor.inc @@ -3,12 +3,12 @@ BattleFrontier_BattleArenaCorridor_MapScripts:: @ 82573B9 .byte 0 BattleFrontier_BattleArenaCorridor_MapScript2_2573BF: @ 82573BF - map_script_2 VAR_0x4000, 0, BattleFrontier_BattleArenaCorridor_EventScript_2573C9 + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleArenaCorridor_EventScript_2573C9 .2byte 0 BattleFrontier_BattleArenaCorridor_EventScript_2573C9:: @ 82573C9 delay 16 - setvar VAR_0x4000, 1 + setvar VAR_TEMP_0, 1 applymovement 1, BattleFrontier_BattleArenaCorridor_Movement_25742F applymovement 255, BattleFrontier_BattleArenaCorridor_Movement_257417 waitmovement 0 diff --git a/data/scripts/maps/BattleFrontier_BattleArenaLobby.inc b/data/scripts/maps/BattleFrontier_BattleArenaLobby.inc index 176b153f7..68ac57fcd 100644 --- a/data/scripts/maps/BattleFrontier_BattleArenaLobby.inc +++ b/data/scripts/maps/BattleFrontier_BattleArenaLobby.inc @@ -4,20 +4,20 @@ BattleFrontier_BattleArenaLobby_MapScripts:: @ 8255C36 .byte 0 BattleFrontier_BattleArenaLobby_MapScript2_255C41: @ 8255C41 - map_script_2 VAR_0x4001, 0, BattleFrontier_BattleArenaLobby_EventScript_255C4B + map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleArenaLobby_EventScript_255C4B .2byte 0 BattleFrontier_BattleArenaLobby_EventScript_255C4B:: @ 8255C4B - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 turnobject 255, 2 end BattleFrontier_BattleArenaLobby_MapScript2_255C55: @ 8255C55 - map_script_2 VAR_0x4000, 0, BattleFrontier_BattleArenaLobby_EventScript_255C7F - map_script_2 VAR_0x4000, 1, BattleFrontier_BattleArenaLobby_EventScript_255C88 - map_script_2 VAR_0x4000, 2, BattleFrontier_BattleArenaLobby_EventScript_255DC0 - map_script_2 VAR_0x4000, 3, BattleFrontier_BattleArenaLobby_EventScript_255CCF - map_script_2 VAR_0x4000, 4, BattleFrontier_BattleArenaLobby_EventScript_255D2B + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleArenaLobby_EventScript_255C7F + map_script_2 VAR_TEMP_0, 1, BattleFrontier_BattleArenaLobby_EventScript_255C88 + map_script_2 VAR_TEMP_0, 2, BattleFrontier_BattleArenaLobby_EventScript_255DC0 + map_script_2 VAR_TEMP_0, 3, BattleFrontier_BattleArenaLobby_EventScript_255CCF + map_script_2 VAR_TEMP_0, 4, BattleFrontier_BattleArenaLobby_EventScript_255D2B .2byte 0 BattleFrontier_BattleArenaLobby_EventScript_255C7F:: @ 8255C7F @@ -41,7 +41,7 @@ BattleFrontier_BattleArenaLobby_EventScript_255C88:: @ 8255C88 setvar VAR_0x8005, 0 setvar VAR_0x8006, 0 special sub_81A1780 - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 releaseall end @@ -67,7 +67,7 @@ BattleFrontier_BattleArenaLobby_EventScript_255CF8:: @ 8255CF8 call BattleFrontier_BattleArenaLobby_EventScript_255D59 msgbox BattleFrontier_BattleArenaLobby_Text_256A74, 4 closemessage - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 releaseall end @@ -82,7 +82,7 @@ BattleFrontier_BattleArenaLobby_EventScript_255D2B:: @ 8255D2B call BattleFrontier_BattleArenaLobby_EventScript_255D59 msgbox BattleFrontier_BattleArenaLobby_Text_256A74, 4 closemessage - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 releaseall end @@ -126,7 +126,7 @@ BattleFrontier_BattleArenaLobby_EventScript_255DC0:: @ 8255DC0 setvar VAR_0x8005, 3 setvar VAR_0x8006, 0 special sub_81A1780 - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 goto BattleFrontier_BattleArenaLobby_EventScript_255F54 BattleFrontier_BattleArenaLobby_EventScript_255DF4:: @ 8255DF4 @@ -178,7 +178,7 @@ BattleFrontier_BattleArenaLobby_EventScript_255E47:: @ 8255E47 case 127, BattleFrontier_BattleArenaLobby_EventScript_255FF8 BattleFrontier_BattleArenaLobby_EventScript_255EE8:: @ 8255EE8 - setvar VAR_0x4000, 0 + setvar VAR_TEMP_0, 0 setvar VAR_0x8004, 2 setvar VAR_0x8005, 4 special sub_81A1780 @@ -200,7 +200,7 @@ BattleFrontier_BattleArenaLobby_EventScript_255EE8:: @ 8255EE8 closemessage delay 2 call BattleFrontier_BattleArenaLobby_EventScript_27134F - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 compare VAR_RESULT, 0 goto_eq BattleFrontier_BattleArenaLobby_EventScript_255FE1 @@ -219,7 +219,7 @@ BattleFrontier_BattleArenaLobby_EventScript_255F54:: @ 8255F54 compare VAR_RESULT, 1 call_if 1, BattleFrontier_BattleArenaLobby_EventScript_256050 warp BATTLE_FRONTIER_BATTLE_ARENA_CORRIDOR, 255, 9, 13 - setvar VAR_0x4000, 0 + setvar VAR_TEMP_0, 0 waitstate end diff --git a/data/scripts/maps/BattleFrontier_BattleDomeBattleRoom.inc b/data/scripts/maps/BattleFrontier_BattleDomeBattleRoom.inc index fce85e7d3..52981a07d 100644 --- a/data/scripts/maps/BattleFrontier_BattleDomeBattleRoom.inc +++ b/data/scripts/maps/BattleFrontier_BattleDomeBattleRoom.inc @@ -11,7 +11,7 @@ BattleFrontier_BattleDomeBattleRoom_MapScript1_24BCB1: @ 824BCB1 setvar VAR_0x8004, 1 setvar VAR_0x8005, 2 special sub_81A1780 - copyvar VAR_0x400F, VAR_RESULT + copyvar VAR_TEMP_F, VAR_RESULT compare VAR_RESULT, 0 call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C919 call BattleFrontier_BattleDomeBattleRoom_EventScript_24BCDC @@ -27,15 +27,15 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BCDC:: @ 824BCDC return BattleFrontier_BattleDomeBattleRoom_EventScript_24BCF4:: @ 824BCF4 - setvar VAR_0x4011, 100 + setvar VAR_OBJ_GFX_ID_1, 100 return BattleFrontier_BattleDomeBattleRoom_EventScript_24BCFA:: @ 824BCFA - setvar VAR_0x4011, 105 + setvar VAR_OBJ_GFX_ID_1, 105 return BattleFrontier_BattleDomeBattleRoom_MapScript2_24BD00: @ 824BD00 - map_script_2 VAR_0x4000, 0, BattleFrontier_BattleDomeBattleRoom_EventScript_24BD0A + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleDomeBattleRoom_EventScript_24BD0A .2byte 0 BattleFrontier_BattleDomeBattleRoom_EventScript_24BD0A:: @ 824BD0A @@ -49,9 +49,9 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BD0A:: @ 824BD0A msgbox BattleFrontier_BattleDomeBattleRoom_Text_24C970, 4 closemessage showobjectat 13, BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM - compare VAR_0x400F, 3 + compare VAR_TEMP_F, 3 goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24BD4E - compare VAR_0x400E, 0 + compare VAR_TEMP_E, 0 goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24BD5A BattleFrontier_BattleDomeBattleRoom_EventScript_24BD4E:: @ 824BD4E @@ -65,9 +65,9 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BD61:: @ 824BD61 playse SE_W227B call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E waitmovement 0 - compare VAR_0x400F, 3 + compare VAR_TEMP_F, 3 goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24BD82 - compare VAR_0x400E, 0 + compare VAR_TEMP_E, 0 goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24C1CB BattleFrontier_BattleDomeBattleRoom_EventScript_24BD82:: @ 824BD82 @@ -86,12 +86,12 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BD82:: @ 824BD82 setvar VAR_0x8004, 5 special sub_818E9AC call BattleFrontier_BattleDomeBattleRoom_EventScript_24C440 - setvar VAR_0x4002, 0 + setvar VAR_TEMP_2, 0 switch VAR_RESULT case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BEE0 case 2, BattleFrontier_BattleDomeBattleRoom_EventScript_24BE4F case 9, BattleFrontier_BattleDomeBattleRoom_EventScript_24BE4F - setvar VAR_0x4002, 1 + setvar VAR_TEMP_2, 1 BattleFrontier_BattleDomeBattleRoom_EventScript_24BDF7:: @ 824BDF7 msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CA86, 4 @@ -106,7 +106,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BDF7:: @ 824BDF7 delay 180 applymovement 9, BattleFrontier_BattleDomeBattleRoom_Movement_24C96B waitmovement 0 - compare VAR_0x4002, 2 + compare VAR_TEMP_2, 2 goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BE4F setvar VAR_0x8004, 19 special sub_818E9AC @@ -118,11 +118,11 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BE4F:: @ 824BE4F waitmovement 0 setvar VAR_0x8004, 4 special sub_818E9AC - compare VAR_0x4002, 0 + compare VAR_TEMP_2, 0 call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BEB1 - compare VAR_0x4002, 1 + compare VAR_TEMP_2, 1 call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BEC5 - compare VAR_0x4002, 2 + compare VAR_TEMP_2, 2 call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BED9 playse SE_W227B call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E @@ -165,9 +165,9 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BED9:: @ 824BED9 BattleFrontier_BattleDomeBattleRoom_EventScript_24BEE0:: @ 824BEE0 applymovement 1, BattleFrontier_BattleDomeBattleRoom_Movement_2725B4 waitmovement 0 - compare VAR_0x4002, 0 + compare VAR_TEMP_2, 0 call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BFC3 - compare VAR_0x4002, 1 + compare VAR_TEMP_2, 1 call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BFCC playse SE_W227B call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E @@ -302,9 +302,9 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C0C2:: @ 824C0C2 return BattleFrontier_BattleDomeBattleRoom_EventScript_24C0C9:: @ 824C0C9 - compare VAR_0x400F, 3 + compare VAR_TEMP_F, 3 goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24C105 - switch VAR_0x400E + switch VAR_TEMP_E case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C158 case 2, BattleFrontier_BattleDomeBattleRoom_EventScript_24C161 case 3, BattleFrontier_BattleDomeBattleRoom_EventScript_24C158 @@ -383,7 +383,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C1BD:: @ 824C1BD return BattleFrontier_BattleDomeBattleRoom_EventScript_24C1CB:: @ 824C1CB - switch VAR_0x400E + switch VAR_TEMP_E case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C1FC case 2, BattleFrontier_BattleDomeBattleRoom_EventScript_24C209 case 3, BattleFrontier_BattleDomeBattleRoom_EventScript_24C1FC @@ -422,7 +422,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C211:: @ 824C211 playse SE_W227B call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E waitse - switch VAR_0x400E + switch VAR_TEMP_E case 2, BattleFrontier_BattleDomeBattleRoom_EventScript_24C346 case 3, BattleFrontier_BattleDomeBattleRoom_EventScript_24C2B9 case 4, BattleFrontier_BattleDomeBattleRoom_EventScript_24C373 @@ -520,7 +520,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C420:: @ 824C420 goto BattleFrontier_BattleDomeBattleRoom_EventScript_24BE8D BattleFrontier_BattleDomeBattleRoom_EventScript_24C436:: @ 824C436 - setvar VAR_0x4002, 2 + setvar VAR_TEMP_2, 2 goto BattleFrontier_BattleDomeBattleRoom_EventScript_24BDF7 BattleFrontier_BattleDomeBattleRoom_EventScript_24C440:: @ 824C440 @@ -531,10 +531,10 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C440:: @ 824C440 special HealPlayerParty setvar VAR_0x8004, 3 setvar VAR_0x8005, 0 - setvar VAR_0x4009, 1 + setvar VAR_TEMP_9, 1 special sub_8163AC4 waitstate - setvar VAR_0x4009, 0 + setvar VAR_TEMP_9, 0 setvar VAR_0x8004, 17 special sub_818E9AC special HealPlayerParty @@ -543,14 +543,14 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C440:: @ 824C440 return BattleFrontier_BattleDomeBattleRoom_MapScript2_24C481: @ 824C481 - map_script_2 VAR_0x4001, 0, BattleFrontier_BattleDomeBattleRoom_EventScript_24C48B + map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleDomeBattleRoom_EventScript_24C48B .2byte 0 BattleFrontier_BattleDomeBattleRoom_EventScript_24C48B:: @ 824C48B hideobjectat 13, BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM call BattleFrontier_BattleDomeBattleRoom_EventScript_24C502 call BattleFrontier_BattleDomeBattleRoom_EventScript_24BCDC - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 applymovement 255, BattleFrontier_BattleDomeBattleRoom_Movement_24C773 setvar VAR_0x8004, 1 setvar VAR_0x8005, 2 @@ -559,7 +559,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C48B:: @ 824C48B goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24C4EF setvar VAR_0x8004, 9 special sub_81A1780 - copyvar VAR_0x400E, VAR_RESULT + copyvar VAR_TEMP_E, VAR_RESULT compare VAR_RESULT, 0 goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C4EF call BattleFrontier_BattleDomeBattleRoom_EventScript_242170 @@ -572,7 +572,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C4EF:: @ 824C4EF end BattleFrontier_BattleDomeBattleRoom_MapScript1_24C4F0: @ 824C4F0 - compare VAR_0x4009, 1 + compare VAR_TEMP_9, 1 call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C4FC end @@ -581,13 +581,13 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C4FC:: @ 824C4FC return BattleFrontier_BattleDomeBattleRoom_EventScript_24C502:: @ 824C502 - compare VAR_0x400F, 0 + compare VAR_TEMP_F, 0 call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C52F - compare VAR_0x400F, 1 + compare VAR_TEMP_F, 1 call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C530 - compare VAR_0x400F, 2 + compare VAR_TEMP_F, 2 call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C594 - compare VAR_0x400F, 3 + compare VAR_TEMP_F, 3 call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C652 return @@ -964,15 +964,15 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24C90F:: @ 824C90F BattleFrontier_BattleDomeBattleRoom_EventScript_24C919:: @ 824C919 random 2 - copyvar VAR_0x400D, VAR_RESULT - compare VAR_0x400D, 0 + copyvar VAR_TEMP_D, VAR_RESULT + compare VAR_TEMP_D, 0 goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_27374E setobjectxyperm 6, 2, 0 setobjectmovementtype 6, 10 return BattleFrontier_BattleDomeBattleRoom_EventScript_24C938:: @ 824C938 - compare VAR_0x400D, 0 + compare VAR_TEMP_D, 0 goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_27374E applymovement 6, BattleFrontier_BattleDomeBattleRoom_Movement_24C95E return diff --git a/data/scripts/maps/BattleFrontier_BattleDomeCorridor.inc b/data/scripts/maps/BattleFrontier_BattleDomeCorridor.inc index 9cb4f3187..ad6204fd5 100644 --- a/data/scripts/maps/BattleFrontier_BattleDomeCorridor.inc +++ b/data/scripts/maps/BattleFrontier_BattleDomeCorridor.inc @@ -3,12 +3,12 @@ BattleFrontier_BattleDomeCorridor_MapScripts:: @ 824B0FE .byte 0 BattleFrontier_BattleDomeCorridor_MapScript2_24B104: @ 824B104 - map_script_2 VAR_0x4000, 0, BattleFrontier_BattleDomeCorridor_EventScript_24B10E + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleDomeCorridor_EventScript_24B10E .2byte 0 BattleFrontier_BattleDomeCorridor_EventScript_24B10E:: @ 824B10E delay 16 - setvar VAR_0x4000, 1 + setvar VAR_TEMP_0, 1 setvar VAR_0x8004, 1 setvar VAR_0x8005, 1 special sub_81A1780 diff --git a/data/scripts/maps/BattleFrontier_BattleDomeLobby.inc b/data/scripts/maps/BattleFrontier_BattleDomeLobby.inc index f985606de..35bf3f5a6 100644 --- a/data/scripts/maps/BattleFrontier_BattleDomeLobby.inc +++ b/data/scripts/maps/BattleFrontier_BattleDomeLobby.inc @@ -11,20 +11,20 @@ BattleFrontier_BattleDomeLobby_MapScript1_2497F2: @ 82497F2 BattleFrontier_BattleDomeLobby_MapScript2_2497FB: @ 82497FB BattleFrontier_BattlePyramidLobby_MapScript2_2497FB: @ 82497FB - map_script_2 VAR_0x4001, 0, BattleFrontier_BattleDomeLobby_EventScript_249805 + map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleDomeLobby_EventScript_249805 .2byte 0 BattleFrontier_BattleDomeLobby_EventScript_249805:: @ 8249805 - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 turnobject 255, 2 end BattleFrontier_BattleDomeLobby_MapScript2_24980F: @ 824980F - map_script_2 VAR_0x4000, 0, BattleFrontier_BattleDomeLobby_EventScript_249839 - map_script_2 VAR_0x4000, 1, BattleFrontier_BattleDomeLobby_EventScript_249842 - map_script_2 VAR_0x4000, 2, BattleFrontier_BattleDomeLobby_EventScript_2499F9 - map_script_2 VAR_0x4000, 3, BattleFrontier_BattleDomeLobby_EventScript_24989B - map_script_2 VAR_0x4000, 4, BattleFrontier_BattleDomeLobby_EventScript_249940 + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleDomeLobby_EventScript_249839 + map_script_2 VAR_TEMP_0, 1, BattleFrontier_BattleDomeLobby_EventScript_249842 + map_script_2 VAR_TEMP_0, 2, BattleFrontier_BattleDomeLobby_EventScript_2499F9 + map_script_2 VAR_TEMP_0, 3, BattleFrontier_BattleDomeLobby_EventScript_24989B + map_script_2 VAR_TEMP_0, 4, BattleFrontier_BattleDomeLobby_EventScript_249940 .2byte 0 BattleFrontier_BattleDomeLobby_EventScript_249839:: @ 8249839 @@ -52,7 +52,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249842:: @ 8249842 setvar VAR_0x8005, 0 setvar VAR_0x8006, 0 special sub_81A1780 - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 releaseall end @@ -143,7 +143,7 @@ BattleFrontier_BattleDomeLobby_EventScript_2499E4:: @ 82499E4 BattleFrontier_BattleDomeLobby_EventScript_2499E9:: @ 82499E9 msgbox BattleFrontier_BattleDomeLobby_Text_249F74, 4 closemessage - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 releaseall end @@ -161,7 +161,7 @@ BattleFrontier_BattleDomeLobby_EventScript_2499F9:: @ 82499F9 setvar VAR_0x8005, 3 setvar VAR_0x8006, 0 special sub_81A1780 - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 goto BattleFrontier_BattleDomeLobby_EventScript_249BC2 BattleFrontier_BattleDomeLobby_EventScript_249A35:: @ 8249A35 @@ -231,7 +231,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249ABF:: @ 8249ABF case 127, BattleFrontier_BattleDomeLobby_EventScript_249C61 BattleFrontier_BattleDomeLobby_EventScript_249B60:: @ 8249B60 - setvar VAR_0x4000, 0 + setvar VAR_TEMP_0, 0 setvar VAR_0x8004, 2 setvar VAR_0x8005, 4 special sub_81A1780 @@ -249,7 +249,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249B60:: @ 8249B60 closemessage delay 2 call BattleFrontier_BattleDomeLobby_EventScript_27134F - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 compare VAR_RESULT, 0 goto_eq BattleFrontier_BattleDomeLobby_EventScript_249C4A setvar VAR_0x8004, 22 @@ -267,7 +267,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249BC2:: @ 8249BC2 call BattleFrontier_BattleDomeLobby_EventScript_249C6E special HealPlayerParty warp BATTLE_FRONTIER_BATTLE_DOME_CORRIDOR, 255, 23, 6 - setvar VAR_0x4000, 0 + setvar VAR_TEMP_0, 0 waitstate end diff --git a/data/scripts/maps/BattleFrontier_BattleDomePreBattleRoom.inc b/data/scripts/maps/BattleFrontier_BattleDomePreBattleRoom.inc index a9b6af7f7..f3693e179 100644 --- a/data/scripts/maps/BattleFrontier_BattleDomePreBattleRoom.inc +++ b/data/scripts/maps/BattleFrontier_BattleDomePreBattleRoom.inc @@ -4,16 +4,16 @@ BattleFrontier_BattleDomePreBattleRoom_MapScripts:: @ 824B1F9 .byte 0 BattleFrontier_BattleDomePreBattleRoom_MapScript2_24B204: @ 824B204 - map_script_2 VAR_0x4001, 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B20E + map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B20E .2byte 0 BattleFrontier_BattleDomePreBattleRoom_EventScript_24B20E:: @ 824B20E - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 turnobject 255, 2 end BattleFrontier_BattleDomePreBattleRoom_MapScript2_24B218: @ 824B218 - map_script_2 VAR_0x4000, 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B222 + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B222 .2byte 0 BattleFrontier_BattleDomePreBattleRoom_EventScript_24B222:: @ 824B222 @@ -23,7 +23,7 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B222:: @ 824B222 setvar VAR_0x8005, 6 setvar VAR_0x8006, 1 special sub_81A1780 - setvar VAR_0x4000, 1 + setvar VAR_TEMP_0, 1 applymovement 255, BattleFrontier_BattleDomePreBattleRoom_Movement_24B652 waitmovement 0 lockall @@ -180,7 +180,7 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B46D:: @ 824B46D closedoor 5, 1 waitdooranim warp BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM, 255, 9, 5 - setvar VAR_0x4000, 0 + setvar VAR_TEMP_0, 0 waitstate end @@ -241,7 +241,7 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5BE:: @ 824B5BE return BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5C7:: @ 824B5C7 - setvar VAR_0x4000, 1 + setvar VAR_TEMP_0, 1 msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B760, 4 special LoadPlayerParty setvar VAR_0x8004, 3 diff --git a/data/scripts/maps/BattleFrontier_BattleFactoryBattleRoom.inc b/data/scripts/maps/BattleFrontier_BattleFactoryBattleRoom.inc index 7d1c57f66..bd76e111d 100644 --- a/data/scripts/maps/BattleFrontier_BattleFactoryBattleRoom.inc +++ b/data/scripts/maps/BattleFrontier_BattleFactoryBattleRoom.inc @@ -14,7 +14,7 @@ BattleFrontier_BattleFactoryBattleRoom_MapScript1_25ADBB: @ 825ADBB call_if 1, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE2B setvar VAR_0x8004, 9 special sub_81A1780 - copyvar VAR_0x400F, VAR_RESULT + copyvar VAR_TEMP_F, VAR_RESULT compare VAR_RESULT, 0 goto_if 5, BattleFrontier_BattleFactoryBattleRoom_EventScript_25ADF3 end @@ -25,13 +25,13 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25ADF3:: @ 825ADF3 end BattleFrontier_BattleFactoryBattleRoom_MapScript2_25AE00: @ 825AE00 - map_script_2 VAR_0x4001, 0, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE0A + map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE0A .2byte 0 BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE0A:: @ 825AE0A - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 hideobjectat 255, BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM - compare VAR_0x400F, 0 + compare VAR_TEMP_F, 0 goto_if 5, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE24 hideobjectat 2, BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM @@ -39,15 +39,15 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE24:: @ 825AE24 end BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE25:: @ 825AE25 - setvar VAR_0x401F, 100 + setvar VAR_OBJ_GFX_ID_F, 100 return BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE2B:: @ 825AE2B - setvar VAR_0x401F, 105 + setvar VAR_OBJ_GFX_ID_F, 105 return BattleFrontier_BattleFactoryBattleRoom_MapScript2_25AE31: @ 825AE31 - map_script_2 VAR_0x4000, 0, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE67 + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE67 .2byte 0 BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE3B:: @ 825AE3B @@ -62,7 +62,7 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE3B:: @ 825AE3B end BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE67:: @ 825AE67 - compare VAR_0x400F, 0 + compare VAR_TEMP_F, 0 goto_if 5, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE3B applymovement 8, BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B applymovement 255, BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B @@ -77,7 +77,7 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE67:: @ 825AE67 waitmovement 0 BattleFrontier_BattleFactoryBattleRoom_EventScript_25AEA7:: @ 825AEA7 - compare VAR_0x400F, 0 + compare VAR_TEMP_F, 0 goto_if 5, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF9C setvar VAR_0x8004, 5 special sub_8195960 @@ -144,7 +144,7 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF85:: @ 825AF85 goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25B190 BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF9C:: @ 825AF9C - switch VAR_0x400F + switch VAR_TEMP_F case 2, BattleFrontier_BattleFactoryBattleRoom_EventScript_25B051 case 3, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AFEF case 4, BattleFrontier_BattleFactoryBattleRoom_EventScript_25B07E diff --git a/data/scripts/maps/BattleFrontier_BattleFactoryLobby.inc b/data/scripts/maps/BattleFrontier_BattleFactoryLobby.inc index 4a52743a5..640e96b4d 100644 --- a/data/scripts/maps/BattleFrontier_BattleFactoryLobby.inc +++ b/data/scripts/maps/BattleFrontier_BattleFactoryLobby.inc @@ -4,20 +4,20 @@ BattleFrontier_BattleFactoryLobby_MapScripts:: @ 82583E8 .byte 0 BattleFrontier_BattleFactoryLobby_MapScript2_2583F3: @ 82583F3 - map_script_2 VAR_0x4001, 0, BattleFrontier_BattleFactoryLobby_EventScript_2583FD + map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleFactoryLobby_EventScript_2583FD .2byte 0 BattleFrontier_BattleFactoryLobby_EventScript_2583FD:: @ 82583FD - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 turnobject 255, 2 end BattleFrontier_BattleFactoryLobby_MapScript2_258407: @ 8258407 - map_script_2 VAR_0x4000, 0, BattleFrontier_BattleFactoryLobby_EventScript_258431 - map_script_2 VAR_0x4000, 1, BattleFrontier_BattleFactoryLobby_EventScript_25843A - map_script_2 VAR_0x4000, 2, BattleFrontier_BattleFactoryLobby_EventScript_258592 - map_script_2 VAR_0x4000, 3, BattleFrontier_BattleFactoryLobby_EventScript_25849B - map_script_2 VAR_0x4000, 4, BattleFrontier_BattleFactoryLobby_EventScript_258506 + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleFactoryLobby_EventScript_258431 + map_script_2 VAR_TEMP_0, 1, BattleFrontier_BattleFactoryLobby_EventScript_25843A + map_script_2 VAR_TEMP_0, 2, BattleFrontier_BattleFactoryLobby_EventScript_258592 + map_script_2 VAR_TEMP_0, 3, BattleFrontier_BattleFactoryLobby_EventScript_25849B + map_script_2 VAR_TEMP_0, 4, BattleFrontier_BattleFactoryLobby_EventScript_258506 .2byte 0 BattleFrontier_BattleFactoryLobby_EventScript_258431:: @ 8258431 @@ -47,7 +47,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_25843A:: @ 825843A setvar VAR_0x8005, 0 setvar VAR_0x8006, 0 special sub_81A1780 - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 releaseall end @@ -118,7 +118,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_25857D:: @ 825857D BattleFrontier_BattleFactoryLobby_EventScript_258582:: @ 8258582 msgbox BattleFrontier_BattleFactoryLobby_Text_258BC5, 4 closemessage - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 releaseall end @@ -135,7 +135,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_258592:: @ 8258592 setvar VAR_0x8005, 3 setvar VAR_0x8006, 0 special sub_81A1780 - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 setvar VAR_0x8006, 2 goto BattleFrontier_BattleFactoryLobby_EventScript_25871A @@ -191,7 +191,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_258653:: @ 8258653 case 127, BattleFrontier_BattleFactoryLobby_EventScript_25879A BattleFrontier_BattleFactoryLobby_EventScript_2586B9:: @ 82586B9 - setvar VAR_0x4000, 0 + setvar VAR_TEMP_0, 0 setvar VAR_0x8004, 0 special sub_81A5E74 setvar VAR_0x8004, 2 @@ -209,7 +209,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_2586B9:: @ 82586B9 closemessage delay 2 call BattleFrontier_BattleFactoryLobby_EventScript_27134F - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 compare VAR_RESULT, 0 goto_eq BattleFrontier_BattleFactoryLobby_EventScript_258783 setvar VAR_0x8006, 0 @@ -226,7 +226,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_25871A:: @ 825871A applymovement 255, BattleFrontier_BattleFactoryLobby_Movement_2587AC waitmovement 0 warp BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM, 255, 8, 13 - setvar VAR_0x4000, 0 + setvar VAR_TEMP_0, 0 waitstate end diff --git a/data/scripts/maps/BattleFrontier_BattleFactoryPreBattleRoom.inc b/data/scripts/maps/BattleFrontier_BattleFactoryPreBattleRoom.inc index 2f5cdeef2..93a5f2caf 100644 --- a/data/scripts/maps/BattleFrontier_BattleFactoryPreBattleRoom.inc +++ b/data/scripts/maps/BattleFrontier_BattleFactoryPreBattleRoom.inc @@ -4,11 +4,11 @@ BattleFrontier_BattleFactoryPreBattleRoom_MapScripts:: @ 8259ABA .byte 0 BattleFrontier_BattleFactoryPreBattleRoom_MapScript2_259AC5: @ 8259AC5 - map_script_2 VAR_0x4001, 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259ACF + map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259ACF .2byte 0 BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259ACF:: @ 8259ACF - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 compare VAR_0x8006, 1 goto_if 5, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259AEA setobjectxy 1, 8, 7 @@ -19,13 +19,13 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259AEA:: @ 8259AEA end BattleFrontier_BattleFactoryPreBattleRoom_MapScript2_259AEF: @ 8259AEF - map_script_2 VAR_0x4000, 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259AF9 + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259AF9 .2byte 0 BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259AF9:: @ 8259AF9 compare VAR_0x8006, 1 goto_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259BA5 - setvar VAR_0x4000, 1 + setvar VAR_TEMP_0, 1 applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1AC applymovement 255, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A19A waitmovement 0 diff --git a/data/scripts/maps/BattleFrontier_BattlePalaceBattleRoom.inc b/data/scripts/maps/BattleFrontier_BattlePalaceBattleRoom.inc index 8393d7501..5aff5ad81 100644 --- a/data/scripts/maps/BattleFrontier_BattlePalaceBattleRoom.inc +++ b/data/scripts/maps/BattleFrontier_BattlePalaceBattleRoom.inc @@ -19,17 +19,17 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24F833:: @ 824F833 return BattleFrontier_BattlePalaceBattleRoom_EventScript_24F84B:: @ 824F84B - setvar VAR_0x4011, 100 - setvar VAR_0x4010, 100 + setvar VAR_OBJ_GFX_ID_1, 100 + setvar VAR_OBJ_GFX_ID_0, 100 return BattleFrontier_BattlePalaceBattleRoom_EventScript_24F856:: @ 824F856 - setvar VAR_0x4011, 105 - setvar VAR_0x4010, 105 + setvar VAR_OBJ_GFX_ID_1, 105 + setvar VAR_OBJ_GFX_ID_0, 105 return BattleFrontier_BattlePalaceBattleRoom_MapScript2_24F861: @ 824F861 - map_script_2 VAR_0x4000, 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F86B + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F86B .2byte 0 BattleFrontier_BattlePalaceBattleRoom_EventScript_24F86B:: @ 824F86B @@ -42,7 +42,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24F86B:: @ 824F86B applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE9B waitmovement 0 applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEAC - setvar VAR_0x4002, 1 + setvar VAR_TEMP_2, 1 setvar VAR_0x8004, 2 setvar VAR_0x8005, 6 setvar VAR_0x8006, 1 @@ -105,7 +105,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24F911:: @ 824F911 BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A:: @ 824F98A setvar VAR_0x8004, 9 special sub_81A1780 - copyvar VAR_0x400F, VAR_RESULT + copyvar VAR_TEMP_F, VAR_RESULT compare VAR_RESULT, 0 goto_if 5, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB61 setvar VAR_0x8004, 1 @@ -198,10 +198,10 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB3F:: @ 824FB3F end BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB61:: @ 824FB61 - compare VAR_0x4002, 1 + compare VAR_TEMP_2, 1 goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB79 msgbox BattleFrontier_BattlePalaceBattleRoom_Text_2500DD, 4 - setvar VAR_0x4002, 1 + setvar VAR_TEMP_2, 1 BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB79:: @ 824FB79 message BattleFrontier_BattlePalaceBattleRoom_Text_25014A @@ -240,7 +240,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FC06:: @ 824FC06 applymovement 5, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEE7 applymovement 2, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEF2 waitmovement 0 - switch VAR_0x400F + switch VAR_TEMP_F case 2, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD3A case 3, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCAA case 4, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD67 @@ -332,7 +332,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD84:: @ 824FD84 BattleFrontier_BattlePalaceBattleRoom_EventScript_24FDF7:: @ 824FDF7 VerdanturfTown_BattleTentBattleRoom_EventScript_24FDF7:: @ 824FDF7 closemessage - setvar VAR_0x4002, 0 + setvar VAR_TEMP_2, 0 setvar VAR_0x8004, 2 setvar VAR_0x8005, 6 setvar VAR_0x8006, 0 @@ -350,13 +350,13 @@ VerdanturfTown_BattleTentBattleRoom_EventScript_24FDF7:: @ 824FDF7 return BattleFrontier_BattlePalaceBattleRoom_MapScript2_24FE34: @ 824FE34 - map_script_2 VAR_0x4001, 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE3E + map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE3E .2byte 0 BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE3E:: @ 824FE3E hideobjectat 1, BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM call BattleFrontier_BattlePalaceBattleRoom_EventScript_24F833 - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 applymovement 255, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE90 removeobject 2 applymovement 4, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE90 diff --git a/data/scripts/maps/BattleFrontier_BattlePalaceCorridor.inc b/data/scripts/maps/BattleFrontier_BattlePalaceCorridor.inc index 5c71cf4d6..91fb31ad3 100644 --- a/data/scripts/maps/BattleFrontier_BattlePalaceCorridor.inc +++ b/data/scripts/maps/BattleFrontier_BattlePalaceCorridor.inc @@ -3,7 +3,7 @@ BattleFrontier_BattlePalaceCorridor_MapScripts:: @ 824F4A3 .byte 0 BattleFrontier_BattlePalaceCorridor_MapScript2_24F4A9: @ 824F4A9 - map_script_2 VAR_0x4000, 0, BattleFrontier_BattlePalaceCorridor_EventScript_24F4B3 + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePalaceCorridor_EventScript_24F4B3 .2byte 0 BattleFrontier_BattlePalaceCorridor_EventScript_24F4B3:: @ 824F4B3 diff --git a/data/scripts/maps/BattleFrontier_BattlePalaceLobby.inc b/data/scripts/maps/BattleFrontier_BattlePalaceLobby.inc index 11fc42ced..067e18fa2 100644 --- a/data/scripts/maps/BattleFrontier_BattlePalaceLobby.inc +++ b/data/scripts/maps/BattleFrontier_BattlePalaceLobby.inc @@ -4,20 +4,20 @@ BattleFrontier_BattlePalaceLobby_MapScripts:: @ 824D77E .byte 0 BattleFrontier_BattlePalaceLobby_MapScript2_24D789: @ 824D789 - map_script_2 VAR_0x4001, 0, BattleFrontier_BattlePalaceLobby_EventScript_24D793 + map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattlePalaceLobby_EventScript_24D793 .2byte 0 BattleFrontier_BattlePalaceLobby_EventScript_24D793:: @ 824D793 - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 turnobject 255, 2 end BattleFrontier_BattlePalaceLobby_MapScript2_24D79D: @ 824D79D - map_script_2 VAR_0x4000, 0, BattleFrontier_BattlePalaceLobby_EventScript_24D7C7 - map_script_2 VAR_0x4000, 1, BattleFrontier_BattlePalaceLobby_EventScript_24D7D0 - map_script_2 VAR_0x4000, 2, BattleFrontier_BattlePalaceLobby_EventScript_24D908 - map_script_2 VAR_0x4000, 3, BattleFrontier_BattlePalaceLobby_EventScript_24D817 - map_script_2 VAR_0x4000, 4, BattleFrontier_BattlePalaceLobby_EventScript_24D873 + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePalaceLobby_EventScript_24D7C7 + map_script_2 VAR_TEMP_0, 1, BattleFrontier_BattlePalaceLobby_EventScript_24D7D0 + map_script_2 VAR_TEMP_0, 2, BattleFrontier_BattlePalaceLobby_EventScript_24D908 + map_script_2 VAR_TEMP_0, 3, BattleFrontier_BattlePalaceLobby_EventScript_24D817 + map_script_2 VAR_TEMP_0, 4, BattleFrontier_BattlePalaceLobby_EventScript_24D873 .2byte 0 BattleFrontier_BattlePalaceLobby_EventScript_24D7C7:: @ 824D7C7 @@ -41,7 +41,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D7D0:: @ 824D7D0 setvar VAR_0x8005, 0 setvar VAR_0x8006, 0 special sub_81A1780 - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 releaseall end @@ -67,7 +67,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D840:: @ 824D840 call BattleFrontier_BattlePalaceLobby_EventScript_24D8A1 msgbox BattleFrontier_BattlePalaceLobby_Text_24E0D8, 4 closemessage - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 releaseall end @@ -82,7 +82,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D873:: @ 824D873 call BattleFrontier_BattlePalaceLobby_EventScript_24D8A1 msgbox BattleFrontier_BattlePalaceLobby_Text_24E0D8, 4 closemessage - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 releaseall end @@ -127,7 +127,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D908:: @ 824D908 setvar VAR_0x8005, 3 setvar VAR_0x8006, 0 special sub_81A1780 - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 goto BattleFrontier_BattlePalaceLobby_EventScript_24DAF3 BattleFrontier_BattlePalaceLobby_EventScript_24D944:: @ 824D944 @@ -202,7 +202,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D9E6:: @ 824D9E6 case 127, BattleFrontier_BattlePalaceLobby_EventScript_24DB91 BattleFrontier_BattlePalaceLobby_EventScript_24DA87:: @ 824DA87 - setvar VAR_0x4000, 0 + setvar VAR_TEMP_0, 0 setvar VAR_0x8004, 2 setvar VAR_0x8005, 4 special sub_81A1780 @@ -224,7 +224,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24DA87:: @ 824DA87 closemessage delay 2 call BattleFrontier_BattlePalaceLobby_EventScript_27134F - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 compare VAR_RESULT, 0 goto_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB7A @@ -237,7 +237,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24DAF3:: @ 824DAF3 closemessage call BattleFrontier_BattlePalaceLobby_EventScript_24DBBC warp BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR, 255, 8, 13 - setvar VAR_0x4000, 0 + setvar VAR_TEMP_0, 0 waitstate end diff --git a/data/scripts/maps/BattleFrontier_BattlePikeCorridor.inc b/data/scripts/maps/BattleFrontier_BattlePikeCorridor.inc index 06335dddf..5293b6cfa 100644 --- a/data/scripts/maps/BattleFrontier_BattlePikeCorridor.inc +++ b/data/scripts/maps/BattleFrontier_BattlePikeCorridor.inc @@ -4,7 +4,7 @@ BattleFrontier_BattlePikeCorridor_MapScripts:: @ 825C771 .byte 0 BattleFrontier_BattlePikeCorridor_MapScript2_25C77C: @ 825C77C - map_script_2 VAR_0x4000, 0, BattleFrontier_BattlePikeCorridor_EventScript_25C786 + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePikeCorridor_EventScript_25C786 .2byte 0 BattleFrontier_BattlePikeCorridor_EventScript_25C786:: @ 825C786 @@ -37,11 +37,11 @@ BattleFrontier_BattlePikeCorridor_EventScript_25C786:: @ 825C786 end BattleFrontier_BattlePikeCorridor_MapScript2_25C7F7: @ 825C7F7 - map_script_2 VAR_0x4001, 0, BattleFrontier_BattlePikeCorridor_EventScript_25C801 + map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattlePikeCorridor_EventScript_25C801 .2byte 0 BattleFrontier_BattlePikeCorridor_EventScript_25C801:: @ 825C801 - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 turnobject 255, 2 end diff --git a/data/scripts/maps/BattleFrontier_BattlePikeLobby.inc b/data/scripts/maps/BattleFrontier_BattlePikeLobby.inc index f78cec646..0cee28347 100644 --- a/data/scripts/maps/BattleFrontier_BattlePikeLobby.inc +++ b/data/scripts/maps/BattleFrontier_BattlePikeLobby.inc @@ -4,18 +4,18 @@ BattleFrontier_BattlePikeLobby_MapScripts:: @ 825B6C6 .byte 0 BattleFrontier_BattlePikeLobby_MapScript2_25B6D1: @ 825B6D1 - map_script_2 VAR_0x4000, 0, BattleFrontier_BattlePikeLobby_EventScript_25B707 - map_script_2 VAR_0x4000, 1, BattleFrontier_BattlePikeLobby_EventScript_25B710 - map_script_2 VAR_0x4000, 3, BattleFrontier_BattlePikeLobby_EventScript_25B762 - map_script_2 VAR_0x4000, 4, BattleFrontier_BattlePikeLobby_EventScript_25B806 + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePikeLobby_EventScript_25B707 + map_script_2 VAR_TEMP_0, 1, BattleFrontier_BattlePikeLobby_EventScript_25B710 + map_script_2 VAR_TEMP_0, 3, BattleFrontier_BattlePikeLobby_EventScript_25B762 + map_script_2 VAR_TEMP_0, 4, BattleFrontier_BattlePikeLobby_EventScript_25B806 .2byte 0 BattleFrontier_BattlePikeLobby_MapScript2_25B6F3: @ 825B6F3 - map_script_2 VAR_0x4001, 0, BattleFrontier_BattlePikeLobby_EventScript_25B6FD + map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattlePikeLobby_EventScript_25B6FD .2byte 0 BattleFrontier_BattlePikeLobby_EventScript_25B6FD:: @ 825B6FD - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 turnobject 255, 2 end @@ -43,7 +43,7 @@ BattleFrontier_BattlePikeLobby_EventScript_25B710:: @ 825B710 setvar VAR_0x8005, 0 setvar VAR_0x8006, 0 special sub_81A1780 - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 releaseall end @@ -89,7 +89,7 @@ BattleFrontier_BattlePikeLobby_EventScript_25B78D:: @ 825B78D waitse msgbox BattleFrontier_BattlePikeLobby_Text_25BE02, 4 closemessage - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 releaseall end @@ -118,7 +118,7 @@ BattleFrontier_BattlePikeLobby_EventScript_25B806:: @ 825B806 waitse msgbox BattleFrontier_BattlePikeLobby_Text_25BE02, 4 closemessage - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 releaseall end @@ -171,8 +171,8 @@ BattleFrontier_BattlePikeLobby_EventScript_25B8BB:: @ 825B8BB case 127, BattleFrontier_BattlePikeLobby_EventScript_25BA73 BattleFrontier_BattlePikeLobby_EventScript_25B95C:: @ 825B95C - setvar VAR_0x4000, 0 - setvar VAR_0x4001, 0 + setvar VAR_TEMP_0, 0 + setvar VAR_TEMP_1, 0 setvar VAR_0x8004, 2 setvar VAR_0x8005, 4 special sub_81A1780 @@ -196,7 +196,7 @@ BattleFrontier_BattlePikeLobby_EventScript_25B95C:: @ 825B95C closemessage delay 2 call BattleFrontier_BattlePikeLobby_EventScript_27134F - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 setvar VAR_0x8004, 26 special sub_81A703C compare VAR_RESULT, 0 @@ -213,7 +213,7 @@ BattleFrontier_BattlePikeLobby_EventScript_25B95C:: @ 825B95C special HealPlayerParty call BattleFrontier_BattlePikeLobby_EventScript_25BB49 warpsilent BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR, 255, 6, 7 - setvar VAR_0x4000, 0 + setvar VAR_TEMP_0, 0 waitstate end diff --git a/data/scripts/maps/BattleFrontier_BattlePikeRandomRoom1.inc b/data/scripts/maps/BattleFrontier_BattlePikeRandomRoom1.inc index 30245d984..3461f8275 100644 --- a/data/scripts/maps/BattleFrontier_BattlePikeRandomRoom1.inc +++ b/data/scripts/maps/BattleFrontier_BattlePikeRandomRoom1.inc @@ -6,11 +6,11 @@ BattleFrontier_BattlePikeRandomRoom1_MapScripts:: @ 825D152 .byte 0 BattleFrontier_BattlePikeRandomRoom1_MapScript2_25D167: @ 825D167 - map_script_2 VAR_0x4000, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D171 + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D171 .2byte 0 BattleFrontier_BattlePikeRandomRoom1_EventScript_25D171:: @ 825D171 - setvar VAR_0x4000, 1 + setvar VAR_TEMP_0, 1 setvar VAR_0x8004, 5 special sub_81A703C switch VAR_RESULT diff --git a/data/scripts/maps/BattleFrontier_BattlePikeRandomRoom2.inc b/data/scripts/maps/BattleFrontier_BattlePikeRandomRoom2.inc index 22f4614d3..14f543284 100644 --- a/data/scripts/maps/BattleFrontier_BattlePikeRandomRoom2.inc +++ b/data/scripts/maps/BattleFrontier_BattlePikeRandomRoom2.inc @@ -4,7 +4,7 @@ BattleFrontier_BattlePikeRandomRoom2_MapScripts:: @ 825E392 .byte 0 BattleFrontier_BattlePikeRandomRoom2_MapScript2_25E39D: @ 825E39D - map_script_2 VAR_0x4000, 0, BattleFrontier_BattlePikeRandomRoom2_EventScript_25E3A7 + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePikeRandomRoom2_EventScript_25E3A7 .2byte 0 BattleFrontier_BattlePikeRandomRoom2_EventScript_25E3A7:: @ 825E3A7 @@ -29,11 +29,11 @@ BattleFrontier_BattlePikeRandomRoom2_Movement_25E3DB: @ 825E3DB step_end BattleFrontier_BattlePikeRandomRoom2_MapScript2_25E3DE: @ 825E3DE - map_script_2 VAR_0x4004, 0, BattleFrontier_BattlePikeRandomRoom2_EventScript_25E3E8 + map_script_2 VAR_TEMP_4, 0, BattleFrontier_BattlePikeRandomRoom2_EventScript_25E3E8 .2byte 0 BattleFrontier_BattlePikeRandomRoom2_EventScript_25E3E8:: @ 825E3E8 - setvar VAR_0x4004, 1 + setvar VAR_TEMP_4, 1 turnobject 255, 2 end diff --git a/data/scripts/maps/BattleFrontier_BattlePikeRandomRoom3.inc b/data/scripts/maps/BattleFrontier_BattlePikeRandomRoom3.inc index c651a9e68..d93913df2 100644 --- a/data/scripts/maps/BattleFrontier_BattlePikeRandomRoom3.inc +++ b/data/scripts/maps/BattleFrontier_BattlePikeRandomRoom3.inc @@ -5,12 +5,12 @@ BattleFrontier_BattlePikeRandomRoom3_MapScripts:: @ 825E41A .byte 0 BattleFrontier_BattlePikeRandomRoom3_MapScript2_25E42A: @ 825E42A - map_script_2 VAR_0x4000, 0, BattleFrontier_BattlePikeRandomRoom3_EventScript_25E43C - map_script_2 VAR_0x4001, 1, BattleFrontier_BattlePikeRandomRoom3_EventScript_25E44A + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePikeRandomRoom3_EventScript_25E43C + map_script_2 VAR_TEMP_1, 1, BattleFrontier_BattlePikeRandomRoom3_EventScript_25E44A .2byte 0 BattleFrontier_BattlePikeRandomRoom3_EventScript_25E43C:: @ 825E43C - setvar VAR_0x4000, 1 + setvar VAR_TEMP_0, 1 setvar VAR_0x8004, 6 special sub_81A703C end @@ -25,11 +25,11 @@ BattleFrontier_BattlePikeRandomRoom3_EventScript_25E44A:: @ 825E44A end BattleFrontier_BattlePikeRandomRoom3_MapScript2_25E466: @ 825E466 - map_script_2 VAR_0x4004, 0, BattleFrontier_BattlePikeRandomRoom3_EventScript_25E470 + map_script_2 VAR_TEMP_4, 0, BattleFrontier_BattlePikeRandomRoom3_EventScript_25E470 .2byte 0 BattleFrontier_BattlePikeRandomRoom3_EventScript_25E470:: @ 825E470 - setvar VAR_0x4004, 1 + setvar VAR_TEMP_4, 1 turnobject 255, 2 end @@ -45,6 +45,6 @@ BattleFrontier_BattlePikeRandomRoom3_MapScript1_25E47A: @ 825E47A end BattleFrontier_BattlePikeRandomRoom3_EventScript_25E4A3:: @ 825E4A3 - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 end diff --git a/data/scripts/maps/BattleFrontier_BattlePikeThreePathRoom.inc b/data/scripts/maps/BattleFrontier_BattlePikeThreePathRoom.inc index d4723acc7..6952412f2 100644 --- a/data/scripts/maps/BattleFrontier_BattlePikeThreePathRoom.inc +++ b/data/scripts/maps/BattleFrontier_BattlePikeThreePathRoom.inc @@ -5,19 +5,19 @@ BattleFrontier_BattlePikeThreePathRoom_MapScripts:: @ 825C843 .byte 0 BattleFrontier_BattlePikeThreePathRoom_MapScript2_25C853: @ 825C853 - map_script_2 VAR_0x4000, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C891 - map_script_2 VAR_0x4000, 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C89A - map_script_2 VAR_0x4000, 2, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C8A4 - map_script_2 VAR_0x4005, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA78 - map_script_2 VAR_0x4005, 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA97 + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C891 + map_script_2 VAR_TEMP_0, 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C89A + map_script_2 VAR_TEMP_0, 2, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C8A4 + map_script_2 VAR_TEMP_5, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA78 + map_script_2 VAR_TEMP_5, 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA97 .2byte 0 BattleFrontier_BattlePikeThreePathRoom_MapScript2_25C87D: @ 825C87D - map_script_2 VAR_0x4004, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C887 + map_script_2 VAR_TEMP_4, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C887 .2byte 0 BattleFrontier_BattlePikeThreePathRoom_EventScript_25C887:: @ 825C887 - setvar VAR_0x4004, 1 + setvar VAR_TEMP_4, 1 turnobject 255, 2 end @@ -44,7 +44,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25C8A4:: @ 825C8A4 setvar VAR_0x8005, 3 setvar VAR_0x8006, 0 special sub_81A1780 - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 special SavePlayerParty setvar VAR_0x8004, 3 setvar VAR_0x8005, 3 @@ -170,11 +170,11 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA78:: @ 825CA78 special sub_81A703C compare VAR_RESULT, 1 goto_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA91 - setvar VAR_0x4005, 255 + setvar VAR_TEMP_5, 255 end BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA91:: @ 825CA91 - setvar VAR_0x4005, 1 + setvar VAR_TEMP_5, 1 end BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA97:: @ 825CA97 @@ -185,7 +185,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA97:: @ 825CA97 releaseall applymovement 2, BattleFrontier_BattlePikeThreePathRoom_Movement_25CBD5 waitmovement 0 - setvar VAR_0x4005, 255 + setvar VAR_TEMP_5, 255 end BattleFrontier_BattlePikeThreePathRoom_EventScript_25CABB:: @ 825CABB diff --git a/data/scripts/maps/BattleFrontier_BattlePointExchangeServiceCorner.inc b/data/scripts/maps/BattleFrontier_BattlePointExchangeServiceCorner.inc index 2a39d844b..5bb6a87e0 100644 --- a/data/scripts/maps/BattleFrontier_BattlePointExchangeServiceCorner.inc +++ b/data/scripts/maps/BattleFrontier_BattlePointExchangeServiceCorner.inc @@ -13,23 +13,23 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F07D:: @ 825F07D end BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A:: @ 825F08A - specialvar VAR_0x4001, sub_813AA04 - compare VAR_0x4001, VAR_0x8008 + specialvar VAR_TEMP_1, sub_813AA04 + compare VAR_TEMP_1, VAR_0x8008 goto_if 4, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0C9 msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE86, 4 - compare VAR_0x4002, 0 + compare VAR_TEMP_2, 0 goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 - compare VAR_0x4002, 1 + compare VAR_TEMP_2, 1 goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E - compare VAR_0x4002, 2 + compare VAR_TEMP_2, 2 goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 end BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0C9:: @ 825F0C9 - compare VAR_0x4002, 0 + compare VAR_TEMP_2, 0 goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0E5 - compare VAR_0x4002, 1 + compare VAR_TEMP_2, 1 goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0E5 goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F12A end @@ -44,7 +44,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0E5:: @ 825F0E5 special sub_813A8FC playse SE_REGI msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE45, 4 - compare VAR_0x4002, 0 + compare VAR_TEMP_2, 0 goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E end @@ -65,7 +65,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F12A:: @ 825F12A special sub_813A8FC playse SE_REGI msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE72, 4 - compare VAR_0x4002, 2 + compare VAR_TEMP_2, 2 goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 end @@ -79,7 +79,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F166:: @ 825F166 BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F173:: @ 825F173 lock faceplayer - setvar VAR_0x4002, 0 + setvar VAR_TEMP_2, 0 call BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F071 goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 end @@ -198,7 +198,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F359:: @ 825F359 BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F37C:: @ 825F37C lock faceplayer - setvar VAR_0x4002, 1 + setvar VAR_TEMP_2, 1 call BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F071 goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E end @@ -267,7 +267,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F47C:: @ 825F47C BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F49F:: @ 825F49F lock faceplayer - setvar VAR_0x4002, 2 + setvar VAR_TEMP_2, 2 call BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F071 goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 end @@ -346,7 +346,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F5CD:: @ 825F5CD BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F5F0:: @ 825F5F0 lock faceplayer - setvar VAR_0x4002, 3 + setvar VAR_TEMP_2, 3 call BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F071 goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 end diff --git a/data/scripts/maps/BattleFrontier_BattlePyramidEmptySquare.inc b/data/scripts/maps/BattleFrontier_BattlePyramidEmptySquare.inc index 29485ef12..148ea97c1 100644 --- a/data/scripts/maps/BattleFrontier_BattlePyramidEmptySquare.inc +++ b/data/scripts/maps/BattleFrontier_BattlePyramidEmptySquare.inc @@ -5,9 +5,9 @@ BattleFrontier_BattlePyramidEmptySquare_MapScripts:: @ 8252A33 .byte 0 BattleFrontier_BattlePyramidEmptySquare_MapScript2_252A43: @ 8252A43 - map_script_2 VAR_0x400D, 1, BattleFrontier_BattlePyramidEmptySquare_EventScript_252A5D - map_script_2 VAR_0x400E, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252A98 - map_script_2 VAR_0x400F, 1, BattleFrontier_BattlePyramidEmptySquare_EventScript_252A8F + map_script_2 VAR_TEMP_D, 1, BattleFrontier_BattlePyramidEmptySquare_EventScript_252A5D + map_script_2 VAR_TEMP_E, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252A98 + map_script_2 VAR_TEMP_F, 1, BattleFrontier_BattlePyramidEmptySquare_EventScript_252A8F .2byte 0 BattleFrontier_BattlePyramidEmptySquare_EventScript_252A5D:: @ 8252A5D @@ -23,18 +23,18 @@ BattleFrontier_BattlePyramidEmptySquare_EventScript_252A77:: @ 8252A77 delay 2 compare VAR_RESULT, 2 goto_if 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252A77 - setvar VAR_0x400D, 0 + setvar VAR_TEMP_D, 0 releaseall end BattleFrontier_BattlePyramidEmptySquare_EventScript_252A8F:: @ 8252A8F special ShowMapNamePopup - setvar VAR_0x400F, 0 + setvar VAR_TEMP_F, 0 end BattleFrontier_BattlePyramidEmptySquare_EventScript_252A98:: @ 8252A98 playbgm MUS_PYRAMID, 0 - setvar VAR_0x400E, 1 + setvar VAR_TEMP_E, 1 end BattleFrontier_BattlePyramidEmptySquare_MapScript1_252AA2: @ 8252AA2 @@ -42,7 +42,7 @@ BattleFrontier_BattlePyramidEmptySquare_MapScript1_252AA2: @ 8252AA2 special sub_81A8E7C setvar VAR_0x8004, 0 special sub_81A1780 - switch VAR_0x4000 + switch VAR_TEMP_0 case 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252B8D case 1, BattleFrontier_BattlePyramidEmptySquare_EventScript_252B66 case 2, BattleFrontier_BattlePyramidEmptySquare_EventScript_252B8D @@ -64,7 +64,7 @@ BattleFrontier_BattlePyramidEmptySquare_MapScript1_252AA2: @ 8252AA2 setvar VAR_0x8004, 14 setvar VAR_0x8005, 8 special sub_81A1780 - setvar VAR_0x400D, 1 + setvar VAR_TEMP_D, 1 BattleFrontier_BattlePyramidEmptySquare_EventScript_252B39:: @ 8252B39 setvar VAR_0x8004, 17 @@ -109,12 +109,12 @@ BattleFrontier_BattlePyramidEmptySquare_EventScript_252B8D:: @ 8252B8D setvar VAR_0x8004, 3 setvar VAR_0x8005, 3 special sub_81A1780 - setvar VAR_0x400F, 1 + setvar VAR_TEMP_F, 1 end BattleFrontier_BattlePyramidEmptySquare_MapScript1_252BCA: @ 8252BCA call BattleFrontier_BattlePyramidEmptySquare_EventScript_252BD5 - setvar VAR_0x400F, 1 + setvar VAR_TEMP_F, 1 end BattleFrontier_BattlePyramidEmptySquare_EventScript_252BD5:: @ 8252BD5 diff --git a/data/scripts/maps/BattleFrontier_BattlePyramidLobby.inc b/data/scripts/maps/BattleFrontier_BattlePyramidLobby.inc index eab2bb18c..2862722ce 100644 --- a/data/scripts/maps/BattleFrontier_BattlePyramidLobby.inc +++ b/data/scripts/maps/BattleFrontier_BattlePyramidLobby.inc @@ -4,20 +4,20 @@ BattleFrontier_BattlePyramidLobby_MapScripts:: @ 8250716 .byte 0 BattleFrontier_BattlePyramidLobby_MapScript2_250721: @ 8250721 - map_script_2 VAR_0x4001, 0, BattleFrontier_BattlePyramidLobby_EventScript_25072B + map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattlePyramidLobby_EventScript_25072B .2byte 0 BattleFrontier_BattlePyramidLobby_EventScript_25072B: @ 825072B - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 turnobject 255, 2 end BattleFrontier_BattlePyramidLobby_MapScript2_250735: @ 8250735 - map_script_2 VAR_0x4000, 0, BattleFrontier_BattlePyramidLobby_EventScript_25075F - map_script_2 VAR_0x4000, 1, BattleFrontier_BattlePyramidLobby_EventScript_250768 - map_script_2 VAR_0x4000, 2, BattleFrontier_BattlePyramidLobby_EventScript_2508AC - map_script_2 VAR_0x4000, 3, BattleFrontier_BattlePyramidLobby_EventScript_2507B1 - map_script_2 VAR_0x4000, 4, BattleFrontier_BattlePyramidLobby_EventScript_250852 + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePyramidLobby_EventScript_25075F + map_script_2 VAR_TEMP_0, 1, BattleFrontier_BattlePyramidLobby_EventScript_250768 + map_script_2 VAR_TEMP_0, 2, BattleFrontier_BattlePyramidLobby_EventScript_2508AC + map_script_2 VAR_TEMP_0, 3, BattleFrontier_BattlePyramidLobby_EventScript_2507B1 + map_script_2 VAR_TEMP_0, 4, BattleFrontier_BattlePyramidLobby_EventScript_250852 .2byte 0 BattleFrontier_BattlePyramidLobby_EventScript_25075F:: @ 825075F @@ -44,7 +44,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_250768:: @ 8250768 setvar VAR_0x8005, 0 setvar VAR_0x8006, 0 special sub_81A1780 - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 releaseall end @@ -90,7 +90,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_2507DA:: @ 82507DA waitse msgbox BattleFrontier_BattlePyramidLobby_Text_251BB6, 4 closemessage - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 releaseall end @@ -119,7 +119,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_250852:: @ 8250852 waitse msgbox BattleFrontier_BattlePyramidLobby_Text_251BB6, 4 closemessage - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 releaseall end @@ -175,7 +175,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_250904:: @ 8250904 case 127, BattleFrontier_BattlePyramidLobby_EventScript_250AC1 BattleFrontier_BattlePyramidLobby_EventScript_2509A5:: @ 82509A5 - setvar VAR_0x4000, 0 + setvar VAR_TEMP_0, 0 setvar VAR_0x8004, 2 setvar VAR_0x8005, 4 special sub_81A1780 @@ -201,7 +201,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_2509A5:: @ 82509A5 closemessage delay 2 call BattleFrontier_BattlePyramidLobby_EventScript_27134F - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 compare VAR_RESULT, 0 goto_eq BattleFrontier_BattlePyramidLobby_EventScript_250AAA @@ -220,7 +220,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_250A21:: @ 8250A21 setvar VAR_RESULT, 0 special HealPlayerParty warp BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE, 255, 1, 1 - setvar VAR_0x4000, 0 + setvar VAR_TEMP_0, 0 waitstate end diff --git a/data/scripts/maps/BattleFrontier_BattlePyramidTop.inc b/data/scripts/maps/BattleFrontier_BattlePyramidTop.inc index 07e66efa8..d071639f8 100644 --- a/data/scripts/maps/BattleFrontier_BattlePyramidTop.inc +++ b/data/scripts/maps/BattleFrontier_BattlePyramidTop.inc @@ -10,17 +10,17 @@ BattleFrontier_BattlePyramidTop_MapScript1_2550B6: @ 82550B6 setvar VAR_0x8005, 200 setvar VAR_0x8006, 0 special sub_81A8E7C - setvar VAR_0x400F, 1 + setvar VAR_TEMP_F, 1 end BattleFrontier_BattlePyramidTop_MapScript2_2550CE: @ 82550CE - map_script_2 VAR_0x4001, 0, BattleFrontier_BattlePyramidTop_EventScript_2550D8 + map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattlePyramidTop_EventScript_2550D8 .2byte 0 BattleFrontier_BattlePyramidTop_EventScript_2550D8:: @ 82550D8 - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 turnobject 255, 2 - compare VAR_0x400C, 0 + compare VAR_TEMP_C, 0 goto_if 5, BattleFrontier_BattlePyramidTop_EventScript_2550F3 setobjectxyperm 2, 0, 0 @@ -35,10 +35,10 @@ BattleFrontier_BattlePyramidTop_MapScript1_2550F4: @ 82550F4 call BattleFrontier_BattlePyramidTop_EventScript_242170 BattleFrontier_BattlePyramidTop_EventScript_25510C:: @ 825510C - copyvar VAR_0x400C, VAR_RESULT + copyvar VAR_TEMP_C, VAR_RESULT setvar VAR_0x8004, 0 special sub_81A1780 - switch VAR_0x4000 + switch VAR_TEMP_0 case 0, BattleFrontier_BattlePyramidTop_EventScript_255193 case 1, BattleFrontier_BattlePyramidTop_EventScript_252B66 case 2, BattleFrontier_BattlePyramidTop_EventScript_255193 @@ -54,18 +54,18 @@ BattleFrontier_BattlePyramidTop_EventScript_25510C:: @ 825510C end BattleFrontier_BattlePyramidTop_MapScript2_25516E: @ 825516E - map_script_2 VAR_0x400E, 0, BattleFrontier_BattlePyramidTop_EventScript_255180 - map_script_2 VAR_0x400F, 1, BattleFrontier_BattlePyramidTop_EventScript_25518A + map_script_2 VAR_TEMP_E, 0, BattleFrontier_BattlePyramidTop_EventScript_255180 + map_script_2 VAR_TEMP_F, 1, BattleFrontier_BattlePyramidTop_EventScript_25518A .2byte 0 BattleFrontier_BattlePyramidTop_EventScript_255180:: @ 8255180 playbgm MUS_PYRAMID_TOP, 0 - setvar VAR_0x400E, 1 + setvar VAR_TEMP_E, 1 end BattleFrontier_BattlePyramidTop_EventScript_25518A:: @ 825518A special ShowMapNamePopup - setvar VAR_0x400F, 0 + setvar VAR_TEMP_F, 0 end BattleFrontier_BattlePyramidTop_EventScript_255193:: @ 8255193 @@ -82,15 +82,15 @@ BattleFrontier_BattlePyramidTop_EventScript_255193:: @ 8255193 setvar VAR_0x8004, 3 setvar VAR_0x8005, 3 special sub_81A1780 - setvar VAR_0x400F, 1 + setvar VAR_TEMP_F, 1 end BattleFrontier_BattlePyramidTop_EventScript_2551D0:: @ 82551D0 lock faceplayer - compare VAR_0x400D, 0 + compare VAR_TEMP_D, 0 goto_if 5, BattleFrontier_BattlePyramidTop_EventScript_255236 - compare VAR_0x400C, 0 + compare VAR_TEMP_C, 0 goto_if 5, BattleFrontier_BattlePyramidTop_EventScript_255240 msgbox BattleFrontier_BattlePyramidTop_Text_255410, 4 closemessage @@ -123,13 +123,13 @@ BattleFrontier_BattlePyramidTop_EventScript_255236:: @ 8255236 BattleFrontier_BattlePyramidTop_EventScript_255240:: @ 8255240 msgbox BattleFrontier_BattlePyramidTop_Text_25551F, 4 applymovement 1, BattleFrontier_BattlePyramidTop_Movement_2553FD - setvar VAR_0x400D, 1 + setvar VAR_TEMP_D, 1 closemessage end BattleFrontier_BattlePyramidTop_EventScript_255256:: @ 8255256 lockall - switch VAR_0x400C + switch VAR_TEMP_C case 2, BattleFrontier_BattlePyramidTop_EventScript_255335 case 3, BattleFrontier_BattlePyramidTop_EventScript_2552D0 case 4, BattleFrontier_BattlePyramidTop_EventScript_255388 diff --git a/data/scripts/maps/BattleFrontier_BattleTowerBattleRoom.inc b/data/scripts/maps/BattleFrontier_BattleTowerBattleRoom.inc index 7ed448c9a..63306af2a 100644 --- a/data/scripts/maps/BattleFrontier_BattleTowerBattleRoom.inc +++ b/data/scripts/maps/BattleFrontier_BattleTowerBattleRoom.inc @@ -4,20 +4,20 @@ BattleFrontier_BattleTowerBattleRoom_MapScripts:: @ 8241B40 .byte 0 BattleFrontier_BattleTowerBattleRoom_MapScript2_241B4B: @ 8241B4B - map_script_2 VAR_0x4001, 0, BattleFrontier_BattleTowerBattleRoom_EventScript_241B55 + map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleTowerBattleRoom_EventScript_241B55 .2byte 0 BattleFrontier_BattleTowerBattleRoom_EventScript_241B55:: @ 8241B55 - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 applymovement 3, BattleFrontier_BattleTowerBattleRoom_Movement_242198 end BattleFrontier_BattleTowerBattleRoom_MapScript2_241B62: @ 8241B62 - map_script_2 VAR_0x4000, 0, BattleFrontier_BattleTowerBattleRoom_EventScript_241B6C + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleTowerBattleRoom_EventScript_241B6C .2byte 0 BattleFrontier_BattleTowerBattleRoom_EventScript_241B6C:: @ 8241B6C - setvar VAR_0x4000, 1 + setvar VAR_TEMP_0, 1 applymovement 255, BattleFrontier_BattleTowerBattleRoom_Movement_242179 waitmovement 0 setvar VAR_0x8004, 1 @@ -29,7 +29,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241B6C:: @ 8241B6C waitmovement 0 applymovement 255, BattleFrontier_BattleTowerBattleRoom_Movement_24217E waitmovement 0 - setvar VAR_0x4002, 1 + setvar VAR_TEMP_2, 1 setvar VAR_0x8004, 2 setvar VAR_0x8005, 6 setvar VAR_0x8006, 1 @@ -89,7 +89,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241C2F:: @ 8241C2F BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F:: @ 8241C8F setvar VAR_0x8004, 9 special sub_81A1780 - copyvar VAR_0x400F, VAR_RESULT + copyvar VAR_TEMP_F, VAR_RESULT compare VAR_RESULT, 0 goto_if 5, BattleFrontier_BattleTowerBattleRoom_EventScript_241F0A setvar VAR_0x8004, 1 @@ -178,8 +178,8 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241E22:: @ 8241E22 end BattleFrontier_BattleTowerBattleRoom_EventScript_241E44:: @ 8241E44 - copyvar VAR_0x400F, VAR_RESULT - switch VAR_0x400F + copyvar VAR_TEMP_F, VAR_RESULT + switch VAR_TEMP_F case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_241E90 case 2, BattleFrontier_BattleTowerBattleRoom_EventScript_241E97 case 3, BattleFrontier_BattleTowerBattleRoom_EventScript_241E9E @@ -245,10 +245,10 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241EC3:: @ 8241EC3 return BattleFrontier_BattleTowerBattleRoom_EventScript_241F0A:: @ 8241F0A - compare VAR_0x4002, 1 + compare VAR_TEMP_2, 1 goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241F22 msgbox BattleFrontier_BattleTowerBattleRoom_Text_2424C2, 4 - setvar VAR_0x4002, 1 + setvar VAR_TEMP_2, 1 BattleFrontier_BattleTowerBattleRoom_EventScript_241F22:: @ 8241F22 message BattleFrontier_BattleTowerBattleRoom_Text_242542 @@ -282,7 +282,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241FAF:: @ 8241FAF addobject 1 applymovement 1, BattleFrontier_BattleTowerBattleRoom_Movement_2421B2 waitmovement 0 - switch VAR_0x400F + switch VAR_TEMP_F case 2, BattleFrontier_BattleTowerBattleRoom_EventScript_242085 case 3, BattleFrontier_BattleTowerBattleRoom_EventScript_242029 case 4, BattleFrontier_BattleTowerBattleRoom_EventScript_2420B2 @@ -356,7 +356,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_2420CF:: @ 82420CF BattleFrontier_BattleTowerBattleRoom2_EventScript_24210E:: @ 824210E BattleFrontier_BattleTowerBattleRoom_EventScript_24210E:: @ 824210E closemessage - setvar VAR_0x4002, 0 + setvar VAR_TEMP_2, 0 setvar VAR_0x8004, 2 setvar VAR_0x8005, 6 setvar VAR_0x8006, 0 diff --git a/data/scripts/maps/BattleFrontier_BattleTowerBattleRoom2.inc b/data/scripts/maps/BattleFrontier_BattleTowerBattleRoom2.inc index ec2994591..f22b0de26 100644 --- a/data/scripts/maps/BattleFrontier_BattleTowerBattleRoom2.inc +++ b/data/scripts/maps/BattleFrontier_BattleTowerBattleRoom2.inc @@ -17,11 +17,11 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_248F0F:: @ 8248F0F checkplayergender compare VAR_RESULT, 1 goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_248F29 - setvar VAR_0x401F, 0 + setvar VAR_OBJ_GFX_ID_F, 0 return BattleFrontier_BattleTowerBattleRoom2_EventScript_248F29:: @ 8248F29 - setvar VAR_0x401F, 89 + setvar VAR_OBJ_GFX_ID_F, 89 return BattleFrontier_BattleTowerBattleRoom2_EventScript_248F2F:: @ 8248F2F @@ -29,7 +29,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_248F2F:: @ 8248F2F return BattleFrontier_BattleTowerBattleRoom2_MapScript2_248F33: @ 8248F33 - map_script_2 VAR_0x4001, 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_248F3D + map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_248F3D .2byte 0 BattleFrontier_BattleTowerBattleRoom2_EventScript_248F3D:: @ 8248F3D @@ -37,11 +37,11 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_248F3D:: @ 8248F3D end BattleFrontier_BattleTowerBattleRoom2_MapScript2_248F43: @ 8248F43 - map_script_2 VAR_0x4000, 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_248F4D + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_248F4D .2byte 0 BattleFrontier_BattleTowerBattleRoom2_EventScript_248F4D:: @ 8248F4D - setvar VAR_0x4000, 1 + setvar VAR_TEMP_0, 1 applymovement 5, BattleFrontier_BattleTowerBattleRoom2_Movement_249518 applymovement 6, BattleFrontier_BattleTowerBattleRoom2_Movement_24951E waitmovement 0 @@ -258,8 +258,8 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_2492DB:: @ 82492DB BattleFrontier_BattleTowerBattleRoom2_EventScript_2492FD:: @ 82492FD compare VAR_0x40CE, 3 goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_24937E - copyvar VAR_0x400F, VAR_RESULT - switch VAR_0x400F + copyvar VAR_TEMP_F, VAR_RESULT + switch VAR_TEMP_F case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_249354 case 2, BattleFrontier_BattleTowerBattleRoom2_EventScript_24935B case 3, BattleFrontier_BattleTowerBattleRoom2_EventScript_249362 @@ -298,8 +298,8 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_249377:: @ 8249377 return BattleFrontier_BattleTowerBattleRoom2_EventScript_24937E:: @ 824937E - copyvar VAR_0x400F, VAR_RESULT - switch VAR_0x400F + copyvar VAR_TEMP_F, VAR_RESULT + switch VAR_TEMP_F case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_2493CA case 2, BattleFrontier_BattleTowerBattleRoom2_EventScript_2493D6 case 3, BattleFrontier_BattleTowerBattleRoom2_EventScript_2493E2 diff --git a/data/scripts/maps/BattleFrontier_BattleTowerCorridor.inc b/data/scripts/maps/BattleFrontier_BattleTowerCorridor.inc index fc1327f41..a1dfa2abc 100644 --- a/data/scripts/maps/BattleFrontier_BattleTowerCorridor.inc +++ b/data/scripts/maps/BattleFrontier_BattleTowerCorridor.inc @@ -16,11 +16,11 @@ BattleFrontier_BattleTowerCorridor_EventScript_241AD3:: @ 8241AD3 end BattleFrontier_BattleTowerCorridor_MapScript2_241AE6: @ 8241AE6 - map_script_2 VAR_0x4000, 0, BattleFrontier_BattleTowerCorridor_EventScript_241AF0 + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleTowerCorridor_EventScript_241AF0 .2byte 0 BattleFrontier_BattleTowerCorridor_EventScript_241AF0:: @ 8241AF0 - setvar VAR_0x4000, 1 + setvar VAR_TEMP_0, 1 compare VAR_0x8006, 1 goto_eq BattleFrontier_BattleTowerCorridor_EventScript_241B16 applymovement 1, BattleFrontier_BattleTowerCorridor_Movement_241B3A @@ -34,7 +34,7 @@ BattleFrontier_BattleTowerCorridor_EventScript_241B16:: @ 8241B16 waitmovement 0 BattleFrontier_BattleTowerCorridor_EventScript_241B27:: @ 8241B27 - setvar VAR_0x4000, 0 + setvar VAR_TEMP_0, 0 warp BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM, 255, 4, 8 waitstate end diff --git a/data/scripts/maps/BattleFrontier_BattleTowerCorridor2.inc b/data/scripts/maps/BattleFrontier_BattleTowerCorridor2.inc index cd81b47fd..af2c67eac 100644 --- a/data/scripts/maps/BattleFrontier_BattleTowerCorridor2.inc +++ b/data/scripts/maps/BattleFrontier_BattleTowerCorridor2.inc @@ -17,11 +17,11 @@ BattleFrontier_BattleTowerCorridor2_EventScript_248D71:: @ 8248D71 checkplayergender compare VAR_RESULT, 1 goto_eq BattleFrontier_BattleTowerCorridor2_EventScript_248D8B - setvar VAR_0x401F, 0 + setvar VAR_OBJ_GFX_ID_F, 0 return BattleFrontier_BattleTowerCorridor2_EventScript_248D8B:: @ 8248D8B - setvar VAR_0x401F, 89 + setvar VAR_OBJ_GFX_ID_F, 89 return BattleFrontier_BattleTowerCorridor2_EventScript_248D91:: @ 8248D91 @@ -29,7 +29,7 @@ BattleFrontier_BattleTowerCorridor2_EventScript_248D91:: @ 8248D91 return BattleFrontier_BattleTowerCorridor2_MapScript2_248D95: @ 8248D95 - map_script_2 VAR_0x4001, 0, BattleFrontier_BattleTowerCorridor2_EventScript_248D9F + map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleTowerCorridor2_EventScript_248D9F .2byte 0 BattleFrontier_BattleTowerCorridor2_EventScript_248D9F:: @ 8248D9F @@ -40,7 +40,7 @@ BattleFrontier_BattleTowerCorridor2_EventScript_248D9F:: @ 8248D9F end BattleFrontier_BattleTowerCorridor2_MapScript2_248DB2: @ 8248DB2 - map_script_2 VAR_0x4001, 0, BattleFrontier_BattleTowerCorridor2_EventScript_248DBC + map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleTowerCorridor2_EventScript_248DBC .2byte 0 BattleFrontier_BattleTowerCorridor2_EventScript_248DBC:: @ 8248DBC @@ -81,7 +81,7 @@ BattleFrontier_BattleTowerCorridor2_EventScript_248DBC:: @ 8248DBC closedoor 7, 1 waitdooranim delay 30 - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 call BattleFrontier_BattleTowerCorridor2_EventScript_248E71 releaseall end diff --git a/data/scripts/maps/BattleFrontier_BattleTowerElevator.inc b/data/scripts/maps/BattleFrontier_BattleTowerElevator.inc index fe824b1ea..095e75394 100644 --- a/data/scripts/maps/BattleFrontier_BattleTowerElevator.inc +++ b/data/scripts/maps/BattleFrontier_BattleTowerElevator.inc @@ -4,11 +4,11 @@ BattleFrontier_BattleTowerElevator_MapScripts:: @ 82419DB .byte 0 BattleFrontier_BattleTowerElevator_MapScript2_2419E6: @ 82419E6 - map_script_2 VAR_0x4000, 0, BattleFrontier_BattleTowerElevator_EventScript_2419F0 + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleTowerElevator_EventScript_2419F0 .2byte 0 BattleFrontier_BattleTowerElevator_EventScript_2419F0:: @ 82419F0 - setvar VAR_0x4000, 1 + setvar VAR_TEMP_0, 1 applymovement 1, BattleFrontier_BattleTowerElevator_Movement_241A86 applymovement 255, BattleFrontier_BattleTowerElevator_Movement_241A8A waitmovement 0 @@ -81,11 +81,11 @@ BattleFrontier_BattleTowerElevator_Movement_241A92: @ 8241A92 step_end BattleFrontier_BattleTowerElevator_MapScript2_241A96: @ 8241A96 - map_script_2 VAR_0x4001, 0, BattleFrontier_BattleTowerElevator_EventScript_241AA0 + map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleTowerElevator_EventScript_241AA0 .2byte 0 BattleFrontier_BattleTowerElevator_EventScript_241AA0:: @ 8241AA0 - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 turnobject 255, 2 end diff --git a/data/scripts/maps/BattleFrontier_BattleTowerLobby.inc b/data/scripts/maps/BattleFrontier_BattleTowerLobby.inc index 774507df9..9f2099b32 100644 --- a/data/scripts/maps/BattleFrontier_BattleTowerLobby.inc +++ b/data/scripts/maps/BattleFrontier_BattleTowerLobby.inc @@ -31,20 +31,20 @@ BattleFrontier_BattleTowerLobby_EventScript_23E6C1:: @ 823E6C1 goto BattleFrontier_BattleTowerLobby_EventScript_23E6C0 BattleFrontier_BattleTowerLobby_MapScript2_23E6C9: @ 823E6C9 - map_script_2 VAR_0x4001, 0, BattleFrontier_BattleTowerLobby_EventScript_23E6D3 + map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleTowerLobby_EventScript_23E6D3 .2byte 0 BattleFrontier_BattleTowerLobby_EventScript_23E6D3:: @ 823E6D3 - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 turnobject 255, 2 end BattleFrontier_BattleTowerLobby_MapScript2_23E6DD: @ 823E6DD - map_script_2 VAR_0x4000, 0, BattleFrontier_BattleTowerLobby_EventScript_23E707 - map_script_2 VAR_0x4000, 1, BattleFrontier_BattleTowerLobby_EventScript_23E710 - map_script_2 VAR_0x4000, 2, BattleFrontier_BattleTowerLobby_EventScript_23E8EE - map_script_2 VAR_0x4000, 3, BattleFrontier_BattleTowerLobby_EventScript_23E758 - map_script_2 VAR_0x4000, 4, BattleFrontier_BattleTowerLobby_EventScript_23E7F2 + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleTowerLobby_EventScript_23E707 + map_script_2 VAR_TEMP_0, 1, BattleFrontier_BattleTowerLobby_EventScript_23E710 + map_script_2 VAR_TEMP_0, 2, BattleFrontier_BattleTowerLobby_EventScript_23E8EE + map_script_2 VAR_TEMP_0, 3, BattleFrontier_BattleTowerLobby_EventScript_23E758 + map_script_2 VAR_TEMP_0, 4, BattleFrontier_BattleTowerLobby_EventScript_23E7F2 .2byte 0 BattleFrontier_BattleTowerLobby_EventScript_23E707:: @ 823E707 @@ -69,7 +69,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E710:: @ 823E710 setvar VAR_0x8005, 0 setvar VAR_0x8006, 0 special sub_81A1780 - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 release end @@ -114,7 +114,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E7A5:: @ 823E7A5 BattleFrontier_BattleTowerLobby_EventScript_23E7E2:: @ 823E7E2 msgbox BattleFrontier_BattleTowerLobby_Text_23FD07, 4 closemessage - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 release end @@ -143,7 +143,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E830:: @ 823E830 call BattleFrontier_BattleTowerLobby_EventScript_23E84D msgbox BattleFrontier_BattleTowerLobby_Text_23FD07, 4 closemessage - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 release end @@ -288,7 +288,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EA2A:: @ 823EA2A setvar VAR_0x8004, 2 setvar VAR_0x8005, 4 special sub_81A1780 - setvar VAR_0x4000, 0 + setvar VAR_TEMP_0, 0 setvar VAR_0x8004, 0 special sub_8161F74 setvar VAR_0x8004, 2 @@ -303,7 +303,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EA2A:: @ 823EA2A closemessage delay 2 call BattleFrontier_BattleTowerLobby_EventScript_27134F - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 compare VAR_RESULT, 0 goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0D0 incrementgamestat 30 @@ -368,7 +368,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EB93:: @ 823EB93 setvar VAR_0x8004, 2 setvar VAR_0x8005, 4 special sub_81A1780 - setvar VAR_0x4000, 0 + setvar VAR_TEMP_0, 0 setvar VAR_0x8004, 0 special sub_8161F74 setvar VAR_0x8004, 2 @@ -383,7 +383,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EB93:: @ 823EB93 closemessage delay 2 call BattleFrontier_BattleTowerLobby_EventScript_27134F - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 compare VAR_RESULT, 0 goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0D0 incrementgamestat 30 @@ -449,7 +449,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23ECFF:: @ 823ECFF setvar VAR_0x8004, 2 setvar VAR_0x8005, 4 special sub_81A1780 - setvar VAR_0x4000, 0 + setvar VAR_TEMP_0, 0 setvar VAR_0x8004, 0 special sub_8161F74 setvar VAR_0x8004, 2 @@ -464,7 +464,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23ECFF:: @ 823ECFF closemessage delay 2 call BattleFrontier_BattleTowerLobby_EventScript_27134F - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 compare VAR_RESULT, 0 goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0D0 incrementgamestat 30 @@ -529,7 +529,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EE68:: @ 823EE68 setvar VAR_0x8004, 2 setvar VAR_0x8005, 4 special sub_81A1780 - setvar VAR_0x4000, 0 + setvar VAR_TEMP_0, 0 setvar VAR_0x8004, 0 special sub_8161F74 setvar VAR_0x8004, 2 @@ -547,7 +547,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EE68:: @ 823EE68 setvar VAR_0x8005, 0 special sub_8161F74 call BattleFrontier_BattleTowerLobby_EventScript_27134F - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 compare VAR_RESULT, 0 goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0D0 incrementgamestat 30 @@ -748,7 +748,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23F108:: @ 823F108 call BattleFrontier_BattleTowerLobby_EventScript_23F135 clearflag FLAG_0x077 warp BATTLE_FRONTIER_BATTLE_TOWER_ELEVATOR, 255, 1, 6 - setvar VAR_0x4000, 0 + setvar VAR_TEMP_0, 0 waitstate end diff --git a/data/scripts/maps/BattleFrontier_BattleTowerMultiBattleRoom.inc b/data/scripts/maps/BattleFrontier_BattleTowerMultiBattleRoom.inc index e334e2413..e6c99541d 100644 --- a/data/scripts/maps/BattleFrontier_BattleTowerMultiBattleRoom.inc +++ b/data/scripts/maps/BattleFrontier_BattleTowerMultiBattleRoom.inc @@ -26,21 +26,21 @@ BattleFrontier_BattleTowerMultiBattleRoom_MapScript1_243DB0: @ 8243DB0 end BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243DDA:: @ 8243DDA - setvar VAR_0x4010, 7 - setvar VAR_0x4011, 7 - setvar VAR_0x4012, 7 - setvar VAR_0x4013, 7 - setvar VAR_0x4014, 7 - setvar VAR_0x4015, 7 - setvar VAR_0x4016, 7 - setvar VAR_0x4017, 7 - setvar VAR_0x4001, 1 - setvar VAR_0x4003, 1 + setvar VAR_OBJ_GFX_ID_0, 7 + setvar VAR_OBJ_GFX_ID_1, 7 + setvar VAR_OBJ_GFX_ID_2, 7 + setvar VAR_OBJ_GFX_ID_3, 7 + setvar VAR_OBJ_GFX_ID_4, 7 + setvar VAR_OBJ_GFX_ID_5, 7 + setvar VAR_OBJ_GFX_ID_6, 7 + setvar VAR_OBJ_GFX_ID_7, 7 + setvar VAR_TEMP_1, 1 + setvar VAR_TEMP_3, 1 setobjectxyperm 1, 10, 2 end BattleFrontier_BattleTowerMultiBattleRoom_MapScript2_243E14: @ 8243E14 - map_script_2 VAR_0x4003, 1, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E1E + map_script_2 VAR_TEMP_3, 1, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E1E .2byte 0 BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E1E:: @ 8243E1E @@ -48,13 +48,13 @@ BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E1E:: @ 8243E1E end BattleFrontier_BattleTowerMultiBattleRoom_MapScript2_243E23: @ 8243E23 - map_script_2 VAR_0x4001, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E41 - map_script_2 VAR_0x4003, 1, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E35 + map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E41 + map_script_2 VAR_TEMP_3, 1, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E35 .2byte 0 BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E35:: @ 8243E35 lockall - setvar VAR_0x4003, 0 + setvar VAR_TEMP_3, 0 goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243EB5 end @@ -69,7 +69,7 @@ BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E41:: @ 8243E41 waitmovement 0 msgbox BattleFrontier_BattleTowerMultiBattleRoom_Text_244056, 4 special HealPlayerParty - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 releaseall end @@ -161,7 +161,7 @@ BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F26: @ 8243F26 BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F29:: @ 8243F29 lock faceplayer - setvar VAR_0x4002, 0 + setvar VAR_TEMP_2, 0 goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36 end @@ -246,49 +246,49 @@ BattleFrontier_BattleTowerMultiBattleRoom_Movement_243FF2: @ 8243FF2 BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FFB:: @ 8243FFB lock faceplayer - setvar VAR_0x4002, 1 + setvar VAR_TEMP_2, 1 goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36 end BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244008:: @ 8244008 lock faceplayer - setvar VAR_0x4002, 2 + setvar VAR_TEMP_2, 2 goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36 end BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244015:: @ 8244015 lock faceplayer - setvar VAR_0x4002, 3 + setvar VAR_TEMP_2, 3 goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36 end BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244022:: @ 8244022 lock faceplayer - setvar VAR_0x4002, 4 + setvar VAR_TEMP_2, 4 goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36 end BattleFrontier_BattleTowerMultiBattleRoom_EventScript_24402F:: @ 824402F lock faceplayer - setvar VAR_0x4002, 5 + setvar VAR_TEMP_2, 5 goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36 end BattleFrontier_BattleTowerMultiBattleRoom_EventScript_24403C:: @ 824403C lock faceplayer - setvar VAR_0x4002, 6 + setvar VAR_TEMP_2, 6 goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36 end BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244049:: @ 8244049 lock faceplayer - setvar VAR_0x4002, 7 + setvar VAR_TEMP_2, 7 goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36 end diff --git a/data/scripts/maps/BattleFrontier_Lounge3.inc b/data/scripts/maps/BattleFrontier_Lounge3.inc index 4568dd2c8..2638541b2 100644 --- a/data/scripts/maps/BattleFrontier_Lounge3.inc +++ b/data/scripts/maps/BattleFrontier_Lounge3.inc @@ -57,8 +57,8 @@ BattleFrontier_Lounge3_EventScript_261E46:: @ 8261E46 end BattleFrontier_Lounge3_EventScript_261E51:: @ 8261E51 - specialvar VAR_0x4001, sub_813AA04 - compare VAR_0x4001, VAR_0x8008 + specialvar VAR_TEMP_1, sub_813AA04 + compare VAR_TEMP_1, VAR_0x8008 goto_if 4, BattleFrontier_Lounge3_EventScript_261E75 msgbox BattleFrontier_Lounge3_Text_262B6E, 4 message BattleFrontier_Lounge3_Text_262B42 diff --git a/data/scripts/maps/BattleFrontier_Lounge7.inc b/data/scripts/maps/BattleFrontier_Lounge7.inc index f6f957cae..0b810d4f7 100644 --- a/data/scripts/maps/BattleFrontier_Lounge7.inc +++ b/data/scripts/maps/BattleFrontier_Lounge7.inc @@ -4,7 +4,7 @@ BattleFrontier_Lounge7_MapScripts:: @ 8265254 BattleFrontier_Lounge7_EventScript_265255:: @ 8265255 lock faceplayer - setvar VAR_0x400C, 9 + setvar VAR_TEMP_C, 9 checkflag FLAG_0x15A goto_eq BattleFrontier_Lounge7_EventScript_265276 msgbox BattleFrontier_Lounge7_Text_2656ED, 4 @@ -21,12 +21,12 @@ BattleFrontier_Lounge7_EventScript_265284:: @ 8265284 message BattleFrontier_Lounge7_Text_2658EF waitmessage special sub_813A958 - setvar VAR_0x400E, 0 + setvar VAR_TEMP_E, 0 setvar VAR_0x8004, 9 setvar VAR_0x8006, 0 special sub_813A128 waitstate - copyvar VAR_0x400D, VAR_RESULT + copyvar VAR_TEMP_D, VAR_RESULT switch VAR_RESULT case 0, BattleFrontier_Lounge7_EventScript_2653D7 case 1, BattleFrontier_Lounge7_EventScript_2653E2 @@ -45,12 +45,12 @@ BattleFrontier_Lounge7_EventScript_265284:: @ 8265284 BattleFrontier_Lounge7_EventScript_26532F:: @ 826532F message BattleFrontier_Lounge7_Text_2658EF waitmessage - setvar VAR_0x400E, 0 + setvar VAR_TEMP_E, 0 setvar VAR_0x8004, 9 setvar VAR_0x8006, 1 special sub_813A128 waitstate - copyvar VAR_0x400D, VAR_RESULT + copyvar VAR_TEMP_D, VAR_RESULT switch VAR_RESULT case 0, BattleFrontier_Lounge7_EventScript_2653D7 case 1, BattleFrontier_Lounge7_EventScript_2653E2 @@ -119,7 +119,7 @@ BattleFrontier_Lounge7_EventScript_26543A:: @ 826543A BattleFrontier_Lounge7_EventScript_265445:: @ 8265445 lock faceplayer - setvar VAR_0x400C, 10 + setvar VAR_TEMP_C, 10 checkflag FLAG_0x15B goto_eq BattleFrontier_Lounge7_EventScript_265466 msgbox BattleFrontier_Lounge7_Text_265A6C, 4 @@ -136,12 +136,12 @@ BattleFrontier_Lounge7_EventScript_265474:: @ 8265474 message BattleFrontier_Lounge7_Text_2658EF waitmessage special sub_813A958 - setvar VAR_0x400E, 1 + setvar VAR_TEMP_E, 1 setvar VAR_0x8004, 10 setvar VAR_0x8006, 0 special sub_813A128 waitstate - copyvar VAR_0x400D, VAR_RESULT + copyvar VAR_TEMP_D, VAR_RESULT switch VAR_RESULT case 0, BattleFrontier_Lounge7_EventScript_2655C7 case 1, BattleFrontier_Lounge7_EventScript_2655D2 @@ -160,12 +160,12 @@ BattleFrontier_Lounge7_EventScript_265474:: @ 8265474 BattleFrontier_Lounge7_EventScript_26551F:: @ 826551F message BattleFrontier_Lounge7_Text_2658EF waitmessage - setvar VAR_0x400E, 1 + setvar VAR_TEMP_E, 1 setvar VAR_0x8004, 10 setvar VAR_0x8006, 1 special sub_813A128 waitstate - copyvar VAR_0x400D, VAR_RESULT + copyvar VAR_TEMP_D, VAR_RESULT switch VAR_RESULT case 0, BattleFrontier_Lounge7_EventScript_2655C7 case 1, BattleFrontier_Lounge7_EventScript_2655D2 @@ -244,16 +244,16 @@ BattleFrontier_Lounge7_EventScript_265645:: @ 8265645 end BattleFrontier_Lounge7_EventScript_26564F:: @ 826564F - copyvar VAR_0x8004, VAR_0x400D - copyvar VAR_0x8005, VAR_0x400E + copyvar VAR_0x8004, VAR_TEMP_D + copyvar VAR_0x8005, VAR_TEMP_E special sub_813AC7C buffernumberstring 1, VAR_0x8008 - copyvar VAR_0x8004, VAR_0x400C + copyvar VAR_0x8004, VAR_TEMP_C msgbox BattleFrontier_Lounge7_Text_265921, 5 compare VAR_RESULT, 0 goto_eq BattleFrontier_Lounge7_EventScript_2656CA - specialvar VAR_0x4001, sub_813AA04 - compare VAR_0x4001, VAR_0x8008 + specialvar VAR_TEMP_1, sub_813AA04 + compare VAR_TEMP_1, VAR_0x8008 goto_if 4, BattleFrontier_Lounge7_EventScript_265696 msgbox BattleFrontier_Lounge7_Text_265997, 4 goto BattleFrontier_Lounge7_EventScript_2656CA @@ -276,7 +276,7 @@ BattleFrontier_Lounge7_EventScript_265696:: @ 8265696 end BattleFrontier_Lounge7_EventScript_2656CA:: @ 82656CA - compare VAR_0x400E, 0 + compare VAR_TEMP_E, 0 goto_eq BattleFrontier_Lounge7_EventScript_26532F goto BattleFrontier_Lounge7_EventScript_26551F end diff --git a/data/scripts/maps/BirthIsland_Exterior.inc b/data/scripts/maps/BirthIsland_Exterior.inc index 0435692f4..6fd637461 100644 --- a/data/scripts/maps/BirthIsland_Exterior.inc +++ b/data/scripts/maps/BirthIsland_Exterior.inc @@ -10,7 +10,7 @@ BirthIsland_Exterior_MapScript1_267F25: @ 8267F25 BirthIsland_Exterior_MapScript1_267F29: @ 8267F29 setflag FLAG_0x8D3 - setvar VAR_0x4010, 100 + setvar VAR_OBJ_GFX_ID_0, 100 setvar VAR_0x4034, 0 setvar VAR_0x4035, 0 checkflag FLAG_0x1AD diff --git a/data/scripts/maps/EverGrandeCity.inc b/data/scripts/maps/EverGrandeCity.inc index 1fe66a56c..178621217 100644 --- a/data/scripts/maps/EverGrandeCity.inc +++ b/data/scripts/maps/EverGrandeCity.inc @@ -21,7 +21,7 @@ EverGrandeCity_EventScript_1E7D3D:: @ 81E7D3D EverGrandeCity_EventScript_1E7D46:: @ 81E7D46 setflag FLAG_VISITED_EVER_GRANDE_CITY - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 end EverGrandeCity_Text_1E7D4F: @ 81E7D4F diff --git a/data/scripts/maps/EverGrandeCity_ChampionsRoom.inc b/data/scripts/maps/EverGrandeCity_ChampionsRoom.inc index f8dab1f3b..71410a43f 100644 --- a/data/scripts/maps/EverGrandeCity_ChampionsRoom.inc +++ b/data/scripts/maps/EverGrandeCity_ChampionsRoom.inc @@ -9,7 +9,7 @@ EverGrandeCity_ChampionsRoom_MapScript1_2289FF: @ 82289FF end EverGrandeCity_ChampionsRoom_MapScript2_228A05: @ 8228A05 - map_script_2 VAR_0x4001, 0, EverGrandeCity_ChampionsRoom_EventScript_228A0F + map_script_2 VAR_TEMP_1, 0, EverGrandeCity_ChampionsRoom_EventScript_228A0F .2byte 0 EverGrandeCity_ChampionsRoom_EventScript_228A0F:: @ 8228A0F @@ -17,7 +17,7 @@ EverGrandeCity_ChampionsRoom_EventScript_228A0F:: @ 8228A0F end EverGrandeCity_ChampionsRoom_MapScript2_228A14: @ 8228A14 - map_script_2 VAR_0x4001, 0, EverGrandeCity_ChampionsRoom_EventScript_228A1E + map_script_2 VAR_TEMP_1, 0, EverGrandeCity_ChampionsRoom_EventScript_228A1E .2byte 0 EverGrandeCity_ChampionsRoom_EventScript_228A1E:: @ 8228A1E @@ -27,7 +27,7 @@ EverGrandeCity_ChampionsRoom_EventScript_228A1E:: @ 8228A1E delay 40 applymovement 255, EverGrandeCity_ChampionsRoom_Movement_228A42 waitmovement 0 - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 goto EverGrandeCity_ChampionsRoom_EventScript_228A45 releaseall end diff --git a/data/scripts/maps/EverGrandeCity_DrakesRoom.inc b/data/scripts/maps/EverGrandeCity_DrakesRoom.inc index a5274bbe5..4c90417af 100644 --- a/data/scripts/maps/EverGrandeCity_DrakesRoom.inc +++ b/data/scripts/maps/EverGrandeCity_DrakesRoom.inc @@ -5,7 +5,7 @@ EverGrandeCity_DrakesRoom_MapScripts:: @ 822869C .byte 0 EverGrandeCity_DrakesRoom_MapScript2_2286AC: @ 82286AC - map_script_2 VAR_0x4001, 0, EverGrandeCity_DrakesRoom_EventScript_2286B6 + map_script_2 VAR_TEMP_1, 0, EverGrandeCity_DrakesRoom_EventScript_2286B6 .2byte 0 EverGrandeCity_DrakesRoom_EventScript_2286B6:: @ 82286B6 diff --git a/data/scripts/maps/EverGrandeCity_GlaciasRoom.inc b/data/scripts/maps/EverGrandeCity_GlaciasRoom.inc index e05b82e2e..f1d846f03 100644 --- a/data/scripts/maps/EverGrandeCity_GlaciasRoom.inc +++ b/data/scripts/maps/EverGrandeCity_GlaciasRoom.inc @@ -5,7 +5,7 @@ EverGrandeCity_GlaciasRoom_MapScripts:: @ 8228412 .byte 0 EverGrandeCity_GlaciasRoom_MapScript2_228422: @ 8228422 - map_script_2 VAR_0x4001, 0, EverGrandeCity_GlaciasRoom_EventScript_22842C + map_script_2 VAR_TEMP_1, 0, EverGrandeCity_GlaciasRoom_EventScript_22842C .2byte 0 EverGrandeCity_GlaciasRoom_EventScript_22842C:: @ 822842C diff --git a/data/scripts/maps/EverGrandeCity_Hall1.inc b/data/scripts/maps/EverGrandeCity_Hall1.inc index 9a570e6e0..960918662 100644 --- a/data/scripts/maps/EverGrandeCity_Hall1.inc +++ b/data/scripts/maps/EverGrandeCity_Hall1.inc @@ -3,7 +3,7 @@ EverGrandeCity_Hall1_MapScripts:: @ 8229569 .byte 0 EverGrandeCity_Hall1_MapScript2_22956F: @ 822956F - map_script_2 VAR_0x4001, 0, EverGrandeCity_Hall1_EventScript_229579 + map_script_2 VAR_TEMP_1, 0, EverGrandeCity_Hall1_EventScript_229579 .2byte 0 EverGrandeCity_Hall1_EventScript_229579:: @ 8229579 diff --git a/data/scripts/maps/EverGrandeCity_Hall2.inc b/data/scripts/maps/EverGrandeCity_Hall2.inc index e6bed41c8..1d76e3695 100644 --- a/data/scripts/maps/EverGrandeCity_Hall2.inc +++ b/data/scripts/maps/EverGrandeCity_Hall2.inc @@ -3,7 +3,7 @@ EverGrandeCity_Hall2_MapScripts:: @ 822957E .byte 0 EverGrandeCity_Hall2_MapScript2_229584: @ 8229584 - map_script_2 VAR_0x4001, 0, EverGrandeCity_Hall2_EventScript_22958E + map_script_2 VAR_TEMP_1, 0, EverGrandeCity_Hall2_EventScript_22958E .2byte 0 EverGrandeCity_Hall2_EventScript_22958E:: @ 822958E diff --git a/data/scripts/maps/EverGrandeCity_Hall3.inc b/data/scripts/maps/EverGrandeCity_Hall3.inc index 505a9f6ac..a100487f5 100644 --- a/data/scripts/maps/EverGrandeCity_Hall3.inc +++ b/data/scripts/maps/EverGrandeCity_Hall3.inc @@ -3,7 +3,7 @@ EverGrandeCity_Hall3_MapScripts:: @ 8229593 .byte 0 EverGrandeCity_Hall3_MapScript2_229599: @ 8229599 - map_script_2 VAR_0x4001, 0, EverGrandeCity_Hall3_EventScript_2295A3 + map_script_2 VAR_TEMP_1, 0, EverGrandeCity_Hall3_EventScript_2295A3 .2byte 0 EverGrandeCity_Hall3_EventScript_2295A3:: @ 82295A3 diff --git a/data/scripts/maps/EverGrandeCity_Hall4.inc b/data/scripts/maps/EverGrandeCity_Hall4.inc index bae904c35..a7c730594 100644 --- a/data/scripts/maps/EverGrandeCity_Hall4.inc +++ b/data/scripts/maps/EverGrandeCity_Hall4.inc @@ -3,7 +3,7 @@ EverGrandeCity_Hall4_MapScripts:: @ 82295A8 .byte 0 EverGrandeCity_Hall4_MapScript2_2295AE: @ 82295AE - map_script_2 VAR_0x4001, 0, EverGrandeCity_Hall4_EventScript_2295B8 + map_script_2 VAR_TEMP_1, 0, EverGrandeCity_Hall4_EventScript_2295B8 .2byte 0 EverGrandeCity_Hall4_EventScript_2295B8:: @ 82295B8 diff --git a/data/scripts/maps/EverGrandeCity_Hall5.inc b/data/scripts/maps/EverGrandeCity_Hall5.inc index cc987a4cf..9ca9991e4 100644 --- a/data/scripts/maps/EverGrandeCity_Hall5.inc +++ b/data/scripts/maps/EverGrandeCity_Hall5.inc @@ -3,7 +3,7 @@ EverGrandeCity_Hall5_MapScripts:: @ 82295BD .byte 0 EverGrandeCity_Hall5_MapScript2_2295C3: @ 82295C3 - map_script_2 VAR_0x4001, 0, EverGrandeCity_Hall5_EventScript_2295CD + map_script_2 VAR_TEMP_1, 0, EverGrandeCity_Hall5_EventScript_2295CD .2byte 0 EverGrandeCity_Hall5_EventScript_2295CD:: @ 82295CD diff --git a/data/scripts/maps/EverGrandeCity_HallOfFame.inc b/data/scripts/maps/EverGrandeCity_HallOfFame.inc index 5cb4ee7fd..de29dca0f 100644 --- a/data/scripts/maps/EverGrandeCity_HallOfFame.inc +++ b/data/scripts/maps/EverGrandeCity_HallOfFame.inc @@ -4,7 +4,7 @@ EverGrandeCity_HallOfFame_MapScripts:: @ 822982C .byte 0 EverGrandeCity_HallOfFame_MapScript2_229837: @ 8229837 - map_script_2 VAR_0x4001, 0, EverGrandeCity_HallOfFame_EventScript_229841 + map_script_2 VAR_TEMP_1, 0, EverGrandeCity_HallOfFame_EventScript_229841 .2byte 0 EverGrandeCity_HallOfFame_EventScript_229841:: @ 8229841 @@ -12,7 +12,7 @@ EverGrandeCity_HallOfFame_EventScript_229841:: @ 8229841 end EverGrandeCity_HallOfFame_MapScript2_229846: @ 8229846 - map_script_2 VAR_0x4001, 0, EverGrandeCity_HallOfFame_EventScript_229850 + map_script_2 VAR_TEMP_1, 0, EverGrandeCity_HallOfFame_EventScript_229850 .2byte 0 EverGrandeCity_HallOfFame_EventScript_229850:: @ 8229850 @@ -41,7 +41,7 @@ EverGrandeCity_HallOfFame_EventScript_229850:: @ 8229850 dofieldeffect 62 waitfieldeffect 62 delay 40 - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 call EverGrandeCity_HallOfFame_EventScript_2717C1 checkplayergender compare VAR_RESULT, 0 diff --git a/data/scripts/maps/EverGrandeCity_PhoebesRoom.inc b/data/scripts/maps/EverGrandeCity_PhoebesRoom.inc index b838cc25b..679e4f663 100644 --- a/data/scripts/maps/EverGrandeCity_PhoebesRoom.inc +++ b/data/scripts/maps/EverGrandeCity_PhoebesRoom.inc @@ -5,7 +5,7 @@ EverGrandeCity_PhoebesRoom_MapScripts:: @ 8228174 .byte 0 EverGrandeCity_PhoebesRoom_MapScript2_228184: @ 8228184 - map_script_2 VAR_0x4001, 0, EverGrandeCity_PhoebesRoom_EventScript_22818E + map_script_2 VAR_TEMP_1, 0, EverGrandeCity_PhoebesRoom_EventScript_22818E .2byte 0 EverGrandeCity_PhoebesRoom_EventScript_22818E:: @ 822818E diff --git a/data/scripts/maps/EverGrandeCity_PokemonLeague_1F.inc b/data/scripts/maps/EverGrandeCity_PokemonLeague_1F.inc index 0a174bf0c..4fd73b3bf 100644 --- a/data/scripts/maps/EverGrandeCity_PokemonLeague_1F.inc +++ b/data/scripts/maps/EverGrandeCity_PokemonLeague_1F.inc @@ -50,10 +50,10 @@ EverGrandeCity_PokemonLeague_1F_EventScript_229636:: @ 8229636 lockall checkflag FLAG_0x107 goto_eq EverGrandeCity_PokemonLeague_1F_EventScript_2296BB - getplayerxy VAR_0x4000, VAR_0x4001 - compare VAR_0x4000, 11 + getplayerxy VAR_TEMP_0, VAR_TEMP_1 + compare VAR_TEMP_0, 11 call_if 4, EverGrandeCity_PokemonLeague_1F_EventScript_229698 - compare VAR_0x4000, 8 + compare VAR_TEMP_0, 8 call_if 3, EverGrandeCity_PokemonLeague_1F_EventScript_2296A3 message EverGrandeCity_PokemonLeague_1F_Text_2296E8 waitmessage diff --git a/data/scripts/maps/EverGrandeCity_SidneysRoom.inc b/data/scripts/maps/EverGrandeCity_SidneysRoom.inc index 46c471e4e..b2db55e36 100644 --- a/data/scripts/maps/EverGrandeCity_SidneysRoom.inc +++ b/data/scripts/maps/EverGrandeCity_SidneysRoom.inc @@ -27,7 +27,7 @@ EverGrandeCity_SidneysRoom_EventScript_227F38:: @ 8227F38 EverGrandeCity_DrakesRoom_MapScript2_227F3E: @ 8227F3E EverGrandeCity_SidneysRoom_MapScript2_227F3E: @ 8227F3E - map_script_2 VAR_0x4001, 0, EverGrandeCity_SidneysRoom_EventScript_227F48 + map_script_2 VAR_TEMP_1, 0, EverGrandeCity_SidneysRoom_EventScript_227F48 .2byte 0 EverGrandeCity_SidneysRoom_EventScript_227F48:: @ 8227F48 diff --git a/data/scripts/maps/FallarborTown_BattleTentBattleRoom.inc b/data/scripts/maps/FallarborTown_BattleTentBattleRoom.inc index 16cb9fff5..f6750009d 100644 --- a/data/scripts/maps/FallarborTown_BattleTentBattleRoom.inc +++ b/data/scripts/maps/FallarborTown_BattleTentBattleRoom.inc @@ -17,17 +17,17 @@ FallarborTown_BattleTentBattleRoom_EventScript_2008AF:: @ 82008AF return FallarborTown_BattleTentBattleRoom_EventScript_2008C7:: @ 82008C7 - setvar VAR_0x4011, 100 - setvar VAR_0x4010, 100 + setvar VAR_OBJ_GFX_ID_1, 100 + setvar VAR_OBJ_GFX_ID_0, 100 return FallarborTown_BattleTentBattleRoom_EventScript_2008D2:: @ 82008D2 - setvar VAR_0x4011, 105 - setvar VAR_0x4010, 105 + setvar VAR_OBJ_GFX_ID_1, 105 + setvar VAR_OBJ_GFX_ID_0, 105 return FallarborTown_BattleTentBattleRoom_MapScript2_2008DD: @ 82008DD - map_script_2 VAR_0x4000, 0, FallarborTown_BattleTentBattleRoom_EventScript_2008E7 + map_script_2 VAR_TEMP_0, 0, FallarborTown_BattleTentBattleRoom_EventScript_2008E7 .2byte 0 FallarborTown_BattleTentBattleRoom_EventScript_2008E7:: @ 82008E7 @@ -256,13 +256,13 @@ FallarborTown_BattleTentBattleRoom_Movement_200BAB: @ 8200BAB step_end FallarborTown_BattleTentBattleRoom_MapScript2_200BB0: @ 8200BB0 - map_script_2 VAR_0x4001, 0, FallarborTown_BattleTentBattleRoom_EventScript_200BBA + map_script_2 VAR_TEMP_1, 0, FallarborTown_BattleTentBattleRoom_EventScript_200BBA .2byte 0 FallarborTown_BattleTentBattleRoom_EventScript_200BBA:: @ 8200BBA hideobjectat 255, FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM hideobjectat 1, FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM removeobject 3 - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 end diff --git a/data/scripts/maps/FallarborTown_BattleTentCorridor.inc b/data/scripts/maps/FallarborTown_BattleTentCorridor.inc index d413e4ec6..1325b0332 100644 --- a/data/scripts/maps/FallarborTown_BattleTentCorridor.inc +++ b/data/scripts/maps/FallarborTown_BattleTentCorridor.inc @@ -3,12 +3,12 @@ FallarborTown_BattleTentCorridor_MapScripts:: @ 82006A7 .byte 0 FallarborTown_BattleTentCorridor_MapScript2_2006AD: @ 82006AD - map_script_2 VAR_0x4000, 0, FallarborTown_BattleTentCorridor_EventScript_2006B7 + map_script_2 VAR_TEMP_0, 0, FallarborTown_BattleTentCorridor_EventScript_2006B7 .2byte 0 FallarborTown_BattleTentCorridor_EventScript_2006B7:: @ 82006B7 lockall - setvar VAR_0x4000, 1 + setvar VAR_TEMP_0, 1 applymovement 1, FallarborTown_BattleTentCorridor_Movement_2006FB applymovement 255, FallarborTown_BattleTentCorridor_Movement_2006FB waitmovement 0 diff --git a/data/scripts/maps/FallarborTown_BattleTentLobby.inc b/data/scripts/maps/FallarborTown_BattleTentLobby.inc index 78a067a55..327221120 100644 --- a/data/scripts/maps/FallarborTown_BattleTentLobby.inc +++ b/data/scripts/maps/FallarborTown_BattleTentLobby.inc @@ -4,20 +4,20 @@ FallarborTown_BattleTentLobby_MapScripts:: @ 81FFE66 .byte 0 FallarborTown_BattleTentLobby_MapScript2_1FFE71: @ 81FFE71 - map_script_2 VAR_0x4001, 0, FallarborTown_BattleTentLobby_EventScript_1FFE7B + map_script_2 VAR_TEMP_1, 0, FallarborTown_BattleTentLobby_EventScript_1FFE7B .2byte 0 FallarborTown_BattleTentLobby_EventScript_1FFE7B:: @ 81FFE7B - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 turnobject 255, 2 end FallarborTown_BattleTentLobby_MapScript2_1FFE85: @ 81FFE85 - map_script_2 VAR_0x4000, 0, FallarborTown_BattleTentLobby_EventScript_1FFEAF - map_script_2 VAR_0x4000, 1, FallarborTown_BattleTentLobby_EventScript_1FFEB8 - map_script_2 VAR_0x4000, 2, FallarborTown_BattleTentLobby_EventScript_1FFFCD - map_script_2 VAR_0x4000, 3, FallarborTown_BattleTentLobby_EventScript_1FFEED - map_script_2 VAR_0x4000, 4, FallarborTown_BattleTentLobby_EventScript_1FFF93 + map_script_2 VAR_TEMP_0, 0, FallarborTown_BattleTentLobby_EventScript_1FFEAF + map_script_2 VAR_TEMP_0, 1, FallarborTown_BattleTentLobby_EventScript_1FFEB8 + map_script_2 VAR_TEMP_0, 2, FallarborTown_BattleTentLobby_EventScript_1FFFCD + map_script_2 VAR_TEMP_0, 3, FallarborTown_BattleTentLobby_EventScript_1FFEED + map_script_2 VAR_TEMP_0, 4, FallarborTown_BattleTentLobby_EventScript_1FFF93 .2byte 0 FallarborTown_BattleTentLobby_EventScript_1FFEAF:: @ 81FFEAF @@ -33,7 +33,7 @@ FallarborTown_BattleTentLobby_EventScript_1FFEB8:: @ 81FFEB8 setvar VAR_0x8005, 0 setvar VAR_0x8006, 0 special sub_81A1780 - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 setvar VAR_0x8004, 2 setvar VAR_0x8005, 1 setvar VAR_0x8006, 0 @@ -74,7 +74,7 @@ FallarborTown_BattleTentLobby_EventScript_1FFF27:: @ 81FFF27 waitfanfare msgbox FallarborTown_BattleTentLobby_Text_2C501F, 4 closemessage - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 releaseall end @@ -82,7 +82,7 @@ FallarborTown_BattleTentLobby_EventScript_1FFF73:: @ 81FFF73 msgbox FallarborTown_BattleTentLobby_Text_2C4F83, 4 waitmessage closemessage - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 releaseall end @@ -107,7 +107,7 @@ FallarborTown_BattleTentLobby_EventScript_1FFF93:: @ 81FFF93 waitse msgbox FallarborTown_BattleTentLobby_Text_2C501F, 4 closemessage - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 releaseall end @@ -124,7 +124,7 @@ FallarborTown_BattleTentLobby_EventScript_1FFFCD:: @ 81FFFCD setvar VAR_0x8005, 3 setvar VAR_0x8006, 0 special sub_81A1780 - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 goto FallarborTown_BattleTentLobby_EventScript_20013C FallarborTown_BattleTentLobby_EventScript_200001:: @ 8200001 @@ -174,7 +174,7 @@ FallarborTown_BattleTentLobby_EventScript_20005D:: @ 820005D case 127, FallarborTown_BattleTentLobby_EventScript_2001C2 FallarborTown_BattleTentLobby_EventScript_2000E2:: @ 82000E2 - setvar VAR_0x4000, 0 + setvar VAR_TEMP_0, 0 setvar VAR_0x8004, 2 setvar VAR_0x8005, 4 special sub_81A1780 @@ -192,7 +192,7 @@ FallarborTown_BattleTentLobby_EventScript_2000E2:: @ 82000E2 closemessage delay 2 call FallarborTown_BattleTentLobby_EventScript_27134F - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 compare VAR_RESULT, 0 goto_eq FallarborTown_BattleTentLobby_EventScript_2001AB @@ -205,7 +205,7 @@ FallarborTown_BattleTentLobby_EventScript_20013C:: @ 820013C closemessage call FallarborTown_BattleTentLobby_EventScript_2001CF warp FALLARBOR_TOWN_BATTLE_TENT_CORRIDOR, 255, 2, 7 - setvar VAR_0x4000, 0 + setvar VAR_TEMP_0, 0 waitstate end diff --git a/data/scripts/maps/FarawayIsland_Interior.inc b/data/scripts/maps/FarawayIsland_Interior.inc index 23bdac560..42b18983f 100644 --- a/data/scripts/maps/FarawayIsland_Interior.inc +++ b/data/scripts/maps/FarawayIsland_Interior.inc @@ -41,7 +41,7 @@ FarawayIsland_Interior_EventScript_267D5E:: @ 8267D5E FarawayIsland_Interior_MapScript1_267D72: @ 8267D72 setvar VAR_0x403A, 0 - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 checkflag FLAG_0x1CA call_if 0, FarawayIsland_Interior_EventScript_267D86 end @@ -50,11 +50,11 @@ FarawayIsland_Interior_EventScript_267D86:: @ 8267D86 checkflag FLAG_0x1C7 goto_eq FarawayIsland_Interior_EventScript_27374E clearflag FLAG_0x2CE - setvar VAR_0x4001, 0 + setvar VAR_TEMP_1, 0 return FarawayIsland_Interior_MapScript2_267D98: @ 8267D98 - map_script_2 VAR_0x4001, 0, FarawayIsland_Interior_EventScript_267DA2 + map_script_2 VAR_TEMP_1, 0, FarawayIsland_Interior_EventScript_267DA2 .2byte 0 FarawayIsland_Interior_EventScript_267DA2:: @ 8267DA2 @@ -67,7 +67,7 @@ FarawayIsland_Interior_EventScript_267DA2:: @ 8267DA2 applymovement 1, FarawayIsland_Interior_Movement_267DCE waitmovement 0 moveobjectoffscreen 1 - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 releaseall end diff --git a/data/scripts/maps/FortreeCity_Gym.inc b/data/scripts/maps/FortreeCity_Gym.inc index b8b800286..1b1100cf3 100644 --- a/data/scripts/maps/FortreeCity_Gym.inc +++ b/data/scripts/maps/FortreeCity_Gym.inc @@ -8,7 +8,7 @@ FortreeCity_Gym_MapScript1_2165B6: @ 82165B6 end FortreeCity_Gym_MapScript2_2165BA: @ 82165BA - map_script_2 VAR_0x4000, 16384, FortreeCity_Gym_EventScript_2165C4 + map_script_2 VAR_TEMP_0, 16384, FortreeCity_Gym_EventScript_2165C4 .2byte 0 FortreeCity_Gym_EventScript_2165C4:: @ 82165C4 diff --git a/data/scripts/maps/LavaridgeTown_Gym_1F.inc b/data/scripts/maps/LavaridgeTown_Gym_1F.inc index cd34c3d81..1d317d43b 100644 --- a/data/scripts/maps/LavaridgeTown_Gym_1F.inc +++ b/data/scripts/maps/LavaridgeTown_Gym_1F.inc @@ -8,29 +8,29 @@ LavaridgeTown_Gym_1F_MapScript1_1FE6FA: @ 81FE6FA end LavaridgeTown_Gym_1F_EventScript_1FE705:: @ 81FE705 - setvar VAR_0x400B, 0 - setvar VAR_0x400C, 0 - setvar VAR_0x400D, 0 - setvar VAR_0x400E, 0 - setvar VAR_0x400F, 0 + setvar VAR_TEMP_B, 0 + setvar VAR_TEMP_C, 0 + setvar VAR_TEMP_D, 0 + setvar VAR_TEMP_E, 0 + setvar VAR_TEMP_F, 0 checktrainerflag TRAINER_COLE goto_eq LavaridgeTown_Gym_1F_EventScript_1FE72C - setvar VAR_0x400B, 1 + setvar VAR_TEMP_B, 1 LavaridgeTown_Gym_1F_EventScript_1FE72C:: @ 81FE72C checktrainerflag TRAINER_GERALD goto_eq LavaridgeTown_Gym_1F_EventScript_1FE73A - setvar VAR_0x400C, 1 + setvar VAR_TEMP_C, 1 LavaridgeTown_Gym_1F_EventScript_1FE73A:: @ 81FE73A checktrainerflag TRAINER_AXLE goto_eq LavaridgeTown_Gym_1F_EventScript_1FE748 - setvar VAR_0x400D, 1 + setvar VAR_TEMP_D, 1 LavaridgeTown_Gym_1F_EventScript_1FE748:: @ 81FE748 checktrainerflag TRAINER_DANIELLE goto_eq LavaridgeTown_Gym_1F_EventScript_1FE756 - setvar VAR_0x400E, 1 + setvar VAR_TEMP_E, 1 LavaridgeTown_Gym_1F_EventScript_1FE756:: @ 81FE756 return diff --git a/data/scripts/maps/LavaridgeTown_Gym_B1F.inc b/data/scripts/maps/LavaridgeTown_Gym_B1F.inc index 88b0e66e7..ad2be83ea 100644 --- a/data/scripts/maps/LavaridgeTown_Gym_B1F.inc +++ b/data/scripts/maps/LavaridgeTown_Gym_B1F.inc @@ -8,28 +8,28 @@ LavaridgeTown_Gym_B1F_MapScript1_1FF884: @ 81FF884 end LavaridgeTown_Gym_B1F_EventScript_1FF88F:: @ 81FF88F - setvar VAR_0x4007, 0 - setvar VAR_0x4008, 0 - setvar VAR_0x4009, 0 - setvar VAR_0x400A, 0 + setvar VAR_TEMP_7, 0 + setvar VAR_TEMP_8, 0 + setvar VAR_TEMP_9, 0 + setvar VAR_TEMP_A, 0 checktrainerflag TRAINER_KEEGAN goto_eq LavaridgeTown_Gym_B1F_EventScript_1FF8B1 - setvar VAR_0x4007, 1 + setvar VAR_TEMP_7, 1 LavaridgeTown_Gym_B1F_EventScript_1FF8B1:: @ 81FF8B1 checktrainerflag TRAINER_JACE goto_eq LavaridgeTown_Gym_B1F_EventScript_1FF8BF - setvar VAR_0x4008, 1 + setvar VAR_TEMP_8, 1 LavaridgeTown_Gym_B1F_EventScript_1FF8BF:: @ 81FF8BF checktrainerflag TRAINER_JEFF goto_eq LavaridgeTown_Gym_B1F_EventScript_1FF8CD - setvar VAR_0x4009, 1 + setvar VAR_TEMP_9, 1 LavaridgeTown_Gym_B1F_EventScript_1FF8CD:: @ 81FF8CD checktrainerflag TRAINER_ELI goto_eq LavaridgeTown_Gym_B1F_EventScript_1FF8DB - setvar VAR_0x400A, 1 + setvar VAR_TEMP_A, 1 LavaridgeTown_Gym_B1F_EventScript_1FF8DB:: @ 81FF8DB return diff --git a/data/scripts/maps/LilycoveCity_ContestLobby.inc b/data/scripts/maps/LilycoveCity_ContestLobby.inc index 4a7279fb2..1c4d21970 100644 --- a/data/scripts/maps/LilycoveCity_ContestLobby.inc +++ b/data/scripts/maps/LilycoveCity_ContestLobby.inc @@ -649,7 +649,7 @@ LilycoveCity_ContestLobby_EventScript_21A856:: @ 821A856 goto_eq LilycoveCity_ContestLobby_EventScript_21A97F message LilycoveCity_ContestLobby_Text_27C8FD waitmessage - specialvar VAR_0x400D, sub_80093CC + specialvar VAR_TEMP_D, sub_80093CC multichoice 0, 0, 85, 0 switch VAR_RESULT case 0, LilycoveCity_ContestLobby_EventScript_21A8BB @@ -659,13 +659,13 @@ LilycoveCity_ContestLobby_EventScript_21A856:: @ 821A856 end LilycoveCity_ContestLobby_EventScript_21A8BB:: @ 821A8BB - setvar VAR_0x400C, 0 + setvar VAR_TEMP_C, 0 goto LilycoveCity_ContestLobby_EventScript_21A8DC end LilycoveCity_ContestLobby_EventScript_21A8C6:: @ 821A8C6 - setvar VAR_0x400C, 1 - compare VAR_0x400D, 1 + setvar VAR_TEMP_C, 1 + compare VAR_TEMP_D, 1 goto_eq LilycoveCity_ContestLobby_EventScript_21AAFC goto LilycoveCity_ContestLobby_EventScript_21A8DC end @@ -754,18 +754,18 @@ LilycoveCity_ContestLobby_EventScript_21AA0A:: @ 821AA0A end LilycoveCity_ContestLobby_EventScript_21AA15:: @ 821AA15 - compare VAR_0x400D, 1 + compare VAR_TEMP_D, 1 goto_eq LilycoveCity_ContestLobby_EventScript_21AB4B - compare VAR_0x400D, 2 + compare VAR_TEMP_D, 2 goto_if 4, LilycoveCity_ContestLobby_EventScript_21A97F message LilycoveCity_ContestLobby_Text_27BF85 waitmessage copyvar VAR_0x8004, VAR_RESULT - compare VAR_0x400C, 0 + compare VAR_TEMP_C, 0 call_if 1, LilycoveCity_ContestLobby_EventScript_21AABB - compare VAR_0x400C, 1 + compare VAR_TEMP_C, 1 call_if 1, LilycoveCity_ContestLobby_EventScript_21AAC0 - compare VAR_0x400C, 2 + compare VAR_TEMP_C, 2 goto_if 4, LilycoveCity_ContestLobby_EventScript_21A97F compare VAR_RESULT, 4 goto_eq LilycoveCity_ContestLobby_EventScript_21AAD3 diff --git a/data/scripts/maps/LilycoveCity_DepartmentStoreRooftop.inc b/data/scripts/maps/LilycoveCity_DepartmentStoreRooftop.inc index e38f3a276..da97bbf81 100644 --- a/data/scripts/maps/LilycoveCity_DepartmentStoreRooftop.inc +++ b/data/scripts/maps/LilycoveCity_DepartmentStoreRooftop.inc @@ -77,8 +77,8 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_220295:: @ 8220295 LilycoveCity_DepartmentStoreRooftop_EventScript_2202A6:: @ 82202A6 multichoice 16, 0, 42, 0 - copyvar VAR_0x4001, VAR_RESULT - switch VAR_0x4001 + copyvar VAR_TEMP_1, VAR_RESULT + switch VAR_TEMP_1 case 0, LilycoveCity_DepartmentStoreRooftop_EventScript_2202E4 case 1, LilycoveCity_DepartmentStoreRooftop_EventScript_2202EF case 2, LilycoveCity_DepartmentStoreRooftop_EventScript_2202FA @@ -87,17 +87,17 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_2202A6:: @ 82202A6 end LilycoveCity_DepartmentStoreRooftop_EventScript_2202E4:: @ 82202E4 - setvar VAR_0x4000, 26 + setvar VAR_TEMP_0, 26 goto LilycoveCity_DepartmentStoreRooftop_EventScript_22032F end LilycoveCity_DepartmentStoreRooftop_EventScript_2202EF:: @ 82202EF - setvar VAR_0x4000, 27 + setvar VAR_TEMP_0, 27 goto LilycoveCity_DepartmentStoreRooftop_EventScript_22032F end LilycoveCity_DepartmentStoreRooftop_EventScript_2202FA:: @ 82202FA - setvar VAR_0x4000, 28 + setvar VAR_TEMP_0, 28 goto LilycoveCity_DepartmentStoreRooftop_EventScript_22032F end @@ -126,54 +126,54 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_220328:: @ 8220328 return LilycoveCity_DepartmentStoreRooftop_EventScript_22032F:: @ 822032F - compare VAR_0x4001, 0 + compare VAR_TEMP_1, 0 call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_220305 - compare VAR_0x4001, 1 + compare VAR_TEMP_1, 1 call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_22030C - compare VAR_0x4001, 2 + compare VAR_TEMP_1, 2 call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_220313 compare VAR_RESULT, 0 goto_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220442 - checkitemspace VAR_0x4000, 1 + checkitemspace VAR_TEMP_0, 1 compare VAR_RESULT, 0 goto_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220450 - compare VAR_0x4001, 0 + compare VAR_TEMP_1, 0 call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_22031A - compare VAR_0x4001, 1 + compare VAR_TEMP_1, 1 call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_220321 - compare VAR_0x4001, 2 + compare VAR_TEMP_1, 2 call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_220328 updatemoneybox 0, 0 nop - bufferitemname 0, VAR_0x4000 + bufferitemname 0, VAR_TEMP_0 playse SE_JIHANKI msgbox LilycoveCity_DepartmentStoreRooftop_Text_2205A1, 4 - giveitem VAR_0x4000, 1 - bufferitemname 1, VAR_0x4000 + giveitem VAR_TEMP_0, 1 + bufferitemname 1, VAR_TEMP_0 bufferstdstring 2, 14 msgbox gUnknown_08272A9A, 4 random 64 compare VAR_RESULT, 0 goto_if 5, LilycoveCity_DepartmentStoreRooftop_EventScript_220436 - checkitemspace VAR_0x4000, 1 + checkitemspace VAR_TEMP_0, 1 compare VAR_RESULT, 0 goto_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220450 playse SE_JIHANKI msgbox LilycoveCity_DepartmentStoreRooftop_Text_2205C2, 4 - giveitem VAR_0x4000, 1 - bufferitemname 1, VAR_0x4000 + giveitem VAR_TEMP_0, 1 + bufferitemname 1, VAR_TEMP_0 bufferstdstring 2, 14 msgbox gUnknown_08272A9A, 4 random 64 compare VAR_RESULT, 0 goto_if 5, LilycoveCity_DepartmentStoreRooftop_EventScript_220436 - checkitemspace VAR_0x4000, 1 + checkitemspace VAR_TEMP_0, 1 compare VAR_RESULT, 0 goto_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220450 playse SE_JIHANKI msgbox LilycoveCity_DepartmentStoreRooftop_Text_2205C2, 4 - giveitem VAR_0x4000, 1 - bufferitemname 1, VAR_0x4000 + giveitem VAR_TEMP_0, 1 + bufferitemname 1, VAR_TEMP_0 bufferstdstring 2, 14 msgbox gUnknown_08272A9A, 4 goto LilycoveCity_DepartmentStoreRooftop_EventScript_220436 diff --git a/data/scripts/maps/LilycoveCity_Harbor.inc b/data/scripts/maps/LilycoveCity_Harbor.inc index 7f0e41d03..f57ca14b5 100644 --- a/data/scripts/maps/LilycoveCity_Harbor.inc +++ b/data/scripts/maps/LilycoveCity_Harbor.inc @@ -17,23 +17,23 @@ LilycoveCity_Harbor_EventScript_21E00F:: @ 821E00F call LilycoveCity_Harbor_EventScript_21E22A call LilycoveCity_Harbor_EventScript_21E25C call LilycoveCity_Harbor_EventScript_21E2A6 - compare VAR_0x400C, 2 + compare VAR_TEMP_C, 2 goto_eq LilycoveCity_Harbor_EventScript_21E350 - compare VAR_0x400B, 1 + compare VAR_TEMP_B, 1 goto_eq LilycoveCity_Harbor_EventScript_21E2F0 - compare VAR_0x400B, 2 + compare VAR_TEMP_B, 2 goto_eq LilycoveCity_Harbor_EventScript_21E320 - compare VAR_0x400B, 4 + compare VAR_TEMP_B, 4 goto_eq LilycoveCity_Harbor_EventScript_21E350 - compare VAR_0x400B, 8 + compare VAR_TEMP_B, 8 goto_eq LilycoveCity_Harbor_EventScript_21E41D - compare VAR_0x400B, 0 + compare VAR_TEMP_B, 0 goto_if 5, LilycoveCity_Harbor_EventScript_21E44D goto LilycoveCity_Harbor_EventScript_21E080 end LilycoveCity_Harbor_EventScript_21E080:: @ 821E080 - compare VAR_0x400A, 0 + compare VAR_TEMP_A, 0 goto_eq LilycoveCity_Harbor_EventScript_21E557 msgbox LilycoveCity_Harbor_Text_21E758, 4 message LilycoveCity_Harbor_Text_21E7ED @@ -107,111 +107,111 @@ LilycoveCity_Harbor_EventScript_21E171:: @ 821E171 end LilycoveCity_Harbor_EventScript_21E194:: @ 821E194 - setvar VAR_0x400E, 0 + setvar VAR_TEMP_E, 0 checkflag FLAG_SYS_HAS_EON_TICKET goto_if 0, LilycoveCity_Harbor_EventScript_27374E checkitem ITEM_EON_TICKET, 1 compare VAR_RESULT, 0 goto_eq LilycoveCity_Harbor_EventScript_27374E - setvar VAR_0x400E, 1 + setvar VAR_TEMP_E, 1 checkflag FLAG_0x1AE goto_eq LilycoveCity_Harbor_EventScript_27374E - setvar VAR_0x400E, 2 + setvar VAR_TEMP_E, 2 return LilycoveCity_Harbor_EventScript_21E1C6:: @ 821E1C6 - setvar VAR_0x400D, 0 + setvar VAR_TEMP_D, 0 checkflag FLAG_0x8D5 goto_if 0, LilycoveCity_Harbor_EventScript_27374E checkitem ITEM_AURORA_TICKET, 1 compare VAR_RESULT, 0 goto_eq LilycoveCity_Harbor_EventScript_27374E - setvar VAR_0x400D, 1 + setvar VAR_TEMP_D, 1 checkflag FLAG_0x1AF goto_eq LilycoveCity_Harbor_EventScript_27374E - setvar VAR_0x400D, 2 + setvar VAR_TEMP_D, 2 return LilycoveCity_Harbor_EventScript_21E1F8:: @ 821E1F8 - setvar VAR_0x400C, 0 + setvar VAR_TEMP_C, 0 checkflag FLAG_0x8D6 goto_if 0, LilycoveCity_Harbor_EventScript_27374E checkitem ITEM_OLD_SEA_MAP, 1 compare VAR_RESULT, 0 goto_eq LilycoveCity_Harbor_EventScript_27374E - setvar VAR_0x400C, 1 + setvar VAR_TEMP_C, 1 checkflag FLAG_0x1B0 goto_eq LilycoveCity_Harbor_EventScript_27374E - setvar VAR_0x400C, 2 + setvar VAR_TEMP_C, 2 return LilycoveCity_Harbor_EventScript_21E22A:: @ 821E22A - setvar VAR_0x4009, 0 + setvar VAR_TEMP_9, 0 checkflag FLAG_0x8E0 goto_if 0, LilycoveCity_Harbor_EventScript_27374E checkitem ITEM_MYSTIC_TICKET, 1 compare VAR_RESULT, 0 goto_eq LilycoveCity_Harbor_EventScript_27374E - setvar VAR_0x4009, 1 + setvar VAR_TEMP_9, 1 checkflag FLAG_0x1DB goto_eq LilycoveCity_Harbor_EventScript_27374E - setvar VAR_0x4009, 2 + setvar VAR_TEMP_9, 2 return LilycoveCity_Harbor_EventScript_21E25C:: @ 821E25C - setvar VAR_0x400B, 0 - compare VAR_0x400E, 2 + setvar VAR_TEMP_B, 0 + compare VAR_TEMP_E, 2 call_if 1, LilycoveCity_Harbor_EventScript_21E28E - compare VAR_0x400D, 2 + compare VAR_TEMP_D, 2 call_if 1, LilycoveCity_Harbor_EventScript_21E294 - compare VAR_0x400C, 2 + compare VAR_TEMP_C, 2 call_if 1, LilycoveCity_Harbor_EventScript_21E29A - compare VAR_0x4009, 2 + compare VAR_TEMP_9, 2 call_if 1, LilycoveCity_Harbor_EventScript_21E2A0 return LilycoveCity_Harbor_EventScript_21E28E:: @ 821E28E - addvar VAR_0x400B, 1 + addvar VAR_TEMP_B, 1 return LilycoveCity_Harbor_EventScript_21E294:: @ 821E294 - addvar VAR_0x400B, 2 + addvar VAR_TEMP_B, 2 return LilycoveCity_Harbor_EventScript_21E29A:: @ 821E29A - addvar VAR_0x400B, 4 + addvar VAR_TEMP_B, 4 return LilycoveCity_Harbor_EventScript_21E2A0:: @ 821E2A0 - addvar VAR_0x400B, 8 + addvar VAR_TEMP_B, 8 return LilycoveCity_Harbor_EventScript_21E2A6:: @ 821E2A6 - setvar VAR_0x400A, 0 - compare VAR_0x400E, 1 + setvar VAR_TEMP_A, 0 + compare VAR_TEMP_E, 1 call_if 1, LilycoveCity_Harbor_EventScript_21E2D8 - compare VAR_0x400D, 1 + compare VAR_TEMP_D, 1 call_if 1, LilycoveCity_Harbor_EventScript_21E2DE - compare VAR_0x400C, 1 + compare VAR_TEMP_C, 1 call_if 1, LilycoveCity_Harbor_EventScript_21E2E4 - compare VAR_0x4009, 1 + compare VAR_TEMP_9, 1 call_if 1, LilycoveCity_Harbor_EventScript_21E2EA return LilycoveCity_Harbor_EventScript_21E2D8:: @ 821E2D8 - addvar VAR_0x400A, 1 + addvar VAR_TEMP_A, 1 return LilycoveCity_Harbor_EventScript_21E2DE:: @ 821E2DE - addvar VAR_0x400A, 2 + addvar VAR_TEMP_A, 2 return LilycoveCity_Harbor_EventScript_21E2E4:: @ 821E2E4 - addvar VAR_0x400A, 4 + addvar VAR_TEMP_A, 4 return LilycoveCity_Harbor_EventScript_21E2EA:: @ 821E2EA - addvar VAR_0x400A, 8 + addvar VAR_TEMP_A, 8 return LilycoveCity_Harbor_EventScript_21E2F0:: @ 821E2F0 diff --git a/data/scripts/maps/LilycoveCity_House3.inc b/data/scripts/maps/LilycoveCity_House3.inc index f82befbcf..38210196e 100644 --- a/data/scripts/maps/LilycoveCity_House3.inc +++ b/data/scripts/maps/LilycoveCity_House3.inc @@ -4,7 +4,7 @@ LilycoveCity_House3_MapScripts:: @ 821EE3C LilycoveCity_House3_MapScript1_21EE42: @ 821EE42 random 4 - copyvar VAR_0x4001, VAR_RESULT + copyvar VAR_TEMP_1, VAR_RESULT end LilycoveCity_House3_EventScript_21EE4B:: @ 821EE4B @@ -41,7 +41,7 @@ LilycoveCity_House3_EventScript_21EE8A:: @ 821EE8A LilycoveCity_House3_EventScript_21EEA1:: @ 821EEA1 lock faceplayer - switch VAR_0x4001 + switch VAR_TEMP_1 case 0, LilycoveCity_House3_EventScript_21EF71 case 1, LilycoveCity_House3_EventScript_21EF7B case 2, LilycoveCity_House3_EventScript_21EF85 @@ -51,7 +51,7 @@ LilycoveCity_House3_EventScript_21EEA1:: @ 821EEA1 LilycoveCity_House3_EventScript_21EED5:: @ 821EED5 lock faceplayer - switch VAR_0x4001 + switch VAR_TEMP_1 case 0, LilycoveCity_House3_EventScript_21EF71 case 1, LilycoveCity_House3_EventScript_21EF7B case 2, LilycoveCity_House3_EventScript_21EF85 @@ -61,7 +61,7 @@ LilycoveCity_House3_EventScript_21EED5:: @ 821EED5 LilycoveCity_House3_EventScript_21EF09:: @ 821EF09 lock faceplayer - switch VAR_0x4001 + switch VAR_TEMP_1 case 0, LilycoveCity_House3_EventScript_21EF71 case 1, LilycoveCity_House3_EventScript_21EF7B case 2, LilycoveCity_House3_EventScript_21EF85 @@ -71,7 +71,7 @@ LilycoveCity_House3_EventScript_21EF09:: @ 821EF09 LilycoveCity_House3_EventScript_21EF3D:: @ 821EF3D lock faceplayer - switch VAR_0x4001 + switch VAR_TEMP_1 case 0, LilycoveCity_House3_EventScript_21EF71 case 1, LilycoveCity_House3_EventScript_21EF7B case 2, LilycoveCity_House3_EventScript_21EF85 diff --git a/data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc b/data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc index 433db24d2..c7d968d78 100644 --- a/data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc +++ b/data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc @@ -335,7 +335,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA061:: @ 81FA061 LittlerootTown_ProfessorBirchsLab_EventScript_1FA06C:: @ 81FA06C bufferspeciesname 0, SPECIES_CYNDAQUIL - setvar VAR_0x4001, 155 + setvar VAR_TEMP_1, 155 givemon SPECIES_CYNDAQUIL, 5, ITEM_NONE, 0x0, 0x0, 0 compare VAR_RESULT, 0 goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA0A1 @@ -380,7 +380,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA0FD:: @ 81FA0FD LittlerootTown_ProfessorBirchsLab_EventScript_1FA10D:: @ 81FA10D bufferspeciesname 0, SPECIES_TOTODILE - setvar VAR_0x4001, 158 + setvar VAR_TEMP_1, 158 givemon SPECIES_TOTODILE, 5, ITEM_NONE, 0x0, 0x0, 0 compare VAR_RESULT, 0 goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA142 @@ -425,7 +425,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA19E:: @ 81FA19E LittlerootTown_ProfessorBirchsLab_EventScript_1FA1AE:: @ 81FA1AE bufferspeciesname 0, SPECIES_CHIKORITA - setvar VAR_0x4001, 152 + setvar VAR_TEMP_1, 152 givemon SPECIES_CHIKORITA, 5, ITEM_NONE, 0x0, 0x0, 0 compare VAR_RESULT, 0 goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA1E3 diff --git a/data/scripts/maps/MarineCave_End.inc b/data/scripts/maps/MarineCave_End.inc index 7d2588a0a..c8e7c6fad 100644 --- a/data/scripts/maps/MarineCave_End.inc +++ b/data/scripts/maps/MarineCave_End.inc @@ -22,7 +22,7 @@ MarineCave_End_MapScript1_23B008: @ 823B008 MarineCave_End_EventScript_23B012:: @ 823B012 clearflag FLAG_0x30E - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 return MarineCave_End_EventScript_23B01B:: @ 823B01B @@ -41,7 +41,7 @@ MarineCave_End_EventScript_23B01B:: @ 823B01B special BattleSetup_StartLegendaryBattle waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE - setvar VAR_0x4001, 0 + setvar VAR_TEMP_1, 0 specialvar VAR_RESULT, sub_8138B80 compare VAR_RESULT, 1 goto_eq MarineCave_End_EventScript_23B084 diff --git a/data/scripts/maps/MauvilleCity_GameCorner.inc b/data/scripts/maps/MauvilleCity_GameCorner.inc index 6d3e0c317..400a24c24 100644 --- a/data/scripts/maps/MauvilleCity_GameCorner.inc +++ b/data/scripts/maps/MauvilleCity_GameCorner.inc @@ -31,8 +31,8 @@ MauvilleCity_GameCorner_EventScript_20FC0C:: @ 820FC0C end MauvilleCity_GameCorner_EventScript_20FC33:: @ 820FC33 - checkcoins VAR_0x4001 - compare VAR_0x4001, 9950 + checkcoins VAR_TEMP_1 + compare VAR_TEMP_1, 9950 goto_if 4, MauvilleCity_GameCorner_EventScript_20FCE1 checkmoney 0x3e8, 0 compare VAR_RESULT, 0 @@ -52,8 +52,8 @@ MauvilleCity_GameCorner_EventScript_20FC33:: @ 820FC33 end MauvilleCity_GameCorner_EventScript_20FC75:: @ 820FC75 - checkcoins VAR_0x4001 - compare VAR_0x4001, 9500 + checkcoins VAR_TEMP_1 + compare VAR_TEMP_1, 9500 goto_if 4, MauvilleCity_GameCorner_EventScript_20FCE1 checkmoney 0x2710, 0 compare VAR_RESULT, 0 @@ -117,7 +117,7 @@ MauvilleCity_GameCorner_EventScript_20FCF1:: @ 820FCF1 MauvilleCity_GameCorner_EventScript_20FD0D:: @ 820FD0D message MauvilleCity_GameCorner_Text_21060D waitmessage - setvar VAR_0x4001, 0 + setvar VAR_TEMP_1, 0 showcoinsbox 1, 1 goto MauvilleCity_GameCorner_EventScript_20FD2B @@ -137,17 +137,17 @@ MauvilleCity_GameCorner_EventScript_20FD2B:: @ 820FD2B end MauvilleCity_GameCorner_EventScript_20FD67:: @ 820FD67 - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 bufferdecorationname 0, 88 goto MauvilleCity_GameCorner_EventScript_20FD91 MauvilleCity_GameCorner_EventScript_20FD75:: @ 820FD75 - setvar VAR_0x4001, 2 + setvar VAR_TEMP_1, 2 bufferdecorationname 0, 89 goto MauvilleCity_GameCorner_EventScript_20FD91 MauvilleCity_GameCorner_EventScript_20FD83:: @ 820FD83 - setvar VAR_0x4001, 3 + setvar VAR_TEMP_1, 3 bufferdecorationname 0, 90 goto MauvilleCity_GameCorner_EventScript_20FD91 @@ -155,15 +155,15 @@ MauvilleCity_GameCorner_EventScript_20FD91:: @ 820FD91 msgbox MauvilleCity_GameCorner_Text_210705, 5 compare VAR_RESULT, 0 goto_eq MauvilleCity_GameCorner_EventScript_20FE92 - switch VAR_0x4001 + switch VAR_TEMP_1 case 1, MauvilleCity_GameCorner_EventScript_20FDCB case 2, MauvilleCity_GameCorner_EventScript_20FE05 case 3, MauvilleCity_GameCorner_EventScript_20FE3F end MauvilleCity_GameCorner_EventScript_20FDCB:: @ 820FDCB - checkcoins VAR_0x4002 - compare VAR_0x4002, 1000 + checkcoins VAR_TEMP_2 + compare VAR_TEMP_2, 1000 goto_if 0, MauvilleCity_GameCorner_EventScript_20FE79 bufferdecorationname 1, 88 checkdecorspace 88 @@ -178,8 +178,8 @@ MauvilleCity_GameCorner_EventScript_20FDCB:: @ 820FDCB end MauvilleCity_GameCorner_EventScript_20FE05:: @ 820FE05 - checkcoins VAR_0x4002 - compare VAR_0x4002, 1000 + checkcoins VAR_TEMP_2 + compare VAR_TEMP_2, 1000 goto_if 0, MauvilleCity_GameCorner_EventScript_20FE79 bufferdecorationname 1, 89 checkdecorspace 89 @@ -194,8 +194,8 @@ MauvilleCity_GameCorner_EventScript_20FE05:: @ 820FE05 end MauvilleCity_GameCorner_EventScript_20FE3F:: @ 820FE3F - checkcoins VAR_0x4002 - compare VAR_0x4002, 1000 + checkcoins VAR_TEMP_2 + compare VAR_TEMP_2, 1000 goto_if 0, MauvilleCity_GameCorner_EventScript_20FE79 bufferdecorationname 1, 90 checkdecorspace 90 @@ -238,7 +238,7 @@ MauvilleCity_GameCorner_EventScript_20FE9F:: @ 820FE9F MauvilleCity_GameCorner_EventScript_20FEBB:: @ 820FEBB message MauvilleCity_GameCorner_Text_21060D waitmessage - setvar VAR_0x4001, 0 + setvar VAR_TEMP_1, 0 showcoinsbox 1, 1 goto MauvilleCity_GameCorner_EventScript_20FED9 @@ -260,31 +260,31 @@ MauvilleCity_GameCorner_EventScript_20FED9:: @ 820FED9 end MauvilleCity_GameCorner_EventScript_20FF2B:: @ 820FF2B - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 bufferitemname 0, ITEM_TM32 setvar VAR_0x8004, 320 goto MauvilleCity_GameCorner_EventScript_20FF8A MauvilleCity_GameCorner_EventScript_20FF3E:: @ 820FF3E - setvar VAR_0x4001, 2 + setvar VAR_TEMP_1, 2 bufferitemname 0, ITEM_TM29 setvar VAR_0x8004, 317 goto MauvilleCity_GameCorner_EventScript_20FF8A MauvilleCity_GameCorner_EventScript_20FF51:: @ 820FF51 - setvar VAR_0x4001, 3 + setvar VAR_TEMP_1, 3 bufferitemname 0, ITEM_TM35 setvar VAR_0x8004, 323 goto MauvilleCity_GameCorner_EventScript_20FF8A MauvilleCity_GameCorner_EventScript_20FF64:: @ 820FF64 - setvar VAR_0x4001, 4 + setvar VAR_TEMP_1, 4 bufferitemname 0, ITEM_TM24 setvar VAR_0x8004, 312 goto MauvilleCity_GameCorner_EventScript_20FF8A MauvilleCity_GameCorner_EventScript_20FF77:: @ 820FF77 - setvar VAR_0x4001, 5 + setvar VAR_TEMP_1, 5 bufferitemname 0, ITEM_TM13 setvar VAR_0x8004, 301 goto MauvilleCity_GameCorner_EventScript_20FF8A @@ -294,7 +294,7 @@ MauvilleCity_GameCorner_EventScript_20FF8A:: @ 820FF8A msgbox MauvilleCity_GameCorner_Text_210629, 5 compare VAR_RESULT, 0 goto_eq MauvilleCity_GameCorner_EventScript_210118 - switch VAR_0x4001 + switch VAR_TEMP_1 case 1, MauvilleCity_GameCorner_EventScript_20FFDD case 2, MauvilleCity_GameCorner_EventScript_210017 case 3, MauvilleCity_GameCorner_EventScript_210051 @@ -303,8 +303,8 @@ MauvilleCity_GameCorner_EventScript_20FF8A:: @ 820FF8A end MauvilleCity_GameCorner_EventScript_20FFDD:: @ 820FFDD - checkcoins VAR_0x4002 - compare VAR_0x4002, 1500 + checkcoins VAR_TEMP_2 + compare VAR_TEMP_2, 1500 goto_if 0, MauvilleCity_GameCorner_EventScript_2100FF checkitemspace ITEM_TM32, 1 compare VAR_RESULT, 0 @@ -318,8 +318,8 @@ MauvilleCity_GameCorner_EventScript_20FFDD:: @ 820FFDD end MauvilleCity_GameCorner_EventScript_210017:: @ 8210017 - checkcoins VAR_0x4002 - compare VAR_0x4002, 3500 + checkcoins VAR_TEMP_2 + compare VAR_TEMP_2, 3500 goto_if 0, MauvilleCity_GameCorner_EventScript_2100FF checkitemspace ITEM_TM29, 1 compare VAR_RESULT, 0 @@ -333,8 +333,8 @@ MauvilleCity_GameCorner_EventScript_210017:: @ 8210017 end MauvilleCity_GameCorner_EventScript_210051:: @ 8210051 - checkcoins VAR_0x4002 - compare VAR_0x4002, 4000 + checkcoins VAR_TEMP_2 + compare VAR_TEMP_2, 4000 goto_if 0, MauvilleCity_GameCorner_EventScript_2100FF checkitemspace ITEM_TM35, 1 compare VAR_RESULT, 0 @@ -348,8 +348,8 @@ MauvilleCity_GameCorner_EventScript_210051:: @ 8210051 end MauvilleCity_GameCorner_EventScript_21008B:: @ 821008B - checkcoins VAR_0x4002 - compare VAR_0x4002, 4000 + checkcoins VAR_TEMP_2 + compare VAR_TEMP_2, 4000 goto_if 0, MauvilleCity_GameCorner_EventScript_2100FF checkitemspace ITEM_TM24, 1 compare VAR_RESULT, 0 @@ -363,8 +363,8 @@ MauvilleCity_GameCorner_EventScript_21008B:: @ 821008B end MauvilleCity_GameCorner_EventScript_2100C5:: @ 82100C5 - checkcoins VAR_0x4002 - compare VAR_0x4002, 4000 + checkcoins VAR_TEMP_2 + compare VAR_TEMP_2, 4000 goto_if 0, MauvilleCity_GameCorner_EventScript_2100FF checkitemspace ITEM_TM13, 1 compare VAR_RESULT, 0 @@ -477,8 +477,8 @@ MauvilleCity_GameCorner_EventScript_21021D:: @ 821021D MauvilleCity_GameCorner_EventScript_21023D:: @ 821023D checkflag FLAG_0x0E1 goto_eq MauvilleCity_GameCorner_EventScript_21026B - checkcoins VAR_0x4001 - compare VAR_0x4001, 1 + checkcoins VAR_TEMP_1 + compare VAR_TEMP_1, 1 goto_if 4, MauvilleCity_GameCorner_EventScript_21026B setflag FLAG_0x0E1 givecoins 20 diff --git a/data/scripts/maps/MossdeepCity.inc b/data/scripts/maps/MossdeepCity.inc index 111281931..4e8531a4e 100644 --- a/data/scripts/maps/MossdeepCity.inc +++ b/data/scripts/maps/MossdeepCity.inc @@ -73,7 +73,7 @@ MossdeepCity_EventScript_1E4B2F:: @ 81E4B2F MossdeepCity_EventScript_1E4B38:: @ 81E4B38 setflag FLAG_VISITED_MOSSDEEP_CITY - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 end MossdeepCity_EventScript_1E4B41:: @ 81E4B41 diff --git a/data/scripts/maps/MossdeepCity_StevensHouse.inc b/data/scripts/maps/MossdeepCity_StevensHouse.inc index 91bf06c48..fb2665e8b 100644 --- a/data/scripts/maps/MossdeepCity_StevensHouse.inc +++ b/data/scripts/maps/MossdeepCity_StevensHouse.inc @@ -85,7 +85,7 @@ MossdeepCity_StevensHouse_EventScript_22285B:: @ 822285B end MossdeepCity_StevensHouse_EventScript_222865:: @ 8222865 - setvar VAR_0x4001, 398 + setvar VAR_TEMP_1, 398 givemon SPECIES_BELDUM, 5, ITEM_NONE, 0x0, 0x0, 0 compare VAR_RESULT, 0 goto_eq MossdeepCity_StevensHouse_EventScript_222895 diff --git a/data/scripts/maps/MtPyre_Exterior.inc b/data/scripts/maps/MtPyre_Exterior.inc index 7142f1f06..8f757ebb4 100644 --- a/data/scripts/maps/MtPyre_Exterior.inc +++ b/data/scripts/maps/MtPyre_Exterior.inc @@ -7,8 +7,8 @@ MtPyre_Exterior_MapScript1_231FD2: @ 8231FD2 end MtPyre_Exterior_EventScript_231FD8:: @ 8231FD8 - getplayerxy VAR_0x4000, VAR_0x4001 - compare VAR_0x4001, 12 + getplayerxy VAR_TEMP_0, VAR_TEMP_1 + compare VAR_TEMP_1, 12 goto_if 0, MtPyre_Exterior_EventScript_231FE9 return diff --git a/data/scripts/maps/NavelRock_Top.inc b/data/scripts/maps/NavelRock_Top.inc index 07a90e7b7..6193a092e 100644 --- a/data/scripts/maps/NavelRock_Top.inc +++ b/data/scripts/maps/NavelRock_Top.inc @@ -11,15 +11,15 @@ NavelRock_Top_MapScript1_26911E: @ 826911E end NavelRock_Top_EventScript_269131:: @ 8269131 - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 setflag FLAG_0x321 return NavelRock_Top_EventScript_26913A:: @ 826913A - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 checkflag FLAG_0x1DC goto_eq NavelRock_Top_EventScript_27374E - setvar VAR_0x4001, 0 + setvar VAR_TEMP_1, 0 clearflag FLAG_0x321 return @@ -37,7 +37,7 @@ NavelRock_Top_EventScript_26915B:: @ 826915B NavelRock_Top_EventScript_26916F:: @ 826916F lockall - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 special SpawnScriptFieldObject setvar VAR_0x8004, 3 setvar VAR_0x8005, 35 diff --git a/data/scripts/maps/NewMauville_Inside.inc b/data/scripts/maps/NewMauville_Inside.inc index 301df7801..81b21287d 100644 --- a/data/scripts/maps/NewMauville_Inside.inc +++ b/data/scripts/maps/NewMauville_Inside.inc @@ -5,9 +5,9 @@ NewMauville_Inside_MapScripts:: @ 82373D7 .byte 0 NewMauville_Inside_MapScript1_2373E7: @ 82373E7 - compare VAR_0x4001, 1 + compare VAR_TEMP_1, 1 call_if 1, NewMauville_Inside_EventScript_237489 - compare VAR_0x4002, 1 + compare VAR_TEMP_2, 1 call_if 1, NewMauville_Inside_EventScript_2375D7 checkflag FLAG_SYS_CTRL_OBJ_DELETE call_if 1, NewMauville_Inside_EventScript_237407 @@ -21,8 +21,8 @@ NewMauville_Inside_EventScript_237407:: @ 8237407 return NewMauville_Inside_MapScript1_23741B: @ 823741B - setvar VAR_0x4001, 0 - setvar VAR_0x4002, 0 + setvar VAR_TEMP_1, 0 + setvar VAR_TEMP_2, 0 checkflag FLAG_0x1C1 call_if 0, NewMauville_Inside_EventScript_237441 checkflag FLAG_0x1C2 @@ -50,8 +50,8 @@ NewMauville_Inside_MapScript1_23744D: @ 823744D NewMauville_Inside_EventScript_237459:: @ 8237459 lockall - setvar VAR_0x4001, 1 - setvar VAR_0x4002, 0 + setvar VAR_TEMP_1, 1 + setvar VAR_TEMP_2, 0 playse SE_PIN call NewMauville_Inside_EventScript_237489 special DrawWholeMapView @@ -60,8 +60,8 @@ NewMauville_Inside_EventScript_237459:: @ 8237459 NewMauville_Inside_EventScript_237471:: @ 8237471 lockall - setvar VAR_0x4001, 0 - setvar VAR_0x4002, 1 + setvar VAR_TEMP_1, 0 + setvar VAR_TEMP_2, 1 playse SE_PIN call NewMauville_Inside_EventScript_2375D7 special DrawWholeMapView diff --git a/data/scripts/maps/Route110_SeasideCyclingRoadEntrance1.inc b/data/scripts/maps/Route110_SeasideCyclingRoadEntrance1.inc index 053183b28..5087d304c 100644 --- a/data/scripts/maps/Route110_SeasideCyclingRoadEntrance1.inc +++ b/data/scripts/maps/Route110_SeasideCyclingRoadEntrance1.inc @@ -14,7 +14,7 @@ Route110_SeasideCyclingRoadEntrance1_EventScript_26EA84:: @ 826EA84 compare VAR_RESULT, 0 goto_eq Route110_SeasideCyclingRoadEntrance1_EventScript_26EA9F setflag FLAG_SYS_CYCLING_ROAD - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 releaseall end @@ -33,7 +33,7 @@ Route110_SeasideCyclingRoadEntrance1_Movement_26EAB4: @ 826EAB4 Route110_SeasideCyclingRoadEntrance1_EventScript_26EAB6:: @ 826EAB6 lockall clearflag FLAG_SYS_CYCLING_ROAD - setvar VAR_0x4001, 0 + setvar VAR_TEMP_1, 0 releaseall end diff --git a/data/scripts/maps/Route110_SeasideCyclingRoadEntrance2.inc b/data/scripts/maps/Route110_SeasideCyclingRoadEntrance2.inc index 602373825..97e7452ec 100644 --- a/data/scripts/maps/Route110_SeasideCyclingRoadEntrance2.inc +++ b/data/scripts/maps/Route110_SeasideCyclingRoadEntrance2.inc @@ -28,7 +28,7 @@ Route110_SeasideCyclingRoadEntrance2_EventScript_26EBD0:: @ 826EBD0 compare VAR_RESULT, 0 goto_eq Route110_SeasideCyclingRoadEntrance2_EventScript_26EBFC setflag FLAG_SYS_CYCLING_ROAD - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 releaseall end @@ -52,7 +52,7 @@ Route110_SeasideCyclingRoadEntrance2_EventScript_26EC13:: @ 826EC13 lockall setvar VAR_0x40A9, 0 clearflag FLAG_SYS_CYCLING_ROAD - setvar VAR_0x4001, 0 + setvar VAR_TEMP_1, 0 releaseall end diff --git a/data/scripts/maps/Route110_TrickHouseEnd.inc b/data/scripts/maps/Route110_TrickHouseEnd.inc index a0aa5856c..b8db4697b 100644 --- a/data/scripts/maps/Route110_TrickHouseEnd.inc +++ b/data/scripts/maps/Route110_TrickHouseEnd.inc @@ -6,18 +6,18 @@ Route110_TrickHouseEnd_MapScripts:: @ 826ACAF .byte 0 Route110_TrickHouseEnd_MapScript1_26ACC4: @ 826ACC4 - compare VAR_0x4001, 1 + compare VAR_TEMP_1, 1 call_if 1, Route110_TrickHouseEnd_EventScript_26AD0D end Route110_TrickHouseEnd_MapScript1_26ACD0: @ 826ACD0 - setvar VAR_0x4001, 0 - setvar VAR_0x4002, 0 + setvar VAR_TEMP_1, 0 + setvar VAR_TEMP_2, 0 special SetTrickHouseEndRoomFlag end Route110_TrickHouseEnd_MapScript2_26ACDE: @ 826ACDE - map_script_2 VAR_0x4002, 0, Route110_TrickHouseEnd_EventScript_26ACE8 + map_script_2 VAR_TEMP_2, 0, Route110_TrickHouseEnd_EventScript_26ACE8 .2byte 0 Route110_TrickHouseEnd_EventScript_26ACE8:: @ 826ACE8 @@ -27,11 +27,11 @@ Route110_TrickHouseEnd_EventScript_26ACE8:: @ 826ACE8 end Route110_TrickHouseEnd_MapScript2_26ACF5: @ 826ACF5 - map_script_2 VAR_0x4001, 0, Route110_TrickHouseEnd_EventScript_26ACFF + map_script_2 VAR_TEMP_1, 0, Route110_TrickHouseEnd_EventScript_26ACFF .2byte 0 Route110_TrickHouseEnd_EventScript_26ACFF:: @ 826ACFF - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 call Route110_TrickHouseEnd_EventScript_26AD0D special DrawWholeMapView end @@ -44,7 +44,7 @@ Route110_TrickHouseEnd_EventScript_26AD17:: @ 826AD17 lock faceplayer msgbox Route110_TrickHouseEnd_Text_26B08D, 4 - setvar VAR_0x4002, 1 + setvar VAR_TEMP_2, 1 switch VAR_0x4044 case 0, Route110_TrickHouseEnd_EventScript_26AD84 case 1, Route110_TrickHouseEnd_EventScript_26ADC0 diff --git a/data/scripts/maps/Route110_TrickHousePuzzle2.inc b/data/scripts/maps/Route110_TrickHousePuzzle2.inc index fd8c42f84..b724b986d 100644 --- a/data/scripts/maps/Route110_TrickHousePuzzle2.inc +++ b/data/scripts/maps/Route110_TrickHousePuzzle2.inc @@ -4,21 +4,21 @@ Route110_TrickHousePuzzle2_MapScripts:: @ 826BB73 .byte 0 Route110_TrickHousePuzzle2_MapScript1_26BB7E: @ 826BB7E - compare VAR_0x4001, 1 + compare VAR_TEMP_1, 1 call_if 1, Route110_TrickHousePuzzle2_EventScript_26BC29 - compare VAR_0x4002, 1 + compare VAR_TEMP_2, 1 call_if 1, Route110_TrickHousePuzzle2_EventScript_26BC3C - compare VAR_0x4003, 1 + compare VAR_TEMP_3, 1 call_if 1, Route110_TrickHousePuzzle2_EventScript_26BC4F - compare VAR_0x4004, 1 + compare VAR_TEMP_4, 1 call_if 1, Route110_TrickHousePuzzle2_EventScript_26BC62 end Route110_TrickHousePuzzle2_MapScript1_26BBAB: @ 826BBAB - setvar VAR_0x4001, 0 - setvar VAR_0x4002, 0 - setvar VAR_0x4003, 0 - setvar VAR_0x4004, 0 + setvar VAR_TEMP_1, 0 + setvar VAR_TEMP_2, 0 + setvar VAR_TEMP_3, 0 + setvar VAR_TEMP_4, 0 end Route110_TrickHousePuzzle2_EventScript_26BBC0:: @ 826BBC0 @@ -35,7 +35,7 @@ Route110_TrickHousePuzzle2_EventScript_26BBD2:: @ 826BBD2 Route110_TrickHousePuzzle2_EventScript_26BBDD:: @ 826BBDD lockall - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 playse SE_PIN call Route110_TrickHousePuzzle2_EventScript_26BC29 special DrawWholeMapView @@ -44,7 +44,7 @@ Route110_TrickHousePuzzle2_EventScript_26BBDD:: @ 826BBDD Route110_TrickHousePuzzle2_EventScript_26BBF0:: @ 826BBF0 lockall - setvar VAR_0x4002, 1 + setvar VAR_TEMP_2, 1 playse SE_PIN call Route110_TrickHousePuzzle2_EventScript_26BC3C special DrawWholeMapView @@ -53,7 +53,7 @@ Route110_TrickHousePuzzle2_EventScript_26BBF0:: @ 826BBF0 Route110_TrickHousePuzzle2_EventScript_26BC03:: @ 826BC03 lockall - setvar VAR_0x4003, 1 + setvar VAR_TEMP_3, 1 playse SE_PIN call Route110_TrickHousePuzzle2_EventScript_26BC4F special DrawWholeMapView @@ -62,7 +62,7 @@ Route110_TrickHousePuzzle2_EventScript_26BC03:: @ 826BC03 Route110_TrickHousePuzzle2_EventScript_26BC16:: @ 826BC16 lockall - setvar VAR_0x4004, 1 + setvar VAR_TEMP_4, 1 playse SE_PIN call Route110_TrickHousePuzzle2_EventScript_26BC62 special DrawWholeMapView diff --git a/data/scripts/maps/Route110_TrickHousePuzzle3.inc b/data/scripts/maps/Route110_TrickHousePuzzle3.inc index b5302e551..9956f9889 100644 --- a/data/scripts/maps/Route110_TrickHousePuzzle3.inc +++ b/data/scripts/maps/Route110_TrickHousePuzzle3.inc @@ -5,19 +5,19 @@ Route110_TrickHousePuzzle3_MapScripts:: @ 826BED8 Route110_TrickHousePuzzle3_MapScript1_26BEE3: @ 826BEE3 call Route110_TrickHousePuzzle3_EventScript_26BF1E - compare VAR_0x4009, 0 + compare VAR_TEMP_9, 0 call_if 1, Route110_TrickHousePuzzle3_EventScript_26BF97 - compare VAR_0x4009, 1 + compare VAR_TEMP_9, 1 call_if 1, Route110_TrickHousePuzzle3_EventScript_26C232 end Route110_TrickHousePuzzle3_MapScript1_26BEFF: @ 826BEFF - setvar VAR_0x4001, 0 - setvar VAR_0x4002, 0 - setvar VAR_0x4003, 0 - setvar VAR_0x4004, 0 - setvar VAR_0x4008, 0 - setvar VAR_0x4009, 0 + setvar VAR_TEMP_1, 0 + setvar VAR_TEMP_2, 0 + setvar VAR_TEMP_3, 0 + setvar VAR_TEMP_4, 0 + setvar VAR_TEMP_8, 0 + setvar VAR_TEMP_9, 0 end Route110_TrickHousePuzzle3_EventScript_26BF1E:: @ 826BF1E @@ -25,13 +25,13 @@ Route110_TrickHousePuzzle3_EventScript_26BF1E:: @ 826BF1E setmetatile 3, 11, 600, 0 setmetatile 12, 5, 600, 0 setmetatile 8, 2, 600, 0 - compare VAR_0x4008, 1 + compare VAR_TEMP_8, 1 call_if 1, Route110_TrickHousePuzzle3_EventScript_26BF6F - compare VAR_0x4008, 2 + compare VAR_TEMP_8, 2 call_if 1, Route110_TrickHousePuzzle3_EventScript_26BF79 - compare VAR_0x4008, 3 + compare VAR_TEMP_8, 3 call_if 1, Route110_TrickHousePuzzle3_EventScript_26BF83 - compare VAR_0x4008, 4 + compare VAR_TEMP_8, 4 call_if 1, Route110_TrickHousePuzzle3_EventScript_26BF8D return @@ -207,25 +207,25 @@ Route110_TrickHousePuzzle3_EventScript_26C232:: @ 826C232 Route110_TrickHousePuzzle3_EventScript_26C4CD:: @ 826C4CD lockall - setvar VAR_0x4008, 1 + setvar VAR_TEMP_8, 1 goto Route110_TrickHousePuzzle3_EventScript_26C4FD end Route110_TrickHousePuzzle3_EventScript_26C4D9:: @ 826C4D9 lockall - setvar VAR_0x4008, 2 + setvar VAR_TEMP_8, 2 goto Route110_TrickHousePuzzle3_EventScript_26C4FD end Route110_TrickHousePuzzle3_EventScript_26C4E5:: @ 826C4E5 lockall - setvar VAR_0x4008, 3 + setvar VAR_TEMP_8, 3 goto Route110_TrickHousePuzzle3_EventScript_26C4FD end Route110_TrickHousePuzzle3_EventScript_26C4F1:: @ 826C4F1 lockall - setvar VAR_0x4008, 4 + setvar VAR_TEMP_8, 4 goto Route110_TrickHousePuzzle3_EventScript_26C4FD end @@ -237,55 +237,55 @@ Route110_TrickHousePuzzle3_EventScript_26C4FD:: @ 826C4FD end Route110_TrickHousePuzzle3_EventScript_26C510:: @ 826C510 - setvar VAR_0x4001, 0 - setvar VAR_0x4002, 0 - setvar VAR_0x4003, 0 - setvar VAR_0x4004, 0 - compare VAR_0x4008, 1 + setvar VAR_TEMP_1, 0 + setvar VAR_TEMP_2, 0 + setvar VAR_TEMP_3, 0 + setvar VAR_TEMP_4, 0 + compare VAR_TEMP_8, 1 call_if 1, Route110_TrickHousePuzzle3_EventScript_26C551 - compare VAR_0x4008, 2 + compare VAR_TEMP_8, 2 call_if 1, Route110_TrickHousePuzzle3_EventScript_26C557 - compare VAR_0x4008, 3 + compare VAR_TEMP_8, 3 call_if 1, Route110_TrickHousePuzzle3_EventScript_26C55D - compare VAR_0x4008, 4 + compare VAR_TEMP_8, 4 call_if 1, Route110_TrickHousePuzzle3_EventScript_26C563 return Route110_TrickHousePuzzle3_EventScript_26C551:: @ 826C551 - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 return Route110_TrickHousePuzzle3_EventScript_26C557:: @ 826C557 - setvar VAR_0x4002, 1 + setvar VAR_TEMP_2, 1 return Route110_TrickHousePuzzle3_EventScript_26C55D:: @ 826C55D - setvar VAR_0x4003, 1 + setvar VAR_TEMP_3, 1 return Route110_TrickHousePuzzle3_EventScript_26C563:: @ 826C563 - setvar VAR_0x4004, 1 + setvar VAR_TEMP_4, 1 return Route110_TrickHousePuzzle3_EventScript_26C569:: @ 826C569 - compare VAR_0x4009, 1 + compare VAR_TEMP_9, 1 call_if 1, Route110_TrickHousePuzzle3_EventScript_26BF97 - compare VAR_0x4009, 0 + compare VAR_TEMP_9, 0 call_if 1, Route110_TrickHousePuzzle3_EventScript_26C232 special DrawWholeMapView - compare VAR_0x4009, 1 + compare VAR_TEMP_9, 1 goto_eq Route110_TrickHousePuzzle3_EventScript_26C599 - compare VAR_0x4009, 0 + compare VAR_TEMP_9, 0 goto_eq Route110_TrickHousePuzzle3_EventScript_26C5A0 end Route110_TrickHousePuzzle3_EventScript_26C599:: @ 826C599 - setvar VAR_0x4009, 0 + setvar VAR_TEMP_9, 0 releaseall end Route110_TrickHousePuzzle3_EventScript_26C5A0:: @ 826C5A0 - setvar VAR_0x4009, 1 + setvar VAR_TEMP_9, 1 releaseall end diff --git a/data/scripts/maps/Route110_TrickHousePuzzle5.inc b/data/scripts/maps/Route110_TrickHousePuzzle5.inc index 5e14d3add..cd14f0060 100644 --- a/data/scripts/maps/Route110_TrickHousePuzzle5.inc +++ b/data/scripts/maps/Route110_TrickHousePuzzle5.inc @@ -3,12 +3,12 @@ Route110_TrickHousePuzzle5_MapScripts:: @ 826CAF0 .byte 0 Route110_TrickHousePuzzle5_MapScript1_26CAF6: @ 826CAF6 - setvar VAR_0x4001, 0 - setvar VAR_0x4002, 0 - setvar VAR_0x4003, 0 - setvar VAR_0x4004, 0 - setvar VAR_0x4005, 0 - setvar VAR_0x4008, 0 + setvar VAR_TEMP_1, 0 + setvar VAR_TEMP_2, 0 + setvar VAR_TEMP_3, 0 + setvar VAR_TEMP_4, 0 + setvar VAR_TEMP_5, 0 + setvar VAR_TEMP_8, 0 end Route110_TrickHousePuzzle5_EventScript_26CB15:: @ 826CB15 @@ -27,9 +27,9 @@ Route110_TrickHousePuzzle5_EventScript_26CB32:: @ 826CB32 lockall applymovement 1, Route110_TrickHousePuzzle5_Movement_27259E waitmovement 0 - compare VAR_0x4001, 1 + compare VAR_TEMP_1, 1 goto_eq Route110_TrickHousePuzzle5_EventScript_26D1AA - setvar VAR_0x4009, 0 + setvar VAR_TEMP_9, 0 goto Route110_TrickHousePuzzle5_EventScript_26CCEB end @@ -37,9 +37,9 @@ Route110_TrickHousePuzzle5_EventScript_26CB53:: @ 826CB53 lockall applymovement 2, Route110_TrickHousePuzzle5_Movement_27259E waitmovement 0 - compare VAR_0x4002, 1 + compare VAR_TEMP_2, 1 goto_eq Route110_TrickHousePuzzle5_EventScript_26D1AA - setvar VAR_0x4009, 0 + setvar VAR_TEMP_9, 0 goto Route110_TrickHousePuzzle5_EventScript_26CD6A end @@ -47,9 +47,9 @@ Route110_TrickHousePuzzle5_EventScript_26CB74:: @ 826CB74 lockall applymovement 3, Route110_TrickHousePuzzle5_Movement_27259E waitmovement 0 - compare VAR_0x4003, 1 + compare VAR_TEMP_3, 1 goto_eq Route110_TrickHousePuzzle5_EventScript_26D1AA - setvar VAR_0x4009, 0 + setvar VAR_TEMP_9, 0 goto Route110_TrickHousePuzzle5_EventScript_26CDF4 end @@ -57,9 +57,9 @@ Route110_TrickHousePuzzle5_EventScript_26CB95:: @ 826CB95 lockall applymovement 4, Route110_TrickHousePuzzle5_Movement_27259E waitmovement 0 - compare VAR_0x4004, 1 + compare VAR_TEMP_4, 1 goto_eq Route110_TrickHousePuzzle5_EventScript_26D1AA - setvar VAR_0x4009, 0 + setvar VAR_TEMP_9, 0 goto Route110_TrickHousePuzzle5_EventScript_26CE73 end @@ -67,165 +67,165 @@ Route110_TrickHousePuzzle5_EventScript_26CBB6:: @ 826CBB6 lockall applymovement 5, Route110_TrickHousePuzzle5_Movement_27259E waitmovement 0 - compare VAR_0x4005, 1 + compare VAR_TEMP_5, 1 goto_eq Route110_TrickHousePuzzle5_EventScript_26D1AA - setvar VAR_0x4009, 0 + setvar VAR_TEMP_9, 0 goto Route110_TrickHousePuzzle5_EventScript_26CEF2 end Route110_TrickHousePuzzle5_EventScript_26CBD7:: @ 826CBD7 lockall - setvar VAR_0x4009, 0 + setvar VAR_TEMP_9, 0 goto Route110_TrickHousePuzzle5_EventScript_26CCEB end Route110_TrickHousePuzzle5_EventScript_26CBE3:: @ 826CBE3 lockall - setvar VAR_0x4009, 1 + setvar VAR_TEMP_9, 1 goto Route110_TrickHousePuzzle5_EventScript_26CCEB end Route110_TrickHousePuzzle5_EventScript_26CBEF:: @ 826CBEF lockall - setvar VAR_0x4009, 2 + setvar VAR_TEMP_9, 2 goto Route110_TrickHousePuzzle5_EventScript_26CCEB end Route110_TrickHousePuzzle5_EventScript_26CBFB:: @ 826CBFB lockall - setvar VAR_0x4009, 3 + setvar VAR_TEMP_9, 3 goto Route110_TrickHousePuzzle5_EventScript_26CCEB end Route110_TrickHousePuzzle5_EventScript_26CC07:: @ 826CC07 lockall - setvar VAR_0x4009, 4 + setvar VAR_TEMP_9, 4 goto Route110_TrickHousePuzzle5_EventScript_26CCEB end Route110_TrickHousePuzzle5_EventScript_26CC13:: @ 826CC13 lockall - setvar VAR_0x4009, 0 + setvar VAR_TEMP_9, 0 goto Route110_TrickHousePuzzle5_EventScript_26CD6A end Route110_TrickHousePuzzle5_EventScript_26CC1F:: @ 826CC1F lockall - setvar VAR_0x4009, 1 + setvar VAR_TEMP_9, 1 goto Route110_TrickHousePuzzle5_EventScript_26CD6A end Route110_TrickHousePuzzle5_EventScript_26CC2B:: @ 826CC2B lockall - setvar VAR_0x4009, 2 + setvar VAR_TEMP_9, 2 goto Route110_TrickHousePuzzle5_EventScript_26CD6A end Route110_TrickHousePuzzle5_EventScript_26CC37:: @ 826CC37 lockall - setvar VAR_0x4009, 3 + setvar VAR_TEMP_9, 3 goto Route110_TrickHousePuzzle5_EventScript_26CD6A end Route110_TrickHousePuzzle5_EventScript_26CC43:: @ 826CC43 lockall - setvar VAR_0x4009, 4 + setvar VAR_TEMP_9, 4 goto Route110_TrickHousePuzzle5_EventScript_26CD6A end Route110_TrickHousePuzzle5_EventScript_26CC4F:: @ 826CC4F lockall - setvar VAR_0x4009, 5 + setvar VAR_TEMP_9, 5 goto Route110_TrickHousePuzzle5_EventScript_26CD6A end Route110_TrickHousePuzzle5_EventScript_26CC5B:: @ 826CC5B lockall - setvar VAR_0x4009, 0 + setvar VAR_TEMP_9, 0 goto Route110_TrickHousePuzzle5_EventScript_26CDF4 end Route110_TrickHousePuzzle5_EventScript_26CC67:: @ 826CC67 lockall - setvar VAR_0x4009, 1 + setvar VAR_TEMP_9, 1 goto Route110_TrickHousePuzzle5_EventScript_26CDF4 end Route110_TrickHousePuzzle5_EventScript_26CC73:: @ 826CC73 lockall - setvar VAR_0x4009, 2 + setvar VAR_TEMP_9, 2 goto Route110_TrickHousePuzzle5_EventScript_26CDF4 end Route110_TrickHousePuzzle5_EventScript_26CC7F:: @ 826CC7F lockall - setvar VAR_0x4009, 3 + setvar VAR_TEMP_9, 3 goto Route110_TrickHousePuzzle5_EventScript_26CDF4 end Route110_TrickHousePuzzle5_EventScript_26CC8B:: @ 826CC8B lockall - setvar VAR_0x4009, 4 + setvar VAR_TEMP_9, 4 goto Route110_TrickHousePuzzle5_EventScript_26CDF4 end Route110_TrickHousePuzzle5_EventScript_26CC97:: @ 826CC97 lockall - setvar VAR_0x4009, 0 + setvar VAR_TEMP_9, 0 goto Route110_TrickHousePuzzle5_EventScript_26CE73 end Route110_TrickHousePuzzle5_EventScript_26CCA3:: @ 826CCA3 lockall - setvar VAR_0x4009, 1 + setvar VAR_TEMP_9, 1 goto Route110_TrickHousePuzzle5_EventScript_26CE73 end Route110_TrickHousePuzzle5_EventScript_26CCAF:: @ 826CCAF lockall - setvar VAR_0x4009, 2 + setvar VAR_TEMP_9, 2 goto Route110_TrickHousePuzzle5_EventScript_26CE73 end Route110_TrickHousePuzzle5_EventScript_26CCBB:: @ 826CCBB lockall - setvar VAR_0x4009, 3 + setvar VAR_TEMP_9, 3 goto Route110_TrickHousePuzzle5_EventScript_26CE73 end Route110_TrickHousePuzzle5_EventScript_26CCC7:: @ 826CCC7 lockall - setvar VAR_0x4009, 4 + setvar VAR_TEMP_9, 4 goto Route110_TrickHousePuzzle5_EventScript_26CE73 end Route110_TrickHousePuzzle5_EventScript_26CCD3:: @ 826CCD3 lockall - setvar VAR_0x4009, 5 + setvar VAR_TEMP_9, 5 goto Route110_TrickHousePuzzle5_EventScript_26CE73 end Route110_TrickHousePuzzle5_EventScript_26CCDF:: @ 826CCDF lockall - setvar VAR_0x4009, 0 + setvar VAR_TEMP_9, 0 goto Route110_TrickHousePuzzle5_EventScript_26CEF2 end Route110_TrickHousePuzzle5_EventScript_26CCEB:: @ 826CCEB - setvar VAR_0x4001, 1 - setvar VAR_0x4008, 1 + setvar VAR_TEMP_1, 1 + setvar VAR_TEMP_8, 1 playse SE_PIN applymovement 1, Route110_TrickHousePuzzle5_Movement_272598 waitmovement 0 applymovement 1, Route110_TrickHousePuzzle5_Movement_27259A waitmovement 0 - compare VAR_0x4009, 1 + compare VAR_TEMP_9, 1 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D1B4 - compare VAR_0x4009, 2 + compare VAR_TEMP_9, 2 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D1EC - compare VAR_0x4009, 3 + compare VAR_TEMP_9, 3 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D224 - compare VAR_0x4009, 4 + compare VAR_TEMP_9, 4 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D25C msgbox Route110_TrickHousePuzzle5_Text_26D6CE, 4 random 3 @@ -236,22 +236,22 @@ Route110_TrickHousePuzzle5_EventScript_26CCEB:: @ 826CCEB end Route110_TrickHousePuzzle5_EventScript_26CD6A:: @ 826CD6A - setvar VAR_0x4002, 1 - setvar VAR_0x4008, 2 + setvar VAR_TEMP_2, 1 + setvar VAR_TEMP_8, 2 playse SE_PIN applymovement 2, Route110_TrickHousePuzzle5_Movement_272598 waitmovement 0 applymovement 2, Route110_TrickHousePuzzle5_Movement_27259A waitmovement 0 - compare VAR_0x4009, 1 + compare VAR_TEMP_9, 1 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D2CC - compare VAR_0x4009, 2 + compare VAR_TEMP_9, 2 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D304 - compare VAR_0x4009, 3 + compare VAR_TEMP_9, 3 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D33C - compare VAR_0x4009, 4 + compare VAR_TEMP_9, 4 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D374 - compare VAR_0x4009, 5 + compare VAR_TEMP_9, 5 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D3AC msgbox Route110_TrickHousePuzzle5_Text_26D8EA, 4 random 3 @@ -262,20 +262,20 @@ Route110_TrickHousePuzzle5_EventScript_26CD6A:: @ 826CD6A end Route110_TrickHousePuzzle5_EventScript_26CDF4:: @ 826CDF4 - setvar VAR_0x4003, 1 - setvar VAR_0x4008, 3 + setvar VAR_TEMP_3, 1 + setvar VAR_TEMP_8, 3 playse SE_PIN applymovement 3, Route110_TrickHousePuzzle5_Movement_272598 waitmovement 0 applymovement 3, Route110_TrickHousePuzzle5_Movement_27259A waitmovement 0 - compare VAR_0x4009, 1 + compare VAR_TEMP_9, 1 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D1B4 - compare VAR_0x4009, 2 + compare VAR_TEMP_9, 2 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D1EC - compare VAR_0x4009, 3 + compare VAR_TEMP_9, 3 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D224 - compare VAR_0x4009, 4 + compare VAR_TEMP_9, 4 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D25C msgbox Route110_TrickHousePuzzle5_Text_26DA1E, 4 random 3 @@ -286,20 +286,20 @@ Route110_TrickHousePuzzle5_EventScript_26CDF4:: @ 826CDF4 end Route110_TrickHousePuzzle5_EventScript_26CE73:: @ 826CE73 - setvar VAR_0x4004, 1 - setvar VAR_0x4008, 4 + setvar VAR_TEMP_4, 1 + setvar VAR_TEMP_8, 4 playse SE_PIN applymovement 4, Route110_TrickHousePuzzle5_Movement_272598 waitmovement 0 applymovement 4, Route110_TrickHousePuzzle5_Movement_27259A waitmovement 0 - compare VAR_0x4009, 1 + compare VAR_TEMP_9, 1 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D1B4 - compare VAR_0x4009, 2 + compare VAR_TEMP_9, 2 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D1EC - compare VAR_0x4009, 3 + compare VAR_TEMP_9, 3 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D224 - compare VAR_0x4009, 4 + compare VAR_TEMP_9, 4 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D25C msgbox Route110_TrickHousePuzzle5_Text_26DB4C, 4 random 3 @@ -310,8 +310,8 @@ Route110_TrickHousePuzzle5_EventScript_26CE73:: @ 826CE73 end Route110_TrickHousePuzzle5_EventScript_26CEF2:: @ 826CEF2 - setvar VAR_0x4005, 1 - setvar VAR_0x4008, 5 + setvar VAR_TEMP_5, 1 + setvar VAR_TEMP_8, 5 playse SE_PIN applymovement 5, Route110_TrickHousePuzzle5_Movement_272598 waitmovement 0 @@ -475,132 +475,132 @@ Route110_TrickHousePuzzle5_EventScript_26D1AA:: @ 826D1AA end Route110_TrickHousePuzzle5_EventScript_26D1B4:: @ 826D1B4 - compare VAR_0x4008, 1 + compare VAR_TEMP_8, 1 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D3E4 - compare VAR_0x4008, 2 + compare VAR_TEMP_8, 2 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D3EF - compare VAR_0x4008, 3 + compare VAR_TEMP_8, 3 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D3FA - compare VAR_0x4008, 4 + compare VAR_TEMP_8, 4 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D405 - compare VAR_0x4008, 5 + compare VAR_TEMP_8, 5 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D410 return Route110_TrickHousePuzzle5_EventScript_26D1EC:: @ 826D1EC - compare VAR_0x4008, 1 + compare VAR_TEMP_8, 1 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D41B - compare VAR_0x4008, 2 + compare VAR_TEMP_8, 2 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D426 - compare VAR_0x4008, 3 + compare VAR_TEMP_8, 3 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D431 - compare VAR_0x4008, 4 + compare VAR_TEMP_8, 4 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D43C - compare VAR_0x4008, 5 + compare VAR_TEMP_8, 5 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D447 return Route110_TrickHousePuzzle5_EventScript_26D224:: @ 826D224 - compare VAR_0x4008, 1 + compare VAR_TEMP_8, 1 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D452 - compare VAR_0x4008, 2 + compare VAR_TEMP_8, 2 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D45D - compare VAR_0x4008, 3 + compare VAR_TEMP_8, 3 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D468 - compare VAR_0x4008, 4 + compare VAR_TEMP_8, 4 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D473 - compare VAR_0x4008, 5 + compare VAR_TEMP_8, 5 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D47E return Route110_TrickHousePuzzle5_EventScript_26D25C:: @ 826D25C - compare VAR_0x4008, 1 + compare VAR_TEMP_8, 1 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D489 - compare VAR_0x4008, 2 + compare VAR_TEMP_8, 2 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D494 - compare VAR_0x4008, 3 + compare VAR_TEMP_8, 3 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D49F - compare VAR_0x4008, 4 + compare VAR_TEMP_8, 4 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D4AA - compare VAR_0x4008, 5 + compare VAR_TEMP_8, 5 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D4B5 return Route110_TrickHousePuzzle5_EventScript_26D294:: @ 826D294 - compare VAR_0x4008, 1 + compare VAR_TEMP_8, 1 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D4C0 - compare VAR_0x4008, 2 + compare VAR_TEMP_8, 2 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D4CB - compare VAR_0x4008, 3 + compare VAR_TEMP_8, 3 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D4D6 - compare VAR_0x4008, 4 + compare VAR_TEMP_8, 4 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D4E1 - compare VAR_0x4008, 5 + compare VAR_TEMP_8, 5 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D4EC return Route110_TrickHousePuzzle5_EventScript_26D2CC:: @ 826D2CC - compare VAR_0x4008, 1 + compare VAR_TEMP_8, 1 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D4F7 - compare VAR_0x4008, 2 + compare VAR_TEMP_8, 2 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D502 - compare VAR_0x4008, 3 + compare VAR_TEMP_8, 3 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D50D - compare VAR_0x4008, 4 + compare VAR_TEMP_8, 4 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D518 - compare VAR_0x4008, 5 + compare VAR_TEMP_8, 5 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D523 return Route110_TrickHousePuzzle5_EventScript_26D304:: @ 826D304 - compare VAR_0x4008, 1 + compare VAR_TEMP_8, 1 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D52E - compare VAR_0x4008, 2 + compare VAR_TEMP_8, 2 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D539 - compare VAR_0x4008, 3 + compare VAR_TEMP_8, 3 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D544 - compare VAR_0x4008, 4 + compare VAR_TEMP_8, 4 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D54F - compare VAR_0x4008, 5 + compare VAR_TEMP_8, 5 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D55A return Route110_TrickHousePuzzle5_EventScript_26D33C:: @ 826D33C - compare VAR_0x4008, 1 + compare VAR_TEMP_8, 1 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D565 - compare VAR_0x4008, 2 + compare VAR_TEMP_8, 2 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D570 - compare VAR_0x4008, 3 + compare VAR_TEMP_8, 3 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D57B - compare VAR_0x4008, 4 + compare VAR_TEMP_8, 4 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D586 - compare VAR_0x4008, 5 + compare VAR_TEMP_8, 5 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D591 return Route110_TrickHousePuzzle5_EventScript_26D374:: @ 826D374 - compare VAR_0x4008, 1 + compare VAR_TEMP_8, 1 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D59C - compare VAR_0x4008, 2 + compare VAR_TEMP_8, 2 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5A7 - compare VAR_0x4008, 3 + compare VAR_TEMP_8, 3 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5B2 - compare VAR_0x4008, 4 + compare VAR_TEMP_8, 4 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5BD - compare VAR_0x4008, 5 + compare VAR_TEMP_8, 5 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5C8 return Route110_TrickHousePuzzle5_EventScript_26D3AC:: @ 826D3AC - compare VAR_0x4008, 1 + compare VAR_TEMP_8, 1 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5D3 - compare VAR_0x4008, 2 + compare VAR_TEMP_8, 2 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5DE - compare VAR_0x4008, 3 + compare VAR_TEMP_8, 3 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5E9 - compare VAR_0x4008, 4 + compare VAR_TEMP_8, 4 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5F4 - compare VAR_0x4008, 5 + compare VAR_TEMP_8, 5 call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5FF return diff --git a/data/scripts/maps/Route110_TrickHousePuzzle6.inc b/data/scripts/maps/Route110_TrickHousePuzzle6.inc index 0a0e025af..0f20aac1f 100644 --- a/data/scripts/maps/Route110_TrickHousePuzzle6.inc +++ b/data/scripts/maps/Route110_TrickHousePuzzle6.inc @@ -8,7 +8,7 @@ Route110_TrickHousePuzzle6_MapScript1_26DDB2: @ 826DDB2 end Route110_TrickHousePuzzle6_MapScript2_26DDB6: @ 826DDB6 - map_script_2 VAR_0x4000, 16384, Route110_TrickHousePuzzle6_EventScript_26DDC0 + map_script_2 VAR_TEMP_0, 16384, Route110_TrickHousePuzzle6_EventScript_26DDC0 .2byte 0 Route110_TrickHousePuzzle6_EventScript_26DDC0:: @ 826DDC0 diff --git a/data/scripts/maps/Route111.inc b/data/scripts/maps/Route111.inc index a23565c14..37d77d095 100644 --- a/data/scripts/maps/Route111.inc +++ b/data/scripts/maps/Route111.inc @@ -62,24 +62,24 @@ Route111_EventScript_1F0DC2:: @ 81F0DC2 return Route111_EventScript_1F0DDA:: @ 81F0DDA - setvar VAR_0x4010, 100 + setvar VAR_OBJ_GFX_ID_0, 100 return Route111_EventScript_1F0DE0:: @ 81F0DE0 - setvar VAR_0x4010, 105 + setvar VAR_OBJ_GFX_ID_0, 105 return Route111_EventScript_1F0DE6:: @ 81F0DE6 - getplayerxy VAR_0x4000, VAR_0x4001 - compare VAR_0x4001, 34 + getplayerxy VAR_TEMP_0, VAR_TEMP_1 + compare VAR_TEMP_1, 34 goto_if 0, Route111_EventScript_1F0E25 - compare VAR_0x4001, 107 + compare VAR_TEMP_1, 107 goto_if 2, Route111_EventScript_1F0E25 - compare VAR_0x4001, 72 + compare VAR_TEMP_1, 72 goto_if 2, Route111_EventScript_1F0E22 - compare VAR_0x4000, 2000 + compare VAR_TEMP_0, 2000 goto_if 2, Route111_EventScript_1F0E25 - compare VAR_0x4000, 8 + compare VAR_TEMP_0, 8 goto_if 0, Route111_EventScript_1F0E25 Route111_EventScript_1F0E22:: @ 81F0E22 @@ -208,7 +208,7 @@ Route111_EventScript_1F0F2E:: @ 81F0F2E checkitem ITEM_GO_GOGGLES, 1 compare VAR_RESULT, 0 goto_eq Route111_EventScript_1F0F45 - setvar VAR_0x4003, 1 + setvar VAR_TEMP_3, 1 releaseall end @@ -266,7 +266,7 @@ Route111_EventScript_1F0FB0:: @ 81F0FB0 setweather 2 fadenewbgm MUS_DOORO_X1 doweather - setvar VAR_0x4003, 0 + setvar VAR_TEMP_3, 0 end Route111_EventScript_1F0FBD:: @ 81F0FBD diff --git a/data/scripts/maps/Route113.inc b/data/scripts/maps/Route113.inc index d990527a6..63dc6c47f 100644 --- a/data/scripts/maps/Route113.inc +++ b/data/scripts/maps/Route113.inc @@ -13,10 +13,10 @@ Route113_MapScript1_1F2161: @ 81F2161 end Route113_EventScript_1F216A:: @ 81F216A - getplayerxy VAR_0x4000, VAR_0x4001 - compare VAR_0x4000, 19 + getplayerxy VAR_TEMP_0, VAR_TEMP_1 + compare VAR_TEMP_0, 19 goto_if 0, Route113_EventScript_1F2189 - compare VAR_0x4000, 84 + compare VAR_TEMP_0, 84 goto_if 2, Route113_EventScript_1F2189 setweather 7 return diff --git a/data/scripts/maps/Route119.inc b/data/scripts/maps/Route119.inc index 5f60851b4..41e0fbbfe 100644 --- a/data/scripts/maps/Route119.inc +++ b/data/scripts/maps/Route119.inc @@ -30,12 +30,12 @@ Route119_EventScript_1F4466:: @ 81F4466 return Route119_EventScript_1F4472:: @ 81F4472 - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 goto Route119_EventScript_1F4488 end Route119_EventScript_1F447D:: @ 81F447D - setvar VAR_0x4001, 2 + setvar VAR_TEMP_1, 2 goto Route119_EventScript_1F4488 end @@ -48,16 +48,16 @@ Route119_EventScript_1F4488:: @ 81F4488 compare VAR_RESULT, 1 call_if 1, Route119_EventScript_1F4506 delay 65 - compare VAR_0x4001, 1 + compare VAR_TEMP_1, 1 call_if 1, Route119_EventScript_1F46C6 - compare VAR_0x4001, 2 + compare VAR_TEMP_1, 2 call_if 1, Route119_EventScript_1F46D1 applymovement 255, Route119_Movement_2725AA waitmovement 0 delay 30 - compare VAR_0x4001, 1 + compare VAR_TEMP_1, 1 call_if 1, Route119_EventScript_1F4700 - compare VAR_0x4001, 2 + compare VAR_TEMP_1, 2 call_if 1, Route119_EventScript_1F470F removeobject 25 addobject 16 @@ -145,25 +145,25 @@ Route119_EventScript_1F45FF:: @ 81F45FF Route119_EventScript_1F460F:: @ 81F460F closemessage - compare VAR_0x4001, 1 + compare VAR_TEMP_1, 1 call_if 1, Route119_EventScript_1F4700 - compare VAR_0x4001, 2 + compare VAR_TEMP_1, 2 call_if 1, Route119_EventScript_1F470F removeobject 16 addobject 25 delay 30 - compare VAR_0x4001, 1 + compare VAR_TEMP_1, 1 call_if 1, Route119_EventScript_1F46DC - compare VAR_0x4001, 2 + compare VAR_TEMP_1, 2 call_if 1, Route119_EventScript_1F46EE removeobject 25 setvar VAR_0x4072, 1 savebgm MUS_DUMMY fadedefaultbgm delay 60 - compare VAR_0x4001, 1 + compare VAR_TEMP_1, 1 call_if 1, Route119_EventScript_1F46A0 - compare VAR_0x4001, 2 + compare VAR_TEMP_1, 2 call_if 1, Route119_EventScript_1F46A8 addobject 43 applymovement 43, Route119_Movement_1F4752 @@ -171,9 +171,9 @@ Route119_EventScript_1F460F:: @ 81F460F addvar VAR_0x40D1, 1 msgbox Route119_Text_1F4E60, 4 closemessage - compare VAR_0x4001, 1 + compare VAR_TEMP_1, 1 call_if 1, Route119_EventScript_1F46B0 - compare VAR_0x4001, 2 + compare VAR_TEMP_1, 2 call_if 1, Route119_EventScript_1F46BB removeobject 43 releaseall diff --git a/data/scripts/maps/Route119_WeatherInstitute_2F.inc b/data/scripts/maps/Route119_WeatherInstitute_2F.inc index c8f24f33d..0bd6c12f2 100644 --- a/data/scripts/maps/Route119_WeatherInstitute_2F.inc +++ b/data/scripts/maps/Route119_WeatherInstitute_2F.inc @@ -84,7 +84,7 @@ Route119_WeatherInstitute_2F_EventScript_26FFC8:: @ 826FFC8 Route119_WeatherInstitute_2F_EventScript_27004D:: @ 827004D msgbox Route119_WeatherInstitute_2F_Text_270650, 4 - setvar VAR_0x4001, 385 + setvar VAR_TEMP_1, 385 givemon SPECIES_CASTFORM, 25, ITEM_MYSTIC_WATER, 0x0, 0x0, 0 compare VAR_RESULT, 0 goto_eq Route119_WeatherInstitute_2F_EventScript_270085 diff --git a/data/scripts/maps/Route120.inc b/data/scripts/maps/Route120.inc index b3475a3ed..461823e47 100644 --- a/data/scripts/maps/Route120.inc +++ b/data/scripts/maps/Route120.inc @@ -70,12 +70,12 @@ Route120_MapScript1_1F54CD: @ 81F54CD end Route120_EventScript_1F54D8:: @ 81F54D8 - getplayerxy VAR_0x4000, VAR_0x4001 - compare VAR_0x4001, 14 + getplayerxy VAR_TEMP_0, VAR_TEMP_1 + compare VAR_TEMP_1, 14 goto_if 3, Route120_EventScript_1F5503 - compare VAR_0x4001, 60 + compare VAR_TEMP_1, 60 goto_if 3, Route120_EventScript_1F5507 - compare VAR_0x4001, 61 + compare VAR_TEMP_1, 61 goto_if 4, Route120_EventScript_1F54FF return @@ -88,9 +88,9 @@ Route120_EventScript_1F5503:: @ 81F5503 return Route120_EventScript_1F5507:: @ 81F5507 - compare VAR_0x4000, 7 + compare VAR_TEMP_0, 7 goto_if 3, Route120_EventScript_1F5523 - compare VAR_0x4000, 19 + compare VAR_TEMP_0, 19 goto_if 3, Route120_EventScript_1F5503 goto Route120_EventScript_1F5523 end diff --git a/data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc b/data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc index dd5218e1d..0892b216a 100644 --- a/data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc +++ b/data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc @@ -23,13 +23,13 @@ Route124_DivingTreasureHuntersHouse_EventScript_270A4E:: @ 8270A4E Route124_DivingTreasureHuntersHouse_EventScript_270A5C:: @ 8270A5C call Route124_DivingTreasureHuntersHouse_EventScript_270A72 - compare VAR_0x4001, 0 + compare VAR_TEMP_1, 0 goto_eq Route124_DivingTreasureHuntersHouse_EventScript_270F57 goto Route124_DivingTreasureHuntersHouse_EventScript_270AD0 end Route124_DivingTreasureHuntersHouse_EventScript_270A72:: @ 8270A72 - setvar VAR_0x4001, 0 + setvar VAR_TEMP_1, 0 checkitem ITEM_RED_SHARD, 1 compare VAR_RESULT, 1 call_if 1, Route124_DivingTreasureHuntersHouse_EventScript_270AB8 @@ -45,19 +45,19 @@ Route124_DivingTreasureHuntersHouse_EventScript_270A72:: @ 8270A72 return Route124_DivingTreasureHuntersHouse_EventScript_270AB8:: @ 8270AB8 - addvar VAR_0x4001, 1 + addvar VAR_TEMP_1, 1 return Route124_DivingTreasureHuntersHouse_EventScript_270ABE:: @ 8270ABE - addvar VAR_0x4001, 2 + addvar VAR_TEMP_1, 2 return Route124_DivingTreasureHuntersHouse_EventScript_270AC4:: @ 8270AC4 - addvar VAR_0x4001, 4 + addvar VAR_TEMP_1, 4 return Route124_DivingTreasureHuntersHouse_EventScript_270ACA:: @ 8270ACA - addvar VAR_0x4001, 8 + addvar VAR_TEMP_1, 8 return Route124_DivingTreasureHuntersHouse_EventScript_270AD0:: @ 8270AD0 @@ -68,7 +68,7 @@ Route124_DivingTreasureHuntersHouse_EventScript_270AD0:: @ 8270AD0 Route124_DivingTreasureHuntersHouse_EventScript_270ADE:: @ 8270ADE message Route124_DivingTreasureHuntersHouse_Text_271117 waitmessage - switch VAR_0x4001 + switch VAR_TEMP_1 case 1, Route124_DivingTreasureHuntersHouse_EventScript_270B8F case 2, Route124_DivingTreasureHuntersHouse_EventScript_270BB5 case 3, Route124_DivingTreasureHuntersHouse_EventScript_270BDB @@ -263,7 +263,7 @@ Route124_DivingTreasureHuntersHouse_EventScript_270F01:: @ 8270F01 giveitem_std VAR_0x8009 msgbox Route124_DivingTreasureHuntersHouse_Text_271158, 4 call Route124_DivingTreasureHuntersHouse_EventScript_270A72 - compare VAR_0x4001, 0 + compare VAR_TEMP_1, 0 goto_eq Route124_DivingTreasureHuntersHouse_EventScript_270F61 msgbox Route124_DivingTreasureHuntersHouse_Text_27117B, 5 compare VAR_RESULT, 1 diff --git a/data/scripts/maps/RustboroCity.inc b/data/scripts/maps/RustboroCity.inc index 8798a586a..f8426a7eb 100644 --- a/data/scripts/maps/RustboroCity.inc +++ b/data/scripts/maps/RustboroCity.inc @@ -8,13 +8,13 @@ RustboroCity_MapScript1_1E06C8: @ 81E06C8 call RustboroCity_EventScript_271ED7 compare VAR_0x405A, 6 call_if 1, RustboroCity_EventScript_1E0707 - getplayerxy VAR_0x4000, VAR_0x4001 + getplayerxy VAR_TEMP_0, VAR_TEMP_1 compare VAR_0x405A, 6 goto_eq RustboroCity_EventScript_1E06EC end RustboroCity_EventScript_1E06EC:: @ 81E06EC - compare VAR_0x4000, 11 + compare VAR_TEMP_0, 11 goto_eq RustboroCity_EventScript_1E06FF setobjectxyperm 15, 12, 15 end @@ -459,42 +459,42 @@ RustboroCity_EventScript_1E0ADD:: @ 81E0ADD RustboroCity_EventScript_1E0AF2:: @ 81E0AF2 waitse - setvar VAR_0x4001, 4 + setvar VAR_TEMP_1, 4 goto RustboroCity_EventScript_1E0C5B end RustboroCity_EventScript_1E0AFE:: @ 81E0AFE lockall - setvar VAR_0x4001, 0 + setvar VAR_TEMP_1, 0 goto RustboroCity_EventScript_1E0B2E end RustboroCity_EventScript_1E0B0A:: @ 81E0B0A lockall - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 goto RustboroCity_EventScript_1E0B2E end RustboroCity_EventScript_1E0B16:: @ 81E0B16 lockall - setvar VAR_0x4001, 2 + setvar VAR_TEMP_1, 2 goto RustboroCity_EventScript_1E0B2E end RustboroCity_EventScript_1E0B22:: @ 81E0B22 lockall - setvar VAR_0x4001, 3 + setvar VAR_TEMP_1, 3 goto RustboroCity_EventScript_1E0B2E end RustboroCity_EventScript_1E0B2E:: @ 81E0B2E - compare VAR_0x4001, 0 + compare VAR_TEMP_1, 0 call_if 1, RustboroCity_EventScript_1E0B6F - compare VAR_0x4001, 1 + compare VAR_TEMP_1, 1 call_if 1, RustboroCity_EventScript_1E0B9B - compare VAR_0x4001, 2 + compare VAR_TEMP_1, 2 call_if 1, RustboroCity_EventScript_1E0BC7 - compare VAR_0x4001, 3 + compare VAR_TEMP_1, 3 call_if 1, RustboroCity_EventScript_1E0BF3 setflag FLAG_0x09F setvar VAR_0x405A, 3 @@ -559,38 +559,38 @@ RustboroCity_Movement_1E0C29: @ 81E0C29 RustboroCity_EventScript_1E0C2B:: @ 81E0C2B lockall - setvar VAR_0x4001, 0 + setvar VAR_TEMP_1, 0 goto RustboroCity_EventScript_1E0C5B end RustboroCity_EventScript_1E0C37:: @ 81E0C37 lockall - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 goto RustboroCity_EventScript_1E0C5B end RustboroCity_EventScript_1E0C43:: @ 81E0C43 lockall - setvar VAR_0x4001, 2 + setvar VAR_TEMP_1, 2 goto RustboroCity_EventScript_1E0C5B end RustboroCity_EventScript_1E0C4F:: @ 81E0C4F lockall - setvar VAR_0x4001, 3 + setvar VAR_TEMP_1, 3 goto RustboroCity_EventScript_1E0C5B end RustboroCity_EventScript_1E0C5B:: @ 81E0C5B - compare VAR_0x4001, 0 + compare VAR_TEMP_1, 0 call_if 1, RustboroCity_EventScript_1E0CDC - compare VAR_0x4001, 1 + compare VAR_TEMP_1, 1 call_if 1, RustboroCity_EventScript_1E0D08 - compare VAR_0x4001, 2 + compare VAR_TEMP_1, 2 call_if 1, RustboroCity_EventScript_1E0D34 - compare VAR_0x4001, 3 + compare VAR_TEMP_1, 3 call_if 1, RustboroCity_EventScript_1E0D60 - compare VAR_0x4001, 4 + compare VAR_TEMP_1, 4 call_if 1, RustboroCity_EventScript_1E0D96 msgbox RustboroCity_Text_1E194D, 4 giveitem_std ITEM_GREAT_BALL diff --git a/data/scripts/maps/RustboroCity_DevonCorp_2F.inc b/data/scripts/maps/RustboroCity_DevonCorp_2F.inc index 5543b297a..88f0c2e73 100644 --- a/data/scripts/maps/RustboroCity_DevonCorp_2F.inc +++ b/data/scripts/maps/RustboroCity_DevonCorp_2F.inc @@ -158,7 +158,7 @@ RustboroCity_DevonCorp_2F_EventScript_211A2C:: @ 8211A2C end RustboroCity_DevonCorp_2F_EventScript_211A3E:: @ 8211A3E - setvar VAR_0x4001, 388 + setvar VAR_TEMP_1, 388 givemon SPECIES_LILEEP, 20, ITEM_NONE, 0x0, 0x0, 0 compare VAR_RESULT, 0 goto_eq RustboroCity_DevonCorp_2F_EventScript_211A6E @@ -207,7 +207,7 @@ RustboroCity_DevonCorp_2F_EventScript_211AD7:: @ 8211AD7 end RustboroCity_DevonCorp_2F_EventScript_211AE1:: @ 8211AE1 - setvar VAR_0x4001, 390 + setvar VAR_TEMP_1, 390 givemon SPECIES_ANORITH, 20, ITEM_NONE, 0x0, 0x0, 0 compare VAR_RESULT, 0 goto_eq RustboroCity_DevonCorp_2F_EventScript_211B11 diff --git a/data/scripts/maps/RusturfTunnel.inc b/data/scripts/maps/RusturfTunnel.inc index e4e362234..52dca4c95 100644 --- a/data/scripts/maps/RusturfTunnel.inc +++ b/data/scripts/maps/RusturfTunnel.inc @@ -51,35 +51,35 @@ RusturfTunnel_EventScript_22CE99:: @ 822CE99 RusturfTunnel_EventScript_22CEAE:: @ 822CEAE lockall - compare VAR_0x4001, 1 + compare VAR_TEMP_1, 1 call_if 1, RusturfTunnel_EventScript_22CFA7 - compare VAR_0x4001, 2 + compare VAR_TEMP_1, 2 call_if 1, RusturfTunnel_EventScript_22CFBC - compare VAR_0x4001, 3 + compare VAR_TEMP_1, 3 call_if 1, RusturfTunnel_EventScript_22CFC7 call RusturfTunnel_EventScript_22CFFF msgbox RusturfTunnel_Text_22D65C, 4 - compare VAR_0x4001, 2 + compare VAR_TEMP_1, 2 call_if 1, RusturfTunnel_EventScript_22CFC8 - compare VAR_0x4001, 3 + compare VAR_TEMP_1, 3 call_if 1, RusturfTunnel_EventScript_22CFC8 giveitem_std ITEM_HM04 setflag FLAG_0x06A msgbox RusturfTunnel_Text_22D6D2, 4 closemessage - compare VAR_0x4001, 1 + compare VAR_TEMP_1, 1 call_if 1, RusturfTunnel_EventScript_22CF5D - compare VAR_0x4001, 2 + compare VAR_TEMP_1, 2 call_if 1, RusturfTunnel_EventScript_22CF6F - compare VAR_0x4001, 3 + compare VAR_TEMP_1, 3 call_if 1, RusturfTunnel_EventScript_22CF8B msgbox RusturfTunnel_Text_22D745, 4 closemessage - compare VAR_0x4001, 1 + compare VAR_TEMP_1, 1 call_if 1, RusturfTunnel_EventScript_22CFD4 - compare VAR_0x4001, 2 + compare VAR_TEMP_1, 2 call_if 1, RusturfTunnel_EventScript_22CFE6 - compare VAR_0x4001, 3 + compare VAR_TEMP_1, 3 call_if 1, RusturfTunnel_EventScript_22CFE6 call RusturfTunnel_EventScript_272216 releaseall @@ -268,15 +268,15 @@ RusturfTunnel_Movement_22D06C: @ 822D06C step_end RusturfTunnel_EventScript_22D071:: @ 822D071 - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 end RusturfTunnel_EventScript_22D077:: @ 822D077 - setvar VAR_0x4001, 2 + setvar VAR_TEMP_1, 2 end RusturfTunnel_EventScript_22D07D:: @ 822D07D - setvar VAR_0x4001, 3 + setvar VAR_TEMP_1, 3 end RusturfTunnel_EventScript_22D083:: @ 822D083 diff --git a/data/scripts/maps/SlateportCity_BattleTentBattleRoom.inc b/data/scripts/maps/SlateportCity_BattleTentBattleRoom.inc index e52828a19..4c5aa0371 100644 --- a/data/scripts/maps/SlateportCity_BattleTentBattleRoom.inc +++ b/data/scripts/maps/SlateportCity_BattleTentBattleRoom.inc @@ -17,25 +17,25 @@ SlateportCity_BattleTentBattleRoom_EventScript_209976:: @ 8209976 return SlateportCity_BattleTentBattleRoom_EventScript_20998E:: @ 820998E - setvar VAR_0x4011, 100 + setvar VAR_OBJ_GFX_ID_1, 100 return SlateportCity_BattleTentBattleRoom_EventScript_209994:: @ 8209994 - setvar VAR_0x4011, 105 + setvar VAR_OBJ_GFX_ID_1, 105 return SlateportCity_BattleTentBattleRoom_MapScript2_20999A: @ 820999A - map_script_2 VAR_0x4001, 0, SlateportCity_BattleTentBattleRoom_EventScript_2099A4 + map_script_2 VAR_TEMP_1, 0, SlateportCity_BattleTentBattleRoom_EventScript_2099A4 .2byte 0 SlateportCity_BattleTentBattleRoom_EventScript_2099A4:: @ 82099A4 - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 hideobjectat 255, FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM hideobjectat 2, SLATEPORT_CITY_BATTLE_TENT_BATTLE_ROOM end SlateportCity_BattleTentBattleRoom_MapScript2_2099B4: @ 82099B4 - map_script_2 VAR_0x4000, 0, SlateportCity_BattleTentBattleRoom_EventScript_2099BE + map_script_2 VAR_TEMP_0, 0, SlateportCity_BattleTentBattleRoom_EventScript_2099BE .2byte 0 SlateportCity_BattleTentBattleRoom_EventScript_2099BE:: @ 82099BE diff --git a/data/scripts/maps/SlateportCity_BattleTentCorridor.inc b/data/scripts/maps/SlateportCity_BattleTentCorridor.inc index b293dc140..47ca641ce 100644 --- a/data/scripts/maps/SlateportCity_BattleTentCorridor.inc +++ b/data/scripts/maps/SlateportCity_BattleTentCorridor.inc @@ -4,11 +4,11 @@ SlateportCity_BattleTentCorridor_MapScripts:: @ 8208E26 .byte 0 SlateportCity_BattleTentCorridor_MapScript2_208E31: @ 8208E31 - map_script_2 VAR_0x4001, 0, SlateportCity_BattleTentCorridor_EventScript_208E3B + map_script_2 VAR_TEMP_1, 0, SlateportCity_BattleTentCorridor_EventScript_208E3B .2byte 0 SlateportCity_BattleTentCorridor_EventScript_208E3B:: @ 8208E3B - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 compare VAR_0x8006, 1 goto_if 5, SlateportCity_BattleTentCorridor_EventScript_208E56 setobjectxy 1, 2, 2 @@ -19,13 +19,13 @@ SlateportCity_BattleTentCorridor_EventScript_208E56:: @ 8208E56 end SlateportCity_BattleTentCorridor_MapScript2_208E5B: @ 8208E5B - map_script_2 VAR_0x4000, 0, SlateportCity_BattleTentCorridor_EventScript_208E65 + map_script_2 VAR_TEMP_0, 0, SlateportCity_BattleTentCorridor_EventScript_208E65 .2byte 0 SlateportCity_BattleTentCorridor_EventScript_208E65:: @ 8208E65 compare VAR_0x8006, 1 goto_eq SlateportCity_BattleTentCorridor_EventScript_208EEE - setvar VAR_0x4000, 1 + setvar VAR_TEMP_0, 1 applymovement 1, SlateportCity_BattleTentCorridor_Movement_209062 applymovement 255, SlateportCity_BattleTentCorridor_Movement_209059 waitmovement 0 diff --git a/data/scripts/maps/SlateportCity_BattleTentLobby.inc b/data/scripts/maps/SlateportCity_BattleTentLobby.inc index e5f510179..6353856e3 100644 --- a/data/scripts/maps/SlateportCity_BattleTentLobby.inc +++ b/data/scripts/maps/SlateportCity_BattleTentLobby.inc @@ -4,20 +4,20 @@ SlateportCity_BattleTentLobby_MapScripts:: @ 8208730 .byte 0 SlateportCity_BattleTentLobby_MapScript2_20873B: @ 820873B - map_script_2 VAR_0x4001, 0, SlateportCity_BattleTentLobby_EventScript_208745 + map_script_2 VAR_TEMP_1, 0, SlateportCity_BattleTentLobby_EventScript_208745 .2byte 0 SlateportCity_BattleTentLobby_EventScript_208745:: @ 8208745 - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 turnobject 255, 2 end SlateportCity_BattleTentLobby_MapScript2_20874F: @ 820874F - map_script_2 VAR_0x4000, 0, SlateportCity_BattleTentLobby_EventScript_208779 - map_script_2 VAR_0x4000, 1, SlateportCity_BattleTentLobby_EventScript_208782 - map_script_2 VAR_0x4000, 2, SlateportCity_BattleTentLobby_EventScript_208871 - map_script_2 VAR_0x4000, 3, SlateportCity_BattleTentLobby_EventScript_2087B7 - map_script_2 VAR_0x4000, 4, SlateportCity_BattleTentLobby_EventScript_208837 + map_script_2 VAR_TEMP_0, 0, SlateportCity_BattleTentLobby_EventScript_208779 + map_script_2 VAR_TEMP_0, 1, SlateportCity_BattleTentLobby_EventScript_208782 + map_script_2 VAR_TEMP_0, 2, SlateportCity_BattleTentLobby_EventScript_208871 + map_script_2 VAR_TEMP_0, 3, SlateportCity_BattleTentLobby_EventScript_2087B7 + map_script_2 VAR_TEMP_0, 4, SlateportCity_BattleTentLobby_EventScript_208837 .2byte 0 SlateportCity_BattleTentLobby_EventScript_208779:: @ 8208779 @@ -33,7 +33,7 @@ SlateportCity_BattleTentLobby_EventScript_208782:: @ 8208782 setvar VAR_0x8005, 0 setvar VAR_0x8006, 0 special sub_81A1780 - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 setvar VAR_0x8004, 2 setvar VAR_0x8005, 1 setvar VAR_0x8006, 0 @@ -94,7 +94,7 @@ SlateportCity_BattleTentLobby_EventScript_208837:: @ 8208837 SlateportCity_BattleTentLobby_EventScript_208861:: @ 8208861 msgbox SlateportCity_BattleTentLobby_Text_2C5AA5, 4 closemessage - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 releaseall end @@ -111,7 +111,7 @@ SlateportCity_BattleTentLobby_EventScript_208871:: @ 8208871 setvar VAR_0x8005, 3 setvar VAR_0x8006, 0 special sub_81A1780 - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 setvar VAR_0x8006, 2 goto SlateportCity_BattleTentLobby_EventScript_2089AC @@ -149,7 +149,7 @@ SlateportCity_BattleTentLobby_EventScript_208906:: @ 8208906 case 127, SlateportCity_BattleTentLobby_EventScript_208A2B SlateportCity_BattleTentLobby_EventScript_208950:: @ 8208950 - setvar VAR_0x4000, 0 + setvar VAR_TEMP_0, 0 setvar VAR_0x8004, 2 setvar VAR_0x8005, 4 special sub_81A1780 @@ -166,7 +166,7 @@ SlateportCity_BattleTentLobby_EventScript_208950:: @ 8208950 closemessage delay 2 call SlateportCity_BattleTentLobby_EventScript_27134F - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 compare VAR_RESULT, 0 goto_eq SlateportCity_BattleTentLobby_EventScript_208A14 setvar VAR_0x8006, 0 @@ -176,7 +176,7 @@ SlateportCity_BattleTentLobby_EventScript_2089AC:: @ 82089AC closemessage call SlateportCity_BattleTentLobby_EventScript_2089C9 warp SLATEPORT_CITY_BATTLE_TENT_CORRIDOR, 255, 2, 7 - setvar VAR_0x4000, 0 + setvar VAR_TEMP_0, 0 waitstate end diff --git a/data/scripts/maps/SlateportCity_Harbor.inc b/data/scripts/maps/SlateportCity_Harbor.inc index 5fb080363..a66e0e6d9 100644 --- a/data/scripts/maps/SlateportCity_Harbor.inc +++ b/data/scripts/maps/SlateportCity_Harbor.inc @@ -4,7 +4,7 @@ SlateportCity_Harbor_MapScripts:: @ 820C97D SlateportCity_Harbor_MapScript1_20C983: @ 820C983 setescapewarp SLATEPORT_CITY, 255, 28, 13 - setvar VAR_0x4001, 0 + setvar VAR_TEMP_1, 0 compare VAR_0x40A0, 1 call_if 1, SlateportCity_Harbor_EventScript_20C9A9 checkflag FLAG_SYS_GAME_CLEAR @@ -331,7 +331,7 @@ SlateportCity_Harbor_EventScript_20CCF6:: @ 820CCF6 end SlateportCity_Harbor_EventScript_20CD00:: @ 820CD00 - compare VAR_0x4001, 1 + compare VAR_TEMP_1, 1 goto_eq SlateportCity_Harbor_EventScript_20CE11 checkitem ITEM_SCANNER, 1 compare VAR_RESULT, 1 @@ -400,7 +400,7 @@ SlateportCity_Harbor_EventScript_20CE05:: @ 820CE05 end SlateportCity_Harbor_EventScript_20CE11:: @ 820CE11 - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 msgbox SlateportCity_Harbor_Text_20D970, 4 release end diff --git a/data/scripts/maps/SlateportCity_PokemonFanClub.inc b/data/scripts/maps/SlateportCity_PokemonFanClub.inc index 192870003..307f42af5 100644 --- a/data/scripts/maps/SlateportCity_PokemonFanClub.inc +++ b/data/scripts/maps/SlateportCity_PokemonFanClub.inc @@ -22,7 +22,7 @@ SlateportCity_PokemonFanClub_EventScript_209ED2:: @ 8209ED2 end SlateportCity_PokemonFanClub_EventScript_209EE5:: @ 8209EE5 - setvar VAR_0x4002, 0 + setvar VAR_TEMP_2, 0 checkflag FLAG_0x0CC call_if 1, SlateportCity_PokemonFanClub_EventScript_209FD0 checkflag FLAG_0x0CB @@ -33,7 +33,7 @@ SlateportCity_PokemonFanClub_EventScript_209EE5:: @ 8209EE5 call_if 1, SlateportCity_PokemonFanClub_EventScript_209FD0 checkflag FLAG_0x0C8 call_if 1, SlateportCity_PokemonFanClub_EventScript_209FD0 - compare VAR_0x4002, 5 + compare VAR_TEMP_2, 5 call_if 1, SlateportCity_PokemonFanClub_EventScript_209FCA compare VAR_0x40B7, 2 goto_eq SlateportCity_PokemonFanClub_EventScript_209F3B @@ -48,7 +48,7 @@ SlateportCity_PokemonFanClub_EventScript_209F3B:: @ 8209F3B SlateportCity_PokemonFanClub_EventScript_209F45:: @ 8209F45 msgbox SlateportCity_PokemonFanClub_Text_20A65F, 4 - setvar VAR_0x4001, 0 + setvar VAR_TEMP_1, 0 checkflag FLAG_0x0CC call_if 0, SlateportCity_PokemonFanClub_EventScript_20A13B checkflag FLAG_0x0CB @@ -60,7 +60,7 @@ SlateportCity_PokemonFanClub_EventScript_209F45:: @ 8209F45 checkflag FLAG_0x0C8 call_if 0, SlateportCity_PokemonFanClub_EventScript_20A0DF bufferleadmonspeciesname 0 - switch VAR_0x4001 + switch VAR_TEMP_1 case 0, SlateportCity_PokemonFanClub_EventScript_209FD6 case 1, SlateportCity_PokemonFanClub_EventScript_209FE0 case 2, SlateportCity_PokemonFanClub_EventScript_20A011 @@ -75,7 +75,7 @@ SlateportCity_PokemonFanClub_EventScript_209FCA:: @ 8209FCA return SlateportCity_PokemonFanClub_EventScript_209FD0:: @ 8209FD0 - addvar VAR_0x4002, 1 + addvar VAR_TEMP_2, 1 return SlateportCity_PokemonFanClub_EventScript_209FD6:: @ 8209FD6 @@ -150,7 +150,7 @@ SlateportCity_PokemonFanClub_EventScript_20A0DF:: @ 820A0DF return SlateportCity_PokemonFanClub_EventScript_20A0F0:: @ 820A0F0 - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 return SlateportCity_PokemonFanClub_EventScript_20A0F6:: @ 820A0F6 @@ -160,7 +160,7 @@ SlateportCity_PokemonFanClub_EventScript_20A0F6:: @ 820A0F6 return SlateportCity_PokemonFanClub_EventScript_20A107:: @ 820A107 - setvar VAR_0x4001, 2 + setvar VAR_TEMP_1, 2 return SlateportCity_PokemonFanClub_EventScript_20A10D:: @ 820A10D @@ -170,7 +170,7 @@ SlateportCity_PokemonFanClub_EventScript_20A10D:: @ 820A10D return SlateportCity_PokemonFanClub_EventScript_20A11E:: @ 820A11E - setvar VAR_0x4001, 3 + setvar VAR_TEMP_1, 3 return SlateportCity_PokemonFanClub_EventScript_20A124:: @ 820A124 @@ -180,7 +180,7 @@ SlateportCity_PokemonFanClub_EventScript_20A124:: @ 820A124 return SlateportCity_PokemonFanClub_EventScript_20A135:: @ 820A135 - setvar VAR_0x4001, 4 + setvar VAR_TEMP_1, 4 return SlateportCity_PokemonFanClub_EventScript_20A13B:: @ 820A13B @@ -190,7 +190,7 @@ SlateportCity_PokemonFanClub_EventScript_20A13B:: @ 820A13B return SlateportCity_PokemonFanClub_EventScript_20A14C:: @ 820A14C - setvar VAR_0x4001, 5 + setvar VAR_TEMP_1, 5 return SlateportCity_PokemonFanClub_EventScript_20A152:: @ 820A152 diff --git a/data/scripts/maps/SootopolisCity_Gym_1F.inc b/data/scripts/maps/SootopolisCity_Gym_1F.inc index 362ae269c..6a53dc57c 100644 --- a/data/scripts/maps/SootopolisCity_Gym_1F.inc +++ b/data/scripts/maps/SootopolisCity_Gym_1F.inc @@ -15,7 +15,7 @@ SootopolisCity_Gym_1F_MapScript1_224E67: @ 8224E67 SootopolisCity_Gym_1F_MapScript1_224E6A: @ 8224E6A call SootopolisCity_Gym_1F_EventScript_224E73 - special sub_809E1C8 + special SetSootopolisGymCrackedIceMetatiles end SootopolisCity_Gym_1F_EventScript_224E73:: @ 8224E73 diff --git a/data/scripts/maps/SootopolisCity_MysteryEventsHouse_1F.inc b/data/scripts/maps/SootopolisCity_MysteryEventsHouse_1F.inc index eaca36e59..54ade5181 100644 --- a/data/scripts/maps/SootopolisCity_MysteryEventsHouse_1F.inc +++ b/data/scripts/maps/SootopolisCity_MysteryEventsHouse_1F.inc @@ -13,7 +13,7 @@ SootopolisCity_MysteryEventsHouse_1F_MapScript1_22795E: @ 822795E end SootopolisCity_MysteryEventsHouse_1F_EventScript_22797D:: @ 822797D - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 setobjectxyperm 1, 3, 2 setobjectmovementtype 1, 8 setmaplayoutindex 441 @@ -78,7 +78,7 @@ SootopolisCity_MysteryEventsHouse_1F_EventScript_227A24:: @ 8227A24 special sub_81A1780 compare VAR_RESULT, 1 goto_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227A4E - compare VAR_0x4001, 1 + compare VAR_TEMP_1, 1 goto_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227A58 msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227B46, 4 release diff --git a/data/scripts/maps/SootopolisCity_MysteryEventsHouse_B1F.inc b/data/scripts/maps/SootopolisCity_MysteryEventsHouse_B1F.inc index 0dec00967..5a4a09735 100644 --- a/data/scripts/maps/SootopolisCity_MysteryEventsHouse_B1F.inc +++ b/data/scripts/maps/SootopolisCity_MysteryEventsHouse_B1F.inc @@ -8,7 +8,7 @@ SootopolisCity_MysteryEventsHouse_B1F_MapScript1_227E5A: @ 8227E5A end SootopolisCity_MysteryEventsHouse_B1F_MapScript2_227E5E: @ 8227E5E - map_script_2 VAR_0x4001, 0, SootopolisCity_MysteryEventsHouse_B1F_EventScript_227E68 + map_script_2 VAR_TEMP_1, 0, SootopolisCity_MysteryEventsHouse_B1F_EventScript_227E68 .2byte 0 SootopolisCity_MysteryEventsHouse_B1F_EventScript_227E68:: @ 8227E68 @@ -33,7 +33,7 @@ SootopolisCity_MysteryEventsHouse_B1F_EventScript_227E68:: @ 8227E68 applymovement 255, SootopolisCity_MysteryEventsHouse_B1F_Movement_227EF9 waitmovement 0 special LoadPlayerParty - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 warp SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_1F, 255, 3, 1 waitstate releaseall diff --git a/data/scripts/maps/SouthernIsland_Interior.inc b/data/scripts/maps/SouthernIsland_Interior.inc index cbaaa905a..b7d4e101c 100644 --- a/data/scripts/maps/SouthernIsland_Interior.inc +++ b/data/scripts/maps/SouthernIsland_Interior.inc @@ -24,13 +24,13 @@ SouthernIsland_Interior_MapScript1_242A6E: @ 8242A6E end SouthernIsland_Interior_EventScript_242A8A:: @ 8242A8A - setvar VAR_0x4011, 188 - setvar VAR_0x4004, 408 + setvar VAR_OBJ_GFX_ID_1, 188 + setvar VAR_TEMP_4, 408 return SouthernIsland_Interior_EventScript_242A95:: @ 8242A95 - setvar VAR_0x4011, 187 - setvar VAR_0x4004, 407 + setvar VAR_OBJ_GFX_ID_1, 187 + setvar VAR_TEMP_4, 407 return SouthernIsland_Interior_EventScript_242AA0:: @ 8242AA0 @@ -42,11 +42,11 @@ SouthernIsland_Interior_EventScript_242AA0:: @ 8242AA0 end SouthernIsland_Interior_EventScript_242AB8:: @ 8242AB8 - setvar VAR_0x4010, 100 + setvar VAR_OBJ_GFX_ID_0, 100 return SouthernIsland_Interior_EventScript_242ABE:: @ 8242ABE - setvar VAR_0x4010, 105 + setvar VAR_OBJ_GFX_ID_0, 105 return SouthernIsland_Interior_EventScript_242AC4:: @ 8242AC4 @@ -71,7 +71,7 @@ SouthernIsland_Interior_EventScript_242AD0:: @ 8242AD0 waitmovement 0 delay 50 waitse - playmoncry VAR_0x4004, 0 + playmoncry VAR_TEMP_4, 0 delay 30 waitmoncry addobject 2 @@ -103,12 +103,12 @@ SouthernIsland_Interior_EventScript_242AD0:: @ 8242AD0 SouthernIsland_Interior_EventScript_242B81:: @ 8242B81 setflag FLAG_0x1C8 - copyvar VAR_0x8004, VAR_0x4004 + copyvar VAR_0x8004, VAR_TEMP_4 goto SouthernIsland_Interior_EventScript_273776 end SouthernIsland_Interior_EventScript_242B8F:: @ 8242B8F - copyvar VAR_0x8004, VAR_0x4004 + copyvar VAR_0x8004, VAR_TEMP_4 goto SouthernIsland_Interior_EventScript_273776 end diff --git a/data/scripts/maps/TerraCave_End.inc b/data/scripts/maps/TerraCave_End.inc index 63fc07f5b..be532733d 100644 --- a/data/scripts/maps/TerraCave_End.inc +++ b/data/scripts/maps/TerraCave_End.inc @@ -22,7 +22,7 @@ TerraCave_End_MapScript1_23B0D9: @ 823B0D9 TerraCave_End_EventScript_23B0E3:: @ 823B0E3 clearflag FLAG_0x30F - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 return TerraCave_End_EventScript_23B0EC:: @ 823B0EC @@ -41,7 +41,7 @@ TerraCave_End_EventScript_23B0EC:: @ 823B0EC special BattleSetup_StartLegendaryBattle waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE - setvar VAR_0x4001, 0 + setvar VAR_TEMP_1, 0 specialvar VAR_RESULT, sub_8138B80 compare VAR_RESULT, 1 goto_eq TerraCave_End_EventScript_23B155 diff --git a/data/scripts/maps/TrainerHill_Elevator.inc b/data/scripts/maps/TrainerHill_Elevator.inc index c3644e0de..7886f91b8 100644 --- a/data/scripts/maps/TrainerHill_Elevator.inc +++ b/data/scripts/maps/TrainerHill_Elevator.inc @@ -3,7 +3,7 @@ TrainerHill_Elevator_MapScripts:: @ 826934F .byte 0 TrainerHill_Elevator_MapScript2_269355: @ 8269355 - map_script_2 VAR_0x4004, 0, TrainerHill_Elevator_EventScript_269375 + map_script_2 VAR_TEMP_4, 0, TrainerHill_Elevator_EventScript_269375 .2byte 0 TrainerHill_Elevator_EventScript_26935F:: @ 826935F diff --git a/data/scripts/maps/TrainerHill_Entrance.inc b/data/scripts/maps/TrainerHill_Entrance.inc index eb12efb4b..6dc934f3c 100644 --- a/data/scripts/maps/TrainerHill_Entrance.inc +++ b/data/scripts/maps/TrainerHill_Entrance.inc @@ -8,7 +8,7 @@ TrainerHill_Entrance_MapScripts:: @ 82680AC TrainerHill_Entrance_MapScript1_2680C6: @ 82680C6 setflag FLAG_LANDMARK_TRAINER_HILL - getplayerxy VAR_0x400D, VAR_RESULT + getplayerxy VAR_TEMP_D, VAR_RESULT end TrainerHill_Entrance_MapScript1_2680CF: @ 82680CF @@ -17,7 +17,7 @@ TrainerHill_Entrance_MapScript1_2680CF: @ 82680CF TrainerHill_Entrance_MapScript1_2680D0: @ 82680D0 setvar VAR_0x8004, 4 special sp194_trainer_tower - setvar VAR_0x4000, 0 + setvar VAR_TEMP_0, 0 setvar VAR_0x8004, 9 special sp194_trainer_tower compare VAR_RESULT, 0 @@ -45,7 +45,7 @@ TrainerHill_Entrance_MapScript1_26811B: @ 826811B end TrainerHill_Entrance_MapScript1_268128: @ 8268128 - compare VAR_0x400D, 17 + compare VAR_TEMP_D, 17 call_if 1, TrainerHill_Entrance_EventScript_268134 end @@ -54,10 +54,10 @@ TrainerHill_Entrance_EventScript_268134:: @ 8268134 return TrainerHill_Entrance_MapScript2_26813E: @ 826813E - map_script_2 VAR_0x4000, 0, TrainerHill_Entrance_EventScript_268182 - map_script_2 VAR_0x400D, 17, TrainerHill_Entrance_EventScript_268160 - map_script_2 VAR_0x4005, 1, TrainerHill_Entrance_EventScript_268229 - map_script_2 VAR_0x4001, 1, TrainerHill_Entrance_EventScript_2C83DF + map_script_2 VAR_TEMP_0, 0, TrainerHill_Entrance_EventScript_268182 + map_script_2 VAR_TEMP_D, 17, TrainerHill_Entrance_EventScript_268160 + map_script_2 VAR_TEMP_5, 1, TrainerHill_Entrance_EventScript_268229 + map_script_2 VAR_TEMP_1, 1, TrainerHill_Entrance_EventScript_2C83DF .2byte 0 TrainerHill_Entrance_EventScript_268160:: @ 8268160 @@ -68,12 +68,12 @@ TrainerHill_Entrance_EventScript_268160:: @ 8268160 special DrawWholeMapView playse SE_TK_KASYA waitse - setvar VAR_0x400D, 0 + setvar VAR_TEMP_D, 0 releaseall end TrainerHill_Entrance_EventScript_268182:: @ 8268182 - setvar VAR_0x4000, 1 + setvar VAR_TEMP_0, 1 setvar VAR_0x8004, 6 special sp194_trainer_tower switch VAR_RESULT @@ -173,7 +173,7 @@ TrainerHill_Entrance_EventScript_2682C8:: @ 82682C8 copyvar VAR_0x8005, VAR_RESULT special sp194_trainer_tower setvar VAR_0x40D6, 1 - setvar VAR_0x4005, 0 + setvar VAR_TEMP_5, 0 special HealPlayerParty msgbox TrainerHill_Entrance_Text_26862A, 4 setvar VAR_0x8004, 0 @@ -182,7 +182,7 @@ TrainerHill_Entrance_EventScript_2682C8:: @ 82682C8 end TrainerHill_Entrance_EventScript_268314:: @ 8268314 - setvar VAR_0x4005, 0 + setvar VAR_TEMP_5, 0 msgbox TrainerHill_Entrance_Text_26866F, 4 closemessage applymovement 255, TrainerHill_Entrance_Movement_268381 @@ -194,7 +194,7 @@ TrainerHill_Entrance_EventScript_26832E:: @ 826832E msgbox TrainerHill_Entrance_Text_26851C, 4 setvar VAR_0x8004, 14 special sp194_trainer_tower - setvar VAR_0x4005, 1 + setvar VAR_TEMP_5, 1 call TrainerHill_Entrance_EventScript_27134F compare VAR_RESULT, 0 goto_eq TrainerHill_Entrance_EventScript_26835C diff --git a/data/scripts/maps/UnknownMap_25_34.inc b/data/scripts/maps/UnknownMap_25_34.inc index 65f62498e..e92087ebd 100644 --- a/data/scripts/maps/UnknownMap_25_34.inc +++ b/data/scripts/maps/UnknownMap_25_34.inc @@ -12,7 +12,7 @@ LinkContestRoom1_MapScript1_23B79B: @ 823B79B LinkContestRoom1_MapScript1_23B79F: @ 823B79F call LinkContestRoom1_EventScript_23B7AF - setvar VAR_0x4000, 1 + setvar VAR_TEMP_0, 1 call LinkContestRoom1_EventScript_23B842 end @@ -52,7 +52,7 @@ LinkContestRoom1_EventScript_23B7FF:: @ 823B7FF return LinkContestRoom1_MapScript1_23B803: @ 823B803 - compare VAR_0x4009, 1 + compare VAR_TEMP_9, 1 call_if 1, LinkContestRoom1_EventScript_23B80F end @@ -82,12 +82,12 @@ LinkContestRoom1_EventScript_23B834:: @ 823B834 LinkContestRoom1_EventScript_23B842:: @ 823B842 call LinkContestRoom1_EventScript_23B8F8 call LinkContestRoom1_EventScript_23B858 - compare VAR_0x4000, 8 + compare VAR_TEMP_0, 8 goto_if 0, LinkContestRoom1_EventScript_23B842 return LinkContestRoom1_EventScript_23B858:: @ 823B858 - switch VAR_0x4000 + switch VAR_TEMP_0 case 1, LinkContestRoom1_EventScript_23B8AB case 2, LinkContestRoom1_EventScript_23B8B6 case 3, LinkContestRoom1_EventScript_23B8C1 @@ -98,38 +98,38 @@ LinkContestRoom1_EventScript_23B858:: @ 823B858 end LinkContestRoom1_EventScript_23B8AB:: @ 823B8AB - copyvar VAR_0x4014, VAR_0x4001 - addvar VAR_0x4000, 1 + copyvar VAR_OBJ_GFX_ID_4, VAR_TEMP_1 + addvar VAR_TEMP_0, 1 return LinkContestRoom1_EventScript_23B8B6:: @ 823B8B6 - copyvar VAR_0x4015, VAR_0x4001 - addvar VAR_0x4000, 1 + copyvar VAR_OBJ_GFX_ID_5, VAR_TEMP_1 + addvar VAR_TEMP_0, 1 return LinkContestRoom1_EventScript_23B8C1:: @ 823B8C1 - copyvar VAR_0x4016, VAR_0x4001 - addvar VAR_0x4000, 1 + copyvar VAR_OBJ_GFX_ID_6, VAR_TEMP_1 + addvar VAR_TEMP_0, 1 return LinkContestRoom1_EventScript_23B8CC:: @ 823B8CC - copyvar VAR_0x4017, VAR_0x4001 - addvar VAR_0x4000, 1 + copyvar VAR_OBJ_GFX_ID_7, VAR_TEMP_1 + addvar VAR_TEMP_0, 1 return LinkContestRoom1_EventScript_23B8D7:: @ 823B8D7 - copyvar VAR_0x4018, VAR_0x4001 - addvar VAR_0x4000, 1 + copyvar VAR_OBJ_GFX_ID_8, VAR_TEMP_1 + addvar VAR_TEMP_0, 1 return LinkContestRoom1_EventScript_23B8E2:: @ 823B8E2 - copyvar VAR_0x4019, VAR_0x4001 - addvar VAR_0x4000, 1 + copyvar VAR_OBJ_GFX_ID_9, VAR_TEMP_1 + addvar VAR_TEMP_0, 1 return LinkContestRoom1_EventScript_23B8ED:: @ 823B8ED - copyvar VAR_0x401A, VAR_0x4001 - addvar VAR_0x4000, 1 + copyvar VAR_OBJ_GFX_ID_A, VAR_TEMP_1 + addvar VAR_TEMP_0, 1 return LinkContestRoom1_EventScript_23B8F8:: @ 823B8F8 @@ -172,131 +172,131 @@ LinkContestRoom1_EventScript_23B8F8:: @ 823B8F8 end LinkContestRoom1_EventScript_23BA6B:: @ 823BA6B - setvar VAR_0x4001, 5 + setvar VAR_TEMP_1, 5 return LinkContestRoom1_EventScript_23BA71:: @ 823BA71 - setvar VAR_0x4001, 6 + setvar VAR_TEMP_1, 6 return LinkContestRoom1_EventScript_23BA77:: @ 823BA77 - setvar VAR_0x4001, 7 + setvar VAR_TEMP_1, 7 return LinkContestRoom1_EventScript_23BA7D:: @ 823BA7D - setvar VAR_0x4001, 8 + setvar VAR_TEMP_1, 8 return LinkContestRoom1_EventScript_23BA83:: @ 823BA83 - setvar VAR_0x4001, 10 + setvar VAR_TEMP_1, 10 return LinkContestRoom1_EventScript_23BA89:: @ 823BA89 - setvar VAR_0x4001, 11 + setvar VAR_TEMP_1, 11 return LinkContestRoom1_EventScript_23BA8F:: @ 823BA8F - setvar VAR_0x4001, 12 + setvar VAR_TEMP_1, 12 return LinkContestRoom1_EventScript_23BA95:: @ 823BA95 - setvar VAR_0x4001, 13 + setvar VAR_TEMP_1, 13 return LinkContestRoom1_EventScript_23BA9B:: @ 823BA9B - setvar VAR_0x4001, 14 + setvar VAR_TEMP_1, 14 return LinkContestRoom1_EventScript_23BAA1:: @ 823BAA1 - setvar VAR_0x4001, 15 + setvar VAR_TEMP_1, 15 return LinkContestRoom1_EventScript_23BAA7:: @ 823BAA7 - setvar VAR_0x4001, 17 + setvar VAR_TEMP_1, 17 return LinkContestRoom1_EventScript_23BAAD:: @ 823BAAD - setvar VAR_0x4001, 18 + setvar VAR_TEMP_1, 18 return LinkContestRoom1_EventScript_23BAB3:: @ 823BAB3 - setvar VAR_0x4001, 19 + setvar VAR_TEMP_1, 19 return LinkContestRoom1_EventScript_23BAB9:: @ 823BAB9 - setvar VAR_0x4001, 20 + setvar VAR_TEMP_1, 20 return LinkContestRoom1_EventScript_23BABF:: @ 823BABF - setvar VAR_0x4001, 21 + setvar VAR_TEMP_1, 21 return LinkContestRoom1_EventScript_23BAC5:: @ 823BAC5 - setvar VAR_0x4001, 22 + setvar VAR_TEMP_1, 22 return LinkContestRoom1_EventScript_23BACB:: @ 823BACB - setvar VAR_0x4001, 25 + setvar VAR_TEMP_1, 25 return LinkContestRoom1_EventScript_23BAD1:: @ 823BAD1 - setvar VAR_0x4001, 26 + setvar VAR_TEMP_1, 26 return LinkContestRoom1_EventScript_23BAD7:: @ 823BAD7 - setvar VAR_0x4001, 27 + setvar VAR_TEMP_1, 27 return LinkContestRoom1_EventScript_23BADD:: @ 823BADD - setvar VAR_0x4001, 47 + setvar VAR_TEMP_1, 47 return LinkContestRoom1_EventScript_23BAE3:: @ 823BAE3 - setvar VAR_0x4001, 30 + setvar VAR_TEMP_1, 30 return LinkContestRoom1_EventScript_23BAE9:: @ 823BAE9 - setvar VAR_0x4001, 31 + setvar VAR_TEMP_1, 31 return LinkContestRoom1_EventScript_23BAEF:: @ 823BAEF - setvar VAR_0x4001, 32 + setvar VAR_TEMP_1, 32 return LinkContestRoom1_EventScript_23BAF5:: @ 823BAF5 - setvar VAR_0x4001, 33 + setvar VAR_TEMP_1, 33 return LinkContestRoom1_EventScript_23BAFB:: @ 823BAFB - setvar VAR_0x4001, 34 + setvar VAR_TEMP_1, 34 return LinkContestRoom1_EventScript_23BB01:: @ 823BB01 - setvar VAR_0x4001, 35 + setvar VAR_TEMP_1, 35 return LinkContestRoom1_EventScript_23BB07:: @ 823BB07 - setvar VAR_0x4001, 36 + setvar VAR_TEMP_1, 36 return LinkContestRoom1_EventScript_23BB0D:: @ 823BB0D - setvar VAR_0x4001, 37 + setvar VAR_TEMP_1, 37 return LinkContestRoom1_EventScript_23BB13:: @ 823BB13 - setvar VAR_0x4001, 38 + setvar VAR_TEMP_1, 38 return LinkContestRoom1_EventScript_23BB19:: @ 823BB19 - setvar VAR_0x4001, 44 + setvar VAR_TEMP_1, 44 return LinkContestRoom1_EventScript_23BB1F:: @ 823BB1F - setvar VAR_0x4001, 45 + setvar VAR_TEMP_1, 45 return LinkContestRoom1_EventScript_23BB25:: @ 823BB25 - setvar VAR_0x4001, 46 + setvar VAR_TEMP_1, 46 return LinkContestRoom1_EventScript_23BB2B:: @ 823BB2B @@ -449,10 +449,10 @@ LilycoveCity_ContestLobby_EventScript_23BEB6:: @ 823BEB6 return LilycoveCity_ContestLobby_EventScript_23BECE:: @ 823BECE - setvar VAR_0x4013, 100 + setvar VAR_OBJ_GFX_ID_3, 100 return LilycoveCity_ContestLobby_EventScript_23BED4:: @ 823BED4 - setvar VAR_0x4013, 105 + setvar VAR_OBJ_GFX_ID_3, 105 return diff --git a/data/scripts/maps/VerdanturfTown_BattleTentBattleRoom.inc b/data/scripts/maps/VerdanturfTown_BattleTentBattleRoom.inc index ad2749ba8..24c319337 100644 --- a/data/scripts/maps/VerdanturfTown_BattleTentBattleRoom.inc +++ b/data/scripts/maps/VerdanturfTown_BattleTentBattleRoom.inc @@ -17,17 +17,17 @@ VerdanturfTown_BattleTentBattleRoom_EventScript_202310:: @ 8202310 return VerdanturfTown_BattleTentBattleRoom_EventScript_202328:: @ 8202328 - setvar VAR_0x4011, 100 - setvar VAR_0x4010, 100 + setvar VAR_OBJ_GFX_ID_1, 100 + setvar VAR_OBJ_GFX_ID_0, 100 return VerdanturfTown_BattleTentBattleRoom_EventScript_202333:: @ 8202333 - setvar VAR_0x4011, 105 - setvar VAR_0x4010, 105 + setvar VAR_OBJ_GFX_ID_1, 105 + setvar VAR_OBJ_GFX_ID_0, 105 return VerdanturfTown_BattleTentBattleRoom_MapScript2_20233E: @ 820233E - map_script_2 VAR_0x4000, 0, VerdanturfTown_BattleTentBattleRoom_EventScript_202348 + map_script_2 VAR_TEMP_0, 0, VerdanturfTown_BattleTentBattleRoom_EventScript_202348 .2byte 0 VerdanturfTown_BattleTentBattleRoom_EventScript_202348:: @ 8202348 @@ -150,13 +150,13 @@ VerdanturfTown_BattleTentBattleRoom_EventScript_20251F:: @ 820251F end VerdanturfTown_BattleTentBattleRoom_MapScript2_202541: @ 8202541 - map_script_2 VAR_0x4001, 0, VerdanturfTown_BattleTentBattleRoom_EventScript_20254B + map_script_2 VAR_TEMP_1, 0, VerdanturfTown_BattleTentBattleRoom_EventScript_20254B .2byte 0 VerdanturfTown_BattleTentBattleRoom_EventScript_20254B:: @ 820254B hideobjectat 1, VERDANTURF_TOWN_BATTLE_TENT_BATTLE_ROOM call VerdanturfTown_BattleTentBattleRoom_EventScript_202310 - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 applymovement 255, VerdanturfTown_BattleTentBattleRoom_Movement_202573 removeobject 2 end diff --git a/data/scripts/maps/VerdanturfTown_BattleTentCorridor.inc b/data/scripts/maps/VerdanturfTown_BattleTentCorridor.inc index a44e98ed8..0d0470fc1 100644 --- a/data/scripts/maps/VerdanturfTown_BattleTentCorridor.inc +++ b/data/scripts/maps/VerdanturfTown_BattleTentCorridor.inc @@ -3,12 +3,12 @@ VerdanturfTown_BattleTentCorridor_MapScripts:: @ 820208A .byte 0 VerdanturfTown_BattleTentCorridor_MapScript2_202090: @ 8202090 - map_script_2 VAR_0x4000, 0, VerdanturfTown_BattleTentCorridor_EventScript_20209A + map_script_2 VAR_TEMP_0, 0, VerdanturfTown_BattleTentCorridor_EventScript_20209A .2byte 0 VerdanturfTown_BattleTentCorridor_EventScript_20209A:: @ 820209A lockall - setvar VAR_0x4000, 1 + setvar VAR_TEMP_0, 1 applymovement 1, VerdanturfTown_BattleTentCorridor_Movement_2020DE applymovement 255, VerdanturfTown_BattleTentCorridor_Movement_2020DE waitmovement 0 diff --git a/data/scripts/maps/VerdanturfTown_BattleTentLobby.inc b/data/scripts/maps/VerdanturfTown_BattleTentLobby.inc index 6f1624a2d..85c5f33c7 100644 --- a/data/scripts/maps/VerdanturfTown_BattleTentLobby.inc +++ b/data/scripts/maps/VerdanturfTown_BattleTentLobby.inc @@ -4,20 +4,20 @@ VerdanturfTown_BattleTentLobby_MapScripts:: @ 82016D0 .byte 0 VerdanturfTown_BattleTentLobby_MapScript2_2016DB: @ 82016DB - map_script_2 VAR_0x4001, 0, VerdanturfTown_BattleTentLobby_EventScript_2016E5 + map_script_2 VAR_TEMP_1, 0, VerdanturfTown_BattleTentLobby_EventScript_2016E5 .2byte 0 VerdanturfTown_BattleTentLobby_EventScript_2016E5:: @ 82016E5 - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 turnobject 255, 2 end VerdanturfTown_BattleTentLobby_MapScript2_2016EF: @ 82016EF - map_script_2 VAR_0x4000, 0, VerdanturfTown_BattleTentLobby_EventScript_201719 - map_script_2 VAR_0x4000, 1, VerdanturfTown_BattleTentLobby_EventScript_201722 - map_script_2 VAR_0x4000, 2, VerdanturfTown_BattleTentLobby_EventScript_201837 - map_script_2 VAR_0x4000, 3, VerdanturfTown_BattleTentLobby_EventScript_201757 - map_script_2 VAR_0x4000, 4, VerdanturfTown_BattleTentLobby_EventScript_2017FD + map_script_2 VAR_TEMP_0, 0, VerdanturfTown_BattleTentLobby_EventScript_201719 + map_script_2 VAR_TEMP_0, 1, VerdanturfTown_BattleTentLobby_EventScript_201722 + map_script_2 VAR_TEMP_0, 2, VerdanturfTown_BattleTentLobby_EventScript_201837 + map_script_2 VAR_TEMP_0, 3, VerdanturfTown_BattleTentLobby_EventScript_201757 + map_script_2 VAR_TEMP_0, 4, VerdanturfTown_BattleTentLobby_EventScript_2017FD .2byte 0 VerdanturfTown_BattleTentLobby_EventScript_201719:: @ 8201719 @@ -33,7 +33,7 @@ VerdanturfTown_BattleTentLobby_EventScript_201722:: @ 8201722 setvar VAR_0x8005, 0 setvar VAR_0x8006, 0 special sub_81A1780 - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 setvar VAR_0x8004, 2 setvar VAR_0x8005, 1 setvar VAR_0x8006, 0 @@ -74,7 +74,7 @@ VerdanturfTown_BattleTentLobby_EventScript_201791:: @ 8201791 waitfanfare msgbox VerdanturfTown_BattleTentLobby_Text_2C539A, 4 closemessage - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 releaseall end @@ -82,7 +82,7 @@ VerdanturfTown_BattleTentLobby_EventScript_2017DD:: @ 82017DD msgbox VerdanturfTown_BattleTentLobby_Text_24E57B, 4 waitmessage closemessage - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 releaseall end @@ -107,7 +107,7 @@ VerdanturfTown_BattleTentLobby_EventScript_2017FD:: @ 82017FD waitse msgbox VerdanturfTown_BattleTentLobby_Text_2C539A, 4 closemessage - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 releaseall end @@ -125,7 +125,7 @@ VerdanturfTown_BattleTentLobby_EventScript_201837:: @ 8201837 setvar VAR_0x8005, 3 setvar VAR_0x8006, 0 special sub_81A1780 - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 goto VerdanturfTown_BattleTentLobby_EventScript_2019AE VerdanturfTown_BattleTentLobby_EventScript_201873:: @ 8201873 @@ -175,7 +175,7 @@ VerdanturfTown_BattleTentLobby_EventScript_2018CF:: @ 82018CF case 127, VerdanturfTown_BattleTentLobby_EventScript_201A34 VerdanturfTown_BattleTentLobby_EventScript_201954:: @ 8201954 - setvar VAR_0x4000, 0 + setvar VAR_TEMP_0, 0 setvar VAR_0x8004, 2 setvar VAR_0x8005, 4 special sub_81A1780 @@ -193,7 +193,7 @@ VerdanturfTown_BattleTentLobby_EventScript_201954:: @ 8201954 closemessage delay 2 call VerdanturfTown_BattleTentLobby_EventScript_27134F - setvar VAR_0x4000, 255 + setvar VAR_TEMP_0, 255 compare VAR_RESULT, 0 goto_eq VerdanturfTown_BattleTentLobby_EventScript_201A1D @@ -206,7 +206,7 @@ VerdanturfTown_BattleTentLobby_EventScript_2019AE:: @ 82019AE closemessage call VerdanturfTown_BattleTentLobby_EventScript_201A41 warp VERDANTURF_TOWN_BATTLE_TENT_CORRIDOR, 255, 2, 7 - setvar VAR_0x4000, 0 + setvar VAR_TEMP_0, 0 waitstate end diff --git a/data/scripts/players_house.inc b/data/scripts/players_house.inc index 6bae599fc..8f8d493f8 100644 --- a/data/scripts/players_house.inc +++ b/data/scripts/players_house.inc @@ -173,7 +173,7 @@ LittlerootTown_BrendansHouse_1F_EventScript_29286D:: @ 829286D msgbox LittlerootTown_BrendansHouse_1F_Text_1F7BF1, 4 msgbox LittlerootTown_BrendansHouse_1F_Text_1F7C35, 4 closemessage - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 applymovement VAR_0x8005, LittlerootTown_BrendansHouse_1F_Movement_2929BD waitmovement 0 goto LittlerootTown_BrendansHouse_1F_EventScript_292866 @@ -198,7 +198,7 @@ LittlerootTown_MaysHouse_1F_EventScript_2928DC:: @ 82928DC msgbox LittlerootTown_MaysHouse_1F_Text_1F7BF1, 4 msgbox LittlerootTown_MaysHouse_1F_Text_1F7C35, 4 closemessage - setvar VAR_0x4001, 1 + setvar VAR_TEMP_1, 1 applymovement VAR_0x8005, LittlerootTown_MaysHouse_1F_Movement_2929C1 waitmovement 0 goto LittlerootTown_MaysHouse_1F_EventScript_292866 @@ -322,7 +322,7 @@ LittlerootTown_MaysHouse_1F_EventScript_2929C5:: @ 82929C5 goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292A19 checkflag FLAG_0x052 goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292A86 - compare VAR_0x4001, 1 + compare VAR_TEMP_1, 1 goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292A94 compare VAR_0x4092, 7 goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292AB0 diff --git a/data/specials.inc b/data/specials.inc index a056de629..1fa17b908 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -319,7 +319,7 @@ gSpecials:: @ 81DBA64 def_special sub_8139B60 def_special sub_80FAC78 def_special IsPokerusInParty - def_special sub_809E1C8 + def_special SetSootopolisGymCrackedIceMetatiles def_special sub_8139560 def_special StartGroudonKyogreBattle def_special BattleSetup_StartLegendaryBattle diff --git a/graphics/unknown/unknown_55C170.png b/graphics/unknown/unknown_55C170.png Binary files differindex 95a2e2427..d601cb6e5 100644 --- a/graphics/unknown/unknown_55C170.png +++ b/graphics/unknown/unknown_55C170.png diff --git a/graphics/unknown/unknown_55C190.png b/graphics/unknown/unknown_55C190.png Binary files differnew file mode 100644 index 000000000..01f10cd07 --- /dev/null +++ b/graphics/unknown/unknown_55C190.png diff --git a/graphics/unknown/unknown_55C1B0.png b/graphics/unknown/unknown_55C1B0.png Binary files differnew file mode 100644 index 000000000..3f5b8d5c3 --- /dev/null +++ b/graphics/unknown/unknown_55C1B0.png diff --git a/graphics/unknown/unknown_55C1D0.png b/graphics/unknown/unknown_55C1D0.png Binary files differnew file mode 100644 index 000000000..7684451e4 --- /dev/null +++ b/graphics/unknown/unknown_55C1D0.png diff --git a/graphics/unused/intro_birch_beauty.png b/graphics/unused/intro_birch_beauty.png Binary files differindex 85951c902..f13221cf5 100644 --- a/graphics/unused/intro_birch_beauty.png +++ b/graphics/unused/intro_birch_beauty.png diff --git a/graphics_file_rules.mk b/graphics_file_rules.mk index 092ab5644..dad4ea026 100644 --- a/graphics_file_rules.mk +++ b/graphics_file_rules.mk @@ -470,7 +470,7 @@ $(SLOTMACHINEGFXDIR)/reel_time_gfx.4bpp: $(SLOTMACHINEGFXDIR)/reel_time_pikachu. @cat $^ >$@ $(UNUSEDGFXDIR)/intro_birch_beauty.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 374 + $(GFX) $< $@ -num_tiles 822 $(PSSGFXDIR)/forest_frame.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 55 diff --git a/include/battle_tower.h b/include/battle_tower.h index 25b439c1b..9d4553132 100644 --- a/include/battle_tower.h +++ b/include/battle_tower.h @@ -1,6 +1,31 @@ #ifndef GUARD_BATTLE_TOWER_H #define GUARD_BATTLE_TOWER_H +struct RSBattleTowerRecord +{ + /*0x00*/ u8 battleTowerLevelType; // 0 = level 50, 1 = level 100 + /*0x01*/ u8 trainerClass; + /*0x02*/ u16 winStreak; + /*0x04*/ u8 name[8]; + /*0x0C*/ u8 trainerId[4]; + /*0x10*/ struct { + u16 easyChat[6]; + } greeting; + /*0x1C*/ struct UnknownPokemonStruct party[3]; + /*0xA0*/ u32 checksum; + /*0xA4*/ u16 unk_11c8; +}; + +union BattleTowerRecord +{ + struct RSBattleTowerRecord ruby_sapphire; + struct EmeraldBattleTowerRecord emerald; +}; + u16 sub_8164FCC(u8, u8); +void sub_81659DC(struct RSBattleTowerRecord *a0, struct RSBattleTowerRecord *a1); +bool32 sub_816587C(union BattleTowerRecord *, union BattleTowerRecord *); +void CalcEmeraldBattleTowerChecksum(struct EmeraldBattleTowerRecord *); +void sub_81628A0(union BattleTowerRecord *); #endif //GUARD_BATTLE_TOWER_H diff --git a/include/cable_club.h b/include/cable_club.h new file mode 100644 index 000000000..44831235c --- /dev/null +++ b/include/cable_club.h @@ -0,0 +1,13 @@ +#ifndef GUARD_CABLE_CLUB_H +#define GUARD_CABLE_CLUB_H + +// Exported type declarations + +// Exported RAM declarations + +// Exported ROM declarations + +void sub_80B37D4(TaskFunc taskFunc); +u8 sub_80B3050(void); + +#endif //GUARD_CABLE_CLUB_H diff --git a/include/constants/vars.h b/include/constants/vars.h index be21f1730..976c6a739 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -3,42 +3,53 @@ #define VAR_0x3F20 0x3F20 -#define VAR_0x4000 0x4000 -#define VAR_0x4001 0x4001 -#define VAR_0x4002 0x4002 -#define VAR_0x4003 0x4003 -#define VAR_0x4004 0x4004 -#define VAR_0x4005 0x4005 -#define VAR_0x4006 0x4006 -#define VAR_0x4007 0x4007 -#define VAR_0x4008 0x4008 -#define VAR_0x4009 0x4009 -#define VAR_0x400A 0x400A -#define VAR_0x400B 0x400B -#define VAR_0x400C 0x400C -#define VAR_0x400D 0x400D -#define VAR_0x400E 0x400E -#define VAR_0x400F 0x400F -#define VAR_0x4010 0x4010 -#define VAR_0x4011 0x4011 -#define VAR_0x4012 0x4012 -#define VAR_0x4013 0x4013 -#define VAR_0x4014 0x4014 -#define VAR_0x4015 0x4015 -#define VAR_0x4016 0x4016 -#define VAR_0x4017 0x4017 -#define VAR_0x4018 0x4018 -#define VAR_0x4019 0x4019 -#define VAR_0x401A 0x401A -#define VAR_0x401B 0x401B -#define VAR_0x401C 0x401C -#define VAR_0x401D 0x401D -#define VAR_0x401E 0x401E -#define VAR_0x401F 0x401F +#define VARS_START 0x4000 + +// temporary vars +// The first 0x10 vars are are temporary--they are cleared every time a map is loaded. +#define VAR_TEMP_0 0x4000 +#define VAR_TEMP_1 0x4001 +#define VAR_TEMP_2 0x4002 +#define VAR_TEMP_3 0x4003 +#define VAR_TEMP_4 0x4004 +#define VAR_TEMP_5 0x4005 +#define VAR_TEMP_6 0x4006 +#define VAR_TEMP_7 0x4007 +#define VAR_TEMP_8 0x4008 +#define VAR_TEMP_9 0x4009 +#define VAR_TEMP_A 0x400A +#define VAR_TEMP_B 0x400B +#define VAR_TEMP_C 0x400C +#define VAR_TEMP_D 0x400D +#define VAR_TEMP_E 0x400E +#define VAR_TEMP_F 0x400F + +// object gfx id vars +// These 0x10 vars are used to dynamically control a map object's sprite. +// For example, the rival's sprite id is dynamically set based on the player's gender. +// See VarGetFieldObjectGraphicsId(). +#define VAR_OBJ_GFX_ID_0 0x4010 +#define VAR_OBJ_GFX_ID_1 0x4011 +#define VAR_OBJ_GFX_ID_2 0x4012 +#define VAR_OBJ_GFX_ID_3 0x4013 +#define VAR_OBJ_GFX_ID_4 0x4014 +#define VAR_OBJ_GFX_ID_5 0x4015 +#define VAR_OBJ_GFX_ID_6 0x4016 +#define VAR_OBJ_GFX_ID_7 0x4017 +#define VAR_OBJ_GFX_ID_8 0x4018 +#define VAR_OBJ_GFX_ID_9 0x4019 +#define VAR_OBJ_GFX_ID_A 0x401A +#define VAR_OBJ_GFX_ID_B 0x401B +#define VAR_OBJ_GFX_ID_C 0x401C +#define VAR_OBJ_GFX_ID_D 0x401D +#define VAR_OBJ_GFX_ID_E 0x401E +#define VAR_OBJ_GFX_ID_F 0x401F + +// general purpose vars #define VAR_RECYCLE_GOODS 0x4020 #define VAR_REPEL_STEP_COUNT 0x4021 #define VAR_ICE_STEP_COUNT 0x4022 -#define VAR_FIRST_POKE 0x4023 +#define VAR_FIRST_POKE 0x4023 // 0=Treecko, 1=Torchic, 2=Mudkip #define VAR_MIRAGE_RND_H 0x4024 #define VAR_MIRAGE_RND_L 0x4025 #define VAR_SECRET_BASE_MAP 0x4026 @@ -262,6 +273,8 @@ #define VAR_0x40FE 0x40FE #define VAR_0x40FF 0x40FF +// special vars +// They are commonly used as parameters to commands, or return values from commands. #define VAR_0x8000 0x8000 #define VAR_0x8001 0x8001 #define VAR_0x8002 0x8002 diff --git a/include/decompress.h b/include/decompress.h index 34a678cda..e98181c82 100644 --- a/include/decompress.h +++ b/include/decompress.h @@ -28,6 +28,6 @@ void LoadSpecialPokePic(const struct CompressedSpriteSheet *src, void *dest, s32 void LoadSpecialPokePic_2(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality, bool8 isFrontPic); void LoadSpecialPokePic_DontHandleDeoxys(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality, bool8 isFrontPic); -u32 sub_8034974(const u8 *ptr); +u32 GetDecompressedDataSize(const u8 *ptr); #endif // GUARD_DECOMPRESS_H diff --git a/include/field_effect.h b/include/field_effect.h index 700256f30..9cd26f6b8 100644 --- a/include/field_effect.h +++ b/include/field_effect.h @@ -1,6 +1,14 @@ #ifndef GUARD_FIELD_EFFECTS_H #define GUARD_FIELD_EFFECTS_H +#include "task.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; + enum FieldEffectScriptIdx { FLDEFF_EXCLAMATION_MARK_ICON_1, @@ -69,7 +77,9 @@ enum FieldEffectScriptIdx FLDEFF_USE_TELEPORT }; -extern u32 gFieldEffectArguments[8]; +extern s32 gFieldEffectArguments[8]; +extern void (*gUnknown_0203CEEC)(void); +extern bool8 (*gUnknown_03005DB0)(void); u32 FieldEffectStart(u8); bool8 FieldEffectActiveListContains(u8 id); @@ -77,10 +87,147 @@ void sub_80B69DC(void); u8 AddNewGameBirchObject(s16, s16, u8); void FieldEffectStop(struct Sprite *sprite, u8 id); u8 CreateTrainerSprite(u8 trainerSpriteID, s16 x, s16 y, u8 subpriority, u8 *buffer); -void sub_80B7FC8(void); +void CreateTeleportFieldEffectTask(void); void FieldEffectActiveListRemove(u8 id); void MultiplyInvertedPaletteRGBComponents(u16, u8, u8, u8); -extern void (*gUnknown_0203CEEC)(void); -extern bool8 (*gUnknown_03005DB0)(void); +void FieldEffectActiveListAdd(u8 id); +void FieldEffectScript_LoadTiles(u8 **script); +void FieldEffectScript_LoadFadedPalette(u8 **script); +void FieldEffectScript_LoadPalette(u8 **script); +void FieldEffectScript_CallNative(u8 **script, u32 *val); +void FieldEffectFreeTilesIfUnused(u16 tileStart); +void FieldEffectFreePaletteIfUnused(u8 paletteNum); +bool8 FieldEffectCmd_loadtiles(u8 **script, u32 *val); +bool8 FieldEffectCmd_loadfadedpal(u8 **script, u32 *val); +bool8 FieldEffectCmd_loadpal(u8 **script, u32 *val); +bool8 FieldEffectCmd_callnative(u8 **script, u32 *val); +bool8 FieldEffectCmd_end(u8 **script, u32 *val); +bool8 FieldEffectCmd_loadgfx_callnative(u8 **script, u32 *val); +bool8 FieldEffectCmd_loadtiles_callnative(u8 **script, u32 *val); +bool8 FieldEffectCmd_loadfadedpal_callnative(u8 **script, u32 *val); + +void PokecenterHealEffect_0(struct Task *); +void PokecenterHealEffect_1(struct Task *); +void PokecenterHealEffect_2(struct Task *); +void PokecenterHealEffect_3(struct Task *); + +void HallOfFameRecordEffect_0(struct Task *); +void HallOfFameRecordEffect_1(struct Task *); +void HallOfFameRecordEffect_2(struct Task *); +void HallOfFameRecordEffect_3(struct Task *); + +void PokeballGlowEffect_0(struct Sprite *); +void PokeballGlowEffect_1(struct Sprite *); +void PokeballGlowEffect_2(struct Sprite *); +void PokeballGlowEffect_3(struct Sprite *); +void PokeballGlowEffect_4(struct Sprite *); +void PokeballGlowEffect_5(struct Sprite *); +void PokeballGlowEffect_6(struct Sprite *); +void PokeballGlowEffect_7(struct Sprite *); + +bool8 sub_80B6BCC(struct Task *); +bool8 sub_80B6C74(struct Task *); +bool8 sub_80B6C90(struct Task *); +bool8 sub_80B6D04(struct Task *); +bool8 sub_80B6DBC(struct Task *); +bool8 sub_80B6DD8(struct Task *); +bool8 sub_80B6E18(struct Task *); + +bool8 sub_80B6EC0(struct Task *); +bool8 sub_80B6EE0(struct Task *); +bool8 sub_80B6F50(struct Task *); +bool8 sub_80B6F74(struct Task *); +bool8 sub_80B6F84(struct Task *); +bool8 sub_80B6FA8(struct Task *); + +bool8 sub_80B7114(struct Task *); +bool8 sub_80B7190(struct Task *); +bool8 sub_80B71D0(struct Task *); +bool8 sub_80B7230(struct Task *); +bool8 sub_80B7270(struct Task *); +bool8 sub_80B72D0(struct Task *); +bool8 sub_80B72F4(struct Task *); + +bool8 sub_80B73D0(struct Task *, struct MapObject *); +bool8 waterfall_1_do_anim_probably(struct Task *, struct MapObject *); +bool8 waterfall_2_wait_anim_finish_probably(struct Task *, struct MapObject *); +bool8 sub_80B7450(struct Task *, struct MapObject *); +bool8 sub_80B7478(struct Task *, struct MapObject *); + +bool8 dive_1_lock(struct Task *); +bool8 dive_2_unknown(struct Task *); +bool8 dive_3_unknown(struct Task *); + +bool8 sub_80B764C(struct Task *, struct MapObject *, struct Sprite *); +bool8 sub_80B7684(struct Task *, struct MapObject *, struct Sprite *); +bool8 sub_80B76B8(struct Task *, struct MapObject *, struct Sprite *); +bool8 sub_80B7704(struct Task *, struct MapObject *, struct Sprite *); +bool8 sub_80B77F8(struct Task *, struct MapObject *, struct Sprite *); +bool8 sub_80B7814(struct Task *, struct MapObject *, struct Sprite *); + +bool8 sub_80B78EC(struct Task *, struct MapObject *, struct Sprite *); +bool8 sub_80B791C(struct Task *, struct MapObject *, struct Sprite *); +bool8 sub_80B7968(struct Task *, struct MapObject *, struct Sprite *); +bool8 sub_80B79BC(struct Task *, struct MapObject *, struct Sprite *); + +bool8 sub_80B7AE8(struct Task *, struct MapObject *, struct Sprite *); +bool8 sub_80B7B18(struct Task *, struct MapObject *, struct Sprite *); +bool8 sub_80B7B94(struct Task *, struct MapObject *, struct Sprite *); +bool8 sub_80B7BCC(struct Task *, struct MapObject *, struct Sprite *); +bool8 sub_80B7BF4(struct Task *, struct MapObject *, struct Sprite *); + +void sub_80B7D14(struct Task *); +void sub_80B7D34(struct Task *); + +void sub_80B7EC4(struct Task *); +void sub_80B7EE8(struct Task *); + +void sub_80B8280(struct Task *); +void sub_80B830C(struct Task *); +void sub_80B8410(struct Task *); + +void sub_80B8584(struct Task *); +void sub_80B85F8(struct Task *); +void sub_80B8660(struct Task *); +void sub_80B86EC(struct Task *); +void sub_80B871C(struct Task *); +void sub_80B8770(struct Task *); +void overworld_bg_setup_2(struct Task *); + +void sub_80B88E4(struct Task *); +void sub_80B8920(struct Task *); +void sub_80B898C(struct Task *); +void sub_80B89DC(struct Task *); +void sub_80B8A0C(struct Task *); +void sub_80B8A44(struct Task *); +void sub_80B8A64(struct Task *); + +void sub_80B8DB4(struct Task *); +void sub_80B8E14(struct Task *); +void sub_80B8E60(struct Task *); +void sub_80B8EA8(struct Task *); +void sub_80B8F24(struct Task *); + +void sub_80B9204(struct Task *); +void sub_80B925C(struct Task *); +void sub_80B92A0(struct Task *); +void sub_80B92F8(struct Task *); +void sub_80B933C(struct Task *); +void sub_80B9390(struct Task *); +void sub_80B9418(struct Task *); +void sub_80B9474(struct Task *); +void sub_80B9494(struct Task *); + +void sub_80B9804(struct Task *); +void sub_80B98B8(struct Task *); +void sub_80B9924(struct Task *); +void sub_80B9978(struct Task *); +void sub_80B99F0(struct Task *); +void sub_80B9A28(struct Task *); +void sub_80B9A60(struct Task *); + +void sub_80B9C28(s16*, u8); +void sub_80B9C54(s16*, u8); +void sub_80B9CDC(s16*, u8); #endif //GUARD_FIELD_EFFECTS_H diff --git a/include/field_effect_helpers.h b/include/field_effect_helpers.h index 15928eba3..3c9e00b62 100644 --- a/include/field_effect_helpers.h +++ b/include/field_effect_helpers.h @@ -13,5 +13,7 @@ u8 sub_8154228(void); bool8 sub_8155DA0(struct MapObject *); void sub_8155D78(struct MapObject *); +void sub_81555AC(u8, u8); +void ash(s16, s16, u16, s16); #endif //GUARD_FIELD_EFFECT_HELPERS_H diff --git a/include/field_map_obj.h b/include/field_map_obj.h index 8f34d4b93..1bf3915e1 100644 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -93,6 +93,8 @@ void npc_coords_shift_still(struct MapObject *pObject); void FieldObjectMoveDestCoords(struct MapObject *pObject, u32 unk_19, s16 *pInt, s16 *pInt1); u8 AddCameraObject(u8 linkedSpriteId); void UpdateFieldObjectsForCameraUpdate(s16 x, s16 y); +u8 GetSimpleGoAnimId(u32); +u8 sub_8093514(u32); // Exported data declarations diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index f616717f2..0b9ea385c 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -40,6 +40,9 @@ void sub_808D074(u8); void GetXYCoordsOneStepInFrontOfPlayer(s16 *xPtr, s16 *yPtr); u8 GetRivalAvatarGraphicsIdByStateIdAndGender(u8, u8); void sub_808C114(void); -u8 GetPlayerAvatarGraphicsIdByCurrentState(); +u8 GetPlayerAvatarGraphicsIdByCurrentState(void); +void SetPlayerAvatarStateMask(u8 a); +u8 GetPlayerAvatarGraphicsIdByStateId(u8 a); +u8 sub_8093540(u32); #endif // GUARD_FIELD_PLAYER_AVATAR_H diff --git a/include/field_screen.h b/include/field_screen.h index 02e0a0a91..d9a2bb5fa 100644 --- a/include/field_screen.h +++ b/include/field_screen.h @@ -7,10 +7,12 @@ // Exported ROM declarations void pal_fill_black(void); -bool8 sub_80ABDFC(void); +bool8 IsWeatherNotFadingIn(void); void sub_80AF168(void); +void sub_80AF2B4(u8 taskId); void UpdateWeatherPerDay(u16 days); void sub_80AC3D0(void); void sub_80AC3E4(void); +void PreservePaletteInWeather(u8); #endif //GUARD_FIELD_SCREEN_H diff --git a/include/field_special_scene.h b/include/field_special_scene.h new file mode 100644 index 000000000..240e9ecb6 --- /dev/null +++ b/include/field_special_scene.h @@ -0,0 +1,14 @@ +#ifndef GUARD_FIELD_SPECIAL_SCENE_H +#define GUARD_FIELD_SPECIAL_SCENE_H + +s16 GetTruckCameraBobbingY(int a1); +s16 GetTruckBoxMovement(int a1); +void Task_Truck1(u8 taskId); +void Task_Truck2(u8 taskId); +void Task_Truck3(u8 taskId); +void Task_HandleTruckSequence(u8 taskId); +void ExecuteTruckSequence(void); +void EndTruckSequence(u8); +void sub_80C791C(void); + +#endif // GUARD_FIELD_SPECIAL_SCENE_H diff --git a/include/field_tasks.h b/include/field_tasks.h index 2a2a772d8..400ad054d 100644 --- a/include/field_tasks.h +++ b/include/field_tasks.h @@ -1,6 +1,9 @@ #ifndef GUARD_FIELD_TASKS_H #define GUARD_FIELD_TASKS_H -void ActivatePerStepCallback(u8); +void SetUpFieldTasks(void); +void ActivatePerStepCallback(u8 callbackId); +void ResetFieldTasksArgs(void); +void SetSootopolisGymCrackedIceMetatiles(void); #endif // GUARD_FIELD_TASKS_H diff --git a/include/fieldmap.h b/include/fieldmap.h index 6e127ce5d..699595580 100644 --- a/include/fieldmap.h +++ b/include/fieldmap.h @@ -28,4 +28,8 @@ struct MapConnection *sub_8088950(u8 direction, int x, int y); bool8 sub_80889A8(u8 direction, int x, int y, struct MapConnection *connection); bool8 sub_8088A0C(int x, int src_width, int dest_width, int offset); +void SpriteCB_PokeballGlow(struct Sprite *); +void SpriteCB_PokecenterMonitor(struct Sprite *); +void SpriteCB_HallOfFameMonitor(struct Sprite *); + #endif //GUARD_FIELDMAP_H diff --git a/include/fldeff_80F9BCC.h b/include/fldeff_80F9BCC.h index 84015065e..ba775cd6d 100644 --- a/include/fldeff_80F9BCC.h +++ b/include/fldeff_80F9BCC.h @@ -9,6 +9,8 @@ void sub_80FA5E4(s16 id, s16 x, s16 y); void sub_80FA794(s16 x, s16 y); +void CreateRecordMixingSprite(void); +void DestroyRecordMixingSprite(void); void overworld_poison_effect(void); bool8 sub_80FADE4(u16, u8); diff --git a/include/global.h b/include/global.h index 863bfcee6..4a0fdb70a 100644 --- a/include/global.h +++ b/include/global.h @@ -11,10 +11,10 @@ // to help in decompiling #define asm_comment(x) asm volatile("@ -- " x " -- ") #define asm_unified(x) asm(".syntax unified\n" x "\n.syntax divided") -#define ASM_DIRECT __attribute__((naked)) +#define NAKED __attribute__((naked)) // IDE support -#if defined (__APPLE__) || defined (__CYGWIN__) +#if defined (__APPLE__) || defined (__CYGWIN__) || defined (_MSC_VER) #define _(x) x #define __(x) x #define INCBIN_U8 {0} @@ -23,7 +23,7 @@ #define INCBIN_S8 {0} #define INCBIN_S16 {0} #define INCBIN_S32 {0} -#endif // __APPLE__ +#endif // IDE support #define ARRAY_COUNT(array) (size_t)(sizeof(array) / sizeof((array)[0])) @@ -107,6 +107,8 @@ enum LanguageId #define VARS_COUNT 256 #define MAIL_COUNT 16 #define SECRET_BASES_COUNT 20 +#define TV_SHOWS_COUNT 25 +#define POKE_NEWS_COUNT 16 #define PC_ITEMS_COUNT 50 #define BAG_ITEMS_COUNT 30 #define BAG_KEYITEMS_COUNT 30 @@ -262,6 +264,56 @@ struct UnknownSaveBlock2Struct u8 field_EB; }; // sizeof = 0xEC +struct UnkRecordMixingStruct +{ + u8 field_0[0x34]; + u8 playerId[4]; + u8 field_38[10]; +}; + +struct UnknownPokemonStruct +{ + u16 species; + u16 heldItem; + u16 moves[4]; + u8 level; + u8 ppBonuses; + u8 hpEV; + u8 attackEV; + u8 defenseEV; + u8 speedEV; + u8 spAttackEV; + u8 spDefenseEV; + u32 otId; + u32 hpIV:5; + u32 attackIV:5; + u32 defenseIV:5; + u32 speedIV:5; + u32 spAttackIV:5; + u32 spDefenseIV:5; + u32 gap:1; + u32 altAbility:1; + u32 personality; + u8 nickname[POKEMON_NAME_LENGTH + 1]; + u8 friendship; +}; + +struct EmeraldBattleTowerRecord +{ + /*0x00*/ u8 battleTowerLevelType; // 0 = level 50, 1 = level 100 + /*0x01*/ u8 trainerClass; + /*0x02*/ u16 winStreak; + /*0x04*/ u8 name[8]; + /*0x0C*/ u8 trainerId[4]; + /*0x10*/ struct { + u16 easyChat[6]; + } greeting; + /*0x1C*/ u8 filler_1c[0x18]; + /*0x34*/ struct UnknownPokemonStruct party[4]; + /*0xE4*/ u8 language; + /*0xE8*/ u32 checksum; +}; + struct SaveBlock2 { /*0x00*/ u8 playerName[PLAYER_NAME_LENGTH]; @@ -287,7 +339,12 @@ struct SaveBlock2 /*0xAC*/ u32 encryptionKey; // TODO: fix and verify labels - /*0xB0*/ u8 field_B0[316]; + /*0xB0*/ u8 field_B0; + /*0xB1*/ u8 field_B1; + /*0xB2*/ u8 field_B2_0:3; + /*0xB2*/ u8 field_B2_1:2; + /*0xB3*/ u8 field_B3[0x29]; + /*0xDC*/ struct UnkRecordMixingStruct field_DC[4]; /*0x1EC*/ struct BerryCrush berryCrush; /*0x1FC*/ struct PokemonJumpResults pokeJump; /*0x20C*/ struct BerryPickingResults berryPick; @@ -296,7 +353,7 @@ struct SaveBlock2 // All below could be a one giant struct - /*0x64C*/ u8 field_64C[236]; + /*0x64C*/ struct EmeraldBattleTowerRecord battleTower; /*0x738*/ struct UnknownSaveBlock2Struct field_738[5]; // No idea here, it's probably wrong, no clue. /*0xBD4*/ u16 field_BD4; /*0xBD6*/ u16 field_BD6; @@ -313,22 +370,64 @@ struct SaveBlock2 /*0xCA9*/ u8 field_CA9_f : 1; // 0x80 /*0xCAA*/ u16 field_CAA[4]; /*0xCB2*/ u16 battlePyramidWildHeaderId; - /*0xCB4*/ u16 field_CB4[41]; + /*0xCB4*/ u16 field_CB4[30]; + /*0xCF0*/ u16 field_CF0[2]; + /*0xCF4*/ u16 field_CF4[2]; + /*0xCF8*/ u16 field_CF8[2]; + /*0xCFC*/ u16 field_CFC[5]; /*0xD06*/ u8 field_D06; /*0xD07*/ u8 field_D07; - /*0xD08*/ u8 filler_D08[0x112]; + /*0xD08*/ u8 filler_D08; + /*0xD09*/ u8 filler_D09; + /*0xD0A*/ u8 filler_D0A; + /*0xD0B*/ u8 filler_D0B; + /*0xD0C*/ u8 filler_D0C; + /*0xD0D*/ u8 filler_D0D; + /*0xD0E*/ u8 filler_D0E; + /*0xD0F*/ u8 filler_D0F; + /*0xD10*/ u8 filler_D10; + /*0xD11*/ u8 filler_D11; + /*0xD12*/ u8 filler_D12; + /*0xD13*/ u8 filler_D13; + /*0xD14*/ u16 field_D14[2]; + /*0xD18*/ u8 field_D18[0xB8]; + /*0xDD0*/ u16 field_DD0[2]; + /*0xDD4*/ u16 field_DD4[2]; + /*0xDD8*/ u16 field_DD8; + /*0xDDA*/ u16 field_DDA; + /*0xDDC*/ u16 field_DDC; + /*0xDDE*/ u16 field_DDE[2]; + /*0xDE2*/ u16 field_DE2; + /*0xDE4*/ u16 field_DE4; + /*0xDE6*/ u16 field_DE6; + /*0xDE8*/ u16 field_DE8; + /*0xDEA*/ u16 field_DEA[2]; + /*0xDEE*/ u16 field_DEE; + /*0xDF0*/ u16 field_DF0; + /*0xDF2*/ u16 field_DF2; + /*0xDF4*/ u16 field_DF4; + /*0xDF6*/ u16 field_DF6; + /*0xDF8*/ u16 field_DF8; + /*0xDFA*/ u16 field_DFA; + /*0xDFC*/ u16 field_DFC; + /*0xDFE*/ u16 field_DFE; + /*0xE00*/ u16 field_E00; + /*0xE02*/ u16 field_E02; + /*0xE04*/ u16 field_E04; + /*0xE06*/ u16 field_E06; + /*0xE08*/ u16 field_E08[9]; /*0xE1A*/ u16 battlePyramidFloor; // possibly? - /*0xE1C*/ u8 field_E1C[16]; + /*0xE1C*/ u16 field_E1C; + /*0xE1E*/ u16 field_E1E[7]; /*0xE2C*/ struct PyramidBag pyramidBag; /*0x???*/ u8 field_unkown[6]; /*0xE6E*/ u16 battleTentWinStreak; /*0xE70*/ u8 field_E70[72]; /*0xEB8*/ u16 frontierBattlePoints; /*0xEBA*/ u8 field_EBA[39]; - /*0xEE1*/ u8 field_EE1; - /*0xEE2*/ u8 field_EE2[7]; - /*0xEE9*/ u8 field_EE9; - /*0xEEA*/ u8 field_EEA[66]; + /*0xEE1*/ u8 field_EE1[2][PLAYER_NAME_LENGTH]; + /*0xEF1*/ u8 field_EF1[2][4]; + /*0xEF9*/ u8 field_EF9[51]; // sizeof=0xF2C }; @@ -564,9 +663,9 @@ struct ContestWinner u8 contestRank; }; -struct DaycareMiscMon +struct DayCareMail { - struct MailStruct mail; + struct MailStruct message; u8 OT_name[OT_NAME_LENGTH + 1]; u8 monName[POKEMON_NAME_LENGTH + 1]; u8 gameLanguage:4; @@ -576,7 +675,7 @@ struct DaycareMiscMon struct DaycareMon { struct BoxPokemon mon; - struct DaycareMiscMon misc; + struct DayCareMail mail; u32 steps; }; @@ -587,12 +686,6 @@ struct DayCare u8 stepCounter; }; -struct DayCareMail -{ - /*0x00*/ struct MailStruct message; - /*0x24*/ u8 names[19]; -}; - struct RecordMixingDayCareMail { struct DayCareMail mail[DAYCARE_MON_COUNT]; @@ -648,12 +741,13 @@ struct LilycoveLadyContest /*0x00e*/ u8 language; }; -typedef union // TODO +typedef union { struct LilycoveLadyQuiz quiz; struct LilycoveLadyFavour favour; struct LilycoveLadyContest contest; u8 id; + u8 pad[0x40]; } LilycoveLady; struct WaldaPhrase @@ -720,8 +814,8 @@ struct SaveBlock1 /*0x????*/ u8 decorDoll[40]; /*0x????*/ u8 decorCushion[10]; /*0x27CA*/ u8 padding_27CA[2]; - /*0x27CC*/ TVShow tvShows[25]; - /*0x2B50*/ PokeNews pokeNews[16]; + /*0x27CC*/ TVShow tvShows[TV_SHOWS_COUNT]; + /*0x2B50*/ PokeNews pokeNews[POKE_NEWS_COUNT]; /*0x2B90*/ u16 outbreakPokemonSpecies; /*0x2B92*/ u8 outbreakLocationMapNum; /*0x2B93*/ u8 outbreakLocationMapGroup; @@ -753,7 +847,6 @@ struct SaveBlock1 /*0x3B14*/ struct RecordMixingGift recordMixingGift; /*0x3B24*/ u8 seen2[DEX_FLAGS_NO]; /*0x3B58*/ LilycoveLady lilycoveLady; - /*0x3B88*/ u8 filler_3B88[0x10]; /*0x3B98*/ struct UnkSaveSubstruct_3b98 unk_3B98[20]; /*0x3C88*/ u8 filler_3C88[0xE8]; /*0x3D70*/ struct WaldaPhrase waldaPhrase; diff --git a/include/item_menu.h b/include/item_menu.h index 40c015a8e..8a474bc0f 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -7,7 +7,7 @@ struct BagStruct void (*bagCallback)(void); u8 location; u8 pocket; - u8 unk6[2]; + u16 unk6; u16 cursorPosition[5]; u16 scrollPosition[5]; }; diff --git a/include/lilycove_lady.h b/include/lilycove_lady.h index 084e5722e..f26285d68 100644 --- a/include/lilycove_lady.h +++ b/include/lilycove_lady.h @@ -6,7 +6,7 @@ void SetLilycoveLady(void); void sub_818DA78(void); void sub_818DEF4(void); void sub_818E564(void); -void sub_818E570(const struct LilycoveLadyQuiz *quiz); +void sub_818E570(const LilycoveLady *lilycoveLady); bool8 GivePokeblockToContestLady(struct Pokeblock *pokeblock); void sub_818E7E0(u8 *dest1, u8 *dest2); void sub_818E81C(u8 *dest); diff --git a/include/link.h b/include/link.h index 051370897..5b3cd26ca 100644 --- a/include/link.h +++ b/include/link.h @@ -293,4 +293,13 @@ extern u32 gFiller_03004138; extern u32 gFiller_0300413C; extern u32 gFiller_03003080; +bool32 Link_AnyPartnersPlayingRubyOrSapphire(void); +bool32 sub_800A03C(void); +void sub_8009628(u8); +u8 sub_800AA48(void); +void sub_8009FAC(void); +bool8 sub_800A4D8(u8 a0); +u8 sub_800A9D8(void); +u8 sub_800A0C8(s32, s32); + #endif // GUARD_LINK_H diff --git a/include/link_rfu.h b/include/link_rfu.h index a6084b138..ca39c2fb2 100644 --- a/include/link_rfu.h +++ b/include/link_rfu.h @@ -231,5 +231,6 @@ struct UnkLinkRfuStruct_02022B14 *sub_800F7DC(void); void sub_8011068(u8 a0); void sub_8011170(u32 a0); void sub_8011A64(u8 a0, u16 a1); +u8 sub_801048C(bool32 a0); #endif //GUARD_LINK_RFU_H diff --git a/include/list_menu.h b/include/list_menu.h index 0aa66a524..d8b526b61 100644 --- a/include/list_menu.h +++ b/include/list_menu.h @@ -58,6 +58,33 @@ struct UnknownListMenuWindowStruct u8 palNum; }; +struct ArrowStruct +{ + u8 unk0; + u8 unk1; + u8 unk2; + u8 unk3; + u8 unk4; + u8 unk5; + u16 unk6; + u16 unk8; + u16 tileTag; + u16 palTag; + u8 palNum; +}; + +struct CursorStruct +{ + u8 unk0; + u8 unk1; + u16 unk2; + u16 unk4; + u16 tileTag; + u16 palTag; + u8 palNum; +}; + +extern struct ArrowStruct gUnknown_0203CE8C; extern struct ListMenuTemplate gMultiuseListMenuTemplate; s32 DoMysteryGiftListMenu(struct WindowTemplate *windowTemplate, struct ListMenuTemplate *listMenuTemplate, u8 arg2, u16 tileNum, u16 palNum); @@ -74,5 +101,11 @@ void ListMenuGetScrollAndRow(u8 listTaskId, u16 *scrollOffset, u16 *selectedRow) u16 ListMenuGetYCoordForPrintingArrowCursor(u8 listTaskId); void sub_81AF028(u8 cursorPal, u8 fillValue, u8 cursorShadowPal); void sub_81AF078(s32 arg0, u8 arg1, struct ListMenu *list); +s32 sub_81AF08C(u8 taskId, u8 field); +void sub_81AF15C(u8 taskId, u8 field, s32 value); +u8 AddScrollIndicatorArrowPair(const struct ArrowStruct *arrowInfo, u16 *arg1); +u8 AddScrollIndicatorArrowPairParametrized(u32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 tileTag, s32 palTag, void *arg7); +void RemoveScrollIndicatorArrowPair(u8 taskId); +void Task_ScrollIndicatorArrowPairOnMainMenu(u8 taskId); #endif //GUARD_LIST_MENU_H diff --git a/include/mauville_old_man.h b/include/mauville_old_man.h index 696f12cc7..e318ac8bb 100644 --- a/include/mauville_old_man.h +++ b/include/mauville_old_man.h @@ -11,9 +11,16 @@ enum MauvilleOldManType MAUVILLE_MAN_GIDDY }; +extern struct BardSong gBardSong; + void SetMauvilleOldMan(void); u8 GetCurrentMauvilleOldMan(void); -extern struct BardSong gBardSong; void ScrSpecial_SetMauvilleOldManMapObjGfx(void); +u8 sub_81201C8(void); +void sub_8120B70(OldMan *dest); +void sub_8120670(void); +void SanitizeReceivedRubyOldMan(union OldMan * oldMan, u32 r1, u32 r6); +void SanitizeReceivedEmeraldOldMan(union OldMan * oldMan, u32 unused, u32 a2); +void ResetMauvilleOldManFlag(void); #endif // GUARD_MAUVILLE_OLD_MAN_H diff --git a/include/menu_helpers.h b/include/menu_helpers.h index 4de6603a3..387a89fdd 100644 --- a/include/menu_helpers.h +++ b/include/menu_helpers.h @@ -14,29 +14,27 @@ struct YesNoFuncTable // Exported RAM declarations // Exported ROM declarations -void sub_812220C(struct ItemSlot *, u8, u8 *, u8 *, u8); -void sub_812225C(u16 *, u16 *, u8, u8); -void sub_8122298(u16 *, u16 *, u8, u8, u8); -void sub_8121F68(u8 taskId, const struct YesNoFuncTable *data); -bool8 sub_81221AC(void); -bool8 sub_81221EC(void); void ResetVramOamAndBgCntRegs(void); -void SetVBlankHBlankCallbacksToNull(void); void ResetAllBgsCoordinates(void); +void SetVBlankHBlankCallbacksToNull(void); +void DisplayMessageAndContinueTask(u8 taskId, u8 windowId, u16 arg2, u8 arg3, u8 fontId, u8 textSpeed, const u8 *string, void *taskFunc); bool16 RunTextPrintersRetIsActive(u8 textPrinterId); -void sub_8122344(u8 *arg0, u8 arg1); -void sub_81223B0(u8 *arg0, u8 arg1); -void LoadListMenuArrowsGfx(void); -void sub_81223FC(u8 *a0, u8 count, u8 a2); -void sub_8122448(u8 *a0, u8 count, u16 x, u16 y); -void DisplayMessageAndContinueTask(u8 taskId, u8 arg1, u16 arg2, u8 arg3, u8 arg4, u8 textSpeed, const u8 *string, void *taskFunc); +void sub_8121F68(u8 taskId, const struct YesNoFuncTable *data); void CreateYesNoMenuWithCallbacks(u8 taskId, const struct WindowTemplate *template, u8 arg2, u8 arg3, u8 arg4, u16 tileStart, u8 palette, const struct YesNoFuncTable *yesNo); +bool8 AdjustQuantityAccordingToDPadInput(s16 *arg0, u16 arg1); u8 GetLRKeysState(void); u8 sub_812210C(void); -bool8 sub_81221EC(void); +bool8 sub_8122148(u16 itemId); +bool8 itemid_80BF6D8_mail_related(u16 itemId); bool8 sub_81221AC(void); -bool8 sub_8122148(u16); -bool8 AdjustQuantityAccordingToDPadInput(s16*, u16); -bool8 itemid_80BF6D8_mail_related(u16); +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_8122298(u16 *arg0, u16 *arg1, u8 arg2, u8 arg3, u8 arg4); +void LoadListMenuArrowsGfx(void); +void sub_8122344(u8 *spriteIds, u8 count); +void sub_81223B0(u8 *spriteIds, u8 count); +void sub_81223FC(u8 *spriteIds, u8 count, bool8 invisible); +void sub_8122448(u8 *spriteIds, u8 count, s16 x, u16 y); #endif //GUARD_MENU_HELPERS_H diff --git a/include/menu_indicators.h b/include/menu_indicators.h deleted file mode 100644 index a099cffab..000000000 --- a/include/menu_indicators.h +++ /dev/null @@ -1,37 +0,0 @@ -#ifndef GUARD_MENU_INDICATORS_H -#define GUARD_MENU_INDICATORS_H - -// Exported type declarations - -// Exported RAM declarations - -// Exported ROM declarations - -struct ArrowStruct -{ - u8 unk0[6]; - u16 unk6[4]; - u8 unkE; -}; - -struct CursorStruct -{ - u8 unk0; - u8 unk1; - u16 unk2; - u16 unk4; - u16 unk6; - u16 unk8; - u8 unkA; -}; - -void Task_ScrollIndicatorArrowPairOnMainMenu(u8); -u8 AddScrollIndicatorArrowPairParametrized(u8, u8, u8, u8, s32, u16, u16, u16 *); -void RemoveScrollIndicatorArrowPair(u8); -u8 AddScrollIndicatorArrowPair(const struct ArrowStruct*, void*); -void sub_81AF15C(u8, u8, u8); -void ListMenuRemoveCursorObject(u8 taskId, u32 cursorKind); -void ListMenuUpdateCursorObject(u8 taskId, u16 x, u16 y, u32 cursorKind); -u8 ListMenuAddCursorObjectInternal(struct CursorStruct *cursor, u32 cursorKind); - -#endif //GUARD_MENU_INDICATORS_H diff --git a/include/overworld.h b/include/overworld.h index 59d4d6a30..15d7bb362 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -23,6 +23,8 @@ extern u16 *gBGTilemapBuffers1; extern u16 *gBGTilemapBuffers2; extern u16 *gBGTilemapBuffers3; +extern void (*gFieldCallback)(void); + // Exported ROM declarations extern const struct UCoords32 gUnknown_08339D64[]; @@ -101,7 +103,7 @@ u8 GetMapTypeByGroupAndId(s8 mapGroup, s8 mapNum); u8 GetMapTypeByWarpData(struct WarpData *warp); u8 Overworld_GetMapTypeOfSaveblockLocation(void); u8 get_map_light_from_warp0(void); -bool8 is_light_level_1_2_3_5_or_6(u8 mapType); +bool8 is_map_type_1_2_3_5_or_6(u8 mapType); bool8 Overworld_MapTypeAllowsTeleportAndFly(u8 mapType); bool8 Overworld_MapTypeIsIndoors(u8 mapType); u8 sav1_saved_warp2_map_get_name(void); diff --git a/include/pokemon.h b/include/pokemon.h index cd79a217d..37028821a 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -240,33 +240,6 @@ struct PokemonStorage /*0x83C2*/ u8 boxWallpapers[14]; }; -struct UnknownPokemonStruct -{ - u16 species; - u16 heldItem; - u16 moves[4]; - u8 level; - u8 ppBonuses; - u8 hpEV; - u8 attackEV; - u8 defenseEV; - u8 speedEV; - u8 spAttackEV; - u8 spDefenseEV; - u32 otId; - u32 hpIV:5; - u32 attackIV:5; - u32 defenseIV:5; - u32 speedIV:5; - u32 spAttackIV:5; - u32 spDefenseIV:5; - u32 gap:1; - u32 altAbility:1; - u32 personality; - u8 nickname[POKEMON_NAME_LENGTH + 1]; - u8 friendship; -}; - struct UnknownPokemonSubStruct2 { u16 species; @@ -482,6 +455,7 @@ extern const u8 gUnknown_08329D2A[]; extern const u8 gStatStageRatios[][2]; extern const u16 gUnknown_08329D54[]; extern const struct SpriteTemplate gUnknown_08329D98[]; +extern const struct CompressedSpritePalette gMonPaletteTable[]; void ZeroBoxMonData(struct BoxPokemon *boxMon); void ZeroMonData(struct Pokemon *mon); diff --git a/include/record_mixing.h b/include/record_mixing.h new file mode 100644 index 000000000..3cd4d649e --- /dev/null +++ b/include/record_mixing.h @@ -0,0 +1,35 @@ +#ifndef GUARD_RECORD_MIXING_H +#define GUARD_RECORD_MIXING_H + +// Exported type declarations +struct UnkRecordMixingStruct2a +{ + u8 playerId[4]; + u16 field_4; + u8 playerName[PLAYER_NAME_LENGTH]; + u8 language; +}; + +struct UnkRecordMixingStruct2b +{ + u8 playerId1[4]; + u8 playerId2[4]; + u16 field_8; + u8 playerName1[PLAYER_NAME_LENGTH]; + u8 playerName2[PLAYER_NAME_LENGTH]; + u8 language; +}; + +struct UnkRecordMixingStruct2 +{ + struct UnkRecordMixingStruct2a field_0[9][2]; + struct UnkRecordMixingStruct2b field_120[2]; +}; + +// Exported RAM declarations + +// Exported ROM declarations +void sub_80E6BE8(void); +void sub_80E8260(struct UnkRecordMixingStruct2 *arg0); + +#endif //GUARD_RECORD_MIXING_H diff --git a/include/rom_8034C54.h b/include/rom_8034C54.h new file mode 100644 index 000000000..9ad84ca13 --- /dev/null +++ b/include/rom_8034C54.h @@ -0,0 +1,26 @@ +#ifndef GUARD_ROM_8034C54_H +#define GUARD_ROM_8034C54_H + +struct UnkStruct3 +{ + u8 field_0_0:2; + u8 shape:2; + u8 size:2; + u8 priority:2; + u8 field_1; + u8 xDelta; + s16 x; + s16 y; + const struct SpriteSheet *spriteSheet; + const struct SpritePalette *spritePal; +}; + +bool32 sub_8034C54(u32 count); +void sub_8034CC8(void); +bool32 sub_8034D14(u32 id, s32 arg1, const struct UnkStruct3 *arg2); +void sub_8035044(u32 id, s32 arg1); +void sub_80353DC(u32 id); +void sub_803547C(u32 id, bool32 arg1); +u8 sub_80355F8(u32 arg0, u32 arg1); + +#endif // GUARD_ROM_8034C54_H diff --git a/include/save.h b/include/save.h index f06db2955..7b271129a 100644 --- a/include/save.h +++ b/include/save.h @@ -90,6 +90,9 @@ u8 sub_8153430(void); bool8 sub_8153474(void); u8 Save_LoadGameData(u8 a1); u16 sub_815355C(void); +u8 sub_81534D0(u8); +u8 sub_8153430(void); +bool8 sub_8153474(void); u32 TryCopySpecialSaveSection(u8 sector, u8* dst); u32 sub_8153634(u8 sector, u8* src); void sub_8153688(u8 taskId); diff --git a/include/secret_base.h b/include/secret_base.h index eef48db31..c20533698 100644 --- a/include/secret_base.h +++ b/include/secret_base.h @@ -8,10 +8,13 @@ // Exported ROM declarations void sub_80E9578(void); void sub_80E980C(void); +void sub_80EB18C(struct SecretBaseRecord *dest); +void sub_80E9914(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 sub_80EA3E4(u8 taskId); #endif //GUARD_SECRET_BASE_H diff --git a/include/sprite.h b/include/sprite.h index b5a1b6ae5..4723b66e1 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -229,6 +229,7 @@ struct OamMatrix extern const struct OamData gDummyOamData; extern const union AnimCmd *const gDummySpriteAnimTable[]; extern const union AffineAnimCmd *const gDummySpriteAffineAnimTable[]; +extern const struct SpriteTemplate gDummySpriteTemplate; extern s16 gSpriteCoordOffsetX; extern s16 gSpriteCoordOffsetY; diff --git a/include/strings.h b/include/strings.h index 501cbe510..4736fdc5d 100644 --- a/include/strings.h +++ b/include/strings.h @@ -110,6 +110,8 @@ extern const u8 gText_MoveCloserToLinkPartner[]; extern const u8 gText_CommErrorCheckConnections[]; extern const u8 gText_ABtnTitleScreen[]; extern const u8 gText_ABtnRegistrationCounter[]; +extern const u8 gText_MixingRecords[]; +extern const u8 gText_RecordMixingComplete[]; extern const u8 gText_EmptyString2[]; extern const u8 gText_Confirm3[]; extern const u8 gText_Cancel4[]; diff --git a/include/tv.h b/include/tv.h index 1e05a680e..17be8c43c 100644 --- a/include/tv.h +++ b/include/tv.h @@ -16,7 +16,7 @@ void sub_80EED10(void); void sub_80EED34(void); void sub_80EED60(u16 delta); void sub_80F01B8(void); -void sub_80F01E8(void *src, u32 size, u8 masterIdx); +void ReceiveTvShowsData(void *src, u32 size, u8 masterIdx); void sub_80EE4DC(struct Pokemon *pokemon, u8 ribbonMonDataIdx); u32 GetPlayerIDAsU32(void); bool8 GetPriceReduction(u8 newsKind); @@ -30,7 +30,7 @@ void sub_80EEA70(void); void sub_80EDB44(void); void sub_80EDC60(const u16 *words); void sub_80EDA80(void); -void sub_80F0C7C(void *src, u32 size, u8 masterIdx); +void ReceivePokeNewsData(void *src, u32 size, u8 masterIdx); void sub_80F0BB8(void); void sub_80ED950(bool8 flag); void sub_80EEC80(void); @@ -39,11 +39,13 @@ void sub_80EECC8(void); void sub_80EECEC(void); void sub_80F1208(TVShow *shows); void sub_80EE44C(u8 nMonsCaught, u8 nPkblkUsed); +void sub_80F14F8(TVShow *shows); +size_t sub_80EF370(int value); +bool8 Put3CheersForPokeblocksOnTheAir(const u8 *partnersName, u8 flavor, u8 unused, u8 sheen, u8 language); void SetPokemonAnglerSpecies(u16 species); void UpdateTVShowsPerDay(u16 days); void PutPokemonTodayCaughtOnAir(void); void TV_PutSecretBaseVisitOnTheAir(void); -bool8 Put3CheersForPokeblocksOnTheAir(const u8 *partnersName, u8 flavor, u8 unused, u8 sheen, u8 language); void PutBattleUpdateOnTheAir(u8 opponentLinkPlayerId, u16 move, u16 speciesPlayer, u16 speciesOpponent); void UpdateTVScreensOnMap(int, int); diff --git a/ld_script.txt b/ld_script.txt index e04afa881..f7e531fce 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -31,7 +31,7 @@ SECTIONS { /* COMMON starts at 0x30022A8 */ <COMMON> - tools/agbcc/lib/libc.a:sbrkr.o(COMMON); + *libc.a:sbrkr.o(COMMON); end = .; . = 0x8000; } @@ -60,7 +60,7 @@ SECTIONS { src/main_menu.o(.text); src/battle_controllers.o(.text); src/decompress.o(.text); - asm/rom_8034C54.o(.text); + src/rom_8034C54.o(.text); src/battle_bg.o(.text); src/battle_main.o(.text); src/battle_util.o(.text); @@ -103,7 +103,7 @@ SECTIONS { asm/field_control_avatar.o(.text); src/event_data.o(.text); src/coord_event_weather.o(.text); - asm/field_tasks.o(.text); + src/field_tasks.o(.text); src/clock.o(.text); src/reset_rtc_screen.o(.text); src/start_menu.o(.text); @@ -121,7 +121,7 @@ SECTIONS { asm/cable_club.o(.text); src/trainer_see.o(.text); src/wild_encounter.o(.text); - asm/field_effect.o(.text); + src/field_effect.o(.text); src/scanline_effect.o(.text); src/option_menu.o(.text); src/pokedex.o(.text); @@ -143,7 +143,7 @@ SECTIONS { src/naming_screen.o(.text); src/money.o(.text); asm/contest_effect.o(.text); - asm/record_mixing.o(.text); + src/record_mixing.o(.text); src/secret_base.o(.text); src/tv.o(.text); asm/contest_link_80F57C4.o(.text); @@ -162,7 +162,7 @@ SECTIONS { src/mon_markings.o(.text); src/mauville_old_man.o(.text); src/mail.o(.text); - asm/menu_helpers.o(.text); + src/menu_helpers.o(.text); src/dewford_trend.o(.text); src/heal_location.o(.text); src/region_map.o(.text); @@ -244,7 +244,6 @@ SECTIONS { asm/battle_frontier_2.o(.text); src/item_menu.o(.text); src/list_menu.o(.text); - asm/menu_indicators.o(.text); src/unk_text_util.o(.text); src/save_location.o(.text); src/item_icon.o(.text); @@ -303,56 +302,56 @@ SECTIONS { src/librfu_rfu.o(.text); asm/librfu.o(.text); asm/libagbsyscall.o(.text); - tools/agbcc/lib/libgcc.a:_call_via_rX.o(.text); - tools/agbcc/lib/libgcc.a:_divdi3.o(.text); - tools/agbcc/lib/libgcc.a:_divsi3.o(.text); - tools/agbcc/lib/libgcc.a:_dvmd_tls.o(.text); - tools/agbcc/lib/libgcc.a:_fixunsdfsi.o(.text); - tools/agbcc/lib/libgcc.a:_fixunssfsi.o(.text); - tools/agbcc/lib/libgcc.a:_modsi3.o(.text); - tools/agbcc/lib/libgcc.a:_muldi3.o(.text); - tools/agbcc/lib/libgcc.a:_udivdi3.o(.text); - tools/agbcc/lib/libgcc.a:_udivsi3.o(.text); - tools/agbcc/lib/libgcc.a:_umodsi3.o(.text); - tools/agbcc/lib/libgcc.a:dp-bit.o(.text); - tools/agbcc/lib/libgcc.a:fp-bit.o(.text); - tools/agbcc/lib/libgcc.a:_lshrdi3.o(.text); - tools/agbcc/lib/libgcc.a:_negdi2.o(.text); - tools/agbcc/lib/libc.a:memcpy.o(.text); - tools/agbcc/lib/libc.a:memset.o(.text); - tools/agbcc/lib/libc.a:strcmp.o(.text); - tools/agbcc/lib/libc.a:strcpy.o(.text); - tools/agbcc/lib/libc.a:vfprintf.o(.text); - tools/agbcc/lib/libc.a:vsprintf.o(.text); - tools/agbcc/lib/libc.a:fvwrite.o(.text); - tools/agbcc/lib/libc.a:locale.o(.text); - tools/agbcc/lib/libc.a:findfp.o(.text); - tools/agbcc/lib/libc.a:fflush.o(.text); - tools/agbcc/lib/libc.a:wsetup.o(.text); - tools/agbcc/lib/libc.a:mbtowc_r.o(.text); - tools/agbcc/lib/libc.a:s_isinf.o(.text); - tools/agbcc/lib/libc.a:s_isnan.o(.text); - tools/agbcc/lib/libc.a:memchr.o(.text); - tools/agbcc/lib/libc.a:strlen.o(.text); - tools/agbcc/lib/libc.a:dtoa.o(.text); - tools/agbcc/lib/libc.a:memmove.o(.text); - tools/agbcc/lib/libc.a:stdio.o(.text); - tools/agbcc/lib/libc.a:mprec.o(.text); - tools/agbcc/lib/libc.a:mallocr.o(.text); - tools/agbcc/lib/libc.a:fwalk.o(.text); - tools/agbcc/lib/libc.a:freer.o(.text); - tools/agbcc/lib/libc.a:makebuf.o(.text); - tools/agbcc/lib/libc.a:readr.o(.text); - tools/agbcc/lib/libc.a:writer.o(.text); - tools/agbcc/lib/libc.a:lseekr.o(.text); - tools/agbcc/lib/libc.a:closer.o(.text); - tools/agbcc/lib/libc.a:callocr.o(.text); - tools/agbcc/lib/libc.a:sbrkr.o(.text); - tools/agbcc/lib/libc.a:mlock.o(.text); - tools/agbcc/lib/libc.a:fstatr.o(.text); - tools/agbcc/lib/libc.a:libcfunc.o(.text); - tools/agbcc/lib/libc.a:syscalls.o(.text); - tools/agbcc/lib/libc.a:errno.o(.text); + *libgcc.a:_call_via_rX.o(.text); + *libgcc.a:_divdi3.o(.text); + *libgcc.a:_divsi3.o(.text); + *libgcc.a:_dvmd_tls.o(.text); + *libgcc.a:_fixunsdfsi.o(.text); + *libgcc.a:_fixunssfsi.o(.text); + *libgcc.a:_modsi3.o(.text); + *libgcc.a:_muldi3.o(.text); + *libgcc.a:_udivdi3.o(.text); + *libgcc.a:_udivsi3.o(.text); + *libgcc.a:_umodsi3.o(.text); + *libgcc.a:dp-bit.o(.text); + *libgcc.a:fp-bit.o(.text); + *libgcc.a:_lshrdi3.o(.text); + *libgcc.a:_negdi2.o(.text); + *libc.a:memcpy.o(.text); + *libc.a:memset.o(.text); + *libc.a:strcmp.o(.text); + *libc.a:strcpy.o(.text); + *libc.a:vfprintf.o(.text); + *libc.a:vsprintf.o(.text); + *libc.a:fvwrite.o(.text); + *libc.a:locale.o(.text); + *libc.a:findfp.o(.text); + *libc.a:fflush.o(.text); + *libc.a:wsetup.o(.text); + *libc.a:mbtowc_r.o(.text); + *libc.a:s_isinf.o(.text); + *libc.a:s_isnan.o(.text); + *libc.a:memchr.o(.text); + *libc.a:strlen.o(.text); + *libc.a:dtoa.o(.text); + *libc.a:memmove.o(.text); + *libc.a:stdio.o(.text); + *libc.a:mprec.o(.text); + *libc.a:mallocr.o(.text); + *libc.a:fwalk.o(.text); + *libc.a:freer.o(.text); + *libc.a:makebuf.o(.text); + *libc.a:readr.o(.text); + *libc.a:writer.o(.text); + *libc.a:lseekr.o(.text); + *libc.a:closer.o(.text); + *libc.a:callocr.o(.text); + *libc.a:sbrkr.o(.text); + *libc.a:mlock.o(.text); + *libc.a:fstatr.o(.text); + *libc.a:libcfunc.o(.text); + *libc.a:syscalls.o(.text); + *libc.a:errno.o(.text); src/libisagbprn.o(.text); } =0 @@ -371,7 +370,7 @@ SECTIONS { data/rom_8011DC0.o(.rodata); src/rtc.o(.rodata); src/main_menu.o(.rodata); - data/battle_1.o(.rodata); + src/rom_8034C54.o(.rodata); data/data2b.o(.rodata); src/battle_main.o(.rodata); src/battle_util.o(.rodata); @@ -404,7 +403,7 @@ SECTIONS { src/text_window.o(.rodata); src/scrcmd.o(.rodata); src/coord_event_weather.o(.rodata); - data/field_tasks.o(.rodata); + src/field_tasks.o(.rodata); src/reset_rtc_screen.o(.rodata); src/start_menu.o(.rodata); src/tileset_anims.o(.rodata); @@ -421,7 +420,7 @@ SECTIONS { data/cable_club.o(.rodata); src/trainer_see.o(.rodata); src/wild_encounter.o(.rodata); - data/field_effect.o(.rodata); + src/field_effect.o(.rodata); src/option_menu.o(.rodata); src/pokedex.o(.rodata); data/pokedex.o(.rodata); @@ -439,7 +438,7 @@ SECTIONS { src/naming_screen.o(.rodata); src/money.o(.rodata); data/contest_effect.o(.rodata); - data/record_mixing.o(.rodata); + src/record_mixing.o(.rodata); src/secret_base.o(.rodata); src/tv.o(.rodata); data/contest_link_80F57C4.o(.rodata); @@ -455,7 +454,7 @@ SECTIONS { src/mon_markings.o(.rodata); src/mauville_old_man.o(.rodata); src/mail.o(.rodata); - data/menu_helpers.o(.rodata); + src/menu_helpers.o(.rodata); src/heal_location.o(.rodata); src/region_map.o(.rodata); data/cute_sketch.o(.rodata); @@ -519,7 +518,7 @@ SECTIONS { src/menu.o(.rodata); data/battle_frontier_2.o(.rodata); src/item_menu.o(.rodata); - data/menu_indicators.o(.rodata); + src/list_menu.o(.rodata); src/save_location.o(.rodata); src/item_icon.o(.rodata); data/party_menu.o(.rodata); @@ -1091,11 +1090,11 @@ SECTIONS { src/agb_flash_le.o(.rodata); src/siirtc.o(.rodata); data/librfu_rodata.o(.rodata); - tools/agbcc/lib/libgcc.a:_divdi3.o(.rodata); - tools/agbcc/lib/libgcc.a:_udivdi3.o(.rodata); - tools/agbcc/lib/libc.a(.rodata); - tools/agbcc/lib/libc.a(.data); - tools/agbcc/lib/libc.a:syscalls.o(.rodata); + *libgcc.a:_divdi3.o(.rodata); + *libgcc.a:_udivdi3.o(.rodata); + *libc.a(.rodata); + *libc.a(.data); + *libc.a:syscalls.o(.rodata); src/libisagbprn.o(.rodata); } =0 diff --git a/src/battle_anim_sound_tasks.c b/src/battle_anim_sound_tasks.c index e956fd44f..2316b9759 100644 --- a/src/battle_anim_sound_tasks.c +++ b/src/battle_anim_sound_tasks.c @@ -386,7 +386,7 @@ void sub_8159308(u8 taskId) DestroyAnimVisualTask(taskId); } #else -ASM_DIRECT +NAKED void sub_8159308(u8 taskId) { asm_unified(" push {r4,r5,lr}\n\ diff --git a/src/battle_interface.c b/src/battle_interface.c index 0a8bf3ed7..9ef45020d 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -648,7 +648,7 @@ static void sub_8072308(s16 arg0, u16 *arg1, u8 arg2) } #else -ASM_DIRECT +NAKED static void sub_8072308(s16 arg0, u16 *arg1, u8 arg2) { asm(".syntax unified\n\ diff --git a/src/battle_main.c b/src/battle_main.c index 70eebed85..8649209c0 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -1830,7 +1830,7 @@ static void FreeRestoreBattleData(void) gScanlineEffect.state = 3; gMain.inBattle = 0; ZeroEnemyPartyMons(); - m4aSongNumStop(0x5A); + m4aSongNumStop(SE_HINSI); FreeMonSpritesGfx(); FreeBattleSpritesData(); FreeBattleResources(); @@ -3591,7 +3591,7 @@ static void BattleIntroOpponent1SendsOutMonAnimation(void) gBattleMainFunc = BattleIntroRecordMonsToDex; } #else -ASM_DIRECT +NAKED static void BattleIntroOpponent1SendsOutMonAnimation(void) { asm(".syntax unified\n\ @@ -5224,7 +5224,7 @@ static void ReturnFromBattleToOverworld(void) SetRoamerInactive(); } - m4aSongNumStop(0x5A); + m4aSongNumStop(SE_HINSI); SetMainCallback2(gMain.savedCallback); } diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index d1a18e38f..811aba128 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -3357,7 +3357,7 @@ static void atk23_getexp(void) if (!(gBattleTypeFlags & BATTLE_TYPE_TRAINER) && gBattleMons[0].hp && !gBattleStruct->wildVictorySong) { BattleStopLowHpSound(); - PlayBGM(0x161); + PlayBGM(MUS_KACHI2); gBattleStruct->wildVictorySong++; } @@ -3608,7 +3608,7 @@ static void atk24(void) } } #else -ASM_DIRECT +NAKED static void atk24(void) { asm("\n\ diff --git a/src/battle_setup.c b/src/battle_setup.c index 97e8f7041..48a2ef257 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -51,8 +51,6 @@ struct TrainerBattleParameter u8 ptrType; }; -extern void (*gFieldCallback)(void); - extern bool8 InBattlePyramid(void); extern bool8 InBattlePike(void); extern bool32 InTrainerHill(void); @@ -396,7 +394,7 @@ static void DoStandardWildBattle(void) gBattleTypeFlags = 0; if (InBattlePyramid()) { - VarSet(VAR_0x400E, 0); + VarSet(VAR_TEMP_E, 0); gBattleTypeFlags |= BATTLE_TYPE_PYRAMID; } CreateBattleStartTask(GetWildBattleTransition(), 0); @@ -1260,7 +1258,7 @@ void BattleSetup_StartTrainerBattle(void) if (InBattlePyramid()) { - VarSet(VAR_0x400E, 0); + VarSet(VAR_TEMP_E, 0); gBattleTypeFlags |= BATTLE_TYPE_PYRAMID; if (gNoOfApproachingTrainers == 2) diff --git a/src/battle_tv.c b/src/battle_tv.c index 777b4846f..e5d97be30 100644 --- a/src/battle_tv.c +++ b/src/battle_tv.c @@ -812,7 +812,7 @@ void TryPutLinkBattleTvShowOnAir(void) } #else -ASM_DIRECT +NAKED void TryPutLinkBattleTvShowOnAir(void) { asm_unified( diff --git a/src/berry_blender.c b/src/berry_blender.c index c3b0cc80d..2edb14748 100644 --- a/src/berry_blender.c +++ b/src/berry_blender.c @@ -151,15 +151,14 @@ extern const u8 gText_Space[]; extern const u8 gText_BlenderMaxSpeedRecord[]; extern const u8 gText_234Players[]; -extern void sub_81978B0(u16); extern void sub_800A418(void); extern u8 sub_800A9D8(void); -extern bool8 sub_800A4D8(u8); extern void sub_809882C(u8, u16, u8); extern void copy_textbox_border_tile_patterns_to_vram(u8, u16, u8); extern void sub_81AABF0(void (*callback)(void)); extern void sub_800B4C0(void); extern void ClearLinkCallback(void); +extern void sub_8009F8C(void); extern void sub_8153430(void); extern bool8 sub_8153474(void); extern void sub_80EECEC(void); @@ -818,7 +817,7 @@ static bool8 LoadBerryBlenderGfx(void) switch (sBerryBlenderData->loadGfxState) { case 0: - sBerryBlenderData->tilesBuffer = AllocZeroed(sub_8034974(sBlenderCenterGfx) + 100); + sBerryBlenderData->tilesBuffer = AllocZeroed(GetDecompressedDataSize(sBlenderCenterGfx) + 100); LZDecompressWram(sBlenderCenterGfx, sBerryBlenderData->tilesBuffer); sBerryBlenderData->loadGfxState++; break; @@ -829,7 +828,7 @@ static bool8 LoadBerryBlenderGfx(void) sBerryBlenderData->loadGfxState++; break; case 2: - LoadBgTiles(2, sBerryBlenderData->tilesBuffer, sub_8034974(sBlenderCenterGfx), 0); + LoadBgTiles(2, sBerryBlenderData->tilesBuffer, GetDecompressedDataSize(sBlenderCenterGfx), 0); sBerryBlenderData->loadGfxState++; break; case 3: @@ -837,7 +836,7 @@ static bool8 LoadBerryBlenderGfx(void) sBerryBlenderData->loadGfxState++; break; case 4: - LoadBgTiles(1, sBerryBlenderData->tilesBuffer, sub_8034974(gUnknown_08D91DB8), 0); + LoadBgTiles(1, sBerryBlenderData->tilesBuffer, GetDecompressedDataSize(gUnknown_08D91DB8), 0); sBerryBlenderData->loadGfxState++; break; case 5: @@ -845,7 +844,7 @@ static bool8 LoadBerryBlenderGfx(void) sBerryBlenderData->loadGfxState++; break; case 6: - CopyToBgTilemapBuffer(1, sBerryBlenderData->tilesBuffer, sub_8034974(gUnknown_08D927EC), 0); + CopyToBgTilemapBuffer(1, sBerryBlenderData->tilesBuffer, GetDecompressedDataSize(gUnknown_08D927EC), 0); CopyBgTilemapBufferToVram(1); sBerryBlenderData->loadGfxState++; break; @@ -463,7 +463,7 @@ bool8 IsDma3ManagerBusyWithBgCopy(void) return FALSE; } #else -ASM_DIRECT +NAKED bool8 IsDma3ManagerBusyWithBgCopy(void) { asm("push {r4-r7,lr}\n\ @@ -1048,7 +1048,7 @@ void CopyRectToBgTilemapBufferRect(u8 bg, const void* src, u8 srcX, u8 srcY, u8 } } }*/ -ASM_DIRECT +NAKED void CopyRectToBgTilemapBufferRect(u8 bg, const void* src, u8 srcX, u8 srcY, u8 srcWidth, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette1, u16 tileOffset, u16 palette2) { asm("push {r4-r7,lr}\n\ @@ -1495,7 +1495,7 @@ void CopyTileMapEntry(u16 *src, u16 *dest, s32 palette1, u32 tileOffset, u32 pal *dest = test; } #else -ASM_DIRECT +NAKED void CopyTileMapEntry(u16 *src, u16 *dest, s32 palette1, u32 tileOffset, u32 palette2) { asm("push {r4-r6,lr}\n\ diff --git a/src/bike.c b/src/bike.c index 782eceb8e..e827707cd 100644 --- a/src/bike.c +++ b/src/bike.c @@ -13,7 +13,6 @@ extern bool8 gBikeCyclingChallenge; extern u8 gBikeCollisions; -extern u8 sub_8093514(u8 direction); extern u8 sub_808B980(u8 direction); extern u8 sub_808B9BC(u8 direction); extern u8 sub_808B9A4(u8 direction); diff --git a/src/daycare.c b/src/daycare.c index d567ff79a..5a6aa2b40 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -1,5 +1,6 @@ #include "global.h" #include "pokemon.h" +#include "battle.h" #include "daycare.h" #include "string_util.h" #include "constants/species.h" @@ -22,8 +23,6 @@ #define EGG_MOVES_ARRAY_COUNT 10 #define EGG_LVL_UP_MOVES_ARRAY_COUNT 50 -extern u16 gMoveToLearn; - // text extern const u8 gText_MaleSymbol4[]; extern const u8 gText_FemaleSymbol4[]; @@ -48,7 +47,7 @@ extern void sub_81B9328(void); extern void CB2_ReturnToField(void); // this file's functions -static void ClearDaycareMonMisc(struct DaycareMiscMon *misc); +static void ClearDaycareMonMail(struct DayCareMail *mail); static void SetInitialEggData(struct Pokemon *mon, u16 species, struct DayCare *daycare); static u8 GetDaycareCompatibilityScore(struct DayCare *daycare); static void DaycarePrintMonInfo(u8 windowId, s32 daycareSlotId, u8 y); @@ -180,13 +179,13 @@ static void StorePokemonInDaycare(struct Pokemon *mon, struct DaycareMon *daycar { u8 mailId; - StringCopy(daycareMon->misc.OT_name, gSaveBlock2Ptr->playerName); - GetMonNick(mon, daycareMon->misc.monName); - StripExtCtrlCodes(daycareMon->misc.monName); - daycareMon->misc.gameLanguage = LANGUAGE_ENGLISH; - daycareMon->misc.monLanguage = GetMonData(mon, MON_DATA_LANGUAGE); + StringCopy(daycareMon->mail.OT_name, gSaveBlock2Ptr->playerName); + GetMonNick(mon, daycareMon->mail.monName); + StripExtCtrlCodes(daycareMon->mail.monName); + daycareMon->mail.gameLanguage = LANGUAGE_ENGLISH; + daycareMon->mail.monLanguage = GetMonData(mon, MON_DATA_LANGUAGE); mailId = GetMonData(mon, MON_DATA_MAIL); - daycareMon->misc.mail = gSaveBlock1Ptr->mail[mailId]; + daycareMon->mail.message = gSaveBlock1Ptr->mail[mailId]; TakeMailFromMon(mon); } @@ -220,10 +219,10 @@ static void ShiftDaycareSlots(struct DayCare *daycare) daycare->mons[0].mon = daycare->mons[1].mon; ZeroBoxMonData(&daycare->mons[1].mon); - daycare->mons[0].misc = daycare->mons[1].misc; + daycare->mons[0].mail = daycare->mons[1].mail; daycare->mons[0].steps = daycare->mons[1].steps; daycare->mons[1].steps = 0; - ClearDaycareMonMisc(&daycare->mons[1].misc); + ClearDaycareMonMail(&daycare->mons[1].mail); } } @@ -278,10 +277,10 @@ static u16 TakeSelectedPokemonFromDaycare(struct DaycareMon *daycareMon) } gPlayerParty[PARTY_SIZE - 1] = pokemon; - if (daycareMon->misc.mail.itemId) + if (daycareMon->mail.message.itemId) { - GiveMailToMon2(&gPlayerParty[PARTY_SIZE - 1], &daycareMon->misc.mail); - ClearDaycareMonMisc(&daycareMon->misc); + GiveMailToMon2(&gPlayerParty[PARTY_SIZE - 1], &daycareMon->mail.message); + ClearDaycareMonMail(&daycareMon->mail); } ZeroBoxMonData(&daycareMon->mon); @@ -365,23 +364,23 @@ u8 GetNumLevelsGainedFromDaycare(void) return 0; } -static void ClearDaycareMonMisc(struct DaycareMiscMon *misc) +static void ClearDaycareMonMail(struct DayCareMail *mail) { s32 i; for (i = 0; i < OT_NAME_LENGTH + 1; i++) - misc->OT_name[i] = 0; + mail->OT_name[i] = 0; for (i = 0; i < POKEMON_NAME_LENGTH + 1; i++) - misc->monName[i] = 0; + mail->monName[i] = 0; - ClearMailStruct(&misc->mail); + ClearMailStruct(&mail->message); } static void ClearDaycareMon(struct DaycareMon *daycareMon) { ZeroBoxMonData(&daycareMon->mon); daycareMon->steps = 0; - ClearDaycareMonMisc(&daycareMon->misc); + ClearDaycareMonMail(&daycareMon->mail); } static void ClearAllDaycareData(struct DayCare *daycare) diff --git a/src/decompress.c b/src/decompress.c index fb288bf4a..83a9db0b6 100644 --- a/src/decompress.c +++ b/src/decompress.c @@ -117,7 +117,7 @@ void Unused_LZDecompressWramIndirect(const void **src, void *dest) } // This one (unused) function is really challenging, won't even try to decompile it. -ASM_DIRECT +NAKED void sub_803471C() { asm(".syntax unified\n\ @@ -459,7 +459,7 @@ _08034964:\n\ .syntax divided"); } -u32 sub_8034974(const u8 *ptr) +u32 GetDecompressedDataSize(const u8 *ptr) { return (ptr[3] << 16) | (ptr[2] << 8) | (ptr[1]); } diff --git a/src/decoration.c b/src/decoration.c index f376c2115..08287a3cc 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -21,7 +21,6 @@ #include "list_menu.h" #include "menu_helpers.h" #include "menu.h" -#include "menu_indicators.h" #include "sound.h" #include "event_scripts.h" #include "event_data.h" @@ -38,8 +37,6 @@ #include "decoration.h" #include "graphics.h" -extern void (*gFieldCallback)(void); - // Static type declarations #define OVERWORLD_PLACE_DECOR_SELECTOR_PAL_TAG 0xbe5 @@ -1294,7 +1291,7 @@ void sub_8128060(u8 taskId) gTasks[taskId].data[2] = 2; break; case 2: - if (sub_80ABDFC() == TRUE) + if (IsWeatherNotFadingIn() == TRUE) { gTasks[taskId].data[12] = 0; sub_8128FD8(taskId); @@ -1710,7 +1707,7 @@ void sub_8128C64(u8 taskId) data[2] ++; break; case 3: - if (sub_80ABDFC() == TRUE) + if (IsWeatherNotFadingIn() == TRUE) { gTasks[taskId].func = sub_812764C; } @@ -2220,7 +2217,7 @@ void sub_81298EC(u8 taskId) gTasks[taskId].data[2] = 3; break; case 3: - if (sub_80ABDFC() == TRUE) + if (IsWeatherNotFadingIn() == TRUE) { StringExpandPlaceholders(gStringVar4, gText_DecorationReturnedToPC); DisplayItemMessageOnField(taskId, gStringVar4, sub_8129D64); @@ -2290,7 +2287,7 @@ void sub_8129ABC(u8 taskId) data[2] = 2; break; case 2: - if (sub_80ABDFC() == TRUE) + if (IsWeatherNotFadingIn() == TRUE) { data[12] = 1; sub_8129B34(taskId); @@ -2616,7 +2613,7 @@ void sub_812A2C4(u8 taskId) data[2] ++; break; case 3: - if (sub_80ABDFC() == TRUE) + if (IsWeatherNotFadingIn() == TRUE) { gTasks[taskId].func = sub_8126B80; } diff --git a/src/dewford_trend.c b/src/dewford_trend.c index 3ceec6563..44b42c123 100644 --- a/src/dewford_trend.c +++ b/src/dewford_trend.c @@ -158,7 +158,7 @@ static void sub_8122804(struct EasyChatPair *s, u16 b, u8 c) } } -void sub_812287C(void *a, u32 b, u8 unused) +void ReceiveEasyChatPairsData(void *a, u32 b, u8 unused) { u16 i, j, r3, players; struct EasyChatPair *buffer1, *buffer2, *src, *dst, *foo_of_buffer2; diff --git a/src/egg_hatch.c b/src/egg_hatch.c index e64a98ab1..1ed38c67e 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -25,6 +25,7 @@ #include "window.h" #include "constants/abilities.h" #include "daycare.h" +#include "overworld.h" #include "battle.h" // to get rid of later struct EggHatchData @@ -44,8 +45,6 @@ struct EggHatchData u8 textColor[3]; }; -extern void (*gFieldCallback)(void); - extern const struct CompressedSpriteSheet gMonFrontPicTable[]; extern const u8 gBattleTextboxTiles[]; extern const u8 gBattleTextboxTilemap[]; @@ -391,13 +390,13 @@ static bool8 sub_807158C(struct DayCare *daycare, u8 daycareId) struct DaycareMon *daycareMon = &daycare->mons[daycareId]; GetBoxMonNick(&daycareMon->mon, nick); - if (daycareMon->misc.mail.itemId != 0 - && (StringCompareWithoutExtCtrlCodes(nick, daycareMon->misc.monName) != 0 - || StringCompareWithoutExtCtrlCodes(gSaveBlock2Ptr->playerName, daycareMon->misc.OT_name) != 0)) + if (daycareMon->mail.message.itemId != 0 + && (StringCompareWithoutExtCtrlCodes(nick, daycareMon->mail.monName) != 0 + || StringCompareWithoutExtCtrlCodes(gSaveBlock2Ptr->playerName, daycareMon->mail.OT_name) != 0)) { StringCopy(gStringVar1, nick); - TVShowConvertInternationalString(gStringVar2, daycareMon->misc.OT_name, daycareMon->misc.gameLanguage); - TVShowConvertInternationalString(gStringVar3, daycareMon->misc.monName, daycareMon->misc.monLanguage); + TVShowConvertInternationalString(gStringVar2, daycareMon->mail.OT_name, daycareMon->mail.gameLanguage); + TVShowConvertInternationalString(gStringVar3, daycareMon->mail.monName, daycareMon->mail.monLanguage); return TRUE; } return FALSE; @@ -575,10 +574,10 @@ static void Task_EggHatchPlayBGM(u8 taskID) play_some_sound(); } if (gTasks[taskID].data[0] == 1) - PlayBGM(376); + PlayBGM(MUS_ME_SHINKA); if (gTasks[taskID].data[0] > 60) { - PlayBGM(377); + PlayBGM(MUS_SHINKA); DestroyTask(taskID); // UB: task is destroyed, yet the value is incremented } diff --git a/src/field_effect.c b/src/field_effect.c index 628dc776a..692090779 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -1,15 +1,3897 @@ // Includes #include "global.h" +#include "field_effect.h" +#include "battle_dome_cards.h" +#include "decompress.h" +#include "field_camera.h" +#include "field_effect_helpers.h" +#include "field_map_obj.h" +#include "field_map_obj_helpers.h" +#include "field_player_avatar.h" +#include "field_screen.h" +#include "field_weather.h" +#include "fieldmap.h" +#include "fldeff_groundshake.h" +#include "gpu_regs.h" +#include "main.h" +#include "menu.h" +#include "metatile_behavior.h" +#include "overworld.h" +#include "palette.h" +#include "party_menu.h" +#include "pokemon.h" +#include "script.h" +#include "sound.h" +#include "sprite.h" +#include "task.h" +#include "trig.h" +#include "util.h" +#include "constants/rgb.h" +#include "constants/songs.h" + +#define subsprite_table(ptr) {.subsprites = ptr, .subspriteCount = (sizeof ptr) / (sizeof(struct Subsprite))} + +EWRAM_DATA s32 gFieldEffectArguments[8] = {0}; // Static type declarations // Static RAM declarations -IWRAM_DATA u8 gUnknown_03000F58[32]; +static IWRAM_DATA u8 sActiveList[32]; // Static ROM declarations +extern u8 *gFieldEffectScriptPointers[]; + // .rodata +const u32 gNewGameBirchPic[] = INCBIN_U32("graphics/birch_speech/birch.4bpp"); +const u32 gUnusedBirchBeauty[] = INCBIN_U32("graphics/unused/intro_birch_beauty.4bpp"); +const u16 gNewGameBirchPalette[16] = INCBIN_U16("graphics/birch_speech/birch.gbapal"); +const u32 gSpriteImage_855A970[] = INCBIN_U32("graphics/misc/pokeball_glow.4bpp"); +const u16 gFieldEffectObjectPalette4[16] = INCBIN_U16("graphics/map_objects/palettes/field_effect_object_palette_04.gbapal"); +const u32 gSpriteImage_855A9B0[] = INCBIN_U32("graphics/misc/pokecenter_monitor/0.4bpp"); +const u32 gSpriteImage_855AA70[] = INCBIN_U32("graphics/misc/pokecenter_monitor/1.4bpp"); +const u32 gSpriteImage_855AB30[] = INCBIN_U32("graphics/misc/big_hof_monitor.4bpp"); +const u8 gSpriteImage_855AD30[] = INCBIN_U8("graphics/misc/small_hof_monitor.4bpp"); +const u16 gFieldEffectObjectPalette5[16] = INCBIN_U16("graphics/map_objects/palettes/field_effect_object_palette_05.gbapal"); + +// Graphics for the lights streaking past your Pokemon when it uses a field move. +const u32 gFieldMoveStreaksTiles[] = INCBIN_U32("graphics/misc/field_move_streaks.4bpp"); +const u16 gFieldMoveStreaksPalette[16] = INCBIN_U16("graphics/misc/field_move_streaks.gbapal"); +const u16 gFieldMoveStreaksTilemap[] = INCBIN_U16("graphics/misc/field_move_streaks_map.bin"); + +// The following light streaks effect is used when the map is dark (e.g. a cave). +const u32 gDarknessFieldMoveStreaksTiles[] = INCBIN_U32("graphics/misc/darkness_field_move_streaks.4bpp"); +const u16 gDarknessFieldMoveStreaksPalette[16] = INCBIN_U16("graphics/misc/darkness_field_move_streaks.gbapal"); +const u16 gDarknessFieldMoveStreaksTilemap[] = INCBIN_U16("graphics/misc/darkness_field_move_streaks_map.bin"); + +const u16 gUnknown_0855B610[16] = INCBIN_U16("graphics/misc/spotlight.gbapal"); +const u8 gUnknown_0855B630[] = INCBIN_U8("graphics/misc/spotlight.4bpp"); +const u8 gUnknown_0855C170[] = INCBIN_U8("graphics/unknown/unknown_55C170.4bpp"); +const u8 gUnknown_0855C190[] = INCBIN_U8("graphics/unknown/unknown_55C190.4bpp"); +const u8 gUnknown_0855C1B0[] = INCBIN_U8("graphics/unknown/unknown_55C1B0.4bpp"); +const u8 gUnknown_0855C1D0[] = INCBIN_U8("graphics/unknown/unknown_55C1D0.4bpp"); + +bool8 (*const gFieldEffectScriptFuncs[])(u8 **, u32 *) = { + FieldEffectCmd_loadtiles, + FieldEffectCmd_loadfadedpal, + FieldEffectCmd_loadpal, + FieldEffectCmd_callnative, + FieldEffectCmd_end, + FieldEffectCmd_loadgfx_callnative, + FieldEffectCmd_loadtiles_callnative, + FieldEffectCmd_loadfadedpal_callnative, +}; + +const struct OamData gNewGameBirchOamAttributes = {.size = 3}; +const struct OamData gOamData_855C218 = {.size = 0}; +const struct OamData gOamData_855C220 = {.size = 1}; + +const struct SpriteFrameImage gNewGameBirchPicTable[] = { + obj_frame_tiles(gNewGameBirchPic) +}; +const struct SpritePalette gNewGameBirchObjectPaletteInfo = {.data = gNewGameBirchPalette, .tag = 0x1006}; + +const union AnimCmd gNewGameBirchImageAnim[] = { + ANIMCMD_FRAME(.imageValue = 0, .duration = 1), + ANIMCMD_END +}; + +const union AnimCmd *const gNewGameBirchImageAnimTable[] = { + gNewGameBirchImageAnim +}; + +const struct SpriteTemplate gNewGameBirchObjectTemplate = { + .tileTag = 0xffff, + .paletteTag = 4102, + .oam = &gNewGameBirchOamAttributes, + .anims = gNewGameBirchImageAnimTable, + .images = gNewGameBirchPicTable, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +const struct SpritePalette gFieldEffectObjectPaletteInfo4 = {.data = gFieldEffectObjectPalette4, .tag = 0x1007}; +const struct SpritePalette gFieldEffectObjectPaletteInfo5 = {.data = gFieldEffectObjectPalette5, .tag = 0x1010}; +const struct OamData gOamData_855C26C = { + .shape = 1, + .size = 2 +}; + +const struct SpriteFrameImage gSpriteImageTable_855C274[] = { + obj_frame_tiles(gSpriteImage_855A970) +}; + +const struct SpriteFrameImage gSpriteImageTable_855C27C[] = { + obj_frame_tiles(gSpriteImage_855A9B0), + obj_frame_tiles(gSpriteImage_855AA70) +}; + +const struct SpriteFrameImage gSpriteImageTable_855C28C[] = { + obj_frame_tiles(gSpriteImage_855AB30) +}; + +const struct SpriteFrameImage gSpriteImageTable_855C294[] = { + {.data = gSpriteImage_855AD30, .size = 0x200} // the macro breaks down here +}; + +const struct Subsprite gSubspriteTable_855C29C[] = { + {.x = -12, .y = -8, .priority = 2, .tileOffset = 0, .shape = 1, .size = 0}, + {.x = 4, .y = -8, .priority = 2, .tileOffset = 2, .shape = 0, .size = 0}, + {.x = -12, .y = 0, .priority = 2, .tileOffset = 3, .shape = 1, .size = 0}, + {.x = 4, .y = 0, .priority = 2, .tileOffset = 5, .shape = 0, .size = 0} +}; + +const struct SubspriteTable gUnknown_0855C2AC = subsprite_table(gSubspriteTable_855C29C); + +const struct Subsprite gSubspriteTable_855C2B4[] = { + {.x = -32, .y = -8, .priority = 2, .tileOffset = 0, .shape = 1, .size = 1}, + {.x = 0, .y = -8, .priority = 2, .tileOffset = 4, .shape = 1, .size = 1}, + {.x = -32, .y = 0, .priority = 2, .tileOffset = 8, .shape = 1, .size = 1}, + {.x = 0, .y = 0, .priority = 2, .tileOffset = 12, .shape = 1, .size = 1} +}; + +const struct SubspriteTable gUnknown_0855C2C4 = subsprite_table(gSubspriteTable_855C2B4); + +const union AnimCmd gSpriteAnim_855C2CC[] = { + ANIMCMD_FRAME(.imageValue = 0, .duration = 1), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gSpriteAnim_855C2D4[] = { + ANIMCMD_FRAME(.imageValue = 0, .duration = 16), + ANIMCMD_FRAME(.imageValue = 1, .duration = 16), + ANIMCMD_FRAME(.imageValue = 0, .duration = 16), + ANIMCMD_FRAME(.imageValue = 1, .duration = 16), + ANIMCMD_FRAME(.imageValue = 0, .duration = 16), + ANIMCMD_FRAME(.imageValue = 1, .duration = 16), + ANIMCMD_FRAME(.imageValue = 0, .duration = 16), + ANIMCMD_FRAME(.imageValue = 1, .duration = 16), + ANIMCMD_END +}; + +const union AnimCmd *const gSpriteAnimTable_855C2F8[] = { + gSpriteAnim_855C2CC, + gSpriteAnim_855C2D4 +}; + +const union AnimCmd *const gSpriteAnimTable_855C300[] = { + gSpriteAnim_855C2CC +}; + +const struct SpriteTemplate gSpriteTemplate_855C304 = { + .tileTag = 0xffff, + .paletteTag = 4103, + .oam = &gOamData_855C218, + .anims = gSpriteAnimTable_855C2F8, + .images = gSpriteImageTable_855C274, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_PokeballGlow +}; + +const struct SpriteTemplate gSpriteTemplate_855C31C = { + .tileTag = 0xffff, + .paletteTag = 4100, + .oam = &gOamData_855C220, + .anims = gSpriteAnimTable_855C2F8, + .images = gSpriteImageTable_855C27C, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_PokecenterMonitor +}; + +const struct SpriteTemplate gSpriteTemplate_855C334 = { + .tileTag = 0xffff, + .paletteTag = 4112, + .oam = &gOamData_855C220, + .anims = gSpriteAnimTable_855C300, + .images = gSpriteImageTable_855C28C, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_HallOfFameMonitor +}; + +const struct SpriteTemplate gSpriteTemplate_855C34C = { + .tileTag = 0xffff, + .paletteTag = 4112, + .oam = &gOamData_855C26C, + .anims = gSpriteAnimTable_855C300, + .images = gSpriteImageTable_855C294, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_HallOfFameMonitor +}; + +void (*const gUnknown_0855C364[])(struct Task *) = { + PokecenterHealEffect_0, + PokecenterHealEffect_1, + PokecenterHealEffect_2, + PokecenterHealEffect_3 +}; + +void (*const gUnknown_0855C374[])(struct Task *) = { + HallOfFameRecordEffect_0, + HallOfFameRecordEffect_1, + HallOfFameRecordEffect_2, + HallOfFameRecordEffect_3 +}; + +void (*const gUnknown_0855C384[])(struct Sprite *) = { + PokeballGlowEffect_0, + PokeballGlowEffect_1, + PokeballGlowEffect_2, + PokeballGlowEffect_3, + PokeballGlowEffect_4, + PokeballGlowEffect_5, + PokeballGlowEffect_6, + PokeballGlowEffect_7 +}; + +const struct Coords16 gUnknown_0855C3A4[] = { + {.x = 0, .y = 0}, + {.x = 6, .y = 0}, + {.x = 0, .y = 4}, + {.x = 6, .y = 4}, + {.x = 0, .y = 8}, + {.x = 6, .y = 8} +}; + +const u8 gUnknown_0855C3BC[] = {16, 12, 8, 0}; +const u8 gUnknown_0855C3C0[] = {16, 12, 8, 0}; +const u8 gUnknown_0855C3C4[] = { 0, 0, 0, 0}; + +bool8 (*const gUnknown_0855C3C8[])(struct Task *) = { + sub_80B6BCC, + sub_80B6C74, + sub_80B6C90, + sub_80B6D04, + sub_80B6DBC, + sub_80B6DD8, + sub_80B6E18, +}; + +bool8 (*const gUnknown_0855C3E4[])(struct Task *) = { + sub_80B6EC0, + sub_80B6EE0, + sub_80B6F50, + sub_80B6F74, + sub_80B6F84, + sub_80B6FA8, +}; + +bool8 (*const gUnknown_0855C3FC[])(struct Task *) = { + sub_80B7114, + sub_80B7190, + sub_80B71D0, + sub_80B7230, + sub_80B7270, + sub_80B72D0, + sub_80B72F4, +}; + +bool8 (*const gUnknown_0855C418[])(struct Task *, struct MapObject *) = { + sub_80B73D0, + waterfall_1_do_anim_probably, + waterfall_2_wait_anim_finish_probably, + sub_80B7450, + sub_80B7478, +}; + +bool8 (*const gUnknown_0855C42C[])(struct Task *) = { + dive_1_lock, + dive_2_unknown, + dive_3_unknown, +}; + +bool8 (*const gUnknown_0855C438[])(struct Task *, struct MapObject *, struct Sprite *) = { + sub_80B764C, + sub_80B7684, + sub_80B76B8, + sub_80B7704, + sub_80B77F8, + sub_80B7814, +}; + +bool8 (*const gUnknown_0855C450[])(struct Task *, struct MapObject *, struct Sprite *) = { + sub_80B78EC, + sub_80B791C, + sub_80B7968, + sub_80B79BC, +}; + +bool8 (*const gUnknown_0855C460[])(struct Task *, struct MapObject *, struct Sprite *) = { + sub_80B7AE8, + sub_80B7B18, + sub_80B7B94, + sub_80B7BCC, + sub_80B7BF4, +}; + +void (*const gUnknown_0855C474[])(struct Task *) = { + sub_80B7D14, + sub_80B7D34, +}; // .text + +u32 FieldEffectStart(u8 id) +{ + u8 *script; + u32 val; + + FieldEffectActiveListAdd(id); + + script = gFieldEffectScriptPointers[id]; + + while (gFieldEffectScriptFuncs[*script](&script, &val)) + ; + + return val; +} + +bool8 FieldEffectCmd_loadtiles(u8 **script, u32 *val) +{ + (*script)++; + FieldEffectScript_LoadTiles(script); + return TRUE; +} + +bool8 FieldEffectCmd_loadfadedpal(u8 **script, u32 *val) +{ + (*script)++; + FieldEffectScript_LoadFadedPalette(script); + return TRUE; +} + +bool8 FieldEffectCmd_loadpal(u8 **script, u32 *val) +{ + (*script)++; + FieldEffectScript_LoadPalette(script); + return TRUE; +} + +bool8 FieldEffectCmd_callnative(u8 **script, u32 *val) +{ + (*script)++; + FieldEffectScript_CallNative(script, val); + return TRUE; +} + +bool8 FieldEffectCmd_end(u8 **script, u32 *val) +{ + return FALSE; +} + +bool8 FieldEffectCmd_loadgfx_callnative(u8 **script, u32 *val) +{ + (*script)++; + FieldEffectScript_LoadTiles(script); + FieldEffectScript_LoadFadedPalette(script); + FieldEffectScript_CallNative(script, val); + return TRUE; +} + +bool8 FieldEffectCmd_loadtiles_callnative(u8 **script, u32 *val) +{ + (*script)++; + FieldEffectScript_LoadTiles(script); + FieldEffectScript_CallNative(script, val); + return TRUE; +} + +bool8 FieldEffectCmd_loadfadedpal_callnative(u8 **script, u32 *val) +{ + (*script)++; + FieldEffectScript_LoadFadedPalette(script); + FieldEffectScript_CallNative(script, val); + return TRUE; +} + +u32 FieldEffectScript_ReadWord(u8 **script) +{ + return (*script)[0] + + ((*script)[1] << 8) + + ((*script)[2] << 16) + + ((*script)[3] << 24); +} + +void FieldEffectScript_LoadTiles(u8 **script) +{ + struct SpriteSheet *sheet = (struct SpriteSheet *)FieldEffectScript_ReadWord(script); + if (GetSpriteTileStartByTag(sheet->tag) == 0xFFFF) + LoadSpriteSheet(sheet); + (*script) += 4; +} + +void FieldEffectScript_LoadFadedPalette(u8 **script) +{ + struct SpritePalette *palette = (struct SpritePalette *)FieldEffectScript_ReadWord(script); + LoadSpritePalette(palette); + UpdateSpritePaletteWithWeather(IndexOfSpritePaletteTag(palette->tag)); + (*script) += 4; +} + +void FieldEffectScript_LoadPalette(u8 **script) +{ + struct SpritePalette *palette = (struct SpritePalette *)FieldEffectScript_ReadWord(script); + LoadSpritePalette(palette); + (*script) += 4; +} + +void FieldEffectScript_CallNative(u8 **script, u32 *val) +{ + u32 (*func)(void) = (u32 (*)(void))FieldEffectScript_ReadWord(script); + *val = func(); + (*script) += 4; +} + +void FieldEffectFreeGraphicsResources(struct Sprite *sprite) +{ + u16 sheetTileStart = sprite->sheetTileStart; + u32 paletteNum = sprite->oam.paletteNum; + DestroySprite(sprite); + FieldEffectFreeTilesIfUnused(sheetTileStart); + FieldEffectFreePaletteIfUnused(paletteNum); +} + +void FieldEffectStop(struct Sprite *sprite, u8 id) +{ + FieldEffectFreeGraphicsResources(sprite); + FieldEffectActiveListRemove(id); +} + +void FieldEffectFreeTilesIfUnused(u16 tileStart) +{ + u8 i; + u16 tag = GetSpriteTileTagByTileStart(tileStart); + + if (tag != 0xFFFF) + { + for (i = 0; i < MAX_SPRITES; i++) + if (gSprites[i].inUse && gSprites[i].usingSheet && tileStart == gSprites[i].sheetTileStart) + return; + FreeSpriteTilesByTag(tag); + } +} + +void FieldEffectFreePaletteIfUnused(u8 paletteNum) +{ + u8 i; + u16 tag = GetSpritePaletteTagByPaletteNum(paletteNum); + + if (tag != 0xFFFF) + { + for (i = 0; i < MAX_SPRITES; i++) + if (gSprites[i].inUse && gSprites[i].oam.paletteNum == paletteNum) + return; + FreeSpritePaletteByTag(tag); + } +} + +void FieldEffectActiveListClear(void) +{ + u8 i; + for (i = 0; i < ARRAY_COUNT(sActiveList); i++) + sActiveList[i] = 0xFF; +} + +void FieldEffectActiveListAdd(u8 id) +{ + u8 i; + for (i = 0; i < ARRAY_COUNT(sActiveList); i++) + { + if (sActiveList[i] == 0xFF) + { + sActiveList[i] = id; + return; + } + } +} + +void FieldEffectActiveListRemove(u8 id) +{ + u8 i; + for (i = 0; i < ARRAY_COUNT(sActiveList); i++) + { + if (sActiveList[i] == id) + { + sActiveList[i] = 0xFF; + return; + } + } +} + +bool8 FieldEffectActiveListContains(u8 id) +{ + u8 i; + for (i = 0; i < ARRAY_COUNT(sActiveList); i++) + if (sActiveList[i] == id) + return TRUE; + return FALSE; +} + +u8 CreateTrainerSprite(u8 trainerSpriteID, s16 x, s16 y, u8 subpriority, u8 *buffer) +{ + struct SpriteTemplate spriteTemplate; + LoadCompressedObjectPaletteOverrideBuffer(&gTrainerFrontPicPaletteTable[trainerSpriteID], buffer); + LoadCompressedObjectPicOverrideBuffer(&gTrainerFrontPicTable[trainerSpriteID], buffer); + spriteTemplate.tileTag = gTrainerFrontPicTable[trainerSpriteID].tag; + spriteTemplate.paletteTag = gTrainerFrontPicPaletteTable[trainerSpriteID].tag; + spriteTemplate.oam = &gNewGameBirchOamAttributes; + spriteTemplate.anims = gDummySpriteAnimTable; + spriteTemplate.images = NULL; + spriteTemplate.affineAnims = gDummySpriteAffineAnimTable; + spriteTemplate.callback = SpriteCallbackDummy; + return CreateSprite(&spriteTemplate, x, y, subpriority); +} + +void LoadTrainerGfx_TrainerCard(u8 gender, u16 palOffset, u8 *dest) +{ + LZDecompressVram(gTrainerFrontPicTable[gender].data, dest); + LoadCompressedPalette(gTrainerFrontPicPaletteTable[gender].data, palOffset, 0x20); +} + +u8 AddNewGameBirchObject(s16 x, s16 y, u8 subpriority) +{ + LoadSpritePalette(&gNewGameBirchObjectPaletteInfo); + return CreateSprite(&gNewGameBirchObjectTemplate, x, y, subpriority); +} + +#ifdef NONMATCHING +u8 CreateMonSprite_PicBox(u16 species, s16 x, s16 y) +{ + u16 spriteId = sub_818D7D8(species, 0, 0x8000, 1, x, y, 0, gMonPaletteTable[species].tag); + PreservePaletteInWeather(IndexOfSpritePaletteTag(gMonPaletteTable[species].tag) + 0x10); + if (spriteId == 0xFFFF) + return 0x40; + + return spriteId; +} +#else +NAKED +u8 CreateMonSprite_PicBox(u16 species, s16 x, s16 y) +{ + asm_unified("push {r4,r5,lr}\n\ + sub sp, 0x10\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + movs r3, 0x80\n\ + lsls r3, 8\n\ + lsls r1, 16\n\ + asrs r1, 16\n\ + str r1, [sp]\n\ + lsls r2, 16\n\ + asrs r2, 16\n\ + str r2, [sp, 0x4]\n\ + movs r1, 0\n\ + str r1, [sp, 0x8]\n\ + ldr r1, =gMonPaletteTable\n\ + lsls r4, r0, 3\n\ + adds r4, r1\n\ + ldrh r1, [r4, 0x4]\n\ + str r1, [sp, 0xC]\n\ + movs r1, 0\n\ + adds r2, r3, 0\n\ + movs r3, 0x1\n\ + bl sub_818D7D8\n\ + lsls r0, 16\n\ + lsrs r5, r0, 16\n\ + ldrh r0, [r4, 0x4]\n\ + bl IndexOfSpritePaletteTag\n\ + adds r0, 0x10\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + bl PreservePaletteInWeather\n\ + ldr r0, =0x0000ffff\n\ + cmp r5, r0\n\ + beq _080B5FDC\n\ + lsls r0, r5, 24\n\ + lsrs r0, 24\n\ + b _080B5FDE\n\ + .pool\n\ +_080B5FDC:\n\ + movs r0, 0x40\n\ +_080B5FDE:\n\ + add sp, 0x10\n\ + pop {r4,r5}\n\ + pop {r1}\n\ + bx r1"); +} +#endif //NONMATCHING + +u8 CreateMonSprite_FieldMove(u16 species, u32 d, u32 g, s16 x, s16 y, u8 subpriority) +{ + const struct CompressedSpritePalette *spritePalette = GetMonSpritePalStructFromOtIdPersonality(species, d, g); + u16 spriteId = sub_818D7D8(species, d, g, 1, x, y, 0, spritePalette->tag); + PreservePaletteInWeather(IndexOfSpritePaletteTag(spritePalette->tag) + 0x10); + if (spriteId == 0xFFFF) + return 0x40; + + return spriteId; +} + +void FreeResourcesAndDestroySprite(struct Sprite *sprite, u8 spriteId) +{ + ResetPreservedPalettesInWeather(); + if (sprite->oam.affineMode != 0) + { + FreeOamMatrix(sprite->oam.matrixNum); + } + sub_818D820(spriteId); +} + +#ifdef NONMATCHING +void MultiplyInvertedPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b) +{ + int curRed; + int curGreen; + int curBlue; + + curRed = gPlttBufferUnfaded[i] & 0x1f; + curGreen = (gPlttBufferUnfaded[i] & (0x1f << 5)) >> 5; + curBlue = (gPlttBufferUnfaded[i] & (0x1f << 10)) >> 10; + curRed += (((0x1f - curRed) * r) >> 4); + curGreen += (((0x1f - curGreen) * g) >> 4); + curBlue += (((0x1f - curBlue) * b) >> 4); + gPlttBufferFaded[i] = RGB(curRed, curGreen, curBlue); +} + +void MultiplyPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b) +{ + int curRed; + int curGreen; + int curBlue; + + curRed = gPlttBufferUnfaded[i] & 0x1f; + curGreen = (gPlttBufferUnfaded[i] & (0x1f << 5)) >> 5; + curBlue = (gPlttBufferUnfaded[i] & (0x1f << 10)) >> 10; + curRed -= ((curRed * r) >> 4); + curGreen -= ((curGreen * g) >> 4); + curBlue -= ((curBlue * b) >> 4); + gPlttBufferFaded[i] = RGB(curRed, curGreen, curBlue); +} +#else +NAKED +void MultiplyInvertedPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b) +{ + asm(".syntax unified\n" + "\tpush {r4-r7,lr}\n" + "\tmov r7, r9\n" + "\tmov r6, r8\n" + "\tpush {r6,r7}\n" + "\tlsls r0, 16\n" + "\tlsls r1, 24\n" + "\tlsrs r1, 24\n" + "\tlsls r2, 24\n" + "\tlsrs r2, 24\n" + "\tlsls r3, 24\n" + "\tlsrs r3, 24\n" + "\tldr r4, _08085D00 @ =gPlttBufferUnfaded\n" + "\tlsrs r0, 15\n" + "\tadds r4, r0, r4\n" + "\tldrh r4, [r4]\n" + "\tmovs r5, 0x1F\n" + "\tmov r9, r5\n" + "\tmov r8, r4\n" + "\tmov r6, r8\n" + "\tands r6, r5\n" + "\tmov r8, r6\n" + "\tmovs r6, 0xF8\n" + "\tlsls r6, 2\n" + "\tands r6, r4\n" + "\tlsrs r6, 5\n" + "\tmovs r5, 0xF8\n" + "\tlsls r5, 7\n" + "\tands r4, r5\n" + "\tlsrs r4, 10\n" + "\tmov r7, r9\n" + "\tmov r5, r8\n" + "\tsubs r7, r5\n" + "\tmov r12, r7\n" + "\tmov r7, r12\n" + "\tmuls r7, r1\n" + "\tadds r1, r7, 0\n" + "\tasrs r1, 4\n" + "\tadd r8, r1\n" + "\tmov r5, r9\n" + "\tsubs r1, r5, r6\n" + "\tmuls r1, r2\n" + "\tasrs r1, 4\n" + "\tadds r6, r1\n" + "\tsubs r5, r4\n" + "\tmov r9, r5\n" + "\tmov r1, r9\n" + "\tmuls r1, r3\n" + "\tasrs r1, 4\n" + "\tadds r4, r1\n" + "\tmov r7, r8\n" + "\tlsls r7, 16\n" + "\tlsls r6, 21\n" + "\torrs r6, r7\n" + "\tlsls r4, 26\n" + "\torrs r4, r6\n" + "\tlsrs r4, 16\n" + "\tldr r1, _08085D04 @ =gPlttBufferFaded\n" + "\tadds r0, r1\n" + "\tstrh r4, [r0]\n" + "\tpop {r3,r4}\n" + "\tmov r8, r3\n" + "\tmov r9, r4\n" + "\tpop {r4-r7}\n" + "\tpop {r0}\n" + "\tbx r0\n" + "\t.align 2, 0\n" + "_08085D00: .4byte gPlttBufferUnfaded\n" + "_08085D04: .4byte gPlttBufferFaded\n" + ".syntax divided"); +} + +NAKED +void MultiplyPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b) +{ + asm(".syntax unified\n" + "\tpush {r4-r6,lr}\n" + "\tmov r6, r8\n" + "\tpush {r6}\n" + "\tlsls r0, 16\n" + "\tlsls r1, 24\n" + "\tlsrs r1, 24\n" + "\tlsls r2, 24\n" + "\tlsrs r2, 24\n" + "\tlsls r3, 24\n" + "\tlsrs r3, 24\n" + "\tldr r4, _08085D78 @ =gPlttBufferUnfaded\n" + "\tlsrs r0, 15\n" + "\tadds r4, r0, r4\n" + "\tldrh r4, [r4]\n" + "\tmovs r5, 0x1F\n" + "\tmov r8, r5\n" + "\tmov r6, r8\n" + "\tands r6, r4\n" + "\tmov r8, r6\n" + "\tmovs r5, 0xF8\n" + "\tlsls r5, 2\n" + "\tands r5, r4\n" + "\tlsrs r5, 5\n" + "\tmovs r6, 0xF8\n" + "\tlsls r6, 7\n" + "\tands r4, r6\n" + "\tlsrs r4, 10\n" + "\tmov r6, r8\n" + "\tmuls r6, r1\n" + "\tadds r1, r6, 0\n" + "\tasrs r1, 4\n" + "\tmov r6, r8\n" + "\tsubs r6, r1\n" + "\tadds r1, r5, 0\n" + "\tmuls r1, r2\n" + "\tasrs r1, 4\n" + "\tsubs r5, r1\n" + "\tadds r1, r4, 0\n" + "\tmuls r1, r3\n" + "\tasrs r1, 4\n" + "\tsubs r4, r1\n" + "\tlsls r6, 16\n" + "\tlsls r5, 21\n" + "\torrs r5, r6\n" + "\tlsls r4, 26\n" + "\torrs r4, r5\n" + "\tlsrs r4, 16\n" + "\tldr r1, _08085D7C @ =gPlttBufferFaded\n" + "\tadds r0, r1\n" + "\tstrh r4, [r0]\n" + "\tpop {r3}\n" + "\tmov r8, r3\n" + "\tpop {r4-r6}\n" + "\tpop {r0}\n" + "\tbx r0\n" + "\t.align 2, 0\n" + "_08085D78: .4byte gPlttBufferUnfaded\n" + "_08085D7C: .4byte gPlttBufferFaded\n" + ".syntax divided"); +} +#endif + +void Task_PokecenterHeal(u8 taskId); +u8 CreatePokeballGlowSprite(s16, s16, s16, u16); +u8 PokecenterHealEffectHelper(s16, s16); + +bool8 FldEff_PokecenterHeal(void) +{ + u8 nPokemon; + struct Task *task; + + nPokemon = CalculatePlayerPartyCount(); + task = &gTasks[CreateTask(Task_PokecenterHeal, 0xff)]; + task->data[1] = nPokemon; + task->data[2] = 0x5d; + task->data[3] = 0x24; + task->data[4] = 0x7c; + task->data[5] = 0x18; + return FALSE; +} + +void Task_PokecenterHeal(u8 taskId) +{ + struct Task *task; + task = &gTasks[taskId]; + gUnknown_0855C364[task->data[0]](task); +} + +void PokecenterHealEffect_0(struct Task *task) +{ + task->data[0]++; + task->data[6] = CreatePokeballGlowSprite(task->data[1], task->data[2], task->data[3], 1); + task->data[7] = PokecenterHealEffectHelper(task->data[4], task->data[5]); +} + +void PokecenterHealEffect_1(struct Task *task) +{ + if (gSprites[task->data[6]].data[0] > 1) + { + gSprites[task->data[7]].data[0]++; + task->data[0]++; + } +} + +void PokecenterHealEffect_2(struct Task *task) +{ + if (gSprites[task->data[6]].data[0] > 4) + { + task->data[0]++; + } +} + +void PokecenterHealEffect_3(struct Task *task) +{ + if (gSprites[task->data[6]].data[0] > 6) + { + DestroySprite(&gSprites[task->data[6]]); + FieldEffectActiveListRemove(FLDEFF_POKECENTER_HEAL); + DestroyTask(FindTaskIdByFunc(Task_PokecenterHeal)); + } +} + +void Task_HallOfFameRecord(u8 taskId); +void HallOfFameRecordEffectHelper(s16, s16, s16, u8); + +bool8 FldEff_HallOfFameRecord(void) +{ + u8 nPokemon; + struct Task *task; + + nPokemon = CalculatePlayerPartyCount(); + task = &gTasks[CreateTask(Task_HallOfFameRecord, 0xff)]; + task->data[1] = nPokemon; + task->data[2] = 0x75; + task->data[3] = 0x34; + return FALSE; +} + +void Task_HallOfFameRecord(u8 taskId) +{ + struct Task *task; + task = &gTasks[taskId]; + gUnknown_0855C374[task->data[0]](task); +} + +void HallOfFameRecordEffect_0(struct Task *task) +{ + u8 taskId; + task->data[0]++; + task->data[6] = CreatePokeballGlowSprite(task->data[1], task->data[2], task->data[3], 0); + taskId = FindTaskIdByFunc(Task_HallOfFameRecord); + HallOfFameRecordEffectHelper(taskId, 0x78, 0x18, 0); + HallOfFameRecordEffectHelper(taskId, 0x28, 0x08, 1); + HallOfFameRecordEffectHelper(taskId, 0x48, 0x08, 1); + HallOfFameRecordEffectHelper(taskId, 0xa8, 0x08, 1); + HallOfFameRecordEffectHelper(taskId, 0xc8, 0x08, 1); +} + +void HallOfFameRecordEffect_1(struct Task *task) +{ + if (gSprites[task->data[6]].data[0] > 1) + { + task->data[15]++; // was this ever initialized? is this ever used? + task->data[0]++; + } +} + +void HallOfFameRecordEffect_2(struct Task *task) +{ + if (gSprites[task->data[6]].data[0] > 4) + { + task->data[0]++; + } +} + +void HallOfFameRecordEffect_3(struct Task *task) +{ + if (gSprites[task->data[6]].data[0] > 6) + { + DestroySprite(&gSprites[task->data[6]]); + FieldEffectActiveListRemove(FLDEFF_HALL_OF_FAME_RECORD); + DestroyTask(FindTaskIdByFunc(Task_HallOfFameRecord)); + } +} + +void SpriteCB_PokeballGlowEffect(struct Sprite *); + +u8 CreatePokeballGlowSprite(s16 data6, s16 x, s16 y, u16 data5) +{ + u8 spriteId; + struct Sprite *sprite; + spriteId = CreateInvisibleSprite(SpriteCB_PokeballGlowEffect); + sprite = &gSprites[spriteId]; + sprite->pos2.x = x; + sprite->pos2.y = y; + sprite->data[5] = data5; + sprite->data[6] = data6; + sprite->data[7] = spriteId; + return spriteId; +} + +void SpriteCB_PokeballGlowEffect(struct Sprite *sprite) +{ + gUnknown_0855C384[sprite->data[0]](sprite); +} + +void PokeballGlowEffect_0(struct Sprite *sprite) +{ + u8 endSpriteId; + if (sprite->data[1] == 0 || (--sprite->data[1]) == 0) + { + sprite->data[1] = 25; + endSpriteId = CreateSpriteAtEnd(&gSpriteTemplate_855C304, gUnknown_0855C3A4[sprite->data[2]].x + sprite->pos2.x, gUnknown_0855C3A4[sprite->data[2]].y + sprite->pos2.y, 0); + gSprites[endSpriteId].oam.priority = 2; + gSprites[endSpriteId].data[0] = sprite->data[7]; + sprite->data[2]++; + sprite->data[6]--; + PlaySE(SE_BOWA); + } + if (sprite->data[6] == 0) + { + sprite->data[1] = 32; + sprite->data[0]++; + } +} + +void PokeballGlowEffect_1(struct Sprite *sprite) +{ + if ((--sprite->data[1]) == 0) + { + sprite->data[0]++; + sprite->data[1] = 8; + sprite->data[2] = 0; + sprite->data[3] = 0; + if (sprite->data[5]) + { + PlayFanfare(MUS_ME_ASA); + } + } +} + +void PokeballGlowEffect_2(struct Sprite *sprite) +{ + u8 phase; + if ((--sprite->data[1]) == 0) + { + sprite->data[1] = 8; + sprite->data[2]++; + sprite->data[2] &= 3; + if (sprite->data[2] == 0) + { + sprite->data[3]++; + } + } + phase = (sprite->data[2] + 3) & 3; + MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(0x1007) << 4) + 0x108, gUnknown_0855C3BC[phase], gUnknown_0855C3C0[phase], gUnknown_0855C3C4[phase]); + phase = (sprite->data[2] + 2) & 3; + MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(0x1007) << 4) + 0x106, gUnknown_0855C3BC[phase], gUnknown_0855C3C0[phase], gUnknown_0855C3C4[phase]); + phase = (sprite->data[2] + 1) & 3; + MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(0x1007) << 4) + 0x102, gUnknown_0855C3BC[phase], gUnknown_0855C3C0[phase], gUnknown_0855C3C4[phase]); + phase = sprite->data[2]; + MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(0x1007) << 4) + 0x105, gUnknown_0855C3BC[phase], gUnknown_0855C3C0[phase], gUnknown_0855C3C4[phase]); + MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(0x1007) << 4) + 0x103, gUnknown_0855C3BC[phase], gUnknown_0855C3C0[phase], gUnknown_0855C3C4[phase]); + if (sprite->data[3] > 2) + { + sprite->data[0]++; + sprite->data[1] = 8; + sprite->data[2] = 0; + } +} + +void PokeballGlowEffect_3(struct Sprite *sprite) +{ + u8 phase; + if ((--sprite->data[1]) == 0) + { + sprite->data[1] = 8; + sprite->data[2]++; + sprite->data[2] &= 3; + if (sprite->data[2] == 3) + { + sprite->data[0]++; + sprite->data[1] = 30; + } + } + phase = sprite->data[2]; + MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(0x1007) << 4) + 0x108, gUnknown_0855C3BC[phase], gUnknown_0855C3C0[phase], gUnknown_0855C3C4[phase]); + MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(0x1007) << 4) + 0x106, gUnknown_0855C3BC[phase], gUnknown_0855C3C0[phase], gUnknown_0855C3C4[phase]); + MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(0x1007) << 4) + 0x102, gUnknown_0855C3BC[phase], gUnknown_0855C3C0[phase], gUnknown_0855C3C4[phase]); + MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(0x1007) << 4) + 0x105, gUnknown_0855C3BC[phase], gUnknown_0855C3C0[phase], gUnknown_0855C3C4[phase]); + MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(0x1007) << 4) + 0x103, gUnknown_0855C3BC[phase], gUnknown_0855C3C0[phase], gUnknown_0855C3C4[phase]); +} + +void PokeballGlowEffect_4(struct Sprite *sprite) +{ + if ((--sprite->data[1]) == 0) + { + sprite->data[0]++; + } +} + +void PokeballGlowEffect_5(struct Sprite *sprite) +{ + sprite->data[0]++; +} + +void PokeballGlowEffect_6(struct Sprite *sprite) +{ + if (sprite->data[5] == 0 || IsFanfareTaskInactive()) + { + sprite->data[0]++; + } +} + +void PokeballGlowEffect_7(struct Sprite *sprite) +{ +} + +void SpriteCB_PokeballGlow(struct Sprite *sprite) +{ + if (gSprites[sprite->data[0]].data[0] > 4) + { + FieldEffectFreeGraphicsResources(sprite); + } +} + +u8 PokecenterHealEffectHelper(s16 x, s16 y) +{ + u8 spriteIdAtEnd; + struct Sprite *sprite; + spriteIdAtEnd = CreateSpriteAtEnd(&gSpriteTemplate_855C31C, x, y, 0); + sprite = &gSprites[spriteIdAtEnd]; + sprite->oam.priority = 2; + sprite->invisible = 1; + SetSubspriteTables(sprite, &gUnknown_0855C2AC); + return spriteIdAtEnd; +} + +void SpriteCB_PokecenterMonitor(struct Sprite *sprite) +{ + if (sprite->data[0] != 0) + { + sprite->data[0] = 0; + sprite->invisible = 0; + StartSpriteAnim(sprite, 1); + } + if (sprite->animEnded) + { + FieldEffectFreeGraphicsResources(sprite); + } +} + +void HallOfFameRecordEffectHelper(s16 a0, s16 a1, s16 a2, u8 a3) +{ + u8 spriteIdAtEnd; + if (!a3) + { + spriteIdAtEnd = CreateSpriteAtEnd(&gSpriteTemplate_855C334, a1, a2, 0); + SetSubspriteTables(&gSprites[spriteIdAtEnd], &gUnknown_0855C2C4); + } else + { + spriteIdAtEnd = CreateSpriteAtEnd(&gSpriteTemplate_855C34C, a1, a2, 0); + } + gSprites[spriteIdAtEnd].invisible = 1; + gSprites[spriteIdAtEnd].data[0] = a0; +} + +void SpriteCB_HallOfFameMonitor(struct Sprite *sprite) +{ + if (gTasks[sprite->data[0]].data[15]) + { + if (sprite->data[1] == 0 || (--sprite->data[1]) == 0) + { + sprite->data[1] = 16; + sprite->invisible ^= 1; + } + sprite->data[2]++; + } + if (sprite->data[2] > 127) + { + FieldEffectFreeGraphicsResources(sprite); + } +} + +void mapldr_080842E8(void); +void mapldr_08084390(void); +void task00_8084310(u8); +void c3_080843F8(u8); + +void sub_80B69DC(void) +{ + SetMainCallback2(CB2_ReturnToField); + gFieldCallback = mapldr_080842E8; +} + +void mapldr_080842E8(void) +{ + pal_fill_black(); + CreateTask(task00_8084310, 0); + ScriptContext2_Enable(); + FreezeMapObjects(); + gFieldCallback = NULL; +} + +void task00_8084310(u8 taskId) +{ + struct Task *task; + task = &gTasks[taskId]; + if (!task->data[0]) + { + if (!IsWeatherNotFadingIn()) + { + return; + } + gFieldEffectArguments[0] = GetCursorSelectionMonId(); + if ((int)gFieldEffectArguments[0] > 5) + { + gFieldEffectArguments[0] = 0; + } + FieldEffectStart(FLDEFF_USE_FLY); + task->data[0]++; + } + if (!FieldEffectActiveListContains(FLDEFF_USE_FLY)) + { + Overworld_ResetStateAfterFly(); + warp_in(); + SetMainCallback2(CB2_LoadMap); + gFieldCallback = mapldr_08084390; + DestroyTask(taskId); + } +} + +void mapldr_08084390(void) +{ + Overworld_PlaySpecialMapMusic(); + pal_fill_black(); + CreateTask(c3_080843F8, 0); + gMapObjects[gPlayerAvatar.mapObjectId].mapobj_bit_13 = 1; + if (gPlayerAvatar.flags & 0x08) + { + FieldObjectTurn(&gMapObjects[gPlayerAvatar.mapObjectId], DIR_WEST); + } + ScriptContext2_Enable(); + FreezeMapObjects(); + gFieldCallback = NULL; +} + +void c3_080843F8(u8 taskId) +{ + struct Task *task; + task = &gTasks[taskId]; + if (task->data[0] == 0) + { + if (gPaletteFade.active) + { + return; + } + FieldEffectStart(FLDEFF_FLY_IN); + task->data[0]++; + } + if (!FieldEffectActiveListContains(FLDEFF_FLY_IN)) + { + ScriptContext2_Disable(); + UnfreezeMapObjects(); + DestroyTask(taskId); + } +} + +extern void pal_fill_for_maplights(void); +void sub_80B6B94(u8); +extern void CameraObjectReset2(void); +extern void CameraObjectReset1(void); + +void sub_80B6B68(void) +{ + Overworld_PlaySpecialMapMusic(); + pal_fill_for_maplights(); + ScriptContext2_Enable(); + FreezeMapObjects(); + CreateTask(sub_80B6B94, 0); + gFieldCallback = NULL; +} + +void sub_80B6B94(u8 taskId) +{ + struct Task *task; + task = &gTasks[taskId]; + while (gUnknown_0855C3C8[task->data[0]](task)); // return code signifies whether to continue blocking here +} + +bool8 sub_80B6BCC(struct Task *task) // gUnknown_0855C3C8[0] +{ + struct MapObject *playerObject; + struct Sprite *playerSprite; + playerObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + playerSprite = &gSprites[gPlayerAvatar.spriteId]; + CameraObjectReset2(); + gMapObjects[gPlayerAvatar.mapObjectId].mapobj_bit_13 = 1; + gPlayerAvatar.preventStep = TRUE; + FieldObjectSetSpecialAnim(playerObject, GetFaceDirectionAnimId(player_get_direction_lower_nybble())); + task->data[4] = playerSprite->subspriteMode; + playerObject->mapobj_bit_26 = 1; + playerSprite->oam.priority = 1; + playerSprite->subspriteMode = 2; + task->data[0]++; + return TRUE; +} + +bool8 sub_80B6C74(struct Task *task) // gUnknown_0855C3C8[1] +{ + if (IsWeatherNotFadingIn()) + { + task->data[0]++; + } + return FALSE; +} + +bool8 sub_80B6C90(struct Task *task) // gUnknown_0855C3C8[2] +{ + struct Sprite *sprite; + s16 centerToCornerVecY; + sprite = &gSprites[gPlayerAvatar.spriteId]; + centerToCornerVecY = -(sprite->centerToCornerVecY << 1); + sprite->pos2.y = -(sprite->pos1.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY + centerToCornerVecY); + task->data[1] = 1; + task->data[2] = 0; + gMapObjects[gPlayerAvatar.mapObjectId].mapobj_bit_13 = 0; + PlaySE(SE_RU_HYUU); + task->data[0]++; + return FALSE; +} + +bool8 sub_80B6D04(struct Task *task) +{ + struct MapObject *mapObject; + struct Sprite *sprite; + + mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + sprite = &gSprites[gPlayerAvatar.spriteId]; + sprite->pos2.y += task->data[1]; + if (task->data[1] < 8) + { + task->data[2] += task->data[1]; + if (task->data[2] & 0xf) + { + task->data[1] <<= 1; + } + } + if (task->data[3] == 0 && sprite->pos2.y >= -16) + { + task->data[3]++; + mapObject->mapobj_bit_26 = 0; + sprite->subspriteMode = task->data[4]; + mapObject->mapobj_bit_2 = 1; + } + if (sprite->pos2.y >= 0) + { + PlaySE(SE_W070); + mapObject->mapobj_bit_3 = 1; + mapObject->mapobj_bit_5 = 1; + sprite->pos2.y = 0; + task->data[0]++; + } + return FALSE; +} + +bool8 sub_80B6DBC(struct Task *task) +{ + task->data[0]++; + task->data[1] = 4; + task->data[2] = 0; + SetCameraPanningCallback(NULL); + return TRUE; +} + +bool8 sub_80B6DD8(struct Task *task) +{ + SetCameraPanning(0, task->data[1]); + task->data[1] = -task->data[1]; + task->data[2]++; + if ((task->data[2] & 3) == 0) + { + task->data[1] >>= 1; + } + if (task->data[1] == 0) + { + task->data[0]++; + } + return FALSE; +} + +bool8 sub_80B6E18(struct Task *task) +{ + gPlayerAvatar.preventStep = FALSE; + ScriptContext2_Disable(); + CameraObjectReset1(); + UnfreezeMapObjects(); + InstallCameraPanAheadCallback(); + DestroyTask(FindTaskIdByFunc(sub_80B6B94)); + return FALSE; +} + +void sub_80B6E88(u8); +extern void sub_80E1558(u8); +extern void sub_80AF0B4(void); + +void sub_80B6FB8(struct Task *); +void sub_80B7004(struct Task *); +void sub_80B7050(void); +void sub_80B7060(void); +bool8 sub_80859A0(void); +void sub_80B70B4(void); +void sub_80E1570(void); +void sub_80B70DC(u8); + +void sub_80B6E4C(u8 a0, u8 priority) +{ + u8 taskId; + taskId = CreateTask(sub_80B6E88, priority); + gTasks[taskId].data[1] = 0; + if (a0 == 0x6a) + { + gTasks[taskId].data[1] = 1; + } +} + +void sub_80B6E88(u8 taskId) +{ + struct Task *task; + task = &gTasks[taskId]; + while (gUnknown_0855C3E4[task->data[0]](task)); +} + +bool8 sub_80B6EC0(struct Task *task) +{ + FreezeMapObjects(); + CameraObjectReset2(); + sub_80E1558(task->data[1]); + task->data[0]++; + return FALSE; +} + +bool8 sub_80B6EE0(struct Task *task) +{ + struct MapObject *mapObject; + mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + if (!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(mapObject) || FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + { + FieldObjectSetSpecialAnim(mapObject, GetFaceDirectionAnimId(player_get_direction_lower_nybble())); + task->data[0]++; + task->data[2] = 0; + task->data[3] = 0; + if ((u8)task->data[1] == 0) + { + task->data[0] = 4; + } + PlaySE(SE_ESUKA); + } + return FALSE; +} + +bool8 sub_80B6F50(struct Task *task) +{ + sub_80B6FB8(task); + if (task->data[2] > 3) + { + sub_80B7050(); + task->data[0]++; + } + return FALSE; +} + +bool8 sub_80B6F74(struct Task *task) +{ + sub_80B6FB8(task); + sub_80B7060(); + return FALSE; +} + +bool8 sub_80B6F84(struct Task *task) +{ + sub_80B7004(task); + if (task->data[2] > 3) + { + sub_80B7050(); + task->data[0]++; + } + return FALSE; +} + +bool8 sub_80B6FA8(struct Task *task) +{ + sub_80B7004(task); + sub_80B7060(); + return FALSE; +} + +void sub_80B6FB8(struct Task *task) +{ + struct Sprite *sprite; + sprite = &gSprites[gPlayerAvatar.spriteId]; + sprite->pos2.x = Cos(0x84, task->data[2]); + sprite->pos2.y = Sin(0x94, task->data[2]); + task->data[3]++; + if (task->data[3] & 1) + { + task->data[2]++; + } +} + +void sub_80B7004(struct Task *task) +{ + struct Sprite *sprite; + sprite = &gSprites[gPlayerAvatar.spriteId]; + sprite->pos2.x = Cos(0x7c, task->data[2]); + sprite->pos2.y = Sin(0x76, task->data[2]); + task->data[3]++; + if (task->data[3] & 1) + { + task->data[2]++; + } +} + +void sub_80B7050(void) +{ + music_something(); + sub_80AF0B4(); +} + +void sub_80B7060(void) +{ + if (!gPaletteFade.active && sub_80859A0() == TRUE) + { + sub_80E1570(); + warp_in(); + gFieldCallback = sub_80B70B4; + SetMainCallback2(CB2_LoadMap); + DestroyTask(FindTaskIdByFunc(sub_80B6E88)); + } +} + +void sub_80B70B4(void) +{ + Overworld_PlaySpecialMapMusic(); + pal_fill_for_maplights(); + ScriptContext2_Enable(); + CreateTask(sub_80B70DC, 0); + gFieldCallback = NULL; +} + +void sub_80B70DC(u8 taskId) +{ + struct Task *task; + task = &gTasks[taskId]; + while (gUnknown_0855C3FC[task->data[0]](task)); +} + +bool8 sub_80B7114(struct Task *task) +{ + struct MapObject *mapObject; + s16 x; + s16 y; + u8 behavior; + CameraObjectReset2(); + mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + FieldObjectSetSpecialAnim(mapObject, GetFaceDirectionAnimId(DIR_EAST)); + PlayerGetDestCoords(&x, &y); + behavior = MapGridGetMetatileBehaviorAt(x, y); + task->data[0]++; + task->data[1] = 16; + if (behavior == 0x6b) + { + behavior = 1; + task->data[0] = 3; + } else + { + behavior = 0; + } + sub_80E1558(behavior); + return TRUE; +} + +bool8 sub_80B7190(struct Task *task) +{ + struct Sprite *sprite; + sprite = &gSprites[gPlayerAvatar.spriteId]; + sprite->pos2.x = Cos(0x84, task->data[1]); + sprite->pos2.y = Sin(0x94, task->data[1]); + task->data[0]++; + return FALSE; +} + +bool8 sub_80B71D0(struct Task *task) +{ + struct Sprite *sprite; + sprite = &gSprites[gPlayerAvatar.spriteId]; + sprite->pos2.x = Cos(0x84, task->data[1]); + sprite->pos2.y = Sin(0x94, task->data[1]); + task->data[2]++; + if (task->data[2] & 1) + { + task->data[1]--; + } + if (task->data[1] == 0) + { + sprite->pos2.x = 0; + sprite->pos2.y = 0; + task->data[0] = 5; + } + return FALSE; +} + +bool8 sub_80B7230(struct Task *task) +{ + struct Sprite *sprite; + sprite = &gSprites[gPlayerAvatar.spriteId]; + sprite->pos2.x = Cos(0x7c, task->data[1]); + sprite->pos2.y = Sin(0x76, task->data[1]); + task->data[0]++; + return FALSE; +} + +bool8 sub_80B7270(struct Task *task) +{ + struct Sprite *sprite; + sprite = &gSprites[gPlayerAvatar.spriteId]; + sprite->pos2.x = Cos(0x7c, task->data[1]); + sprite->pos2.y = Sin(0x76, task->data[1]); + task->data[2]++; + if (task->data[2] & 1) + { + task->data[1]--; + } + if (task->data[1] == 0) + { + sprite->pos2.x = 0; + sprite->pos2.y = 0; + task->data[0]++; + } + return FALSE; +} + +extern bool8 sub_80E1584(void); + +bool8 sub_80B72D0(struct Task *task) +{ + if (sub_80E1584()) + { + return FALSE; + } + sub_80E1570(); + task->data[0]++; + return TRUE; +} + +bool8 sub_80B72F4(struct Task *task) +{ + struct MapObject *mapObject; + mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + if (FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + { + CameraObjectReset1(); + ScriptContext2_Disable(); + FieldObjectSetSpecialAnim(mapObject, GetGoSpeed0AnimId(DIR_EAST)); + DestroyTask(FindTaskIdByFunc(sub_80B70DC)); + } + return FALSE; +} + +void sub_80B7384(u8); + +bool8 FldEff_UseWaterfall(void) +{ + u8 taskId; + taskId = CreateTask(sub_80B7384, 0xff); + gTasks[taskId].data[1] = gFieldEffectArguments[0]; + sub_80B7384(taskId); + return FALSE; +} + +void sub_80B7384(u8 taskId) +{ + while (gUnknown_0855C418[gTasks[taskId].data[0]](&gTasks[taskId], &gMapObjects[gPlayerAvatar.mapObjectId])); +} + +bool8 sub_80B73D0(struct Task *task, struct MapObject *mapObject) +{ + ScriptContext2_Enable(); + gPlayerAvatar.preventStep = TRUE; + task->data[0]++; + return FALSE; +} + +bool8 waterfall_1_do_anim_probably(struct Task *task, struct MapObject *mapObject) +{ + ScriptContext2_Enable(); + if (!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(mapObject)) + { + FieldObjectClearAnimIfSpecialAnimFinished(mapObject); + gFieldEffectArguments[0] = task->data[1]; + FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON_INIT); + task->data[0]++; + } + return FALSE; +} + +bool8 waterfall_2_wait_anim_finish_probably(struct Task *task, struct MapObject *mapObject) +{ + if (FieldEffectActiveListContains(FLDEFF_FIELD_MOVE_SHOW_MON)) + { + return FALSE; + } + task->data[0]++; + return TRUE; +} + +bool8 sub_80B7450(struct Task *task, struct MapObject *mapObject) +{ + FieldObjectSetSpecialAnim(mapObject, GetSimpleGoAnimId(DIR_NORTH)); + task->data[0]++; + return FALSE; +} + +bool8 sub_80B7478(struct Task *task, struct MapObject *mapObject) +{ + if (!FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + { + return FALSE; + } + if (MetatileBehavior_IsWaterfall(mapObject->mapobj_unk_1E)) + { + task->data[0] = 3; + return TRUE; + } + ScriptContext2_Disable(); + gPlayerAvatar.preventStep = FALSE; + DestroyTask(FindTaskIdByFunc(sub_80B7384)); + FieldEffectActiveListRemove(FLDEFF_USE_WATERFALL); + return FALSE; +} + +void Task_Dive(u8); +extern int dive_warp(struct MapPosition *, u16); + +bool8 FldEff_UseDive(void) +{ + u8 taskId; + taskId = CreateTask(Task_Dive, 0xff); + gTasks[taskId].data[15] = gFieldEffectArguments[0]; + gTasks[taskId].data[14] = gFieldEffectArguments[1]; + Task_Dive(taskId); + return FALSE; +} + +void Task_Dive(u8 taskId) +{ + while (gUnknown_0855C42C[gTasks[taskId].data[0]](&gTasks[taskId])); +} + +bool8 dive_1_lock(struct Task *task) +{ + gPlayerAvatar.preventStep = TRUE; + task->data[0]++; + return FALSE; +} + +bool8 dive_2_unknown(struct Task *task) +{ + ScriptContext2_Enable(); + gFieldEffectArguments[0] = task->data[15]; + FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON_INIT); + task->data[0]++; + return FALSE; +} + +bool8 dive_3_unknown(struct Task *task) +{ + struct MapPosition mapPosition; + PlayerGetDestCoords(&mapPosition.x, &mapPosition.y); + if (!FieldEffectActiveListContains(FLDEFF_FIELD_MOVE_SHOW_MON)) + { + dive_warp(&mapPosition, gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1E); + DestroyTask(FindTaskIdByFunc(Task_Dive)); + FieldEffectActiveListRemove(FLDEFF_USE_DIVE); + } + return FALSE; +} + +void sub_80B75F0(u8); +void mapldr_080851BC(void); + +void sub_80B75D8(u8 priority) +{ + CreateTask(sub_80B75F0, priority); +} + +void sub_80B75F0(u8 taskId) +{ + while (gUnknown_0855C438[gTasks[taskId].data[0]](&gTasks[taskId], &gMapObjects[gPlayerAvatar.mapObjectId], &gSprites[gPlayerAvatar.spriteId])); +} + +bool8 sub_80B764C(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +{ + FreezeMapObjects(); + CameraObjectReset2(); + SetCameraPanningCallback(NULL); + gPlayerAvatar.preventStep = TRUE; + mapObject->mapobj_bit_26 = 1; + task->data[1] = 1; + task->data[0]++; + return TRUE; +} + +bool8 sub_80B7684(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +{ + SetCameraPanning(0, task->data[1]); + task->data[1] = -task->data[1]; + task->data[2]++; + if (task->data[2] > 7) + { + task->data[2] = 0; + task->data[0]++; + } + return FALSE; +} + +bool8 sub_80B76B8(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +{ + sprite->pos2.y = 0; + task->data[3] = 1; + gFieldEffectArguments[0] = mapObject->coords2.x; + gFieldEffectArguments[1] = mapObject->coords2.y; + gFieldEffectArguments[2] = sprite->subpriority - 1; + gFieldEffectArguments[3] = sprite->oam.priority; + FieldEffectStart(FLDEFF_LAVARIDGE_GYM_WARP); + PlaySE(SE_W153); + task->data[0]++; + return TRUE; +} + +bool8 sub_80B7704(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +{ + s16 centerToCornerVecY; + SetCameraPanning(0, task->data[1]); + if (task->data[1] = -task->data[1], ++task->data[2] <= 17) + { + if (!(task->data[2] & 1) && (task->data[1] <= 3)) + { + task->data[1] <<= 1; + } + } else if (!(task->data[2] & 4) && (task->data[1] > 0)) + { + task->data[1] >>= 1; + } + if (task->data[2] > 6) + { + centerToCornerVecY = -(sprite->centerToCornerVecY << 1); + if (sprite->pos2.y > -(sprite->pos1.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY + centerToCornerVecY)) + { + sprite->pos2.y -= task->data[3]; + if (task->data[3] <= 7) + { + task->data[3]++; + } + } else + { + task->data[4] = 1; + } + } + if (task->data[5] == 0 && sprite->pos2.y < -0x10) + { + task->data[5]++; + mapObject->mapobj_bit_26 = 1; + sprite->oam.priority = 1; + sprite->subspriteMode = 2; + } + if (task->data[1] == 0 && task->data[4] != 0) + { + task->data[0]++; + } + return FALSE; +} + +bool8 sub_80B77F8(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +{ + music_something(); + sub_80AF0B4(); + task->data[0]++; + return FALSE; +} + +bool8 sub_80B7814(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +{ + if (!gPaletteFade.active && sub_80859A0() == TRUE) + { + warp_in(); + gFieldCallback = mapldr_080851BC; + SetMainCallback2(CB2_LoadMap); + DestroyTask(FindTaskIdByFunc(sub_80B75F0)); + } + return FALSE; +} + +void sub_80B7890(u8); + +void mapldr_080851BC(void) +{ + Overworld_PlaySpecialMapMusic(); + pal_fill_for_maplights(); + ScriptContext2_Enable(); + gFieldCallback = NULL; + CreateTask(sub_80B7890, 0); +} + +void sub_80B7890(u8 taskId) +{ + while (gUnknown_0855C450[gTasks[taskId].data[0]](&gTasks[taskId], &gMapObjects[gPlayerAvatar.mapObjectId], &gSprites[gPlayerAvatar.spriteId])); +} + +bool8 sub_80B78EC(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +{ + CameraObjectReset2(); + FreezeMapObjects(); + gPlayerAvatar.preventStep = TRUE; + mapObject->mapobj_bit_13 = 1; + task->data[0]++; + return FALSE; +} + +bool8 sub_80B791C(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +{ + if (IsWeatherNotFadingIn()) + { + gFieldEffectArguments[0] = mapObject->coords2.x; + gFieldEffectArguments[1] = mapObject->coords2.y; + gFieldEffectArguments[2] = sprite->subpriority - 1; + gFieldEffectArguments[3] = sprite->oam.priority; + task->data[1] = FieldEffectStart(FLDEFF_POP_OUT_OF_ASH); + task->data[0]++; + } + return FALSE; +} + +bool8 sub_80B7968(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +{ + sprite = &gSprites[task->data[1]]; + if (sprite->animCmdIndex > 1) + { + task->data[0]++; + mapObject->mapobj_bit_13 = 0; + CameraObjectReset1(); + PlaySE(SE_W091); + FieldObjectSetSpecialAnim(mapObject, sub_8093514(DIR_EAST)); + } + return FALSE; +} + +bool8 sub_80B79BC(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +{ + if (FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + { + gPlayerAvatar.preventStep = FALSE; + ScriptContext2_Disable(); + UnfreezeMapObjects(); + DestroyTask(FindTaskIdByFunc(sub_80B7890)); + } + return FALSE; +} + +extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[36]; + +u8 FldEff_LavaridgeGymWarp(void) +{ + u8 spriteId; + sub_80930E0((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[33], gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + gSprites[spriteId].oam.priority = gFieldEffectArguments[3]; + gSprites[spriteId].coordOffsetEnabled = 1; + return spriteId; +} + +void sub_80B7A58(struct Sprite *sprite) +{ + if (sprite->animEnded) + { + FieldEffectStop(sprite, FLDEFF_LAVARIDGE_GYM_WARP); + } +} + +void sub_80B7A8C(u8); + +void sub_80B7A74(u8 priority) +{ + CreateTask(sub_80B7A8C, priority); +} + +void sub_80B7A8C(u8 taskId) +{ + while(gUnknown_0855C460[gTasks[taskId].data[0]](&gTasks[taskId], &gMapObjects[gPlayerAvatar.mapObjectId], &gSprites[gPlayerAvatar.spriteId])); +} + +bool8 sub_80B7AE8(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +{ + FreezeMapObjects(); + CameraObjectReset2(); + gPlayerAvatar.preventStep = TRUE; + mapObject->mapobj_bit_26 = 1; + task->data[0]++; + return FALSE; +} + +bool8 sub_80B7B18(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +{ + if (FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + { + if (task->data[1] > 3) + { + gFieldEffectArguments[0] = mapObject->coords2.x; + gFieldEffectArguments[1] = mapObject->coords2.y; + gFieldEffectArguments[2] = sprite->subpriority - 1; + gFieldEffectArguments[3] = sprite->oam.priority; + task->data[1] = FieldEffectStart(FLDEFF_POP_OUT_OF_ASH); + task->data[0]++; + } else + { + task->data[1]++; + FieldObjectSetSpecialAnim(mapObject, GetStepInPlaceDelay4AnimId(mapObject->mapobj_unk_18)); + PlaySE(SE_FU_ZUZUZU); + } + } + return FALSE; +} + +bool8 sub_80B7B94(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +{ + if (gSprites[task->data[1]].animCmdIndex == 2) + { + mapObject->mapobj_bit_13 = 1; + task->data[0]++; + } + return FALSE; +} + +bool8 sub_80B7BCC(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +{ + if (!FieldEffectActiveListContains(FLDEFF_POP_OUT_OF_ASH)) + { + music_something(); + sub_80AF0B4(); + task->data[0]++; + } + return FALSE; +} + +void sub_80B7CE4(u8); +void mapldr_080859D4(void); + +bool8 sub_80B7BF4(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +{ + if (!gPaletteFade.active && sub_80859A0() == TRUE) + { + warp_in(); + gFieldCallback = sub_80B6B68; + SetMainCallback2(CB2_LoadMap); + DestroyTask(FindTaskIdByFunc(sub_80B7A8C)); + } + return FALSE; +} + +u8 FldEff_PopOutOfAsh(void) +{ + u8 spriteId; + sub_80930E0((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[32], gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + gSprites[spriteId].oam.priority = gFieldEffectArguments[3]; + gSprites[spriteId].coordOffsetEnabled = 1; + return spriteId; +} + +void sub_80B7CAC(struct Sprite *sprite) +{ + if (sprite->animEnded) + { + FieldEffectStop(sprite, FLDEFF_POP_OUT_OF_ASH); + } +} + +void sub_80B7CC8(void) +{ + ScriptContext2_Enable(); + FreezeMapObjects(); + CreateTask(sub_80B7CE4, 0x50); +} + +void sub_80B7CE4(u8 taskId) +{ + gUnknown_0855C474[gTasks[taskId].data[0]](&gTasks[taskId]); +} + +void sub_80B7D14(struct Task *task) +{ + task->data[0]++; + task->data[14] = 64; + task->data[15] = player_get_direction_lower_nybble(); +} + +void sub_80B7D34(struct Task *task) +{ + struct MapObject *mapObject; + u8 spinDirections[5] = {1, 3, 4, 2, 1}; + if (task->data[14] != 0 && (--task->data[14]) == 0) + { + music_something(); + sub_80AF0B4(); + } + mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + if (!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(mapObject) || FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + { + if (task->data[14] == 0 && !gPaletteFade.active && sub_80859A0() == TRUE) + { + FieldObjectSetDirection(mapObject, task->data[15]); + sub_8084E14(); + warp_in(); + gFieldCallback = mapldr_080859D4; + SetMainCallback2(CB2_LoadMap); + DestroyTask(FindTaskIdByFunc(sub_80B7CE4)); + } else if (task->data[1] == 0 || (--task->data[1]) == 0) + { + FieldObjectSetSpecialAnim(mapObject, GetFaceDirectionAnimId(spinDirections[mapObject->mapobj_unk_18])); + if (task->data[2] < 12) + { + task->data[2]++; + } + task->data[1] = 8 >> (task->data[2] >> 2); + } + } +} + +void (*const gUnknown_0855C484[])(struct Task *) = { + sub_80B7EC4, + sub_80B7EE8 +}; + +void sub_80B7E94(u8); + +void mapldr_080859D4(void) +{ + Overworld_PlaySpecialMapMusic(); + pal_fill_for_maplights(); + ScriptContext2_Enable(); + FreezeMapObjects(); + gFieldCallback = NULL; + gMapObjects[gPlayerAvatar.mapObjectId].mapobj_bit_13 = 1; + CreateTask(sub_80B7E94, 0); +} + +void sub_80B7E94(u8 taskId) +{ + gUnknown_0855C484[gTasks[taskId].data[0]](&gTasks[taskId]); +} + +void sub_80B7EC4(struct Task *task) +{ + if (IsWeatherNotFadingIn()) + { + task->data[0]++; + task->data[15] = player_get_direction_lower_nybble(); + } +} + +void sub_80B7EE8(struct Task *task) +{ + u8 spinDirections[5] = {1, 3, 4, 2, 1}; + struct MapObject *mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + if (task->data[1] == 0 || (--task->data[1]) == 0) + { + if (FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(mapObject) && !FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + { + return; + } + if (task->data[2] >= 32 && task->data[15] == player_get_direction_lower_nybble()) + { + mapObject->mapobj_bit_13 = 0; + ScriptContext2_Disable(); + UnfreezeMapObjects(); + DestroyTask(FindTaskIdByFunc(sub_80B7E94)); + return; + } + FieldObjectSetSpecialAnim(mapObject, GetFaceDirectionAnimId(spinDirections[mapObject->mapobj_unk_18])); + if (task->data[2] < 32) + { + task->data[2]++; + } + task->data[1] = task->data[2] >> 2; + } + mapObject->mapobj_bit_13 ^= 1; +} + +static void ExecuteTeleportFieldEffectTask(u8); +static void TeleportFieldEffectTask1(struct Task*); +static void TeleportFieldEffectTask2(struct Task*); +static void TeleportFieldEffectTask3(struct Task*); +static void TeleportFieldEffectTask4(struct Task*); +static void mapldr_08085D88(void); + +void CreateTeleportFieldEffectTask(void) +{ + CreateTask(ExecuteTeleportFieldEffectTask, 0); +} + +static void (*const sTeleportFieldEffectTasks[])(struct Task *) = { + TeleportFieldEffectTask1, + TeleportFieldEffectTask2, + TeleportFieldEffectTask3, + TeleportFieldEffectTask4 +}; + +static void ExecuteTeleportFieldEffectTask(u8 taskId) +{ + sTeleportFieldEffectTasks[gTasks[taskId].data[0]](&gTasks[taskId]); +} + +static void TeleportFieldEffectTask1(struct Task *task) +{ + ScriptContext2_Enable(); + FreezeMapObjects(); + CameraObjectReset2(); + task->data[15] = player_get_direction_lower_nybble(); + task->data[0]++; +} + +static void TeleportFieldEffectTask2(struct Task *task) +{ + u8 spinDirections[5] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; + struct MapObject *mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + if (task->data[1] == 0 || (--task->data[1]) == 0) + { + FieldObjectTurn(mapObject, spinDirections[mapObject->mapobj_unk_18]); + task->data[1] = 8; + task->data[2]++; + } + if (task->data[2] > 7 && task->data[15] == mapObject->mapobj_unk_18) + { + task->data[0]++; + task->data[1] = 4; + task->data[2] = 8; + task->data[3] = 1; + PlaySE(SE_TK_WARPIN); + } +} + +static void TeleportFieldEffectTask3(struct Task *task) +{ + u8 spinDirections[5] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; + struct MapObject *mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + struct Sprite *sprite = &gSprites[gPlayerAvatar.spriteId]; + if ((--task->data[1]) <= 0) + { + task->data[1] = 4; + FieldObjectTurn(mapObject, spinDirections[mapObject->mapobj_unk_18]); + } + sprite->pos1.y -= task->data[3]; + task->data[4] += task->data[3]; + if ((--task->data[2]) <= 0 && (task->data[2] = 4, task->data[3] < 8)) + { + task->data[3] <<= 1; + } + if (task->data[4] > 8 && (sprite->oam.priority = 1, sprite->subspriteMode != 0)) + { + sprite->subspriteMode = 2; + } + if (task->data[4] >= 0xa8) + { + task->data[0]++; + music_something(); + sub_80AF0B4(); + } +} + +static void TeleportFieldEffectTask4(struct Task *task) +{ + if (!gPaletteFade.active) + { + if (task->data[5] == FALSE) + { + sub_81BE72C(); + task->data[5] = TRUE; + } + + if (sub_80859A0() == TRUE) + { + Overworld_SetWarpDestToLastHealLoc(); + warp_in(); + SetMainCallback2(CB2_LoadMap); + gFieldCallback = mapldr_08085D88; + DestroyTask(FindTaskIdByFunc(ExecuteTeleportFieldEffectTask)); + } + } +} + +void sub_80B8250(u8); + +static void mapldr_08085D88(void) +{ + Overworld_PlaySpecialMapMusic(); + pal_fill_for_maplights(); + ScriptContext2_Enable(); + FreezeMapObjects(); + gFieldCallback = NULL; + gMapObjects[gPlayerAvatar.mapObjectId].mapobj_bit_13 = 1; + CameraObjectReset2(); + CreateTask(sub_80B8250, 0); +} + +void (*const gUnknown_0855C49C[])(struct Task *) = { + sub_80B8280, + sub_80B830C, + sub_80B8410 +}; + +void sub_80B8250(u8 taskId) +{ + gUnknown_0855C49C[gTasks[taskId].data[0]](&gTasks[taskId]); +} + +void sub_80B8280(struct Task *task) +{ + struct Sprite *sprite; + s16 centerToCornerVecY; + if (IsWeatherNotFadingIn()) + { + sprite = &gSprites[gPlayerAvatar.spriteId]; + centerToCornerVecY = -(sprite->centerToCornerVecY << 1); + sprite->pos2.y = -(sprite->pos1.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY + centerToCornerVecY); + gMapObjects[gPlayerAvatar.mapObjectId].mapobj_bit_13 = 0; + task->data[0]++; + task->data[1] = 8; + task->data[2] = 1; + task->data[14] = sprite->subspriteMode; + task->data[15] = player_get_direction_lower_nybble(); + PlaySE(SE_TK_WARPIN); + } +} + +void sub_80B830C(struct Task *task) +{ + u8 spinDirections[5] = {1, 3, 4, 2, 1}; + struct MapObject *mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + struct Sprite *sprite = &gSprites[gPlayerAvatar.spriteId]; + if ((sprite->pos2.y += task->data[1]) >= -8) + { + if (task->data[13] == 0) + { + task->data[13]++; + mapObject->mapobj_bit_2 = 1; + sprite->subspriteMode = task->data[14]; + } + } else + { + sprite->oam.priority = 1; + if (sprite->subspriteMode != 0) + { + sprite->subspriteMode = 2; + } + } + if (sprite->pos2.y >= -0x30 && task->data[1] > 1 && !(sprite->pos2.y & 1)) + { + task->data[1]--; + } + if ((--task->data[2]) == 0) + { + task->data[2] = 4; + FieldObjectTurn(mapObject, spinDirections[mapObject->mapobj_unk_18]); + } + if (sprite->pos2.y >= 0) + { + sprite->pos2.y = 0; + task->data[0]++; + task->data[1] = 1; + task->data[2] = 0; + } +} + +void sub_80B8410(struct Task *task) +{ + u8 spinDirections[5] = {1, 3, 4, 2, 1}; + struct MapObject *mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + if ((--task->data[1]) == 0) + { + FieldObjectTurn(mapObject, spinDirections[mapObject->mapobj_unk_18]); + task->data[1] = 8; + if ((++task->data[2]) > 4 && task->data[14] == mapObject->mapobj_unk_18) + { + ScriptContext2_Disable(); + CameraObjectReset1(); + UnfreezeMapObjects(); + DestroyTask(FindTaskIdByFunc(sub_80B8250)); + } + } +} + +void sub_80B8554(u8); +void sub_80B88B4(u8); +u8 sub_80B8C60(u32, u32, u32); +void sub_80B880C(void); +void sub_80B8874(u16); +void sub_80B8CC0(struct Sprite *); + +bool8 FldEff_FieldMoveShowMon(void) +{ + u8 taskId; + if (is_map_type_1_2_3_5_or_6(Overworld_GetMapTypeOfSaveblockLocation()) == TRUE) + { + taskId = CreateTask(sub_80B8554, 0xff); + } else + { + taskId = CreateTask(sub_80B88B4, 0xff); + } + gTasks[taskId].data[15] = sub_80B8C60(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + return FALSE; +} + +bool8 FldEff_FieldMoveShowMonInit(void) +{ + struct Pokemon *pokemon; + u32 flag = gFieldEffectArguments[0] & 0x80000000; + pokemon = &gPlayerParty[(u8)gFieldEffectArguments[0]]; + gFieldEffectArguments[0] = GetMonData(pokemon, MON_DATA_SPECIES); + gFieldEffectArguments[1] = GetMonData(pokemon, MON_DATA_OT_ID); + gFieldEffectArguments[2] = GetMonData(pokemon, MON_DATA_PERSONALITY); + gFieldEffectArguments[0] |= flag; + FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON); + FieldEffectActiveListRemove(FLDEFF_FIELD_MOVE_SHOW_MON_INIT); + return FALSE; +} + +void (*const gUnknown_0855C4A8[])(struct Task *) = { + sub_80B8584, + sub_80B85F8, + sub_80B8660, + sub_80B86EC, + sub_80B871C, + sub_80B8770, + overworld_bg_setup_2, +}; + +void sub_80B8554(u8 taskId) +{ + gUnknown_0855C4A8[gTasks[taskId].data[0]](&gTasks[taskId]); +} + +void sub_80B8584(struct Task *task) +{ + task->data[11] = REG_WININ; + task->data[12] = REG_WINOUT; + StoreWordInTwoHalfwords(&task->data[13], (u32)gMain.vblankCallback); + task->data[1] = 0xf0f1; + task->data[2] = 0x5051; + task->data[3] = 0x3f; + task->data[4] = 0x3e; + SetGpuReg(REG_OFFSET_WIN0H, task->data[1]); + SetGpuReg(REG_OFFSET_WIN0V, task->data[2]); + SetGpuReg(REG_OFFSET_WININ, task->data[3]); + SetGpuReg(REG_OFFSET_WINOUT, task->data[4]); + SetVBlankCallback(sub_80B880C); + task->data[0]++; +} + +void sub_80B85F8(struct Task *task) +{ + u16 offset; + u16 delta; + offset = ((REG_BG0CNT >> 2) << 14); + delta = ((REG_BG0CNT >> 8) << 11); + CpuCopy16(gFieldMoveStreaksTiles, (void *)(VRAM + offset), 0x200); + CpuFill32(0, (void *)(VRAM + delta), 0x800); + LoadPalette(gFieldMoveStreaksPalette, 0xf0, 0x20); + sub_80B8874(delta); + task->data[0]++; +} + +void sub_80B8660(struct Task *task) +{ + s16 v0; + s16 v2; + s16 v3; + task->data[5] -= 16; + v0 = ((u16)task->data[1] >> 8); + v2 = ((u16)task->data[2] >> 8); + v3 = ((u16)task->data[2] & 0xff); + v0 -= 16; + v2 -= 2; + v3 += 2; + if (v0 < 0) + { + v0 = 0; + } + if (v2 < 0x28) + { + v2 = 0x28; + } + if (v3 > 0x78) + { + v3 = 0x78; + } + task->data[1] = (v0 << 8) | (task->data[1] & 0xff); + task->data[2] = (v2 << 8) | v3; + if (v0 == 0 && v2 == 0x28 && v3 == 0x78) + { + gSprites[task->data[15]].callback = sub_80B8CC0; + task->data[0]++; + } +} + +void sub_80B86EC(struct Task *task) +{ + task->data[5] -= 16; + if (gSprites[task->data[15]].data[7]) + { + task->data[0]++; + } +} + +void sub_80B871C(struct Task *task) +{ + s16 v2; + s16 v3; + task->data[5] -= 16; + v2 = (task->data[2] >> 8); + v3 = (task->data[2] & 0xff); + v2 += 6; + v3 -= 6; + if (v2 > 0x50) + { + v2 = 0x50; + } + if (v3 < 0x51) + { + v3 = 0x51; + } + task->data[2] = (v2 << 8) | v3; + if (v2 == 0x50 && v3 == 0x51) + { + task->data[0]++; + } +} + +void sub_80B8770(struct Task *task) +{ + u16 bg0cnt; + bg0cnt = (REG_BG0CNT >> 8) << 11; + CpuFill32(0, (void *)VRAM + bg0cnt, 0x800); + task->data[1] = 0xf1; + task->data[2] = 0xa1; + task->data[3] = task->data[11]; + task->data[4] = task->data[12]; + task->data[0]++; +} + +void overworld_bg_setup_2(struct Task *task) +{ + IntrCallback callback; + LoadWordFromTwoHalfwords((u16 *)&task->data[13], (u32 *)&callback); + SetVBlankCallback(callback); + sub_8197200(); + FreeResourcesAndDestroySprite(&gSprites[task->data[15]], task->data[15]); + FieldEffectActiveListRemove(FLDEFF_FIELD_MOVE_SHOW_MON); + DestroyTask(FindTaskIdByFunc(sub_80B8554)); +} + +void sub_80B880C(void) +{ + struct Task *task; + IntrCallback callback; + task = &gTasks[FindTaskIdByFunc(sub_80B8554)]; + LoadWordFromTwoHalfwords((u16 *)&task->data[13], (u32 *)&callback); + callback(); + SetGpuReg(REG_OFFSET_WIN0H, task->data[1]); + SetGpuReg(REG_OFFSET_WIN0V, task->data[2]); + SetGpuReg(REG_OFFSET_WININ, task->data[3]); + SetGpuReg(REG_OFFSET_WINOUT, task->data[4]); + SetGpuReg(REG_OFFSET_BG0HOFS, task->data[5]); + SetGpuReg(REG_OFFSET_BG0VOFS, task->data[6]); +} + +void sub_80B8874(u16 offs) +{ + u16 i; + u16 *dest; + dest = (u16 *)(VRAM + 0x140 + offs); + for (i = 0; i < 0x140; i++, dest++) + { + *dest = gFieldMoveStreaksTilemap[i] | 0xf000; + } +} + +void sub_80B8AE0(void); +bool8 sub_80B8B38(struct Task *); +void sub_80B8B28(struct Task *); +bool8 sub_80B8BF0(struct Task *); + +void (*const gUnknown_0855C4C4[])(struct Task *) = { + sub_80B88E4, + sub_80B8920, + sub_80B898C, + sub_80B89DC, + sub_80B8A0C, + sub_80B8A44, + sub_80B8A64, +}; + +void sub_80B88B4(u8 taskId) +{ + gUnknown_0855C4C4[gTasks[taskId].data[0]](&gTasks[taskId]); +} + +void sub_80B88E4(struct Task *task) +{ + SetGpuReg(REG_OFFSET_BG0HOFS, task->data[1]); + SetGpuReg(REG_OFFSET_BG0VOFS, task->data[2]); + StoreWordInTwoHalfwords((u16 *)&task->data[13], (u32)gMain.vblankCallback); + SetVBlankCallback(sub_80B8AE0); + task->data[0]++; +} + +void sub_80B8920(struct Task *task) +{ + u16 offset; + u16 delta; + offset = ((REG_BG0CNT >> 2) << 14); + delta = ((REG_BG0CNT >> 8) << 11); + task->data[12] = delta; + CpuCopy16(gDarknessFieldMoveStreaksTiles, (void *)(VRAM + offset), 0x80); + CpuFill32(0, (void *)(VRAM + delta), 0x800); + LoadPalette(gDarknessFieldMoveStreaksPalette, 0xf0, 0x20); + task->data[0]++; +} + +void sub_80B898C(struct Task *task) +{ + if (sub_80B8B38(task)) + { + SetGpuReg(REG_OFFSET_WIN1H, 0x00f0); + SetGpuReg(REG_OFFSET_WIN1V, 0x2878); + gSprites[task->data[15]].callback = sub_80B8CC0; + task->data[0]++; + } + sub_80B8B28(task); +} + +void sub_80B89DC(struct Task *task) +{ + sub_80B8B28(task); + if (gSprites[task->data[15]].data[7]) + { + task->data[0]++; + } +} + +void sub_80B8A0C(struct Task *task) +{ + sub_80B8B28(task); + task->data[3] = task->data[1] & 7; + task->data[4] = 0; + SetGpuReg(REG_OFFSET_WIN1H, 0xffff); + SetGpuReg(REG_OFFSET_WIN1V, 0xffff); + task->data[0]++; +} + +void sub_80B8A44(struct Task *task) +{ + sub_80B8B28(task); + if (sub_80B8BF0(task)) + { + task->data[0]++; + } +} + +void sub_80B8A64(struct Task *task) +{ + IntrCallback intrCallback; + u16 bg0cnt; + bg0cnt = (REG_BG0CNT >> 8) << 11; + CpuFill32(0, (void *)VRAM + bg0cnt, 0x800); + LoadWordFromTwoHalfwords((u16 *)&task->data[13], (u32 *)&intrCallback); + SetVBlankCallback(intrCallback); + sub_8197200(); + FreeResourcesAndDestroySprite(&gSprites[task->data[15]], task->data[15]); + FieldEffectActiveListRemove(FLDEFF_FIELD_MOVE_SHOW_MON); + DestroyTask(FindTaskIdByFunc(sub_80B88B4)); +} + +void sub_80B8AE0(void) +{ + IntrCallback intrCallback; + struct Task *task; + task = &gTasks[FindTaskIdByFunc(sub_80B88B4)]; + LoadWordFromTwoHalfwords((u16 *)&task->data[13], (u32 *)&intrCallback); + intrCallback(); + SetGpuReg(REG_OFFSET_BG0HOFS, task->data[1]); + SetGpuReg(REG_OFFSET_BG0VOFS, task->data[2]); +} + +void sub_80B8B28(struct Task *task) +{ + task->data[1] -= 16; + task->data[3] += 16; +} + +#ifdef NONMATCHING +bool8 sub_80B8B38(struct Task *task) +{ + u16 i; + u16 srcOffs; + u16 dstOffs; + u16 *dest; + if (task->data[4] >= 32) + { + return TRUE; + } + dstOffs = (task->data[3] >> 3) & 0x1f; + if (dstOffs >= task->data[4]) + { + dstOffs = (32 - dstOffs) & 0x1f; + srcOffs = (32 - task->data[4]) & 0x1f; + dest = (u16 *)(VRAM + 0x140 + (u16)task->data[12]); + for (i=0; i<10; i++) + { + dest[dstOffs + i * 32] = gDarknessFieldMoveStreaksTilemap[srcOffs + i * 32] | 0xf000; + dest[((dstOffs + 1) & 0x1f) + i * 32] = gDarknessFieldMoveStreaksTilemap[((srcOffs + 1) & 0x1f) + i * 32] | 0xf000; + } + task->data[4] += 2; + } + return FALSE; +} +#else +NAKED +bool8 sub_80B8B38(struct Task *task) +{ + asm_unified("\tpush {r4-r7,lr}\n" + "\tmov r7, r10\n" + "\tmov r6, r9\n" + "\tmov r5, r8\n" + "\tpush {r5-r7}\n" + "\tsub sp, 0x4\n" + "\tadds r5, r0, 0\n" + "\tldrh r2, [r5, 0x10]\n" + "\tmovs r1, 0x10\n" + "\tldrsh r0, [r5, r1]\n" + "\tcmp r0, 0x1F\n" + "\tble _08088724\n" + "\tmovs r0, 0x1\n" + "\tb _080887A8\n" + "_08088724:\n" + "\tldrh r0, [r5, 0xE]\n" + "\tlsls r0, 16\n" + "\tasrs r3, r0, 19\n" + "\tmovs r1, 0x1F\n" + "\tands r3, r1\n" + "\tmovs r4, 0x10\n" + "\tldrsh r0, [r5, r4]\n" + "\tcmp r3, r0\n" + "\tblt _080887A6\n" + "\tmovs r0, 0x20\n" + "\tsubs r3, r0, r3\n" + "\tands r3, r1\n" + "\tsubs r0, r2\n" + "\tmov r12, r0\n" + "\tmov r7, r12\n" + "\tands r7, r1\n" + "\tmov r12, r7\n" + "\tldrh r0, [r5, 0x20]\n" + "\tldr r1, _080887B8 @ =0x06000140\n" + "\tadds r1, r0\n" + "\tmov r8, r1\n" + "\tmovs r4, 0\n" + "\tldr r7, _080887BC @ =gDarknessFieldMoveStreaksTilemap\n" + "\tmov r10, r7\n" + "\tmovs r0, 0xF0\n" + "\tlsls r0, 8\n" + "\tmov r9, r0\n" + "\tadds r1, r3, 0x1\n" + "\tmovs r0, 0x1F\n" + "\tands r1, r0\n" + "\tstr r1, [sp]\n" + "\tmov r6, r12\n" + "\tadds r6, 0x1\n" + "\tands r6, r0\n" + "_08088768:\n" + "\tlsls r1, r4, 5\n" + "\tadds r2, r1, r3\n" + "\tlsls r2, 1\n" + "\tadd r2, r8\n" + "\tmov r7, r12\n" + "\tadds r0, r7, r1\n" + "\tlsls r0, 1\n" + "\tadd r0, r10\n" + "\tldrh r0, [r0]\n" + "\tmov r7, r9\n" + "\torrs r0, r7\n" + "\tstrh r0, [r2]\n" + "\tldr r0, [sp]\n" + "\tadds r2, r1, r0\n" + "\tlsls r2, 1\n" + "\tadd r2, r8\n" + "\tadds r1, r6, r1\n" + "\tlsls r1, 1\n" + "\tadd r1, r10\n" + "\tldrh r0, [r1]\n" + "\tmov r1, r9\n" + "\torrs r0, r1\n" + "\tstrh r0, [r2]\n" + "\tadds r0, r4, 0x1\n" + "\tlsls r0, 16\n" + "\tlsrs r4, r0, 16\n" + "\tcmp r4, 0x9\n" + "\tbls _08088768\n" + "\tldrh r0, [r5, 0x10]\n" + "\tadds r0, 0x2\n" + "\tstrh r0, [r5, 0x10]\n" + "_080887A6:\n" + "\tmovs r0, 0\n" + "_080887A8:\n" + "\tadd sp, 0x4\n" + "\tpop {r3-r5}\n" + "\tmov r8, r3\n" + "\tmov r9, r4\n" + "\tmov r10, r5\n" + "\tpop {r4-r7}\n" + "\tpop {r1}\n" + "\tbx r1\n" + "\t.align 2, 0\n" + "_080887B8: .4byte 0x06000140\n" + "_080887BC: .4byte gDarknessFieldMoveStreaksTilemap"); +} +#endif + +bool8 sub_80B8BF0(struct Task *task) +{ + u16 i; + u16 dstOffs; + u16 *dest; + if (task->data[4] >= 32) + { + return TRUE; + } + dstOffs = task->data[3] >> 3; + if (dstOffs >= task->data[4]) + { + dstOffs = (task->data[1] >> 3) & 0x1f; + dest = (u16 *)(VRAM + 0x140 + (u16)task->data[12]); + for (i=0; i<10; i++) + { + dest[dstOffs + i * 32] = 0xf000; + dest[((dstOffs + 1) & 0x1f) + i * 32] = 0xf000; + } + task->data[4] += 2; + } + return FALSE; +} + +u8 sub_80B8C60(u32 a0, u32 a1, u32 a2) +{ + u16 v0; + u8 monSprite; + struct Sprite *sprite; + v0 = (a0 & 0x80000000) >> 16; + a0 &= 0x7fffffff; + monSprite = CreateMonSprite_FieldMove(a0, a1, a2, 0x140, 0x50, 0); + sprite = &gSprites[monSprite]; + sprite->callback = SpriteCallbackDummy; + sprite->oam.priority = 0; + sprite->data[0] = a0; + sprite->data[6] = v0; + return monSprite; +} + +void sub_80B8D04(struct Sprite *); + +void sub_80B8CC0(struct Sprite *sprite) +{ + if ((sprite->pos1.x -= 20) <= 0x78) + { + sprite->pos1.x = 0x78; + sprite->data[1] = 30; + sprite->callback = sub_80B8D04; + if (sprite->data[6]) + { + PlayCry2(sprite->data[0], 0, 0x7d, 0xa); + } else + { + PlayCry1(sprite->data[0], 0); + } + } +} + +void sub_80B8D20(struct Sprite *); + +void sub_80B8D04(struct Sprite *sprite) +{ + if ((--sprite->data[1]) == 0) + { + sprite->callback = sub_80B8D20; + } +} + +void sub_80B8D20(struct Sprite *sprite) +{ + if (sprite->pos1.x < -0x40) + { + sprite->data[7] = 1; + } else + { + sprite->pos1.x -= 20; + } +} + +void sub_80B8D84(u8); + +u8 FldEff_UseSurf(void) +{ + u8 taskId; + taskId = CreateTask(sub_80B8D84, 0xff); + gTasks[taskId].data[15] = gFieldEffectArguments[0]; + Overworld_ClearSavedMusic(); + Overworld_ChangeMusicTo(MUS_NAMINORI); + return FALSE; +} + +void (*const gUnknown_0855C4E0[])(struct Task *) = { + sub_80B8DB4, + sub_80B8E14, + sub_80B8E60, + sub_80B8EA8, + sub_80B8F24, +}; + +void sub_80B8D84(u8 taskId) +{ + gUnknown_0855C4E0[gTasks[taskId].data[0]](&gTasks[taskId]); +} + +void sub_80B8DB4(struct Task *task) +{ + ScriptContext2_Enable(); + FreezeMapObjects(); + gPlayerAvatar.preventStep = TRUE; + SetPlayerAvatarStateMask(8); + PlayerGetDestCoords(&task->data[1], &task->data[2]); + MoveCoords(gMapObjects[gPlayerAvatar.mapObjectId].placeholder18, &task->data[1], &task->data[2]); + task->data[0]++; +} + +void sub_80B8E14(struct Task *task) +{ + struct MapObject *mapObject; + mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + if (!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(mapObject) || FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + { + sub_808C114(); + FieldObjectSetSpecialAnim(mapObject, 0x39); + task->data[0]++; + } +} + +void sub_80B8E60(struct Task *task) +{ + struct MapObject *mapObject; + mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + if (FieldObjectCheckIfSpecialAnimFinishedOrInactive(mapObject)) + { + gFieldEffectArguments[0] = task->data[15] | 0x80000000; + FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON_INIT); + task->data[0]++; + } +} + +void sub_80B8EA8(struct Task *task) +{ + struct MapObject *mapObject; + if (!FieldEffectActiveListContains(FLDEFF_FIELD_MOVE_SHOW_MON)) + { + mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + FieldObjectSetGraphicsId(mapObject, GetPlayerAvatarGraphicsIdByStateId(3)); + FieldObjectClearAnimIfSpecialAnimFinished(mapObject); + FieldObjectSetSpecialAnim(mapObject, sub_8093540(mapObject->placeholder18)); + gFieldEffectArguments[0] = task->data[1]; + gFieldEffectArguments[1] = task->data[2]; + gFieldEffectArguments[2] = gPlayerAvatar.mapObjectId; + mapObject->mapobj_unk_1A = FieldEffectStart(FLDEFF_SURF_BLOB); + task->data[0]++; + } +} + +void sub_80B8F24(struct Task *task) +{ + struct MapObject *mapObject; + mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + if (FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + { + gPlayerAvatar.preventStep = FALSE; + gPlayerAvatar.flags &= 0xdf; + FieldObjectSetSpecialAnim(mapObject, GetFaceDirectionAnimId(mapObject->placeholder18)); + sub_81555AC(mapObject->mapobj_unk_1A, 1); + UnfreezeMapObjects(); + ScriptContext2_Disable(); + FieldEffectActiveListRemove(FLDEFF_USE_SURF); + DestroyTask(FindTaskIdByFunc(sub_80B8D84)); + } +} + +#ifdef NONMATCHING +u8 sub_80B8F98(void) +{ + u8 spriteId, i, j, k, l; + struct Sprite *sprite; + spriteId = CreateSprite(gFieldEffectObjectTemplatePointers[36], 0x78, -0x18, 1); + sprite = &gSprites[spriteId]; + sprite->oam.priority = 1; + sprite->oam.paletteNum = 4; + sprite->data[0] = 0; + sprite->data[1] = 0; + sprite->data[2] = 0; + sprite->data[3] = -1; + sprite->data[4] = sprite->pos1.y; + sprite->data[5] = 0; + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG0 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(14, 14)); + SetGpuReg(REG_OFFSET_WININ, 0x3F3F); + LoadPalette(gUnknown_0855B610, 0xC0, sizeof(gUnknown_0855B610)); + SetGpuReg(REG_OFFSET_BG0VOFS, 120); + for (i = 3; i < 15; i++) + { + for (j = 12; j < 18; j++) + { + ((u16*)(VRAM + 0xF800))[i * 32 + j] = 0xBFF4 + i * 6 + j + 1; + } + } + for (k = 0; k < 90; k++) + { + for (l = 0; l < 8; l++) + { + *(u16*)(VRAM + 0x8000 + (k + 1) * 32 + l * 4) = (gUnknown_0855B630[k * 32 + l * 4 + 1] << 8) + gUnknown_0855B630[k * 32 + l * 4]; + *(u16*)(VRAM + 0x8000 + (k + 1) * 32 + l * 4 + 2) = (gUnknown_0855B630[k * 32 + l * 4 + 3] << 8) + gUnknown_0855B630[k * 32 + l * 4 + 2]; + } + } + return spriteId; +} +#else +NAKED +u8 sub_80B8F98(void) +{ + asm_unified("push {r4-r7,lr}\n\ + mov r7, r8\n\ + push {r7}\n\ + ldr r0, =gFieldEffectObjectTemplatePointers\n\ + adds r0, 0x90\n\ + ldr r0, [r0]\n\ + movs r2, 0x18\n\ + negs r2, r2\n\ + movs r1, 0x78\n\ + movs r3, 0x1\n\ + bl CreateSprite\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + mov r8, r0\n\ + lsls r1, r0, 4\n\ + add r1, r8\n\ + lsls r1, 2\n\ + ldr r0, =gSprites\n\ + adds r1, r0\n\ + ldrb r2, [r1, 0x5]\n\ + movs r0, 0xD\n\ + negs r0, r0\n\ + ands r0, r2\n\ + movs r2, 0x4\n\ + orrs r0, r2\n\ + movs r2, 0xF\n\ + ands r0, r2\n\ + movs r2, 0x40\n\ + orrs r0, r2\n\ + strb r0, [r1, 0x5]\n\ + movs r2, 0\n\ + strh r2, [r1, 0x2E]\n\ + strh r2, [r1, 0x30]\n\ + strh r2, [r1, 0x32]\n\ + ldr r0, =0x0000ffff\n\ + strh r0, [r1, 0x34]\n\ + ldrh r0, [r1, 0x22]\n\ + strh r0, [r1, 0x36]\n\ + strh r2, [r1, 0x38]\n\ + ldr r1, =0x00003e41\n\ + movs r0, 0x50\n\ + bl SetGpuReg\n\ + ldr r1, =0x00000e0e\n\ + movs r0, 0x52\n\ + bl SetGpuReg\n\ + ldr r1, =0x00003f3f\n\ + movs r0, 0x48\n\ + bl SetGpuReg\n\ + ldr r0, =gUnknown_0855B610\n\ + movs r1, 0xC0\n\ + movs r2, 0x20\n\ + bl LoadPalette\n\ + movs r0, 0x12\n\ + movs r1, 0x78\n\ + bl SetGpuReg\n\ + movs r4, 0x3\n\ + ldr r7, =0x0600f800\n\ + ldr r0, =0x0000bff4\n\ + adds r6, r0, 0\n\ +_080B901A:\n\ + movs r2, 0xC\n\ + lsls r0, r4, 1\n\ + lsls r5, r4, 5\n\ + adds r0, r4\n\ + lsls r3, r0, 1\n\ +_080B9024:\n\ + adds r0, r5, r2\n\ + lsls r0, 1\n\ + adds r0, r7\n\ + adds r1, r2, r6\n\ + adds r1, r3, r1\n\ + adds r1, 0x1\n\ + strh r1, [r0]\n\ + adds r0, r2, 0x1\n\ + lsls r0, 24\n\ + lsrs r2, r0, 24\n\ + cmp r2, 0x11\n\ + bls _080B9024\n\ + adds r0, r4, 0x1\n\ + lsls r0, 24\n\ + lsrs r4, r0, 24\n\ + cmp r4, 0xE\n\ + bls _080B901A\n\ + movs r0, 0\n\ + ldr r5, =gUnknown_0855B630\n\ +_080B904A:\n\ + movs r4, 0\n\ + adds r7, r0, 0x1\n\ + lsls r6, r0, 5\n\ +_080B9050:\n\ + lsls r1, r4, 2\n\ + adds r1, r6, r1\n\ + ldr r0, =0x06008020\n\ + adds r3, r1, r0\n\ + adds r0, r1, 0x1\n\ + adds r0, r5\n\ + ldrb r2, [r0]\n\ + lsls r2, 8\n\ + adds r0, r1, r5\n\ + ldrb r0, [r0]\n\ + adds r0, r2\n\ + strh r0, [r3]\n\ + ldr r0, =0x06008022\n\ + adds r3, r1, r0\n\ + adds r0, r1, 0x3\n\ + adds r0, r5\n\ + ldrb r2, [r0]\n\ + lsls r2, 8\n\ + adds r1, 0x2\n\ + adds r1, r5\n\ + ldrb r0, [r1]\n\ + adds r0, r2\n\ + strh r0, [r3]\n\ + adds r0, r4, 0x1\n\ + lsls r0, 24\n\ + lsrs r4, r0, 24\n\ + cmp r4, 0x7\n\ + bls _080B9050\n\ + lsls r0, r7, 24\n\ + lsrs r0, 24\n\ + cmp r0, 0x59\n\ + bls _080B904A\n\ + mov r0, r8\n\ + pop {r3}\n\ + mov r8, r3\n\ + pop {r4-r7}\n\ + pop {r1}\n\ + bx r1\n\ + .pool"); +} +#endif // NONMATCHING + +void sub_80B9128(struct Sprite *); + +u8 FldEff_NPCFlyOut(void) +{ + u8 spriteId; + struct Sprite *sprite; + spriteId = CreateSprite(gFieldEffectObjectTemplatePointers[26], 0x78, 0, 1); + sprite = &gSprites[spriteId]; + sprite->oam.paletteNum = 0; + sprite->oam.priority = 1; + sprite->callback = sub_80B9128; + sprite->data[1] = gFieldEffectArguments[0]; + PlaySE(SE_W019); + return spriteId; +} + +void sub_80B9128(struct Sprite *sprite) +{ + struct Sprite *npcSprite; + sprite->pos2.x = Cos(sprite->data[2], 0x8c); + sprite->pos2.y = Sin(sprite->data[2], 0x48); + sprite->data[2] = (sprite->data[2] + 4) & 0xff; + if (sprite->data[0]) + { + npcSprite = &gSprites[sprite->data[1]]; + npcSprite->coordOffsetEnabled = 0; + npcSprite->pos1.x = sprite->pos1.x + sprite->pos2.x; + npcSprite->pos1.y = sprite->pos1.y + sprite->pos2.y - 8; + npcSprite->pos2.x = 0; + npcSprite->pos2.y = 0; + } + if (sprite->data[2] >= 0x80) + { + FieldEffectStop(sprite, FLDEFF_NPCFLY_OUT); + } +} + +void sub_80B91D4(u8); +extern void sub_81555D8(u8, u8); +u8 sub_80B94C4(void); +bool8 sub_80B9508(u8); +void sub_80B9524(u8); +void sub_80B9560(u8, u8); +void sub_80B957C(struct Sprite *); +void sub_80B963C(struct Sprite *); + +u8 FldEff_UseFly(void) +{ + u8 taskId; + taskId = CreateTask(sub_80B91D4, 0xfe); + gTasks[taskId].data[1] = gFieldEffectArguments[0]; + return 0; +} + +void (*const gUnknown_0855C4F4[])(struct Task *) = { + sub_80B9204, + sub_80B925C, + sub_80B92A0, + sub_80B92F8, + sub_80B933C, + sub_80B9390, + sub_80B9418, + sub_80B9474, + sub_80B9494, +}; + +void sub_80B91D4(u8 taskId) +{ + gUnknown_0855C4F4[gTasks[taskId].data[0]](&gTasks[taskId]); +} + +void sub_80B9204(struct Task *task) +{ + struct MapObject *mapObject; + mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + if (!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(mapObject) || FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + { + task->data[15] = gPlayerAvatar.flags; + gPlayerAvatar.preventStep = TRUE; + SetPlayerAvatarStateMask(1); + sub_808C114(); + FieldObjectSetSpecialAnim(mapObject, 0x39); + task->data[0]++; + } +} + +void sub_80B925C(struct Task *task) +{ + struct MapObject *mapObject; + mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + if (FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + { + task->data[0]++; + gFieldEffectArguments[0] = task->data[1]; + FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON_INIT); + } +} + +void sub_80B92A0(struct Task *task) +{ + struct MapObject *mapObject; + if (!FieldEffectActiveListContains(FLDEFF_FIELD_MOVE_SHOW_MON)) + { + mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + if (task->data[15] & 0x08) + { + sub_81555AC(mapObject->mapobj_unk_1A, 2); + sub_81555D8(mapObject->mapobj_unk_1A, 0); + } + task->data[1] = sub_80B94C4(); + task->data[0]++; + } +} + +void sub_80B92F8(struct Task *task) +{ + if (sub_80B9508(task->data[1])) + { + task->data[0]++; + task->data[2] = 16; + SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT); + FieldObjectSetSpecialAnim(&gMapObjects[gPlayerAvatar.mapObjectId], 0x02); + } +} + +void sub_80B933C(struct Task *task) +{ + struct MapObject *mapObject; + mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + if ((task->data[2] == 0 || (--task->data[2]) == 0) && FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + { + task->data[0]++; + PlaySE(SE_W019); + sub_80B9524(task->data[1]); + } +} + +void sub_80B9390(struct Task *task) +{ + struct MapObject *mapObject; + if ((++task->data[2]) >= 8) + { + mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + FieldObjectSetGraphicsId(mapObject, GetPlayerAvatarGraphicsIdByStateId(0x03)); + StartSpriteAnim(&gSprites[mapObject->spriteId], 0x16); + mapObject->mapobj_bit_12 = 1; + FieldObjectSetSpecialAnim(mapObject, 0x48); + if (task->data[15] & 0x08) + { + DestroySprite(&gSprites[mapObject->mapobj_unk_1A]); + } + task->data[0]++; + task->data[2] = 0; + } +} + +void sub_80B9418(struct Task *task) +{ + struct MapObject *mapObject; + if ((++task->data[2]) >= 10) + { + mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + FieldObjectClearAnimIfSpecialAnimActive(mapObject); + mapObject->mapobj_bit_12 = 0; + mapObject->mapobj_bit_22 = 0; + sub_80B9560(task->data[1], mapObject->spriteId); + CameraObjectReset2(); + task->data[0]++; + } +} + +void sub_80B9474(struct Task *task) +{ + if (sub_80B9508(task->data[1])) + { + sub_80AF0B4(); + task->data[0]++; + } +} + +void sub_80B9494(struct Task *task) +{ + if (!gPaletteFade.active) + { + FieldEffectActiveListRemove(FLDEFF_USE_FLY); + DestroyTask(FindTaskIdByFunc(sub_80B91D4)); + } +} + +u8 sub_80B94C4(void) +{ + u8 spriteId; + struct Sprite *sprite; + spriteId = CreateSprite(gFieldEffectObjectTemplatePointers[26], 0xff, 0xb4, 0x1); + sprite = &gSprites[spriteId]; + sprite->oam.paletteNum = 0; + sprite->oam.priority = 1; + sprite->callback = sub_80B957C; + return spriteId; +} + +u8 sub_80B9508(u8 spriteId) +{ + return gSprites[spriteId].data[7]; +} + +void sub_80B9524(u8 spriteId) +{ + struct Sprite *sprite; + sprite = &gSprites[spriteId]; + sprite->callback = sub_80B963C; + sprite->pos1.x = 0x78; + sprite->pos1.y = 0x00; + sprite->pos2.x = 0; + sprite->pos2.y = 0; + memset(&sprite->data[0], 0, 8 * sizeof(u16) /* zero all data cells */); + sprite->data[6] = 0x40; +} + +void sub_80B9560(u8 a0, u8 a1) +{ + gSprites[a0].data[6] = a1; +} + +const union AffineAnimCmd SpriteAffineAnim_855C518[] = { + AFFINEANIMCMD_FRAME(8, 8, -30, 0), + AFFINEANIMCMD_FRAME(28, 28, 0, 30), + AFFINEANIMCMD_END +}; + +const union AffineAnimCmd SpriteAffineAnim_855C530[] = { + AFFINEANIMCMD_FRAME(256, 256, 64, 0), + AFFINEANIMCMD_FRAME(-10, -10, 0, 22), + AFFINEANIMCMD_END +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_0855C548[] = { + SpriteAffineAnim_855C518, + SpriteAffineAnim_855C530 +}; + +void sub_80B957C(struct Sprite *sprite) +{ + if (sprite->data[7] == 0) + { + if (sprite->data[0] == 0) + { + sprite->oam.affineMode = 3; + sprite->affineAnims = gSpriteAffineAnimTable_0855C548; + InitSpriteAffineAnim(sprite); + StartSpriteAffineAnim(sprite, 0); + sprite->pos1.x = 0x76; + sprite->pos1.y = -0x30; + sprite->data[0]++; + sprite->data[1] = 0x40; + sprite->data[2] = 0x100; + } + sprite->data[1] += (sprite->data[2] >> 8); + sprite->pos2.x = Cos(sprite->data[1], 0x78); + sprite->pos2.y = Sin(sprite->data[1], 0x78); + if (sprite->data[2] < 0x800) + { + sprite->data[2] += 0x60; + } + if (sprite->data[1] > 0x81) + { + sprite->data[7]++; + sprite->oam.affineMode = 0; + FreeOamMatrix(sprite->oam.matrixNum); + CalcCenterToCornerVec(sprite, sprite->oam.shape, sprite->oam.size, 0); + } + } +} + +void sub_80B963C(struct Sprite *sprite) +{ + struct Sprite *sprite1; + sprite->pos2.x = Cos(sprite->data[2], 0x8c); + sprite->pos2.y = Sin(sprite->data[2], 0x48); + sprite->data[2] = (sprite->data[2] + 4) & 0xff; + if (sprite->data[6] != 0x40) + { + sprite1 = &gSprites[sprite->data[6]]; + sprite1->coordOffsetEnabled = 0; + sprite1->pos1.x = sprite->pos1.x + sprite->pos2.x; + sprite1->pos1.y = sprite->pos1.y + sprite->pos2.y - 8; + sprite1->pos2.x = 0; + sprite1->pos2.y = 0; + } + if (sprite->data[2] >= 0x80) + { + sprite->data[7] = 1; + } +} + +void sub_80B96B0(struct Sprite *sprite) +{ + if (sprite->data[7] == 0) + { + if (sprite->data[0] == 0) + { + sprite->oam.affineMode = 3; + sprite->affineAnims = gSpriteAffineAnimTable_0855C548; + InitSpriteAffineAnim(sprite); + StartSpriteAffineAnim(sprite, 1); + sprite->pos1.x = 0x5e; + sprite->pos1.y = -0x20; + sprite->data[0]++; + sprite->data[1] = 0xf0; + sprite->data[2] = 0x800; + sprite->data[4] = 0x80; + } + sprite->data[1] += sprite->data[2] >> 8; + sprite->data[3] += sprite->data[2] >> 8; + sprite->data[1] &= 0xff; + sprite->pos2.x = Cos(sprite->data[1], 0x20); + sprite->pos2.y = Sin(sprite->data[1], 0x78); + if (sprite->data[2] > 0x100) + { + sprite->data[2] -= sprite->data[4]; + } + if (sprite->data[4] < 0x100) + { + sprite->data[4] += 24; + } + if (sprite->data[2] < 0x100) + { + sprite->data[2] = 0x100; + } + if (sprite->data[3] >= 60) + { + sprite->data[7]++; + sprite->oam.affineMode = 0; + FreeOamMatrix(sprite->oam.matrixNum); + sprite->invisible = 1; + } + } +} + +void sub_80B9794(u8 spriteId) +{ + sub_80B9524(spriteId); + gSprites[spriteId].callback = sub_80B96B0; +} + +void sub_80B97D4(u8); + +u8 FldEff_FlyIn(void) +{ + CreateTask(sub_80B97D4, 0xfe); + return 0; +} + +void (*const gUnknown_0855C550[])(struct Task *) = { + sub_80B9804, + sub_80B98B8, + sub_80B9924, + sub_80B9978, + sub_80B99F0, + sub_80B9A28, + sub_80B9A60, +}; + +void sub_80B97D4(u8 taskId) +{ + gUnknown_0855C550[gTasks[taskId].data[0]](&gTasks[taskId]); +} + +void sub_80B9804(struct Task *task) +{ + struct MapObject *mapObject; + mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + if (!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(mapObject) || FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + { + task->data[0]++; + task->data[2] = 17; + task->data[15] = gPlayerAvatar.flags; + gPlayerAvatar.preventStep = TRUE; + SetPlayerAvatarStateMask(0x01); + if (task->data[15] & 0x08) + { + sub_81555AC(mapObject->mapobj_unk_1A, 0); + } + FieldObjectSetGraphicsId(mapObject, GetPlayerAvatarGraphicsIdByStateId(0x3)); + CameraObjectReset2(); + FieldObjectTurn(mapObject, DIR_WEST); + StartSpriteAnim(&gSprites[mapObject->spriteId], 0x16); + mapObject->mapobj_bit_13 = 0; + task->data[1] = sub_80B94C4(); + sub_80B9524(task->data[1]); + sub_80B9560(task->data[1], mapObject->spriteId); + } +} + +void sub_80B98B8(struct Task *task) +{ + struct MapObject *mapObject; + struct Sprite *sprite; + if (task->data[2] == 0 || (--task->data[2]) == 0) + { + mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + sprite = &gSprites[mapObject->spriteId]; + sub_80B9560(task->data[1], 0x40); + sprite->pos1.x += sprite->pos2.x; + sprite->pos1.y += sprite->pos2.y; + sprite->pos2.x = 0; + sprite->pos2.y = 0; + task->data[0]++; + task->data[2] = 0; + } +} + +void sub_80B9924(struct Task *task) +{ + s16 unknown_0855C56C[18] = { + -2, + -4, + -5, + -6, + -7, + -8, + -8, + -8, + -7, + -7, + -6, + -5, + -3, + -2, + 0, + 2, + 4, + 8 + }; + struct Sprite *sprite = &gSprites[gPlayerAvatar.spriteId]; + sprite->pos2.y = unknown_0855C56C[task->data[2]]; + if ((++task->data[2]) >= 18) + { + task->data[0]++; + } +} + +void sub_80B9978(struct Task *task) +{ + struct MapObject *mapObject; + struct Sprite *sprite; + if (sub_80B9508(task->data[1])) + { + mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + sprite = &gSprites[mapObject->spriteId]; + mapObject->mapobj_bit_12 = 0; + sub_808EB08(mapObject, mapObject->coords2.x, mapObject->coords2.y); + sprite->pos2.x = 0; + sprite->pos2.y = 0; + sprite->coordOffsetEnabled = 1; + sub_808C114(); + FieldObjectSetSpecialAnim(mapObject, 0x39); + task->data[0]++; + } +} + +void sub_80B99F0(struct Task *task) +{ + if (FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[gPlayerAvatar.mapObjectId])) + { + task->data[0]++; + sub_80B9794(task->data[1]); + } +} + +void sub_80B9A28(struct Task *task) +{ + if (sub_80B9508(task->data[1])) + { + DestroySprite(&gSprites[task->data[1]]); + task->data[0]++; + task->data[1] = 0x10; + } +} + +void sub_80B9A60(struct Task *task) +{ + u8 state; + struct MapObject *mapObject; + if ((--task->data[1]) == 0) + { + mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + state = 0; + if (task->data[15] & 0x08) + { + state = 3; + sub_81555AC(mapObject->mapobj_unk_1A, 1); + } + FieldObjectSetGraphicsId(mapObject, GetPlayerAvatarGraphicsIdByStateId(state)); + FieldObjectTurn(mapObject, DIR_SOUTH); + gPlayerAvatar.flags = task->data[15]; + gPlayerAvatar.preventStep = FALSE; + FieldEffectActiveListRemove(FLDEFF_FLY_IN); + DestroyTask(FindTaskIdByFunc(sub_80B97D4)); + } +} + +void sub_80B9BE8(u8 taskId); + +bool8 sub_80B9ADC(void) +{ + u8 taskId; + u8 mapObjectIdBuffer; + if (!TryGetFieldObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2], &mapObjectIdBuffer)) + { + taskId = CreateTask(sub_80B9BE8, 0x50); + gTasks[taskId].data[2] = mapObjectIdBuffer; + gTasks[taskId].data[6] = gFieldEffectArguments[0]; + gTasks[taskId].data[7] = gFieldEffectArguments[1]; + gTasks[taskId].data[8] = gFieldEffectArguments[2]; + } + else + { + FieldEffectActiveListRemove(0x41); + } + return FALSE; +} + +void sub_80B9B3C(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + if (data[7] != 0) + { + if (++data[6] > 20) + { + data[6] = 0; + if (data[5] != 0) + data[5]--; + } + } + else + { + data[5] = 4; + } + + if (++data[0] > 1) + { + data[0] = 0; + if (++data[1] & 1) + { + SetCameraPanning(0, -data[5]); + } + else + { + SetCameraPanning(0, data[5]); + } + } + UpdateCameraPanning(); + if (data[5] == 0) + DestroyTask(taskId); +} + +void sub_80B9BD0(u8 taskId) +{ + gTasks[taskId].data[7] = 1; +} + +void (*const gUnknown_0855C590[])(s16*, u8) = { + sub_80B9C28, + sub_80B9C54, + sub_80B9CDC, +}; + +void sub_80B9BE8(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + InstallCameraPanAheadCallback(); + SetCameraPanningCallback(0); + gUnknown_0855C590[data[1]](data, taskId); +} + +void sub_80B9C28(s16* data, u8 taskId) +{ + u8 newTaskId = CreateTask(sub_80B9B3C, 0x5A); + PlaySE(SE_T_KAMI2); + data[5] = newTaskId; + data[1]++; +} + +void sub_80B9D24(struct Sprite*); + +void sub_80B9C54(s16* data, u8 taskId) +{ + if (++data[3] > 0x78) + { + struct Sprite *sprite = &gSprites[gMapObjects[data[2]].spriteId]; + gMapObjects[data[2]].mapobj_bit_13 = TRUE; + BlendPalettes(0x0000FFFF, 0x10, RGB_WHITE); + BeginNormalPaletteFade(0x0000FFFF, 0, 0x10, 0, RGB_WHITE); + sub_80B9D24(sprite); + PlaySE(SE_T_KAMI); + sub_80B9BD0(data[5]); + data[3] = 0; + data[1]++; + } +} + +void sub_80B9CDC(s16* a0, u8 taskId) +{ + if (!gPaletteFade.active && !FuncIsActiveTask(sub_80B9B3C)) + { + InstallCameraPanAheadCallback(); + RemoveFieldObjectByLocalIdAndMap(a0[6], a0[7], a0[8]); + FieldEffectActiveListRemove(0x41); + DestroyTask(taskId); + } +} + +void sub_80B9DB8(struct Sprite* sprite); + +const struct SpriteFrameImage gSpriteImageTable_855C59C[] = { + obj_frame_tiles(gUnknown_0855C170), + obj_frame_tiles(gUnknown_0855C190), + obj_frame_tiles(gUnknown_0855C1B0), + obj_frame_tiles(gUnknown_0855C1D0), +}; + +const union AnimCmd gSpriteAnim_855C5BC[] = { + ANIMCMD_FRAME(.imageValue = 0), + ANIMCMD_END +}; + +const union AnimCmd gSpriteAnim_855C5C4[] = { + ANIMCMD_FRAME(.imageValue = 1), + ANIMCMD_END +}; + +const union AnimCmd gSpriteAnim_855C5CC[] = { + ANIMCMD_FRAME(.imageValue = 2), + ANIMCMD_END +}; + +const union AnimCmd gSpriteAnim_855C5D4[] = { + ANIMCMD_FRAME(.imageValue = 3), + ANIMCMD_END +}; + +const union AnimCmd *const gSpriteAnimTable_855C5DC[] = { + gSpriteAnim_855C5BC, + gSpriteAnim_855C5C4, + gSpriteAnim_855C5CC, + gSpriteAnim_855C5D4, +}; + +const struct SpriteTemplate gUnknown_0855C5EC = { + .tileTag = 0xffff, + .paletteTag = 4378, + .oam = &gOamData_855C218, + .anims = gSpriteAnimTable_855C5DC, + .images = gSpriteImageTable_855C59C, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80B9DB8 +}; + +void sub_80B9D24(struct Sprite* sprite) +{ + int i; + int xPos = (s16)gUnknown_03005DEC + sprite->pos1.x + sprite->pos2.x; + int yPos = (s16)gUnknown_03005DE8 + sprite->pos1.y + sprite->pos2.y - 4; + + for (i = 0; i < 4; i++) + { + u8 spriteId = CreateSprite(&gUnknown_0855C5EC, xPos, yPos, 0); + if (spriteId != 0x40) + { + StartSpriteAnim(&gSprites[spriteId], i); + gSprites[spriteId].data[0] = i; + gSprites[spriteId].oam.paletteNum = sprite->oam.paletteNum; + } + } +} + +void sub_80B9DB8(struct Sprite* sprite) +{ + switch (sprite->data[0]) + { + case 0: + sprite->pos1.x -= 16; + sprite->pos1.y -= 12; + break; + case 1: + sprite->pos1.x += 16; + sprite->pos1.y -= 12; + break; + case 2: + sprite->pos1.x -= 16; + sprite->pos1.y += 12; + break; + case 3: + sprite->pos1.x += 16; + sprite->pos1.y += 12; + break; + } + if ((u16)(sprite->pos1.x + 4) > 0xF8 || sprite->pos1.y < -4 || sprite->pos1.y > 0xA4) + DestroySprite(sprite); +} + +void sub_80B9EDC(u8 taskId); + +bool8 sub_80B9E28(struct Sprite* sprite) +{ + u8 mapObjectIdBuffer; + if (!TryGetFieldObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2], &mapObjectIdBuffer)) + { + struct MapObject *object; + int xPos, yPos; + u8 taskId; + object = &gMapObjects[mapObjectIdBuffer]; + xPos = object->coords2.x - 7; + yPos = object->coords2.y - 7; + xPos = (gFieldEffectArguments[3] - xPos) * 16; + yPos = (gFieldEffectArguments[4] - yPos) * 16; + npc_coords_shift(object, gFieldEffectArguments[3] + 7, gFieldEffectArguments[4] + 7); + taskId = CreateTask(sub_80B9EDC, 0x50); + gTasks[taskId].data[1] = object->spriteId; + gTasks[taskId].data[2] = gSprites[object->spriteId].pos1.x + xPos; + gTasks[taskId].data[3] = gSprites[object->spriteId].pos1.y + yPos; + gTasks[taskId].data[8] = gFieldEffectArguments[5]; + gTasks[taskId].data[9] = mapObjectIdBuffer; + } + return FALSE; +} + +void sub_80B9EDC(u8 taskId) +{ + // BUG: Possible divide by zero + s16 *data = gTasks[taskId].data; + struct Sprite *sprite = &gSprites[data[1]]; + switch (data[0]) + { + case 0: + data[4] = sprite->pos1.x << 4; + data[5] = sprite->pos1.y << 4; + data[6] = (data[2] * 16 - data[4]) / data[8]; + data[7] = (data[3] * 16 - data[5]) / data[8]; + data[0]++; + case 1: + if (data[8] != 0) + { + data[8]--; + data[4] += data[6]; + data[5] += data[7]; + sprite->pos1.x = data[4] >> 4; + sprite->pos1.y = data[5] >> 4; + } + else + { + struct MapObject *object = &gMapObjects[data[9]]; + sprite->pos1.x = data[2]; + sprite->pos1.y = data[3]; + npc_coords_shift_still(object); + object->mapobj_bit_3 = TRUE; + FieldEffectActiveListRemove(0x42); + DestroyTask(taskId); + } + break; + } +} diff --git a/src/field_map_obj.c b/src/field_map_obj.c index 81cbe5210..af018eb16 100644 --- a/src/field_map_obj.c +++ b/src/field_map_obj.c @@ -353,7 +353,7 @@ static u8 InitFieldObjectStateFromTemplate(struct MapObjectTemplate *template, u return slot; } #else -static __attribute__((naked)) u8 InitFieldObjectStateFromTemplate(struct MapObjectTemplate *template, u8 mapId, u8 mapGroupId) +static NAKED u8 InitFieldObjectStateFromTemplate(struct MapObjectTemplate *template, u8 mapId, u8 mapGroupId) { asm_unified("\tpush {r4-r7,lr}\n" "\tmov r7, r9\n" diff --git a/src/field_tasks.c b/src/field_tasks.c new file mode 100644 index 000000000..d9c3078da --- /dev/null +++ b/src/field_tasks.c @@ -0,0 +1,776 @@ +#include "global.h" +#include "task.h" +#include "main.h" +#include "constants/vars.h" +#include "bike.h" +#include "item.h" +#include "constants/items.h" +#include "event_data.h" +#include "overworld.h" +#include "clock.h" +#include "script.h" +#include "field_special_scene.h" +#include "field_effect_helpers.h" +#include "secret_base.h" +#include "metatile_behavior.h" +#include "fieldmap.h" +#include "field_player_avatar.h" +#include "field_camera.h" +#include "constants/songs.h" +#include "sound.h" +#include "field_tasks.h" + +struct MetatileOffset +{ + s8 x; + s8 y; + u16 tileId; +}; + +// this file's functions +static void DummyPerStepCallback(u8 taskId); +static void PerStepCallback_8069F64(u8 taskId); +static void PerStepCallback_8069AA0(u8 taskId); +static void PerStepCallback_8069864(u8 taskId); +static void PerStepCallback_8069DD4(u8 taskId); +static void PerStepCallback_806A07C(u8 taskId); +static void Task_MuddySlope(u8 taskId); + +// const rom data +static void (*const gUnknown_08510348[])(u8) = +{ + DummyPerStepCallback, + PerStepCallback_8069F64, + PerStepCallback_8069AA0, + PerStepCallback_8069864, + PerStepCallback_8069DD4, + EndTruckSequence, + sub_80EA3E4, + PerStepCallback_806A07C +}; + +// they are in pairs but declared as 1D array +static const struct MetatileOffset gUnknown_08510368[] = +{ + { 0, 0,0x259}, { 0, 1,0x261}, + { 0, -1,0x259}, { 0, 0,0x261}, + { 0, 0,0x252}, { 1, 0,0x253}, + { -1, 0,0x252}, { 0, 0,0x253} +}; + +static const struct MetatileOffset gUnknown_08510388[] = +{ + { 0, 0,0x25A}, { 0, 1,0x262}, + { 0, -1,0x25A}, { 0, 0,0x262}, + { 0, 0,0x254}, { 1, 0,0x255}, + { -1, 0,0x254}, { 0, 0,0x255} +}; + +static const struct MetatileOffset gUnknown_085103A8[] = +{ + { 0, 0,0x258}, { 0, 1,0x260}, + { 0, -1,0x258}, { 0, 0,0x260}, + { 0, 0,0x250}, { 1, 0,0x251}, + { -1, 0,0x250}, { 0, 0,0x251} +}; + +static const u16 gUnknown_085103C8[] = +{ + 0, + 0, + 0, + 0, + 0, + 0, + VAR_TEMP_1, + VAR_TEMP_2, + VAR_TEMP_3, + VAR_TEMP_4, + 0, + 0, + VAR_TEMP_5, + VAR_TEMP_6, + VAR_TEMP_7, + 0, + 0, + VAR_TEMP_8, + VAR_TEMP_9, + VAR_TEMP_A, + 0, + 0, + 0, + 0, + 0, + 0 +}; + +static const u16 gUnknown_085103FC[] = {0xe8, 0xeb, 0xea, 0xe9}; + +// code +static void Task_RunPerStepCallback(u8 taskId) +{ + int idx = gTasks[taskId].data[0]; + gUnknown_08510348[idx](taskId); +} + +#define tState data[0] +#define tAmbientCryState data[1] +#define tAmbientCryDelay data[2] + +static void RunTimeBasedEvents(s16 *data) +{ + switch (tState) + { + case 0: + if (gMain.vblankCounter1 & 0x1000) + { + DoTimeBasedEvents(); + tState++; + } + break; + case 1: + if (!(gMain.vblankCounter1 & 0x1000)) + { + tState--; + } + break; + } +} + +static void Task_RunTimeBasedEvents(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + if (!ScriptContext2_IsEnabled()) + { + RunTimeBasedEvents(data); + UpdateAmbientCry(&tAmbientCryState, &tAmbientCryDelay); + } +} + +#undef tState +#undef tAmbientCryState +#undef tAmbientCryDelay + +void SetUpFieldTasks(void) +{ + if (!FuncIsActiveTask(Task_RunPerStepCallback)) + { + u8 taskId = CreateTask(Task_RunPerStepCallback, 0x50); + gTasks[taskId].data[0] = 0; + } + if (!FuncIsActiveTask(Task_MuddySlope)) + { + CreateTask(Task_MuddySlope, 0x50); + } + if (!FuncIsActiveTask(Task_RunTimeBasedEvents)) + { + CreateTask(Task_RunTimeBasedEvents, 0x50); + } +} + +void ActivatePerStepCallback(u8 callbackId) +{ + u8 taskId = FindTaskIdByFunc(Task_RunPerStepCallback); + if (taskId != 0xff) + { + s32 i; + s16 *data = gTasks[taskId].data; + + for (i = 0; i < 16; i++) + data[i] = 0; + + if (callbackId >= ARRAY_COUNT(gUnknown_08510348)) + { + data[0] = 0; + } + else + { + data[0] = callbackId; + } + } +} + +void ResetFieldTasksArgs(void) +{ + u8 taskId; + s16 *data; + + taskId = FindTaskIdByFunc(Task_RunPerStepCallback); + if (taskId != 0xff) + { + data = gTasks[taskId].data; + } + taskId = FindTaskIdByFunc(Task_RunTimeBasedEvents); + if (taskId != 0xff) + { + data = gTasks[taskId].data; + data[1] = 0; + data[2] = 0; + } +} + +static void DummyPerStepCallback(u8 taskId) +{ + +} + +static const struct MetatileOffset *sub_809DA30(const struct MetatileOffset *offsets, u16 metatileBehavior) +{ + if (MetatileBehavior_IsPacifilogVerticalLog1(metatileBehavior)) + return &offsets[0 * 2]; + else if (MetatileBehavior_IsPacifilogVerticalLog2(metatileBehavior)) + return &offsets[1 * 2]; + else if (MetatileBehavior_IsPacifilogHorizontalLog1(metatileBehavior)) + return &offsets[2 * 2]; + else if (MetatileBehavior_IsPacifilogHorizontalLog2(metatileBehavior)) + return &offsets[3 * 2]; + else + return NULL; +} + +static void sub_809DA88(const struct MetatileOffset *offsets, s16 x, s16 y, bool32 flag) +{ + offsets = sub_809DA30(offsets, MapGridGetMetatileBehaviorAt(x, y)); + + if (offsets != NULL) + { + MapGridSetMetatileIdAt(x + offsets[0].x, y + offsets[0].y, offsets[0].tileId); + if (flag) + CurrentMapDrawMetatileAt(x + offsets[0].x, y + offsets[0].y); + + MapGridSetMetatileIdAt(x + offsets[1].x, y + offsets[1].y, offsets[1].tileId); + if (flag) + CurrentMapDrawMetatileAt(x + offsets[1].x, y + offsets[1].y); + } +} + +static void sub_809DB10(s16 x, s16 y, bool32 flag) +{ + sub_809DA88(gUnknown_08510368, x, y, flag); +} + +static void sub_809DB34(s16 x, s16 y, bool32 flag) +{ + sub_809DA88(gUnknown_08510388, x, y, flag); +} + +static void sub_809DB58(s16 x, s16 y, bool32 flag) +{ + sub_809DA88(gUnknown_085103A8, x, y, flag); +} + +static bool32 sub_809DB7C(s16 x1, s16 y1, s16 x2, s16 y2) +{ + u16 metatileBehavior = MapGridGetMetatileBehaviorAt(x2, y2); + + if (MetatileBehavior_IsPacifilogVerticalLog1(metatileBehavior)) + { + if (y1 > y2) + return FALSE; + } + else if (MetatileBehavior_IsPacifilogVerticalLog2(metatileBehavior)) + { + if (y1 < y2) + return FALSE; + } + else if (MetatileBehavior_IsPacifilogHorizontalLog1(metatileBehavior)) + { + if (x1 > x2) + return FALSE; + } + else if (MetatileBehavior_IsPacifilogHorizontalLog2(metatileBehavior)) + { + if (x1 < x2) + return FALSE; + } + return TRUE; +} + +static bool32 sub_809DC18(s16 x1, s16 y1, s16 x2, s16 y2) +{ + u16 metatileBehavior = MapGridGetMetatileBehaviorAt(x1, y1); + + if (MetatileBehavior_IsPacifilogVerticalLog1(metatileBehavior)) + { + if (y1 < y2) + return FALSE; + } + else if (MetatileBehavior_IsPacifilogVerticalLog2(metatileBehavior)) + { + if (y1 > y2) + return FALSE; + } + else if (MetatileBehavior_IsPacifilogHorizontalLog1(metatileBehavior)) + { + if (x1 < x2) + return FALSE; + } + else if (MetatileBehavior_IsPacifilogHorizontalLog2(metatileBehavior)) + { + if (x1 > x2) + return FALSE; + } + return TRUE; +} + +static void PerStepCallback_8069864(u8 taskId) +{ + s16 *data; + s16 x, y; + data = gTasks[taskId].data; + PlayerGetDestCoords(&x, &y); + switch (data[1]) + { + case 0: + data[2] = x; + data[3] = y; + sub_809DB34(x, y, TRUE); + data[1] = 1; + break; + case 1: + if (x != data[2] || y != data[3]) + { + if (sub_809DB7C(x, y, data[2], data[3])) + { + sub_809DB10(data[2], data[3], TRUE); + sub_809DB58(data[2], data[3], FALSE); + data[4] = data[2]; + data[5] = data[3]; + data[1] = 2; + data[6] = 8; + } + else + { + data[4] = -1; + data[5] = -1; + } + if (sub_809DC18(x, y, data[2], data[3])) + { + sub_809DB10(x, y, TRUE); + data[1] = 2; + data[6] = 8; + } + data[2] = x; + data[3] = y; + if (MetatileBehavior_IsPacifidlogLog(MapGridGetMetatileBehaviorAt(x, y))) + { + PlaySE(SE_MIZU); + } + } + break; + case 2: + if ((--data[6]) == 0) + { + sub_809DB34(x, y, TRUE); + if (data[4] != -1 && data[5] != -1) + { + sub_809DB58(data[4], data[5], TRUE); + } + data[1] = 1; + } + break; + } +} + +static void sub_809DE28(s16 x, s16 y) +{ + u8 z = PlayerGetZCoord(); + if (!(z & 0x01)) + { + switch (MapGridGetMetatileIdAt(x, y)) + { + case 0x24e: + MapGridSetMetatileIdAt(x, y, 0x24f); + break; + case 0x256: + MapGridSetMetatileIdAt(x, y, 0x257); + break; + } + } +} + +static void sub_809DE8C(s16 x, s16 y) +{ + u8 z = PlayerGetZCoord(); + if (!(z & 0x01)) + { + switch (MapGridGetMetatileIdAt(x, y)) + { + case 0x24f: + MapGridSetMetatileIdAt(x, y, 0x24e); + break; + case 0x257: + MapGridSetMetatileIdAt(x, y, 0x256); + break; + } + } +} + +static void PerStepCallback_8069AA0(u8 taskId) +{ + bool8 isFortreeBridgeCur; + bool8 isFortreeBridgePrev; + u8 z, flag; + s16 x, y, x2, y2; + s16 *data = gTasks[taskId].data; + PlayerGetDestCoords(&x, &y); + switch (data[1]) + { + default: + break; + case 0: + data[2] = x; + data[3] = y; + if (MetatileBehavior_IsFortreeBridge(MapGridGetMetatileBehaviorAt(x, y))) + { + sub_809DE28(x, y); + CurrentMapDrawMetatileAt(x, y); + } + data[1] = 1; + break; + case 1: + x2 = data[2]; + y2 = data[3]; + if (x == x2 && y == y2) + { + break; + } + isFortreeBridgeCur = MetatileBehavior_IsFortreeBridge(MapGridGetMetatileBehaviorAt(x, y)); + isFortreeBridgePrev = MetatileBehavior_IsFortreeBridge(MapGridGetMetatileBehaviorAt(x2, y2)); + z = PlayerGetZCoord(); + flag = 0; + if ((u8)(z & 1) == 0) + { + flag = 1; + } + if (flag && (isFortreeBridgeCur == 1 || isFortreeBridgePrev == 1)) + { + PlaySE(SE_HASHI); + } + if (isFortreeBridgePrev) + { + sub_809DE8C(x2, y2); + CurrentMapDrawMetatileAt(x2, y2); + sub_809DE28(x, y); + CurrentMapDrawMetatileAt(x, y); + } + data[4] = x2; + data[5] = y2; + data[2] = x; + data[3] = y; + if (!isFortreeBridgePrev) + { + break; + } + data[6] = 16; + data[1] = 2; + // fallthrough + case 2: + data[6]--; + x2 = data[4]; + y2 = data[5]; + switch (data[6] % 7) + { + case 0: + CurrentMapDrawMetatileAt(x2, y2); + case 1: + case 2: + case 3: + break; + case 4: + sub_809DE28(x2, y2); + CurrentMapDrawMetatileAt(x2, y2); + sub_809DE8C(x2, y2); + case 5: + case 6: + case 7: + break; + } + if (data[6] == 0) + { + data[1] = 1; + } + break; + } +} + +static bool32 sub_809E108(s16 x, s16 y) +{ + if ((u16)(x - 3) < 11 && (u16)(y - 6) < 14 && gUnknown_085103C8[y]) + return TRUE; + else + return FALSE; +} + +static void sub_809E14C(s16 x, s16 y) +{ + if (sub_809E108(x, y)) + *GetVarPointer(gUnknown_085103C8[y]) |= (1 << (x - 3)); +} + +static bool32 sub_809E184(s16 x, s16 y) +{ + u32 var; + if (!sub_809E108(x, y)) + return FALSE; + + var = VarGet(gUnknown_085103C8[y]) << 16; + if (((1 << 16) << (x - 3)) & var) // TODO: fix that if + return TRUE; + else + return FALSE; +} + +void SetSootopolisGymCrackedIceMetatiles(void) +{ + s32 x, y; + s32 width = gMapHeader.mapData->width; + s32 height = gMapHeader.mapData->height; + for (x = 0; x < width; x++) + { + for (y = 0; y < height; y++) + { + if (sub_809E184(x, y) == TRUE) + { + MapGridSetMetatileIdAt(x + 7, y + 7, 0x20e); + } + } + } +} + +static void PerStepCallback_8069DD4(u8 taskId) +{ + s16 x, y; + u16 tileBehavior; + u16 *var; + s16 *data = gTasks[taskId].data; + switch (data[1]) + { + case 0: + PlayerGetDestCoords(&x, &y); + data[2] = x; + data[3] = y; + data[1] = 1; + break; + case 1: + PlayerGetDestCoords(&x, &y); + if (x != data[2] || y != data[3]) + { + data[2] = x; + data[3] = y; + tileBehavior = MapGridGetMetatileBehaviorAt(x, y); + var = GetVarPointer(VAR_ICE_STEP_COUNT); + if (MetatileBehavior_IsThinIce(tileBehavior) == TRUE) + { + (*var)++; + data[6] = 4; + data[1] = 2; + data[4] = x; + data[5] = y; + } + else if (MetatileBehavior_IsCrackedIce(tileBehavior) == TRUE) + { + *var = 0; + data[6] = 4; + data[1] = 3; + data[4] = x; + data[5] = y; + } + } + break; + case 2: + if (data[6] != 0) + { + data[6]--; + } + else + { + x = data[4]; + y = data[5]; + PlaySE(SE_RU_BARI); + MapGridSetMetatileIdAt(x, y, 0x20e); + CurrentMapDrawMetatileAt(x, y); + sub_809E14C(x - 7, y - 7); + data[1] = 1; + } + break; + case 3: + if (data[6] != 0) + { + data[6]--; + } + else + { + x = data[4]; + y = data[5]; + PlaySE(SE_RU_GASYAN); + MapGridSetMetatileIdAt(x, y, 0x206); + CurrentMapDrawMetatileAt(x, y); + data[1] = 1; + } + break; + } +} + +static void PerStepCallback_8069F64(u8 taskId) +{ + s16 x, y; + u16 *var; + s16 *data = gTasks[taskId].data; + PlayerGetDestCoords(&x, &y); + if (x != data[1] || y != data[2]) + { + data[1] = x; + data[2] = y; + if (MetatileBehavior_IsAsh(MapGridGetMetatileBehaviorAt(x, y))) + { + if (MapGridGetMetatileIdAt(x, y) == 0x20a) + { + ash(x, y, 0x212, 4); + } + else + { + ash(x, y, 0x206, 4); + } + if (CheckBagHasItem(ITEM_SOOT_SACK, 1)) + { + var = GetVarPointer(VAR_ASH_GATHER_COUNT); + if (*var < 9999) + { + (*var)++; + } + } + } + } +} + +static void sub_809E490(s16 x, s16 y) +{ + MapGridSetMetatileIdAt(x, y, MapGridGetMetatileIdAt(x, y) == 0x22f ? 0x206 : 0x237); + CurrentMapDrawMetatileAt(x, y); +} + +static void PerStepCallback_806A07C(u8 taskId) +{ + s16 x, y; + u16 behavior; + s16 *data = gTasks[taskId].data; + PlayerGetDestCoords(&x, &y); + behavior = MapGridGetMetatileBehaviorAt(x, y); + if (data[4] != 0 && (--data[4]) == 0) + { + sub_809E490(data[5], data[6]); + } + if (data[7] != 0 && (--data[7]) == 0) + { + sub_809E490(data[8], data[9]); + } + if (MetatileBehavior_IsCrackedFloorHole(behavior)) + { + VarSet(VAR_ICE_STEP_COUNT, 0); // this var does double duty + } + if ((x != data[2] || y != data[3])) + { + data[2] = x; + data[3] = y; + if (MetatileBehavior_IsCrackedFloor(behavior)) + { + if (GetPlayerSpeed() != 4) + { + VarSet(VAR_ICE_STEP_COUNT, 0); // this var does double duty + } + if (data[4] == 0) + { + data[4] = 3; + data[5] = x; + data[6] = y; + } + else if (data[7] == 0) + { + data[7] = 3; + data[8] = x; + data[9] = y; + } + } + } +} + +static void sub_809E5DC(s16 *data, s16 x, s16 y) +{ + u16 tile; + if ((--data[0]) == 0) + { + tile = 0xe8; + } + else + { + tile = gUnknown_085103FC[data[0] / 8]; + } + MapGridSetMetatileIdAt(x, y, tile); + CurrentMapDrawMetatileAt(x, y); + MapGridSetMetatileIdAt(x, y, 0xe8); +} + +static void Task_MuddySlope(u8 taskId) +{ + s16 x, y, x2, y2; + int i; + u16 mapIndices; + s16 *data = gTasks[taskId].data; + PlayerGetDestCoords(&x, &y); + mapIndices = (gSaveBlock1Ptr->location.mapGroup << 8) | gSaveBlock1Ptr->location.mapNum; + switch (data[1]) + { + case 0: + data[0] = mapIndices; + data[2] = x; + data[3] = y; + data[1] = 1; + data[4] = 0; + data[7] = 0; + data[10] = 0; + data[13] = 0; + break; + case 1: + if (data[2] != x || data[3] != y) + { + data[2] = x; + data[3] = y; + if (MetatileBehavior_IsMuddySlope(MapGridGetMetatileBehaviorAt(x, y))) + { + for (i=4; i<14; i+=3) + { + if (data[i] == 0) + { + data[i] = 32; + data[i + 1] = x; + data[i + 2] = y; + break; + } + } + } + } + break; + } + if (gCamera.active && mapIndices != data[0]) + { + data[0] = mapIndices; + x2 = gCamera.x; + y2 = gCamera.y; + } + else + { + x2 = 0; + y2 = 0; + } + for (i = 4; i < 14; i += 3) + { + if (data[i]) + { + data[i + 1] -= x2; + data[i + 2] -= y2; + sub_809E5DC(&data[i], data[i + 1], data[i + 2]); + } + } +} diff --git a/src/fldeff_teleport.c b/src/fldeff_teleport.c index e675ef0a5..1b88b42d7 100644 --- a/src/fldeff_teleport.c +++ b/src/fldeff_teleport.c @@ -37,7 +37,7 @@ bool8 FldEff_UseTeleport(void) void sub_817C94C(void) { FieldEffectActiveListRemove(FLDEFF_USE_TELEPORT); - sub_80B7FC8(); + CreateTeleportFieldEffectTask(); } diff --git a/src/fossil_specials.c b/src/fossil_specials.c index 95fafc17b..060915fa6 100644 --- a/src/fossil_specials.c +++ b/src/fossil_specials.c @@ -335,7 +335,7 @@ static void sub_81BED50(u8 taskId) } #else -ASM_DIRECT +NAKED static void sub_81BED50(u8 taskId) { asm("\n\ diff --git a/src/hof_pc.c b/src/hof_pc.c index e5b6f96f8..44b929337 100644 --- a/src/hof_pc.c +++ b/src/hof_pc.c @@ -7,7 +7,6 @@ #include "script_menu.h" #include "task.h" -extern void (*gFieldCallback)(void); extern void (*gUnknown_0300485C)(void); extern void Overworld_PlaySpecialMapMusic(void); diff --git a/src/item.c b/src/item.c index 975fef3ae..319d167fc 100644 --- a/src/item.c +++ b/src/item.c @@ -234,7 +234,7 @@ bool8 CheckBagHasSpace(u16 itemId, u16 count) } } #else -ASM_DIRECT +NAKED bool8 CheckBagHasSpace(u16 itemId, u16 count) { asm_unified("push {r4-r7,lr}\n\ diff --git a/src/item_menu.c b/src/item_menu.c index d7edea301..c4b4b15b1 100755 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -26,7 +26,6 @@ #include "malloc.h" #include "map_name_popup.h" #include "menu.h" -#include "menu_indicators.h" #include "money.h" #include "overworld.h" #include "palette.h" @@ -265,14 +264,12 @@ struct TempWallyStruct { }; EWRAM_DATA struct UnkBagStruct *gUnknown_0203CE54 = 0; -EWRAM_DATA struct BagStruct gUnknown_0203CE58 = {0, 0, 0, {0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}}; +EWRAM_DATA struct BagStruct gUnknown_0203CE58 = {0}; EWRAM_DATA struct ListBuffer1 *gUnknown_0203CE74 = 0; EWRAM_DATA struct ListBuffer2 *gUnknown_0203CE78 = 0; EWRAM_DATA u16 gSpecialVar_ItemId = 0; EWRAM_DATA struct TempWallyStruct *gUnknown_0203CE80 = 0; -void (*gFieldCallback)(void); - extern u8 *gPocketNamesStringsTable[]; extern u8 gUnknown_08D9A88C[]; extern struct ListMenuTemplate gUnknown_08613F9C; @@ -752,7 +749,7 @@ void sub_81AB824(void) void bag_menu_add_list_scroll_arrow_indicators_maybe(void) { if (gUnknown_0203CE54->unk81B != 1 && gUnknown_0203CE54->unk81F == 0xFF) - gUnknown_0203CE54->unk81F = AddScrollIndicatorArrowPair(&gUnknown_08614094, gUnknown_0203CE58.unk6); + gUnknown_0203CE54->unk81F = AddScrollIndicatorArrowPair(&gUnknown_08614094, &gUnknown_0203CE58.unk6); } void sub_81AB89C(void) diff --git a/src/item_use.c b/src/item_use.c index 80b33220e..d036da6d3 100755 --- a/src/item_use.c +++ b/src/item_use.c @@ -91,7 +91,6 @@ extern u8* sub_806CF78(u16); extern void sub_81B89F0(void); extern u8 GetItemEffectType(u16); extern struct MapConnection *sub_8088A8C(s16, s16); -extern void (*gFieldCallback)(void); void MapPostLoadHook_UseItem(void); void sub_80AF6D4(void); @@ -167,7 +166,7 @@ void MapPostLoadHook_UseItem(void) void Task_CallItemUseOnFieldCallback(u8 taskId) { - if (sub_80ABDFC() == 1) + if (IsWeatherNotFadingIn() == 1) gUnknown_0203A0F4(taskId); } diff --git a/src/lilycove_lady.c b/src/lilycove_lady.c index ea244b6a0..1012a8e08 100644 --- a/src/lilycove_lady.c +++ b/src/lilycove_lady.c @@ -237,11 +237,11 @@ void sub_818D9C0(void) { LilycoveLady *lilycoveLady; - VarSet(VAR_0x4010, sUnknown_0860B07E[GetLilycoveLadyId()]); + VarSet(VAR_OBJ_GFX_ID_0, sUnknown_0860B07E[GetLilycoveLadyId()]); if (GetLilycoveLadyId() == LILYCOVE_LADY_CONTEST) { lilycoveLady = &gSaveBlock1Ptr->lilycoveLady; - VarSet(VAR_0x4011, sUnknown_0860B074[lilycoveLady->contest.category]); + VarSet(VAR_OBJ_GFX_ID_1, sUnknown_0860B074[lilycoveLady->contest.category]); gSpecialVar_Result = TRUE; } else @@ -801,26 +801,26 @@ void sub_818E564(void) EnableBothScriptContexts(); } -void sub_818E570(const struct LilycoveLadyQuiz *quiz) +void sub_818E570(const LilycoveLady *lilycoveLady) { u8 i; gUnknown_0203CD68 = &gSaveBlock1Ptr->lilycoveLady.quiz; - if (quiz->unk_02c < 16 && gUnknown_0203CD68->id == LILYCOVE_LADY_QUIZ) + if (lilycoveLady->quiz.unk_02c < 16 && gUnknown_0203CD68->id == LILYCOVE_LADY_QUIZ) { for (i = 0; i < 4; i ++) { - if (quiz->unk_02c != gUnknown_0203CD68->unk_02b) + if (lilycoveLady->quiz.unk_02c != gUnknown_0203CD68->unk_02b) { break; } gUnknown_0203CD68->unk_02b = Random() % 16; } - if (quiz->unk_02c == gUnknown_0203CD68->unk_02b) + if (lilycoveLady->quiz.unk_02c == gUnknown_0203CD68->unk_02b) { gUnknown_0203CD68->unk_02b = (gUnknown_0203CD68->unk_02b + 1) % 16; } - gUnknown_0203CD68->unk_02c = quiz->unk_02c; + gUnknown_0203CD68->unk_02c = lilycoveLady->quiz.unk_02c; } } diff --git a/src/link.c b/src/link.c index 292ffecf2..acdb6cae0 100644 --- a/src/link.c +++ b/src/link.c @@ -798,7 +798,7 @@ bool32 sub_800A040(void) return TRUE; } -bool32 sub_800A064(void) +bool32 Link_AnyPartnersPlayingRubyOrSapphire(void) { if (sub_8009FF8(VERSION_RUBY, VERSION_SAPPHIRE) >= 0) { diff --git a/src/link_rfu.c b/src/link_rfu.c index a1917ed24..37aa20950 100644 --- a/src/link_rfu.c +++ b/src/link_rfu.c @@ -2051,7 +2051,7 @@ u8 sub_800DD1C(u8 maxFlags) return 0; } #else -ASM_DIRECT u8 sub_800DD1C(u8 maxFlags) +NAKED u8 sub_800DD1C(u8 maxFlags) { asm_unified("\tpush {r4-r7,lr}\n" "\tlsls r0, 24\n" @@ -2897,7 +2897,7 @@ void sub_800EFB0(void) CpuFill16(0, gRecvCmds, sizeof gRecvCmds); } #else -ASM_DIRECT void sub_800EFB0(void) +NAKED void sub_800EFB0(void) { asm_unified("\tpush {r4-r7,lr}\n" "\tsub sp, 0x4\n" @@ -3233,7 +3233,7 @@ void sub_800F638(u8 unused, u32 flags) } } #else -ASM_DIRECT void sub_800F638(u8 unused, u32 flags) +NAKED void sub_800F638(u8 unused, u32 flags) { asm_unified("\tpush {r4-r7,lr}\n" "\tmov r7, r10\n" @@ -3601,7 +3601,7 @@ void sub_800FD14(u16 command) } } #else -ASM_DIRECT void sub_800FD14(u16 command) +NAKED void sub_800FD14(u16 command) { asm_unified("\tpush {r4,r5,lr}\n" "\tlsls r0, 16\n" @@ -4699,7 +4699,7 @@ void sub_801120C(u8 a0) } } #else -ASM_DIRECT void sub_801120C(u8 a0) +NAKED void sub_801120C(u8 a0) { asm_unified("\tpush {r4-r7,lr}\n" "\tmov r7, r10\n" diff --git a/src/list_menu.c b/src/list_menu.c index c78d32bb3..de7de8269 100644 --- a/src/list_menu.c +++ b/src/list_menu.c @@ -5,11 +5,16 @@ #include "text_window.h" #include "main.h" #include "task.h" -#include "menu_indicators.h" +#include "trig.h" +#include "decompress.h" +#include "palette.h" +#include "malloc.h" #include "strings.h" #include "sound.h" #include "constants/songs.h" +// This file needs better labels and function names. + struct UnknownMysteryGiftLinkMenuStruct { s32 field_0; @@ -29,7 +34,71 @@ struct UnknownListMenuPals u8 field_3_7:1; }; -extern struct UnknownMysteryGiftLinkMenuStruct gUnknown_0203CE84; +struct UnkIndicatorsStruct +{ + u8 field_0; + u16 *field_4; + u16 field_8; + u16 field_A; + u16 field_C; + u16 field_E; + u8 field_10; + u8 field_11; + u8 field_12; + u8 field_13; + u8 field_14_0:4; + u8 field_14_1:4; + u8 field_15_0:4; + u8 field_15_1:4; + u8 field_16_0:3; + u8 field_16_1:3; + u8 field_16_2:2; + u8 field_17_0:6; + u8 field_17_1:2; +}; + +struct UnkIndicatorsStruct2 +{ + u8 field_0; + u16 *field_4; + u16 field_8; + u16 field_A; + u8 field_C; + u8 field_D; + u16 tileTag; + u16 palTag; + u16 field_12; + u16 field_14; + u16 field_16; + u16 field_18; + u16 field_1A; + u16 field_1C; + s16 field_1E; +}; + +struct UnkIndicatorsStruct3 +{ + struct SubspriteTable subspriteTable; + struct Subsprite *subspritesPtr; // not a const pointer + u8 spriteId; + u16 tileTag; + u16 palTag; +}; + +struct UnkIndicatorsStruct4 +{ + u8 field_0; + u16 tileTag; + u16 palTag; +}; + +struct UnkSmallIndicatorsStruct +{ + u8 field_0_0:4; + u8 field_0_1:4; + u8 field_1; + u16 field_2; +}; // this file's functions static u8 ListMenuInitInternal(struct ListMenuTemplate *listMenuTemplate, u16 scrollOffset, u16 selectedRow); @@ -38,11 +107,220 @@ static void ListMenuPrintEntries(struct ListMenu *list, u16 startIndex, u16 yOff static void ListMenuDrawCursor(struct ListMenu *list); static void ListMenuCallSelectionChangedCallback(struct ListMenu *list, u8 a2); static u8 ListMenuAddCursorObject(struct ListMenu *list, u32 cursorKind); +static void Task_ScrollIndicatorArrowPair(u8 taskId); +static u8 ListMenuAddRedOutlineCursorObject(struct CursorStruct *cursor); +static u8 ListMenuAddRedArrowCursorObject(struct CursorStruct *cursor); +static void ListMenuUpdateRedOutlineCursorObject(u8 taskId, u16 x, u16 y); +static void ListMenuUpdateRedArrowCursorObject(u8 taskId, u16 x, u16 y); +static void ListMenuRemoveRedOutlineCursorObject(u8 taskId); +static void ListMenuRemoveRedArrowCursorObject(u8 taskId); +static u8 ListMenuAddCursorObjectInternal(struct CursorStruct *cursor, u32 cursorKind); +static void ListMenuUpdateCursorObject(u8 taskId, u16 x, u16 y, u32 cursorKind); +static void ListMenuRemoveCursorObject(u8 taskId, u32 cursorKind); +static void sub_81AF264(struct Sprite *sprite); +static void ObjectCB_RedArrowCursor(struct Sprite *sprite); + +// EWRAM vars + EWRAM_DATA struct UnknownMysteryGiftLinkMenuStruct gUnknown_0203CE84 = {0}; + EWRAM_DATA struct ArrowStruct gUnknown_0203CE8C = {0}; // IWRAM common struct UnknownListMenuPals gUnknown_03006300; struct ListMenuTemplate gMultiuseListMenuTemplate; +// const rom data +static const struct UnkSmallIndicatorsStruct gUnknown_086141FC[] = +{ + {0, 0, 2, 8}, + {1, 0, 2, -8}, + {2, 1, 2, 8}, + {3, 1, 2, -8}, +}; + +static const struct OamData sOamData_861420C = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 1, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0 +}; + +static const union AnimCmd sSpriteAnim_8614214[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_861421C[] = +{ + ANIMCMD_FRAME(0, 30, 1, 0), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_8614224[] = +{ + ANIMCMD_FRAME(4, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_861422C[] = +{ + ANIMCMD_FRAME(4, 30, 0, 1), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_8614234[] = +{ + sSpriteAnim_8614214, + sSpriteAnim_861421C, + sSpriteAnim_8614224, + sSpriteAnim_861422C +}; + +static const struct SpriteTemplate gUnknown_08614244 = +{ + .tileTag = 0, + .paletteTag = 0, + .oam = &sOamData_861420C, + .anims = sSpriteAnimTable_8614234, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_81AF264, +}; + +static const struct Subsprite sSubsprite_861425C = +{ + .x = 0, + .y = 0, + .shape = 0, + .size = 0, + .tileOffset = 0, + .priority = 0, +}; + +static const struct Subsprite sSubsprite_8614260 = +{ + .x = 0, + .y = 0, + .shape = 0, + .size = 0, + .tileOffset = 1, + .priority = 0, +}; + +static const struct Subsprite sSubsprite_8614264 = +{ + .x = 0, + .y = 0, + .shape = 0, + .size = 0, + .tileOffset = 2, + .priority = 0, +}; + +static const struct Subsprite sSubsprite_8614268 = +{ + .x = 0, + .y = 0, + .shape = 0, + .size = 0, + .tileOffset = 3, + .priority = 0, +}; + +static const struct Subsprite sSubsprite_861426C = +{ + .x = 0, + .y = 0, + .shape = 0, + .size = 0, + .tileOffset = 4, + .priority = 0, +}; + +static const struct Subsprite sSubsprite_8614270 = +{ + .x = 0, + .y = 0, + .shape = 0, + .size = 0, + .tileOffset = 5, + .priority = 0, +}; + +static const struct Subsprite sSubsprite_8614274 = +{ + .x = 0, + .y = 0, + .shape = 0, + .size = 0, + .tileOffset = 6, + .priority = 0, +}; + +static const struct Subsprite sSubsprite_8614278 = +{ + .x = 0, + .y = 0, + .shape = 0, + .size = 0, + .tileOffset = 7, + .priority = 0, +}; + +static const struct OamData sOamData_861427C = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 1, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0 +}; + +static const union AnimCmd sSpriteAnim_8614284[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_861428C[] = +{ + sSpriteAnim_8614284 +}; + +static const struct SpriteTemplate gUnknown_08614290 = +{ + .tileTag = 0, + .paletteTag = 0, + .oam = &sOamData_861427C, + .anims = sSpriteAnimTable_861428C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = ObjectCB_RedArrowCursor, +}; + +static const u16 gUnknown_086142A8[] = INCBIN_U16("graphics/interface/red_arrow.gbapal"); +static const u8 gUnknown_086142C8[] = INCBIN_U8("graphics/interface/red_arrow_other.4bpp.lz"); +static const u8 gUnknown_08614338[] = INCBIN_U8("graphics/interface/selector_outline.4bpp.lz"); +static const u8 gUnknown_08614378[] = INCBIN_U8("graphics/interface/red_arrow.4bpp.lz"); + // code static void ListMenuDummyTask(u8 taskId) { @@ -415,9 +693,9 @@ static u8 ListMenuAddCursorObject(struct ListMenu *list, u32 cursorKind) cursor.unk1 = 0xA0; cursor.unk2 = GetWindowAttribute(list->template.windowId, WINDOW_WIDTH) * 8 + 2; cursor.unk4 = GetFontAttribute(list->template.fontId, 1) + 2; - cursor.unk6 = 0x4000; - cursor.unk8 = 0xFFFF; - cursor.unkA = 0xF; + cursor.tileTag = 0x4000; + cursor.palTag = 0xFFFF; + cursor.palNum = 0xF; return ListMenuAddCursorObjectInternal(&cursor, cursorKind); } @@ -631,3 +909,547 @@ void sub_81AF078(s32 arg0, u8 arg1, struct ListMenu *list) if (!arg1) PlaySE(SE_SELECT); } + +// unused +s32 sub_81AF08C(u8 taskId, u8 field) +{ + struct UnkIndicatorsStruct *data = (void*) gTasks[taskId].data; + + switch (field) + { + case 0: + case 1: + return (s32)(data->field_4); + case 2: + return data->field_C; + case 3: + return data->field_E; + case 4: + return data->field_10; + case 5: + return data->field_11; + case 6: + return data->field_12; + case 7: + return data->field_13; + case 8: + return data->field_14_0; + case 9: + return data->field_14_1; + case 10: + return data->field_15_0; + case 11: + return data->field_15_1; + case 12: + return data->field_16_0; + case 13: + return data->field_16_1; + case 14: + return data->field_16_2; + case 15: + return data->field_17_0; + case 16: + return data->field_17_1; + default: + return -1; + } +} + +// unused +void sub_81AF15C(u8 taskId, u8 field, s32 value) +{ + struct UnkIndicatorsStruct *data = (void*) &gTasks[taskId].data; + + switch (field) + { + case 0: + case 1: + data->field_4 = (void*)(value); + break; + case 2: + data->field_C = value; + break; + case 3: + data->field_E = value; + break; + case 4: + data->field_10 = value; + break; + case 5: + data->field_11 = value; + break; + case 6: + data->field_12 = value; + break; + case 7: + data->field_13 = value; + break; + case 8: + data->field_14_0 = value; + break; + case 9: + data->field_14_1 = value; + break; + case 10: + data->field_15_0 = value; + break; + case 11: + data->field_15_1 = value; + break; + case 12: + data->field_16_0 = value; + break; + case 13: + data->field_16_1 = value; + break; + case 14: + data->field_16_2 = value; + break; + case 15: + data->field_17_0 = value; + break; + case 16: + data->field_17_1 = value; + break; + } +} + +static void sub_81AF264(struct Sprite *sprite) +{ + s32 multiplier; + + switch (sprite->data[0]) + { + case 0: + StartSpriteAnim(sprite, sprite->data[1]); + sprite->data[0]++; + break; + case 1: + switch (sprite->data[2]) + { + case 0: + multiplier = sprite->data[3]; + sprite->pos2.x = (gSineTable[(u8)(sprite->data[5])] * multiplier) / 256; + break; + case 1: + multiplier = sprite->data[3]; + sprite->pos2.y = (gSineTable[(u8)(sprite->data[5])] * multiplier) / 256; + break; + } + sprite->data[5] += sprite->data[4]; + break; + } +} + +static u8 AddScrollIndicatorArrowObject(u8 arg0, u8 x, u8 y, u16 tileTag, u16 palTag) +{ + u8 spriteId; + struct SpriteTemplate spriteTemplate; + + spriteTemplate = gUnknown_08614244; + spriteTemplate.tileTag = tileTag; + spriteTemplate.paletteTag = palTag; + + spriteId = CreateSprite(&spriteTemplate, x, y, 0); + gSprites[spriteId].invisible = 1; + gSprites[spriteId].data[0] = 0; + gSprites[spriteId].data[1] = gUnknown_086141FC[arg0].field_0_0; + gSprites[spriteId].data[2] = gUnknown_086141FC[arg0].field_0_1; + gSprites[spriteId].data[3] = gUnknown_086141FC[arg0].field_1; + gSprites[spriteId].data[4] = gUnknown_086141FC[arg0].field_2; + gSprites[spriteId].data[5] = 0; + + return spriteId; +} + +u8 AddScrollIndicatorArrowPair(const struct ArrowStruct *arrowInfo, u16 *arg1) +{ + struct CompressedSpriteSheet spriteSheet; + struct SpritePalette spritePal; + struct UnkIndicatorsStruct2 *data; + u8 taskId; + + spriteSheet.data = gUnknown_086142C8; + spriteSheet.size = 0x100; + spriteSheet.tag = arrowInfo->tileTag; + LoadCompressedObjectPic(&spriteSheet); + + if (arrowInfo->palTag == 0xFFFF) + { + LoadPalette(gUnknown_086142A8, (16 * arrowInfo->palNum) + 0x100, 0x20); + } + else + { + spritePal.data = gUnknown_086142A8; + spritePal.tag = arrowInfo->palTag; + LoadSpritePalette(&spritePal); + } + + taskId = CreateTask(Task_ScrollIndicatorArrowPair, 0); + data = (void*) gTasks[taskId].data; + + data->field_0 = 0; + data->field_4 = arg1; + data->field_8 = arrowInfo->unk6; + data->field_A = arrowInfo->unk8; + data->tileTag = arrowInfo->tileTag; + data->palTag = arrowInfo->palTag; + data->field_C = AddScrollIndicatorArrowObject(arrowInfo->unk0, arrowInfo->unk1, arrowInfo->unk2, arrowInfo->tileTag, arrowInfo->palTag); + data->field_D = AddScrollIndicatorArrowObject(arrowInfo->unk3, arrowInfo->unk4, arrowInfo->unk5, arrowInfo->tileTag, arrowInfo->palTag); + + if (arrowInfo->palTag == 0xFFFF) + { + gSprites[data->field_C].oam.paletteNum = arrowInfo->palNum; + gSprites[data->field_D].oam.paletteNum = arrowInfo->palNum; + } + + return taskId; +} + +u8 AddScrollIndicatorArrowPairParametrized(u32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 tileTag, s32 palTag, void *arg7) +{ + if (arg0 == 2 || arg0 == 3) + { + gUnknown_0203CE8C.unk0 = 2; + gUnknown_0203CE8C.unk1 = arg1; + gUnknown_0203CE8C.unk2 = arg2; + gUnknown_0203CE8C.unk3 = 3; + gUnknown_0203CE8C.unk4 = arg1; + gUnknown_0203CE8C.unk5 = arg3; + } + else + { + gUnknown_0203CE8C.unk0 = 0; + gUnknown_0203CE8C.unk1 = arg2; + gUnknown_0203CE8C.unk2 = arg1; + gUnknown_0203CE8C.unk3 = 1; + gUnknown_0203CE8C.unk4 = arg3; + gUnknown_0203CE8C.unk5 = arg1; + } + + gUnknown_0203CE8C.unk6 = 0; + gUnknown_0203CE8C.unk8 = arg4; + gUnknown_0203CE8C.tileTag = tileTag; + gUnknown_0203CE8C.palTag = palTag; + gUnknown_0203CE8C.palNum = 0; + + return AddScrollIndicatorArrowPair(&gUnknown_0203CE8C, arg7); +} + +static void Task_ScrollIndicatorArrowPair(u8 taskId) +{ + struct UnkIndicatorsStruct2 *data = (void*) gTasks[taskId].data; + u16 var = (*data->field_4); + + if (var == data->field_8 && var != 0xFFFF) + gSprites[data->field_C].invisible = 1; + else + gSprites[data->field_C].invisible = 0; + + if (var == data->field_A) + gSprites[data->field_D].invisible = 1; + else + gSprites[data->field_D].invisible = 0; +} + +void Task_ScrollIndicatorArrowPairOnMainMenu(u8 taskId) +{ + struct UnkIndicatorsStruct2 *data = (void*) gTasks[taskId].data; + + if (data->field_1E != 0) + { + gSprites[data->field_C].invisible = 0; + gSprites[data->field_D].invisible = 1; + } + else + { + gSprites[data->field_C].invisible = 1; + gSprites[data->field_D].invisible = 0; + } +} + +void RemoveScrollIndicatorArrowPair(u8 taskId) +{ + struct UnkIndicatorsStruct2 *data = (void*) gTasks[taskId].data; + + if (data->tileTag != 0xFFFF) + FreeSpriteTilesByTag(data->tileTag); + if (data->palTag != 0xFFFF) + FreeSpritePaletteByTag(data->palTag); + + DestroySprite(&gSprites[data->field_C]); + DestroySprite(&gSprites[data->field_D]); + + DestroyTask(taskId); +} + +static u8 ListMenuAddCursorObjectInternal(struct CursorStruct *cursor, u32 cursorKind) +{ + switch (cursorKind) + { + case 0: + default: + return ListMenuAddRedOutlineCursorObject(cursor); + case 1: + return ListMenuAddRedArrowCursorObject(cursor); + } +} + +static void ListMenuUpdateCursorObject(u8 taskId, u16 x, u16 y, u32 cursorKind) +{ + switch (cursorKind) + { + case 0: + ListMenuUpdateRedOutlineCursorObject(taskId, x, y); + break; + case 1: + ListMenuUpdateRedArrowCursorObject(taskId, x, y); + break; + } +} + +static void ListMenuRemoveCursorObject(u8 taskId, u32 cursorKind) +{ + switch (cursorKind) + { + case 0: + ListMenuRemoveRedOutlineCursorObject(taskId); + break; + case 1: + ListMenuRemoveRedArrowCursorObject(taskId); + break; + } +} + +static void Task_RedOutlineCursor(u8 taskId) +{ + +} + +u8 ListMenuGetRedOutlineCursorSpriteCount(u16 arg0, u16 arg1) +{ + s32 i; + s32 count = 4; + + if (arg0 > 16) + { + for (i = 8; i < (arg0 - 8); i += 8) + count += 2; + } + if (arg1 > 16) + { + for (i = 8; i < (arg1 - 8); i += 8) + count += 2; + } + + return count; +} + +void ListMenuSetUpRedOutlineCursorSpriteOamTable(u16 arg0, u16 arg1, struct Subsprite *subsprites) +{ + s32 i, j, id = 0; + + subsprites[id] = sSubsprite_861425C; + subsprites[id].x = 136; + subsprites[id].y = 136; + id++; + + subsprites[id] = sSubsprite_8614260; + subsprites[id].x = arg0 + 128; + subsprites[id].y = 136; + id++; + + subsprites[id] = sSubsprite_8614274; + subsprites[id].x = 136; + subsprites[id].y = arg1 + 128; + id++; + + subsprites[id] = sSubsprite_8614278; + subsprites[id].x = arg0 + 128; + subsprites[id].y = arg1 + 128; + id++; + + if (arg0 > 16) + { + for (i = 8; i < arg0 - 8; i += 8) + { + subsprites[id] = sSubsprite_8614264; + subsprites[id].x = i - 120; + subsprites[id].y = 136; + id++; + + subsprites[id] = sSubsprite_8614270; + subsprites[id].x = i - 120; + subsprites[id].y = arg1 + 128; + id++; + } + } + + if (arg1 > 16) + { + for (j = 8; j < arg1 - 8; j += 8) + { + subsprites[id] = sSubsprite_8614268; + subsprites[id].x = 136; + subsprites[id].y = j - 120; + id++; + + subsprites[id] = sSubsprite_861426C; + subsprites[id].x = arg0 + 128; + subsprites[id].y = j - 120; + id++; + } + } +} + +static u8 ListMenuAddRedOutlineCursorObject(struct CursorStruct *cursor) +{ + struct CompressedSpriteSheet spriteSheet; + struct SpritePalette spritePal; + struct UnkIndicatorsStruct3 *data; + struct SpriteTemplate spriteTemplate; + u8 taskId; + + spriteSheet.data = gUnknown_08614338; + spriteSheet.size = 0x100; + spriteSheet.tag = cursor->tileTag; + LoadCompressedObjectPic(&spriteSheet); + + if (cursor->palTag == 0xFFFF) + { + LoadPalette(gUnknown_086142A8, (16 * cursor->palNum) + 0x100, 0x20); + } + else + { + spritePal.data = gUnknown_086142A8; + spritePal.tag = cursor->palTag; + LoadSpritePalette(&spritePal); + } + + taskId = CreateTask(Task_RedOutlineCursor, 0); + data = (void*) gTasks[taskId].data; + + data->tileTag = cursor->tileTag; + data->palTag = cursor->palTag; + data->subspriteTable.subspriteCount = ListMenuGetRedOutlineCursorSpriteCount(cursor->unk2, cursor->unk4); + data->subspriteTable.subsprites = data->subspritesPtr = Alloc(data->subspriteTable.subspriteCount * 4); + ListMenuSetUpRedOutlineCursorSpriteOamTable(cursor->unk2, cursor->unk4, data->subspritesPtr); + + spriteTemplate = gDummySpriteTemplate; + spriteTemplate.tileTag = cursor->tileTag; + spriteTemplate.paletteTag = cursor->palTag; + + data->spriteId = CreateSprite(&spriteTemplate, cursor->unk0 + 120, cursor->unk1 + 120, 0); + SetSubspriteTables(&gSprites[data->spriteId], &data->subspriteTable); + gSprites[data->spriteId].oam.priority = 0; + gSprites[data->spriteId].subpriority = 0; + gSprites[data->spriteId].subspriteTableNum = 0; + + if (cursor->palTag == 0xFFFF) + { + gSprites[data->spriteId].oam.paletteNum = cursor->palNum; + } + + return taskId; +} + +static void ListMenuUpdateRedOutlineCursorObject(u8 taskId, u16 x, u16 y) +{ + struct UnkIndicatorsStruct3 *data = (void*) gTasks[taskId].data; + + gSprites[data->spriteId].pos1.x = x + 120; + gSprites[data->spriteId].pos1.y = y + 120; +} + +static void ListMenuRemoveRedOutlineCursorObject(u8 taskId) +{ + struct UnkIndicatorsStruct3 *data = (void*) gTasks[taskId].data; + + Free(data->subspritesPtr); + + if (data->tileTag != 0xFFFF) + FreeSpriteTilesByTag(data->tileTag); + if (data->palTag != 0xFFFF) + FreeSpritePaletteByTag(data->palTag); + + DestroySprite(&gSprites[data->spriteId]); + DestroyTask(taskId); +} + +static void ObjectCB_RedArrowCursor(struct Sprite *sprite) +{ + sprite->pos2.x = gSineTable[(u8)(sprite->data[0])] / 64; + sprite->data[0] += 8; +} + +static void Task_RedArrowCursor(u8 taskId) +{ + +} + +static u8 ListMenuAddRedArrowCursorObject(struct CursorStruct *cursor) +{ + struct CompressedSpriteSheet spriteSheet; + struct SpritePalette spritePal; + struct UnkIndicatorsStruct4 *data; + struct SpriteTemplate spriteTemplate; + u8 taskId; + + spriteSheet.data = gUnknown_08614378; + spriteSheet.size = 0x80; + spriteSheet.tag = cursor->tileTag; + LoadCompressedObjectPic(&spriteSheet); + + if (cursor->palTag == 0xFFFF) + { + LoadPalette(gUnknown_086142A8, (16 * cursor->palNum) + 0x100, 0x20); + } + else + { + spritePal.data = gUnknown_086142A8; + spritePal.tag = cursor->palTag; + LoadSpritePalette(&spritePal); + } + + taskId = CreateTask(Task_RedArrowCursor, 0); + data = (void*) gTasks[taskId].data; + + data->tileTag = cursor->tileTag; + data->palTag = cursor->palTag; + + spriteTemplate = gUnknown_08614290; + spriteTemplate.tileTag = cursor->tileTag; + spriteTemplate.paletteTag = cursor->palTag; + + data->field_0 = CreateSprite(&spriteTemplate, cursor->unk0, cursor->unk1, 0); + gSprites[data->field_0].pos2.x = 8; + gSprites[data->field_0].pos2.y = 8; + + if (cursor->palTag == 0xFFFF) + { + gSprites[data->field_0].oam.paletteNum = cursor->palNum; + } + + return taskId; +} + +static void ListMenuUpdateRedArrowCursorObject(u8 taskId, u16 x, u16 y) +{ + struct UnkIndicatorsStruct4 *data = (void*) gTasks[taskId].data; + + gSprites[data->field_0].pos1.x = x; + gSprites[data->field_0].pos1.y = y; +} + +static void ListMenuRemoveRedArrowCursorObject(u8 taskId) +{ + struct UnkIndicatorsStruct4 *data = (void*) gTasks[taskId].data; + + if (data->tileTag != 0xFFFF) + FreeSpriteTilesByTag(data->tileTag); + if (data->palTag != 0xFFFF) + FreeSpritePaletteByTag(data->palTag); + + DestroySprite(&gSprites[data->field_0]); + DestroyTask(taskId); +} diff --git a/src/main_menu.c b/src/main_menu.c index 3d6c1df76..3490424af 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -16,7 +16,7 @@ #include "link.h" #include "main.h" #include "menu.h" -#include "menu_indicators.h" +#include "list_menu.h" #include "mystery_event_menu.h" #include "naming_screen.h" #include "option_menu.h" diff --git a/src/map_name_popup.c b/src/map_name_popup.c index 59b1622eb..1782e9af8 100644 --- a/src/map_name_popup.c +++ b/src/map_name_popup.c @@ -276,7 +276,7 @@ static void sub_80D4A78(u8 bg, u8 x, u8 y, u8 deltaX, u8 deltaY, u8 unused) } } #else -ASM_DIRECT +NAKED static void sub_80D4A78(u8 bg, u8 x, u8 y, u8 deltaX, u8 deltaY, u8 unused) { asm("\n\ diff --git a/src/match_call.c b/src/match_call.c index 9c1e02947..aa6945161 100644 --- a/src/match_call.c +++ b/src/match_call.c @@ -980,7 +980,7 @@ static void sub_81D199C(const match_call_text_data_t *sub0, u16 idx, u8 *dest) } } #else -static ASM_DIRECT void sub_81D199C(const match_call_text_data_t *sub0, u16 idx, u8 *dest) +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" @@ -1163,7 +1163,7 @@ const u8 *sub_81D1B40(u32 idx, u32 offset) return NULL; } #else -ASM_DIRECT const u8 *sub_81D1B40(u32 idx, u32 offset) +NAKED const u8 *sub_81D1B40(u32 idx, u32 offset) { asm_unified("\tpush {r4-r7,lr}\n" "\tmov r7, r9\n" diff --git a/src/mauville_old_man.c b/src/mauville_old_man.c index ea466b2ec..2ce8a271d 100644 --- a/src/mauville_old_man.c +++ b/src/mauville_old_man.c @@ -387,7 +387,7 @@ static void ResetStorytellerFlag(void) Storyteller_ResetFlag(); } -void ResetMauvilleOldManFlag(void) // ResetMauvilleOldManFlag +void ResetMauvilleOldManFlag(void) { switch (GetCurrentMauvilleOldMan()) { @@ -673,7 +673,7 @@ static void Task_BardSong(u8 taskId) void ScrSpecial_SetMauvilleOldManMapObjGfx(void) { - VarSet(VAR_0x4010, MAP_OBJ_GFX_BARD); + VarSet(VAR_OBJ_GFX_ID_0, MAP_OBJ_GFX_BARD); } // Language fixers? @@ -793,11 +793,11 @@ void sub_8120C0C(union OldMan * oldMan, u32 r8, u32 r7, u32 r3) } } -void sub_8120CD0(union OldMan * oldMan, u32 unused, u32 a2) +void SanitizeReceivedEmeraldOldMan(union OldMan * oldMan, u32 version, u32 language) { u8 sp00[8]; s32 i; - if (oldMan->common.id == MAUVILLE_MAN_STORYTELLER && a2 == LANGUAGE_JAPANESE) + if (oldMan->common.id == MAUVILLE_MAN_STORYTELLER && language == LANGUAGE_JAPANESE) { struct MauvilleManStoryteller * storyteller = &oldMan->storyteller; @@ -816,9 +816,10 @@ void sub_8120CD0(union OldMan * oldMan, u32 unused, u32 a2) } } -void sub_8120D34(union OldMan * oldMan, u32 r1, u32 r6) +void SanitizeReceivedRubyOldMan(union OldMan * oldMan, u32 version, u32 language) { - u32 r2 = (r1 == LANGUAGE_JAPANESE || r1 == LANGUAGE_ENGLISH) ? 1 : 0; + bool32 isRuby = (version == VERSION_SAPPHIRE || version == VERSION_RUBY); + switch (oldMan->common.id) { case MAUVILLE_MAN_TRADER: @@ -826,7 +827,7 @@ void sub_8120D34(union OldMan * oldMan, u32 r1, u32 r6) struct MauvilleOldManTrader * trader = &oldMan->trader; s32 i; - if (r2) + if (isRuby) { for (i = 0; i < 4; i++) { @@ -837,7 +838,7 @@ void sub_8120D34(union OldMan * oldMan, u32 r1, u32 r6) trader->language[i] = LANGUAGE_JAPANESE; } else - trader->language[i] = r6; + trader->language[i] = language; } } else @@ -858,12 +859,12 @@ void sub_8120D34(union OldMan * oldMan, u32 r1, u32 r6) struct MauvilleManStoryteller * storyteller = &oldMan->storyteller; s32 i; - if (r2) + if (isRuby) { for (i = 0; i < 4; i++) { if (storyteller->gameStatIDs[i] != 0) - storyteller->language[i] = r6; + storyteller->language[i] = language; } } } @@ -872,9 +873,9 @@ void sub_8120D34(union OldMan * oldMan, u32 r1, u32 r6) { struct MauvilleManBard * bard = &oldMan->bard; - if (r2) + if (isRuby) { - bard->language = r6; + bard->language = language; } } break; @@ -882,9 +883,9 @@ void sub_8120D34(union OldMan * oldMan, u32 r1, u32 r6) { struct MauvilleManHipster * hipster = &oldMan->hipster; - if (r2) + if (isRuby) { - hipster->language = r6; + hipster->language = language; } } break; @@ -892,9 +893,9 @@ void sub_8120D34(union OldMan * oldMan, u32 r1, u32 r6) { struct MauvilleManGiddy * giddy = &oldMan->giddy; - if (r2) + if (isRuby) { - giddy->language = r6; + giddy->language = language; } } break; diff --git a/src/menu.c b/src/menu.c index 0aaf2d186..dedfcc3be 100644 --- a/src/menu.c +++ b/src/menu.c @@ -2080,7 +2080,7 @@ void sub_819A080(struct UnkStruct_819A080 *a0, struct UnkStruct_819A080 *a1, u16 } } #else -__attribute__((naked)) +NAKED void sub_819A080(struct UnkStruct_819A080 *a0, struct UnkStruct_819A080 *a1, u16 a2, u16 a3, u16 a4, u16 a5, u16 a6, u16 a7) { asm("push {r4-r7,lr}\n\ diff --git a/src/menu_helpers.c b/src/menu_helpers.c new file mode 100644 index 000000000..178fbb5fa --- /dev/null +++ b/src/menu_helpers.c @@ -0,0 +1,455 @@ +#include "global.h" +#include "task.h" +#include "window.h" +#include "menu.h" +#include "menu_helpers.h" +#include "gpu_regs.h" +#include "bg.h" +#include "main.h" +#include "text.h" +#include "link.h" +#include "string_util.h" +#include "sound.h" +#include "mail.h" +#include "overworld.h" +#include "decompress.h" +#include "constants/songs.h" +#include "constants/items.h" +#include "constants/maps.h" + +extern bool32 sub_800B504(void); + +extern const u8 gBagSwapLineGfx[]; +extern const u8 gBagSwapLinePal[]; + +// this file's functions +static void Task_ContinueTaskAfterMessagePrints(u8 taskId); +static void Task_CallYesOrNoCallback(u8 taskId); + +// EWRAM vars +EWRAM_DATA static struct YesNoFuncTable gUnknown_0203A138 = {0}; +EWRAM_DATA static u8 gUnknown_0203A140 = 0; + +// IWRAM bss vars +IWRAM_DATA static TaskFunc gUnknown_0300117C; + +// const rom data +static const struct OamData sOamData_859F4E8 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 1, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0 +}; + +static const union AnimCmd sSpriteAnim_859F4F0[] = +{ + ANIMCMD_FRAME(0, 0), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_859F4F8[] = +{ + ANIMCMD_FRAME(4, 0), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_859F500[] = +{ + ANIMCMD_FRAME(0, 0, 1, 0), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_859F508[] = +{ + sSpriteAnim_859F4F0, + sSpriteAnim_859F4F8, + sSpriteAnim_859F500 +}; + +static const struct CompressedSpriteSheet gUnknown_0859F514 = +{ + gBagSwapLineGfx, 0x100, 109 +}; + +static const struct CompressedSpritePalette gUnknown_0859F51C = +{ + gBagSwapLinePal, 109 +}; + +static const struct SpriteTemplate gUnknown_0859F524 = +{ + .tileTag = 109, + .paletteTag = 109, + .oam = &sOamData_859F4E8, + .anims = sSpriteAnimTable_859F508, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +// code +void ResetVramOamAndBgCntRegs(void) +{ + SetGpuReg(REG_OFFSET_DISPCNT, 0); + SetGpuReg(REG_OFFSET_BG3CNT, 0); + SetGpuReg(REG_OFFSET_BG2CNT, 0); + SetGpuReg(REG_OFFSET_BG1CNT, 0); + SetGpuReg(REG_OFFSET_BG0CNT, 0); + CpuFill16(0, (void*) VRAM, VRAM_SIZE); + CpuFill32(0, (void*) OAM, OAM_SIZE); + CpuFill16(0, (void*) PLTT, PLTT_SIZE); +} + +void ResetAllBgsCoordinates(void) +{ + ChangeBgX(0, 0, 0); + ChangeBgY(0, 0, 0); + ChangeBgX(1, 0, 0); + ChangeBgY(1, 0, 0); + ChangeBgX(2, 0, 0); + ChangeBgY(2, 0, 0); + ChangeBgX(3, 0, 0); + ChangeBgY(3, 0, 0); +} + +void SetVBlankHBlankCallbacksToNull(void) +{ + SetVBlankCallback(NULL); + SetHBlankCallback(NULL); +} + +void DisplayMessageAndContinueTask(u8 taskId, u8 windowId, u16 arg2, u8 arg3, u8 fontId, u8 textSpeed, const u8 *string, void *taskFunc) +{ + gUnknown_0203A140 = windowId; + sub_8197B1C(windowId, TRUE, arg2, arg3); + + if (string != gStringVar4) + StringExpandPlaceholders(gStringVar4, string); + + gTextFlags.flag_0 = 1; + AddTextPrinterParameterized(windowId, fontId, gStringVar4, textSpeed, NULL, 2, 1, 3); + gUnknown_0300117C = taskFunc; + gTasks[taskId].func = Task_ContinueTaskAfterMessagePrints; +} + +bool16 RunTextPrintersRetIsActive(u8 textPrinterId) +{ + RunTextPrinters(); + return IsTextPrinterActive(textPrinterId); +} + +static void Task_ContinueTaskAfterMessagePrints(u8 taskId) +{ + if (!RunTextPrintersRetIsActive(gUnknown_0203A140)) + gUnknown_0300117C(taskId); +} + +void sub_8121F68(u8 taskId, const struct YesNoFuncTable *data) +{ + gUnknown_0203A138 = *data; + gTasks[taskId].func = Task_CallYesOrNoCallback; +} + +void CreateYesNoMenuWithCallbacks(u8 taskId, const struct WindowTemplate *template, u8 arg2, u8 arg3, u8 arg4, u16 tileStart, u8 palette, const struct YesNoFuncTable *yesNo) +{ + CreateYesNoMenu(template, tileStart, palette, 0); + gUnknown_0203A138 = *yesNo; + gTasks[taskId].func = Task_CallYesOrNoCallback; +} + +static void Task_CallYesOrNoCallback(u8 taskId) +{ + switch (ProcessMenuInputNoWrap_()) + { + case 0: + PlaySE(SE_SELECT); + gUnknown_0203A138.yesFunc(taskId); + break; + case 1: + case MENU_B_PRESSED: + PlaySE(SE_SELECT); + gUnknown_0203A138.noFunc(taskId); + break; + } +} + +bool8 AdjustQuantityAccordingToDPadInput(s16 *arg0, u16 arg1) +{ + s16 valBefore = (*arg0); + + if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_UP) + { + (*arg0)++; + if ((*arg0) > arg1) + (*arg0) = 1; + + if ((*arg0) == valBefore) + { + return FALSE; + } + else + { + PlaySE(SE_SELECT); + return TRUE; + } + } + else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_DOWN) + { + (*arg0)--; + if ((*arg0) <= 0) + (*arg0) = arg1; + + if ((*arg0) == valBefore) + { + return FALSE; + } + else + { + PlaySE(SE_SELECT); + return TRUE; + } + } + else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_RIGHT) + { + (*arg0) += 10; + if ((*arg0) > arg1) + (*arg0) = arg1; + + if ((*arg0) == valBefore) + { + return FALSE; + } + else + { + PlaySE(SE_SELECT); + return TRUE; + } + } + else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_LEFT) + { + (*arg0) -= 10; + if ((*arg0) <= 0) + (*arg0) = 1; + + if ((*arg0) == valBefore) + { + return FALSE; + } + else + { + PlaySE(SE_SELECT); + return TRUE; + } + } + + return FALSE; +} + +u8 GetLRKeysState(void) +{ + if (gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_LR) + { + if (gMain.newKeys & L_BUTTON) + return 1; + if (gMain.newKeys & R_BUTTON) + return 2; + } + + return 0; +} + +u8 sub_812210C(void) +{ + if (gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_LR) + { + if (gMain.newAndRepeatedKeys & L_BUTTON) + return 1; + if (gMain.newAndRepeatedKeys & R_BUTTON) + return 2; + } + + return 0; +} + +bool8 sub_8122148(u16 itemId) +{ + if (itemId != ITEM_ENIGMA_BERRY) + return TRUE; + else if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(TRADE_CENTER) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(TRADE_CENTER)) + return FALSE; + else if (InUnionRoom() != TRUE) + return TRUE; + else + return FALSE; +} + +bool8 itemid_80BF6D8_mail_related(u16 itemId) +{ + if (is_c1_link_related_active() != TRUE && InUnionRoom() != TRUE) + return TRUE; + else if (ItemIsMail(itemId) != TRUE) + return TRUE; + else + return FALSE; +} + +bool8 sub_81221AC(void) +{ + if (is_c1_link_related_active() == TRUE || gReceivedRemoteLinkPlayers == 1) + return TRUE; + else + return FALSE; +} + +static bool8 sub_81221D0(void) +{ + if (!sub_81221AC()) + return FALSE; + else + return sub_8087598(); +} + +bool8 sub_81221EC(void) +{ + if (sub_81221D0() == TRUE) + return TRUE; + else if (sub_800B504() != TRUE) + return FALSE; + else + return TRUE; +} + +void sub_812220C(struct ItemSlot *slots, u8 count, u8 *arg2, u8 *usedSlotsCount, u8 maxUsedSlotsCount) +{ + u16 i; + struct ItemSlot *slots_ = slots; + + (*usedSlotsCount) = 0; + for (i = 0; i < count; i++) + { + if (slots_[i].itemId != ITEM_NONE) + (*usedSlotsCount)++; + } + + (*usedSlotsCount)++; + if ((*usedSlotsCount) > maxUsedSlotsCount) + *arg2 = maxUsedSlotsCount; + else + *arg2 = (*usedSlotsCount); +} + +void sub_812225C(u16 *arg0, u16 *arg1, u8 arg2, u8 arg3) +{ + if ((*arg0) != 0 && (*arg0) + arg2 > arg3) + (*arg0) = arg3 - arg2; + + if ((*arg0) + (*arg1) >= arg3) + { + if (arg3 == 0) + (*arg1) = 0; + else + (*arg1) = arg3 - 1; + } +} + +void sub_8122298(u16 *arg0, u16 *arg1, u8 arg2, u8 arg3, u8 arg4) +{ + u8 i; + + if (arg4 % 2 != 0) + { + if ((*arg1) >= arg4 / 2) + { + for (i = 0; i < (*arg1) - (arg4 / 2); i++) + { + if ((*arg0) + arg2 == arg3) + break; + (*arg1)--; + (*arg0)++; + } + } + } + else + { + if ((*arg1) >= (arg4 / 2) + 1) + { + for (i = 0; i <= (*arg1) - (arg4 / 2); i++) + { + if ((*arg0) + arg2 == arg3) + break; + (*arg1)--; + (*arg0)++; + } + } + } +} + +void LoadListMenuArrowsGfx(void) +{ + LoadCompressedObjectPic(&gUnknown_0859F514); + LoadCompressedObjectPalette(&gUnknown_0859F51C); +} + +void sub_8122344(u8 *spriteIds, u8 count) +{ + u8 i; + + for (i = 0; i < count; i++) + { + spriteIds[i] = CreateSprite(&gUnknown_0859F524, i * 16, 0, 0); + if (i != 0) + StartSpriteAnim(&gSprites[spriteIds[i]], 1); + + gSprites[spriteIds[i]].invisible = 1; + } +} + +void sub_81223B0(u8 *spriteIds, u8 count) +{ + u8 i; + + for (i = 0; i < count; i++) + { + if (i == count - 1) + DestroySpriteAndFreeResources(&gSprites[spriteIds[i]]); + else + DestroySprite(&gSprites[spriteIds[i]]); + } +} + +void sub_81223FC(u8 *spriteIds, u8 count, bool8 invisible) +{ + u8 i; + + for (i = 0; i < count; i++) + { + gSprites[spriteIds[i]].invisible = invisible; + } +} + +void sub_8122448(u8 *spriteIds, u8 count, s16 x, u16 y) +{ + u8 i; + bool8 unknownBit = count & 0x80; + count &= ~(0x80); + + for (i = 0; i < count; i++) + { + if (i == count - 1 && unknownBit) + gSprites[spriteIds[i]].pos2.x = x - 8; + else + gSprites[spriteIds[i]].pos2.x = x; + + gSprites[spriteIds[i]].pos1.y = 1 + y; + } +} diff --git a/src/mon_markings.c b/src/mon_markings.c index 147872ab6..7f320002d 100644 --- a/src/mon_markings.c +++ b/src/mon_markings.c @@ -2,7 +2,8 @@ #include "dma3.h" #include "graphics.h" #include "main.h" -#include "menu_indicators.h" +#include "window.h" +#include "list_menu.h" #include "mon_markings.h" #include "constants/songs.h" #include "sound.h" diff --git a/src/new_game.c b/src/new_game.c index 37336016e..c387bce65 100644 --- a/src/new_game.c +++ b/src/new_game.c @@ -119,11 +119,10 @@ void ClearAllContestWinnerPics(void) void sub_8084400(void) { // probably clearing one struct for battle frontier - CpuFill32(0, gSaveBlock2Ptr->field_64C, 2272); + CpuFill32(0, &gSaveBlock2Ptr->battleTower, 2272); - // those look like strings - gSaveBlock2Ptr->field_EE1 = 0xFF; - gSaveBlock2Ptr->field_EE9 = 0xFF; + gSaveBlock2Ptr->field_EE1[0][0] = EOS; + gSaveBlock2Ptr->field_EE1[1][0] = EOS; } void WarpToTruck(void) diff --git a/src/overworld.c b/src/overworld.c index f42f0db7f..3d9a1bdc2 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -38,6 +38,7 @@ #include "roamer.h" // #include "rotating_gate.h" #include "safari_zone.h" +#include "save.h" #include "script.h" // #include "script_pokemon_80C4.h" #include "secret_base.h" @@ -87,12 +88,11 @@ extern const struct MapHeader *const *const gMapGroups[]; extern const s32 gMaxFlashLevel; extern const u16 gUnknown_82EC7C4[]; -extern u16 gSaveFileStatus; -extern u16 gUnknown_03005DA8; -extern bool8 (*gUnknown_03005DB0)(void); -extern u8 gUnknown_03005DB4; -extern u8 gFieldLinkPlayerCount; -extern MainCallback gFieldCallback; +u16 gUnknown_03005DA8; +MainCallback gFieldCallback; +bool8 (*gUnknown_03005DB0)(void); +u8 gUnknown_03005DB4; +u8 gFieldLinkPlayerCount; // functions extern void HealPlayerParty(void); @@ -713,7 +713,7 @@ void sub_8084D5C(s16 a1, s16 a2) { u8 currMapType = Overworld_GetMapTypeOfSaveblockLocation(); u8 destMapType = GetMapTypeByGroupAndId(sWarpDestination.mapGroup, sWarpDestination.mapNum); - if (is_light_level_1_2_3_5_or_6(currMapType) && is_light_level_1_2_3_5_or_6(destMapType) != TRUE) + if (is_map_type_1_2_3_5_or_6(currMapType) && is_map_type_1_2_3_5_or_6(destMapType) != TRUE) sub_8084DD4(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, a1 - 7, a2 - 6); } @@ -872,7 +872,7 @@ static void mli0_load_map(u32 a1) LoadMapObjTemplatesFromHeader(); } - v2 = is_light_level_1_2_3_5_or_6(gMapHeader.mapType); + v2 = is_map_type_1_2_3_5_or_6(gMapHeader.mapType); indoors = Overworld_MapTypeIsIndoors(gMapHeader.mapType); sub_80EB218(); @@ -1365,7 +1365,7 @@ u8 get_map_light_from_warp0(void) return GetMapTypeByWarpData(&gUnknown_020322DC); } -bool8 is_light_level_1_2_3_5_or_6(u8 mapType) +bool8 is_map_type_1_2_3_5_or_6(u8 mapType) { if (mapType == MAP_TYPE_ROUTE || mapType == MAP_TYPE_TOWN diff --git a/src/player_pc.c b/src/player_pc.c index 6f39fa449..c10c63dda 100644 --- a/src/player_pc.c +++ b/src/player_pc.c @@ -18,7 +18,6 @@ #include "malloc.h" #include "menu.h" #include "menu_helpers.h" -#include "menu_indicators.h" #include "overworld.h" #include "palette.h" #include "party_menu.h" @@ -43,9 +42,6 @@ struct Struct203BCC4 u8 spriteIds[7]; }; -// extern offset -void (*gFieldCallback)(void); - // static functions static void InitPlayerPCMenu(u8 taskId); static void PlayerPCProcessMenuInput(u8 taskId); @@ -436,7 +432,7 @@ void Mailbox_DoRedrawMailboxMenuAfterReturn(void) static void ItemStorage_HandleReturnToProcessInput(u8 taskId) { - if (sub_80ABDFC() == TRUE) + if (IsWeatherNotFadingIn() == TRUE) gTasks[taskId].func = ItemStorageMenuProcessInput; } @@ -673,7 +669,7 @@ static void pal_fill_for_maplights_or_black(void) static void Mailbox_HandleReturnToProcessInput(u8 taskId) { - if(sub_80ABDFC() == TRUE) + if(IsWeatherNotFadingIn() == TRUE) gTasks[taskId].func = Mailbox_ProcessInput; } diff --git a/src/pokeblock.c b/src/pokeblock.c index 60087b5bf..216c9e2c5 100644 --- a/src/pokeblock.c +++ b/src/pokeblock.c @@ -24,11 +24,11 @@ #include "constants/songs.h" #include "sound.h" #include "berry.h" -#include "menu_indicators.h" #include "event_data.h" #include "battle_message.h" #include "safari_zone.h" #include "lilycove_lady.h" +#include "overworld.h" #define POKEBLOCK_MAX_FEEL 99 #define FIELD_E75_COUNT 7 @@ -70,7 +70,6 @@ enum }; extern u16 gSpecialVar_ItemId; -extern void (*gFieldCallback)(void); extern const u16 gUnknown_0860F074[]; diff --git a/src/pokemon_animation.c b/src/pokemon_animation.c index 02755fe40..c50aa4a75 100644 --- a/src/pokemon_animation.c +++ b/src/pokemon_animation.c @@ -1184,7 +1184,7 @@ static void sub_817F9F4(struct Sprite *sprite) } #else -__attribute__((naked)) +NAKED static void sub_817F9F4(struct Sprite *sprite) { asm(".syntax unified\n\ diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index f77b7c38c..74dc11973 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -1417,7 +1417,7 @@ void sub_81C14BC(struct Pokemon *mon, u8 swappingFromId, u8 swappingToId) *ppBonusesPtr = localPpBonuses; } #else -ASM_DIRECT +NAKED void sub_81C14BC(struct Pokemon *mon, u8 swappingFromId, u8 swappingToId) { asm(".syntax unified\n\ @@ -1628,7 +1628,7 @@ void sub_81C15EC(struct BoxPokemon *mon, u8 swappingFromId, u8 swappingToId) *ppBonusesPtr = localPpBonuses; } #else -ASM_DIRECT +NAKED void sub_81C15EC(struct BoxPokemon *mon, u8 swappingFromId, u8 swappingToId) { asm(".syntax unified\n\ @@ -1825,7 +1825,7 @@ void sub_81C174C(u8 taskId) } else { - PlaySE(0x20); + PlaySE(SE_HAZURE); sub_81C18F4(taskId); } } @@ -2039,7 +2039,7 @@ void sub_81C1CB0(struct UnkStruct_61CC04 *a, u16 *b, u8 c, u8 d) Free(alloced); } #else -ASM_DIRECT +NAKED void sub_81C1CB0(struct UnkStruct_61CC04 *a, u16 *b, u8 c, u8 d) { asm(".syntax unified\n\ @@ -2341,7 +2341,7 @@ void sub_81C2194(u16 *a, u16 b, u8 c) } } #else -ASM_DIRECT +NAKED void sub_81C2194(u16 *a, u16 b, u8 c) { asm(".syntax unified\n\ @@ -3026,7 +3026,7 @@ void sub_81C335C() sub_81C25A4(r4, gText_FiveMarks, r5, 1, 0, 1); } #else -ASM_DIRECT +NAKED void sub_81C335C() { asm(".syntax unified\n\ @@ -3369,7 +3369,7 @@ void sub_81C3B08(u8 a) sub_81C25A4(sp, text, offset, (a<<4), 0, r5); } #else -ASM_DIRECT +NAKED void sub_81C3B08(u8 a) { asm(".syntax unified\n\ diff --git a/src/record_mixing.c b/src/record_mixing.c index 151835e5e..35e518d8a 100644 --- a/src/record_mixing.c +++ b/src/record_mixing.c @@ -1,28 +1,2282 @@ - -// Includes #include "global.h" +#include "malloc.h" +#include "random.h" +#include "constants/items.h" +#include "text.h" +#include "item.h" +#include "task.h" +#include "constants/species.h" +#include "save.h" +#include "load_save.h" +#include "pokemon.h" +#include "cable_club.h" +#include "link.h" +#include "link_rfu.h" +#include "tv.h" +#include "battle_tower.h" +#include "window.h" +#include "mystery_event_script.h" +#include "secret_base.h" +#include "mauville_old_man.h" +#include "sound.h" +#include "constants/songs.h" +#include "menu.h" +#include "overworld.h" +#include "field_screen.h" +#include "fldeff_80F9BCC.h" +#include "script.h" +#include "event_data.h" +#include "lilycove_lady.h" +#include "strings.h" +#include "string_util.h" +#include "record_mixing.h" +#include "new_game.h" +#include "daycare.h" +#include "international_string_util.h" + +extern void ReceiveSecretBasesData(struct SecretBaseRecord *, size_t, u8); +extern void ReceiveEasyChatPairsData(struct EasyChatPair *, size_t, u8); // Static type declarations +struct UnknownRecMixingStruct +{ + u32 field_0; + u16 field_4; + u8 field_6[9]; +}; + +struct UnknownRecMixingStruct2 +{ + u32 field_0; + u16 field_4; + u16 field_6; + u16 field_8; + u8 field_A[16]; +}; + +struct UnknownRecMixingStruct3 +{ + u8 field_0[0x810]; +}; + +struct PlayerRecordsRS +{ + struct SecretBaseRecord secretBases[SECRET_BASES_COUNT]; + TVShow tvShows[TV_SHOWS_COUNT]; + PokeNews pokeNews[POKE_NEWS_COUNT]; + OldMan oldMan; + struct EasyChatPair easyChatPairs[5]; + struct RecordMixingDayCareMail dayCareMail; + struct RSBattleTowerRecord battleTowerRecord; + u16 filler11C8[0x32]; +}; + +struct PlayerRecordsEmerald +{ + /* 0x0000 */ struct SecretBaseRecord secretBases[SECRET_BASES_COUNT]; + /* 0x0c80 */ TVShow tvShows[TV_SHOWS_COUNT]; + /* 0x1004 */ PokeNews pokeNews[POKE_NEWS_COUNT]; + /* 0x1044 */ OldMan oldMan; + /* 0x1084 */ struct EasyChatPair easyChatPairs[5]; + /* 0x10ac */ struct RecordMixingDayCareMail dayCareMail; + /* 0x1124 */ struct EmeraldBattleTowerRecord battleTowerRecord; + /* 0x1210 */ u16 unk_1210; + /* 0x1214 */ LilycoveLady lilycoveLady; + /* 0x1254 */ struct UnkRecordMixingStruct unk_1254[2]; + /* 0x12dc */ struct UnkRecordMixingStruct2 unk_12dc; + /* 0x1434 */ u8 field_1434[0x10]; +}; // 0x1444 + +union PlayerRecords +{ + struct PlayerRecordsRS ruby; + struct PlayerRecordsEmerald emerald; +}; + // Static RAM declarations -IWRAM_DATA bool8 gUnknown_03001130; -IWRAM_DATA struct SecretBaseRecord *gUnknown_03001134; -IWRAM_DATA TVShow *gUnknown_03001138; -IWRAM_DATA struct UnknownSaveStruct2ABC *gUnknown_0300113C; -IWRAM_DATA OldMan *gUnknown_03001140; -IWRAM_DATA struct EasyChatPair *gUnknown_03001144; -IWRAM_DATA struct DaycareData *gUnknown_03001148; -IWRAM_DATA void *gUnknown_0300114C; // gSaveBlock2Ptr->field_64C -IWRAM_DATA LilycoveLady *gUnknown_03001150; -IWRAM_DATA void *gUnknown_03001154; // gSaveBlock2Ptr->field_0DC; -IWRAM_DATA void *gUnknown_03001158; // gSaveBlock2Ptr->field_64C -IWRAM_DATA u32 gUnknown_0300115C; -IWRAM_DATA u8 gUnknown_03001160[8]; -IWRAM_DATA u32 gUnknown_03001168[3]; +static IWRAM_DATA bool8 gUnknown_03001130; +static IWRAM_DATA struct SecretBaseRecord *sSecretBasesSave; +static IWRAM_DATA TVShow *sTvShowsSave; +static IWRAM_DATA PokeNews *sPokeNewsSave; +static IWRAM_DATA OldMan *sOldManSave; +static IWRAM_DATA struct EasyChatPair *sEasyChatPairsSave; +static IWRAM_DATA struct RecordMixingDayCareMail *gUnknown_03001148; +static IWRAM_DATA void *sBattleTowerSave; +static IWRAM_DATA LilycoveLady *sLilycoveLadySave; +static IWRAM_DATA void *gUnknown_03001154; // gSaveBlock2Ptr->field_0DC; +static IWRAM_DATA void *sBattleTowerSave_Duplicate; +static IWRAM_DATA u32 sRecordStructSize; +static IWRAM_DATA u8 gUnknown_03001160; +static IWRAM_DATA u32 filler_03001164; +static IWRAM_DATA u32 gUnknown_03001168[3]; + +static EWRAM_DATA struct RecordMixingDayCareMail gUnknown_02039F9C = {0}; +static EWRAM_DATA union PlayerRecords *sReceivedRecords = NULL; +static EWRAM_DATA union PlayerRecords *sSentRecord = NULL; // Static ROM declarations +static void Task_RecordMixing_Main(u8 taskId); +static void sub_80E7324(u8 taskId); +static void Task_SendPacket(u8 taskId); +static void Task_CopyReceiveBuffer(u8 taskId); +static void Task_SendPacket_SwitchToReceive(u8 taskId); +static void *LoadPtrFromTaskData(const u16 *asShort); +static void StorePtrInTaskData(void *records, u16 *a1); +static u8 GetMultiplayerId_(void); +static void *GetPlayerRecvBuffer(u8); +static void ReceiveOldManData(OldMan *, size_t, u8); +static void ReceiveBattleTowerData(void *battleTowerRecord, size_t, u8); +static void ReceiveLilycoveLadyData(LilycoveLady *, size_t, u8); +static void sub_80E7B2C(const u8 *); +static void ReceiveDaycareMailData(struct RecordMixingDayCareMail *, size_t, u8, TVShow *); +static void sub_80E7F68(u16 *item, u8 which); +static void sub_80E7FF8(u8 taskId); +static void sub_80E8110(struct UnkRecordMixingStruct *arg0, struct UnkRecordMixingStruct *arg1); +static void sub_80E8468(struct UnkRecordMixingStruct *arg0, size_t arg1, u32 arg2); +static void sub_80E89AC(struct UnkRecordMixingStruct2 *arg0, size_t arg1, u32 arg2); +static void sub_80E89F8(struct RecordMixingDayCareMail *dst); +static void SanitizeDayCareMailForRuby(struct RecordMixingDayCareMail *src); +static void SanitizeEmeraldBattleTowerRecord(struct EmeraldBattleTowerRecord *arg0); +static void SanitizeRubyBattleTowerRecord(struct RSBattleTowerRecord *src); + // .rodata +static const u8 gUnknown_0858CF8C[] = {1, 0}; + +static const u8 gUnknown_0858CF8E[][3] = +{ + {1, 2, 0}, + {2, 0, 1}, +}; + +static const u8 gUnknown_0858CF94[][4] = +{ + {1, 0, 3, 2}, + {3, 0, 1, 2}, + {2, 0, 3, 1}, + {1, 3, 0, 2}, + {2, 3, 0, 1}, + {3, 2, 0, 1}, + {1, 2, 3, 0}, + {2, 3, 1, 0}, + {3, 2, 1, 0}, +}; + +static const u8 gUnknown_0858CFB8[3][2] = +{ + {0, 1}, + {1, 2}, + {2, 0}, +}; + +static const u8 gUnknown_0858CFBE[3][4] = +{ + {0, 1, 2, 3}, + {0, 2, 1, 3}, + {0, 3, 2, 1}, +}; + // .text + +#define BUFFER_CHUNK_SIZE 200 + +void sub_80E6BE8(void) +{ + sub_80B37D4(Task_RecordMixing_Main); +} + +// these variables were const in R/S, but had to become changeable because of saveblocks changing RAM position +static void SetSrcLookupPointers(void) +{ + sSecretBasesSave = gSaveBlock1Ptr->secretBases; + sTvShowsSave = gSaveBlock1Ptr->tvShows; + sPokeNewsSave = gSaveBlock1Ptr->pokeNews; + sOldManSave = &gSaveBlock1Ptr->oldMan; + sEasyChatPairsSave = gSaveBlock1Ptr->easyChatPairs; + gUnknown_03001148 = &gUnknown_02039F9C; + sBattleTowerSave = &gSaveBlock2Ptr->battleTower; + sLilycoveLadySave = &gSaveBlock1Ptr->lilycoveLady; + gUnknown_03001154 = gSaveBlock2Ptr->field_DC; + sBattleTowerSave_Duplicate = &gSaveBlock2Ptr->battleTower; +} + +static void PrepareUnknownExchangePacket(struct PlayerRecordsRS *dest) +{ + memcpy(dest->secretBases, sSecretBasesSave, sizeof(dest->secretBases)); + memcpy(dest->tvShows, sTvShowsSave, sizeof(dest->tvShows)); + sub_80F14F8(dest->tvShows); + memcpy(dest->pokeNews, sPokeNewsSave, sizeof(dest->pokeNews)); + memcpy(&dest->oldMan, sOldManSave, sizeof(dest->oldMan)); + memcpy(dest->easyChatPairs, sEasyChatPairsSave, sizeof(dest->easyChatPairs)); + sub_80E89F8(&dest->dayCareMail); + sub_81659DC(sBattleTowerSave, &dest->battleTowerRecord); + + if (GetMultiplayerId() == 0) + dest->battleTowerRecord.unk_11c8 = GetRecordMixingGift(); +} + +static void PrepareExchangePacketForRubySapphire(struct PlayerRecordsRS *dest) +{ + memcpy(dest->secretBases, sSecretBasesSave, sizeof(dest->secretBases)); + sub_80EB18C(dest->secretBases); + memcpy(dest->tvShows, sTvShowsSave, sizeof(dest->tvShows)); + sub_80F1208(dest->tvShows); + memcpy(dest->pokeNews, sPokeNewsSave, sizeof(dest->pokeNews)); + memcpy(&dest->oldMan, sOldManSave, sizeof(dest->oldMan)); + sub_8120B70(&dest->oldMan); + memcpy(dest->easyChatPairs, sEasyChatPairsSave, sizeof(dest->easyChatPairs)); + sub_80E89F8(&dest->dayCareMail); + SanitizeDayCareMailForRuby(&dest->dayCareMail); + sub_81659DC(sBattleTowerSave, &dest->battleTowerRecord); + SanitizeRubyBattleTowerRecord(&dest->battleTowerRecord); + + if (GetMultiplayerId() == 0) + dest->battleTowerRecord.unk_11c8 = GetRecordMixingGift(); +} + +static void PrepareExchangePacket(void) +{ + sub_80E9914(); + sub_80F0BB8(); + SetSrcLookupPointers(); + + if (Link_AnyPartnersPlayingRubyOrSapphire()) + { + if (sub_800A03C() == 0) + PrepareUnknownExchangePacket(&sSentRecord->ruby); + else + PrepareExchangePacketForRubySapphire(&sSentRecord->ruby); + } + else + { + memcpy(sSentRecord->emerald.secretBases, sSecretBasesSave, sizeof(sSentRecord->emerald.secretBases)); + memcpy(sSentRecord->emerald.tvShows, sTvShowsSave, sizeof(sSentRecord->emerald.tvShows)); + memcpy(sSentRecord->emerald.pokeNews, sPokeNewsSave, sizeof(sSentRecord->emerald.pokeNews)); + memcpy(&sSentRecord->emerald.oldMan, sOldManSave, sizeof(sSentRecord->emerald.oldMan)); + memcpy(&sSentRecord->emerald.lilycoveLady, sLilycoveLadySave, sizeof(sSentRecord->emerald.lilycoveLady)); + memcpy(sSentRecord->emerald.easyChatPairs, sEasyChatPairsSave, sizeof(sSentRecord->emerald.easyChatPairs)); + sub_80E89F8(&sSentRecord->emerald.dayCareMail); + memcpy(&sSentRecord->emerald.battleTowerRecord, sBattleTowerSave, sizeof(sSentRecord->emerald.battleTowerRecord)); + SanitizeEmeraldBattleTowerRecord(&sSentRecord->emerald.battleTowerRecord); + + if (GetMultiplayerId() == 0) + sSentRecord->emerald.unk_1210 = GetRecordMixingGift(); + + sub_80E8110(sSentRecord->emerald.unk_1254, gUnknown_03001154); + sub_80E8260(&sSentRecord->emerald.unk_12dc); + } +} + +static void ReceiveExchangePacket(u32 which) +{ + if (Link_AnyPartnersPlayingRubyOrSapphire()) + { + // Ruby/Sapphire + sub_80E7B2C((void *)sReceivedRecords->ruby.tvShows); + ReceiveSecretBasesData(sReceivedRecords->ruby.secretBases, sizeof(struct PlayerRecordsRS), which); + ReceiveDaycareMailData(&sReceivedRecords->ruby.dayCareMail, sizeof(struct PlayerRecordsRS), which, sReceivedRecords->ruby.tvShows); + ReceiveBattleTowerData(&sReceivedRecords->ruby.battleTowerRecord, sizeof(struct PlayerRecordsRS), which); + ReceiveTvShowsData(sReceivedRecords->ruby.tvShows, sizeof(struct PlayerRecordsRS), which); + ReceivePokeNewsData(sReceivedRecords->ruby.pokeNews, sizeof(struct PlayerRecordsRS), which); + ReceiveOldManData(&sReceivedRecords->ruby.oldMan, sizeof(struct PlayerRecordsRS), which); + ReceiveEasyChatPairsData(sReceivedRecords->ruby.easyChatPairs, sizeof(struct PlayerRecordsRS), which); + sub_80E7F68(&sReceivedRecords->ruby.battleTowerRecord.unk_11c8, which); + } + else + { + // Emerald + sub_80E7B2C((void *)sReceivedRecords->emerald.tvShows); + ReceiveSecretBasesData(sReceivedRecords->emerald.secretBases, sizeof(struct PlayerRecordsEmerald), which); + ReceiveTvShowsData(sReceivedRecords->emerald.tvShows, sizeof(struct PlayerRecordsEmerald), which); + ReceivePokeNewsData(sReceivedRecords->emerald.pokeNews, sizeof(struct PlayerRecordsEmerald), which); + ReceiveOldManData(&sReceivedRecords->emerald.oldMan, sizeof(struct PlayerRecordsEmerald), which); + ReceiveEasyChatPairsData(sReceivedRecords->emerald.easyChatPairs, sizeof(struct PlayerRecordsEmerald), which); + ReceiveDaycareMailData(&sReceivedRecords->emerald.dayCareMail, sizeof(struct PlayerRecordsEmerald), which, sReceivedRecords->emerald.tvShows); + ReceiveBattleTowerData(&sReceivedRecords->emerald.battleTowerRecord, sizeof(struct PlayerRecordsEmerald), which); + sub_80E7F68(&sReceivedRecords->emerald.unk_1210, which); + ReceiveLilycoveLadyData(&sReceivedRecords->emerald.lilycoveLady, sizeof(struct PlayerRecordsEmerald), which); + sub_80E8468(sReceivedRecords->emerald.unk_1254, sizeof(struct PlayerRecordsEmerald), (u8) which); + sub_80E89AC(&sReceivedRecords->emerald.unk_12dc, sizeof(struct PlayerRecordsEmerald), (u8) which); + } +} + +static void PrintTextOnRecordMixing(const u8 *src) +{ + NewMenuHelpers_DrawDialogueFrame(0, 0); + PrintTextOnWindow(0, 1, src, 0, 1, 0, NULL); + CopyWindowToVram(0, 3); +} + +#define tCounter data[0] + +static void Task_RecordMixing_SoundEffect(u8 taskId) +{ + if (++gTasks[taskId].tCounter == 50) + { + PlaySE(SE_W213); + gTasks[taskId].tCounter = 0; + } +} + +#undef tCounter + +#define tState data[0] +#define tSndEffTaskId data[15] + +static void Task_RecordMixing_Main(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + switch (tState) + { + case 0: // init + sSentRecord = malloc(sizeof(union PlayerRecords)); + sReceivedRecords = malloc(sizeof(union PlayerRecords) * 4); + sub_8009628(gSpecialVar_0x8005); + VarSet(VAR_TEMP_0, 1); + gUnknown_03001130 = FALSE; + PrepareExchangePacket(); + CreateRecordMixingSprite(); + tState = 1; + data[10] = CreateTask(sub_80E7324, 80); + tSndEffTaskId = CreateTask(Task_RecordMixing_SoundEffect, 81); + break; + case 1: // wait for sub_80E7324 + if (!gTasks[data[10]].isActive) + { + tState = 2; + FlagSet(FLAG_SYS_MIX_RECORD); + DestroyRecordMixingSprite(); + DestroyTask(tSndEffTaskId); + } + break; + case 2: + data[10] = CreateTask(sub_80E7FF8, 10); + tState = 3; + PlaySE(SE_W226); + break; + case 3: // wait for sub_80E7FF8 + if (!gTasks[data[10]].isActive) + { + tState = 4; + if (gWirelessCommType == 0) + data[10] = sub_80B3050(); + + PrintTextOnRecordMixing(gText_RecordMixingComplete); + data[8] = 0; + } + break; + case 4: // wait 60 frames + if (++data[8] > 60) + tState = 5; + break; + case 5: + if (!gTasks[data[10]].isActive) + { + free(sReceivedRecords); + free(sSentRecord); + sub_808729C(); + if (gWirelessCommType != 0) + { + CreateTask(sub_80AF2B4, 10); + } + sub_8197434(0, 1); + DestroyTask(taskId); + EnableBothScriptContexts(); + } + break; + } +} + +#undef tState +#undef tSndEffTaskId + +static void sub_80E7324(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + PrintTextOnRecordMixing(gText_MixingRecords); + task->data[8] = 0x708; + task->data[0] = 400; + ClearLinkCallback_2(); + break; + case 100: // wait 20 frames + if (++task->data[12] > 20) + { + task->data[12] = 0; + task->data[0] = 101; + } + break; + case 101: + { + u8 players = GetLinkPlayerCount_2(); + if (IsLinkMaster() == TRUE) + { + if (players == sub_800AA48()) + { + PlaySE(SE_PIN); + task->data[0] = 201; + task->data[12] = 0; + } + } + else + { + PlaySE(SE_BOO); + task->data[0] = 301; + } + } + break; + case 201: + if (sub_800AA48() == GetLinkPlayerCount_2() && ++task->data[12] > (GetLinkPlayerCount_2() * 30)) + { + sub_800A620(); + task->data[0] = 1; + } + break; + case 301: + if (sub_800AA48() == GetLinkPlayerCount_2()) + task->data[0] = 1; + break; + case 400: // wait 20 frames + if (++task->data[12] > 20) + { + task->data[0] = 1; + task->data[12] = 0; + } + break; + case 1: // wait for handshake + if (gReceivedRemoteLinkPlayers != 0) + { + ConvertIntToDecimalStringN(gStringVar1, GetMultiplayerId_(), STR_CONV_MODE_LEADING_ZEROS, 2); + task->data[0] = 5; + } + break; + case 2: + { + u8 subTaskId; + + task->data[6] = GetLinkPlayerCount_2(); + task->data[0] = 0; + task->data[5] = GetMultiplayerId_(); + task->func = Task_SendPacket; + if (Link_AnyPartnersPlayingRubyOrSapphire()) + { + StorePtrInTaskData(sSentRecord, (u16 *)&task->data[2]); + subTaskId = CreateTask(Task_CopyReceiveBuffer, 80); + task->data[10] = subTaskId; + gTasks[subTaskId].data[0] = taskId; + StorePtrInTaskData(sReceivedRecords, (u16 *)&gTasks[subTaskId].data[5]); + sRecordStructSize = sizeof(struct PlayerRecordsRS); + } + else + { + StorePtrInTaskData(sSentRecord, (u16 *)&task->data[2]); + subTaskId = CreateTask(Task_CopyReceiveBuffer, 80); + task->data[10] = subTaskId; + gTasks[subTaskId].data[0] = taskId; + StorePtrInTaskData(sReceivedRecords, (u16 *)&gTasks[subTaskId].data[5]); + sRecordStructSize = sizeof(struct PlayerRecordsEmerald); + } + } + break; + case 5: // wait 60 frames + if (++task->data[10] > 60) + { + task->data[10] = 0; + task->data[0] = 2; + } + break; + } +} + +static void Task_SendPacket(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + // does this send the data 24 times? + + switch (task->data[0]) + { + case 0: // Copy record data to send buffer + { + void *recordData = LoadPtrFromTaskData(&task->data[2]) + task->data[4] * BUFFER_CHUNK_SIZE; + + memcpy(gBlockSendBuffer, recordData, BUFFER_CHUNK_SIZE); + task->data[0]++; + } + break; + case 1: + if (GetMultiplayerId() == 0) + sub_800A4D8(1); + task->data[0]++; + break; + case 2: + break; + case 3: + task->data[4]++; + if (task->data[4] == sRecordStructSize / 200 + 1) + task->data[0]++; + else + task->data[0] = 0; + break; + case 4: + if (!gTasks[task->data[10]].isActive) + task->func = Task_SendPacket_SwitchToReceive; + break; + } +} + +static void Task_CopyReceiveBuffer(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + u8 status = GetBlockReceivedStatus(); + u8 handledPlayers = 0; + + if (status == sub_800A9D8()) + { + u8 i; + + for (i = 0; i < GetLinkPlayerCount(); i++) + { + void *dest; + void *src; + + if ((status >> i) & 1) + { + dest = LoadPtrFromTaskData((u16 *)&task->data[5]) + task->data[i + 1] * BUFFER_CHUNK_SIZE + sRecordStructSize * i; + src = GetPlayerRecvBuffer(i); + if ((task->data[i + 1] + 1) * BUFFER_CHUNK_SIZE > sRecordStructSize) + memcpy(dest, src, sRecordStructSize - task->data[i + 1] * BUFFER_CHUNK_SIZE); + else + memcpy(dest, src, BUFFER_CHUNK_SIZE); + ResetBlockReceivedFlag(i); + task->data[i + 1]++; + if (task->data[i + 1] == sRecordStructSize / BUFFER_CHUNK_SIZE + 1) + handledPlayers++; + } + } + gTasks[task->data[0]].data[0]++; + } + + if (handledPlayers == GetLinkPlayerCount()) + DestroyTask(taskId); +} + +static void sub_80E776C(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + if (!gTasks[task->data[10]].isActive) + DestroyTask(taskId); +} + +static void Task_ReceivePacket(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + task->func = sub_80E776C; + if (gUnknown_03001130 == TRUE) + ReceiveExchangePacket(task->data[5]); +} + +static void Task_SendPacket_SwitchToReceive(u8 taskId) +{ + gTasks[taskId].func = Task_ReceivePacket; + gUnknown_03001130 = TRUE; +} + +static void *LoadPtrFromTaskData(const u16 *asShort) +{ + return (void *)(asShort[0] | (asShort[1] << 16)); +} + +static void StorePtrInTaskData(void *records, u16 *asShort) +{ + asShort[0] = (u32)records; + asShort[1] = ((u32)records >> 16); +} + +static u8 GetMultiplayerId_(void) +{ + return GetMultiplayerId(); +} + +static void *GetPlayerRecvBuffer(u8 id) +{ + return gBlockRecvBuffer[id]; +} + +static void ShufflePlayerIndices(u32 *data) +{ + u32 i; + u32 linkTrainerId; + u32 players = GetLinkPlayerCount(); + + switch (players) + { + case 2: + for (i = 0; i < 2; i++) + data[i] = gUnknown_0858CF8C[i]; + break; + case 3: + linkTrainerId = GetLinkPlayerTrainerId(0) % 2; + for (i = 0; i < 3; i++) + data[i] = gUnknown_0858CF8E[linkTrainerId][i]; + break; + case 4: + linkTrainerId = GetLinkPlayerTrainerId(0) % 9; + for (i = 0; i < 4; i++) + data[i] = gUnknown_0858CF94[linkTrainerId][i]; + break; + } +} + +static void ReceiveOldManData(OldMan *oldMan, size_t recordSize, u8 which) +{ + u8 version; + u16 language; + OldMan *dest; + u32 mixIndices[4]; + + ShufflePlayerIndices(mixIndices); + dest = (void *)oldMan + recordSize * mixIndices[which]; + version = gLinkPlayers[mixIndices[which]].version; + language = gLinkPlayers[mixIndices[which]].language; + + if (Link_AnyPartnersPlayingRubyOrSapphire()) + SanitizeReceivedRubyOldMan(dest, version, language); + else + SanitizeReceivedEmeraldOldMan(dest, version, language); + + memcpy(sOldManSave, (void *)oldMan + recordSize * mixIndices[which], sizeof(OldMan)); + ResetMauvilleOldManFlag(); +} + +static void ReceiveBattleTowerData(void *battleTowerRecord, size_t recordSize, u8 which) +{ + struct EmeraldBattleTowerRecord *dest; + struct UnknownPokemonStruct *btPokemon; + u32 mixIndices[4]; + s32 i; + + ShufflePlayerIndices(mixIndices); + if (Link_AnyPartnersPlayingRubyOrSapphire()) + { + if (sub_816587C((void *)battleTowerRecord + recordSize * mixIndices[which], (void *)battleTowerRecord + recordSize * which) == TRUE) + { + dest = (void *)battleTowerRecord + recordSize * which; + dest->language = gLinkPlayers[mixIndices[which]].language; + CalcEmeraldBattleTowerChecksum(dest); + } + } + else + { + memcpy((void *)battleTowerRecord + recordSize * which, (void *)battleTowerRecord + recordSize * mixIndices[which], sizeof(union BattleTowerRecord)); + dest = (void *)battleTowerRecord + recordSize * which; + for (i = 0; i < 4; i ++) + { + btPokemon = &dest->party[i]; + if (btPokemon->species != SPECIES_NONE && IsStringJapanese(btPokemon->nickname)) + ConvertInternationalString(btPokemon->nickname, LANGUAGE_JAPANESE); + } + CalcEmeraldBattleTowerChecksum(dest); + } + sub_81628A0((void *)battleTowerRecord + recordSize * which); +} + +static void ReceiveLilycoveLadyData(LilycoveLady *lilycoveLady, size_t recordSize, u8 which) +{ + LilycoveLady *dest; + u32 mixIndices[4]; + + ShufflePlayerIndices(mixIndices); + memcpy((void *)lilycoveLady + recordSize * which, sLilycoveLadySave, sizeof(LilycoveLady)); + + if (GetLilycoveLadyId() == 0) + { + dest = malloc(sizeof(LilycoveLady)); + if (dest == NULL) + return; + + memcpy(dest, sLilycoveLadySave, sizeof(LilycoveLady)); + } + else + { + dest = NULL; + } + + memcpy(sLilycoveLadySave, (void *)lilycoveLady + recordSize * mixIndices[which], sizeof(LilycoveLady)); + sub_818DA78(); + if (dest != NULL) + { + sub_818E570(dest); + free(dest); + } +} + +static u8 sub_80E7A9C(struct DayCareMail *rmMail) +{ + return rmMail->message.itemId; +} + +static void sub_80E7AA4(struct RecordMixingDayCareMail *src, size_t recordSize, u8 (*idxs)[2], u8 which0, u8 which1) +{ + struct DayCareMail buffer; + struct RecordMixingDayCareMail *mail1; + struct RecordMixingDayCareMail *mail2; + + mail1 = (void *)src + recordSize * idxs[which0][0]; + memcpy(&buffer, &mail1->mail[idxs[which0][1]], sizeof(struct DayCareMail)); + mail2 = (void *)src + recordSize * idxs[which1][0]; + memcpy(&mail1->mail[idxs[which0][1]], &mail2->mail[idxs[which1][1]], sizeof(struct DayCareMail)); + memcpy(&mail2->mail[idxs[which1][1]], &buffer, sizeof(struct DayCareMail)); +} + +static void sub_80E7B2C(const u8 *src) +{ + u8 sum; + s32 i; + + sum = 0; + for (i = 0; i < 256; i ++) + sum += src[i]; + + gUnknown_03001160 = sum; +} + +static u8 sub_80E7B54(void) +{ + return gUnknown_03001160; +} + +#ifdef NONMATCHING +static void ReceiveDaycareMailData(struct RecordMixingDayCareMail *src, size_t recordSize, u8 which, TVShow *shows) +{ + // r9 = which + u16 i; + u16 j; + u8 linkPlayerCount; + u16 language; + u16 otNameLanguage; + u16 nicknameLanguage; + u32 version; + u8 dcMail1; + u8 dcMail2; + u8 r1_80e7b54; + struct DayCareMail *recordMixingMail; + struct RecordMixingDayCareMail *_src; + u8 sp04[4]; + u8 sp08[4]; + struct RecordMixingDayCareMail *sp0c[4]; // -> sp+48 + u8 sp1c[4][2]; // [][0] -> sp+4c, [][1] -> sp+50 + u8 sp24[4][2]; + // sp+2c = src + // sp+30 = recordSize + u8 sp34; + u16 oldSeed; + bool32 anyRS; // sp+3c + + oldSeed = Random2(); + SeedRng2(gLinkPlayers[0].trainerId); + linkPlayerCount = GetLinkPlayerCount(); + for (i = 0; i < 4; i ++) + { + sp04[i] = 0xFF; + sp08[i] = 0; + sp1c[i][0] = 0; + sp1c[i][1] = 0; + } + anyRS = Link_AnyPartnersPlayingRubyOrSapphire(); + for (i = 0; i < GetLinkPlayerCount(); i ++) // r8 = i + { + // sp+54 = linkPlayerCount << 16 + // sp+44 = which * recordSize + _src = (void *)src + i * recordSize; // r7 + language = gLinkPlayers[i].language; // r9 + version = (u8)gLinkPlayers[i].version; // sp+40 + for (j = 0; j < _src->unk_70; j ++) + { + // r10 = ~0x10 + recordMixingMail = &_src->unk_00[j]; + if (recordMixingMail->mail.itemId != ITEM_NONE) + { + if (anyRS) + { + if (StringLength(recordMixingMail->OT_name) <= 5) + { + otNameLanguage = LANGUAGE_JAPANESE; + } + else + { + StripExtCtrlCodes(recordMixingMail->OT_name); + otNameLanguage = language; + } + if (recordMixingMail->monName[0] == EXT_CTRL_CODE_BEGIN && recordMixingMail->monName[1] == EXT_CTRL_CODE_JPN) + { + StripExtCtrlCodes(recordMixingMail->monName); + nicknameLanguage = LANGUAGE_JAPANESE; + } + else + { + nicknameLanguage = language; + } + if (version == VERSION_RUBY || version == VERSION_SAPPHIRE) + { + recordMixingMail->language_maybe = otNameLanguage; + recordMixingMail->unknown = nicknameLanguage; + } + } + else if (language == LANGUAGE_JAPANESE) + { + if (IsStringJapanese(recordMixingMail->OT_name)) + { + recordMixingMail->language_maybe = LANGUAGE_JAPANESE; + } + else + { + recordMixingMail->language_maybe = GAME_LANGUAGE; + } + if (IsStringJapanese(recordMixingMail->monName)) + { + recordMixingMail->unknown = LANGUAGE_JAPANESE; + } + else + { + recordMixingMail->unknown = GAME_LANGUAGE; + } + } + } + } + } + sp34 = 0; + for (i = 0; i < linkPlayerCount; i ++) + { + _src = (void *)src + i * recordSize; // r7 + if (_src->unk_70 != 0) + { + for (j = 0; j < _src->unk_70; j ++) + { + if (_src->unk_74[j] == 0) + { + sp1c[i][j] = 1; + } + } + } + } + i = 0; + for (j = 0; j < linkPlayerCount; j ++) + { + _src = (void *)src + j * recordSize; + if (sp1c[j][0] == TRUE || sp1c[j][1] == TRUE) + { + sp34 ++; + } + if (sp1c[j][0] == TRUE && sp1c[j][1] == FALSE) + { + sp24[i][0] = j; + sp24[i][1] = 0; + i ++; + } + else if (sp1c[j][0] == FALSE && sp1c[j][1] == TRUE) + { + sp24[i][0] = j; + sp24[i][1] = 0; + i ++; + } + else if (sp1c[j][0] == TRUE && sp1c[j][1] == TRUE) + { + sp24[i][0] = j; + dcMail1 = sub_80E7A9C(&_src->unk_00[0]); + dcMail2 = sub_80E7A9C(&_src->unk_00[1]); + if (!dcMail1 && dcMail2) + { + sp24[i][1] = 1; + } + else if ((dcMail1 && dcMail2) || (!dcMail1 && !dcMail2)) + { + sp24[i][1] = Random2() % 2; + } + else + { + sp24[i][1] = 0; + } + i ++; + } + } + for (i = 0; i < 4; i ++) + { + _src = &src[which * recordSize]; + sp0c[i] = _src; + } + r1_80e7b54 = sub_80E7B54() % 3; + switch (sp34) + { + case 2: + sub_80E7AA4(src, recordSize, sp24, 0, 1); + break; + case 3: + sub_80E7AA4(src, recordSize, sp24, gUnknown_0858CFB8[r1_80e7b54][0], gUnknown_0858CFB8[r1_80e7b54][1]); + break; + case 4: + sub_80E7AA4(src, recordSize, sp24, gUnknown_0858CFBE[r1_80e7b54][0], gUnknown_0858CFBE[r1_80e7b54][1]); + sub_80E7AA4(src, recordSize, sp24, gUnknown_0858CFBE[r1_80e7b54][2], gUnknown_0858CFBE[r1_80e7b54][3]); + break; + } + _src = (void *)src + which * recordSize; + memcpy(&gSaveBlock1Ptr->daycare.mons[0].misc.mail, &_src->unk_00[0], sizeof(struct DayCareMail)); + memcpy(&gSaveBlock1Ptr->daycare.mons[1].misc.mail, &_src->unk_00[1], sizeof(struct DayCareMail)); + SeedRng(oldSeed); +} +#else +NAKED +static void ReceiveDaycareMailData(struct RecordMixingDayCareMail *src, size_t recordSize, u8 which, TVShow *shows) +{ + asm_unified("\tpush {r4-r7,lr}\n" + "\tmov r7, r10\n" + "\tmov r6, r9\n" + "\tmov r5, r8\n" + "\tpush {r5-r7}\n" + "\tsub sp, 0x58\n" + "\tstr r0, [sp, 0x2C]\n" + "\tstr r1, [sp, 0x30]\n" + "\tlsls r2, 24\n" + "\tlsrs r2, 24\n" + "\tmov r9, r2\n" + "\tbl Random2\n" + "\tlsls r0, 16\n" + "\tlsrs r0, 16\n" + "\tstr r0, [sp, 0x38]\n" + "\tldr r0, =gLinkPlayers\n" + "\tldrh r0, [r0, 0x4]\n" + "\tbl SeedRng2\n" + "\tbl GetLinkPlayerCount\n" + "\tlsls r0, 24\n" + "\tlsrs r4, r0, 24\n" + "\tmovs r0, 0\n" + "\tmov r8, r0\n" + "\tmov r1, sp\n" + "\tadds r1, 0x1C\n" + "\tstr r1, [sp, 0x4C]\n" + "\tmov r2, sp\n" + "\tadds r2, 0x1D\n" + "\tstr r2, [sp, 0x50]\n" + "\tmov r3, sp\n" + "\tadds r3, 0xC\n" + "\tstr r3, [sp, 0x48]\n" + "\tmovs r7, 0xFF\n" + "\tadd r3, sp, 0x8\n" + "\tmovs r2, 0\n" + "\tadds r6, r1, 0\n" + "\tldr r5, [sp, 0x50]\n" + "_080E7BB0:\n" + "\tmov r1, sp\n" + "\tadd r1, r8\n" + "\tadds r1, 0x4\n" + "\tldrb r0, [r1]\n" + "\torrs r0, r7\n" + "\tstrb r0, [r1]\n" + "\tmov r1, r8\n" + "\tadds r0, r3, r1\n" + "\tstrb r2, [r0]\n" + "\tlsls r1, 1\n" + "\tadds r0, r6, r1\n" + "\tstrb r2, [r0]\n" + "\tadds r1, r5, r1\n" + "\tstrb r2, [r1]\n" + "\tmov r0, r8\n" + "\tadds r0, 0x1\n" + "\tlsls r0, 16\n" + "\tlsrs r0, 16\n" + "\tmov r8, r0\n" + "\tcmp r0, 0x3\n" + "\tbls _080E7BB0\n" + "\tbl Link_AnyPartnersPlayingRubyOrSapphire\n" + "\tstr r0, [sp, 0x3C]\n" + "\tmovs r2, 0\n" + "\tmov r8, r2\n" + "\tlsls r4, 16\n" + "\tstr r4, [sp, 0x54]\n" + "\tldr r0, [sp, 0x30]\n" + "\tmov r3, r9\n" + "\tmuls r3, r0\n" + "\tstr r3, [sp, 0x44]\n" + "\tb _080E7D04\n" + "\t.pool\n" + "_080E7BF8:\n" + "\tldr r1, [sp, 0x30]\n" + "\tmov r0, r8\n" + "\tmuls r0, r1\n" + "\tldr r2, [sp, 0x2C]\n" + "\tadds r7, r2, r0\n" + "\tldr r1, =gLinkPlayers\n" + "\tmov r3, r8\n" + "\tlsls r0, r3, 3\n" + "\tsubs r0, r3\n" + "\tlsls r0, 2\n" + "\tadds r0, r1\n" + "\tldrh r1, [r0, 0x1A]\n" + "\tmov r9, r1\n" + "\tldrb r0, [r0]\n" + "\tstr r0, [sp, 0x40]\n" + "\tmovs r6, 0\n" + "\tldr r0, [r7, 0x70]\n" + "\tcmp r6, r0\n" + "\tbcs _080E7CFA\n" + "\tmovs r2, 0x10\n" + "\tnegs r2, r2\n" + "\tmov r10, r2\n" + "_080E7C24:\n" + "\tlsls r0, r6, 3\n" + "\tsubs r0, r6\n" + "\tlsls r0, 3\n" + "\tadds r5, r7, r0\n" + "\tldrh r0, [r5, 0x20]\n" + "\tcmp r0, 0\n" + "\tbeq _080E7CEE\n" + "\tldr r3, [sp, 0x3C]\n" + "\tcmp r3, 0\n" + "\tbeq _080E7C9A\n" + "\tadds r4, r5, 0\n" + "\tadds r4, 0x24\n" + "\tadds r0, r4, 0\n" + "\tbl StringLength\n" + "\tlsls r0, 16\n" + "\tlsrs r0, 16\n" + "\tcmp r0, 0x5\n" + "\tbhi _080E7C54\n" + "\tmovs r4, 0x1\n" + "\tb _080E7C5C\n" + "\t.pool\n" + "_080E7C54:\n" + "\tadds r0, r4, 0\n" + "\tbl StripExtCtrlCodes\n" + "\tmov r4, r9\n" + "_080E7C5C:\n" + "\tldrh r1, [r5, 0x2C]\n" + "\tldr r0, =0x000015fc\n" + "\tcmp r1, r0\n" + "\tbne _080E7C74\n" + "\tadds r0, r5, 0\n" + "\tadds r0, 0x2C\n" + "\tbl StripExtCtrlCodes\n" + "\tmovs r1, 0x1\n" + "\tb _080E7C76\n" + "\t.pool\n" + "_080E7C74:\n" + "\tmov r1, r9\n" + "_080E7C76:\n" + "\tldr r0, [sp, 0x40]\n" + "\tsubs r0, 0x1\n" + "\tcmp r0, 0x1\n" + "\tbhi _080E7CEE\n" + "\tadds r2, r5, 0\n" + "\tadds r2, 0x37\n" + "\tmovs r0, 0xF\n" + "\tands r4, r0\n" + "\tldrb r0, [r2]\n" + "\tmov r3, r10\n" + "\tands r0, r3\n" + "\torrs r0, r4\n" + "\tlsls r1, 4\n" + "\tmovs r3, 0xF\n" + "\tands r0, r3\n" + "\torrs r0, r1\n" + "\tstrb r0, [r2]\n" + "\tb _080E7CEE\n" + "_080E7C9A:\n" + "\tmov r0, r9\n" + "\tcmp r0, 0x1\n" + "\tbne _080E7CEE\n" + "\tadds r0, r5, 0\n" + "\tadds r0, 0x24\n" + "\tbl IsStringJapanese\n" + "\tcmp r0, 0\n" + "\tbeq _080E7CBA\n" + "\tadds r0, r5, 0\n" + "\tadds r0, 0x37\n" + "\tldrb r1, [r0]\n" + "\tmov r2, r10\n" + "\tands r1, r2\n" + "\tmovs r2, 0x1\n" + "\tb _080E7CC6\n" + "_080E7CBA:\n" + "\tadds r0, r5, 0\n" + "\tadds r0, 0x37\n" + "\tldrb r1, [r0]\n" + "\tmov r3, r10\n" + "\tands r1, r3\n" + "\tmovs r2, 0x2\n" + "_080E7CC6:\n" + "\torrs r1, r2\n" + "\tstrb r1, [r0]\n" + "\tadds r4, r0, 0\n" + "\tadds r0, r5, 0\n" + "\tadds r0, 0x2C\n" + "\tbl IsStringJapanese\n" + "\tcmp r0, 0\n" + "\tbeq _080E7CE2\n" + "\tldrb r0, [r4]\n" + "\tmovs r1, 0xF\n" + "\tands r1, r0\n" + "\tmovs r0, 0x10\n" + "\tb _080E7CEA\n" + "_080E7CE2:\n" + "\tldrb r0, [r4]\n" + "\tmovs r1, 0xF\n" + "\tands r1, r0\n" + "\tmovs r0, 0x20\n" + "_080E7CEA:\n" + "\torrs r1, r0\n" + "\tstrb r1, [r4]\n" + "_080E7CEE:\n" + "\tadds r0, r6, 0x1\n" + "\tlsls r0, 16\n" + "\tlsrs r6, r0, 16\n" + "\tldr r0, [r7, 0x70]\n" + "\tcmp r6, r0\n" + "\tbcc _080E7C24\n" + "_080E7CFA:\n" + "\tmov r0, r8\n" + "\tadds r0, 0x1\n" + "\tlsls r0, 16\n" + "\tlsrs r0, 16\n" + "\tmov r8, r0\n" + "_080E7D04:\n" + "\tbl GetLinkPlayerCount\n" + "\tlsls r0, 24\n" + "\tlsrs r0, 24\n" + "\tcmp r8, r0\n" + "\tbcs _080E7D12\n" + "\tb _080E7BF8\n" + "_080E7D12:\n" + "\tmovs r0, 0\n" + "\tstr r0, [sp, 0x34]\n" + "\tmov r8, r0\n" + "\tldr r1, [sp, 0x54]\n" + "\tlsrs r0, r1, 16\n" + "\tldr r2, [sp, 0x34]\n" + "\tcmp r2, r0\n" + "\tbcs _080E7D70\n" + "\tadds r5, r0, 0\n" + "_080E7D24:\n" + "\tldr r3, [sp, 0x30]\n" + "\tmov r0, r8\n" + "\tmuls r0, r3\n" + "\tldr r1, [sp, 0x2C]\n" + "\tadds r7, r1, r0\n" + "\tldr r0, [r7, 0x70]\n" + "\tcmp r0, 0\n" + "\tbeq _080E7D62\n" + "\tmovs r6, 0\n" + "\tcmp r6, r0\n" + "\tbcs _080E7D62\n" + "\tadds r3, r7, 0\n" + "\tadds r3, 0x74\n" + "\tldr r2, [sp, 0x4C]\n" + "\tmov r0, r8\n" + "\tlsls r1, r0, 1\n" + "\tmovs r4, 0x1\n" + "_080E7D46:\n" + "\tlsls r0, r6, 1\n" + "\tadds r0, r3, r0\n" + "\tldrh r0, [r0]\n" + "\tcmp r0, 0\n" + "\tbne _080E7D56\n" + "\tadds r0, r6, r1\n" + "\tadds r0, r2, r0\n" + "\tstrb r4, [r0]\n" + "_080E7D56:\n" + "\tadds r0, r6, 0x1\n" + "\tlsls r0, 16\n" + "\tlsrs r6, r0, 16\n" + "\tldr r0, [r7, 0x70]\n" + "\tcmp r6, r0\n" + "\tbcc _080E7D46\n" + "_080E7D62:\n" + "\tmov r0, r8\n" + "\tadds r0, 0x1\n" + "\tlsls r0, 16\n" + "\tlsrs r0, 16\n" + "\tmov r8, r0\n" + "\tcmp r8, r5\n" + "\tbcc _080E7D24\n" + "_080E7D70:\n" + "\tmovs r6, 0\n" + "\tmov r8, r6\n" + "\tldr r1, [sp, 0x54]\n" + "\tcmp r1, 0\n" + "\tbeq _080E7E64\n" + "\tadd r2, sp, 0x24\n" + "\tmov r10, r2\n" + "\tmovs r3, 0x25\n" + "\tadd r3, sp\n" + "\tmov r9, r3\n" + "_080E7D84:\n" + "\tldr r1, [sp, 0x30]\n" + "\tmov r0, r8\n" + "\tmuls r0, r1\n" + "\tldr r2, [sp, 0x2C]\n" + "\tadds r7, r2, r0\n" + "\tmov r3, r8\n" + "\tlsls r1, r3, 1\n" + "\tldr r2, [sp, 0x4C]\n" + "\tadds r0, r2, r1\n" + "\tldrb r0, [r0]\n" + "\tcmp r0, 0x1\n" + "\tbeq _080E7DA6\n" + "\tldr r3, [sp, 0x50]\n" + "\tadds r0, r3, r1\n" + "\tldrb r0, [r0]\n" + "\tcmp r0, 0x1\n" + "\tbne _080E7DB0\n" + "_080E7DA6:\n" + "\tldr r0, [sp, 0x34]\n" + "\tadds r0, 0x1\n" + "\tlsls r0, 24\n" + "\tlsrs r0, 24\n" + "\tstr r0, [sp, 0x34]\n" + "_080E7DB0:\n" + "\tldr r2, [sp, 0x4C]\n" + "\tadds r0, r2, r1\n" + "\tldrb r0, [r0]\n" + "\tcmp r0, 0x1\n" + "\tbne _080E7DD4\n" + "\tldr r3, [sp, 0x50]\n" + "\tadds r0, r3, r1\n" + "\tldrb r2, [r0]\n" + "\tcmp r2, 0\n" + "\tbne _080E7DD4\n" + "_080E7DC4:\n" + "\tlsls r1, r6, 1\n" + "\tmov r3, r10\n" + "\tadds r0, r3, r1\n" + "\tmov r3, r8\n" + "\tstrb r3, [r0]\n" + "\tadd r1, r9\n" + "\tstrb r2, [r1]\n" + "\tb _080E7E4E\n" + "_080E7DD4:\n" + "\tldr r2, [sp, 0x4C]\n" + "\tadds r0, r2, r1\n" + "\tldrb r0, [r0]\n" + "\tcmp r0, 0\n" + "\tbne _080E7DE8\n" + "\tldr r3, [sp, 0x50]\n" + "\tadds r0, r3, r1\n" + "\tldrb r2, [r0]\n" + "\tcmp r2, 0x1\n" + "\tbeq _080E7DC4\n" + "_080E7DE8:\n" + "\tldr r2, [sp, 0x4C]\n" + "\tadds r0, r2, r1\n" + "\tldrb r0, [r0]\n" + "\tcmp r0, 0x1\n" + "\tbne _080E7E54\n" + "\tldr r3, [sp, 0x50]\n" + "\tadds r0, r3, r1\n" + "\tldrb r0, [r0]\n" + "\tcmp r0, 0x1\n" + "\tbne _080E7E54\n" + "\tlsls r5, r6, 1\n" + "\tmov r1, r10\n" + "\tadds r0, r1, r5\n" + "\tmov r2, r8\n" + "\tstrb r2, [r0]\n" + "\tadds r0, r7, 0\n" + "\tbl sub_80E7A9C\n" + "\tadds r4, r0, 0\n" + "\tlsls r4, 24\n" + "\tlsrs r4, 24\n" + "\tadds r0, r7, 0\n" + "\tadds r0, 0x38\n" + "\tbl sub_80E7A9C\n" + "\tlsls r0, 24\n" + "\tlsrs r1, r0, 24\n" + "\tcmp r4, 0\n" + "\tbne _080E7E30\n" + "\tcmp r1, 0\n" + "\tbeq _080E7E34\n" + "\tmov r3, r9\n" + "\tadds r1, r3, r5\n" + "\tmovs r0, 0x1\n" + "\tstrb r0, [r1]\n" + "\tb _080E7E4E\n" + "_080E7E30:\n" + "\tcmp r1, 0\n" + "\tbeq _080E7E48\n" + "_080E7E34:\n" + "\tbl Random2\n" + "\tmov r1, r9\n" + "\tadds r2, r1, r5\n" + "\tlsls r0, 16\n" + "\tlsrs r0, 16\n" + "\tmovs r1, 0x1\n" + "\tands r0, r1\n" + "\tstrb r0, [r2]\n" + "\tb _080E7E4E\n" + "_080E7E48:\n" + "\tmov r2, r9\n" + "\tadds r0, r2, r5\n" + "\tstrb r1, [r0]\n" + "_080E7E4E:\n" + "\tadds r0, r6, 0x1\n" + "\tlsls r0, 16\n" + "\tlsrs r6, r0, 16\n" + "_080E7E54:\n" + "\tmov r0, r8\n" + "\tadds r0, 0x1\n" + "\tlsls r0, 16\n" + "\tlsrs r3, r0, 16\n" + "\tmov r8, r3\n" + "\tldr r1, [sp, 0x54]\n" + "\tcmp r0, r1\n" + "\tbcc _080E7D84\n" + "_080E7E64:\n" + "\tmovs r2, 0\n" + "\tmov r8, r2\n" + "\tldr r3, [sp, 0x44]\n" + "\tlsls r0, r3, 4\n" + "\tsubs r0, r3\n" + "\tlsls r0, 3\n" + "\tldr r1, [sp, 0x2C]\n" + "\tadds r7, r1, r0\n" + "\tldr r1, [sp, 0x48]\n" + "_080E7E76:\n" + "\tmov r2, r8\n" + "\tlsls r0, r2, 2\n" + "\tadds r0, r1, r0\n" + "\tstr r7, [r0]\n" + "\tmov r0, r8\n" + "\tadds r0, 0x1\n" + "\tlsls r0, 16\n" + "\tlsrs r0, 16\n" + "\tmov r8, r0\n" + "\tcmp r0, 0x3\n" + "\tbls _080E7E76\n" + "\tbl sub_80E7B54\n" + "\tlsls r0, 24\n" + "\tlsrs r0, 24\n" + "\tmovs r1, 0x3\n" + "\tbl __umodsi3\n" + "\tlsls r0, 24\n" + "\tlsrs r1, r0, 24\n" + "\tldr r3, [sp, 0x34]\n" + "\tcmp r3, 0x3\n" + "\tbeq _080E7EC8\n" + "\tcmp r3, 0x3\n" + "\tbgt _080E7EAE\n" + "\tcmp r3, 0x2\n" + "\tbeq _080E7EB6\n" + "\tb _080E7F1C\n" + "_080E7EAE:\n" + "\tldr r0, [sp, 0x34]\n" + "\tcmp r0, 0x4\n" + "\tbeq _080E7EE8\n" + "\tb _080E7F1C\n" + "_080E7EB6:\n" + "\tadd r2, sp, 0x24\n" + "\tmovs r0, 0x1\n" + "\tstr r0, [sp]\n" + "\tldr r0, [sp, 0x2C]\n" + "\tldr r1, [sp, 0x30]\n" + "\tmovs r3, 0\n" + "\tbl sub_80E7AA4\n" + "\tb _080E7F1C\n" + "_080E7EC8:\n" + "\tldr r0, =gUnknown_0858CFB8\n" + "\tlsls r1, 1\n" + "\tadds r2, r1, r0\n" + "\tldrb r3, [r2]\n" + "\tadds r0, 0x1\n" + "\tadds r1, r0\n" + "\tldrb r0, [r1]\n" + "\tadd r2, sp, 0x24\n" + "\tstr r0, [sp]\n" + "\tldr r0, [sp, 0x2C]\n" + "\tldr r1, [sp, 0x30]\n" + "\tbl sub_80E7AA4\n" + "\tb _080E7F1C\n" + "\t.pool\n" + "_080E7EE8:\n" + "\tadd r6, sp, 0x24\n" + "\tldr r4, =gUnknown_0858CFBE\n" + "\tlsls r5, r1, 2\n" + "\tadds r0, r5, r4\n" + "\tldrb r3, [r0]\n" + "\tadds r0, r4, 0x1\n" + "\tadds r0, r5, r0\n" + "\tldrb r0, [r0]\n" + "\tstr r0, [sp]\n" + "\tldr r0, [sp, 0x2C]\n" + "\tldr r1, [sp, 0x30]\n" + "\tadds r2, r6, 0\n" + "\tbl sub_80E7AA4\n" + "\tadds r0, r4, 0x2\n" + "\tadds r0, r5, r0\n" + "\tldrb r3, [r0]\n" + "\tadds r4, 0x3\n" + "\tadds r5, r4\n" + "\tldrb r0, [r5]\n" + "\tstr r0, [sp]\n" + "\tldr r0, [sp, 0x2C]\n" + "\tldr r1, [sp, 0x30]\n" + "\tadds r2, r6, 0\n" + "\tbl sub_80E7AA4\n" + "_080E7F1C:\n" + "\tldr r1, [sp, 0x2C]\n" + "\tldr r2, [sp, 0x44]\n" + "\tadds r7, r1, r2\n" + "\tldr r4, =gSaveBlock1Ptr\n" + "\tldr r0, [r4]\n" + "\tmovs r3, 0xC2\n" + "\tlsls r3, 6\n" + "\tadds r0, r3\n" + "\tadds r1, r7, 0\n" + "\tmovs r2, 0x38\n" + "\tbl memcpy\n" + "\tldr r0, [r4]\n" + "\tldr r1, =0x0000310c\n" + "\tadds r0, r1\n" + "\tadds r1, r7, 0\n" + "\tadds r1, 0x38\n" + "\tmovs r2, 0x38\n" + "\tbl memcpy\n" + "\tldr r0, [sp, 0x38]\n" + "\tbl SeedRng\n" + "\tadd sp, 0x58\n" + "\tpop {r3-r5}\n" + "\tmov r8, r3\n" + "\tmov r9, r4\n" + "\tmov r10, r5\n" + "\tpop {r4-r7}\n" + "\tpop {r0}\n" + "\tbx r0\n" + "\t.pool"); +} +#endif // NONMATCHING + +static void sub_80E7F68(u16 *item, u8 which) +{ + if (which != 0 && *item != ITEM_NONE && GetPocketByItemId(*item) == POCKET_KEY_ITEMS) + { + if (!CheckBagHasItem(*item, 1) && !CheckPCHasItem(*item, 1) && AddBagItem(*item, 1)) + { + VarSet(VAR_TEMP_1, *item); + StringCopy(gStringVar1, gLinkPlayers[0].name); + if (*item == ITEM_EON_TICKET) + FlagSet(FLAG_SYS_HAS_EON_TICKET); + } + else + { + VarSet(VAR_TEMP_1, ITEM_NONE); + } + } +} + +static void sub_80E7FF8(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + task->data[0]++; + break; + case 1: + if (Link_AnyPartnersPlayingRubyOrSapphire()) + task->data[0]++; + else + task->data[0] = 6; + break; + case 2: + sub_8076D5C(); + sub_8153430(); + task->data[0] ++; + break; + case 3: + if (sub_8153474()) + { + sav2_gender2_inplace_and_xFE(); + task->data[0] = 4; + task->data[1] = 0; + } + break; + case 4: + if (++task->data[1] > 10) + { + sub_800AC34(); + task->data[0] ++; + } + break; + case 5: + if (gReceivedRemoteLinkPlayers == 0) + DestroyTask(taskId); + break; + case 6: + if (!sub_801048C(0)) + { + CreateTask(sub_8153688, 5); + task->data[0] ++; + } + break; + case 7: + if (!FuncIsActiveTask(sub_8153688)) + { + if (gWirelessCommType) + { + sub_801048C(1); + task->data[0] = 8; + } + else + { + task->data[0] = 4; + } + } + break; + case 8: + sub_800ADF8(); + task->data[0] ++; + break; + case 9: + if (sub_800A520()) + DestroyTask(taskId); + break; + } +} + +// New Emerald functions + +static void sub_80E8110(struct UnkRecordMixingStruct *dst, struct UnkRecordMixingStruct *src) +{ + s32 i, id; + s32 var_2C, var_28, var_24, r8; + + dst[0].field_38[0] = 0xFF; + dst[1].field_38[0] = 0xFF; + + dst[0] = src[0]; + + var_28 = 0; + var_24 = 0; + var_2C = 0; + r8 = 0; + for (i = 0; i < 2; i++) + { + id = ((i + gSaveBlock2Ptr->field_B2_1) % 3) + 1; + if (src[id].field_38[0] != 0xFF) + { + if (ReadUnalignedWord(src[id].playerId) != ReadUnalignedWord(gSaveBlock2Ptr->playerTrainerId)) + { + r8++; + var_2C = id; + } + if (ReadUnalignedWord(src[id].playerId) == ReadUnalignedWord(gSaveBlock2Ptr->playerTrainerId)) + { + var_24++; + var_28 = id; + } + } + } + + if (r8 == 0 && var_24 != 0) + { + r8 = var_24; + var_2C = var_28; + } + + switch (r8) + { + case 1: + dst[1] = src[var_2C]; + break; + case 2: + if (Random2() > 0x3333) + { + dst[1] = src[gSaveBlock2Ptr->field_B2_1 + 1]; + } + else + { + dst[1] = src[((gSaveBlock2Ptr->field_B2_1 + 1) % 3 + 1)]; + } + break; + } +} + +void sub_80E8260(struct UnkRecordMixingStruct2 *dst) +{ + s32 i, j; + + for (i = 0; i < 9; i++) + { + for (j = 0; j < 2; j++) + { + CopyUnalignedWord(dst->field_0[i][j].playerId, gSaveBlock2Ptr->playerTrainerId); + dst->field_0[i][j].language = GAME_LANGUAGE; + StringCopy(dst->field_0[i][j].playerName, gSaveBlock2Ptr->playerName); + } + } + + for (j = 0; j < 2; j++) + { + dst->field_120[j].language = GAME_LANGUAGE; + CopyUnalignedWord(dst->field_120[j].playerId1, gSaveBlock2Ptr->playerTrainerId); + CopyUnalignedWord(dst->field_120[j].playerId2, gSaveBlock2Ptr->field_EF1[j]); + StringCopy(dst->field_120[j].playerName1, gSaveBlock2Ptr->playerName); + StringCopy(dst->field_120[j].playerName2, gSaveBlock2Ptr->field_EE1[j]); + } + + for (i = 0; i < 2; i++) + { + dst->field_0[0][i].field_4 = gSaveBlock2Ptr->field_CF0[i]; + dst->field_0[1][i].field_4 = gSaveBlock2Ptr->field_CF4[i]; + dst->field_0[2][i].field_4 = gSaveBlock2Ptr->field_CF8[i]; + dst->field_0[3][i].field_4 = gSaveBlock2Ptr->field_D14[i]; + dst->field_0[4][i].field_4 = gSaveBlock2Ptr->field_DD0[i]; + dst->field_0[5][i].field_4 = gSaveBlock2Ptr->field_DDE[i]; + dst->field_0[6][i].field_4 = gSaveBlock2Ptr->field_DEA[i]; + dst->field_0[7][i].field_4 = gSaveBlock2Ptr->field_E08[i]; + dst->field_0[8][i].field_4 = gSaveBlock2Ptr->field_E1E[i]; + + dst->field_120[i].field_8 = gSaveBlock2Ptr->field_CFC[i]; + } +} + +static bool32 sub_80E841C(struct UnkRecordMixingStruct *arg0, struct UnkRecordMixingStruct *arg1) +{ + s32 i; + + for (i = 0; i < 4; i++) + { + if (ReadUnalignedWord(arg0->playerId) == ReadUnalignedWord(arg1[i].playerId) + && arg0->field_0[2] == arg1[i].field_0[2]) + { + return TRUE; + } + } + + return FALSE; +} + +static void sub_80E8468(struct UnkRecordMixingStruct *arg0, size_t arg1, u32 arg2) +{ + s32 i, r7, r8; + struct UnkRecordMixingStruct *structPtr; + u32 mixIndices[4]; + u32 structId; + + ShufflePlayerIndices(mixIndices); + structPtr = (void*)(arg0) + (arg1 * mixIndices[arg2]); + r7 = 0; + r8 = 0; + for (i = 0; i < 2; i++) + { + if (structPtr[i].field_38[0] != 0xFF && !sub_80E841C(&structPtr[i], gSaveBlock2Ptr->field_DC)) + { + r7++; + r8 = i; + } + } + + switch (r7) + { + case 1: + structId = gSaveBlock2Ptr->field_B2_1 + 1; + gSaveBlock2Ptr->field_DC[structId] = structPtr[r8]; + gSaveBlock2Ptr->field_B2_1 = (gSaveBlock2Ptr->field_B2_1 + 1) % 3; + break; + case 2: + for (i = 0; i < 2; i++) + { + structId = ((i ^ 1) + gSaveBlock2Ptr->field_B2_1) % 3 + 1; + gSaveBlock2Ptr->field_DC[structId] = structPtr[i]; + } + gSaveBlock2Ptr->field_B2_1 = (gSaveBlock2Ptr->field_B2_1 + 2) % 3; + break; + } +} + +NAKED +static void sub_80E8578(struct UnknownRecMixingStruct3 *arg0, struct UnkRecordMixingStruct2 *arg1, size_t arg2, u32 arg3, u32 arg4) +{ + 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, 0x54\n\ + str r0, [sp]\n\ + ldr r0, [sp, 0x74]\n\ + movs r4, 0\n\ + mov r8, r4\n\ + movs r5, 0\n\ + str r5, [sp, 0x4]\n\ + ldr r4, =gUnknown_03001168\n\ + b _080E85A0\n\ + .pool\n\ +_080E8598:\n\ + adds r1, r2\n\ + ldr r6, [sp, 0x4]\n\ + adds r6, 0x1\n\ + str r6, [sp, 0x4]\n\ +_080E85A0:\n\ + ldr r5, [sp, 0x4]\n\ + cmp r5, r0\n\ + bge _080E85B6\n\ + cmp r5, r3\n\ + beq _080E85B0\n\ + stm r4!, {r1}\n\ + movs r6, 0x1\n\ + add r8, r6\n\ +_080E85B0:\n\ + mov r5, r8\n\ + cmp r5, 0x3\n\ + bne _080E8598\n\ +_080E85B6:\n\ + movs r6, 0\n\ + str r6, [sp, 0x4]\n\ + subs r0, 0x1\n\ + str r0, [sp, 0x24]\n\ +_080E85BE:\n\ + movs r0, 0\n\ + str r0, [sp, 0x8]\n\ + ldr r1, [sp, 0x4]\n\ + adds r1, 0x1\n\ + str r1, [sp, 0x28]\n\ + ldr r2, [sp, 0x4]\n\ + lsls r2, 1\n\ + str r2, [sp, 0x34]\n\ + ldr r3, [sp, 0x4]\n\ + adds r3, r2, r3\n\ + str r3, [sp, 0x10]\n\ + movs r4, 0\n\ + str r4, [sp, 0x44]\n\ + movs r5, 0\n\ + str r5, [sp, 0x48]\n\ +_080E85DC:\n\ + movs r6, 0\n\ + mov r8, r6\n\ + ldr r0, =gSaveBlock2Ptr\n\ + ldr r1, [r0]\n\ + ldr r2, [sp, 0x10]\n\ + lsls r0, r2, 5\n\ + ldr r3, [sp, 0x48]\n\ + adds r0, r3, r0\n\ + adds r3, r0, r1\n\ + lsls r0, r2, 6\n\ + ldr r4, [sp, 0x44]\n\ + adds r0, r4, r0\n\ + ldr r5, [sp]\n\ + adds r2, r0, r5\n\ +_080E85F8:\n\ + adds r0, r2, 0\n\ + movs r6, 0x87\n\ + lsls r6, 2\n\ + adds r1, r3, r6\n\ + ldm r1!, {r4-r6}\n\ + stm r0!, {r4-r6}\n\ + ldr r1, [r1]\n\ + str r1, [r0]\n\ + adds r3, 0x10\n\ + adds r2, 0x10\n\ + movs r0, 0x1\n\ + add r8, r0\n\ + mov r1, r8\n\ + cmp r1, 0x2\n\ + ble _080E85F8\n\ + movs r2, 0\n\ + mov r8, r2\n\ + ldr r3, [sp, 0x24]\n\ + cmp r8, r3\n\ + bge _080E86DC\n\ + ldr r4, [sp, 0x4]\n\ + lsls r4, 5\n\ + mov r9, r4\n\ + ldr r5, [sp, 0x8]\n\ + lsls r7, r5, 4\n\ + ldr r6, [sp, 0x34]\n\ + ldr r1, [sp, 0x4]\n\ + adds r0, r6, r1\n\ + lsls r0, 6\n\ + str r0, [sp, 0x14]\n\ + ldr r2, [sp]\n\ + adds r0, r2, r0\n\ + ldr r3, [sp, 0x44]\n\ + str r3, [sp, 0x18]\n\ + adds r0, r3\n\ + str r0, [sp, 0x1C]\n\ + ldr r4, [sp, 0x14]\n\ + adds r0, r3, r4\n\ + adds r0, r2\n\ + adds r0, 0x30\n\ + mov r10, r0\n\ +_080E864A:\n\ + movs r5, 0\n\ + str r5, [sp, 0xC]\n\ + movs r3, 0\n\ + mov r6, r8\n\ + lsls r6, 2\n\ + str r6, [sp, 0x38]\n\ + ldr r1, [sp, 0x18]\n\ + ldr r2, [sp, 0x14]\n\ + adds r0, r1, r2\n\ + ldr r4, [sp]\n\ + adds r5, r0, r4\n\ + ldr r0, =gUnknown_03001168\n\ + adds r0, r6, r0\n\ + str r0, [sp, 0x50]\n\ +_080E8666:\n\ + lsls r0, r3, 4\n\ + ldr r6, [sp, 0x1C]\n\ + adds r0, r6, r0\n\ + str r3, [sp, 0x4C]\n\ + bl ReadUnalignedWord\n\ + adds r4, r0, 0\n\ + ldr r1, [sp, 0x50]\n\ + ldr r0, [r1]\n\ + add r0, r9\n\ + adds r0, r7\n\ + bl ReadUnalignedWord\n\ + ldr r3, [sp, 0x4C]\n\ + cmp r4, r0\n\ + bne _080E86A8\n\ + ldr r2, [sp, 0xC]\n\ + adds r2, 0x1\n\ + str r2, [sp, 0xC]\n\ + ldr r4, [sp, 0x50]\n\ + ldr r0, [r4]\n\ + mov r6, r9\n\ + adds r1, r7, r6\n\ + adds r1, r0, r1\n\ + ldrh r0, [r5, 0x4]\n\ + ldrh r2, [r1, 0x4]\n\ + cmp r0, r2\n\ + bcs _080E86A8\n\ + adds r0, r5, 0\n\ + ldm r1!, {r2,r4,r6}\n\ + stm r0!, {r2,r4,r6}\n\ + ldr r1, [r1]\n\ + str r1, [r0]\n\ +_080E86A8:\n\ + adds r5, 0x10\n\ + adds r3, 0x1\n\ + cmp r3, 0x2\n\ + ble _080E8666\n\ + ldr r3, [sp, 0xC]\n\ + cmp r3, 0\n\ + bne _080E86CE\n\ + ldr r0, =gUnknown_03001168\n\ + ldr r4, [sp, 0x38]\n\ + adds r0, r4, r0\n\ + ldr r0, [r0]\n\ + mov r5, r9\n\ + adds r2, r7, r5\n\ + mov r1, r10\n\ + adds r0, r2\n\ + ldm r0!, {r2,r3,r6}\n\ + stm r1!, {r2,r3,r6}\n\ + ldr r0, [r0]\n\ + str r0, [r1]\n\ +_080E86CE:\n\ + movs r4, 0x10\n\ + add r10, r4\n\ + movs r5, 0x1\n\ + add r8, r5\n\ + ldr r6, [sp, 0x24]\n\ + cmp r8, r6\n\ + blt _080E864A\n\ +_080E86DC:\n\ + ldr r0, [sp, 0x44]\n\ + adds r0, 0x60\n\ + str r0, [sp, 0x44]\n\ + ldr r1, [sp, 0x48]\n\ + adds r1, 0x30\n\ + str r1, [sp, 0x48]\n\ + ldr r2, [sp, 0x8]\n\ + adds r2, 0x1\n\ + str r2, [sp, 0x8]\n\ + cmp r2, 0x1\n\ + bgt _080E86F4\n\ + b _080E85DC\n\ +_080E86F4:\n\ + ldr r3, [sp, 0x28]\n\ + str r3, [sp, 0x4]\n\ + cmp r3, 0x8\n\ + bgt _080E86FE\n\ + b _080E85BE\n\ +_080E86FE:\n\ + movs r4, 0\n\ + str r4, [sp, 0x8]\n\ +_080E8702:\n\ + ldr r5, [sp, 0x8]\n\ + adds r5, 0x1\n\ + str r5, [sp, 0x2C]\n\ + ldr r0, =gSaveBlock2Ptr\n\ + ldr r1, [r0]\n\ + movs r0, 0x54\n\ + ldr r6, [sp, 0x8]\n\ + muls r0, r6\n\ + adds r3, r0, r1\n\ + movs r0, 0xA8\n\ + muls r0, r6\n\ + ldr r1, [sp]\n\ + adds r2, r0, r1\n\ + movs r4, 0x2\n\ + mov r8, r4\n\ +_080E8720:\n\ + movs r5, 0xD8\n\ + lsls r5, 3\n\ + adds r0, r2, r5\n\ + ldr r6, =0x0000057c\n\ + adds r1, r3, r6\n\ + ldm r1!, {r4-r6}\n\ + stm r0!, {r4-r6}\n\ + ldm r1!, {r4-r6}\n\ + stm r0!, {r4-r6}\n\ + ldr r1, [r1]\n\ + str r1, [r0]\n\ + adds r3, 0x1C\n\ + adds r2, 0x1C\n\ + movs r0, 0x1\n\ + negs r0, r0\n\ + add r8, r0\n\ + mov r1, r8\n\ + cmp r1, 0\n\ + bge _080E8720\n\ + movs r2, 0\n\ + mov r8, r2\n\ + ldr r3, [sp, 0x24]\n\ + cmp r8, r3\n\ + blt _080E8752\n\ + b _080E885A\n\ +_080E8752:\n\ + ldr r4, [sp, 0x8]\n\ + lsls r1, r4, 3\n\ + movs r0, 0xA8\n\ + adds r5, r4, 0\n\ + muls r5, r0\n\ + str r5, [sp, 0x20]\n\ + str r5, [sp, 0x3C]\n\ + subs r1, r4\n\ + lsls r1, 2\n\ + mov r10, r1\n\ +_080E8766:\n\ + movs r6, 0\n\ + str r6, [sp, 0xC]\n\ + mov r0, r8\n\ + lsls r0, 2\n\ + str r0, [sp, 0x38]\n\ + mov r1, r8\n\ + adds r1, 0x1\n\ + str r1, [sp, 0x30]\n\ + ldr r0, =gUnknown_03001168\n\ + ldr r2, [sp, 0x38]\n\ + adds r2, r0\n\ + mov r9, r2\n\ + ldr r3, [sp]\n\ + movs r4, 0xD8\n\ + lsls r4, 3\n\ + adds r0, r3, r4\n\ + ldr r5, [sp, 0x3C]\n\ + adds r7, r5, r0\n\ + str r6, [sp, 0x40]\n\ + movs r3, 0x2\n\ +_080E878E:\n\ + ldr r1, [sp, 0x20]\n\ + movs r2, 0xD8\n\ + lsls r2, 3\n\ + adds r0, r1, r2\n\ + ldr r4, [sp]\n\ + adds r0, r4, r0\n\ + ldr r6, [sp, 0x40]\n\ + adds r5, r0, r6\n\ + adds r0, r5, 0\n\ + str r3, [sp, 0x4C]\n\ + bl ReadUnalignedWord\n\ + adds r4, r0, 0\n\ + movs r6, 0x90\n\ + lsls r6, 1\n\ + add r6, r10\n\ + mov r1, r9\n\ + ldr r0, [r1]\n\ + adds r0, r6\n\ + bl ReadUnalignedWord\n\ + ldr r3, [sp, 0x4C]\n\ + cmp r4, r0\n\ + bne _080E8808\n\ + adds r0, r5, 0x4\n\ + bl ReadUnalignedWord\n\ + adds r4, r0, 0\n\ + mov r2, r9\n\ + ldr r0, [r2]\n\ + adds r0, r6\n\ + adds r0, 0x4\n\ + bl ReadUnalignedWord\n\ + ldr r3, [sp, 0x4C]\n\ + cmp r4, r0\n\ + bne _080E8808\n\ + ldr r4, [sp, 0xC]\n\ + adds r4, 0x1\n\ + str r4, [sp, 0xC]\n\ + mov r5, r9\n\ + ldr r0, [r5]\n\ + mov r6, r10\n\ + adds r2, r0, r6\n\ + movs r0, 0x94\n\ + lsls r0, 1\n\ + adds r1, r2, r0\n\ + ldrh r0, [r7, 0x8]\n\ + ldrh r1, [r1]\n\ + cmp r0, r1\n\ + bcs _080E8808\n\ + adds r0, r7, 0\n\ + movs r4, 0x90\n\ + lsls r4, 1\n\ + adds r1, r2, r4\n\ + ldm r1!, {r2,r5,r6}\n\ + stm r0!, {r2,r5,r6}\n\ + ldm r1!, {r4-r6}\n\ + stm r0!, {r4-r6}\n\ + ldr r1, [r1]\n\ + str r1, [r0]\n\ +_080E8808:\n\ + adds r7, 0x1C\n\ + ldr r0, [sp, 0x40]\n\ + adds r0, 0x1C\n\ + str r0, [sp, 0x40]\n\ + subs r3, 0x1\n\ + cmp r3, 0\n\ + bge _080E878E\n\ + ldr r1, [sp, 0xC]\n\ + cmp r1, 0\n\ + bne _080E8850\n\ + mov r0, r8\n\ + adds r0, 0x3\n\ + lsls r1, r0, 3\n\ + subs r1, r0\n\ + lsls r1, 2\n\ + ldr r2, [sp, 0x20]\n\ + adds r1, r2\n\ + ldr r3, [sp]\n\ + adds r1, r3, r1\n\ + ldr r0, =gUnknown_03001168\n\ + ldr r4, [sp, 0x38]\n\ + adds r0, r4, r0\n\ + ldr r0, [r0]\n\ + add r0, r10\n\ + movs r5, 0xD8\n\ + lsls r5, 3\n\ + adds r1, r5\n\ + movs r6, 0x90\n\ + lsls r6, 1\n\ + adds r0, r6\n\ + ldm r0!, {r2-r4}\n\ + stm r1!, {r2-r4}\n\ + ldm r0!, {r2,r5,r6}\n\ + stm r1!, {r2,r5,r6}\n\ + ldr r0, [r0]\n\ + str r0, [r1]\n\ +_080E8850:\n\ + ldr r3, [sp, 0x30]\n\ + mov r8, r3\n\ + ldr r4, [sp, 0x24]\n\ + cmp r8, r4\n\ + blt _080E8766\n\ +_080E885A:\n\ + ldr r5, [sp, 0x2C]\n\ + str r5, [sp, 0x8]\n\ + cmp r5, 0x1\n\ + bgt _080E8864\n\ + b _080E8702\n\ +_080E8864:\n\ + add sp, 0x54\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\ + "); +} + +static void sub_80E8880(struct UnknownRecMixingStruct *arg0, struct UnknownRecMixingStruct *arg1) +{ + s32 i, j; + + for (i = 0; i < 3; i++) + { + s32 r2 = 0; + s32 r4 = -1; + for (j = 0; j < 6; j++) + { + if (arg1[j].field_4 > r2) + { + r4 = j; + r2 = arg1[j].field_4; + } + } + + if (r4 >= 0) + { + arg0[i] = arg1[r4]; + arg1[r4].field_4 = 0; + } + } +} + +static void sub_80E88CC(struct UnknownRecMixingStruct2 *arg0, struct UnknownRecMixingStruct2 *arg1) +{ + s32 i, j; + + for (i = 0; i < 3; i++) + { + s32 r2 = 0; + s32 r4 = -1; + for (j = 0; j < 6; j++) + { + if (arg1[j].field_8 > r2) + { + r4 = j; + r2 = arg1[j].field_8; + } + } + + if (r4 >= 0) + { + arg0[i] = arg1[r4]; + arg1[r4].field_8 = 0; + } + } +} + +NAKED +static void sub_80E8924(struct UnknownRecMixingStruct3 *arg0) +{ + asm_unified("push {r4-r7,lr}\n\ + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + mov r9, r0\n\ + movs r0, 0\n\ + ldr r1, =gSaveBlock2Ptr\n\ + mov r10, r1\n\ +_080E8936:\n\ + lsls r1, r0, 1\n\ + adds r2, r0, 0x1\n\ + mov r8, r2\n\ + adds r1, r0\n\ + lsls r0, r1, 5\n\ + movs r2, 0x87\n\ + lsls r2, 2\n\ + adds r7, r0, r2\n\ + lsls r1, 6\n\ + mov r0, r9\n\ + adds r4, r0, r1\n\ + movs r6, 0\n\ + movs r5, 0x1\n\ +_080E8950:\n\ + mov r1, r10\n\ + ldr r0, [r1]\n\ + adds r0, r7\n\ + adds r0, r6\n\ + adds r1, r4, 0\n\ + bl sub_80E8880\n\ + adds r4, 0x60\n\ + adds r6, 0x30\n\ + subs r5, 0x1\n\ + cmp r5, 0\n\ + bge _080E8950\n\ + mov r0, r8\n\ + cmp r0, 0x8\n\ + ble _080E8936\n\ + movs r5, 0\n\ + ldr r4, =gSaveBlock2Ptr\n\ +_080E8972:\n\ + movs r0, 0x54\n\ + adds r1, r5, 0\n\ + muls r1, r0\n\ + ldr r2, =0x0000057c\n\ + adds r1, r2\n\ + ldr r0, [r4]\n\ + adds r0, r1\n\ + movs r1, 0xA8\n\ + muls r1, r5\n\ + movs r2, 0xD8\n\ + lsls r2, 3\n\ + adds r1, r2\n\ + add r1, r9\n\ + bl sub_80E88CC\n\ + adds r5, 0x1\n\ + cmp r5, 0x1\n\ + ble _080E8972\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"); +} + +static void sub_80E89AC(struct UnkRecordMixingStruct2 *arg0, size_t arg1, u32 arg2) +{ + u8 linkPlayerCount = GetLinkPlayerCount(); + struct UnknownRecMixingStruct3 *largeStructPtr = AllocZeroed(sizeof(struct UnknownRecMixingStruct3)); + + sub_80E8578(largeStructPtr, arg0, arg1, arg2, linkPlayerCount); + sub_80E8924(largeStructPtr); + + Free(largeStructPtr); +} + +static void sub_80E89F8(struct RecordMixingDayCareMail *dst) +{ + gUnknown_02039F9C.mail[0] = gSaveBlock1Ptr->daycare.mons[0].mail; + gUnknown_02039F9C.mail[1] = gSaveBlock1Ptr->daycare.mons[1].mail; + InitDaycareMailRecordMixing(&gSaveBlock1Ptr->daycare, &gUnknown_02039F9C); + *dst = *gUnknown_03001148; +} + +static void SanitizeDayCareMailForRuby(struct RecordMixingDayCareMail *src) +{ + s32 i; + + for (i = 0; i < src->numDaycareMons; i++) + { + struct DayCareMail *mail = &src->mail[i]; + if (mail->message.itemId != 0) + { + if (mail->gameLanguage != LANGUAGE_JAPANESE) + PadNameString(mail->OT_name, 0xFC); + + ConvertInternationalString(mail->monName, mail->monLanguage); + } + } +} + +static void SanitizeRubyBattleTowerRecord(struct RSBattleTowerRecord *src) +{ + +} + +static void SanitizeEmeraldBattleTowerRecord(struct EmeraldBattleTowerRecord *dst) +{ + s32 i; + + for (i = 0; i < 4; i++) + { + struct UnknownPokemonStruct *towerMon = &dst->party[i]; + if (towerMon->species != 0) + StripExtCtrlCodes(towerMon->nickname); + } + + CalcEmeraldBattleTowerChecksum(dst); +} diff --git a/src/recorded_battle.c b/src/recorded_battle.c index 4cb2eab49..eb48ab15a 100644 --- a/src/recorded_battle.c +++ b/src/recorded_battle.c @@ -475,7 +475,7 @@ u32 MoveRecordedBattleToSaveData(void) } #else -ASM_DIRECT +NAKED u32 MoveRecordedBattleToSaveData(void) { asm(".syntax unified\n\ diff --git a/src/rom_8034C54.c b/src/rom_8034C54.c index 4d4492524..42df51295 100644 --- a/src/rom_8034C54.c +++ b/src/rom_8034C54.c @@ -1,5 +1,453 @@ #include "global.h" +#include "rom_8034C54.h" +#include "malloc.h" +#include "decompress.h" +#include "main.h" -IWRAM_DATA u32 gUnknown_03000DD4; -IWRAM_DATA u32 gUnknown_03000DD8; -IWRAM_DATA u32 gUnknown_03000DDC; +struct UnkStruct2 +{ + bool8 isActive; + u8 firstOamId; + u8 field_2; + u8 oamCount; + u8 palTagIndex; + u8 size; + u8 shape; + u8 priority; + u8 xDelta; + u8 field_9; + u16 tileStart; + s16 x; + s16 y; + u16 tileTag; + u16 palTag; + u32 field_14; + s32 field_18; +}; + +struct UnkStruct1 +{ + u32 count; + struct UnkStruct2 *array; +}; + +extern struct UnkStruct1 *gUnknown_02022E10; + +extern const struct SpriteTemplate gUnknown_0831AC88; + +// this file's functions +static u8 sub_8035518(u8 arg0);; +static void sub_8034EFC(struct UnkStruct2 *arg0); +static void sub_80350B0(struct UnkStruct2 *arg0, s32 arg1, bool32 arg2); +static void sub_8035164(struct UnkStruct2 *arg0, s32 arg1, bool32 arg2); +static void sub_80352C0(struct UnkStruct2 *arg0, s32 arg1, bool32 arg2); +static bool32 SharesTileWithAnyActive(u32 id); +static bool32 SharesPalWithAnyActive(u32 id); +static void sub_8035648(void); + +// iwram +static IWRAM_DATA s32 gUnknown_03000DD4; +static IWRAM_DATA s32 gUnknown_03000DD8; +static IWRAM_DATA s32 gUnknown_03000DDC; + +// const rom data +static const u8 gUnknown_082FF1C8[][4] = +{ + {0x01, 0x04, 0x10, 0x40}, + {0x02, 0x04, 0x08, 0x20}, + {0x02, 0x04, 0x08, 0x20}, + {0x00, 0x00, 0x00, 0x00} +}; + +// code +bool32 sub_8034C54(u32 count) +{ + u32 i; + + if (gUnknown_02022E10 != NULL) + sub_8034CC8(); + + gUnknown_02022E10 = Alloc(sizeof(*gUnknown_02022E10)); + if (gUnknown_02022E10 == NULL) + return FALSE; + + gUnknown_02022E10->array = Alloc(sizeof(struct UnkStruct2) * count); + if (gUnknown_02022E10->array == NULL) + { + Free(gUnknown_02022E10); + return FALSE; + } + + gUnknown_02022E10->count = count; + for (i = 0; i < count; i++) + { + gUnknown_02022E10->array[i].isActive = FALSE; + gUnknown_02022E10->array[i].firstOamId |= 0xFF; + } + + return TRUE; +} + +void sub_8034CC8(void) +{ + if (gUnknown_02022E10 != NULL) + { + if (gUnknown_02022E10->array != NULL) + { + u32 i; + + for (i = 0; i < gUnknown_02022E10->count; i++) + sub_80353DC(i); + + Free(gUnknown_02022E10->array); + } + + FREE_AND_SET_NULL(gUnknown_02022E10); + } +} + +bool32 sub_8034D14(u32 id, s32 arg1, const struct UnkStruct3 *arg2) +{ + u32 i; + + if (gUnknown_02022E10 == NULL) + return FALSE; + if (gUnknown_02022E10->array[id].isActive) + return FALSE; + + gUnknown_02022E10->array[id].firstOamId = sub_8035518(arg2->field_1); + if (gUnknown_02022E10->array[id].firstOamId == 0xFF) + return FALSE; + + gUnknown_02022E10->array[id].tileStart = GetSpriteTileStartByTag(arg2->spriteSheet->tag); + if (gUnknown_02022E10->array[id].tileStart == 0xFFFF) + { + if (arg2->spriteSheet->size != 0) + { + gUnknown_02022E10->array[id].tileStart = LoadSpriteSheet(arg2->spriteSheet); + } + else + { + struct CompressedSpriteSheet compSpriteSheet; + + compSpriteSheet = *(struct CompressedSpriteSheet*)(arg2->spriteSheet); + compSpriteSheet.size = GetDecompressedDataSize(arg2->spriteSheet->data); + gUnknown_02022E10->array[id].tileStart = LoadCompressedObjectPic(&compSpriteSheet); + } + + if (gUnknown_02022E10->array[id].tileStart == 0xFFFF) + return FALSE; + } + + gUnknown_02022E10->array[id].palTagIndex = IndexOfSpritePaletteTag(arg2->spritePal->tag); + if (gUnknown_02022E10->array[id].palTagIndex == 0xFF) + gUnknown_02022E10->array[id].palTagIndex = LoadSpritePalette(arg2->spritePal); + + gUnknown_02022E10->array[id].field_2 = arg2->field_0_0; + gUnknown_02022E10->array[id].oamCount = arg2->field_1; + gUnknown_02022E10->array[id].x = arg2->x; + gUnknown_02022E10->array[id].y = arg2->y; + gUnknown_02022E10->array[id].shape = arg2->shape; + gUnknown_02022E10->array[id].size = arg2->size; + gUnknown_02022E10->array[id].priority = arg2->priority; + gUnknown_02022E10->array[id].xDelta = arg2->xDelta; + gUnknown_02022E10->array[id].field_9 = sub_80355F8(arg2->shape, arg2->size); + gUnknown_02022E10->array[id].tileTag = arg2->spriteSheet->tag; + gUnknown_02022E10->array[id].palTag = arg2->spritePal->tag; + gUnknown_02022E10->array[id].isActive = TRUE; + gUnknown_02022E10->array[id].field_14 = 1; + + for (i = 1; i < arg2->field_1; i++) + gUnknown_02022E10->array[id].field_14 *= 10; + + sub_8034EFC(&gUnknown_02022E10->array[id]); + sub_8035044(id, arg1); + + return TRUE; +} + +static void sub_8034EFC(struct UnkStruct2 *arg0) +{ + u32 i; + u32 oamId = arg0->firstOamId; + u32 x = arg0->x; + u32 oamCount = arg0->oamCount + 1; + + CpuFill16(0, &gMain.oamBuffer[oamId], sizeof(struct OamData) * oamCount); + for (i = 0, oamId = arg0->firstOamId; i < oamCount; i++, oamId++) + { + gMain.oamBuffer[oamId].y = arg0->y; + gMain.oamBuffer[oamId].x = x; + gMain.oamBuffer[oamId].shape = arg0->shape; + gMain.oamBuffer[oamId].size = arg0->size; + gMain.oamBuffer[oamId].tileNum = arg0->tileStart; + gMain.oamBuffer[oamId].priority = arg0->priority; + gMain.oamBuffer[oamId].paletteNum = arg0->palTagIndex; + + x += arg0->xDelta; + } + + oamId--; + gMain.oamBuffer[oamId].x = arg0->x - arg0->xDelta; + gMain.oamBuffer[oamId].affineMode = 2; + gMain.oamBuffer[oamId].tileNum = arg0->tileStart + (arg0->field_9 * 10); +} + +void sub_8035044(u32 id, s32 arg1) +{ + bool32 r2; + + if (gUnknown_02022E10 == NULL) + return; + if (!gUnknown_02022E10->array[id].isActive) + return; + + gUnknown_02022E10->array[id].field_18 = arg1; + if (arg1 < 0) + { + r2 = TRUE; + arg1 *= -1; + } + else + { + r2 = FALSE; + } + + switch (gUnknown_02022E10->array[id].field_2) + { + case 0: + default: + sub_80350B0(&gUnknown_02022E10->array[id], arg1, r2); + break; + case 1: + sub_8035164(&gUnknown_02022E10->array[id], arg1, r2); + break; + case 2: + sub_80352C0(&gUnknown_02022E10->array[id], arg1, r2); + break; + } +} + +static void sub_80350B0(struct UnkStruct2 *arg0, s32 arg1, bool32 arg2) +{ + u32 r5 = arg0->field_14; + u32 oamId = arg0->firstOamId; + + while (r5 != 0) + { + u32 r4 = arg1 / r5; + arg1 -= (r4 * r5); + r5 /= 10; + + gMain.oamBuffer[oamId].tileNum = (r4 * arg0->field_9) + arg0->tileStart; + oamId++; + } + + if (arg2) + gMain.oamBuffer[oamId].affineMode = 0; + else + gMain.oamBuffer[oamId].affineMode = 2; +} + +static void sub_8035164(struct UnkStruct2 *arg0, s32 arg1, bool32 arg2) +{ + u32 r5 = arg0->field_14; + gUnknown_03000DD4 = arg0->firstOamId; + gUnknown_03000DD8 = 0; + gUnknown_03000DDC = -1; + + while (r5 != 0) + { + u32 r4 = arg1 / r5; + arg1 -= (r4 * r5); + r5 /= 10; + + if (r4 != 0 || gUnknown_03000DDC != -1 || r5 == 0) + { + gMain.oamBuffer[gUnknown_03000DD4].tileNum = (r4 * arg0->field_9) + arg0->tileStart; + gMain.oamBuffer[gUnknown_03000DD4].affineMode = 0; + + if (gUnknown_03000DDC == -1) + gUnknown_03000DDC = gUnknown_03000DD8; + } + else + { + gMain.oamBuffer[gUnknown_03000DD4].affineMode = 2; + } + + gUnknown_03000DD4++; + gUnknown_03000DD8++; + } + + if (arg2) + { + gMain.oamBuffer[gUnknown_03000DD4].affineMode = 0; + gMain.oamBuffer[gUnknown_03000DD4].x = arg0->x + ((gUnknown_03000DDC - 1) * arg0->xDelta); + } + else + { + gMain.oamBuffer[gUnknown_03000DD4].affineMode = 2; + } +} + +static void sub_80352C0(struct UnkStruct2 *arg0, s32 arg1, bool32 arg2) +{ + u32 r5 = arg0->field_14; + u32 oamId = arg0->firstOamId; + u32 var_28 = 0; + s32 r9 = 0; + + while (r5 != 0) + { + u32 r4 = arg1 / r5; + arg1 -= (r4 * r5); + r5 /= 10; + + if (r4 != 0 || var_28 != 0 || r5 == 0) + { + var_28 = 1; + gMain.oamBuffer[oamId].tileNum = (r4 * arg0->field_9) + arg0->tileStart; + gMain.oamBuffer[oamId].affineMode = 0; + + oamId++; + r9++; + } + } + + while (r9 < arg0->oamCount) + { + gMain.oamBuffer[oamId].affineMode = 2; + oamId++; + r9++; + } + + if (arg2) + gMain.oamBuffer[oamId].affineMode = 0; + else + gMain.oamBuffer[oamId].affineMode = 2; +} + +void sub_80353DC(u32 id) +{ + s32 oamId, oamCount, i; + + if (gUnknown_02022E10 == NULL) + return; + if (!gUnknown_02022E10->array[id].isActive) + return; + + oamCount = gUnknown_02022E10->array[id].oamCount + 1; + oamId = gUnknown_02022E10->array[id].firstOamId; + + for (i = 0; i < oamCount; i++, oamId++) + gMain.oamBuffer[oamId].affineMode = 2; + + if (!SharesTileWithAnyActive(id)) + FreeSpriteTilesByTag(gUnknown_02022E10->array[id].tileTag); + if (!SharesPalWithAnyActive(id)) + FreeSpritePaletteByTag(gUnknown_02022E10->array[id].palTag); + + gUnknown_02022E10->array[id].isActive = FALSE; +} + +void sub_803547C(u32 id, bool32 arg1) +{ + s32 oamId, oamCount, i; + + if (gUnknown_02022E10 == NULL) + return; + if (!gUnknown_02022E10->array[id].isActive) + return; + + oamCount = gUnknown_02022E10->array[id].oamCount + 1; + oamId = gUnknown_02022E10->array[id].firstOamId; + if (arg1) + { + for (i = 0; i < oamCount; i++, oamId++) + gMain.oamBuffer[oamId].affineMode = 2; + } + else + { + for (i = 0; i < oamCount; i++, oamId++) + gMain.oamBuffer[oamId].affineMode = 0; + + sub_8035044(id, gUnknown_02022E10->array[id].field_18); + } +} + +static u8 sub_8035518(u8 arg0) +{ + u32 i; + u16 oamCount = 64; + + for (i = 0; i < gUnknown_02022E10->count; i++) + { + if (!gUnknown_02022E10->array[i].isActive) + { + if (gUnknown_02022E10->array[i].firstOamId != 0xFF && gUnknown_02022E10->array[i].oamCount <= arg0) + return gUnknown_02022E10->array[i].firstOamId; + } + else + { + oamCount += 1 + gUnknown_02022E10->array[i].oamCount; + } + } + + if (oamCount + arg0 + 1 > 128) + return 0xFF; + else + return oamCount; +} + +static bool32 SharesTileWithAnyActive(u32 id) +{ + u32 i; + + for (i = 0; i < gUnknown_02022E10->count; i++) + { + if (gUnknown_02022E10->array[i].isActive && i != id + && gUnknown_02022E10->array[i].tileTag == gUnknown_02022E10->array[id].tileTag) + { + return TRUE; + } + } + + return FALSE; +} + +static bool32 SharesPalWithAnyActive(u32 id) +{ + u32 i; + + for (i = 0; i < gUnknown_02022E10->count; i++) + { + if (gUnknown_02022E10->array[i].isActive && i != id + && gUnknown_02022E10->array[i].palTag == gUnknown_02022E10->array[id].palTag) + { + return TRUE; + } + } + + return FALSE; +} + +u8 sub_80355F8(u32 arg0, u32 arg1) +{ + return gUnknown_082FF1C8[arg0][arg1]; +} + +static void sub_8035608(void) +{ + u8 spriteId; + + ResetSpriteData(); + spriteId = CreateSprite(&gUnknown_0831AC88, 0, 0, 0); + gSprites[spriteId].invisible = 1; + SetMainCallback2(sub_8035648); +} + +static void sub_8035648(void) +{ + AnimateSprites(); + BuildOamBuffer(); +} diff --git a/src/rotating_gate.c b/src/rotating_gate.c index db5935fc3..b07814f58 100644 --- a/src/rotating_gate.c +++ b/src/rotating_gate.c @@ -646,7 +646,7 @@ static void RotatingGate_ResetAllGateOrientations(void) s32 i; u8 *ptr; - ptr = (u8 *)GetVarPointer(VAR_0x4000); + ptr = (u8 *)GetVarPointer(VAR_TEMP_0); for (i = 0; i < gRotatingGate_PuzzleCount; i++) { @@ -656,12 +656,12 @@ static void RotatingGate_ResetAllGateOrientations(void) static s32 RotatingGate_GetGateOrientation(u8 gateId) { - return ((u8 *)GetVarPointer(VAR_0x4000))[gateId]; + return ((u8 *)GetVarPointer(VAR_TEMP_0))[gateId]; } static void RotatingGate_SetGateOrientation(u8 gateId, u8 orientation) { - ((u8 *)GetVarPointer(VAR_0x4000))[gateId] = orientation; + ((u8 *)GetVarPointer(VAR_TEMP_0))[gateId] = orientation; } static void RotatingGate_RotateInDirection(u8 gateId, u32 rotationDirection) @@ -925,7 +925,7 @@ static s32 RotatingGate_CanRotate(u8 gateId, s16 rotationDirection) } #else -ASM_DIRECT +NAKED static s32 RotatingGate_CanRotate(u8 a, s16 rotationDirection) { asm(".syntax unified\n\ diff --git a/src/secret_base.c b/src/secret_base.c index cd6143ed0..44e980c43 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -10,7 +10,6 @@ #include "list_menu.h" #include "menu.h" #include "menu_helpers.h" -#include "menu_indicators.h" #include "constants/maps.h" #include "constants/songs.h" #include "constants/species.h" @@ -40,8 +39,6 @@ #include "tv.h" #include "secret_base.h" -extern void (*gFieldCallback)(void); - extern void mapldr_default(void); // Static type declarations @@ -416,7 +413,7 @@ bool8 sub_80E909C(void) void sub_80E90C8(u8 taskId) { FieldObjectTurn(&gMapObjects[gPlayerAvatar.mapObjectId], DIR_NORTH); - if (sub_80ABDFC() == TRUE) + if (IsWeatherNotFadingIn() == TRUE) { EnableBothScriptContexts(); DestroyTask(taskId); @@ -594,7 +591,7 @@ void sub_80E9578(void) void sub_80E95D4(void) { - VarSet(VAR_0x401F, gUnknown_0858D060[sub_80EA20C(VarGet(VAR_0x4054))]); + VarSet(VAR_OBJ_GFX_ID_F, gUnknown_0858D060[sub_80EA20C(VarGet(VAR_0x4054))]); } void sub_80E9608(struct Coords16 *coords, struct MapEvents *events) @@ -1676,7 +1673,7 @@ void sub_80EAEF4(struct SecretBaseRecordMixer *mixers) sub_80EABA4(&mixers[2], 0); } -void sub_80EAF80(void *records, size_t recordSize, u8 linkIdx) +void ReceiveSecretBasesData(void *records, size_t recordSize, u8 linkIdx) { struct SecretBaseRecordMixer mixers[3]; u16 i; diff --git a/src/text.c b/src/text.c index eacfd2a1f..f7c68f549 100644 --- a/src/text.c +++ b/src/text.c @@ -375,7 +375,7 @@ void GenerateFontHalfRowLookupTable(u8 fgColor, u8 bgColor, u8 shadowColor) *(current++) = (shadowColor << 12) | (shadowColor << 8) | (shadowColor << 4) | shadowColor; } #else -ASM_DIRECT +NAKED void GenerateFontHalfRowLookupTable(u8 fgColor, u8 bgColor, u8 shadowColor) { asm("push {r4-r7,lr}\n\ @@ -871,7 +871,7 @@ void DecompressGlyphTile(const u16 *src, u16 *dest) *(dest) = (gFontHalfRowLookupTable[gFontHalfRowOffsets[src[1] & 0xFF]] << 16) | gFontHalfRowLookupTable[gFontHalfRowOffsets[src[1] >> 8]]; } #else -ASM_DIRECT +NAKED void DecompressGlyphTile(const u16 *src, u16 *dest) { asm("push {r4-r7,lr}\n\ @@ -1052,7 +1052,7 @@ u8 GetLastTextColor(u8 colorType) } } -ASM_DIRECT +NAKED void CopyGlyphToWindow(struct TextPrinter *x) { asm("push {r4-r7,lr}\n\ @@ -2341,7 +2341,7 @@ u16 RenderText(struct TextPrinter *textPrinter) return 1; } #else -__attribute__((naked)) +NAKED u16 RenderText(struct TextPrinter *textPrinter) { asm("push {r4-r6,lr}\n\ diff --git a/src/time_events.c b/src/time_events.c index 1f169a5c6..1f46e7705 100644 --- a/src/time_events.c +++ b/src/time_events.c @@ -81,7 +81,7 @@ void UpdateShoalTideFlag(void) 1, // 23 }; - if (is_light_level_1_2_3_5_or_6(get_map_light_from_warp0())) + if (is_map_type_1_2_3_5_or_6(get_map_light_from_warp0())) { RtcCalcLocalTime(); if (tide[gLocalTime.hours]) diff --git a/src/title_screen.c b/src/title_screen.c index 4e25c8152..15a0482dc 100644 --- a/src/title_screen.c +++ b/src/title_screen.c @@ -19,6 +19,7 @@ #include "gpu_regs.h" #include "trig.h" #include "constants/rgb.h" +#include "constants/songs.h" #define VERSION_BANNER_SHAPE 1 #define VERSION_BANNER_RIGHT_TILEOFFSET 64 @@ -574,7 +575,7 @@ void CB2_InitTitleScreen(void) | DISPCNT_OBJ_ON | DISPCNT_WIN0_ON | DISPCNT_OBJWIN_ON); - m4aSongNumStart(0x19D); + m4aSongNumStart(MUS_TITLE3); gMain.state = 5; break; case 5: @@ -3557,7 +3557,7 @@ void GetMomOrDadStringForTVMessage(void) if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(LITTLEROOT_TOWN_BRENDANS_HOUSE_1F)) { StringCopy(gStringVar1, gText_Mom); - VarSet(VAR_0x4003, 1); + VarSet(VAR_TEMP_3, 1); } } else @@ -3565,21 +3565,21 @@ void GetMomOrDadStringForTVMessage(void) if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(LITTLEROOT_TOWN_MAYS_HOUSE_1F)) { StringCopy(gStringVar1, gText_Mom); - VarSet(VAR_0x4003, 1); + VarSet(VAR_TEMP_3, 1); } } } - if (VarGet(VAR_0x4003) == 1) + if (VarGet(VAR_TEMP_3) == 1) { StringCopy(gStringVar1, gText_Mom); } - else if (VarGet(VAR_0x4003) == 2) + else if (VarGet(VAR_TEMP_3) == 2) { StringCopy(gStringVar1, gText_Dad); } - else if (VarGet(VAR_0x4003) > 2) + else if (VarGet(VAR_TEMP_3) > 2) { - if (VarGet(VAR_0x4003) % 2 == 0) + if (VarGet(VAR_TEMP_3) % 2 == 0) StringCopy(gStringVar1, gText_Mom); else StringCopy(gStringVar1, gText_Dad); @@ -3589,12 +3589,12 @@ void GetMomOrDadStringForTVMessage(void) if (Random() % 2 != 0) { StringCopy(gStringVar1, gText_Mom); - VarSet(VAR_0x4003, 1); + VarSet(VAR_TEMP_3, 1); } else { StringCopy(gStringVar1, gText_Dad); - VarSet(VAR_0x4003, 2); + VarSet(VAR_TEMP_3, 2); } } } @@ -3606,7 +3606,7 @@ void sub_80F01B8(void) FlagSet(0x396); } -void sub_80F01E8(void *src, u32 size, u8 masterIdx) +void ReceiveTvShowsData(void *src, u32 size, u8 masterIdx) { u8 i; u16 version; @@ -3931,7 +3931,7 @@ static void sub_80F0708(void) // FIXME: register allocation shenanigans } } #else -ASM_DIRECT static void sub_80F0708(void) +NAKED static void sub_80F0708(void) { asm_unified("\tpush {r4-r7,lr}\n" "\tmov r7, r9\n" @@ -4434,7 +4434,7 @@ static void sub_80F0C04(void) } } -void sub_80F0C7C(void *src, u32 size, u8 masterIdx) +void ReceivePokeNewsData(void *src, u32 size, u8 masterIdx) { u8 i; PokeNews (*rmBuffer2)[4][16]; diff --git a/src/util.c b/src/util.c index 4f9241b21..88be4e4a1 100644 --- a/src/util.c +++ b/src/util.c @@ -230,7 +230,7 @@ void CopySpriteTiles(u8 shape, u8 size, u8 *tiles, u16 *tilemap, u8 *output) } #else -ASM_DIRECT void CopySpriteTiles(u8 shape, u8 size, u8 *tiles, u16 *tilemap, u8 *output) +NAKED void CopySpriteTiles(u8 shape, u8 size, u8 *tiles, u16 *tilemap, u8 *output) { asm("\n\ .syntax unified\n\ diff --git a/src/walda_phrase.c b/src/walda_phrase.c index 04789bfb5..0aa6f5aca 100644 --- a/src/walda_phrase.c +++ b/src/walda_phrase.c @@ -6,8 +6,7 @@ #include "main.h" #include "text.h" #include "new_game.h" - -extern void (*gFieldCallback)(void); +#include "overworld.h" extern const u8 gText_Peekaboo[]; diff --git a/sym_bss.txt b/sym_bss.txt index 186ff8ced..0b861774b 100644 --- a/sym_bss.txt +++ b/sym_bss.txt @@ -29,11 +29,7 @@ .include "src/record_mixing.o" .include "src/tv.o" .include "src/mauville_old_man.o" - - .align 2 -gUnknown_0300117C: @ 300117C - .space 0x4 - + .include "src/menu_helpers.o" .include "src/region_map.o" gUnknown_03001188: @ 3001188 @@ -190,6 +186,6 @@ gMPlayTrack_SE3: @ 3001A20 .include "src/agb_flash.o" .include "src/siirtc.o" - .include "tools/agbcc/lib/libgcc.a:dp-bit.o" - .include "tools/agbcc/lib/libgcc.a:fp-bit.o" - .include "tools/agbcc/lib/libc.a:syscalls.o" + .include "*libgcc.a:dp-bit.o" + .include "*libgcc.a:fp-bit.o" + .include "*libc.a:syscalls.o" diff --git a/sym_common.txt b/sym_common.txt index 3a4556086..64bfa88ec 100644 --- a/sym_common.txt +++ b/sym_common.txt @@ -23,22 +23,7 @@ gBGTilemapBuffers2: @ 3005DA0 gBGTilemapBuffers3: @ 3005DA4 .space 0x4 -gUnknown_03005DA8: @ 3005DA8 - .space 0x4 - -gFieldCallback: @ 3005DAC - - .include "item_menu.o" - -gUnknown_03005DB0: @ 3005DB0 - .space 0x4 - -gUnknown_03005DB4: @ 3005DB4 - .space 0x4 - -gFieldLinkPlayerCount: @ 3005DB8 - .space 0x8 - + .include "overworld.o" .include "fieldmap.o" .include "field_camera.o" @@ -182,4 +167,4 @@ gUnknown_03007898: @ 3007898 .space 0x8 gUnknown_030078A0: @ 30078A0 - .space 0x660 + .space 0xC diff --git a/sym_ewram.txt b/sym_ewram.txt index ff75eb580..49fef1ad8 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -285,10 +285,7 @@ gUnknown_02038BC6: @ 2038BC6 .include "src/battle_setup.o" .include "src/trainer_see.o" .include "src/wild_encounter.o" - -gFieldEffectArguments: @ 2038C08 - .space 0x20 - + .include "src/field_effect.o" .include "src/scanline_effect.o" .include "src/option_menu.o" @@ -480,17 +477,7 @@ gUnknown_02039F90: @ 2039F90 .include "src/naming_screen.o" .include "src/money.o" - - .align 2 -gUnknown_02039F9C: @ 2039F9C - .space 0x78 - -gUnknown_0203A014: @ 203A014 - .space 0x4 - -gUnknown_0203A018: @ 203A018 - .space 0x4 - + .include "src/record_mixing.o" .include "src/secret_base.o" .include "src/tv.o" @@ -526,13 +513,7 @@ gUnknown_0203A120: @ 203A120 .include "src/mon_markings.o" .include "src/mauville_old_man.o" .include "src/mail.o" - -gUnknown_0203A138: @ 203A138 - .space 0x8 - -gUnknown_0203A140: @ 203A140 - .space 0x4 - + .include "src/menu_helpers.o" .include "src/region_map.o" .include "src/decoration.o" .align 2 @@ -835,13 +816,7 @@ gUnknown_0203CE54: @ 203CE54 .align 2 .include "src/item_menu.o" - -gUnknown_0203CE84: @ 203CE84 - .space 0x8 - -gUnknown_0203CE8C: @ 203CE8C - .space 0x10 - + .include "src/list_menu.o" .include "src/unk_text_util.o" .include "src/item_icon.o" |