summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile3
-rw-r--r--asm/battle_anim_effects_3.s1588
-rw-r--r--asm/contest_painting_effects.s2181
-rw-r--r--asm/pokenav.s6
-rw-r--r--common_syms/fieldmap.txt2
-rw-r--r--data/event_scripts.s2
-rw-r--r--data/field_effect_scripts.s2
-rw-r--r--data/maps/BattleFrontier_BattleArenaBattleRoom/events.inc4
-rw-r--r--data/maps/BattleFrontier_BattleDomeBattleRoom/events.inc4
-rw-r--r--data/maps/BattleFrontier_BattleFactoryBattleRoom/events.inc4
-rw-r--r--data/maps/BattleFrontier_BattlePalaceBattleRoom/events.inc4
-rw-r--r--data/maps/BattleFrontier_BattlePikeRandomRoom1/events.inc4
-rw-r--r--data/maps/BattleFrontier_BattleTowerBattleRoom/events.inc2
-rw-r--r--data/maps/BattleFrontier_BattleTowerBattleRoom2/events.inc8
-rw-r--r--data/maps/BattleFrontier_BattleTowerCorridor2/events.inc4
-rw-r--r--data/maps/BattleFrontier_BattleTowerLobby/events.inc2
-rw-r--r--data/maps/BattleFrontier_BattleTowerMultiBattleRoom/events.inc16
-rw-r--r--data/maps/BirthIsland_Exterior/scripts.inc8
-rw-r--r--data/maps/EverGrandeCity_ChampionsRoom/events.inc2
-rw-r--r--data/maps/FallarborTown_BattleTentBattleRoom/events.inc4
-rw-r--r--data/maps/LavaridgeTown/events.inc4
-rw-r--r--data/maps/LilycoveCity/events.inc2
-rw-r--r--data/maps/LilycoveCity_PokemonCenter_1F/events.inc4
-rw-r--r--data/maps/LinkContestRoom1/events.inc22
-rw-r--r--data/maps/LittlerootTown/events.inc2
-rw-r--r--data/maps/LittlerootTown_BrendansHouse_2F/events.inc24
-rw-r--r--data/maps/LittlerootTown_MaysHouse_2F/events.inc24
-rw-r--r--data/maps/LittlerootTown_ProfessorBirchsLab/events.inc2
-rw-r--r--data/maps/MauvilleCity_PokemonCenter_1F/events.inc2
-rw-r--r--data/maps/MossdeepCity_GameCorner_B1F/events.inc2
-rw-r--r--data/maps/OldaleTown/events.inc2
-rw-r--r--data/maps/Route103/events.inc2
-rw-r--r--data/maps/Route104/events.inc2
-rw-r--r--data/maps/Route110/events.inc4
-rw-r--r--data/maps/Route111/events.inc2
-rw-r--r--data/maps/Route119/events.inc4
-rw-r--r--data/maps/RustboroCity/events.inc2
-rw-r--r--data/maps/SecretBase_BlueCave1/events.inc30
-rw-r--r--data/maps/SecretBase_BlueCave2/events.inc30
-rw-r--r--data/maps/SecretBase_BlueCave3/events.inc30
-rw-r--r--data/maps/SecretBase_BlueCave4/events.inc30
-rw-r--r--data/maps/SecretBase_BrownCave1/events.inc30
-rw-r--r--data/maps/SecretBase_BrownCave2/events.inc30
-rw-r--r--data/maps/SecretBase_BrownCave3/events.inc30
-rw-r--r--data/maps/SecretBase_BrownCave4/events.inc30
-rw-r--r--data/maps/SecretBase_RedCave1/events.inc30
-rw-r--r--data/maps/SecretBase_RedCave2/events.inc30
-rw-r--r--data/maps/SecretBase_RedCave3/events.inc30
-rw-r--r--data/maps/SecretBase_RedCave4/events.inc30
-rw-r--r--data/maps/SecretBase_Shrub1/events.inc30
-rw-r--r--data/maps/SecretBase_Shrub2/events.inc30
-rw-r--r--data/maps/SecretBase_Shrub3/events.inc30
-rw-r--r--data/maps/SecretBase_Shrub4/events.inc30
-rw-r--r--data/maps/SecretBase_Tree1/events.inc30
-rw-r--r--data/maps/SecretBase_Tree2/events.inc30
-rw-r--r--data/maps/SecretBase_Tree3/events.inc30
-rw-r--r--data/maps/SecretBase_Tree4/events.inc30
-rw-r--r--data/maps/SecretBase_YellowCave1/events.inc30
-rw-r--r--data/maps/SecretBase_YellowCave2/events.inc30
-rw-r--r--data/maps/SecretBase_YellowCave3/events.inc30
-rw-r--r--data/maps/SecretBase_YellowCave4/events.inc30
-rw-r--r--data/maps/SlateportCity_BattleTentBattleRoom/events.inc4
-rw-r--r--data/maps/SootopolisCity_MysteryEventsHouse_B1F/events.inc2
-rw-r--r--data/maps/SouthernIsland_Interior/events.inc4
-rw-r--r--data/maps/UnionRoom/events.inc16
-rw-r--r--data/maps/VerdanturfTown_BattleTentBattleRoom/events.inc4
-rw-r--r--data/scripts/safari_zone.inc2
-rw-r--r--data/specials.inc6
-rw-r--r--include/constants/event_objects.h26
-rw-r--r--include/constants/field_effects.h2
-rw-r--r--include/constants/flags.h8
-rw-r--r--include/constants/rgb.h3
-rw-r--r--include/constants/vars.h8
-rw-r--r--include/event_scripts.h2
-rw-r--r--include/field_control_avatar.h5
-rw-r--r--include/field_screen_effect.h8
-rw-r--r--include/field_specials.h2
-rw-r--r--include/fieldmap.h19
-rw-r--r--include/fldeff.h4
-rw-r--r--include/overworld.h2
-rw-r--r--include/secret_base.h2
-rw-r--r--ld_script.txt2
-rwxr-xr-xsrc/battle_anim_effects_3.c544
-rw-r--r--src/battle_pyramid.c12
-rw-r--r--src/clock.c8
-rw-r--r--src/contest_painting_effects.c771
-rw-r--r--src/event_obj_lock.c11
-rw-r--r--src/event_object_movement.c4
-rw-r--r--src/field_control_avatar.c67
-rw-r--r--src/field_effect.c8
-rw-r--r--src/field_player_avatar.c11
-rw-r--r--src/field_screen_effect.c10
-rw-r--r--src/field_special_scene.c2
-rw-r--r--src/field_specials.c117
-rw-r--r--src/fieldmap.c269
-rw-r--r--src/fldeff_cut.c4
-rw-r--r--src/fldeff_misc.c10
-rwxr-xr-xsrc/item_use.c11
-rw-r--r--src/mossdeep_gym.c3
-rw-r--r--src/overworld.c30
-rw-r--r--src/pokemon_summary_screen.c64
-rw-r--r--src/record_mixing.c765
-rw-r--r--src/scrcmd.c21
-rw-r--r--src/secret_base.c2
-rw-r--r--src/tv.c4
105 files changed, 2286 insertions, 5269 deletions
diff --git a/Makefile b/Makefile
index 002eb790d..9027fad8a 100644
--- a/Makefile
+++ b/Makefile
@@ -38,7 +38,7 @@ ASFLAGS := -mcpu=arm7tdmi
CC1 := tools/agbcc/bin/agbcc$(EXE)
override CFLAGS += -mthumb-interwork -Wimplicit -Wparentheses -Werror -O2 -fhex-asm
-CPPFLAGS := -I tools/agbcc/include -I tools/agbcc -iquote include -nostdinc -undef
+CPPFLAGS := -I tools/agbcc/include -I tools/agbcc -iquote include
LDFLAGS = -Map ../../$(MAP)
@@ -186,4 +186,3 @@ $(ELF): $(OBJ_DIR)/ld_script.ld $(OBJS)
$(ROM): $(ELF)
$(OBJCOPY) -O binary $< $@
$(FIX) $@ -p -t"$(TITLE)" -c$(GAME_CODE) -m$(MAKER_CODE) -r$(REVISION) --silent
-
diff --git a/asm/battle_anim_effects_3.s b/asm/battle_anim_effects_3.s
deleted file mode 100644
index cfcfb93f9..000000000
--- a/asm/battle_anim_effects_3.s
+++ /dev/null
@@ -1,1588 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
- thumb_func_start sub_815F8F4
-sub_815F8F4: @ 815F8F4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r1, =gTasks
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- cmp r0, 0x4
- bls _0815F91A
- b _0815FE68
-_0815F91A:
- lsls r0, 2
- ldr r1, =_0815F92C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0815F92C:
- .4byte _0815F940
- .4byte _0815F9F4
- .4byte _0815FBE8
- .4byte _0815FD08
- .4byte _0815FD8C
-_0815F940:
- movs r0, 0
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, =gTasks
- mov r2, r8
- lsls r4, r2, 2
- adds r0, r4, r2
- lsls r0, 3
- adds r6, r0, r1
- movs r3, 0x80
- lsls r3, 4
- adds r0, r3, 0
- ldrh r1, [r6, 0xA]
- adds r0, r1
- strh r0, [r6, 0xA]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- mov r9, r4
- cmp r0, 0
- bne _0815F998
- ldr r2, =gSprites
- lsls r3, r7, 4
- adds r1, r3, r7
- lsls r1, 2
- adds r1, r2
- ldrh r0, [r6, 0xA]
- lsls r0, 16
- asrs r0, 24
- ldrh r4, [r1, 0x24]
- adds r0, r4
- strh r0, [r1, 0x24]
- b _0815F9B2
- .pool
-_0815F998:
- ldr r3, =gSprites
- lsls r4, r7, 4
- adds r2, r4, r7
- lsls r2, 2
- adds r2, r3
- ldrh r1, [r6, 0xA]
- lsls r1, 16
- asrs r1, 24
- ldrh r0, [r2, 0x24]
- subs r0, r1
- strh r0, [r2, 0x24]
- adds r2, r3, 0
- adds r3, r4, 0
-_0815F9B2:
- ldr r1, =gTasks
- mov r0, r9
- add r0, r8
- lsls r0, 3
- adds r4, r0, r1
- ldrb r0, [r4, 0xA]
- strh r0, [r4, 0xA]
- adds r1, r3, r7
- lsls r1, 2
- adds r1, r2
- ldrh r0, [r1, 0x24]
- ldrh r1, [r1, 0x20]
- adds r0, r1
- lsls r0, 16
- movs r1, 0x80
- lsls r1, 14
- adds r0, r1
- movs r1, 0x98
- lsls r1, 17
- cmp r0, r1
- bhi _0815F9DE
- b _0815FE68
-_0815F9DE:
- movs r0, 0
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _0815FE68
- .pool
-_0815F9F4:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _0815FA28
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r0, [r0, 0x18]
- ldr r2, [r0, 0x8]
- mov r10, r2
- ldr r3, [r0, 0xC]
- mov r9, r3
- ldrh r6, [r0]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSpriteSubpriority
- lsls r0, 24
- lsrs r4, r0, 24
- movs r7, 0
- b _0815FB4E
- .pool
-_0815FA28:
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _0815FAC8
- ldr r7, =gBattlerPartyIndexes
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r7
- ldrh r0, [r0]
- movs r6, 0x64
- muls r0, r6
- ldr r5, =gPlayerParty
- adds r0, r5
- movs r1, 0
- bl GetMonData
- mov r10, r0
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r7
- ldrh r0, [r0]
- muls r0, r6
- adds r0, r5
- movs r1, 0x1
- bl GetMonData
- mov r9, r0
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldrb r2, [r4]
- ldr r1, [r0]
- lsls r0, r2, 2
- adds r1, r0, r1
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- bne _0815FA9C
- lsls r0, r2, 1
- adds r0, r7
- ldrh r0, [r0]
- muls r0, r6
- adds r0, r5
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r6, r0, 16
- b _0815FA9E
- .pool
-_0815FA9C:
- ldrh r6, [r1, 0x2]
-_0815FA9E:
- movs r0, 0x1
- bl GetAnimBattlerSpriteId
- ldr r2, =gSprites
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x43
- ldrb r0, [r1]
- adds r0, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- movs r7, 0
- movs r5, 0x88
- lsls r5, 1
- b _0815FB50
- .pool
-_0815FAC8:
- ldr r7, =gBattlerPartyIndexes
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r7
- ldrh r0, [r0]
- movs r6, 0x64
- muls r0, r6
- ldr r5, =gEnemyParty
- adds r0, r5
- movs r1, 0
- bl GetMonData
- mov r10, r0
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r7
- ldrh r0, [r0]
- muls r0, r6
- adds r0, r5
- movs r1, 0x1
- bl GetMonData
- mov r9, r0
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldrb r2, [r4]
- ldr r1, [r0]
- lsls r0, r2, 2
- adds r1, r0, r1
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- bne _0815FB2C
- lsls r0, r2, 1
- adds r0, r7
- ldrh r0, [r0]
- muls r0, r6
- adds r0, r5
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r6, r0, 16
- b _0815FB2E
- .pool
-_0815FB2C:
- ldrh r6, [r1, 0x2]
-_0815FB2E:
- movs r0, 0x1
- bl GetAnimBattlerSpriteId
- ldr r2, =gSprites
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x43
- ldrb r0, [r1]
- subs r0, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- movs r7, 0x1
-_0815FB4E:
- ldr r5, =0x0000ffe0
-_0815FB50:
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- lsls r3, r5, 16
- asrs r3, 16
- str r0, [sp]
- str r4, [sp, 0x4]
- mov r4, r10
- str r4, [sp, 0x8]
- mov r0, r9
- str r0, [sp, 0xC]
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- str r0, [sp, 0x10]
- movs r0, 0
- str r0, [sp, 0x14]
- adds r0, r6, 0
- adds r1, r7, 0
- movs r2, 0
- bl sub_80A8394
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gBattleSpritesDataPtr
- ldr r1, [r0]
- ldrb r0, [r4]
- ldr r1, [r1]
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0, 0x2]
- cmp r0, 0
- beq _0815FBBA
- ldr r1, =gSprites
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x5]
- lsrs r0, 4
- lsls r0, 4
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- orrs r0, r1
- ldr r3, =0x00007fff
- movs r1, 0x10
- movs r2, 0x6
- bl BlendPalette
-_0815FBBA:
- ldr r0, =gTasks
- mov r3, r8
- lsls r1, r3, 2
- add r1, r8
- lsls r1, 3
- adds r1, r0
- strh r5, [r1, 0x26]
- b _0815FD7E
- .pool
-_0815FBE8:
- ldr r1, =gTasks
- mov r0, r8
- lsls r4, r0, 2
- adds r0, r4, r0
- lsls r0, 3
- adds r6, r0, r1
- ldrh r0, [r6, 0x26]
- lsls r0, 24
- lsrs r5, r0, 24
- movs r1, 0x80
- lsls r1, 4
- adds r0, r1, 0
- ldrh r2, [r6, 0xA]
- adds r0, r2
- strh r0, [r6, 0xA]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- mov r9, r4
- cmp r0, 0
- bne _0815FC40
- ldr r3, =gSprites
- lsls r4, r5, 4
- adds r2, r4, r5
- lsls r2, 2
- adds r2, r3
- ldrh r1, [r6, 0xA]
- lsls r1, 16
- asrs r1, 24
- ldrh r0, [r2, 0x24]
- subs r0, r1
- strh r0, [r2, 0x24]
- adds r2, r3, 0
- adds r3, r4, 0
- b _0815FC56
- .pool
-_0815FC40:
- ldr r2, =gSprites
- lsls r3, r5, 4
- adds r1, r3, r5
- lsls r1, 2
- adds r1, r2
- ldrh r0, [r6, 0xA]
- lsls r0, 16
- asrs r0, 24
- ldrh r4, [r1, 0x24]
- adds r0, r4
- strh r0, [r1, 0x24]
-_0815FC56:
- ldr r1, =gTasks
- mov r0, r9
- add r0, r8
- lsls r0, 3
- adds r6, r0, r1
- ldrb r0, [r6, 0xA]
- strh r0, [r6, 0xA]
- adds r1, r3, r5
- lsls r1, 2
- adds r1, r2
- ldrh r0, [r1, 0x24]
- ldrh r1, [r1, 0x20]
- adds r0, r1
- lsls r0, 16
- lsrs r5, r0, 16
- movs r1, 0x24
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _0815FCD6
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _0815FCB4
- lsls r4, r5, 16
- asrs r4, 16
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bge _0815FCD6
- b _0815FCCA
- .pool
-_0815FCB4:
- lsls r4, r5, 16
- asrs r4, 16
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- ble _0815FCD6
-_0815FCCA:
- ldrh r0, [r6, 0x24]
- adds r0, 0x1
- strh r0, [r6, 0x24]
- ldr r1, =gBattleAnimArgs
- ldr r0, =0x0000ffff
- strh r0, [r1, 0xE]
-_0815FCD6:
- lsls r0, r5, 16
- movs r2, 0x80
- lsls r2, 14
- adds r0, r2
- movs r1, 0x98
- lsls r1, 17
- cmp r0, r1
- bhi _0815FCE8
- b _0815FE68
-_0815FCE8:
- ldr r0, =gTasks
- mov r1, r9
- add r1, r8
- lsls r1, 3
- adds r1, r0
- movs r0, 0
- strh r0, [r1, 0xA]
- b _0815FD7E
- .pool
-_0815FD08:
- movs r0, 0
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, =gTasks
- mov r3, r8
- lsls r4, r3, 2
- adds r0, r4, r3
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x26]
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- ldr r5, =gSprites
- adds r0, r5
- bl sub_80A8610
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- mov r9, r4
- cmp r0, 0
- bne _0815FD60
- lsls r1, r7, 4
- adds r1, r7
- lsls r1, 2
- adds r1, r5
- ldrh r0, [r1, 0x20]
- negs r0, r0
- subs r0, 0x20
- strh r0, [r1, 0x24]
- b _0815FD74
- .pool
-_0815FD60:
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- adds r0, r5
- ldrh r2, [r0, 0x20]
- movs r4, 0x88
- lsls r4, 1
- adds r1, r4, 0
- subs r1, r2
- strh r1, [r0, 0x24]
-_0815FD74:
- ldr r0, =gTasks
- mov r1, r9
- add r1, r8
- lsls r1, 3
- adds r1, r0
-_0815FD7E:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _0815FE68
- .pool
-_0815FD8C:
- movs r0, 0
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, =gTasks
- mov r0, r8
- lsls r4, r0, 2
- adds r0, r4, r0
- lsls r0, 3
- adds r2, r0, r1
- movs r1, 0x80
- lsls r1, 4
- adds r0, r1, 0
- ldrh r3, [r2, 0xA]
- adds r0, r3
- strh r0, [r2, 0xA]
- ldr r0, =gBattleAnimAttacker
- mov r10, r0
- ldrb r0, [r0]
- str r2, [sp, 0x18]
- bl GetBattlerSide
- lsls r0, 24
- mov r9, r4
- ldr r2, [sp, 0x18]
- cmp r0, 0
- bne _0815FE0C
- ldr r1, =gSprites
- lsls r5, r7, 4
- adds r0, r5, r7
- lsls r0, 2
- adds r6, r0, r1
- ldrh r0, [r2, 0xA]
- lsls r0, 16
- asrs r0, 24
- ldrh r1, [r6, 0x24]
- adds r0, r1
- strh r0, [r6, 0x24]
- movs r2, 0x24
- ldrsh r4, [r6, r2]
- movs r3, 0x20
- ldrsh r0, [r6, r3]
- adds r4, r0
- mov r1, r10
- ldrb r0, [r1]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r3, r5, 0
- cmp r4, r0
- blt _0815FE44
- movs r2, 0
- strh r2, [r6, 0x24]
- b _0815FE44
- .pool
-_0815FE0C:
- ldr r1, =gSprites
- lsls r5, r7, 4
- adds r0, r5, r7
- lsls r0, 2
- adds r6, r0, r1
- ldrh r1, [r2, 0xA]
- lsls r1, 16
- asrs r1, 24
- ldrh r0, [r6, 0x24]
- subs r0, r1
- strh r0, [r6, 0x24]
- movs r3, 0x24
- ldrsh r4, [r6, r3]
- movs r1, 0x20
- ldrsh r0, [r6, r1]
- adds r4, r0
- mov r2, r10
- ldrb r0, [r2]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r3, r5, 0
- cmp r4, r0
- bgt _0815FE44
- movs r4, 0
- strh r4, [r6, 0x24]
-_0815FE44:
- ldr r1, =gTasks
- mov r0, r9
- add r0, r8
- lsls r0, 3
- adds r0, r1
- ldrb r1, [r0, 0xA]
- strh r1, [r0, 0xA]
- ldr r1, =gSprites
- adds r0, r3, r7
- lsls r0, 2
- adds r0, r1
- movs r1, 0x24
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _0815FE68
- mov r0, r8
- bl DestroyAnimVisualTask
-_0815FE68:
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_815F8F4
-
- thumb_func_start sub_815FE80
-sub_815FE80: @ 815FE80
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0815FE92
- cmp r0, 0x1
- beq _0815FF3A
- b _0815FFBC
-_0815FE92:
- ldr r0, =gBattleAnimArgs
- movs r2, 0xE
- ldrsh r1, [r0, r2]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _0815FF2C
- movs r0, 0x3F
- bl BattleAnimAdjustPanning
- adds r1, r0, 0
- lsls r1, 24
- asrs r1, 24
- movs r0, 0x7A
- bl PlaySE12WithPanning
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x10
- strh r0, [r4, 0x22]
- ldr r0, =0x0000ffe0
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x3C]
- adds r0, 0x1
- strh r0, [r4, 0x3C]
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0815FFBC
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0815FFBC
- movs r0, 0x1
- bl GetAnimBattlerSpriteId
- ldr r2, =gSprites
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x43
- ldrb r0, [r1]
- subs r0, 0x1
- adds r1, r4, 0
- adds r1, 0x43
- strb r0, [r1]
- b _0815FFBC
- .pool
-_0815FF2C:
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- b _0815FFBC
-_0815FF3A:
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r2, 0x2E
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r2, [r4, 0x30]
- adds r0, r2, 0x5
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7F
- ble _0815FF6E
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
- strh r0, [r4, 0x34]
- adds r0, r2, 0
- subs r0, 0x7A
- strh r0, [r4, 0x30]
-_0815FF6E:
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- ldrh r1, [r4, 0x32]
- adds r0, r1
- strh r0, [r4, 0x32]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _0815FF9C
- ldrh r2, [r4, 0x32]
- lsls r1, r2, 16
- asrs r1, 24
- ldrh r0, [r4, 0x24]
- subs r0, r1
- strh r0, [r4, 0x24]
- adds r1, r2, 0
- b _0815FFA8
- .pool
-_0815FF9C:
- ldrh r1, [r4, 0x32]
- lsls r0, r1, 16
- asrs r0, 24
- ldrh r2, [r4, 0x24]
- adds r0, r2
- strh r0, [r4, 0x24]
-_0815FFA8:
- movs r0, 0xFF
- ands r0, r1
- strh r0, [r4, 0x32]
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0x2
- bne _0815FFBC
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0815FFBC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_815FE80
-
- thumb_func_start sub_815FFC4
-sub_815FFC4: @ 815FFC4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r2, 0x26
- ldrsh r0, [r0, r2]
- adds r3, r1, 0
- cmp r0, 0x4
- bls _0815FFE0
- b _08160132
-_0815FFE0:
- lsls r0, 2
- ldr r1, =_0815FFF4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0815FFF4:
- .4byte _08160008
- .4byte _08160058
- .4byte _081600B4
- .4byte _081600CC
- .4byte _08160132
-_08160008:
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r2, r0, 0
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r1
- movs r0, 0x6
- strh r0, [r1, 0x8]
- cmp r5, r2
- ble _0816003E
- negs r0, r0
- strh r0, [r1, 0x8]
-_0816003E:
- strh r5, [r1, 0xA]
- strh r2, [r1, 0xC]
- ldrh r0, [r1, 0x26]
- adds r0, 0x1
- strh r0, [r1, 0x26]
- b _08160150
- .pool
-_08160058:
- ldr r1, =gBattlerSpriteIds
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- adds r0, r1
- ldrb r2, [r0]
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r1, r0, r1
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r2, r0, r3
- ldrh r0, [r2, 0x8]
- ldrh r3, [r1, 0x24]
- adds r0, r3
- strh r0, [r1, 0x24]
- movs r3, 0x8
- ldrsh r0, [r2, r3]
- cmp r0, 0
- ble _081600A0
- movs r3, 0x20
- ldrsh r0, [r1, r3]
- movs r3, 0x24
- ldrsh r1, [r1, r3]
- adds r0, r1
- movs r3, 0xC
- ldrsh r1, [r2, r3]
- b _08160126
- .pool
-_081600A0:
- movs r3, 0x20
- ldrsh r0, [r1, r3]
- movs r3, 0x24
- ldrsh r1, [r1, r3]
- adds r0, r1
- movs r3, 0xC
- ldrsh r1, [r2, r3]
- cmp r0, r1
- bgt _08160150
- b _0816012A
-_081600B4:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r3
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- negs r1, r1
- strh r1, [r0, 0x8]
- ldrh r1, [r0, 0x26]
- adds r1, 0x1
- strh r1, [r0, 0x26]
- b _08160150
-_081600CC:
- ldr r1, =gBattlerSpriteIds
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- adds r0, r1
- ldrb r2, [r0]
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r1, r0, r1
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r2, r0, r3
- ldrh r0, [r2, 0x8]
- ldrh r3, [r1, 0x24]
- adds r0, r3
- strh r0, [r1, 0x24]
- movs r3, 0x8
- ldrsh r0, [r2, r3]
- cmp r0, 0
- bge _08160118
- movs r3, 0x20
- ldrsh r0, [r1, r3]
- movs r3, 0x24
- ldrsh r1, [r1, r3]
- adds r0, r1
- movs r3, 0xA
- ldrsh r1, [r2, r3]
- cmp r0, r1
- bgt _08160150
- b _0816012A
- .pool
-_08160118:
- movs r3, 0x20
- ldrsh r0, [r1, r3]
- movs r3, 0x24
- ldrsh r1, [r1, r3]
- adds r0, r1
- movs r3, 0xA
- ldrsh r1, [r2, r3]
-_08160126:
- cmp r0, r1
- blt _08160150
-_0816012A:
- ldrh r0, [r2, 0x26]
- adds r0, 0x1
- strh r0, [r2, 0x26]
- b _08160150
-_08160132:
- ldr r1, =gBattlerSpriteIds
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- adds r0, r1
- ldrb r2, [r0]
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x24]
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_08160150:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_815FFC4
-
- thumb_func_start sub_8160164
-sub_8160164: @ 8160164
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r4, r1, r0
- movs r0, 0
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- movs r5, 0
- strh r0, [r4, 0xE]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- movs r2, 0x1
- negs r2, r2
- adds r1, r2, 0
- cmp r0, 0
- bne _08160198
- movs r1, 0x1
-_08160198:
- strh r1, [r4, 0x10]
- ldr r2, =gSprites
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x22]
- strh r0, [r4, 0x14]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x20]
- strh r0, [r4, 0x12]
- strh r5, [r4, 0x1A]
- strh r5, [r4, 0x1E]
- movs r0, 0x1
- strh r0, [r4, 0x1C]
- strh r5, [r4, 0x20]
- ldr r0, =sub_81601DC
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8160164
-
- thumb_func_start sub_81601DC
-sub_81601DC: @ 81601DC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _08160284
- cmp r0, 0x1
- bgt _08160204
- cmp r0, 0
- beq _0816020A
- b _081602DA
- .pool
-_08160204:
- cmp r0, 0x2
- beq _081602D4
- b _081602DA
-_0816020A:
- ldrh r0, [r4, 0x1E]
- adds r0, 0x8
- movs r2, 0xFF
- ands r0, r2
- strh r0, [r4, 0x1E]
- ldr r5, =gSprites
- movs r6, 0xE
- ldrsh r0, [r4, r6]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldr r3, =gSineTable
- movs r6, 0x1E
- ldrsh r0, [r4, r6]
- lsls r0, 1
- adds r0, r3
- ldrh r0, [r0]
- lsls r0, 16
- asrs r0, 21
- strh r0, [r1, 0x24]
- ldrh r0, [r4, 0x1A]
- adds r0, 0x2
- ands r0, r2
- strh r0, [r4, 0x1A]
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r5
- movs r6, 0x1A
- ldrsh r0, [r4, r6]
- lsls r0, 1
- adds r0, r3
- ldrh r0, [r0]
- lsls r0, 16
- asrs r0, 19
- ldrh r1, [r4, 0x10]
- muls r0, r1
- ldrh r1, [r4, 0x12]
- adds r0, r1
- strh r0, [r2, 0x20]
- movs r6, 0x1A
- ldrsh r0, [r4, r6]
- cmp r0, 0
- bne _081602DA
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrh r1, [r4, 0x12]
- strh r1, [r0, 0x20]
- b _081602C4
- .pool
-_08160284:
- ldrh r0, [r4, 0x1E]
- adds r0, 0x8
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x1E]
- ldr r3, =gSprites
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldr r2, =gSineTable
- movs r5, 0x1E
- ldrsh r0, [r4, r5]
- lsls r0, 1
- adds r0, r2
- ldrh r0, [r0]
- lsls r0, 16
- asrs r0, 21
- strh r0, [r1, 0x24]
- movs r6, 0x1E
- ldrsh r2, [r4, r6]
- cmp r2, 0
- bne _081602DA
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- strh r2, [r1, 0x24]
-_081602C4:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _081602DA
- .pool
-_081602D4:
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_081602DA:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81601DC
-
- thumb_func_start sub_81602E0
-sub_81602E0: @ 81602E0
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- ldrh r0, [r4, 0x2E]
- ldrh r1, [r4, 0x30]
- adds r0, r1
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x30]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x14
- bl Cos
- strh r0, [r4, 0x24]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x14
- bl Sin
- strh r0, [r4, 0x26]
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08160326
- adds r0, r4, 0
- bl DestroyAnimSprite
-_08160326:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81602E0
-
- thumb_func_start sub_8160338
-sub_8160338: @ 8160338
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _0816037C
- ldr r2, =gBattleAnimArgs
- ldrh r0, [r4, 0x20]
- ldrh r1, [r2]
- subs r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r2, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldr r0, =0x0000fff5
- strh r0, [r4, 0x2E]
- movs r0, 0xC0
- strh r0, [r4, 0x30]
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- b _08160396
- .pool
-_0816037C:
- movs r0, 0xB
- strh r0, [r4, 0x2E]
- movs r0, 0xC0
- strh r0, [r4, 0x30]
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
- ldrh r0, [r1, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
-_08160396:
- ldr r0, =sub_81602E0
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8160338
-
- thumb_func_start sub_81603A8
-sub_81603A8: @ 81603A8
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_80A861C
- strh r0, [r5, 0x22]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xF
- bgt _081603D2
- movs r0, 0x10
- strh r0, [r5, 0x22]
-_081603D2:
- movs r0, 0
- strh r0, [r5, 0x3A]
- movs r1, 0x10
- strh r1, [r5, 0x3C]
- ldr r0, =sub_81603F4
- str r0, [r5, 0x1C]
- lsls r1, 8
- movs r0, 0x52
- bl SetGpuReg
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81603A8
-
- thumb_func_start sub_81603F4
-sub_81603F4: @ 81603F4
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- cmp r1, 0x1
- beq _0816046C
- cmp r1, 0x1
- bgt _0816040A
- cmp r1, 0
- beq _08160414
- b _081604E8
-_0816040A:
- cmp r1, 0x2
- beq _08160482
- cmp r1, 0x3
- beq _081604E2
- b _081604E8
-_08160414:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _081604E8
- strh r1, [r4, 0x2E]
- ldrh r1, [r4, 0x30]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0816043E
- ldrh r2, [r4, 0x3A]
- movs r3, 0x3A
- ldrsh r0, [r4, r3]
- cmp r0, 0xF
- bgt _0816044C
- adds r0, r2, 0x1
- strh r0, [r4, 0x3A]
- b _0816044C
-_0816043E:
- ldrh r2, [r4, 0x3C]
- movs r3, 0x3C
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _0816044C
- subs r0, r2, 0x1
- strh r0, [r4, 0x3C]
-_0816044C:
- adds r0, r1, 0x1
- strh r0, [r4, 0x30]
- ldrh r1, [r4, 0x3C]
- lsls r1, 8
- ldrh r0, [r4, 0x3A]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _081604E8
- b _081604DA
-_0816046C:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- bne _081604E8
- strh r1, [r4, 0x2E]
- strh r1, [r4, 0x30]
- b _081604DA
-_08160482:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _081604E8
- movs r0, 0
- strh r0, [r4, 0x2E]
- ldrh r1, [r4, 0x30]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _081604AE
- ldrh r2, [r4, 0x3A]
- movs r3, 0x3A
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _081604BC
- subs r0, r2, 0x1
- strh r0, [r4, 0x3A]
- b _081604BC
-_081604AE:
- ldrh r2, [r4, 0x3C]
- movs r3, 0x3C
- ldrsh r0, [r4, r3]
- cmp r0, 0xF
- bgt _081604BC
- adds r0, r2, 0x1
- strh r0, [r4, 0x3C]
-_081604BC:
- adds r0, r1, 0x1
- strh r0, [r4, 0x30]
- ldrh r1, [r4, 0x3C]
- lsls r1, 8
- ldrh r0, [r4, 0x3A]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0x10
- bne _081604E8
-_081604DA:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- b _081604E8
-_081604E2:
- adds r0, r4, 0
- bl DestroySpriteAndMatrix
-_081604E8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81603F4
-
- thumb_func_start AnimTask_GetWeather
-AnimTask_GetWeather: @ 81604F0
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, =gBattleAnimArgs
- movs r0, 0
- strh r0, [r2, 0xE]
- ldr r0, =gWeatherMoveAnim
- ldrh r1, [r0]
- movs r0, 0x60
- ands r0, r1
- cmp r0, 0
- beq _08160514
- movs r0, 0x1
- b _08160536
- .pool
-_08160514:
- movs r0, 0x7
- ands r0, r1
- cmp r0, 0
- beq _08160520
- movs r0, 0x2
- b _08160536
-_08160520:
- movs r0, 0x18
- ands r0, r1
- cmp r0, 0
- beq _0816052C
- movs r0, 0x3
- b _08160536
-_0816052C:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08160538
- movs r0, 0x4
-_08160536:
- strh r0, [r2, 0xE]
-_08160538:
- adds r0, r3, 0
- bl DestroyAnimVisualTask
- pop {r0}
- bx r0
- thumb_func_end AnimTask_GetWeather
-
- thumb_func_start sub_8160544
-sub_8160544: @ 8160544
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, =gTasks
- adds r4, r0
- movs r0, 0
- strh r0, [r4, 0x8]
- ldr r0, =gBattleAnimArgs
- ldrb r0, [r0]
- bl GetAnimBattlerSpriteId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- strh r1, [r4, 0x26]
- ldr r2, =gUnknown_085CE9C8
- adds r0, r4, 0
- bl PrepareAffineAnimInTaskData
- ldr r0, =sub_816058C
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8160544
-
- thumb_func_start sub_816058C
-sub_816058C: @ 816058C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r2, =gTasks
- adds r3, r0, r2
- ldrh r0, [r3, 0x8]
- adds r1, r0, 0x1
- movs r5, 0
- strh r1, [r3, 0x8]
- subs r0, 0x10
- lsls r0, 16
- lsrs r0, 16
- adds r6, r2, 0
- cmp r0, 0x16
- bhi _081605F0
- ldrh r0, [r3, 0xA]
- adds r0, 0x1
- strh r0, [r3, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _08160600
- strh r5, [r3, 0xA]
- ldrh r0, [r3, 0xC]
- adds r0, 0x1
- strh r0, [r3, 0xC]
- movs r5, 0x1
- ands r0, r5
- cmp r0, 0
- bne _081605F0
- ldr r2, =gSprites
- movs r0, 0x26
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, =0x0000ffff
- strh r1, [r0, 0x24]
- b _08160600
- .pool
-_081605F0:
- ldr r2, =gSprites
- movs r0, 0x26
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r5, [r0, 0x24]
-_08160600:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r6
- bl RunAffineAnimFromTaskData
- lsls r0, 24
- cmp r0, 0
- bne _08160618
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_08160618:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816058C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/contest_painting_effects.s b/asm/contest_painting_effects.s
index 36ef184b9..801e840b9 100644
--- a/asm/contest_painting_effects.s
+++ b/asm/contest_painting_effects.s
@@ -5,2188 +5,9 @@
.text
- thumb_func_start sub_8124F2C
-sub_8124F2C: @ 8124F2C
- push {lr}
- ldr r2, =gUnknown_03006168
- ldr r1, [r0, 0x4]
- str r1, [r2]
- ldr r2, =gUnknown_0300617C
- ldrb r1, [r0, 0x1F]
- strb r1, [r2]
- ldr r2, =gUnknown_03006164
- ldrb r1, [r0, 0x19]
- strb r1, [r2]
- ldr r2, =gUnknown_03006178
- ldrb r1, [r0, 0x1A]
- strb r1, [r2]
- ldr r2, =gUnknown_03006174
- ldrb r1, [r0, 0x1B]
- strb r1, [r2]
- ldr r2, =gUnknown_0300616C
- ldrb r1, [r0, 0x1C]
- strb r1, [r2]
- ldr r2, =gUnknown_03006180
- ldrb r1, [r0, 0x1D]
- strb r1, [r2]
- ldr r2, =gUnknown_03006170
- ldrb r1, [r0, 0x1E]
- strb r1, [r2]
- ldrb r0, [r0]
- subs r0, 0x2
- cmp r0, 0x22
- bls _08124F68
- b _081250B4
-_08124F68:
- lsls r0, 2
- ldr r1, =_08124F98
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08124F98:
- .4byte _08125024
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _08125084
- .4byte _081250B4
- .4byte _0812502A
- .4byte _08125030
- .4byte _08125044
- .4byte _08125056
- .4byte _081250B4
- .4byte _0812506C
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _081250B4
- .4byte _08125072
- .4byte _08125050
- .4byte _08125078
- .4byte _0812507E
- .4byte _081250B4
- .4byte _081250B4
- .4byte _08125090
-_08125024:
- bl sub_8125230
- b _081250B4
-_0812502A:
- bl sub_81252E8
- b _081250B4
-_08125030:
- bl sub_81254E0
- ldr r0, =gUnknown_0300617C
- ldrb r0, [r0]
- bl sub_81253A4
- b _081250B4
- .pool
-_08125044:
- bl sub_81254E0
- bl sub_8125630
- bl sub_8125448
-_08125050:
- bl sub_8125630
- b _081250B4
-_08125056:
- bl sub_81254E0
- bl sub_81257F8
- bl sub_81257F8
- bl sub_81258A0
- bl sub_8125448
- b _081250B4
-_0812506C:
- bl sub_81256C8
- b _081250B4
-_08125072:
- bl sub_81254E0
- b _081250B4
-_08125078:
- bl sub_81257F8
- b _081250B4
-_0812507E:
- bl sub_81258A0
- b _081250B4
-_08125084:
- bl sub_8125250
- movs r0, 0x3
- bl sub_81250B8
- b _081250B4
-_08125090:
- bl sub_81254E0
- bl sub_81257F8
- bl sub_81258A0
- bl sub_8125448
- bl sub_81252E8
- bl sub_81252E8
- movs r0, 0x2
- bl sub_81250B8
- movs r0, 0x4
- bl sub_8125170
-_081250B4:
- pop {r0}
- bx r0
- thumb_func_end sub_8124F2C
-
- thumb_func_start sub_81250B8
-sub_81250B8: @ 81250B8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r7, r0, 24
- movs r2, 0
- ldr r0, =gUnknown_0300616C
- mov r8, r0
- ldrb r0, [r0]
- cmp r2, r0
- bcs _0812514A
- ldr r1, =gUnknown_03006174
- mov r12, r1
- ldr r3, =gUnknown_03006180
- mov r10, r3
- ldr r0, =gUnknown_03006164
- mov r9, r0
-_081250DE:
- ldr r1, =gUnknown_03006178
- ldrb r0, [r1]
- adds r0, r2
- mov r3, r10
- ldrb r1, [r3]
- muls r0, r1
- lsls r0, 1
- ldr r3, =gUnknown_03006168
- ldr r1, [r3]
- adds r1, r0
- mov r3, r9
- ldrb r0, [r3]
- lsls r0, 1
- adds r3, r1, r0
- movs r4, 0
- adds r5, r2, 0x1
- mov r0, r12
- ldrb r0, [r0]
- cmp r4, r0
- bcs _0812513E
- movs r6, 0x80
- lsls r6, 8
-_0812510A:
- ldrh r1, [r3]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- bne _0812512E
- movs r0, 0x1F
- ands r0, r1
- adds r0, r7
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x1F
- bls _08125124
- movs r2, 0x1F
-_08125124:
- lsls r0, r2, 10
- lsls r1, r2, 5
- orrs r0, r1
- orrs r0, r2
- strh r0, [r3]
-_0812512E:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r3, 0x2
- mov r1, r12
- ldrb r1, [r1]
- cmp r4, r1
- bcc _0812510A
-_0812513E:
- lsls r0, r5, 24
- lsrs r2, r0, 24
- mov r3, r8
- ldrb r3, [r3]
- cmp r2, r3
- bcc _081250DE
-_0812514A:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81250B8
-
- thumb_func_start sub_8125170
-sub_8125170: @ 8125170
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r2, 0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcs _08125208
- ldr r1, =gUnknown_03006174
- mov r10, r1
-_0812518E:
- ldr r3, =gUnknown_03006178
- ldrb r0, [r3]
- adds r0, r2
- ldr r3, =gUnknown_03006180
- ldrb r1, [r3]
- muls r0, r1
- lsls r0, 1
- ldr r3, =gUnknown_03006168
- ldr r1, [r3]
- adds r1, r0
- ldr r3, =gUnknown_03006164
- ldrb r0, [r3]
- lsls r0, 1
- adds r3, r1, r0
- movs r5, 0
- adds r7, r2, 0x1
- mov r0, r10
- ldrb r0, [r0]
- cmp r5, r0
- bcs _081251FC
- movs r1, 0x80
- lsls r1, 8
- mov r9, r1
- movs r0, 0x1F
- mov r12, r0
- mov r1, r8
- subs r6, r0, r1
-_081251C4:
- ldrh r1, [r3]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- bne _081251EC
- movs r4, 0x1F
- mov r2, r12
- ands r2, r1
- cmp r2, r6
- ble _081251E2
- mov r1, r8
- lsrs r0, r1, 1
- subs r0, r4, r0
- lsls r0, 24
- lsrs r2, r0, 24
-_081251E2:
- lsls r0, r2, 10
- lsls r1, r2, 5
- orrs r0, r1
- orrs r0, r2
- strh r0, [r3]
-_081251EC:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r3, 0x2
- mov r0, r10
- ldrb r0, [r0]
- cmp r5, r0
- bcc _081251C4
-_081251FC:
- lsls r0, r7, 24
- lsrs r2, r0, 24
- ldr r1, =gUnknown_0300616C
- ldrb r1, [r1]
- cmp r2, r1
- bcc _0812518E
-_08125208:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8125170
-
- thumb_func_start sub_8125230
-sub_8125230: @ 8125230
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, =0x00000c7f
-_08125236:
- lsls r0, r4, 16
- lsrs r0, 16
- bl sub_8125954
- adds r4, 0x1
- cmp r4, r5
- bls _08125236
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8125230
-
- thumb_func_start sub_8125250
-sub_8125250: @ 8125250
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r2, 0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcs _081252C2
- ldr r0, =gUnknown_03006168
- mov r8, r0
- ldr r3, =gUnknown_03006174
-_08125268:
- ldr r0, =gUnknown_03006178
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, =gUnknown_03006180
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r4, r8
- ldr r1, [r4]
- adds r1, r0
- ldr r0, =gUnknown_03006164
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r5, 0
- adds r6, r2, 0x1
- ldrb r0, [r3]
- cmp r5, r0
- bcs _081252B6
- movs r0, 0x80
- lsls r0, 8
- adds r7, r0, 0
-_08125294:
- ldrh r0, [r4]
- ands r0, r7
- cmp r0, 0
- bne _081252A8
- adds r0, r4, 0
- str r3, [sp]
- bl sub_8125B28
- strh r0, [r4]
- ldr r3, [sp]
-_081252A8:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldrb r0, [r3]
- cmp r5, r0
- bcc _08125294
-_081252B6:
- lsls r0, r6, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcc _08125268
-_081252C2:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8125250
-
- thumb_func_start sub_81252E8
-sub_81252E8: @ 81252E8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- movs r2, 0
- ldr r0, =gUnknown_03006174
- ldrb r0, [r0]
- cmp r2, r0
- bcs _0812537E
- ldr r0, =gUnknown_03006168
- mov r8, r0
- ldr r3, =gUnknown_03006180
-_08125300:
- ldr r0, =gUnknown_03006178
- ldrb r1, [r0]
- ldrb r0, [r3]
- muls r0, r1
- lsls r0, 1
- mov r4, r8
- ldr r1, [r4]
- adds r1, r0
- ldr r0, =gUnknown_03006164
- ldrb r0, [r0]
- adds r0, r2
- lsls r0, 1
- adds r4, r1, r0
- ldrh r1, [r4]
- mov r0, sp
- strh r1, [r0]
- movs r5, 0x1
- ldrb r0, [r3]
- lsls r0, 1
- adds r4, r0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- subs r0, 0x1
- adds r7, r2, 0x1
- cmp r5, r0
- bge _08125372
- ldr r6, =gUnknown_03006180
-_08125336:
- ldrh r0, [r4]
- movs r2, 0x80
- lsls r2, 8
- adds r1, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _0812535C
- ldrb r2, [r6]
- lsls r2, 1
- adds r2, r4, r2
- mov r0, sp
- adds r1, r4, 0
- str r3, [sp, 0x4]
- bl sub_8125E18
- strh r0, [r4]
- mov r1, sp
- strh r0, [r1]
- ldr r3, [sp, 0x4]
-_0812535C:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r0, [r6]
- lsls r0, 1
- adds r4, r0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r5, r0
- blt _08125336
-_08125372:
- lsls r0, r7, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_03006174
- ldrb r0, [r0]
- cmp r2, r0
- bcc _08125300
-_0812537E:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81252E8
-
- thumb_func_start sub_81253A4
-sub_81253A4: @ 81253A4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r2, 0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcs _08125420
- ldr r0, =gUnknown_03006168
- mov r9, r0
- ldr r3, =gUnknown_03006174
-_081253C4:
- ldr r0, =gUnknown_03006178
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, =gUnknown_03006180
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r4, r9
- ldr r1, [r4]
- adds r1, r0
- ldr r0, =gUnknown_03006164
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r5, 0
- adds r6, r2, 0x1
- ldrb r0, [r3]
- cmp r5, r0
- bcs _08125414
- movs r0, 0x80
- lsls r0, 8
- adds r7, r0, 0
-_081253F0:
- ldrh r0, [r4]
- ands r0, r7
- cmp r0, 0
- bne _08125406
- adds r0, r4, 0
- mov r1, r8
- str r3, [sp]
- bl sub_8125B5C
- strh r0, [r4]
- ldr r3, [sp]
-_08125406:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldrb r0, [r3]
- cmp r5, r0
- bcc _081253F0
-_08125414:
- lsls r0, r6, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcc _081253C4
-_08125420:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81253A4
- thumb_func_start sub_8125448
-sub_8125448: @ 8125448
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r2, 0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcs _081254BA
- ldr r0, =gUnknown_03006168
- mov r8, r0
- ldr r3, =gUnknown_03006174
-_08125460:
- ldr r0, =gUnknown_03006178
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, =gUnknown_03006180
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r4, r8
- ldr r1, [r4]
- adds r1, r0
- ldr r0, =gUnknown_03006164
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r5, 0
- adds r6, r2, 0x1
- ldrb r0, [r3]
- cmp r5, r0
- bcs _081254AE
- movs r0, 0x80
- lsls r0, 8
- adds r7, r0, 0
-_0812548C:
- ldrh r0, [r4]
- ands r0, r7
- cmp r0, 0
- bne _081254A0
- adds r0, r4, 0
- str r3, [sp]
- bl sub_8125C68
- strh r0, [r4]
- ldr r3, [sp]
-_081254A0:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldrb r0, [r3]
- cmp r5, r0
- bcc _0812548C
-_081254AE:
- lsls r0, r6, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcc _08125460
-_081254BA:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8125448
- thumb_func_start sub_81254E0
-sub_81254E0: @ 81254E0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r7, 0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r7, r0
- bcs _0812556C
- ldr r0, =gUnknown_03006168
- mov r8, r0
-_081254F6:
- ldr r0, =gUnknown_03006178
- ldrb r1, [r0]
- adds r1, r7
- ldr r0, =gUnknown_03006180
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r2, r8
- ldr r1, [r2]
- adds r1, r0
- ldr r0, =gUnknown_03006164
- ldrb r0, [r0]
- lsls r0, 1
- adds r5, r1, r0
- adds r4, r5, 0x2
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8125C98
- strh r0, [r5]
- movs r6, 0x1
- adds r5, r4, 0
- ldr r0, =gUnknown_03006174
- ldrb r0, [r0]
- subs r0, 0x1
- adds r7, 0x1
- cmp r6, r0
- bge _08125556
-_0812552E:
- adds r4, r5, 0x2
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8125C98
- strh r0, [r5]
- subs r1, r5, 0x2
- adds r0, r5, 0
- bl sub_8125C98
- strh r0, [r5]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r5, r4, 0
- ldr r0, =gUnknown_03006174
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r6, r0
- blt _0812552E
-_08125556:
- subs r1, r5, 0x2
- adds r0, r5, 0
- bl sub_8125C98
- strh r0, [r5]
- lsls r0, r7, 24
- lsrs r7, r0, 24
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r7, r0
- bcc _081254F6
-_0812556C:
- movs r6, 0
- ldr r0, =gUnknown_03006174
- ldrb r0, [r0]
- cmp r6, r0
- bcs _0812560C
- ldr r3, =gUnknown_03006168
- mov r9, r3
- ldr r0, =gUnknown_03006180
- mov r8, r0
-_0812557E:
- ldr r0, =gUnknown_03006178
- ldrb r0, [r0]
- mov r2, r8
- ldrb r1, [r2]
- muls r0, r1
- lsls r0, 1
- mov r3, r9
- ldr r2, [r3]
- adds r2, r0
- ldr r0, =gUnknown_03006164
- ldrb r0, [r0]
- adds r0, r6
- lsls r0, 1
- adds r5, r2, r0
- lsls r1, 1
- adds r1, r5, r1
- adds r0, r5, 0
- bl sub_8125C98
- strh r0, [r5]
- movs r7, 0x1
- mov r1, r8
- ldrb r0, [r1]
- lsls r0, 1
- adds r5, r0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- subs r0, 0x1
- adds r6, 0x1
- cmp r7, r0
- bge _081255F0
- ldr r4, =gUnknown_03006180
-_081255BE:
- ldrb r1, [r4]
- lsls r1, 1
- adds r1, r5, r1
- adds r0, r5, 0
- bl sub_8125C98
- strh r0, [r5]
- ldrb r1, [r4]
- lsls r1, 1
- subs r1, r5, r1
- adds r0, r5, 0
- bl sub_8125C98
- strh r0, [r5]
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- ldrb r0, [r4]
- lsls r0, 1
- adds r5, r0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r7, r0
- blt _081255BE
-_081255F0:
- mov r2, r8
- ldrb r1, [r2]
- lsls r1, 1
- subs r1, r5, r1
- adds r0, r5, 0
- bl sub_8125C98
- strh r0, [r5]
- lsls r0, r6, 24
- lsrs r6, r0, 24
- ldr r0, =gUnknown_03006174
- ldrb r0, [r0]
- cmp r6, r0
- bcc _0812557E
-_0812560C:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81254E0
- thumb_func_start sub_8125630
-sub_8125630: @ 8125630
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r2, 0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcs _081256A2
- ldr r0, =gUnknown_03006168
- mov r8, r0
- ldr r3, =gUnknown_03006174
-_08125648:
- ldr r0, =gUnknown_03006178
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, =gUnknown_03006180
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r4, r8
- ldr r1, [r4]
- adds r1, r0
- ldr r0, =gUnknown_03006164
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r5, 0
- adds r6, r2, 0x1
- ldrb r0, [r3]
- cmp r5, r0
- bcs _08125696
- movs r0, 0x80
- lsls r0, 8
- adds r7, r0, 0
-_08125674:
- ldrh r0, [r4]
- ands r0, r7
- cmp r0, 0
- bne _08125688
- adds r0, r4, 0
- str r3, [sp]
- bl sub_8125CC8
- strh r0, [r4]
- ldr r3, [sp]
-_08125688:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldrb r0, [r3]
- cmp r5, r0
- bcc _08125674
-_08125696:
- lsls r0, r6, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcc _08125648
-_081256A2:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8125630
-
- thumb_func_start sub_81256C8
-sub_81256C8: @ 81256C8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- ldr r0, =gUnknown_03006168
- ldr r4, [r0]
- movs r6, 0
- movs r0, 0x80
- lsls r0, 8
- adds r5, r0, 0
-_081256E0:
- movs r7, 0
-_081256E2:
- ldrh r0, [r4]
- ands r0, r5
- cmp r0, 0
- bne _081256F2
- adds r0, r4, 0
- bl sub_8125CC8
- strh r0, [r4]
-_081256F2:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r4, 0x2
- cmp r7, 0x3F
- bls _081256E2
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x3F
- bls _081256E0
- movs r7, 0
- ldr r1, =gUnknown_03006168
- mov r10, r1
- mov r3, sp
- movs r2, 0x80
- lsls r2, 8
- mov r9, r2
-_08125716:
- lsls r0, r7, 1
- mov r2, r10
- ldr r1, [r2]
- adds r4, r1, r0
- ldrh r1, [r4]
- strh r1, [r3]
- mov r1, r9
- strh r1, [r4]
- movs r6, 0x1
- adds r4, 0x80
- adds r5, r0, 0
-_0812572C:
- ldrh r0, [r4]
- movs r2, 0x80
- lsls r2, 8
- ands r0, r2
- cmp r0, 0
- bne _0812574C
- adds r2, r4, 0
- adds r2, 0x80
- mov r0, sp
- adds r1, r4, 0
- str r3, [sp, 0x4]
- bl sub_8125F38
- strh r0, [r4]
- ldr r3, [sp, 0x4]
- strh r0, [r3]
-_0812574C:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r4, 0x80
- cmp r6, 0x3E
- bls _0812572C
- mov r0, r9
- strh r0, [r4]
- mov r1, r10
- ldr r0, [r1]
- adds r4, r0, r5
- ldrh r0, [r4]
- strh r0, [r3]
- mov r2, r9
- strh r2, [r4]
- movs r6, 0x1
- adds r4, 0x80
- movs r0, 0x80
- lsls r0, 8
- mov r8, r0
-_08125774:
- ldrh r0, [r4]
- mov r1, r8
- ands r0, r1
- adds r5, r4, 0
- adds r5, 0x80
- cmp r0, 0
- bne _08125794
- mov r0, sp
- adds r1, r4, 0
- adds r2, r5, 0
- str r3, [sp, 0x4]
- bl sub_8125F38
- strh r0, [r4]
- ldr r3, [sp, 0x4]
- strh r0, [r3]
-_08125794:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r4, r5, 0
- cmp r6, 0x3E
- bls _08125774
- mov r2, r9
- strh r2, [r4]
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x3F
- bls _08125716
- ldr r0, =gUnknown_03006168
- ldr r4, [r0]
- movs r6, 0
- movs r0, 0x80
- lsls r0, 8
- mov r8, r0
-_081257BA:
- movs r7, 0
- adds r5, r6, 0x1
-_081257BE:
- ldrh r0, [r4]
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- bne _081257D0
- adds r0, r4, 0
- bl sub_8125CC8
- strh r0, [r4]
-_081257D0:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r4, 0x2
- cmp r7, 0x3F
- bls _081257BE
- lsls r0, r5, 24
- lsrs r6, r0, 24
- cmp r6, 0x3F
- bls _081257BA
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81256C8
-
- thumb_func_start sub_81257F8
-sub_81257F8: @ 81257F8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r2, 0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcs _0812587A
- ldr r0, =gUnknown_03006168
- mov r8, r0
-_0812580E:
- ldr r0, =gUnknown_03006178
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, =gUnknown_03006180
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r3, r8
- ldr r1, [r3]
- adds r1, r0
- ldr r0, =gUnknown_03006164
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- ldrh r1, [r4]
- mov r0, sp
- strh r1, [r0]
- movs r5, 0x1
- adds r4, 0x2
- ldr r0, =gUnknown_03006174
- ldrb r0, [r0]
- subs r0, 0x1
- adds r6, r2, 0x1
- cmp r5, r0
- bge _0812586E
- movs r0, 0x80
- lsls r0, 8
- adds r7, r0, 0
-_08125846:
- ldrh r0, [r4]
- ands r0, r7
- cmp r0, 0
- bne _0812585C
- mov r0, sp
- adds r1, r4, 0
- bl sub_8125CF4
- strh r0, [r4]
- mov r1, sp
- strh r0, [r1]
-_0812585C:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldr r0, =gUnknown_03006174
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r5, r0
- blt _08125846
-_0812586E:
- lsls r0, r6, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- cmp r2, r0
- bcc _0812580E
-_0812587A:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81257F8
-
- thumb_func_start sub_81258A0
-sub_81258A0: @ 81258A0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- movs r2, 0
- ldr r0, =gUnknown_03006174
- ldrb r0, [r0]
- cmp r2, r0
- bcs _0812592E
- ldr r0, =gUnknown_03006168
- mov r8, r0
- ldr r7, =gUnknown_03006180
-_081258B8:
- ldr r0, =gUnknown_03006178
- ldrb r1, [r0]
- ldrb r0, [r7]
- muls r0, r1
- lsls r0, 1
- mov r3, r8
- ldr r1, [r3]
- adds r1, r0
- ldr r0, =gUnknown_03006164
- ldrb r0, [r0]
- adds r0, r2
- lsls r0, 1
- adds r4, r1, r0
- ldrh r1, [r4]
- mov r0, sp
- strh r1, [r0]
- movs r5, 0x1
- ldrb r0, [r7]
- lsls r0, 1
- adds r4, r0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- subs r0, 0x1
- adds r6, r2, 0x1
- cmp r5, r0
- bge _08125922
- movs r0, 0x80
- lsls r0, 8
- adds r2, r0, 0
-_081258F2:
- ldrh r0, [r4]
- ands r0, r2
- cmp r0, 0
- bne _0812590C
- mov r0, sp
- adds r1, r4, 0
- str r2, [sp, 0x4]
- bl sub_8125CF4
- strh r0, [r4]
- mov r1, sp
- strh r0, [r1]
- ldr r2, [sp, 0x4]
-_0812590C:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r0, [r7]
- lsls r0, 1
- adds r4, r0
- ldr r0, =gUnknown_0300616C
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r5, r0
- blt _081258F2
-_08125922:
- lsls r0, r6, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_03006174
- ldrb r0, [r0]
- cmp r2, r0
- bcc _081258B8
-_0812592E:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81258A0
-
- thumb_func_start sub_8125954
-sub_8125954: @ 8125954
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- mov r2, sp
- ldr r3, =gUnknown_085A1F94
- lsls r1, r0, 1
- add r1, r10
- adds r0, r1, r3
- ldrb r0, [r0]
- strb r0, [r2]
- adds r0, r3, 0x1
- adds r0, r1, r0
- ldrb r0, [r0]
- strb r0, [r2, 0x1]
- mov r5, sp
- adds r0, r3, 0x2
- adds r1, r0
- ldrb r4, [r1]
- lsls r2, r4, 24
- lsrs r1, r2, 27
- movs r0, 0x7
- ands r1, r0
- strh r1, [r5, 0x2]
- lsrs r2, 25
- mov r9, r2
- movs r0, 0x3
- ands r2, r0
- mov r9, r2
- movs r5, 0x1
- ands r5, r4
- movs r4, 0x1
- mov r8, r4
- cmp r8, r1
- bcs _08125A06
- mov r3, sp
-_081259A6:
- cmp r5, 0
- bne _081259C4
- mov r0, r8
- lsls r2, r0, 2
- mov r4, sp
- adds r1, r4, r2
- ldrb r0, [r3]
- mov r4, r8
- subs r0, r4
- strb r0, [r1]
- ldrb r0, [r3, 0x1]
- add r0, r8
- b _081259D6
- .pool
-_081259C4:
- mov r0, r8
- lsls r2, r0, 2
- mov r4, sp
- adds r1, r4, r2
- ldrb r0, [r3]
- adds r0, 0x1
- strb r0, [r1]
- ldrb r0, [r3, 0x1]
- subs r0, 0x1
-_081259D6:
- strb r0, [r1, 0x1]
- add r2, sp
- ldrb r0, [r2]
- cmp r0, 0x3F
- bhi _081259E6
- ldrb r0, [r2, 0x1]
- cmp r0, 0x3F
- bls _081259EE
-_081259E6:
- mov r0, r8
- subs r0, 0x1
- strh r0, [r3, 0x2]
- b _08125A06
-_081259EE:
- ldrh r0, [r3, 0x2]
- mov r1, r8
- subs r0, r1
- strh r0, [r2, 0x2]
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldrh r0, [r3, 0x2]
- cmp r8, r0
- bcc _081259A6
-_08125A06:
- movs r2, 0
- mov r8, r2
- mov r0, sp
- ldrh r0, [r0, 0x2]
- cmp r8, r0
- bcc _08125A14
- b _08125B16
-_08125A14:
- movs r3, 0x1F
-_08125A16:
- ldr r1, =gUnknown_03006168
- mov r4, r8
- lsls r0, r4, 2
- mov r2, sp
- adds r6, r2, r0
- ldrb r0, [r6, 0x1]
- lsls r0, 7
- ldr r1, [r1]
- adds r1, r0
- ldrb r0, [r6]
- lsls r0, 1
- adds r2, r1, r0
- ldrh r1, [r2]
- movs r4, 0x80
- lsls r4, 8
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- bne _08125B02
- movs r7, 0x1F
- ands r7, r1
- lsls r0, r1, 16
- lsrs r5, r0, 21
- ands r5, r3
- lsrs r4, r0, 26
- ands r4, r3
- mov r0, r9
- cmp r0, 0
- blt _08125AF8
- cmp r0, 0x1
- ble _08125A78
- cmp r0, 0x3
- bgt _08125AF8
- ldrh r0, [r6, 0x2]
- adds r1, r7, r0
- lsls r1, 16
- lsrs r7, r1, 16
- adds r1, r5, r0
- lsls r1, 16
- lsrs r5, r1, 16
- adds r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r7, 0x1F
- bls _08125AEC
- movs r7, 0x1F
- b _08125AEC
- .pool
-_08125A78:
- mov r1, r10
- lsls r0, r1, 1
- add r0, r10
- ldr r1, =gUnknown_085A1F94
- adds r1, 0x2
- adds r0, r1
- ldrb r0, [r0]
- lsrs r0, 3
- movs r1, 0x7
- ands r0, r1
- movs r1, 0x3
- str r2, [sp, 0x18]
- str r3, [sp, 0x1C]
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- ldr r2, [sp, 0x18]
- ldr r3, [sp, 0x1C]
- cmp r0, 0x1
- beq _08125AC8
- cmp r0, 0x1
- bgt _08125AB0
- cmp r0, 0
- beq _08125AB6
- b _08125AF8
- .pool
-_08125AB0:
- cmp r0, 0x2
- beq _08125ADA
- b _08125AF8
-_08125AB6:
- ldrh r0, [r6, 0x2]
- cmp r7, r0
- bcc _08125AC4
- subs r0, r7, r0
- lsls r0, 16
- lsrs r7, r0, 16
- b _08125AF8
-_08125AC4:
- movs r7, 0
- b _08125AF8
-_08125AC8:
- ldrh r0, [r6, 0x2]
- cmp r5, r0
- bcc _08125AD6
- subs r0, r5, r0
- lsls r0, 16
- lsrs r5, r0, 16
- b _08125AF8
-_08125AD6:
- movs r5, 0
- b _08125AF8
-_08125ADA:
- ldrh r0, [r6, 0x2]
- cmp r4, r0
- bcc _08125AE8
- subs r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
- b _08125AF8
-_08125AE8:
- movs r4, 0
- b _08125AF8
-_08125AEC:
- cmp r5, 0x1F
- bls _08125AF2
- movs r5, 0x1F
-_08125AF2:
- cmp r4, 0x1F
- bls _08125AF8
- movs r4, 0x1F
-_08125AF8:
- lsls r0, r4, 10
- lsls r1, r5, 5
- orrs r0, r1
- orrs r7, r0
- strh r7, [r2]
-_08125B02:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- mov r0, sp
- ldrh r0, [r0, 0x2]
- cmp r8, r0
- bcs _08125B16
- b _08125A16
-_08125B16:
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8125954
-
- thumb_func_start sub_8125B28
-sub_8125B28: @ 8125B28
- ldrh r2, [r0]
- movs r0, 0x1F
- adds r1, r2, 0
- ands r1, r0
- asrs r3, r2, 5
- ands r3, r0
- asrs r2, 10
- ands r2, r0
- movs r0, 0x4C
- muls r1, r0
- movs r0, 0x97
- muls r0, r3
- adds r1, r0
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r2
- adds r1, r0
- asrs r1, 8
- lsls r0, r1, 10
- lsls r2, r1, 5
- orrs r0, r2
- orrs r0, r1
- lsls r0, 16
- lsrs r0, 16
- bx lr
- thumb_func_end sub_8125B28
-
- thumb_func_start sub_8125B5C
-sub_8125B5C: @ 8125B5C
- push {r4,lr}
- lsls r1, 24
- lsrs r4, r1, 24
- ldrh r0, [r0]
- movs r2, 0x1F
- movs r1, 0x1F
- ands r1, r0
- lsls r0, 16
- lsrs r3, r0, 21
- ands r3, r2
- lsrs r0, 26
- ands r0, r2
- cmp r1, 0x10
- bhi _08125B8C
- cmp r3, 0x10
- bhi _08125B8C
- cmp r0, 0x10
- bhi _08125B8C
- adds r0, r4, 0
- bl sub_8125B98
- lsls r0, 16
- lsrs r0, 16
- b _08125B8E
-_08125B8C:
- ldr r0, =0x00007fff
-_08125B8E:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8125B5C
-
- thumb_func_start sub_8125B98
-sub_8125B98: @ 8125B98
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- mov r8, r0
- movs r6, 0
- movs r7, 0
- adds r0, r4, 0
- movs r1, 0x6
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- movs r1, 0x6
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bhi _08125C50
- lsls r0, 2
- ldr r1, =_08125BE0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08125BE0:
- .4byte _08125BF8
- .4byte _08125C08
- .4byte _08125C18
- .4byte _08125C26
- .4byte _08125C34
- .4byte _08125C42
-_08125BF8:
- movs r0, 0x15
- subs r0, r5
- lsls r0, 16
- lsrs r6, r0, 16
- adds r7, r6, 0
- movs r1, 0
- mov r8, r1
- b _08125C50
-_08125C08:
- movs r7, 0
- movs r0, 0x15
- subs r0, r5
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- mov r6, r8
- b _08125C50
-_08125C18:
- movs r0, 0x15
- subs r0, r5
- lsls r0, 16
- lsrs r7, r0, 16
- movs r6, 0
- mov r8, r7
- b _08125C50
-_08125C26:
- movs r7, 0
- movs r6, 0
- movs r0, 0x17
- subs r0, r5
- lsls r0, 16
- lsrs r0, 16
- b _08125C4E
-_08125C34:
- movs r0, 0x17
- subs r0, r5
- lsls r0, 16
- lsrs r7, r0, 16
- movs r6, 0
- mov r8, r6
- b _08125C50
-_08125C42:
- movs r7, 0
- movs r0, 0x17
- subs r0, r5
- lsls r0, 16
- lsrs r6, r0, 16
- movs r0, 0
-_08125C4E:
- mov r8, r0
-_08125C50:
- lsls r0, r7, 10
- lsls r1, r6, 5
- orrs r0, r1
- mov r1, r8
- orrs r1, r0
- lsls r0, r1, 16
- lsrs r0, 16
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8125B98
-
- thumb_func_start sub_8125C68
-sub_8125C68: @ 8125C68
- push {lr}
- ldrh r0, [r0]
- movs r2, 0x1F
- movs r1, 0x1F
- ands r1, r0
- lsls r0, 16
- lsrs r3, r0, 21
- ands r3, r2
- lsrs r0, 26
- ands r0, r2
- cmp r1, 0x10
- bhi _08125C8C
- cmp r3, 0x10
- bhi _08125C8C
- cmp r0, 0x10
- bhi _08125C8C
- movs r0, 0
- b _08125C8E
-_08125C8C:
- ldr r0, =0x00007fff
-_08125C8E:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8125C68
-
- thumb_func_start sub_8125C98
-sub_8125C98: @ 8125C98
- push {r4,lr}
- adds r4, r0, 0
- ldrh r3, [r4]
- cmp r3, 0
- beq _08125CC0
- movs r2, 0x80
- lsls r2, 8
- adds r0, r2, 0
- ands r0, r3
- cmp r0, 0
- beq _08125CB2
- adds r0, r2, 0
- b _08125CC2
-_08125CB2:
- ldrh r1, [r1]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _08125CC0
- ldrh r0, [r4]
- b _08125CC2
-_08125CC0:
- movs r0, 0
-_08125CC2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8125C98
-
- thumb_func_start sub_8125CC8
-sub_8125CC8: @ 8125CC8
- push {r4,lr}
- ldrh r1, [r0]
- movs r0, 0x1F
- movs r3, 0x1F
- ands r3, r1
- lsls r1, 16
- lsrs r2, r1, 21
- lsrs r1, 26
- subs r3, r0, r3
- adds r4, r0, 0
- bics r4, r2
- adds r2, r4, 0
- bics r0, r1
- lsls r0, 10
- lsls r2, 5
- orrs r0, r2
- orrs r0, r3
- lsls r0, 16
- lsrs r0, 16
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8125CC8
-
- thumb_func_start sub_8125CF4
-sub_8125CF4: @ 8125CF4
- push {r4-r7,lr}
- sub sp, 0x14
- adds r7, r1, 0
- ldrh r4, [r0]
- ldrh r5, [r7]
- lsls r6, r4, 16
- lsls r0, r5, 16
- mov r12, r0
- cmp r4, r5
- beq _08125D66
- mov r2, sp
- movs r3, 0x1F
- movs r1, 0x1F
- adds r0, r1, 0
- ands r0, r4
- strh r0, [r2]
- lsrs r0, r6, 21
- ands r0, r3
- strh r0, [r2, 0x2]
- lsrs r0, r6, 26
- ands r0, r3
- strh r0, [r2, 0x4]
- mov r0, sp
- ands r1, r5
- strh r1, [r0, 0x6]
- mov r1, sp
- mov r2, r12
- lsrs r0, r2, 21
- ands r0, r3
- strh r0, [r1, 0x8]
- lsrs r0, r2, 26
- ands r0, r3
- strh r0, [r1, 0xA]
- mov r0, sp
- ldrh r0, [r0]
- cmp r0, 0x19
- bls _08125D4E
- mov r0, sp
- ldrh r0, [r0, 0x2]
- cmp r0, 0x19
- bls _08125D4E
- mov r0, sp
- ldrh r0, [r0, 0x4]
- cmp r0, 0x19
- bhi _08125D66
-_08125D4E:
- mov r0, sp
- ldrh r0, [r0, 0x6]
- cmp r0, 0x19
- bls _08125D6A
- mov r0, sp
- ldrh r0, [r0, 0x8]
- cmp r0, 0x19
- bls _08125D6A
- mov r0, sp
- ldrh r0, [r0, 0xA]
- cmp r0, 0x19
- bls _08125D6A
-_08125D66:
- ldrh r0, [r7]
- b _08125E10
-_08125D6A:
- movs r4, 0
- add r6, sp, 0xC
- mov r7, sp
- adds r7, 0x6
- adds r5, r6, 0
-_08125D74:
- lsls r2, r4, 1
- mov r1, sp
- adds r0, r1, r2
- adds r1, r7, r2
- ldrh r3, [r0]
- ldrh r0, [r1]
- cmp r3, r0
- bls _08125D8A
- adds r1, r5, r2
- subs r0, r3, r0
- b _08125D8E
-_08125D8A:
- adds r1, r5, r2
- subs r0, r3
-_08125D8E:
- strh r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bls _08125D74
- adds r1, r6, 0
- ldrh r0, [r1, 0x2]
- ldrh r3, [r1]
- cmp r3, r0
- bcc _08125DB4
- ldrh r2, [r1, 0x4]
- cmp r3, r2
- bcc _08125DAE
- adds r2, r3, 0
- b _08125DC8
-_08125DAE:
- cmp r0, r2
- bcs _08125DBA
- b _08125DC2
-_08125DB4:
- ldrh r2, [r1, 0x4]
- cmp r0, r2
- bcc _08125DBE
-_08125DBA:
- ldrh r2, [r1, 0x2]
- b _08125DC8
-_08125DBE:
- cmp r2, r3
- bcc _08125DC6
-_08125DC2:
- ldrh r2, [r1, 0x4]
- b _08125DC8
-_08125DC6:
- ldrh r2, [r6]
-_08125DC8:
- mov r0, sp
- ldrh r1, [r0, 0x6]
- lsrs r0, r2, 1
- movs r6, 0x1F
- subs r6, r0
- adds r0, r1, 0
- muls r0, r6
- movs r1, 0x1F
- bl __divsi3
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- mov r0, sp
- ldrh r0, [r0, 0x8]
- muls r0, r6
- movs r1, 0x1F
- bl __divsi3
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, sp
- ldrh r0, [r0, 0xA]
- muls r0, r6
- movs r1, 0x1F
- bl __divsi3
- lsls r0, 16
- lsrs r0, 6
- lsls r4, 5
- orrs r0, r4
- orrs r5, r0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r5, 0
-_08125E10:
- add sp, 0x14
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8125CF4
-
- thumb_func_start sub_8125E18
-sub_8125E18: @ 8125E18
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r3, r0, 0
- mov r10, r1
- str r2, [sp]
- ldrh r1, [r3]
- mov r0, r10
- ldrh r0, [r0]
- cmp r1, r0
- bne _08125E40
- ldrh r0, [r2]
- cmp r0, r1
- bne _08125E40
- mov r1, r10
- ldrh r0, [r1]
- b _08125F28
-_08125E40:
- mov r2, r10
- ldrh r0, [r2]
- movs r1, 0x1F
- mov r9, r1
- movs r4, 0x1F
- adds r5, r4, 0
- ands r5, r0
- lsls r0, 16
- lsrs r2, r0, 21
- mov r1, r9
- ands r1, r2
- mov r8, r1
- lsrs r0, 26
- mov r2, r9
- ands r2, r0
- str r2, [sp, 0x4]
- ldrh r2, [r3]
- adds r0, r4, 0
- ands r0, r2
- lsls r2, 16
- lsrs r1, r2, 21
- mov r3, r9
- ands r1, r3
- adds r0, r1
- lsrs r2, 26
- ands r2, r3
- adds r0, r2
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r7, r0, 16
- mov r1, r8
- adds r0, r5, r1
- ldr r2, [sp, 0x4]
- adds r0, r2
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r3, [sp]
- ldrh r1, [r3]
- ands r4, r1
- lsls r1, 16
- lsrs r0, r1, 21
- mov r2, r9
- ands r0, r2
- adds r4, r0
- lsrs r1, 26
- ands r1, r2
- adds r4, r1
- adds r0, r4, 0
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r7, r6
- bne _08125EC2
- cmp r1, r6
- bne _08125EC2
- mov r3, r10
- ldrh r0, [r3]
- b _08125F28
-_08125EC2:
- cmp r7, r6
- bls _08125ECA
- subs r0, r7, r6
- b _08125ECC
-_08125ECA:
- subs r0, r6, r7
-_08125ECC:
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r1, r6
- bls _08125ED8
- subs r0, r1, r6
- b _08125EDA
-_08125ED8:
- subs r0, r6, r1
-_08125EDA:
- lsls r0, 16
- lsrs r0, 16
- cmp r2, r0
- bcc _08125EE4
- adds r0, r2, 0
-_08125EE4:
- lsrs r0, 1
- movs r4, 0x1F
- subs r4, r0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- muls r0, r4
- movs r1, 0x1F
- bl __divsi3
- lsls r0, 16
- lsrs r5, r0, 16
- mov r0, r8
- muls r0, r4
- movs r1, 0x1F
- bl __divsi3
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r1, [sp, 0x4]
- adds r0, r1, 0
- muls r0, r4
- movs r1, 0x1F
- bl __divsi3
- lsls r0, 16
- lsrs r0, 6
- mov r2, r8
- lsls r1, r2, 5
- orrs r0, r1
- orrs r5, r0
- lsls r0, r5, 16
- lsrs r0, 16
-_08125F28:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8125E18
-
- thumb_func_start sub_8125F38
-sub_8125F38: @ 8125F38
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r3, r0, 0
- mov r10, r1
- str r2, [sp]
- ldrh r1, [r3]
- mov r0, r10
- ldrh r0, [r0]
- cmp r1, r0
- bne _08125F60
- ldrh r0, [r2]
- cmp r0, r1
- bne _08125F60
- mov r1, r10
- ldrh r0, [r1]
- b _08126046
-_08125F60:
- mov r2, r10
- ldrh r0, [r2]
- movs r1, 0x1F
- mov r9, r1
- movs r4, 0x1F
- adds r5, r4, 0
- ands r5, r0
- lsls r0, 16
- lsrs r2, r0, 21
- mov r1, r9
- ands r1, r2
- mov r8, r1
- lsrs r0, 26
- mov r2, r9
- ands r2, r0
- str r2, [sp, 0x4]
- ldrh r2, [r3]
- adds r0, r4, 0
- ands r0, r2
- lsls r2, 16
- lsrs r1, r2, 21
- mov r3, r9
- ands r1, r3
- adds r0, r1
- lsrs r2, 26
- ands r2, r3
- adds r0, r2
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r7, r0, 16
- mov r1, r8
- adds r0, r5, r1
- ldr r2, [sp, 0x4]
- adds r0, r2
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r3, [sp]
- ldrh r1, [r3]
- ands r4, r1
- lsls r1, 16
- lsrs r0, r1, 21
- mov r2, r9
- ands r0, r2
- adds r4, r0
- lsrs r1, 26
- ands r1, r2
- adds r4, r1
- adds r0, r4, 0
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r7, r6
- bne _08125FE2
- cmp r1, r6
- bne _08125FE2
- mov r3, r10
- ldrh r0, [r3]
- b _08126046
-_08125FE2:
- cmp r7, r6
- bls _08125FEA
- subs r0, r7, r6
- b _08125FEC
-_08125FEA:
- subs r0, r6, r7
-_08125FEC:
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r1, r6
- bls _08125FF8
- subs r0, r1, r6
- b _08125FFA
-_08125FF8:
- subs r0, r6, r1
-_08125FFA:
- lsls r0, 16
- lsrs r0, 16
- cmp r2, r0
- bcc _08126004
- adds r0, r2, 0
-_08126004:
- movs r4, 0x1F
- subs r4, r0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- muls r0, r4
- movs r1, 0x1F
- bl __divsi3
- lsls r0, 16
- lsrs r5, r0, 16
- mov r0, r8
- muls r0, r4
- movs r1, 0x1F
- bl __divsi3
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r1, [sp, 0x4]
- adds r0, r1, 0
- muls r0, r4
- movs r1, 0x1F
- bl __divsi3
- lsls r0, 16
- lsrs r0, 6
- mov r2, r8
- lsls r1, r2, 5
- orrs r0, r1
- orrs r5, r0
- lsls r0, r5, 16
- lsrs r0, 16
-_08126046:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8125F38
thumb_func_start sub_8126058
sub_8126058: @ 8126058
@@ -2793,7 +614,7 @@ _0812653C:
.pool
_0812656C:
adds r0, r4, 0
- bl sub_8125C68
+ bl ConvertToBlackOrWhite
lsls r0, 16
cmp r0, 0
bne _0812657E
diff --git a/asm/pokenav.s b/asm/pokenav.s
index c1cd01c27..1c0c18f7e 100644
--- a/asm/pokenav.s
+++ b/asm/pokenav.s
@@ -29324,14 +29324,14 @@ sub_81D5FB4: @ 81D5FB4
mov r9, r0
cmp r0, 0x6
bne _081D5FD2
- bl sub_8087D74
+ bl InitMapFromSavedGame
b _081D605E
_081D5FD2:
bl sub_81D56B0
mov r0, r9
cmp r0, 0x5
bne _081D5FE6
- bl sub_8087D74
+ bl InitMapFromSavedGame
bl sub_81D5710
b _081D605E
_081D5FE6:
@@ -29342,7 +29342,7 @@ _081D5FE6:
ldr r0, =gMapHeader
ldr r0, [r0]
ldr r2, [r0, 0xC]
- ldr r1, =gUnknown_03005DC0
+ ldr r1, =gBackupMapLayout
str r4, [r1, 0x8]
movs r0, 0x1F
str r0, [r1]
diff --git a/common_syms/fieldmap.txt b/common_syms/fieldmap.txt
index 49e0fb980..0ead75846 100644
--- a/common_syms/fieldmap.txt
+++ b/common_syms/fieldmap.txt
@@ -1 +1 @@
-gUnknown_03005DC0
+gBackupMapLayout
diff --git a/data/event_scripts.s b/data/event_scripts.s
index 6a3a2f2f6..5d847719e 100644
--- a/data/event_scripts.s
+++ b/data/event_scripts.s
@@ -4769,7 +4769,7 @@ gUnknown_082A8350:: @ 82A8350
waitmovement 0
playse SE_RU_HYUU
delay 60
- special sp13F_fall_to_last_warp
+ special DoFallWarp
waitstate
end
diff --git a/data/field_effect_scripts.s b/data/field_effect_scripts.s
index 81de41aaa..93fe33f8a 100644
--- a/data/field_effect_scripts.s
+++ b/data/field_effect_scripts.s
@@ -341,5 +341,5 @@ gFieldEffectScript_Unknown65:: @ 82DBCF9
field_eff_end
gFieldEffectScript_Unknown66:: @ 82DBCFF
- field_eff_callnative sub_80B9E28
+ field_eff_callnative Fldeff_MoveDeoxysRock
field_eff_end
diff --git a/data/maps/BattleFrontier_BattleArenaBattleRoom/events.inc b/data/maps/BattleFrontier_BattleArenaBattleRoom/events.inc
index 1a8216287..4731db975 100644
--- a/data/maps/BattleFrontier_BattleArenaBattleRoom/events.inc
+++ b/data/maps/BattleFrontier_BattleArenaBattleRoom/events.inc
@@ -5,8 +5,8 @@ BattleFrontier_BattleArenaBattleRoom_EventObjects: @ 853C8EC
object_event 4, EVENT_OBJ_GFX_BLACK_BELT, 0, 10, 9, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0
object_event 5, EVENT_OBJ_GFX_BLACK_BELT, 0, 4, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, 0x0, 0
object_event 6, EVENT_OBJ_GFX_BLACK_BELT, 0, 11, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, 0x0, 0
- object_event 7, EVENT_OBJ_GFX_HIPSTER, 0, 15, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, 0x0, 0
- object_event 8, EVENT_OBJ_GFX_TRADER, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, 0x0, 0
+ object_event 7, EVENT_OBJ_GFX_VAR_0, 0, 15, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, 0x0, 0
+ object_event 8, EVENT_OBJ_GFX_VAR_1, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, 0x0, 0
object_event 9, EVENT_OBJ_GFX_BLACK_BELT, 0, 7, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0
BattleFrontier_BattleArenaBattleRoom_MapEvents:: @ 853C9C4
diff --git a/data/maps/BattleFrontier_BattleDomeBattleRoom/events.inc b/data/maps/BattleFrontier_BattleDomeBattleRoom/events.inc
index 63ceb7484..910160645 100644
--- a/data/maps/BattleFrontier_BattleDomeBattleRoom/events.inc
+++ b/data/maps/BattleFrontier_BattleDomeBattleRoom/events.inc
@@ -11,9 +11,9 @@ BattleFrontier_BattleDomeBattleRoom_EventObjects: @ 853C1C4
object_event 10, EVENT_OBJ_GFX_FAT_MAN, 0, 12, 1, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0
object_event 11, EVENT_OBJ_GFX_GIRL_2, 0, 13, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0
object_event 12, EVENT_OBJ_GFX_GIRL_1, 0, 10, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0
- object_event 13, EVENT_OBJ_GFX_TRADER, 0, 4, 9, 4, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0
+ object_event 13, EVENT_OBJ_GFX_VAR_1, 0, 4, 9, 4, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0
object_event 14, EVENT_OBJ_GFX_WOMAN_3, 0, 14, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0
- object_event 15, EVENT_OBJ_GFX_HIPSTER, 0, 11, 6, 0, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, 0x0, 0
+ object_event 15, EVENT_OBJ_GFX_VAR_0, 0, 11, 6, 0, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, 0x0, 0
BattleFrontier_BattleDomeBattleRoom_MapEvents:: @ 853C32C
map_events BattleFrontier_BattleDomeBattleRoom_EventObjects, 0x0, 0x0, 0x0
diff --git a/data/maps/BattleFrontier_BattleFactoryBattleRoom/events.inc b/data/maps/BattleFrontier_BattleFactoryBattleRoom/events.inc
index 264c7d731..bdaf4c51b 100644
--- a/data/maps/BattleFrontier_BattleFactoryBattleRoom/events.inc
+++ b/data/maps/BattleFrontier_BattleFactoryBattleRoom/events.inc
@@ -1,12 +1,12 @@
BattleFrontier_BattleFactoryBattleRoom_EventObjects: @ 853CADC
object_event 1, EVENT_OBJ_GFX_SCIENTIST_1, 0, 0, 6, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 7, 4, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0
+ object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 7, 4, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0
object_event 3, EVENT_OBJ_GFX_SCIENTIST_1, 0, 0, 4, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0
object_event 4, EVENT_OBJ_GFX_SCIENTIST_1, 0, 0, 8, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0
object_event 5, EVENT_OBJ_GFX_SCIENTIST_1, 0, 12, 4, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0
object_event 6, EVENT_OBJ_GFX_SCIENTIST_1, 0, 12, 6, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0
object_event 7, EVENT_OBJ_GFX_SCIENTIST_1, 0, 12, 8, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0
- object_event 8, 255, 0, 5, 11, 0, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0
+ object_event 8, EVENT_OBJ_GFX_VAR_F, 0, 5, 11, 0, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0
BattleFrontier_BattleFactoryBattleRoom_MapEvents:: @ 853CB9C
map_events BattleFrontier_BattleFactoryBattleRoom_EventObjects, 0x0, 0x0, 0x0
diff --git a/data/maps/BattleFrontier_BattlePalaceBattleRoom/events.inc b/data/maps/BattleFrontier_BattlePalaceBattleRoom/events.inc
index 29818b1d6..8363f2bb5 100644
--- a/data/maps/BattleFrontier_BattlePalaceBattleRoom/events.inc
+++ b/data/maps/BattleFrontier_BattlePalaceBattleRoom/events.inc
@@ -1,6 +1,6 @@
BattleFrontier_BattlePalaceBattleRoom_EventObjects: @ 853C4FC
- object_event 1, EVENT_OBJ_GFX_TRADER, 0, 1, 9, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 13, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0
+ object_event 1, EVENT_OBJ_GFX_VAR_1, 0, 1, 9, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0
+ object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 13, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0
object_event 3, EVENT_OBJ_GFX_EXPERT_M, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, 0x0, 0
object_event 4, EVENT_OBJ_GFX_DUSCLOPS, 0, 13, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0
object_event 5, EVENT_OBJ_GFX_AZURILL, 0, 13, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0
diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom1/events.inc b/data/maps/BattleFrontier_BattlePikeRandomRoom1/events.inc
index 580873720..81dee29d1 100644
--- a/data/maps/BattleFrontier_BattlePikeRandomRoom1/events.inc
+++ b/data/maps/BattleFrontier_BattlePikeRandomRoom1/events.inc
@@ -1,6 +1,6 @@
BattleFrontier_BattlePikeRandomRoom1_EventObjects: @ 853CD54
- object_event 1, EVENT_OBJ_GFX_HIPSTER, 0, 4, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D7ED, 0
- object_event 2, EVENT_OBJ_GFX_TRADER, 0, 3, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D88D, 0
+ object_event 1, EVENT_OBJ_GFX_VAR_0, 0, 4, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D7ED, 0
+ object_event 2, EVENT_OBJ_GFX_VAR_1, 0, 3, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D88D, 0
BattleFrontier_BattlePikeRandomRoom1_MapCoordEvents: @ 853CD84
coord_event 4, 3, 3, VAR_TEMP_1, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C40A2
diff --git a/data/maps/BattleFrontier_BattleTowerBattleRoom/events.inc b/data/maps/BattleFrontier_BattleTowerBattleRoom/events.inc
index 0fd75debb..148e590af 100644
--- a/data/maps/BattleFrontier_BattleTowerBattleRoom/events.inc
+++ b/data/maps/BattleFrontier_BattleTowerBattleRoom/events.inc
@@ -1,5 +1,5 @@
BattleFrontier_BattleTowerBattleRoom_EventObjects: @ 853B7D0
- object_event 1, EVENT_OBJ_GFX_HIPSTER, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_BATTLE_TOWER_OPPONENT
+ object_event 1, EVENT_OBJ_GFX_VAR_0, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_BATTLE_TOWER_OPPONENT
object_event 2, EVENT_OBJ_GFX_TEALA, 0, 1, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 0
object_event 3, EVENT_OBJ_GFX_TEALA, 0, 4, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0
diff --git a/data/maps/BattleFrontier_BattleTowerBattleRoom2/events.inc b/data/maps/BattleFrontier_BattleTowerBattleRoom2/events.inc
index 90232cf5b..f83bee69d 100644
--- a/data/maps/BattleFrontier_BattleTowerBattleRoom2/events.inc
+++ b/data/maps/BattleFrontier_BattleTowerBattleRoom2/events.inc
@@ -1,10 +1,10 @@
BattleFrontier_BattleTowerBattleRoom2_EventObjects: @ 853BFC4
- object_event 1, EVENT_OBJ_GFX_HIPSTER, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_BATTLE_TOWER_OPPONENT
+ object_event 1, EVENT_OBJ_GFX_VAR_0, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_BATTLE_TOWER_OPPONENT
object_event 2, EVENT_OBJ_GFX_TEALA, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 0
object_event 3, EVENT_OBJ_GFX_TEALA, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 0
- object_event 4, EVENT_OBJ_GFX_TRADER, 0, 4, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_BATTLE_TOWER_OPPONENT
- object_event 5, 255, 0, 4, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0
- object_event 6, 254, 0, 5, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0
+ object_event 4, EVENT_OBJ_GFX_VAR_1, 0, 4, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_BATTLE_TOWER_OPPONENT
+ object_event 5, EVENT_OBJ_GFX_VAR_F, 0, 4, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0
+ object_event 6, EVENT_OBJ_GFX_VAR_E, 0, 5, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0
BattleFrontier_BattleTowerBattleRoom2_MapEvents:: @ 853C054
map_events BattleFrontier_BattleTowerBattleRoom2_EventObjects, 0x0, 0x0, 0x0
diff --git a/data/maps/BattleFrontier_BattleTowerCorridor2/events.inc b/data/maps/BattleFrontier_BattleTowerCorridor2/events.inc
index 8f6a1e2f0..f96f14916 100644
--- a/data/maps/BattleFrontier_BattleTowerCorridor2/events.inc
+++ b/data/maps/BattleFrontier_BattleTowerCorridor2/events.inc
@@ -1,8 +1,8 @@
BattleFrontier_BattleTowerCorridor2_EventObjects: @ 853BF50
- object_event 1, 255, 0, 1, 1, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0
+ object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 1, 1, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0
object_event 2, EVENT_OBJ_GFX_TEALA, 0, 14, 3, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0
object_event 3, EVENT_OBJ_GFX_TEALA, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0
- object_event 4, 254, 0, 14, 1, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0
+ object_event 4, EVENT_OBJ_GFX_VAR_E, 0, 14, 1, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0
BattleFrontier_BattleTowerCorridor2_MapEvents:: @ 853BFB0
map_events BattleFrontier_BattleTowerCorridor2_EventObjects, 0x0, 0x0, 0x0
diff --git a/data/maps/BattleFrontier_BattleTowerLobby/events.inc b/data/maps/BattleFrontier_BattleTowerLobby/events.inc
index d100dec0b..6a78eaee6 100644
--- a/data/maps/BattleFrontier_BattleTowerLobby/events.inc
+++ b/data/maps/BattleFrontier_BattleTowerLobby/events.inc
@@ -4,7 +4,7 @@ BattleFrontier_BattleTowerLobby_EventObjects: @ 853B638
object_event 3, EVENT_OBJ_GFX_WOMAN_5, 0, 17, 8, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_23EFB5, 0
object_event 4, EVENT_OBJ_GFX_BOY_1, 0, 15, 9, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_23EFBE, 0
object_event 5, EVENT_OBJ_GFX_REPORTER_F, 0, 11, 9, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_28CB96, FLAG_HIDE_BATTLE_TOWER_REPORTER
- object_event 6, EVENT_OBJ_GFX_HIPSTER, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, EventScript_Apprentice, FLAG_HIDE_APPRENTICE
+ object_event 6, EVENT_OBJ_GFX_VAR_0, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, EventScript_Apprentice, FLAG_HIDE_APPRENTICE
object_event 7, EVENT_OBJ_GFX_TEALA, 0, 10, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_23EA9F, 0
object_event 8, EVENT_OBJ_GFX_TEALA, 0, 14, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_23EC08, 0
object_event 9, EVENT_OBJ_GFX_TEALA, 0, 18, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_23ED74, 0
diff --git a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/events.inc b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/events.inc
index 9212f2fd2..9f3977075 100644
--- a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/events.inc
+++ b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/events.inc
@@ -1,13 +1,13 @@
BattleFrontier_BattleTowerMultiBattleRoom_EventObjects: @ 853BE64
object_event 1, EVENT_OBJ_GFX_TEALA, 0, 11, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E7A, 0
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 2, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F29, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_1
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 17, 11, 3, MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FFB, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_2
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 6, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244008, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_3
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 8, 13, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244015, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_4
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 10, 11, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244022, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_5
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 13, 10, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_24402F, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_6
- object_event 8, 246, 0, 15, 13, 3, MOVEMENT_TYPE_FACE_UP_AND_LEFT, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_24403C, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_1
- object_event 9, 247, 0, 4, 12, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244049, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_2
+ object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 2, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F29, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_1
+ object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 17, 11, 3, MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FFB, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_2
+ object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 6, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244008, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_3
+ object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 8, 13, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244015, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_4
+ object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 10, 11, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244022, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_5
+ object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 13, 10, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_24402F, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_6
+ object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 15, 13, 3, MOVEMENT_TYPE_FACE_UP_AND_LEFT, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_24403C, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_1
+ object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 4, 12, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244049, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_2
BattleFrontier_BattleTowerMultiBattleRoom_MapEvents:: @ 853BF3C
map_events BattleFrontier_BattleTowerMultiBattleRoom_EventObjects, 0x0, 0x0, 0x0
diff --git a/data/maps/BirthIsland_Exterior/scripts.inc b/data/maps/BirthIsland_Exterior/scripts.inc
index cb84a51bd..8e0a475a7 100644
--- a/data/maps/BirthIsland_Exterior/scripts.inc
+++ b/data/maps/BirthIsland_Exterior/scripts.inc
@@ -11,8 +11,8 @@ BirthIsland_Exterior_MapScript1_267F25: @ 8267F25
BirthIsland_Exterior_MapScript1_267F29: @ 8267F29
setflag FLAG_0x8D3
setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL
- setvar VAR_0x4034, 0
- setvar VAR_0x4035, 0
+ setvar VAR_DEOXYS_ROCK_STEP_COUNT, 0
+ setvar VAR_DEOXYS_ROCK_LEVEL, 0
call_if_set FLAG_0x1AD, BirthIsland_Exterior_EventScript_267F4E
call_if_unset FLAG_0x1AD, BirthIsland_Exterior_EventScript_267F55
end
@@ -25,7 +25,7 @@ BirthIsland_Exterior_EventScript_267F4E:: @ 8267F4E
BirthIsland_Exterior_EventScript_267F55:: @ 8267F55
goto_if_set FLAG_0x1AC, BirthIsland_Exterior_EventScript_27374E
clearflag FLAG_HIDE_BIRTH_ISLAND_DEOXYS_TRIANGLE
- clearflag FLAG_0x8D4
+ clearflag FLAG_DEOXYS_ROCK_COMPLETE
return
BirthIsland_Exterior_MapScript1_267F65: @ 8267F65
@@ -42,7 +42,7 @@ BirthIsland_Exterior_EventScript_267F6F:: @ 8267F6F
BirthIsland_Exterior_EventScript_267F83:: @ 8267F83
lock
faceplayer
- special sub_813AFC8
+ special DoDeoxysRockInteraction
waitstate
switch VAR_RESULT
case 0, BirthIsland_Exterior_EventScript_267FBB
diff --git a/data/maps/EverGrandeCity_ChampionsRoom/events.inc b/data/maps/EverGrandeCity_ChampionsRoom/events.inc
index bd4cc71e3..9ce5831ba 100644
--- a/data/maps/EverGrandeCity_ChampionsRoom/events.inc
+++ b/data/maps/EverGrandeCity_ChampionsRoom/events.inc
@@ -1,6 +1,6 @@
EverGrandeCity_ChampionsRoom_EventObjects: @ 8533700
object_event 1, EVENT_OBJ_GFX_WALLACE, 0, 6, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 6, 12, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_CHAMPIONS_ROOM_RIVAL
+ object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 6, 12, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_CHAMPIONS_ROOM_RIVAL
object_event 3, EVENT_OBJ_GFX_PROF_BIRCH, 0, 6, 12, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_CHAMPIONS_ROOM_BIRCH
EverGrandeCity_ChampionsRoom_MapWarps: @ 8533748
diff --git a/data/maps/FallarborTown_BattleTentBattleRoom/events.inc b/data/maps/FallarborTown_BattleTentBattleRoom/events.inc
index f3c8838e6..681f5b028 100644
--- a/data/maps/FallarborTown_BattleTentBattleRoom/events.inc
+++ b/data/maps/FallarborTown_BattleTentBattleRoom/events.inc
@@ -1,7 +1,7 @@
FallarborTown_BattleTentBattleRoom_EventObjects: @ 852E444
- object_event 1, EVENT_OBJ_GFX_TRADER, 0, 4, 8, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0
+ object_event 1, EVENT_OBJ_GFX_VAR_1, 0, 4, 8, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0
object_event 2, EVENT_OBJ_GFX_BLACK_BELT, 0, 3, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0
- object_event 3, EVENT_OBJ_GFX_HIPSTER, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0
+ object_event 3, EVENT_OBJ_GFX_VAR_0, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0
FallarborTown_BattleTentBattleRoom_MapEvents:: @ 852E48C
map_events FallarborTown_BattleTentBattleRoom_EventObjects, 0x0, 0x0, 0x0
diff --git a/data/maps/LavaridgeTown/events.inc b/data/maps/LavaridgeTown/events.inc
index 4822762ea..6d34ee5c8 100644
--- a/data/maps/LavaridgeTown/events.inc
+++ b/data/maps/LavaridgeTown/events.inc
@@ -5,8 +5,8 @@ LavaridgeTown_EventObjects: @ 8527A54
object_event 4, EVENT_OBJ_GFX_TWIN, 0, 10, 13, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 0, 2, 0, 0, LavaridgeTown_EventScript_1EA720, 0
object_event 5, EVENT_OBJ_GFX_HOT_SPRINGS_OLD_WOMAN, 0, 4, 4, 3, MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT, 0, 0, 0, 0, LavaridgeTown_EventScript_1EA729, 0
object_event 6, EVENT_OBJ_GFX_HOT_SPRINGS_OLD_WOMAN, 0, 5, 4, 3, MOVEMENT_TYPE_FACE_DOWN_AND_LEFT, 0, 0, 0, 0, LavaridgeTown_EventScript_1EA732, 0
- object_event 7, EVENT_OBJ_GFX_GIDDY, 0, 6, 16, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_2
- object_event 8, EVENT_OBJ_GFX_HIPSTER, 0, 12, 15, 0, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_1
+ object_event 7, EVENT_OBJ_GFX_VAR_3, 0, 6, 16, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_2
+ object_event 8, EVENT_OBJ_GFX_VAR_0, 0, 12, 15, 0, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_1
object_event 9, EVENT_OBJ_GFX_EXPERT_F, 0, 4, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LavaridgeTown_EventScript_1EA744, 0
LavaridgeTown_MapWarps: @ 8527B2C
diff --git a/data/maps/LilycoveCity/events.inc b/data/maps/LilycoveCity/events.inc
index 2c7f71d5c..68a782212 100644
--- a/data/maps/LilycoveCity/events.inc
+++ b/data/maps/LilycoveCity/events.inc
@@ -15,7 +15,7 @@ LilycoveCity_EventObjects: @ 8526CE8
object_event 14, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 45, 12, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LilycoveCity_EventScript_1E2DC3, FLAG_HIDE_LILYCOVE_CITY_AQUA_GRUNTS
object_event 15, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 38, 9, 5, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, LilycoveCity_EventScript_1E2DCC, FLAG_HIDE_LILYCOVE_CITY_AQUA_GRUNTS
object_event 16, EVENT_OBJ_GFX_GENTLEMAN, 0, 50, 7, 5, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_EventScript_1E2BD8, 0
- object_event 17, EVENT_OBJ_GFX_HIPSTER, 0, 27, 7, 5, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LilycoveCity_EventScript_1E2DDE, FLAG_HIDE_LILYCOVE_CITY_RIVAL
+ object_event 17, EVENT_OBJ_GFX_VAR_0, 0, 27, 7, 5, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LilycoveCity_EventScript_1E2DDE, FLAG_HIDE_LILYCOVE_CITY_RIVAL
object_event 18, EVENT_OBJ_GFX_SCHOOL_KID_M, 0, 16, 23, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, LilycoveCity_EventScript_1E302D, 0
object_event 19, EVENT_OBJ_GFX_WOMAN_3, 0, 41, 25, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, LilycoveCity_EventScript_1E2CEE, 0
object_event 20, EVENT_OBJ_GFX_MAN_2, 0, 40, 25, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, LilycoveCity_EventScript_1E2CDD, 0
diff --git a/data/maps/LilycoveCity_PokemonCenter_1F/events.inc b/data/maps/LilycoveCity_PokemonCenter_1F/events.inc
index 3ab130771..26b6955c0 100644
--- a/data/maps/LilycoveCity_PokemonCenter_1F/events.inc
+++ b/data/maps/LilycoveCity_PokemonCenter_1F/events.inc
@@ -2,8 +2,8 @@ LilycoveCity_PokemonCenter_1F_EventObjects: @ 8531BCC
object_event 1, EVENT_OBJ_GFX_NURSE, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_PokemonCenter_1F_EventScript_21C5E8, 0
object_event 2, EVENT_OBJ_GFX_BOY_1, 0, 10, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LilycoveCity_PokemonCenter_1F_EventScript_21C5F6, 0
object_event 3, EVENT_OBJ_GFX_MANIAC, 0, 11, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LilycoveCity_PokemonCenter_1F_EventScript_21C5FF, 0
- object_event 4, EVENT_OBJ_GFX_HIPSTER, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_PokemonCenter_1F_EventScript_2A836B, 0
- object_event 5, EVENT_OBJ_GFX_TRADER, 0, 2, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_PokemonCenter_1F_EventScript_2A89C7, FLAG_HIDE_LILYCOVE_POKEMON_CENTER_LADY
+ object_event 4, EVENT_OBJ_GFX_VAR_0, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_PokemonCenter_1F_EventScript_2A836B, 0
+ object_event 5, EVENT_OBJ_GFX_VAR_1, 0, 2, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_PokemonCenter_1F_EventScript_2A89C7, FLAG_HIDE_LILYCOVE_POKEMON_CENTER_LADY
LilycoveCity_PokemonCenter_1F_MapWarps: @ 8531C44
warp_def 7, 8, 3, 2, MAP_LILYCOVE_CITY
diff --git a/data/maps/LinkContestRoom1/events.inc b/data/maps/LinkContestRoom1/events.inc
index 99eeef56f..5c1a3b9f4 100644
--- a/data/maps/LinkContestRoom1/events.inc
+++ b/data/maps/LinkContestRoom1/events.inc
@@ -1,18 +1,18 @@
LinkContestRoom1_EventObjects: @ 8539EFC
object_event 1, EVENT_OBJ_GFX_WOMAN_3, 0, 6, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0
object_event 2, EVENT_OBJ_GFX_CONTEST_JUDGE, 0, 7, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0
- object_event 3, EVENT_OBJ_GFX_HIPSTER, 0, 4, 7, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0
- object_event 4, EVENT_OBJ_GFX_TRADER, 0, 6, 7, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0
- object_event 5, EVENT_OBJ_GFX_STORYTELLER, 0, 8, 7, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 2, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 0
- object_event 7, 246, 0, 4, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0
- object_event 8, 247, 0, 5, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0
- object_event 9, 248, 0, 9, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0
- object_event 10, 249, 0, 10, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0
- object_event 11, 250, 0, 12, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, 0
- object_event 12, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 2, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 0
+ object_event 3, EVENT_OBJ_GFX_VAR_0, 0, 4, 7, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0
+ object_event 4, EVENT_OBJ_GFX_VAR_1, 0, 6, 7, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0
+ object_event 5, EVENT_OBJ_GFX_VAR_2, 0, 8, 7, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0
+ object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 2, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 0
+ object_event 7, EVENT_OBJ_GFX_VAR_6, 0, 4, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0
+ object_event 8, EVENT_OBJ_GFX_VAR_7, 0, 5, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0
+ object_event 9, EVENT_OBJ_GFX_VAR_8, 0, 9, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0
+ object_event 10, EVENT_OBJ_GFX_VAR_9, 0, 10, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0
+ object_event 11, EVENT_OBJ_GFX_VAR_A, 0, 12, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, 0
+ object_event 12, EVENT_OBJ_GFX_VAR_5, 0, 2, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 0
object_event 13, EVENT_OBJ_GFX_ITEM_BALL, 0, 7, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_LINK_CONTEST_POKE_BALL
- object_event 14, EVENT_OBJ_GFX_GIDDY, 0, 10, 7, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0
+ object_event 14, EVENT_OBJ_GFX_VAR_3, 0, 10, 7, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0
object_event 15, EVENT_OBJ_GFX_ARTIST, 0, 12, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, 0
LinkContestRoom1_MapEvents:: @ 853A064
diff --git a/data/maps/LittlerootTown/events.inc b/data/maps/LittlerootTown/events.inc
index 71bf9a643..fc151a220 100644
--- a/data/maps/LittlerootTown/events.inc
+++ b/data/maps/LittlerootTown/events.inc
@@ -5,7 +5,7 @@ LittlerootTown_EventObjects: @ 85276A8
object_event 4, EVENT_OBJ_GFX_MOM, 0, 5, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LittlerootTown_EventScript_1E863D, FLAG_HIDE_LITTLEROOT_TOWN_MOM_OUTSIDE
object_event 5, EVENT_OBJ_GFX_TRUCK, 0, 2, 10, 4, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_TRUCK
object_event 6, EVENT_OBJ_GFX_TRUCK, 0, 11, 10, 4, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_TRUCK
- object_event 7, EVENT_OBJ_GFX_HIPSTER, 0, 13, 10, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, FLAG_HIDE_LITTLEROOT_TOWN_RIVAL
+ object_event 7, EVENT_OBJ_GFX_VAR_0, 0, 13, 10, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, FLAG_HIDE_LITTLEROOT_TOWN_RIVAL
object_event 8, EVENT_OBJ_GFX_PROF_BIRCH, 0, 14, 10, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, FLAG_HIDE_LITTLEROOT_TOWN_BIRCH
LittlerootTown_MapWarps: @ 8527768
diff --git a/data/maps/LittlerootTown_BrendansHouse_2F/events.inc b/data/maps/LittlerootTown_BrendansHouse_2F/events.inc
index 07ce48998..46a4fcfc2 100644
--- a/data/maps/LittlerootTown_BrendansHouse_2F/events.inc
+++ b/data/maps/LittlerootTown_BrendansHouse_2F/events.inc
@@ -1,17 +1,17 @@
LittlerootTown_BrendansHouse_2F_EventObjects: @ 852D1A0
object_event 1, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 7, 1, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 0, 0, 0, LittlerootTown_BrendansHouse_2F_EventScript_1F94C1, FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 4, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 8, 246, 0, 1, 0, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 9, 247, 0, 1, 1, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 10, 248, 0, 1, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 11, 249, 0, 1, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 12, 250, 0, 1, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 13, 251, 0, 1, 5, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 4, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 1, 0, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 1, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 5, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
object_event 14, EVENT_OBJ_GFX_MOM, 0, 7, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 0, 0, 0, 0x0, FLAG_HIDE_LITTLE_ROOT_TOWN_PLAYERS_BEDROOM_MOM
object_event 15, EVENT_OBJ_GFX_ITEM_BALL, 0, 3, 4, 0, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, LittlerootTown_BrendansHouse_2F_EventScript_1F8481, FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_POKE_BALL
object_event 16, EVENT_OBJ_GFX_SWABLU_DOLL, 0, 5, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, 0x0, FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_SWABLU_DOLL
diff --git a/data/maps/LittlerootTown_MaysHouse_2F/events.inc b/data/maps/LittlerootTown_MaysHouse_2F/events.inc
index 8c93a570a..8f4c74737 100644
--- a/data/maps/LittlerootTown_MaysHouse_2F/events.inc
+++ b/data/maps/LittlerootTown_MaysHouse_2F/events.inc
@@ -1,17 +1,17 @@
LittlerootTown_MaysHouse_2F_EventObjects: @ 852D480
object_event 1, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL, 0, 1, 1, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 0, 0, 0, LittlerootTown_MaysHouse_2F_EventScript_1F94C1, FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 6, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 1, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 2, 6, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 3, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 4, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 5, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 8, 246, 0, 0, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 9, 247, 0, 1, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 10, 248, 0, 2, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 11, 249, 0, 3, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 12, 250, 0, 4, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 13, 251, 0, 5, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 6, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 1, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 2, 6, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 3, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 4, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 5, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 2, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 3, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 4, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 5, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
object_event 14, EVENT_OBJ_GFX_MOM, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 0, 0, 0, 0x0, FLAG_HIDE_LITTLE_ROOT_TOWN_PLAYERS_BEDROOM_MOM
object_event 15, EVENT_OBJ_GFX_PICHU_DOLL, 0, 3, 4, 4, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_PICHU_DOLL
object_event 16, EVENT_OBJ_GFX_ITEM_BALL, 0, 5, 4, 0, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, LittlerootTown_MaysHouse_2F_EventScript_1F9334, FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_POKE_BALL
diff --git a/data/maps/LittlerootTown_ProfessorBirchsLab/events.inc b/data/maps/LittlerootTown_ProfessorBirchsLab/events.inc
index 4eb310f74..7ab449ecd 100644
--- a/data/maps/LittlerootTown_ProfessorBirchsLab/events.inc
+++ b/data/maps/LittlerootTown_ProfessorBirchsLab/events.inc
@@ -1,7 +1,7 @@
LittlerootTown_ProfessorBirchsLab_EventObjects: @ 852D64C
object_event 1, EVENT_OBJ_GFX_SCIENTIST_1, 0, 9, 8, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1F9F84, 0
object_event 2, EVENT_OBJ_GFX_PROF_BIRCH, 0, 6, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA25A, FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_BIRCH
- object_event 3, EVENT_OBJ_GFX_HIPSTER, 0, 7, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA3EC, FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_RIVAL
+ object_event 3, EVENT_OBJ_GFX_VAR_0, 0, 7, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA3EC, FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_RIVAL
object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 6, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1F9FBB, FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_CYNDAQUIL
object_event 5, EVENT_OBJ_GFX_ITEM_BALL, 0, 6, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1F9FEF, FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_TOTODILE
object_event 6, EVENT_OBJ_GFX_ITEM_BALL, 0, 6, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA023, FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_CHIKORITA
diff --git a/data/maps/MauvilleCity_PokemonCenter_1F/events.inc b/data/maps/MauvilleCity_PokemonCenter_1F/events.inc
index f83ab5e45..daf747e0d 100644
--- a/data/maps/MauvilleCity_PokemonCenter_1F/events.inc
+++ b/data/maps/MauvilleCity_PokemonCenter_1F/events.inc
@@ -1,6 +1,6 @@
MauvilleCity_PokemonCenter_1F_EventObjects: @ 85301C8
object_event 1, EVENT_OBJ_GFX_NURSE, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, MauvilleCity_PokemonCenter_1F_EventScript_210E78, 0
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 2, 3, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 0, 0, 0, MauvilleCity_PokemonCenter_1F_EventScript_28E066, 0
+ object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 2, 3, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 0, 0, 0, MauvilleCity_PokemonCenter_1F_EventScript_28E066, 0
object_event 3, EVENT_OBJ_GFX_WOMAN_1, 0, 8, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, MauvilleCity_PokemonCenter_1F_EventScript_210E86, 0
object_event 4, EVENT_OBJ_GFX_WOMAN_5, 0, 11, 4, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 0, 1, 0, 0, MauvilleCity_PokemonCenter_1F_EventScript_210E8F, 0
object_event 5, EVENT_OBJ_GFX_YOUNGSTER, 0, 2, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MauvilleCity_PokemonCenter_1F_EventScript_210E98, 0
diff --git a/data/maps/MossdeepCity_GameCorner_B1F/events.inc b/data/maps/MossdeepCity_GameCorner_B1F/events.inc
index 58ca66fd2..0737cd7e0 100644
--- a/data/maps/MossdeepCity_GameCorner_B1F/events.inc
+++ b/data/maps/MossdeepCity_GameCorner_B1F/events.inc
@@ -1,5 +1,5 @@
MossdeepCity_GameCorner_B1F_EventObjects: @ 8532FC0
- object_event 1, EVENT_OBJ_GFX_HIPSTER, 0, 6, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, 0
+ object_event 1, EVENT_OBJ_GFX_VAR_0, 0, 6, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, 0
MossdeepCity_GameCorner_B1F_MapWarps: @ 8532FD8
warp_def 3, 1, 0, 2, MAP_MOSSDEEP_CITY_GAME_CORNER_1F
diff --git a/data/maps/OldaleTown/events.inc b/data/maps/OldaleTown/events.inc
index bbf84390c..a3bc51483 100644
--- a/data/maps/OldaleTown/events.inc
+++ b/data/maps/OldaleTown/events.inc
@@ -2,7 +2,7 @@ OldaleTown_EventObjects: @ 8527854
object_event 1, EVENT_OBJ_GFX_GIRL_3, 0, 16, 11, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, OldaleTown_EventScript_1E8EF3, 0
object_event 2, EVENT_OBJ_GFX_MART_EMPLOYEE, 0, 13, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, OldaleTown_EventScript_1E8EFC, 0
object_event 3, EVENT_OBJ_GFX_MANIAC, 0, 8, 9, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, OldaleTown_EventScript_1E901F, 0
- object_event 4, EVENT_OBJ_GFX_HIPSTER, 0, 11, 19, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, OldaleTown_EventScript_1E9070, FLAG_HIDE_OLDALE_TOWN_RIVAL
+ object_event 4, EVENT_OBJ_GFX_VAR_0, 0, 11, 19, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, OldaleTown_EventScript_1E9070, FLAG_HIDE_OLDALE_TOWN_RIVAL
OldaleTown_MapWarps: @ 85278B4
warp_def 5, 7, 0, 0, MAP_OLDALE_TOWN_HOUSE1
diff --git a/data/maps/Route103/events.inc b/data/maps/Route103/events.inc
index 30a7292a0..5a6cc8866 100644
--- a/data/maps/Route103/events.inc
+++ b/data/maps/Route103/events.inc
@@ -1,6 +1,6 @@
Route103_EventObjects: @ 85280DC
object_event 1, EVENT_OBJ_GFX_MAN_3, 0, 49, 12, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, Route103_EventScript_1EC5E2, 0
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 10, 3, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, Route103_EventScript_1EC3C1, FLAG_HIDE_ROUTE_103_RIVAL
+ object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 10, 3, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, Route103_EventScript_1EC3C1, FLAG_HIDE_ROUTE_103_RIVAL
object_event 3, EVENT_OBJ_GFX_WOMAN_2, 0, 71, 11, 3, MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT, 0, 0, 1, 3, Route103_EventScript_1EC5F4, 0
object_event 4, EVENT_OBJ_GFX_TWIN, 0, 65, 12, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 1, Route103_EventScript_1EC66E, 0
object_event 5, EVENT_OBJ_GFX_TWIN, 0, 64, 12, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 1, Route103_EventScript_1EC60B, 0
diff --git a/data/maps/Route104/events.inc b/data/maps/Route104/events.inc
index 889ef3595..53e868559 100644
--- a/data/maps/Route104/events.inc
+++ b/data/maps/Route104/events.inc
@@ -32,7 +32,7 @@ Route104_EventObjects: @ 85282E4
object_event 31, EVENT_OBJ_GFX_ITEM_BALL, 0, 5, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route104_EventScript_290D26, FLAG_ITEM_ROUTE_104_POTION
object_event 32, EVENT_OBJ_GFX_BOY_2, 0, 5, 26, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route104_EventScript_1ED057, 0
object_event 33, EVENT_OBJ_GFX_FISHERMAN, 0, 15, 59, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 0, Route104_EventScript_1ED5D5, 0
- object_event 34, EVENT_OBJ_GFX_HIPSTER, 0, 17, 50, 0, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route104_EventScript_1ECC9E, FLAG_HIDE_ROUTE_104_RIVAL
+ object_event 34, EVENT_OBJ_GFX_VAR_0, 0, 17, 50, 0, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route104_EventScript_1ECC9E, FLAG_HIDE_ROUTE_104_RIVAL
Route104_MapWarps: @ 8528614
warp_def 17, 50, 0, 0, MAP_ROUTE104_MR_BRINEYS_HOUSE
diff --git a/data/maps/Route110/events.inc b/data/maps/Route110/events.inc
index 221dd6f6c..b50e5eec6 100644
--- a/data/maps/Route110/events.inc
+++ b/data/maps/Route110/events.inc
@@ -26,8 +26,8 @@ Route110_EventObjects: @ 8528CF0
object_event 25, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 10, 83, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, Route110_EventScript_1EF2EC, FLAG_HIDE_ROUTE_110_TEAM_AQUA
object_event 26, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 8, 82, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_110_TEAM_AQUA
object_event 27, EVENT_OBJ_GFX_CYCLING_TRIATHLETE_M, 0, 21, 78, 4, MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN, 7, 1, 1, 2, Route110_EventScript_1EF499, 0
- object_event 28, EVENT_OBJ_GFX_HIPSTER, 0, 34, 54, 3, MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_110_RIVAL_1
- object_event 29, EVENT_OBJ_GFX_GIDDY, 0, 34, 54, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_110_RIVAL_2
+ object_event 28, EVENT_OBJ_GFX_VAR_0, 0, 34, 54, 3, MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_110_RIVAL_1
+ object_event 29, EVENT_OBJ_GFX_VAR_3, 0, 34, 54, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_110_RIVAL_2
object_event 30, EVENT_OBJ_GFX_YOUNGSTER, 0, 33, 69, 3, MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT, 0, 0, 1, 3, Route110_EventScript_1EF604, 0
object_event 31, EVENT_OBJ_GFX_POKEFAN_F, 0, 10, 76, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 2, Route110_EventScript_1EF5A2, 0
object_event 32, EVENT_OBJ_GFX_POKEFAN_M, 0, 7, 76, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 1, 2, Route110_EventScript_1EF61C, 0
diff --git a/data/maps/Route111/events.inc b/data/maps/Route111/events.inc
index 25e1beeba..975141b73 100644
--- a/data/maps/Route111/events.inc
+++ b/data/maps/Route111/events.inc
@@ -43,7 +43,7 @@ Route111_EventObjects: @ 85291F0
object_event 42, EVENT_OBJ_GFX_ITEM_BALL, 0, 19, 118, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route111_EventScript_290DC2, FLAG_ITEM_ROUTE_111_ELIXIR
object_event 43, EVENT_OBJ_GFX_HIKER, 0, 14, 56, 3, MOVEMENT_TYPE_FACE_UP_AND_RIGHT, 1, 1, 0, 0, Route111_EventScript_1F119B, 0
object_event 44, EVENT_OBJ_GFX_FOSSIL, 0, 20, 53, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, FLAG_HIDE_ROUTE_111_DESERT_FOSSIL
- object_event 45, EVENT_OBJ_GFX_HIPSTER, 0, 19, 53, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, FLAG_HIDE_ROUTE_111_PLAYER_DESCENT
+ object_event 45, EVENT_OBJ_GFX_VAR_0, 0, 19, 53, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, FLAG_HIDE_ROUTE_111_PLAYER_DESCENT
object_event 46, EVENT_OBJ_GFX_FAT_MAN, 0, 19, 101, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, Route111_EventScript_1F11E4, FLAG_HIDE_ROUTE_111_ROCK_SMASH_TIP_GUY
Route111_MapWarps: @ 8529640
diff --git a/data/maps/Route119/events.inc b/data/maps/Route119/events.inc
index 3a7d1422b..86ec2d2be 100644
--- a/data/maps/Route119/events.inc
+++ b/data/maps/Route119/events.inc
@@ -14,7 +14,7 @@ Route119_EventObjects: @ 852AD6C
object_event 13, EVENT_OBJ_GFX_NINJA_BOY, 0, 19, 49, 3, MOVEMENT_TYPE_MOUNTAIN_DISGUISE, 0, 0, 1, 3, Route119_EventScript_1F4919, 0
object_event 14, EVENT_OBJ_GFX_MAN_5, 0, 10, 50, 4, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 3, Route119_EventScript_1F48D4, 0
object_event 15, EVENT_OBJ_GFX_MAN_5, 0, 8, 63, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 5, Route119_EventScript_1F48EB, 0
- object_event 16, EVENT_OBJ_GFX_HIPSTER, 0, 25, 32, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_119_RIVAL
+ object_event 16, EVENT_OBJ_GFX_VAR_0, 0, 25, 32, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_119_RIVAL
object_event 17, EVENT_OBJ_GFX_ITEM_BALL, 0, 12, 121, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route119_EventScript_290EE0, FLAG_ITEM_ROUTE_119_SUPER_REPEL
object_event 18, EVENT_OBJ_GFX_ITEM_BALL, 0, 4, 96, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route119_EventScript_290EED, FLAG_ITEM_ROUTE_119_ZINC
object_event 19, EVENT_OBJ_GFX_ITEM_BALL, 0, 29, 53, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route119_EventScript_290EFA, FLAG_ITEM_ROUTE_119_ELIXIR_1
@@ -23,7 +23,7 @@ Route119_EventObjects: @ 852AD6C
object_event 22, EVENT_OBJ_GFX_ITEM_BALL, 0, 33, 117, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route119_EventScript_290F21, FLAG_ITEM_ROUTE_119_HYPER_POTION_1
object_event 23, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 13, 33, 4, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, Route119_EventScript_1F49A3, FLAG_HIDE_ROUTE_119_TEAM_AQUA
object_event 24, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 13, 34, 4, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, Route119_EventScript_1F49BA, FLAG_HIDE_ROUTE_119_TEAM_AQUA
- object_event 25, EVENT_OBJ_GFX_GIDDY, 0, 17, 33, 4, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_119_RIVAL_ON_BIKE
+ object_event 25, EVENT_OBJ_GFX_VAR_3, 0, 17, 33, 4, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_119_RIVAL_ON_BIKE
object_event 26, EVENT_OBJ_GFX_BOY_3, 0, 31, 109, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, Route119_EventScript_1F49D1, 0
object_event 27, EVENT_OBJ_GFX_BERRY_TREE, 0, 8, 23, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 83, BerryTreeScript, 0
object_event 28, EVENT_OBJ_GFX_BERRY_TREE, 0, 9, 23, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 84, BerryTreeScript, 0
diff --git a/data/maps/RustboroCity/events.inc b/data/maps/RustboroCity/events.inc
index 48d125d0f..b2bcfa7ca 100644
--- a/data/maps/RustboroCity/events.inc
+++ b/data/maps/RustboroCity/events.inc
@@ -12,7 +12,7 @@ RustboroCity_EventObjects: @ 85267E0
object_event 11, EVENT_OBJ_GFX_DEVON_EMPLOYEE, 0, 13, 34, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, RustboroCity_EventScript_1E087E, 0
object_event 12, EVENT_OBJ_GFX_ITEM_BALL, 0, 36, 51, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, RustboroCity_EventScript_2910DB, FLAG_ITEM_RUSTBORO_CITY_X_DEFEND
object_event 13, EVENT_OBJ_GFX_MAN_4, 0, 19, 27, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 1, 0, 0, RustboroCity_EventScript_1E094E, 0
- object_event 14, EVENT_OBJ_GFX_HIPSTER, 0, 16, 50, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, RustboroCity_EventScript_1E0DB8, FLAG_HIDE_RUSBORO_CITY_RIVAL
+ object_event 14, EVENT_OBJ_GFX_VAR_0, 0, 16, 50, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, RustboroCity_EventScript_1E0DB8, FLAG_HIDE_RUSBORO_CITY_RIVAL
object_event 15, EVENT_OBJ_GFX_SCIENTIST_1, 0, 11, 15, 0, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, 0x0, FLAG_HIDE_RUSTBORO_CITY_SCIENTIST
object_event 16, EVENT_OBJ_GFX_BOY_1, 0, 31, 36, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 1, 0, 0, RustboroCity_EventScript_1E1236, 0
diff --git a/data/maps/SecretBase_BlueCave1/events.inc b/data/maps/SecretBase_BlueCave1/events.inc
index 87361e082..95e52b889 100644
--- a/data/maps/SecretBase_BlueCave1/events.inc
+++ b/data/maps/SecretBase_BlueCave1/events.inc
@@ -1,19 +1,19 @@
SecretBase_BlueCave1_EventObjects: @ 8537BEC
- object_event 1, 255, 0, 4, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BlueCave1_EventScript_275D64, FLAG_DECORATION_0
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
+ object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 4, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BlueCave1_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_BlueCave1_MapWarps: @ 8537D54
warp_def 5, 7, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_BlueCave2/events.inc b/data/maps/SecretBase_BlueCave2/events.inc
index ad584e2bb..62c4b8dcd 100644
--- a/data/maps/SecretBase_BlueCave2/events.inc
+++ b/data/maps/SecretBase_BlueCave2/events.inc
@@ -1,19 +1,19 @@
SecretBase_BlueCave2_EventObjects: @ 8538504
- object_event 1, 255, 0, 2, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BlueCave2_EventScript_275D64, FLAG_DECORATION_0
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
+ object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 2, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BlueCave2_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_BlueCave2_MapWarps: @ 853866C
warp_def 7, 5, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_BlueCave3/events.inc b/data/maps/SecretBase_BlueCave3/events.inc
index af85949d3..14c7460ad 100644
--- a/data/maps/SecretBase_BlueCave3/events.inc
+++ b/data/maps/SecretBase_BlueCave3/events.inc
@@ -1,19 +1,19 @@
SecretBase_BlueCave3_EventObjects: @ 8538E1C
- object_event 1, 255, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BlueCave3_EventScript_275D64, FLAG_DECORATION_0
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
+ object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BlueCave3_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_BlueCave3_MapWarps: @ 8538F84
warp_def 4, 15, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_BlueCave4/events.inc b/data/maps/SecretBase_BlueCave4/events.inc
index 6ff0d4e67..1d047cd42 100644
--- a/data/maps/SecretBase_BlueCave4/events.inc
+++ b/data/maps/SecretBase_BlueCave4/events.inc
@@ -1,19 +1,19 @@
SecretBase_BlueCave4_EventObjects: @ 8539734
- object_event 1, 255, 0, 5, 13, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BlueCave4_EventScript_275D64, FLAG_DECORATION_0
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
+ object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 5, 13, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BlueCave4_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_BlueCave4_MapWarps: @ 853989C
warp_def 4, 15, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_BrownCave1/events.inc b/data/maps/SecretBase_BrownCave1/events.inc
index 5a49bb704..43d144535 100644
--- a/data/maps/SecretBase_BrownCave1/events.inc
+++ b/data/maps/SecretBase_BrownCave1/events.inc
@@ -1,19 +1,19 @@
SecretBase_BrownCave1_EventObjects: @ 8537A68
- object_event 1, 255, 0, 5, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BrownCave1_EventScript_275D64, FLAG_DECORATION_0
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
+ object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 5, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BrownCave1_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_BrownCave1_MapWarps: @ 8537BD0
warp_def 5, 7, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_BrownCave2/events.inc b/data/maps/SecretBase_BrownCave2/events.inc
index 569b808bd..09bb03327 100644
--- a/data/maps/SecretBase_BrownCave2/events.inc
+++ b/data/maps/SecretBase_BrownCave2/events.inc
@@ -1,19 +1,19 @@
SecretBase_BrownCave2_EventObjects: @ 8538380
- object_event 1, 255, 0, 11, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BrownCave2_EventScript_275D64, FLAG_DECORATION_0
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
+ object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 11, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BrownCave2_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_BrownCave2_MapWarps: @ 85384E8
warp_def 1, 7, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_BrownCave3/events.inc b/data/maps/SecretBase_BrownCave3/events.inc
index 4dd9655b8..12ec86587 100644
--- a/data/maps/SecretBase_BrownCave3/events.inc
+++ b/data/maps/SecretBase_BrownCave3/events.inc
@@ -1,19 +1,19 @@
SecretBase_BrownCave3_EventObjects: @ 8538C98
- object_event 1, 255, 0, 1, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BrownCave3_EventScript_275D64, FLAG_DECORATION_0
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
+ object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 1, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BrownCave3_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_BrownCave3_MapWarps: @ 8538E00
warp_def 11, 9, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_BrownCave4/events.inc b/data/maps/SecretBase_BrownCave4/events.inc
index 506c3cafc..15fab00be 100644
--- a/data/maps/SecretBase_BrownCave4/events.inc
+++ b/data/maps/SecretBase_BrownCave4/events.inc
@@ -1,19 +1,19 @@
SecretBase_BrownCave4_EventObjects: @ 85395B0
- object_event 1, 255, 0, 2, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BrownCave4_EventScript_275D64, FLAG_DECORATION_0
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
+ object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 2, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BrownCave4_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_BrownCave4_MapWarps: @ 8539718
warp_def 2, 8, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_RedCave1/events.inc b/data/maps/SecretBase_RedCave1/events.inc
index edc9b8e78..e0d718068 100644
--- a/data/maps/SecretBase_RedCave1/events.inc
+++ b/data/maps/SecretBase_RedCave1/events.inc
@@ -1,19 +1,19 @@
SecretBase_RedCave1_EventObjects: @ 85378E4
- object_event 1, 255, 0, 7, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_RedCave1_EventScript_275D64, FLAG_DECORATION_0
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
+ object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 7, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_RedCave1_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_RedCave1_MapWarps: @ 8537A4C
warp_def 5, 7, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_RedCave2/events.inc b/data/maps/SecretBase_RedCave2/events.inc
index c5817721e..365e3f353 100644
--- a/data/maps/SecretBase_RedCave2/events.inc
+++ b/data/maps/SecretBase_RedCave2/events.inc
@@ -1,19 +1,19 @@
SecretBase_RedCave2_EventObjects: @ 85381FC
- object_event 1, 255, 0, 3, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_RedCave2_EventScript_275D64, FLAG_DECORATION_0
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
+ object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 3, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_RedCave2_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_RedCave2_MapWarps: @ 8538364
warp_def 3, 14, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_RedCave3/events.inc b/data/maps/SecretBase_RedCave3/events.inc
index af7854d9e..16e14d49f 100644
--- a/data/maps/SecretBase_RedCave3/events.inc
+++ b/data/maps/SecretBase_RedCave3/events.inc
@@ -1,19 +1,19 @@
SecretBase_RedCave3_EventObjects: @ 8538B14
- object_event 1, 255, 0, 12, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_RedCave3_EventScript_275D64, FLAG_DECORATION_0
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
+ object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 12, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_RedCave3_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_RedCave3_MapWarps: @ 8538C7C
warp_def 3, 6, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_RedCave4/events.inc b/data/maps/SecretBase_RedCave4/events.inc
index 181e8d7c6..eaf227506 100644
--- a/data/maps/SecretBase_RedCave4/events.inc
+++ b/data/maps/SecretBase_RedCave4/events.inc
@@ -1,19 +1,19 @@
SecretBase_RedCave4_EventObjects: @ 853942C
- object_event 1, 255, 0, 5, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_RedCave4_EventScript_275D64, FLAG_DECORATION_0
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
+ object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 5, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_RedCave4_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_RedCave4_MapWarps: @ 8539594
warp_def 2, 12, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_Shrub1/events.inc b/data/maps/SecretBase_Shrub1/events.inc
index aa8054a80..07eb2e1bd 100644
--- a/data/maps/SecretBase_Shrub1/events.inc
+++ b/data/maps/SecretBase_Shrub1/events.inc
@@ -1,19 +1,19 @@
SecretBase_Shrub1_EventObjects: @ 8538078
- object_event 1, 255, 0, 5, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Shrub1_EventScript_275D64, FLAG_DECORATION_0
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
+ object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 5, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Shrub1_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_Shrub1_MapWarps: @ 85381E0
warp_def 5, 7, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_Shrub2/events.inc b/data/maps/SecretBase_Shrub2/events.inc
index ecbbdfcb4..385500c5f 100644
--- a/data/maps/SecretBase_Shrub2/events.inc
+++ b/data/maps/SecretBase_Shrub2/events.inc
@@ -1,19 +1,19 @@
SecretBase_Shrub2_EventObjects: @ 8538990
- object_event 1, 255, 0, 13, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Shrub2_EventScript_275D64, FLAG_DECORATION_0
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
+ object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 13, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Shrub2_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_Shrub2_MapWarps: @ 8538AF8
warp_def 7, 5, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_Shrub3/events.inc b/data/maps/SecretBase_Shrub3/events.inc
index 2a280d6c5..8cc399fed 100644
--- a/data/maps/SecretBase_Shrub3/events.inc
+++ b/data/maps/SecretBase_Shrub3/events.inc
@@ -1,19 +1,19 @@
SecretBase_Shrub3_EventObjects: @ 85392A8
- object_event 1, 255, 0, 5, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Shrub3_EventScript_275D64, FLAG_DECORATION_0
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
+ object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 5, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Shrub3_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_Shrub3_MapWarps: @ 8539410
warp_def 6, 9, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_Shrub4/events.inc b/data/maps/SecretBase_Shrub4/events.inc
index bef5f0ca2..16dfd4ba1 100644
--- a/data/maps/SecretBase_Shrub4/events.inc
+++ b/data/maps/SecretBase_Shrub4/events.inc
@@ -1,19 +1,19 @@
SecretBase_Shrub4_EventObjects: @ 8539BC0
- object_event 1, 255, 0, 9, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Shrub4_EventScript_275D64, FLAG_DECORATION_0
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
+ object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 9, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Shrub4_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_Shrub4_MapWarps: @ 8539D28
warp_def 11, 8, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_Tree1/events.inc b/data/maps/SecretBase_Tree1/events.inc
index a2863ced7..8c7c05e6e 100644
--- a/data/maps/SecretBase_Tree1/events.inc
+++ b/data/maps/SecretBase_Tree1/events.inc
@@ -1,19 +1,19 @@
SecretBase_Tree1_EventObjects: @ 8537EF4
- object_event 1, 255, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Tree1_EventScript_275D64, FLAG_DECORATION_0
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
+ object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Tree1_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_Tree1_MapWarps: @ 853805C
warp_def 5, 7, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_Tree2/events.inc b/data/maps/SecretBase_Tree2/events.inc
index d930de64f..e6b5c627b 100644
--- a/data/maps/SecretBase_Tree2/events.inc
+++ b/data/maps/SecretBase_Tree2/events.inc
@@ -1,19 +1,19 @@
SecretBase_Tree2_EventObjects: @ 853880C
- object_event 1, 255, 0, 3, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Tree2_EventScript_275D64, FLAG_DECORATION_0
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
+ object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 3, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Tree2_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_Tree2_MapWarps: @ 8538974
warp_def 3, 14, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_Tree3/events.inc b/data/maps/SecretBase_Tree3/events.inc
index 6dda3e303..921c4f102 100644
--- a/data/maps/SecretBase_Tree3/events.inc
+++ b/data/maps/SecretBase_Tree3/events.inc
@@ -1,19 +1,19 @@
SecretBase_Tree3_EventObjects: @ 8539124
- object_event 1, 255, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Tree3_EventScript_275D64, FLAG_DECORATION_0
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
+ object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Tree3_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_Tree3_MapWarps: @ 853928C
warp_def 8, 6, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_Tree4/events.inc b/data/maps/SecretBase_Tree4/events.inc
index 493bc93db..ee2495e79 100644
--- a/data/maps/SecretBase_Tree4/events.inc
+++ b/data/maps/SecretBase_Tree4/events.inc
@@ -1,19 +1,19 @@
SecretBase_Tree4_EventObjects: @ 8539A3C
- object_event 1, 255, 0, 10, 9, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Tree4_EventScript_275D64, FLAG_DECORATION_0
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
+ object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 10, 9, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Tree4_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_Tree4_MapWarps: @ 8539BA4
warp_def 7, 12, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_YellowCave1/events.inc b/data/maps/SecretBase_YellowCave1/events.inc
index 04045999a..6beae3454 100644
--- a/data/maps/SecretBase_YellowCave1/events.inc
+++ b/data/maps/SecretBase_YellowCave1/events.inc
@@ -1,19 +1,19 @@
SecretBase_YellowCave1_EventObjects: @ 8537D70
- object_event 1, 255, 0, 3, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_YellowCave1_EventScript_275D64, FLAG_DECORATION_0
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
+ object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 3, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_YellowCave1_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_YellowCave1_MapWarps: @ 8537ED8
warp_def 5, 7, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_YellowCave2/events.inc b/data/maps/SecretBase_YellowCave2/events.inc
index d26d337ae..9378718c4 100644
--- a/data/maps/SecretBase_YellowCave2/events.inc
+++ b/data/maps/SecretBase_YellowCave2/events.inc
@@ -1,19 +1,19 @@
SecretBase_YellowCave2_EventObjects: @ 8538688
- object_event 1, 255, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_YellowCave2_EventScript_275D64, FLAG_DECORATION_0
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
+ object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_YellowCave2_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_YellowCave2_MapWarps: @ 85387F0
warp_def 12, 7, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_YellowCave3/events.inc b/data/maps/SecretBase_YellowCave3/events.inc
index e888677b4..3a60b042b 100644
--- a/data/maps/SecretBase_YellowCave3/events.inc
+++ b/data/maps/SecretBase_YellowCave3/events.inc
@@ -1,19 +1,19 @@
SecretBase_YellowCave3_EventObjects: @ 8538FA0
- object_event 1, 255, 0, 7, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_YellowCave3_EventScript_275D64, FLAG_DECORATION_0
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
+ object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 7, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_YellowCave3_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_YellowCave3_MapWarps: @ 8539108
warp_def 5, 9, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_YellowCave4/events.inc b/data/maps/SecretBase_YellowCave4/events.inc
index 577693af9..13757dbef 100644
--- a/data/maps/SecretBase_YellowCave4/events.inc
+++ b/data/maps/SecretBase_YellowCave4/events.inc
@@ -1,19 +1,19 @@
SecretBase_YellowCave4_EventObjects: @ 85398B8
- object_event 1, 255, 0, 9, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_YellowCave4_EventScript_275D64, FLAG_DECORATION_0
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
+ object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 9, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_YellowCave4_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_YellowCave4_MapWarps: @ 8539A20
warp_def 6, 12, 0, 126, MAP_NONE
diff --git a/data/maps/SlateportCity_BattleTentBattleRoom/events.inc b/data/maps/SlateportCity_BattleTentBattleRoom/events.inc
index 6c28d5fc5..71e8d6d3a 100644
--- a/data/maps/SlateportCity_BattleTentBattleRoom/events.inc
+++ b/data/maps/SlateportCity_BattleTentBattleRoom/events.inc
@@ -1,7 +1,7 @@
SlateportCity_BattleTentBattleRoom_EventObjects: @ 852F4DC
object_event 1, EVENT_OBJ_GFX_SCIENTIST_1, 0, 1, 4, 0, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, 0x0, 0
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 4, 8, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0
+ object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0
+ object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 4, 8, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0
SlateportCity_BattleTentBattleRoom_MapEvents:: @ 852F524
map_events SlateportCity_BattleTentBattleRoom_EventObjects, 0x0, 0x0, 0x0
diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_B1F/events.inc b/data/maps/SootopolisCity_MysteryEventsHouse_B1F/events.inc
index 39b3366c5..5cdbf0559 100644
--- a/data/maps/SootopolisCity_MysteryEventsHouse_B1F/events.inc
+++ b/data/maps/SootopolisCity_MysteryEventsHouse_B1F/events.inc
@@ -1,5 +1,5 @@
SootopolisCity_MysteryEventsHouse_B1F_EventObjects: @ 85335DC
- object_event 1, EVENT_OBJ_GFX_HIPSTER, 0, 6, 5, 0, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, 0x0, 0
+ object_event 1, EVENT_OBJ_GFX_VAR_0, 0, 6, 5, 0, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, 0x0, 0
SootopolisCity_MysteryEventsHouse_B1F_MapWarps: @ 85335F4
warp_def 3, 1, 0, 2, MAP_SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_1F
diff --git a/data/maps/SouthernIsland_Interior/events.inc b/data/maps/SouthernIsland_Interior/events.inc
index cc8256e8c..000386c33 100644
--- a/data/maps/SouthernIsland_Interior/events.inc
+++ b/data/maps/SouthernIsland_Interior/events.inc
@@ -1,6 +1,6 @@
SouthernIsland_Interior_EventObjects: @ 853B89C
- object_event 1, EVENT_OBJ_GFX_HIPSTER, 0, 13, 12, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_SOUTHERN_ISLAND_EON_STONE
- object_event 2, EVENT_OBJ_GFX_TRADER, 0, 13, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_SOUTHERN_ISLAND_UNCHOSEN_EON_DUO_MON
+ object_event 1, EVENT_OBJ_GFX_VAR_0, 0, 13, 12, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_SOUTHERN_ISLAND_EON_STONE
+ object_event 2, EVENT_OBJ_GFX_VAR_1, 0, 13, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_SOUTHERN_ISLAND_UNCHOSEN_EON_DUO_MON
SouthernIsland_Interior_MapWarps: @ 853B8CC
warp_def 13, 18, 3, 0, MAP_SOUTHERN_ISLAND_EXTERIOR
diff --git a/data/maps/UnionRoom/events.inc b/data/maps/UnionRoom/events.inc
index 0cebf1502..3ab614468 100644
--- a/data/maps/UnionRoom/events.inc
+++ b/data/maps/UnionRoom/events.inc
@@ -1,13 +1,13 @@
UnionRoom_EventObjects: @ 853B020
object_event 1, EVENT_OBJ_GFX_UNION_ROOM_NURSE, 0, 3, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, UnionRoom_EventScript_23D236, 0
- object_event 2, EVENT_OBJ_GFX_GIDDY, 0, 1, 8, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D204, FLAG_HIDE_UNION_ROOM_PLAYER_4
- object_event 3, 247, 0, 7, 8, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D22C, FLAG_HIDE_UNION_ROOM_PLAYER_8
- object_event 4, 246, 0, 1, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D222, FLAG_HIDE_UNION_ROOM_PLAYER_7
- object_event 5, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 7, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D218, FLAG_HIDE_UNION_ROOM_PLAYER_6
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 13, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D20E, FLAG_HIDE_UNION_ROOM_PLAYER_5
- object_event 7, EVENT_OBJ_GFX_STORYTELLER, 0, 10, 6, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D1FA, FLAG_HIDE_UNION_ROOM_PLAYER_3
- object_event 8, EVENT_OBJ_GFX_TRADER, 0, 13, 8, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D1F0, FLAG_HIDE_UNION_ROOM_PLAYER_2
- object_event 9, EVENT_OBJ_GFX_HIPSTER, 0, 4, 6, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D1E6, FLAG_HIDE_UNION_ROOM_PLAYER_1
+ object_event 2, EVENT_OBJ_GFX_VAR_3, 0, 1, 8, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D204, FLAG_HIDE_UNION_ROOM_PLAYER_4
+ object_event 3, EVENT_OBJ_GFX_VAR_7, 0, 7, 8, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D22C, FLAG_HIDE_UNION_ROOM_PLAYER_8
+ object_event 4, EVENT_OBJ_GFX_VAR_6, 0, 1, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D222, FLAG_HIDE_UNION_ROOM_PLAYER_7
+ object_event 5, EVENT_OBJ_GFX_VAR_5, 0, 7, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D218, FLAG_HIDE_UNION_ROOM_PLAYER_6
+ object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 13, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D20E, FLAG_HIDE_UNION_ROOM_PLAYER_5
+ object_event 7, EVENT_OBJ_GFX_VAR_2, 0, 10, 6, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D1FA, FLAG_HIDE_UNION_ROOM_PLAYER_3
+ object_event 8, EVENT_OBJ_GFX_VAR_1, 0, 13, 8, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D1F0, FLAG_HIDE_UNION_ROOM_PLAYER_2
+ object_event 9, EVENT_OBJ_GFX_VAR_0, 0, 4, 6, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D1E6, FLAG_HIDE_UNION_ROOM_PLAYER_1
UnionRoom_MapWarps: @ 853B0F8
warp_def 7, 11, 3, 127, MAP_NONE
diff --git a/data/maps/VerdanturfTown_BattleTentBattleRoom/events.inc b/data/maps/VerdanturfTown_BattleTentBattleRoom/events.inc
index 8992f7fc5..ee91fff2c 100644
--- a/data/maps/VerdanturfTown_BattleTentBattleRoom/events.inc
+++ b/data/maps/VerdanturfTown_BattleTentBattleRoom/events.inc
@@ -1,6 +1,6 @@
VerdanturfTown_BattleTentBattleRoom_EventObjects: @ 852E734
- object_event 1, EVENT_OBJ_GFX_TRADER, 0, 2, 8, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 11, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0
+ object_event 1, EVENT_OBJ_GFX_VAR_1, 0, 2, 8, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0
+ object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 11, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0
object_event 3, EVENT_OBJ_GFX_EXPERT_M, 0, 2, 4, 0, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, 0x0, 0
VerdanturfTown_BattleTentBattleRoom_MapEvents:: @ 852E77C
diff --git a/data/scripts/safari_zone.inc b/data/scripts/safari_zone.inc
index 2932401e1..1fcf5d166 100644
--- a/data/scripts/safari_zone.inc
+++ b/data/scripts/safari_zone.inc
@@ -40,7 +40,7 @@ EventScript_2A4B9B:: @ 82A4B9B
releaseall
goto EventScript_2A4B5D
-EventScript_2A4BAC:: @ 82A4BAC
+EventScript_PokeBlockFeeder:: @ 82A4BAC
lockall
special GetPokeblockFeederInFront
compare VAR_RESULT, 65535
diff --git a/data/specials.inc b/data/specials.inc
index fed1b6641..495c1c73f 100644
--- a/data/specials.inc
+++ b/data/specials.inc
@@ -328,8 +328,8 @@ gSpecials:: @ 81DBA64
def_special DoSealedChamberShakingEffect2
def_special FoundBlackGlasses
def_special sub_80AC81C
- def_special sp13E_warp_to_last_warp
- def_special sp13F_fall_to_last_warp
+ def_special DoDiveWarp
+ def_special DoFallWarp
def_special ShowContestEntryMonPic
def_special sub_80F8EB8
def_special SetEReaderTrainerGfxId
@@ -488,7 +488,7 @@ gSpecials:: @ 81DBA64
def_special sub_81B892C
def_special sub_813AEB4
def_special sub_813AF48
- def_special sub_813AFC8
+ def_special DoDeoxysRockInteraction
def_special sub_813B1D0
def_special CreateObedientEnemyMon
def_special StartMirageTowerDisintegration
diff --git a/include/constants/event_objects.h b/include/constants/event_objects.h
index 7a97c4caf..9973477da 100644
--- a/include/constants/event_objects.h
+++ b/include/constants/event_objects.h
@@ -241,12 +241,26 @@
#define EVENT_OBJ_GFX_LUGIA 237
#define EVENT_OBJ_GFX_HOOH 238
#define EVENT_OBJ_GFX_BARD_2 239
-#define EVENT_OBJ_GFX_HIPSTER 240
-#define EVENT_OBJ_GFX_TRADER 241
-#define EVENT_OBJ_GFX_STORYTELLER 242
-#define EVENT_OBJ_GFX_GIDDY 243
-#define EVENT_OBJ_GFX_PLACEHOLDER_1 244
-#define EVENT_OBJ_GFX_PLACEHOLDER_2 245
+
+// These are dynamic object gfx ids.
+// They correspond with the values of the VAR_OBJ_GFX_ID_X vars.
+// More info about them in include/constants/vars.h
+#define EVENT_OBJ_GFX_VAR_0 240
+#define EVENT_OBJ_GFX_VAR_1 241
+#define EVENT_OBJ_GFX_VAR_2 242
+#define EVENT_OBJ_GFX_VAR_3 243
+#define EVENT_OBJ_GFX_VAR_4 244
+#define EVENT_OBJ_GFX_VAR_5 245
+#define EVENT_OBJ_GFX_VAR_6 246
+#define EVENT_OBJ_GFX_VAR_7 247
+#define EVENT_OBJ_GFX_VAR_8 248
+#define EVENT_OBJ_GFX_VAR_9 249
+#define EVENT_OBJ_GFX_VAR_A 250
+#define EVENT_OBJ_GFX_VAR_B 251
+#define EVENT_OBJ_GFX_VAR_C 252
+#define EVENT_OBJ_GFX_VAR_D 253
+#define EVENT_OBJ_GFX_VAR_E 254
+#define EVENT_OBJ_GFX_VAR_F 255
#define SHADOW_SIZE_S 0
#define SHADOW_SIZE_M 1
diff --git a/include/constants/field_effects.h b/include/constants/field_effects.h
index b93b98201..add195df8 100644
--- a/include/constants/field_effects.h
+++ b/include/constants/field_effects.h
@@ -67,6 +67,6 @@
#define FLDEFF_USE_TELEPORT 63
#define FLDEFF_64 64
#define FLDEFF_65 65
-#define FLDEFF_66 66
+#define FLDEFF_MOVE_DEOXYS_ROCK 66
#endif
diff --git a/include/constants/flags.h b/include/constants/flags.h
index 3509b6a3b..b1dce013e 100644
--- a/include/constants/flags.h
+++ b/include/constants/flags.h
@@ -1355,10 +1355,10 @@
#define FLAG_SYS_PYRAMID_GOLD (SYSTEM_FLAGS + 0x71)
#define FLAG_SYS_FRONTIER_PASS (SYSTEM_FLAGS + 0x72)
-#define FLAG_0x8D3 (SYSTEM_FLAGS + 0x73)
-#define FLAG_0x8D4 (SYSTEM_FLAGS + 0x74)
-#define FLAG_0x8D5 (SYSTEM_FLAGS + 0x75)
-#define FLAG_0x8D6 (SYSTEM_FLAGS + 0x76)
+#define FLAG_0x8D3 (SYSTEM_FLAGS + 0x73)
+#define FLAG_DEOXYS_ROCK_COMPLETE (SYSTEM_FLAGS + 0x74)
+#define FLAG_0x8D5 (SYSTEM_FLAGS + 0x75)
+#define FLAG_0x8D6 (SYSTEM_FLAGS + 0x76)
#define FLAG_SYS_STORAGE_UNKNOWN_FLAG (SYSTEM_FLAGS + 0x77)
diff --git a/include/constants/rgb.h b/include/constants/rgb.h
index fd9c5c5a7..80d951f4b 100644
--- a/include/constants/rgb.h
+++ b/include/constants/rgb.h
@@ -2,6 +2,7 @@
#define GUARD_RGB_H
#define RGB(r, g, b) ((r) | ((g) << 5) | ((b) << 10))
+#define RGB2(r, g, b) (((b) << 10) | ((g) << 5) | (r))
#define _RGB(r, g, b) ((((b) & 0x1F) << 10) + (((g) & 0x1F) << 5) + ((r) & 0x1F))
#define RGB_BLACK RGB(0, 0, 0)
@@ -12,6 +13,6 @@
#define RGB_YELLOW RGB(31, 31, 0)
#define RGB_MAGENTA RGB(31, 0, 31)
#define RGB_CYAN RGB(0, 31, 31)
-#define RGB_WHITEALPHA RGB_WHITE | 0x8000
+#define RGB_WHITEALPHA (RGB_WHITE | 0x8000)
#endif // GUARD_RGB_H
diff --git a/include/constants/vars.h b/include/constants/vars.h
index faffe7c70..30df01f55 100644
--- a/include/constants/vars.h
+++ b/include/constants/vars.h
@@ -68,8 +68,8 @@
#define VAR_FRONTIER_GAMBLER_AMOUNT_BET 0x4032
#define VAR_FRONTIER_GAMBLER_PLACED_BET_F 0x4033
-#define VAR_0x4034 0x4034
-#define VAR_0x4035 0x4035
+#define VAR_DEOXYS_ROCK_STEP_COUNT 0x4034
+#define VAR_DEOXYS_ROCK_LEVEL 0x4035
#define VAR_STORAGE_UNKNOWN 0x4036
#define VAR_0x4037 0x4037
#define VAR_0x4038 0x4038
@@ -81,8 +81,8 @@
#define VAR_ALTERING_CAVE_WILD_SET 0x403E
#define VAR_0x403F 0x403F
#define VAR_DAYS 0x4040
-#define VAR_FANCLUB_UNKNOWN_1 0x4041
-#define VAR_FANCLUB_UNKNOWN_2 0x4042
+#define VAR_FANCLUB_UNKNOWN_1 0x4041
+#define VAR_FANCLUB_UNKNOWN_2 0x4042
#define VAR_DEPT_STORE_FLOOR 0x4043
#define VAR_0x4044 0x4044
#define VAR_POKELOT_PRIZE 0x4045
diff --git a/include/event_scripts.h b/include/event_scripts.h
index 3dcb7f929..e611dc6e0 100644
--- a/include/event_scripts.h
+++ b/include/event_scripts.h
@@ -538,7 +538,7 @@ extern const u8 EventScript_TV[];
extern const u8 EventScript_ClosedSootopolisDoor[];
extern const u8 SkyPillar_Outside_EventScript_2393F9[];
extern const u8 EventScript_CableBoxResults[];
-extern const u8 EventScript_2A4BAC[];
+extern const u8 EventScript_PokeBlockFeeder[];
extern const u8 Route110_TrickHouseEntrance_EventScript_26A22A[];
extern const u8 EventScript_RegionMap[];
extern const u8 EventScript_RunningShoesManual[];
diff --git a/include/field_control_avatar.h b/include/field_control_avatar.h
index 24adbe4b3..3cc4a8324 100644
--- a/include/field_control_avatar.h
+++ b/include/field_control_avatar.h
@@ -7,8 +7,8 @@ struct FieldInput
bool8 checkStandardWildEncounter:1;
bool8 pressedStartButton:1;
bool8 pressedSelectButton:1;
- bool8 input_field_0_4:1;
- bool8 input_field_0_5:1;
+ bool8 heldDirection:1;
+ bool8 heldDirection2:1;
bool8 tookStep:1;
bool8 pressedBButton:1;
bool8 input_field_1_0:1;
@@ -20,7 +20,6 @@ struct FieldInput
bool8 input_field_1_6:1;
bool8 input_field_1_7:1;
u8 dpadDirection;
- u8 input_field_3;
};
void FieldClearPlayerInput(struct FieldInput *pStruct);
diff --git a/include/field_screen_effect.h b/include/field_screen_effect.h
index f3ac2e866..3daf8d892 100644
--- a/include/field_screen_effect.h
+++ b/include/field_screen_effect.h
@@ -19,11 +19,11 @@ void sub_80AF688(void);
bool8 sub_80AF6A4(void);
void sub_80AF6D4(void);
void sub_80AF6F0(void);
-void sub_80AF734(void);
-void sp13E_warp_to_last_warp(void);
+void DoWarp(void);
+void DoDiveWarp(void);
void sub_80AF79C(void);
-void sub_80AF7D0(void);
-void sp13F_fall_to_last_warp(void);
+void DoDoorWarp(void);
+void DoFallWarp(void);
void sub_80AF80C(u8 metatileBehavior);
void sub_80AF828(void);
void sub_80AF838(void);
diff --git a/include/field_specials.h b/include/field_specials.h
index 7c29ecbad..10433299b 100644
--- a/include/field_specials.h
+++ b/include/field_specials.h
@@ -6,7 +6,7 @@ u8 sub_813B260(void);
u16 get_unknown_box_id(void);
bool8 InMultiBattleRoom(void);
void sub_813BF10(void);
-void increment_var_x4026_on_birth_island_modulo_100(void);
+void IncrementBirthIslandRockStepCount(void);
bool8 sub_813B3B0(void);
bool8 ShouldDoBrailleRegicePuzzle(void);
bool32 is_tile_that_overrides_player_control(void);
diff --git a/include/fieldmap.h b/include/fieldmap.h
index a50c79b43..3f5cc5ec8 100644
--- a/include/fieldmap.h
+++ b/include/fieldmap.h
@@ -7,8 +7,9 @@
#define NUM_METATILES_TOTAL 1024
#define NUM_PALS_IN_PRIMARY 6
#define NUM_PALS_TOTAL 13
+#define MAX_MAP_DATA_SIZE 0x2800
-extern struct BackupMapLayout gUnknown_03005DC0;
+extern struct BackupMapLayout gBackupMapLayout;
u32 MapGridGetMetatileIdAt(int, int);
u32 MapGridGetMetatileBehaviorAt(int, int);
@@ -19,23 +20,19 @@ bool8 MapGridIsImpassableAt(int, int);
int GetMapBorderIdAt(int x, int y);
int CanCameraMoveInDirection(int direction);
u16 GetBehaviorByMetatileId(u16 metatileId);
-void sav1_camera_get_focus_coords(u16 *x, u16 *y);
+void GetCameraFocusCoords(u16 *x, u16 *y);
u8 MapGridGetMetatileLayerTypeAt(s32 x, s32 y);
u8 MapGridGetZCoordAt(int x, int y);
u8 CameraMove(s32 deltaX, s32 deltaY);
-void mapheader_copy_mapdata_with_padding(struct MapHeader *mapHeader);
-void map_copy_with_padding(u16 *map, u16 width, u16 height);
-void mapheader_copy_mapdata_of_adjacent_maps(struct MapHeader *);
-void fillSouthConnection(struct MapHeader const *, struct MapHeader const *, s32);
-void fillNorthConnection(struct MapHeader const *, struct MapHeader const *, s32);
-void fillWestConnection(struct MapHeader const *, struct MapHeader const *, s32);
-void fillEastConnection(struct MapHeader const *, struct MapHeader const *, s32);
-void mapdata_from_sav2(void);
-bool8 sub_8088BF0(u16*, u16, u8);
struct MapConnection *sub_8088950(u8 direction, int x, int y);
bool8 sub_80889A8(u8 direction, int x, int y, struct MapConnection *connection);
bool8 sub_8088A0C(int x, int src_width, int dest_width, int offset);
void save_serialize_map(void);
+void sub_8088B3C(u16 x, u16 y);
+void InitMap(void);
+void InitMapFromSavedGame(void);
+void InitTrainerHillMap(void);
+void InitBattlePyramidMap(u8 a0);
void SpriteCB_PokeballGlow(struct Sprite *);
void SpriteCB_PokecenterMonitor(struct Sprite *);
diff --git a/include/fldeff.h b/include/fldeff.h
index 99758fdb5..e095396a4 100644
--- a/include/fldeff.h
+++ b/include/fldeff.h
@@ -6,8 +6,8 @@ bool8 SetUpFieldMove_Cut(void);
bool8 FldEff_UseCutOnGrass(void);
bool8 FldEff_UseCutOnTree(void);
bool8 FldEff_CutGrass(void);
-void sub_80D423C(s16 x, s16 y);
-void sub_80D42B8(s16 x, s16 y);
+void FixLongGrassMetatilesWindowTop(s16 x, s16 y);
+void FixLongGrassMetatilesWindowBottom(s16 x, s16 y);
extern const struct SpritePalette gFieldEffectObjectPaletteInfo6;
diff --git a/include/overworld.h b/include/overworld.h
index f62a5136d..79cbf1da3 100644
--- a/include/overworld.h
+++ b/include/overworld.h
@@ -57,7 +57,7 @@ void SetWarpDestinationToDynamicWarp(u8 unused);
void SetWarpDestinationToHealLocation(u8 a1);
void SetWarpDestinationToLastHealLocation(void);
void SetLastHealLocationWarp(u8 healLocationId);
-void sub_8084D5C(s16 x, s16 y);
+void UpdateEscapeWarp(s16 x, s16 y);
void SetEscapeWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
void SetWarpDestinationToEscapeWarp(void);
void SetFixedDiveWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
diff --git a/include/secret_base.h b/include/secret_base.h
index ac15357e3..524dde473 100644
--- a/include/secret_base.h
+++ b/include/secret_base.h
@@ -21,7 +21,7 @@ void sub_80EB498(void);
void sub_80EB56C(void);
void sub_80EB9E0(void);
void sub_80EBB28(void);
-void sub_80E9668(const struct MapPosition *position, const struct MapEvents *events);
+void WarpIntoSecretBase(const struct MapPosition *position, const struct MapEvents *events);
// SetCurrentSecretBaseFromPosition
void sub_80E9608(const struct MapPosition *position, const struct MapEvents *events);
diff --git a/ld_script.txt b/ld_script.txt
index 6780ef389..1ed5d75aa 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -185,6 +185,7 @@ SECTIONS {
src/dewford_trend.o(.text);
src/heal_location.o(.text);
src/region_map.o(.text);
+ src/contest_painting_effects.o(.text);
asm/contest_painting_effects.o(.text);
src/decoration.o(.text);
src/slot_machine.o(.text);
@@ -225,7 +226,6 @@ SECTIONS {
src/battle_controller_safari.o(.text);
src/fldeff_sweetscent.o(.text);
src/battle_anim_effects_3.o(.text);
- asm/battle_anim_effects_3.o(.text);
src/learn_move.o(.text);
src/fldeff_softboiled.o(.text);
src/decoration_inventory.o(.text);
diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c
index 5f135691b..a901f7a79 100755
--- a/src/battle_anim_effects_3.c
+++ b/src/battle_anim_effects_3.c
@@ -22,6 +22,7 @@
#include "constants/rgb.h"
#include "constants/songs.h"
#include "constants/species.h"
+#include "constants/weather.h"
extern u8 sub_807521C(s16 x, s16 y, u8 a3);
extern void sub_810E2C8(struct Sprite *);
@@ -120,6 +121,9 @@ static void sub_815F330(u8);
static void sub_815F4F0(struct Sprite *);
static void sub_815F79C(u8);
static void sub_815F7C4(struct Sprite *);
+static void sub_81601DC(u8);
+static void sub_81603F4(struct Sprite *);
+static void sub_816058C(u8);
const union AnimCmd gUnknown_085CE004[] =
{
@@ -4902,3 +4906,543 @@ void AnimTask_GetReturnPowerLevel(u8 taskId)
DestroyAnimVisualTask(taskId);
}
+
+void sub_815F8F4(u8 taskId)
+{
+ u8 spriteId, spriteId2;
+ int personality;
+ int otId;
+ u16 species;
+ u8 subpriority;
+ u8 isBackPic;
+ s16 x;
+
+ switch (gTasks[taskId].data[0])
+ {
+ case 0:
+ spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
+ gTasks[taskId].data[1] += 0x800;
+ if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
+ gSprites[spriteId].pos2.x += (gTasks[taskId].data[1] >> 8);
+ else
+ gSprites[spriteId].pos2.x -= (gTasks[taskId].data[1] >> 8);
+
+ gTasks[taskId].data[1] = (u8)gTasks[taskId].data[1];
+ x = (u16)gSprites[spriteId].pos1.x + (u16)gSprites[spriteId].pos2.x;
+ if ((u16)(x + 32) > 304)
+ {
+ gTasks[taskId].data[1] = 0;
+ gTasks[taskId].data[0]++;
+ }
+ break;
+ case 1:
+ if (IsContest())
+ {
+ personality = gContestResources->field_18->unk8;
+ otId = gContestResources->field_18->unkC;
+ species = gContestResources->field_18->species;
+ subpriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker);
+ isBackPic = 0;
+ x = -32;
+ }
+ else
+ {
+ if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
+ {
+ personality = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_PERSONALITY);
+ otId = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_OT_ID);
+ if (gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies == SPECIES_NONE)
+ species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_SPECIES);
+ else
+ species = gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies;
+
+ subpriority = gSprites[GetAnimBattlerSpriteId(ANIM_TARGET)].subpriority + 1;
+ isBackPic = 0;
+ x = 272;
+ }
+ else
+ {
+ personality = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_PERSONALITY);
+ otId = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_OT_ID);
+ if (gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies == SPECIES_NONE)
+ species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_SPECIES);
+ else
+ species = gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies;
+
+ subpriority = gSprites[GetAnimBattlerSpriteId(ANIM_TARGET)].subpriority - 1;
+ isBackPic = 1;
+ x = -32;
+ }
+ }
+
+ spriteId2 = sub_80A8394(species, isBackPic, 0, x, GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y), subpriority, personality, otId, gBattleAnimAttacker, 0);
+ if (gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies != SPECIES_NONE)
+ BlendPalette((gSprites[spriteId2].oam.paletteNum * 16) | 0x100, 16, 6, RGB_WHITE);
+
+ gTasks[taskId].data[15] = spriteId2;
+ gTasks[taskId].data[0]++;
+ break;
+ case 2:
+ spriteId2 = gTasks[taskId].data[15];
+ gTasks[taskId].data[1] += 0x800;
+ if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
+ gSprites[spriteId2].pos2.x -= (gTasks[taskId].data[1] >> 8);
+ else
+ gSprites[spriteId2].pos2.x += (gTasks[taskId].data[1] >> 8);
+
+ gTasks[taskId].data[1] = (u8)gTasks[taskId].data[1];
+ x = gSprites[spriteId2].pos1.x + gSprites[spriteId2].pos2.x;
+ if (gTasks[taskId].data[14] == 0)
+ {
+ if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
+ {
+ if (x < GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X))
+ {
+ gTasks[taskId].data[14]++;
+ gBattleAnimArgs[7] = 0xFFFF;
+ }
+ }
+ else
+ {
+ if (x > GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X))
+ {
+ gTasks[taskId].data[14]++;
+ gBattleAnimArgs[7] = 0xFFFF;
+ }
+ }
+ }
+
+ if ((u16)(x + 32) > 304)
+ {
+ gTasks[taskId].data[1] = 0;
+ gTasks[taskId].data[0]++;
+ }
+ break;
+ case 3:
+ spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
+ spriteId2 = gTasks[taskId].data[15];
+ sub_80A8610(&gSprites[spriteId2]);
+ if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
+ gSprites[spriteId].pos2.x = -gSprites[spriteId].pos1.x - 32;
+ else
+ gSprites[spriteId].pos2.x = 272 - gSprites[spriteId].pos1.x;
+
+ gTasks[taskId].data[0]++;
+ break;
+ case 4:
+ spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
+ gTasks[taskId].data[1] += 0x800;
+ if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
+ {
+ gSprites[spriteId].pos2.x += (gTasks[taskId].data[1] >> 8);
+ if (gSprites[spriteId].pos2.x + gSprites[spriteId].pos1.x >= GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X))
+ gSprites[spriteId].pos2.x = 0;
+ }
+ else
+ {
+ gSprites[spriteId].pos2.x -= (gTasks[taskId].data[1] >> 8);
+ if (gSprites[spriteId].pos2.x + gSprites[spriteId].pos1.x <= GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X))
+ gSprites[spriteId].pos2.x = 0;
+ }
+
+ gTasks[taskId].data[1] = (u8)gTasks[taskId].data[1];
+ if (gSprites[spriteId].pos2.x == 0)
+ DestroyAnimVisualTask(taskId);
+ break;
+ }
+}
+
+void sub_815FE80(struct Sprite *sprite)
+{
+ switch (sprite->data[7])
+ {
+ case 0:
+ if (gBattleAnimArgs[7] == -1)
+ {
+ PlaySE12WithPanning(SE_W233, BattleAnimAdjustPanning(63));
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y) + 16;
+ sprite->data[0] = -32;
+ sprite->data[7]++;
+ sprite->invisible = 0;
+ if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT && !IsContest())
+ sprite->subpriority = gSprites[GetAnimBattlerSpriteId(ANIM_TARGET)].subpriority - 1;
+ }
+ else
+ {
+ sprite->invisible = 1;
+ }
+ break;
+ case 1:
+ sprite->pos2.y = Sin(sprite->data[1], sprite->data[0]);
+ sprite->data[1] += 5;
+ if (sprite->data[1] > 0x7F)
+ {
+ sprite->data[0] = sprite->data[0] / 2;
+ sprite->data[3]++;
+ sprite->data[1] -= 0x7F;
+ }
+
+ sprite->data[2] += 0x100;
+ if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
+ sprite->pos2.x -= (sprite->data[2] >> 8);
+ else
+ sprite->pos2.x += (sprite->data[2] >> 8);
+
+ sprite->data[2] &= 0xFF;
+ if (sprite->data[3] == 2)
+ DestroyAnimSprite(sprite);
+ break;
+ }
+}
+
+void sub_815FFC4(u8 taskId)
+{
+ s16 attackerX, targetX;
+ u8 spriteId;
+
+ switch (gTasks[taskId].data[15])
+ {
+ case 0:
+ attackerX = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X);
+ targetX = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X);
+ gTasks[taskId].data[0] = 6;
+ if (attackerX > targetX)
+ gTasks[taskId].data[0] *= -1;
+
+ gTasks[taskId].data[1] = attackerX;
+ gTasks[taskId].data[2] = targetX;
+ gTasks[taskId].data[15]++;
+ break;
+ case 1:
+ spriteId = gBattlerSpriteIds[gBattleAnimAttacker];
+ gSprites[spriteId].pos2.x += gTasks[taskId].data[0];
+ if (gTasks[taskId].data[0] > 0)
+ {
+ if (gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x >= gTasks[taskId].data[2])
+ gTasks[taskId].data[15]++;
+ }
+ else
+ {
+ if (gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x <= gTasks[taskId].data[2])
+ gTasks[taskId].data[15]++;
+ }
+ break;
+ case 2:
+ gTasks[taskId].data[0] *= -1;
+ gTasks[taskId].data[15]++;
+ break;
+ case 3:
+ spriteId = gBattlerSpriteIds[gBattleAnimAttacker];
+ gSprites[spriteId].pos2.x += gTasks[taskId].data[0];
+ if (gTasks[taskId].data[0] < 0)
+ {
+ if (gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x <= gTasks[taskId].data[1])
+ gTasks[taskId].data[15]++;
+ }
+ else
+ {
+ if (gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x >= gTasks[taskId].data[1])
+ gTasks[taskId].data[15]++;
+ }
+ break;
+ case 4:
+ default:
+ spriteId = gBattlerSpriteIds[gBattleAnimAttacker];
+ gSprites[spriteId].pos2.x = 0;
+ DestroyAnimVisualTask(taskId);
+ break;
+ }
+}
+
+void sub_8160164(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+ task->data[3] = GetAnimBattlerSpriteId(ANIM_ATTACKER);
+ task->data[4] = GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER ? 1 : -1;
+ task->data[6] = gSprites[task->data[3]].pos1.y;
+ task->data[5] = gSprites[task->data[3]].pos1.x;
+ task->data[9] = 0;
+ task->data[11] = 0;
+ task->data[10] = 1;
+ task->data[12] = 0;
+ task->func = sub_81601DC;
+}
+
+static void sub_81601DC(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+ switch (task->data[0])
+ {
+ case 0:
+ task->data[11] += 8;
+ task->data[11] &= 0xFF;
+ gSprites[task->data[3]].pos2.x = gSineTable[task->data[11]] >> 5;
+ task->data[9] += 2;
+ task->data[9] &= 0xFF;
+ gSprites[task->data[3]].pos1.x = (gSineTable[task->data[9]] >> 3) * task->data[4] + task->data[5];
+ if (task->data[9] == 0)
+ {
+ gSprites[task->data[3]].pos1.x = task->data[5];
+ task->data[0]++;
+ }
+ break;
+ case 1:
+ task->data[11] += 8;
+ task->data[11] &= 0xFF;
+ gSprites[task->data[3]].pos2.x = gSineTable[task->data[11]] >> 5;
+ if (task->data[11] == 0)
+ {
+ gSprites[task->data[3]].pos2.x = 0;
+ task->data[0]++;
+ }
+ break;
+ case 2:
+ DestroyAnimVisualTask(taskId);
+ break;
+ }
+}
+
+static void sub_81602E0(struct Sprite *sprite)
+{
+ // These two cases are identical.
+ if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER)
+ {
+ sprite->data[1] += sprite->data[0];
+ sprite->data[1] &= 0xFF;
+ }
+ else
+ {
+ sprite->data[1] += sprite->data[0];
+ sprite->data[1] &= 0xFF;
+ }
+
+ sprite->pos2.x = Cos(sprite->data[1], 20);
+ sprite->pos2.y = Sin(sprite->data[1], 20);
+ if (sprite->animEnded)
+ DestroyAnimSprite(sprite);
+
+ sprite->data[2]++;
+}
+
+void sub_8160338(struct Sprite *sprite)
+{
+ if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER)
+ {
+ sprite->pos1.x -= gBattleAnimArgs[0];
+ sprite->pos1.y += gBattleAnimArgs[1];
+ sprite->data[0] = -11;
+ sprite->data[1] = 192;
+ StartSpriteAffineAnim(sprite, 1);
+ }
+ else
+ {
+ sprite->data[0] = 11;
+ sprite->data[1] = 192;
+ sprite->pos1.x += gBattleAnimArgs[0];
+ sprite->pos1.y += gBattleAnimArgs[1];
+ }
+
+ sprite->callback = sub_81602E0;
+}
+
+void sub_81603A8(struct Sprite *sprite)
+{
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ sprite->pos1.y = sub_80A861C(gBattleAnimAttacker, 2);
+ if (sprite->pos1.y < 16)
+ sprite->pos1.y = 16;
+
+ sprite->data[6] = 0;
+ sprite->data[7] = 16;
+ sprite->callback = sub_81603F4;
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[6], sprite->data[7]));
+}
+
+static void sub_81603F4(struct Sprite *sprite)
+{
+ switch (sprite->data[2])
+ {
+ case 0:
+ if (++sprite->data[0] > 1)
+ {
+ sprite->data[0] = 0;
+ if (!(sprite->data[1] & 1))
+ {
+ if (sprite->data[6] < 16)
+ sprite->data[6]++;
+ }
+ else
+ {
+ if (sprite->data[7] != 0)
+ sprite->data[7]--;
+ }
+
+ sprite->data[1]++;
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[6], sprite->data[7]));
+ if (sprite->data[7] == 0)
+ sprite->data[2]++;
+ }
+ break;
+ case 1:
+ if (++sprite->data[0] == 10)
+ {
+ sprite->data[0] = 0;
+ sprite->data[1] = 0;
+ sprite->data[2]++;
+ }
+ break;
+ case 2:
+ if (++sprite->data[0] > 1)
+ {
+ sprite->data[0] = 0;
+ if (!(sprite->data[1] & 1))
+ {
+ if (sprite->data[6] != 0)
+ sprite->data[6]--;
+ }
+ else
+ {
+ if (sprite->data[7] < 16)
+ sprite->data[7]++;
+ }
+
+ sprite->data[1]++;
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[6], sprite->data[7]));
+ if (sprite->data[7] == 16)
+ sprite->data[2]++;
+ }
+ break;
+ case 3:
+ DestroySpriteAndMatrix(sprite);
+ break;
+ }
+}
+
+void AnimTask_GetWeather(u8 taskId)
+{
+ gBattleAnimArgs[7] = ANIM_WEATHER_NONE;
+ if (gWeatherMoveAnim & WEATHER_SUN_ANY)
+ gBattleAnimArgs[7] = ANIM_WEATHER_SUN;
+ else if (gWeatherMoveAnim & WEATHER_RAIN_ANY)
+ gBattleAnimArgs[7] = ANIM_WEATHER_RAIN;
+ else if (gWeatherMoveAnim & WEATHER_SANDSTORM_ANY)
+ gBattleAnimArgs[7] = ANIM_WEATHER_SANDSTORM;
+ else if (gWeatherMoveAnim & WEATHER_HAIL_ANY)
+ gBattleAnimArgs[7] = ANIM_WEATHER_HAIL;
+
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_8160544(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+ task->data[0] = 0;
+ task->data[15] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]);
+ PrepareAffineAnimInTaskData(task, task->data[15], gUnknown_085CE9C8);
+ task->func = sub_816058C;
+}
+
+#ifdef NONMATCHING
+static void sub_816058C(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+ u16 var0 = gTasks[taskId].data[0]++ - 16;
+ if (var0 < 23)
+ {
+ if (++task->data[1] > 2)
+ {
+ task->data[1] = 0;
+ if (!(++task->data[2] & 1))
+ {
+ gSprites[task->data[15]].pos2.x = -1;
+ }
+ else
+ {
+ gSprites[task->data[15]].pos2.x = 1;
+ }
+ }
+ }
+ else
+ {
+ gSprites[task->data[15]].pos2.x = 0;
+ }
+
+ if (!RunAffineAnimFromTaskData(&gTasks[taskId]))
+ DestroyAnimVisualTask(taskId);
+}
+#else
+NAKED
+static void sub_816058C(u8 taskId)
+{
+ asm_unified("\n\
+ push {r4-r6,lr}\n\
+ lsls r0, 24\n\
+ lsrs r4, r0, 24\n\
+ lsls r0, r4, 2\n\
+ adds r0, r4\n\
+ lsls r0, 3\n\
+ ldr r2, =gTasks\n\
+ adds r3, r0, r2\n\
+ ldrh r0, [r3, 0x8]\n\
+ adds r1, r0, 0x1\n\
+ movs r5, 0\n\
+ strh r1, [r3, 0x8]\n\
+ subs r0, 0x10\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ adds r6, r2, 0\n\
+ cmp r0, 0x16\n\
+ bhi _081605F0\n\
+ ldrh r0, [r3, 0xA]\n\
+ adds r0, 0x1\n\
+ strh r0, [r3, 0xA]\n\
+ lsls r0, 16\n\
+ asrs r0, 16\n\
+ cmp r0, 0x2\n\
+ ble _08160600\n\
+ strh r5, [r3, 0xA]\n\
+ ldrh r0, [r3, 0xC]\n\
+ adds r0, 0x1\n\
+ strh r0, [r3, 0xC]\n\
+ movs r5, 0x1\n\
+ ands r0, r5\n\
+ cmp r0, 0\n\
+ bne _081605F0\n\
+ ldr r2, =gSprites\n\
+ movs r0, 0x26\n\
+ ldrsh r1, [r3, r0]\n\
+ lsls r0, r1, 4\n\
+ adds r0, r1\n\
+ lsls r0, 2\n\
+ adds r0, r2\n\
+ ldr r1, =0x0000ffff\n\
+ strh r1, [r0, 0x24]\n\
+ b _08160600\n\
+ .pool\n\
+_081605F0:\n\
+ ldr r2, =gSprites\n\
+ movs r0, 0x26\n\
+ ldrsh r1, [r3, r0]\n\
+ lsls r0, r1, 4\n\
+ adds r0, r1\n\
+ lsls r0, 2\n\
+ adds r0, r2\n\
+ strh r5, [r0, 0x24]\n\
+_08160600:\n\
+ lsls r0, r4, 2\n\
+ adds r0, r4\n\
+ lsls r0, 3\n\
+ adds r0, r6\n\
+ bl RunAffineAnimFromTaskData\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ bne _08160618\n\
+ adds r0, r4, 0\n\
+ bl DestroyAnimVisualTask\n\
+_08160618:\n\
+ pop {r4-r6}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .pool");
+}
+#endif
diff --git a/src/battle_pyramid.c b/src/battle_pyramid.c
index c9d904287..2f0d35feb 100644
--- a/src/battle_pyramid.c
+++ b/src/battle_pyramid.c
@@ -1202,8 +1202,8 @@ static u8 sub_81A9998(s32 *arg0, u8 arg1, u8 arg2)
{
s32 i, j;
u8 ret = 0;
- u16 *map = gUnknown_03005DC0.map;
- map += gUnknown_03005DC0.width * 7 + 7;
+ u16 *map = gBackupMapLayout.map;
+ map += gBackupMapLayout.width * 7 + 7;
for (i = 0; i < 32; map += 47, i++)
{
@@ -1493,11 +1493,11 @@ void sub_81AA078(u16 *mapArg, u8 arg1)
const struct MapLayout *mapLayout = gMapLayouts[allocated[i] + 0x169];
const u16 *layoutMap = mapLayout->map;
- gUnknown_03005DC0.map = mapArg;
- gUnknown_03005DC0.width = mapLayout->width * 4 + 15;
- gUnknown_03005DC0.height = mapLayout->height * 4 + 14;
+ gBackupMapLayout.map = mapArg;
+ gBackupMapLayout.width = mapLayout->width * 4 + 15;
+ gBackupMapLayout.height = mapLayout->height * 4 + 14;
map = mapArg;
- heightAdd = (((i / 4 * mapLayout->height) + 7) * (gUnknown_03005DC0.width));
+ heightAdd = (((i / 4 * mapLayout->height) + 7) * (gBackupMapLayout.width));
widthAdd = ((i % 4 * mapLayout->width) + 7);
map += heightAdd + widthAdd;
for (j = 0; j < mapLayout->height; j++)
diff --git a/src/clock.c b/src/clock.c
index 2d4da92ab..d52fde22e 100644
--- a/src/clock.c
+++ b/src/clock.c
@@ -12,17 +12,9 @@
#include "overworld.h"
#include "wallclock.h"
-// static types
-
-// static declarations
-
static void UpdatePerDay(struct Time *localTime);
static void UpdatePerMinute(struct Time *localTime);
-// rodata
-
-// text
-
static void InitTimeBasedEvents(void)
{
FlagSet(FLAG_SYS_CLOCK_SET);
diff --git a/src/contest_painting_effects.c b/src/contest_painting_effects.c
new file mode 100644
index 000000000..187a0f196
--- /dev/null
+++ b/src/contest_painting_effects.c
@@ -0,0 +1,771 @@
+#include "global.h"
+#include "contest_painting_effects.h"
+#include "contest_painting.h"
+#include "constants/rgb.h"
+
+extern u8 gUnknown_03006164;
+extern u16 (*gUnknown_03006168)[][32];
+extern u8 gUnknown_0300616C;
+extern u8 gUnknown_03006170;
+extern u8 gUnknown_03006174;
+extern u8 gUnknown_03006178;
+extern u8 gUnknown_0300617C;
+extern u8 gUnknown_03006180;
+
+// this file's functions
+void sub_8125230(void);
+void sub_81252E8(void);
+void sub_81254E0(void);
+void sub_8125630(void);
+void sub_8125448(void);
+void sub_81257F8(void);
+void sub_81258A0(void);
+void sub_81256C8(void);
+void sub_8125250(void);
+void sub_81253A4(u8);
+void sub_81250B8(u8);
+void sub_8125170(u8);
+void sub_8125954(u16);
+u16 ConvertColorToGrayscale(u16*);
+u16 sub_8125E18(u16*, u16*, u16*);
+u16 ConvertCoolColor(u16*, u8);
+u16 ConvertToBlackOrWhite(u16*);
+u16 sub_8125C98(u16*, u16*);
+u16 InvertColor(u16*);
+u16 sub_8125F38(u16*, u16*, u16*);
+u16 sub_8125CF4(u16*, u16*);
+u16 GetCoolColorFromPersonality(u8);
+
+void sub_8124F2C(struct Unk030061A0 *info)
+{
+ gUnknown_03006168 = info->var_4;
+ gUnknown_0300617C = info->var_1F;
+ gUnknown_03006164 = info->var_19;
+ gUnknown_03006178 = info->var_1A;
+ gUnknown_03006174 = info->var_1B;
+ gUnknown_0300616C = info->var_1C;
+ gUnknown_03006180 = info->var_1D;
+ gUnknown_03006170 = info->var_1E;
+ switch (info->var_0)
+ {
+ case 2:
+ sub_8125230();
+ break;
+ case 8:
+ sub_81252E8();
+ break;
+ case 9:
+ sub_81254E0();
+ sub_81253A4(gUnknown_0300617C);
+ break;
+ case 10:
+ sub_81254E0();
+ sub_8125630();
+ sub_8125448();
+ case 31:
+ sub_8125630();
+ break;
+ case 11:
+ sub_81254E0();
+ sub_81257F8();
+ sub_81257F8();
+ sub_81258A0();
+ sub_8125448();
+ break;
+ case 13:
+ sub_81256C8();
+ break;
+ case 30:
+ sub_81254E0();
+ break;
+ case 32:
+ sub_81257F8();
+ break;
+ case 33:
+ sub_81258A0();
+ break;
+ case 6:
+ sub_8125250();
+ sub_81250B8(3);
+ break;
+ case 36:
+ sub_81254E0();
+ sub_81257F8();
+ sub_81258A0();
+ sub_8125448();
+ sub_81252E8();
+ sub_81252E8();
+ sub_81250B8(2);
+ sub_8125170(4);
+ break;
+ }
+}
+
+void sub_81250B8(u8 a0) // it changes palette someway somehow... .__.
+{
+ u8 i, j;
+
+ for (i = 0; i < gUnknown_0300616C; i++)
+ {
+ u16* var2 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180];
+ u16* pal = &var2[gUnknown_03006164];
+ for (j = 0; j < gUnknown_03006174; j++, pal++)
+ {
+ if (!(0x8000 & *pal))
+ {
+ u8 val = (31 & *pal);
+ val += a0;
+ if (val > 31)
+ val = 31;
+
+ *pal = RGB2(val, val, val);
+ }
+ }
+ }
+}
+
+void sub_8125170(u8 a0)
+{
+ u8 i, j;
+
+ for (i = 0; i < gUnknown_0300616C; i++)
+ {
+ u16* var2 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180];
+ u16* pal = &var2[gUnknown_03006164];
+ for (j = 0; j < gUnknown_03006174; j++, pal++)
+ {
+ if (!(0x8000 & *pal))
+ {
+ u8 val = (31 & *pal);
+ if (val > 31 - a0)
+ val = 31 - (a0 >> 1);
+
+ *pal = RGB2(val, val, val);
+ }
+ }
+ }
+}
+
+void sub_8125230(void)
+{
+ u32 i;
+ for (i = 0; i < 3200; i++)
+ sub_8125954(i);
+}
+
+void sub_8125250(void)
+{
+ u8 i, j;
+
+ for (i = 0; i < gUnknown_0300616C; i++)
+ {
+ u16* var2 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180];
+ u16* color = &var2[gUnknown_03006164];
+ for (j = 0; j < gUnknown_03006174; j++, color++)
+ {
+ if (!(0x8000 & *color))
+ {
+ *color = ConvertColorToGrayscale(color);
+ }
+ }
+ }
+}
+
+void sub_81252E8(void)
+{
+ u8 i, j;
+
+ for (i = 0; i < gUnknown_03006174; i++)
+ {
+ u16* var0 = &(*gUnknown_03006168)[0][gUnknown_03006178 * gUnknown_03006180];
+ u16* palette = &var0[gUnknown_03006164 + i];
+ u16 color = *palette;
+
+ j = 1;
+ palette += gUnknown_03006180;
+ while (j < gUnknown_0300616C - 1)
+ {
+ if (!(0x8000 & *palette))
+ {
+ *palette = sub_8125E18(&color, palette, palette + gUnknown_03006180);
+ color = *palette;
+ }
+
+ j++;
+ palette += gUnknown_03006180;
+ }
+ }
+}
+
+void sub_81253A4(u8 arg0)
+{
+ u8 i, j;
+
+ for (i = 0; i < gUnknown_0300616C; i++)
+ {
+ u16* var0 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180];
+ u16* color = &var0[gUnknown_03006164];
+ for (j = 0; j < gUnknown_03006174; j++, color++)
+ {
+ if (!(0x8000 & *color))
+ {
+ *color = ConvertCoolColor(color, arg0);
+ }
+ }
+ }
+}
+
+void sub_8125448(void)
+{
+ u8 i, j;
+
+ for (i = 0; i < gUnknown_0300616C; i++)
+ {
+ u16* var0 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180];
+ u16* color = &var0[gUnknown_03006164];
+ for (j = 0; j < gUnknown_03006174; j++, color++)
+ {
+ if (!(0x8000 & *color))
+ {
+ *color = ConvertToBlackOrWhite(color);
+ }
+ }
+ }
+}
+
+void sub_81254E0(void)
+{
+ u8 i, j;
+ u16 *palette;
+
+ for (i = 0; i < gUnknown_0300616C; i++)
+ {
+ u16 *var0 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180];
+ palette = &var0[gUnknown_03006164];
+ *palette = sub_8125C98(palette, palette + 1);
+ for (j = 1, palette = palette + 1; j < gUnknown_03006174 - 1; j++, palette++)
+ {
+ *palette = sub_8125C98(palette, palette + 1);
+ *palette = sub_8125C98(palette, palette - 1);
+ }
+
+ *palette = sub_8125C98(palette, palette - 1);
+ }
+
+ for (j = 0; j < gUnknown_03006174; j++)
+ {
+ u16 *var0 = &(*gUnknown_03006168)[0][gUnknown_03006178 * gUnknown_03006180];
+ palette = &var0[gUnknown_03006164 + j];
+ *palette = sub_8125C98(palette, palette + gUnknown_03006180);
+ for (i = 1, palette = palette + gUnknown_03006180; i < gUnknown_0300616C - 1; i++, palette += gUnknown_03006180)
+ {
+ *palette = sub_8125C98(palette, palette + gUnknown_03006180);
+ *palette = sub_8125C98(palette, palette - gUnknown_03006180);
+ }
+
+ *palette = sub_8125C98(palette, palette - gUnknown_03006180);
+ }
+}
+
+void sub_8125630(void)
+{
+ u8 i, j;
+
+ for (i = 0; i < gUnknown_0300616C; i++)
+ {
+ u16 *var0 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180];
+ u16 *color = &var0[gUnknown_03006164];
+ for (j = 0; j < gUnknown_03006174; j++, color++)
+ {
+ if (!(0x8000 & *color))
+ {
+ *color = InvertColor(color);
+ }
+ }
+ }
+}
+
+void sub_81256C8(void)
+{
+ u8 i, j;
+ u16 *palette;
+ u16 color;
+
+ palette = (*gUnknown_03006168)[0];
+ for (i = 0; i < 64; i++)
+ {
+ for (j = 0; j < 64; j++, palette++)
+ {
+ if (!(0x8000 & *palette))
+ {
+ *palette = InvertColor(palette);
+ }
+ }
+ }
+
+ for (j = 0; j < 64; j++)
+ {
+ palette = &(*gUnknown_03006168)[0][j];
+ color = *palette;
+ *palette = 0x8000;
+ for (i = 1, palette += 64; i < 63; i++, palette += 64)
+ {
+ if (!(0x8000 & *palette))
+ {
+ *palette = sub_8125F38(&color, palette, palette + 64);
+ color = *palette;
+ }
+ }
+
+ *palette = 0x8000;
+ palette = &(*gUnknown_03006168)[0][j];
+ color = *palette;
+ *palette = 0x8000;
+ for (i = 1, palette += 64; i < 63; i++, palette += 64)
+ {
+ if (!(0x8000 & *palette))
+ {
+ *palette = sub_8125F38(&color, palette, palette + 64);
+ color = *palette;
+ }
+ }
+
+ *palette = 0x8000;
+ }
+
+ palette = (*gUnknown_03006168)[0];
+ for (i = 0; i < 64; i++)
+ {
+ for (j = 0; j < 64; j++, palette++)
+ {
+ if (!(0x8000 & *palette))
+ {
+ *palette = InvertColor(palette);
+ }
+ }
+ }
+}
+
+void sub_81257F8(void)
+{
+ u8 i, j;
+
+ for (i = 0; i < gUnknown_0300616C; i++)
+ {
+ u16 *var0 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180];
+ u16 *palette = &var0[gUnknown_03006164];
+ u16 color = *palette;
+ for (j = 1, palette++; j < gUnknown_03006174 - 1; j++, palette++)
+ {
+ if (!(0x8000 & *palette))
+ {
+ *palette = sub_8125CF4(&color, palette);
+ color = *palette;
+ }
+ }
+ }
+}
+
+void sub_81258A0(void)
+{
+ u8 i, j;
+
+ for (i = 0; i < gUnknown_03006174; i++)
+ {
+ u16* var0 = &(*gUnknown_03006168)[0][gUnknown_03006178 * gUnknown_03006180];
+ u16* palette = &var0[gUnknown_03006164 + i];
+ u16 color = *palette;
+ for (j = 1, palette += gUnknown_03006180; j < gUnknown_0300616C - 1; j++, palette += gUnknown_03006180)
+ {
+ if (!(0x8000 & *palette))
+ {
+ *palette = sub_8125CF4(&color, palette);
+ color = *palette;
+ }
+ }
+ }
+}
+
+struct Unk8125954
+{
+ u8 unk0;
+ u8 unk1;
+ u16 unk2;
+};
+
+extern const u8 gUnknown_085A1F94[][3];
+
+void sub_8125954(u16 arg0)
+{
+ u8 i;
+ u8 r5, r9;
+ struct Unk8125954 unkStruct[6];
+
+ unkStruct[0].unk0 = gUnknown_085A1F94[arg0][0];
+ unkStruct[0].unk1 = gUnknown_085A1F94[arg0][1];
+ unkStruct[0].unk2 = (gUnknown_085A1F94[arg0][2] >> 3) & 7;
+
+ r9 = (gUnknown_085A1F94[arg0][2] >> 1) & 3;
+ r5 = gUnknown_085A1F94[arg0][2] & 1;
+ for (i = 1; i < unkStruct[0].unk2; i++)
+ {
+ if (!r5)
+ {
+ unkStruct[i].unk0 = unkStruct[0].unk0 - i;
+ unkStruct[i].unk1 = unkStruct[0].unk1 + i;
+ }
+ else
+ {
+ unkStruct[i].unk0 = unkStruct[0].unk0 + 1;
+ unkStruct[i].unk1 = unkStruct[0].unk1 - 1;
+ }
+
+ if (unkStruct[i].unk0 > 63 || unkStruct[i].unk1 > 63)
+ {
+ unkStruct[0].unk2 = i - 1;
+ break;
+ }
+
+ unkStruct[i].unk2 = unkStruct[0].unk2 - i;
+ }
+
+ for (i = 0; i < unkStruct[0].unk2; i++)
+ {
+ u16 *pal = &(*gUnknown_03006168)[unkStruct[i].unk1 * 2][unkStruct[i].unk0];
+
+ if (!(0x8000 & *pal))
+ {
+ u16 r = (*pal) & 0x1F;
+ u16 g = (*pal >> 5) & 0x1F;
+ u16 b = (*pal >> 10) & 0x1F;
+
+ switch (r9)
+ {
+ case 0:
+ case 1:
+ switch (((gUnknown_085A1F94[arg0][2] >> 3) & 7) % 3)
+ {
+ case 0:
+ if (r >= unkStruct[i].unk2)
+ r -= unkStruct[i].unk2;
+ else
+ r = 0;
+ break;
+ case 1:
+ if (g >= unkStruct[i].unk2)
+ g -= unkStruct[i].unk2;
+ else
+ g = 0;
+ break;
+ case 2:
+ if (b >= unkStruct[i].unk2)
+ b -= unkStruct[i].unk2;
+ else
+ b = 0;
+ break;
+ }
+ break;
+ case 2:
+ case 3:
+ r += unkStruct[i].unk2;
+ g += unkStruct[i].unk2;
+ b += unkStruct[i].unk2;
+ if (r > 31)
+ r = 31;
+ if (g > 31)
+ g = 31;
+ if (b > 31)
+ b = 31;
+ break;
+ }
+
+ *pal = RGB2(r, g, b);
+ }
+ }
+}
+
+u16 ConvertColorToGrayscale(u16 *color)
+{
+ s32 clr = *color;
+ s32 r = clr & 0x1F;
+ s32 g = (clr >> 5) & 0x1F;
+ s32 b = (clr >> 10) & 0x1F;
+ s32 gray = (r * Q_8_8(0.3) + g * Q_8_8(0.59) + b * Q_8_8(0.1133)) >> 8;
+ return RGB2(gray, gray, gray);
+}
+
+// The dark colors are the colored edges of the Cool painting effect.
+// Everything else is white.
+u16 ConvertCoolColor(u16 *color, u8 personality)
+{
+ u16 red = *color & 0x1F;
+ u16 green = (*color >> 5) & 0x1F;
+ u16 blue = (*color >> 10) & 0x1F;
+
+ if (red < 17 && green < 17 && blue < 17)
+ return GetCoolColorFromPersonality(personality);
+ else
+ return RGB_WHITE;
+}
+
+// Based on the given value, which comes from the first 8 bits of
+// the mon's personality value, return a color.
+u16 GetCoolColorFromPersonality(u8 personality)
+{
+ u16 red = 0;
+ u16 green = 0;
+ u16 blue = 0;
+ u8 strength = (personality / 6) % 3;
+ u8 colorType = personality % 6;
+
+ switch (colorType)
+ {
+ case 0:
+ // Teal color
+ green = 21 - strength;
+ blue = green;
+ red = 0;
+ break;
+ case 1:
+ // Yellow color
+ blue = 0;
+ red = 21 - strength;
+ green = red;
+ break;
+ case 2:
+ // Purple color
+ blue = 21 - strength;
+ green = 0;
+ red = blue;
+ break;
+ case 3:
+ // Red color
+ blue = 0;
+ green = 0;
+ red = 23 - strength;
+ break;
+ case 4:
+ // Blue color
+ blue = 23 - strength;
+ green = 0;
+ red = 0;
+ break;
+ case 5:
+ // Green color
+ blue = 0;
+ green = 23 - strength;
+ red = 0;
+ break;
+ }
+
+ return RGB2(red, green, blue);
+}
+
+u16 ConvertToBlackOrWhite(u16 *color)
+{
+ u16 red = *color & 0x1F;
+ u16 green = (*color >> 5) & 0x1F;
+ u16 blue = (*color >> 10) & 0x1F;
+
+ if (red < 17 && green < 17 && blue < 17)
+ return RGB_BLACK;
+ else
+ return RGB_WHITE;
+}
+
+u16 sub_8125C98(u16 *colorA, u16 *colorB)
+{
+ if (*colorA)
+ {
+ if (*colorA & 0x8000)
+ return 0x8000;
+ if (*colorB & 0x8000)
+ return RGB_BLACK;
+
+ return *colorA;
+ }
+
+ return RGB_BLACK;
+}
+
+u16 InvertColor(u16 *color)
+{
+ u16 red = *color & 0x1F;
+ u16 green = (*color >> 5) & 0x1F;
+ u16 blue = (*color >> 10) & 0x1F;
+
+ red = 31 - red;
+ green = 31 - green;
+ blue = 31 - blue;
+
+ return RGB2(red, green, blue);
+}
+
+u16 sub_8125CF4(u16 *a0, u16 *a1)
+{
+ u16 sp0[2][3];
+ u16 spC[3];
+ u8 r4;
+ u16 r2;
+ u16 r, g, b;
+
+ if (*a0 == *a1)
+ return *a1;
+
+ sp0[0][0] = (*a0 >> 0) & 0x1F;
+ sp0[0][1] = (*a0 >> 5) & 0x1F;
+ sp0[0][2] = (*a0 >> 10) & 0x1F;
+ sp0[1][0] = (*a1 >> 0) & 0x1F;
+ sp0[1][1] = (*a1 >> 5) & 0x1F;
+ sp0[1][2] = (*a1 >> 10) & 0x1F;
+
+ if (sp0[0][0] > 25 && sp0[0][1] > 25 && sp0[0][2] > 25)
+ return *a1;
+ if (sp0[1][0] > 25 && sp0[1][1] > 25 && sp0[1][2] > 25)
+ return *a1;
+
+ for (r4 = 0; r4 < 3; r4++)
+ {
+ if (sp0[0][r4] > sp0[1][r4])
+ spC[r4] = sp0[0][r4] - sp0[1][r4];
+ else
+ spC[r4] = sp0[1][r4] - sp0[0][r4];
+ }
+
+ if (spC[0] >= spC[1])
+ {
+ if (spC[0] >= spC[2])
+ r2 = spC[0];
+ else if (spC[1] >= spC[2])
+ r2 = spC[1];
+ else
+ r2 = spC[2];
+ }
+ else
+ {
+ if (spC[1] >= spC[2])
+ r2 = spC[1];
+ else if (spC[2] >= spC[0])
+ r2 = spC[2];
+ else
+ r2 = spC[0];
+ }
+
+ r = (sp0[1][0] * (31 - r2 / 2)) / 31;
+ g = (sp0[1][1] * (31 - r2 / 2)) / 31;
+ b = (sp0[1][2] * (31 - r2 / 2)) / 31;
+ return RGB2(r, g, b);
+}
+
+u16 sub_8125E18(u16 * a0, u16 * a1, u16 * a2)
+{
+ u16 red, green, blue;
+ u16 avg0, avg1, avg2;
+ u16 diff1, diff2;
+ u32 minimum;
+ u16 factor;
+
+ if (*a0 == *a1 && *a2 == *a1)
+ return *a1;
+
+ red = (*a1 >> 0) & 0x1F;
+ green = (*a1 >> 5) & 0x1F;
+ blue = (*a1 >> 10) & 0x1F;
+
+ avg0 = (((*a0 >> 0) & 0x1F) + ((*a0 >> 5) & 0x1F) + ((*a0 >> 10) & 0x1F)) / 3;
+ avg1 = (((*a1 >> 0) & 0x1F) + ((*a1 >> 5) & 0x1F) + ((*a1 >> 10) & 0x1F)) / 3;
+ avg2 = (((*a2 >> 0) & 0x1F) + ((*a2 >> 5) & 0x1F) + ((*a2 >> 10) & 0x1F)) / 3;
+
+ if (avg0 == avg1 && avg2 == avg1)
+ return *a1;
+
+ if (avg0 > avg1)
+ diff1 = avg0 - avg1;
+ else
+ diff1 = avg1 - avg0;
+
+ if (avg2 > avg1)
+ diff2 = avg2 - avg1;
+ else
+ diff2 = avg1 - avg2;
+
+ if (diff1 >= diff2)
+ minimum = diff1;
+ else
+ minimum = diff2;
+
+ factor = 31 - minimum / 2;
+ red = red * factor / 31;
+ green = green * factor / 31;
+ blue = blue * factor / 31;
+ return RGB2(red, green, blue);
+}
+
+u16 sub_8125F38(u16 *a0, u16 *a1, u16 *a2)
+{
+ u16 red, green, blue;
+ u16 avg0, avg1, avg2;
+ u16 diff1, diff2;
+ u32 minimum;
+ u16 factor;
+
+ if (*a0 == *a1 && *a2 == *a1)
+ return *a1;
+
+ red = (*a1 >> 0) & 0x1F;
+ green = (*a1 >> 5) & 0x1F;
+ blue = (*a1 >> 10) & 0x1F;
+
+ avg0 = (((*a0 >> 0) & 0x1F) + ((*a0 >> 5) & 0x1F) + ((*a0 >> 10) & 0x1F)) / 3;
+ avg1 = (((*a1 >> 0) & 0x1F) + ((*a1 >> 5) & 0x1F) + ((*a1 >> 10) & 0x1F)) / 3;
+ avg2 = (((*a2 >> 0) & 0x1F) + ((*a2 >> 5) & 0x1F) + ((*a2 >> 10) & 0x1F)) / 3;
+
+ if (avg0 == avg1 && avg2 == avg1)
+ return *a1;
+
+ if (avg0 > avg1)
+ diff1 = avg0 - avg1;
+ else
+ diff1 = avg1 - avg0;
+
+ if (avg2 > avg1)
+ diff2 = avg2 - avg1;
+ else
+ diff2 = avg1 - avg2;
+
+ if (diff1 >= diff2)
+ minimum = diff1;
+ else
+ minimum = diff2;
+
+ factor = 31 - minimum;
+ red = red * factor / 31;
+ green = green * factor / 31;
+ blue = blue * factor / 31;
+ return RGB2(red, green, blue);
+}
+
+/*
+void sub_8126058(struct Unk030061A0 *arg0)
+{
+ u16 i, j, k;
+ u8 r5 = arg0->var_1D >> 3;
+ u8 var_24 = arg0->var_1E >> 3;
+ u16 (*var_2C)[][32] = arg0->var_4;
+ u32 var_28 = arg0->var_10;
+
+ if (arg0->var_16 == 2)
+ {
+ for (i = 0; i < var_24; i++)
+ {
+ for (j = 0; j < r5; j++)
+ {
+ for (k = 0; k < 8; k++)
+ {
+ (*var_2C)[][];
+ }
+ }
+ }
+ }
+}
+*/
diff --git a/src/event_obj_lock.c b/src/event_obj_lock.c
index 8c324ea82..566b4931d 100644
--- a/src/event_obj_lock.c
+++ b/src/event_obj_lock.c
@@ -6,6 +6,7 @@
#include "script_movement.h"
#include "task.h"
#include "trainer_see.h"
+#include "constants/event_objects.h"
bool8 walkrun_is_standing_still(void)
{
@@ -89,20 +90,20 @@ void LockSelectedEventObject(void)
void ScriptUnfreezeEventObjects(void)
{
- u8 objectId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0);
- EventObjectClearHeldMovementIfFinished(&gEventObjects[objectId]);
+ u8 playerObjectId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0);
+ EventObjectClearHeldMovementIfFinished(&gEventObjects[playerObjectId]);
sub_80D338C();
UnfreezeEventObjects();
}
void sub_8098524(void)
{
- u8 objectId;
+ u8 playerObjectId;
if (gEventObjects[gSelectedEventObject].active)
EventObjectClearHeldMovementIfFinished(&gEventObjects[gSelectedEventObject]);
- objectId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0);
- EventObjectClearHeldMovementIfFinished(&gEventObjects[objectId]);
+ playerObjectId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0);
+ EventObjectClearHeldMovementIfFinished(&gEventObjects[playerObjectId]);
sub_80D338C();
UnfreezeEventObjects();
}
diff --git a/src/event_object_movement.c b/src/event_object_movement.c
index ffa8f53c9..7cee717bf 100644
--- a/src/event_object_movement.c
+++ b/src/event_object_movement.c
@@ -6420,7 +6420,7 @@ bool8 MovementAction_FacePlayer_Step0(struct EventObject *eventObject, struct Sp
{
u8 playerObjectId;
- if (!TryGetEventObjectIdByLocalIdAndMap(0xFF, 0, 0, &playerObjectId))
+ if (!TryGetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0, &playerObjectId))
{
FaceDirection(eventObject, sprite, GetDirectionToFace(eventObject->currentCoords.x, eventObject->currentCoords.y, gEventObjects[playerObjectId].currentCoords.x, gEventObjects[playerObjectId].currentCoords.y));
}
@@ -6432,7 +6432,7 @@ bool8 MovementAction_FaceAwayPlayer_Step0(struct EventObject *eventObject, struc
{
u8 playerObjectId;
- if (!TryGetEventObjectIdByLocalIdAndMap(0xFF, 0, 0, &playerObjectId))
+ if (!TryGetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0, &playerObjectId))
{
FaceDirection(eventObject, sprite, GetOppositeDirection(GetDirectionToFace(eventObject->currentCoords.x, eventObject->currentCoords.y, gEventObjects[playerObjectId].currentCoords.x, gEventObjects[playerObjectId].currentCoords.y)));
}
diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c
index bac0417dc..e6a859c84 100644
--- a/src/field_control_avatar.c
+++ b/src/field_control_avatar.c
@@ -27,6 +27,7 @@
#include "trainer_see.h"
#include "wild_encounter.h"
#include "constants/bg_event_constants.h"
+#include "constants/event_objects.h"
#include "constants/map_types.h"
#include "constants/maps.h"
#include "constants/songs.h"
@@ -51,12 +52,12 @@ static bool32 TrySetupDiveDownScript(void);
static bool32 TrySetupDiveEmergeScript(void);
static bool8 TryStartStepBasedScript(struct MapPosition *, u16, u16);
static bool8 CheckStandardWildEncounter(u16);
-static bool8 mapheader_run_first_tag2_script_list_match_conditionally(struct MapPosition *, u16, u8);
+static bool8 TryArrowWarp(struct MapPosition *, u16, u8);
static bool8 IsWarpMetatileBehavior(u16);
static bool8 IsArrowWarpMetatileBehavior(u16, u8);
static s8 GetWarpEventAtMapPosition(struct MapHeader *, struct MapPosition *);
-static void sub_809CEB0(struct MapHeader *, s8, struct MapPosition *);
-static bool8 map_warp_consider_2_to_inside(struct MapPosition *, u16, u8);
+static void SetupWarp(struct MapHeader *, s8, struct MapPosition *);
+static bool8 TryDoorWarp(struct MapPosition *, u16, u8);
static s8 GetWarpEventAtPosition(struct MapHeader *, u16, u16, u8);
static u8 *GetCoordEventScriptAtPosition(struct MapHeader *, u16, u16, u8);
static struct BgEvent *GetBackgroundEventAtPosition(struct MapHeader *, u16, u16, u8);
@@ -73,8 +74,8 @@ void FieldClearPlayerInput(struct FieldInput *input)
input->checkStandardWildEncounter = FALSE;
input->pressedStartButton = FALSE;
input->pressedSelectButton = FALSE;
- input->input_field_0_4 = FALSE;
- input->input_field_0_5 = FALSE;
+ input->heldDirection = FALSE;
+ input->heldDirection2 = FALSE;
input->tookStep = FALSE;
input->pressedBButton = FALSE;
input->input_field_1_0 = FALSE;
@@ -106,8 +107,8 @@ void FieldGetPlayerInput(struct FieldInput *input, u16 newKeys, u16 heldKeys)
if (heldKeys & (DPAD_UP | DPAD_DOWN | DPAD_LEFT | DPAD_RIGHT))
{
- input->input_field_0_4 = TRUE;
- input->input_field_0_5 = TRUE;
+ input->heldDirection = TRUE;
+ input->heldDirection2 = TRUE;
}
}
@@ -153,15 +154,15 @@ int ProcessPlayerFieldInput(struct FieldInput *input)
if (input->tookStep)
{
IncrementGameStat(GAME_STAT_STEPS);
- increment_var_x4026_on_birth_island_modulo_100();
+ IncrementBirthIslandRockStepCount();
if (TryStartStepBasedScript(&position, metatileBehavior, playerDirection) == TRUE)
return TRUE;
}
if (input->checkStandardWildEncounter && CheckStandardWildEncounter(metatileBehavior) == TRUE)
return TRUE;
- if (input->input_field_0_4 && input->dpadDirection == playerDirection)
+ if (input->heldDirection && input->dpadDirection == playerDirection)
{
- if (mapheader_run_first_tag2_script_list_match_conditionally(&position, metatileBehavior, playerDirection) == TRUE)
+ if (TryArrowWarp(&position, metatileBehavior, playerDirection) == TRUE)
return TRUE;
}
@@ -170,9 +171,9 @@ int ProcessPlayerFieldInput(struct FieldInput *input)
if (input->pressedAButton && TryStartInteractionScript(&position, metatileBehavior, playerDirection) == TRUE)
return TRUE;
- if (input->input_field_0_5 && input->dpadDirection == playerDirection)
+ if (input->heldDirection2 && input->dpadDirection == playerDirection)
{
- if (map_warp_consider_2_to_inside(&position, metatileBehavior, playerDirection) == TRUE)
+ if (TryDoorWarp(&position, metatileBehavior, playerDirection) == TRUE)
return TRUE;
}
if (input->pressedAButton && TrySetupDiveDownScript() == TRUE)
@@ -266,7 +267,7 @@ const u8 *GetInteractedLinkPlayerScript(struct MapPosition *position, u8 metatil
else
eventObjectId = GetEventObjectIdByXYZ(position->x + gDirectionToVectors[direction].x, position->y + gDirectionToVectors[direction].y, position->height);
- if (eventObjectId == 16 || gEventObjects[eventObjectId].localId == 0xFF)
+ if (eventObjectId == EVENT_OBJECTS_COUNT || gEventObjects[eventObjectId].localId == EVENT_OBJ_ID_PLAYER)
return NULL;
for (i = 0; i < 4; i++)
@@ -287,14 +288,14 @@ static const u8 *GetInteractedEventObjectScript(struct MapPosition *position, u8
const u8 *script;
eventObjectId = GetEventObjectIdByXYZ(position->x, position->y, position->height);
- if (eventObjectId == 16 || gEventObjects[eventObjectId].localId == 0xFF)
+ if (eventObjectId == EVENT_OBJECTS_COUNT || gEventObjects[eventObjectId].localId == EVENT_OBJ_ID_PLAYER)
{
if (MetatileBehavior_IsCounter(metatileBehavior) != TRUE)
return NULL;
// Look for an event object on the other side of the counter.
eventObjectId = GetEventObjectIdByXYZ(position->x + gDirectionToVectors[direction].x, position->y + gDirectionToVectors[direction].y, position->height);
- if (eventObjectId == 16 || gEventObjects[eventObjectId].localId == 0xFF)
+ if (eventObjectId == EVENT_OBJECTS_COUNT || gEventObjects[eventObjectId].localId == EVENT_OBJ_ID_PLAYER)
return NULL;
}
@@ -303,13 +304,10 @@ static const u8 *GetInteractedEventObjectScript(struct MapPosition *position, u8
gSpecialVar_Facing = direction;
if (InTrainerHill() == TRUE)
- {
script = sub_81D62AC();
- }
else
- {
script = GetEventObjectScriptPointerByEventObjectId(eventObjectId);
- }
+
script = GetRamScript(gSpecialVar_LastTalked, script);
return script;
}
@@ -380,7 +378,7 @@ static const u8 *GetInteractedMetatileScript(struct MapPosition *position, u8 me
if (MetatileBehavior_IsCableBoxResults1(metatileBehavior) == TRUE)
return EventScript_CableBoxResults;
if (MetatileBehavior_IsPokeblockFeeder(metatileBehavior) == TRUE)
- return EventScript_2A4BAC;
+ return EventScript_PokeBlockFeeder;
if (MetatileBehavior_IsTrickHousePuzzleDoor(metatileBehavior) == TRUE)
return Route110_TrickHouseEntrance_EventScript_26A22A;
if (MetatileBehavior_IsRegionMap(metatileBehavior) == TRUE)
@@ -686,15 +684,15 @@ static bool8 CheckStandardWildEncounter(u16 metatileBehavior)
return FALSE;
}
-static bool8 mapheader_run_first_tag2_script_list_match_conditionally(struct MapPosition *position, u16 metatileBehavior, u8 direction)
+static bool8 TryArrowWarp(struct MapPosition *position, u16 metatileBehavior, u8 direction)
{
s8 warpEventId = GetWarpEventAtMapPosition(&gMapHeader, position);
if (IsArrowWarpMetatileBehavior(metatileBehavior, direction) == TRUE && warpEventId != -1)
{
StoreInitialPlayerAvatarState();
- sub_809CEB0(&gMapHeader, warpEventId, position);
- sub_80AF734();
+ SetupWarp(&gMapHeader, warpEventId, position);
+ DoWarp();
return TRUE;
}
return FALSE;
@@ -707,7 +705,7 @@ static bool8 TryStartWarpEventScript(struct MapPosition *position, u16 metatileB
if (warpEventId != -1 && IsWarpMetatileBehavior(metatileBehavior) == TRUE)
{
StoreInitialPlayerAvatarState();
- sub_809CEB0(&gMapHeader, warpEventId, position);
+ SetupWarp(&gMapHeader, warpEventId, position);
if (MetatileBehavior_IsEscalator(metatileBehavior) == TRUE)
{
sub_80AF80C(metatileBehavior);
@@ -743,7 +741,7 @@ static bool8 TryStartWarpEventScript(struct MapPosition *position, u16 metatileB
sub_80AF87C();
return TRUE;
}
- sub_80AF734();
+ DoWarp();
return TRUE;
}
return FALSE;
@@ -786,7 +784,7 @@ static s8 GetWarpEventAtMapPosition(struct MapHeader *mapHeader, struct MapPosit
return GetWarpEventAtPosition(mapHeader, position->x - 7, position->y - 7, position->height);
}
-static void sub_809CEB0(struct MapHeader *unused, s8 warpEventId, struct MapPosition *position)
+static void SetupWarp(struct MapHeader *unused, s8 warpEventId, struct MapPosition *position)
{
const struct WarpEvent *warpEvent;
@@ -828,14 +826,14 @@ static void sub_809CEB0(struct MapHeader *unused, s8 warpEventId, struct MapPosi
const struct MapHeader *mapHeader;
SetWarpDestinationToMapWarp(warpEvent->mapGroup, warpEvent->mapNum, warpEvent->warpId);
- sub_8084D5C(position->x, position->y);
+ UpdateEscapeWarp(position->x, position->y);
mapHeader = Overworld_GetMapHeaderByGroupAndId(warpEvent->mapGroup, warpEvent->mapNum);
if (mapHeader->events->warps[warpEvent->warpId].mapNum == MAP_NUM(NONE))
SetDynamicWarp(mapHeader->events->warps[warpEventId].warpId, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, warpEventId);
}
}
-static bool8 map_warp_consider_2_to_inside(struct MapPosition *position, u16 metatileBehavior, u8 direction)
+static bool8 TryDoorWarp(struct MapPosition *position, u16 metatileBehavior, u8 direction)
{
s8 warpEventId;
@@ -843,17 +841,18 @@ static bool8 map_warp_consider_2_to_inside(struct MapPosition *position, u16 met
{
if (MetatileBehavior_IsOpenSecretBaseDoor(metatileBehavior) == TRUE)
{
- sub_80E9668(position, gMapHeader.events);
+ WarpIntoSecretBase(position, gMapHeader.events);
return TRUE;
}
+
if (MetatileBehavior_IsWarpDoor(metatileBehavior) == TRUE)
{
warpEventId = GetWarpEventAtMapPosition(&gMapHeader, position);
if (warpEventId != -1 && IsWarpMetatileBehavior(metatileBehavior) == TRUE)
{
StoreInitialPlayerAvatarState();
- sub_809CEB0(&gMapHeader, warpEventId, position);
- sub_80AF7D0();
+ SetupWarp(&gMapHeader, warpEventId, position);
+ DoDoorWarp();
return TRUE;
}
}
@@ -948,7 +947,7 @@ bool8 dive_warp(struct MapPosition *position, u16 metatileBehavior)
if (SetDiveWarpEmerge(position->x - 7, position->y - 7))
{
StoreInitialPlayerAvatarState();
- sp13E_warp_to_last_warp();
+ DoDiveWarp();
PlaySE(SE_W291);
return TRUE;
}
@@ -958,7 +957,7 @@ bool8 dive_warp(struct MapPosition *position, u16 metatileBehavior)
if (SetDiveWarpDive(position->x - 7, position->y - 7))
{
StoreInitialPlayerAvatarState();
- sp13E_warp_to_last_warp();
+ DoDiveWarp();
PlaySE(SE_W291);
return TRUE;
}
@@ -1003,6 +1002,6 @@ int SetCableClubWarp(void)
GetPlayerMovementDirection(); //unnecessary
GetPlayerPosition(&position);
MapGridGetMetatileBehaviorAt(position.x, position.y); //unnecessary
- sub_809CEB0(&gMapHeader, GetWarpEventAtMapPosition(&gMapHeader, &position), &position);
+ SetupWarp(&gMapHeader, GetWarpEventAtMapPosition(&gMapHeader, &position), &position);
return 0;
}
diff --git a/src/field_effect.c b/src/field_effect.c
index 75104d426..badf57b16 100644
--- a/src/field_effect.c
+++ b/src/field_effect.c
@@ -230,7 +230,7 @@ static void sub_80B9A60(struct Task *);
static void sub_80B9BE8(u8 taskId);
static void sub_80B9DB8(struct Sprite* sprite);
-static void sub_80B9EDC(u8 taskId);
+static void Fldeff_MoveDeoxysRock_Step(u8 taskId);
// Static RAM declarations
@@ -3644,7 +3644,7 @@ static void sub_80B9DB8(struct Sprite* sprite)
DestroySprite(sprite);
}
-bool8 sub_80B9E28(struct Sprite* sprite)
+bool8 Fldeff_MoveDeoxysRock(struct Sprite* sprite)
{
u8 eventObjectIdBuffer;
if (!TryGetEventObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2], &eventObjectIdBuffer))
@@ -3658,7 +3658,7 @@ bool8 sub_80B9E28(struct Sprite* sprite)
xPos = (gFieldEffectArguments[3] - xPos) * 16;
yPos = (gFieldEffectArguments[4] - yPos) * 16;
ShiftEventObjectCoords(object, gFieldEffectArguments[3] + 7, gFieldEffectArguments[4] + 7);
- taskId = CreateTask(sub_80B9EDC, 0x50);
+ taskId = CreateTask(Fldeff_MoveDeoxysRock_Step, 0x50);
gTasks[taskId].data[1] = object->spriteId;
gTasks[taskId].data[2] = gSprites[object->spriteId].pos1.x + xPos;
gTasks[taskId].data[3] = gSprites[object->spriteId].pos1.y + yPos;
@@ -3668,7 +3668,7 @@ bool8 sub_80B9E28(struct Sprite* sprite)
return FALSE;
}
-static void sub_80B9EDC(u8 taskId)
+static void Fldeff_MoveDeoxysRock_Step(u8 taskId)
{
// BUG: Possible divide by zero
s16 *data = gTasks[taskId].data;
diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c
index f14ac8329..7423216a4 100644
--- a/src/field_player_avatar.c
+++ b/src/field_player_avatar.c
@@ -723,7 +723,7 @@ static bool8 sub_808B1BC(s16 x, s16 y, u8 direction)
{
if ((gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING)
&& MapGridGetZCoordAt(x, y) == 3
- && GetEventObjectIdByXYZ(x, y, 3) == 16)
+ && GetEventObjectIdByXYZ(x, y, 3) == EVENT_OBJECTS_COUNT)
{
sub_808C750(direction);
return TRUE;
@@ -791,12 +791,9 @@ bool8 IsPlayerCollidingWithFarawayIslandMew(u8 direction)
playerY = object->currentCoords.y;
MoveCoords(direction, &playerX, &playerY);
- mewObjectId = GetEventObjectIdByLocalIdAndMap(1, 0x39, 0x1A);
-
- if (mewObjectId == 16)
- {
+ mewObjectId = GetEventObjectIdByLocalIdAndMap(1, MAP_NUM(FARAWAY_ISLAND_INTERIOR), MAP_GROUP(FARAWAY_ISLAND_INTERIOR));
+ if (mewObjectId == EVENT_OBJECTS_COUNT)
return FALSE;
- }
object = &gEventObjects[mewObjectId];
mewPrevX = object->previousCoords.x;
@@ -1389,7 +1386,7 @@ void InitPlayerAvatar(s16 x, s16 y, u8 direction, u8 gender)
u8 eventObjectId;
struct EventObject *eventObject;
- playerEventObjTemplate.localId = 0xFF;
+ playerEventObjTemplate.localId = EVENT_OBJ_ID_PLAYER;
playerEventObjTemplate.graphicsId = GetPlayerAvatarGraphicsIdByStateIdAndGender(PLAYER_AVATAR_STATE_NORMAL, gender);
playerEventObjTemplate.x = x - 7;
playerEventObjTemplate.y = y - 7;
diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c
index 62a3d0335..5ce000587 100644
--- a/src/field_screen_effect.c
+++ b/src/field_screen_effect.c
@@ -498,7 +498,7 @@ static bool32 sub_80AF71C(void)
return FALSE;
}
-void sub_80AF734(void)
+void DoWarp(void)
{
ScriptContext2_Enable();
TryFadeOutOldMapMusic();
@@ -509,7 +509,7 @@ void sub_80AF734(void)
CreateTask(sub_80AFA0C, 10);
}
-void sp13E_warp_to_last_warp(void)
+void DoDiveWarp(void)
{
ScriptContext2_Enable();
TryFadeOutOldMapMusic();
@@ -529,16 +529,16 @@ void sub_80AF79C(void)
CreateTask(sub_80AFA0C, 10);
}
-void sub_80AF7D0(void)
+void DoDoorWarp(void)
{
ScriptContext2_Enable();
gFieldCallback = mapldr_default;
CreateTask(sub_80AFA88, 10);
}
-void sp13F_fall_to_last_warp(void)
+void DoFallWarp(void)
{
- sp13E_warp_to_last_warp();
+ DoDiveWarp();
gFieldCallback = sub_80B6B68;
}
diff --git a/src/field_special_scene.c b/src/field_special_scene.c
index 3675cf0d8..579188f36 100644
--- a/src/field_special_scene.c
+++ b/src/field_special_scene.c
@@ -303,7 +303,7 @@ void Task_HandlePorthole(u8 taskId)
FlagClear(0x4001);
FlagClear(0x4000);
SetWarpDestinationToDynamicWarp(0);
- sp13E_warp_to_last_warp();
+ DoDiveWarp();
DestroyTask(taskId);
break;
}
diff --git a/src/field_specials.c b/src/field_specials.c
index 4e9a5c0f7..89b6fd564 100644
--- a/src/field_specials.c
+++ b/src/field_specials.c
@@ -47,6 +47,7 @@
#include "constants/event_objects.h"
#include "constants/field_effects.h"
#include "constants/items.h"
+#include "constants/map_types.h"
#include "constants/maps.h"
#include "constants/songs.h"
#include "constants/species.h"
@@ -115,9 +116,9 @@ static void sub_813A738(u8 taskId);
static void sub_813A600(u8 taskId);
static void sub_813A664(u8 taskId);
static void sub_813ABD4(u16 a0);
-static void task_deoxys_sound(u8 taskId);
-static void sub_813B0B4(u8 a0);
-static void sub_813B160(u8 taskId);
+static void Task_DeoxysRockInteraction(u8 taskId);
+static void ChangeDeoxysRockLevel(u8 a0);
+static void WaitForDeoxysRockMovement(u8 taskId);
static void sub_813B57C(u8 taskId);
static void sub_813B824(u8 taskId);
static void _fwalk(u8 taskId);
@@ -391,11 +392,11 @@ bool32 sub_8138120(void)
{
switch (gMapHeader.mapType)
{
- case 1:
- case 2:
- case 3:
- case 6:
- if (++(*GetVarPointer(VAR_0x40F3)) < 0xA)
+ case MAP_TYPE_TOWN:
+ case MAP_TYPE_CITY:
+ case MAP_TYPE_ROUTE:
+ case MAP_TYPE_6:
+ if (++(*GetVarPointer(VAR_0x40F3)) < 10)
{
return FALSE;
}
@@ -3233,12 +3234,12 @@ void sub_813AF48(void)
}
}
-void sub_813AFC8(void)
+void DoDeoxysRockInteraction(void)
{
- CreateTask(task_deoxys_sound, 8);
+ CreateTask(Task_DeoxysRockInteraction, 8);
}
-static const u16 gUnknown_085B3280[][16] = {
+static const u16 sDeoxysRockPalettes[][16] = {
INCBIN_U16("graphics/misc/deoxys1.gbapal"),
INCBIN_U16("graphics/misc/deoxys2.gbapal"),
INCBIN_U16("graphics/misc/deoxys3.gbapal"),
@@ -3252,25 +3253,25 @@ static const u16 gUnknown_085B3280[][16] = {
INCBIN_U16("graphics/misc/deoxys11.gbapal"),
};
-static const u8 gUnknown_085B33E0[][2] = {
- { 0x0f, 0x0c },
- { 0x0b, 0x0e },
- { 0x0f, 0x08 },
- { 0x13, 0x0e },
- { 0x0c, 0x0b },
- { 0x12, 0x0b },
- { 0x0f, 0x0e },
- { 0x0b, 0x0e },
- { 0x13, 0x0e },
- { 0x0f, 0x0f },
- { 0x0f, 0x0a },
+static const u8 sDeoxysRockCoords[][2] = {
+ { 15, 12 },
+ { 11, 14 },
+ { 15, 8 },
+ { 19, 14 },
+ { 12, 11 },
+ { 18, 11 },
+ { 15, 14 },
+ { 11, 14 },
+ { 19, 14 },
+ { 15, 15 },
+ { 15, 10 },
};
-static void task_deoxys_sound(u8 taskId)
+static void Task_DeoxysRockInteraction(u8 taskId)
{
- static const u8 gUnknown_085B33F6[] = { 0x04, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x06, 0x03, 0x03 };
+ static const u8 sStoneMaxStepCounts[] = { 4, 8, 8, 8, 4, 4, 4, 6, 3, 3 };
- if (FlagGet(FLAG_0x8D4) == TRUE)
+ if (FlagGet(FLAG_DEOXYS_ROCK_COMPLETE) == TRUE)
{
gSpecialVar_Result = 3;
EnableBothScriptContexts();
@@ -3278,100 +3279,92 @@ static void task_deoxys_sound(u8 taskId)
}
else
{
- u16 temp1 = VarGet(VAR_0x4035);
- u16 temp2 = VarGet(VAR_0x4034);
+ u16 rockLevel = VarGet(VAR_DEOXYS_ROCK_LEVEL);
+ u16 stepCount = VarGet(VAR_DEOXYS_ROCK_STEP_COUNT);
- VarSet(VAR_0x4034, 0);
- if (temp1 != 0 && gUnknown_085B33F6[temp1 - 1] < temp2)
+ VarSet(VAR_DEOXYS_ROCK_STEP_COUNT, 0);
+ if (rockLevel != 0 && sStoneMaxStepCounts[rockLevel - 1] < stepCount)
{
- sub_813B0B4(0);
- VarSet(VAR_0x4035, 0);
+ // Player failed to take the shortest path to the stone, so it resets.
+ ChangeDeoxysRockLevel(0);
+ VarSet(VAR_DEOXYS_ROCK_LEVEL, 0);
gSpecialVar_Result = 0;
DestroyTask(taskId);
}
- else if (temp1 == 10)
+ else if (rockLevel == 10)
{
- FlagSet(FLAG_0x8D4);
+ FlagSet(FLAG_DEOXYS_ROCK_COMPLETE);
gSpecialVar_Result = 2;
EnableBothScriptContexts();
DestroyTask(taskId);
}
else
{
- temp1++;
- sub_813B0B4(temp1);
- VarSet(VAR_0x4035, temp1);
+ rockLevel++;
+ ChangeDeoxysRockLevel(rockLevel);
+ VarSet(VAR_DEOXYS_ROCK_LEVEL, rockLevel);
gSpecialVar_Result = 1;
DestroyTask(taskId);
}
}
}
-static void sub_813B0B4(u8 a0)
+static void ChangeDeoxysRockLevel(u8 rockLevel)
{
u8 eventObjectId;
- LoadPalette(&gUnknown_085B3280[a0], 0x1A0, 8);
+ LoadPalette(&sDeoxysRockPalettes[rockLevel], 0x1A0, 8);
TryGetEventObjectIdByLocalIdAndMap(1, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &eventObjectId);
- if (a0 == 0)
- {
+ if (rockLevel == 0)
PlaySE(SE_W109);
- }
else
- {
PlaySE(SE_RG_DEOMOV);
- }
-
- CreateTask(sub_813B160, 8);
+ CreateTask(WaitForDeoxysRockMovement, 8);
gFieldEffectArguments[0] = 1;
gFieldEffectArguments[1] = 58;
gFieldEffectArguments[2] = 26;
- gFieldEffectArguments[3] = gUnknown_085B33E0[a0][0];
- gFieldEffectArguments[4] = gUnknown_085B33E0[a0][1];
+ gFieldEffectArguments[3] = sDeoxysRockCoords[rockLevel][0];
+ gFieldEffectArguments[4] = sDeoxysRockCoords[rockLevel][1];
- if (a0 == 0)
- {
+ if (rockLevel == 0)
gFieldEffectArguments[5] = 60;
- }
else
- {
gFieldEffectArguments[5] = 5;
- }
- FieldEffectStart(FLDEFF_66);
- Overworld_SetEventObjTemplateCoords(1, gUnknown_085B33E0[a0][0], gUnknown_085B33E0[a0][1]);
+ FieldEffectStart(FLDEFF_MOVE_DEOXYS_ROCK);
+ Overworld_SetEventObjTemplateCoords(1, sDeoxysRockCoords[rockLevel][0], sDeoxysRockCoords[rockLevel][1]);
}
-static void sub_813B160(u8 taskId)
+static void WaitForDeoxysRockMovement(u8 taskId)
{
- if (FieldEffectActiveListContains(FLDEFF_66) == FALSE)
+ if (FieldEffectActiveListContains(FLDEFF_MOVE_DEOXYS_ROCK) == FALSE)
{
EnableBothScriptContexts();
DestroyTask(taskId);
}
}
-void increment_var_x4026_on_birth_island_modulo_100(void)
+void IncrementBirthIslandRockStepCount(void)
{
- u16 var = VarGet(VAR_0x4034);
+ u16 var = VarGet(VAR_DEOXYS_ROCK_STEP_COUNT);
if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(BIRTH_ISLAND_EXTERIOR) && gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BIRTH_ISLAND_EXTERIOR))
{
var++;
if (var > 99)
{
- VarSet(VAR_0x4034, 0);
+ VarSet(VAR_DEOXYS_ROCK_STEP_COUNT, 0);
}
else
{
- VarSet(VAR_0x4034, var);
+ VarSet(VAR_DEOXYS_ROCK_STEP_COUNT, var);
}
}
}
void sub_813B1D0(void)
{
- LoadPalette(&gUnknown_085B3280[(u8)VarGet(VAR_0x4035)], 0x1A0, 8);
+ LoadPalette(&sDeoxysRockPalettes[(u8)VarGet(VAR_DEOXYS_ROCK_LEVEL)], 0x1A0, 8);
BlendPalettes(0x04000000, 16, 0);
}
diff --git a/src/fieldmap.c b/src/fieldmap.c
index 4efbc1234..b1feed4bf 100644
--- a/src/fieldmap.c
+++ b/src/fieldmap.c
@@ -24,84 +24,94 @@ struct ConnectionFlags
u8 east:1;
};
-EWRAM_DATA static u16 gUnknown_02032318[0x2800] = {0};
+EWRAM_DATA static u16 gBackupMapData[MAX_MAP_DATA_SIZE] = {0};
EWRAM_DATA struct MapHeader gMapHeader = {0};
EWRAM_DATA struct Camera gCamera = {0};
-EWRAM_DATA static struct ConnectionFlags gUnknown_02037340 = {0};
+EWRAM_DATA static struct ConnectionFlags gMapConnectionFlags = {0};
EWRAM_DATA static u32 sFiller_02037344 = 0; // without this, the next file won't align properly
-struct BackupMapLayout gUnknown_03005DC0;
+struct BackupMapLayout gBackupMapLayout;
static const struct ConnectionFlags sDummyConnectionFlags = {0};
+static void InitMapLayoutData(struct MapHeader *mapHeader);
+static void InitBackupMapLayoutData(u16 *map, u16 width, u16 height);
+static void FillSouthConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset);
+static void FillNorthConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset);
+static void FillWestConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset);
+static void FillEastConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset);
+static void InitBackupMapLayoutConnections(struct MapHeader *mapHeader);
+static void LoadSavedMapView(void);
+static bool8 SkipCopyingMetatileFromSavedMap(u16* mapMetatilePtr, u16 mapWidth, u8 yMode);
+
struct MapHeader const *const mapconnection_get_mapheader(struct MapConnection *connection)
{
return Overworld_GetMapHeaderByGroupAndId(connection->mapGroup, connection->mapNum);
}
-void not_trainer_hill_battle_pyramid(void)
+void InitMap(void)
{
- mapheader_copy_mapdata_with_padding(&gMapHeader);
+ InitMapLayoutData(&gMapHeader);
sub_80E8EE0(gMapHeader.events);
mapheader_run_script_with_tag_x1();
}
-void sub_8087D74(void)
+void InitMapFromSavedGame(void)
{
- mapheader_copy_mapdata_with_padding(&gMapHeader);
+ InitMapLayoutData(&gMapHeader);
sub_80E9238(0);
sub_80E8EE0(gMapHeader.events);
- mapdata_from_sav2();
+ LoadSavedMapView();
mapheader_run_script_with_tag_x1();
- UpdateTVScreensOnMap(gUnknown_03005DC0.width, gUnknown_03005DC0.height);
+ UpdateTVScreensOnMap(gBackupMapLayout.width, gBackupMapLayout.height);
}
-void battle_pyramid_map_load_related(u8 a0)
+void InitBattlePyramidMap(u8 a0)
{
- CpuFastFill(0x03ff03ff, gUnknown_02032318, sizeof(gUnknown_02032318));
- sub_81AA078(gUnknown_02032318, a0);
+ CpuFastFill(0x03ff03ff, gBackupMapData, sizeof(gBackupMapData));
+ sub_81AA078(gBackupMapData, a0);
}
-void trainer_hill_map_load_related(void)
+void InitTrainerHillMap(void)
{
- CpuFastFill(0x03ff03ff, gUnknown_02032318, sizeof(gUnknown_02032318));
- sub_81D5FB4(gUnknown_02032318);
+ CpuFastFill(0x03ff03ff, gBackupMapData, sizeof(gBackupMapData));
+ sub_81D5FB4(gBackupMapData);
}
-void mapheader_copy_mapdata_with_padding(struct MapHeader *mapHeader)
+static void InitMapLayoutData(struct MapHeader *mapHeader)
{
struct MapLayout const *mapLayout;
int width;
int height;
mapLayout = mapHeader->mapLayout;
- CpuFastFill16(0x03ff, gUnknown_02032318, sizeof(gUnknown_02032318));
- gUnknown_03005DC0.map = gUnknown_02032318;
+ CpuFastFill16(0x03ff, gBackupMapData, sizeof(gBackupMapData));
+ gBackupMapLayout.map = gBackupMapData;
width = mapLayout->width + 15;
- gUnknown_03005DC0.width = width;
+ gBackupMapLayout.width = width;
height = mapLayout->height + 14;
- gUnknown_03005DC0.height = height;
- if (width * height <= 0x2800)
+ gBackupMapLayout.height = height;
+ if (width * height <= MAX_MAP_DATA_SIZE)
{
- map_copy_with_padding(mapLayout->map, mapLayout->width, mapLayout->height);
- mapheader_copy_mapdata_of_adjacent_maps(mapHeader);
+ InitBackupMapLayoutData(mapLayout->map, mapLayout->width, mapLayout->height);
+ InitBackupMapLayoutConnections(mapHeader);
}
}
-void map_copy_with_padding(u16 *map, u16 width, u16 height)
+static void InitBackupMapLayoutData(u16 *map, u16 width, u16 height)
{
u16 *dest;
int y;
- dest = gUnknown_03005DC0.map;
- dest += gUnknown_03005DC0.width * 7 + 7;
+ dest = gBackupMapLayout.map;
+ dest += gBackupMapLayout.width * 7 + 7;
for (y = 0; y < height; y++)
{
CpuCopy16(map, dest, width * 2);
- dest += width + 0xf;
+ dest += width + 15;
map += width;
}
}
-void mapheader_copy_mapdata_of_adjacent_maps(struct MapHeader *mapHeader)
+static void InitBackupMapLayoutConnections(struct MapHeader *mapHeader)
{
int count;
struct MapConnection *connection;
@@ -111,56 +121,54 @@ void mapheader_copy_mapdata_of_adjacent_maps(struct MapHeader *mapHeader)
{
count = mapHeader->connections->count;
connection = mapHeader->connections->connections;
-
- gUnknown_02037340 = sDummyConnectionFlags;
+ gMapConnectionFlags = sDummyConnectionFlags;
for (i = 0; i < count; i++, connection++)
{
struct MapHeader const *cMap = mapconnection_get_mapheader(connection);
u32 offset = connection->offset;
-
switch (connection->direction)
{
case CONNECTION_SOUTH:
- fillSouthConnection(mapHeader, cMap, offset);
- gUnknown_02037340.south = 1;
+ FillSouthConnection(mapHeader, cMap, offset);
+ gMapConnectionFlags.south = 1;
break;
case CONNECTION_NORTH:
- fillNorthConnection(mapHeader, cMap, offset);
- gUnknown_02037340.north = 1;
+ FillNorthConnection(mapHeader, cMap, offset);
+ gMapConnectionFlags.north = 1;
break;
case CONNECTION_WEST:
- fillWestConnection(mapHeader, cMap, offset);
- gUnknown_02037340.west = 1;
+ FillWestConnection(mapHeader, cMap, offset);
+ gMapConnectionFlags.west = 1;
break;
case CONNECTION_EAST:
- fillEastConnection(mapHeader, cMap, offset);
- gUnknown_02037340.east = 1;
+ FillEastConnection(mapHeader, cMap, offset);
+ gMapConnectionFlags.east = 1;
break;
}
}
}
}
-void sub_8087F54(int x, int y, struct MapHeader const *mapHeader, int x2, int y2, int width, int height)
+static void sub_8087F54(int x, int y, struct MapHeader const *connectedMapHeader, int x2, int y2, int width, int height)
{
int i;
u16 *src;
u16 *dest;
int mapWidth;
- mapWidth = mapHeader->mapLayout->width;
- src = &mapHeader->mapLayout->map[mapWidth * y2 + x2];
- dest = &gUnknown_03005DC0.map[gUnknown_03005DC0.width * y + x];
+ mapWidth = connectedMapHeader->mapLayout->width;
+ src = &connectedMapHeader->mapLayout->map[mapWidth * y2 + x2];
+ dest = &gBackupMapLayout.map[gBackupMapLayout.width * y + x];
for (i = 0; i < height; i++)
{
CpuCopy16(src, dest, width * 2);
- dest += gUnknown_03005DC0.width;
+ dest += gBackupMapLayout.width;
src += mapWidth;
}
}
-void fillSouthConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset)
+static void FillSouthConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset)
{
int x, y;
int x2;
@@ -176,26 +184,26 @@ void fillSouthConnection(struct MapHeader const *mapHeader, struct MapHeader con
{
x2 = -x;
x += cWidth;
- if (x < gUnknown_03005DC0.width)
+ if (x < gBackupMapLayout.width)
{
width = x;
}
else
{
- width = gUnknown_03005DC0.width;
+ width = gBackupMapLayout.width;
}
x = 0;
}
else
{
x2 = 0;
- if (x + cWidth < gUnknown_03005DC0.width)
+ if (x + cWidth < gBackupMapLayout.width)
{
width = cWidth;
}
else
{
- width = gUnknown_03005DC0.width - x;
+ width = gBackupMapLayout.width - x;
}
}
@@ -207,7 +215,7 @@ void fillSouthConnection(struct MapHeader const *mapHeader, struct MapHeader con
}
}
-void fillNorthConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset)
+static void FillNorthConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset)
{
int x;
int x2, y2;
@@ -224,26 +232,26 @@ void fillNorthConnection(struct MapHeader const *mapHeader, struct MapHeader con
{
x2 = -x;
x += cWidth;
- if (x < gUnknown_03005DC0.width)
+ if (x < gBackupMapLayout.width)
{
width = x;
}
else
{
- width = gUnknown_03005DC0.width;
+ width = gBackupMapLayout.width;
}
x = 0;
}
else
{
x2 = 0;
- if (x + cWidth < gUnknown_03005DC0.width)
+ if (x + cWidth < gBackupMapLayout.width)
{
width = cWidth;
}
else
{
- width = gUnknown_03005DC0.width - x;
+ width = gBackupMapLayout.width - x;
}
}
@@ -256,7 +264,7 @@ void fillNorthConnection(struct MapHeader const *mapHeader, struct MapHeader con
}
}
-void fillWestConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset)
+static void FillWestConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset)
{
int y;
int x2, y2;
@@ -271,26 +279,26 @@ void fillWestConnection(struct MapHeader const *mapHeader, struct MapHeader cons
if (y < 0)
{
y2 = -y;
- if (y + cHeight < gUnknown_03005DC0.height)
+ if (y + cHeight < gBackupMapLayout.height)
{
height = y + cHeight;
}
else
{
- height = gUnknown_03005DC0.height;
+ height = gBackupMapLayout.height;
}
y = 0;
}
else
{
y2 = 0;
- if (y + cHeight < gUnknown_03005DC0.height)
+ if (y + cHeight < gBackupMapLayout.height)
{
height = cHeight;
}
else
{
- height = gUnknown_03005DC0.height - y;
+ height = gBackupMapLayout.height - y;
}
}
@@ -302,7 +310,7 @@ void fillWestConnection(struct MapHeader const *mapHeader, struct MapHeader cons
}
}
-void fillEastConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset)
+static void FillEastConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset)
{
int x, y;
int y2;
@@ -316,26 +324,26 @@ void fillEastConnection(struct MapHeader const *mapHeader, struct MapHeader cons
if (y < 0)
{
y2 = -y;
- if (y + cHeight < gUnknown_03005DC0.height)
+ if (y + cHeight < gBackupMapLayout.height)
{
height = y + cHeight;
}
else
{
- height = gUnknown_03005DC0.height;
+ height = gBackupMapLayout.height;
}
y = 0;
}
else
{
y2 = 0;
- if (y + cHeight < gUnknown_03005DC0.height)
+ if (y + cHeight < gBackupMapLayout.height)
{
height = cHeight;
}
else
{
- height = gUnknown_03005DC0.height - y;
+ height = gBackupMapLayout.height - y;
}
}
@@ -364,10 +372,10 @@ u8 MapGridGetZCoordAt(int x, int y)
int i;
u16 *border;
- if (x >= 0 && x < gUnknown_03005DC0.width
- && y >= 0 && y < gUnknown_03005DC0.height)
+ if (x >= 0 && x < gBackupMapLayout.width
+ && y >= 0 && y < gBackupMapLayout.height)
{
- block = gUnknown_03005DC0.map[x + gUnknown_03005DC0.width * y];
+ block = gBackupMapLayout.map[x + gBackupMapLayout.width * y];
}
else
{
@@ -392,10 +400,10 @@ u8 MapGridIsImpassableAt(int x, int y)
int i;
u16 *border;
- if (x >= 0 && x < gUnknown_03005DC0.width
- && y >= 0 && y < gUnknown_03005DC0.height)
+ if (x >= 0 && x < gBackupMapLayout.width
+ && y >= 0 && y < gBackupMapLayout.height)
{
- block = gUnknown_03005DC0.map[x + gUnknown_03005DC0.width * y];
+ block = gBackupMapLayout.map[x + gBackupMapLayout.width * y];
}
else
{
@@ -421,10 +429,10 @@ u32 MapGridGetMetatileIdAt(int x, int y)
u16 *border;
u16 block2;
- if (x >= 0 && x < gUnknown_03005DC0.width
- && y >= 0 && y < gUnknown_03005DC0.height)
+ if (x >= 0 && x < gBackupMapLayout.width
+ && y >= 0 && y < gBackupMapLayout.height)
{
- block = gUnknown_03005DC0.map[x + gUnknown_03005DC0.width * y];
+ block = gBackupMapLayout.map[x + gBackupMapLayout.width * y];
}
else
{
@@ -462,22 +470,22 @@ u8 MapGridGetMetatileLayerTypeAt(int x, int y)
void MapGridSetMetatileIdAt(int x, int y, u16 metatile)
{
int i;
- if (x >= 0 && x < gUnknown_03005DC0.width
- && y >= 0 && y < gUnknown_03005DC0.height)
+ if (x >= 0 && x < gBackupMapLayout.width
+ && y >= 0 && y < gBackupMapLayout.height)
{
- i = x + y * gUnknown_03005DC0.width;
- gUnknown_03005DC0.map[i] = (gUnknown_03005DC0.map[i] & 0xf000) | (metatile & 0xfff);
+ i = x + y * gBackupMapLayout.width;
+ gBackupMapLayout.map[i] = (gBackupMapLayout.map[i] & 0xf000) | (metatile & 0xfff);
}
}
void MapGridSetMetatileEntryAt(int x, int y, u16 metatile)
{
int i;
- if (x >= 0 && x < gUnknown_03005DC0.width
- && y >= 0 && y < gUnknown_03005DC0.height)
+ if (x >= 0 && x < gBackupMapLayout.width
+ && y >= 0 && y < gBackupMapLayout.height)
{
- i = x + gUnknown_03005DC0.width * y;
- gUnknown_03005DC0.map[i] = metatile;
+ i = x + gBackupMapLayout.width * y;
+ gBackupMapLayout.map[i] = metatile;
}
}
@@ -507,76 +515,75 @@ void save_serialize_map(void)
u16 *mapView;
int width;
mapView = gSaveBlock1Ptr->mapView;
- width = gUnknown_03005DC0.width;
+ width = gBackupMapLayout.width;
x = gSaveBlock1Ptr->pos.x;
y = gSaveBlock1Ptr->pos.y;
for (i = y; i < y + 14; i++)
{
for (j = x; j < x + 15; j++)
{
- *mapView++ = gUnknown_02032318[width * i + j];
+ *mapView++ = gBackupMapData[width * i + j];
}
}
}
-int sub_8088438(void)
+static bool32 SavedMapViewIsEmpty(void)
{
u16 i;
- u32 r2;
- r2 = 0;
+ u32 marker = 0;
+
+ // BUG: This loop extends past the bounds of the mapView array. Its size is only 0x100.
for (i = 0; i < 0x200; i++)
- {
- r2 |= gSaveBlock1Ptr->mapView[i];
- }
- if (r2 == 0)
- {
- return 1;
- }
- return 0;
+ marker |= gSaveBlock1Ptr->mapView[i];
+
+ if (marker == 0)
+ return TRUE;
+ else
+ return FALSE;
}
-void sav2_mapdata_clear(void)
+static void ClearSavedMapView(void)
{
CpuFill16(0, gSaveBlock1Ptr->mapView, sizeof(gSaveBlock1Ptr->mapView));
}
-void mapdata_from_sav2(void)
+static void LoadSavedMapView(void)
{
- u8 a0;
+ u8 yMode;
int i, j;
int x, y;
u16 *mapView;
int width;
mapView = gSaveBlock1Ptr->mapView;
- if (!sub_8088438())
+ if (!SavedMapViewIsEmpty())
{
- width = gUnknown_03005DC0.width;
+ width = gBackupMapLayout.width;
x = gSaveBlock1Ptr->pos.x;
y = gSaveBlock1Ptr->pos.y;
for (i = y; i < y + 14; i++)
{
if (i == y && i != 0)
- a0 = 0;
+ yMode = 0;
else if (i == y + 13 && i != gMapHeader.mapLayout->height - 1)
- a0 = 1;
+ yMode = 1;
else
- a0 = -1;
+ yMode = 0xFF;
for (j = x; j < x + 15; j++)
{
- if (!sub_8088BF0(&gUnknown_02032318[j + width * i], width, a0))
- gUnknown_02032318[j + width * i] = *mapView;
+ if (!SkipCopyingMetatileFromSavedMap(&gBackupMapData[j + width * i], width, yMode))
+ gBackupMapData[j + width * i] = *mapView;
mapView++;
}
}
for (j = x; j < x + 15; j++)
{
if (y != 0)
- sub_80D423C(j, y - 1);
+ FixLongGrassMetatilesWindowTop(j, y - 1);
if (i < gMapHeader.mapLayout->height - 1)
- sub_80D42B8(j, y + 13);
+ FixLongGrassMetatilesWindowBottom(j, y + 13);
}
- sav2_mapdata_clear();
+ ClearSavedMapView();
}
}
@@ -592,7 +599,7 @@ void sub_80885C4(u8 a1)
int x, y;
int i, j;
mapView = gSaveBlock1Ptr->mapView;
- width = gUnknown_03005DC0.width;
+ width = gBackupMapLayout.width;
r9 = 0;
r8 = 0;
x0 = gSaveBlock1Ptr->pos.x;
@@ -627,13 +634,13 @@ void sub_80885C4(u8 a1)
desti = width * (y + y0);
srci = (y + r8) * 15 + r9;
src = &mapView[srci + i];
- dest = &gUnknown_02032318[x0 + desti + j];
+ dest = &gBackupMapData[x0 + desti + j];
*dest = *src;
i++;
j++;
}
}
- sav2_mapdata_clear();
+ ClearSavedMapView();
}
int GetMapBorderIdAt(int x, int y)
@@ -641,12 +648,12 @@ int GetMapBorderIdAt(int x, int y)
struct MapLayout const *mapLayout;
u16 block, block2;
int i, j;
- if (x >= 0 && x < gUnknown_03005DC0.width
- && y >= 0 && y < gUnknown_03005DC0.height)
+ if (x >= 0 && x < gBackupMapLayout.width
+ && y >= 0 && y < gBackupMapLayout.height)
{
- i = gUnknown_03005DC0.width;
+ i = gBackupMapLayout.width;
i *= y;
- block = gUnknown_03005DC0.map[x + i];
+ block = gBackupMapLayout.map[x + i];
if (block == 0x3ff)
{
goto fail;
@@ -668,9 +675,9 @@ fail:
return -1;
success:
- if (x >= (gUnknown_03005DC0.width - 8))
+ if (x >= (gBackupMapLayout.width - 8))
{
- if (!gUnknown_02037340.east)
+ if (!gMapConnectionFlags.east)
{
return -1;
}
@@ -678,15 +685,15 @@ success:
}
else if (x < 7)
{
- if (!gUnknown_02037340.west)
+ if (!gMapConnectionFlags.west)
{
return -1;
}
return CONNECTION_WEST;
}
- else if (y >= (gUnknown_03005DC0.height - 7))
+ else if (y >= (gBackupMapLayout.height - 7))
{
- if (!gUnknown_02037340.south)
+ if (!gMapConnectionFlags.south)
{
return -1;
}
@@ -694,7 +701,7 @@ success:
}
else if (y < 7)
{
- if (!gUnknown_02037340.north)
+ if (!gMapConnectionFlags.north)
{
return -1;
}
@@ -891,13 +898,13 @@ void sub_8088B3C(u16 x, u16 y)
gSaveBlock1Ptr->pos.y = y - 7;
}
-void sav1_camera_get_focus_coords(u16 *x, u16 *y)
+void GetCameraFocusCoords(u16 *x, u16 *y)
{
*x = gSaveBlock1Ptr->pos.x + 7;
*y = gSaveBlock1Ptr->pos.y + 7;
}
-void SetCameraCoords(u16 x, u16 y)
+void SetPlayerCoords(u16 x, u16 y)
{
gSaveBlock1Ptr->pos.x = x;
gSaveBlock1Ptr->pos.y = y;
@@ -911,26 +918,26 @@ void GetCameraCoords(u16 *x, u16 *y)
void sub_8088B94(int x, int y, int a2)
{
- if (x >= 0 && x < gUnknown_03005DC0.width && y >= 0 && y < gUnknown_03005DC0.height)
+ if (x >= 0 && x < gBackupMapLayout.width && y >= 0 && y < gBackupMapLayout.height)
{
if (a2 != 0)
- gUnknown_03005DC0.map[x + gUnknown_03005DC0.width * y] |= 0xC00;
+ gBackupMapLayout.map[x + gBackupMapLayout.width * y] |= 0xC00;
else
- gUnknown_03005DC0.map[x + gUnknown_03005DC0.width * y] &= 0xF3FF;
+ gBackupMapLayout.map[x + gBackupMapLayout.width * y] &= 0xF3FF;
}
}
-bool8 sub_8088BF0(u16* a0, u16 a1, u8 a2)
+static bool8 SkipCopyingMetatileFromSavedMap(u16* mapMetatilePtr, u16 mapWidth, u8 yMode)
{
- if (a2 == 0xFF)
+ if (yMode == 0xFF)
return FALSE;
- if (a2 == 0)
- a0 -= a1;
+ if (yMode == 0)
+ mapMetatilePtr -= mapWidth;
else
- a0 += a1;
+ mapMetatilePtr += mapWidth;
- if (sub_80FADE4(*a0 & 0x3FF, a2) == 1)
+ if (sub_80FADE4(*mapMetatilePtr & 0x3FF, yMode) == 1)
return TRUE;
return FALSE;
}
diff --git a/src/fldeff_cut.c b/src/fldeff_cut.c
index 60887a5cc..348a1f46c 100644
--- a/src/fldeff_cut.c
+++ b/src/fldeff_cut.c
@@ -624,7 +624,7 @@ static void CutGrassSpriteCallbackEnd(struct Sprite *sprite)
ScriptContext1_SetupScript(FarawayIsland_Interior_EventScript_267EDB);
}
-void sub_80D423C(s16 x, s16 y)
+void FixLongGrassMetatilesWindowTop(s16 x, s16 y)
{
u8 metatileBehavior = MapGridGetMetatileBehaviorAt(x, y);
if (MetatileBehavior_IsLongGrass_Duplicate(metatileBehavior))
@@ -647,7 +647,7 @@ void sub_80D423C(s16 x, s16 y)
}
}
-void sub_80D42B8(s16 x, s16 y)
+void FixLongGrassMetatilesWindowBottom(s16 x, s16 y)
{
if (MapGridGetMetatileIdAt(x, y) == METATILE_ID_GRASS)
{
diff --git a/src/fldeff_misc.c b/src/fldeff_misc.c
index 1f4c6f9fb..df4576a7f 100644
--- a/src/fldeff_misc.c
+++ b/src/fldeff_misc.c
@@ -1166,23 +1166,23 @@ void GetShieldToyTVDecorationInfo(void)
}
}
-bool8 sub_80FADE4(u16 arg0, u8 arg1)
+bool8 sub_80FADE4(u16 metatileId, u8 arg1)
{
if (!CurrentMapIsSecretBase())
return FALSE;
if (!arg1)
{
- if (arg0 == 0x285 || arg0 == 0x286)
+ if (metatileId == 0x285 || metatileId == 0x286)
return TRUE;
- if (arg0 == 0x237)
+ if (metatileId == 0x237)
return TRUE;
}
else
{
- if (arg0 == 0x28d)
+ if (metatileId == 0x28d)
return TRUE;
- if (arg0 == 0x23F)
+ if (metatileId == 0x23F)
return TRUE;
}
diff --git a/src/item_use.c b/src/item_use.c
index 759267345..91fdc81c8 100755
--- a/src/item_use.c
+++ b/src/item_use.c
@@ -32,6 +32,7 @@
#include "task.h"
#include "text.h"
#include "constants/bg_event_constants.h"
+#include "constants/event_objects.h"
#include "constants/flags.h"
#include "constants/items.h"
#include "constants/songs.h"
@@ -570,15 +571,15 @@ u8 sub_80FD9B0(s16 itemX, s16 itemY)
void sub_80FDA24(u8 direction)
{
- EventObjectClearHeldMovementIfFinished(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]);
- EventObjectClearHeldMovement(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]);
- UnfreezeEventObject(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]);
+ EventObjectClearHeldMovementIfFinished(&gEventObjects[GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0)]);
+ EventObjectClearHeldMovement(&gEventObjects[GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0)]);
+ UnfreezeEventObject(&gEventObjects[GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0)]);
PlayerTurnInPlace(direction);
}
void sub_80FDA94(u8 taskId)
{
- if (EventObjectCheckHeldMovementStatus(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]) == TRUE)
+ if (EventObjectCheckHeldMovementStatus(&gEventObjects[GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0)]) == TRUE)
DisplayItemMessageOnField(taskId, gText_ItemFinderNearby, sub_80FD5CC);
}
@@ -586,7 +587,7 @@ void sub_80FDADC(u8 taskId)
{
s16 *data = gTasks[taskId].data;
- if (EventObjectCheckHeldMovementStatus(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]) == TRUE
+ if (EventObjectCheckHeldMovementStatus(&gEventObjects[GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0)]) == TRUE
|| data[2] == FALSE)
{
sub_80FDA24(gUnknown_085920E4[data[5]]);
diff --git a/src/mossdeep_gym.c b/src/mossdeep_gym.c
index 07920fe4c..d8adbe0c6 100644
--- a/src/mossdeep_gym.c
+++ b/src/mossdeep_gym.c
@@ -5,6 +5,7 @@
#include "mossdeep_gym.h"
#include "script_movement.h"
#include "constants/event_object_movement_constants.h"
+#include "constants/event_objects.h"
// Movement scripts.
extern const u8 gUnknown_08612698[];
@@ -52,7 +53,7 @@ void FinishMossdeepGymTiles(void)
if (gUnknown_0203CE50 != NULL)
FREE_AND_SET_NULL(gUnknown_0203CE50);
- id = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0);
+ id = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0);
EventObjectClearHeldMovementIfFinished(&gEventObjects[id]);
sub_80D338C();
}
diff --git a/src/overworld.c b/src/overworld.c
index 217b4c27e..ef424cff8 100644
--- a/src/overworld.c
+++ b/src/overworld.c
@@ -102,7 +102,6 @@ extern void ApplyNewEncryptionKeyToWord(u32 *word, u32 newKey);
extern void mapheader_run_script_with_tag_x5(void);
extern void ResetFieldTasksArgs(void);
extern void sub_80A0A2C(void);
-extern void not_trainer_hill_battle_pyramid(void);
extern void apply_map_tileset2_palette(const struct MapLayout *);
extern void copy_map_tileset2_to_vram_2(const struct MapLayout *);
extern void RestartWildEncounterImmunitySteps(void);
@@ -126,11 +125,7 @@ extern void sub_80AF168(void);
extern void sub_80AF3C8(void);
extern void ExecuteTruckSequence(void);
extern void sub_80A0A38(void);
-extern void trainer_hill_map_load_related(void);
-extern void sub_8087D74(void);
-extern void battle_pyramid_map_load_related(u8);
extern void WriteFlashScanlineEffectBuffer(u8);
-extern void sub_80E9238(u8);
extern void sub_81AA2F8(void);
extern void sub_8195E10(void);
extern void sub_80EDB44(void);
@@ -149,7 +144,6 @@ extern void SetUpFieldTasks(void);
extern void ShowStartMenu(void);
extern void sub_80AEE84(void);
extern void mapldr_default(void);
-extern void sub_8088B3C(u16, u16);
extern bool32 sub_800F0B8(void);
extern bool32 sub_8009F3C(void);
extern void sub_8010198(void);
@@ -741,7 +735,7 @@ void SetLastHealLocationWarp(u8 healLocationId)
SetWarpData(&gSaveBlock1Ptr->lastHealLocation, healLocation->group, healLocation->map, -1, healLocation->x, healLocation->y);
}
-void sub_8084D5C(s16 x, s16 y)
+void UpdateEscapeWarp(s16 x, s16 y)
{
u8 currMapType = GetCurrentMapType();
u8 destMapType = GetMapTypeByGroupAndId(sWarpDestination.mapGroup, sWarpDestination.mapNum);
@@ -870,7 +864,7 @@ void mliX_load_map(u8 mapGroup, u8 mapNum)
SetDefaultFlashLevel();
Overworld_ClearSavedMusic();
mapheader_run_script_with_tag_x3();
- not_trainer_hill_battle_pyramid();
+ InitMap();
copy_map_tileset2_to_vram_2(gMapHeader.mapLayout);
apply_map_tileset2_palette(gMapHeader.mapLayout);
@@ -925,15 +919,15 @@ static void mli0_load_map(u32 a1)
UpdateLocationHistoryForRoamer();
RoamerMoveToOtherLocationSet();
if (gMapHeader.mapLayoutId == 0x169)
- battle_pyramid_map_load_related(0);
+ InitBattlePyramidMap(0);
else if (InTrainerHill())
- trainer_hill_map_load_related();
+ InitTrainerHillMap();
else
- not_trainer_hill_battle_pyramid();
+ InitMap();
if (a1 != 1 && indoors)
{
- UpdateTVScreensOnMap(gUnknown_03005DC0.width, gUnknown_03005DC0.height);
+ UpdateTVScreensOnMap(gBackupMapLayout.width, gBackupMapLayout.height);
sub_80E9238(1);
}
}
@@ -1774,11 +1768,11 @@ void CB2_ContinueSavedGame(void)
DoTimeBasedEvents();
sub_8084788();
if (gMapHeader.mapLayoutId == 0x169)
- battle_pyramid_map_load_related(1);
+ InitBattlePyramidMap(1);
else if (trainerHillMapId != 0)
- trainer_hill_map_load_related();
+ InitTrainerHillMap();
else
- sub_8087D74();
+ InitMapFromSavedGame();
PlayTimeCounter_Start();
ScriptContext1_Init();
@@ -2216,7 +2210,7 @@ static void mli4_mapscripts_and_other(void)
gTotalCameraPixelOffsetX = 0;
gTotalCameraPixelOffsetY = 0;
ResetEventObjects();
- sav1_camera_get_focus_coords(&x, &y);
+ GetCameraFocusCoords(&x, &y);
player = GetInitialPlayerAvatarState();
InitPlayerAvatar(x, y, player->direction, gSaveBlock2Ptr->playerGender);
SetPlayerAvatarTransitionFlags(player->transitionFlags);
@@ -2251,7 +2245,7 @@ static void sub_8086AC8(void)
static void sub_8086AE4(void)
{
u16 x, y;
- sav1_camera_get_focus_coords(&x, &y);
+ GetCameraFocusCoords(&x, &y);
sub_8088B3C(x + gUnknown_03005DB4, y);
}
@@ -2260,7 +2254,7 @@ static void sub_8086B14(void)
u16 i;
u16 x, y;
- sav1_camera_get_focus_coords(&x, &y);
+ GetCameraFocusCoords(&x, &y);
x -= gUnknown_03005DB4;
for (i = 0; i < gFieldLinkPlayerCount; i++)
diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c
index 7feeb79e7..c4546fffc 100644
--- a/src/pokemon_summary_screen.c
+++ b/src/pokemon_summary_screen.c
@@ -311,7 +311,7 @@ static const struct UnkStruct_61CC04 gUnknown_0861CC10 =
static const s8 gUnknown_0861CC1C[] = {0, 2, 3, 1, 4, 5};
static const struct WindowTemplate gUnknown_0861CC24[] =
{
- {
+ {//Text for Pokemon Info
.bg = 0,
.tilemapLeft = 0,
.tilemapTop = 0,
@@ -320,7 +320,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] =
.paletteNum = 6,
.baseBlock = 1,
},
- {
+ {//Text for Pokemon Skills
.bg = 0,
.tilemapLeft = 0,
.tilemapTop = 0,
@@ -329,7 +329,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] =
.paletteNum = 6,
.baseBlock = 23,
},
- {
+ {//Text for Battle Moves
.bg = 0,
.tilemapLeft = 0,
.tilemapTop = 0,
@@ -338,7 +338,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] =
.paletteNum = 6,
.baseBlock = 45,
},
- {
+ {//Text for Contest Moves
.bg = 0,
.tilemapLeft = 0,
.tilemapTop = 0,
@@ -347,7 +347,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] =
.paletteNum = 6,
.baseBlock = 67,
},
- {
+ { //Text on Pokemon Info: Button prompt: Cancel
.bg = 0,
.tilemapLeft = 22,
.tilemapTop = 0,
@@ -356,7 +356,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] =
.paletteNum = 7,
.baseBlock = 89,
},
- {
+ {//Info button found under moves
.bg = 0,
.tilemapLeft = 22,
.tilemapTop = 0,
@@ -365,7 +365,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] =
.paletteNum = 7,
.baseBlock = 105,
},
- {
+ {//Switch button under moves when viewing moves
.bg = 0,
.tilemapLeft = 22,
.tilemapTop = 0,
@@ -374,7 +374,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] =
.paletteNum = 7,
.baseBlock = 121,
},
- {
+ {//Unknown
.bg = 0,
.tilemapLeft = 11,
.tilemapTop = 4,
@@ -383,7 +383,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] =
.paletteNum = 6,
.baseBlock = 137,
},
- {
+ {//Unknown
.bg = 0,
.tilemapLeft = 11,
.tilemapTop = 4,
@@ -392,7 +392,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] =
.paletteNum = 6,
.baseBlock = 137,
},
- {
+ {//Type on pokemon info page
.bg = 0,
.tilemapLeft = 11,
.tilemapTop = 6,
@@ -401,7 +401,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] =
.paletteNum = 6,
.baseBlock = 173,
},
- {
+ {//HP, Attack and Defense text
.bg = 0,
.tilemapLeft = 10,
.tilemapTop = 7,
@@ -410,7 +410,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] =
.paletteNum = 6,
.baseBlock = 209,
},
- {
+ {//Sp. atk, Sp. Def and Speed texxt
.bg = 0,
.tilemapLeft = 22,
.tilemapTop = 7,
@@ -419,7 +419,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] =
.paletteNum = 6,
.baseBlock = 245,
},
- {
+ {//EXP and next lvl.
.bg = 0,
.tilemapLeft = 10,
.tilemapTop = 14,
@@ -428,7 +428,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] =
.paletteNum = 6,
.baseBlock = 275,
},
- {
+ {//Unknown
.bg = 0,
.tilemapLeft = 0,
.tilemapTop = 18,
@@ -437,7 +437,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] =
.paletteNum = 6,
.baseBlock = 319,
},
- {
+ {//move text: Power, Accuracy and their numeric values.
.bg = 0,
.tilemapLeft = 1,
.tilemapTop = 15,
@@ -446,7 +446,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] =
.paletteNum = 6,
.baseBlock = 331,
},
- {
+ {//contest text: appeal and jam
.bg = 0,
.tilemapLeft = 1,
.tilemapTop = 15,
@@ -455,7 +455,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] =
.paletteNum = 6,
.baseBlock = 367,
},
- {
+ {//Unknown
.bg = 0,
.tilemapLeft = 22,
.tilemapTop = 4,
@@ -464,7 +464,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] =
.paletteNum = 6,
.baseBlock = 387,
},
- {
+ {//No.
.bg = 0,
.tilemapLeft = 1,
.tilemapTop = 2,
@@ -473,7 +473,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] =
.paletteNum = 7,
.baseBlock = 387,
},
- {
+ {//Upper name
.bg = 0,
.tilemapLeft = 1,
.tilemapTop = 12,
@@ -482,7 +482,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] =
.paletteNum = 6,
.baseBlock = 395,
},
- {
+ {//Lower name
.bg = 0,
.tilemapLeft = 1,
.tilemapTop = 14,
@@ -495,7 +495,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] =
};
static const struct WindowTemplate gUnknown_0861CCCC[] =
{
- {
+ {//Original Trainer
.bg = 0,
.tilemapLeft = 11,
.tilemapTop = 4,
@@ -504,7 +504,7 @@ static const struct WindowTemplate gUnknown_0861CCCC[] =
.paletteNum = 6,
.baseBlock = 449,
},
- {
+ {//ID numbers
.bg = 0,
.tilemapLeft = 22,
.tilemapTop = 4,
@@ -513,7 +513,7 @@ static const struct WindowTemplate gUnknown_0861CCCC[] =
.paletteNum = 6,
.baseBlock = 471,
},
- {
+ {//Ability
.bg = 0,
.tilemapLeft = 11,
.tilemapTop = 9,
@@ -522,7 +522,7 @@ static const struct WindowTemplate gUnknown_0861CCCC[] =
.paletteNum = 6,
.baseBlock = 485,
},
- {
+ {//Trainer Memo
.bg = 0,
.tilemapLeft = 11,
.tilemapTop = 14,
@@ -534,7 +534,7 @@ static const struct WindowTemplate gUnknown_0861CCCC[] =
};
static const struct WindowTemplate gUnknown_0861CCEC[] =
{
- {
+ {//Held Item string
.bg = 0,
.tilemapLeft = 10,
.tilemapTop = 4,
@@ -543,7 +543,7 @@ static const struct WindowTemplate gUnknown_0861CCEC[] =
.paletteNum = 6,
.baseBlock = 449,
},
- {
+ {//Ribbon string
.bg = 0,
.tilemapLeft = 20,
.tilemapTop = 4,
@@ -552,7 +552,7 @@ static const struct WindowTemplate gUnknown_0861CCEC[] =
.paletteNum = 6,
.baseBlock = 469,
},
- {
+ {//Stat numbers left (HP, ATK & DEF)
.bg = 0,
.tilemapLeft = 16,
.tilemapTop = 7,
@@ -561,7 +561,7 @@ static const struct WindowTemplate gUnknown_0861CCEC[] =
.paletteNum = 6,
.baseBlock = 489,
},
- {
+ {//Stat numbers right (SP.ATK, SP.DEF & SPEED)
.bg = 0,
.tilemapLeft = 27,
.tilemapTop = 7,
@@ -570,7 +570,7 @@ static const struct WindowTemplate gUnknown_0861CCEC[] =
.paletteNum = 6,
.baseBlock = 525,
},
- {
+ {//Exp numbers
.bg = 0,
.tilemapLeft = 24,
.tilemapTop = 14,
@@ -582,7 +582,7 @@ static const struct WindowTemplate gUnknown_0861CCEC[] =
};
static const struct WindowTemplate gUnknown_0861CD14[] =
{
- {
+ {//Move names?
.bg = 0,
.tilemapLeft = 15,
.tilemapTop = 4,
@@ -591,7 +591,7 @@ static const struct WindowTemplate gUnknown_0861CD14[] =
.paletteNum = 6,
.baseBlock = 449,
},
- {
+ {//PP Numbers
.bg = 0,
.tilemapLeft = 24,
.tilemapTop = 4,
@@ -600,7 +600,7 @@ static const struct WindowTemplate gUnknown_0861CD14[] =
.paletteNum = 8,
.baseBlock = 539,
},
- {
+ {//Move description text
.bg = 0,
.tilemapLeft = 10,
.tilemapTop = 15,
diff --git a/src/record_mixing.c b/src/record_mixing.c
index e3764c490..c3637b1a3 100644
--- a/src/record_mixing.c
+++ b/src/record_mixing.c
@@ -741,711 +741,184 @@ static u8 sub_80E7B54(void)
return gUnknown_03001160;
}
-#ifdef NONMATCHING
static void ReceiveDaycareMailData(struct RecordMixingDayCareMail *src, size_t recordSize, u8 which, TVShow *shows)
{
- // r9 = which
- u16 i;
- u16 j;
+ u16 i, j;
u8 linkPlayerCount;
- u16 language;
- u16 otNameLanguage;
- u16 nicknameLanguage;
- u32 version;
- u8 dcMail1;
- u8 dcMail2;
- u8 r1_80e7b54;
- struct DayCareMail *recordMixingMail;
+ u8 tableId;
struct RecordMixingDayCareMail *_src;
+ u8 which0, which1;
+ void *ptr;
u8 sp04[4];
u8 sp08[4];
- struct RecordMixingDayCareMail *sp0c[4]; // -> sp+48
- u8 sp1c[4][2]; // [][0] -> sp+4c, [][1] -> sp+50
+ struct RecordMixingDayCareMail *sp0c[4];
+ u8 sp1c[4][2];
u8 sp24[4][2];
- // sp+2c = src
- // sp+30 = recordSize
u8 sp34;
u16 oldSeed;
- bool32 anyRS; // sp+3c
+ bool32 anyRS;
oldSeed = Random2();
SeedRng2(gLinkPlayers[0].trainerId);
linkPlayerCount = GetLinkPlayerCount();
- for (i = 0; i < 4; i ++)
+ for (i = 0; i < 4; i++)
{
sp04[i] = 0xFF;
sp08[i] = 0;
sp1c[i][0] = 0;
sp1c[i][1] = 0;
}
+
anyRS = Link_AnyPartnersPlayingRubyOrSapphire();
- for (i = 0; i < GetLinkPlayerCount(); i ++) // r8 = i
+ for (i = 0; i < GetLinkPlayerCount(); i++)
{
- // sp+54 = linkPlayerCount << 16
- // sp+44 = which * recordSize
- _src = (void *)src + i * recordSize; // r7
- language = gLinkPlayers[i].language; // r9
- version = (u8)gLinkPlayers[i].version; // sp+40
- for (j = 0; j < _src->unk_70; j ++)
+ u32 language, version;
+
+ _src = (void *)src + i * recordSize;
+ language = gLinkPlayers[i].language;
+ version = gLinkPlayers[i].version & 0xFF;
+ for (j = 0; j < _src->numDaycareMons; j ++)
{
- // r10 = ~0x10
- recordMixingMail = &_src->unk_00[j];
- if (recordMixingMail->mail.itemId != ITEM_NONE)
+ u16 otNameLanguage, nicknameLanguage;
+ struct DayCareMail *recordMixingMail = &_src->mail[j];
+
+ if (!recordMixingMail->message.itemId)
+ continue;
+
+ if (anyRS)
{
- if (anyRS)
+ if (StringLength(recordMixingMail->OT_name) <= 5)
{
- if (StringLength(recordMixingMail->OT_name) <= 5)
- {
- otNameLanguage = LANGUAGE_JAPANESE;
- }
- else
- {
- StripExtCtrlCodes(recordMixingMail->OT_name);
- otNameLanguage = language;
- }
- if (recordMixingMail->monName[0] == EXT_CTRL_CODE_BEGIN && recordMixingMail->monName[1] == EXT_CTRL_CODE_JPN)
- {
- StripExtCtrlCodes(recordMixingMail->monName);
- nicknameLanguage = LANGUAGE_JAPANESE;
- }
- else
- {
- nicknameLanguage = language;
- }
- if (version == VERSION_RUBY || version == VERSION_SAPPHIRE)
- {
- recordMixingMail->language_maybe = otNameLanguage;
- recordMixingMail->unknown = nicknameLanguage;
- }
+ otNameLanguage = LANGUAGE_JAPANESE;
}
- else if (language == LANGUAGE_JAPANESE)
+ else
{
- if (IsStringJapanese(recordMixingMail->OT_name))
- {
- recordMixingMail->language_maybe = LANGUAGE_JAPANESE;
- }
- else
- {
- recordMixingMail->language_maybe = GAME_LANGUAGE;
- }
- if (IsStringJapanese(recordMixingMail->monName))
- {
- recordMixingMail->unknown = LANGUAGE_JAPANESE;
- }
- else
- {
- recordMixingMail->unknown = GAME_LANGUAGE;
- }
+ StripExtCtrlCodes(recordMixingMail->OT_name);
+ otNameLanguage = language;
+ }
+
+ if (recordMixingMail->monName[0] == EXT_CTRL_CODE_BEGIN && recordMixingMail->monName[1] == EXT_CTRL_CODE_JPN)
+ {
+ StripExtCtrlCodes(recordMixingMail->monName);
+ nicknameLanguage = LANGUAGE_JAPANESE;
+ }
+ else
+ {
+ nicknameLanguage = language;
+ }
+
+ if (version == VERSION_RUBY || version == VERSION_SAPPHIRE)
+ {
+ recordMixingMail->gameLanguage = otNameLanguage;
+ recordMixingMail->monLanguage = nicknameLanguage;
}
}
+ else if (language == LANGUAGE_JAPANESE)
+ {
+ if (IsStringJapanese(recordMixingMail->OT_name))
+ recordMixingMail->gameLanguage = LANGUAGE_JAPANESE;
+ else
+ recordMixingMail->gameLanguage = GAME_LANGUAGE;
+
+ if (IsStringJapanese(recordMixingMail->monName))
+ recordMixingMail->monLanguage = LANGUAGE_JAPANESE;
+ else
+ recordMixingMail->monLanguage = GAME_LANGUAGE;
+ }
}
}
+
sp34 = 0;
- for (i = 0; i < linkPlayerCount; i ++)
+ for (i = 0; i < linkPlayerCount; i++)
{
- _src = (void *)src + i * recordSize; // r7
- if (_src->unk_70 != 0)
+ _src = (void *)src + i * recordSize;
+ if (_src->numDaycareMons == 0)
+ continue;
+
+ for (j = 0; j < _src->numDaycareMons; j ++)
{
- for (j = 0; j < _src->unk_70; j ++)
- {
- if (_src->unk_74[j] == 0)
- {
- sp1c[i][j] = 1;
- }
- }
+ if (!_src->holdsItem[j])
+ sp1c[i][j] = 1;
}
}
- i = 0;
- for (j = 0; j < linkPlayerCount; j ++)
+
+ j = 0;
+ for (i = 0; i < linkPlayerCount; i++)
{
- _src = (void *)src + j * recordSize;
- if (sp1c[j][0] == TRUE || sp1c[j][1] == TRUE)
- {
- sp34 ++;
- }
- if (sp1c[j][0] == TRUE && sp1c[j][1] == FALSE)
+ _src = (void *)src + i * recordSize;
+ if (sp1c[i][0] == TRUE || sp1c[i][1] == TRUE)
+ sp34++;
+
+ if (sp1c[i][0] == TRUE && sp1c[i][1] == FALSE)
{
- sp24[i][0] = j;
- sp24[i][1] = 0;
- i ++;
+ sp24[j][0] = i;
+ sp24[j][1] = 0;
+ j++;
}
- else if (sp1c[j][0] == FALSE && sp1c[j][1] == TRUE)
+ else if (sp1c[i][0] == FALSE && sp1c[i][1] == TRUE)
{
- sp24[i][0] = j;
- sp24[i][1] = 0;
- i ++;
+ sp24[j][0] = i;
+ sp24[j][1] = 1;
+ j++;
}
- else if (sp1c[j][0] == TRUE && sp1c[j][1] == TRUE)
+ else if (sp1c[i][0] == TRUE && sp1c[i][1] == TRUE)
{
- sp24[i][0] = j;
- dcMail1 = sub_80E7A9C(&_src->unk_00[0]);
- dcMail2 = sub_80E7A9C(&_src->unk_00[1]);
- if (!dcMail1 && dcMail2)
+ u32 var1, var2;
+
+ sp24[j][0] = i;
+ var1 = sub_80E7A9C(&_src->mail[0]);
+ var2 = sub_80E7A9C(&_src->mail[1]);
+ if (!var1 && var2)
{
- sp24[i][1] = 1;
+ register u8 one asm("r0") = 1; // boo, a fakematch
+ sp24[j][1] = one;
}
- else if ((dcMail1 && dcMail2) || (!dcMail1 && !dcMail2))
+ else if ((var1 && var2) || (!var1 && !var2))
{
- sp24[i][1] = Random2() % 2;
+ sp24[j][1] = Random2() % 2;
}
- else
+ else if (var1 && !var2)
{
- sp24[i][1] = 0;
+ sp24[j][1] = 0;
}
- i ++;
+ j++;
}
}
- for (i = 0; i < 4; i ++)
+
+ for (i = 0; i < 4; i++)
{
_src = &src[which * recordSize];
sp0c[i] = _src;
}
- r1_80e7b54 = sub_80E7B54() % 3;
+
+ tableId = sub_80E7B54() % 3;
switch (sp34)
{
- case 2:
- sub_80E7AA4(src, recordSize, sp24, 0, 1);
- break;
- case 3:
- sub_80E7AA4(src, recordSize, sp24, gUnknown_0858CFB8[r1_80e7b54][0], gUnknown_0858CFB8[r1_80e7b54][1]);
- break;
- case 4:
- sub_80E7AA4(src, recordSize, sp24, gUnknown_0858CFBE[r1_80e7b54][0], gUnknown_0858CFBE[r1_80e7b54][1]);
- sub_80E7AA4(src, recordSize, sp24, gUnknown_0858CFBE[r1_80e7b54][2], gUnknown_0858CFBE[r1_80e7b54][3]);
- break;
+ case 2:
+ sub_80E7AA4(src, recordSize, sp24, 0, 1);
+ break;
+ case 3:
+ which0 = gUnknown_0858CFB8[tableId][0];
+ which1 = gUnknown_0858CFB8[tableId][1];
+ sub_80E7AA4(src, recordSize, sp24, which0, which1);
+ break;
+ case 4:
+ ptr = sp24;
+ which0 = gUnknown_0858CFBE[tableId][0];
+ which1 = gUnknown_0858CFBE[tableId][1];
+ sub_80E7AA4(src, recordSize, ptr, which0, which1);
+ which0 = gUnknown_0858CFBE[tableId][2];
+ which1 = gUnknown_0858CFBE[tableId][3];
+ sub_80E7AA4(src, recordSize, ptr, which0, which1);
+ break;
}
+
_src = (void *)src + which * recordSize;
- memcpy(&gSaveBlock1Ptr->daycare.mons[0].misc.mail, &_src->unk_00[0], sizeof(struct DayCareMail));
- memcpy(&gSaveBlock1Ptr->daycare.mons[1].misc.mail, &_src->unk_00[1], sizeof(struct DayCareMail));
+ memcpy(&gSaveBlock1Ptr->daycare.mons[0].mail, &_src->mail[0], sizeof(struct DayCareMail));
+ memcpy(&gSaveBlock1Ptr->daycare.mons[1].mail, &_src->mail[1], sizeof(struct DayCareMail));
SeedRng(oldSeed);
}
-#else
-NAKED
-static void ReceiveDaycareMailData(struct RecordMixingDayCareMail *src, size_t recordSize, u8 which, TVShow *shows)
-{
- asm_unified("\tpush {r4-r7,lr}\n"
- "\tmov r7, r10\n"
- "\tmov r6, r9\n"
- "\tmov r5, r8\n"
- "\tpush {r5-r7}\n"
- "\tsub sp, 0x58\n"
- "\tstr r0, [sp, 0x2C]\n"
- "\tstr r1, [sp, 0x30]\n"
- "\tlsls r2, 24\n"
- "\tlsrs r2, 24\n"
- "\tmov r9, r2\n"
- "\tbl Random2\n"
- "\tlsls r0, 16\n"
- "\tlsrs r0, 16\n"
- "\tstr r0, [sp, 0x38]\n"
- "\tldr r0, =gLinkPlayers\n"
- "\tldrh r0, [r0, 0x4]\n"
- "\tbl SeedRng2\n"
- "\tbl GetLinkPlayerCount\n"
- "\tlsls r0, 24\n"
- "\tlsrs r4, r0, 24\n"
- "\tmovs r0, 0\n"
- "\tmov r8, r0\n"
- "\tmov r1, sp\n"
- "\tadds r1, 0x1C\n"
- "\tstr r1, [sp, 0x4C]\n"
- "\tmov r2, sp\n"
- "\tadds r2, 0x1D\n"
- "\tstr r2, [sp, 0x50]\n"
- "\tmov r3, sp\n"
- "\tadds r3, 0xC\n"
- "\tstr r3, [sp, 0x48]\n"
- "\tmovs r7, 0xFF\n"
- "\tadd r3, sp, 0x8\n"
- "\tmovs r2, 0\n"
- "\tadds r6, r1, 0\n"
- "\tldr r5, [sp, 0x50]\n"
- "_080E7BB0:\n"
- "\tmov r1, sp\n"
- "\tadd r1, r8\n"
- "\tadds r1, 0x4\n"
- "\tldrb r0, [r1]\n"
- "\torrs r0, r7\n"
- "\tstrb r0, [r1]\n"
- "\tmov r1, r8\n"
- "\tadds r0, r3, r1\n"
- "\tstrb r2, [r0]\n"
- "\tlsls r1, 1\n"
- "\tadds r0, r6, r1\n"
- "\tstrb r2, [r0]\n"
- "\tadds r1, r5, r1\n"
- "\tstrb r2, [r1]\n"
- "\tmov r0, r8\n"
- "\tadds r0, 0x1\n"
- "\tlsls r0, 16\n"
- "\tlsrs r0, 16\n"
- "\tmov r8, r0\n"
- "\tcmp r0, 0x3\n"
- "\tbls _080E7BB0\n"
- "\tbl Link_AnyPartnersPlayingRubyOrSapphire\n"
- "\tstr r0, [sp, 0x3C]\n"
- "\tmovs r2, 0\n"
- "\tmov r8, r2\n"
- "\tlsls r4, 16\n"
- "\tstr r4, [sp, 0x54]\n"
- "\tldr r0, [sp, 0x30]\n"
- "\tmov r3, r9\n"
- "\tmuls r3, r0\n"
- "\tstr r3, [sp, 0x44]\n"
- "\tb _080E7D04\n"
- "\t.pool\n"
- "_080E7BF8:\n"
- "\tldr r1, [sp, 0x30]\n"
- "\tmov r0, r8\n"
- "\tmuls r0, r1\n"
- "\tldr r2, [sp, 0x2C]\n"
- "\tadds r7, r2, r0\n"
- "\tldr r1, =gLinkPlayers\n"
- "\tmov r3, r8\n"
- "\tlsls r0, r3, 3\n"
- "\tsubs r0, r3\n"
- "\tlsls r0, 2\n"
- "\tadds r0, r1\n"
- "\tldrh r1, [r0, 0x1A]\n"
- "\tmov r9, r1\n"
- "\tldrb r0, [r0]\n"
- "\tstr r0, [sp, 0x40]\n"
- "\tmovs r6, 0\n"
- "\tldr r0, [r7, 0x70]\n"
- "\tcmp r6, r0\n"
- "\tbcs _080E7CFA\n"
- "\tmovs r2, 0x10\n"
- "\tnegs r2, r2\n"
- "\tmov r10, r2\n"
- "_080E7C24:\n"
- "\tlsls r0, r6, 3\n"
- "\tsubs r0, r6\n"
- "\tlsls r0, 3\n"
- "\tadds r5, r7, r0\n"
- "\tldrh r0, [r5, 0x20]\n"
- "\tcmp r0, 0\n"
- "\tbeq _080E7CEE\n"
- "\tldr r3, [sp, 0x3C]\n"
- "\tcmp r3, 0\n"
- "\tbeq _080E7C9A\n"
- "\tadds r4, r5, 0\n"
- "\tadds r4, 0x24\n"
- "\tadds r0, r4, 0\n"
- "\tbl StringLength\n"
- "\tlsls r0, 16\n"
- "\tlsrs r0, 16\n"
- "\tcmp r0, 0x5\n"
- "\tbhi _080E7C54\n"
- "\tmovs r4, 0x1\n"
- "\tb _080E7C5C\n"
- "\t.pool\n"
- "_080E7C54:\n"
- "\tadds r0, r4, 0\n"
- "\tbl StripExtCtrlCodes\n"
- "\tmov r4, r9\n"
- "_080E7C5C:\n"
- "\tldrh r1, [r5, 0x2C]\n"
- "\tldr r0, =0x000015fc\n"
- "\tcmp r1, r0\n"
- "\tbne _080E7C74\n"
- "\tadds r0, r5, 0\n"
- "\tadds r0, 0x2C\n"
- "\tbl StripExtCtrlCodes\n"
- "\tmovs r1, 0x1\n"
- "\tb _080E7C76\n"
- "\t.pool\n"
- "_080E7C74:\n"
- "\tmov r1, r9\n"
- "_080E7C76:\n"
- "\tldr r0, [sp, 0x40]\n"
- "\tsubs r0, 0x1\n"
- "\tcmp r0, 0x1\n"
- "\tbhi _080E7CEE\n"
- "\tadds r2, r5, 0\n"
- "\tadds r2, 0x37\n"
- "\tmovs r0, 0xF\n"
- "\tands r4, r0\n"
- "\tldrb r0, [r2]\n"
- "\tmov r3, r10\n"
- "\tands r0, r3\n"
- "\torrs r0, r4\n"
- "\tlsls r1, 4\n"
- "\tmovs r3, 0xF\n"
- "\tands r0, r3\n"
- "\torrs r0, r1\n"
- "\tstrb r0, [r2]\n"
- "\tb _080E7CEE\n"
- "_080E7C9A:\n"
- "\tmov r0, r9\n"
- "\tcmp r0, 0x1\n"
- "\tbne _080E7CEE\n"
- "\tadds r0, r5, 0\n"
- "\tadds r0, 0x24\n"
- "\tbl IsStringJapanese\n"
- "\tcmp r0, 0\n"
- "\tbeq _080E7CBA\n"
- "\tadds r0, r5, 0\n"
- "\tadds r0, 0x37\n"
- "\tldrb r1, [r0]\n"
- "\tmov r2, r10\n"
- "\tands r1, r2\n"
- "\tmovs r2, 0x1\n"
- "\tb _080E7CC6\n"
- "_080E7CBA:\n"
- "\tadds r0, r5, 0\n"
- "\tadds r0, 0x37\n"
- "\tldrb r1, [r0]\n"
- "\tmov r3, r10\n"
- "\tands r1, r3\n"
- "\tmovs r2, 0x2\n"
- "_080E7CC6:\n"
- "\torrs r1, r2\n"
- "\tstrb r1, [r0]\n"
- "\tadds r4, r0, 0\n"
- "\tadds r0, r5, 0\n"
- "\tadds r0, 0x2C\n"
- "\tbl IsStringJapanese\n"
- "\tcmp r0, 0\n"
- "\tbeq _080E7CE2\n"
- "\tldrb r0, [r4]\n"
- "\tmovs r1, 0xF\n"
- "\tands r1, r0\n"
- "\tmovs r0, 0x10\n"
- "\tb _080E7CEA\n"
- "_080E7CE2:\n"
- "\tldrb r0, [r4]\n"
- "\tmovs r1, 0xF\n"
- "\tands r1, r0\n"
- "\tmovs r0, 0x20\n"
- "_080E7CEA:\n"
- "\torrs r1, r0\n"
- "\tstrb r1, [r4]\n"
- "_080E7CEE:\n"
- "\tadds r0, r6, 0x1\n"
- "\tlsls r0, 16\n"
- "\tlsrs r6, r0, 16\n"
- "\tldr r0, [r7, 0x70]\n"
- "\tcmp r6, r0\n"
- "\tbcc _080E7C24\n"
- "_080E7CFA:\n"
- "\tmov r0, r8\n"
- "\tadds r0, 0x1\n"
- "\tlsls r0, 16\n"
- "\tlsrs r0, 16\n"
- "\tmov r8, r0\n"
- "_080E7D04:\n"
- "\tbl GetLinkPlayerCount\n"
- "\tlsls r0, 24\n"
- "\tlsrs r0, 24\n"
- "\tcmp r8, r0\n"
- "\tbcs _080E7D12\n"
- "\tb _080E7BF8\n"
- "_080E7D12:\n"
- "\tmovs r0, 0\n"
- "\tstr r0, [sp, 0x34]\n"
- "\tmov r8, r0\n"
- "\tldr r1, [sp, 0x54]\n"
- "\tlsrs r0, r1, 16\n"
- "\tldr r2, [sp, 0x34]\n"
- "\tcmp r2, r0\n"
- "\tbcs _080E7D70\n"
- "\tadds r5, r0, 0\n"
- "_080E7D24:\n"
- "\tldr r3, [sp, 0x30]\n"
- "\tmov r0, r8\n"
- "\tmuls r0, r3\n"
- "\tldr r1, [sp, 0x2C]\n"
- "\tadds r7, r1, r0\n"
- "\tldr r0, [r7, 0x70]\n"
- "\tcmp r0, 0\n"
- "\tbeq _080E7D62\n"
- "\tmovs r6, 0\n"
- "\tcmp r6, r0\n"
- "\tbcs _080E7D62\n"
- "\tadds r3, r7, 0\n"
- "\tadds r3, 0x74\n"
- "\tldr r2, [sp, 0x4C]\n"
- "\tmov r0, r8\n"
- "\tlsls r1, r0, 1\n"
- "\tmovs r4, 0x1\n"
- "_080E7D46:\n"
- "\tlsls r0, r6, 1\n"
- "\tadds r0, r3, r0\n"
- "\tldrh r0, [r0]\n"
- "\tcmp r0, 0\n"
- "\tbne _080E7D56\n"
- "\tadds r0, r6, r1\n"
- "\tadds r0, r2, r0\n"
- "\tstrb r4, [r0]\n"
- "_080E7D56:\n"
- "\tadds r0, r6, 0x1\n"
- "\tlsls r0, 16\n"
- "\tlsrs r6, r0, 16\n"
- "\tldr r0, [r7, 0x70]\n"
- "\tcmp r6, r0\n"
- "\tbcc _080E7D46\n"
- "_080E7D62:\n"
- "\tmov r0, r8\n"
- "\tadds r0, 0x1\n"
- "\tlsls r0, 16\n"
- "\tlsrs r0, 16\n"
- "\tmov r8, r0\n"
- "\tcmp r8, r5\n"
- "\tbcc _080E7D24\n"
- "_080E7D70:\n"
- "\tmovs r6, 0\n"
- "\tmov r8, r6\n"
- "\tldr r1, [sp, 0x54]\n"
- "\tcmp r1, 0\n"
- "\tbeq _080E7E64\n"
- "\tadd r2, sp, 0x24\n"
- "\tmov r10, r2\n"
- "\tmovs r3, 0x25\n"
- "\tadd r3, sp\n"
- "\tmov r9, r3\n"
- "_080E7D84:\n"
- "\tldr r1, [sp, 0x30]\n"
- "\tmov r0, r8\n"
- "\tmuls r0, r1\n"
- "\tldr r2, [sp, 0x2C]\n"
- "\tadds r7, r2, r0\n"
- "\tmov r3, r8\n"
- "\tlsls r1, r3, 1\n"
- "\tldr r2, [sp, 0x4C]\n"
- "\tadds r0, r2, r1\n"
- "\tldrb r0, [r0]\n"
- "\tcmp r0, 0x1\n"
- "\tbeq _080E7DA6\n"
- "\tldr r3, [sp, 0x50]\n"
- "\tadds r0, r3, r1\n"
- "\tldrb r0, [r0]\n"
- "\tcmp r0, 0x1\n"
- "\tbne _080E7DB0\n"
- "_080E7DA6:\n"
- "\tldr r0, [sp, 0x34]\n"
- "\tadds r0, 0x1\n"
- "\tlsls r0, 24\n"
- "\tlsrs r0, 24\n"
- "\tstr r0, [sp, 0x34]\n"
- "_080E7DB0:\n"
- "\tldr r2, [sp, 0x4C]\n"
- "\tadds r0, r2, r1\n"
- "\tldrb r0, [r0]\n"
- "\tcmp r0, 0x1\n"
- "\tbne _080E7DD4\n"
- "\tldr r3, [sp, 0x50]\n"
- "\tadds r0, r3, r1\n"
- "\tldrb r2, [r0]\n"
- "\tcmp r2, 0\n"
- "\tbne _080E7DD4\n"
- "_080E7DC4:\n"
- "\tlsls r1, r6, 1\n"
- "\tmov r3, r10\n"
- "\tadds r0, r3, r1\n"
- "\tmov r3, r8\n"
- "\tstrb r3, [r0]\n"
- "\tadd r1, r9\n"
- "\tstrb r2, [r1]\n"
- "\tb _080E7E4E\n"
- "_080E7DD4:\n"
- "\tldr r2, [sp, 0x4C]\n"
- "\tadds r0, r2, r1\n"
- "\tldrb r0, [r0]\n"
- "\tcmp r0, 0\n"
- "\tbne _080E7DE8\n"
- "\tldr r3, [sp, 0x50]\n"
- "\tadds r0, r3, r1\n"
- "\tldrb r2, [r0]\n"
- "\tcmp r2, 0x1\n"
- "\tbeq _080E7DC4\n"
- "_080E7DE8:\n"
- "\tldr r2, [sp, 0x4C]\n"
- "\tadds r0, r2, r1\n"
- "\tldrb r0, [r0]\n"
- "\tcmp r0, 0x1\n"
- "\tbne _080E7E54\n"
- "\tldr r3, [sp, 0x50]\n"
- "\tadds r0, r3, r1\n"
- "\tldrb r0, [r0]\n"
- "\tcmp r0, 0x1\n"
- "\tbne _080E7E54\n"
- "\tlsls r5, r6, 1\n"
- "\tmov r1, r10\n"
- "\tadds r0, r1, r5\n"
- "\tmov r2, r8\n"
- "\tstrb r2, [r0]\n"
- "\tadds r0, r7, 0\n"
- "\tbl sub_80E7A9C\n"
- "\tadds r4, r0, 0\n"
- "\tlsls r4, 24\n"
- "\tlsrs r4, 24\n"
- "\tadds r0, r7, 0\n"
- "\tadds r0, 0x38\n"
- "\tbl sub_80E7A9C\n"
- "\tlsls r0, 24\n"
- "\tlsrs r1, r0, 24\n"
- "\tcmp r4, 0\n"
- "\tbne _080E7E30\n"
- "\tcmp r1, 0\n"
- "\tbeq _080E7E34\n"
- "\tmov r3, r9\n"
- "\tadds r1, r3, r5\n"
- "\tmovs r0, 0x1\n"
- "\tstrb r0, [r1]\n"
- "\tb _080E7E4E\n"
- "_080E7E30:\n"
- "\tcmp r1, 0\n"
- "\tbeq _080E7E48\n"
- "_080E7E34:\n"
- "\tbl Random2\n"
- "\tmov r1, r9\n"
- "\tadds r2, r1, r5\n"
- "\tlsls r0, 16\n"
- "\tlsrs r0, 16\n"
- "\tmovs r1, 0x1\n"
- "\tands r0, r1\n"
- "\tstrb r0, [r2]\n"
- "\tb _080E7E4E\n"
- "_080E7E48:\n"
- "\tmov r2, r9\n"
- "\tadds r0, r2, r5\n"
- "\tstrb r1, [r0]\n"
- "_080E7E4E:\n"
- "\tadds r0, r6, 0x1\n"
- "\tlsls r0, 16\n"
- "\tlsrs r6, r0, 16\n"
- "_080E7E54:\n"
- "\tmov r0, r8\n"
- "\tadds r0, 0x1\n"
- "\tlsls r0, 16\n"
- "\tlsrs r3, r0, 16\n"
- "\tmov r8, r3\n"
- "\tldr r1, [sp, 0x54]\n"
- "\tcmp r0, r1\n"
- "\tbcc _080E7D84\n"
- "_080E7E64:\n"
- "\tmovs r2, 0\n"
- "\tmov r8, r2\n"
- "\tldr r3, [sp, 0x44]\n"
- "\tlsls r0, r3, 4\n"
- "\tsubs r0, r3\n"
- "\tlsls r0, 3\n"
- "\tldr r1, [sp, 0x2C]\n"
- "\tadds r7, r1, r0\n"
- "\tldr r1, [sp, 0x48]\n"
- "_080E7E76:\n"
- "\tmov r2, r8\n"
- "\tlsls r0, r2, 2\n"
- "\tadds r0, r1, r0\n"
- "\tstr r7, [r0]\n"
- "\tmov r0, r8\n"
- "\tadds r0, 0x1\n"
- "\tlsls r0, 16\n"
- "\tlsrs r0, 16\n"
- "\tmov r8, r0\n"
- "\tcmp r0, 0x3\n"
- "\tbls _080E7E76\n"
- "\tbl sub_80E7B54\n"
- "\tlsls r0, 24\n"
- "\tlsrs r0, 24\n"
- "\tmovs r1, 0x3\n"
- "\tbl __umodsi3\n"
- "\tlsls r0, 24\n"
- "\tlsrs r1, r0, 24\n"
- "\tldr r3, [sp, 0x34]\n"
- "\tcmp r3, 0x3\n"
- "\tbeq _080E7EC8\n"
- "\tcmp r3, 0x3\n"
- "\tbgt _080E7EAE\n"
- "\tcmp r3, 0x2\n"
- "\tbeq _080E7EB6\n"
- "\tb _080E7F1C\n"
- "_080E7EAE:\n"
- "\tldr r0, [sp, 0x34]\n"
- "\tcmp r0, 0x4\n"
- "\tbeq _080E7EE8\n"
- "\tb _080E7F1C\n"
- "_080E7EB6:\n"
- "\tadd r2, sp, 0x24\n"
- "\tmovs r0, 0x1\n"
- "\tstr r0, [sp]\n"
- "\tldr r0, [sp, 0x2C]\n"
- "\tldr r1, [sp, 0x30]\n"
- "\tmovs r3, 0\n"
- "\tbl sub_80E7AA4\n"
- "\tb _080E7F1C\n"
- "_080E7EC8:\n"
- "\tldr r0, =gUnknown_0858CFB8\n"
- "\tlsls r1, 1\n"
- "\tadds r2, r1, r0\n"
- "\tldrb r3, [r2]\n"
- "\tadds r0, 0x1\n"
- "\tadds r1, r0\n"
- "\tldrb r0, [r1]\n"
- "\tadd r2, sp, 0x24\n"
- "\tstr r0, [sp]\n"
- "\tldr r0, [sp, 0x2C]\n"
- "\tldr r1, [sp, 0x30]\n"
- "\tbl sub_80E7AA4\n"
- "\tb _080E7F1C\n"
- "\t.pool\n"
- "_080E7EE8:\n"
- "\tadd r6, sp, 0x24\n"
- "\tldr r4, =gUnknown_0858CFBE\n"
- "\tlsls r5, r1, 2\n"
- "\tadds r0, r5, r4\n"
- "\tldrb r3, [r0]\n"
- "\tadds r0, r4, 0x1\n"
- "\tadds r0, r5, r0\n"
- "\tldrb r0, [r0]\n"
- "\tstr r0, [sp]\n"
- "\tldr r0, [sp, 0x2C]\n"
- "\tldr r1, [sp, 0x30]\n"
- "\tadds r2, r6, 0\n"
- "\tbl sub_80E7AA4\n"
- "\tadds r0, r4, 0x2\n"
- "\tadds r0, r5, r0\n"
- "\tldrb r3, [r0]\n"
- "\tadds r4, 0x3\n"
- "\tadds r5, r4\n"
- "\tldrb r0, [r5]\n"
- "\tstr r0, [sp]\n"
- "\tldr r0, [sp, 0x2C]\n"
- "\tldr r1, [sp, 0x30]\n"
- "\tadds r2, r6, 0\n"
- "\tbl sub_80E7AA4\n"
- "_080E7F1C:\n"
- "\tldr r1, [sp, 0x2C]\n"
- "\tldr r2, [sp, 0x44]\n"
- "\tadds r7, r1, r2\n"
- "\tldr r4, =gSaveBlock1Ptr\n"
- "\tldr r0, [r4]\n"
- "\tmovs r3, 0xC2\n"
- "\tlsls r3, 6\n"
- "\tadds r0, r3\n"
- "\tadds r1, r7, 0\n"
- "\tmovs r2, 0x38\n"
- "\tbl memcpy\n"
- "\tldr r0, [r4]\n"
- "\tldr r1, =0x0000310c\n"
- "\tadds r0, r1\n"
- "\tadds r1, r7, 0\n"
- "\tadds r1, 0x38\n"
- "\tmovs r2, 0x38\n"
- "\tbl memcpy\n"
- "\tldr r0, [sp, 0x38]\n"
- "\tbl SeedRng\n"
- "\tadd sp, 0x58\n"
- "\tpop {r3-r5}\n"
- "\tmov r8, r3\n"
- "\tmov r9, r4\n"
- "\tmov r10, r5\n"
- "\tpop {r4-r7}\n"
- "\tpop {r0}\n"
- "\tbx r0\n"
- "\t.pool");
-}
-#endif // NONMATCHING
+
static void ReceiveGiftItem(u16 *item, u8 which)
{
diff --git a/src/scrcmd.c b/src/scrcmd.c
index 39df1117d..dd14c1eef 100644
--- a/src/scrcmd.c
+++ b/src/scrcmd.c
@@ -49,6 +49,7 @@
#include "trainer_see.h"
#include "tv.h"
#include "window.h"
+#include "constants/event_objects.h"
typedef u16 (*SpecialFunc)(void);
typedef void (*NativeFunc)(void);
@@ -748,7 +749,7 @@ bool8 ScrCmd_warp(struct ScriptContext *ctx)
u16 y = VarGet(ScriptReadHalfword(ctx));
SetWarpDestination(mapGroup, mapNum, warpId, x, y);
- sub_80AF734();
+ DoWarp();
ResetInitialPlayerAvatarState();
return TRUE;
}
@@ -762,7 +763,7 @@ bool8 ScrCmd_warpsilent(struct ScriptContext *ctx)
u16 y = VarGet(ScriptReadHalfword(ctx));
SetWarpDestination(mapGroup, mapNum, warpId, x, y);
- sp13E_warp_to_last_warp();
+ DoDiveWarp();
ResetInitialPlayerAvatarState();
return TRUE;
}
@@ -776,7 +777,7 @@ bool8 ScrCmd_warpdoor(struct ScriptContext *ctx)
u16 y = VarGet(ScriptReadHalfword(ctx));
SetWarpDestination(mapGroup, mapNum, warpId, x, y);
- sub_80AF7D0();
+ DoDoorWarp();
ResetInitialPlayerAvatarState();
return TRUE;
}
@@ -793,7 +794,7 @@ bool8 ScrCmd_warphole(struct ScriptContext *ctx)
SetWarpDestinationToFixedHoleWarp(x - 7, y - 7);
else
SetWarpDestination(mapGroup, mapNum, -1, x - 7, y - 7);
- sp13F_fall_to_last_warp();
+ DoFallWarp();
ResetInitialPlayerAvatarState();
return TRUE;
}
@@ -1239,11 +1240,11 @@ bool8 ScrCmd_lock(struct ScriptContext *ctx)
bool8 ScrCmd_releaseall(struct ScriptContext *ctx)
{
- u8 objectId;
+ u8 playerObjectId;
HideFieldMessageBox();
- objectId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0);
- EventObjectClearHeldMovementIfFinished(&gEventObjects[objectId]);
+ playerObjectId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0);
+ EventObjectClearHeldMovementIfFinished(&gEventObjects[playerObjectId]);
sub_80D338C();
UnfreezeEventObjects();
return FALSE;
@@ -1251,13 +1252,13 @@ bool8 ScrCmd_releaseall(struct ScriptContext *ctx)
bool8 ScrCmd_release(struct ScriptContext *ctx)
{
- u8 objectId;
+ u8 playerObjectId;
HideFieldMessageBox();
if (gEventObjects[gSelectedEventObject].active)
EventObjectClearHeldMovementIfFinished(&gEventObjects[gSelectedEventObject]);
- objectId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0);
- EventObjectClearHeldMovementIfFinished(&gEventObjects[objectId]);
+ playerObjectId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0);
+ EventObjectClearHeldMovementIfFinished(&gEventObjects[playerObjectId]);
sub_80D338C();
UnfreezeEventObjects();
return FALSE;
diff --git a/src/secret_base.c b/src/secret_base.c
index 15d6d1780..1f3f9b46a 100644
--- a/src/secret_base.c
+++ b/src/secret_base.c
@@ -610,7 +610,7 @@ void sub_80E9608(const struct MapPosition *position, const struct MapEvents *eve
}
}
-void sub_80E9668(const struct MapPosition *position, const struct MapEvents *events)
+void WarpIntoSecretBase(const struct MapPosition *position, const struct MapEvents *events)
{
sub_80E9608(position, events);
sub_80E8B6C();
diff --git a/src/tv.c b/src/tv.c
index 3d2a25bdc..27e2922f4 100644
--- a/src/tv.c
+++ b/src/tv.c
@@ -862,13 +862,13 @@ void SetTVMetatilesOnMap(int width, int height, u16 tileId)
void TurnOffTVScreen(void)
{
- SetTVMetatilesOnMap(gUnknown_03005DC0.width, gUnknown_03005DC0.height, 0x0002);
+ SetTVMetatilesOnMap(gBackupMapLayout.width, gBackupMapLayout.height, 0x0002);
DrawWholeMapView();
}
void TurnOnTVScreen(void)
{
- SetTVMetatilesOnMap(gUnknown_03005DC0.width, gUnknown_03005DC0.height, 0x0003);
+ SetTVMetatilesOnMap(gBackupMapLayout.width, gBackupMapLayout.height, 0x0003);
DrawWholeMapView();
}